@font-face{font-family:"Noto Road";src:url("assets/NotoSansKR-VF.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Pretendard Road";src:url("assets/PretendardVariable.woff2") format("woff2");font-style:normal;font-weight:45 920;font-display:swap}

:root{
  --ink:#070806;
  --paper:#e9e9df;
  --acid:#d7ff38;
  --rain:#66d7ff;
  --ember:#ff4b19;
  --muted:#a7aaa0;
  --line:rgba(233,233,223,.22);
  --rail:9.5rem;
  --page-pad:clamp(1.35rem,4vw,4.5rem);
  --display:"Noto Road","Pretendard Road",sans-serif;
  --body:"Pretendard Road","Noto Road",sans-serif;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-weight:470;overflow-x:clip;word-break:keep-all}
button,a{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
img{display:block;width:100%;height:auto}
figure{margin:0}
::selection{background:var(--acid);color:var(--ink)}

.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;padding:.9rem 1.1rem;background:var(--acid);color:var(--ink);font-weight:800;transition:top .2s}
.skip-link:focus{top:1rem}

.grain{position:fixed;inset:-40%;z-index:98;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");animation:grain .24s steps(2) infinite}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(3%,3%)}100%{transform:translate(-2%,-2%)}}

#rain-canvas{position:fixed;inset:0;z-index:35;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .6s ease;mix-blend-mode:screen}
body[data-scene="weather"] #rain-canvas,body[data-scene="night"] #rain-canvas{opacity:.48}

.scroll-progress{position:fixed;inset:0 0 auto;z-index:120;height:2px;background:rgba(255,255,255,.08)}
.scroll-progress span{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(0);transform-origin:left}

.topbar{position:fixed;z-index:110;top:0;left:0;right:0;height:4.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--page-pad);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(5,6,5,.88),rgba(5,6,5,.24));backdrop-filter:blur(12px)}
.wordmark{justify-self:start;display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.16em}
.wordmark-dot{width:.72rem;height:.72rem;border-radius:50%;background:var(--acid);box-shadow:0 0 1.2rem rgba(215,255,56,.8)}
.topbar-route{margin:0;display:flex;align-items:center;gap:.85rem;font-size:.62rem;font-weight:750;letter-spacing:.18em;color:rgba(255,255,255,.64)}
.topbar-route i{width:clamp(3rem,9vw,8rem);height:1px;background:rgba(255,255,255,.35);position:relative}
.topbar-route i::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--acid)}
.topbar-link{justify-self:end;display:grid;place-items:center;min-height:44px;font-size:.7rem;font-weight:800;letter-spacing:.12em;border-bottom:1px solid transparent}
.topbar-link:hover,.topbar-link:focus-visible{border-color:var(--acid);color:var(--acid)}

.journey-rail{position:fixed;z-index:105;left:0;top:4.5rem;bottom:0;width:var(--rail);display:flex;flex-direction:column;justify-content:center;padding-left:1.7rem;gap:.55rem;pointer-events:none}
.journey-rail a{position:relative;display:grid;grid-template-columns:3rem 1fr;align-items:center;min-height:2.7rem;padding-left:1rem;color:rgba(255,255,255,.38);pointer-events:auto;transition:color .25s,transform .25s}
.journey-rail a::before{content:"";position:absolute;left:-.2rem;width:.45rem;height:.45rem;border:1px solid currentColor;border-radius:50%;background:var(--ink);transition:transform .25s,background .25s}
.journey-rail a b{font-size:.63rem;letter-spacing:.07em}
.journey-rail a span{font-size:.72rem;font-weight:700}
.journey-rail a[aria-current="true"]{color:var(--acid);transform:translateX(.3rem)}
.journey-rail a[aria-current="true"]::before{background:var(--acid);transform:scale(1.45);box-shadow:0 0 1rem rgba(215,255,56,.55)}
.rail-line{position:absolute;left:1.5rem;top:calc(50% - 9.5rem);height:19rem;width:1px;background:rgba(255,255,255,.17)}
.rail-line span{display:block;width:1px;height:0;background:var(--acid)}

main{position:relative}
.scene{position:relative;min-height:100svh;isolation:isolate;scroll-margin-top:4.5rem}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:.28;transform:translateY(2.5rem);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-visible{opacity:1;transform:none}
.parallax-media img{transform:translate3d(0,var(--parallax,0),0) scale(1.08);will-change:transform}

