/* Design B — architectural editorial. Public content and application hooks retained. */
:root{--paper:#f5f5ef;--white:#ffffff;--ink:#18251d;--muted:#5d695f;--accent:#315c25;--line:#d3d8ce;--soft:#e7eddf;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--pad:clamp(20px,4vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary,input,textarea,select{touch-action:manipulation}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background-color .2s,color .2s}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}button:disabled{opacity:.6;cursor:not-allowed}.skip{position:absolute;top:-100px;left:20px;padding:16px;background:var(--accent);color:white;z-index:20}.skip:focus{top:12px}.reading-progress{display:none}
header{max-width:1760px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px var(--pad);border-bottom:1px solid var(--line)}.brand{display:inline-flex;position:relative;align-items:center;gap:12px;font-size:28px;font-weight:700;letter-spacing:-1.3px;padding-right:0;line-height:1.1;min-height:56px}.brand svg{width:43px;height:51px;flex:none;color:var(--accent)}.brand-mini{font:9px var(--mono);letter-spacing:2.2px;position:absolute;left:57px;bottom:-1px}.brand:hover{color:var(--ink)}nav{display:flex;gap:32px}nav a,.header-contact{font-size:17px;display:inline-flex;align-items:center;min-height:48px}.header-contact{background:var(--ink);color:white;padding:10px 20px;gap:36px}.header-contact:hover{color:white;background:var(--accent)}
.hero{max-width:1760px;margin:auto;padding:30px var(--pad) 0}.eyebrow{font:600 16px/1.55 var(--mono);letter-spacing:1px;margin:0 0 25px;color:var(--accent)}.hero-topline .eyebrow{margin:0}.dot{display:inline-block;width:9px;height:9px;background:var(--accent);margin-right:9px}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5%;align-items:start;padding:40px 0 52px}.hero-copy{min-width:0}h1{font-size:clamp(54px,5.2vw,88px);font-weight:600;line-height:.98;letter-spacing:-.065em;margin:0 0 30px}h1>span{color:var(--accent)}.hero-description{max-width:510px;font-size:21px;line-height:1.6;color:var(--muted);margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 24px;border:1px solid transparent;min-height:58px;font-size:18px;font-weight:600;background:var(--accent);color:white}.button:hover{background:var(--ink);color:white}.button span{font-size:24px}.audience{font:16px/1.6 var(--mono);max-width:430px;color:var(--muted);margin:26px 0 0}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 0;font:16px/1.6 var(--mono)}.hero-foot>a{display:inline-flex;align-items:center;min-height:48px;gap:24px}.hero-foot>span{color:var(--muted)}
.hero-story{min-width:0;background:var(--white);border:1px solid var(--line);box-shadow:12px 12px 0 #cad2c3}.story-frame{position:relative;aspect-ratio:1.7;overflow:hidden;isolation:isolate;background:var(--ink)}#story-viewport{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 30%,#354c3c,#101915 75%)}#story-viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}#story-viewport canvas:active{cursor:grabbing}#story-viewport canvas:focus-visible{outline:3px solid #fff;outline-offset:-6px}.story-shade{display:none}.scene-loading{position:absolute;inset:65% 0 auto;text-align:center;z-index:4}.scene-loading button{min-height:48px;padding:10px 18px;background:var(--white);color:var(--ink);border:1px solid var(--line);font-size:16px}.hero-story[data-ready="loading"] #load-scene{visibility:hidden}.hero-story[data-ready="true"] .scene-loading{display:none}.hero-story[data-ready="fallback"] canvas{display:none}.scene-bar{padding:12px 20px;border-bottom:1px solid var(--line)}.scene-bar>span{display:block;font-size:16px;color:var(--muted);line-height:1.5;margin-bottom:10px}.scene-turn{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.scene-turn button{min-height:48px;font-size:16px;background:white;border:1px solid #879780;padding:8px 16px;color:var(--ink)}.scene-turn button:hover,.scene-turn button[aria-pressed="true"]{background:var(--soft);border-color:var(--accent);color:var(--accent)}.story-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.story-choices button{min-height:60px;border:0;border-right:1px solid var(--line);padding:12px 8px;background:transparent;color:var(--muted);font-size:16px}.story-choices button:last-child{border-right:0}.story-choices button span{display:block;font:16px/1.4 var(--mono)}.story-choices button[aria-pressed="true"]{background:var(--accent);color:white}.story-choices button:hover{background:var(--ink);color:white}.story-caption{padding:24px 24px 0;min-height:220px}.story-caption h2{font-size:28px;letter-spacing:-1px;margin:0 0 10px;line-height:1.15}.story-caption p{font-size:18px;line-height:1.6;color:var(--muted);margin:0}.story-caption a{font-size:16px;font-weight:600;display:inline-flex;align-items:center;min-height:48px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.story-disclosure{padding:0 24px 14px;border:0;font-size:16px;color:var(--muted)}.story-disclosure summary{min-height:48px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.story-disclosure p{margin:0 0 10px;font-size:16px}.story-disclosure a{text-decoration:underline}

.section{max-width:1760px;margin:auto;padding:110px var(--pad)}h2{font-size:clamp(40px,4vw,66px);line-height:1.08;letter-spacing:-.05em;font-weight:600;margin:20px 0}h2 em{font-style:normal;color:var(--accent)}h3{font-weight:600;letter-spacing:-.035em;line-height:1.2}.statement{border-top:1px solid var(--line)}.statement h2{max-width:1200px;font-size:clamp(44px,4.8vw,78px);margin:0 0 44px}.statement-bottom{display:flex;justify-content:space-between;gap:40px;align-items:start}.crosshair{font-size:80px;line-height:1;color:var(--accent)}.statement-bottom p{max-width:660px;font-size:22px;line-height:1.65;margin:0;color:var(--muted)}.expertise{padding-top:30px}.section-head{display:grid;grid-template-columns:.8fr 1.5fr 1fr;gap:32px;align-items:start;margin-bottom:48px}.section-head .eyebrow{margin-top:7px}.section-head h2{margin:0}.section-head>p:last-child{font-size:19px;line-height:1.6;margin:5px 0 0;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-list{border-top:2px solid var(--ink)}.service-list details{padding:0 20px}.service-list details[open]{background:var(--white)}.service-list summary{display:grid;grid-template-columns:45px 1.3fr 1fr 32px;align-items:center;gap:24px;padding:30px 0;min-height:110px}.service-no{font:16px var(--mono);color:var(--accent)}.service-list h3{font-size:28px;margin:0}.service-teaser{font-size:18px;line-height:1.5;color:var(--muted)}.expand{font-size:32px;color:var(--accent);transition:transform .2s}.service-list details[open] .expand{transform:rotate(45deg)}.service-body{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:0 56px 36px 69px}.service-body p{font-size:19px;line-height:1.7;margin:0;color:var(--muted)}.service-body ul{list-style:none;padding:0;margin:0;font-size:18px;line-height:1.7}.service-body li{padding:4px 0 4px 25px;position:relative}.service-body li:before{content:'↗';position:absolute;left:0;color:var(--accent)}
.possibilities{background:var(--ink);color:var(--paper)}.possibilities .eyebrow{color:#d3fc96}.possibilities h2 em{color:#d3fc96}.possibilities .section-head>p:last-child{color:#bccdb3}.use-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.use-cases article{background:#213429;padding:24px;display:flex;flex-direction:column}.case-visual{height:195px;display:flex;align-items:center;justify-content:center;background:#2b4433;position:relative;overflow:hidden;margin-bottom:30px}.case-visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#c2e6a314 1px,transparent 1px),linear-gradient(90deg,#c2e6a314 1px,transparent 1px);background-size:24px 24px}.case-visual span{z-index:1}.visual-data>span{padding:10px 6px;border:1px solid #c2deaa;background:#263d2c;font:16px var(--mono)}.visual-data i{width:12px;height:1px;background:#c2deaa}.visual-twin{gap:28px;flex-direction:column}.visual-twin>span{font:16px var(--mono)}.wire-cube{width:54px;height:54px;border:1px solid #d3fc96;transform:rotate(-30deg) skew(20deg,10deg);background:repeating-linear-gradient(0deg,transparent 0 12px,#c2e6a355 12px 13px),repeating-linear-gradient(90deg,transparent 0 12px,#c2e6a355 12px 13px);box-shadow:8px 9px 0 #2b4433,9px 10px 0 #c2deaa,17px 19px 0 #2b4433,18px 20px 0 #c2deaa}.visual-ai{flex-wrap:wrap;gap:8px;align-content:center;padding:12px}.query-line{font-size:18px;flex-basis:100%;text-align:center;margin-bottom:8px}.source-chip{font:16px var(--mono);border:1px solid #a6bc96;padding:8px;background:#263d2c}.use-cases .eyebrow{font-size:16px;letter-spacing:0;margin-bottom:0}.use-cases h3{font-size:36px;margin:18px 0}.use-cases article>p:not(.eyebrow){font-size:19px;line-height:1.6;color:#cfdbc7;margin:0 0 26px}.use-cases a{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #64765a;padding:18px 0 0;font-size:16px;min-height:66px;margin-top:auto;color:#d3fc96}.use-cases a:hover{color:white;text-decoration:underline;text-underline-offset:4px}.concept-note{font-size:16px;color:#bdcdb0;margin:30px 0 0}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:8%}.approach h2{margin:0 0 24px}.text-link{display:inline-flex;align-items:center;min-height:48px;font-size:18px;border-bottom:1px solid var(--ink)}.approach ol{padding:0;list-style:none;margin:0}.approach li{display:flex;gap:28px;border-top:1px solid var(--line);padding:30px 0}.approach li>span{font:16px var(--mono);padding-top:7px;color:var(--accent)}.approach h3{font-size:29px;margin:0 0 14px}.approach li p{font-size:19px;line-height:1.7;color:var(--muted);margin:0}.contact{background:var(--soft);border-block:1px solid #c4cfbb}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-size:clamp(48px,4.7vw,76px);margin:0 0 30px}.email{display:inline-flex;align-items:center;gap:15px;min-height:48px;font-size:22px;color:var(--accent);word-break:break-word}.contact-note{font-size:19px;line-height:1.7;color:var(--muted);max-width:420px}form{min-width:0;background:var(--white);padding:32px;border:1px solid #c4cfbb}label{display:block;font-size:18px;font-weight:600;margin:0 0 9px}label:not(:first-child){margin-top:22px}label span{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;min-width:0;border:1px solid #879780;background:var(--white);color:var(--ink);padding:14px;font-size:18px;border-radius:0;min-height:54px}textarea{resize:vertical;min-height:150px;line-height:1.6}::placeholder{color:#61705a;opacity:1}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.download-button{min-height:58px;background:transparent;border:1px solid #879780;color:var(--ink);padding:12px 16px;font-size:16px}.download-button:hover{background:var(--soft)}.form-privacy{font-size:16px;line-height:1.6;color:var(--muted);margin:20px 0 0}#email-ready{background:var(--soft);padding:18px;margin-top:20px}#email-ready p,#form-status{font-size:16px;line-height:1.6}.email-draft{display:inline-flex;min-height:48px;align-items:center;font-weight:600;text-decoration:underline;color:var(--accent)}#form-status:empty{display:none}
footer{max-width:1760px;margin:auto;padding:50px var(--pad) 32px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-top{padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top p{font-size:18px;color:var(--muted)}.footer-top>a:last-child{font-size:16px;min-height:48px;display:inline-flex;align-items:center}.footer-bottom{font-size:16px;color:var(--muted);padding-top:25px}.footer-bottom>a{display:inline-flex;min-height:48px;align-items:center}#privacy{font-size:16px;border:0;color:var(--muted);margin-top:16px}#privacy summary{display:flex;align-items:center;min-height:48px;width:fit-content;text-decoration:underline;text-underline-offset:4px}#privacy p{max-width:1050px;line-height:1.7}
@media(min-width:1600px){.hero-grid{gap:6%}.story-frame{aspect-ratio:1.7}}
@media(max-width:1150px){nav{gap:18px}.brand{font-size:25px}.hero-grid{gap:4%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}h1{font-size:clamp(52px,6vw,72px)}.hero-description{font-size:19px}.story-frame{aspect-ratio:1.35}.section-head{grid-template-columns:.7fr 1.4fr 1fr;gap:24px}.service-list h3{font-size:25px}.use-cases{gap:16px}.use-cases article{padding:18px}.visual-data{flex-wrap:wrap;align-content:center;gap:6px}.visual-data i{width:8px}.visual-data>span{font-size:16px}.visual-twin>span{font-size:16px;text-align:center}.use-cases h3{font-size:31px}.contact-grid{gap:5%}form{padding:25px}.footer-top{flex-wrap:wrap}}
@media(max-width:900px){header{flex-wrap:wrap;gap:15px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}nav a{font-size:16px}.hero-grid{grid-template-columns:1fr;gap:40px;padding-top:30px}h1{font-size:clamp(60px,10vw,90px)}.hero-copy{max-width:700px}.hero-description{max-width:580px;font-size:21px}.hero-story{width:100%}.story-frame{aspect-ratio:1.55}.story-caption{min-height:190px}.story-choices button span{display:inline;margin-right:12px}.section{padding-block:75px}.section-head{grid-template-columns:1fr 1.5fr}.section-head>p:last-child{grid-column:2}.use-cases{grid-template-columns:1fr}.use-cases article{display:grid;grid-template-columns:1fr 1.3fr;column-gap:28px;padding:28px}.case-visual{grid-column:1;grid-row:1 / 5;height:100%;min-height:250px;margin:0}.use-cases article>.eyebrow,.use-cases article>h3,.use-cases article>p,.use-cases article>a{grid-column:2}.use-cases article h3{font-size:36px}.approach{gap:5%}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:64px}.contact-note{max-width:600px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){header{padding-block:18px}.brand{font-size:24px;gap:9px}.brand svg{width:34px;height:43px}.brand-mini{left:44px;font-size:8px;letter-spacing:1.8px;bottom:4px}.header-contact{padding:10px 14px;gap:12px;font-size:16px}.hero{padding-top:25px}.hero-topline .eyebrow{font-size:16px;letter-spacing:0}.hero-grid{padding-bottom:34px}.hero-description{font-size:20px}h1{font-size:clamp(47px,11.5vw,68px);letter-spacing:-.06em}.hero-foot{align-items:start;flex-direction:column;gap:8px;font-size:16px}.hero-foot>span{max-width:300px}.story-frame{aspect-ratio:1.1}.scene-bar{padding:12px}.scene-turn{justify-content:flex-start}.scene-turn button{padding:8px 12px}.story-choices button{font-size:16px;padding:10px 3px}.story-choices button span{display:block;margin:0}.story-caption{padding:22px 18px 0;min-height:250px}.story-caption h2{font-size:27px}.story-disclosure{padding-inline:18px}.hero-story{box-shadow:6px 6px 0 #cad2c3}.section{padding-block:64px}.eyebrow{letter-spacing:0}h2,.statement h2{font-size:clamp(36px,8.5vw,49px)}.statement-bottom{gap:20px}.crosshair{font-size:45px}.statement-bottom p{font-size:20px}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.section-head>p:last-child{grid-column:auto}.section-head .eyebrow{margin:0}.service-list details{padding-inline:0}.service-list summary{grid-template-columns:25px 1fr 24px;gap:12px;padding:26px 0;min-height:96px}.service-list h3{font-size:24px}.service-teaser{display:none}.service-body{grid-template-columns:1fr;padding:0 12px 30px 37px;gap:22px}.service-body p{font-size:18px}.service-body ul{font-size:18px}.use-cases article{display:flex;padding:20px}.case-visual{min-height:190px;height:190px;margin-bottom:25px}.use-cases article h3{font-size:36px}.use-cases article a{margin-top:auto}.approach{grid-template-columns:1fr;gap:35px}.approach li{gap:18px}.approach h3{font-size:27px}.contact h2{font-size:clamp(43px,10vw,60px)}.email{font-size:19px;gap:8px}form{padding:20px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{padding-inline:16px;gap:10px}.form-privacy{font-size:16px}.footer-top,.footer-bottom{align-items:start;flex-direction:column;gap:15px}.footer-top p{margin:0}.footer-bottom{font-size:16px}.city-loader>span{font-size:16px;letter-spacing:0}}
@media(max-width:360px){:root{--pad:16px}.brand{font-size:21px}.brand-mini{font-size:7px;letter-spacing:1.5px}.header-contact{padding:8px 10px;gap:6px}.story-caption{min-height:290px}.scene-turn{gap:6px}.scene-turn button{padding-inline:10px}form{padding:16px}.statement-bottom{display:block}.crosshair{display:block;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.possibilities :focus-visible{outline-color:#d3fc96}

/* Option A palette, with Option B's larger typography and layout. */
.dark-intro{--paper:#101915;--white:#16221c;--ink:#f5f5ef;--muted:#afc0a6;--accent:#d3fc96;--line:#3a4b3d;--soft:#293d2c;background:var(--paper);color:var(--ink)}
.dark-intro .hero-story{box-shadow:12px 12px 0 #0b120e}
.dark-intro .button,.dark-intro .header-contact{background:var(--accent);color:#18251d}
.dark-intro .button:hover,.dark-intro .header-contact:hover{background:#e6ffc3;color:#18251d}
.dark-intro .scene-turn button{background:#16221c;color:#f5f5ef;border-color:#879780}
.dark-intro .scene-turn button:hover,.dark-intro .scene-turn button[aria-pressed="true"]{background:#293d2c;color:#d3fc96;border-color:#d3fc96}
.dark-intro .story-choices button[aria-pressed="true"],.dark-intro .story-choices button:hover{background:#d3fc96;color:#18251d}
.dark-intro .scene-loading button{color:#f5f5ef}
.possibilities .eyebrow,.possibilities .crosshair{color:#d3fc96}

/* One clipped specular reflection per header hover/focus entry. */
.logo-metal-sweep{opacity:0;transform:translate(-300px,-50px) rotate(-25deg);transform-origin:0 0;pointer-events:none}
@keyframes tw-metal-sweep{0%{opacity:0;transform:translate(-300px,-50px) rotate(-25deg)}8%{opacity:1}92%{opacity:1}100%{opacity:0;transform:translate(750px,-50px) rotate(-25deg)}}
@media(prefers-reduced-motion:no-preference){header .brand:focus-visible .logo-metal-sweep{animation:tw-metal-sweep 1.8s linear 1}}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){header .brand:hover .logo-metal-sweep{animation:tw-metal-sweep 1.8s linear 1}}
@media(prefers-reduced-motion:reduce){header .brand .logo-metal-sweep{animation:none;opacity:0}}

/* Screen-aware rhythm: content may grow; there are no clipped or nested scroll panels. */
:root{--view-h:100vh}
@supports(height:100svh){:root{--view-h:100svh}}
@supports(height:100dvh){@media(min-width:901px){:root{--view-h:100dvh}}}
header{padding-block:12px}
.hero{padding-top:16px}
.hero-grid{padding-block:20px;align-items:center;gap:4%}
h1{font-size:clamp(3rem,min(5.2vw,8svh),5.5rem);margin-bottom:20px}
.hero-description{font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.5;margin-bottom:20px}
.audience{margin-top:18px}
.hero-story{box-shadow:none!important}
.story-frame{aspect-ratio:auto;height:clamp(200px,calc(var(--view-h) - 500px),620px)}
.scene-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px}
.scene-bar>span{margin:0;flex:1;min-width:0}
.scene-turn{flex-shrink:0}
.story-choices button{min-height:50px;padding:8px}
.story-choices button span{display:inline;margin-right:8px}
.story-caption{min-height:0;padding:16px 20px 0}
.story-caption h2{font-size:24px;line-height:1.15;margin-bottom:8px}
.story-caption p{font-size:18px;line-height:1.5}
.story-disclosure{padding:0 20px 8px}
.story-disclosure summary{min-height:40px}
.section{padding-block:clamp(36px,7svh,100px)}
.section-head{margin-bottom:clamp(24px,4svh,48px)}
h2,.statement h2{font-size:clamp(2.25rem,min(4.5vw,7svh),4.875rem)}
.statement h2{margin-bottom:clamp(24px,4svh,44px)}
.case-visual{height:clamp(140px,22svh,220px)}
.service-list summary{padding-block:clamp(20px,3svh,30px);min-height:88px}
.approach li{padding-block:clamp(20px,3svh,30px)}
.contact h2{font-size:clamp(2.5rem,min(4.7vw,7svh),4.75rem)}
@media(min-width:901px){.hero-grid{min-height:calc(var(--view-h) - 122px)}.hero-copy{padding-block:8px}}
@media(min-width:901px) and (max-height:740px){
 header{padding-block:8px}.hero{padding-top:12px}.hero-grid{padding-block:16px}
 h1{font-size:clamp(3rem,min(4.5vw,7.5svh),4rem)}
 .story-caption{padding-top:12px}.story-caption h2{font-size:22px}
 .scene-bar{flex-wrap:wrap}.scene-bar>span{flex-basis:100%}.scene-turn{margin-left:auto}
}
@media(max-width:1100px) and (min-width:901px){.scene-bar{flex-wrap:wrap}.scene-bar>span{flex-basis:100%}.scene-turn{margin-left:auto}}
@media(max-width:900px){
 .hero-grid{min-height:0;align-items:start;gap:32px;padding-block:24px}
 h1{font-size:clamp(3rem,10vw,5.25rem)}.hero-description{font-size:20px}
 .story-frame{height:clamp(220px,44svh,520px)}
 .scene-bar{flex-wrap:wrap}.scene-bar>span{flex-basis:100%}.scene-turn{margin-left:0}
 .story-caption{min-height:0}.story-choices button span{display:block;margin:0}
 .section-head{gap:20px}.case-visual{min-height:160px}
 .use-cases article{min-width:0}
}
@media(max-width:600px){
 .hero-grid{padding-block:24px}.story-frame{height:clamp(200px,38svh,380px)}
 .story-caption{padding:18px 16px 0}.story-disclosure{padding:0 16px 10px}
 .story-choices button{padding:10px 3px}.section{padding-block:40px}
 .statement-bottom p{font-size:18px}.contact h2{font-size:clamp(2.5rem,10vw,3.75rem)}
}
@media(max-height:500px) and (orientation:landscape){.story-frame{height:220px}.hero-grid{min-height:0}.section{padding-block:32px}}

/* v23: paired headline and lightweight illustrative mesh assembly. */
.hero-copy{container-type:inline-size}
h1{font-size:clamp(28px,3.6vw,64px);line-height:1.08;letter-spacing:-.055em}
@supports(font-size:1cqw){h1{font-size:clamp(28px,9.3cqw,64px)}}
h1 .headline-line{display:block;color:inherit}h1 .headline-line:last-child{color:var(--accent)}
/* Feather scenery into the page; keep controls and focus indicators crisp. */
.hero-story{background:transparent;border:0;box-shadow:none!important}
.story-frame{background:transparent;border:0;border-radius:0;overflow:visible}
#story-viewport{background:transparent;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 87%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 87%,transparent);-webkit-mask-composite:source-in}
.story-frame:focus-within{outline:2px solid var(--accent);outline-offset:5px}
.hero-story[data-ready="loading"] #story-viewport canvas{pointer-events:none}
#story-viewport .geometry-reveal{z-index:1;pointer-events:none;cursor:default}
.hero-story[data-ready="true"] canvas{animation:none}
@media(max-width:700px){#story-viewport{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 89%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 89%,transparent)}}

/* Immediate feedback until the first real environment frame is painted. */
.scene-initial{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:var(--ink);text-align:center;padding:24px;background:radial-gradient(ellipse,#23372a55,transparent 70%)}
.scene-initial span{font-size:22px}.scene-initial small{font-size:16px;color:var(--muted)}
.hero-story[data-building="true"] .scene-initial,.hero-story[data-ready="true"] .scene-initial,.hero-story[data-ready="fallback"] .scene-initial{display:none}
.city-info{position:relative;padding:0 20px 4px;z-index:5;width:100%}
#city-info-button{background:transparent;border:0;color:var(--muted);font-size:16px;min-height:44px;padding:4px 0;text-decoration:underline;text-underline-offset:4px;cursor:help}
#city-info-tooltip{position:absolute;left:20px;right:20px;bottom:100%;padding:18px;background:#203126;color:#f5f5ef;border:1px solid #65775c;box-shadow:0 12px 36px #0005;font-size:16px;line-height:1.55;border-radius:8px;max-height:65svh;overflow:auto}
@media(min-width:901px){
 .contact .contact-grid{padding-block:24px;align-items:center;gap:5%}
 .contact .eyebrow{margin-bottom:12px}.contact h2{font-size:clamp(38px,5.8svh,60px);margin-bottom:16px}
 .contact-note{margin-top:16px;font-size:18px;line-height:1.5}
 .contact form{padding:20px 24px}.contact label{margin-bottom:6px;font-size:16px}
 .contact input,.contact select,.contact textarea{padding:10px 12px;margin-bottom:12px;font-size:16px;min-height:44px}
 .contact textarea{height:84px;min-height:70px}.contact .form-actions{margin-top:0;gap:12px}
 .contact .form-actions .button{min-height:48px;padding:10px 16px;font-size:16px}
 .contact .form-privacy{margin-top:12px;font-size:14px;line-height:1.45}.contact #form-status:empty{display:none}
 footer{padding-block:16px 12px}.footer-top{padding-bottom:8px}.footer-top p{font-size:16px;margin:0}
 .footer-bottom{padding-top:4px;font-size:14px;gap:16px}#privacy{margin-top:0}#privacy summary{min-height:36px}
}

/* One concise footer: identity, email, copyright, contact and privacy. */
footer{position:relative}.footer-top{padding-bottom:8px}.footer-bottom{padding-right:90px}
footer #privacy{margin-top:0}footer #privacy summary{position:absolute;right:var(--pad);bottom:18px;min-height:44px}
footer #privacy[open] summary{position:static}footer #privacy[open] p{margin-top:12px}
@media(max-width:900px){footer{padding-block:24px}.footer-top{gap:12px}.footer-bottom{padding-top:12px;gap:8px;padding-right:0}footer #privacy summary{position:static}}

/* Compact help stays with the controls, outside the scenery mask. */
.scene-turn .city-info{width:44px;flex:0 0 44px;padding:0;align-self:center;position:relative}
.scene-turn #city-info-button{width:44px;height:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1;padding:0;text-decoration:none;background:transparent;color:var(--muted)}
.scene-turn #city-info-button:hover,.scene-turn #city-info-button:focus-visible{color:var(--accent);border-color:var(--accent)}
.scene-turn #city-info-tooltip{left:auto;right:0;bottom:100%;width:min(350px,calc(100vw - 64px));text-align:left;cursor:auto}
@media(max-width:900px){.scene-turn .city-info{margin-left:auto}.scene-turn{width:100%}}
