/* FlyBuffer v2.1 – intent-first detail pages in the FlyBuffer "data story"
   visual system: navy hero, cyan accents, 2px corners, uppercase eyebrows,
   bordered data panels. Builds on the tokens in flybuffer.css. */
:root{--fb-short:#0c8f7f;--fb-short-bg:#e3f7f3;--fb-mod:#c98a0b;--fb-mod-bg:#fff4dc;--fb-long:#c94a3a;--fb-long-bg:#fdebe7;--fb-soft:#58728c;--fb-panel:#fff}
.fb2{background:var(--mist);color:var(--ink)}
.fb2 main a{color:var(--blue)}
.fb2 h1,.fb2 h2,.fb2 h3{letter-spacing:-.03em;line-height:1.1}
.fb2 .eyebrow{margin-bottom:6px}
.fb-section .eyebrow,.fb-now .eyebrow{color:#0d63c9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* hero */
.fb-hero{background:var(--navy);color:#fff;padding:22px 0 28px;border-bottom:1px solid #18395d}
.fb-hero-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.fb-crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:#7ea3c4;margin:0 0 12px}
.fb-crumbs a{color:#b9d3ea!important}
.fb-hero h1{font-size:clamp(34px,6.4vw,58px);margin:4px 0 10px;color:#fff;font-weight:900}
.fb-sub{color:#b9cee0;font-size:16px;line-height:1.55;margin:0 0 16px;max-width:60ch}
.fb-jump{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.fb-jump a{display:inline-block;border:1px solid #2a4d70;color:#d7e6f4!important;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;padding:7px 10px;border-radius:var(--r)}
.fb-jump a:hover{border-color:var(--cyan);color:#fff!important}

/* answer box */
.fb-now{background:var(--fb-panel);color:var(--ink);border:1px solid #2a4d70;border-radius:var(--r);padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.28);border-top:5px solid var(--fb-mod)}
.fb-now-short{border-top-color:var(--cyan)}.fb-now-long{border-top-color:var(--fb-long)}
.fb-now-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fb-tag{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border:1px solid;border-radius:var(--r)}
.fb-tag-short{color:var(--fb-short);background:var(--fb-short-bg)}.fb-tag-moderate{color:#8a5d00;background:var(--fb-mod-bg)}.fb-tag-long{color:var(--fb-long);background:var(--fb-long-bg)}
.fb-now-value{font-size:clamp(44px,11vw,64px);font-weight:950;letter-spacing:-.05em;line-height:1;margin:8px 0 6px}
.fb-now-meta{font-size:12px;color:var(--fb-soft)}
.fb-now-typical,.fb-now-flag{display:block;font-size:12px;margin-top:6px;color:var(--fb-soft)}
.fb-now-flag{color:#8a5d00;font-weight:800}
.fb-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:14px 0 10px}
.fb-strip div{padding:9px 10px;border-right:1px solid var(--line)}.fb-strip div:last-child{border-right:0}
.fb-strip dt{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--fb-soft)}
.fb-strip dd{margin:3px 0 0;font-weight:900;font-size:14px;letter-spacing:-.02em}
.fb-strip small{display:block;color:var(--fb-soft);font-size:11px}
.fb-now-note{font-size:11px;color:var(--fb-soft);margin:6px 0 0;line-height:1.45}

/* sections */
.fb-section{padding:38px 0;scroll-margin-top:80px}
.fb-alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fb-section h2{font-size:clamp(24px,4vw,32px);margin:0 0 12px;font-weight:900}
.fb-section h3{font-size:18px;margin:22px 0 8px}
.fb-section p{font-size:16px;line-height:1.6;color:#38536f;max-width:68ch}
.fb-two{display:grid;grid-template-columns:1fr;gap:24px}
.fb-narrow{max-width:860px}
.fb-card{background:var(--fb-panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.fb-card-wide{margin:16px 0}
.fb-card-title{font-size:11px!important;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--fb-soft);margin:0 0 8px!important}
.fb-btn{display:inline-block;background:var(--blue);color:#fff!important;font-weight:900;padding:13px 16px;border:1px solid #0b4cae;border-radius:var(--r)}
.fb-btn-ghost{background:#fff;color:var(--blue)!important;border-color:var(--line)}
.fb-cta-row{margin-top:18px}
.fb-more{font-weight:800}
.fb-national{background:#fff;border:1px solid var(--line);border-left:4px solid var(--cyan);padding:12px 14px;font-size:14px!important;max-width:none!important}

/* SVG charts */
.fb-svg{display:block;width:100%;max-width:720px;height:auto;margin:0 auto;font-family:inherit}
.fb-svg .g{stroke:#e1e9f0;stroke-width:1}
.fb-svg .yl{font-size:11px;fill:#7b8fa3;text-anchor:end}
.fb-svg .xl{font-size:11px;fill:#607991;text-anchor:middle;font-weight:700}
.fb-svg .xl.now{fill:var(--blue);font-weight:900}
.fb-svg .b{rx:2px}
.fb-svg .b.short{fill:var(--fb-short)}.fb-svg .b.moderate{fill:#e0a12a}.fb-svg .b.long{fill:var(--fb-long)}
.fb-svg .b.now{stroke:var(--navy);stroke-width:2}
.fb-svg .w-best{fill:rgba(46,217,204,.12)}.fb-svg .w-worst{fill:rgba(201,74,58,.09)}
.fb-svg .wl{font-size:12px;font-weight:900;letter-spacing:.02em}
.fb-svg .wl-best{fill:#0a7569}.fb-svg .wl-worst{fill:#a53b2d}
.fb-data{margin-top:8px;font-size:13px}
.fb-data summary{cursor:pointer;color:var(--blue);font-weight:800;font-size:12px}

/* heatmap */
.fb-heat-wrap{background:var(--fb-panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;box-shadow:var(--shadow)}
.fb-heat{width:100%;border-collapse:separate;border-spacing:3px;font-variant-numeric:tabular-nums}
.fb-heat caption{text-align:left;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--fb-soft);padding:0 0 8px}
.fb-heat th{font-size:10px;color:var(--fb-soft);font-weight:800;text-align:left;white-space:nowrap}
.fb-heat thead th{text-align:center}
.fb-heat td{text-align:center;font-size:12px;font-weight:900;padding:8px 0;border-radius:var(--r)}
.fb-heat td.short{background:#cdeee9;color:#06584e}.fb-heat td.moderate{background:#fde6b3;color:#7a5200}.fb-heat td.long{background:#f6c9c1;color:#8a2c1f}
.fb-heat tr.today th{color:var(--blue)}
.fb-heat tr.today td{outline:2px solid var(--navy);outline-offset:-2px}
.fb-legend{font-size:11px!important;color:var(--fb-soft)!important;margin:8px 0 0!important}
.fb-legend span{display:inline-block;padding:2px 6px;margin-right:4px;border-radius:var(--r);font-weight:800}
.fb-legend .short{background:#cdeee9}.fb-legend .moderate{background:#fde6b3}.fb-legend .long{background:#f6c9c1}

/* conditions / facts */
.fb-conditions,.fb-facts{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:0;border:1px solid var(--line);background:#fff}
.fb-conditions li,.fb-facts li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px}
.fb-conditions li:last-child,.fb-facts li:last-child{border-bottom:0}
.fb-conditions span,.fb-facts span{color:var(--fb-soft);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;align-self:center}
.fb-ok{color:var(--fb-short)}.fb-warn{color:var(--fb-long)}
td.fb-short,.fb-near-wait.fb-short{color:var(--fb-short)}td.fb-moderate,.fb-near-wait.fb-moderate{color:#a26f00}td.fb-long,.fb-near-wait.fb-long{color:var(--fb-long)}

/* tables */
.fb-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:14px}
.fb-table{width:100%;border-collapse:collapse;font-size:14px}
.fb-table caption{text-align:left;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--fb-soft);padding:12px 12px 4px}
.fb-table th,.fb-table td{padding:10px 12px;border-top:1px solid #dbe6ef;text-align:left;vertical-align:top}
.fb-table thead th{font-size:10px;color:var(--fb-soft);text-transform:uppercase;letter-spacing:.06em}
.fb-table td{font-variant-numeric:tabular-nums;font-weight:800}
.fb-hub-table a{color:var(--ink)!important}.fb-hub-table b{color:#0b4f9e;margin-right:6px}

/* calculator */
.fb-calc{background:var(--navy);color:#fff;border:1px solid #2a4d70;border-radius:var(--r);padding:18px}
.fb-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fb-calc label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#9fb8d0}
.fb-calc label.wide{grid-column:1/-1}
.fb-calc input,.fb-calc select{height:44px;border:1px solid #315474;background:#0a2649;color:#fff;padding:0 10px;border-radius:var(--r);font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;width:100%}
.fb-calc-out{display:block;margin-top:14px;padding:14px;background:#073f49;border:1px solid var(--cyan);border-radius:var(--r)}
.fb-calc-out strong{display:block;font-size:24px;font-weight:950;color:var(--cyan);letter-spacing:-.03em}
.fb-calc-out span{display:block;font-size:13px;color:#cfe3f1;margin-top:3px}
.fb-calc-out ul{margin:10px 0 0;padding-left:18px;font-size:12px;color:#bbcee0}
.fb-calc-note{font-size:11px!important;color:#93abc2!important;margin:10px 0 0!important}

/* map */
.fb-map{min-height:260px;background:#dceaf5;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden}
.fb-map iframe{width:100%;height:320px;border:0;display:block}
.fb-map-btn{background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:900;padding:12px 16px;border-radius:var(--r);cursor:pointer;box-shadow:var(--shadow)}
.fb-map small{color:var(--fb-soft);font-size:11px}

/* nearby */
.fb-near-list{display:grid;grid-template-columns:1fr;border:1px solid var(--line);background:#fff}
.fb-near{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line);color:var(--ink)!important}
.fb-near:hover{background:#f4f9fd}
.fb-near-code{font-weight:950;font-size:19px;color:#0b4f9e}
.fb-near-name{font-weight:800;font-size:13px}.fb-near-name small{display:block;color:var(--fb-soft);font-weight:500;font-size:11px}
.fb-near-wait{font-weight:950;white-space:nowrap}

/* faq */
.fb-faq{border-top:1px solid var(--line)}
.fb-faq details{border-bottom:1px solid var(--line);padding:0 2px}
.fb-faq summary{cursor:pointer;font-weight:850;padding:15px 0;font-size:16px}
.fb-faq p{margin:0 0 15px}

@media(min-width:760px){
  .fb-hero{padding:34px 0 40px}
  .fb-hero-grid{grid-template-columns:1.08fr .92fr;gap:34px}
  .fb-two{grid-template-columns:1fr 1fr;gap:36px;align-items:start}
  .fb-near-list{grid-template-columns:1fr 1fr}
  .fb-near:nth-child(odd){border-right:1px solid var(--line)}
}
@media(max-width:420px){.fb-strip dd{font-size:12.5px}.fb-strip div{padding:8px 7px}.fb-heat td{font-size:11px;padding:7px 0}.fb-heat th{font-size:9px}}
.fb-aka{font-size:13px;color:#8fb2d3;margin:-8px 0 14px}
.fb-delay{padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--fb-short);background:#fff;max-width:none!important}
.fb-delay-warn{border-left-color:var(--fb-long)}
.fb-delay-list{margin:8px 0 14px;padding-left:20px;font-size:15px;color:#38536f}
.fb-facts a{color:inherit!important;text-decoration:underline;text-decoration-color:var(--line)}
/* v2.2 national pages */
.fb-rank td:first-child{color:var(--fb-soft);width:36px}
.fb-rank th small{display:block;color:var(--fb-soft);font-weight:500;font-size:11px}
.fb-states{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.fb-state{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.fb-state h3{font-size:15px!important;margin:0 0 6px!important}
.fb-state ol{margin:0;padding-left:20px;font-size:14px}
.fb-state li span{color:var(--fb-soft);font-size:12px}
.fb-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:none!important}
.fb-chips a{border:1px solid var(--line);background:#fff;padding:5px 9px;font-weight:900;font-size:12px;border-radius:var(--r)}
@media(min-width:760px){.fb-states{grid-template-columns:repeat(3,1fr)}}
[data-kind="delays"] .fb-table td{font-weight:500;line-height:1.45}
.fb-rank td:last-child{white-space:nowrap}
.fb-mob{display:none}
@media(max-width:600px){.fb-rank .fb-col-pax{display:none}.fb-mob{display:inline}.fb-rank th,.fb-rank td{padding:9px 8px}}
