/* A native-scroll doorway chapter. Text and controls keep their actual size. */
.sl-home[data-sl-motion] .sl-intro h1>.sl-motion-phrase{display:block}
.sl-home[data-sl-motion] .sl-intro h1 .sl-motion-word{display:inline-block;max-width:100%;color:inherit;overflow-wrap:anywhere}
.sl-home[data-sl-motion] .sl-intro h1 .sl-word-mask{vertical-align:bottom;overflow:clip;padding-block:.06em .13em;margin-block:-.06em -.13em;color:inherit}
.sl-home[data-sl-motion] .sl-intro h1 .sl-title-group{display:inline-block;max-width:100%;color:inherit;transform:none;filter:none;opacity:1}
.sl-home[data-sl-motion] .sl-crowd-scene{width:min(1200px,calc(100% - 112px));max-width:none;transform:none;transition:none}
.sl-home[data-sl-motion] .sl-crowd-view{clip-path:inset(0 calc((1 - var(--sl-reveal-progress,1))*2.2%) round calc(18px - var(--sl-reveal-progress,1)*14px));background:#121722}
.sl-home .sl-observation-chapter{position:relative;display:flow-root;isolation:isolate;text-align:left}
.sl-home [data-home-pin] .sl-crowd{display:flow-root}
.sl-home .sl-focus-journey{pointer-events:none;opacity:1;transition:opacity 300ms ease-out}
.sl-home .sl-focus-scrim{pointer-events:none;opacity:0;transition:opacity 320ms ease-out}
.sl-home [data-story-phase="0"] .sl-focus-scrim,.sl-home [data-story-phase="1"] .sl-focus-scrim,.sl-home [data-story-phase="2"] .sl-focus-scrim{opacity:1}
.sl-home [data-story-phase="3"] .sl-focus-scrim{opacity:.7}
.sl-home [data-story-phase] .sl-crowd-view:after{display:none}
.sl-home [data-story-phase] .sl-crowd-map{transition:opacity 320ms ease-out}
.sl-home [data-story-phase] .sl-crowd-map{opacity:1}
.sl-home .sl-focus-trail{fill:none;stroke:#dce7ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 7;opacity:.75}
.sl-home .sl-focus-halo{fill:#efdab4;fill-opacity:calc(var(--sl-pause-focus,0)*.65);stroke:#c79547;stroke-opacity:calc(var(--sl-pause-focus,0)*.45);stroke-width:1}
.sl-home .sl-focus-ring{fill:var(--sl-paper);stroke:#aabce1;stroke-width:1.75}
.sl-home .sl-focus-person{fill:var(--sl-green);transition:opacity 180ms ease-out}
.sl-home .sl-focus-pause{fill:none;stroke:var(--sl-amber);stroke-width:2;stroke-linecap:round;opacity:0;transform:scale(.75);transform-box:fill-box;transform-origin:center;transition:opacity 180ms ease-out,transform 240ms cubic-bezier(.16,1,.3,1)}
.sl-home [data-story-phase="1"] .sl-focus-ring{stroke:var(--sl-amber);fill:#fff4df}
.sl-home [data-story-phase="1"] .sl-focus-person{opacity:0}
.sl-home [data-story-phase="1"] .sl-focus-pause{opacity:1;transform:none}
.sl-home [data-story-phase]:not([data-story-phase="4"]) [data-crowd-actors]{opacity:.28}
.sl-home [data-story-phase="4"] .sl-focus-journey{opacity:0}
.sl-home [data-story-phase="4"] [data-crowd-actors]{opacity:1}
.sl-home [data-crowd-actors]{transition:opacity 250ms ease-out}
.sl-home .sl-scroll-story{padding-top:18px}
.sl-home .sl-scroll-story-label{display:flex;align-items:center;gap:9px;color:var(--sl-secondary);font-size:11px;line-height:1.6}
.sl-home .sl-illustration-key{width:13px;height:13px;border:1.5px solid var(--sl-green);border-radius:50%;position:relative;flex-shrink:0}
.sl-home .sl-illustration-key:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--sl-green)}
.sl-home .sl-scroll-phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:10px}
.sl-home .sl-scroll-phases button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:0 0 10px 10px;background:none;padding:12px 12px 10px;text-align:left;min-width:0;min-height:84px;transition:color 200ms ease-out,background-color 200ms ease-out;color:var(--sl-secondary)}
.sl-home .sl-scroll-phases button.is-current{background:#edf2ff;color:#26375b}
.sl-home .sl-scroll-phases button[data-home-phase="1"].is-current{background:#fff4df;color:#76500e}
.sl-home .sl-scroll-phases strong{font-size:16px;line-height:1.4;font-weight:500;color:var(--sl-secondary);transition:color 200ms ease-out}
.sl-home .sl-scroll-phases button>span:last-child{font-size:12px;line-height:1.55;max-width:30ch}
.sl-home .sl-phase-line{display:block;height:2px;width:100%;background:var(--sl-rule);position:absolute;top:0;left:0}
.sl-home .sl-phase-line:after{content:"";display:block;position:absolute;inset:0;background:var(--sl-green);transform:scaleX(0);transform-origin:left;transition:transform 250ms cubic-bezier(.16,1,.3,1)}
.sl-home .sl-scroll-phases button.is-current .sl-phase-line:after{transform:scaleX(1)}
.sl-home .sl-scroll-phases button.is-current strong{color:var(--sl-ink)}
.sl-home .sl-scroll-phases button[data-home-phase="1"].is-current .sl-phase-line:after{background:var(--sl-amber)}
.sl-home .sl-scroll-phases button[data-home-phase="1"].is-current strong{color:var(--sl-amber)}
.sl-home .sl-scroll-phases button:hover strong{color:var(--sl-green)}
.sl-home .sl-scroll-boundary{max-width:115ch;font-size:11px;line-height:1.65;color:var(--sl-secondary);margin-top:7px}
.sl-home .sl-scroll-hint{font-size:11px;line-height:1.6;color:var(--sl-green);margin-top:6px}
.sl-home .sl-scroll-hint[hidden]{display:none}
.sl-home .sl-priority-preview{position:relative}
/* Desktop scroll keeps one complete scene below the actual navigation height.
   Four viewport lengths give the journey, slow advice and clock separate beats. */
.sl-home[data-sl-scroll="ready"] .sl-observation-chapter{height:calc(var(--sl-scene-height,calc(100svh - 88px)) + 400svh);min-height:0;margin-top:48px;padding:0}
.sl-home[data-sl-scroll="ready"] [data-home-pin]{position:sticky;top:var(--sl-header-height,88px);width:100%;height:var(--sl-scene-height,calc(100svh - 88px));margin:0!important;max-width:none}
.sl-home[data-sl-scroll="ready"] [data-home-pin] .sl-crowd{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;min-height:0;border:0;background:var(--sl-paper)}
.sl-home[data-sl-scroll="ready"] .sl-crowd-heading{padding:16px calc(24px + var(--sl-scene-inset,0px)) 12px;border-top:1px solid var(--sl-rule)}
.sl-home[data-sl-scroll="ready"] .sl-crowd-heading h2{font-size:24px;line-height:1.35}
.sl-home[data-sl-scroll="ready"] .sl-crowd-view{grid-row:2;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;border-radius:0;clip-path:inset(0 var(--sl-scene-inset,0px) round var(--sl-scene-corner,0px));box-shadow:none;transform:none}
.sl-home[data-sl-scroll="ready"] .sl-crowd-map{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;transform:scale(var(--sl-map-scale,1));transform-origin:center}
.sl-home[data-sl-scroll="ready"] .sl-crowd-legend{padding:7px calc(24px + var(--sl-scene-inset,0px));min-height:31px}
.sl-home[data-sl-scroll="ready"] .sl-scroll-story{grid-row:4;padding:12px calc(24px + var(--sl-scene-inset,0px)) 14px;background:var(--sl-paper);min-width:0}
.sl-home[data-sl-scroll="ready"] .sl-scroll-phases{gap:16px;margin-top:8px}
.sl-home[data-sl-scroll="ready"] .sl-scroll-phases button{min-height:68px;padding:10px 12px 8px}
.sl-home[data-sl-scroll="ready"] .sl-scroll-phases strong{font-size:15px;line-height:1.35}
.sl-home[data-sl-scroll="ready"] .sl-scroll-phases button>span:last-child{font-size:12px;line-height:1.45}
.sl-home[data-sl-scroll="ready"] .sl-scroll-boundary{max-width:none;line-height:1.5;margin-top:5px}
.sl-home[data-sl-scroll="ready"] .sl-scroll-hint{line-height:1.5;margin-top:5px}
.sl-home[data-sl-scroll="ready"] .sl-scene-advice{position:absolute;left:24px;bottom:48px;width:min(46%,600px);margin:0;padding:22px 26px;opacity:var(--sl-advice-reveal,1);transform:translate3d(var(--sl-advice-shift,0px),0,0)}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel{position:static;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 24px;min-height:0;max-height:260px;overflow-y:auto;overscroll-behavior:auto;margin:0;padding:8px 24px 0;border:0;border-bottom:1px solid var(--sl-rule);border-radius:0;opacity:var(--sl-clock-reveal,1);scrollbar-width:thin;scrollbar-color:#a9b5cb #edf0f5;scroll-padding:12px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel[hidden]{display:none}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-stage-tools{grid-column:1;grid-row:1;justify-content:flex-start;gap:24px;min-height:40px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-simulation-details{grid-column:2;grid-row:1;margin:0;padding:0;border:0}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-simulation-details[open]{grid-column:1/-1;grid-row:3;padding-bottom:12px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel:has(.sl-simulation-details[open]) .sl-stage-pause{display:none}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-crowd-counts{grid-column:1/-1;grid-row:2;margin:0;padding:8px 0;gap:24px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-crowd-counts dd{font-size:26px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .simulation-controls-top{margin-bottom:10px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .simulation-toolbar{gap:12px 18px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .simulation-clock{display:none}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .simulation-timeline{margin:12px 0}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .simulation-note{margin-top:8px}
.sl-home[data-sl-scroll="ready"] .sl-clock-panel .sl-crowd-session-status{margin-top:8px}
/* A finite settle resolves to a compact, recognizable pause, never a loop. */
.sl-home .sl-story{position:relative;isolation:isolate;overflow:hidden}
.sl-home .sl-brand-mask{display:inline-block;max-width:100%;vertical-align:bottom;overflow:clip;padding-block:.06em .1em;margin-block:-.06em -.1em}
.sl-home .sl-brand-group{display:inline-block;max-width:100%;overflow-wrap:anywhere;transform:none;filter:none;opacity:1}
.sl-home .sl-story:before,.sl-home .sl-story:after{content:"";position:absolute;z-index:-1;height:1px;width:35%;background:#8293b1;opacity:.22;transform:translateX(0);transition:transform 1100ms cubic-bezier(.16,1,.3,1),opacity 1100ms ease-out;pointer-events:none}
.sl-home .sl-story:before{left:-10%;top:27%}
.sl-home .sl-story:after{right:-12%;bottom:19%}
.sl-home .sl-story.is-resting:before{transform:translateX(-35%);opacity:.06}
.sl-home .sl-story.is-resting:after{transform:translateX(35%);opacity:.06}
.sl-home .sl-story-mark{position:relative;display:block;width:36px;height:40px;margin-top:40px}
.sl-home .sl-story-mark span{position:absolute;top:6px;left:8px;width:3px;height:28px;border-radius:1.5px;background:#d9e5ff;transform:translateY(3px) scaleY(.86);transform-origin:center;transition:transform 650ms cubic-bezier(.16,1,.3,1)}
.sl-home .sl-story-mark span:last-child{left:20px;right:auto;width:3px;transition-delay:60ms}
.sl-home .sl-story.is-resting .sl-story-mark span{transform:none}
@media(max-width:1100px){.sl-home[data-sl-motion]:not([data-sl-scroll="ready"]) .sl-crowd-scene{width:calc(100% - 64px)}.sl-home .sl-scroll-phases{gap:18px}.sl-home .sl-scroll-phases strong{font-size:15px}}
@media(min-width:421px) and (max-width:760px){.sl-home[data-sl-motion] .sl-intro h1>.sl-motion-phrase{display:inline}}
@media(max-width:760px){
 .sl-home .sl-scroll-phases{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
 .sl-home .sl-scroll-phases button{min-height:74px}
 .sl-home .sl-scroll-story-label{font-size:11px}
 .sl-home .sl-scroll-boundary{font-size:11px;line-height:1.7;margin-top:10px}
 .sl-home .sl-story-mark{width:36px;margin-top:30px}
}
@media(max-width:600px){.sl-home[data-sl-motion] .sl-crowd-scene{width:calc(100% - 36px)}.sl-home[data-sl-motion] .sl-crowd-view{clip-path:none;border-radius:8px}.sl-home[data-sl-motion] .sl-intro h1 .sl-word-mask{padding-bottom:.16em;margin-bottom:-.16em}}
@media(prefers-reduced-motion:reduce){
 .sl-home[data-sl-motion] .sl-crowd-view{clip-path:none}
 .sl-home[data-sl-motion] .sl-title-group,.sl-home .sl-brand-group{transform:none!important;filter:none!important;opacity:1!important}
 .sl-home .sl-story:before,.sl-home .sl-story:after{display:none}
 .sl-home .sl-story-mark span{transition:none!important}
 .sl-home [data-crowd-actors],.sl-home .sl-phase-line:after,.sl-home .sl-focus-journey,.sl-home .sl-focus-person,.sl-home .sl-focus-pause,.sl-home .sl-focus-scrim,.sl-home .sl-crowd-map{transition:none!important}
}
