.eyebrow.on-dark{color:#b9c0c2} .title{max-width:1040px;font-size:clamp(40px,4.1vw,59px);line-height:1.04} .title.small-title{font-size:clamp(36px,3.25vw,47px)}
.lead{max-width:720px;color:var(--muted);font-size:18px;line-height:1.65} .rule{width:48px;height:3px;margin:26px 0;background:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border:1px solid var(--ink);border-radius:4px;font-size:15px;font-weight:600;transition:.2s ease;cursor:pointer;background:transparent}
.btn.primary{border-color:var(--accent);background:var(--accent)} .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)} .btn.ghost:hover{background:var(--ink);color:#fff}
.more{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:15px;font-weight:600}
/* hero */
.hero{position:relative;min-height:700px;display:flex;align-items:flex-end;color:var(--on-dark);background:var(--dark)}
.hero-media{position:absolute;inset:0} .hero-media img{object-position:center 56%;filter:saturate(.9) contrast(1.02)}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,18,.9) 0%,rgba(10,15,18,.73) 37%,rgba(10,15,18,.28) 71%,rgba(10,15,18,.07) 100%),linear-gradient(0deg,rgba(10,15,18,.42),transparent 58%)}
.hero-inner{position:relative;z-index:2;padding-top:110px;padding-bottom:48px;width:100%} .hero h1{max-width:930px;font-size:clamp(54px,5vw,72px);line-height:.99}
.hero h1 span{color:var(--accent)} .hero-copy{max-width:710px;margin-top:27px;color:#e2e6e5;font-size:18px} .hero-actions{display:flex;gap:14px;align-items:center;margin-top:32px;flex-wrap:wrap}
.hero .text-link{padding:12px 2px;color:#fff;font-size:15px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.55)}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-top:72px;padding-top:24px;border-top:1px solid rgba(255,255,255,.28)}
.hero-fact{display:flex;gap:11px;align-items:flex-start;padding-right:28px;font-size:14px;line-height:1.35;color:#edf0ef} .fact-icon{width:22px;height:22px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);flex:0 0 auto;font-size:12px}
/* solutions */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px} .section-head .lead{max-width:520px}
.solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.solution-card{position:relative;min-height:480px;overflow:hidden;border-radius:8px;background:#dfe3df;color:#fff}
.solution-card img{position:absolute;inset:0;transition:transform .6s cubic-bezier(.2,.65,.3,1);filter:saturate(.85)} .solution-card:hover img{transform:scale(1.04)}
.solution-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,15,18,.83),rgba(10,15,18,.08) 72%)}
.solution-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px} .solution-copy h3{font-size:25px;line-height:1.12;margin-bottom:10px} .solution-copy p{color:#e4e8e7;font-size:15px;line-height:1.48}
.solution-arrow{position:absolute;z-index:3;right:18px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;background:rgba(20,25,28,.18)}
/* anatomy */
.anatomy{background:var(--concrete)} .anatomy-wrap{display:grid;grid-template-columns:270px minmax(0,1fr) 315px;gap:34px;align-items:stretch;margin-top:50px}
.layer-list{padding-top:12px} .layer-btn{width:100%;display:flex;gap:15px;align-items:center;text-align:left;padding:15px 0;border:0;border-bottom:1px solid #cfd4d2;background:transparent;color:#858b8e;cursor:pointer}
.layer-btn .dot{width:18px;height:18px;border-radius:50%;border:1px solid #b8bfbd;display:grid;place-items:center;font-size:11px;flex:0 0 auto} .layer-btn.active{color:var(--ink);font-weight:600} .layer-btn.active .dot{border-color:var(--accent);background:var(--accent)}
.building-viz{min-height:560px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,#f5f6f4,#e2e6e3);border-radius:10px;overflow:hidden}
.building-viz:after{content:'';position:absolute;left:7%;right:7%;bottom:8%;height:1px;background:#c7cdca;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.frame-svg{width:95%;height:auto;max-height:530px} .frame-line{stroke:#677073;stroke-width:5;fill:none;transition:.3s} .frame-slab{fill:#d0d5d3;stroke:#687174;stroke-width:2;transition:.3s} .frame-foundation{fill:#bac2c0;stroke:#687174;stroke-width:2;transition:.3s} .frame-roof{fill:#dde1df;stroke:#687174;stroke-width:2;transition:.3s} .dim{stroke:var(--accent);stroke-width:3;stroke-dasharray:7 7}
.layer-hidden{opacity:.11;filter:grayscale(1)}
.info-panel{align-self:center;padding:28px;background:var(--white);border-radius:8px;border:1px solid var(--line);box-shadow:0 18px 50px rgba(31,38,40,.07)} .info-panel .tag{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}
.info-panel h3{font-size:30px;line-height:1.12;margin:8px 0 14px} .info-panel p{font-size:16px;color:var(--muted);line-height:1.55} .info-panel .mini{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--ink)}
/* economics */
.economics-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);gap:42px;align-items:center;margin-top:48px} .benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 50px}
.benefit{padding-top:18px;border-top:1px solid var(--line)} .benefit-icon{width:34px;height:34px;margin-bottom:17px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:15px} .benefit h3{font-size:21px;line-height:1.25;margin-bottom:8px} .benefit p{font-size:15px;color:var(--muted);line-height:1.55}
.span-card{position:relative;display:block;width:100%;aspect-ratio:1/1;min-height:0;overflow:hidden;border-radius:10px;background:#222629;box-shadow:0 16px 40px rgba(28,32,35,.11);isolation:isolate}
.span-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;border:0;border-radius:inherit;box-shadow:none;opacity:1;filter:none;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.span-card:hover img{transform:scale(1.02)}
.span-card::before,.span-card::after{content:none;display:none}
.span-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px} .span-number{font-size:clamp(74px,7vw,102px);font-weight:600;line-height:.85;color:var(--accent);letter-spacing:-.06em} .span-copy p{margin-top:18px;font-size:22px;line-height:1.18}
/* stage */
.stage-section{background:#fff} .stage-layout{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:end;margin-bottom:36px}
.stage-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:9px;overflow:hidden} .stage-tab{padding:25px 22px;min-height:170px;text-align:left;border:0;border-right:1px solid var(--line);background:#fff;cursor:pointer;transition:.2s}
.stage-tab:last-child{border-right:0} .stage-tab.active{background:#fff9e7;box-shadow:inset 0 -4px 0 var(--accent)} .stage-num{font-size:12px;color:var(--muted);margin-bottom:25px} .stage-tab strong{display:block;font-size:18px;line-height:1.2;margin-bottom:8px} .stage-tab span{display:block;font-size:14px;color:var(--muted);line-height:1.45}
.stage-detail{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:0;margin-top:28px;border-radius:10px;overflow:hidden;background:var(--dark);color:#fff} .stage-image{min-height:360px} .stage-image img{object-position:center}
.stage-copy{padding:44px 48px;display:flex;flex-direction:column;justify-content:center} .stage-copy .eyebrow{color:#9fa7a9} .stage-copy h3{font-size:34px;line-height:1.1;margin-bottom:14px} .stage-copy p{color:#cdd2d1;font-size:16px;max-width:540px} .stage-copy .more{margin-top:24px;color:var(--accent);width:max-content}
/* chain */
.chain{background:var(--paper)} .chain-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:44px}
.chain-step{position:relative} .chain-img{height:175px;overflow:hidden;border-radius:8px} .chain-img img{transition:.4s} .chain-step:hover img{transform:scale(1.035)} .chain-num{margin-top:16px;font-size:12px;color:var(--muted)} .chain-step h4{margin-top:4px;font-size:18px;line-height:1.25}
.chain-step:not(:last-child):after{content:'→';position:absolute;top:72px;right:-18px;z-index:3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-size:15px}
/* case */
.case{background:var(--dark);color:var(--on-dark);padding-block:var(--space)} .case-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:48px;align-items:stretch} .case-copy{display:flex;flex-direction:column;justify-content:center}
.case-copy h2{max-width:720px;font-size:clamp(42px,4vw,58px);line-height:1.03} .case-copy>p{max-width:650px;margin-top:23px;color:#c8cecf} .case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;padding-top:28px;border-top:1px solid #384043}
.metric strong{display:block;color:var(--accent);font-size:28px;line-height:1} .metric span{display:block;margin-top:8px;color:#c4cacc;font-size:13px;line-height:1.4} .case-visual{min-height:530px;border-radius:9px;overflow:hidden} .case-visual img{object-position:center}

/* Real project case: editorial narrative + verified project figures */
.case-real{background:#1c2224;color:#f4f5f3;padding:clamp(80px,9vw,140px) 0;overflow:hidden}
.case-real .case-kicker{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.17);padding-top:19px;font-size:12px;letter-spacing:.105em;font-weight:600;color:#aab2b4}
.case-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#e6bc49}.case-accent-dot{width:7px;height:7px;background:#f1bf28;border-radius:100%}
.case-real .case-intro{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(250px,.62fr);gap:50px;align-items:end;margin:45px 0 54px}
.case-real .case-intro h2{max-width:none;font-size:clamp(43px,5.8vw,84px);font-weight:550;letter-spacing:-.045em;line-height:1.03}
.case-real .case-intro h2 span{color:#edc251}
.case-lead{padding-bottom:8px;color:#c5cccd;line-height:1.6;font-size:clamp(16px,1.32vw,19px)}
.case-lead b{color:#f4f5f3;font-weight:600}.case-lead-line{height:1px;width:64px;background:#ecc44c;margin-bottom:24px}
.case-real .case-content{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:34px;align-items:stretch}
.case-real .case-gallery{min-width:0}
.case-main-photo{height:clamp(390px,40vw,610px);position:relative;overflow:hidden;border-radius:13px;background:#30383a}
.case-main-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,rgba(9,14,16,.38) 0%,transparent 23%,transparent 60%,rgba(9,14,16,.69) 100%);pointer-events:none}
.case-main-photo img{width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block;transition:opacity .27s ease,transform .65s ease}
.case-main-photo.is-switching img{opacity:.18;transform:scale(1.015)}
.case-main-top{position:absolute;top:24px;left:26px;right:26px;display:flex;justify-content:space-between;gap:10px;align-items:center;z-index:2;color:white;font-size:11px;font-weight:650;letter-spacing:.105em}
.case-photo-index{background:rgba(18,23,25,.62);border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:10px 14px;backdrop-filter:blur(7px)}
.case-main-signal{color:#f4f5f3;max-width:60%;text-align:right}
.case-photo-description{position:absolute;left:27px;bottom:29px;z-index:2;color:white;font-size:clamp(19px,2vw,27px);font-weight:550;letter-spacing:-.02em;display:flex;align-items:center;gap:14px}
.case-yellow-line{height:2px;width:32px;display:inline-block;background:#f1c343}
.case-gallery-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.case-shot{border:1px solid rgba(255,255,255,.1);background:#252c2e;border-radius:8px;overflow:hidden;padding:0;text-align:left;color:#d2d8d9;cursor:pointer;transition:border-color .2s,transform .2s;min-width:0}
.case-shot:hover{border-color:rgba(242,196,72,.8);transform:translateY(-2px)}.case-shot.is-active{border-color:#f1c54e;box-shadow:0 0 0 1px rgba(241,197,78,.15)}
.case-shot img{display:block;width:100%;height:95px;object-fit:cover;object-position:center}
.case-shot-info{display:flex;flex-direction:column;gap:4px;padding:12px 12px 14px}
.case-shot-number{font-size:10px;color:#a2abad;letter-spacing:.08em}.case-shot.is-active .case-shot-number{color:#edc251}
.case-shot-info strong{font-size:13px;font-weight:600;line-height:1.22;color:#f0f1ef}
.case-aside{display:flex;flex-direction:column;min-width:0}
.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #485052;border-left:1px solid #485052}
.case-fact{padding:23px 8px 23px 20px;border-right:1px solid #485052;border-bottom:1px solid #485052}
.case-fact strong{display:block;font-size:clamp(32px,3vw,47px);letter-spacing:-.05em;font-weight:580;line-height:1.08;color:#f1c54e;white-space:nowrap}
.case-fact strong small{font-size:.39em;font-weight:600;letter-spacing:-.01em}
.case-fact span{display:block;color:#bfc7c8;margin-top:9px;font-size:13px;line-height:1.45}
.case-narrative{margin-top:26px;display:flex;flex-direction:column;gap:0}
.case-narrative-item{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.case-narrative-item span{color:#e1bd57;letter-spacing:.065em;font-size:10px;font-weight:700;white-space:nowrap}
.case-narrative-item p{font-size:14px;line-height:1.54;color:#d0d5d6}
.case-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:58px;background:#edc54d;color:#1c2123;font-size:14px;font-weight:700;text-decoration:none;border-radius:7px;margin-top:auto;padding:12px 17px;transition:background .2s}
.case-cta:hover{background:#ffdf65}.case-cta-arrow{font-size:24px;line-height:1}
@media(max-width:1120px){.case-real .case-content{grid-template-columns:minmax(0,1fr) minmax(310px,.85fr);gap:22px}.case-fact{padding:20px 5px 20px 14px}.case-narrative-item{grid-template-columns:1fr;gap:6px}.case-cta{margin-top:24px}}
@media(max-width:820px){.case-real .case-intro{grid-template-columns:1fr;gap:24px;margin:32px 0}.case-real .case-content{grid-template-columns:1fr}.case-main-photo{height:clamp(330px,63vw,530px)}.case-aside{margin-top:14px}.case-narrative-item{grid-template-columns:110px 1fr;gap:14px}}
@media(max-width:550px){.case-real .case-kicker{align-items:flex-start;flex-direction:column;gap:8px}.case-real .case-intro h2{font-size:clamp(38px,10vw,54px)}.case-main-photo{height:340px}.case-main-top{top:14px;left:15px;right:15px}.case-main-signal{font-size:9px}.case-photo-description{left:15px;bottom:19px;font-size:20px}.case-gallery-navigation{gap:7px}.case-shot img{height:68px}.case-shot-info{padding:9px 7px 11px}.case-shot-info strong{font-size:11px}.case-fact{padding:17px 10px}.case-fact strong{font-size:31px}.case-narrative-item{grid-template-columns:1fr;gap:7px}}

/* cta */
.final-cta{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center} .final-cta img{position:absolute;inset:0;filter:saturate(.78);object-position:center 48%} .final-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,249,247,.99) 0%,rgba(248,249,247,.92) 42%,rgba(248,249,247,.28) 76%,rgba(248,249,247,.06) 100%)}
.final-inner{position:relative;z-index:2} .final-inner h2{max-width:700px;font-size:clamp(45px,4.4vw,64px);line-height:1.02} .final-inner p{max-width:650px;margin:22px 0 30px;color:#4f585b}
footer{padding:30px 0;background:#111719;color:#bfc5c6;font-size:13px} .footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px} .footer-row img{width:62px;height:auto;filter:grayscale(1) brightness(2)}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease} .reveal.show{opacity:1;transform:none}
@media(max-width:1120px){.navlinks{display:none}.menu-toggle{display:block}.nav .btn{display:none}.solution-grid{grid-template-columns:repeat(2,1fr)}.anatomy-wrap{grid-template-columns:220px 1fr}.info-panel{grid-column:1/-1}.stage-tabs{grid-template-columns:repeat(2,1fr)}.stage-tab:nth-child(2){border-right:0}.stage-tab:nth-child(-n+2){border-bottom:1px solid var(--line)}.chain-row{grid-template-columns:repeat(2,1fr)}.chain-step:after{display:none}.case-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{font-size:16px}.nav{min-height:80px}.brand{width:76px;height:62px}.hero{min-height:720px}.hero-inner{padding-bottom:34px}.hero-facts{grid-template-columns:1fr;gap:14px;margin-top:48px}.section-head{display:block}.section-head .lead{margin-top:20px}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:410px}.anatomy-wrap{grid-template-columns:1fr}.layer-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.building-viz{min-height:410px}.economics-grid{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.stage-layout{grid-template-columns:1fr}.stage-tabs{grid-template-columns:1fr}.stage-tab{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:auto}.stage-detail{grid-template-columns:1fr}.stage-image{min-height:250px}.stage-copy{padding:34px 26px}.chain-row{grid-template-columns:1fr}.case-metrics{grid-template-columns:1fr}.case-visual{min-height:360px}.final-cta{min-height:560px}.final-cta:after{background:linear-gradient(90deg,rgba(248,249,247,.98),rgba(248,249,247,.80))}.footer-row{align-items:flex-start;flex-direction:column}}

/* v3: exact header/typography aligned to supplied homepage */
:root { --paper:#f8f9f7; --concrete:#eceeed; --ink:#202528; --muted:#656b6e; --line:#d5d9d8; --accent:#f4bd36; --dark:#191f22; --max:1440px; --gutter:clamp(24px,3.34vw,48px); --space:clamp(80px,7.8vw,112px); }
body{font-size:18px;line-height:1.6;background:var(--paper)}
h1,h2,h3,h4{font-weight:500}h1,h2{letter-spacing:-.045em}h3,h4{letter-spacing:-.025em}
.section{padding-block:var(--space)}
.eyebrow{margin-bottom:22px;font-size:14px;font-weight:500;letter-spacing:.1em;line-height:1.4}
.title,.title.small-title{max-width:920px;font-size:clamp(40px,3.48vw,50px);font-weight:500;line-height:1.10;letter-spacing:-.045em}
.hero h1{max-width:1010px;font-size:clamp(56px,4.72vw,68px);font-weight:500;line-height:1.035;letter-spacing:-.045em}
.hero-inner{padding-top:108px}
.btn{border-radius:4px;font-weight:500}.btn.primary{background:var(--accent);border-color:var(--accent)}
header{position:sticky;top:0;z-index:40;background:rgba(248,249,247,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.nav{position:relative;min-height:112px;gap:24px}
.brand{display:flex;align-items:center;flex-shrink:0;width:108px;height:96px}
.brand img{height:auto;width:100%;object-fit:contain}
.navlinks{justify-content:center;gap:clamp(16px,1.65vw,24px);margin-left:auto}
.navlinks a{font-size:14px;font-weight:400;line-height:1.4;padding:12px 0;white-space:nowrap;transition:color .2s}
.navlinks a:hover{color:#806007}.navlinks a.active:after{bottom:2px;background:var(--accent);height:2px}
.nav .cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:48px;max-width:100%;margin-left:8px;padding:12px 20px;background:var(--accent);border:1px solid var(--accent);border-radius:4px;font-size:14px;font-weight:500;line-height:1.5;color:var(--ink)}
.nav .cta:hover{background:#e9ad20}
.menu-toggle{display:none}
.footer-logo{display:block;flex:0 0 105px;width:105px;height:110px;background:var(--paper);border-radius:8px;padding:6px}
.footer-logo img{height:100%;object-fit:contain}
.footer-row p{color:#aab0b1;font-size:14px}
/* Large, integrated 3D story */
.anatomy{background:#eceeed}
.anatomy-shell{display:grid;grid-template-columns:252px minmax(0,1fr);gap:26px;align-items:stretch;margin-top:44px}
.model-controls{display:flex;flex-direction:column;padding:22px 0;border-top:1px solid #c7cecc}
.model-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.model-kicker span{font-variant-numeric:tabular-nums}
.model-step{display:flex;align-items:center;gap:14px;text-align:left;min-height:84px;padding:15px 9px;border:0;border-bottom:1px solid #cdd3d1;background:transparent;color:#798083;cursor:pointer;transition:color .2s,padding .2s,background .2s}
.model-step:hover{color:var(--ink);padding-left:15px;background:rgba(255,255,255,.45)}
.model-step.active{color:var(--ink);background:#f7f8f5;border-left:3px solid var(--accent);padding-left:12px}
.step-index{align-self:flex-start;margin-top:3px;font-size:13px;color:#9fa7a9;font-weight:500;font-variant-numeric:tabular-nums}
.model-step.active .step-index{color:#b58a18}
.model-step>span:nth-child(2){font-weight:500;font-size:16px;line-height:1.23;flex:1}
.model-step small{display:block;margin-top:7px;font-size:12px;line-height:1.4;font-weight:400;color:#858d8e}
.step-plus{font-size:18px;opacity:0;transition:opacity .2s}.model-step:hover .step-plus,.model-step.active .step-plus{opacity:1}
.model-replay{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:26px;padding:13px 12px;border:1px solid #aeb7b4;background:transparent;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;color:var(--ink)}
.model-replay:hover{background:#fff}.model-replay span{font-size:20px;line-height:1}
.model-viewport{min-width:0;position:relative;min-height:700px;display:flex;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;border-radius:6px;background:radial-gradient(ellipse at 50% 43%,#fff 0,#fafbf9 45%,#e2e7e5 100%);border:1px solid #d7dcda}
.model-viewport:before{content:'';position:absolute;left:8%;right:8%;bottom:9%;height:1px;background:#d4dad8;z-index:0}
.viewport-head{position:absolute;z-index:3;top:26px;left:28px;right:28px;display:flex;align-items:center;gap:9px;letter-spacing:.1em;font-size:11px;font-weight:500;color:#707a7c}
.model-dot{height:7px;width:7px;background:var(--accent);border-radius:50%}.viewport-mode{margin-left:auto;color:#9ba4a4}
.assembly-svg{display:block;width:83%;height:auto;max-height:545px;flex:0 1 auto;overflow:visible;position:relative;z-index:1;transform:translateY(-38px)}
.model-piece{opacity:0;transform:translateY(-600px);transition:transform .9s cubic-bezier(.16,.78,.23,1),opacity .34s ease,filter .3s ease;transition-delay:var(--d),var(--d),0s;filter:none;pointer-events:none}
.model-piece.placed{opacity:1;transform:translateY(0)}
.model-piece.stage-muted{opacity:1}
.model-piece.stage-focus{filter:drop-shadow(0px 0px 1.1px rgba(230,165,0,.6))}
.model-caption{position:absolute;left:28px;right:28px;bottom:22px;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 20px;background:rgba(255,255,255,.91);border:1px solid rgba(207,215,211,.83);border-radius:5px;backdrop-filter:blur(12px)}
.model-caption>div{max-width:620px}
.model-caption #modelStepLabel{display:block;color:#7f898a;font-size:10px;letter-spacing:.12em;font-weight:500;margin-bottom:6px}
.model-caption h3{font-size:23px;line-height:1.2;font-weight:500;color:var(--ink)}
.model-caption p{font-size:13px;color:#6c7477;line-height:1.45;margin-top:8px}
.model-counter{align-self:center;font-size:19px;white-space:nowrap;color:#a7b0b1;font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums}
@media(max-width:1160px){.navlinks{display:none}.menu-toggle{display:flex;align-items:center;gap:7px;order:4;background:transparent;border:1px solid #c9cecd;border-radius:4px;font-size:14px;padding:9px 13px;cursor:pointer}.nav .cta{margin-left:auto}.model-viewport{min-height:620px}.anatomy-shell{grid-template-columns:220px minmax(0,1fr);gap:16px}}
@media(max-width:760px){.nav{min-height:82px;gap:10px}.brand{width:72px;height:68px}.hero h1{font-size:clamp(38px,10.6vw,46px);line-height:1.04}.title,.title.small-title{font-size:clamp(30px,8.3vw,36px);line-height:1.12}.eyebrow{font-size:13px;margin-bottom:18px}.nav .cta{display:none}.menu-toggle{margin-left:auto}.anatomy-shell{grid-template-columns:1fr}.model-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.model-kicker{grid-column:1/-1}.model-step{min-height:75px;border:1px solid #cdd3d1;border-radius:4px;padding:10px 8px}.model-step.active{padding-left:7px}.step-index{font-size:11px}.model-step>span:nth-child(2){font-size:14px}.model-step small{font-size:11px}.step-plus{display:none}.model-replay{grid-column:1/-1;margin-top:4px}.model-viewport{min-height:470px}.viewport-head{top:15px;left:16px;right:16px;font-size:9px}.viewport-mode{display:none}.assembly-svg{width:98%;max-height:420px;transform:translateY(-22px)}.model-caption{left:12px;right:12px;bottom:12px;padding:12px}.model-caption h3{font-size:17px}.model-caption p{font-size:12px;margin-top:5px}.model-counter{font-size:15px}}
@media(prefers-reduced-motion:reduce){.model-piece{transition-duration:.01s!important;transition-delay:0s!important}}

/* mobile menu */@media(max-width:1160px){.navlinks{display:none;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:12px 24px 22px;background:var(--paper);border:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.navlinks.menu-open{display:flex}.navlinks a{padding:11px 4px}}.menu-toggle{flex-shrink:0}@media(max-width:760px){.span-card{width:100%;max-width:580px;margin-inline:auto;aspect-ratio:1/1}}
@media(min-width:761px) and (max-width:1020px){.economics-grid{grid-template-columns:1fr}.span-card{max-width:540px;margin-inline:auto}}

/* Four states of one future building */
.stage-image{position:relative;isolation:isolate;overflow:hidden;background:#f2f3f0;min-height:440px}
.stage-image img.stage-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 56%;display:block;opacity:0;transform:scale(1.022);transition:opacity .68s ease,transform 1.05s cubic-bezier(.2,.6,.3,1);pointer-events:none}
.stage-image img.stage-frame.is-active{opacity:1;transform:scale(1)}
.stage-image img.stage-frame[data-stage="0"]{object-position:center 53%;background:#fafaf8}
.stage-image img.stage-frame[data-stage="1"]{object-position:center 55%}
.stage-image img.stage-frame[data-stage="2"]{object-position:center 57%}
.stage-image img.stage-frame[data-stage="3"]{object-fit:contain;object-position:center;background:#f8f9f8}
.stage-tab{transition:background .28s ease,border-color .28s ease,color .28s ease}
@media(max-width:760px){.stage-image{min-height:390px}}
@media(prefers-reduced-motion:reduce){.stage-image img.stage-frame{transition:none;transform:none}}