:root{--navy-900:#071A33;--navy-800:#0B2545;--navy-700:#13315C;--indigo-800:#1E3A8A;--sky-600:#1976D2;--sky-500:#2196F3;--sky-400:#64B5F6;--sky-300:#90CAF9;--sky-100:#E3F2FD;--teal-300:#5EEAD4;--teal-500:#14B8A6;--cyan-400:#22D3EE;--bg:#F4F8FC;--surface:#FFF;--text:#14202E;--muted:#5A6B7D;--border:#E1E8F0;--success:#16A34A;--danger:#DC2626;--warning:#F59E0B;--r:16px;--rb:12px;--mw:1280px}
@media(min-width:1600px){:root{--mw:1360px}}
@media(prefers-color-scheme:dark){:root{--bg:#0A1424;--surface:#102038;--text:#E8EEF6;--muted:#9FB0C3;--border:#1D3354}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
@media(min-width:1024px){body{font-size:18px}}
a{color:var(--sky-600);text-decoration:none}
a:hover{color:var(--sky-500)}
img{max-width:100%;height:auto;display:block}
.skip-link{position:absolute;top:-99px;left:16px;background:var(--teal-500);color:#071A33;padding:10px 16px;font-weight:700;border-radius:8px;z-index:9999}
.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(90deg,#071A33,#13315C);height:72px;box-shadow:0 4px 20px rgba(7,26,51,.25)}
.header-wrap{width:100%;max-width:1340px;margin-inline:auto;padding-inline:clamp(16px,2.5vw,36px);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;height:100%}
.brand{display:flex;align-items:center;gap:10px;color:#FFF;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;flex-shrink:0}
.brand svg{width:28px;height:28px}
.brand span{color:var(--sky-400)}
.site-nav{display:flex;align-items:center;gap:clamp(6px,1.15vw,16px);flex-wrap:nowrap}
.site-nav a{color:#FFF;font-weight:600;font-size:clamp(.80rem,.92vw,.90rem);padding:6px 0;position:relative;white-space:nowrap}
.site-nav a:hover{color:var(--teal-300)}
.site-nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--teal-300);transition:width .2s}
.site-nav a:hover::after{width:100%}
.site-nav a[aria-current="page"]{color:var(--sky-400)}
.site-nav a[aria-current="page"]::after{width:100%;background:var(--sky-400)}
.nav-toggle{display:none;background:none;border:none;color:#FFF;cursor:pointer;padding:8px;min-width:44px;min-height:44px}
.nav-toggle svg{width:28px;height:28px}
@media(max-width:1024px){
.site-nav{position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--navy-900);padding:24px;flex-direction:column;gap:12px;display:none;box-shadow:0 20px 40px rgba(0,0,0,.5);overflow-y:auto}
.site-nav.open{display:flex}
.site-nav a{font-size:1.05rem;padding:12px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-toggle{display:flex;align-items:center;justify-content:center}
}

/* SEARCH COMPONENT (SPEC: TASK 1) */
.search{position:relative;width:100%;max-width:640px}
.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;pointer-events:none;color:#9FB0C3;stroke:currentColor;fill:none;z-index:2}
.search input{width:100%!important;height:56px!important;padding:0 16px 0 52px!important;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(7,26,51,.55);color:#E8EEF6!important;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s;backdrop-filter:blur(8px)}
.search input::placeholder{color:#9FB0C3}
.search input:focus{outline:none;border-color:#5EEAD4!important;box-shadow:0 0 0 3px rgba(94,234,212,.25)!important;background:rgba(7,26,51,.85)}
.search-results{position:absolute;top:62px;left:0;right:0;width:100%;background:var(--surface);color:var(--text);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.35);border:1px solid var(--border);max-height:340px;overflow-y:auto;z-index:500;display:none}
.search-results a{display:block;padding:12px 18px;border-bottom:1px solid var(--border);color:var(--text)}
.search-results a:hover{background:var(--sky-100);color:var(--sky-600)}
.search-results small{color:var(--muted);display:block;font-size:.8rem}

/* HERO SECTION */
.hero{background:radial-gradient(120% 60% at 50% 118%,rgba(20,184,166,.6),rgba(20,184,166,0) 60%),linear-gradient(160deg,#071A33 0%,#1E3A8A 50%,#2196F3 100%);color:#FFF;padding:clamp(44px,7vw,90px) clamp(24px,5vw,64px);min-height:78vh;display:flex;align-items:center}
.hero-wrap{max-width:var(--mw);margin:0 auto;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;width:100%}
@media(min-width:960px){.hero-wrap{grid-template-columns:1.2fr .8fr}}
.hero-pill{display:inline-block;padding:5px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(94,234,212,.4);color:var(--teal-300);font-size:.85rem;font-weight:700;border-radius:999px;margin-bottom:16px}
.hero h1{font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.15;font-weight:800;letter-spacing:-.03em;margin-bottom:14px}
.hero-sub{font-size:clamp(1rem,1.8vw,1.25rem);color:var(--sky-100);margin-bottom:24px;max-width:560px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:var(--rb);font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:transform .2s,filter .2s}
@media(min-width:1024px){.hero-actions .btn{min-height:56px;padding:0 34px}}
.btn-primary{background:linear-gradient(90deg,#5EEAD4,#22D3EE);color:#071A33}
.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);color:#071A33}
.btn-secondary{background:transparent;color:#FFF;border:1.5px solid #FFF}
.btn-secondary:hover{background:rgba(255,255,255,.1);color:#FFF}
.btn-secondary-light{background:transparent;color:var(--sky-600);border:1.5px solid var(--sky-500)}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(255,255,255,.08);border-radius:999px;font-size:.85rem;color:var(--sky-300)}
.hero-plane-svg{width:100%;max-width:420px;margin:0 auto;display:none}
@media(min-width:960px){.hero-plane-svg{display:block}}
.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(24px,5vw,64px);box-sizing:border-box}
.sec{padding:clamp(44px,5.5vw,80px) 0}
.sec-head{margin-bottom:32px}
.sec-head h2{font-size:clamp(1.4rem,2.8vw,2.25rem);font-weight:800;letter-spacing:-.02em;padding-left:14px;border-left:4px solid transparent;border-image:linear-gradient(#2196F3,#14B8A6) 1}
.sec-head p{color:var(--muted);margin-top:4px;padding-left:14px}
.badge{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}
@media(min-width:1024px){.cat-card .badge{width:64px;height:64px}}
.badge svg{width:28px;height:28px}

/* BADGE ICON GRADIENTS */
.badge-calc{background:linear-gradient(135deg,#E3F2FD,#90CAF9);color:#1976D2}
.badge-glossary{background:linear-gradient(135deg,#CCFBF1,#5EEAD4);color:#0F766E}
.badge-article{background:linear-gradient(135deg,#E0E7FF,#A5B4FC);color:#1E3A8A}
.badge-airports{background:linear-gradient(135deg,#D1FAE5,#34D399);color:#065F46}
.badge-travel{background:linear-gradient(135deg,#CFFAFE,#22D3EE);color:#0E7490}
.badge-aircraft{background:linear-gradient(135deg,#F1F5F9,#94A3B8);color:#334155}
.badge-airlines{background:linear-gradient(135deg,#EDE9FE,#A78BFA);color:#4C1D95}
.badge-codes{background:linear-gradient(135deg,#FCE7F3,#F472B6);color:#831843}
.badge-careers{background:linear-gradient(135deg,#E0F2FE,#38BDF8);color:#075985}
@media(prefers-color-scheme:dark){.badge{background:linear-gradient(135deg,#13315C,#1976D2)!important;color:#FFF!important}}

.grid-3{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-4{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:clamp(20px,2.8vw,32px);box-shadow:0 6px 24px rgba(11,37,69,.06);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(11,37,69,.12);border-color:var(--sky-400)}
.card h3{font-size:1.2rem;font-weight:700;margin-bottom:6px}
.card p{color:var(--muted);font-size:.95rem;margin-bottom:14px;flex-grow:1}
.card-link{font-weight:700;color:var(--sky-600);display:inline-flex;align-items:center;gap:6px}
.article-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 6px 24px rgba(11,37,69,.06);transition:transform .2s;display:flex;flex-direction:column}
.article-card:hover{transform:translateY(-4px);border-color:var(--sky-400)}
.article-img-wrap{aspect-ratio:16/9;background:var(--navy-900);overflow:hidden}
.article-img-wrap img{width:100%;height:100%;object-fit:cover}
.article-body{padding:22px;display:flex;flex-direction:column;flex-grow:1}
.tag-pill{display:inline-block;padding:4px 10px;background:var(--sky-100);color:var(--sky-600);border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;margin-bottom:8px;align-self:flex-start}
@media(prefers-color-scheme:dark){.tag-pill{background:rgba(25,118,210,.3);color:var(--sky-300)}}
.article-body h3{font-size:1.15rem;font-weight:700;line-height:1.35;margin-bottom:8px}
.article-body h3 a{color:var(--text)}
.article-body p{color:var(--muted);font-size:.9rem;line-height:1.55;margin-bottom:12px;flex-grow:1}
.meta-line{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:12px}
.glossary-strip, .glossary-chips-cloud{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.glossary-chip{display:inline-flex;align-items:center;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-weight:600;font-size:.9rem;white-space:nowrap;color:var(--text)}
.glossary-chip:hover{border-color:var(--teal-500);color:var(--teal-500)}
.about-block{background:var(--sky-100);border-radius:var(--r);padding:clamp(26px,4.5vw,52px);border:1px solid var(--sky-300)}
@media(prefers-color-scheme:dark){.about-block{background:rgba(19,49,92,.4);border-color:var(--navy-700)}}
.about-block h2{font-size:clamp(1.35rem,2.4vw,2rem);font-weight:800;margin-bottom:10px}
.about-block p{max-width:840px;margin-bottom:14px}
.ad-slot{min-height:250px;background:repeating-linear-gradient(45deg,rgba(0,0,0,.02),rgba(0,0,0,.02) 10px,transparent 10px,transparent 20px);border:1px dashed var(--border);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:32px 0}
.ad-slot::before{content:"Advertisement";font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}
.breadcrumbs a{color:var(--muted)}
.page-header{margin-bottom:32px}
.page-header h1{font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:800;margin-bottom:8px;line-height:1.2}
.page-intro{font-size:1.05rem;color:var(--muted);max-width:800px}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:clamp(22px,3.8vw,42px);max-width:880px;margin:0 auto 32px;box-shadow:0 8px 32px rgba(11,37,69,.08)}
.form-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:20px}
@media(min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr)}}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.full{grid-column:1/-1}
label{font-weight:700;font-size:.9rem}
input[type="number"],.tool-card input[type="text"],select{height:56px;padding:0 16px;border-radius:var(--rb);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem;font-family:inherit;outline:none}
input:focus,select:focus{border-color:var(--sky-400);box-shadow:0 0 0 3px var(--sky-300)}
.form-actions{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.result-panel{background:var(--sky-100);border:1px solid var(--sky-300);border-radius:var(--rb);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(prefers-color-scheme:dark){.result-panel{background:rgba(25,118,210,.25);border-color:var(--navy-700)}}
.result-val{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;color:var(--navy-900);line-height:1}
@media(prefers-color-scheme:dark){.result-val{color:#FFF}}
.result-label{font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
.result-details{font-size:.9rem;color:var(--muted);margin-top:4px}
.btn-copy{min-height:44px;padding:0 16px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.notice-box{padding:12px 16px;border-radius:8px;background:rgba(245,158,11,.1);border-left:4px solid var(--warning);font-size:.85rem;margin-top:18px}
.prose{max-width:760px;line-height:1.75}
.prose h2{font-size:1.55rem;font-weight:800;margin:32px 0 14px}
.prose h3{font-size:1.2rem;font-weight:700;margin:22px 0 10px}
.prose p{margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 18px 22px}
.formula-box{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px;margin:18px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;color:var(--navy-800)}
@media(prefers-color-scheme:dark){.formula-box{color:var(--teal-300)}}
.example-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;margin:14px 0}
.example-card h4{font-weight:700;margin-bottom:6px;color:var(--sky-600)}
details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px}
summary{font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
summary::after{content:"+";font-size:1.2rem;font-weight:800;color:var(--sky-600)}
details[open] summary::after{content:"−"}
details p{margin-top:10px;color:var(--muted);font-size:.95rem}
.callout{padding:18px;border-radius:12px;margin:22px 0;border-left:4px solid}
.callout-tip{background:rgba(20,184,166,.1);border-color:var(--teal-500)}
.callout-warning{background:rgba(245,158,11,.1);border-color:var(--warning)}
.table-scroll{overflow-x:auto;margin:22px 0}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left}
th{background:var(--bg);font-weight:700}
.key-takeaways{background:var(--sky-100);border:1px solid var(--sky-300);border-radius:var(--r);padding:22px;margin:28px 0}
@media(prefers-color-scheme:dark){.key-takeaways{background:rgba(19,49,92,.3);border-color:var(--navy-700)}}
.key-takeaways h3{margin-bottom:10px;color:var(--navy-900)}
@media(prefers-color-scheme:dark){.key-takeaways h3{color:#FFF}}
.article-layout{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:1100px){.article-layout{grid-template-columns:760px 1fr;align-items:start}}
.toc-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:18px;position:sticky;top:90px}
.toc-box h4{font-size:.9rem;font-weight:800;margin-bottom:10px;text-transform:uppercase;color:var(--muted)}
.toc-box ul{list-style:none;margin:0;padding:0}
.toc-box li{margin-bottom:6px;font-size:.9rem}
.az-bar{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0;position:sticky;top:72px;z-index:90;background:var(--bg);padding:10px 0}
.az-letter{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-weight:700;font-size:.9rem;color:var(--text)}
.az-letter:hover{border-color:var(--sky-500);background:var(--sky-100);color:var(--sky-600)}
.glossary-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.glossary-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.glossary-grid{grid-template-columns:repeat(3,1fr)}}
.site-footer{background:linear-gradient(180deg,#0B2545,#071A33);color:#FFF;padding:56px 0 28px;margin-top:72px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:32px;margin-bottom:40px}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.2fr repeat(4,1fr)}}
.footer-brand p{color:var(--sky-300);margin:10px 0 16px;font-size:.9rem;max-width:300px}
.footer-brand svg{width:28px;height:28px;color:var(--teal-300)}
.footer-col h4{font-size:.95rem;font-weight:700;margin-bottom:14px;color:var(--teal-300)}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:8px}
.footer-col a{color:var(--sky-100);font-size:.9rem}
.footer-col a:hover{color:var(--teal-300)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:center;font-size:.85rem;color:var(--sky-300)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* CATEGORY BANNERS & ACCENT SYSTEM */
.cat-banner{color:#FFF;position:relative;overflow:hidden;min-height:200px;display:flex;align-items:center;padding:clamp(28px,4vw,44px) 0}
@media(min-width:960px){.cat-banner{min-height:260px}}
.cat-banner.compact{min-height:150px;padding:24px 0}
@media(min-width:960px){.cat-banner.compact{min-height:180px;padding:32px 0}}
.cat-banner .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:24px;align-items:center;width:100%}
@media(min-width:768px){.cat-banner .container{grid-template-columns:1fr auto}}
.cat-banner-content{max-width:740px}
.cat-banner .breadcrumbs{color:rgba(255,255,255,.7);margin-bottom:12px}
.cat-banner .breadcrumbs a{color:rgba(255,255,255,.8)}
.cat-banner .breadcrumbs a:hover{color:#FFF}
.cat-banner .breadcrumbs span{color:rgba(255,255,255,.5)}
.cat-banner h1{color:#FFF;font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:800;letter-spacing:-.02em;margin-bottom:8px;line-height:1.2}
.cat-banner p{font-size:clamp(1rem,1.8vw,1.15rem);margin:0;opacity:.95;line-height:1.6}
.cat-banner-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin-bottom:16px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.cat-banner-badge svg{width:32px;height:32px}
.cat-banner-img{width:260px;height:auto;max-height:180px;display:none}
@media(min-width:640px){.cat-banner-img{display:block;opacity:.7}}
@media(min-width:960px){.cat-banner-img{width:300px;opacity:.95}}

/* 1. CALCULATORS ACCENT (#90CAF9) */
.banner-calc{background:linear-gradient(160deg,#071A33 0%,#1E3A8A 50%,#2196F3 100%)}
.banner-calc .cat-banner-badge{background:linear-gradient(135deg,#E3F2FD,#90CAF9);color:#1976D2}
.banner-calc p{color:#E3F2FD}
.theme-calc .tag-pill{background:#E3F2FD;color:#1976D2}
.theme-calc .card:hover{border-color:#90CAF9;box-shadow:0 12px 32px rgba(25,118,210,.18)}
.theme-calc .card-link{color:#1976D2}
@media(prefers-color-scheme:dark){.theme-calc .tag-pill{background:rgba(25,118,210,.3);color:#90CAF9}.theme-calc .card-link{color:#90CAF9}}

/* 2. GLOSSARY ACCENT (#5EEAD4) */
.banner-glossary{background:linear-gradient(160deg,#071A33 0%,#0F4C5C 50%,#14B8A6 100%)}
.banner-glossary .cat-banner-badge{background:linear-gradient(135deg,#CCFBF1,#5EEAD4);color:#0F766E}
.banner-glossary p{color:#CCFBF1}
.theme-glossary .tag-pill{background:#CCFBF1;color:#0F766E}
.theme-glossary .card:hover{border-color:#5EEAD4;box-shadow:0 12px 32px rgba(20,184,166,.18)}
.theme-glossary .card-link{color:#0F766E}
.theme-glossary .az-letter:hover{border-color:#14B8A6;background:#CCFBF1;color:#0F766E}
@media(prefers-color-scheme:dark){.theme-glossary .tag-pill{background:rgba(20,184,166,.3);color:#5EEAD4}.theme-glossary .card-link{color:#5EEAD4}.theme-glossary .az-letter:hover{background:rgba(20,184,166,.2);color:#5EEAD4}}

/* 3. ARTICLES ACCENT (#A5B4FC) */
.banner-articles{background:linear-gradient(160deg,#071A33 0%,#312E81 50%,#6366F1 100%)}
.banner-articles .cat-banner-badge{background:linear-gradient(135deg,#E0E7FF,#A5B4FC);color:#1E3A8A}
.banner-articles p{color:#E0E7FF}
.theme-articles .tag-pill{background:#E0E7FF;color:#3730A3}
.theme-articles .article-card:hover{border-color:#A5B4FC;box-shadow:0 12px 32px rgba(99,102,241,.18)}
.theme-articles .article-body h3 a:hover{color:#6366F1}
@media(prefers-color-scheme:dark){.theme-articles .tag-pill{background:rgba(99,102,241,.3);color:#A5B4FC}.theme-articles .article-body h3 a:hover{color:#A5B4FC}}

/* 4. AIRPORTS ACCENT (#34D399) */
.banner-airports{background:linear-gradient(160deg,#071A33,#065F46 50%,#10B981)}
.banner-airports .cat-banner-badge{background:linear-gradient(135deg,#D1FAE5,#34D399);color:#065F46}
.banner-airports p{color:#D1FAE5}
.theme-airports .tag-pill{background:#D1FAE5;color:#065F46}
.theme-airports .card:hover{border-color:#34D399;box-shadow:0 12px 32px rgba(16,185,129,.18)}
.theme-airports .card-link{color:#059669}
@media(prefers-color-scheme:dark){.theme-airports .tag-pill{background:rgba(16,185,129,.3);color:#34D399}.theme-airports .card-link{color:#34D399}}

/* 5. TRAVEL GUIDE ACCENT (#22D3EE) */
.banner-travel{background:linear-gradient(160deg,#071A33,#0E7490 50%,#22D3EE)}
.banner-travel .cat-banner-badge{background:linear-gradient(135deg,#CFFAFE,#22D3EE);color:#0E7490}
.banner-travel p{color:#CFFAFE}
.theme-travel .tag-pill{background:#CFFAFE;color:#0E7490}
.theme-travel .card:hover{border-color:#22D3EE;box-shadow:0 12px 32px rgba(34,211,238,.18)}
.theme-travel .card-link{color:#0891B2}
@media(prefers-color-scheme:dark){.theme-travel .tag-pill{background:rgba(34,211,238,.3);color:#22D3EE}.theme-travel .card-link{color:#22D3EE}}

/* 6. AIRCRAFT DATABASE ACCENT (#94A3B8) */
.banner-aircraft{background:linear-gradient(160deg,#071A33,#334155 50%,#64748B)}
.banner-aircraft .cat-banner-badge{background:linear-gradient(135deg,#F1F5F9,#94A3B8);color:#334155}
.banner-aircraft p{color:#F1F5F9}
.theme-aircraft .tag-pill{background:#F1F5F9;color:#334155}
.theme-aircraft .card:hover{border-color:#94A3B8;box-shadow:0 12px 32px rgba(100,116,139,.18)}
.theme-aircraft .card-link{color:#475569}
@media(prefers-color-scheme:dark){.theme-aircraft .tag-pill{background:rgba(100,116,139,.3);color:#CBD5E1}.theme-aircraft .card-link{color:#CBD5E1}}

/* 7. AIRLINES DIRECTORY ACCENT (#A78BFA) */
.banner-airlines{background:linear-gradient(160deg,#071A33,#4C1D95 50%,#8B5CF6)}
.banner-airlines .cat-banner-badge{background:linear-gradient(135deg,#EDE9FE,#A78BFA);color:#4C1D95}
.banner-airlines p{color:#EDE9FE}
.theme-airlines .tag-pill{background:#EDE9FE;color:#4C1D95}
.theme-airlines .card:hover{border-color:#A78BFA;box-shadow:0 12px 32px rgba(139,92,246,.18)}
.theme-airlines .card-link{color:#7C3AED}
@media(prefers-color-scheme:dark){.theme-airlines .tag-pill{background:rgba(139,92,246,.3);color:#A78BFA}.theme-airlines .card-link{color:#A78BFA}}

/* 8. CODES ACCENT (#F472B6) */
.banner-codes{background:linear-gradient(160deg,#071A33,#831843 50%,#EC4899)}
.banner-codes .cat-banner-badge{background:linear-gradient(135deg,#FCE7F3,#F472B6);color:#831843}
.banner-codes p{color:#FCE7F3}
.theme-codes .tag-pill{background:#FCE7F3;color:#831843}
.theme-codes .card:hover{border-color:#F472B6;box-shadow:0 12px 32px rgba(236,72,153,.18)}
.theme-codes .card-link{color:#DB2777}
@media(prefers-color-scheme:dark){.theme-codes .tag-pill{background:rgba(236,72,153,.3);color:#F472B6}.theme-codes .card-link{color:#F472B6}}

/* 9. CAREERS ACCENT (#38BDF8) */
.banner-careers{background:linear-gradient(160deg,#071A33,#075985 50%,#38BDF8)}
.banner-careers .cat-banner-badge{background:linear-gradient(135deg,#E0F2FE,#38BDF8);color:#075985}
.banner-careers p{color:#E0F2FE}
.theme-careers .tag-pill{background:#E0F2FE;color:#075985}
.theme-careers .card:hover{border-color:#38BDF8;box-shadow:0 12px 32px rgba(56,189,248,.18)}
.theme-careers .card-link{color:#0284C7}
@media(prefers-color-scheme:dark){.theme-careers .tag-pill{background:rgba(56,189,248,.3);color:#38BDF8}.theme-careers .card-link{color:#38BDF8}}

/* GENERAL PAGES BANNER (TASK 2) */
.banner-general{background:linear-gradient(160deg,#071A33 0%,#1E3A8A 50%,#2196F3 100%)}
.banner-general p{color:#E3F2FD}

/* ==========================================================================
   UNIFIED BANNER COMPONENT (Task 3)
   ========================================================================== */
.banner {
  position: relative;
  overflow: hidden;
  color: #FFF;
  padding: 32px 0;
  min-height: auto;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .banner {
    padding: 48px 0;
  }
}
.banner .container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.banner .crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 12px;
  line-height: 1.4;
}
.banner .crumbs a {
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
  text-decoration: none;
}
.banner .crumbs a:hover {
  color: #FFF;
  text-decoration: underline;
}
.banner .crumbs span {
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.6);
}
.banner .crumbs span[aria-current="page"] {
  color: #FFF;
}
.banner .pill {
  display: inline-block;
  width: auto;
  padding: 4px 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  background: rgba(255, 255, 255, 0.15);
  color: #FFF;
  border: 1px solid rgba(255, 255, 255, 0.25);
  line-height: 1.4;
}
.banner h1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  color: #FFF;
  max-width: 640px;
}
.banner .lead {
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
  max-width: 60ch;
  margin: 0;
}
.banner .banner-art {
  display: none;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.9;
  pointer-events: none;
  z-index: 1;
  max-height: 85%;
  max-width: 320px;
}
@media (min-width: 768px) {
  .banner .banner-art {
    display: block;
  }
}
.banner.banner-compact {
  padding: 24px 0;
}
@media (min-width: 768px) {
  .banner.banner-compact {
    padding: 32px 0;
  }
}
.banner.banner-compact h1 {
  margin-bottom: 0;
}
.banner.banner-compact .banner-art {
  max-width: 220px;
  opacity: 0.85;
}

/* Category gradients */
.banner-calculators, .banner-calc { background: linear-gradient(160deg,#071A33 0%,#1E3A8A 50%,#2196F3 100%); }
.banner-glossary { background: linear-gradient(160deg,#071A33 0%,#0F4C5C 50%,#14B8A6 100%); }
.banner-articles { background: linear-gradient(160deg,#071A33 0%,#854D0E 50%,#EAB308 100%); }
.banner-airports { background: linear-gradient(160deg,#071A33 0%,#065F46 50%,#10B981 100%); }
.banner-travel { background: linear-gradient(160deg,#071A33 0%,#0E7490 50%,#22D3EE 100%); }
.banner-aircraft { background: linear-gradient(160deg,#071A33 0%,#334155 50%,#64748B 100%); }
.banner-airlines { background: linear-gradient(160deg,#071A33 0%,#4C1D95 50%,#8B5CF6 100%); }
.banner-codes { background: linear-gradient(160deg,#071A33 0%,#831843 50%,#EC4899 100%); }
.banner-careers { background: linear-gradient(160deg,#071A33 0%,#0C4A6E 50%,#38BDF8 100%); }
.banner-about, .banner-contact, .banner-privacy, .banner-terms, .banner-disclaimer, .banner-404 {
  background: linear-gradient(160deg,#071A33 0%,#1E3A8A 50%,#2196F3 100%);
}

/* Specific pill accents */
.pill-calculators, .pill-calc { background: rgba(33,150,243,.25); border-color: rgba(94,234,212,.4); color: #5EEAD4; }
.pill-glossary { background: rgba(20,184,166,.25); border-color: rgba(94,234,212,.4); color: #5EEAD4; }
.pill-articles { background: rgba(234,179,8,.25); border-color: rgba(253,224,71,.4); color: #FDE047; }
.pill-airports { background: rgba(16,185,129,.25); border-color: rgba(52,211,153,.4); color: #34D399; }
.pill-travel { background: rgba(34,211,238,.25); border-color: rgba(103,232,249,.4); color: #67E8F9; }
.pill-aircraft { background: rgba(100,116,139,.35); border-color: rgba(148,163,184,.4); color: #CBD5E1; }
.pill-airlines { background: rgba(139,92,246,.25); border-color: rgba(167,139,250,.4); color: #A78BFA; }
.pill-codes { background: rgba(236,72,153,.25); border-color: rgba(244,114,182,.4); color: #F472B6; }
.pill-careers { background: rgba(56,189,248,.25); border-color: rgba(125,211,252,.4); color: #7DD3FC; }

/* Contact page styles (Task 7) */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 20px;
  margin: 32px 0;
}
.contact-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rb);
  padding: 24px;
  transition: transform .2s, border-color .2s;
  min-width: 0;
}
.contact-card:hover {
  border-color: var(--sky-500);
}
.contact-card h3 {
  font-size: 1.15rem;
  margin-bottom: 8px;
  color: var(--text);
}
.contact-card p {
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
  margin-bottom: 8px;
}
.contact-card .subject-tip {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 10px;
  background: rgba(33, 150, 243, 0.08);
  border-radius: 6px;
  font-family: monospace;
  font-size: 0.8rem;
  color: var(--sky-600);
}
.email-hero-card {
  background: linear-gradient(135deg, #071A33, #13315C);
  color: #FFF;
  border-radius: var(--r);
  padding: clamp(24px, 4vw, 36px);
  text-align: center;
  margin: 32px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.email-hero-card .email-label {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.8);
}
.email-hero-card .email-address {
  font-size: clamp(1.2rem, 3.5vw, 1.8rem);
  font-weight: 700;
  color: var(--teal-300);
  font-family: monospace;
  word-break: break-all;
}
.email-hero-card .email-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.email-hero-card .btn-copy {
  background: rgba(255,255,255,0.15);
  color: #FFF;
  border: 1px solid rgba(255,255,255,0.3);
  padding: 8px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all .2s;
}
.email-hero-card .btn-copy:hover {
  background: rgba(255,255,255,0.25);
}
.checklist-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rb);
  padding: 24px;
  margin: 24px 0;
}
.checklist-card ul {
  padding-left: 20px;
  margin-top: 12px;
}
.checklist-card li {
  margin-bottom: 8px;
  color: var(--muted);
}
.faq-accordion {
  margin: 32px 0;
}
.faq-accordion details {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rb);
  margin-bottom: 12px;
  padding: 16px 20px;
  transition: border-color .2s;
}
.faq-accordion details[open] {
  border-color: var(--sky-500);
}
.faq-accordion summary {
  font-weight: 600;
  cursor: pointer;
  outline: none;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq-accordion summary::-webkit-details-marker {
  display: none;
}
.faq-accordion summary::after {
  content: "+";
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sky-600);
}
.faq-accordion details[open] summary::after {
  content: "−";
}
.faq-accordion .faq-answer {
  margin-top: 12px;
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.6;
}

.glossary-card{padding:20px}
.glossary-card h3{font-size:1.1rem;margin-bottom:6px}
.glossary-card p{font-size:0.9rem;margin-bottom:12px}
.glossary-card .card-link{font-size:0.85rem}
.glossary-sec{margin:36px 0}
.glossary-sec h2{font-size:1.8rem;font-weight:800;color:var(--teal-500);border-bottom:2px solid var(--border);padding-bottom:8px;margin-bottom:20px}

/* Global Viewport & Padding Safety */
html, body {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}
.container, .header-wrap {
  padding-inline: clamp(24px, 5vw, 64px) !important;
}
.prose, article.prose {
  margin-inline: auto;
}
.callout {
  margin-left: auto;
  margin-right: auto;
}

/* Contact Us: Email Box with Left and Right Bracket Accent Borders (Task Request) */
.email-hero-card {
  background: #0B1C33 !important;
  color: #FFF !important;
  border-radius: 14px !important;
  border-left: 5px solid var(--teal-300) !important;
  border-right: 5px solid var(--teal-300) !important;
  border-top: 1px solid rgba(94, 234, 212, 0.25) !important;
  border-bottom: 1px solid rgba(94, 234, 212, 0.25) !important;
  padding: clamp(28px, 4.5vw, 42px) clamp(20px, 4vw, 36px) !important;
  text-align: center;
  margin: 36px auto !important;
  max-width: 820px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  box-shadow: 0 10px 32px rgba(7, 26, 51, 0.35) !important;
  position: relative;
}
.email-hero-card .email-label {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.email-address-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(7, 26, 51, 0.65);
  padding: 10px 22px;
  border-radius: 12px;
  border: 1px solid rgba(94, 234, 212, 0.3);
  max-width: 100%;
}
.email-bracket {
  color: var(--teal-300);
  font-size: clamp(1.4rem, 3.5vw, 2.2rem);
  font-weight: 700;
  line-height: 1;
  user-select: none;
  font-family: monospace, system-ui;
}
.email-hero-card .email-address {
  font-size: clamp(1.1rem, 3.2vw, 1.75rem);
  font-weight: 700;
  color: var(--teal-300);
  font-family: monospace;
  word-break: break-all;
}

/* Article enhancements & diagram stepper */
.article-hero{max-width:960px;margin-bottom:32px;border-radius:var(--r);overflow:hidden}
.article-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.prose .lead{font-size:1.15rem;font-weight:500;line-height:1.75;margin-bottom:24px}
.article-related{margin-top:36px;padding-top:20px;border-top:1px solid var(--border)}
.diagram-box{background:#0B2545;border:1px solid #1D3354;border-radius:var(--r);padding:14px;margin:20px 0}
.diagram-box figcaption{text-align:center;font-size:.82rem;color:#90CAF9;margin:6px 0 0}
.diagram-box circle{fill:#E3F2FD;stroke:#2196F3;stroke-width:2}
.diagram-box .last{fill:#14B8A6;stroke:#071A33}
.diagram-box text{font:600 12px sans-serif;fill:#FFFFFF}
.diagram-box .num{font-weight:700;font-size:9px;text-anchor:middle;fill:#0B2545}
.diagram-box .last-num{fill:#FFFFFF}
@media(prefers-color-scheme:dark){
  .diagram-box{background:#071A33;border-color:#1D3354}
  .diagram-box text{fill:#FFFFFF}
  .diagram-box .num{fill:#0B2545}
  .diagram-box .last-num{fill:#FFFFFF}
  .diagram-box figcaption{color:#90CAF9}
}
.site-footer .brand{color:#FFF}
.site-footer .brand svg,.site-footer .brand span{color:var(--teal-300)}
