@font-face{font-family:'Avantt';src:url('assets/fonts/Avantt-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Avantt';src:url('assets/fonts/Avantt-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Avantt';src:url('assets/fonts/Avantt-Light.otf') format('opentype');font-weight:300;font-display:swap}

:root{
  --navy:#040c18; --navy2:#071525; --panel:#0c1f38; --panel2:#102744; --line:#1b3a63;
  --blue:#0058A4; --blueLt:#56a9ec; --txt:#eef4fb; --mut:#8ba6c6;
  --ribbon:#DC1D38; --ribbon2:#ff3355; --gold:#E5B611; --green:#2bb35e;
  --mut2:#5e7da0; --accent:#0058A4;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--navy);color:var(--txt);font-family:'Avantt',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.mono{font-variant-numeric:tabular-nums}

/* ambient glows */
body::before{content:"";position:fixed;top:-30%;left:-10%;width:60vw;height:60vw;border-radius:50%;
  background:radial-gradient(circle,rgba(0,88,164,.22),transparent 60%);filter:blur(40px);z-index:0;pointer-events:none}
body::after{content:"";position:fixed;bottom:-30%;right:-10%;width:55vw;height:55vw;border-radius:50%;
  background:radial-gradient(circle,rgba(220,29,56,.16),transparent 60%);filter:blur(40px);z-index:0;pointer-events:none}
main,nav,footer{position:relative;z-index:1}

/* NAV */
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(4,12,24,.72);border-bottom:1px solid var(--line)}
nav .bar{display:flex;align-items:center;gap:18px;height:62px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:.3px}
.brand .rib{width:5px;height:20px;background:var(--ribbon);border-radius:2px}
.brand small{color:var(--mut);font-weight:400;font-size:12px}
.switch{margin-left:auto;display:flex;gap:4px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:30px;padding:4px}
.switch button{border:0;background:transparent;color:var(--mut);font-family:inherit;font-weight:700;font-size:12px;letter-spacing:.4px;
  padding:7px 15px;border-radius:24px;cursor:pointer;transition:.18s;white-space:nowrap}
.switch button.on{background:var(--accent);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.switch button:hover:not(.on){color:var(--txt)}

/* HERO */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;transform:scale(1.05)}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,24,.55) 0%,rgba(4,12,24,.35) 35%,rgba(4,12,24,.96) 100%)}
.hero .inner{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px 64px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:#fff;background:var(--ribbon);padding:7px 14px;border-radius:4px;margin-bottom:22px}
.hero h1{font-size:clamp(40px,7vw,82px);font-weight:700;line-height:.96;letter-spacing:-1.5px;max-width:14ch}
.hero h1 .thin{font-weight:300;color:var(--mut)}
.hero .sub{font-size:clamp(16px,2.2vw,21px);color:var(--txt);max-width:46ch;margin-top:20px;font-weight:300}
.hero .sub b{font-weight:700;color:var(--blueLt)}
.herometa{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;align-items:center}
.cd{display:flex;gap:10px}
.cd .u{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-align:center;min-width:62px;backdrop-filter:blur(6px)}
.cd .u b{display:block;font-size:28px;font-weight:700;line-height:1}
.cd .u span{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:1px}
.cd-lbl{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1.5px}
.tags{display:flex;gap:9px;flex-wrap:wrap;font-size:12.5px;color:var(--mut)}
.tags span{background:rgba(255,255,255,.04);border:1px solid var(--line);padding:5px 11px;border-radius:20px}

/* personalized greeting banner */
.greet{background:linear-gradient(100deg,var(--accent),transparent 70%);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:14px;padding:16px 20px;margin-top:26px;max-width:680px;animation:slideIn .6s ease}
.greet .hi{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:2px}
.greet .nm{font-size:22px;font-weight:700;margin:2px 0 4px}
.greet .nm small{font-size:13px;color:var(--mut);font-weight:400;margin-left:8px}
.greet .ln{font-size:14px;color:var(--txt);font-weight:300}
@keyframes slideIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* SECTIONS */
section{padding:70px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.sec-head .k{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent)}
.sec-head h2{font-size:clamp(26px,4vw,42px);font-weight:700;letter-spacing:-.5px;line-height:1.05;margin-top:6px}
.sec-head p{color:var(--mut);max-width:52ch;font-weight:300}
.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* timeline */
.timeline{display:flex;flex-direction:column;gap:0}
.tl{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--line);position:relative}
.tl:hover{background:linear-gradient(90deg,rgba(255,255,255,.02),transparent)}
.tl .when{display:flex;flex-direction:column;gap:3px}
.tl .ph{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--accent);text-transform:uppercase}
.tl .dt{font-size:13px;color:var(--mut)}
.tl .body{display:flex;gap:14px;align-items:flex-start}
.tl .city{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--mut);border:1px solid var(--line);padding:4px 9px;border-radius:20px;margin-top:2px}
.tl h3{font-size:17px;font-weight:700}
.tl.hot h3::after{content:"●";color:var(--ribbon2);font-size:11px;margin-left:8px;vertical-align:middle}
.tl p{color:var(--mut);font-size:14px;font-weight:300;margin-top:2px}

