/* The Runway: night tarmac, amber runway lights, sky-blue taxiway markings, green for first class.
   Loaded after landing.css on landing-runway.html only; it re-points landing.css's tokens and adds the runway hero. */
:root{
  --night:#0C1015;--night-2:#141A21;--night-3:#253040;
  --canvas:#EEF2F6;--ink:#EEF2F6;--ink-2:#9BA7B6;--ink-dark:#0F1720;--ink-dark-2:#4A5563;
  --red:#FFB547;--red-deep:#F29F1F;--on-red:#1A1200;--accent-text:#FFB547;
  --blue:#4AA3FF;--gold:#3DDC97;--gold-text:#3DDC97;--on-gold:#06200F;
  --bar-bg:rgba(12,16,21,.88);--btn-line:rgba(238,242,246,.32);--shadow:rgba(0,0,0,.6);
  --main-top:#10291F;--final-glow:#3A2A0C;--foot-bg:#080B0F;--legal:#7F8B9A;
  --tar0:#1B232D;--tar1:#0E141A;--glow0:#1C2A3A;--glow1:#0C1015;--lane:#EEF2F6;
  --board:#0A0E13;--board-line:#253040;--board-ink:#FFC56B;--board-mute:#8592A2;
  --display:"Sora","Segoe UI",system-ui,sans-serif;--body:"Sora","Segoe UI",system-ui,-apple-system,sans-serif;
  --label:"Michroma","Sora",system-ui,sans-serif;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --night:#F4F6F9;--night-2:#FFFFFF;--night-3:#D7DEE7;--canvas:#0F1720;--ink:#0F1720;--ink-2:#4A5563;--ink-dark:#EEF2F6;--ink-dark-2:#A9B4C2;
  --red:#F5A524;--red-deep:#E08E00;--accent-text:#9A5B00;--blue:#1F6FEB;--gold:#12925C;--gold-text:#0F7A4D;--on-gold:#FFFFFF;
  --bar-bg:rgba(244,246,249,.9);--btn-line:rgba(15,23,32,.3);--shadow:rgba(15,23,32,.22);
  --main-top:#E5F6EE;--final-glow:#FCEBCB;--foot-bg:#E9EDF2;--legal:#5B6675;
  --tar0:#C9D2DC;--tar1:#AEB9C6;--glow0:#E3EEFA;--glow1:#F4F6F9;--lane:#FFFFFF;
  --board:#0F1720;--board-line:#2A3644;--board-ink:#FFC56B;--board-mute:#93A0B0;color-scheme:light}}
:root[data-theme="light"]{
  --night:#F4F6F9;--night-2:#FFFFFF;--night-3:#D7DEE7;--canvas:#0F1720;--ink:#0F1720;--ink-2:#4A5563;--ink-dark:#EEF2F6;--ink-dark-2:#A9B4C2;
  --red:#F5A524;--red-deep:#E08E00;--accent-text:#9A5B00;--blue:#1F6FEB;--gold:#12925C;--gold-text:#0F7A4D;--on-gold:#FFFFFF;
  --bar-bg:rgba(244,246,249,.9);--btn-line:rgba(15,23,32,.3);--shadow:rgba(15,23,32,.22);
  --main-top:#E5F6EE;--final-glow:#FCEBCB;--foot-bg:#E9EDF2;--legal:#5B6675;
  --tar0:#C9D2DC;--tar1:#AEB9C6;--glow0:#E3EEFA;--glow1:#F4F6F9;--lane:#FFFFFF;
  --board:#0F1720;--board-line:#2A3644;--board-ink:#FFC56B;--board-mute:#93A0B0;color-scheme:light}

body{font-size:16.5px}
:focus-visible{outline-color:var(--red)}
.btn{border-radius:99px}
.btn.red{color:var(--on-red)}
.btn.gold{background:var(--gold);color:var(--on-gold)}
.btn.gold:hover{background:var(--gold);filter:brightness(1.08)}
.rw-logo{align-items:center;gap:10px}
.rw-logo .rw-word{font-size:14px}

/* ---------- hero: the runway ---------- */
.rw-hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,88px) clamp(16px,6vw,96px) clamp(150px,17vw,240px);border-bottom:1px solid var(--night-3);background:radial-gradient(ellipse 70% 80% at 50% 0%,var(--glow0) 0%,var(--glow1) 70%)}
.rw-strip{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(120px,15vw,210px);pointer-events:none}
.rw-strip .tar0{stop-color:var(--tar0)}.rw-strip .tar1{stop-color:var(--tar1)}
.rw-strip .edge{stroke:var(--lane);stroke-width:3;opacity:.55;fill:none}
.rw-strip .center path{stroke:var(--lane);stroke-width:4;opacity:.75}
.rw-strip .threshold path{stroke:var(--lane);stroke-width:10;opacity:.5}
.rw-strip .lights circle{fill:var(--red)}
@media (prefers-reduced-motion:no-preference){
  .rw-strip .lights circle{animation:rwBlink 2.4s ease-in-out infinite}
  .rw-strip .lights circle:nth-child(2){animation-delay:.2s}.rw-strip .lights circle:nth-child(3){animation-delay:.4s}
  .rw-strip .lights circle:nth-child(4){animation-delay:.6s}.rw-strip .lights circle:nth-child(5){animation-delay:.8s}.rw-strip .lights circle:nth-child(6){animation-delay:1s}
}
@keyframes rwBlink{0%,100%{opacity:.35}40%{opacity:1}}
.rw-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center;max-width:1240px;margin:0 auto}
.rw-kicker{font:400 12.5px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-bottom:18px}
.rw-title{font:800 clamp(52px,7.6vw,112px)/.95 var(--display);letter-spacing:-.035em;margin-bottom:24px;text-wrap:balance}
.rw-title span{color:var(--accent-text)}
.lede{color:var(--ink-2)}

