:root{
  --void:#0d1512;
  --panel:#141f1a;
  --panel-2:#1b2921;
  --panel-3:#223228;
  --line:#3a4a3c;
  --line-soft:#22322a;
  --dim:#9c9478;
  --mid:#c8b79b;
  --bright:#e9e0cd;
  --white:#f5f0e0;
  --grad: linear-gradient(135deg, #e9e0cd 0%, #af9f7a 45%, #6b5c3f 100%);
  --mono: 'JetBrains Mono', monospace;
  --disp: 'Oswald', sans-serif;
  --body: 'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--mid);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--bright);color:var(--void);}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
h1,h2,h3,h4{font-family:var(--disp);color:var(--bright);font-weight:500;letter-spacing:0.01em;}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--dim);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-family:var(--disp);font-size:14px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:2px;cursor:pointer;transition:all .2s ease;}
.btn-solid{background:var(--grad);color:#14201a;border:none;font-weight:600;}
.btn-solid:hover{filter:brightness(1.1);transform:translateY(-1px);}
.btn-ghost{color:var(--bright);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--bright);background:var(--panel-2);}

header.site-header{position:sticky;top:0;z-index:100;background:rgba(10,10,11,0.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:76px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{width:38px;height:38px;border:1px solid var(--line);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--bright);background:var(--panel-2);}
.brand-logo{width:44px;height:auto;flex-shrink:0;}
.brand-text{font-family:var(--disp);font-size:19px;letter-spacing:0.06em;color:var(--bright);}
.brand-text span{color:var(--dim);font-weight:300;}
nav.main-nav{display:flex;align-items:center;gap:30px;}
nav.main-nav a{font-family:var(--disp);font-size:13px;letter-spacing:0.09em;text-transform:uppercase;color:var(--mid);transition:color .2s;}
nav.main-nav a:hover{color:var(--bright);}
nav.main-nav a.cta{color:var(--bright);font-weight:600;}
.nav-right{display:flex;align-items:center;gap:18px;}
.login-link{font-family:var(--mono);font-size:12px;color:var(--dim);border:1px solid var(--line);padding:8px 14px;border-radius:2px;}
.login-link:hover{color:var(--bright);border-color:var(--bright);}
@media(max-width:900px){nav.main-nav{display:none;}}

.hero{position:relative;padding:100px 0 70px;overflow:hidden;border-bottom:1px solid var(--line-soft);}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% -10%, rgba(255,255,255,0.06), transparent 60%);pointer-events:none;}
.hero-inner{position:relative;max-width:820px;}
.status-notice{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--bright);padding:16px 18px;border-radius:2px;margin-bottom:34px;font-size:14px;color:var(--dim);}
.status-notice b{color:var(--bright);font-weight:600;}
h1.hero-title{font-size:clamp(36px,5.4vw,60px);line-height:1.08;margin-bottom:22px;}
h1.hero-title em{font-style:normal;color:var(--dim);}
.hero-sub{font-size:16px;color:var(--mid);max-width:640px;margin-bottom:34px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px;}

.live-strip{border:1px solid var(--line);background:var(--panel);border-radius:2px;display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden;}
.live-strip .cell{padding:16px 18px;border-right:1px solid var(--line-soft);}
.live-strip .cell:last-child{border-right:none;}
.live-strip .cell .label{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--dim);text-transform:uppercase;margin-bottom:6px;}
.live-strip .cell .value{font-family:var(--mono);font-size:15px;color:var(--bright);font-weight:500;}
@media(max-width:900px){.live-strip{grid-template-columns:repeat(2,1fr);}.live-strip .cell:nth-child(2n){border-right:none;}.live-strip .cell{border-bottom:1px solid var(--line-soft);}}

section{padding:96px 0;border-bottom:1px solid var(--line-soft);}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);line-height:1.2;}
.section-head h2 em{font-style:normal;color:var(--dim);}
.section-head p{margin-top:14px;color:var(--dim);font-size:15px;}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.pillar{background:var(--void);padding:34px 28px;}
.pillar .idx{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:0.14em;margin-bottom:16px;}
.pillar h3{font-size:19px;margin-bottom:10px;}
.pillar p{font-size:14px;color:var(--dim);}
@media(max-width:820px){.pillars{grid-template-columns:1fr;}}

