.fan-tour{padding:70px var(--pad) 0;border-top:1px solid var(--gts-rule)}.fan-intro{max-width:780px}.fan-intro h2{font-size:clamp(48px,5.5vw,88px);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin:0 0 24px}.fan-intro>p:not(.chapter){color:var(--gts-muted);line-height:1.7}.fan-intro>a{margin:18px 0 45px}.fan-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7vw;align-items:start}.fan-visual{position:sticky;top:24px;padding:22px 0;min-width:0}.fan-model-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:var(--gts-muted);border-top:1px solid var(--gts-rule);padding-top:22px}.fan-step-count{color:var(--yellow)}.fan-tour .fan-stage{position:relative;inset:auto;width:100%;height:clamp(280px,39vw,480px);transform:none}.fan-stage #poster{width:100%;height:100%;object-fit:contain}.fan-caption{font-size:11px;letter-spacing:.035em;display:flex;align-items:center;gap:10px}.fan-zone-dot{width:6px;height:6px;background:var(--yellow);border-radius:50%;box-shadow:0 0 13px var(--yellow)}.fan-tour #hint{font-size:10px;line-height:1.6;color:var(--gts-muted);margin:12px 0 20px}.fan-tour .controls{min-width:0;width:100%;margin:0;padding:12px;box-sizing:border-box}.fan-tour .control-buttons button{font-size:9px;padding:9px 5px}.fan-tour .control-sliders{gap:12px}.fan-beat{min-height:75vh;padding:85px 0 65px;box-sizing:border-box}.fan-beat h3{font-size:clamp(34px,3.5vw,56px);line-height:1.1;font-weight:400;letter-spacing:-.045em;margin:0 0 25px}.fan-beat>p:not(.chapter){font-size:16px;line-height:1.8;color:var(--gts-muted)}.fan-beat ul{list-style:none;padding:0;margin:30px 0}.fan-beat li{padding:12px 0;border-bottom:1px solid var(--gts-rule);font-size:13px;line-height:1.6}.fan-benefit{border-left:2px solid var(--yellow);padding:6px 0 6px 20px;margin:30px 0}.fan-benefit>span{color:var(--yellow);font-size:9px;letter-spacing:.15em}.fan-benefit p{font-size:19px;line-height:1.5;margin:12px 0 0}.fan-closing{padding:50px 0 70px;border-top:1px solid var(--gts-rule)}.fan-closing>p{font-size:clamp(26px,3vw,46px);letter-spacing:-.04em;max-width:800px}.fan-closing>a{margin-top:18px}.fan-beat.is-current h3{color:var(--paper)}
@media(min-width:901px){.page-effects .fan-beat h3{opacity:.65;transform:translateY(12px);transition:opacity .55s,transform .65s}.page-effects .fan-beat.is-current h3{opacity:1;transform:none}}
@media(max-width:900px){.fan-layout{grid-template-columns:1fr;gap:0}.fan-visual{position:relative;top:auto;max-width:640px;width:100%;margin:auto}.fan-tour .fan-stage{height:350px}.fan-beat{min-height:0;padding:40px 0}.fan-beat h3{font-size:40px}.fan-tour{padding-top:45px}.fan-intro>a{margin-bottom:15px}.fan-closing{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.fan-beat h3{opacity:1!important;transform:none!important;transition:none!important}}
/* Hero-scale, alternating compositions driven by native page scroll. */
.fan-pin{display:contents}.engine-zone-marker{position:absolute;z-index:6;pointer-events:none;color:var(--yellow);font:600 11px Arial,sans-serif;letter-spacing:.14em;padding:9px 12px;border:1px solid currentColor;border-radius:6px;background:#081017eb;box-shadow:0 0 18px color-mix(in srgb,var(--yellow) 18%,transparent);white-space:nowrap}.engine-zone-marker:after{content:'';position:absolute;width:1px;background:currentColor;height:42px;left:50%;top:100%}.fan-marker{transform:translate(-80%,-105px)}.booster-marker{transform:translate(5%,70px)}.booster-marker:after{top:auto;bottom:100%;height:70px}.fan-cinematic .fan-layout{display:block;position:relative;height:360svh}.fan-cinematic .fan-pin{display:block;position:sticky;top:0;height:100svh;min-height:720px}.fan-cinematic .fan-visual{position:absolute;top:0;left:0;width:52%;height:100%;padding:20px 0;transform:translateX(var(--engine-shift,0px));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.fan-cinematic .fan-stage{height:48svh;min-height:300px;max-height:570px;flex-shrink:0}.fan-cinematic .fan-model-label{border:0;padding:0}.fan-cinematic .fan-chapters{position:absolute;inset:0;pointer-events:none}.fan-cinematic .fan-beat{position:absolute;right:0;top:50%;width:42%;min-height:0;padding:0;margin-top:-285px;pointer-events:auto}.fan-cinematic .fan-beat:nth-child(2){right:auto;left:0}.fan-cinematic .fan-beat h3{font-size:clamp(42px,4.5vw,78px);opacity:1;transform:none;transition:none;line-height:1.03}.fan-cinematic .fan-beat>p:not(.chapter){font-size:clamp(17px,1.35vw,23px);line-height:1.55}.fan-cinematic .fan-beat ul{margin:22px 0}.fan-cinematic .fan-beat li{font-size:clamp(13px,1.1vw,18px);padding:8px 0}.fan-cinematic .fan-benefit{margin:24px 0}.fan-cinematic .fan-benefit p{font-size:clamp(19px,1.65vw,28px)}.fan-cinematic .fan-tour .controls{max-width:600px}.fan-cinematic .fan-beat[aria-hidden=true]{pointer-events:none}.fan-cinematic .fan-beat .chapter{margin-bottom:24px}.fan-cinematic .fan-beat .primary{margin-top:0}.fan-cinematic .fan-intro h2{font-size:clamp(54px,6vw,100px)}
@media(max-height:800px) and (min-width:901px){.fan-cinematic .fan-stage{height:40svh;min-height:260px}.fan-cinematic .fan-beat{margin-top:-250px}.fan-cinematic .fan-beat h3{font-size:clamp(40px,4vw,64px)}.fan-cinematic .fan-beat li{padding:6px 0}.fan-cinematic .fan-benefit{margin:18px 0}.fan-cinematic .fan-beat .chapter{margin-bottom:18px}}

/* Bare engine composition: only the model and part annotations move. */
.fan-tour .fan-model-label,.fan-tour .fan-caption,.fan-tour #hint,.fan-tour .controls,.fan-tour .particle-cursor{display:none!important}
.fan-cinematic .fan-visual{width:58%;padding:0;top:0;justify-content:center;background:none;border:0;box-shadow:none}
.fan-cinematic .fan-stage{height:88svh;max-height:none;min-height:400px;width:100%;overflow:visible}
.fan-cinematic .fan-beat{width:38%;margin-top:-265px}
.fan-cinematic .fan-beat h3{font-size:clamp(42px,4.2vw,76px)}
.fan-tour .stage.ready.brushing{cursor:grab}.fan-tour .stage.dragging{cursor:grabbing}
@media(max-width:900px){.fan-tour .fan-stage{height:440px;max-height:65svh}.fan-tour .fan-visual{padding:0}}
@media(max-height:800px) and (min-width:901px){.fan-cinematic .fan-stage{height:90svh;min-height:360px}.fan-cinematic .fan-beat{margin-top:-245px}}
/* Precision annotation leaders and direct chapter navigation. */
.fan-tour .engine-zone-marker{transform:none;padding:0;background:none;border:0;border-radius:0;box-shadow:none;font-size:12px;letter-spacing:.16em;text-shadow:0 2px 8px #000;line-height:22px}
.fan-tour .engine-zone-marker:after{display:none}
.engine-zone-leader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;color:var(--yellow);overflow:visible}.engine-zone-leader polyline{stroke:currentColor;stroke-width:1;opacity:.8}.engine-zone-leader circle{fill:currentColor}
.fan-chapter-rail{display:flex;gap:24px;border-top:1px solid var(--gts-rule);padding:14px 0;background:none}.fan-chapter-rail button{font:inherit;font-size:10px;letter-spacing:.06em;color:var(--gts-muted);background:none;border:0;border-top:2px solid transparent;padding:12px 0;cursor:pointer}.fan-chapter-rail button[aria-current=true]{color:var(--yellow);border-top-color:var(--yellow)}.fan-chapter-rail button:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}.fan-cinematic .fan-chapter-rail{position:absolute;bottom:28px;left:0;right:0;z-index:10;justify-content:center}.fan-cinematic .fan-beat{margin-top:-270px}.fan-cinematic .fan-stage{height:80svh}.fan-cinematic .fan-visual{padding-bottom:70px}
@media(max-width:900px){.fan-chapter-rail{gap:12px;flex-wrap:wrap}.fan-chapter-rail button{font-size:10px}}
.fan-cinematic .fan-beat:nth-child(3){margin-top:-310px}
/* High-contrast annotation outside the engine silhouette. */
.fan-tour .engine-zone-marker{color:var(--paper);font-size:clamp(18px,1.7vw,28px);letter-spacing:.02em;line-height:1.25;text-shadow:0 2px 8px #000}
.fan-tour .engine-zone-marker strong{display:block;font-weight:600}
.fan-tour .engine-zone-marker small{display:block;font-size:10px;letter-spacing:.14em;line-height:1.5;margin-top:9px;color:var(--gts-muted)}
.fan-tour .engine-zone-leader{color:var(--paper)}
.fan-tour .engine-zone-leader polyline{stroke-width:1.6;opacity:.95;stroke-linejoin:round;stroke-linecap:round}
.fan-tour .engine-zone-leader circle{fill:#0b1016;stroke:var(--yellow);stroke-width:2}
/* Complete engine journey: readable chapters, compact direct navigation. */
.fan-cinematic .fan-layout{height:calc((var(--tour-chapters,12) * 110 + 100) * 1svh)}
.fan-cinematic .fan-beat{right:0;left:auto;margin-top:-270px}
.fan-cinematic .fan-beat:nth-child(even){left:0;right:auto}
.fan-cinematic .fan-beat:nth-child(odd){right:0;left:auto}
.fan-cinematic .fan-beat:last-child{margin-top:-305px}
.fan-cinematic .fan-chapter-rail{justify-content:flex-start;overflow-x:auto;gap:22px;scrollbar-width:thin;scrollbar-color:var(--yellow) transparent;padding:10px 8px;bottom:22px}
.fan-chapter-rail button{flex-shrink:0;white-space:nowrap}
.fan-tour .engine-zone-marker{max-width:90%;font-size:clamp(17px,1.45vw,25px)}
@media(max-width:900px){.fan-chapter-rail{overflow-x:auto;flex-wrap:nowrap}.fan-beat{scroll-margin-top:30px}}
.fan-cinematic .fan-chapter-rail{left:190px}
/* Clear entry, immediate bypass, and a compact conclusion above the stage rail. */
.fan-intro-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:26px 0 50px}.fan-skip-button{display:inline-flex;align-items:center;padding:16px 20px;border:1px solid var(--gts-rule);border-radius:99px;color:var(--paper);font-size:13px}.fan-skip-button:hover{border-color:var(--yellow)}.fan-story-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;color:var(--gts-muted);padding:10px 0}.fan-story-guide a{border:1px solid var(--gts-rule);border-radius:99px;padding:8px 12px;color:var(--paper)}.fan-story-guide a:hover{border-color:var(--yellow)}.fan-cinematic .fan-story-guide{position:absolute;top:0;left:0;right:0;z-index:12}.fan-cinematic .fan-beat:last-child{margin-top:-255px}.fan-cinematic .fan-beat:last-child>p:not(.chapter){margin:16px 0}.fan-cinematic .fan-beat:last-child .fan-benefit{margin:22px 0}.fan-tour :is(.fan-skip-button,.fan-story-guide a):focus-visible{outline:2px solid var(--yellow);outline-offset:4px}#capability-directory:focus{outline:none}
@media(max-width:900px){.fan-intro-actions{align-items:flex-start;flex-direction:column}.fan-story-guide{margin:14px 0}}
.story-playback-controls{display:flex;align-items:center;gap:9px}.fan-story-guide .story-playback-controls button{background:#101922;color:var(--paper);border:1px solid var(--gts-rule);border-radius:99px;padding:8px 12px;font:inherit;font-size:11px;cursor:pointer}.story-playback-controls button[aria-pressed=true]{border-color:var(--yellow)}.story-playback-controls button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.story-playback-status{font-size:10px;color:var(--gts-muted)}
@media(max-width:900px){.fan-story-guide{position:sticky;top:0;background:#0b1016f5;z-index:20;flex-wrap:wrap}.fan-story-guide>span{display:none}.story-playback-status{font-size:9px}.fan-pin{display:flex;flex-direction:column}.fan-story-guide{order:-1}.fan-visual{order:0}.fan-chapters{order:1}.fan-chapter-rail{order:2}}

@media(max-width:900px){
 .fan-tour .fan-visual{position:sticky;top:48px;z-index:8;background:var(--gts-bg,#0b1013);width:100%}
 .fan-tour .fan-stage{top:auto;bottom:auto;height:34svh;min-height:240px;max-height:330px}
 .fan-tour .fan-chapters{position:relative;z-index:1}
 .fan-tour .fan-beat{min-height:65svh;scroll-margin-top:42svh}
 .fan-tour .engine-zone-marker{font-size:9px;letter-spacing:.07em;line-height:16px}
}

@media(max-width:900px){.fan-pin,.fan-chapters,.fan-chapter-rail{min-width:0;max-width:100%}.fan-pin{width:100%}.fan-tour .fan-visual{max-width:100%}.fan-story-guide{min-width:0}.fan-story-guide>a{font-size:9px}}
/* Keep chapter navigation above the persistent palette controls. */
.fan-cinematic .fan-chapter-rail{bottom:80px}

/* Prevent a partial engine from appearing beneath the story introduction. */
.fan-cinematic:not(.story-in-view) .fan-pin{visibility:hidden}

/* Leave room between the closing CTA and chapter rail on shorter displays. */
@media(min-width:901px) and (max-height:800px){.fan-cinematic .fan-beat:last-child{margin-top:-305px}}