/* the departure board */
.rw-board{background:var(--board);border:1px solid var(--board-line);border-radius:14px;padding:18px 18px 10px;box-shadow:0 30px 70px -30px var(--shadow);color:#EEF2F6}
.rw-board-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.rw-board-head h2{font:400 15px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--board-ink)}
.rw-status{font:600 12px/1 var(--body);color:#06200F;background:#3DDC97;border-radius:99px;padding:5px 10px}
.rw-board-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:14.5px}
.rw-board-table thead th{font:400 10.5px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--board-mute);text-align:left;padding:2px 8px}
.rw-board-table tbody th,.rw-board-table td{background:#121A23;padding:9px 8px;text-align:left;vertical-align:middle}
.rw-board-table tbody th{font:400 11px/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--board-mute);border-radius:6px 0 0 6px;white-space:nowrap}
.rw-board-table td:nth-child(2){color:var(--board-ink);font-weight:600}
.rw-board-table td:last-child{color:#B8C2CE;border-radius:0 6px 6px 0}

/* ---------- type: Sora is wide, so the poster sizes come down and stay in sentence case ---------- */
.sec-title{font:800 clamp(34px,4.6vw,62px)/1.02 var(--display);text-transform:none;letter-spacing:-.03em}
.stat{border-top-color:var(--red)}
.stat .num{font:800 clamp(52px,6vw,88px)/.9 var(--display);letter-spacing:-.04em}
.stat:nth-child(2){border-top-color:var(--blue)}.stat:nth-child(3){border-top-color:var(--gold)}
.house::before{background:var(--red)}
.house h3,.losses h3,.edge h3,.steps h3{font:700 22px/1.15 var(--display);text-transform:none;letter-spacing:-.015em}
.edge h3{border-left-color:var(--red)}.edge:nth-child(2) h3{border-color:var(--blue)}.edge:nth-child(3) h3{border-color:var(--gold)}
.feats div{border-left-color:var(--red)}
.steps li::before{font:400 30px/1 var(--label);color:var(--accent-text);content:"0" counter(step)}
.steps li:not(:last-child)::after{top:16px;left:62px;background:repeating-linear-gradient(90deg,var(--night-3) 0 12px,transparent 12px 20px)}
.honest .sec-title{color:var(--ink-dark)}
.fighter h3{font:800 26px/1 var(--display);text-transform:none}
.init{font:800 28px/1 var(--display)}
.fighter.red{border-left-color:var(--red)}.fighter.red .init{background:var(--red);color:var(--on-red)}
.fighter.blue{border-left-color:var(--blue)}.fighter.blue .init{background:var(--blue)}
.qs summary::after{color:var(--accent-text);font:600 28px/1 var(--display)}
.final-title{font:800 clamp(56px,10vw,150px)/.9 var(--display);text-transform:none;letter-spacing:-.045em}
.incl li::before{background:var(--red);border-radius:50%;transform:none;width:8px;height:8px}

/* ---------- pricing: boarding passes with a perforated stub ---------- */
.rw-passes .bout{border-radius:16px;padding-top:56px;overflow:hidden}
.rw-passes .bout::before{content:"";position:absolute;left:0;right:0;top:40px;border-top:2px dashed var(--night-3)}
.rw-passes .bout-top{position:absolute;top:0;left:0;right:0;padding:12px 20px;background:var(--night-3)}
.rw-passes .bout.main .bout-top{background:var(--gold)}
.billing{font:400 12px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.bout.main .billing{color:var(--on-gold)}
.tier{background:transparent;color:var(--ink);font:400 11px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;padding:0}
.bout.main .tier{background:transparent;color:var(--on-gold)}
.bout.main{border-color:var(--gold)}
.bout.main .incl li::before{background:var(--gold)}
.bout-name{font:800 clamp(28px,2.6vw,36px)/1 var(--display);text-transform:none;letter-spacing:-.03em}
.price .amt{font:800 40px/1 var(--display);letter-spacing:-.03em}
.incl .soon em{color:var(--gold-text);border-color:var(--gold-text)}
.bill .save{color:var(--accent-text)}

@media (max-width:1020px){.rw-inner{grid-template-columns:1fr}}
@media (max-width:760px){.rw-board-table tbody th{white-space:normal}.rw-board{padding:14px 10px 6px}}
