@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#12272b;--dark:#071a20;--mint:#b7e8d3;--paper:#f5f6f1;--line:#d7ded9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4fbf9c;outline-offset:5px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:white;border-bottom:1px solid #ffffff18;position:absolute;top:0;width:100%;z-index:20}.brand{display:flex;align-items:center;gap:14px}.brand b{font-size:43px;letter-spacing:-4px;line-height:1}.brand b span{font-size:10px;vertical-align:top;letter-spacing:0}.brand>span{font-size:11px;letter-spacing:1.3px}.brand small{display:block;font-size:7px;letter-spacing:1.8px;margin-top:7px;color:#a3b8b6}nav{display:flex;gap:34px;font-size:13px}nav a:hover{color:var(--mint)}.button{display:inline-flex;align-items:center;gap:40px;padding:18px 24px;background:var(--mint);color:var(--dark);font-size:13px;font-weight:700;border:1px solid transparent;transition:.25s}.button:hover{background:white;transform:translateY(-3px)}.button span{font-size:21px}.small{padding:11px 19px;gap:28px}.menu{display:none}.hero{min-height:820px;height:100vh;max-height:1080px;background:radial-gradient(ellipse at 78% 50%,#17464b 0%,var(--dark) 55%);color:white;position:relative;overflow:hidden;padding:185px 5% 100px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.grid-bg{position:absolute;inset:0;opacity:.11;background-image:linear-gradient(#88b8b833 1px,transparent 1px),linear-gradient(90deg,#88b8b833 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-copy{position:relative;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#b4c7c6;margin:0 0 30px;display:flex;align-items:center;gap:10px}.eyebrow i,.dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-3.5px}h1{font-size:clamp(58px,6.7vw,104px);line-height:1.06;margin-bottom:30px}em{font-style:normal;color:#7bbca6}h1 em{color:var(--mint)}.intro{font-size:17px;line-height:1.7;color:#adc0c2}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.text-link{font-size:13px;border-bottom:1px solid #678581;padding:12px 0;display:inline-flex;gap:20px}.model-wrap{position:relative;height:540px;z-index:1;margin-left:-55px}#model{position:absolute;inset:-90px -70px 0 -70px;touch-action:pan-y}#model canvas{width:100%;height:100%;display:block}.fallback{width:80%;height:60%;object-fit:cover;opacity:.4;position:absolute;top:20%;left:10%}.model-tag{position:absolute;top:-10px;right:12px;font-family:monospace;font-size:10px;letter-spacing:1px}.model-tag small{display:block;font-size:8px;color:#73938f;margin:8px 0 0 14px}.system-label{position:absolute;left:18%;top:65%;font:9px monospace;letter-spacing:1px;color:#b7e8d3;border-top:1px solid #b7e8d377;padding-top:10px}.model-controls{position:absolute;bottom:22px;left:15%;display:flex;gap:5px;background:#0a252bcc;padding:5px;border:1px solid #ffffff20;backdrop-filter:blur(15px)}.model-controls button{border:0;background:transparent;color:#9cb9b6;padding:11px 14px;font-size:11px}.model-controls button.active{background:var(--mint);color:var(--dark)}.model-description{position:absolute;bottom:-18px;width:100%;text-align:center;color:#8eaaa8;font-size:11px}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff1b;padding-top:24px;font-size:9px;letter-spacing:1.7px;color:#9db7b7}.hero-bottom b{margin:0 14px}.hero-bottom a span{margin-left:20px}.client-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5%;border-bottom:1px solid var(--line)}.client-strip>span{font-size:8px;line-height:1.7;letter-spacing:1px;color:#75817c}.client-strip strong{font-size:20px;letter-spacing:-.5px;color:#64716b}.section{padding:105px 7%}.dark{color:#6e8179}h2{font-size:clamp(34px,4.2vw,62px);line-height:1.15;letter-spacing:-2.5px;margin-bottom:25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about-body .large{font-size:23px;line-height:1.5;color:var(--ink)}p{line-height:1.8;color:#6b7a73;font-size:14px}.underlink{display:flex;justify-content:space-between;border-bottom:1px solid #a7b4ac;padding:18px 0;font-size:13px}.facts{display:flex;justify-content:space-between;margin-top:36px}.facts b{display:block;font-size:32px;letter-spacing:-1px;font-weight:500}.facts span{display:block;font-size:10px;color:#7b8880;margin-top:8px}.services{background:#eaf0e9}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:30px}.section-heading p{margin-bottom:10px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}.service-photo{position:relative;min-height:460px;overflow:hidden}.service-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#061d21dd)}.service-photo>div{position:absolute;bottom:32px;left:30px;right:25px;z-index:1;color:white}.service-photo span{font-size:9px;letter-spacing:2px}.service-photo h3{font-weight:500;font-size:26px;margin:14px 0 0}.service-list details{border-bottom:1px solid #c3cec4;padding:23px 0}.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:23px;font-size:21px}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:10px;color:#87958c}.service-list summary b{margin-left:auto;font-weight:400}.service-list details p{margin:19px 30px 0;font-size:13px}.projects{background:var(--dark);color:white}.projects h2 em{color:var(--mint)}.project-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}.image-frame{position:relative;overflow:hidden;height:280px}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.image-frame:hover img{transform:scale(1.05)}.image-frame>span{position:absolute;left:15px;top:15px;font-size:8px;letter-spacing:1px;padding:9px 12px;background:#081c23d9;color:#d4e4de}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.project-meta h3{font-size:19px;font-weight:500;margin:0}.project-grid p{font-size:12px;color:#8aa49d;margin-top:8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:50px}.steps article{border-top:1px solid #9aafa0;padding-top:25px}.steps span{font-size:12px;color:#7b9a87}.steps h3{margin:26px 0 12px;font-size:24px;font-weight:500}.steps p{font-size:13px}.sustain{position:relative;min-height:470px;display:flex;align-items:center;background:#173c37;color:white;padding:70px 7%;overflow:hidden}.sustain>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.23}.sustain:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102c29,transparent)}.sustain>div{position:relative;z-index:1;max-width:600px}.sustain p:not(.eyebrow){color:#bfd0c6;max-width:480px}.sustain h2 em{color:var(--mint)}.contact{display:grid;grid-template-columns:1.5fr 1fr;gap:12%}.contact .button{margin-top:15px;background:var(--ink);color:white}.contact-info{padding-top:40px}.contact-info>span{font-size:9px;letter-spacing:2px;color:#77877f;display:block;margin-bottom:12px}.contact-info>a:not(.underlink){display:block;font-size:27px;margin-bottom:30px}.contact-info>p{font-size:17px;margin-bottom:30px}footer{background:var(--dark);padding:40px 5%;color:white;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>span,footer>a:last-child{font-size:10px;color:#9dafaa}.skip{position:fixed;top:-100px}.skip:focus{top:10px;left:10px;z-index:100;background:white;padding:15px}@media(min-width:1500px){.hero{padding-left:7%;padding-right:7%}}@media(max-width:1000px){nav{gap:18px}.hero{min-height:760px}h1{font-size:65px}.model-wrap{margin-left:-90px}.hero-actions{gap:15px}.hero-actions .button{gap:15px}.section{padding:75px 5%}.client-strip{flex-wrap:wrap;justify-content:center}.client-strip>span{width:100%;text-align:center}.image-frame{height:220px}.brand>span{font-size:9px}.steps{gap:20px}}@media(max-width:700px){header{height:78px}.brand b{font-size:36px}.brand>span{font-size:8px}header>.button{display:none}.menu{display:block;background:none;color:white;border:1px solid #36504e;padding:8px 13px;font-size:19px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0b2429;padding:25px;flex-direction:column}nav.open{display:flex}.hero{height:auto;max-height:none;min-height:1100px;display:block;padding:135px 6% 100px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:clamp(50px,11vw,76px);letter-spacing:-3px}.intro{font-size:15px}.hero-actions{gap:22px}.button{padding:15px 18px;font-size:12px}.text-link{font-size:12px}.model-wrap{height:380px;margin:70px -10px 20px}#model{inset:-90px -30px -10px}.model-tag{top:-30px;right:20px}.model-controls{left:50%;transform:translateX(-50%);white-space:nowrap;bottom:0}.model-controls button{padding:10px}.model-description{bottom:-40px;font-size:10px}.system-label{top:63%;left:10%}.hero-bottom{font-size:7px;letter-spacing:1px;bottom:23px}.hero-bottom>span:last-child{display:none}.hero-bottom b{margin:0 5px}.client-strip{gap:25px;padding:28px 6%}.client-strip strong{font-size:16px}.section{padding:65px 6%}.about,.service-layout,.contact{grid-template-columns:1fr;gap:20px}.about-body .large{font-size:21px}h2{font-size:38px;letter-spacing:-2px}.eyebrow{font-size:9px;margin-bottom:23px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px}.service-photo{min-height:320px}.service-list summary{font-size:19px}.project-grid{grid-template-columns:1fr;gap:28px}.image-frame{height:290px}.project-meta{margin-top:17px}.steps{grid-template-columns:1fr 1fr;gap:30px 20px}.steps h3{font-size:21px}.sustain{padding:65px 6%;min-height:440px}.contact-info{padding-top:20px}footer{align-items:flex-start;flex-wrap:wrap;padding:35px 6%}footer .brand{width:100%;margin-bottom:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