.phase{display:grid;grid-template-columns:70px 1fr 140px;gap:28px;padding:30px 0;border-top:1px solid var(--line-soft);}
.phase:last-child{border-bottom:1px solid var(--line-soft);}
.phase .num{font-family:var(--mono);font-size:34px;color:var(--line);font-weight:700;}
.phase .body h3{font-size:19px;margin-bottom:4px;}
.phase .body .tag{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:0.12em;margin-bottom:10px;display:block;}
.phase .body p{font-size:14px;color:var(--dim);max-width:640px;}
.phase .stats{text-align:right;font-family:var(--mono);font-size:12px;color:var(--dim);}
.phase .stats div{margin-bottom:6px;}
.phase .stats b{color:var(--mid);font-weight:500;display:block;font-size:11px;letter-spacing:0.08em;}
@media(max-width:760px){.phase{grid-template-columns:1fr;gap:10px;}.phase .stats{text-align:left;}}

.fleet-table-wrap{overflow-x:auto;}
table.fleet-table{width:100%;border-collapse:collapse;font-size:14px;}
table.fleet-table th{text-align:left;padding:12px 18px;background:var(--panel-3);color:var(--bright);
  font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:0.02em;}
table.fleet-table td{padding:11px 18px;border-top:1px solid var(--line-soft);color:var(--mid);}
table.fleet-table tbody tr:nth-child(even){background:var(--panel);}
table.fleet-table tbody tr:nth-child(odd){background:var(--panel-2);}
table.fleet-table td:first-child{font-family:var(--mono);color:var(--bright);white-space:nowrap;}

.fleet-accordion{display:flex;flex-direction:column;gap:12px;}
.fleet-cat-box{border:1px solid var(--line);border-radius:3px;background:var(--panel);overflow:hidden;}
.fleet-cat-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;background:none;border:none;cursor:pointer;text-align:left;
}
.fleet-cat-name{font-family:var(--disp);font-size:18px;color:var(--bright);flex:1;}
.fleet-cat-count{font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:0.04em;}
.fleet-cat-arrow{font-size:14px;color:var(--dim);transition:transform .2s ease;}
.fleet-cat-box.open .fleet-cat-arrow{transform:rotate(180deg);}
.fleet-cat-box:hover{border-color:var(--bright);}
.fleet-cat-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;border-top:0 solid var(--line-soft);}
.fleet-cat-box.open .fleet-cat-panel{max-height:600px;border-top:1px solid var(--line-soft);}

/* Simple card grid — used by the Missions section */
.fleet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.fleet-card{background:var(--panel);overflow:hidden;}
.fleet-body{padding:22px 24px;}
.fleet-cat{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--dim);text-transform:uppercase;margin-bottom:8px;}
@media(max-width:760px){.fleet-grid{grid-template-columns:1fr;}}

.empty-panel{border:1px dashed var(--line);border-radius:2px;padding:60px 30px;text-align:center;color:var(--dim);font-family:var(--mono);font-size:13px;letter-spacing:0.06em;}

.live-map-embed{width:100%;height:420px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel);}
.live-map-footnote{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--dim);}
.plane-icon{color:var(--bright);text-shadow:0 0 4px rgba(0,0,0,0.6);}
.leaflet-popup-content-wrapper{background:var(--panel);color:var(--mid);border:1px solid var(--line);}
.leaflet-popup-tip{background:var(--panel);}
.leaflet-popup-content b{color:var(--bright);}

.roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.roster-card{background:var(--panel);padding:22px 20px;display:flex;gap:14px;align-items:flex-start;}
.roster-avatar{width:44px;height:44px;border-radius:2px;background:var(--panel-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--bright);border:1px solid var(--line);}
.roster-info .rank{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:0.08em;margin-bottom:4px;}
.roster-info .name{font-family:var(--disp);font-size:15px;color:var(--bright);margin-bottom:6px;letter-spacing:0.03em;}
.roster-info .meta{font-family:var(--mono);font-size:11px;color:var(--dim);}
.roster-info .meta b{color:var(--mid);}
@media(max-width:900px){.roster-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.roster-grid{grid-template-columns:1fr;}}

.compliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-bottom:40px;}
.comp-card{background:var(--panel);padding:24px 22px;}
.comp-card h4{font-size:15px;margin-bottom:8px;}
.comp-card p{font-size:13px;color:var(--dim);margin-bottom:14px;}
.comp-badge{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:var(--bright);border:1px solid var(--line);padding:5px 10px;border-radius:2px;display:inline-block;}
@media(max-width:900px){.compliance-grid{grid-template-columns:repeat(2,1fr);}}

.partners{display:flex;gap:40px;align-items:center;flex-wrap:wrap;padding:28px 0;border-top:1px solid var(--line-soft);}
.partner-badge{font-family:var(--mono);font-size:13px;color:var(--dim);border:1px solid var(--line);padding:12px 20px;border-radius:2px;}
.partner-badge:hover{color:var(--bright);border-color:var(--bright);}

