@font-face{font-family:Space;src:url('assets/space-grotesk.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#1c201f;--paper:#e9e8e1;--orange:#ff6838;--muted:#a4aaa5;--line:rgba(233,232,225,.18);--font:Space,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}::selection{background:var(--orange);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.03}h1,h2{letter-spacing:-.065em}em,i{font-style:normal;color:var(--orange)}svg{display:block}button{border:0}a,button{touch-action:manipulation}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--orange);color:var(--ink);padding:12px}.skip:focus{top:20px}.demo-bar{min-height:32px;padding:7px 3.5vw;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:space-between;font:10px/1.5 var(--font);letter-spacing:.05em}.demo-bar a{display:inline-flex;gap:14px}.site-header{height:103px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:31;background:var(--ink)}.wordmark{display:flex;align-items:center;font-size:31px;letter-spacing:-1.4px;gap:10px;position:relative;padding-bottom:13px}.wordmark svg{width:24px;height:30px;color:var(--orange);margin-right:4px}.wordmark span{font:8px/1 var(--font);letter-spacing:3.4px;position:absolute;bottom:1px;left:40px;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:35px;font-size:12px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';height:1px;background:currentColor;position:absolute;left:0;bottom:-5px;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.desktop-nav .nav-cta{padding:11px 0 11px 35px;margin-left:25px;border-left:1px solid var(--line);display:flex;align-items:center;gap:40px}.nav-cta span{font-size:21px;color:var(--orange)}.menu-toggle{display:none;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{height:1px;background:var(--paper);display:block;margin:6px 0;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-overlay{position:fixed;inset:135px 0 0;background:var(--ink);z-index:30;padding:45px 6vw;overflow:auto}.menu-overlay[hidden]{display:none}.menu-overlay nav{display:flex;flex-direction:column}.menu-overlay nav a{font-size:clamp(35px,9vw,70px);letter-spacing:-.06em;padding:20px 0;border-bottom:1px solid var(--line)}.menu-overlay nav small{font-size:12px;color:var(--orange);letter-spacing:0;margin-right:20px}.menu-overlay p{margin-top:45px;font-size:13px;color:var(--muted)}
.hero{position:relative;min-height:810px;overflow:hidden;padding:42px 3.5vw 0}.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,transparent calc(100% - 1px),rgba(233,232,225,.045) 1px),linear-gradient(0deg,transparent calc(100% - 1px),rgba(233,232,225,.025) 1px);background-size:16.65% 130px;mask-image:linear-gradient(to bottom,#000 20%,transparent)}.hero-top{position:relative;display:flex;justify-content:space-between;align-items:start}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.1em}.status-dot{display:inline-block;width:6px;height:6px;background:var(--orange);margin-right:9px;vertical-align:middle;box-shadow:0 0 14px #ff683850}.hero-intro{font-size:13px;line-height:1.6;color:var(--muted);padding-right:2vw}.hero h1{font-size:clamp(66px,8.5vw,137px);line-height:.96;position:relative;z-index:2;margin-top:50px;pointer-events:none;max-width:800px}.hero h1>span{display:block;overflow:hidden;animation:hero-in 1.2s cubic-bezier(.22,1,.36,1) both}.hero h1>span:last-child{animation-delay:.14s}.hero h1 i{font-style:normal;color:var(--paper)}.model-stage{position:relative;margin-top:-120px;margin-left:24%;height:500px}.model-coordinates{position:absolute;right:0;top:70px;text-align:right;color:var(--muted);font-size:9px;line-height:1.8;letter-spacing:.08em}.bridge-art{position:absolute;inset:-40px -20px 0 -70px;perspective:1200px}.bridge-art svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 15px 35px rgba(0,0,0,.15));transform:translate3d(0,var(--model-y,0px),0)}.bridge-lines{stroke-dasharray:1500;stroke-dashoffset:1500;animation:draw-in 3s 300ms cubic-bezier(.2,.8,.2,1) forwards}.bridge-secondary{opacity:.65}.bridge-accent{stroke:var(--orange)}.load-lines{opacity:0;transition:opacity .4s}.load-lines path{stroke-dasharray:6 9;animation:dash-flow 1.3s linear infinite}.terrain{opacity:.13;transition:opacity .5s}.model-stage[data-mode=cargas] .load-lines{opacity:1}.model-stage[data-mode=cargas] .bridge-secondary{opacity:.25}.model-stage[data-mode=terreno] .terrain{opacity:.65}.model-stage[data-mode=terreno] .bridge-lines{opacity:.4}.model-controls{position:absolute;bottom:36px;left:6%;display:flex;gap:25px;border-bottom:1px solid var(--line)}.model-controls button{background:none;padding:12px 0;font-size:10px;color:#a7ada8;position:relative}.model-controls button[aria-pressed=true]{color:var(--orange)}.model-controls button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;background:var(--orange);height:1px}.model-description{position:absolute;bottom:9px;left:6%;font-size:9px;color:var(--muted)}.hero-bottom{position:relative;border-top:1px solid var(--line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.06em}.circle-link{display:flex;gap:15px;align-items:center;font-size:11px;letter-spacing:0}.circle-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #69706b;border-radius:50%;font-size:17px;transition:background .3s,color .3s,border .3s}.circle-link:hover .circle-icon{background:var(--orange);color:var(--ink);border-color:var(--orange)}.hero-bottom>p,.scroll-index{color:var(--muted)}.ticker{overflow:hidden;background:var(--orange);color:var(--ink);padding:18px 0;font-size:13px;letter-spacing:.05em;white-space:nowrap}.ticker div{display:flex;align-items:center;gap:60px;width:max-content;animation:ticker 30s linear infinite}.ticker span{font-size:27px;line-height:1;margin:0 20px}.section-pad{padding:90px 5vw}.section-label{font-size:9px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:25px;padding-bottom:32px;border-bottom:1px solid currentColor}.intro{background:var(--paper);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12vw;padding-top:70px}.intro h2,.section-heading h2,.method h2{font-size:clamp(48px,6.2vw,95px)}.intro h2 em,.projects h2 em{color:#747a72}.intro-copy{padding-top:5px;font-size:22px;line-height:1.4;letter-spacing:-.035em}.intro-copy .subtle{font-size:14px;line-height:1.6;color:#62675f;margin-top:25px;letter-spacing:0}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;font-size:12px;letter-spacing:0;padding-bottom:9px;border-bottom:1px solid currentColor;transition:gap .3s}.text-link:hover{gap:58px}.text-link span{font-size:22px}.intro-copy .text-link{margin-top:35px}.expertise{margin:80px 0 0 31%;border-top:1px solid #b9bdb4}.expertise details{border-bottom:1px solid #b9bdb4}.expertise summary{list-style:none;display:flex;align-items:center;gap:35px;padding:27px 0;cursor:pointer}.expertise summary::-webkit-details-marker{display:none}.expertise summary h3{font-size:25px;letter-spacing:-.03em}.service-no{font-size:10px;color:#73796f}.detail-plus{margin-left:auto;font-size:27px;font-weight:300;transition:transform .3s}.expertise details[open] .detail-plus{transform:rotate(45deg)}.expertise details p{margin:0 70px 30px 49px;max-width:500px;color:#62675f;font-size:14px;line-height:1.7}.projects{background:#f5f4ee;color:var(--ink);padding-top:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:65px 0}.section-heading>p{font-size:14px;line-height:1.6;max-width:280px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px}.project-card{background:none;text-align:left;padding:0;color:inherit;min-width:0}.project-wide{grid-column:1/-1}.project-image{position:relative;overflow:hidden;background:#d7d9d2;aspect-ratio:1.15}.project-wide .project-image{aspect-ratio:2.18}.project-image img{width:100%;height:100%;filter:saturate(.6);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .5s}.project-card:hover .project-image img{transform:scale(1.035);filter:saturate(.95)}.image-tag{position:absolute;left:22px;top:22px;background:var(--paper);padding:6px 11px;font-size:8px;letter-spacing:.06em;color:var(--ink)}.project-open{position:absolute;right:22px;top:22px;width:44px;height:44px;display:grid;place-items:center;background:var(--orange);border-radius:50%;color:var(--ink);font-size:23px;transition:transform .3s}.project-card:hover .project-open{transform:rotate(45deg)}.photo-label{position:absolute;bottom:13px;left:22px;font-size:7px;letter-spacing:.07em;color:#fff;text-shadow:0 1px 6px #000;max-width:calc(100% - 40px)}.project-image:after{content:'';position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(transparent,#0005);pointer-events:none}.photo-label{z-index:1}.project-caption{display:flex;justify-content:space-between;gap:18px;padding-top:23px}.project-number{display:block;font-size:9px;color:#666e63;margin-bottom:10px}.project-caption h3{font-size:33px;letter-spacing:-.05em}.project-caption p{font-size:10px;color:#62675f;text-align:right;margin-top:22px;line-height:1.7}.project-disclaimer{max-width:670px;font-size:10px;color:#70766d;line-height:1.7;margin-top:55px}.method{padding-top:85px}.method .section-label{color:#a9b0a7;border-color:var(--line)}.method-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:65px}.method h2{font-size:clamp(45px,5.4vw,82px)}.method h2 em{color:var(--orange)}.layer-art{width:90%;margin-top:5px;max-width:470px}.layer-art svg{width:100%;height:auto;overflow:visible}.layer-art svg .layer{fill:var(--ink);stroke:#929c90;stroke-width:1.2;transition:transform 1s}.layer-art svg .layer-1{stroke:var(--orange);fill:#372a22;transform:translateY(-18px)}.layer-art:hover svg .layer-1{transform:translateY(-35px)}.layer-art svg .layer-2{fill:#222824;opacity:.75}.layer-art svg .layer-3{fill:transparent;opacity:.45;transform:translateY(18px)}.layer-art:hover svg .layer-3{transform:translateY(35px)}.layer-axis{stroke:#7e8b79;stroke-dasharray:3 7;stroke-width:.6;opacity:.5}.layer-art span{font-size:8px;letter-spacing:.1em;color:#959f93;margin-left:50px}.method-steps{padding:0;margin:0;list-style:none}.method-steps li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:33px 0;border-bottom:1px solid var(--line)}.method-steps li:first-child{padding-top:7px}.method-steps li>span{font-size:11px;color:var(--orange);padding-top:3px}.method-steps h3{font-size:25px;letter-spacing:-.04em}.method-steps p{font-size:13px;color:#a9b0a7;line-height:1.7;margin-top:17px;max-width:320px}.contact{background:var(--orange);color:var(--ink);padding-top:50px;padding-bottom:55px}.contact .section-label{border-color:#1c201f50}.contact-layout{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:60px}.contact h2{font-size:clamp(60px,9vw,140px);line-height:.98}.contact h2 em{color:var(--ink)}.contact-arrow{width:145px;height:145px;background:transparent;border:1px solid #1c201f88;border-radius:50%;font-size:90px;display:grid;place-items:center;transition:transform .45s,background .3s,color .3s;flex-shrink:0}.contact-arrow:hover{transform:rotate(45deg);background:var(--ink);color:var(--orange)}.contact-arrow span{line-height:1;transform:translateY(-5px)}.contact-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:55px}.contact-bottom p{font-size:13px}.site-footer{padding:65px 5vw 25px}.footer-logo{font-size:clamp(60px,18vw,260px);letter-spacing:-.075em;line-height:1;display:block;position:relative;width:max-content;max-width:100%}.footer-logo span{font-size:24px;vertical-align:top;display:inline-block;letter-spacing:0;margin-left:15px;padding-top:10px;color:var(--orange)}.footer-bottom{margin-top:55px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.02em;color:#9ca69b}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
dialog{border:0;padding:0;color:var(--ink);background:var(--paper);max-width:1050px;width:calc(100% - 40px);max-height:calc(100dvh - 50px);overscroll-behavior:contain}dialog::backdrop{background:#0c100ede;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .35s cubic-bezier(.2,.8,.2,1)}.dialog-close{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 25px;background:var(--ink);color:var(--paper);font-size:11px}.dialog-close span{font-size:28px;line-height:1}.dialog-image{height:340px;width:100%;object-fit:cover}.dialog-body{padding:45px 6% 55px}.dialog-type{color:#6a7368}.dialog-body h2{font-size:clamp(42px,6vw,75px);margin-top:15px}.dialog-lead{font-size:21px;line-height:1.4;margin-top:20px;max-width:670px;letter-spacing:-.02em}.dialog-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0;padding:20px 0;border-top:1px solid #c0c6b9;border-bottom:1px solid #c0c6b9;font-size:12px}.dialog-facts span{display:block;font-size:8px;letter-spacing:.07em;color:#6a7368;margin-bottom:6px}.dialog-description{display:grid;grid-template-columns:1fr 1fr;gap:35px;font-size:14px;color:#5f685c;line-height:1.7}.dialog-description h3{font-size:18px;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px}.dialog-disclaimer{font-size:10px;line-height:1.7;color:#6a7368;margin:30px 0}.inquiry-body{padding:50px}.inquiry-body h2{font-size:60px;margin:25px 0}.inquiry-body>p:not(.eyebrow){font-size:14px;color:#60675b;max-width:510px}.inquiry-body form{margin:40px 0}.inquiry-body label{display:flex;flex-direction:column;gap:15px;font-size:12px}.inquiry-body select{padding:14px 40px 14px 12px;background:transparent;border:1px solid #9aa18f;border-radius:0;color:var(--ink);width:100%}.form-submit{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:15px 20px;width:100%;margin-top:20px}.form-submit span{font-size:25px}.form-result{padding:18px;border-left:2px solid var(--orange);margin:25px 0}.inquiry-body .text-link{margin-top:30px;font-size:11px}#inquiry-dialog{max-width:650px}.reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal:not(.visible){opacity:0;transform:translateY(35px)}
@keyframes hero-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes draw-in{to{stroke-dashoffset:0}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes dash-flow{to{stroke-dashoffset:-30}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{min-height:900px}.model-stage{height:570px}.hero h1{font-size:150px}.model-stage{margin-top:-100px}}
@media(max-width:1000px){.hero{min-height:740px}.hero h1{font-size:10vw}.model-stage{margin-top:-70px;margin-left:15%;height:450px}.model-coordinates{top:50px}.hero-intro{font-size:11px}.desktop-nav{gap:22px}.desktop-nav .nav-cta{margin-left:5px;padding-left:22px;gap:20px}.intro-grid{gap:7vw}.intro-copy{font-size:19px}.expertise{margin-left:20%}.project-caption{flex-direction:column;gap:10px}.project-caption p{text-align:left;margin-top:0}.method-layout{gap:5vw}.method-steps li{gap:10px;grid-template-columns:45px 1fr}.method-steps h3{font-size:22px}.contact-arrow{width:110px;height:110px;font-size:70px}}
@media(max-width:700px){html{scroll-padding-top:20px}.demo-bar{padding:7px 5vw;font-size:8px;gap:12px;letter-spacing:0}.site-header{height:85px;padding:0 5vw}.wordmark{font-size:26px;gap:7px}.wordmark svg{width:21px}.wordmark span{font-size:7px;letter-spacing:2.7px;left:33px}.desktop-nav{display:none}.menu-toggle{display:block}.menu-overlay{inset:117px 0 0}.hero{min-height:790px;padding:32px 5vw 0}.hero-top{align-items:start}.eyebrow{font-size:8px}.hero-intro{max-width:155px;font-size:9px;line-height:1.6;text-align:right;padding:0}.status-dot{width:5px;height:5px;margin-right:6px}.hero h1{font-size:clamp(58px,12.3vw,87px);margin-top:50px;line-height:1.02}.hero h1>span:last-child{white-space:nowrap}.model-stage{margin-top:15px;margin-left:0;height:410px}.bridge-art{inset:10px -60px 45px -60px}.model-coordinates{top:12px;right:0;font-size:7px}.model-controls{bottom:38px;left:0;gap:22px}.model-controls button{font-size:9px;padding:12px 0}.model-description{left:0;font-size:8px;bottom:10px}.hero-bottom{padding:20px 0;gap:20px}.hero-bottom>p{display:none}.hero-bottom .scroll-index{font-size:8px}.circle-link{font-size:10px}.circle-icon{width:30px;height:30px}.ticker{padding:14px 0;font-size:11px}.ticker div{gap:30px}.ticker span{font-size:22px}.section-pad{padding:65px 6vw}.section-label{font-size:7px;padding-bottom:25px;gap:20px;align-items:start}.section-label span:last-child{text-align:right}.intro-grid{grid-template-columns:1fr;gap:35px;padding-top:45px}.intro h2,.section-heading h2,.method h2{font-size:53px}.intro-copy{max-width:420px;font-size:21px}.intro-copy .subtle{font-size:13px}.intro-copy .text-link{margin-top:25px}.expertise{margin:50px 0 0}.expertise summary{gap:20px;padding:23px 0}.expertise summary h3{font-size:23px}.expertise details p{margin:0 25px 25px 32px;font-size:12px}.section-heading{display:block;margin:45px 0 35px}.section-heading>p{margin-top:25px;font-size:12px;max-width:230px}.project-grid{grid-template-columns:1fr;gap:37px}.project-wide{grid-column:auto}.project-wide .project-image{aspect-ratio:1.12}.project-image{aspect-ratio:1.1}.project-caption{flex-direction:row;align-items:end;gap:10px;padding-top:19px}.project-caption h3{font-size:29px}.project-caption p{font-size:8px;text-align:right;max-width:115px;flex-shrink:0}.project-number{font-size:8px;margin-bottom:8px}.image-tag{left:15px;top:15px;padding:5px 8px;font-size:7px}.project-open{right:15px;top:15px;width:37px;height:37px;font-size:20px}.photo-label{font-size:6px;left:15px;bottom:12px}.project-disclaimer{font-size:9px;margin-top:35px}.method-layout{grid-template-columns:1fr;gap:35px;margin-top:45px}.layer-art{width:85%;max-width:340px;margin:5px auto 0}.layer-art svg{max-height:270px}.layer-art span{font-size:7px;margin-left:30px}.method-steps li{grid-template-columns:45px 1fr;padding:28px 0;gap:15px}.method-steps li:first-child{padding-top:20px}.method-steps h3{font-size:24px}.method-steps p{font-size:12px;margin-top:14px}.contact{padding-top:35px;padding-bottom:40px}.contact-layout{margin-top:45px;gap:15px;align-items:end}.contact h2{font-size:clamp(46px,10.7vw,70px)}.contact-arrow{width:66px;height:66px;font-size:44px;margin-bottom:4px}.contact-arrow span{transform:translateY(-3px)}.contact-bottom{display:block;margin-top:35px}.contact-bottom p{font-size:12px}.contact-bottom .text-link{margin-top:25px;font-size:11px;gap:30px}.site-footer{padding:40px 6vw 25px}.footer-logo{font-size:17.3vw;letter-spacing:-.08em}.footer-logo span{font-size:13px;margin-left:7px;padding-top:5px}.footer-bottom{flex-direction:column;gap:12px;font-size:8px;margin-top:30px;padding-top:20px}.footer-bottom a{align-self:start}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog-image{height:220px}.dialog-body{padding:30px 7%}.dialog-body h2{font-size:44px}.dialog-lead{font-size:19px}.dialog-facts{grid-template-columns:1fr;gap:15px;margin:25px 0;padding:20px 0}.dialog-facts>div{display:flex;justify-content:space-between;gap:15px}.dialog-facts span{font-size:8px;margin:0;padding-top:3px}.dialog-description{grid-template-columns:1fr;gap:25px;font-size:13px}.dialog-body .text-link{font-size:10px;gap:20px}.inquiry-body{padding:30px 7%}.inquiry-body h2{font-size:43px}.inquiry-body>p:not(.eyebrow){font-size:13px}.inquiry-body label{font-size:11px}.inquiry-body select{font-size:12px}.inquiry-body .text-link{font-size:10px;gap:18px}}
@media(max-width:360px){.hero{min-height:750px}.hero h1{font-size:11.8vw}.hero-intro{max-width:125px;font-size:8px}.model-stage{height:380px}.model-controls{gap:15px}.model-controls button{font-size:8px}.project-caption h3{font-size:25px}.contact h2{font-size:42px}.contact-arrow{width:55px;height:55px;font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.visible){opacity:1;transform:none}.bridge-lines{stroke-dashoffset:0}.bridge-art svg{transform:none}.ticker div{transform:none}.load-lines path{stroke-dasharray:none}}
.model-controls button{min-height:44px}.text-link{min-height:44px}.circle-link{min-height:44px}
/* ESTRATO / editorial refinement */
.icon{display:block;width:22px;height:22px;flex-shrink:0;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}.demo-bar a{align-items:center}.demo-bar .icon{width:13px;height:13px}.header-tools{display:flex;align-items:center;gap:26px}.nav-cta{display:flex;align-items:center;gap:24px;font-size:12px;min-height:44px}.nav-cta .icon{width:19px;height:19px;color:var(--orange)}.motion-toggle{width:44px;height:44px;display:grid;place-items:center;border:1px solid #737e6c66;border-radius:50%;background:transparent}.motion-toggle .icon{width:16px;height:16px}.motion-toggle[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}.motion-toggle[aria-disabled=true]{cursor:default}.desktop-nav{gap:40px}.menu-overlay{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:32px 6vw;border:0;color:var(--paper)}.menu-overlay::backdrop{background:var(--ink)}.menu-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em}.menu-close{display:flex;align-items:center;gap:15px;min-height:44px;background:transparent;font-size:11px}.menu-overlay nav{margin-top:65px}.menu-overlay .menu-portfolio{display:inline-flex;align-items:center;gap:25px;font-size:12px;min-height:44px;margin-top:25px;border-bottom:1px solid var(--line)}
.hero{min-height:0;padding:38px 3.5vw 0}.hero-edition{font-size:9px;letter-spacing:.12em;color:#9aa395}.hero-composition{display:grid;grid-template-columns:.9fr 1.3fr;gap:40px;align-items:center;padding:50px 0 52px}.hero-copy{padding:26px 0 20px;position:relative;z-index:2}.hero h1{font-size:clamp(68px,6.8vw,112px);line-height:1;letter-spacing:-.07em;margin-top:0;max-width:none}.hero h1>span:last-child{white-space:nowrap}.hero h1 i{color:#aeb7a5}.hero-intro{font-size:14px;line-height:1.8;max-width:355px;color:#b2b9ab;text-align:left;padding:0;margin-top:35px}.hero-link{display:inline-flex;align-items:center;justify-content:space-between;gap:75px;padding:15px 0;margin-top:27px;border-bottom:1px solid #8d9783;font-size:12px;transition:gap .3s}.hero-link:hover{gap:90px}.hero-link .icon{width:19px;height:19px;color:var(--orange)}.hero-note{display:flex;gap:23px;align-items:start;margin-top:68px}.hero-note>span{font-size:9px;color:var(--orange);letter-spacing:.05em;padding-top:2px;white-space:nowrap}.hero-note p{font-size:11px;line-height:1.7;color:#929d8b}.hero-workbench{border:1px solid #7b8b6b40;position:relative;background:linear-gradient(150deg,#252e2544,transparent 80%);min-width:0}.workbench-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #7b8b6b30;padding:16px 20px;color:#9eab94;font-size:8px;letter-spacing:.09em}.model-stage{height:475px;margin:0;overflow:hidden}.bridge-art{inset:-25px -20px 30px -35px}.model-coordinates{right:20px;top:22px;text-align:right;font-size:7px;letter-spacing:.1em;color:#95a38a}.model-axis{position:absolute;left:20px;bottom:69px;color:#93a486;font-size:8px;letter-spacing:.15em}.model-controls{bottom:0;left:0;right:0;border-top:1px solid #7b8b6b30;border-bottom:0;gap:0;display:grid;grid-template-columns:repeat(3,1fr);background:#1c201fe8}.model-controls button{padding:15px 14px;text-align:center;font-size:10px;min-height:52px;border-right:1px solid #7b8b6b30;transition:color .3s,background .3s}.model-controls button:last-child{border-right:0}.model-controls button span{font-size:8px;color:#7f8d73;margin-right:7px}.model-controls button[aria-pressed=true]{color:var(--paper);background:#30392b}.model-controls button[aria-pressed=true] span{color:var(--orange)}.model-controls button[aria-pressed=true]:after{bottom:auto;top:0;background:var(--orange)}.workbench-caption{border-top:1px solid #7b8b6b30;display:block;padding:14px 20px}.model-description{position:static;font-size:10px;line-height:1.6;color:#b0baa4;min-height:16px}.workbench-caption>span{font-size:7px;color:#7e8d70;letter-spacing:.07em;display:block;margin-top:9px}.hero-bottom{font-size:8px;padding:22px 0;letter-spacing:.07em;color:#96a18c}.hero-bottom>a{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:0;min-height:30px}.hero-bottom>a .icon{width:16px;height:16px;color:var(--orange)}.specialties-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:0 3.5vw;border-top:1px solid #7b8b6b40;border-bottom:1px solid #7b8b6b40;background:#232a23}.specialties-strip>span{font-size:9px;letter-spacing:.12em;padding:25px 0;text-align:center;border-right:1px solid #7b8b6b40;color:#b7c1ad}.specialties-strip>span:last-child{border:0}.intro-grid{grid-template-columns:1.25fr 1fr;gap:7vw}.intro h2{font-size:clamp(48px,5.7vw,88px);line-height:1.08}.intro-copy{font-size:22px;line-height:1.55}.text-link .icon{width:18px;height:18px}.detail-plus .icon{width:22px;height:22px}.expertise details p{max-width:540px}.project-filterbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px;border-bottom:1px solid #b4bbae}.project-filters{display:flex;gap:26px;align-items:center}.project-filters button{background:none;min-height:50px;font-size:10px;padding:10px 0;position:relative;color:#747c6e}.project-filters button.active{color:var(--ink)}.project-filters button.active:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:var(--ink)}.project-filters button>span{font-size:8px;margin-left:8px;vertical-align:top;color:#747c6e}#project-count{font-size:9px;color:#747c6e;white-space:nowrap}.project-card[hidden]{display:none!important}.project-grid.is-filtered{grid-template-columns:1fr}.project-grid.is-filtered .project-image{aspect-ratio:2.18}.project-card .project-open{border-radius:0;background:var(--paper);width:44px;height:44px}.project-card .project-open .icon{width:19px;height:19px}.project-card:hover .project-open{transform:none;background:var(--orange)}.project-card:hover .project-open .icon{transform:translate(2px,-2px)}.project-caption h3{font-size:38px}.project-caption p{font-size:11px;line-height:1.6}.image-tag{background:var(--paper);padding:7px 11px;letter-spacing:.09em}.photo-label{font-size:7px}.method h2{font-size:clamp(45px,5.2vw,82px);line-height:1.07}.method-layout{gap:7vw}.method-steps p{font-size:14px}.contact h2{font-size:clamp(58px,8.3vw,130px);line-height:1.04}.contact-arrow{width:130px;height:130px;border-radius:0;border-color:#1c201f77}.contact-arrow>.icon{width:56px;height:56px;stroke-width:1}.contact-arrow:hover{transform:none}.contact-arrow:hover>.icon{transform:translate(5px,-5px)}.footer-logo>.icon{display:inline-block;vertical-align:top;width:35px;height:35px;color:var(--orange);margin:15px 0 0 20px;stroke-width:1}.footer-bottom>a{display:flex;align-items:center;gap:10px}.footer-bottom>a .icon{width:13px;height:13px}.dialog-close>.icon{width:20px;height:20px}.form-submit>.icon{width:21px;height:21px}
#project-dialog{max-width:1180px}.project-dialog-bar{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:0 30px;background:var(--ink);color:var(--paper)}.dialog-index{font-size:9px;letter-spacing:.12em;color:#b5bfa9}.project-dialog-bar>.dialog-close{width:auto;position:static;padding:16px 0;gap:25px;min-height:56px}.dialog-figure{margin:0;position:relative}.dialog-figure .dialog-image{height:410px;object-position:center 43%}.dialog-figure:after{content:'';position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,#0008);pointer-events:none}.dialog-credit{position:absolute;z-index:1;bottom:17px;left:30px;right:30px;font-size:8px;color:#fff;letter-spacing:.03em;line-height:1.6}.dialog-body{padding:55px 6% 45px}.dialog-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:start}.dialog-heading h2{font-size:clamp(45px,6vw,77px);letter-spacing:-.065em;margin-top:20px}.dialog-lead{font-size:22px;line-height:1.5;letter-spacing:-.035em;margin-top:23px;max-width:580px}.dialog-facts{display:block;margin:0;padding:0;border:0}.dialog-facts>div{padding:13px 0;border-top:1px solid #b4bead}.dialog-facts>div:last-child{border-bottom:1px solid #b4bead}.dialog-facts dt{font-size:8px;letter-spacing:.08em;color:#747e6b;margin-bottom:6px}.dialog-facts dd{margin:0;font-size:12px;line-height:1.5}.dialog-story{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;margin-top:55px;padding-top:40px;border-top:1px solid #b4bead;align-items:start}.dialog-description{display:block}.dialog-description section+section{margin-top:28px}.dialog-description h3{font-size:22px;margin-bottom:15px}.dialog-description p{font-size:14px;line-height:1.8;color:#5c6854}.dialog-diagram{background:#d9ddce;padding:15px 15px 20px;margin:0}.diagram-art svg{width:100%;height:auto;display:block;min-height:200px}.dialog-diagram>p{font-size:7px;letter-spacing:.08em;line-height:1.9;color:#69785c;text-align:center;margin-top:8px}.dialog-scope{margin-top:45px;border-top:1px solid #b4bead;padding-top:30px}.dialog-scope>.eyebrow{font-size:8px;color:#727e66}.dialog-scope h3{font-size:30px;letter-spacing:-.04em;margin-top:10px}.dialog-scope ul{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;list-style:none;padding:0;margin:25px 0 0}.dialog-scope li{display:flex;gap:15px;align-items:start;padding:14px 0;border-top:1px solid #c1caba;font-size:12px;line-height:1.7;color:#4d5b45}.dialog-scope li:before{content:'';height:5px;width:5px;flex-shrink:0;background:#6b7c5a;margin-top:7px}.dialog-disclaimer{font-size:10px;color:#6b7860;line-height:1.8;margin-top:28px;max-width:700px}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.back-projects{display:flex;align-items:center;gap:18px;font-size:10px;min-height:44px;background:transparent}.back-projects .icon{width:15px;height:15px}.project-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;border-top:1px solid #aebaa3;padding:25px 6%;background:#e0e3d8}.project-pagination>button{display:flex;align-items:center;gap:20px;min-height:55px;background:transparent;text-align:left;padding:0}.project-pagination>button:last-child{text-align:right;justify-content:end}.project-pagination small{display:block;font-size:7px;letter-spacing:.08em;color:#738266;margin-bottom:7px}.project-pagination b{display:block;font-weight:400;font-size:18px;letter-spacing:-.03em}.project-pagination .icon{width:23px;height:23px;color:#526842}.project-position{font-size:9px;letter-spacing:.08em;color:#748468}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused .bridge-lines{stroke-dashoffset:0!important}.motion-paused .hero h1>span{opacity:1!important;transform:none!important}.motion-paused .bridge-art svg{transform:none!important}.motion-paused .load-lines path{stroke-dasharray:none}
@media(min-width:1600px){.hero-composition{padding-block:65px}.model-stage{height:560px}.hero h1{font-size:125px}}
@media(max-width:1100px){.hero-composition{gap:28px;grid-template-columns:1fr 1.15fr}.hero h1{font-size:7.5vw}.hero-intro{font-size:12px;max-width:300px}.model-stage{height:420px}.model-controls button{font-size:9px;padding:12px 8px}.model-controls button span{margin-right:4px}.hero-note{margin-top:50px}.hero-note p{font-size:10px}.header-tools{gap:17px}.desktop-nav{gap:27px}.dialog-heading{gap:40px}.dialog-story{gap:35px}.project-filters{gap:22px}.project-caption h3{font-size:32px}}
@media(max-width:800px){.hero-composition{grid-template-columns:1fr;gap:35px;padding-top:40px}.hero-copy{padding:0;display:grid;grid-template-columns:1.1fr .9fr;gap:0 30px;align-items:start}.hero h1{font-size:clamp(58px,9vw,83px);grid-row:1/4}.hero-intro{margin-top:0;font-size:12px;max-width:280px}.hero-link{margin-top:15px;gap:35px;justify-content:space-between}.hero-note{display:none}.hero-workbench{max-width:none}.model-stage{height:430px}.bridge-art{inset:-25px -15px 15px -25px}.intro-grid{grid-template-columns:1fr;gap:35px}.intro-copy{max-width:510px;font-size:20px}.project-filterbar{align-items:start}.project-filters{gap:22px}.project-filters button{font-size:9px}.project-caption h3{font-size:30px}.dialog-heading{grid-template-columns:1fr;gap:30px}.dialog-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dialog-facts>div:last-child{border-bottom:0}.dialog-story{grid-template-columns:1fr 1fr;gap:30px}.desktop-nav{gap:20px}}
@media(max-width:700px){.site-header{height:85px}.header-tools{gap:10px}.header-tools>.nav-cta{display:none}.menu-overlay{inset:0;padding:22px 6vw}.menu-overlay nav{margin-top:45px}.menu-overlay nav a{font-size:45px;padding:24px 0}.menu-overlay nav small{font-size:10px}.menu-overlay p{font-size:12px;line-height:1.7;max-width:250px}.hero{padding:28px 5vw 0}.hero-top .eyebrow{font-size:7px;letter-spacing:.08em}.hero-edition{display:none}.hero-composition{display:block;padding:40px 0 30px}.hero-copy{display:block}.hero h1{font-size:clamp(57px,13.8vw,85px);line-height:1.02;letter-spacing:-.07em}.hero-intro{font-size:13px;max-width:300px;margin-top:25px;line-height:1.8}.hero-link{margin-top:13px;gap:70px;font-size:11px;padding:14px 0}.hero-link:hover{gap:80px}.hero-workbench{margin-top:40px}.workbench-header{padding:14px 14px;font-size:7px;letter-spacing:.06em}.model-stage{height:335px}.bridge-art{inset:3px -55px 30px -65px}.model-coordinates{top:20px;right:15px;font-size:6px}.model-axis{left:15px;bottom:67px;font-size:7px}.model-controls button{font-size:9px;min-height:48px;padding:11px 5px}.model-controls button span{font-size:7px;margin-right:4px}.workbench-caption{padding:13px 14px}.model-description{font-size:9px;min-height:28px;line-height:1.6}.workbench-caption>span{font-size:6px;margin-top:8px}.hero-bottom{padding:18px 0;gap:15px;align-items:center}.hero-bottom>span{font-size:6px;max-width:150px;line-height:1.7}.hero-bottom>a{font-size:9px;gap:12px;white-space:nowrap}.specialties-strip{grid-template-columns:1fr 1fr;padding:0 5vw}.specialties-strip>span{font-size:7px;padding:20px 4px;letter-spacing:.08em}.specialties-strip>span:nth-child(2){border-right:0}.specialties-strip>span:nth-child(-n+2){border-bottom:1px solid #7b8b6b40}.intro h2{font-size:clamp(42px,11.5vw,58px)}.intro-copy{font-size:19px;line-height:1.5}.project-filterbar{display:block;margin-bottom:25px}.project-filters{gap:22px;overflow:auto;scrollbar-width:thin}.project-filters button{white-space:nowrap;font-size:9px;flex-shrink:0;min-height:48px}.project-filters button>span{font-size:7px;margin-left:4px}#project-count{display:block;font-size:8px;margin:12px 0}.project-grid.is-filtered .project-image{aspect-ratio:1.12}.project-caption h3{font-size:29px}.project-caption p{font-size:8px}.image-tag{font-size:7px}.photo-label{font-size:6px}.method h2{font-size:48px}.method-steps p{font-size:12px}.contact h2{font-size:clamp(43px,10.9vw,67px)}.contact-layout{align-items:end;gap:18px}.contact-arrow{height:61px;width:61px}.contact-arrow>.icon{width:29px;height:29px;stroke-width:1.2}.footer-logo>.icon{width:18px;height:18px;margin:6px 0 0 8px}.project-dialog-bar{padding-inline:20px}.project-dialog-bar>.dialog-close{font-size:9px;gap:14px;min-height:52px;padding-block:14px}.dialog-index{font-size:8px}.dialog-figure .dialog-image{height:270px}.dialog-credit{left:20px;right:20px;bottom:15px;font-size:7px;max-width:280px}.dialog-body{padding:32px 7%}.dialog-heading{display:block}.dialog-heading h2{font-size:43px;margin-top:15px}.dialog-lead{font-size:20px;line-height:1.5;letter-spacing:-.035em}.dialog-facts{display:block;margin-top:25px}.dialog-facts>div{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:13px 0}.dialog-facts>div:last-child{border-bottom:1px solid #b4bead}.dialog-facts dt{font-size:7px;margin:0;line-height:1.7;padding-top:2px}.dialog-facts dd{font-size:11px;text-align:right;max-width:170px}.dialog-story{display:flex;flex-direction:column;gap:30px;margin-top:30px;padding-top:28px}.dialog-description h3{font-size:22px}.dialog-description p{font-size:13px;line-height:1.8}.dialog-diagram{width:100%;padding-inline:20px}.diagram-art svg{max-height:235px;min-height:160px}.dialog-scope{margin-top:30px}.dialog-scope h3{font-size:27px}.dialog-scope ul{grid-template-columns:1fr;margin-top:20px}.dialog-scope li{font-size:12px;padding:12px 0}.dialog-bottom{display:block;margin-top:20px}.dialog-bottom .text-link{font-size:11px;gap:30px}.back-projects{margin-top:17px;font-size:10px;gap:22px}.project-pagination{grid-template-columns:1fr 1fr;gap:20px;padding:20px 7%;position:relative}.project-position{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);font-size:7px}.project-pagination>button{gap:10px;min-height:60px;align-items:start;padding-bottom:15px}.project-pagination>button .icon{width:16px;height:16px;margin-top:14px}.project-pagination small{font-size:6px;letter-spacing:.03em;margin-bottom:7px;line-height:1.6}.project-pagination b{font-size:13px;line-height:1.3}.inquiry-body .text-link .icon{width:15px;height:15px}}
@media(max-width:370px){.model-stage{height:305px}.hero h1{font-size:13.2vw}.hero-bottom>span{max-width:120px}.hero-bottom>a{font-size:8px}.contact h2{font-size:10.7vw}.contact-arrow{width:53px;height:53px}.project-filters{gap:18px}.project-filters button{font-size:8px}}
@media(prefers-reduced-motion:reduce){.bridge-lines{stroke-dashoffset:0!important}.hero h1>span{opacity:1;transform:none}.model-stage .bridge-art svg{transform:none}.load-lines path{stroke-dasharray:none}}
@media(max-width:420px){.contact h2{font-size:10.4vw}}
