/* A single, scroll-driven industrial landscape. */
:root { --bg:#d7e1ec; --surface:#ffffff; --ink:#13171b; --muted:#536373; --line:#afbfce; --accent:#0030cf; --button-ink:#fff; }
.site-page { background:var(--bg); color:var(--ink); }
.site-page .tonal-surface { --bg:#cbd7e3; --surface:#d7e1ec; background:var(--bg); }
.site-page .header { --ink:#13171b; --muted:#536373; --accent:#0030cf; --line:#afbfce; color:var(--ink); background:#d7e1ece8; border-color:#afbfce; }
.site-page .header.past-hero { background:#d7e1ecf5; border-color:#afbfce; }
.site-page .header .brand-image img,.site-page .site-footer .brand-image img { filter:brightness(0); }
.site-page .brand .brand-image { aspect-ratio:2018 / 328; overflow:hidden; }
.site-page .brand-image svg { display:block; width:100%; height:100%; }
.site-page .brand { color:#13171b; }
.home-page .header .brand { color:#fff; }
.site-page .header nav.open { background:#d7e1ec; }
.site-page .primary { background:var(--accent); color:white; }
.site-page .primary:hover { background:#0024a1; }
.site-page .site-footer { background:#cbd7e3; color:var(--ink); }
.site-page .product-hero figure,.site-page .equipment-field { background:transparent; }
.site-page .catalog-drawing,.site-page .product-hero figure { color:#0030cf; }
.site-page .config-card:hover,.site-page .product-card:hover { background:#c3d2e0; }
.site-page .technical-note,.site-page .preview-note { background:#c3d2e0; color:#394c5c; }
.site-page form input,.site-page form textarea { background:#ffffff; color:var(--ink); border-color:#9aafc1; }
.home-page { --site-header-height:76px; }
.home-page .header { top:24px; right:30px; left:30px; bottom:auto; display:flex; min-height:0; height:46px; padding:0; gap:0; border:0; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; }
.home-page .header.past-hero { background:transparent; border:0; }
.home-page .header .brand { align-self:stretch; padding:0 18px; background:#13171b; border-radius:3px 0 0 3px; }
.home-page .header .brand-image { width:155px; }
.home-page .header .brand-image img { filter:brightness(0) invert(1); }
.home-page .header nav { display:flex; position:static; flex-direction:row; inset:auto; border:0; background:#13171b; color:#ffffff; align-self:stretch; margin:0; padding:0 20px 0 12px; align-items:center; border-radius:0 3px 3px 0; gap:24px; font-size:12px; }
.home-page .header nav a { padding:14px 0; position:relative; z-index:1; color:#fff; }
.home-page .header-contacts { display:none; }
.home-page .header-cta { display:flex; margin-left:auto; font-size:12px; min-height:44px; padding:0 4px 0 20px; border:0; gap:12px; }
.home-page .menu-toggle { display:none; }
.home-page .header-cta::before { content:''; width:7px; height:7px; background:#0030cf; border-radius:50%; }
.home-page main { overflow:clip; }
.experience { position:relative; background:#d7e1ec; }
.experience-stage { position:sticky; top:0; height:100svh; height:100dvh; min-height:0; isolation:isolate; overflow:hidden; }
.experience-visual { position:absolute; inset:0; z-index:-1; }
#protection-canvas,.scene-fallback { position:absolute; inset:0; display:block; width:100%; height:100%; }
#protection-canvas { opacity:0; transition:opacity .5s; }
.experience-stage[data-webgl="ready"] #protection-canvas { opacity:1; }
.experience-stage[data-webgl="ready"] .scene-fallback { visibility:hidden; }
.experience-intro { position:absolute; top:18%; left:6%; max-width:335px; pointer-events:none; }
.experience-intro>p { font-size:13px; margin-bottom:20px; }
.experience-intro h1 { font-size:clamp(35px,3.1vw,46px); letter-spacing:-.055em; line-height:1.04; font-weight:400; margin:0; }
.experience-intro>span { display:block; margin-top:25px; font-size:10px; color:#536373; }
.experience-intro { transition:opacity .4s,transform .4s; }
.experience-stage[data-chapter]:not([data-chapter="0"]) .experience-intro { opacity:0; transform:translateY(-14px); }


.chapter-panels { position:absolute; bottom:112px; right:3%; width:330px; }
.chapter-panel { background:#eff5fae8; backdrop-filter:blur(12px); border:1px solid #9cabb9; padding:20px 23px 0; border-radius:2px; }
.chapter-panel[hidden] { display:none; }
.chapter-topline { display:flex; justify-content:space-between; font-size:10px; color:#526372; }

.chapter-panel h2 { font-size:55px; letter-spacing:-.065em; line-height:1; margin:20px 0 13px; font-weight:400; }
.chapter-panel h2#chapter-title-4 { font-size:46px; }
.chapter-definition { margin:0 0 12px; color:#536373; font-size:13px; line-height:1.45; letter-spacing:0; }
.chapter-caption { font-size:13px; line-height:1.45; max-width:255px; margin-bottom:21px; }
.chapter-details { border-top:1px solid #b5c4d0; margin:0 -23px; }
.chapter-details summary { display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:0 23px; font-size:11px; list-style:none; }
.chapter-details summary::-webkit-details-marker { display:none; }
.chapter-details summary span { font-size:20px; font-weight:300; }
.chapter-details[open] summary span { transform:rotate(45deg); }
.experience .chapter-panel:nth-child(-n+5) .chapter-details>summary {
 color:#13171b; cursor:pointer;
 background-image:linear-gradient(#c3f84a,#c3f84a); background-repeat:no-repeat;
 background-position:left center; background-size:var(--story-cta-fill,0%) 100%;
 transition:background-color .18s,box-shadow .18s;
}
.experience .chapter-panel:nth-child(-n+5) .chapter-details>summary span { transition:transform .2s; }
@media(hover:hover) {
 .experience .chapter-panel:nth-child(-n+5) .chapter-details>summary:hover { background-color:#dff3c1; box-shadow:inset 0 -2px #13171b33; }
}
.experience .chapter-panel:nth-child(-n+5) .chapter-details>summary:active { box-shadow:inset 0 0 0 2px #13171b; }
.experience .chapter-panel:nth-child(-n+5) .chapter-details>summary:focus-visible { outline:2px solid #0030cf; outline-offset:-4px; }
@media(prefers-reduced-motion:reduce) {
 .experience .chapter-panel:nth-child(-n+5) .chapter-details>summary,
 .experience .chapter-panel:nth-child(-n+5) .chapter-details>summary span { transition:none; }
}
.chapter-details>div { padding:0 23px 22px; max-height:38svh; overflow:auto; }
.chapter-details p { font-size:14px; line-height:1.6; margin:12px 0; color:#3d5060; }
.chapter-details a { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; margin-top:20px; padding:12px 18px; border:0; border-radius:2px; background:#0030cf; color:#fff; font-size:12px; font-weight:500; line-height:1.3; text-align:center; text-decoration:none; transition:background .18s; }
.chapter-details a:hover { background:#0025a7; }
.chapter-details a:focus-visible { outline:2px solid #0030cf; outline-offset:3px; }


.experience-tools { position:absolute; bottom:67px; right:3%; display:flex; align-items:center; gap:20px; font-size:9px; color:#536373; }
#scene-motion { min-height:34px; padding:7px 10px; background:transparent; border:1px solid #9dadbd; border-radius:2px; font-size:10px; color:#344859; }
#scene-motion span { margin-left:6px; }
.scroll-invitation { position:absolute; bottom:106px; left:3%; border:0; background:transparent; font-size:11px; display:flex; gap:10px; align-items:center; padding:10px 0; color:#344859; }
.scroll-symbol { width:16px; height:24px; border:1px solid #647d91; border-radius:10px; position:relative; }
.scroll-symbol::after { content:''; position:absolute; left:6px; top:5px; width:2px; height:5px; background:#0030cf; animation:scroll-tick 1.8s infinite; }
@keyframes scroll-tick { 0%,100% {transform:translateY(0);opacity:.5} 50% {transform:translateY(7px);opacity:1} }
.chapter-navigation { position:absolute; bottom:0; left:0; right:0; background:#d7e1ecee; backdrop-filter:blur(8px); height:48px; display:flex; align-items:stretch; border-top:1px solid #afbfce; }
.chapter-navigation>a { position:relative; display:flex; gap:14px; align-items:center; flex:1; min-width:0; padding:0 20px; font-size:11px; border-right:1px solid #afbfce; transition:background .25s; }
.chapter-navigation>a>span { font-size:9px; color:#536373; }
.chapter-navigation>a i { position:absolute; bottom:0; left:0; width:var(--chapter-progress,0%); height:3px; background:#0030cf; }
.chapter-navigation>a[aria-current] { background:#c2d1e1; }
.chapter-navigation>a[aria-current]::after { content:''; margin-left:auto; width:5px; height:5px; border-radius:50%; background:#0030cf; }
.chapter-navigation>a:hover { background:#c2d1e1; }
#experience-progress { display:flex; align-items:center; justify-content:center; min-width:76px; font-size:11px; font-variant-numeric:tabular-nums; }
.experience-steps { position:absolute; inset:0; pointer-events:none; z-index:-2; }
.experience-step { height:110svh; scroll-margin-top:0!important; }
@media(min-width:1700px) { .experience-intro {left:8%} .chapter-panels {right:5%;width:370px} }
@media(max-width:1000px) { .home-page .header nav {gap:16px;font-size:11px;} .home-page .header .brand-image {width:135px} .chapter-panels {width:295px;} .experience-intro {top:17%;left:5%;max-width:450px;} .experience-intro h1 {font-size:43px}  .chapter-navigation>a {padding:0 13px;gap:9px;} }
@media(max-width:760px) {
 .home-page .header { top:18px; left:20px; right:20px; height:42px; }
 .home-page .header .brand {border-radius:2px;padding:0 13px} .home-page .header .brand-image {width:124px}
 .home-page .header nav {display:none;} .home-page .menu-toggle {display:flex;order:3;background:#13171b;border:0;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:2px;margin-left:12px;}
 .home-page .menu-toggle span {display:block;width:17px;height:1px;background:white;}
 .home-page .header nav.open {display:flex;position:absolute;top:53px;left:0;right:0;background:#13171b;color:white;flex-direction:column;padding:15px 20px;align-items:stretch;gap:0;border-radius:2px;}
 .home-page .header-cta {font-size:10px;min-height:42px;padding-left:10px;gap:6px;}
 .experience-stage {min-height:0;}
 .experience-intro {top:110px;left:25px;right:25px;max-width:none;}
 .experience-intro>p {font-size:11px;margin-bottom:12px;}
 .experience-intro h1 {font-size:clamp(30px,5vw,35px);line-height:1.03;}
 .experience-intro>span {display:none;}
 
 .chapter-panels {bottom:99px;left:20px;right:20px;width:auto;max-width:420px;margin-left:auto;}
 .chapter-panel {padding:15px 18px 0;}
 .chapter-topline {font-size:9px;}
 .chapter-panel h2 {font-size:39px;margin:10px 0 7px;} .chapter-panel h2#chapter-title-4 {font-size:35px;}
 .chapter-caption {font-size:11px;margin-bottom:12px;max-width:100%;}
 .chapter-details {margin:0 -18px;} .chapter-details summary {padding:0 18px;min-height:44px;font-size:10px;}
 .chapter-details>div {padding:0 18px 15px;max-height:29svh;}
 .chapter-details p {font-size:13px;}
 .experience-tools {bottom:55px;right:21px;left:21px;justify-content:space-between;font-size:8px;}
 .scroll-invitation {display:none;}
 .chapter-navigation {height:46px;}
 .chapter-navigation>a {padding:0 7px;justify-content:center;font-size:10px;gap:0;}
 .chapter-navigation>a>span {display:none;}
 .chapter-navigation>a[aria-current]::after {display:none;}
 #experience-progress {min-width:45px;font-size:9px;}
 
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;} .scroll-symbol::after {animation:none;} #protection-canvas,.experience-intro,.chapter-navigation>a {transition:none;}
}

/* Reserve a separate reading area; the camera measures its actual bounds. */
.experience-intro { top:108px; opacity:var(--intro-opacity,1); transition:none; }
.experience-intro>span { display:none; }
.experience-stage[data-details-open="true"] .experience-intro { opacity:0; }
@media (min-width:1100px) {
 .chapter-panels { bottom:138px; }
 .experience-intro h1 { font-size:clamp(32px,2.7vw,43px); }
}
@media (max-width:1099px) {
 .chapter-panels { left:20px; right:20px; width:auto; max-width:420px; margin-left:auto; bottom:99px; }
 .experience-intro { top:90px; left:25px; }
 .experience-intro>p { font-size:11px; margin-bottom:12px; }
 .experience-intro h1 { font-size:32px; }
 .chapter-details>div { max-height:20svh; }
}
@media (max-height:700px) and (max-width:1099px) {
 .experience-intro { top:78px; }
 .experience-intro h1 { font-size:25px; }
 .experience-intro h1 br { display:none; }
 .experience-intro { right:25px; max-width:400px; }
 .experience-intro>p { margin-bottom:7px; }
 .chapter-panels { bottom:88px; }
 .chapter-panel { padding-top:12px; }
 .chapter-panel h2 { font-size:32px; margin-top:8px; }
 .chapter-details>div { max-height:16svh; }
}

/* The contact action stays outside the navigation block. */
.site-page .header-actions { display:flex; align-self:stretch; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }
.site-page .header-actions a { display:flex; align-items:center; justify-content:center; padding:0 20px; min-height:46px; font-size:12px; font-weight:500; line-height:1.2; white-space:nowrap; border:0; border-radius:2px; margin:0; transition:background .18s; }
.site-page .header-actions .header-cta { background:#0030cf; color:#fff; }
.site-page .header-actions .header-cta::before { display:none; }
.site-page .header-actions .header-cta:hover { background:#0025a7; }
.site-page .header-actions .header-configurator { background:#c3f84a; color:#152641; }
.site-page .header-actions .header-configurator:hover { background:#b3e63d; }
.home-page .header-actions { margin-left:auto; padding-left:20px; }
@media (max-width:1250px) and (min-width:1101px) {
 .home-page .header nav { gap:15px; padding-right:16px; }
 .home-page .header-actions a { padding:0 15px; font-size:11px; }
}
@media (max-width:1100px) {
 .site-page .header-contacts { display:none; }
 .home-page .header nav { display:none; }
 .home-page .menu-toggle { display:flex; order:3; background:#13171b; border:0; width:46px; height:46px; align-items:center; justify-content:center; flex-direction:column; gap:5px; border-radius:2px; margin-left:10px; flex-shrink:0; }
 .home-page .menu-toggle span { display:block; width:17px; height:1px; background:white; }
 .home-page .header nav.open { display:flex; position:absolute; top:calc(100% + 10px); left:0; right:0; background:#13171b; color:white; flex-direction:column; padding:15px 20px; align-items:stretch; gap:0; border-radius:2px; }
 .site-page .header-actions a { font-size:11px; padding:0 14px; min-height:42px; }
}
@media (max-width:600px) {
 .site-page .header,.home-page .header { display:grid; grid-template-columns:1fr 42px; height:auto; gap:10px; }
 .home-page .header .brand { justify-self:start; height:42px; }
 .site-page .header .menu-toggle { grid-column:2; grid-row:1; margin:0; width:42px; height:42px; }
 .site-page .header-actions { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:1fr; padding:0; margin:0; gap:8px; }
 .site-page .header-actions a { padding:0 9px; min-height:42px; font-size:11px; }
 .home-page .experience-intro { top:144px; }
}

/* Shared outer grid and a clear hierarchy: hero title above chapter titles. */
.home-page { --scene-gutter:clamp(20px,2.1vw,48px); }
.home-page .header { left:var(--scene-gutter); right:var(--scene-gutter); }
.experience-intro { left:var(--scene-gutter); right:auto; top:116px; max-width:min(760px,calc(100% - 2 * var(--scene-gutter))); }
.experience-intro h1 { font-size:clamp(60px,4.5vw,84px); line-height:1.02; letter-spacing:-.055em; }
.experience-intro>p { font-size:13px; margin-bottom:20px; }
.chapter-panels,.experience-tools { right:var(--scene-gutter); }
.scroll-invitation { left:var(--scene-gutter); }
@media (max-width:1099px) {
 .experience-intro { top:100px; max-width:min(600px,calc(100% - 2 * var(--scene-gutter))); }
 .experience-intro h1 { font-size:60px; }
 .chapter-panels { left:var(--scene-gutter); }
}
@media (max-width:760px) {
 .experience-intro h1 { font-size:clamp(44px,7vw,56px); }
 .experience-intro>p { font-size:11px; margin-bottom:14px; }
 .experience-tools { left:var(--scene-gutter); }
}
@media (max-width:600px) { .home-page .experience-intro { top:144px; } }
@media (max-height:700px) and (max-width:760px) {
 .experience-intro h1 { font-size:42px; }
 .experience-intro h1 br { display:initial; }
}

@media (max-height:700px) and (max-width:600px) {
 .home-page .experience-intro { top:132px; }
 .chapter-panel .chapter-topline { display:none; }
 .chapter-panel { padding-top:10px; }
 .chapter-panel .chapter-caption { margin-bottom:8px; }
 .chapter-panel .chapter-details summary { min-height:36px; }
}

/* The sixth chapter stays pinned while the section separates into its parts. */
.assembly-panel h2 { font-size:38px; letter-spacing:-.055em; line-height:1.05; margin:16px 0 12px; }
.assembly-panel .chapter-caption { max-width:none; margin-bottom:18px; }
.assembly-selector { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #afbfce; border-bottom:1px solid #afbfce; margin:0 -23px; }
.assembly-selector button { min-height:62px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; padding:10px 9px; border:0; border-right:1px solid #afbfce; background:transparent; color:#536373; font-size:10px; transition:color .2s,background .2s; }
.assembly-selector button:last-child { border-right:0; }
.assembly-selector button>span { font-size:9px; }
.assembly-selector button[aria-pressed="true"] { background:#0030cf; color:white; }
.assembly-selector button:hover:not([aria-pressed="true"]) { background:#d7e1ec; color:#13171b; }
.assembly-description { padding:18px 0; min-height:143px; }
.assembly-description h3 { font-size:21px; font-weight:400; letter-spacing:-.025em; margin:0 0 10px; }
.assembly-description p { font-size:12px; line-height:1.55; color:#3d5060; }
.assembly-description [hidden] { display:none; }
.assembly-scroll-hint { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-top:1px solid #afbfce; font-size:9px; color:#536373; }
.experience-stage[data-chapter="5"] .scroll-invitation { display:none; }
@media(max-width:1099px) {
 .assembly-panel h2 { font-size:30px; margin:10px 0 8px; }
 .assembly-panel .chapter-caption { margin-bottom:12px; font-size:11px; }
 .assembly-selector button { min-height:48px; gap:4px; }
 .assembly-description { padding:12px 0; min-height:100px; }
 .assembly-description h3 { font-size:18px; margin-bottom:6px; }
 .assembly-description p { font-size:11px; line-height:1.45; }
 .assembly-scroll-hint { padding:9px 0; font-size:8px; }
}
@media(max-width:760px) {
 .assembly-selector { margin:0 -18px; }
 .chapter-navigation>a { font-size:9px; padding:0 4px; }
}
@media(max-height:700px) and (max-width:1099px) {
 .assembly-panel h2 { font-size:24px; }
 .assembly-panel h2 br { display:none; }
 .assembly-panel .chapter-caption { display:none; }
 .assembly-description { min-height:88px; }
 .assembly-scroll-hint { display:none; }
}
@media(max-width:760px) {
 .assembly-panel h2 { font-size:28px; margin:9px 0 13px; }
 .assembly-panel .chapter-caption { display:none; }
 .assembly-description { min-height:90px; }
 .assembly-scroll-hint { padding:8px 0; }
}

/* A second construction story continues the same scroll timeline. */
.height-selector { grid-template-columns:repeat(3,minmax(0,1fr)); }
.height-panel h2 { font-size:58px; }
.height-brand { display:block; font-size:11px; letter-spacing:.12em; margin-bottom:9px; }
.height-panel .assembly-description { min-height:172px; }
.height-panel .assembly-description h3 { font-size:19px; }
.experience-stage[data-chapter="6"] .scroll-invitation { display:none; }
@media(max-width:1099px) {
 .height-panel h2 { font-size:42px; }
 .height-panel .assembly-description { min-height:113px; }
 .height-panel .assembly-description h3 { font-size:17px; }
}
@media(max-width:760px) {
 .height-brand { display:inline; font-size:10px; margin-right:10px; vertical-align:middle; }
 .height-panel h2 { font-size:34px; }
 .chapter-navigation>a { font-size:9px; padding:0 3px; }
 .chapter-navigation>a>i { max-width:100%; }
 .height-panel .assembly-description { min-height:111px; }
}

/* Arrive, explain, then travel: the scroll gives each zone time to speak. */
.experience { height:2850svh; }
.scene-story { padding:14px 0 0; border-top:1px solid #b4c3d0; }
.scene-story-top { display:flex; justify-content:space-between; gap:10px; color:#536373; font-size:10px; }
.scene-story h3 { font-size:21px; font-weight:400; line-height:1.15; letter-spacing:-.025em; margin:12px 0 8px; }
.scene-story p { font-size:12px; line-height:1.5; color:#3d5060; min-height:54px; margin:0; }
.scene-story-steps { display:flex; gap:8px; }
.scene-story-steps button { border:0; padding:14px 0; min-height:44px; background:none; flex:1; cursor:pointer; }
.scene-story-steps button span { display:block; height:3px; background:#b4c3d0; transition:background .2s; }
.scene-story-steps button[aria-pressed="true"] span { background:#0030cf; }
.scene-story-steps button:focus-visible { outline:2px solid #0030cf; outline-offset:2px; }
.scene-story-pin { position:absolute; z-index:2; transform:translate(-50%,-100%); display:flex; align-items:center; gap:8px; min-height:36px; max-width:230px; padding:7px 10px; color:#152641; background:#ffffffed; border:1px solid #a8bac9; border-radius:2px; font-size:11px; line-height:1.3; cursor:pointer; box-shadow:0 2px 12px #1526410c; }
.scene-story-pin[hidden] { display:none; }
.story-pin-dot { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#89b71d; }
.scene-story-pin:focus-visible { outline:2px solid #0030cf; outline-offset:3px; }
.scene-story-pin[aria-expanded=true] { border-color:#0030cf; }
.scene-pin-popover { position:absolute;z-index:12;box-sizing:border-box;overflow-y:auto;overscroll-behavior-y:contain;padding:22px;background:#f4f8fc;border:1px solid #a8bac9;box-shadow:0 10px 34px #1526411c; }
.scene-pin-popover[hidden] { display:none; }
.scene-pin-popover h3 { margin:0 28px 16px 0;font-size:21px;line-height:1.15;font-weight:400;letter-spacing:-.025em; }
.scene-pin-content p { margin:12px 0;font-size:13px;line-height:1.6;color:#3d5060; }
.scene-pin-content a { display:block;margin-top:18px;padding:12px 0;border-top:1px solid #b5c4d0;color:#0030cf;font-size:12px; }
.scene-pin-close { position:absolute;top:6px;right:6px;display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:#152641;font-size:23px;cursor:pointer; }
.scene-pin-popover :is(button,a):focus-visible { outline:2px solid #0030cf;outline-offset:2px; }
.evidence-panel { background:#ffffffed; }
.evidence-panel h2 { font-size:40px; }
.evidence-check { display:flex; align-items:center; justify-content:center; background:#c3f84a; color:#152641; width:24px; height:24px; border-radius:50%; font-size:15px; }
.evidence-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.evidence-tags span { padding:6px 8px; border:1px solid #b7c6d2; color:#3d5060; font-size:10px; }
.evidence-request { display:flex; align-items:center; justify-content:space-between; padding:16px 0; min-height:44px; border-top:1px solid #afbfce; font-size:12px; }
.evidence-request span { font-size:20px; color:#0030cf; }
.experience-stage[data-chapter="5"] .scroll-invitation,.experience-stage[data-chapter="6"] .scroll-invitation,.experience-stage[data-chapter="7"] .scroll-invitation { display:none; }
@media(max-width:1099px) {
 .scene-story { padding-top:10px; }
 .scene-story-top { font-size:9px; }
 .scene-story h3 { font-size:18px; margin:8px 0 5px; }
 .scene-story p { font-size:11px; line-height:1.4; min-height:31px; }
 .chapter-panel:has(.scene-story) .chapter-caption { display:none; }
 .chapter-panel:has(.scene-story) h2 { font-size:32px; margin:10px 0; }
 .chapter-panel:has(.scene-story) .chapter-details summary { min-height:36px; }
 .evidence-panel h2 { font-size:30px; }
 .evidence-panel .assembly-description { min-height:152px; }
 .evidence-tags { margin-top:10px; }
}
@media(max-width:760px) {
 .scene-story-pin { font-size:10px; max-width:190px; min-height:34px; }
 .evidence-panel h2 br { display:none; }
 .evidence-panel h2 { font-size:28px; }
 .evidence-panel .assembly-description { min-height:142px; }
 .evidence-tags span { font-size:9px; }
 .chapter-navigation { overflow-x:auto; scrollbar-width:none; }
 .chapter-navigation>a { flex:0 0 90px; }
}
@media(prefers-reduced-motion:reduce) { .scene-story-steps button span { transition:none; } }
/* Story anchors represent a camera timestamp, not a heading under the header. */
html:has(.home-page) { scroll-padding-top:0; }

/* One scroll surface for the whole card: disclosure growth cannot escape the viewport. */
.chapter-panel {
 max-height:var(--panel-max-height,calc(100svh - 230px));
 overflow-y:auto;
 overscroll-behavior-y:auto;
 scrollbar-width:thin;
 scrollbar-color:#8c9fb0 transparent;
 scroll-padding-block:16px;
}
.chapter-panel .chapter-details>div { max-height:none; overflow:visible; }
.system-offer { position:absolute; top:var(--offer-top,100px); left:var(--scene-gutter); max-width:calc(100% - 2 * var(--scene-gutter)); pointer-events:none; }
.system-offer[hidden] { display:none; }
.system-offer>p { font-size:13px; margin:0 0 16px; color:#536373; }
.system-offer h2 { font-size:clamp(60px,4.5vw,84px); font-weight:400; line-height:1.02; letter-spacing:-.055em; margin:0; }
.system-offer h2 span { color:#0030cf; white-space:nowrap; }
.system-offer-description { font-size:22px; line-height:1.3; margin:12px 0 0; }
@media(max-width:1099px) {
 .system-offer>p { font-size:11px; margin-bottom:10px; }
 .system-offer h2 { font-size:clamp(34px,6vw,56px); }
 .system-offer-description { font-size:16px; margin-top:8px; }
}
@media(max-height:600px) {
 .system-offer>p { display:none; }
 .system-offer h2 { font-size:36px; }
 .system-offer-description { font-size:14px; margin-top:6px; }
}

/* Skip the remaining gallery scroll and enter the second part directly. */
.chapter-navigation>a.chapter-next {display:none;}
.experience-stage[data-realizations-visible=true] .chapter-navigation>a.chapter-next {display:flex;position:sticky;right:0;z-index:2;flex:0 0 auto;min-width:190px;justify-content:center;padding:0 18px;background:#0030cf;border:0;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;}
.experience-stage[data-realizations-visible=true] .chapter-next:hover {background:#0025a7;}
.experience-stage[data-realizations-visible=true] #experience-progress {display:none;}
.chapter-navigation>a.chapter-next:focus-visible {outline:2px solid #c3f84a;outline-offset:-5px;}
@media(max-width:760px){.experience-stage[data-realizations-visible=true] .chapter-navigation>a.chapter-next {min-width:154px;padding:0 12px;font-size:10px;}}

/* Phone opening: give the title and overview their own frame before the first card. */
@media(max-width:760px){
 .experience-stage[data-intro-visible=true] .chapter-panels {opacity:calc(1 - var(--intro-opacity,1));pointer-events:none;}
 .experience-stage[data-intro-visible=true] .scene-story-pin {visibility:hidden;}
}
@media(max-width:760px) and (max-height:740px){
 .chapter-panels {bottom:58px;}
 .experience-tools {display:none;}
 .chapter-panel:has(.scene-story) h2,.chapter-panel h2#chapter-title-4 {font-size:26px;margin:6px 0 9px;}
 .scene-story-top {display:none;}
 .scene-story h3 {font-size:16px;margin-top:3px;}
 .chapter-panel:has(.scene-story) .chapter-details summary {min-height:44px;}
 .assembly-panel h2 {font-size:27px;margin:10px 0;}
 .assembly-panel .chapter-caption {display:none;}
 .assembly-panel .assembly-description,.height-panel .assembly-description,.evidence-panel .assembly-description {min-height:0;padding:12px 0;}
 .evidence-tags {display:none;}
 .evidence-request {padding:10px 0;}
 .system-offer>p {margin-bottom:6px;font-size:10px;}
 .system-offer h2 {font-size:32px;}
 .system-offer-description {font-size:14px;margin-top:6px;}
}
@media(min-width:761px) and (max-width:1099px) and (max-height:600px){
 .chapter-panels {left:auto;right:20px;width:340px;bottom:58px;}
 .chapter-panel h2,.chapter-panel h2#chapter-title-4 {font-size:30px;margin:8px 0;}
 .system-offer {max-width:calc(100% - 400px);}
 .system-offer h2 {font-size:28px;}
 .system-offer-description {font-size:13px;}
 .experience-tools,.scroll-invitation {display:none;}
 .experience-intro {max-width:calc(100% - 400px);}
 .experience-intro h1 {font-size:30px;line-height:1.08;}
}

/* Scroll alternates the value statements without shifting the scene or card. */
.system-offer {width:min(720px,calc(100% - 2 * var(--scene-gutter)));}
.system-offer-messages {display:grid;}
.system-offer-message {grid-area:1 / 1;min-width:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease,visibility 0s .28s;}
.system-offer-message[data-active=true] {opacity:1;visibility:visible;transform:none;transition-delay:0s;}
@media(prefers-reduced-motion:reduce){.system-offer-message {transition:none;transform:none;}}

/* The brand headline stays unchanged; explain the product directly below it. */
.experience-intro>p.experience-intro-description {max-width:420px;margin:20px 0 0;font-size:14px;line-height:1.5;color:#3d5060;}
.experience-intro-description strong {font-weight:500;color:#0030cf;white-space:nowrap;}
@media(max-width:760px){.experience-intro>p.experience-intro-description {max-width:360px;margin-top:16px;font-size:12px;line-height:1.45;}}
@media(max-width:760px) and (max-height:740px){.experience-intro>p.experience-intro-description {margin-top:12px;font-size:11px;}}
@media(min-width:761px) and (max-height:600px){.experience-intro>p.experience-intro-description {margin-top:12px;font-size:12px;}}