/* deliverable cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.dcard{background:linear-gradient(160deg,var(--panel),var(--navy2));border:1px solid var(--line);border-radius:16px;padding:20px;transition:.2s}
.dcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.dcard .ic{font-size:24px}
.dcard .sla{float:right;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border:1px solid var(--line);padding:4px 9px;border-radius:20px}
.dcard h3{font-size:17px;font-weight:700;margin:12px 0 6px}
.dcard p{color:var(--mut);font-size:13.5px;font-weight:300}

/* coverage map */
.cov{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.ccard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;border-top:3px solid var(--accent)}
.ccard .top{display:flex;align-items:baseline;gap:10px}
.ccard .code{font-size:30px;font-weight:700;letter-spacing:-1px}
.ccard .nm{font-size:15px;color:var(--mut)}
.ccard .note{font-size:13px;color:var(--blueLt);margin:6px 0 14px;font-weight:300}
.ccard .caps{display:flex;flex-direction:column;gap:6px}
.ccard .cap{display:flex;align-items:center;gap:8px;font-size:13px}
.ccard .cap .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ccard .cap small{color:var(--mut);margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.5px}

/* delivery hub */
.dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.dlc{background:linear-gradient(160deg,var(--panel2),var(--navy2));border:1px solid var(--line);border-radius:16px;padding:20px;position:relative;overflow:hidden}
.dlc .tg{position:absolute;top:16px;right:16px;font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}
.dlc h3{font-size:16px;font-weight:700;margin-bottom:7px;padding-right:60px}
.dlc p{color:var(--mut);font-size:13.5px;font-weight:300}

/* run of show */
.ros{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ros .rh{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ros .rh b{font-size:17px}.ros .rh span{color:var(--mut);font-size:13px}
.ros .row{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:13px 22px;border-top:1px solid rgba(255,255,255,.04);font-size:14px;align-items:center}
.ros .row .t{color:var(--accent);font-weight:700;font-size:13px}
.ros .row.hot{background:rgba(220,29,56,.08)}.ros .row.hot .n{font-weight:700}
.ros .row.hero .n::after{content:"★";color:var(--gold);margin-left:8px;font-size:11px}

/* crew */
.crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.cm{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}
.cm .av{width:42px;height:42px;border-radius:50%;flex:0 0 42px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blueLt))}
.cm .nm{font-weight:700;font-size:14px}.cm .rl{color:var(--mut);font-size:11.5px;font-weight:300}

/* extras */
.extras{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.xc{position:relative;border-radius:18px;overflow:hidden;min-height:280px;display:flex;align-items:flex-end;border:1px solid var(--line)}
.xc .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:.4s}
.xc:hover .bg{transform:scale(1.06)}
.xc .ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(4,12,24,.95))}
.xc .ct{position:relative;padding:20px}
.xc .tg{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff;background:var(--ribbon);padding:4px 9px;border-radius:20px;margin-bottom:8px}
.xc h3{font-size:20px;font-weight:700}.xc p{color:var(--mut);font-size:13.5px;font-weight:300;margin-top:4px}

/* asks */
.asks{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ask{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ribbon);border-radius:12px;padding:16px}
.ask .who{font-weight:700;font-size:13px;color:var(--blueLt)}
.ask .what{font-size:14px;margin:5px 0 8px;font-weight:300}
.ask .when{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}

/* CTA / contact */
.cta{background:linear-gradient(120deg,var(--blue),var(--ribbon));border-radius:22px;padding:42px;text-align:center;margin-top:10px}
.cta h2{font-size:clamp(24px,4vw,38px);font-weight:700;color:#fff}
.cta p{color:rgba(255,255,255,.85);max-width:46ch;margin:10px auto 22px;font-weight:300}
.cta a{display:inline-block;background:#fff;color:var(--navy);font-weight:700;padding:13px 28px;border-radius:30px;font-size:14px;transition:.2s}
.cta a:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.4)}

footer{border-top:1px solid var(--line);padding:30px 0;color:var(--mut);font-size:12px;font-weight:300}
footer .fl{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}
footer img{height:22px;opacity:.85}

