:root{
  --asfalto:#121315;
  --paleta:#1c1d21;
  --paleta-luz:#26282d;
  --rendija:#08090a;
  --tiza:#f2efe6;
  --gris-pista:#a7a39a;
  --rojo:#e30713;
  --rojo-hondo:#b10510;
  --ambar:#f3c13a;
  --verde-pista:#45c27a;
  --papel:#f6f3ec;
  --tinta:#1b1b1d;
  --tinta-suave:#55534e;
  --filo:#d9d4c8;
  --mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --sans:"Funnel Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 17px/1.62 var(--sans);overflow-x:hidden}
img,svg{max-width:100%;height:auto}
a{color:var(--rojo-hondo);text-underline-offset:3px}
a:hover{color:var(--rojo)}
h1,h2,h3{font-family:var(--mono);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--tinta)}
h1{font-size:clamp(1.75rem,3.4vw,2.7rem);margin:.2em 0 .5em}
h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:2.2em 0 .6em;padding-top:.6em;border-top:2px solid var(--tinta)}
h3{font-size:1.12rem;margin:1.6em 0 .4em}
p{margin:0 0 1em}
ul,ol{padding-left:1.3em;margin:0 0 1.2em}
li{margin:.25em 0}
strong{font-weight:700}

/* barra superior */
.sign-terminal{background:var(--asfalto);color:var(--tiza);border-bottom:4px solid var(--rojo);position:relative;z-index:5}
.sign-terminal-in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px}
.sign-terminal .call-flight{flex:none;white-space:nowrap}
.hold-brand{flex:none}
.hold-brand{display:flex;align-items:center;gap:10px;color:var(--tiza);text-decoration:none;font-family:var(--mono);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.hold-brand:hover{color:#fff}
.hold-brand b{display:inline-grid;place-items:center;width:30px;height:34px;background:var(--paleta-luz);border-radius:3px;color:var(--rojo);font-weight:500;position:relative}
.hold-brand b::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rendija)}
.hold-brand small{display:block;font-size:.68rem;color:var(--gris-pista);letter-spacing:.12em}
.tick-clock{white-space:nowrap;font-family:var(--mono);font-size:.82rem;color:var(--ambar);letter-spacing:.1em;margin-left:auto}
.show-gates{position:relative}
.open-gates{display:none;font:500 .85rem var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--paleta-luz);color:var(--tiza);border:1px solid #3a3c42;border-radius:4px;padding:8px 12px;cursor:pointer}
.route-gates{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:nowrap}
.route-gates li{margin:0}
.route-gates a{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:3px;color:var(--tiza);text-decoration:none;font:400 .86rem var(--mono)}
.route-gates a span{color:var(--ambar);font-size:.75rem}
.route-gates a:hover,.route-gates a[aria-current="page"]{background:var(--paleta-luz);color:#fff}
.call-flight{display:inline-flex;align-items:center;gap:8px;background:var(--rojo);color:#fff;text-decoration:none;font:500 .9rem var(--mono);letter-spacing:.03em;padding:10px 16px;border-radius:4px;border:0;transition:background .15s}
.call-flight::after{content:"\2192";font-size:1rem}
.call-flight:hover{background:var(--rojo-hondo);color:#fff}
.call-quiet{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.call-quiet:hover{background:var(--tinta);color:var(--papel)}

/* cuerpo */
.read-body{max-width:1180px;margin:0 auto;padding:28px 20px 56px}
.set-column{max-width:780px;margin:0 auto}
.board-intro{max-width:1040px;margin:0 auto 34px}
.show-date{font:400 .8rem var(--mono);color:var(--tinta-suave);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}
.lead-answer{font-size:1.12rem;line-height:1.6;max-width:780px}

/* tablero split-flap */
.flip-board{background:var(--asfalto);color:var(--tiza);border-radius:8px;padding:14px;box-shadow:0 18px 40px -24px rgba(0,0,0,.6);margin:22px 0 8px;font-family:var(--mono)}
.flip-head,.flip-row{display:grid;grid-template-columns:70px minmax(110px,1fr) minmax(180px,2fr) 150px;gap:6px;align-items:stretch}
.flip-head{font-size:.7rem;letter-spacing:.16em;color:var(--gris-pista);text-transform:uppercase;padding:2px 2px 8px}
.flip-row{margin-top:6px}
.flip-cell{background:linear-gradient(180deg,var(--paleta-luz) 0,var(--paleta) calc(50% - 1px),var(--rendija) calc(50% - 1px),var(--rendija) 50%,var(--paleta) 50%);border-radius:3px;padding:9px 10px;font-size:.92rem;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere}
.mark-gate{color:var(--ambar);font-weight:500;text-align:center}
.show-status{text-align:center;font-weight:500}
.show-status.go-ok{color:var(--verde-pista)}
.show-status.go-wait{color:var(--ambar)}
.show-status.go-stop{color:#ff6a6a}
.cite-source{font-size:.8rem;color:var(--tinta-suave);margin:6px 0 22px;line-height:1.45}
.flip-board + .cite-source{max-width:1040px}

/* tablas */
.compare-fares{overflow-x:auto;margin:16px 0 4px;border:2px solid var(--tinta);border-radius:6px;background:#fff}
.compare-fares table{border-collapse:collapse;width:100%;min-width:460px;font-size:.93rem}
.compare-fares th,.compare-fares td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--filo);vertical-align:top}
.compare-fares th{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--tinta);color:var(--tiza)}
.compare-fares tr:last-child td{border-bottom:0}
.compare-fares td.right-num{text-align:right;font-family:var(--mono);white-space:nowrap}

/* avisos */
.post-notice{border-left:6px solid var(--ambar);background:#fff8e3;padding:14px 18px;margin:20px 0;border-radius:0 6px 6px 0}
.post-notice p:last-child{margin-bottom:0}
.keep-limits{background:var(--tinta);color:var(--tiza);border-radius:8px;padding:18px 20px;margin:30px 0}
.keep-limits h2,.keep-limits h3{color:var(--tiza);border-top:0;margin-top:0;padding-top:0}
.keep-limits a{color:var(--ambar)}
.keep-limits p:last-child{margin-bottom:0}
.jump-gates{background:#fff;border:1px dashed var(--tinta-suave);border-radius:6px;padding:12px 16px;margin:18px 0 8px;font-size:.92rem}
.jump-gates p{font:500 .75rem var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;color:var(--tinta-suave)}
.jump-gates ol{margin:0;columns:2;column-gap:28px}
.climb-ramp{counter-reset:paso;list-style:none;padding:0}
.climb-ramp li{counter-increment:paso;position:relative;padding:10px 0 10px 54px;border-bottom:1px solid var(--filo)}
.climb-ramp li::before{content:counter(paso,decimal-leading-zero);position:absolute;left:0;top:9px;width:40px;height:32px;display:grid;place-items:center;background:var(--asfalto);color:var(--ambar);font:500 .9rem var(--mono);border-radius:3px}
.check-bag{border-top:2px solid var(--tinta);margin-top:12px}
.check-bag details{border-bottom:1px solid var(--filo);padding:4px 0}
.check-bag summary{cursor:pointer;font:500 1rem var(--mono);padding:10px 0;list-style:none;display:flex;gap:10px}
.check-bag summary::-webkit-details-marker{display:none}
.check-bag summary::before{content:"+";color:var(--rojo);font-weight:500;width:14px;flex:none}
.check-bag details[open] summary::before{content:"\2013"}
.check-bag details p{margin:0 0 12px 24px}
.ask-pairs dt{font:500 1rem var(--mono);margin-top:16px}
.ask-pairs dd{margin:4px 0 0;padding-left:14px;border-left:3px solid var(--rojo)}
.end-call{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:34px 0 0;padding:18px;border:2px solid var(--tinta);border-radius:8px;background:#fff}
.end-call p{margin:0;flex:1 1 260px;font-size:.95rem}

/* pie */
.close-terminal{background:var(--asfalto);color:var(--gris-pista);font-size:.88rem;border-top:4px solid var(--rojo)}
.close-terminal-in{max-width:1180px;margin:0 auto;padding:30px 20px;display:grid;grid-template-columns:1.4fr 1fr;gap:26px}
.close-terminal a{color:var(--tiza)}
.close-terminal p{margin:0 0 .7em}
.sign-off{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;grid-column:1/-1;border-top:1px solid #2c2e33;padding-top:14px;margin:0}
.route-foot{list-style:none;margin:0;padding:0;columns:2}
.route-foot li{margin:0 0 6px}

/* 404 */
.lost-flight{max-width:820px;margin:0 auto;padding:40px 0 20px;text-align:center}
.lost-flight .flip-board{text-align:left}

@media (max-width:1180px){
  .tick-clock{display:none}
  .route-gates a{padding:6px 6px;font-size:.8rem}
}
@media (max-width:900px){
  .flip-head{display:none}
  .flip-row{grid-template-columns:58px 1fr;grid-template-areas:"g d" "g i" "g s";margin-top:10px}
  .flip-row .mark-gate{grid-area:g}
  .flip-row .flip-cell:nth-child(2){grid-area:d}
  .flip-row .flip-cell:nth-child(3){grid-area:i;text-transform:none;font-size:.86rem}
  .flip-row .show-status{grid-area:s;text-align:left}
  .close-terminal-in{grid-template-columns:1fr}
  .jump-gates ol{columns:1}
}
@media (max-width:760px){
  .open-gates{display:inline-block}
  .route-gates{display:none;position:absolute;left:0;top:calc(100% + 8px);background:var(--asfalto);border:1px solid #3a3c42;border-radius:6px;padding:8px;flex-direction:column;min-width:230px;box-shadow:0 14px 30px rgba(0,0,0,.45)}
  .show-gates:focus-within .route-gates{display:flex}
  .sign-terminal-in{gap:10px;flex-wrap:wrap}
  .tick-clock{display:none}
  .sign-terminal .call-flight{margin-left:auto;padding:8px 11px;font-size:.8rem}
  body{font-size:16px}
}
@media (max-width:420px){
  .hold-brand small{display:none}
  .sign-terminal .call-flight{font-size:.74rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.flip-cell a{color:inherit;text-decoration:underline}
