/* Only the opening and added commerce module are new. The V2 content styles remain intact. */
html{overflow-x:hidden;scroll-padding-top:92px}
.site-nav{position:sticky;top:0;background:var(--paper);z-index:30}
.nav-links{gap:16px}.brand-name{font-size:14px}
.company-overview{padding-top:38px}.company-statement{max-width:820px;font-size:18px;line-height:1.9;font-family:var(--display)}
#company-overview+.cinema-proof{padding-top:26px;padding-bottom:36px}
#ribbon-intro{--bg:#0a0a0b;--ink:#f4f1ea;--mid:#8d8b86;--line:rgba(244,241,234,.16);color:var(--ink);background:var(--bg);font-family:'Inter Tight','PingFang SC',sans-serif;line-height:1.35;position:relative}
#ribbon-intro #track{height:100svh;min-height:560px}
#ribbon-intro .stage{position:relative;height:100%;min-height:560px;isolation:isolate}
#ribbon-intro h1{margin:0;font-family:inherit;font-size:inherit;font-weight:400}
#ribbon-intro .hl{font-family:inherit}
#ribbon-intro .top{z-index:5;left:4vw;right:4vw}
#ribbon-intro .logo{font-weight:400;letter-spacing:-.04em;pointer-events:auto}
#ribbon-intro .logo span{font-size:13px;margin-left:8px}
#ribbon-intro #cap{font-size:14px;line-height:1.7;letter-spacing:.05em}
#ribbon-intro .acts button,#ribbon-intro .acts a{font-family:inherit;font-size:12px;font-weight:400;color:var(--ink);border:1px solid var(--line);background:transparent;line-height:1;padding:10px 14px;height:36px;border-radius:0;letter-spacing:0}
#ribbon-intro .acts button:hover,#ribbon-intro .acts a:hover{border-color:var(--ink)}
#ribbon-intro .acts [hidden]{display:none}
#ribbon-intro .bot{left:4vw;right:4vw;bottom:34px;z-index:5}
#ribbon-intro .bot a{pointer-events:auto;cursor:pointer}
#ribbon-intro #hint{top:80px;border:0;font-family:inherit;font-size:11px;opacity:.65!important}
#ribbon-intro #demo-note{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--mid);z-index:5;white-space:nowrap}
#ribbon-intro #name{z-index:6}
#ribbon-intro #fallback{position:absolute;inset:0;display:grid;place-content:center;gap:28px;text-align:center;background:var(--bg);z-index:4}
#ribbon-intro #fallback[hidden]{display:none}
#ribbon-intro #fallback p{font-size:7vw}
#ribbon-intro .intro-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--line);z-index:7}
#ribbon-intro .intro-progress i{display:block;width:100%;height:100%;background:#a4613c;transform:scaleX(0);transform-origin:left}
#ribbon-intro :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.commerce-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:22px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.commerce-stats dt{font:52px/1.3 Georgia,serif}.commerce-stats dt span{font:13px/1.5 -apple-system,sans-serif;margin-left:8px}.commerce-stats dd{margin:7px 0 0;color:var(--muted);font-size:12px}
.network-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:48px;align-items:center;margin-top:24px}
.network-map{min-width:0}.network-map svg{display:block;width:100%;height:auto;overflow:visible}
.province{fill:#e9e7de;stroke:#f9f8f4;stroke-width:.8;stroke-linejoin:round;transition:fill .25s}
.province.highlighted{fill:#cba488}
.city-pin{cursor:pointer;outline:none}
.pin-halo{fill:var(--accent);opacity:0;transition:opacity .2s}
.pin-dot{fill:var(--accent);stroke:var(--paper);stroke-width:1.8;transition:r .2s}
.pin-leader{stroke:#9c4924;stroke-width:1;fill:none}
.city-pin text{fill:#63432f;font:15px 'PingFang SC',sans-serif;paint-order:stroke;stroke:#f9f8f4;stroke-width:5px;stroke-linejoin:round}
.city-pin.active .pin-halo,.city-pin:hover .pin-halo,.city-pin:focus-visible .pin-halo{opacity:.18}
.city-pin.active text{font-weight:600}.city-pin.active .pin-dot{r:6}
.map-credit{font-size:9px;color:var(--muted);margin-top:8px}.map-credit a{text-decoration:underline;text-underline-offset:3px}
.network-index h3{font-size:27px}.network-copy{font-size:12px;color:var(--muted);margin:12px 0 24px}
.centre-choice{display:grid;grid-template-columns:28px 1fr 1fr 20px;align-items:center;width:100%;padding:14px 0;gap:10px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--muted)}
.centre-choice>span{font:10px monospace}.centre-choice strong{font-size:18px;font-weight:400;font-family:var(--display)}.centre-choice small{font-size:9px;letter-spacing:.08em}.centre-choice i{font-style:normal;opacity:0}.centre-choice.active{color:var(--accent)}.centre-choice.active i{opacity:1}.centre-current{font-size:11px;color:var(--muted);margin-top:16px}.commerce-note{font-size:11px;color:var(--muted);margin-top:24px}
@media(max-width:1080px){.network-layout{gap:22px;grid-template-columns:1.65fr 1fr}.site-nav{gap:16px}}
@media(prefers-reduced-motion:reduce){#ribbon-intro .hl,#ribbon-intro #cap,#ribbon-intro #cross,#ribbon-intro #glow,#ribbon-intro #rule{display:none}}
/* The body entry sits immediately below the intro, without retaining an intro footer strip. */
#company{scroll-margin-top:-92px}

/* The body follows the opening's outer frame; the ribbon choreography remains original. */
@media(min-width:1081px){
 :root{--shell:92vw}
 .section-copy{max-width:42em}
 .account-thesis,.account-spec dd{max-width:44em}
 .cover-stack{height:clamp(240px,20vw,390px)}
 .cover-plane{max-width:940px}
 .page-stack{height:clamp(300px,26vw,470px)}
 .page-plane{max-width:1680px}
 .production-story a{height:clamp(230px,18vw,340px)}
 .case-row p,.process-step p{max-width:44em}
 .results-figure{max-width:480px}
 .goal-panel p{max-width:44em}
 .network-map svg{max-height:600px}
 .price-row{padding:28px}
 .company-statement{max-width:48em}
}
