/* vuelo-online.com identity (8 Nov 2026), loaded after /_kit/kit.css and /_kit/brand.css, scoped to body.vo.
   Idea: the airport. Deep navy ink, cool paper, the brand blue (#1d4ed8, brands.json) for links and buttons, and the
   amber of a departures board used only for the board, the focus ring and the runway line in the mark.
   Signatures: the departures board (home #rutas) and boarding-pass cards (who flies direct). No web fonts. */
:root{--navy:#0B1B3F;--navy-2:#13285A;--paper:#F5F7FB;--paper-2:#EAEFF7;--ink:#111827;--ink-2:#3F4A5E;--ink-3:#5B6680;--line:#DCE3EE;--line-2:#C7D1E1;--amber:#FFC857;--amber-soft:#FFF4D9;--blue:#1D4ED8;--blue-strong:#1E40AF;--blue-soft:#EAF0FD;--mono:ui-monospace,"Cascadia Mono","SF Mono",Menlo,Consolas,monospace}
body.vo{background:var(--paper);color:var(--ink)}
body.vo h1,body.vo h2,body.vo h3{letter-spacing:-.015em;color:var(--ink)}
body.vo h1 em{font-style:normal;color:var(--blue)}
body.vo a{color:var(--blue-strong)}
body.vo :focus-visible{outline:3px solid var(--amber);outline-offset:2px}
body.vo .section.alt{background:var(--paper-2)}
body.vo .eyebrow{color:var(--ink-2);letter-spacing:.12em;font-family:var(--mono);font-weight:600}
body.vo .eyebrow::before{content:"";display:inline-block;width:.9em;height:2px;background:var(--blue);margin-right:.5em;vertical-align:.3em}

/* header and brand */
body.vo .site-header{background:var(--navy);border-bottom:0}
body.vo .site-header .nav a{color:#E3E9F6}
body.vo .site-header .nav a:hover,body.vo .site-header .nav a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--amber)}
.vo-brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.vo-mark{flex:none}
.vo-word{font-size:1.25rem;font-weight:750;color:#fff;letter-spacing:-.02em}
.vo-word b{color:#9DB7FF;font-weight:750}
.vo-word .tld{font-size:.82rem;font-weight:500;color:#AEB9D3;margin-left:.08em}

/* buttons */
body.vo .btn{background:var(--blue);color:#fff;border:2px solid var(--blue);border-radius:999px;transition:background .12s var(--ease),transform .12s var(--ease)}
body.vo .btn:hover{background:var(--blue-strong);border-color:var(--blue-strong);transform:translateY(-1px)}
body.vo .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
body.vo .btn.ghost:hover{background:var(--ink);color:#fff}

/* hero: night apron, one runway line */
.vo-hero{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#E6ECF8;padding:clamp(2.5rem,6vw,4.5rem) 0;position:relative;overflow:hidden}
.vo-hero::after{content:"";position:absolute;left:0;right:0;bottom:1.4rem;height:2px;background:repeating-linear-gradient(90deg,var(--amber) 0 28px,transparent 28px 52px);opacity:.55}
.vo-hero .wrap{display:grid;gap:2rem;align-items:start}
body.vo .vo-hero h1{color:#fff;font-size:clamp(2rem,5.2vw,3.2rem);line-height:1.08;margin:.4rem 0 1rem}
body.vo .vo-hero h1 em{color:var(--amber)}
body.vo .vo-hero .eyebrow{color:#C3CDE4}
body.vo .vo-hero .eyebrow::before{background:var(--amber)}
body.vo .vo-hero .lead{color:#D6DEEE;max-width:56ch}
body.vo .vo-hero .btn.ghost{color:#fff;border-color:#fff}
body.vo .vo-hero .btn.ghost:hover{background:#fff;color:var(--navy)}
.vo-card{background:#fff;color:var(--ink);border-radius:14px;padding:1.4rem 1.4rem 1rem;box-shadow:0 18px 40px -12px rgb(0 0 0/.45);border-top:6px solid var(--blue)}
.vo-card-t,.vo-card>h2,.vo-card>strong,.vo-card>span:first-child{display:block;font-weight:750;font-size:1.1rem;margin:0 0 .6rem}
@media (min-width:900px){.vo-hero .wrap{grid-template-columns:1.25fr .9fr;gap:3rem}.vo-card{margin-top:1rem}}

/* checklist */
.vo-checks{list-style:none;margin:0;padding:0;counter-reset:vc}
.vo-checks li{counter-increment:vc;display:grid;grid-template-columns:2rem 1fr;gap:.2rem .7rem;padding:.7rem 0;border-top:1px dashed var(--line-2)}
.vo-checks li:first-child{border-top:0}
.vo-checks li::before{content:counter(vc,decimal-leading-zero);grid-row:span 2;width:1.9rem;height:1.9rem;border-radius:6px;background:var(--navy);color:var(--amber);display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:.8rem}
.vo-checks b{font-weight:700}
.vo-checks span{color:var(--ink-2);font-size:.95rem;line-height:1.5}

/* departures board (home #rutas) */
.vo-board{background:var(--navy);border-radius:16px;padding:.6rem;display:grid;gap:.5rem;grid-template-columns:1fr}
@media (min-width:760px){.vo-board{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.vo-board{grid-template-columns:repeat(3,1fr)}}
.vo-dep{display:grid;grid-template-columns:auto 1fr;gap:.15rem .9rem;align-items:baseline;padding:1rem 1.1rem;border-radius:10px;background:#0F234F;border:1px solid #1E3A75;color:#E6ECF8;text-decoration:none;transition:background .15s var(--ease),border-color .15s var(--ease)}
body.vo .vo-dep{color:#E6ECF8}
.vo-dep:hover{background:#15306A;border-color:var(--amber)}
.vo-dep-code{grid-row:span 3;font-family:var(--mono);font-size:1.7rem;font-weight:700;letter-spacing:.06em;color:var(--amber);background:#091634;border-radius:6px;padding:.2rem .45rem;align-self:start}
.vo-dep-city{font-size:1.2rem;font-weight:750;color:#fff}
.vo-dep-country{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#9FB0D3}
.vo-dep-p{color:#C9D3EA;line-height:1.5;font-size:.95rem}
.vo-dep .more{grid-column:2;margin-top:.3rem;font-weight:650;color:var(--amber)}
.vo-dep .more::after{content:" \2192"}

/* boarding passes (route pages) */
.vo-passes{display:grid;gap:1rem}
@media (min-width:900px){.vo-passes{grid-template-columns:repeat(2,1fr)}}
.vo-pass{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 0 var(--line-2)}
.vo-pass-main{padding:1.2rem 1.3rem;border-left:6px solid var(--blue)}
.vo-pass-k{font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}
.vo-pass h3{margin:.2rem 0 .4rem;font-size:1.3rem}
.vo-pass-route{display:flex;align-items:center;gap:.6rem;margin:.2rem 0 .6rem}
.vo-iata{font-family:var(--mono);font-size:1.5rem;font-weight:700;letter-spacing:.06em;color:var(--navy)}
.vo-plane{flex:1;max-width:7rem;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 10px);position:relative}
.vo-plane::after{content:"\2708";position:absolute;right:-.2rem;top:50%;transform:translateY(-55%);color:var(--blue);font-size:1rem;line-height:1}
.vo-pass-main p:last-child{color:var(--ink-2);margin:0;line-height:1.55}
.vo-pass-stub{display:grid;align-content:center;gap:.05rem;padding:1rem 1.1rem;min-width:8.5rem;background:var(--blue-soft);border-left:2px dashed var(--line-2);font-size:.85rem}
.vo-pass-stub span{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}
.vo-pass-stub b{margin-bottom:.4rem;color:var(--ink)}
@media (max-width:520px){.vo-pass{grid-template-columns:1fr}.vo-pass-stub{border-left:0;border-top:2px dashed var(--line-2);grid-template-columns:auto 1fr;gap:.2rem .6rem;align-items:baseline}.vo-pass-stub b{margin:0}}

/* ground transport lines */
.vo-lines{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.6rem}
.vo-lines li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}
.vo-lines b{display:block;margin-bottom:.15rem}
.vo-lines div span{color:var(--ink-2);line-height:1.5}
.vo-badge{min-width:3.2rem;padding:.3rem .5rem;border-radius:6px;background:var(--navy);color:var(--amber);font-family:var(--mono);font-weight:700;font-size:.8rem;text-align:center;white-space:nowrap}
.vo-small{font-size:.9rem;color:var(--ink-3)}

/* tables */
.vo-table{width:100%;border-collapse:collapse;margin:1rem 0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.95rem}
.vo-table th,.vo-table td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.vo-table th{background:var(--navy);color:#fff;font-weight:650}
.vo-table tr:last-child td{border-bottom:0}
@media (max-width:640px){.vo-table{display:block;overflow-x:auto}}

/* soon note: where a flight search would go */
.vo-soon{margin-top:1.6rem;padding:1.1rem 1.2rem;border:1px dashed var(--ink-3);border-radius:12px;background:var(--amber-soft)}
.vo-soon-t{display:block;font-weight:700;margin-bottom:.25rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.vo-soon p{margin:0;color:var(--ink-2)}

/* kit pieces in this identity */
body.vo .page-head{background:linear-gradient(180deg,var(--paper-2),var(--paper));border-bottom:1px solid var(--line)}
body.vo .card{border-color:var(--line);border-radius:12px;background:#fff}
body.vo .card:hover{border-color:var(--blue)}
body.vo .callout{border-left:4px solid var(--blue);background:#fff}
body.vo .notice{background:var(--amber-soft);border-color:var(--amber)}
body.vo .faq details{border-color:var(--line)}
body.vo .faq summary h3{display:inline;font-size:1.05rem;font-weight:650;letter-spacing:0}
body.vo .meta-line li{background:#fff;border:1px solid var(--line)}
body.vo .sources-title{font-size:1.2rem}
body.vo .sources{font-size:.92rem}

/* footer */
body.vo .site-footer{background:var(--navy);color:#C3CDE4}
body.vo .site-footer h2{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--mono)}
body.vo .site-footer a{color:#E3E9F6}
.vo-brand-foot .vo-word{font-size:1.15rem}
.vo-tagline{max-width:42ch;color:#C3CDE4}
.vo-fine{font-size:.85rem;color:#A7B3CF;max-width:80ch;margin-top:1.2rem}
body.vo .site-footer .legal{color:#A7B3CF}

/* reveal (site.js adds .rv / .in only below the fold) */
.rv{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}body.vo .btn,body.vo .btn:hover,.vo-dep{transition:none;transform:none}}
@media print{.rv{opacity:1;transform:none}}
