:root{--bg:#05060b;--panel:#0a0c13db;--ink:#eae7de;--dim:#eae7de9e;--faint:#eae7de94;--line:#eae7de21;--accent:#8be8d2;--accent-40:#8be8d266;--accent-55:#8be8d28c;--indigo:#7b87ff;--serif:"Cormorant Garamond", Georgia, serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1);--track-tight:.06em;--track-mid:.16em;--track-wide:.28em}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;color-scheme:dark;text-size-adjust:100%}html,body{background:var(--bg)}body{color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;font-size:17px;font-weight:400;line-height:1.6;overflow-x:hidden}body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}::selection{background:var(--accent);color:var(--bg)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:0}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.road-scenes{z-index:0;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden}.scene{opacity:0;will-change:opacity;transition:opacity 1.9s cubic-bezier(.45,0,.55,1);position:absolute;inset:0}.scene.is-visible{opacity:1}.scene img{object-fit:cover;filter:grayscale(.72)contrast(1.05)brightness(.46)saturate(.85);width:100%;height:100%}.scene--hero img{filter:grayscale(.82)contrast(1.05)brightness(.32)saturate(.78)}.scene:before{content:"";mix-blend-mode:soft-light;background:linear-gradient(150deg,#8be8d21a,#7b87ff1a);position:absolute;inset:0}.scene:after{content:"";background:radial-gradient(120% 92% at 50% 46%,#0000 40%,#05060bbd 100%);position:absolute;inset:0}#field{z-index:1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.vignette{z-index:2;pointer-events:none;background:radial-gradient(120% 90%,#0000 55%,#05060bd1 100%),linear-gradient(#05060b80,#0000 18% 82%,#05060b99);position:fixed;inset:0}.grain{z-index:60;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;position:fixed;inset:-50%}#preloader{z-index:100;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pl-inner{text-align:center}.pl-mono{font-family:var(--mono);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);margin-bottom:1.4rem;font-size:10px}.pl-count{font-family:var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,11vw,9rem);font-weight:300;line-height:1}.pl-count span{text-align:right;min-width:3ch;display:inline-block}.pl-count em{color:var(--accent);font-style:italic}.pl-name{font-family:var(--serif);letter-spacing:.02em;opacity:0;margin-top:1.2rem;font-size:clamp(1.6rem,3.4vw,2.6rem);font-style:italic;font-weight:300}.cur-dot,.cur-ring{z-index:90;pointer-events:none;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cur-dot{background:var(--accent);width:5px;height:5px}.cur-ring{border:1.5px solid var(--accent-55);width:84px;height:84px;transition:background-color .35s var(--ease), border-color .35s var(--ease);justify-content:center;align-items:center;display:flex}.cur-label{font-family:var(--mono);letter-spacing:var(--track-mid);color:var(--bg);opacity:0;transition:opacity .35s var(--ease);font-size:10px}.cur-ring.is-hover{border-color:var(--accent)}.cur-ring.is-view{background:var(--accent);border-color:var(--accent)}.cur-ring.is-view .cur-label{opacity:1}.site-head{z-index:50;background:linear-gradient(#05060bd9,#0000);justify-content:space-between;align-items:center;padding:1.6rem clamp(1.2rem,4vw,3.4rem);display:flex;position:fixed;top:0;left:0;right:0}.brand{font-family:var(--serif);letter-spacing:.02em;font-size:1.25rem;font-style:italic;font-weight:500}.brand span{color:var(--accent)}.back-link{font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim);transition:color .3s var(--ease);font-size:11px}.back-link .arr{color:var(--accent);transition:transform .4s var(--ease);display:inline-block}.back-link:hover{color:var(--ink)}.back-link:hover .arr{transform:translate(-5px)}main{z-index:3;position:relative}section{position:relative}.shell{max-width:1400px;margin:0 auto;padding-left:clamp(1.2rem,5vw,4rem);padding-right:clamp(1.2rem,5vw,4rem)}.h-section{font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(2.4rem,6vw,5.2rem);font-weight:300;line-height:1.04}.h-section em{color:var(--accent);font-style:italic}.mono-label{font-family:var(--mono);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);font-size:10px}.ch-wrap{vertical-align:bottom;margin:0 -.04em -.08em;padding:0 .04em .08em;display:inline-block;overflow:hidden}.ch{will-change:transform;display:inline-block}.road-rail{z-index:45;flex-direction:column;align-items:center;gap:0;display:flex;position:fixed;top:50%;left:clamp(.9rem,2.4vw,2rem);transform:translateY(-50%)}.road-rail .rail-track{background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:50%;overflow:hidden;transform:translate(-50%)}.road-rail .rail-fill{background:var(--accent-55);transform-origin:top;will-change:transform;position:absolute;inset:0;transform:scaleY(0)}.rail-node{color:var(--faint);align-items:center;gap:.7rem;padding:10px 0;display:flex;position:relative}.rail-node .dot{border:1px solid var(--dim);background:var(--bg);width:7px;height:7px;transition:background-color .4s var(--ease), border-color .4s var(--ease);flex-shrink:0}.rail-node .rl{font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);white-space:nowrap;font-size:9px;transform:translate(-4px)}.road-rail:hover .rail-node .rl{opacity:.8;transform:translate(0)}.rail-node.is-active .dot{background:var(--accent);border-color:var(--accent)}.rail-node.is-active .rl{color:var(--ink)}.road-hero{flex-direction:column;justify-content:center;min-height:100dvh;padding-top:6rem;padding-bottom:4rem;display:flex;position:relative}.hero-id{color:var(--dim);align-items:center;gap:1.1rem;margin-bottom:2.4rem;font-size:11px;display:flex}.hero-id .rule{background:var(--accent);flex-shrink:0;width:4.5rem;height:1px;display:inline-block}.hero-name{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(3.2rem,11vw,10rem);font-weight:300;line-height:.92}.hero-name em{color:var(--accent);font-style:italic}.hero-foot{max-width:60ch;margin-top:2.8rem}.hero-lede{color:var(--dim);font-size:clamp(1.15rem,1.55vw,1.35rem);line-height:1.62}.hero-lede .bright{color:var(--ink)}.hero-seats{font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--faint);flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-top:2rem;font-size:10px;display:flex}.hero-seats i{color:var(--accent);font-size:8px;font-style:normal}.hero-cue{font-family:var(--serif);border-bottom:1px solid var(--line);transition:border-color .4s var(--ease);align-items:baseline;gap:.7rem;margin-top:3rem;padding-bottom:.4rem;font-size:clamp(1.1rem,1.6vw,1.4rem);font-style:italic;display:inline-flex}.hero-cue .arr{font-family:var(--mono);color:var(--accent);transition:transform .4s var(--ease);font-size:.8em;font-style:normal;display:inline-block}.hero-cue:hover{border-color:var(--accent)}.hero-cue:hover .arr{transform:translateY(4px)}.stage{justify-content:flex-start;align-items:flex-start;min-height:100dvh;padding-top:8.5rem;padding-bottom:6rem;display:flex}.stage:nth-of-type(2n){justify-content:flex-end}.stage:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#05060beb 0%,#05060bd1 34%,#05060b8f 54%,#05060b42 68%,#0000 80%);position:absolute;inset:0}.stage:nth-of-type(2n):before{background:linear-gradient(270deg,#05060beb 0%,#05060bd1 34%,#05060b8f 54%,#05060b42 68%,#0000 80%)}.stage-panel{z-index:1;width:100%;max-width:80ch;position:relative}.stage-receipt{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim);margin-top:2rem;padding-top:1rem;font-size:10px;line-height:1.6}.stage-receipt b{color:var(--accent);font-weight:400}.stage-num{align-items:baseline;gap:.8rem;display:flex}.stage-num .n{font-family:var(--mono);letter-spacing:var(--track-mid);color:var(--accent);font-size:11px}.stage-num .r{background:var(--line);flex:1;height:1px}.stage-head{font-family:var(--serif);letter-spacing:-.01em;margin:1rem 0 1.5rem;font-size:clamp(1.9rem,3.4vw,2.8rem);font-style:italic;font-weight:300;line-height:1.05}.stage-head em{color:var(--accent);font-style:italic}.stage-body{color:#eae7ded6;max-width:80ch;font-size:clamp(1.2rem,1.55vw,1.42rem);line-height:1.68}.stage-body .lesson{color:var(--ink);font-style:italic}.stage-body strong{color:var(--ink);font-weight:500}.kills{border-top:1px solid var(--line);max-width:80ch;margin-top:1.6rem;padding-top:1.1rem}.kills-head{font-family:var(--mono);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);margin-bottom:.8rem;font-size:10px}.kills ul{flex-wrap:wrap;gap:.55rem 1.15rem;list-style:none;display:flex}.kills li{font-family:var(--mono);letter-spacing:var(--track-tight);color:var(--dim);align-items:baseline;gap:.45rem;font-size:11px;line-height:1.35;display:inline-flex}.kills li:before{content:"×";color:var(--accent);flex-shrink:0;font-size:12px}.closing{flex-direction:column;justify-content:flex-start;min-height:100dvh;padding-top:8.5rem;padding-bottom:4rem;display:flex}.closing .mono-label{margin-bottom:1.6rem}.closing-body{max-width:60ch;color:var(--dim);font-size:clamp(1.15rem,1.55vw,1.35rem);line-height:1.66}.closing-body strong{color:var(--ink);font-weight:500}.pull{border-left:2px solid var(--accent);font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);max-width:24ch;margin:2.6rem 0 0;padding-left:clamp(1.2rem,2vw,2rem);font-size:clamp(1.6rem,3.6vw,3rem);font-style:italic;font-weight:300;line-height:1.18}.pull em{color:var(--accent);font-style:italic}.sign{flex-wrap:wrap;align-items:baseline;gap:.6rem 1.4rem;margin-top:3rem;display:flex}.sign .name{font-family:var(--serif);color:var(--ink);font-size:1.2rem;font-style:italic}.closing-mail{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);border-bottom:1px solid var(--line);transition:color .45s var(--ease), border-color .45s var(--ease);overflow-wrap:anywhere;align-self:flex-start;max-width:100%;margin-top:1.8rem;padding-bottom:.16em;font-size:clamp(1.4rem,3.4vw,2.6rem);font-style:italic;font-weight:300;line-height:1.15;display:inline-block}.closing-mail:hover{color:var(--accent);border-color:var(--accent)}.closing-links{flex-wrap:wrap;gap:1.2rem 2.2rem;margin-top:2.6rem;display:flex}.closing-links a{font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim);transition:color .35s var(--ease);font-size:11px}.closing-links a .arr{color:var(--accent);transition:transform .4s var(--ease);display:inline-block}.closing-links a:hover{color:var(--accent)}.closing-links a:hover .arr{transform:translate(-5px)}.foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:clamp(4rem,10vh,8rem);padding:1.8rem 0 2.4rem;display:flex}.foot p{font-family:var(--mono);letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--faint);max-width:70ch;font-size:10px;line-height:1.9}.foot a{color:var(--dim)}.foot a:hover{color:var(--accent)}@media (width<=900px){.road-rail{display:none}}@media (width<=767px){.stage{min-height:100dvh;padding-block:6rem}.stage-panel,.stage:nth-of-type(2n) .stage-panel{max-width:100%}.stage:before{background:linear-gradient(90deg,#05060be6 0%,#05060bcc 45%,#05060bbd 80%,#05060bcc 96%,#05060bd6 100%)}.stage:nth-of-type(2n):before{background:linear-gradient(270deg,#05060be6 0%,#05060bcc 45%,#05060bbd 80%,#05060bcc 96%,#05060bd6 100%)}}@media (width>=768px) and (width<=1024px){.stage-panel{max-width:24rem}}@media (prefers-reduced-motion:reduce){.cur-dot,.cur-ring{display:none}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