.eyebrow,.kicker{font-size:.69rem;font-weight:780;letter-spacing:.2em;text-transform:uppercase}
.kicker{margin:0 0 1.5rem;color:#45473f}
.kicker.light{color:rgba(255,255,255,.62)}
.scene h1,.scene h2{font-family:var(--display);font-weight:870;letter-spacing:-.06em;line-height:.91;margin:0;text-wrap:balance}
.scene h1 em,.scene h2 em{font-style:normal;color:var(--acid)}
.scene p{line-height:1.75}
.section-clock{display:grid;grid-template-columns:2.5rem 5rem auto;align-items:baseline;gap:.6rem;padding-bottom:1rem;border-bottom:1px solid rgba(7,8,6,.28);font-family:var(--display)}
.section-clock span{font-size:.65rem;font-weight:850}
.section-clock b{font-size:1rem;letter-spacing:.08em}
.section-clock small{font-size:.62rem;letter-spacing:.14em;color:#65685f}
.section-clock.light{border-color:rgba(255,255,255,.25)}
.section-clock.light small{color:rgba(255,255,255,.55)}
.media-tag{position:absolute;z-index:4;left:var(--page-pad);bottom:1.2rem;margin:0!important;font-size:.58rem!important;font-weight:720;letter-spacing:.15em;color:rgba(255,255,255,.58)}
.media-tag.right{left:auto;right:var(--page-pad)}

/* Hero */
.hero{min-height:112svh;display:flex;align-items:flex-end;padding:10rem var(--page-pad) 16vh calc(var(--rail) + var(--page-pad));overflow:hidden}
.hero-media,.hero-scrim{position:absolute;inset:-5%;z-index:-3}
.hero-media img{height:110%;object-fit:cover;object-position:51% center}
.hero-scrim{z-index:-2;background:linear-gradient(90deg,rgba(2,3,2,.92) 4%,rgba(3,4,3,.52) 48%,rgba(3,4,3,.08) 78%),linear-gradient(0deg,rgba(3,4,3,.85),transparent 48%),radial-gradient(circle at 70% 35%,transparent,rgba(3,4,3,.35))}
.hero-copy{width:min(67rem,88vw)}
.hero .eyebrow{display:flex;gap:1.4rem;margin:0 0 2.1rem;color:rgba(255,255,255,.62)}
.hero .eyebrow span:last-child{color:var(--acid)}
.hero h1{font-size:clamp(4rem,9.5vw,10rem);max-width:10ch;text-shadow:0 2px 2rem rgba(0,0,0,.35)}
.hero-lede{margin:2.1rem 0 0;max-width:31rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:530;color:rgba(255,255,255,.78)}
.hero-actions{margin-top:2.4rem;display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.primary-action{display:flex;align-items:center;justify-content:space-between;gap:3rem;min-height:3.6rem;padding:.4rem 1rem .4rem 1.25rem;background:var(--acid);color:var(--ink);font-size:.8rem;font-weight:850;letter-spacing:.08em;transition:transform .25s,box-shadow .25s}
.primary-action span{font-size:1.4rem}
.primary-action:hover,.primary-action:focus-visible{transform:translateY(-3px);box-shadow:0 1rem 3rem rgba(215,255,56,.2)}
.text-action{min-height:48px;padding:.5rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:none;cursor:pointer;font-size:.75rem;font-weight:750;letter-spacing:.1em}
.text-action:hover,.text-action:focus-visible{color:var(--acid);border-color:var(--acid)}
.hero-credit{position:absolute;right:var(--page-pad);bottom:1.2rem;margin:0;font-size:.57rem;letter-spacing:.15em;color:rgba(255,255,255,.5)}
.hero-distance{position:absolute;right:var(--page-pad);top:8rem;width:min(22rem,24vw);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem;font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.1em}
.hero-distance i{height:1px;background:rgba(255,255,255,.42)}
.hero-distance small{font-size:.5rem;color:var(--acid)}

/* Approach */
.approach{min-height:140svh;background:var(--paper);color:var(--ink);padding:11rem var(--page-pad) 9rem calc(var(--rail) + var(--page-pad));display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(20rem,1.05fr);grid-template-rows:auto auto 1fr;gap:3.5rem 6vw;overflow:hidden}
.approach>.section-clock{grid-column:1/-1}
.approach-copy{align-self:start;padding-top:4rem}
.approach h2{font-size:clamp(3rem,6vw,7rem);max-width:10ch}
.approach-copy>p:last-child{max-width:31rem;margin:2.4rem 0 0;font-size:1.02rem;color:#45473f}
.approach-photo{position:relative;height:min(76rem,105svh);overflow:hidden;grid-row:2/4;grid-column:2}
.approach-photo img{height:110%;object-fit:cover;object-position:center}
.approach-photo figcaption,.drift-main figcaption{position:absolute;left:1rem;bottom:1rem;padding:.55rem .7rem;background:var(--ink);color:var(--paper);font-size:.55rem;font-weight:750;letter-spacing:.14em}
.route-card{align-self:end;border-top:1px solid #8a8b82;padding-top:1.2rem}
.route-card>p:first-child{margin:0;font-size:.62rem;font-weight:800;letter-spacing:.16em}
.route-svg{width:100%;margin:1.2rem 0 .4rem;overflow:visible}
.route-shadow{fill:none;stroke:#b9bbb2;stroke-width:2;stroke-dasharray:3 9}
.route-path{fill:none;stroke:var(--ember);stroke-width:3;stroke-dasharray:760;stroke-dashoffset:calc(760 * (1 - var(--route,0)));transition:stroke-dashoffset .1s linear}
.route-svg circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}.route-svg circle:last-child{fill:var(--acid)}
.route-stops{display:flex;justify-content:space-between;font-size:.62rem;font-weight:850;letter-spacing:.08em}
.route-stops span{display:grid;gap:.2rem}.route-stops span:nth-child(2){text-align:center}.route-stops span:last-child{text-align:right}
.route-stops small{font-weight:550;color:#76786f}
.route-note{margin:2.2rem 0 0;font-family:var(--display);font-size:1.1rem;font-weight:650;line-height:1.5!important}

/* Arrival */
.arrival{min-height:110svh;background:#171912;overflow:hidden;padding:9rem var(--page-pad) 6rem calc(var(--rail) + var(--page-pad));display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:5vw}
.arrival-media{position:absolute;inset:-4%;z-index:-2}
.arrival-media img{height:110%;object-fit:cover;object-position:50% 42%;filter:saturate(.82) contrast(1.04)}
.arrival::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,5,4,.12),rgba(4,5,4,.18) 48%,rgba(4,5,4,.9) 83%),linear-gradient(0deg,rgba(4,5,4,.75),transparent 58%)}
.arrival-word{position:absolute;left:calc(var(--rail) + var(--page-pad));top:8rem;font-family:var(--display);font-size:clamp(6rem,19vw,19rem);font-weight:900;letter-spacing:-.09em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.32);mix-blend-mode:screen}
.arrival-copy{grid-column:2;align-self:end;padding-bottom:3rem}
.arrival h2{font-size:clamp(3.2rem,6.3vw,7rem)}
.arrival-copy>p{max-width:30rem;margin:2rem 0;color:rgba(255,255,255,.75)}
.poster-action{width:min(28rem,100%);min-height:4.2rem;padding:0 1.2rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.52);background:rgba(0,0,0,.2);cursor:pointer;font-size:.72rem;font-weight:780;letter-spacing:.12em;text-align:left}
.poster-action b{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--acid);color:var(--ink)}
.poster-action:hover,.poster-action:focus-visible{border-color:var(--acid);color:var(--acid)}

/* Weather */
.weather{min-height:130svh;display:grid;grid-template-columns:1.1fr .8fr;align-items:center;padding:10rem var(--page-pad) 9rem calc(var(--rail) + var(--page-pad));overflow:hidden}
.weather-bg,.weather-overlay{position:absolute;inset:-5%;z-index:-3}
.weather-bg img{width:100%;height:110%;object-fit:cover;object-position:center 50%;filter:saturate(.75) contrast(1.08)}
.weather-overlay{z-index:-2;background:linear-gradient(90deg,rgba(1,4,4,.88),rgba(1,4,4,.38) 55%,rgba(1,4,4,.1)),linear-gradient(0deg,rgba(1,4,4,.78),transparent 55%)}
.weather-copy{max-width:52rem}
.weather-copy .section-clock{margin-bottom:5rem}
.weather h2{font-size:clamp(3.7rem,7.2vw,8.2rem)}
.weather-copy>p{max-width:32rem;margin:2.3rem 0;color:rgba(255,255,255,.78)}
.round-play{display:grid;place-items:center;width:6.5rem;height:6.5rem;margin-top:3rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.15);cursor:pointer;transition:background .25s,color .25s,transform .25s}
.round-play span{font-size:.62rem;font-weight:850;letter-spacing:.14em}
.round-play:hover,.round-play:focus-visible{background:var(--acid);color:var(--ink);transform:scale(1.05)}
.weather-fact{position:absolute;right:var(--page-pad);bottom:7rem;width:min(24rem,30vw);padding:1.4rem;border-left:1px solid var(--acid);background:rgba(3,5,4,.62);backdrop-filter:blur(8px)}
.weather-fact b{display:block;font-family:var(--display);font-size:4rem;line-height:1;color:var(--acid)}
.weather-fact p{font-size:.8rem;line-height:1.6;margin:.7rem 0 1rem}
.weather-fact a{font-size:.6rem;font-weight:800;letter-spacing:.12em;border-bottom:1px solid currentColor}

