.intro{display:none;position:fixed;inset:0;z-index:50;background:#1b110c;overflow:hidden}
.intro-pending,.intro-running{overflow:hidden}
.intro-pending .intro,.intro-running .intro{display:block}
.intro-pending #siteContent,.intro-running #siteContent{visibility:hidden}
.intro-stage,.intro-stage>canvas,.intro-stage>.portal-renderer{position:absolute;inset:0;width:100%;height:100%}
.intro-mobile-poster,.intro-mobile-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#070a0a}
.intro-mobile-poster{z-index:0;filter:saturate(.94) contrast(1.04) brightness(.86)}
.intro-mobile-video{z-index:1;opacity:0;transition:opacity .35s ease}
.intro-mobile-video.is-playing{opacity:1}
.intro-stage>canvas{display:block;z-index:1}
.portal-renderer{z-index:2;pointer-events:none}
.intro-environment{--scene-push:0;--scene-x:50%;--scene-y:34%;position:absolute;inset:0;z-index:0;overflow:hidden;background:#1a0e08;transform-origin:var(--scene-x) var(--scene-y)}
.intro-environment img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(calc(1 + var(--scene-push)*1.25));transform-origin:var(--scene-x) var(--scene-y);filter:saturate(1.02) contrast(1.03);transition:filter .25s linear}
.intro-environment span{position:absolute;inset:0;background:radial-gradient(circle at 49% 34%,transparent 7%,rgba(10,5,3,.05) 42%,rgba(8,4,2,.24) 100%);pointer-events:none}
.portal-document{background:transparent;color:#f3eee4;overflow:hidden;pointer-events:none!important;backface-visibility:hidden;transform-style:flat;contain:layout paint}
.portal-document .train-welcome,.portal-document .train-welcome-media{background:transparent}
.intro-bar{position:absolute;inset:28px 4.5% auto;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:5;color:#f6efe5;mix-blend-mode:difference;transition:opacity .25s}
.intro-mark{font:30px var(--serif);letter-spacing:-.06em}.intro-mark small{font:9px var(--sans);letter-spacing:.13em;margin-left:20px;vertical-align:middle}
.intro-skip{padding:11px 17px;border:1px solid #f4eee780;border-radius:40px;font-size:10px;letter-spacing:.07em;color:inherit;background:#16100d52;backdrop-filter:blur(8px)}
.intro-skip:hover{background:#f3eee7;color:#17110e;mix-blend-mode:normal}
.intro-loading{position:absolute;left:50%;bottom:7.5%;z-index:6;width:auto;translate:-50% 0;color:#f3eee4;pointer-events:none}
.intro-loading-mark{display:flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #f3eee43d;border-radius:999px;background:#17100c42;backdrop-filter:blur(8px)}
.intro-loading-mark i{display:block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.26;animation:intro-loading-pulse 1.05s ease-in-out infinite}
.intro-loading-mark i:nth-child(2){animation-delay:.14s}.intro-loading-mark i:nth-child(3){animation-delay:.28s}
@keyframes intro-loading-pulse{0%,65%,100%{opacity:.22;transform:translateY(0)}30%{opacity:.9;transform:translateY(-2px)}}
.intro-loading[hidden],.intro [hidden]{display:none!important}
.intro-caption{position:absolute;bottom:30px;left:4.5%;right:4.5%;z-index:5;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#f6efe5;font-size:10px;letter-spacing:.04em;transition:opacity .25s;pointer-events:none}.intro-caption>span{font-size:9px;letter-spacing:.14em}
.intro[data-phase="booting"] .intro-caption,.intro[data-phase="entering"] .intro-caption,.intro[data-phase="entering"] .intro-mark{opacity:0}

.mac-screen{--boot:0;--story:0;--passenger:0;--push:0;--video-opacity:1;position:relative;overflow:hidden;color:#f3eadc;background:#080604;border:0;border-radius:18px;box-shadow:inset 0 0 28px #0009;pointer-events:none;backface-visibility:hidden;contain:layout paint;font:18px/1.2 "Courier New",monospace}
.mac-screen img,.mac-screen video{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.94) contrast(1.1) brightness(.88)}
.mac-screen video{pointer-events:none;-webkit-user-select:none;user-select:none}
.mac-screen video::-webkit-media-controls,.mac-screen video::-webkit-media-controls-enclosure,.mac-screen video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none!important;opacity:0!important}
.mac-phosphor{position:absolute;inset:0;background:#080604;opacity:1}
.mac-boot-copy{position:absolute;inset:0;opacity:clamp(0,calc((var(--boot) - .42)*3),.5);background:radial-gradient(ellipse at 50% 48%,#a6865b35 0%,#372a1b22 36%,transparent 76%)}
.mac-train-story{position:absolute;inset:0;opacity:0;overflow:hidden;background:#080604;transition:opacity .48s cubic-bezier(.4,0,.2,1)}.mac-screen-awake .mac-train-story,.mac-screen-train .mac-train-story,.mac-screen-crossing .mac-train-story{opacity:1}.mac-screen-awake .mac-boot-copy,.mac-screen-train .mac-boot-copy,.mac-screen-crossing .mac-boot-copy{opacity:0}
.mac-train-empty{transform:scale(calc(1.13 - var(--story)*.13)) translateX(calc((1 - var(--story))*-2.8%));opacity:0}.mac-train-passenger{opacity:var(--passenger);transform:scale(calc(1.08 - var(--story)*.08));transition:opacity .06s linear}
.mac-train-video{z-index:1;opacity:0;transition:opacity .48s cubic-bezier(.4,0,.2,1)}.mac-screen-video-ready.mac-screen-frame-painted .mac-train-video{opacity:1}
.mac-screen-prehandoff .mac-train-video{opacity:0;transition-duration:.36s}
.mac-screen-prehandoff .mac-train-empty{opacity:1;transform:none;transition:opacity .36s cubic-bezier(.4,0,.2,1),transform .36s cubic-bezier(.4,0,.2,1)}
.mac-screen-prehandoff .mac-crt-glass::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,#fff8df42 0%,#fff8df14 42%,transparent 78%);animation:crt-prehandoff-pulse .34s ease-out both}
.mac-screen-hero-locked .mac-train-video{display:none}
.mac-screen-hero-locked .mac-train-empty{inset:auto;left:var(--hero-left,0);top:var(--hero-top,0);width:var(--hero-width,100%);height:var(--hero-height,100%);object-position:var(--hero-object-x,50%) 50%}
.mac-uv-test{display:none;position:absolute;inset:0;z-index:4;pointer-events:none}.mac-screen-uv-debug .mac-uv-test{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.mac-uv-test i{display:block;width:22%;height:22%;min-width:52px;min-height:40px;padding:8px;color:#fff;font:700 26px/1 var(--sans,Arial,sans-serif);font-style:normal;text-shadow:0 1px 4px #000;background:#f02020}.mac-uv-test i:nth-child(2){justify-self:end;background:#16b83e}.mac-uv-test i:nth-child(3){align-self:end;background:#1473e6}.mac-uv-test i:nth-child(4){align-self:end;justify-self:end;color:#17110e;text-shadow:none;background:#ffd323}
.mac-crt-glass{position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#d4b8890d 3px 4px),radial-gradient(circle at 48% 40%,transparent 48%,#0008 100%);mix-blend-mode:screen;opacity:calc(.78 - var(--push)*.78)}
.mac-screen-crossing .mac-train-empty{transform:scale(calc(1 + var(--push)*.16))}
.mac-screen-crossing.mac-screen-hero-locked .mac-train-empty{transform:none;filter:saturate(.94) contrast(1.04) brightness(.86)}
.train-welcome-screen{position:absolute!important;inset:0!important;z-index:2;width:100%!important;height:100%!important;border-radius:0!important;box-shadow:none!important;transform:scale(1)!important;transform-origin:center!important;filter:none!important;opacity:1;will-change:opacity,transform}
.train-welcome-screen .mac-train-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.006);transform-origin:center}
.train-welcome-screen .mac-train-empty{inset:0;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-object-x,50%) 50%;transform:none;filter:saturate(.94) contrast(1.04) brightness(.86)}
.train-welcome-screen .mac-crt-glass{opacity:0}
.train-welcome-screen.is-settling{opacity:0;transform:scale(1.002)!important;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}
@keyframes crt-prehandoff-pulse{0%,100%{opacity:0}42%{opacity:.72}}

@media(max-width:700px){.intro-bar{inset:20px 5% auto}.intro-mark small{display:none}.intro-caption{bottom:23px;align-items:flex-start;flex-direction:column;gap:7px}.intro-skip{font-size:9px}.intro-environment img{object-position:center center}.mac-screen{border-radius:14px}.intro-mobile-poster,.intro-mobile-video{object-position:center 50%}}
@media(prefers-reduced-motion:reduce){.intro-loading-mark i{animation:none;opacity:.62}}
