:root{
  color-scheme:dark;
  --bg:#06101a;
  --bg2:#091521;
  --ink:#f1efe9;
  --muted:#9aa8b3;
  --soft:#c9d2d8;
  --gold:#cdb78f;
  --gold2:#ead7b0;
  --blue:#91bbd2;
  --line:rgba(255,255,255,.13);
  --line2:rgba(205,183,143,.34);
  --shadow:0 30px 100px rgba(0,0,0,.42);
  --serif:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
body.locked{overflow:hidden}
button,a,textarea{-webkit-tap-highlight-color:transparent}
button,textarea{font:inherit}button{cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
::selection{background:var(--gold);color:#101820}
.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(145,187,210,.08),transparent 67%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
body.pointer .cursor-glow{opacity:1}
.micro{font-size:11px;letter-spacing:.23em;line-height:1.7;margin:0;text-transform:uppercase}.gold{color:var(--gold)}
.cta{min-height:52px;padding:0 20px;border:1px solid var(--line2);background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:34px;letter-spacing:.12em;font-size:12px;transition:.25s ease}.cta:hover{transform:translateY(-2px);border-color:var(--gold)}
.gold-btn{background:var(--gold);color:#08131d;border-color:var(--gold);font-weight:650}.gold-btn:hover{background:var(--gold2)}
.ghost-light{background:rgba(6,16,26,.34);backdrop-filter:blur(12px)}
.text-btn{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;color:var(--soft);font-size:12px;letter-spacing:.08em}.text-btn:hover{color:var(--gold)}.text-btn.danger:hover{color:#f1a08d}

/* Boarding */
.boarding{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#030a11;overflow:auto;padding:38px 20px;transition:opacity .9s ease,visibility .9s ease}.boarding.leaving{opacity:0;visibility:hidden}.boarding-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,17,.96),rgba(3,10,17,.55)),url('nightflight.png') center/cover no-repeat;filter:saturate(.78)}.boarding-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 33%,rgba(145,187,210,.11),transparent 28%),linear-gradient(0deg,#030a11 0%,transparent 45%)}
.boarding-shell{position:relative;width:min(980px,100%)}.boarding-shell>.micro{margin-bottom:18px;color:#aebbc4}.boarding-pass{display:grid;grid-template-columns:1fr 220px;min-height:470px;background:#ece8df;color:#101820;box-shadow:0 45px 120px rgba(0,0,0,.42);transform:perspective(1100px) rotateX(1.5deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.boarding-pass:hover{transform:perspective(1100px) rotateX(0deg) translateY(-3px)}.pass-main{padding:44px 50px 42px;position:relative;overflow:hidden}.pass-main::after{content:"HH022";position:absolute;right:-23px;bottom:-36px;font:170px/1 Georgia,serif;color:rgba(16,24,32,.035)}.pass-brand{display:flex;align-items:end;gap:13px}.pass-brand span{font:34px/1 Georgia,serif;letter-spacing:.08em}.pass-brand small{font-size:9px;letter-spacing:.22em;color:#5b646a;margin-bottom:3px}.pass-route{display:flex;align-items:center;gap:14px;margin:47px 0 24px;width:min(470px,100%)}.pass-route span{font:32px Georgia,serif}.pass-route i{height:1px;background:#9ea1a0;flex:1}.pass-route svg{width:28px;fill:#101820;transform:rotate(-8deg)}.pass-main h1{font:400 clamp(40px,5vw,70px)/1.25 var(--serif);letter-spacing:.06em;margin:0 0 46px}.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px;position:relative;z-index:1}.pass-grid span,.pass-stub small{display:block;font-size:9px;letter-spacing:.2em;color:#6a7073;margin-bottom:8px}.pass-grid strong{font:500 14px/1.4 var(--sans);letter-spacing:.04em}.pass-stub{border-left:1px dashed #969b9c;padding:44px 30px;display:flex;flex-direction:column;justify-content:center}.pass-stub p{font-size:9px;letter-spacing:.23em;margin:0 0 30px;color:#6a7073}.pass-stub>strong{font:46px Georgia,serif;letter-spacing:.04em}.barcode{height:76px;margin:34px 0;background:repeating-linear-gradient(90deg,#101820 0 2px,transparent 2px 5px,#101820 5px 6px,transparent 6px 10px)}.pass-stub b{font-size:16px;letter-spacing:.12em}.boarding-shell>.cta{margin-top:24px}.skip{margin-left:18px;color:#9dacb8;background:none;border:0;font-size:11px;letter-spacing:.1em}.skip:hover{color:var(--gold)}

/* Header */
.topbar{position:fixed;left:0;right:0;top:0;height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;z-index:40;border-bottom:1px solid transparent;transition:.3s ease;opacity:0;pointer-events:none}.entered .topbar{opacity:1;pointer-events:auto}.topbar.scrolled{background:rgba(6,16,26,.76);border-color:var(--line);backdrop-filter:blur(18px)}.wordmark{text-decoration:none;font:18px Georgia,serif;letter-spacing:.14em;display:flex;gap:17px;align-items:center}.wordmark span{font:9px var(--sans);letter-spacing:.2em;color:var(--muted);border-left:1px solid var(--line);padding-left:17px}.topbar nav{display:flex;gap:28px}.topbar nav a{text-decoration:none;color:#aab5bd;font-size:10px;letter-spacing:.18em}.topbar nav a:hover{color:var(--gold)}.top-status{font-size:9px;letter-spacing:.18em;color:#9dacb8;display:flex;align-items:center;gap:8px}.top-status i{width:6px;height:6px;border-radius:50%;background:#a7d4b3;box-shadow:0 0 12px #a7d4b3}

/* Hero */
.hero{position:relative;height:100svh;min-height:700px;display:flex;align-items:flex-end;padding:130px 7vw 86px;isolation:isolate;overflow:hidden}.hero-photo,.hero-vignette{position:absolute;inset:-3%;z-index:-3}.hero-photo{background:url('nightflight.png') 55% 50%/cover no-repeat;will-change:transform;transform:scale(1.05)}.hero-vignette{z-index:-2;inset:0;background:linear-gradient(90deg,rgba(4,12,20,.92) 0%,rgba(4,12,20,.58) 38%,rgba(4,12,20,.05) 70%),linear-gradient(0deg,#06101a 0%,rgba(6,16,26,.14) 42%,rgba(6,16,26,.34) 100%)}.stars{position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(circle at 17% 18%,#fff 0 1px,transparent 1.3px),radial-gradient(circle at 72% 16%,#fff 0 .8px,transparent 1.1px),radial-gradient(circle at 78% 42%,#fff 0 1px,transparent 1.3px),radial-gradient(circle at 57% 28%,#fff 0 .7px,transparent 1px),radial-gradient(circle at 88% 24%,#fff 0 .9px,transparent 1.2px);animation:starPulse 5s ease-in-out infinite alternate}.hero-copy{max-width:690px}.hero-copy h2{font:400 clamp(60px,7.2vw,112px)/1.14 var(--serif);letter-spacing:.045em;margin:26px 0 30px}.hero-copy h2 em{font-style:normal;color:#eef2f0}.hero-note{font:400 clamp(15px,1.35vw,19px)/2 var(--serif);letter-spacing:.04em;color:#ccd4d8}.hero-data{position:absolute;right:6vw;bottom:88px;display:grid;gap:18px;min-width:230px}.hero-data div{border-top:1px solid var(--line);padding-top:11px;display:flex;justify-content:space-between;gap:20px}.hero-data span{font-size:9px;letter-spacing:.18em;color:var(--muted)}.hero-data strong{font-size:10px;letter-spacing:.12em;font-weight:500}.scroll-cue{position:absolute;left:7vw;bottom:32px;text-decoration:none;display:flex;align-items:center;gap:13px;color:#9eabb4}.scroll-cue span{font-size:9px;letter-spacing:.18em}.scroll-cue i{width:66px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);animation:pulseLine 2.4s ease-in-out infinite}.hero-index{position:absolute;right:-.03em;bottom:-.18em;font:320px/.75 Georgia,serif;color:rgba(255,255,255,.035);pointer-events:none}

.section{padding:140px 7vw;position:relative}.section-head{max-width:760px;margin-bottom:80px}.section-head h3,.wish-copy h3,.letter-card h3,.arrival h3{font:400 clamp(42px,5vw,74px)/1.25 var(--serif);letter-spacing:.035em;margin:18px 0 24px}.section-head>p:last-child,.split-head>p,.wish-copy>p{color:#aebac2;font-size:15px;line-height:2;max-width:620px}.split-head{max-width:none;display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:end}.split-head code{font-family:ui-monospace,monospace;color:var(--gold)}

/* Flight log */
.log-section{background:linear-gradient(180deg,#06101a,#081420)}.route-shell{position:relative;max-width:1180px;margin:auto}.route-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}.route-line span{display:block;width:1px;height:0;background:linear-gradient(var(--gold),var(--blue));box-shadow:0 0 14px rgba(205,183,143,.3)}.timeline{display:grid;gap:26px}.log-item{width:calc(50% - 46px);padding:26px 28px;border:1px solid var(--line);background:rgba(10,24,36,.54);backdrop-filter:blur(8px);position:relative;transition:.35s ease}.log-item:nth-child(even){margin-left:calc(50% + 46px)}.log-item:nth-child(odd){margin-right:calc(50% + 46px);text-align:right}.log-item::before{content:"";position:absolute;top:34px;width:10px;height:10px;border-radius:50%;background:#07131e;border:1px solid var(--gold);box-shadow:0 0 0 7px #081420}.log-item:nth-child(odd)::before{right:-52px}.log-item:nth-child(even)::before{left:-52px}.log-item:hover{transform:translateY(-4px);border-color:var(--line2);background:rgba(13,30,44,.72)}.log-item time{font-size:9px;letter-spacing:.2em;color:var(--gold)}.log-item h4{font:400 25px/1.4 var(--serif);margin:9px 0}.log-item p{font-size:13px;line-height:1.9;color:#aeb9c0;margin:0}

/* Windows */
.window-section{background:#07121d}.windows-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.window-card{min-height:560px;position:relative;border:1px solid var(--line);border-radius:46% 46% 20% 20%/18% 18% 12% 12%;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 10px rgba(255,255,255,.025),var(--shadow);transform:translateY(0);transition:.45s cubic-bezier(.2,.8,.2,1)}.window-card:hover{transform:translateY(-10px)}.window-image{position:absolute;inset:10px;border-radius:inherit;background-size:cover;background-repeat:no-repeat;transition:transform .8s ease,filter .5s}.window-card:hover .window-image{transform:scale(1.06);filter:brightness(.76)}.window-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,12,20,.95) 0%,rgba(4,12,20,.18) 60%);z-index:1}.window-content{position:absolute;z-index:2;left:34px;right:34px;bottom:38px}.window-kicker{display:flex;align-items:center;justify-content:space-between;gap:14px}.window-kicker span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.window-kicker small{font-size:8px;letter-spacing:.16em;color:rgba(241,239,233,.62);text-align:right}.window-content h4{font:400 27px/1.45 var(--serif);margin:12px 0}.window-content p{font-size:13px;line-height:1.85;color:#c1cbd0;margin:0}

/* Letter */
.letter-section{min-height:100svh;position:relative;padding:130px 7vw;display:grid;place-items:center;isolation:isolate;overflow:hidden}.letter-sky{position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(3,10,17,.64),rgba(3,10,17,.9)),url('nightflight.png') center/cover fixed no-repeat;filter:saturate(.7)}.letter-section::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 60% 36%,rgba(145,187,210,.1),transparent 35%)}.letter-card{width:min(920px,100%);background:rgba(7,17,27,.78);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);padding:64px 68px;box-shadow:var(--shadow)}.letter-meta{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:20px}.letter-meta span{font-size:9px;letter-spacing:.18em;color:var(--muted)}.letter-card h3{font-size:clamp(44px,5vw,68px);margin-top:44px}.letter-copy{display:grid;gap:24px;max-width:760px}.letter-copy p{font:400 17px/2.15 var(--serif);letter-spacing:.03em;color:#c8d1d6;margin:0;opacity:.25;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}.letter-copy p.lit{opacity:1;transform:none}.signature-row{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);margin-top:44px;padding-top:26px}.signature-row span{display:block;font-size:9px;letter-spacing:.19em;color:var(--muted);margin-bottom:8px}.signature-row strong{font:400 22px var(--serif);color:var(--gold)}.signature-mark{font:italic 28px Georgia,serif;color:#d6c29c}

/* Wish */
.wish-section{background:linear-gradient(135deg,#07121d,#091827)}.wish-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center;max-width:1180px;margin:auto}.wish-copy>p{max-width:520px}.privacy-note{margin-top:32px;font-size:11px;letter-spacing:.06em;color:#91a0aa;display:flex;align-items:center;gap:10px}.privacy-note i{width:7px;height:7px;border-radius:50%;background:#9dc7ac;box-shadow:0 0 12px #9dc7ac}.wish-form{padding:50px;border:1px solid var(--line);background:rgba(4,13,21,.35)}.wish-form label{display:block;font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:20px}.wish-form textarea{width:100%;min-height:190px;resize:vertical;border:0;border-bottom:1px solid rgba(255,255,255,.24);background:transparent;color:var(--ink);font:400 26px/1.7 var(--serif);padding:10px 0 22px;outline:none}.wish-form textarea:focus{border-color:var(--gold)}.wish-form textarea::placeholder{color:#6f7e89}.form-meta{min-height:34px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#7f909c;font-size:10px;letter-spacing:.08em;margin:12px 0 24px}.form-meta #wish-error{color:#efb09d;text-align:right}

/* Recorder */
.recorder-section{background:#050d15}.recorder-card{max-width:1040px;margin:auto;border:1px solid #3b4650;background:linear-gradient(145deg,#11161a,#070b0e);padding:44px 48px;position:relative;box-shadow:0 30px 110px rgba(0,0,0,.48)}.recorder-card::before{content:"FLIGHT DATA RECORDER";position:absolute;right:34px;top:26px;font-size:9px;letter-spacing:.18em;color:#66717a}.recorder-led{font:11px ui-monospace,monospace;letter-spacing:.12em;color:#ffb2a4;display:flex;align-items:center;gap:9px;margin-bottom:34px}.recorder-led i{width:8px;height:8px;border-radius:50%;background:#ff775e;box-shadow:0 0 12px #ff775e;animation:recBlink 1.4s infinite}.recorder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid #323b41;border-bottom:1px solid #323b41;padding:24px 0}.recorder-grid span{display:block;font:9px ui-monospace,monospace;letter-spacing:.13em;color:#7c8a93;margin-bottom:9px}.recorder-grid strong{font:500 13px ui-monospace,monospace;letter-spacing:.08em}.recorder-card blockquote{margin:34px 0;font:400 28px/1.7 var(--serif);color:#dbc79f;min-height:48px}.recorder-card blockquote::before{content:"“"}.recorder-card blockquote::after{content:"”"}.recorder-actions{display:flex;gap:26px;flex-wrap:wrap}

/* Arrival */
.arrival{position:relative;min-height:92svh;display:grid;place-items:center;text-align:center;padding:100px 7vw;isolation:isolate;overflow:hidden}.arrival-photo,.arrival-shade{position:absolute;inset:0;z-index:-2}.arrival-photo{background:url('window-03.jpg') 50% 46%/cover no-repeat;transform:scale(1.04);filter:brightness(.48) saturate(.72)}.arrival-shade{z-index:-1;background:radial-gradient(circle at center,rgba(6,16,26,.15),rgba(6,16,26,.86) 75%),linear-gradient(0deg,#06101a,transparent 35%)}.arrival-copy{max-width:900px}.arrival-number{font:clamp(170px,24vw,380px)/.8 Georgia,serif;color:transparent;-webkit-text-stroke:1px rgba(241,239,233,.52);letter-spacing:-.08em;margin:20px 0 35px}.arrival h3{font-size:clamp(38px,4.8vw,70px);margin-bottom:28px}.arrival-copy>p{font:400 20px/1.9 var(--serif);color:#d3dadd}.arrival-sign{margin-top:44px;font-size:10px;letter-spacing:.2em;color:var(--gold)}.footer{height:90px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5vw;color:#788895;font-size:9px;letter-spacing:.15em;gap:30px}

/* Takeoff */
.takeoff{position:fixed;inset:0;z-index:120;background:#020810;overflow:hidden}.takeoff-bg{position:absolute;inset:0;background:linear-gradient(rgba(2,8,16,.4),rgba(2,8,16,.82)),url('nightflight.png') center/cover no-repeat;filter:brightness(.6);transform:scale(1.06)}.takeoff-close{position:absolute;right:24px;top:22px;z-index:10;width:48px;height:48px;border:1px solid rgba(255,255,255,.22);background:rgba(2,8,16,.45);color:#fff;font-size:25px}.takeoff-hud{position:absolute;left:6vw;right:6vw;top:7vh;z-index:3;display:flex;justify-content:space-between;align-items:center}.takeoff-hud strong{font-size:11px;letter-spacing:.18em;font-weight:500;color:#c8d4dc}.runway{position:absolute;left:50%;bottom:-10%;width:54vw;height:66vh;transform:translateX(-50%) perspective(620px) rotateX(62deg);transform-origin:bottom;background:linear-gradient(90deg,transparent 0 22%,rgba(255,255,255,.07) 22.2% 22.6%,transparent 22.8% 77%,rgba(255,255,255,.07) 77.2% 77.6%,transparent 77.8%),linear-gradient(#09131d,#020810);border-left:1px solid rgba(205,183,143,.3);border-right:1px solid rgba(205,183,143,.3)}.runway i{position:absolute;left:49.65%;width:.7%;height:8%;background:#d9d5c9}.runway i:nth-child(1){bottom:5%}.runway i:nth-child(2){bottom:20%}.runway i:nth-child(3){bottom:35%}.runway i:nth-child(4){bottom:50%}.runway i:nth-child(5){bottom:65%}.runway i:nth-child(6){bottom:80%}.takeoff-plane{position:absolute;z-index:4;left:50%;bottom:10%;width:82px;transform:translateX(-50%) scale(1);filter:drop-shadow(0 10px 30px rgba(145,187,210,.3))}.takeoff-plane svg{width:100%;fill:#edf1ee;transform:rotate(-3deg)}.takeoff.running .takeoff-plane{animation:planeTakeoff 7.2s cubic-bezier(.3,.03,.64,.93) forwards}.takeoff.running .runway{animation:runwayMove 7.2s ease-in forwards}.takeoff-result{position:absolute;inset:0;z-index:6;display:grid;place-content:center;text-align:center;padding:80px 24px;background:rgba(2,8,16,.72);backdrop-filter:blur(10px);animation:resultIn 1s ease both}.takeoff-result h3{font:400 clamp(48px,6vw,86px)/1.2 var(--serif);margin:15px 0}.takeoff-result blockquote{font:400 24px/1.8 var(--serif);color:var(--gold);max-width:760px;margin:0 auto 18px}.takeoff-result>p{font-size:10px;letter-spacing:.2em;color:#9dadb8;margin-bottom:28px}.takeoff-progress{position:absolute;z-index:8;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.1)}.takeoff-progress i{display:block;width:0;height:100%;background:var(--gold)}.takeoff.running .takeoff-progress i{animation:takeProgress 7.4s linear forwards}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.14s}

@keyframes starPulse{to{opacity:.8}}
@keyframes pulseLine{50%{opacity:.35;transform:scaleX(.65);transform-origin:left}}
@keyframes recBlink{50%{opacity:.28}}
@keyframes planeTakeoff{0%{bottom:8%;transform:translateX(-50%) scale(1)}22%{bottom:14%;transform:translateX(-50%) scale(.94)}52%{bottom:31%;transform:translateX(-50%) scale(.72) rotate(-3deg)}78%{bottom:65%;transform:translateX(-50%) scale(.34) rotate(-4deg)}100%{bottom:105%;transform:translateX(-50%) scale(.07) rotate(-5deg);opacity:0}}
@keyframes runwayMove{to{filter:brightness(.42);transform:translateX(-50%) perspective(440px) rotateX(70deg) scale(1.35)}}
@keyframes takeProgress{to{width:100%}}
@keyframes resultIn{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}


/* V4: soundtrack controls */
.top-actions{display:flex;align-items:center;gap:18px}
.music-control{height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.12);background:rgba(6,16,26,.22);color:#9dacb8;display:inline-flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.16em;transition:border-color .25s ease,color .25s ease,background .25s ease;backdrop-filter:blur(10px)}
.music-control:hover{color:var(--gold);border-color:var(--line2);background:rgba(6,16,26,.48)}
.music-control[aria-pressed="true"]{color:var(--gold2);border-color:rgba(205,183,143,.28)}
.music-bars{display:flex;align-items:center;gap:2px;width:12px;height:12px}
.music-bars i{display:block;width:2px;height:4px;background:currentColor;transform-origin:bottom;opacity:.65}
.music-control.playing .music-bars i:nth-child(1){animation:musicBar .82s ease-in-out infinite alternate}
.music-control.playing .music-bars i:nth-child(2){animation:musicBar 1.05s ease-in-out .14s infinite alternate}
.music-control.playing .music-bars i:nth-child(3){animation:musicBar .72s ease-in-out .25s infinite alternate}
.boarding-music-hint{margin:14px 0 0;color:#758794;font-size:9px;letter-spacing:.14em;display:flex;align-items:center;gap:8px}
.boarding-music-hint span{color:var(--gold)}
@keyframes musicBar{from{height:3px;opacity:.45}to{height:11px;opacity:1}}
@media(max-width:920px){
  .boarding-pass{grid-template-columns:1fr 170px}.pass-main{padding:38px 34px}.pass-stub{padding:38px 20px}.pass-grid{grid-template-columns:repeat(2,1fr)}
  .topbar nav{display:none}.hero{padding-left:7vw;padding-right:7vw}.hero-data{right:7vw;bottom:82px}.hero-index{font-size:220px}
  .section{padding:110px 7vw}.split-head,.wish-layout{grid-template-columns:1fr;gap:40px}.windows-grid{grid-template-columns:1fr 1fr}.window-card:nth-child(3){grid-column:1/-1;min-height:480px}.window-card:nth-child(3) .window-image{background-position:center}
  .letter-card{padding:50px 42px}.recorder-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .cursor-glow{display:none}.boarding{padding:24px 14px}.boarding-pass{display:block;min-height:0}.pass-main{padding:30px 24px}.pass-route{margin:34px 0 18px}.pass-main h1{font-size:42px;margin-bottom:34px}.pass-grid{gap:18px}.pass-stub{border-left:0;border-top:1px dashed #969b9c;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding:22px 24px}.pass-stub p,.pass-stub .barcode{display:none}.pass-stub>strong{font-size:30px}.pass-stub b{align-self:end}.boarding-shell>.cta{width:100%;margin-top:16px}.skip{display:block;margin:16px auto 0}
  .topbar{height:66px;padding:0 20px}.wordmark span,.top-status{display:none}.wordmark{font-size:16px}.top-actions{gap:0}.music-control{height:32px;padding:0 9px}.music-label{display:none}
  .hero{min-height:760px;padding:110px 24px 120px;align-items:center}.hero-photo{background-position:62% center}.hero-vignette{background:linear-gradient(90deg,rgba(4,12,20,.88),rgba(4,12,20,.3)),linear-gradient(0deg,#06101a,transparent 58%)}.hero-copy h2{font-size:58px}.hero-note{font-size:15px}.hero-data{left:24px;right:24px;bottom:66px;grid-template-columns:1fr 1fr;gap:8px 18px}.hero-data div:nth-child(3){display:none}.scroll-cue{left:24px;bottom:26px}.hero-index{font-size:150px;right:-12px;bottom:5px}
  .section{padding:90px 24px}.section-head{margin-bottom:55px}.section-head h3,.wish-copy h3{font-size:44px}.split-head{display:block}.split-head>p{margin-top:24px}
  .route-line{left:8px}.log-item,.log-item:nth-child(even),.log-item:nth-child(odd){width:auto;margin:0 0 0 42px;text-align:left}.log-item:nth-child(odd)::before,.log-item:nth-child(even)::before{left:-40px;right:auto}.log-item{padding:22px}
  .windows-grid{grid-template-columns:1fr}.window-card,.window-card:nth-child(3){grid-column:auto;min-height:480px;border-radius:45% 45% 18% 18%/15% 15% 10% 10%}
  .letter-section{padding:80px 18px}.letter-sky{background-attachment:scroll}.letter-card{padding:38px 26px}.letter-meta span{display:none}.letter-card h3{font-size:44px}.letter-copy p{font-size:16px}.signature-row{display:block}.signature-mark{margin-top:24px}
  .wish-form{padding:30px 22px}.wish-form textarea{font-size:22px}.recorder-card{padding:34px 24px}.recorder-card::before{display:none}.recorder-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.recorder-card blockquote{font-size:23px}.arrival-number{font-size:190px}.arrival h3{font-size:42px}.footer{height:auto;padding:28px 24px;display:block;line-height:2}.footer span{display:block}.footer span+span{margin-top:6px}
  .takeoff-hud{top:5vh;left:24px;right:70px;display:block}.takeoff-hud strong{display:block;margin-top:7px}.runway{width:88vw}.takeoff-result h3{font-size:54px}.takeoff-result blockquote{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-glow{display:none}.hero-photo{transform:scale(1.05)!important}
}

/* V3: personal-photo refinements */
.window-card:nth-child(1) .window-shade{background:linear-gradient(0deg,rgba(4,12,20,.96) 0%,rgba(4,12,20,.18) 62%),linear-gradient(90deg,rgba(4,12,20,.08),rgba(4,12,20,0))}.window-card:nth-child(2) .window-shade{background:linear-gradient(0deg,rgba(4,12,20,.96) 0%,rgba(4,12,20,.12) 60%)}.window-card:nth-child(3) .window-shade{background:linear-gradient(0deg,rgba(4,12,20,.94) 0%,rgba(4,12,20,.06) 62%)}
