/* ============================================================
   BOARDING — the travel professional
   Scoped to body.d-boarding. 1rem = 10px.
   ============================================================ */
body.d-boarding{
  --bd-night:#0b1530;--bd-night2:#122046;--bd-panel:#0e1a3a;--bd-amber:#f5b301;--bd-amber2:#ffd35c;--bd-paper:#eef2fb;--bd-ink:#0b1530;--bd-soft:#44506e;--bd-mute:#5d6886;--bd-line:#d6ddee;--bd-sky:#8fb3ff;
  --bg-primary:var(--bd-paper);--bg-secondary:#e3e9f6;--bg-card:#fff;--bg-inset:#eef2fb;
  --fg-primary:var(--bd-ink);--fg-soft:var(--bd-soft);--fg-muted:var(--bd-mute);--border-color:var(--bd-line);--border-strong:#b9c4dc;
  background:var(--bd-paper);color:var(--bd-ink);font-family:'Space Grotesk',system-ui,sans-serif
}
body.d-boarding h1,body.d-boarding h2,body.d-boarding h3{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1}
.bd-kick{display:inline-flex;align-items:center;gap:.8rem;font-family:'JetBrains Mono',monospace;font-size:1.2rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bd-amber);margin-bottom:1.4rem}

body.d-boarding .bx-nav{background:rgba(11,21,48,.88);backdrop-filter:blur(12px)}
body.d-boarding .bx-nav.scrolled{border-bottom-color:rgba(255,255,255,.08);box-shadow:none}
body.d-boarding .bx-brand-mark{border-radius:50%;background:var(--bd-amber);color:var(--bd-night);font-family:'JetBrains Mono',monospace}
body.d-boarding .bx-brand-txt b{color:#fff;font-size:1.8rem}
body.d-boarding .bx-brand-txt small{color:#9fb0d6}
body.d-boarding .bx-nav-links a{color:#b8c4e2;font-size:1.3rem;font-weight:500}
body.d-boarding .bx-nav-links a:hover,body.d-boarding .bx-nav-links a.active{color:#fff}
body.d-boarding .bx-nav-links a::after{background:var(--bd-amber);height:2px}
body.d-boarding .bx-nav-cta{background:var(--bd-amber);color:var(--bd-night);border-radius:6px}
body.d-boarding .burger span{background:#fff}

/* hero: the concourse */
.bd-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 7rem) 3rem 9rem;color:#fff;
  background:radial-gradient(900px 500px at 85% 0%,rgba(143,179,255,.18),transparent 60%),linear-gradient(180deg,var(--bd-night) 0%,var(--bd-night2) 100%)}
.bd-hero::after{content:'';position:absolute;left:-10%;right:-10%;bottom:-1px;height:120px;background:var(--bd-paper);clip-path:ellipse(60% 100% at 50% 100%)}
.bd-hero-in{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:center}
.bd-hero-in>*{min-width:0}
.bd-hero h1{font-size:clamp(5rem,8vw,9.6rem);color:#fff}
.bd-tag{font-family:'JetBrains Mono',monospace;font-size:clamp(1.5rem,1.7vw,1.9rem);color:var(--bd-amber2);margin-top:1.8rem;letter-spacing:.04em}
.bd-lede{font-size:1.7rem;line-height:1.65;color:#c3cde8;margin-top:1.8rem;max-width:48ch}
.bd-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.bd-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.5rem 2.6rem;border-radius:8px;font-size:1.5rem;font-weight:600;transition:transform .25s var(--ease),background .25s,border-color .25s}
.bd-btn-main{background:var(--bd-amber);color:var(--bd-night)}
.bd-btn-main:hover{background:var(--bd-amber2);transform:translateY(-2px)}
.bd-btn-line{border:1px solid rgba(255,255,255,.28);color:#fff}
.bd-btn-line:hover{border-color:#fff}

/* the departures board */
.bd-board{background:#050b1c;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.4rem;box-shadow:0 40px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);font-family:'JetBrains Mono',monospace}
.bd-board-top{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem 1.4rem;color:var(--bd-amber);font-size:1.3rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.bd-board-top i{margin-right:.6rem}
.bd-clock{padding:.4rem 1rem;border:1px solid rgba(245,179,1,.4);border-radius:4px}
.bd-row{display:grid;grid-template-columns:7.2rem 1.5fr 1.1fr 10rem;gap:1.2rem;align-items:center;padding:1rem;border-top:1px solid rgba(255,255,255,.05);font-size:1.25rem;color:#dfe6f7}
.bd-row-h{border-top:0;color:#7385b3;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase}
.bd-c{min-width:0}
.bd-flight{color:var(--bd-amber)}
.bd-role{color:#aab7d8;font-size:1.15rem;line-height:1.35}
.bd-stat{font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;color:#7385b3}
.bd-now .bd-stat{color:#4ade80;animation:bd-blink 1.6s steps(1) infinite}
@keyframes bd-blink{50%{opacity:.35}}
.bd-flap{display:flex;flex-wrap:wrap;gap:4px 8px}
.bd-flap>span{display:inline-flex;gap:2px;white-space:nowrap}
.bd-flap i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;height:1.9em;padding:0 .1em;background:linear-gradient(180deg,#1b2440 50%,#141c35 50%);border-radius:3px;color:#fff;font-weight:700;font-size:1.2rem;box-shadow:inset 0 -1px 0 rgba(0,0,0,.6)}
.fx2 .bd-flap i{animation:bd-flip .5s var(--d) both cubic-bezier(.3,.7,.4,1)}
@keyframes bd-flip{0%{transform:rotateX(90deg);color:transparent}60%{transform:rotateX(-12deg)}100%{transform:none}}

/* sections */
.bd-sec{padding:9rem 3rem 0}
.bd-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.bd-head{margin-bottom:3.6rem}
.bd-sec h2{font-size:clamp(3.4rem,5vw,5.6rem)}

/* the pass */
.bd-pass{display:grid;grid-template-columns:1fr 280px;background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(11,21,48,.12);overflow:hidden}
.bd-pass-main{padding:3.6rem 4rem}
.bd-pass-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:1.2rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bd-mute);padding-bottom:2rem;border-bottom:1px dashed var(--bd-line)}
.bd-pass-top i{color:var(--bd-amber);margin-right:.6rem}
.bd-pass-route{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.8rem 0}
.bd-pass-route>i{flex:1;text-align:center;color:var(--bd-amber);font-size:2.2rem;position:relative}
.bd-pass-route>i::before{position:relative;z-index:1;background:#fff;padding:0 1rem}
.bd-pass-route>i::after{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px dashed var(--bd-line)}
.bd-pass-route small{display:block;font-family:'JetBrains Mono',monospace;font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bd-mute)}
.bd-pass-route b{display:block;font-size:5.4rem;line-height:1;letter-spacing:-.03em}
.bd-pass-route span{font-size:1.35rem;color:var(--bd-soft)}
.bd-pass-route>div:last-child{text-align:right}
.bd-pass-body p{font-size:1.65rem;line-height:1.8;color:var(--bd-soft)}
.bd-pass-body p+p{margin-top:1.4rem}
.bd-pass-stub{position:relative;background:var(--bd-night);color:#fff;padding:3.6rem 2.8rem;display:flex;flex-direction:column;gap:2rem;border-left:2px dashed rgba(255,255,255,.25)}
.bd-pass-stub::before,.bd-pass-stub::after{content:'';position:absolute;left:-14px;width:26px;height:26px;border-radius:50%;background:var(--bd-paper)}
.bd-pass-stub::before{top:-13px}.bd-pass-stub::after{bottom:-13px}
.bd-pass-stub small{display:block;font-family:'JetBrains Mono',monospace;font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase;color:#8ea0cc}
.bd-pass-stub b{font-size:1.9rem}
.bd-barcode{margin-top:auto;height:64px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px,#fff 4px 5px,transparent 5px 9px,#fff 9px 12px,transparent 12px 14px);opacity:.85;border-radius:2px}

/* routes */
.bd-routes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.bd-route{display:flex;gap:2rem;align-items:flex-start;background:#fff;border:1px solid var(--bd-line);border-radius:16px;padding:2.8rem;transition:transform .3s var(--ease),border-color .3s}
.bd-route:hover{transform:translateY(-4px);border-color:var(--bd-amber)}
.bd-route-ico{width:54px;height:54px;border-radius:14px;background:var(--bd-night);color:var(--bd-amber);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}
.bd-route-n{font-family:'JetBrains Mono',monospace;font-size:1.1rem;letter-spacing:.14em;color:var(--bd-mute)}
.bd-route h3{font-size:2.2rem;margin:.4rem 0 .8rem}
.bd-route p{font-size:1.45rem;line-height:1.65;color:var(--bd-soft)}

/* itinerary */
.bd-legs{list-style:none;margin:0 auto;padding:0 0 0 4rem;position:relative;--p:0}
.bd-legs::before{content:'';position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--bd-line)}
.bd-legs::after{content:'';position:absolute;left:11px;top:6px;width:2px;height:calc((100% - 12px) * var(--p));background:var(--bd-amber)}
.bd-legs li{position:relative;padding:0 0 3.6rem}
.bd-leg-dot{position:absolute;left:-4rem;top:.3rem;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--bd-amber);z-index:1}
.bd-legs li:first-child .bd-leg-dot{background:var(--bd-amber)}
.bd-legs small{font-family:'JetBrains Mono',monospace;font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bd-mute)}
.bd-legs h3{font-size:2.6rem;margin:.4rem 0}
.bd-legs b{font-size:1.5rem;color:#b7791f}
.bd-legs p{font-size:1.5rem;line-height:1.7;color:var(--bd-soft);margin-top:.6rem;max-width:64ch}

.bd-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bd-gal-item{padding:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.bd-gal-item img{width:100%;height:100%;object-fit:cover}
.bd-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.bd-rev figure{background:#fff;border-radius:16px;padding:2.6rem;border:1px solid var(--bd-line)}
.bd-rev blockquote{font-size:1.5rem;line-height:1.7;color:var(--bd-soft)}
.bd-rev figcaption{margin-top:1.4rem;font-weight:700}

/* contact */
.bd-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:22px;background:#fff;box-shadow:0 30px 70px rgba(11,21,48,.08)}
.bd-contact>*{min-width:0}
.bd-contact-lede{font-size:1.6rem;line-height:1.65;color:var(--bd-soft);margin:1.6rem 0 3rem}
.bd-li{display:flex;align-items:center;gap:1.4rem;padding:1.8rem 2rem;border-radius:14px;background:#0a66c2;color:#fff;margin-top:1.2rem;transition:transform .25s var(--ease)}
.bd-li:hover{transform:translateY(-2px)}
.bd-li>i:first-child{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.bd-li span{flex:1}
.bd-li b{display:block;font-size:1.5rem}
.bd-li small{font-size:1.3rem;opacity:.85}
body.d-boarding .ci{border-radius:14px}
body.d-boarding .ci-ico{background:var(--bd-night);color:var(--bd-amber)}
body.d-boarding .contact-form{border-radius:16px;background:var(--bd-paper);border:0}
body.d-boarding .contact-form h3{font-size:2.4rem;margin-bottom:1.6rem}
body.d-boarding .cf-field input,body.d-boarding .cf-field textarea{border-radius:10px;background:#fff}
body.d-boarding .btn-onbiz{background:var(--bd-night);border-radius:10px}
body.d-boarding .cf-none p{font-size:1.5rem;color:var(--bd-soft);margin:1rem 0 2rem}
body.d-boarding .hours-row{border-radius:10px}
.bd-map{margin-top:3rem}
.bd-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-boarding .bx-foot{background:var(--bd-night);color:#cfd8ee;margin-top:6rem}
body.d-boarding .bx-foot p,body.d-boarding .bx-foot li,body.d-boarding .bx-foot a{color:#a3b0d0}
body.d-boarding .bx-foot-col h2{color:var(--bd-amber);font-family:'JetBrains Mono',monospace}
body.d-boarding .bx-foot .bx-brand-txt b{color:#fff}
body.d-boarding .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}

@media (max-width:980px){
  .bd-hero-in,.bd-contact{grid-template-columns:1fr}
  .bd-pass{grid-template-columns:1fr}
  .bd-pass-stub{border-left:0;border-top:2px dashed rgba(255,255,255,.25);flex-direction:row;flex-wrap:wrap}
  .bd-pass-stub::before,.bd-pass-stub::after{display:none}
  .bd-barcode{flex-basis:100%}
  .bd-contact{padding:3rem}
}
@media (max-width:640px){
  .bd-hero{padding:calc(var(--nav-h) + 3.6rem) 1.6rem 8rem}
  .bd-row{grid-template-columns:1fr auto;gap:.6rem 1rem}
  .bd-row-h{display:none}
  .bd-flight{display:none}
  .bd-role{grid-column:1/-1;grid-row:2}
  .bd-sec{padding:7rem 1.6rem 0}
  .bd-routes{grid-template-columns:1fr}
  .bd-pass-main{padding:2.4rem 2rem}
  .bd-pass-route b{font-size:3.8rem}
  .bd-gal{grid-template-columns:1fr 1fr}
  .bd-contact{padding:2rem}
  .bd-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.bd-now .bd-stat{animation:none}}
