@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url("manrope-cyr.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url("manrope-lat.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{color-scheme:light;--paper:#efede5;--paper-2:#e5e1d7;--ink:#1a1d18;--mute:#5a6056;--dark:#151813;--dark-2:#1b211b;--milk:#f7f5ed;--stroke:#c6c6ba;--red:#fa5d46;--red-deep:#af3023;--nav:72px;--g:clamp(22px,4.55vw,84px);--max:1570px;--face:"Manrope",Arial,sans-serif;--mono:ui-monospace,"DejaVu Sans Mono",Consolas,monospace;--ease:cubic-bezier(.22,1,.36,1);--signal:var(--red);--field:#1b221c;--panel:#242a23}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav) + 18px);scrollbar-color:#8b8b7b var(--paper)}
body{margin:0;min-width:280px;background:var(--paper);color:var(--ink);font-family:var(--face);font-weight:560;line-height:1.45;overflow-x:clip}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,h4,p,figure,fieldset{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
img{object-fit:cover}
::selection{background:#f97b65;color:#191c17}
:focus-visible{outline:2px solid #cf3b27;outline-offset:5px}
.dark :focus-visible,.topbar :focus-visible,.home-hero :focus-visible,footer :focus-visible,dialog :focus-visible{outline-color:#ffba89}
button:disabled{cursor:not-allowed;opacity:.4}
[hidden]{display:none!important}
#main:focus{outline:none}
[id]{scroll-margin-top:calc(var(--nav) + 12px)}
.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--g)}
.pad{padding-block:clamp(76px,8.8vw,142px)}
.dark{background:var(--dark);color:var(--milk)}
.icon{width:20px;height:20px;flex:none}
.icon-inline{display:inline-flex;vertical-align:middle}
.mono,.eyebrow{font-family:var(--mono);font-size:10px;font-weight:650;line-height:1.45;letter-spacing:.115em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow i,.signal-dot{width:8px;height:8px;background:var(--signal);display:inline-block;flex:none}
.eyebrow i{transform:rotate(45deg)}
.subtle{color:var(--mute)}
.dark .subtle{color:#b8bdb0}
.lead{color:var(--mute);font-size:clamp(16px,1.52vw,22px);line-height:1.53;font-weight:590;letter-spacing:-.027em}
.dark .lead,.home-hero .lead{color:#d7d9cd}
.section-title{font-size:clamp(48px,6.35vw,102px);line-height:.97;font-weight:800;letter-spacing:-.088em;text-wrap:balance}
.section-title em{font-weight:800;font-style:normal;color:var(--red-deep)}
.dark .section-title em{color:var(--signal)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.34fr);align-items:end;gap:32px;margin-bottom:clamp(26px,5vw,68px)}
.section-head .eyebrow{margin-bottom:17px}
.section-head>.lead{max-width:29ch;justify-self:end;padding-bottom:4px;font-size:clamp(15px,1.4vw,19px)}
.section-head-wide>.lead{max-width:33ch}
.num{font-variant-numeric:tabular-nums}
.kicker{font:650 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.dotline{display:inline-flex;align-items:center;gap:8px}
.dotline::before{content:"";width:5px;height:5px;background:var(--signal);border-radius:50%}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 19px;border:1px solid transparent;background:var(--ink);color:var(--milk);font-size:14px;line-height:1.16;letter-spacing:-.027em;font-weight:800;white-space:nowrap;transition:background .25s,color .25s,border-color .25s,translate .25s;touch-action:manipulation}
.button:hover{translate:0 -3px}
.button:active{translate:0 0}
.button .icon{width:16px;height:16px;transition:translate .25s var(--ease)}
.button:hover .icon{translate:3px -2px}
.button.hot{background:var(--signal);color:#171a15}
.button.hot:hover{background:#fff9ea;color:#171a15}
.button.pale{background:var(--milk);color:var(--ink)}
.button.pale:hover,.button.ink:hover{background:var(--red);color:var(--ink)}
.button.ghost{background:transparent;color:inherit;border-color:currentColor}
.button.ghost:hover{background:var(--milk);color:var(--ink);border-color:var(--milk)}
.button.line{background:transparent;color:var(--ink);border-color:var(--stroke)}
.button.line:hover{background:var(--ink);color:var(--milk);border-color:var(--ink)}
.icon-button{display:inline-grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid var(--stroke);background:transparent;color:var(--ink);transition:background .2s,color .2s,border .2s}
.icon-button:hover{background:var(--ink);border-color:var(--ink);color:var(--milk)}
.icon-button .icon{width:18px;height:18px}
.skip{position:fixed;top:9px;left:9px;translate:0 -200%;z-index:110;background:var(--milk);color:var(--ink);padding:12px}
.skip:focus{translate:none}
.topbar{position:sticky;top:0;z-index:40;height:var(--nav);background:#151813;color:var(--milk);border-bottom:1px solid #ffffff24}
.topbar-inner{height:100%;width:min(100%,var(--max));margin:auto;padding-inline:var(--g);display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;line-height:1;color:inherit}
.brand-symbol{width:34px;height:35px;color:var(--red);flex:none}
.brand-text{display:flex;flex-direction:column;gap:5px}
.brand-text strong{font-size:22px;font-weight:800;letter-spacing:-.09em;line-height:.9}
.brand-text small{font:650 8px/1.1 var(--mono);letter-spacing:.12em}
.nav-list{display:flex;align-items:center;gap:clamp(15px,2.5vw,41px)}
.nav-list a{display:flex;align-items:center;min-height:44px;color:#cdd0c6;gap:7px;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:-.028em;transition:color .2s}
.nav-list a:hover,.nav-list a[aria-current="page"]{color:#fffaf0}
.nav-list a[aria-current="page"]::before{content:"";width:6px;height:6px;background:var(--signal);transform:rotate(45deg)}
.nav-cta{min-height:43px;padding-inline:12px 11px;border-color:#73776a;font-size:12px;gap:10px}
.nav-cta .icon{width:13px;height:13px}
.mobile-toggle{display:none}
.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#151813;color:var(--milk);padding:10px var(--g) 22px;border-bottom:1px solid #fff3}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff3;min-height:57px;font-weight:750;letter-spacing:-.03em}
.mobile-nav a[aria-current="page"]{color:var(--signal)}
.reading-line{position:absolute;bottom:-1px;left:0;height:2px;background:var(--signal);width:100%;transform:scaleX(var(--read,0));transform-origin:left;pointer-events:none}
.home-hero{min-height:clamp(670px,calc(100svh - var(--nav)),960px);background:#20291e;color:var(--milk);position:relative;display:grid;align-items:center;isolation:isolate;overflow:hidden}
.home-hero-image,.hero-shade,.hero-image-wrap{position:absolute;inset:0;width:100%;height:100%}
.home-hero-image{object-position:59% 55%;z-index:0}
.hero-shade{background:linear-gradient(90deg,#0d130de8 0%,#0d130dc9 25%,#0d130d79 47%,#0d130d10 75%),linear-gradient(0deg,#11160fe0 0%,transparent 26%,transparent 85%,#11160f55);z-index:1}
.hero-image-wrap{z-index:-1}
.hero-content{padding-block:80px 122px;position:relative;z-index:2}
.hero-content .eyebrow{color:#f8f5e9;font-size:11px;letter-spacing:.15em;margin-bottom:24px}
.hero-title{font-size:clamp(70px,10.1vw,166px);font-weight:800;letter-spacing:-.094em;line-height:.83;margin-left:-.063em}
.hero-title .second{display:block;margin-top:.095em}
.hero-title b{color:var(--red);font-weight:800}
.hero-content .lead{max-width:35ch;margin:26px 0 25px;font-size:clamp(16px,1.55vw,22px);color:#fcfaf1;text-shadow:0 2px 14px #0006}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:2}
.hero-bottom>.wrap{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:67px;border-top:1px solid #fff5}
.scroll-link{display:inline-flex;align-items:center;gap:9px;color:#f7f4eb;min-height:43px}
.scroll-link .icon{width:15px;height:15px;color:var(--red)}
.hero-source{display:inline-flex;align-items:center;gap:7px;color:#f1eee5;text-align:right;font-size:10px;line-height:1.25;font-weight:700;min-height:43px}
.hero-source:hover{text-decoration:underline}
.hero-source .icon{width:13px;height:13px;color:var(--red)}
.hero-cross{position:absolute;z-index:2;right:var(--g);top:34px;color:#fff9dfb8;display:flex;align-items:center;gap:10px}
.hero-cross svg{width:21px;height:21px}
.hero-wire{position:absolute;top:28px;right:0;width:128px;color:#fff9df;opacity:.49;pointer-events:none}
.hero-wire svg{width:100%;height:auto}
.discipline-bar{background:var(--paper);border-bottom:1px solid var(--stroke)}
.discipline-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.discipline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:85px;padding:15px 18px;border-left:1px solid var(--stroke);transition:background .22s}
.discipline:last-child{border-right:1px solid var(--stroke)}
.discipline:hover{background:#e2ded2}
.discipline span:not(.mono){font-weight:800;letter-spacing:-.055em;font-size:clamp(15px,1.45vw,22px)}
.discipline .mono{color:var(--red-deep);font-size:10px}
.discipline .icon{margin-left:auto;width:15px;height:15px}
.frame-section{--signal:var(--red);background:radial-gradient(ellipse at 8% 36%,#292f24 0%,transparent 50%),var(--dark)}
.frame-section .section-head{margin-bottom:35px}
.frame-story{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(23px,4.15vw,72px);align-items:start}
.frame-sticky{position:sticky;top:calc(var(--nav) + 14px);display:flex;flex-direction:column;min-height:435px;height:min(710px,calc(100svh - var(--nav) - 30px));isolation:isolate;margin:0}
.frame-display,.eng-display{position:relative;display:flex;flex-direction:column;justify-content:space-between;flex:1;min-height:0;border:1px solid #ffffff33;overflow:hidden;background:#1a211a;isolation:isolate}
.frame-display::before,.eng-display::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 52% 46%,#677d4a2e,transparent 72%),radial-gradient(#f1f8c73b 1px,transparent 1.4px);background-size:auto,21px 21px;mask-image:linear-gradient(#000, #000a 40%,#0004)}
.frame-display::after,.eng-display::after{content:"";position:absolute;inset:8px;z-index:-1;pointer-events:none;background:linear-gradient(var(--signal),var(--signal)) top left/13px 1px,linear-gradient(var(--signal),var(--signal)) top left/1px 13px,linear-gradient(var(--signal),var(--signal)) bottom right/13px 1px,linear-gradient(var(--signal),var(--signal)) bottom right/1px 13px;background-repeat:no-repeat;opacity:.8}
.figure-head,.figure-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:47px;padding:11px 18px;position:relative;z-index:2}
.figure-head{border-bottom:1px solid #ffffff23;color:#e3e8d7}
.figure-foot{color:#c2c8b8;border-top:1px solid #ffffff24}
.figure-head .state{color:var(--signal)}
.figure-head .kicker,.figure-foot .kicker{font-size:9px}
.figure-foot strong{font-weight:700;letter-spacing:-.015em;font-size:12px}
.figure-space{display:grid;place-items:center;position:relative;flex:1;min-height:0;overflow:hidden}
.figure-space svg.scene{width:100%;height:100%;max-height:100%;overflow:visible}
.frame-display .figure-space{margin:0 1px}
.scene-index{position:absolute;left:15px;bottom:7px;color:#e0e7cb3d;font-size:clamp(36px,7.3vw,105px);line-height:1;letter-spacing:-.15em;font-weight:800;pointer-events:none}
.frame-tools,.eng-tools{display:grid;grid-template-columns:repeat(var(--count,5),minmax(74px,1fr));border:1px solid #ffffff33;border-top:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#87927d #222820}
.phase{min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 3px;background:#242a23;border:0;border-right:1px solid #ffffff26;color:#d1d5c9;font-size:10px;font-weight:800;letter-spacing:-.022em;transition:background .18s,color .18s;touch-action:manipulation}
.phase:last-child{border-right:0}
.phase b{font:700 9px/1 var(--mono);opacity:.65}
.phase:hover{background:#394035}
.phase[aria-pressed="true"]{color:#161b13;background:var(--signal)}
.frame-story .story-step{min-height:clamp(348px,62svh,600px)}
.story-step{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:start;border-top:1px solid #ffffff2c;padding:37px 0;scroll-margin-top:calc(var(--nav) + 10px)}
.story-step:first-child{border-top:0}
.story-step .step-top{display:flex;align-items:center;gap:9px;color:#b6bead;margin-bottom:17px}
.story-step .step-top b{font:700 11px/1 var(--mono);color:var(--signal);border:1px solid currentColor;padding:6px 5px;min-width:26px;text-align:center}
.story-step h3{font-size:clamp(33px,4.15vw,68px);font-weight:800;letter-spacing:-.088em;line-height:1.01;max-width:15ch}
.story-step p{max-width:44ch;margin-top:16px;color:#c2c9ba;font-size:clamp(14px,1.18vw,18px);line-height:1.58;letter-spacing:-.016em}
.step-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.step-chips span{border:1px solid #ffffff3b;padding:6px 8px;color:#e6e7dd;font-weight:700;font-size:10px;line-height:1.2}
.scene .sketch{stroke:#a1b191;fill:none;stroke-width:1;opacity:.2}
.scene .dim{stroke:#cbd2b7;fill:none;stroke-width:1;opacity:.47}
.scene .scene-label{fill:#a9b49f;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.105em}
.scene .scene-label-bright{fill:var(--signal);font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.07em}
.scene .dash-flow{animation:flow 3s linear infinite}
.scene .spark{animation:flow 1.65s linear infinite}
@keyframes flow{to{stroke-dashoffset:-100}}
@keyframes pulse{50%{opacity:.44}}
.scene .node-pulse{animation:pulse 2.1s ease-in-out infinite}
.wall-layer,[data-part]{transform-box:fill-box;transform-origin:center;will-change:transform,opacity,filter}
.wall-label{transition:opacity .16s linear}
.fitting,.breaker,[data-radiator]{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
.fitting circle,.breaker path{filter:drop-shadow(0 2px 4px #0007)}
.motion-paused .scene .dash-flow,.motion-paused .scene .spark,.motion-paused .scene .node-pulse{animation-play-state:paused}
.gallery-section{background:#e9e6db}
.gallery-section .section-head{margin-bottom:35px}
.case-count{color:var(--red-deep)}
.case-view{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(0,1fr);border:1px solid var(--stroke);background:#f6f3e9}
.case-media{min-width:0;position:relative;overflow:hidden;background:#454b40;min-height:clamp(390px,38vw,640px);isolation:isolate}
.case-media .media-button{border:0;background:none;padding:0;position:absolute;inset:0;width:100%;height:100%;text-align:left;color:var(--milk);overflow:hidden}
.case-media img{width:100%;height:100%;transition:scale .65s var(--ease);object-position:center}
.case-media .media-button:hover img{scale:1.035}
.case-media .media-button:focus-visible{outline-offset:-5px;outline-color:#ffeacf}
.case-media .media-button::after{content:"";position:absolute;inset:64% 0 0;background:linear-gradient(transparent,#11150fd9)}
.media-caption{position:absolute;z-index:2;left:17px;bottom:18px;display:flex;flex-direction:column;gap:5px}
.media-caption small{color:#fff9e4;font-size:10px}
.zoom-mark{position:absolute;z-index:2;right:16px;bottom:16px;display:grid;place-items:center;width:45px;height:45px;background:var(--milk);color:var(--ink);transition:background .24s,color .24s}
.media-button:hover .zoom-mark{background:var(--red)}
.case-info{display:flex;flex-direction:column;align-items:start;min-width:0;padding:clamp(23px,3vw,48px);gap:15px}
.case-info .place{color:var(--red-deep);font-size:9px}
.case-info h3{font-size:clamp(37px,4.3vw,68px);font-weight:800;line-height:.98;letter-spacing:-.084em;text-wrap:balance;overflow-wrap:anywhere}
.case-story{color:#4d564b;font-size:clamp(14px,1.23vw,18px);letter-spacing:-.02em;line-height:1.58}
.case-points{width:100%;list-style:none;padding:0;margin:0}
.case-points li{padding:7px 0;border-top:1px solid #d4d2c6;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750}
.case-points li::before{content:"";width:5px;height:5px;background:var(--red-deep)}
.case-actions{display:flex;align-items:start;flex-direction:column;gap:12px;margin-top:auto}
.case-actions .button{min-height:44px;padding-inline:12px;font-size:12px;gap:8px}
.source{display:inline-flex;align-items:center;gap:7px;min-height:29px;color:#4c584c;font-size:11px;text-decoration:underline;text-decoration-color:#8e9889;text-underline-offset:3px;font-weight:750}
.source .icon{width:12px;height:12px}
.source:hover{color:var(--red-deep)}
.photo-thumbs{display:flex;gap:6px;align-items:center;margin-top:1px}
.thumb{padding:0;border:2px solid transparent;width:60px;height:44px;overflow:hidden;background:#8e9585}
.thumb img{width:100%;height:100%}
.thumb[aria-pressed="true"]{border-color:var(--red-deep)}
.case-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(205px,1fr);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;border:1px solid var(--stroke);border-top:0;scrollbar-color:#7f8777 #dfddd2}
.case-tab{display:grid;grid-template-columns:minmax(0,80px) minmax(0,1fr) 13px;align-items:center;gap:11px;text-align:left;min-width:0;min-height:85px;padding:9px 14px;background:transparent;border:0;border-right:1px solid var(--stroke);transition:background .23s}
.case-tab{scroll-snap-align:start}
.case-tab:last-child{border-right:0}
.case-tab:hover{background:#f5f2e9}
.case-tab[aria-pressed="true"]{background:#dcdcd0}
.case-tab img{width:100%;height:51px;filter:saturate(.84)}
.case-tab[aria-pressed="true"] img{filter:none}
.case-tab strong{display:block;font-weight:800;font-size:clamp(13px,1.45vw,20px);letter-spacing:-.05em;line-height:1.2}
.case-tab small{display:block;color:#596053;font-size:10px;line-height:1.2;margin-top:4px}
.case-tab .icon{width:13px;height:13px;color:var(--red-deep)}
.offer-section{background:var(--paper)}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--stroke)}
.offer{display:flex;flex-direction:column;align-items:start;gap:13px;padding:clamp(19px,2.55vw,44px);min-height:280px;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke);background:linear-gradient(145deg,#f6f3eb,transparent 70%)}
.offer:nth-child(3n){border-right:0}.offer:nth-last-child(-n+3){border-bottom:0}
.offer-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--stroke);color:var(--red-deep)}
.offer-icon .icon{width:27px;height:27px}
.offer h3{font-size:clamp(23px,2.43vw,39px);letter-spacing:-.07em;line-height:1.04;font-weight:800}
.offer p{max-width:32ch;color:#545d51;font-size:14px;line-height:1.58}
.offer .text-link{margin-top:auto}
.text-link{display:inline-flex;gap:8px;align-items:center;padding:8px 0;border:0;background:transparent;color:var(--red-deep);font-size:12px;font-weight:800;line-height:1.2}
.text-link:hover{text-decoration:underline;text-underline-offset:3px}
.text-link .icon{width:14px;height:14px}
.scope-section{position:relative;overflow:hidden;background:#dce0d4;border-bottom:1px solid #bcc2b4}
.scope-section::before{content:"";position:absolute;inset:-18% -5%;pointer-events:none;background:linear-gradient(115deg,transparent 0 42%,#78887513 42.1% 42.25%,transparent 42.4% 59%,#7888750d 59.1% 59.25%,transparent 59.4%),radial-gradient(circle at 88% 15%,#f7f5ed,transparent 32%)}
.scope-section>.wrap{position:relative}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aeb6a7;border-left:1px solid #aeb6a7}
.scope-card{position:relative;min-height:clamp(350px,33vw,500px);padding:clamp(23px,3.3vw,53px);border-right:1px solid #aeb6a7;border-bottom:1px solid #aeb6a7;background:#edf0e720;overflow:hidden}
.scope-card::after{content:attr(data-no);position:absolute;right:-.06em;bottom:-.24em;font-size:clamp(120px,18vw,290px);line-height:1;font-weight:800;letter-spacing:-.13em;color:#72806c0c;pointer-events:none}
.scope-no{display:grid;place-items:center;width:39px;height:39px;border:1px solid #879181;color:var(--red-deep);margin-bottom:clamp(28px,4vw,64px)}
.scope-card h3{font-size:clamp(30px,3.25vw,53px);line-height:.98;letter-spacing:-.075em;font-weight:800}
.scope-card p{max-width:31ch;margin-top:13px;color:#515b4e;font-size:14px;line-height:1.55}
.scope-card ul{list-style:none;padding:0;margin:clamp(25px,3.5vw,50px) 0 0;border-top:1px solid #aeb6a7}
.scope-card li{display:flex;align-items:center;gap:9px;min-height:41px;border-bottom:1px solid #bdc3b7;font-size:12px;font-weight:750}
.scope-card li::before{content:"";width:6px;height:6px;background:var(--red-deep);transform:rotate(45deg);flex:none}
.eng-tails .scope-section{background:#d9ded2}
.service-links{background:#e5e3d8;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}
.system-list{border-top:1px solid var(--stroke)}
.system-link{display:grid;grid-template-columns:38px 53px minmax(0,1fr) minmax(140px,.66fr) 44px;align-items:center;gap:18px;min-height:110px;padding:14px 0;border-bottom:1px solid var(--stroke);transition:background .25s,padding .25s var(--ease)}
.system-link:hover{background:#f5f3eb;padding-inline:12px}
.system-link>.mono{color:var(--red-deep)}
.system-link .sys-icon{color:#3c4639;width:32px;height:32px}
.system-link strong{font-size:clamp(28px,4.85vw,70px);font-weight:800;letter-spacing:-.087em;line-height:.95}
.system-link p{color:#50594e;font-size:14px;line-height:1.45}
.system-link .icon-button{pointer-events:none}
.system-link:hover .icon-button{background:#1d221b;color:#fff}
.engineering{background:var(--field);--signal:#ffcc71}
.engineering.theme-electric{--field:#171914;--signal:#ffcc71;--panel:#20231b;--diagram-glow:#8c5e262f}
.engineering.theme-water{--field:#101c1d;--signal:#81e8f0;--panel:#13282b;--diagram-glow:#18788e44}
.engineering.theme-heat{--field:#211814;--signal:#ff9b7b;--panel:#2b201b;--diagram-glow:#b44e283e}
.eng-cinema{background:radial-gradient(ellipse at 77% 20%,var(--diagram-glow),transparent 70%),var(--field);padding-bottom:clamp(60px,7vw,110px)}
.engineering-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.23fr);gap:clamp(19px,3.25vw,58px);align-items:start}
.eng-copy{min-width:0}
.eng-lead{min-height:clamp(620px,calc(100svh - var(--nav)),870px);display:flex;flex-direction:column;align-items:start;justify-content:center;padding-block:42px 56px}
.breadcrumb{display:flex;align-items:center;gap:9px;color:#bcc4b6;margin-bottom:clamp(32px,5.3vw,71px);min-height:28px}
.breadcrumb a:hover{color:var(--signal);text-decoration:underline;text-underline-offset:3px}
.eng-lead h1{font-size:clamp(52px,7vw,117px);font-weight:800;line-height:.88;letter-spacing:-.095em;margin-left:-.04em;max-width:100%;color:var(--milk)}
.eng-lead h1 b{color:var(--signal);font-weight:800}
.eng-lead h2{margin-top:25px;font-size:clamp(21px,2.6vw,37px);letter-spacing:-.065em;font-weight:800;line-height:1.15;max-width:15ch}
.eng-lead .lead{margin-top:14px;max-width:34ch;font-size:clamp(15px,1.38vw,20px)}
.eng-lead .actions{margin-top:25px}
.eng-lead .button{gap:12px}
.eng-lead .scroll-link{margin-top:25px;color:#c9cebf}
.eng-lead .scroll-link .icon{color:var(--signal)}
.eng-visual{position:sticky;top:calc(var(--nav) + 21px);height:min(740px,calc(100svh - var(--nav) - 42px));min-height:430px;display:flex;flex-direction:column;align-self:start;margin:21px 0 0}
.eng-display{background:var(--panel);border-color:#ffffff40}
.eng-display::before{background:radial-gradient(ellipse at 50% 49%,var(--diagram-glow),transparent 70%),radial-gradient(#ffffff35 1px,transparent 1.3px);background-size:auto,20px 20px}
.eng-display .figure-space svg{padding:2px}
.eng-visual .phase{background:var(--panel)}
.eng-visual .phase:hover{filter:brightness(1.17)}
.eng-visual .phase[aria-pressed="true"]{background:var(--signal)}
.eng-visual .figure-foot strong{font-size:11px}
.eng-step{min-height:clamp(300px,57svh,560px)}
.eng-step h3{max-width:16ch}
.eng-step:last-child{min-height:clamp(330px,58svh,575px)}
.eng-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#c2cabc}
.eng-legend span{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750}
.eng-legend i{width:6px;height:6px;background:var(--signal);display:inline-block;border-radius:50%}
.eng-legend span:nth-child(2) i{background:#f7967e}
.eng-legend span:nth-child(3) i{background:#a7b7a7}
.eng-tails .offer-icon{color:#283f32;background:#edeae0}
.eng-tails .service-links{background:#e4e3d8}
.contact-section{position:relative;background:#17231d;color:var(--milk);overflow:hidden;--signal:#ff745e}
.contact-section::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 94%,#ffffff0d 94% 95%,transparent 95%),linear-gradient(0deg,transparent 0 94%,#ffffff0d 94% 95%,transparent 95%);background-size:38px 38px;opacity:.36;pointer-events:none}
.contact-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.82fr);gap:clamp(24px,6vw,100px);align-items:center}
.contact-copy .eyebrow{color:#ffb39e}
.contact-copy .section-title{margin:23px 0 28px;max-width:10ch}
.contact-copy .section-title em{color:#ff9c82}
.contact-copy .lead{max-width:37ch;color:#d5ddcf}
.contact-steps{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:clamp(35px,5vw,70px);padding-top:19px;border-top:1px solid #e2ebd238;color:#b8c3b6}
.contact-steps span{padding:7px 0}
.contact-card{position:relative;display:flex;flex-direction:column;min-height:490px;padding:clamp(24px,3vw,44px);background:#f5f1e7;color:#17211a;isolation:isolate;overflow:hidden}
.contact-card::before{content:"@";position:absolute;right:-.08em;top:-.22em;font:800 clamp(280px,31vw,510px)/1 var(--face);letter-spacing:-.1em;color:#e1e7db;z-index:-1}
.contact-card-top{color:#9d3b2b}
.contact-symbol{display:grid;place-items:center;align-self:flex-end;width:73px;height:73px;border:1px solid #c6cabe;color:#c94a36;transition:transform .25s var(--ease),background .25s}
.contact-card:hover .contact-symbol{transform:translate(5px,-5px);background:#ebe4d5}
.contact-symbol .icon{width:35px;height:35px}
.contact-card-bottom{margin-top:auto}
.contact-card-bottom>.mono{color:#8b3b2e}
.contact-card-bottom strong{display:block;font-size:clamp(30px,4.1vw,60px);font-weight:800;letter-spacing:-.075em;line-height:1;margin:14px 0}
.contact-card-bottom p{max-width:37ch;color:#505a4c;font-size:13px;line-height:1.55;margin-bottom:23px}
.contact-card-bottom .button{width:100%;justify-content:space-between;min-height:58px;background:var(--red);color:#171a15}
.contact-card-bottom .button:hover{background:#17231d;color:#fff}
.faq-section{background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(22px,5vw,72px)}
.faq-layout .eyebrow{margin-bottom:15px}
.faq-list{border-top:1px solid var(--stroke)}
.faq-list details{border-bottom:1px solid var(--stroke)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 0;min-height:62px;cursor:pointer;list-style:none;font-size:clamp(16px,1.55vw,23px);font-weight:800;letter-spacing:-.047em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--red-deep);font-size:24px;font-weight:650;line-height:1}
.faq-list details[open] summary::after{content:"−"}
.faq-list p{max-width:65ch;padding:0 21px 19px 0;color:#545e51;line-height:1.6;font-size:14px}
footer{background:#151813;color:var(--milk);overflow:hidden}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-block:45px 30px;align-items:start}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 23px;justify-content:flex-end;font-size:13px;font-weight:750}
.footer-links a{display:inline-flex;align-items:center;min-height:36px}
.footer-links a:hover{color:var(--red)}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid #ffffff32;color:#bec4b7;font-size:11px;line-height:1.5;padding-block:15px 22px}
.footer-symbol{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff20;color:#869080;padding:17px 0}
.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid #ffffff20;padding-block:25px 32px}
.footer-contact>div{display:flex;flex-direction:column;align-items:start;gap:6px}
.footer-contact .footer-tg{display:inline-flex;align-items:center;gap:8px;color:#ffa28e;font-size:clamp(17px,2vw,25px);font-weight:800;letter-spacing:-.045em}
.footer-tg .icon{width:16px;height:16px}
.footer-tg:hover{color:#fff}
.footer-contact .mono{color:#a4b099;margin-bottom:6px}
.footer-contact a:first-of-type{font-size:clamp(19px,2.6vw,34px);font-weight:800;letter-spacing:-.06em}
.footer-contact a:hover,.footer-bottom a:hover{color:#ff977f}
.footer-contact strong{font-size:15px}
.footer-contact>div>span:last-child{font-size:12px;color:#bdc6b8}
.footer-symbol .icon{width:28px;height:28px;color:#a7b49d}
.wire-mini{width:58px;color:#a7b49d;flex:none}
.wire-mini svg{width:100%;height:auto}
dialog{max-width:calc(100% - 30px);max-height:calc(100% - 30px);padding:0;border:1px solid #ffffff3d;border-radius:0}
dialog::backdrop{background:#0e120fbd;backdrop-filter:blur(6px)}
.photo-dialog{width:min(1090px,calc(100vw - 30px));background:#161a15;color:var(--milk)}
.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:13px;min-height:58px;padding:9px 14px;border-bottom:1px solid #ffffff37}
.dialog-head h2{font-size:clamp(17px,2.4vw,28px);font-weight:800;letter-spacing:-.05em}
.photo-dialog .dialog-head .icon-button{color:var(--milk);border-color:#ffffff43}
.photo-dialog .dialog-head .icon-button:hover{background:var(--red);color:var(--ink)}
.dialog-photo{width:100%;max-height:68svh;object-fit:contain;background:#0d120f}
.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;color:#d3d8cb}
.dialog-arrows{display:flex;align-items:center;gap:5px}
.dialog-arrows .icon-button{height:39px;width:39px;color:var(--milk);border-color:#ffffff3d}
.dialog-arrows .icon-button:hover{background:var(--red);color:var(--ink)}
.noscript{margin:28px;color:var(--mute)}
.xray{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:27px;padding:3px 7px;border:1px solid #ffffff40;color:#e6e6dc;background:transparent;font-size:9px;transition:background .2s,color .2s}
.xray .icon{width:12px;height:12px}
.xray:hover,.xray[aria-pressed="true"]{background:var(--signal);color:#182016;border-color:var(--signal)}
.pause-flow{min-width:43px;margin-left:auto}
.eng-display .figure-foot>.eng-legend{margin-left:auto}
@media(max-width:430px){.diagram-note{display:none}}
@media(max-width:1100px){
  :root{--g:clamp(23px,3.55vw,45px)}
  .nav-list{gap:17px}
  .hero-title{font-size:clamp(72px,11.45vw,136px)}
  .eng-lead h1{font-size:clamp(51px,7vw,82px)}
  .eng-visual{height:min(650px,calc(100svh - var(--nav) - 34px))}
  .case-view{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
  .case-info{padding:22px}
}
@media(max-width:860px){
  :root{--nav:63px;--g:23px}
  .topbar-inner{gap:13px}
  .nav-list{gap:12px}
  .nav-list a{font-size:12px}
  .nav-cta{font-size:11px;gap:5px}
  .brand-text strong{font-size:20px}
  .brand-text small{font-size:7px}
  .brand-symbol{width:29px;height:30px}
  .frame-story{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px}
  .figure-head,.figure-foot{padding:8px 10px;min-height:39px}
  .phase{font-size:9px}
  .phase b{display:none}
  .offer{min-height:254px}
  .case-tab{grid-template-columns:minmax(0,60px) minmax(0,1fr);padding-inline:9px;gap:8px}
  .case-tab .icon{display:none}
  .eng-lead h1{font-size:clamp(47px,7.55vw,76px)}
}
@media(max-width:710px){
  :root{--nav:59px;--g:18px}
  .nav-list,.nav-cta{display:none}
  .mobile-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #ffffff4e;color:var(--milk);background:none}
  .mobile-toggle .icon{width:21px;height:21px}
  .home-hero{min-height:clamp(590px,calc(100svh - var(--nav)),780px);align-items:end}
  .home-hero-image{object-position:69% 37%}
  .hero-shade{background:linear-gradient(0deg,#10160ff9 2%,#10160fdb 28%,#10160f45 64%,#10160f12 85%),linear-gradient(90deg,#10160f22,transparent)}
  .hero-title{font-size:clamp(63px,14vw,105px);line-height:.89}
  .hero-content{padding-block:149px 98px}
  .hero-content .eyebrow{font-size:9px;margin-bottom:17px}
  .hero-content .lead{margin:16px 0 19px;font-size:16px;max-width:31ch}
  .home-hero .actions{gap:7px}
  .button{min-height:48px;padding-inline:12px;gap:10px;font-size:12px}
  .button .icon{width:14px;height:14px}
  .hero-cross{top:19px;right:var(--g);font-size:9px}
  .hero-wire{width:83px;opacity:.4}
  .hero-bottom>.wrap{min-height:53px}
  .hero-bottom .scroll-link{font-size:9px;letter-spacing:.04em}
  .hero-source{font-size:9px;max-width:146px}
  .discipline-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .discipline{min-height:61px;padding:9px 10px;gap:8px}
  .discipline:nth-child(2){border-right:1px solid var(--stroke)}
  .discipline:nth-child(-n+2){border-bottom:1px solid var(--stroke)}
  .discipline span:not(.mono){font-size:16px}
  .discipline .icon{width:13px;height:13px}
  .pad{padding-block:67px}
  .section-head{grid-template-columns:1fr;gap:12px;margin-bottom:26px}
  .section-head .eyebrow{margin-bottom:13px}
  .section-title{font-size:clamp(46px,11.3vw,75px)}
  .section-head>.lead{justify-self:start;max-width:44ch;font-size:15px;padding-bottom:0}
  .frame-section .section-head{margin-bottom:22px}
  .frame-story{display:block}
  .frame-sticky{top:calc(var(--nav) + 5px);height:clamp(240px,43svh,360px);min-height:0;z-index:3;background:#171e16}
  .figure-head,.figure-foot{min-height:33px;padding:7px 9px}
  .figure-head .kicker,.figure-foot .kicker{font-size:8px;letter-spacing:.05em}
  .figure-foot strong{font-size:10px}
  .phase{min-height:42px;font-size:10px}
  .frame-story .story-step{min-height:clamp(252px,50svh,410px);scroll-margin-top:calc(var(--nav) + min(43svh,360px) + 8px);padding:27px 0}
  .story-step .step-top{margin-bottom:12px}
  .story-step h3{font-size:clamp(31px,8.35vw,49px);max-width:19ch}
  .story-step p{font-size:14px;margin-top:12px}
  .step-chips{margin-top:13px}
  .case-view{grid-template-columns:1fr}
  .case-media{min-height:clamp(255px,65vw,410px)}
  .case-info{padding:19px;gap:12px}
  .case-info h3{font-size:clamp(37px,10vw,59px)}
  .case-story{font-size:14px}
  .case-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 10px}
  .case-tab{display:flex;flex-direction:column;align-items:start;gap:6px;padding:7px;text-align:left}
  .case-tabs{grid-auto-columns:minmax(132px,38vw)}
  .case-tab img{height:55px}
  .case-tab strong{font-size:13px}
  .case-tab small{font-size:9px}
  .offer-grid{grid-template-columns:1fr}
  .offer{min-height:auto;border-right:0;border-bottom:1px solid var(--stroke);padding:18px;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:13px;row-gap:8px}
  .offer:nth-child(3n){border-right:0}.offer:nth-last-child(-n+3){border-bottom:1px solid var(--stroke)}.offer:last-child{border-bottom:0}
  .offer-icon{grid-row:span 3;width:45px;height:45px}
  .offer-icon .icon{width:23px;height:23px}
  .offer p{max-width:42ch}
  .offer .text-link{justify-self:start}
  .scope-grid{grid-template-columns:1fr}
  .scope-card{min-height:auto;padding:24px 18px}
  .scope-no{margin-bottom:26px}
  .scope-card h3{font-size:clamp(36px,10vw,53px)}
  .scope-card p{font-size:14px}
  .scope-card ul{margin-top:24px}
  .system-link{grid-template-columns:23px 31px minmax(0,1fr) 37px;gap:9px;min-height:80px;padding-block:9px}
  .system-link:hover{padding-inline:5px}
  .system-link strong{font-size:clamp(27px,8vw,42px)}
  .system-link .sys-icon{width:23px;height:23px}
  .system-link p{display:none}
  .system-link .icon-button{width:35px;height:35px}
  .eng-cinema{padding-bottom:48px}
  .engineering-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .eng-copy{display:contents}
  .eng-lead{grid-column:1;grid-row:1;min-height:0;padding-block:23px 27px}
  .breadcrumb{margin-bottom:22px}
  .eng-lead h1{font-size:clamp(52px,12.2vw,81px);letter-spacing:-.085em}
  .eng-lead h2{margin-top:14px;max-width:none;font-size:clamp(20px,5.7vw,32px)}
  .eng-lead .lead{font-size:15px;margin-top:9px;max-width:37ch}
  .eng-lead .actions{margin-top:16px}
  .eng-lead .scroll-link{display:none}
  .eng-visual{grid-column:1;grid-row:2;top:calc(var(--nav) + 5px);height:clamp(245px,45svh,355px);min-height:0;z-index:3;background:var(--field);margin:0}
  .eng-step{grid-column:1;min-height:clamp(255px,52svh,390px);scroll-margin-top:calc(var(--nav) + min(45svh,355px) + 8px)}
  .eng-step:last-child{min-height:clamp(255px,52svh,400px)}
  .eng-legend span{font-size:8px}
  .eng-visual .figure-foot strong{font-size:10px}
  .contact-layout,.faq-layout{grid-template-columns:1fr;gap:30px}
  .contact-copy .section-title{margin:12px 0 17px;font-size:clamp(49px,11vw,72px)}
  .contact-copy .lead{font-size:15px}
  .contact-steps{margin-top:25px}
  .contact-card{min-height:370px}
  .footer-top{grid-template-columns:1fr;gap:14px;padding-top:29px}
  .footer-links{justify-content:start;gap:2px 15px;font-size:12px}
  .footer-bottom{flex-direction:column;gap:8px}
}
@media(max-width:375px){
  :root{--g:13px}
  .hero-title{font-size:clamp(54px,13.9vw,63px)}
  .hero-content{padding-block:129px 78px}
  .home-hero .button{padding-inline:8px;gap:5px}
  .eng-lead h1{font-size:clamp(44px,12.8vw,53px)}
  .phase{font-size:9px}
}
@media(max-height:520px) and (orientation:landscape){
  .frame-sticky,.eng-visual{position:relative;top:auto;height:380px;min-height:0}
  .story-step,.frame-story .story-step,.eng-step,.eng-step:last-child{min-height:0;padding-block:25px;scroll-margin-top:var(--nav)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Project choice and the technical atlas share the existing type and accents. */
.home-hero .hero-content .lead{max-width:37ch;text-wrap:pretty}
.formats-section{background:#efede5}
.formats-section .section-title{max-width:13ch}
.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #bdc2b2}
.format-card{position:relative;display:flex;flex-direction:column;align-items:start;min-width:0;min-height:326px;gap:12px;padding:clamp(20px,3.1vw,44px);border-right:1px solid #bdc2b2;background:#f6f3e9;transition:background .25s}
.format-card[data-format="custom"]{background:#e2e7d9}
.format-card:last-child{border-right:0}
.format-card:focus-within,.format-card:hover{background:#f9eee1}
.format-card-top{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:clamp(16px,2vw,30px)}
.format-card-top .mono{color:var(--red-deep)}
.format-card-top .icon{width:26px;height:26px;color:#485449}
.format-tag{font-size:11px;color:#4e5a4c;font-weight:800}
.format-card h3{font-size:clamp(25px,3.4vw,51px);letter-spacing:-.08em;line-height:1;max-width:14ch;text-wrap:balance}
.format-card p{max-width:34ch;color:#4c584b;font-size:14px;line-height:1.57;margin-bottom:14px}
.format-link{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid #c0c4b5;padding-top:10px;color:var(--red-deep);font-weight:800;font-size:13px}
.format-link span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c3bdad;color:#373f32;transition:background .2s,color .2s}
.format-link:hover span{background:#252f25;color:#f4f0e5}
.format-link .icon{width:16px;height:16px}
.value-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #bdc2b2;margin-top:11px}
.value-strip div{display:flex;flex-direction:column;gap:4px;padding:14px clamp(8px,1.25vw,18px);color:#354336}
.value-strip strong{font-size:13px;font-weight:800}
.value-strip span{font-size:12px;color:#576254;line-height:1.4}
.wall-section{background:radial-gradient(ellipse at 22% 18%,#303b2a 0%,transparent 48%),#171e17}
.wall-section .section-title{max-width:13ch}
.wall-display{background:#1d2820}
.wall-display::before{background:radial-gradient(ellipse at 50% 40%,#8c9d552e,transparent 76%),radial-gradient(#eaf4cc23 1px,transparent 1.4px);background-size:auto,18px 18px}
.wall-section .figure-space{padding:4px 2px}
.wall-svg-label,.net-room,.net-axis,.net-callout text{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.035em;fill:#e4e8d3}
.wall-svg-title{font-family:var(--face);font-size:24px;font-weight:800;letter-spacing:-.035em;fill:#f6f0df}
.wall-callout text,.net-callout text{paint-order:stroke fill;stroke:#1d2820;stroke-width:4px;stroke-linejoin:round}
.wall-callout text{font-size:12.5px}
.wall-control{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;min-height:49px;border:1px solid #ffffff3b;border-top:0;background:#222d23}
.wall-arrow{display:grid;place-items:center;min-width:0;min-height:48px;border:0;background:transparent;color:#e7e9d8}
.wall-arrow:hover:not(:disabled){color:#191e17;background:var(--signal)}
.wall-select{display:flex;min-width:0;gap:10px;align-items:center;justify-content:space-between;border-inline:1px solid #ffffff2d;padding:4px 11px;color:#dfe5d4}
.wall-select select{min-width:0;min-height:42px;flex:1;border:0;background:#263328;color:#f0eee1;padding:4px 8px;font-size:13px;font-weight:800}
.wall-select .kicker{white-space:nowrap}
.wall-story .story-step{min-height:clamp(300px,55svh,510px)}
.wall-reference{margin-top:22px;border-top:1px solid #a9b6a249;color:#e2e7d6;padding-block:14px}
.wall-reference summary{cursor:pointer;font-weight:800;font-size:14px}
.wall-reference p{margin:11px 0 7px;max-width:72ch;color:#c9d0bd;font-size:13px}
.wall-reference div{display:flex;flex-wrap:wrap;gap:6px 18px}
.wall-reference .source{color:#d8e7d8;text-decoration-color:#a6b3a5}
.scene-jump{display:inline-flex;align-items:center;gap:5px;color:#f0d9c5;min-height:28px;font-size:11px;font-weight:800}
.scene-jump:hover{text-decoration:underline;text-underline-offset:3px}
.scene-jump .icon{width:13px;height:13px}
.net-room{font-size:12px;letter-spacing:.06em;fill:#c3ccba;opacity:.67}
.net-axis{font-size:11px;letter-spacing:.09em;fill:#d9ddcc}
.net-callout text{font-size:13.5px;fill:var(--net-color,#e4e8d3)}
.net-metrics{margin-top:18px;max-width:100%;color:#d0d2c4}
.net-metrics>.mono{color:var(--signal);font-size:9px}
.net-metrics>div{display:flex;flex-wrap:wrap;gap:3px 13px;margin-top:3px}
.net-metrics>div span{font-size:12px;color:#d8ded1}
.net-metrics b{font-size:17px;font-weight:800;color:#fff7e4}
.net-filters{display:flex;align-items:stretch;flex-wrap:wrap;border-inline:1px solid #ffffff40;border-bottom:1px solid #ffffff37;background:var(--panel)}
.net-filters button{min-width:0;min-height:38px;flex:1 1 auto;padding:3px 7px;border:0;border-right:1px solid #ffffff23;background:transparent;color:#d9e0d3;white-space:nowrap;font-weight:750;font-size:10px}
.net-filters button:hover,.net-filters button[aria-pressed="true"]{color:#171c16;background:var(--signal)}
.eng-legend span:nth-child(n) i{background:var(--legend-color,var(--signal))}
[data-network-device]{transform-box:fill-box;transform-origin:center}
.diagram-dialog{width:min(1150px,calc(100vw - 24px));color:var(--milk);background:#19241d}
.diagram-viewport{overflow:auto;max-height:70svh;min-width:0;background:#1e2b22}
.diagram-viewport svg{display:block;width:min(100%,97svh);height:auto;max-width:none;margin-inline:auto}
.diagram-viewport[data-enlarged="true"] svg{width:max(132%,770px);margin-inline:0}
.diagram-controls{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 13px;border-top:1px solid #ffffff2b;font-size:11px;color:#c6d0bd}
.diagram-dialog .icon-button{color:var(--milk);border-color:#ffffff42}
.diagram-dialog .icon-button:hover{background:var(--signal);color:var(--ink)}

/* A separate architectural chapter for the space around the house. */
.outdoor-teaser{background:#23352d;color:#f5f3e9;overflow:hidden}
.outdoor-teaser>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch;gap:clamp(25px,5vw,80px);min-height:430px}
.outdoor-teaser .wrap>div{padding-block:clamp(54px,7vw,95px);display:flex;flex-direction:column;align-items:start;justify-content:center}
.outdoor-teaser .mono{color:#f9b699}
.outdoor-teaser h2{font-size:clamp(43px,5.1vw,76px);line-height:.99;letter-spacing:-.08em;max-width:13ch;margin:18px 0}
.outdoor-teaser h2 em{font-style:normal;color:#f99c7d}
.outdoor-teaser p{max-width:34ch;color:#d3e0d2;margin-bottom:24px;line-height:1.6}
.outdoor-teaser img{width:100%;height:100%;min-height:410px;object-position:center}
.outdoor-hero{min-height:clamp(690px,calc(100svh - var(--nav)),980px);position:relative;isolation:isolate;display:flex;align-items:end;color:#f6f4eb;background:#1a2c24;overflow:hidden}
.outdoor-hero .hero-shade{background:linear-gradient(90deg,#111c17ed 0%,#111c17af 36%,#111c1722 73%),linear-gradient(0deg,#111c17cc,transparent 35%)}
.outdoor-hero-content{position:relative;width:100%;padding-block:90px 92px;z-index:2}
.outdoor-hero .breadcrumb{margin-bottom:clamp(40px,8vw,100px)}
.outdoor-hero .eyebrow{color:#f9bdac;margin-bottom:14px}
.outdoor-hero h1{font-size:clamp(64px,8.1vw,132px);font-weight:800;letter-spacing:-.09em;line-height:.9;max-width:12ch}
.outdoor-hero h1 em{font-style:normal;color:#ffad91}
.outdoor-hero .lead{max-width:39ch;margin:25px 0;color:#f4f1e8}
.render-credit{display:inline-block;margin-top:clamp(50px,8vw,95px);color:#eef2e1}
.outdoor-renders{background:#eeeae0}
.outdoor-view{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr);border:1px solid #adb9ab;min-height:clamp(435px,47vw,690px);background:#f5f2e9}
.outdoor-photo{min-width:0;overflow:hidden;background:#2c3d31}
.outdoor-photo img{height:100%;width:100%;object-position:center}
.outdoor-info{display:flex;flex-direction:column;align-items:start;gap:15px;padding:clamp(20px,3.2vw,48px)}
.outdoor-info .mono{color:#a13e31}
.outdoor-info h3{font-size:clamp(35px,4.6vw,65px);letter-spacing:-.08em;line-height:.98}
.outdoor-info p{color:#4c5a4a;line-height:1.56;max-width:29ch}
.outdoor-info ul{padding:0;margin:8px 0;list-style:none;width:100%}
.outdoor-info li{border-top:1px solid #cbd2c3;padding:8px 0;font-weight:750;font-size:12px}
.render-note{font-size:11px;font-weight:800;color:#566656;margin-top:auto}
.outdoor-info .button{margin-top:5px}
.outdoor-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #b7bdb0;border-top:0}
.outdoor-tabs button{min-width:0;display:flex;align-items:center;gap:12px;background:transparent;border:0;border-right:1px solid #b7bdb0;padding:12px;text-align:left;min-height:88px;transition:background .22s}
.outdoor-tabs button:last-child{border-right:0}
.outdoor-tabs button:hover{background:#e7e4d7}
.outdoor-tabs button[aria-pressed="true"]{background:#d4dfd2}
.outdoor-tabs button>img{width:92px;height:60px;object-fit:cover}
.outdoor-tabs button span{display:flex;flex-direction:column;min-width:0;gap:3px}
.outdoor-tabs strong{font-size:15px;font-weight:800;line-height:1.2}
.outdoor-tabs small{font-size:10px;color:#506050;line-height:1.25}
.outdoor-tabs .icon{width:14px;height:14px;margin-left:auto}
.outdoor-process{background:#17231d;--signal:#ffac85}
.outdoor-display{background:#17251e}
.outdoor-story .story-step{min-height:clamp(300px,55svh,510px)}
.outdoor-process .section-title em{color:#ffac85}
.outdoor-process .frame-tools{--count:5}
.legal-page{min-height:68svh;background:#edeae1}
.legal-page .breadcrumb{color:#5b6658;margin-bottom:clamp(40px,6vw,80px)}
.legal-page .eyebrow{color:#a63b2a}
.legal-page h1{font-size:clamp(53px,8.6vw,115px);line-height:.94;letter-spacing:-.085em;margin:17px 0 clamp(45px,6vw,80px)}
.legal-page h1 em{color:#a93d2f;font-style:normal}
.legal-layout{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:clamp(27px,7vw,110px);border-top:1px solid #b7bdaf;padding-top:35px}
.legal-layout nav{position:sticky;top:calc(var(--nav) + 22px);display:flex;flex-direction:column;align-items:start;align-self:start;gap:8px}
.legal-layout nav a{padding:8px 0;min-height:38px;color:#445145;font-weight:750;font-size:13px}
.legal-layout nav a:hover,.legal-copy a:hover{color:#b34432;text-decoration:underline}
.legal-copy{max-width:74ch}
.legal-copy section{border-bottom:1px solid #bec4b8;padding-bottom:36px;margin-bottom:40px}
.legal-copy h2{font-size:clamp(25px,3vw,38px);letter-spacing:-.06em;line-height:1.15;margin:0 0 19px}
.legal-copy p{font-size:15px;line-height:1.68;color:#3e483d;margin:0 0 16px}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.legal-copy dl{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(0,1fr);gap:12px 16px;margin:0 0 27px;font-size:14px}
.legal-copy dt{color:#687363}.legal-copy dd{margin:0;font-weight:760;overflow-wrap:anywhere}
@media(max-width:1000px){.nav-list,.nav-cta{display:none}.mobile-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #ffffff4e;color:var(--milk);background:none}.mobile-toggle .icon{width:21px;height:21px}}
@media(max-width:880px){
  .format-card{min-height:303px;padding:20px 16px}
  .net-filters button{font-size:9px;padding-inline:5px}
}
@media(max-width:710px){
  .format-grid,.value-strip{grid-template-columns:minmax(0,1fr)}
  .format-card{min-height:0;border-right:0;border-bottom:1px solid #bdc2b2;padding:18px 16px;gap:9px}
  .format-card:last-child{border-bottom:0}
  .format-card-top{margin-bottom:6px}
  .format-card h3{max-width:none;font-size:34px}
  .format-card p{max-width:47ch;margin-bottom:7px}
  .value-strip{margin-top:12px}
  .value-strip div{border-top:1px solid #bdc2b2;padding:10px 5px}
  .wall-story .story-step{min-height:clamp(265px,49svh,375px)}
  .wall-sticky{height:clamp(255px,43svh,360px)}
  .wall-select .kicker{display:none}
  .wall-select{padding:3px 6px}
  .wall-control{grid-template-columns:45px minmax(0,1fr) 45px}
  .eng-legend span{font-size:8px}
  .eng-visual .figure-foot{gap:5px}
  .eng-visual .figure-foot .pause-flow{min-width:38px;padding-inline:4px}
  .eng-tools{grid-template-columns:repeat(var(--count),minmax(56px,1fr))}
  .net-metrics{margin-top:11px}
  .net-filters button{min-height:35px}
  .net-figure{height:clamp(278px,48svh,381px)}
  .net-figure .figure-space{min-height:110px}
  .discipline-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .discipline:nth-child(5){grid-column:1/-1;border-top:1px solid var(--stroke)}
  .outdoor-teaser>.wrap{grid-template-columns:1fr;gap:0}
  .outdoor-teaser .wrap>div{padding-block:45px 32px}
  .outdoor-teaser img{min-height:270px;height:300px}
  .outdoor-hero{min-height:calc(100svh - var(--nav))}
  .outdoor-hero .hero-shade{background:linear-gradient(0deg,#111c17ef 0%,#111c17ae 45%,#111c1733 85%)}
  .outdoor-hero-content{padding-block:45px 42px}
  .outdoor-hero .breadcrumb{margin-bottom:clamp(110px,26svh,220px)}
  .outdoor-hero h1{font-size:clamp(54px,12vw,80px)}
  .outdoor-hero .lead{font-size:15px;margin:20px 0}
  .render-credit{margin-top:30px;font-size:9px}
  .outdoor-view{grid-template-columns:1fr;min-height:0}
  .outdoor-photo{height:clamp(260px,70vw,430px)}
  .outdoor-info{gap:9px;padding:20px}
  .outdoor-info h3{font-size:40px}
  .outdoor-info p{font-size:14px}
  .outdoor-tabs{overflow-x:auto;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(164px,40vw);scroll-snap-type:x mandatory}
  .outdoor-tabs button{display:flex;flex-direction:column;align-items:start;scroll-snap-align:start;min-height:135px;gap:6px;padding:8px}
  .outdoor-tabs button>img{width:100%;height:65px}
  .outdoor-tabs button span{max-width:100%}
  .outdoor-tabs .icon{display:none}
  .outdoor-story .story-step{min-height:clamp(265px,49svh,375px)}
  .outdoor-sticky{height:clamp(255px,43svh,360px)}
  .footer-contact{grid-template-columns:1fr;gap:24px}
  .legal-layout{grid-template-columns:1fr;gap:22px}
  .legal-layout nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;padding-bottom:8px;border-bottom:1px solid #bac5b5}
  .legal-copy dl{grid-template-columns:1fr;gap:3px}
  .legal-copy dd{margin-bottom:10px}
}
@media(max-height:520px) and (orientation:landscape){
  .wall-sticky,.net-figure{position:relative;top:auto;height:390px}
  .wall-story .story-step{min-height:0}
}
