@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap');
/* Decordesk: black frame, forest surfaces, mint actions and white workspaces. */
:root{--green:#096749;--deep:#052a24;--ink:#142c24;--muted:#61756c;--line:#dfeae4;--soft:#f4f9f6;--white:#fff;--mint:#a5f3ce;--forest:#063c31;--black:#080e0d;--shadow:none;--font-body:'Ubuntu',system-ui,sans-serif;--font-heading:'Ubuntu',system-ui,sans-serif}
*{box-sizing:border-box;font-family:var(--font-body)!important}html{scroll-padding-top:90px;scroll-behavior:smooth}body{margin:0!important;background:#080e0d!important;color:var(--ink)!important;font-family:var(--font-body)!important}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-heading)!important}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%}a{color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #21ba82!important;outline-offset:4px!important}
.skip-link{position:fixed;z-index:999;top:-80px;left:16px;background:white;color:#111;padding:12px 18px}.skip-link:focus{top:12px}
.app{max-width:1180px!important;margin:auto;background:#fff!important;min-height:100vh;overflow:clip;box-shadow:none!important}
/* Header and existing page navigation. */
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;z-index:40;background:var(--black)!important;border:0!important;border-bottom:1px solid #a5f3ce20!important;box-shadow:none!important;padding:20px 5%!important;backdrop-filter:none}
.brand-home{padding:0!important;background:none!important;border:0!important;width:auto!important;display:block!important}.brand-logo{width:184px!important;height:39px!important;object-fit:contain;mix-blend-mode:screen}
.desktop-nav{margin:0 0 0 auto!important;gap:26px!important;align-items:center}.desktop-nav a{font-family:var(--font-body)!important;font-size:.85rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:#d2ded8!important;text-decoration:none;position:relative;padding:9px 0}.desktop-nav a.active,.desktop-nav a:hover{color:var(--mint)!important}.desktop-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--mint)}
.top-actions{gap:10px;align-items:center}.header-enquiry{display:inline-flex;align-items:center;gap:22px;padding:12px 17px;border:0;background:var(--mint);color:var(--deep);font-size:.78rem;font-weight:600;border-radius:0}.header-enquiry span{font-size:1.2rem}.top .icon-btn{width:38px;height:38px;border:1px solid #a5f3ce45!important;border-radius:0!important;background:#063c31!important;color:var(--mint)!important;box-shadow:none!important}.top .icon-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.mobile-menu{z-index:42!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:0 12px 25px #0002!important}.mobile-menu button{color:var(--deep)!important;border-radius:0!important;padding:17px 23px!important;font-size:.95rem!important;font-weight:500!important}.mobile-menu button:hover{background:#e5faef!important}
.main{padding:0 5% 36px!important;background:#fff!important;color:var(--ink)}
.app[data-page] .main>*{display:none!important}.app[data-page='home'] .main>.main-offer-carousel,.app[data-page='home'] .main>.compact-services-bar{display:block!important}.app[data-page='home'] .main>.premium-intro{display:grid!important}.app[data-page='home'] .main>.premium-access,.app[data-page='home'] .main>.hiring-banner{display:flex!important}.app[data-page='calculator'] .main>#calculator,.app[data-page='calculator'] .main>.calculator-b2b,.app[data-page='projects'] .main>.studio-project-intro,.app[data-page='projects'] .main>#ongoingProjects,.app[data-page='projects'] .main>#projects,.app[data-page='projects'] .main>#clients,.app[data-page='contact-us'] .main>#contact-us{display:block!important}.app[data-page='calculator'] .main{padding-top:0!important}.app[data-page='home'] .main>#projects,.app[data-page='home'] .main>#ongoingProjects,.app[data-page='home'] .main>#clients,.app[data-page='home'] .main>#gallery{display:none!important}
/* Original carousel dimensions, real interiors and crisp text. */
.app[data-page='home'] .main-offer-carousel{width:calc(100% + 11.112%)!important;max-width:none!important;margin:0 -5.556%!important;border:0!important;border-radius:0!important;background:var(--black);position:relative;isolation:isolate}.main-offer-carousel .question-viewport{overflow:hidden}.main-offer-carousel .question-track{display:flex;transition:transform .65s cubic-bezier(.22,.75,.2,1);touch-action:pan-y}.main-offer-carousel .question-slide.premium-slide{display:block!important;position:relative;flex:0 0 100%;min-width:100%;width:100%;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;padding:0!important;overflow:hidden;border:0!important;background:var(--deep)!important}
.premium-slide>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center;filter:none!important;display:block!important}.premium-slide:nth-child(2)>img{object-position:50% 56%}.premium-slide:nth-child(3)>img{object-position:50% 65%}.premium-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#041711eb 0%,#061d1588 49%,#02120d0a 100%),linear-gradient(0deg,#07120c7a,transparent 38%);z-index:1;pointer-events:none}
.premium-hero-copy{position:absolute;z-index:2;left:5%;top:49%;transform:translateY(-50%);width:86%;color:#fff}.premium-hero-copy>span{display:block;border-left:2px solid var(--mint);padding-left:10px;font-size:.7rem;font-weight:500;letter-spacing:.13em;color:var(--mint);margin-bottom:24px}.premium-hero-copy h1,.premium-hero-copy h2{font-family:var(--font-heading)!important;font-size:clamp(2rem,4.8vw,4.1rem)!important;line-height:1.07!important;font-weight:500!important;letter-spacing:-.038em!important;color:#fff!important;margin:0 0 24px!important;max-width:none!important}.premium-hero-copy em{font-family:inherit!important;font-style:normal;color:var(--mint)}.premium-hero-copy p{font-size:1rem!important;line-height:1.65!important;font-weight:400!important;color:#e1ede7!important;margin:0 0 30px!important;max-width:none!important}.premium-hero-copy>button{display:inline-flex;align-items:center;gap:32px;border:0;border-radius:0;background:var(--mint);color:var(--deep);padding:14px 19px;font-size:.84rem;font-weight:600;min-height:48px}.premium-hero-copy>button:hover{background:#d3ffe8}.premium-hero-copy b{font-size:1.3rem;font-weight:400}
.premium-slide-caption{position:absolute;z-index:2;bottom:28px;left:5%;font-size:.62rem;color:#d5e7dd;letter-spacing:.11em}.premium-hero-controls{position:absolute;right:4.5%;bottom:17px;z-index:4;display:flex;align-items:center;gap:12px}.premium-hero-controls>button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff60;background:#082c2160;color:white;border-radius:0;font-size:1rem}.premium-hero-controls #heroPause{width:32px;height:40px;font-size:.7rem;border:0;background:transparent}.premium-hero .question-dots{position:static!important;display:flex!important;gap:7px!important;border:0!important;border-radius:0!important;background:none!important;padding:0!important;transform:none!important}.premium-hero .question-dot{min-width:6px!important;min-height:6px!important;width:6px!important;height:6px!important;border-radius:0!important;border:0!important;background:#ffffff70!important;box-shadow:none!important;transform:none!important;padding:0}.premium-hero .question-dot.active{background:var(--mint)!important;width:18px!important;border-radius:0!important}
/* App-style service icons: four above the fold; all eight on expansion. */
.app[data-page='home'] .compact-services-bar{width:calc(100% + 11.112%)!important;margin:0 -5.556%!important;padding:23px 5.556% 25px!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--line)!important;position:relative}
.compact-services-bar .categories{gap:14px 20px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important}.compact-services-bar .categories .category{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:0!important;height:114px!important;min-width:0;transition:background .2s}
.compact-services-bar .categories .category:nth-child(n+5){display:none!important}.compact-services-bar.services-expanded .categories .category:nth-child(n+5){display:flex!important;border:0!important;margin-top:0!important;padding:0!important;height:114px!important}
.compact-services-bar .categories .category .category-icon{display:flex!important;align-items:center!important;justify-content:center!important;height:80px!important;width:120px!important;max-width:100%!important;flex:0 0 80px!important;margin:0!important;background:none!important;box-shadow:none!important;overflow:hidden!important;border:0!important;border-radius:0!important;transform:none!important}.compact-services-bar .category-icon:before{display:none!important}.compact-services-bar .category-icon img{display:block!important;width:136px!important;height:80px!important;max-width:none!important;object-fit:cover!important;object-position:center!important;filter:none!important;mix-blend-mode:multiply;transition:transform .2s ease}
.compact-services-bar .category>span:last-child,.compact-services-bar .category.active>span:last-child{display:block!important;width:100%!important;height:18px!important;margin:0!important;color:var(--deep)!important;font-size:.72rem!important;font-weight:600!important;letter-spacing:.055em!important;line-height:18px!important;text-align:center!important;white-space:nowrap!important}.compact-services-bar .category:hover{background:#f1fbf5!important}.compact-services-bar .category:active .category-icon img{transform:scale(.95)}
/* A compact forest-green welcome, with consistent architectural rules. */
.premium-intro{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:1fr 1.12fr;gap:7%;padding:38px;margin:30px 0 22px;border-radius:0;background:var(--forest);align-items:center;color:#fff}
.premium-intro:before{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,transparent 99.5%,#a5f3ce0a 99.5%),linear-gradient(0deg,transparent 99%,#a5f3ce0a 99%);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000)}
.premium-eyebrow{display:block;color:var(--mint);font-size:.62rem;font-weight:500;letter-spacing:.12em}.premium-intro h2{font-size:clamp(1.8rem,3.2vw,2.9rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;color:#fff;margin:18px 0 0}.premium-intro h2 em{font-style:normal;color:var(--mint)}.premium-intro-body>p{color:#d0e4d9;font-size:.93rem;line-height:1.7;margin:0 0 22px;max-width:520px}.premium-intro-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.premium-intro-links button,.premium-intro-links a{padding:12px 0;border:0;background:none;color:#fff;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex;gap:16px;align-items:center;border-radius:0}.premium-intro-links button{background:var(--mint);color:var(--deep);border-radius:0;padding:12px 15px;font-weight:600}.premium-intro-links a{border-bottom:1px solid #a5f3ce65;padding:8px 0}.premium-intro-links span{font-size:1.1rem}.premium-capabilities{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:22px}.premium-capabilities span{font-size:.65rem;color:#acd2bf}.premium-capabilities span:before{content:'•';margin-right:7px;color:var(--mint)}
.app[data-page='home'] .home-customer-login.premium-access{width:100%!important;margin:0!important;padding:25px!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px;background:#e8fbf1!important;border:1px solid #d5eddf!important;border-radius:0!important;line-height:1.4;aspect-ratio:auto!important}.premium-access>div{display:flex;align-items:center;gap:18px}.premium-access-symbol{width:47px;height:47px;display:grid;place-items:center;flex:0 0 47px;border-radius:0;background:var(--forest);font-size:1.8rem;line-height:1;color:var(--mint)}.premium-access h3{font-size:1.13rem;font-weight:500;letter-spacing:-.015em;margin:0 0 5px;color:var(--deep)}.premium-access p{color:#557064;font-size:.81rem;margin:0}.premium-access>a{position:static!important;width:auto!important;height:auto!important;transform:none!important;display:inline-flex!important;gap:22px;align-items:center;padding:12px 16px!important;border:0!important;border-radius:0!important;background:var(--forest)!important;color:#fff!important;font-size:.8rem;font-weight:500;text-decoration:none!important;white-space:nowrap}
.app[data-page='home'] .hiring-banner{display:flex!important;width:100%!important;margin:0!important;background:none!important;color:#50695c!important;border:0!important;padding:20px 2px 0!important;min-height:0!important;box-shadow:none!important}.hiring-banner>strong{font-weight:400!important;font-size:.79rem!important;letter-spacing:0!important}.hiring-banner>a{color:#096749!important;background:none!important;box-shadow:none!important;border:0!important;padding:0!important;font-size:.77rem!important;font-weight:600!important}.hiring-icon{display:none!important}
/* Footer leaves room for the restored icon dock. */
.website-footer{display:block;background:var(--black);color:#e0eee6;padding:40px 5% calc(112px + env(safe-area-inset-bottom));border-top:3px solid var(--mint)}.website-footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:30px;border-bottom:1px solid #a5f3ce25}.website-footer-top>div>span{color:var(--mint);font-size:.59rem;letter-spacing:.14em}.website-footer-top h2{font-size:clamp(1.65rem,2.8vw,2.4rem);font-weight:500;line-height:1.17;letter-spacing:-.025em;color:#fff;margin:15px 0 0}.website-footer-top>button{border:0;background:var(--mint);color:var(--deep);border-radius:0;font-size:.85rem;font-weight:500;padding:14px 18px;display:flex;align-items:center;gap:25px;white-space:nowrap}.website-footer-top>button span{font-size:1.2rem}.website-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px;padding:30px 0}.website-footer-grid img{width:173px;height:38px;object-fit:contain;mix-blend-mode:screen}.website-footer-grid p{color:#9db5a7;font-size:.79rem;line-height:1.8;margin:16px 0 0}.website-footer-grid>div>span,.website-footer-grid>nav>span{display:block;font-size:.59rem;color:#83ba9e;letter-spacing:.13em;margin:7px 0 18px}.website-footer-grid a{display:block;color:#cee0d5;font-size:.79rem;text-decoration:none;line-height:1.6;margin:9px 0}.website-footer-grid a:hover{color:var(--mint)}.website-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #a5f3ce20;font-size:.64rem;color:#98b0a2}.website-footer-bottom a{color:#bddbc9;text-decoration:none}
/* App navigation is permanent. All existing buttons and actions are retained. */
.app .bottom{position:fixed!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;left:50%!important;right:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:calc(100% - 24px)!important;max-width:550px!important;min-width:0!important;height:74px!important;min-height:74px!important;padding:7px!important;margin:0!important;border:1px solid #a5f3ce40!important;border-radius:0!important;background:#052a24f5!important;box-shadow:0 10px 35px #0004!important;z-index:45!important;overflow:visible!important;gap:4px!important;backdrop-filter:blur(16px)}
.app .bottom>.nav-item,.app .bottom>.nav-item[data-section]{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;height:58px!important;min-height:58px!important;padding:4px!important;gap:4px!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;color:#d1e6dc!important;box-shadow:none!important;transform:none!important;transition:background .2s,color .2s}
.app .bottom>.nav-item.active{background:var(--mint)!important;color:var(--deep)!important}.app .bottom>.nav-item:hover{background:#ffffff15!important}.app .bottom>.nav-item.active:hover{background:#c5ffe2!important}.app .bottom .nav-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;transform:none!important}.app .bottom .nav-icon svg{display:block!important;width:25px!important;height:25px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round;stroke-linejoin:round;filter:none!important}

.app .bottom .sr-only{position:static!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:nowrap!important;margin:0!important;padding:0!important;color:inherit!important;font-size:.64rem!important;font-weight:500!important;line-height:1.1!important;letter-spacing:0!important}.app .nav-item:before,.app .nav-item:after{display:none!important}
@media(min-width:760px){.desktop-nav{display:flex!important}#menuToggle{display:none!important}}
@media(max-width:759px){
.top{padding:14px 5%!important;gap:10px}.brand-logo{width:156px!important;height:34px!important}.desktop-nav{display:none!important}.header-enquiry{display:none}.top .icon-btn{width:36px;height:36px}.main{padding-bottom:28px!important}
.premium-hero-copy{left:5%;width:90%;top:46%}.premium-hero-copy>span{font-size:.46rem;letter-spacing:.11em;margin-bottom:12px;padding-left:6px}.premium-hero-copy h1,.premium-hero-copy h2{font-size:clamp(1.43rem,5.6vw,2.8rem)!important;line-height:1.08!important;margin:0 0 14px!important;letter-spacing:-.025em!important}.premium-hero-copy p{display:none!important}.premium-hero-copy>button{padding:8px 11px;min-height:35px;font-size:.65rem;gap:17px;border-radius:0}.premium-hero-copy b{font-size:1rem}.premium-slide-caption{bottom:16px;font-size:.4rem;letter-spacing:.065em}.premium-hero-controls{right:4%;bottom:6px;gap:7px}.premium-hero-controls>button{height:30px;width:30px;font-size:.8rem}.premium-hero-controls #heroPause{width:23px;height:30px;font-size:.6rem}.premium-hero .question-dots{gap:5px!important}.premium-hero .question-dot{min-width:5px!important;min-height:5px!important;width:5px!important;height:5px!important}.premium-hero .question-dot.active{width:13px!important}
.app[data-page='home'] .compact-services-bar{padding:16px 4.1% 18px!important}.compact-services-bar .categories{gap:10px 2px!important}.compact-services-bar .categories .category,.compact-services-bar.services-expanded .categories .category:nth-child(n+5){height:90px!important;gap:6px!important}.compact-services-bar .categories .category .category-icon{width:82px!important;height:63px!important;flex-basis:63px!important;border-radius:0!important}.compact-services-bar .category-icon img{width:108px!important;height:63px!important}.compact-services-bar .category>span:last-child,.compact-services-bar .category.active>span:last-child{font-size:.56rem!important;letter-spacing:.01em!important;height:17px!important;line-height:17px!important}
.premium-intro{grid-template-columns:1fr;gap:20px;padding:27px 24px;margin:23px 0 18px;border-radius:0}.premium-intro-heading{text-align:center}.premium-eyebrow{font-size:.53rem;letter-spacing:.1em}.premium-intro h2{font-size:2rem;margin-top:13px}.premium-intro-body>p{font-size:.85rem;line-height:1.65;margin-bottom:18px;text-align:center;max-width:100%}.premium-intro-links{justify-content:center;gap:17px}.premium-intro-links button,.premium-intro-links a{font-size:.72rem;gap:12px}.premium-intro-links button{padding:11px 13px}.premium-capabilities{justify-content:center;margin-top:21px;gap:8px 12px}.premium-capabilities span{font-size:.57rem}
.app[data-page='home'] .home-customer-login.premium-access{align-items:start;flex-direction:column;padding:22px!important;gap:17px;border-radius:0!important}.premium-access-symbol{width:41px;height:41px;flex-basis:41px;font-size:1.6rem}.premium-access>div{gap:12px}.premium-access h3{font-size:1.04rem}.premium-access p{font-size:.74rem;line-height:1.6}.premium-access>a{font-size:.75rem;margin-left:53px;padding:10px 13px!important;gap:18px}
.website-footer{padding:30px 5% calc(112px + env(safe-area-inset-bottom))}.website-footer-top{align-items:start;flex-direction:column;gap:22px;padding-bottom:27px}.website-footer-top h2{font-size:1.8rem;margin-top:12px}.website-footer-top>button{font-size:.8rem;padding:12px 16px}.website-footer-grid{grid-template-columns:1fr 1fr;gap:25px 18px;padding:28px 0}.footer-company{grid-column:1/-1}.website-footer-grid img{width:156px;height:34px}.website-footer-grid p{font-size:.76rem;margin-top:11px}.website-footer-grid a{font-size:.75rem}.website-footer-grid>div>span,.website-footer-grid>nav>span{font-size:.56rem;margin-bottom:15px}.website-footer-bottom{font-size:.59rem;gap:12px;flex-wrap:wrap}.website-footer-bottom>span:last-child{display:none}
.app .bottom{height:72px!important;min-height:72px!important;border-radius:0!important;gap:2px!important;padding:6px!important}.app .bottom .sr-only{font-size:.59rem!important}.app .bottom .nav-icon svg{width:24px!important;height:24px!important}
}
@media(max-width:359px){.compact-services-bar .category>span:last-child,.compact-services-bar .category.active>span:last-child{font-size:.49rem!important}.premium-hero-copy h1,.premium-hero-copy h2{font-size:1.35rem!important}.premium-hero-copy>span{margin-bottom:8px}.premium-hero-copy>button{min-height:31px;padding:6px 9px}.premium-intro-links{gap:12px}.app .bottom .sr-only{font-size:.55rem!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