.hidden{display:none!important}
@media(max-width:640px){.tl{grid-template-columns:1fr;gap:8px}.ros .row{grid-template-columns:100px 1fr}.switch button{padding:7px 11px;font-size:11px}}

/* ============ ENHANCEMENTS v2 · tier S+++ ============ */
/* hero cinematic */
.hero{min-height:94vh}
.hero .bg{animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.14) translateY(-2%)}}
.hero .bg::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,40,90,.55),rgba(220,29,56,.18));mix-blend-mode:multiply}
.hero .bg::after{background:linear-gradient(180deg,rgba(4,12,24,.5) 0%,rgba(4,12,24,.25) 30%,rgba(4,12,24,.78) 70%,var(--navy) 100%)}
.hero h1{font-size:clamp(46px,8.5vw,104px);letter-spacing:-2.5px;text-shadow:0 8px 50px rgba(0,0,0,.5)}
.hero .eyebrow{box-shadow:0 8px 30px rgba(220,29,56,.4);animation:fadeUp .7s ease both}
.hero h1,.hero .sub{animation:fadeUp .8s ease both}.hero .sub{animation-delay:.08s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero .mullogo{position:absolute;top:22px;right:24px;height:30px;opacity:.9;filter:brightness(0) invert(1)}
.cd .u{background:rgba(8,20,38,.6);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.cd .u b{background:linear-gradient(180deg,#fff,var(--blueLt));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.greet{background:rgba(8,20,38,.82);backdrop-filter:blur(12px);border-left:3px solid var(--accent);box-shadow:0 20px 60px rgba(0,0,0,.5)}

/* section header ribbon motif */
.sec-head .k::before{content:"▮ ";color:var(--ribbon)}
.sec-head h2{position:relative}

/* IMPACT stats band */
.impact{padding:46px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(100deg,rgba(0,88,164,.10),rgba(220,29,56,.06))}
.impact .row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center}
.impact .it b{display:block;font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1;letter-spacing:-2px;
  background:linear-gradient(180deg,#fff,var(--blueLt));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.impact .it span{font-size:11.5px;color:var(--mut);text-transform:uppercase;letter-spacing:1.5px;display:block;margin-top:8px}
.impact .it+.it{border-left:1px solid var(--line)}
@media(max-width:720px){.impact .row{grid-template-columns:repeat(2,1fr);gap:24px}.impact .it+.it{border-left:0}}

/* ROUTE map */
.routewrap{background:linear-gradient(160deg,var(--panel),var(--navy2));border:1px solid var(--line);border-radius:20px;padding:30px 24px 18px;margin-bottom:18px;position:relative;overflow:hidden}
.routewrap::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 60%,rgba(0,88,164,.18),transparent 45%),radial-gradient(circle at 88% 40%,rgba(220,29,56,.14),transparent 45%)}
.route{position:relative;width:100%;height:180px}
.route svg{width:100%;height:100%;overflow:visible}
.route .path{fill:none;stroke:url(#rg);stroke-width:2.5;stroke-dasharray:7 9;animation:dash 3s linear infinite}
@keyframes dash{to{stroke-dashoffset:-160}}
.route .node{cursor:default}
.route .pin{fill:var(--navy);stroke:var(--accent);stroke-width:2.5;transition:.2s}
.route .glow{fill:var(--accent);opacity:.25;animation:pulse 2.4s ease-in-out infinite}
.route .node:nth-child(2) .glow{animation-delay:.3s}.route .node:nth-child(3) .glow{animation-delay:.6s}.route .node:nth-child(4) .glow{animation-delay:.9s}.route .node:nth-child(5) .glow{animation-delay:1.2s}.route .node:nth-child(6) .glow{animation-delay:1.5s}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.28}50%{transform:scale(1.8);opacity:0}}
.route .code{fill:#fff;font-weight:700;font-size:13px;text-anchor:middle;font-family:'Avantt',sans-serif}
.route .lbl{fill:var(--mut);font-size:10px;text-anchor:middle;text-transform:uppercase;letter-spacing:1px;font-family:'Avantt',sans-serif}
.route .node:hover .pin{fill:var(--accent);r:9}

/* timeline luminous spine */
.timeline{position:relative;padding-left:8px}
.tl{border-top-color:rgba(27,58,99,.5)}
.tl .when{position:relative}
.tl.hot{box-shadow:inset 3px 0 0 var(--ribbon)}
.tl.hot h3::after{animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.3}}

/* deliverable hover glow */
.dcard:hover{box-shadow:0 16px 50px rgba(0,88,164,.28),0 0 0 1px var(--accent)}
.dcard .ic{filter:drop-shadow(0 4px 14px rgba(0,88,164,.5))}

/* run of show hot pulse */
.ros .row.hot{box-shadow:inset 4px 0 0 var(--ribbon)}
.ros .row.hot .n{color:#fff}
.ros .row.hero{background:rgba(229,182,17,.06)}

/* coverage cards lift */
.ccard{transition:.2s}.ccard:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.ccard .code{background:linear-gradient(180deg,#fff,var(--blueLt));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* extras taller + parallax feel */
.xc{min-height:320px}.xc:hover .bg{transform:scale(1.08)}
.xc h3{font-size:23px}

/* switch glow on active */
.switch button.on{box-shadow:0 0 0 1px rgba(255,255,255,.15),0 6px 22px rgba(0,0,0,.4)}

/* reveal: add slight scale + stagger via children */
.reveal{transform:translateY(30px) scale(.99)}.reveal.in{transform:none}

/* ============ HERO READABILITY v3 ============ */
.hero .bg{filter:brightness(.5) saturate(.92) contrast(1.05)}
.hero .bg::before{background:linear-gradient(115deg,rgba(0,30,70,.5),rgba(220,29,56,.10) 70%);mix-blend-mode:soft-light;opacity:.8}
.hero .bg::after{background:
  linear-gradient(100deg, rgba(4,12,24,.95) 0%, rgba(4,12,24,.72) 40%, rgba(4,12,24,.28) 62%, rgba(4,12,24,.2) 100%),
  linear-gradient(180deg, rgba(4,12,24,.55) 0%, rgba(4,12,24,.35) 32%, rgba(4,12,24,.8) 74%, var(--navy) 100%)}
.hero h1{text-shadow:0 6px 40px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.6)}
.hero h1 .thin{color:#aac6e6}
.hero .sub{color:#f0f6fd;text-shadow:0 2px 14px rgba(0,0,0,.7);font-weight:400}
.hero .cd-lbl{color:#bcd2ec;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.tags span{background:rgba(4,12,24,.5);backdrop-filter:blur(6px);color:#cfe0f2}

/* ============ CREW status v4 ============ */
.cm{justify-content:flex-start;gap:13px}
.cm .ci{flex:1;min-width:0}
.cm .badge{flex:0 0 auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;border-radius:20px;white-space:nowrap}
.cm .badge.conf{color:#4ed784;background:rgba(43,179,94,.14);border:1px solid rgba(43,179,94,.4)}
.cm .badge.stby{color:var(--mut);background:rgba(143,176,212,.1);border:1px solid rgba(143,176,212,.3)}
.cm.sb{opacity:.66;border-style:dashed}
.cm.sb .av{background:linear-gradient(135deg,#36506f,#5b7da0)}
.cm:hover{border-color:var(--accent);transform:translateY(-2px);transition:.18s}

/* ============ NAV CTA · Content Access ============ */
.navcta{display:inline-flex;align-items:center;gap:8px;margin-left:14px;background:var(--accent);color:#fff;
  font-family:inherit;font-weight:700;font-size:12.5px;letter-spacing:.3px;padding:9px 16px;border-radius:24px;
  white-space:nowrap;cursor:pointer;transition:.18s;box-shadow:0 6px 20px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08) inset}
.navcta:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 10px 26px rgba(0,0,0,.45)}
.navcta .ico{font-size:14px}
.navcta .arr{opacity:.8;transition:.18s}.navcta:hover .arr{transform:translateX(3px)}
@media(max-width:760px){.navcta .lbl,.navcta .arr{display:none}.navcta{padding:9px 12px;margin-left:8px}.brand small{display:none}}

/* ============ RUN OF SHOW · compact 2-col v5 ============ */
.ros .rows{display:grid;grid-template-rows:repeat(6,auto);grid-auto-flow:column;column-gap:0}
.ros .row{padding:9px 22px;font-size:13.5px;border-top:1px solid rgba(255,255,255,.05)}
.ros .row:nth-child(n+7){border-left:1px solid var(--line)}        /* divider between the 2 columns */
.ros .row .t{font-size:12px}
@media(max-width:680px){.ros .rows{grid-template-rows:none;grid-auto-flow:row}.ros .row:nth-child(n+7){border-left:0}}

/* ============ RUN OF SHOW · 2-col fix v6 (overrides v5) ============ */
.ros .rows{display:grid !important;grid-template-rows:none !important;grid-auto-flow:row !important;grid-template-columns:1fr 1fr}
.ros .rcol{display:flex;flex-direction:column;min-width:0}
.ros .rcol+.rcol{border-left:1px solid var(--line)}
.ros .rcol .row{border-top:1px solid rgba(255,255,255,.05);border-left:0 !important;padding:9px 22px}
.ros .rcol .row:first-child{border-top:0}
@media(max-width:680px){.ros .rows{grid-template-columns:1fr}.ros .rcol+.rcol{border-left:0}}

/* ============ RUN OF SHOW · star class (fix .hero collision) v7 ============ */
.ros .row.star{background:rgba(229,182,17,.06)}
.ros .row.star .n::after{content:" ★";color:var(--gold);font-size:11px}

/* ============ v8 · HUBS + DAY-SELECTOR + COMPACTION ============ */
nav .bar{flex-wrap:wrap;gap:10px;min-height:62px;height:auto;padding:8px 0}
.brand{font-size:14px}
.hubsw{margin-left:auto;display:flex;gap:4px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:30px;padding:4px}
.hubsw button{border:0;background:transparent;color:var(--mut);font-family:inherit;font-weight:700;font-size:12.5px;padding:8px 16px;border-radius:24px;cursor:pointer;transition:.18s;white-space:nowrap}
.hubsw button.on{background:var(--accent);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.hubsw button:hover:not(.on){color:var(--txt)}
.lensw{display:flex;gap:2px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:20px;padding:3px}
.lensw button{border:0;background:transparent;color:var(--mut2);font-family:inherit;font-weight:600;font-size:10.5px;letter-spacing:.3px;padding:6px 11px;border-radius:16px;cursor:pointer;transition:.15s}
.lensw button.on{background:rgba(255,255,255,.08);color:var(--txt)}

/* day selector */
.daysel{display:grid;gap:14px}
.daystrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}
.daystrip::-webkit-scrollbar{height:6px}.daystrip::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.day{flex:0 0 auto;text-align:left;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--navy2));border-radius:12px;padding:10px 14px;cursor:pointer;transition:.15s;min-width:140px}
.day:hover{border-color:var(--accent);transform:translateY(-2px)}
.day.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 10px 26px rgba(0,0,0,.35)}
.day .dd{display:block;font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.3px}
.day .dl{display:block;font-size:13.5px;font-weight:700;color:var(--txt);margin-top:3px}
.day.away{border-style:dashed;opacity:.92}.day.away .dl{color:var(--blueLt)}
.day.opening .dd::after{content:" ★";color:var(--gold)}
.day.match .dl,.day.final .dl{color:var(--gold)}
.daybox{min-height:60px}
.ddetail.simple{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ddetail.simple .dt{font-weight:700;font-size:16px;margin-bottom:5px}
.ddetail.simple p{color:var(--mut);font-weight:300;font-size:14px}
.ddetail.away{display:flex;gap:18px;align-items:center;background:linear-gradient(120deg,rgba(0,88,164,.14),var(--panel));border:1px dashed var(--accent);border-radius:14px;padding:20px 22px}
.ddetail.away .plane{font-size:42px;line-height:1;filter:drop-shadow(0 6px 16px rgba(0,88,164,.5))}
.ddetail.away .dt{font-size:17px;font-weight:700}
.ddetail.away p{color:var(--mut);font-weight:300;font-size:13.5px;margin-top:4px}

/* COMPACTION — optimize spaces */
section{padding:46px 0}
.hero{min-height:50vh}
.hero .inner{padding-bottom:40px;padding-top:16px}
.sec-head{margin-bottom:20px}
.impact{padding:32px 0}
.cards{gap:12px}.dcard{padding:16px}
.cov{gap:12px}.ccard{padding:16px}
.routewrap{padding:22px 20px 12px;margin-bottom:14px}.route{height:150px}
.dl{gap:12px}.dlc{padding:16px}
.crew{gap:10px}.cm{padding:12px}
.extras{gap:12px}.xc{min-height:240px}
.asks{gap:10px}.ask{padding:14px}
.cta{padding:34px;margin-top:8px}
.ros .row{padding:8px 20px}
@media(max-width:760px){.hubsw,.lensw{margin-left:0}.lensw{order:3}}

/* ============ v9 · SECTION INDEX (sub-nav + scroll-spy) ============ */
html{scroll-padding-top:124px}
section{scroll-margin-top:118px}
header.hero{scroll-margin-top:0}
.secnav{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line);padding:7px 0 8px;-webkit-overflow-scrolling:touch}
.secnav::-webkit-scrollbar{display:none}
.secnav a{flex:0 0 auto;color:var(--mut);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:7px 14px;border-radius:18px;transition:.15s;white-space:nowrap;cursor:pointer}
.secnav a:hover{color:var(--txt);background:rgba(255,255,255,.05)}
.secnav a.active{color:#fff;background:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.3)}
@media(max-width:760px){.secnav{padding:6px 0}.secnav a{font-size:10px;padding:6px 11px}}

/* ============ v10 · ASKS + CTA refinement (elegant, compact) ============ */
#asks .sec-head{margin-bottom:16px}
.asks{gap:10px}
.ask{padding:13px 15px;border-radius:11px;border-left-width:2px}
.ask .who{font-size:12px;letter-spacing:.2px}
.ask .what{font-size:13.5px;margin:4px 0 7px}
.ask .when{font-size:10px}

.cta{
  position:relative;
  background:
    radial-gradient(130% 150% at 0% 0%, rgba(0,88,164,.30), transparent 55%),
    radial-gradient(130% 150% at 100% 120%, rgba(220,29,56,.14), transparent 50%),
    linear-gradient(150deg, #0b1f39 0%, #081225 60%, #060e1c 100%);
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px 30px;
  margin-top:14px;
  overflow:hidden;
}
.cta::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--blue) 0%,var(--ribbon) 55%,var(--gold) 100%);opacity:.85}
.cta h2{font-size:clamp(21px,3.2vw,31px);letter-spacing:-.4px;color:#fff}
.cta p{color:rgba(206,222,242,.66);max-width:40ch;margin:7px auto 16px;font-size:13.5px}
.cta a{padding:11px 26px;font-size:13.5px;box-shadow:0 6px 20px rgba(0,0,0,.35)}

/* ============ v11 · day-strip wraps to fit one page (no horizontal scroll) ============ */
.daystrip{flex-wrap:wrap;overflow-x:visible;padding-bottom:0}
.daystrip::-webkit-scrollbar{display:none}
.day{flex:1 1 150px;min-width:0}

/* ============ v12 · program intro text smaller ============ */
#program .sec-head p{font-size:13px;max-width:34ch;line-height:1.45}

/* ============ v13 · ASKS + CTA · Michelob voice, tighter ============ */
#asks{padding:40px 0}
#asks .sec-head{margin-bottom:14px}
.ask{padding:12px 14px}
.ask .what{margin:3px 0 6px}
.cta{margin-top:12px;padding:26px 30px}
.cta-k{display:block;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.cta h2{font-size:clamp(20px,3vw,29px)}
.cta p{margin:6px auto 15px;max-width:44ch}
.cta p::after{content:"";display:none}

/* ============ v14 · program intro on one line ============ */
#program .sec-head p{max-width:none;white-space:nowrap}
@media(max-width:760px){#program .sec-head p{white-space:normal;max-width:42ch}}

/* ============ v15 · "Playing today" fixtures box (flags) ============ */
.games{background:linear-gradient(160deg,var(--panel2),var(--navy2));border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.games .ghd{display:block;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:11px}
.grow{display:flex;gap:10px;flex-wrap:wrap}
.game{flex:1 1 250px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:11px;padding:12px 14px;position:relative}
.game.host{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.gtag{position:absolute;top:9px;right:11px;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold)}
.gmu{display:flex;align-items:center;gap:11px;font-weight:700;font-size:15px;flex-wrap:wrap;padding-right:60px}
.gt{display:flex;align-items:center;gap:7px}
.gt.solo{padding-right:0}
.fl{font-size:20px;line-height:1}
.gvs{color:var(--mut);font-weight:400;font-size:13px}
.gmeta{font-size:11.5px;color:var(--mut);margin-top:7px;font-weight:300}
.games.empty{display:flex;align-items:baseline;gap:12px}
.games.empty .ghd{margin-bottom:0}
.games.empty .gno{font-size:13px;color:var(--mut);font-weight:300}

/* ============ v16 · TAGS ≠ BUTTONS · cleaner hierarchy ============ */
/* Non-interactive metadata = flat tags (no border, no pill, no pressable look) */
.tl .city,.dcard .sla,.cm .badge{border:0!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:5px;font-weight:600}
/* hero meta — labels, not pills */
.tags{gap:7px 14px;font-size:12px}
.tags span{border:0;background:rgba(4,12,24,.5);color:#cfe0f2;padding:3px 9px;border-radius:5px;letter-spacing:.2px;backdrop-filter:none}
/* deliverable SLA — flat accent label */
.dcard .sla{background:rgba(0,88,164,.16);color:var(--blueLt);padding:3px 8px;letter-spacing:.6px}
/* timeline city */
.tl .city{background:rgba(255,255,255,.05);color:var(--mut)}
/* crew status — dot + flat text, never a pill */
.cm .badge{display:inline-flex;align-items:center;gap:6px;background:transparent!important;padding:2px 2px;color:var(--mut)}
.cm .badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.cm .badge.conf{color:#4ed784}
.cm .badge.stby{color:var(--mut)}

/* Section index = TABS (navigation), not a row of buttons */
.secnav{gap:22px}
.secnav a{border-radius:0;padding:8px 0;background:transparent;position:relative;color:var(--mut2)}
.secnav a:hover{background:transparent;color:var(--txt)}
.secnav a.active{background:transparent;color:var(--txt);box-shadow:none}
.secnav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px}
@media(max-width:760px){.secnav{gap:16px}}

/* ============ v17 · HIERARCHY · hero stat · grouping · featured cards ============ */
/* 1 · impact band: one hero number, rest secondary */
.impact .row{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;align-items:center}
.impact .it.lead b{font-size:clamp(50px,7.5vw,82px);background:linear-gradient(180deg,#fff,var(--blueLt));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-3px}
.impact .it.lead span{color:var(--blueLt);font-weight:700}
.impact .it:not(.lead) b{font-size:clamp(24px,3.2vw,38px);color:#c7d8ec;letter-spacing:-1px}
.impact .it:not(.lead) span{font-size:10.5px;opacity:.85}
@media(max-width:720px){.impact .row{grid-template-columns:repeat(2,1fr)}.impact .it.lead{grid-column:1 / -1}}

/* 2 · program: breathing room + group the selected-day detail */
#program{padding-top:54px}
.daysel{gap:20px}
.dayhdr{display:flex;align-items:baseline;gap:12px;padding:0 2px 12px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.dayhdr .dh-d{font-size:13px;font-weight:700;letter-spacing:.4px;color:var(--accent);text-transform:uppercase}
.dayhdr .dh-l{font-size:15px;font-weight:700;color:var(--txt)}
.daybox{padding-top:4px}

/* 3 · featured cards — one flagship per section */
.dcard,.ccard{position:relative}
.flag{position:absolute;top:0;left:20px;transform:translateY(-50%);font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:3px 9px;border-radius:5px;z-index:2}
.dcard.feat{grid-column:span 2;background:linear-gradient(150deg,rgba(0,88,164,.30),var(--navy2) 70%);border-color:var(--accent);box-shadow:0 14px 44px rgba(0,0,0,.4)}
.dcard.feat h3{font-size:21px}
.dcard.feat p{color:#cfe0f2}
.ccard.feat{background:linear-gradient(150deg,rgba(0,88,164,.26),var(--panel) 72%);border-top-color:var(--gold);box-shadow:0 14px 40px rgba(0,0,0,.4)}
@media(max-width:680px){.dcard.feat{grid-column:span 1}}

/* ============ v18 · REFINEMENT · hierarchy · beat · photo · mobile · a11y ============ */
/* 4 · typographic hierarchy — quiet the mid-tier so the big moments hit harder */
.sec-head h2{font-size:clamp(27px,4.4vw,46px);letter-spacing:-.8px}
.dcard h3,.dlc h3,.cm .nm{font-weight:600;font-size:16px;letter-spacing:-.1px}
.dcard p,.dlc p{font-size:13px;color:var(--mut)}
.dcard.feat h3{font-weight:700;font-size:22px;letter-spacing:-.4px}

/* 3 · cinematic photo slot (one real archive frame) */
.showcase{position:relative;margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(155deg,#0a1626,#05080f)}
.showcase .ph{aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat}
.showcase figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 30px;background:linear-gradient(0deg,rgba(2,6,13,.94),rgba(2,6,13,.45) 58%,transparent)}
.showcase figcaption h3{font-size:clamp(20px,2.6vw,30px);font-weight:700;letter-spacing:-.5px}
.showcase figcaption p{color:#c7d8ec;font-weight:300;margin-top:6px;max-width:54ch;font-size:14px}
.xtag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--gold)}
.showcase figcaption .xtag{margin-bottom:9px}
.xlist{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.xli{background:var(--navy);padding:16px 18px}
.xli .xtag{display:block;margin-bottom:7px}
.xli h4{font-size:15px;font-weight:600;letter-spacing:-.1px}
.xli p{color:var(--mut);font-size:13px;font-weight:300;margin-top:3px}

/* 5 · mobile (≤600 / ≤430) */
@media(max-width:600px){
  .routewrap{display:none}                 /* route map is decorative — the cards carry the info on phone */
  .xlist{grid-template-columns:1fr}
  .showcase .ph{aspect-ratio:4/3}
}
@media(max-width:430px){
  .ros .rcol .row{grid-template-columns:78px 1fr;gap:10px;padding:9px 14px}
  .games .game{flex:1 1 100%}
  .cta{padding:24px 18px}
}

/* a11y · honor reduced-motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important}
  .hero .bg{animation:none!important}
}

/* ============ v19 · ENHANCE · palette · share · nav · a11y · print ============ */
/* a11y */
.skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--accent);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;transition:top .15s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--blueLt);outline-offset:3px;border-radius:3px}

/* reading progress (bottom) + back-to-top + FAB */
.progress{position:fixed;left:0;bottom:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;z-index:60;background:linear-gradient(90deg,var(--blue),var(--ribbon),var(--gold));transition:transform .1s linear;pointer-events:none}
.fab{position:fixed;right:20px;bottom:20px;z-index:70;width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel2),var(--navy));color:var(--txt);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:.18s;font-family:inherit}
.fab:hover{transform:translateY(-2px);border-color:var(--accent)}
.fab .fab-k{font-size:13px;font-weight:700;letter-spacing:.5px}.fab .fab-i{display:none;font-size:22px}
.totop{position:fixed;right:20px;bottom:84px;z-index:70;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(7,21,37,.86);backdrop-filter:blur(8px);color:var(--txt);cursor:pointer;font-size:18px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}
.totop.on{opacity:1;pointer-events:auto;transform:none}
.totop:hover{border-color:var(--accent)}
@media(max-width:600px){.fab .fab-k{display:none}.fab .fab-i{display:block}.fab{width:50px;height:50px}}

/* toast */
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,16px);z-index:320;background:var(--panel2);border:1px solid var(--line);color:var(--txt);padding:11px 18px;border-radius:30px;font-size:13.5px;font-weight:600;box-shadow:0 12px 36px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.22s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* modal (QR etc.) */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;transition:.2s}
.modal.on{opacity:1}
.modal-bg{position:absolute;inset:0;background:rgba(2,6,13,.7);backdrop-filter:blur(4px)}
.modal-card{position:relative;background:linear-gradient(160deg,var(--panel),var(--navy2));border:1px solid var(--line);border-radius:18px;padding:24px;width:min(92vw,360px);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.modal-card h3{font-size:15px;font-weight:700;letter-spacing:.3px;margin-bottom:14px;color:var(--mut);text-transform:uppercase}
.modal-x{position:absolute;top:10px;right:12px;background:none;border:0;color:var(--mut);font-size:22px;cursor:pointer;line-height:1}
.qr{width:240px;height:240px;border-radius:12px;display:block;margin:0 auto;background:#071525}
.qr-url{font-size:11px;color:var(--mut);word-break:break-all;margin:12px 0 14px}
.modal-act{background:#fff;color:var(--navy);border:0;font-weight:700;font-family:inherit;padding:10px 20px;border-radius:24px;cursor:pointer;font-size:13px}

/* command palette */
.pal{position:fixed;inset:0;z-index:310;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}
.pal.on{display:flex}
.pal-bg{position:absolute;inset:0;background:rgba(2,6,13,.66);backdrop-filter:blur(5px)}
.pal-card{position:relative;width:min(94vw,580px);background:linear-gradient(170deg,var(--panel),var(--navy2));border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.65);animation:palIn .18s ease}
@keyframes palIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.pal-in{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--txt);font-family:inherit;font-size:17px;padding:18px 20px;outline:none}
.pal-in::placeholder{color:var(--mut2)}
.pal-list{max-height:50vh;overflow-y:auto;padding:6px}
.pal-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;cursor:pointer}
.pal-item.sel{background:rgba(0,88,164,.22)}
.pi-ic{width:22px;text-align:center;color:var(--blueLt);font-size:14px}
.pi-l{flex:1;font-weight:600;font-size:14.5px}
.pi-s{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}
.pal-empty{padding:22px;text-align:center;color:var(--mut);font-size:14px}
.pal-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--mut2)}
.pal-foot span{letter-spacing:.3px}

/* relative-time badge in day header */
.dh-rel{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:3px 9px;border-radius:20px}
.dayhdr{flex-wrap:wrap}

/* print / PDF one-pager */
@media print{
  nav,.secnav,.fab,.totop,.progress,.pal,.modal,.toast,.skip,#countdown,.hero .bg{display:none!important}
  .reveal{opacity:1!important;transform:none!important}
  html,body{background:#040c18!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hero{min-height:auto!important;padding-top:20px!important;page-break-after:avoid}
  section{padding:16px 0!important;page-break-inside:avoid}
  .dcard,.ccard,.cm,.game,.ask,.showcase,.daysel{page-break-inside:avoid}
  .daystrip{flex-wrap:wrap!important}
}

/* ============ v20 · language switch ============ */
.langsw{display:flex;gap:1px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:2px;margin-right:2px}
.langsw button{border:0;background:transparent;color:var(--mut2);font-family:inherit;font-weight:700;font-size:10px;letter-spacing:.4px;padding:5px 8px;border-radius:12px;cursor:pointer;transition:.15s}
.langsw button.on{background:rgba(255,255,255,.08);color:var(--txt)}
.langsw button:hover:not(.on){color:var(--txt)}
