/* =========================================================
   E9.2 — FlyBuffer Data Story System
   Reference grammar: decision-first, metric strips, annotated charts,
   sharp airport-operations geometry. No decorative dashboard chrome.
   ========================================================= */
:root{
  --fb-bg:#f7fafc;
  --fb-surface:#ffffff;
  --fb-navy:#04162e;
  --fb-navy-mid:#082746;
  --fb-cyan:#2ed9cc;
  --fb-cyan-dark:#0b8e83;
  --fb-blue:#0e62e8;
  --fb-amber:#f2ac24;
  --fb-grid:#e5edf4;
  --fb-text:#09233e;
  --fb-muted:#657d93;
  --fb-line:#cbd9e5;
  --fb-shadow:0 10px 26px rgba(5,28,52,.07);
}
body.fb-visual-base,.page-detail{background:var(--fb-bg)}
.panel{box-shadow:var(--fb-shadow)}
.site-header{box-shadow:0 5px 20px rgba(0,0,0,.09)}
.hero,.page-hero{background:linear-gradient(118deg,#04162e 0%,#06203c 58%,#071b32 100%)}
.hero{padding:48px 0 38px}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);gap:56px;align-items:center}
.hero h1{max-width:650px;font-size:clamp(46px,5vw,70px)}
.hero .lead{max-width:650px;font-size:17px}
.fb-proof-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;max-width:710px}
.fb-proof-row>div{display:flex;gap:10px;align-items:flex-start;color:#dceaf6}
.fb-proof-row .ui-icon{width:19px;height:19px;color:var(--fb-cyan);margin-top:2px}
.fb-proof-row b{display:block;font-size:12px;color:#fff}
.fb-proof-row small{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:#9fb7cc}
.fb-hero-planner{background:rgba(7,34,62,.72);border-color:#315371;color:#fff;padding:25px 26px;backdrop-filter:blur(5px)}
.fb-hero-planner .wizard-title{color:#fff}.fb-hero-planner .tag{color:#9fb7cc;border-color:#55718b}
.fb-hero-planner .field label{color:#a9bfd2}.fb-hero-planner .control{background:#0a294b;color:#f5fbff;border-color:#486986}
.fb-hero-planner .control option{color:#071d36;background:#fff}
.fb-hero-planner .primary-cta{background:var(--fb-cyan);border-color:#25bfb4;color:#05263d}
.fb-hero-planner .micro{color:#86a2ba}
.fb-planner-promise{display:grid;gap:3px;margin-top:18px;padding-top:14px;border-top:1px solid #315371}
.fb-planner-promise span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#75a5cc;font-weight:900}
.fb-planner-promise strong{font-size:14px;color:var(--fb-cyan)}
.fb-planner-promise small{font-size:10px;color:#9eb4c8}

/* Universal section storytelling */
.section{padding:48px 0}.section-title{margin-bottom:22px}.section-title h2,.fb-story-intro h2,.fb-airport-profile h2,.fb-context-band h2{font-size:clamp(25px,2.5vw,34px);line-height:1.08;letter-spacing:-.035em}
.fb-story-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px}
.fb-story-intro>div:first-child{max-width:720px}.fb-story-intro h2{margin:5px 0 8px}.fb-story-intro p{margin:0;color:var(--fb-muted);max-width:680px}
.fb-story-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;font-weight:800;color:#60778d}
.fb-story-legend span{display:flex;align-items:center;gap:6px}.fb-story-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-low{background:#0e9d8b}.legend-mid{background:#aebdca}.legend-high{background:#f2ac24}

/* TSA annotated data story */
.fb-data-story{display:block}
.fb-story-chart-card{position:relative;background:#fff;border:1px solid var(--fb-line);padding:58px 20px 0;box-shadow:var(--fb-shadow);overflow:hidden}
.fb-chart-canvas{height:330px}.fb-story-chart-card canvas{width:100%!important;height:100%!important}
.fb-chart-fallback{height:300px;display:grid;grid-template-columns:repeat(12,minmax(40px,1fr));gap:8px;align-items:end;padding:34px 8px 0;border-bottom:1px solid #c9d7e2;background:repeating-linear-gradient(to top,transparent 0,transparent 73px,#e6edf3 74px,#e6edf3 75px)}
.fb-data-story.has-chart .fb-chart-fallback{display:none}.fb-data-story:not(.has-chart) .fb-chart-canvas{display:none}
.story-fallback-bar{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;text-align:center;position:relative}.story-fallback-bar>span{position:relative;display:block;width:58%;min-width:18px;margin:auto;height:calc(var(--hi) - var(--lo));bottom:var(--lo);background:#aebdca;border:1px solid #7e99b2}.story-fallback-bar.lower>span{background:#42b9ab;border-color:#0c8f7f}.story-fallback-bar.higher>span{background:#f5bd50;border-color:#d89008}.story-fallback-bar b{font-size:9px;color:#60778d}.story-fallback-bar small{font-size:9px;color:#233f5b;font-weight:850}
.fb-chart-annotation{position:absolute;z-index:4;top:15px;left:clamp(80px,var(--left),calc(100% - 140px));transform:translateX(-50%);font-size:10px;line-height:1.25;white-space:nowrap}
.fb-chart-annotation strong,.fb-chart-annotation span{display:block}.fb-chart-annotation strong{font-size:11px}.fb-chart-annotation.low{color:#0d9183}.fb-chart-annotation.high{color:#c47d04}.fb-chart-annotation:after{content:"";display:block;width:1px;height:28px;margin:5px auto 0;background:currentColor;opacity:.7;transform:rotate(-14deg);transform-origin:top}
.fb-chart-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e0e8ef;margin-top:14px;padding:11px 0;font-size:9px;color:#8598aa}
.fb-metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border:1px solid var(--fb-line);background:#fff;box-shadow:var(--fb-shadow)}
.fb-metric{padding:18px 20px;border-right:1px solid var(--fb-line);min-height:108px}.fb-metric:last-child{border-right:0}.fb-metric>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#6e8397}.fb-metric strong{display:block;margin:9px 0 5px;font-size:22px;line-height:1;color:#092b4b}.fb-metric small{font-size:10px;color:#778ca0}

/* Detail hero decision */
.fb-detail-hero{padding:42px 0}.fb-detail-hero .security-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(330px,.62fr);align-items:end;gap:42px}.fb-detail-hero h1{font-size:clamp(40px,4.3vw,60px);max-width:780px}.fb-detail-hero p{font-size:16px;line-height:1.6}
.fb-hero-decision{border:1px solid #325474;background:#072746;padding:23px;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.15)}.fb-hero-decision>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8eb0cb;font-weight:900}.fb-hero-decision>strong{display:block;font-size:43px;letter-spacing:-.04em;color:var(--fb-cyan);margin:6px 0}.fb-hero-decision>p{font-size:10px!important;color:#a8bfd2!important;margin:0 0 14px}.fb-decision-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #325474;border-bottom:1px solid #325474;margin:0 0 13px}.fb-decision-meta span{padding:9px 0;font-size:9px;color:#86a5bd}.fb-decision-meta b{display:block;font-size:11px;color:#fff}.fb-hero-decision a{font-size:11px;color:var(--fb-cyan);font-weight:900}
.fb-context-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.75fr);gap:18px;align-items:stretch}.fb-context-band>div:first-child{padding:26px;border-top:1px solid var(--fb-line);border-bottom:1px solid var(--fb-line);background:#fff}.fb-context-band h2{margin:6px 0 10px}.fb-context-band p{color:var(--fb-muted);max-width:700px}

/* Airport page: map + editorial profile */
.fb-airport-overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr);gap:14px}.fb-airport-profile{background:#fff;border:1px solid var(--fb-line);padding:26px;box-shadow:var(--fb-shadow)}.fb-airport-profile h2{margin:6px 0 8px}.fb-airport-profile>p{color:var(--fb-muted);font-size:12px}.fb-profile-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-top:1px solid var(--fb-line);border-left:1px solid var(--fb-line)}.fb-profile-item{min-height:138px;padding:18px;border-right:1px solid var(--fb-line);border-bottom:1px solid var(--fb-line)}.fb-profile-item>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6a8095;font-weight:900}.fb-profile-item strong{display:block;font-size:24px;line-height:1.05;margin:9px 0 5px;color:#0b8279;text-transform:capitalize}.fb-profile-item small{display:block;font-size:10px;color:#71879b}.fb-profile-item a{display:inline-block;margin-top:10px;font-size:10px;color:var(--fb-blue);font-weight:900}
.fb-compact-story{background:#f1f6fa;border-top:1px solid #d9e4ed;border-bottom:1px solid #d9e4ed}.fb-hourly-compact{gap:6px}.fb-hourly-compact .hour-cell{padding:12px 5px;background:#fff;border-color:#cbd9e4}

/* Planner as an explainable decision system */
.fb-tool-hero{padding:42px 0}.fb-tool-hero h1{font-size:clamp(42px,4.6vw,62px);max-width:820px}.fb-tool-planner{max-width:1180px;margin:auto;padding:28px 30px;border-color:#b9cad9;box-shadow:0 16px 38px rgba(5,32,57,.1)}
.fb-tool-planner .wizard-head{padding-bottom:15px;border-bottom:1px solid #d9e4ed}.fb-tool-planner .primary-cta{max-width:360px;margin-left:auto;margin-right:0}
.fb-plan-story{border-color:#a8c3d7;padding:26px 28px;box-shadow:0 16px 38px rgba(5,32,57,.11)}.fb-plan-story .e7-plan-grid{gap:0;border:1px solid var(--fb-line)}.fb-plan-story .e7-plan{border:0;border-right:1px solid var(--fb-line);min-height:132px}.fb-plan-story .e7-plan:last-child{border-right:0}.fb-plan-story .e7-plan.recommended{background:#eafffc;box-shadow:inset 0 3px 0 var(--fb-cyan-dark)}.fb-plan-story .e7-plan.cautious{box-shadow:inset 0 3px 0 var(--fb-amber)}
.fb-plan-story .e7-detail-grid{grid-template-columns:1fr;margin-top:18px}.fb-plan-story .e7-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;border:1px solid var(--fb-line);overflow:hidden}.fb-plan-story .e7-timeline h3{grid-column:1/-1;margin:0;padding:12px 15px;background:#f6f9fb;border-bottom:1px solid var(--fb-line);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.fb-plan-story .e7-timeline-row{display:flex;flex-direction:column;justify-content:center;min-height:90px;padding:12px;border:0;border-right:1px solid var(--fb-line)}.fb-plan-story .e7-timeline-row:last-child{border-right:0}.fb-plan-story .e7-timeline-row span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#71889c}.fb-plan-story .e7-timeline-row strong{font-size:15px;text-align:left;color:#0b3558;margin-top:5px}
.fb-plan-story .e7-breakdown{border-color:var(--fb-line);background:#fbfdff}.fb-plan-story .e7-break-row{padding:10px 0}

/* Existing components harmonized */
.core-steps{border-color:#cbd9e5!important;box-shadow:var(--fb-shadow)}.core-step{background:#fff}.article-panel,.support-card,.related-airport-list .related-airport-link{box-shadow:none}.related-airport-list .related-airport-link{border-color:#cad8e4}.airport-list{background:#fff}.airport-link{transition:background .15s,border-color .15s}.airport-link:hover{background:#f5f9fc}.precheck-callout{box-shadow:none;border-color:#b8ccdc}.secondary-cta{border-radius:2px}

@media(max-width:1000px){
 .hero-grid,.fb-detail-hero .security-hero-grid,.fb-airport-overview-grid,.fb-context-band{grid-template-columns:1fr}
 .hero-grid{gap:30px}.fb-proof-row{max-width:none}.fb-metric-strip{grid-template-columns:1fr 1fr}.fb-metric:nth-child(2){border-right:0}.fb-metric:nth-child(-n+2){border-bottom:1px solid var(--fb-line)}
 .fb-plan-story .e7-timeline{grid-template-columns:repeat(3,1fr)}.fb-plan-story .e7-timeline-row:nth-of-type(3){border-right:0}.fb-plan-story .e7-timeline-row:nth-of-type(-n+3){border-bottom:1px solid var(--fb-line)}
}
@media(max-width:700px){
 .fb-proof-row{grid-template-columns:1fr;gap:13px}.fb-hero-planner{padding:20px}.fb-story-intro{display:block}.fb-story-legend{margin-top:15px}.fb-story-chart-card{padding:68px 10px 0}.fb-chart-canvas{height:260px}.fb-chart-fallback{overflow-x:auto;grid-template-columns:repeat(12,44px)}.fb-chart-annotation{font-size:9px}.fb-chart-annotation strong{font-size:9px}.fb-chart-foot{display:block}.fb-chart-foot span{display:block;margin:4px 0}.fb-metric-strip{grid-template-columns:1fr}.fb-metric{border-right:0;border-bottom:1px solid var(--fb-line);min-height:auto}.fb-metric:last-child{border-bottom:0}.fb-profile-grid{grid-template-columns:1fr}.fb-profile-item{min-height:auto}.fb-tool-planner{padding:20px 16px}.fb-tool-planner .primary-cta{max-width:none}.fb-plan-story{padding:18px 14px}.fb-plan-story .e7-plan-grid{grid-template-columns:1fr}.fb-plan-story .e7-plan{border-right:0;border-bottom:1px solid var(--fb-line)}.fb-plan-story .e7-timeline{grid-template-columns:1fr 1fr}.fb-plan-story .e7-timeline-row{border-bottom:1px solid var(--fb-line)}.fb-plan-story .e7-timeline-row:nth-of-type(odd){border-right:1px solid var(--fb-line)}.fb-plan-story .e7-timeline-row:nth-of-type(even){border-right:0}.fb-plan-story .e7-timeline-row:last-child{border-bottom:0}
}


/* =========================================================
   E9.3 — Visual Fidelity Polish
   ========================================================= */
:root{--fb-e93-ink:#071d36;--fb-e93-muted:#607890;--fb-e93-border:#c8d7e4;--fb-e93-paper:#fff;--fb-e93-low:#109d8c;--fb-e93-mid:#aab9c7;--fb-e93-high:#f3a619}
.section{padding:42px 0}.fb-detail-hero{padding:38px 0 42px}.fb-security-story-hero{padding-top:34px;padding-bottom:40px}.fb-security-story-hero .security-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.62fr);align-items:center;gap:56px}.fb-security-story-hero h1{max-width:760px;font-size:clamp(40px,4.1vw,60px);line-height:1.02}.fb-security-story-hero p{max-width:720px}
.fb-hero-action{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:22px 24px;border:1px solid #385b7b;background:rgba(8,38,68,.62);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.14)}.fb-hero-action-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--fb-cyan)}.fb-hero-action-icon .ui-icon{width:25px;height:25px}.fb-hero-action>div>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8fb1ca;font-weight:900}.fb-hero-action h2{font-size:18px;line-height:1.15;margin:5px 0 9px;color:#fff}.fb-hero-action p{font-size:11px!important;line-height:1.55!important;color:#abc1d4!important;margin:0 0 12px}.fb-hero-action a{font-size:11px;font-weight:900;color:var(--fb-cyan)}
.fb-security-story-section{padding-top:40px;padding-bottom:28px}.fb-security-story-layout{display:grid;grid-template-columns:minmax(240px,.29fr) minmax(0,.71fr);gap:30px;align-items:start}.fb-security-story-copy{padding:10px 0 0}.fb-security-story-copy h2{margin:7px 0 13px;max-width:300px;font-size:clamp(31px,3vw,45px);line-height:1.01;letter-spacing:-.045em;color:var(--fb-e93-ink)}.fb-security-story-copy>p{max-width:300px;margin:0 0 22px;color:var(--fb-e93-muted);font-size:13px;line-height:1.65}.fb-story-legend-vertical{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 22px}.fb-story-legend-vertical span{font-size:10px;color:#304b64}.fb-story-note{display:grid;grid-template-columns:26px 1fr;gap:10px;max-width:300px;padding:15px 16px;border:1px solid #d4e0e9;background:#fbfdff}.fb-story-note-icon{width:22px;height:22px;border:1px solid #7ea0bc;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#0e62e8}.fb-story-note strong{display:block;font-size:11px;color:#183750}.fb-story-note p{margin:5px 0 0;font-size:10px;line-height:1.55;color:#667f95}
.fb-security-story-main .fb-data-story>.fb-story-intro{display:none}.fb-security-story-main .fb-story-chart-card{padding:62px 16px 0;box-shadow:none;border-color:var(--fb-e93-border)}.fb-security-story-main .fb-chart-canvas{height:292px}.fb-security-story-main .fb-chart-fallback{height:282px}.fb-security-story-main .fb-chart-annotation{top:15px;font-size:9px;font-weight:700}.fb-security-story-main .fb-chart-annotation strong{font-size:10px;text-transform:none;letter-spacing:0}.fb-security-story-main .fb-chart-annotation:after{height:34px;margin-top:5px;transform:rotate(-20deg)}.fb-security-story-main .fb-chart-annotation.low:after{transform:rotate(17deg)}.fb-security-story-main .fb-chart-foot{padding:10px 2px 11px}.fb-security-story-main .fb-metric-strip{margin-top:12px;box-shadow:none;border-color:var(--fb-e93-border)}.fb-security-story-main .fb-metric{min-height:96px;padding:15px 18px}.fb-security-story-main .fb-metric>span{font-size:8px}.fb-security-story-main .fb-metric strong{font-size:20px;margin:8px 0 5px}.fb-security-story-main .fb-metric small{font-size:9px}
.fb-security-support-section{padding-top:18px;padding-bottom:18px}.fb-support-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:14px}.fb-method-card,.fb-related-card{background:#fff;border:1px solid var(--fb-e93-border)}.fb-method-card{padding:24px 26px}.fb-method-card h2{margin:5px 0 8px;font-size:22px;letter-spacing:-.025em}.fb-method-card>p{margin:0;color:var(--fb-e93-muted);font-size:11px;line-height:1.55}.fb-method-card>a{display:inline-block;margin-top:17px;color:var(--fb-cyan-dark);font-size:11px;font-weight:900}.fb-method-points{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid #e1e8ee}.fb-method-points>div{padding:16px 14px 6px;border-right:1px solid #e1e8ee}.fb-method-points>div:last-child{border-right:0}.fb-method-points span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#0c9889;margin-bottom:8px}.fb-method-points span .ui-icon{width:20px;height:20px}.fb-method-points b{display:block;font-size:10px;color:#163550}.fb-method-points small{display:block;margin-top:5px;font-size:9px;line-height:1.45;color:#71879a}
.fb-related-card{padding:20px 20px 8px}.fb-related-card>.eyebrow{margin-bottom:11px}.fb-related-card>a{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border-top:1px solid #e0e7ed;color:#173750}.fb-related-card>a:last-child{border-bottom:1px solid #e0e7ed}.fb-related-card a span{display:block}.fb-related-card a b{display:block;font-size:10px}.fb-related-card a small{display:block;margin-top:2px;font-size:8px;color:#71879b}.fb-related-card a>strong{font-size:15px;color:#698096}
.fb-security-airport-intelligence{padding-top:18px;padding-bottom:26px}.fb-intelligence-shell{background:#fff;border:1px solid var(--fb-e93-border);padding:18px}.fb-intelligence-shell>.eyebrow{margin:0 0 12px 2px}.fb-intelligence-grid{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(230px,.72fr) minmax(330px,1fr);gap:18px;align-items:stretch}.fb-intelligence-map{min-height:210px}.fb-intelligence-map .leaflet-map{height:210px}.fb-intelligence-copy{display:flex;flex-direction:column;justify-content:center;padding:6px 4px}.fb-intelligence-copy h2{margin:0 0 8px;font-size:23px;letter-spacing:-.03em}.fb-intelligence-copy p{margin:0 0 12px;font-size:10px;line-height:1.55;color:#627b91}.fb-intelligence-copy a{font-size:10px;font-weight:900;color:var(--fb-blue)}.fb-intelligence-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce5ec;border-left:1px solid #dce5ec}.fb-intelligence-metrics>div{min-height:94px;padding:14px;border-right:1px solid #dce5ec;border-bottom:1px solid #dce5ec}.fb-intelligence-metrics span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#71869a;font-weight:900}.fb-intelligence-metrics strong{display:block;margin-top:7px;font-size:15px;line-height:1.2;color:#14344f;text-transform:capitalize}
.fb-airport-hero{padding:37px 0}.fb-airport-hero h1{max-width:900px}.fb-airport-overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:16px}.fb-map-story{min-height:455px}.fb-map-story .leaflet-map{height:455px}.fb-airport-profile{padding:23px 24px}.fb-airport-profile h2{font-size:28px;max-width:430px}.fb-airport-profile>p{max-width:430px}.fb-profile-grid{margin-top:18px}.fb-profile-item{min-height:117px;padding:15px}.fb-profile-item strong{font-size:20px}.fb-profile-primary{background:#f5fffd}.fb-profile-primary strong{font-size:28px;color:#078c80}.fb-profile-cta{display:block;margin-top:15px;padding-top:12px;border-top:1px solid #dce5ec;font-size:10px;font-weight:900;color:var(--fb-cyan-dark)}
.fb-plan-story .e7-plan-grid{background:#fff}.fb-plan-story .e7-plan{position:relative;padding-top:23px}.fb-plan-story .e7-plan .leave-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#607991}.fb-plan-story .e7-plan-time{font-size:33px;letter-spacing:-.045em}.fb-plan-story .e7-plan.recommended{background:#effffc;box-shadow:inset 0 4px 0 #12a99a}.fb-plan-story .e7-plan.recommended:before{content:"RECOMMENDED";position:absolute;top:8px;right:10px;font-size:7px;letter-spacing:.08em;font-weight:950;color:#087f74}.fb-plan-story .e7-timeline{position:relative}.fb-plan-story .e7-timeline-row{min-height:84px}.fb-plan-story .e7-timeline-row span{font-size:8px;text-transform:uppercase;letter-spacing:.06em}.fb-plan-story .e7-timeline-row strong{font-size:15px}.fb-plan-story .e7-timeline:after{content:"";position:absolute;left:8%;right:8%;bottom:12px;height:2px;background:linear-gradient(90deg,#8ba1b4,#2ed9cc 65%,#8ba1b4);opacity:.45;pointer-events:none}
.page-home .hero{padding:46px 0 42px}.page-home .hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(470px,.97fr);gap:60px}.page-home .hero h1{font-size:clamp(48px,5.1vw,72px);line-height:.98}.page-home .fb-hero-planner{padding:24px 26px}.page-home .fb-proof-row{margin-top:30px}.page-home .core-steps{border:1px solid #d3e0e9;background:#fff;display:grid;grid-template-columns:repeat(6,1fr);gap:0}.page-home .core-step{border:0;border-right:1px solid #dce6ed;min-height:175px}.page-home .core-step:last-child{border-right:0}.page-home .core-step span{background:#eef6fb;color:#0e62e8}
.fb-method-card,.fb-related-card,.fb-intelligence-shell,.fb-story-note,.fb-hero-action,.fb-airport-profile,.fb-story-chart-card,.fb-metric-strip{border-radius:2px}.fb-security-story-main .fb-story-chart-card,.fb-security-story-main .fb-metric-strip,.fb-method-card,.fb-related-card,.fb-intelligence-shell{box-shadow:0 8px 24px rgba(5,28,52,.045)}
@media(max-width:1100px){.fb-security-story-layout{grid-template-columns:1fr}.fb-security-story-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:18px;align-items:start}.fb-security-story-copy h2,.fb-security-story-copy>p{max-width:760px}.fb-story-legend-vertical{grid-template-columns:repeat(3,max-content)}.fb-story-note{grid-column:2;grid-row:1/4}.fb-support-grid{grid-template-columns:1fr}.fb-intelligence-grid{grid-template-columns:1fr 1fr}.fb-intelligence-metrics{grid-column:1/-1}.fb-airport-overview-grid{grid-template-columns:1fr}.fb-map-story,.fb-map-story .leaflet-map{height:390px;min-height:390px}.page-home .core-steps{grid-template-columns:repeat(3,1fr)}.page-home .core-step:nth-child(3){border-right:0}.page-home .core-step:nth-child(-n+3){border-bottom:1px solid #dce6ed}}
@media(max-width:760px){.fb-security-story-hero .security-hero-grid{grid-template-columns:1fr;gap:24px}.fb-security-story-copy{display:block}.fb-story-note{margin-top:17px}.fb-story-legend-vertical{grid-template-columns:1fr}.fb-security-story-main .fb-chart-canvas{height:245px}.fb-security-story-main .fb-chart-fallback{height:240px}.fb-security-story-main .fb-metric-strip{grid-template-columns:1fr 1fr}.fb-security-story-main .fb-metric:nth-child(2){border-right:0}.fb-security-story-main .fb-metric:nth-child(-n+2){border-bottom:1px solid var(--fb-e93-border)}.fb-method-points{grid-template-columns:1fr 1fr}.fb-method-points>div:nth-child(2){border-right:0}.fb-method-points>div:nth-child(-n+2){border-bottom:1px solid #e1e8ee}.fb-intelligence-grid{grid-template-columns:1fr}.fb-intelligence-metrics{grid-column:auto}.fb-intelligence-map,.fb-intelligence-map .leaflet-map{height:250px;min-height:250px}.page-home .core-steps{grid-template-columns:1fr 1fr}.page-home .core-step:nth-child(odd){border-right:1px solid #dce6ed}.page-home .core-step:nth-child(even){border-right:0}.page-home .core-step{border-bottom:1px solid #dce6ed}.page-home .core-step:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.fb-security-story-main .fb-metric-strip{grid-template-columns:1fr}.fb-security-story-main .fb-metric{border-right:0;border-bottom:1px solid var(--fb-e93-border)}.fb-security-story-main .fb-metric:last-child{border-bottom:0}.fb-method-points{grid-template-columns:1fr}.fb-method-points>div{border-right:0;border-bottom:1px solid #e1e8ee}.fb-method-points>div:last-child{border-bottom:0}.fb-intelligence-metrics{grid-template-columns:1fr}.page-home .core-steps{grid-template-columns:1fr}.page-home .core-step{border-right:0!important;border-bottom:1px solid #dce6ed!important}.page-home .core-step:last-child{border-bottom:0!important}}


/* E10 SEO demand — query-led editorial modules */
.fb-demand-story{margin:0 0 30px;padding:23px 24px;border:1px solid #cbd9e4;background:#fbfdff;border-radius:2px}
.fb-demand-story h2{margin:5px 0 10px;font-size:clamp(24px,2.3vw,34px);line-height:1.08;letter-spacing:-.035em;color:#0a2945}
.fb-demand-story>p{max-width:790px;margin:0;color:#587188;font-size:12px;line-height:1.68}
.fb-demand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:19px;border-top:1px solid #dbe5ec;border-left:1px solid #dbe5ec}
.fb-demand-grid>div{min-height:132px;padding:16px;border-right:1px solid #dbe5ec;border-bottom:1px solid #dbe5ec;background:#fff}
.fb-demand-grid h3{margin:0 0 7px;font-size:14px;line-height:1.25;color:#123956}
.fb-demand-grid p{margin:0;font-size:10px;line-height:1.58;color:#667f93}
.fb-demand-grid a{display:inline-block;margin-top:9px;font-size:9px;font-weight:900;color:#0a7f77}
.fb-core-demand{margin-bottom:26px}
@media(max-width:760px){.fb-demand-grid{grid-template-columns:1fr}.fb-demand-grid>div{min-height:0}}

/* =========================================================
   E10.1 — Airport directory controls
   ========================================================= */
.fb-directory-tools{margin:14px 0 18px;padding:14px;border:1px solid #cbd9e4;background:#f7fbfe;border-radius:2px}
.fb-directory-search{max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important}
.fb-directory-search input{width:100%;min-width:0;height:46px;padding:0 14px;border:1px solid #aabfd2;border-radius:2px;background:#fff;color:#0a2945;font-size:12px;outline:none}
.fb-directory-search input::placeholder{color:#7a90a4}
.fb-directory-search input:focus{border-color:#0e62e8;box-shadow:0 0 0 2px rgba(14,98,232,.12)}
.fb-directory-search button{height:46px!important;min-width:118px;padding:0 18px!important;border:1px solid #0e62e8!important;border-radius:2px;background:#0e62e8!important;color:#fff!important;font-size:10px;font-weight:900;letter-spacing:.02em;cursor:pointer}
.fb-directory-search button:hover{background:#0a54ca!important}
.fb-directory-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}
.fb-directory-filters{display:flex;flex-wrap:wrap;gap:6px;width:auto;max-width:100%;margin:0;border:0;background:transparent}
.fb-directory-filters button{min-height:34px;padding:0 11px;border:1px solid #b8cad9!important;border-radius:2px;background:#fff!important;color:#48637b!important;font-size:10px;font-weight:850;line-height:1;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}
.fb-directory-filters button:hover{border-color:#7d9bb5!important;background:#edf5fb!important;color:#123956!important}
.fb-directory-filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;margin-left:5px;padding:0 5px;border:1px solid #d2dee8;background:#f4f8fb;color:#617c91;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-directory-filters button.is-active,.fb-directory-filters button[aria-pressed="true"]{border-color:#082c51!important;background:#082c51!important;color:#fff!important}
.fb-directory-filters button.is-active span,.fb-directory-filters button[aria-pressed="true"] span{border-color:#315677;background:#0e3a64;color:#bfe9e5}
.fb-directory-count{flex:0 0 auto;color:#6a8297;font-size:10px;white-space:nowrap}
.fb-directory-count strong{color:#0a2945;font:900 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-directory-empty{margin:14px 0 0!important;padding:14px;border:1px dashed #b8cad9;background:#fff;color:#567188!important;font-size:11px!important}
[data-airport-card][hidden]{display:none!important}
.page-hub .hub-airport-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-hub .hub-airport-list .airport-link{transition:border-color .14s ease,background .14s ease,transform .14s ease}
.page-hub .hub-airport-list .airport-link:hover{transform:translateY(-1px)}
@media(max-width:1000px){.page-hub .hub-airport-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.fb-directory-filterbar{display:block}.fb-directory-count{margin-top:9px}}
@media(max-width:650px){.fb-directory-tools{padding:11px}.fb-directory-search{grid-template-columns:1fr}.fb-directory-search button{width:100%}.fb-directory-filters{display:grid;grid-template-columns:1fr 1fr}.fb-directory-filters button{width:100%}.page-hub .hub-airport-list{grid-template-columns:1fr}}

/* E11 — maximum-coverage directory refinements */
.fb-directory-region{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:#6a8297;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.fb-directory-region select{height:34px;min-width:150px;padding:0 28px 0 9px;border:1px solid #b8cad9;border-radius:2px;background:#fff;color:#123956;font-size:10px;font-weight:800;outline:none}
.fb-directory-region select:focus{border-color:#0e62e8;box-shadow:0 0 0 2px rgba(14,98,232,.12)}
@media(max-width:900px){.fb-directory-filterbar{align-items:flex-start;flex-wrap:wrap}.fb-directory-region{order:2}.fb-directory-count{order:3;width:100%}}
@media(max-width:650px){.fb-directory-region{display:block;width:100%}.fb-directory-region span{display:block;margin-bottom:5px}.fb-directory-region select{width:100%}}


/* E11.2 — scalable maximum-coverage directory */
.fb-directory-more-wrap{display:flex;justify-content:center;margin:18px 0 4px}
.fb-directory-more{min-height:40px;padding:0 18px;border:1px solid #9db5c9;border-radius:2px;background:#fff;color:#123956;font-size:10px;font-weight:900;letter-spacing:.02em;cursor:pointer}
.fb-directory-more:hover{border-color:#0e62e8;background:#edf5fb;color:#0a54ca}
.fb-directory-more[hidden]{display:none!important}
@media(max-width:650px){.fb-directory-more{width:100%}}
