:root{--navy:#071b25;--ink:#10272f;--cream:#f3f0e8;--paper:#fbfaf5;--mint:#a7f3d0;--lime:#c7f95b;--muted:#62737a;--line:rgba(16,39,47,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.12);position:absolute;z-index:20;width:100%;color:white}.brand{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.05}.brand-mark{width:38px;height:38px;background:var(--lime);color:var(--navy);display:grid;place-items:center;border-radius:11px;font:800 18px Manrope}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.7px;opacity:.58;margin-top:5px}.desktop-nav{display:flex;gap:34px}.desktop-nav a{font-size:14px;opacity:.8}.desktop-nav a:hover{opacity:1;color:var(--lime)}.menu-button{display:none;border:0;background:transparent;color:white;align-items:center;gap:9px}.menu-lines,.menu-lines:before,.menu-lines:after{width:21px;height:2px;background:currentColor;display:block;content:"";position:relative}.menu-lines:before{position:absolute;top:-6px}.menu-lines:after{position:absolute;top:6px}
.hero{min-height:760px;padding:185px 7vw 55px;background:var(--navy);color:white;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,transparent,black)}.hero>*:not(.hero-orbit){position:relative;z-index:2}.hero-orbit{position:absolute;border:1px solid rgba(199,249,91,.2);border-radius:50%;right:-9vw;top:5vh}.orbit-one{width:630px;height:630px}.orbit-two{width:420px;height:420px;right:1vw;top:17vh}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow{color:var(--mint);margin-bottom:25px}.hero h1,.about h2,.services h2,.products h2,.process h2,.contact h2{font-family:Manrope;font-size:clamp(52px,7.4vw,112px);line-height:.94;letter-spacing:-5px;margin:0;font-weight:600}.hero h1 em,.contact h2 em{font-family:Georgia,serif;color:var(--lime);font-weight:400}.hero-copy{font-size:20px;line-height:1.6;max-width:610px;color:#bac8cd;margin:32px 0}.hero-actions{display:flex;gap:20px;align-items:center}.btn{border:0;border-radius:4px;padding:16px 23px;font-weight:700;display:inline-flex;align-items:center;gap:16px;transition:.2s}.primary{background:var(--lime);color:var(--navy)}.primary:hover{background:white;transform:translateY(-2px)}.text-btn{background:transparent;color:white}.hero-proof{display:flex;gap:80px;margin-top:72px}.hero-proof div{display:flex;gap:14px;align-items:center}.hero-proof strong{font:600 27px Manrope}.hero-proof span{font-size:12px;color:#94a7ae;max-width:80px}
.about,.products,.contact{padding:105px 7vw}.section-kicker{color:#3b6b65;margin-bottom:36px}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}.about h2,.products h2,.contact h2{font-size:clamp(40px,5vw,72px);letter-spacing:-3px}.about h2 span,.products h2 span{color:#809096}.about-copy{font-size:18px;line-height:1.75;color:#50646b}.about-copy p{margin:0 0 22px}.about-copy strong{color:var(--ink)}.principles{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px}.principles span{font-size:13px;color:var(--ink)}
.services,.process{background:var(--navy);color:white;padding:105px 7vw}.section-head{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:10vw}.section-head h2,.process h2{font-size:clamp(42px,5vw,72px);letter-spacing:-3px}.section-head>p{color:#9bb0b8;line-height:1.7;max-width:520px}.light{color:var(--mint)}.service-list{margin-top:65px;border-top:1px solid rgba(255,255,255,.13)}.service-card{display:grid;grid-template-columns:70px 1fr 45px;gap:20px;padding:35px 0;border-bottom:1px solid rgba(255,255,255,.13);transition:.3s}.service-card:hover{padding-left:15px;background:rgba(255,255,255,.025)}.service-no{color:var(--mint);font-size:12px}.service-card h3{font:600 26px Manrope;margin:0 0 8px}.service-card p{color:#91a7ae;margin:0;max-width:640px;line-height:1.6}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.tags span{font-size:11px;border:1px solid rgba(255,255,255,.17);border-radius:20px;padding:5px 10px}.service-arrow{align-self:center;color:var(--lime);font-size:24px}
.product-intro{display:flex;justify-content:space-between;align-items:end;gap:30px}.product-intro p{max-width:410px;color:var(--muted);line-height:1.7}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:50px 0 28px}.filters button{border:1px solid var(--line);background:white;padding:9px 15px;border-radius:30px;font-size:12px}.filters button.active{background:var(--navy);color:white}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product-card{background:white;border:1px solid var(--line);padding:28px;min-height:350px;display:flex;flex-direction:column;transition:.3s}.product-card[hidden]{display:none}.product-card:hover{transform:translateY(-6px);box-shadow:0 25px 70px rgba(20,49,58,.12);border-color:transparent}.product-top{display:flex;justify-content:space-between}.product-index{font-size:11px;color:#51666d}.product-category{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;background:#edf5ef;padding:5px 9px;border-radius:15px}.product-icon{width:48px;height:48px;background:var(--cream);display:grid;place-items:center;border-radius:13px;margin:42px 0 23px;font-weight:700}.product-card h3{font:600 21px Manrope;margin:0 0 12px}.product-card p{color:var(--muted);line-height:1.55;font-size:14px;margin:0}.product-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:13px;font-weight:700}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:60px}.process-grid div{background:var(--navy);padding:27px}.process-grid span{color:var(--mint);font-size:11px}.process-grid h3{font:600 22px Manrope;margin:55px 0 10px}.process-grid p{color:#93a6ad;font-size:13px;line-height:1.6}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--cream)}.contact h2 em{color:#3b6b65}.contact-copy>p{color:#51666d;line-height:1.7;font-size:17px;max-width:560px}.contact-person{display:flex;align-items:center;gap:14px;margin-top:35px}.avatar{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--lime);display:grid;place-items:center;font-weight:700}.contact-person span{display:block;color:#51666d;font-size:12px;margin-top:4px}.direct-links{display:flex;flex-direction:column;gap:8px;margin-top:28px}.direct-links a{font-weight:700}.form-shell{background:white;padding:38px;box-shadow:0 20px 80px rgba(8,31,41,.08)}.project-form{display:grid;gap:18px}.form-title{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line)}.calendar-icon{width:36px;height:36px;border:2px solid #25806d;color:#25806d;display:grid;place-items:center}.form-title span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.project-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid #d9dfdd;background:#fbfcfa;padding:13px 14px;border-radius:4px;outline:none}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#388c77;box-shadow:0 0 0 3px rgba(56,140,119,.1)}.full{width:100%;justify-content:center}.privacy{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-weight:400;text-align:center}.honeypot{position:absolute!important;left:-10000px!important}.notice{text-align:center;padding:70px 10px}.notice>div{width:65px;height:65px;border-radius:50%;background:#e6f8ef;color:#247b63;display:grid;place-items:center;margin:auto;font-size:30px}.notice h3{font:600 27px Manrope}.notice p{color:var(--muted);line-height:1.6}.notice .btn{margin:14px auto}.form-error{background:#fff0f0;color:#9b3030;padding:12px 14px;border-left:3px solid #b84141;font-size:13px}
footer{background:#04141c;color:white;padding:45px 7vw;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>span{font-size:11px;color:#81949b}.menu-overlay{position:fixed;inset:0;background:rgba(0,14,21,.65);z-index:98;opacity:0;visibility:hidden;transition:.3s}.menu-overlay.is-open{opacity:1;visibility:visible}.mobile-drawer{position:fixed;z-index:99;right:0;top:0;height:100%;width:min(430px,90vw);background:var(--cream);padding:30px;transform:translateX(100%);transition:.42s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column}.mobile-drawer.is-open{transform:translateX(0)}.drawer-top{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:11px;letter-spacing:2px}.drawer-top button{border:0;background:var(--navy);color:white;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:28px;line-height:1}.mobile-drawer nav{margin-top:60px}.mobile-drawer nav a{border-bottom:1px solid var(--line);width:100%;display:grid;grid-template-columns:35px 1fr 24px;text-align:left;padding:20px 0;font:600 31px Manrope}.mobile-drawer nav small{font:500 10px "DM Sans";color:#668078}.mobile-drawer nav b{font-weight:400}.drawer-contact{margin-top:auto;display:grid;gap:8px}.drawer-contact span{font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.drawer-contact a{font-weight:700}
@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:flex}.site-header{height:74px}.hero{padding:150px 6vw 50px;min-height:680px}.hero h1{letter-spacing:-3px}.hero-proof{gap:25px}.about,.products,.contact,.services,.process{padding:80px 6vw}.about-grid,.section-head,.contact{grid-template-columns:1fr}.about-copy{margin-top:35px}.product-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.product-intro{display:block}.form-shell{margin-top:20px}footer{flex-wrap:wrap}}
@media(max-width:560px){.brand>span:last-child{font-size:14px}.hero{min-height:720px}.hero h1{font-size:49px}.hero-copy{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-proof{display:grid;grid-template-columns:1fr 1fr;margin-top:52px}.hero-proof div:last-child{grid-column:span 2}.about h2,.services h2,.products h2,.process h2,.contact h2{font-size:40px;letter-spacing:-2px}.product-grid,.process-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.form-shell{padding:24px 18px}.service-card{grid-template-columns:35px 1fr}.service-arrow{display:none}.product-card{min-height:320px}footer{flex-direction:column;align-items:flex-start}.orbit-one{width:440px;height:440px}.orbit-two{width:290px;height:290px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* v1.1 enhancements */
html{scroll-padding-top:85px}
body.drawer-open{overflow:hidden}
.site-header{position:fixed;top:0;left:0;background:rgba(7,27,37,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 35px rgba(0,0,0,.08);z-index:90}
.brand-mark{width:42px;height:42px;object-fit:cover;display:block;border-radius:12px;background:none}
.service-card{cursor:pointer}
.service-card:focus-visible{padding-left:15px;background:rgba(255,255,255,.04);outline:2px solid var(--lime);outline-offset:4px}
.calendar-icon{flex:0 0 auto}
.calendar-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-overlay{position:fixed;inset:0;background:rgba(0,14,21,.72);z-index:108;opacity:0;visibility:hidden;transition:.3s}
.service-overlay.is-open{opacity:1;visibility:visible}
.service-drawer{position:fixed;z-index:109;right:0;top:0;height:100%;width:min(570px,94vw);background:var(--paper);padding:32px 42px;transform:translateX(100%);transition:.45s cubic-bezier(.76,0,.24,1);overflow-y:auto}
.service-drawer.is-open{transform:translateX(0)}
.service-drawer-content{padding:55px 0 20px}
.service-drawer-no{color:#3b6b65;font-size:11px;letter-spacing:2px}
.service-drawer h2{font:600 clamp(38px,5vw,58px)/1.02 Manrope;letter-spacing:-2.5px;margin:16px 0 24px}
.service-drawer-lead{font-size:17px;color:var(--muted);line-height:1.7}
.service-drawer-block{padding:25px 0;border-top:1px solid var(--line)}
.service-drawer-block h3{font:600 13px Manrope;text-transform:uppercase;letter-spacing:1.4px;margin:0 0 16px}
.service-drawer-points{padding:0;margin:0;list-style:none;display:grid;gap:12px}
.service-drawer-points li{color:var(--muted);line-height:1.5;padding-left:22px;position:relative}
.service-drawer-points li:before{content:"✓";position:absolute;left:0;color:#25806d;font-weight:700}
.service-drawer-tags{display:flex;gap:8px;flex-wrap:wrap}
.service-drawer-tags span{font-size:11px;border:1px solid var(--line);background:white;border-radius:20px;padding:7px 11px}
.service-enquiry{margin-top:12px}
.faq{padding:105px 7vw;background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.faq h2{font:600 clamp(40px,5vw,72px)/1 Manrope;letter-spacing:-3px;margin:0}
.faq h2 span{color:#809096}
.faq-layout>div:first-child>p{color:var(--muted);line-height:1.7;max-width:430px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item button{width:100%;border:0;background:transparent;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;text-align:left;font-weight:700}
.faq-item button span{font:600 17px/1.4 Manrope}
.faq-item button b{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:block;position:relative;flex:0 0 auto;font-size:0;line-height:0;transition:.25s}
.faq-item button b::before,.faq-item button b::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.faq-item button b::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.faq-answer p{overflow:hidden;color:var(--muted);line-height:1.7;margin:0}
.faq-item.is-open .faq-answer{grid-template-rows:1fr}
.faq-item.is-open .faq-answer p{padding:0 50px 22px 0}
.faq-item.is-open button b{transform:rotate(45deg);background:var(--navy);color:white}
@media(max-width:900px){.faq{padding:80px 6vw}.faq-layout{grid-template-columns:1fr;gap:42px}}
@media(max-width:560px){.service-drawer{padding:24px}.service-drawer-content{padding-top:42px}.faq h2{font-size:40px;letter-spacing:-2px}.faq-item button span{font-size:15px}}

/* v1.2 performance: system fonts avoid render-blocking third-party requests */
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.hero h1,.about h2,.services h2,.products h2,.process h2,.contact h2,.service-card h3,.product-card h3,.process-grid h3,.notice h3,.mobile-drawer nav a,.service-drawer h2,.service-drawer-block h3,.faq h2,.faq-item button span{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* v1.3 payment CTA */
.desktop-nav{align-items:center;gap:28px}
.desktop-nav .client-space-link{border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:10px 15px;opacity:1;white-space:nowrap}
.desktop-nav .client-space-link:hover{background:rgba(255,255,255,.1);border-color:var(--lime);color:var(--lime)}
.desktop-nav .client-space-link span{margin-left:3px}
.pay-menu{position:relative}
.pay-menu summary{list-style:none;display:flex;align-items:center;gap:8px;background:var(--lime);color:var(--navy);padding:11px 16px;border-radius:4px;font-size:13px;font-weight:800;cursor:pointer;transition:.2s}
.pay-menu summary::-webkit-details-marker{display:none}
.pay-menu summary:hover,.pay-menu[open] summary{background:white}
.pay-menu summary span{font-size:14px}
.pay-options{position:absolute;top:calc(100% + 14px);right:0;width:285px;padding:13px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 60px rgba(0,14,21,.25)}
.pay-options:before{content:"";position:absolute;right:22px;top:-7px;width:13px;height:13px;background:white;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.pay-options>span{display:block;padding:5px 7px 11px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1.2px}
.pay-options a{display:grid;gap:3px;padding:12px 11px;border-radius:5px;opacity:1}
.pay-options a+a{border-top:1px solid var(--line)}
.pay-options a:hover{background:var(--cream);color:var(--ink)}
.pay-options b{font-size:14px}
.pay-options small{font-size:11px;color:var(--muted)}
.mobile-pay{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.mobile-pay>span{display:block;margin-bottom:10px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#668078}
.mobile-pay>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-pay a{display:flex!important;justify-content:space-between;align-items:center;padding:12px!important;border:1px solid var(--line)!important;border-radius:5px;background:white;font-size:12px!important;font-weight:700!important}
.mobile-pay a:first-child{background:var(--lime);border-color:var(--lime)!important}
.mobile-pay a b{font-size:14px;font-weight:400}
@media(max-width:1100px) and (min-width:901px){.desktop-nav{gap:17px}.desktop-nav>a{font-size:13px}.site-header{padding-left:3vw;padding-right:3vw}}
@media(max-width:560px){.mobile-pay>div{grid-template-columns:1fr}.mobile-drawer nav{margin-top:38px}.mobile-drawer nav a{font-size:26px;padding:15px 0}.drawer-contact{margin-top:24px}}
