@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');
:root{--ink:#202427;--navy:#292e31;--blue:#414344;--cyan:#d39772;--white:#f3f0e9;--muted:#bdb8b1;--line:rgba(207,186,169,.22);--paper:#f3f0e9;--darkmuted:#655f59}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--white);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'Segoe UI',sans-serif;font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(44px,4.8vw,76px)}h2{font-size:clamp(34px,3.7vw,54px)}h3{font-size:28px}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}a:hover{color:var(--cyan)}button:disabled{cursor:wait;opacity:.65}.wrap{max-width:1440px;margin:auto;padding:0 6%}.eyebrow{font:11px/1.5 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:12px;margin-bottom:24px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.small{font-size:13px;line-height:1.6}.mono{font-family:Consolas,monospace}.skip{position:fixed;top:-80px;background:var(--cyan);color:var(--ink);padding:12px;z-index:100}.skip:focus{top:10px}.header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand svg{width:38px;height:42px}.brand strong{font-size:21px;letter-spacing:.13em;font-weight:500;line-height:1.1;display:block}.brand small{display:block;font-size:9px;letter-spacing:.31em;margin-top:6px}.nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav a[aria-current=page]{color:var(--cyan)}.nav a[aria-current=page]:after{content:'';display:block;height:1px;background:var(--cyan);margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 21px;background:var(--cyan);border:1px solid var(--cyan);color:var(--ink);font-size:13px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.btn:hover{background:#fddcc3;color:var(--ink);transform:translateY(-2px)}.btn.outline{background:transparent;border-color:var(--line);color:var(--white)}.btn.outline:hover{border-color:var(--cyan);color:var(--cyan)}.btn:after{content:'↗';font-size:19px;font-weight:400}.nav .btn{padding:12px 17px}.menu{display:none;background:none;border:1px solid var(--line);color:white;padding:8px 12px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 73% 45%,#41383270,transparent 58%)}.hero:before,.diagram:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#c6ac9906 1px,transparent 1px),linear-gradient(90deg,#c6ac9906 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:.94fr 1.16fr;align-items:center;gap:10px;min-height:710px;position:relative;padding-top:55px;padding-bottom:30px}.hero-copy{position:relative;z-index:2;padding-bottom:55px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero-copy>p{font-size:15px;line-height:1.85;max-width:470px;margin:28px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-foot{margin-top:40px;display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);display:inline-block}.scene{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.scene-header{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:var(--muted);margin:0 0 -20px 20px;z-index:1}.building-svg{width:118%;max-width:none;margin-left:-8%;height:auto;overflow:visible;display:block}.scene svg text{font-family:Consolas,monospace}.scene-caption{font-size:10px;color:#bdb8b1;margin:8px 12px 0;max-width:560px}.scene-base{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:15px 0 0;margin:0 12px}.scene-title{font-size:13px;color:var(--white)}.play{background:transparent;border:1px solid var(--line);color:var(--white);font-size:11px;padding:5px 12px;white-space:nowrap}.workflow-nav{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);position:relative;padding-bottom:26px}.workflow-nav button{background:none;color:var(--muted);border:0;text-align:left;padding:20px 10px 0 0;font-size:11px;position:relative}.workflow-nav button span{display:block;font:10px Consolas,monospace;opacity:.7;margin-bottom:8px}.workflow-nav button[aria-pressed=true]{color:var(--cyan)}.workflow-nav button:before{content:'';height:2px;position:absolute;top:-1px;left:0;width:0;background:var(--cyan);transition:width .4s}.workflow-nav button[aria-pressed=true]:before{width:85%}.shell{transition:opacity 1.2s,transform 1.2s}.stage-0 .shell{opacity:.22;transform:translateY(12px)}.system{transition:opacity 1s}.stage-0 .system{opacity:0}.stage-1 .system{animation:assemble 1.5s both}.stage-1 .lighting{animation-delay:.5s}.stage-1 .envelope{animation-delay:1s}.stage-1 .glazing{animation-delay:1.3s}@keyframes assemble{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.blueprint{stroke-dasharray:1800;stroke-dashoffset:0}.stage-0 .blueprint{animation:draw 5s ease both}@keyframes draw{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}.flow{opacity:0;stroke-dasharray:6 14;stroke-dashoffset:0}.stage-2 .flow{opacity:1;animation:flow 2s linear infinite}@keyframes flow{to{stroke-dashoffset:-80}}.inspection,.report,.energy-chart{opacity:0;transition:opacity .7s,transform .7s;pointer-events:none}.inspection{transform:translateX(22px)}.stage-3 .inspection{opacity:1;transform:none}.stage-2 .energy-chart,.stage-4 .report{opacity:1;transform:none}.report{transform:translateY(12px)}.stage-4 .shell,.stage-4 .system{opacity:.25}.chartbar{transform-origin:560px 400px;transform:scaleX(.05);transition:transform 1.2s}.stage-2 .chartbar{transform:scaleX(1)}.paused *{animation-play-state:paused!important}.section{padding:110px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-head h2{max-width:660px}.section-head p{max-width:360px}.paper{background:var(--paper);color:var(--ink)}.paper p{color:var(--darkmuted)}.paper .eyebrow{color:#6d5f54}.paper a:hover{color:#6e6055}.paper .btn{background:var(--ink);color:white;border-color:var(--ink)}.paper .btn:hover{background:var(--blue)}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px}.service{border-top:1px solid #dcbea9;padding:25px 0 0;position:relative}.service-no{font:11px Consolas,monospace;color:#7c6c60;display:block;margin-bottom:22px}.service h3{margin-bottom:20px;max-width:330px}.service p{max-width:500px}.text-link{display:inline-flex;gap:50px;font-size:13px;font-weight:600;border-bottom:1px solid #8f7c6e;padding-bottom:8px;margin-top:26px}.text-link:after{content:'↗'}.service-art{width:100%;height:150px;margin:20px 0 0;display:block}.service:hover .service-art{color:#66584e}.service-art{color:#857467;transition:color .3s}.systems-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.diagram{position:relative;background:var(--navy);border:1px solid var(--line);padding:25px}.diagram svg{width:100%;position:relative}.diagram .system{opacity:.15}.diagram[data-layer=hvac] .hvac,.diagram[data-layer=lighting] .lighting,.diagram[data-layer=envelope] .envelope,.diagram[data-layer=glazing] .glazing{opacity:1}.layer-list{margin-top:35px}.layer-btn{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:var(--muted);padding:19px 0;font-size:16px}.layer-btn[aria-selected=true]{color:var(--cyan)}.layer-btn span{font:11px Consolas,monospace;margin-right:16px}.layer-detail{min-height:95px;margin-top:20px;font-size:14px}.portfolio{background:#372f2a}.portfolio-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}.portfolio h2{max-width:600px}.portfolio p+p{margin-top:22px}.portfolio .btn{margin-top:30px}.audience{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:40px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:50px}.step{border-top:1px solid #dcbea9;padding-top:18px}.step b{font:11px Consolas,monospace;color:#75665a}.step h3{font-size:19px;letter-spacing:-.02em;margin:20px 0 12px;line-height:1.4}.step p{font-size:13px}.cta{padding:80px 0;display:flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.cta h2{max-width:690px}.eligibility{margin-top:50px;display:grid;grid-template-columns:160px 1fr;gap:40px;font-size:12px}.eligibility strong{color:var(--cyan);font-weight:500}.eligibility p{max-width:850px}.eligibility a{text-decoration:underline;text-underline-offset:3px}.footer{padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:36px}.footer-top p{max-width:400px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-links{display:flex;gap:25px}.page-intro{padding:90px 0 75px;background:radial-gradient(ellipse at 90% 10%,#52473f60,transparent 70%)}.page-intro h1{max-width:990px;font-size:clamp(42px,4.8vw,68px)}.page-intro p{max-width:610px;margin-top:26px}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.scope-grid h3{margin:25px 0 20px}.scope-grid ul{list-style:none;padding:0;margin:25px 0}.scope-grid li{border-top:1px solid #e8c9b2;padding:13px 0 13px 22px;font-size:14px;position:relative;color:var(--darkmuted)}.scope-grid li:before{content:'+';position:absolute;left:0;color:#7a695e}.tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#76665b}.input-note{background:#ffe1c7;padding:24px;margin-top:35px;font-size:13px}.input-note strong{display:block;margin-bottom:9px}.pricing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;margin-top:45px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:400;padding:0 0 20px}td{border-top:1px solid var(--line);padding:16px 0}td:last-child,th:last-child{text-align:right}td:last-child{color:var(--cyan)}.price-note{font-size:12px;margin-top:25px}.addon{border:1px solid var(--line);padding:35px;background:var(--navy);align-self:start}.addon h3{font-size:24px}.price{font-family:Manrope,sans-serif;font-size:64px;letter-spacing:-.06em;line-height:1;margin:27px 0 14px;color:var(--cyan)}.price small{font-size:12px;letter-spacing:0;color:var(--muted)}.addon p{font-size:13px}.examples{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:12px}.examples p+p{margin-top:13px}.estimator{margin-top:70px;border-top:1px solid var(--line);padding-top:45px}.estimate-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:24px;margin:30px 0}.field label{display:block;font-size:12px;margin-bottom:9px;color:var(--white)}input,select,textarea{width:100%;border:1px solid #6a5c52;background:#2b2521;color:var(--white);padding:13px 14px;border-radius:0;min-height:48px}select{color-scheme:dark}input[type=date]{color-scheme:dark}textarea{resize:vertical;min-height:145px}input:invalid:not(:placeholder-shown){box-shadow:none}.estimate-results{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:30px;border-top:1px solid var(--line);padding-top:27px;margin-top:25px}.estimate-results span{display:block;font-size:11px;color:var(--muted)}.estimate-results strong{display:block;font-family:Manrope,sans-serif;font-size:35px;font-weight:400;color:var(--cyan);letter-spacing:-.04em}.building-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-height:330px;overflow:auto}.tier{font-size:11px;margin-top:8px;color:var(--muted)}.inspection-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.inspection-grid p+p{margin-top:22px}.inspection-grid h3{font-size:35px}.contact-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;padding:70px 0 100px}.contact-aside{border-top:1px solid var(--line);padding-top:23px}.contact-aside h3{font-size:27px;margin-bottom:20px}.contact-aside p{font-size:14px}.contact-aside ol{padding-left:20px;color:var(--muted);font-size:13px;margin-top:28px}.contact-aside li{padding:8px 0}.demo-note{padding:20px;border:1px solid #a28d7d66;background:#352e29;margin-bottom:30px;font-size:12px;color:#eccdb6}.demo-note strong{color:var(--cyan);display:block;margin-bottom:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.full{grid-column:1/-1}.form-status{font-size:14px;padding-top:20px;color:var(--cyan)}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}.form-foot p{font-size:11px;max-width:200px}.requirements-note{border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:12px}.noscript{padding:20px;background:#4a4039}.mobile-only{display:none}
@media(min-width:1600px){.hero-grid{min-height:780px}}@media(max-width:1050px){.wrap{padding-left:5%;padding-right:5%}.nav{gap:18px}.nav .btn{display:none}.hero-grid{grid-template-columns:1fr 1fr;min-height:650px}.hero h1{font-size:53px}.hero-copy>p{font-size:14px}.actions .btn{padding:13px 16px;gap:15px}.systems-layout{gap:35px}.portfolio-inner{gap:45px}.contact-layout{gap:40px}.section{padding:80px 0}.scene-header{font-size:8px}.scene-title{font-size:11px}.process{gap:18px}}
@media(max-width:760px){.header{height:80px}.brand strong{font-size:18px}.brand small{font-size:8px}.brand svg{width:30px}.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:80px;z-index:10;background:var(--navy);padding:25px 6%;border-bottom:1px solid var(--line)}.nav.open{display:flex;align-items:flex-start;flex-direction:column}.nav .btn{display:inline-flex}.hero-grid{display:block;padding-top:50px;min-height:0}.hero-copy{padding-bottom:35px}.hero h1{font-size:clamp(43px,9vw,62px);max-width:610px}.hero-copy>p{max-width:520px;margin:22px 0 26px}.hero-foot{margin-top:24px}.scene{margin:0 auto 25px;max-width:580px}.building-svg{width:100%;margin:0}.scene-header{margin:10px 12px -5px;font-size:8px}.scene-title{font-size:12px}.scene-caption{font-size:10px}.workflow-nav{gap:8px;padding-bottom:20px}.workflow-nav button{font-size:9px;padding-right:0}.workflow-nav button span{font-size:9px}.section{padding:65px 0}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:20px}.services-grid,.systems-layout,.portfolio-inner,.scope-grid,.pricing-grid,.inspection-grid,.contact-layout{grid-template-columns:1fr;gap:40px}.service-art{height:125px}.systems-layout .diagram{order:2}.layer-detail{min-height:72px}.portfolio-inner h2{max-width:500px}.process{grid-template-columns:1fr;gap:0;margin-top:30px}.step{display:grid;grid-template-columns:30px 1fr;gap:0 15px;padding:20px 0}.step h3{margin:0 0 8px}.step p{grid-column:2}.step b{padding-top:6px}.cta{padding:55px 0;align-items:flex-start;flex-direction:column}.eligibility{grid-template-columns:1fr;gap:12px;margin-top:30px}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column}.page-intro{padding:55px 0}.page-intro h1{font-size:43px}.estimate-controls{grid-template-columns:1fr 1fr;gap:18px}.estimate-controls .field:last-child{grid-column:1/-1}.estimate-results{gap:15px}.estimate-results strong{font-size:26px}.building-rows{grid-template-columns:1fr 1fr}.addon{padding:28px}.inspection-grid{gap:25px}.contact-layout{padding-top:45px}.form-grid{gap:20px;grid-template-columns:1fr}.full{grid-column:auto}.form-foot{flex-direction:column;align-items:flex-start}.form-foot p{max-width:none}.eyebrow{font-size:10px;margin-bottom:20px}.contact-aside ol{display:none}.mobile-only{display:block}.diagram{padding:10px}}
.paused .system,.paused .blueprint{animation:none!important}.stage-mobile{display:none}#simulation-note[hidden]{display:block;visibility:hidden}#simulation-note{min-height:64px}
@media(max-width:760px){.stage-mobile{display:block;margin:15px 12px 0;min-height:125px;padding:14px 0;border-top:1px solid var(--line);font-size:12px;color:#e7c8b2}.stage-mobile strong{display:block;font-size:13px;color:var(--cyan);margin-bottom:6px}.stage-mobile p{font-size:12px}.scene .building-svg .energy-chart,.scene .building-svg .report{display:none}.scene .building-svg>text,.scene .building-svg>.system text{display:none}#simulation-note{font-size:11px;min-height:86px}.stage-4 .shell,.stage-4 .system{opacity:.8}.scene-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.stage-0 .shell{opacity:1;transform:none}.stage-0 .system{opacity:1}.flow{display:none}}

/* Graphite & Copper: equipment installation and inspection choreography. */
.hero{background:radial-gradient(ellipse at 73% 45%,#78594430,transparent 58%)}.portfolio{background:#303538}.btn:hover{background:#e6b290}.paper .eyebrow,.paper .tag{color:#855638}.paper a:hover{color:#805230}.support-services{background:#272c2f}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.support-grid article{border-top:1px solid var(--line);padding-top:23px}.support-grid h3{font-size:27px;margin-bottom:22px}.support-grid p+p{margin-top:18px}.support-footer{display:flex;align-items:center;gap:45px;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.support-footer p{max-width:660px}.support-footer .btn{flex-shrink:0}
.stage-1 .system{animation:none}.stage-1 .drop-piece{animation:equipment-drop 1.7s cubic-bezier(.25,.65,.35,1) both;animation-delay:var(--drop-delay,0s)}.stage-1 .glazing{animation:zone-in 1.2s 4.1s both}.stage-1 .shell{opacity:.6}
@keyframes equipment-drop{0%{transform:translateY(-180px);opacity:0}8%{opacity:1}78%{transform:translateY(4px);opacity:1}90%{transform:translateY(-3px)}100%{transform:translateY(0);opacity:1}}@keyframes zone-in{from{opacity:0}to{opacity:1}}
.inspection{transform:none}.stage-3 .inspector-route{animation:inspector-route 9s linear both}.stage-3 .leg-left{animation:walk-left 9s linear both}.stage-3 .leg-right{animation:walk-right 9s linear both}.leg{transform-box:fill-box;transform-origin:50% 0}.taking-photo{opacity:0}.stage-3 .taking-notes{animation:notes-window 9s linear both}.stage-3 .taking-photo{animation:photo-window 9s linear both}.stage-3 .writing-hand{animation:writing .4s 2s 5 alternate}.stage-3 .shutter{animation:shutter 9s linear both}.stage-4 .demo-seal{animation:stamp-in .5s 1.1s both;transform-box:fill-box;transform-origin:center}.paused .drop-piece{animation-play-state:paused!important}
@keyframes inspector-route{0%{transform:translate(680px,365px)}22%,43%{transform:translate(617px,447px)}66%,88%{transform:translate(395px,437px)}100%{transform:translate(318px,395px)}}
@keyframes walk-left{0%,8%,16%,46%,54%,62%,91%,99%{transform:rotate(16deg)}4%,12%,20%,50%,58%,95%{transform:rotate(-16deg)}22%,43%,66%,88%,100%{transform:rotate(0)}}
@keyframes walk-right{0%,8%,16%,46%,54%,62%,91%,99%{transform:rotate(-16deg)}4%,12%,20%,50%,58%,95%{transform:rotate(16deg)}22%,43%,66%,88%,100%{transform:rotate(0)}}
@keyframes notes-window{0%,20%{opacity:0}23%,43%{opacity:1}46%,100%{opacity:0}}@keyframes photo-window{0%,64%{opacity:0}67%,88%{opacity:1}91%,100%{opacity:0}}@keyframes writing{from{transform:translate(0,0)}to{transform:translate(3px,3px)}}@keyframes shutter{0%,73%,77%,100%{opacity:0}74%,76%{opacity:1}}@keyframes stamp-in{from{opacity:0;scale:1.5;rotate:-15deg}to{opacity:1;scale:1;rotate:-8deg}}
@media(max-width:760px){.support-grid{grid-template-columns:1fr;gap:35px}.support-footer{align-items:flex-start;flex-direction:column;gap:22px}.stage-mobile{min-height:160px}.stage-3 .scene-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.drop-piece,.inspector-route,.leg,.taking-notes,.taking-photo,.writing-hand,.shutter,.demo-seal{animation:none!important}.taking-photo{display:none}.taking-notes{opacity:1}.stage-1 .shell{opacity:1}}

/* Joint-based shaded inspector; motion follows the main pauseable timeline. */
.inspector-rig{will-change:transform}.rig-camera,.rig-tablet,.rig-pen{opacity:0}.rig-shutter{opacity:0}.rig-label{font-family:Consolas,monospace}.rig-leg,.rig-arm,.rig-forearm{stroke-linejoin:round}/* The SVG rotate(angle 0 -79) already supplies the neck pivot. */.rig-head{transform-box:view-box;transform-origin:0 0}@media(prefers-reduced-motion:reduce){.inspector-rig{will-change:auto}}

/* Architectural Frame identity. Header wordmark reveals within reserved space. */
.brand{gap:16px}.brand svg{width:44px;height:44px;flex-shrink:0}.brand strong{font-weight:400;letter-spacing:.12em}.brand small{color:var(--cyan);letter-spacing:.23em}.brand-wordmark{white-space:nowrap}.header .brand{width:235px;min-height:54px}.header .brand-wordmark{opacity:0;transform:translateX(-12px);clip-path:inset(0 100% 0 0);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.7,.2,1),clip-path .5s cubic-bezier(.2,.7,.2,1)}.header .brand:hover .brand-wordmark,.header .brand:focus-visible .brand-wordmark{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)}
@media(hover:none),(pointer:coarse){.header .brand-wordmark{opacity:1;transform:none;clip-path:none}}
@media(max-width:760px){.header .brand{width:235px}.brand svg{width:38px;height:38px}.brand{gap:13px}.brand small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.header .brand-wordmark{transition:none}}
/* Building definition and a connected, time-driven process rail. */
.building-facade{opacity:0;transition:opacity .9s;pointer-events:none}.stage-0 .building-facade{opacity:1}.stage-0 .shell{opacity:1;transform:none}.stage-0 .building-facade{animation:facade-reveal 1.8s ease both}.scene svg text{font-family:Manrope,Arial,sans-serif}.diagram-labels{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:.025em}.diagram-labels text{paint-order:stroke;stroke:#202427;stroke-width:3px;stroke-linejoin:round}.workflow-heading{display:flex;justify-content:space-between;gap:20px;margin:5px 0 24px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.workflow-heading span:last-child{letter-spacing:0;font-size:12px}.workflow-nav{--progress:0;isolation:isolate;border:1px solid var(--line);background:#272d30;gap:0;padding:28px 20px 30px;margin-bottom:36px}.workflow-track{position:absolute;top:51px;left:20px;right:20px;height:3px;background:#606365;z-index:-1}.workflow-fill{height:100%;width:calc(var(--progress)*100%);background:var(--cyan);box-shadow:0 0 14px #d3977260}.workflow-track i{position:absolute;left:calc(var(--progress)*100%);top:50%;width:9px;height:9px;border-radius:50%;background:#ffe1c7;transform:translate(-50%,-50%);box-shadow:0 0 16px var(--cyan)}.workflow-nav button{padding:0 16px 0 0;font-size:16px;color:#a9b0b2}.workflow-nav button:before{display:none}.workflow-nav button .step-node{display:grid;place-items:center;width:48px;height:48px;border:1px solid #787d7f;border-radius:50%;background:#272d30;font:500 16px Manrope,Arial,sans-serif;opacity:1;margin:0 0 20px;transition:background .4s,box-shadow .4s,color .4s}.workflow-nav button strong{display:block;font-weight:500;line-height:1.4;max-width:180px;min-height:45px}.workflow-nav button small{display:block;font-size:10px;margin-top:9px;color:#abb2b4;line-height:1.6}.workflow-nav button[aria-pressed=true]{color:#f3f0e9}.workflow-nav button[aria-pressed=true] .step-node{background:var(--cyan);border-color:var(--cyan);color:#202427;box-shadow:0 0 0 7px #d397721a,0 0 24px #d3977233}.workflow-nav button.complete .step-node{border-color:var(--cyan);color:var(--cyan)}.workflow-nav button:hover strong{color:var(--cyan)}
@keyframes facade-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.workflow-heading{margin-top:8px;align-items:flex-start}.workflow-heading span{max-width:170px}.workflow-nav{display:flex;flex-direction:column;padding:20px;gap:0}.workflow-track{top:20px;bottom:20px;left:43px;right:auto;width:3px;height:auto}.workflow-fill{width:100%;height:calc(var(--progress)*100%)}.workflow-track i{left:50%;top:calc(var(--progress)*100%)}.workflow-nav button{display:grid;grid-template-columns:48px 1fr;column-gap:20px;align-content:start;min-height:100px;padding:0 0 20px;font-size:17px}.workflow-nav button:last-child{min-height:80px;padding-bottom:0}.workflow-nav button .step-node{grid-row:1/3;margin:0}.workflow-nav button strong{min-height:0;max-width:none;padding-top:3px}.workflow-nav button small{font-size:11px;margin-top:5px}.header{gap:12px}.header .brand{width:auto}}
@media(prefers-reduced-motion:reduce){.stage-0 .system{opacity:0}.building-facade{animation:none!important}.workflow-track i{box-shadow:none}}
.paused .building-facade{animation:none!important}.stage-0 .diagram-labels{visibility:hidden}

/* Clear stage copy and linked component inspection. */
.stage-description{font-size:13px;line-height:1.65;color:#e1d9d0;min-height:88px;max-width:610px}.stage-mobile{display:none!important}.component-caption{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;background:#202427ed;border:1px solid var(--cyan);padding:10px 16px;color:#f3f0e9;font-size:12px;white-space:nowrap;box-shadow:0 8px 24px #0003}.component-caption:empty{display:none}.building-svg [data-component]{cursor:pointer;outline:none}.building-svg[data-highlight=hvac] .hvac,.building-svg[data-highlight=lighting] .lighting,.building-svg[data-highlight=envelope] .envelope,.building-svg[data-highlight=envelope] .envelope-windows{opacity:1!important;filter:drop-shadow(0 0 5px #d39772)}.building-svg[data-highlight=envelope] .envelope-windows polygon{fill:#d3977255;stroke:#ffe1c7;stroke-width:2}.building-svg[data-highlight=hvac] .hvac path,.building-svg[data-highlight=lighting] .lighting polygon,.building-svg[data-highlight=envelope] .envelope polygon{stroke:#ffe1c7;stroke-width:2}.building-svg[data-highlight=hvac] .lighting,.building-svg[data-highlight=hvac] .glazing,.building-svg[data-highlight=lighting] .hvac,.building-svg[data-highlight=lighting] .glazing,.building-svg[data-highlight=envelope] .hvac,.building-svg[data-highlight=envelope] .lighting{opacity:.18}.building-facade{pointer-events:none}.stage-0 .building-facade{pointer-events:auto}.stage-0 .system,.stage-4 .system{pointer-events:none}.stage-0 .system [data-component]{pointer-events:none}.stage-0 .system[data-component],.stage-4 .system[data-component]{visibility:hidden}.diagram .component-caption{top:55px}.scene .component-caption{top:5px}@media(max-width:760px){.stage-description{font-size:13px;min-height:130px}.component-caption{font-size:10px;padding:8px 10px}.scene .component-caption{top:0}}

/* Architectural service illustrations: floor, openings, then the next level. */
.service-art.assembly-building{height:270px;margin:26px 0 4px;overflow:hidden}.assembly-floor,.assembly-openings,.assembly-review{animation-duration:15s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.22,.7,.25,1)}.floor-0{animation-name:floor-one}.floor-1{animation-name:floor-two}.floor-2{animation-name:floor-three}.openings-0{animation-name:openings-one}.openings-1{animation-name:openings-two}.openings-2{animation-name:openings-three}.assembly-review{animation-name:review-building}
@keyframes floor-one{0%{opacity:0;transform:translateY(-65px)}8%,92%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes openings-one{0%,9%{opacity:0;transform:translateY(-12px)}17%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes floor-two{0%,22%{opacity:0;transform:translateY(-65px)}32%,92%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes openings-two{0%,33%{opacity:0;transform:translateY(-12px)}41%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes floor-three{0%,46%{opacity:0;transform:translateY(-65px)}56%,92%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@keyframes openings-three{0%,57%{opacity:0;transform:translateY(-12px)}65%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes review-building{0%,68%{opacity:0;transform:translateY(8px)}76%,92%{opacity:1;transform:none}100%{opacity:0}}
@media(max-width:760px){.service-art.assembly-building{height:230px}}
@media(prefers-reduced-motion:reduce){.assembly-floor,.assembly-openings,.assembly-review{animation:none;opacity:1;transform:none}}