/* Drift */
.drift{min-height:185svh;background:#d8d6ca;color:var(--ink);padding:10rem var(--page-pad) 12rem calc(var(--rail) + var(--page-pad));display:grid;grid-template-columns:.9fr 1.25fr .75fr;grid-template-rows:auto auto minmax(32rem,70svh) minmax(15rem,35svh);gap:2.5rem;overflow:hidden}
.drift>.section-clock{grid-column:1/-1}
.drift-heading{grid-column:1/3;padding-top:2rem;z-index:3}
.drift h2{font-size:clamp(3.4rem,6.6vw,7.5rem)}
.drift-main{grid-column:1/3;grid-row:3;position:relative;overflow:hidden}
.drift-main img{height:110%;object-fit:cover;object-position:center}
.archive-photo{position:relative;background:#f2f0e6;padding:.7rem .7rem 2.6rem;box-shadow:0 1.5rem 4rem rgba(15,16,13,.2);transform:rotate(var(--rotate))!important;z-index:4}
.archive-photo img{height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.archive-photo figcaption{position:absolute;left:.8rem;right:.8rem;bottom:.6rem;display:flex;align-items:baseline;justify-content:space-between;font-family:var(--display)}
.archive-photo figcaption span{font-size:.58rem;font-weight:800;letter-spacing:.12em}.archive-photo figcaption b{font-size:1.1rem}.archive-photo figcaption small{font-size:.48rem;color:#77796f}
.archive-a{--rotate:3.5deg;grid-column:3;grid-row:3;align-self:center;height:23rem;margin-left:-5rem}
.archive-b{--rotate:-4deg;grid-column:2/4;grid-row:4;justify-self:end;align-self:start;width:min(35rem,82%);height:23rem;margin-top:-4rem}
.drift-copy{grid-column:1;grid-row:4;align-self:start;max-width:29rem;font-size:1rem;color:#45473f;margin:2rem 0 0!important}

/* Night */
.night{min-height:140svh;background:#130809;padding:10rem var(--page-pad) 11rem calc(var(--rail) + var(--page-pad));display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto auto;gap:6vw;align-items:center;overflow:hidden}
.night-color{position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 76% 48%,rgba(224,35,28,.35),transparent 35%),radial-gradient(circle at 12% 40%,rgba(68,15,27,.7),transparent 45%),#100607}
.night-copy .section-clock{margin-bottom:5rem}
.night h2{font-size:clamp(3.4rem,6.4vw,7.5rem)}
.night-copy>p{max-width:31rem;margin:2.2rem 0;color:rgba(255,255,255,.72)}
.night-poster{position:relative;display:block;width:100%;padding:0;border:0;background:#050505;cursor:pointer;overflow:hidden;box-shadow:0 2rem 6rem rgba(0,0,0,.45)}
.night-poster img{aspect-ratio:16/9;object-fit:cover;transition:transform .7s ease,filter .5s}
.night-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 54%)}
.night-poster-meta{position:absolute;z-index:2;left:1.5rem;bottom:1.4rem;text-align:left;display:grid;gap:.45rem}
.night-poster-meta small{font-size:.55rem;letter-spacing:.13em;color:rgba(255,255,255,.65)}
.night-poster-meta strong{font-family:var(--display);font-size:clamp(1.7rem,3vw,3.5rem);line-height:.88;letter-spacing:-.05em}
.night-poster>i{position:absolute;z-index:2;right:1.6rem;bottom:1.5rem;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--acid);color:var(--ink);font-style:normal}
.night-poster:hover img,.night-poster:focus-visible img{transform:scale(1.04);filter:saturate(1.15)}
.night-quote{grid-column:1/-1;justify-self:end;margin-right:7vw;display:flex;align-items:flex-start;gap:1rem;color:var(--acid)}
.night-quote span{font-family:serif;font-size:5rem;line-height:.7}.night-quote p{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2.5rem);font-weight:700;line-height:1.3}

/* Lost / filmstrip */
.lost{min-height:145svh;background:#b9b7ab;color:var(--ink);padding:10rem 0 10rem calc(var(--rail) + var(--page-pad));overflow:hidden}
.lost-head{padding-right:var(--page-pad);max-width:72rem}
.lost-head .section-clock{margin-bottom:4rem}
.lost h2{font-size:clamp(3.5rem,7vw,8rem)}
.lost-head>p:last-child{max-width:35rem;color:#52544d;margin-top:2rem}
.filmstrip-wrap{margin-top:5rem;position:relative}
.filmstrip{display:flex;gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:1.4rem var(--page-pad) 2rem 0;cursor:grab;scrollbar-width:none;user-select:none}
.filmstrip::-webkit-scrollbar{display:none}.filmstrip.is-dragging{cursor:grabbing;scroll-snap-type:none}
.film-frame{position:relative;flex:0 0 clamp(18rem,37vw,37rem);scroll-snap-align:start;padding:1rem 1rem 1.4rem;border:1px solid rgba(7,8,6,.38);background:#cbc9bd;color:var(--ink);text-align:left;cursor:pointer;transition:transform .25s,background .25s}
.film-frame::before,.film-frame::after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,transparent 0 13px,#070806 13px 22px,transparent 22px 35px)}
.film-frame::before{top:-8px}.film-frame::after{bottom:-8px}
.film-frame img{aspect-ratio:16/9;object-fit:cover;pointer-events:none;filter:saturate(.78) contrast(1.06);transition:filter .25s}
.film-frame strong{display:block;margin-top:1rem;font-family:var(--display);font-size:1.3rem;letter-spacing:-.03em}
.film-frame small{display:block;margin-top:.2rem;font-size:.66rem;color:#60625a}
.frame-no{position:absolute;z-index:2;top:1.4rem;left:1.4rem;padding:.28rem .4rem;background:var(--acid);font-size:.55rem;font-weight:900;letter-spacing:.1em}
.film-frame:hover,.film-frame:focus-visible{transform:translateY(-.35rem);background:#e1dfd4}.film-frame:hover img{filter:saturate(1.05) contrast(1.02)}
.drag-hint{width:min(40rem,80vw);display:flex;align-items:center;gap:1rem;margin:1rem 0 0;font-size:.58rem;font-weight:850;letter-spacing:.14em}
.drag-hint i{height:1px;flex:1;background:#6b6c64;position:relative}.drag-hint i::after{content:"";position:absolute;right:0;top:-3px;border-left:6px solid #6b6c64;border-top:3px solid transparent;border-bottom:3px solid transparent}
.old-memory{position:absolute;right:7vw;bottom:3rem;width:min(18rem,22vw);padding:.6rem .6rem 2rem;background:#e9e7dd;transform:rotate(4deg);box-shadow:0 1rem 3rem rgba(0,0,0,.18)}
.old-memory img{filter:sepia(.18) saturate(.7)}.old-memory figcaption{position:absolute;bottom:.65rem;left:.7rem;font-size:.5rem;font-weight:800;letter-spacing:.1em}

/* Return */
.return{min-height:130svh;display:flex;align-items:center;padding:10rem var(--page-pad) 11rem calc(var(--rail) + var(--page-pad));overflow:hidden}
.return-media,.return-fade{position:absolute;inset:-5%;z-index:-3}
.return-media img{height:110%;object-fit:cover;object-position:center 42%;filter:saturate(.62) brightness(.72)}
.return-fade{z-index:-2;background:linear-gradient(90deg,rgba(2,4,3,.88),rgba(2,4,3,.42) 55%,transparent),linear-gradient(0deg,rgba(2,4,3,.8),transparent 55%)}
.return-copy{max-width:61rem}
.return-copy .section-clock{margin-bottom:5rem}
.return h2{font-size:clamp(3.8rem,7.5vw,8.4rem)}
.return-copy>p{max-width:33rem;margin:2.5rem 0;color:rgba(255,255,255,.75)}
.return-ticket{position:absolute;right:6vw;bottom:10vh;width:min(28rem,34vw);padding:1.4rem 1.6rem;background:#dbd9cc;color:var(--ink);transform:rotate(-2.5deg);box-shadow:0 1.5rem 5rem rgba(0,0,0,.35);display:grid;gap:.6rem}
.return-ticket::after{content:"";position:absolute;top:0;bottom:0;right:3.2rem;border-left:2px dashed #7b7d74}
.return-ticket span,.return-ticket small{font-size:.55rem;font-weight:800;letter-spacing:.12em}.return-ticket b{font-family:var(--display);font-size:1.6rem}

/* Finale */
.finale{min-height:125svh;background:var(--acid);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:9rem var(--page-pad) 10rem calc(var(--rail) + var(--page-pad));overflow:hidden}
.finale-reel{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);opacity:.12;filter:grayscale(1) contrast(1.4);mix-blend-mode:multiply}
.finale-reel img{height:100%;object-fit:cover}
.finale-reel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--acid),transparent 25%,transparent 75%,var(--acid)),linear-gradient(0deg,var(--acid),transparent 35%,var(--acid))}
.finale-copy{position:relative;z-index:2;text-align:center}
.finale .kicker{color:#33352f}
.finale h2{font-size:clamp(4rem,10vw,11rem);line-height:.82}
.finale-copy>p{font-size:clamp(1rem,1.6vw,1.3rem);margin:2.5rem 0}.finale-copy>p strong{display:block;margin-top:.35rem;font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.6rem)}
.finale-actions{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}
.final-cta{display:flex;align-items:center;justify-content:space-between;gap:3rem;min-width:min(31rem,100%);min-height:4.5rem;padding:.5rem 1.4rem;background:var(--ink);color:var(--paper);font-size:.8rem;font-weight:850;letter-spacing:.08em;text-align:left}
.final-cta b{font-size:1.6rem;color:var(--acid)}
.final-film{min-height:4.5rem;padding:.5rem 1.2rem;border:1px solid rgba(7,8,6,.5);background:transparent;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;cursor:pointer}
.final-cta:hover,.final-cta:focus-visible{transform:translateY(-3px)}.final-film:hover,.final-film:focus-visible{background:rgba(7,8,6,.09)}
.finale-distance{position:absolute;bottom:2.5rem;display:flex;align-items:center;gap:1rem;width:min(34rem,60vw);font-size:.58rem;font-weight:850;letter-spacing:.12em}.finale-distance i{height:1px;flex:1;background:rgba(7,8,6,.55)}

/* Footer */
footer{position:relative;z-index:3;background:#050605;padding:5rem var(--page-pad) 2rem calc(var(--rail) + var(--page-pad));display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem 8vw;border-top:1px solid rgba(255,255,255,.15)}
.footer-title{display:grid;align-content:start;gap:.8rem}.footer-title span{font-size:.55rem;font-weight:800;letter-spacing:.15em;color:rgba(255,255,255,.46)}.footer-title b{font-family:var(--display);font-size:clamp(1.6rem,3vw,3rem)}
.footer-notes p{margin:0;color:rgba(255,255,255,.56);font-size:.72rem;line-height:1.8}
.footer-notes nav{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.6rem}.footer-notes a{min-height:44px;display:flex;align-items:center;font-size:.57rem;font-weight:800;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.35)}.footer-notes a:hover,.footer-notes a:focus-visible{color:var(--acid);border-color:var(--acid)}
.footer-end{grid-column:1/-1;margin:2rem 0 0!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.55rem!important;font-weight:800;letter-spacing:.17em;color:rgba(255,255,255,.38)}

/* Video dialog */
.video-dialog{width:min(72rem,calc(100vw - 2rem));max-width:none;padding:0;border:1px solid rgba(255,255,255,.28);background:#070806;color:var(--paper);box-shadow:0 2rem 8rem rgba(0,0,0,.75)}
.video-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(10px)}
.dialog-bar{min-height:5rem;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.15)}
.dialog-bar div{min-width:0}.dialog-bar small{font-size:.5rem;font-weight:800;letter-spacing:.15em;color:var(--acid)}.dialog-bar h2{margin:.25rem 0 0;font-family:var(--display);font-size:clamp(1rem,2vw,1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dialog-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:var(--paper);font-size:1.8rem;line-height:1;cursor:pointer}.dialog-close:hover,.dialog-close:focus-visible{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.player-shell{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}.player-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.3rem}.dialog-foot p{margin:0;font-size:.65rem;color:rgba(255,255,255,.55)}.dialog-foot a{min-height:44px;display:flex;align-items:center;font-size:.57rem;font-weight:800;letter-spacing:.1em;color:var(--acid)}

:focus-visible{outline:2px solid var(--acid);outline-offset:4px}

@media (max-width:1000px){
  :root{--rail:6.5rem}
  .journey-rail{width:6.5rem;padding-left:1rem}.journey-rail a{grid-template-columns:1fr;padding-left:.8rem}.journey-rail a span{display:none}.rail-line{left:.8rem}
  .approach{grid-template-columns:.82fr 1fr;gap:3rem}
  .arrival{grid-template-columns:.8fr 1.2fr}
  .drift{grid-template-columns:.75fr 1.25fr .65fr}
  .archive-a{margin-left:-7rem}
  .night{grid-template-columns:1fr 1.2fr}
}

@media (max-width:760px){
  :root{--page-pad:1.25rem;--rail:0rem}
  body{overflow-x:hidden}
  .grain{opacity:.065;animation:none}
  .topbar{height:3.8rem;grid-template-columns:1fr auto;padding:0 var(--page-pad)}
  .wordmark{font-size:.61rem}.wordmark span:last-child{max-width:13rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-route{display:none}.topbar-link{font-size:.6rem}
  .journey-rail{display:none}
  .scene{scroll-margin-top:3.8rem}
  .section-clock{grid-template-columns:2rem 4rem 1fr}.section-clock small{text-align:right;line-height:1.4}
  .js .reveal{transform:translateY(1.4rem)}
  .parallax-media img{transform:none!important}
  .hero{min-height:106svh;padding:7.5rem var(--page-pad) 5rem}
  .hero-media,.hero-scrim{inset:0}
  .hero-media img{height:100%;object-position:55% center;transform:scale(1.04)!important}
  .hero-scrim{background:linear-gradient(0deg,rgba(2,3,2,.94) 7%,rgba(2,3,2,.43) 67%,rgba(2,3,2,.18)),linear-gradient(90deg,rgba(2,3,2,.45),transparent)}
  .hero-copy{width:100%}.hero .eyebrow{font-size:.56rem;margin-bottom:1.5rem;justify-content:space-between;gap:.5rem}
  .hero h1{font-size:clamp(3.8rem,17vw,5.4rem);line-height:.88;max-width:100%}
  .hero-lede{font-size:.95rem;margin-top:1.4rem}.hero-actions{margin-top:1.5rem;gap:.7rem;align-items:stretch;flex-direction:column}
  .primary-action{width:100%;min-height:3.5rem}.text-action{align-self:flex-start}
  .hero-credit{left:var(--page-pad);right:auto;bottom:1rem;font-size:.45rem;max-width:80%}.hero-distance{top:5.1rem;right:var(--page-pad);width:10rem}
  .approach{min-height:auto;padding:7rem var(--page-pad);display:flex;flex-direction:column;gap:2.2rem}
  .approach-copy{padding-top:1.5rem}.approach h2{font-size:clamp(3rem,13vw,4.7rem)}
  .approach-copy>p:last-child{font-size:.92rem;margin-top:1.7rem}
  .approach-photo{order:3;height:75svh;width:calc(100% + 2.5rem);margin-left:-1.25rem}.approach-photo img{height:100%;object-position:52% center}
  .route-card{order:4;width:100%}.route-svg{height:8rem}.route-note{font-size:1rem}
  .arrival{min-height:105svh;padding:7rem var(--page-pad) 4rem;display:flex;align-items:flex-end}
  .arrival-media{inset:0}.arrival-media img{height:100%;object-position:40% center}
  .arrival::after{background:linear-gradient(0deg,rgba(3,4,3,.96) 4%,rgba(3,4,3,.42) 66%,rgba(3,4,3,.12))}
  .arrival-word{left:-.5rem;top:7rem;font-size:26vw}.arrival-copy{padding:0;width:100%}.arrival h2{font-size:clamp(3rem,13vw,4.7rem)}
  .arrival-copy>p{font-size:.9rem}.media-tag{left:var(--page-pad);font-size:.43rem!important;max-width:80%}.media-tag.right{right:var(--page-pad);left:auto}
  .weather{min-height:125svh;padding:8rem var(--page-pad) 7rem;display:flex;align-items:center}
  .weather-bg,.weather-overlay{inset:0}.weather-bg img{height:100%;object-position:58% center}
  .weather-overlay{background:linear-gradient(0deg,rgba(1,4,4,.93) 5%,rgba(1,4,4,.34) 70%,rgba(1,4,4,.15))}
  .weather-copy .section-clock{margin-bottom:4rem}.weather h2{font-size:clamp(3.3rem,14vw,5rem)}.weather-copy>p{font-size:.9rem}
  .round-play{width:5.2rem;height:5.2rem;margin-top:2rem}
  .weather-fact{right:var(--page-pad);left:var(--page-pad);bottom:2.6rem;width:auto;padding:1rem}.weather-fact b{font-size:2.6rem}.weather-fact p{font-size:.7rem;margin:.45rem 0 .6rem}.weather .media-tag{display:none}
  .drift{min-height:auto;padding:7rem var(--page-pad) 9rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 62svh auto auto auto;gap:1.2rem;overflow:visible}
  .drift>.section-clock,.drift-heading{grid-column:1/-1}.drift h2{font-size:clamp(3rem,12.8vw,4.8rem)}
  .drift-main{grid-column:1/-1;grid-row:3;margin:1rem -1.25rem 0}.drift-main img{height:100%;object-fit:cover}
  .archive-a{grid-column:1;grid-row:4;width:125%;height:15rem;margin:-1rem 0 0 -.3rem;--rotate:-2deg}
  .archive-b{grid-column:2;grid-row:5;width:135%;height:14rem;margin:-3rem 0 0 -35%;--rotate:3deg}
  .archive-photo figcaption small{display:none}
  .drift-copy{grid-column:1/-1;grid-row:6;font-size:.9rem;margin:2rem 0 0!important}
  .night{min-height:auto;padding:8rem var(--page-pad);display:flex;flex-direction:column;gap:3rem}
  .night-copy .section-clock{margin-bottom:4rem}.night h2{font-size:clamp(3.2rem,13vw,4.8rem)}.night-copy>p{font-size:.9rem}
  .night-poster{width:calc(100% + 2.5rem);margin-left:-1.25rem}.night-poster-meta{left:1.2rem}.night-poster>i{width:3.5rem;height:3.5rem;right:1rem;bottom:1rem}
  .night-quote{margin:1rem 0 0;align-self:flex-end}.night-quote p{font-size:1.35rem}
  .lost{min-height:auto;padding:8rem 0 9rem var(--page-pad)}.lost-head{padding-right:var(--page-pad)}.lost-head .section-clock{margin-bottom:4rem}.lost h2{font-size:clamp(3.1rem,13vw,4.8rem)}.lost-head>p:last-child{font-size:.85rem}
  .filmstrip-wrap{margin-top:3.5rem}.film-frame{flex-basis:82vw}.filmstrip{padding-right:var(--page-pad)}
  .old-memory{position:relative;right:auto;bottom:auto;width:53vw;margin:4rem 1.5rem 0 auto}
  .return{min-height:120svh;padding:8rem var(--page-pad) 10rem;align-items:center}
  .return-media,.return-fade{inset:0}.return-media img{height:100%;object-position:52% center}.return-fade{background:linear-gradient(0deg,rgba(2,4,3,.95) 4%,rgba(2,4,3,.32) 75%,rgba(2,4,3,.1))}
  .return-copy .section-clock{margin-bottom:4rem}.return h2{font-size:clamp(3.3rem,14vw,5rem)}.return-copy>p{font-size:.9rem}
  .return-ticket{right:var(--page-pad);left:var(--page-pad);bottom:3.2rem;width:auto;padding:1rem;transform:rotate(-1.5deg)}.return-ticket b{font-size:1.25rem}
  .finale{min-height:110svh;padding:8rem var(--page-pad)}.finale-reel{grid-template-columns:1fr 1fr}.finale-reel img:nth-child(n+3){display:none}.finale h2{font-size:clamp(4rem,19vw,6.3rem)}
  .finale-copy>p{font-size:.95rem}.finale-copy>p strong{font-size:1.4rem}.finale-actions{flex-direction:column}.final-cta,.final-film{width:100%;min-width:0}.finale-distance{bottom:2rem;width:70vw}
  footer{padding:4rem var(--page-pad) 2rem;grid-template-columns:1fr;gap:2.5rem}.footer-end{margin-top:0!important}
  .video-dialog{width:100vw;height:auto;max-height:100dvh;margin:auto 0 0;border-left:0;border-right:0;border-bottom:0}.dialog-bar{min-height:4.5rem}.dialog-foot{align-items:flex-start;flex-direction:column;padding:.8rem 1rem}.dialog-foot p{display:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.grain{animation:none}.reveal,.js .reveal{opacity:1;transform:none;transition:none}.parallax-media img{transform:none!important}.film-frame,.night-poster img,.primary-action{transition:none}#rain-canvas{display:none}.route-path{stroke-dashoffset:0!important}
}

/* ========================================================================== */
/* V3 · FOREST DOCUMENTARY × HANDMADE FESTIVAL POSTER                         */
/* ========================================================================== */
:root{
  --ink:#0b211d;
  --paper:#e5d9c7;
  --acid:#e6c34a;
  --rain:#79aebd;
  --ember:#df6538;
  --moss:#66734c;
  --river:#4e879b;
  --mist:#b9c8c2;
  --muted:#9aa49d;
  --line:rgba(229,217,199,.22);
  --rail:8rem;
}
body{background:var(--ink);color:var(--paper);font-weight:455}
body[data-scene="departure"]{--scene-accent:#e6c34a}
body[data-scene="approach"]{--scene-accent:#a53f27}
body[data-scene="weather"]{--scene-accent:#79aebd}
body[data-scene="drift"]{--scene-accent:#93402d}
body[data-scene="night"]{--scene-accent:#e5a24c}
body[data-scene="lost"]{--scene-accent:#255568}
body[data-scene="return"]{--scene-accent:#d98655}
::selection{background:#df6538;color:#fff8ec}
.grain{opacity:.045;mix-blend-mode:soft-light;animation-duration:.42s}
#rain-canvas{mix-blend-mode:normal}
body[data-scene="weather"] #rain-canvas,body[data-scene="night"] #rain-canvas{opacity:.32}
.scroll-progress{height:3px;background:rgba(229,217,199,.11)}
.scroll-progress span{background:var(--scene-accent)}

.topbar{height:4.25rem;border-color:rgba(229,217,199,.14);background:linear-gradient(180deg,rgba(8,34,31,.91),rgba(8,34,31,.57));backdrop-filter:blur(7px)}
.wordmark{letter-spacing:.1em;font-size:.7rem;font-weight:740}
.wordmark-dot{width:.66rem;height:.72rem;border-radius:54% 46% 58% 42%;background:var(--scene-accent);box-shadow:none;transform:rotate(16deg)}
.topbar-route{letter-spacing:.11em;color:rgba(229,217,199,.58)}
.topbar-route i{background:rgba(229,217,199,.27)}
.topbar-route i::after{background:var(--scene-accent);box-shadow:none}
.topbar-link{letter-spacing:.08em;font-weight:720}
.topbar-link:hover,.topbar-link:focus-visible{border-color:var(--scene-accent);color:var(--scene-accent)}

.journey-rail{top:4.25rem;width:var(--rail);padding-left:1.35rem;gap:.25rem}
.journey-rail a{grid-template-columns:2.7rem 1fr;min-height:2.45rem;padding-left:.8rem;color:rgba(229,217,199,.29)}
.journey-rail a::before{width:.38rem;height:.38rem;background:var(--ink)}
.journey-rail a b{font-size:.56rem;font-weight:680}.journey-rail a span{font-size:.66rem;font-weight:620}
.journey-rail a[aria-current="true"]{color:var(--scene-accent);transform:translateX(.18rem)}
.journey-rail a[aria-current="true"]::before{background:var(--scene-accent);transform:scale(1.2);box-shadow:none}
.rail-line{left:1.16rem;width:1px;background:repeating-linear-gradient(180deg,rgba(229,217,199,.2) 0 4px,transparent 4px 9px)}
.rail-line span{background:var(--scene-accent)}

.scene{scroll-margin-top:4.25rem}
.scene h1,.scene h2{font-weight:760;letter-spacing:-.035em;line-height:.96}
.scene p{line-height:1.82}
.eyebrow,.kicker{text-transform:none;letter-spacing:.11em;font-weight:690}
.kicker{color:#5c6258}.kicker.light{color:rgba(236,225,209,.66)}
.section-clock{border-bottom-style:dashed;font-family:var(--body);opacity:.78}
.section-clock span{font-weight:720}.section-clock b{font-family:var(--display);font-weight:690}.section-clock small{letter-spacing:.1em}
.media-tag{letter-spacing:.1em;color:rgba(241,229,211,.55)}

.hero{--acid:#e6c34a;min-height:108svh;padding-bottom:14vh}
.hero-media img{filter:saturate(1.04) contrast(.96) brightness(.95)}
.hero-scrim{background:linear-gradient(90deg,rgba(7,33,29,.86) 3%,rgba(7,33,29,.48) 48%,rgba(9,37,44,.08) 80%),linear-gradient(0deg,rgba(8,31,27,.78),transparent 52%),radial-gradient(circle at 73% 38%,transparent,rgba(7,30,27,.18))}
.hero .eyebrow{color:rgba(239,225,206,.68)}
.hero h1{font-size:clamp(3.8rem,8.1vw,8.8rem);max-width:10.5ch;text-shadow:0 2px 2rem rgba(4,23,20,.28)}
.hero-lede{color:rgba(246,234,215,.83);font-weight:470}
.primary-action{background:#e6c34a;color:#17251c;letter-spacing:.05em;box-shadow:none}
.primary-action:hover,.primary-action:focus-visible{box-shadow:0 1rem 2.5rem rgba(230,195,74,.14)}
.text-action{letter-spacing:.06em;border-color:rgba(241,229,211,.42)}
.text-action:hover,.text-action:focus-visible{color:#e6c34a;border-color:#e6c34a}
.hero-distance{opacity:.48}.hero-distance small{color:#e6c34a}

.approach{--acid:#a53f27;background:#e5d9c7;grid-template-columns:minmax(17rem,.72fr) minmax(22rem,1.28fr);gap:3.5rem 7vw}
.approach h2{font-size:clamp(2.8rem,5.15vw,6.2rem);max-width:11ch}
.approach-copy>p:last-child,.drift-copy{color:#4f5a51}
.approach-photo{height:min(78rem,112svh)}
.approach-photo img{filter:saturate(1.03) contrast(.96);object-position:52% center}
.approach-photo figcaption,.drift-main figcaption{background:#12362f;color:#f2e6d4}
.route-card{border-color:#8d9487}.route-shadow{stroke:#9aa493}.route-path{stroke:#a53f27}
.route-svg circle{fill:#e5d9c7;stroke:#17382f}.route-svg circle:last-child{fill:#e6c34a}

.arrival{--acid:#e4b544;background:#12372f;grid-template-columns:.95fr 1.05fr}
.arrival-media img{filter:saturate(1.04) contrast(.98) brightness(.98)}
.arrival::after{background:linear-gradient(90deg,rgba(8,35,30,.03),rgba(8,35,30,.08) 45%,rgba(8,35,30,.78) 83%),linear-gradient(0deg,rgba(8,35,30,.62),transparent 58%)}
.arrival-word{font-weight:720;-webkit-text-stroke:1px rgba(235,220,194,.25);letter-spacing:-.05em}
.arrival h2{font-size:clamp(3rem,5.3vw,6.3rem)}
.arrival-copy>p{color:rgba(244,232,213,.82)}
.poster-action{border-color:rgba(244,232,213,.46);background:rgba(14,53,45,.34);letter-spacing:.07em}
.poster-action b{background:#e4b544;color:#173028}

.weather{--acid:#e4a44e;background:#0b2d3c}
.weather-bg img{filter:saturate(1.02) contrast(.96) brightness(.96)}
.weather-overlay{background:linear-gradient(90deg,rgba(9,39,48,.79),rgba(9,42,51,.29) 58%,rgba(18,54,50,.05)),linear-gradient(0deg,rgba(8,36,44,.66),transparent 55%)}
.weather h2{font-size:clamp(3.4rem,6vw,7rem)}
.weather-copy>p{color:rgba(241,229,211,.84)}
.round-play{border-color:rgba(236,222,199,.68);background:rgba(15,54,61,.22)}
.round-play:hover,.round-play:focus-visible{background:#e4a44e;color:#173028}
.weather-fact{border-color:#df6538;background:rgba(12,45,50,.7);backdrop-filter:blur(5px)}
.weather-fact b{color:#e4a44e;font-weight:730}

.drift{--acid:#93402d;background:#d9cfbe;grid-template-columns:.82fr 1.28fr .72fr}
.drift h2{font-size:clamp(3rem,5.3vw,6.3rem)}
.drift-main img{filter:saturate(1.06) contrast(.96)}
.archive-photo{background:#eee3d1;box-shadow:0 1.2rem 3.4rem rgba(34,45,37,.16)}
.archive-photo img{filter:saturate(.96) contrast(.98)}
.archive-photo figcaption small{color:#687269}

.night{--acid:#e2a04c;background:#0b2630;grid-template-columns:.68fr 1.32fr}
.night-color{background:radial-gradient(circle at 78% 48%,rgba(210,82,43,.38),transparent 34%),radial-gradient(circle at 18% 50%,rgba(35,88,104,.46),transparent 47%),linear-gradient(135deg,#0b2d3c 0%,#27141a 67%,#180d10 100%)}
.night h2{font-size:clamp(3rem,5.3vw,6.35rem)}
.night-copy>p{color:rgba(240,225,205,.78)}
.night-poster{background:#132c32;box-shadow:0 1.5rem 4rem rgba(3,24,29,.35)}
.night-poster img{filter:saturate(1.04) contrast(.98)}
.night-poster>i{background:#e2a04c;color:#183129}
.night-quote{color:#e2a04c}.night-quote p{font-weight:620}

.lost{--acid:#255568;background:#c8c6b5}
.lost h2{font-size:clamp(3.1rem,5.7vw,6.7rem)}
.lost-head>p:last-child{color:#4c5e5c}
.film-frame{border-color:rgba(13,44,42,.3);background:#d7c9b5;color:#102c28}
.film-frame:nth-child(2n){background:#c8d2ca}.film-frame:nth-child(3n){background:#d6b9a5}.film-frame:nth-child(4n){background:#c4ccd3}
.film-frame::before,.film-frame::after{background:repeating-linear-gradient(90deg,transparent 0 13px,#173b35 13px 22px,transparent 22px 35px)}
.film-frame img{filter:saturate(.98) contrast(.98)}
.frame-no{background:#df6538;color:#102c28}
.film-frame:nth-child(2n) .frame-no{background:#255568;color:#f3e7d5}.film-frame:nth-child(3n) .frame-no{background:#65734d;color:#fff6e7}
.film-frame:hover,.film-frame:focus-visible{background:#e5d9c7}
.film-frame:hover img{filter:saturate(1.08)}
.old-memory{background:#eee4d3}.old-memory img{filter:sepia(.08) saturate(.9)}

.return{--acid:#d98655;background:#173c3d}
.return-media img{filter:saturate(.86) brightness(.84) contrast(.94)}
.return-fade{background:linear-gradient(90deg,rgba(12,47,44,.77),rgba(13,52,52,.28) 56%,rgba(20,58,57,.04)),linear-gradient(0deg,rgba(11,44,42,.6),transparent 58%)}
.return h2{font-size:clamp(3.3rem,6vw,7rem)}
.return-copy>p{color:rgba(242,229,209,.82)}
.return-ticket{background:#dfd3c2;color:#14362f;box-shadow:0 1.2rem 3.5rem rgba(4,29,27,.27)}
.return-ticket::after{border-color:#89968c}

.finale{--acid:#df6538;min-height:118svh;background:radial-gradient(circle at 82% 18%,rgba(223,101,56,.18),transparent 26%),#b9c8c2;color:#11312b;justify-content:flex-start}
.finale-reel{opacity:.31;filter:saturate(.72) contrast(.94);mix-blend-mode:multiply}
.finale-reel::after{opacity:.76;background:linear-gradient(90deg,#b9c8c2 0%,rgba(185,200,194,.46) 30%,rgba(229,217,199,.26) 72%,#e5d9c7 100%),linear-gradient(0deg,#d8d5c8 0%,rgba(200,210,203,.4) 44%,rgba(185,200,194,.7) 100%)}
.finale-copy{width:min(60rem,100%);text-align:left;margin-left:clamp(0rem,7vw,7rem)}
.finale .kicker{color:#3e5c53}
.finale h2{font-size:clamp(3.6rem,7vw,7.8rem);line-height:.9;max-width:9ch}
.finale-copy>p{margin:2.2rem 0;color:#294940}.finale-copy>p strong{font-size:clamp(1.3rem,2vw,2.1rem);font-weight:680}
.finale-actions{justify-content:flex-start}
.final-cta{background:#12372f;color:#f1e4d1;letter-spacing:.05em}
.final-cta b{color:#df6538}.final-film{border-color:rgba(17,49,43,.48);color:#11312b;letter-spacing:.05em}
.finale-distance{color:#3d5a52}.finale-distance i{background:rgba(17,49,43,.4)}

footer{background:#092a27;border-color:rgba(229,217,199,.14)}
.footer-title b{font-weight:680}.footer-notes p{color:rgba(239,225,205,.62)}
.footer-notes a:hover,.footer-notes a:focus-visible{color:#e2a04c;border-color:#e2a04c}
.video-dialog{background:#0b2927;color:#eadfce}
.dialog-bar small,.dialog-foot a{color:#e2a04c}
.dialog-close:hover,.dialog-close:focus-visible{background:#df6538;color:#fff4e4;border-color:#df6538}
:focus-visible{outline-color:var(--scene-accent,#e6c34a)}

@media (max-width:1000px){
  :root{--rail:6rem}
  .journey-rail{width:6rem}.night{grid-template-columns:.78fr 1.22fr}.drift{grid-template-columns:.7fr 1.3fr .62fr}
}

@media (max-width:760px){
  :root{--rail:0rem}
  .topbar{height:3.7rem}.wordmark span:last-child{max-width:12rem}
  .section-clock{grid-template-columns:2rem 4rem auto}.section-clock small{display:none}
  .hero{min-height:103svh;padding-bottom:5.3rem}.hero-media img{filter:saturate(1.03) contrast(.96) brightness(.92)}
  .hero-scrim{background:linear-gradient(0deg,rgba(8,34,30,.9) 6%,rgba(8,34,30,.36) 68%,rgba(9,42,45,.12)),linear-gradient(90deg,rgba(7,32,28,.35),transparent)}
  .hero h1{font-size:clamp(3.4rem,15.5vw,4.65rem);line-height:.92}.hero-distance{display:none}
  .approach h2,.arrival h2,.drift h2,.night h2,.lost h2{font-size:clamp(2.75rem,11.8vw,4.3rem);line-height:.98}
  .weather h2,.return h2{font-size:clamp(3rem,12.5vw,4.55rem);line-height:.96}
  .approach-photo{height:78svh}.approach-photo img{filter:saturate(1.02) contrast(.96)}
  .arrival::after{background:linear-gradient(0deg,rgba(8,35,30,.9) 3%,rgba(8,35,30,.3) 67%,rgba(8,35,30,.05))}
  .weather-overlay{background:linear-gradient(0deg,rgba(9,38,46,.88) 4%,rgba(9,41,49,.28) 72%,rgba(9,41,49,.09))}
  .drift{background:#d9cfbe}.night{background:#0b2630}
  .return-fade{background:linear-gradient(0deg,rgba(12,47,44,.86) 3%,rgba(13,52,52,.22) 76%,rgba(20,58,57,.04))}
  .finale{min-height:105svh;padding:8rem var(--page-pad);justify-content:center;background:#b9c8c2}
  .finale-copy{margin:0;text-align:left}.finale h2{font-size:clamp(3.6rem,16vw,5.35rem);line-height:.92}
  .finale-actions{align-items:stretch}.finale-distance{color:#38574f}
}