.two-col-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.info-card{background:var(--panel);padding:32px 30px;}
.info-card h3{font-size:19px;margin-bottom:16px;}
.info-card p{font-size:14px;color:var(--dim);margin-bottom:14px;}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.logo-row{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0 6px;}
.logo-box{
  flex:0 0 auto;width:180px;height:64px;background:var(--panel-2);border:1px solid var(--line);border-radius:3px;
  padding:10px 14px;display:flex;align-items:center;justify-content:center;
  transition:border-color .2s;box-sizing:border-box;overflow:hidden;
}
.logo-box:hover{border-color:var(--bright);}
.logo-box img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
@media(max-width:820px){.two-col-cards{grid-template-columns:1fr;}}

.restricted-list{columns:2;gap:40px;margin-top:10px;}
.restricted-list li{font-size:14px;color:var(--dim);margin-bottom:10px;list-style:none;padding-left:18px;position:relative;}
.restricted-list li::before{content:'—';position:absolute;left:0;color:var(--dim);}
@media(max-width:700px){.restricted-list{columns:1;}}

.enlist-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
@media(max-width:900px){.enlist-wrap{grid-template-columns:1fr;}}
.callsign-preview{border:1px solid var(--line);background:var(--panel);border-radius:2px;padding:26px 24px;margin-bottom:26px;}
.callsign-preview .label{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:0.12em;margin-bottom:10px;}
.callsign-preview .value{font-family:var(--mono);font-size:32px;color:var(--bright);font-weight:700;letter-spacing:0.06em;}
.callsign-preview .note{font-size:12px;color:var(--dim);margin-top:10px;}
form.enlist-form{display:flex;flex-direction:column;gap:16px;}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:var(--dim);margin-bottom:7px;text-transform:uppercase;}
.field input, .field select, .field textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--bright);padding:12px 14px;font-family:var(--body);font-size:14px;border-radius:2px;outline:none;transition:border-color .2s;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--bright);}
.field small{display:block;color:var(--dim);font-size:11px;margin-top:6px;}
.form-note{font-size:13px;color:var(--dim);margin-top:6px;}
#enlistMsg{font-family:var(--mono);font-size:13px;margin-bottom:8px;padding:12px 14px;border-radius:2px;}
#enlistMsg.success{background:rgba(255,255,255,0.06);border:1px solid var(--line);color:var(--bright);}
#enlistMsg.error{background:rgba(255,255,255,0.03);border:1px solid #4a2c2c;color:#e0a0a0;}

footer{padding:70px 0 30px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:50px;}
@media(max-width:800px){.footer-top{grid-template-columns:1fr;gap:34px;}}
.footer-brand p{font-size:13px;color:var(--dim);margin-top:14px;max-width:320px;}
.footer-col h5{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;color:var(--dim);text-transform:uppercase;margin-bottom:16px;}
.footer-col a{display:block;font-size:13px;color:var(--mid);margin-bottom:10px;}
.footer-col a:hover{color:var(--bright);}
.footer-disclaimer{border-top:1px solid var(--line-soft);padding-top:26px;font-size:12px;color:var(--dim);line-height:1.7;}
.footer-bottom{margin-top:22px;font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:0.04em;}

/* Privacy Policy document page */
.policy-doc h3{font-size:19px;margin:36px 0 12px;color:var(--bright);}
.policy-doc h3:first-child{margin-top:0;}
.policy-doc p{font-size:15px;line-height:1.75;color:var(--mid);margin-bottom:14px;}
.policy-doc ul{margin:0 0 16px;padding-left:22px;}
.policy-doc li{font-size:15px;line-height:1.75;color:var(--mid);margin-bottom:8px;}
.policy-doc a{color:var(--bright);text-decoration:underline;}
.policy-doc b{color:var(--bright);}
.policy-table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14px;}
.policy-table th{text-align:left;padding:10px 14px;background:var(--panel-3);color:var(--bright);font-family:var(--disp);font-weight:500;}
.policy-table td{padding:10px 14px;border-top:1px solid var(--line-soft);color:var(--mid);}
.policy-table tbody tr:nth-child(odd){background:var(--panel);}
.policy-hr{border:none;border-top:1px solid var(--line-soft);margin:36px 0 20px;}
.policy-disclaimer{font-size:13px;color:var(--dim);}

/* GDPR consent notice box on the homepage */
.gdpr-notice{
  display:flex;gap:14px;align-items:flex-start;background:var(--panel);
  border:1px solid var(--line);border-left:3px solid var(--bright);
  padding:16px 18px;border-radius:2px;margin-bottom:34px;font-size:13px;color:var(--dim);line-height:1.6;
}
.gdpr-notice a{color:var(--bright);text-decoration:underline;}
