:root {
  --navy: #0d1b2e;
  --navy-mid: #152540;
  --navy-light: #1e3457;
  --red: #a61c2c;
  --red-bright: #cc2233;
  --silver: #8a9ab5;
  --silver-light: #c4cedc;
  --white: #ffffff;
  --grey-bg: #f7f8fa;
  --text-dark: #0d1b2e;
  --text-mid: #2a3849;
  --border: #dce2ec;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:auto; }
body { font-family:"DM Sans",sans-serif; font-size:18px; color:var(--text-dark); background:var(--white); overflow-x:hidden; }

/* ── NAV ── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(13,27,46,0.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(166,28,44,0.25);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 48px; height:80px;
  transition:all 0.3s;
}
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.nav-logo img { height:52px; width:auto; object-fit:contain; }
.nav-logo-text {
  font-family:"Bebas Neue",sans-serif; font-size:28px;
  letter-spacing:3px; color:var(--white); line-height:1;
  position:relative; display:inline-block;
  transition:letter-spacing 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.nav-logo-text::after {
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:2px; background:var(--red-bright);
  transform:scaleX(0); transform-origin:left center;
  transition:transform 0.5s cubic-bezier(0.2,0.7,0.2,1);
}
.nav-logo-text .ch {
  display:inline-block;
  opacity:0;
  transform:translateY(-14px);
  animation:logoCharIn 0.65s cubic-bezier(0.2,0.7,0.2,1) forwards;
  transition:color 0.3s ease, transform 0.3s ease;
}
.nav-logo-text .ch.space { width:0.28em; animation:none; opacity:1; }
@keyframes logoCharIn {
  0%   { opacity:0; transform:translateY(-14px); filter:blur(2px); }
  60%  { opacity:1; filter:blur(0); }
  100% { opacity:1; transform:translateY(0); filter:blur(0); }
}
.nav-logo:hover .nav-logo-text { letter-spacing:4.5px; }
.nav-logo:hover .nav-logo-text::after { transform:scaleX(1); }
.nav-logo:hover .nav-logo-text .ch { color:var(--silver-light); }
.nav-logo:hover .nav-logo-text .ch:first-child,
.nav-logo:hover .nav-logo-text .ch:nth-child(11) { color:var(--red-bright); }
@media (prefers-reduced-motion: reduce) {
  .nav-logo-text .ch { animation:none; opacity:1; transform:none; }
  .nav-logo-text, .nav-logo-text::after { transition:none; }
}
.nav-links { display:flex; align-items:stretch; height:80px; }
.nav-link {
  display:flex; align-items:center; justify-content:center;
  padding:0 20px; font-size:11px; font-weight:600; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--silver); text-decoration:none;
  text-align:center; line-height:1.3; border-bottom:3px solid transparent;
  transition:all 0.2s; cursor:pointer;
}
.nav-link:hover, .nav-link.active { color:var(--white); border-bottom-color:var(--red); }
.nav-link:active { transform:scale(0.94); }
.nav-link--pulse { animation:navLinkPulse 0.55s ease-out; }
@keyframes navLinkPulse {
  0%   { transform:scale(1);    color:var(--silver); border-bottom-color:transparent; }
  35%  { transform:scale(1.08); color:var(--white);  border-bottom-color:var(--red-bright); }
  100% { transform:scale(1);    color:var(--white);  border-bottom-color:var(--red); }
}

/* Burger button (hidden on wide screens) */
.nav-burger {
  display:none; background:transparent; border:0; cursor:pointer;
  width:40px; height:40px; padding:8px; position:relative;
  flex-direction:column; justify-content:space-between; align-items:stretch;
}
.nav-burger span {
  display:block; width:100%; height:2px; background:var(--silver-light);
  transition:transform 0.25s ease, opacity 0.2s ease, background 0.2s;
}
.nav-burger:hover span { background:var(--white); }
.nav.open .nav-burger span:nth-child(1) { transform:translateY(11px) rotate(45deg); background:var(--white); }
.nav.open .nav-burger span:nth-child(2) { opacity:0; }
.nav.open .nav-burger span:nth-child(3) { transform:translateY(-11px) rotate(-45deg); background:var(--white); }

/* ── SHARED SECTION STYLES ── */
.section-label {
  font-size:10px; letter-spacing:3px; text-transform:uppercase;
  color:var(--red); font-weight:600; margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.section-label::after { content:""; flex:1; height:2px; background:var(--red); opacity:0.55; max-width:80px; }
.body-text { font-size:18px; line-height:1.7; color:var(--text-mid); margin-bottom:16px; }
.email-label { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--silver); font-weight:600; margin-bottom:6px; }
.email-link {
  display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
  color:var(--red); text-decoration:none; border-bottom:1px solid rgba(166,28,44,0.3); padding-bottom:2px; transition:all 0.2s;
}
.email-link:hover { color:var(--red-bright); border-color:var(--red-bright); }

/* ── PHOTO DIVIDER (shared) ── */
.photo-divider {
  height:540px; background-size:cover; background-position:center center;
  position:relative; display:flex; align-items:center; justify-content:center;
}
.photo-divider::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(10,20,38,0.60) 0%,rgba(10,20,38,0.35) 50%,rgba(10,20,38,0.60) 100%);
}
.photo-divider-text { position:relative; z-index:2; text-align:center; padding:0 48px; }
.red-line { width:48px; height:3px; background:var(--red); margin:0 auto 20px; }
.photo-divider-text h2 {
  font-family:"Bebas Neue",sans-serif; font-size:clamp(38px,5vw,68px);
  color:var(--white); letter-spacing:3px; line-height:1; margin-bottom:16px;
}
.photo-divider-text p {
  font-family:"Libre Baskerville",serif; font-style:italic; font-size:18px;
  color:var(--silver-light); max-width:560px; margin:0 auto; line-height:1.6;
}

/* ════════════════════════════════════
   HERO
════════════════════════════════════ */
#home { position:relative; min-height:100vh; display:flex; flex-direction:column; }
.hero-bg {
  position:absolute; inset:0;
  background-image:url("images/hero-bg.jpg");
  background-size:cover; background-position:center 55%;
}
.hero-bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(10,20,38,0.55) 0%,rgba(15,30,55,0.38) 50%,rgba(10,20,38,0.52) 100%);
}
.hero-content {
  position:relative; z-index:2; flex:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:140px 48px 80px;
}
.hero-eyebrow {
  font-size:11px; letter-spacing:4px; text-transform:uppercase;
  color:var(--white); font-weight:600; margin-bottom:24px;
  display:flex; align-items:center; gap:12px;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  content:""; width:32px; height:1px; background:var(--red-bright); opacity:0.6;
}
.hero-title {
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(48px,8vw,96px);
  color:var(--red-bright); letter-spacing:3px; line-height:0.95;
  margin-bottom:16px; animation:fadeUp 0.8s ease both;
}
.hero-subtitle {
  font-family:"Libre Baskerville",serif; font-style:italic;
  font-size:clamp(18px,2.5vw,26px); color:var(--silver-light);
  margin-bottom:48px; line-height:1.4;
  animation:fadeUp 0.8s 0.15s ease both;
}
.hero-desc {
  font-size:16px; color:var(--silver); max-width:640px;
  line-height:1.8; margin-bottom:56px;
  animation:fadeUp 0.8s 0.25s ease both;
}
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; animation:fadeUp 0.8s 0.35s ease both; }
.btn-primary {
  padding:15px 36px; background:var(--red); color:var(--white);
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  text-decoration:none; border:2px solid var(--red); transition:all 0.2s; cursor:pointer;
}
.btn-primary:hover { background:var(--red-bright); border-color:var(--red-bright); }
.btn-secondary {
  padding:15px 36px; background:transparent; color:var(--white);
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  text-decoration:none; border:2px solid rgba(255,255,255,0.3); transition:all 0.2s;
}
.btn-secondary:hover { border-color:var(--white); }
.hero-stats {
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr);
  background:rgba(8,16,30,0.95); border-top:1px solid rgba(166,28,44,0.3);
}
.hero-stat {
  padding:28px 32px; text-align:center;
  border-right:1px solid rgba(255,255,255,0.06);
}
.hero-stat:last-child { border-right:none; }
.hero-stat-num {
  font-family:"Bebas Neue",sans-serif; font-size:42px;
  color:var(--red-bright); letter-spacing:1px; line-height:1; margin-bottom:6px;
}
.hero-stat-label { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--silver); line-height:1.4; }

@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

/* ════════════════════════════════════
   ABOUT
════════════════════════════════════ */
#about { scroll-margin-top:80px; border-bottom:1px solid var(--border); }
.about-wrap { max-width:1060px; margin:0 auto; padding:110px 48px; }
.about-intro { display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:start; margin-bottom:64px; }

.readiness-block { background:var(--navy); padding:36px 36px 32px; position:relative; overflow:hidden; }
.readiness-block::before { content:""; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--red); }
.readiness-block h3 { font-family:"Bebas Neue",sans-serif; font-size:22px; color:var(--white); letter-spacing:1.5px; margin-bottom:24px; }
.readiness-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; }
.readiness-item { display:flex; gap:12px; align-items:flex-start; }
.readiness-dot { width:5px; height:5px; background:var(--red-bright); border-radius:50%; flex-shrink:0; margin-top:6px; }
.readiness-org { font-size:12px; font-weight:700; color:var(--white); margin-bottom:3px; }
.readiness-desc { font-size:11px; color:var(--silver); line-height:1.55; }

.clients-section { margin-bottom:64px; }
.serve-intro { font-size:15px; color:var(--text-mid); line-height:1.7; margin-bottom:24px; max-width:680px; }
.serve-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.serve-card { border:1px solid var(--border); padding:24px 22px; transition:all 0.2s; display:flex; flex-direction:column; }
.serve-card:hover { border-color:var(--red); transform:translateY(-2px); box-shadow:0 6px 24px rgba(13,27,46,0.07); }
.serve-card--featured { background:var(--navy); border-color:var(--navy); }
.serve-card--featured:hover { border-color:var(--red-bright); }
.serve-card-title { font-family:"Bebas Neue",sans-serif; font-size:17px; letter-spacing:1px; color:var(--navy); margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.serve-card--featured .serve-card-title { color:var(--white); border-bottom-color:rgba(255,255,255,0.1); }
.serve-list { list-style:none; flex:1; }
.serve-list li { font-size:12.5px; color:var(--text-mid); line-height:1.5; padding:5px 0; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; }
.serve-list li::before { content:""; width:4px; height:4px; background:var(--red); border-radius:50%; flex-shrink:0; }
.serve-card--featured .serve-list li { color:var(--silver-light); border-bottom-color:rgba(255,255,255,0.07); }

.stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); margin-bottom:64px; }
.stat-box { background:var(--navy); padding:36px 32px; text-align:center; }
.stat-num { font-family:"Bebas Neue",sans-serif; font-size:52px; color:var(--red-bright); letter-spacing:1px; line-height:1; margin-bottom:8px; }
.stat-label { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--silver-light); line-height:1.5; }

.programs-header { margin-bottom:28px; }
.programs-header h2 { font-family:"Bebas Neue",sans-serif; font-size:38px; color:var(--navy); letter-spacing:1px; margin-bottom:8px; }
.programs-header p { font-size:15px; color:var(--text-mid); max-width:620px; line-height:1.7; }
.programs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.program-card { background:var(--navy); padding:28px 24px; position:relative; overflow:hidden; transition:transform 0.2s; min-height:220px; display:flex; flex-direction:column; }
.program-card::before { content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--red); }
.program-card:hover { transform:translateY(-3px); }
.program-country { font-family:"Bebas Neue",sans-serif; font-size:20px; color:var(--red-bright); letter-spacing:1px; margin-bottom:4px; }
.program-value { font-size:28px; font-weight:700; color:var(--white); margin-bottom:12px; line-height:1; }
.program-desc { font-size:13px; color:var(--silver); line-height:1.65; flex:1; }

/* ════════════════════════════════════
   WHAT WE DO
════════════════════════════════════ */
#whatwedo { scroll-margin-top:80px; background:var(--grey-bg); border-bottom:1px solid var(--border); }
.wwd-wrap { max-width:1060px; margin:0 auto; padding:110px 48px; }
.intro-block { max-width:700px; margin-bottom:64px; }
.intro-block h2 { font-family:"Bebas Neue",sans-serif; font-size:42px; color:var(--navy); letter-spacing:1px; margin-bottom:14px; line-height:1.05; }
.intro-block p { font-size:16px; line-height:1.8; color:var(--text-mid); }

.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--border); margin-bottom:0; }
.service-card { background:var(--white); padding:44px 40px; position:relative; transition:background 0.3s; overflow:hidden; }
.service-card::before { content:""; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--red); transform:scaleY(0); transform-origin:top; transition:transform 0.3s; }
.service-card:hover { background:var(--grey-bg); }
.service-card:hover::before { transform:scaleY(1); }
.service-num { font-family:"Bebas Neue",sans-serif; font-size:56px; color:var(--border); line-height:1; margin-bottom:4px; transition:color 0.3s; }
.service-card:hover .service-num { color:#d4dde8; }
.service-title { font-family:"Bebas Neue",sans-serif; font-size:22px; color:var(--navy); letter-spacing:1px; margin-bottom:20px; line-height:1.15; }
.service-list { list-style:none; }
.service-list li { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--text-mid); line-height:1.6; padding:6px 0; border-bottom:1px solid var(--border); }
.service-list li:last-child { border-bottom:none; }
.service-list li::before { content:""; width:4px; height:4px; background:var(--red); border-radius:50%; flex-shrink:0; margin-top:8px; }

.engage-strip { background:var(--navy); padding:64px 48px; display:grid; grid-template-columns:1fr 1px 1.6fr; gap:0; align-items:start; }
.engage-header { padding-right:56px; }
.engage-section-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--red-bright); font-weight:600; margin-bottom:12px; }
.engage-heading { font-family:"Bebas Neue",sans-serif; font-size:32px; color:var(--white); letter-spacing:1px; line-height:1.1; margin-bottom:16px; }
.engage-intro { font-size:13.5px; color:var(--silver); line-height:1.75; }
.engage-divider-h { background:rgba(255,255,255,0.08); width:1px; align-self:stretch; margin:0 48px; }
.engage-cards { display:flex; flex-direction:column; gap:28px; }
.engage-item { display:flex; gap:18px; align-items:flex-start; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,0.06); }
.engage-item:last-child { border-bottom:none; padding-bottom:0; }
.engage-icon { width:36px; height:36px; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.engage-icon svg { width:16px; height:16px; fill:white; }
.engage-title { font-family:"Bebas Neue",sans-serif; font-size:18px; color:var(--white); letter-spacing:1px; margin-bottom:6px; }
.engage-text { font-size:13px; color:var(--silver); line-height:1.7; }

/* ════════════════════════════════════
   WORK WITH US
════════════════════════════════════ */
#workwithus { scroll-margin-top:80px; }
.partnerships-section { padding:110px 0 0; }
.partnerships-inner { max-width:1060px; margin:0 auto; padding:0 48px 110px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:72px; align-items:start; }
.partnerships-inner h2 { font-family:"Bebas Neue",sans-serif; font-size:40px; color:var(--navy); letter-spacing:1px; margin-bottom:16px; line-height:1.05; }
.engage-list { list-style:none; margin:20px 0 28px; }
.engage-list li { display:flex; align-items:flex-start; gap:12px; font-size:14px; color:var(--text-mid); line-height:1.6; padding:9px 0; border-bottom:1px solid var(--border); }
.engage-list li:first-child { border-top:1px solid var(--border); }
.engage-list li::before { content:""; width:5px; height:5px; background:var(--red); border-radius:50%; flex-shrink:0; margin-top:8px; }
.value-stack { display:flex; flex-direction:column; gap:2px; background:var(--border); }
.value-card { background:var(--navy); padding:28px; position:relative; }
.value-card::before { content:""; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--red); }
.value-card-title { font-family:"Bebas Neue",sans-serif; font-size:17px; color:var(--white); letter-spacing:1px; margin-bottom:6px; }
.value-card-text { font-size:12.5px; color:var(--silver); line-height:1.65; }

.contracting-section { background:var(--grey-bg); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:110px 0; }
.contracting-full { max-width:1060px; margin:0 auto; padding:0 48px; }
.contracting-header { display:grid; grid-template-columns:1fr 2fr; gap:64px; align-items:start; margin-bottom:36px; padding-bottom:36px; border-bottom:1px solid var(--border); }
.contracting-header h2 { font-family:"Bebas Neue",sans-serif; font-size:40px; color:var(--navy); letter-spacing:1px; line-height:1.05; }
.contracting-statement p { font-size:15px; line-height:1.85; color:var(--text-mid); }
.vehicle-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.vehicle-card { background:var(--white); border:1px solid var(--border); padding:22px 20px; transition:all 0.2s; display:flex; flex-direction:column; gap:10px; }
.vehicle-card:hover { border-color:var(--red); transform:translateY(-2px); }
.vehicle-card--highlight { background:var(--navy); border-color:var(--navy); }
.vehicle-card--highlight:hover { border-color:var(--red-bright); }
.vehicle-badge { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 10px; align-self:flex-start; }
.vehicle-badge.active { background:var(--navy); color:var(--white); }
.vehicle-badge.pending { background:rgba(166,28,44,0.1); color:var(--red); border:1px solid rgba(166,28,44,0.3); }
.vehicle-card--highlight .vehicle-badge.pending { background:rgba(166,28,44,0.3); color:var(--silver-light); border-color:rgba(166,28,44,0.5); }
.vehicle-card-title { font-family:"Bebas Neue",sans-serif; font-size:16px; letter-spacing:0.5px; color:var(--navy); line-height:1.2; }
.vehicle-card--highlight .vehicle-card-title { color:var(--white); }
.vehicle-card-text { font-size:12.5px; color:var(--text-mid); line-height:1.6; }
.vehicle-card--highlight .vehicle-card-text { color:var(--silver); }

.careers-section { padding:110px 0; }
.careers-inner { max-width:1060px; margin:0 auto; padding:0 48px; }
.careers-header { display:grid; grid-template-columns:1fr 1fr; gap:72px; margin-bottom:40px; align-items:start; }
.careers-header h2 { font-family:"Bebas Neue",sans-serif; font-size:40px; color:var(--navy); letter-spacing:1px; line-height:1.05; margin-bottom:16px; }
.criteria-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }
.criteria-item { background:var(--grey-bg); border:1px solid var(--border); padding:14px 16px; font-size:13px; color:var(--text-mid); line-height:1.5; display:flex; align-items:flex-start; gap:10px; transition:border-color 0.2s; }
.criteria-item:hover { border-color:var(--red); }
.criteria-item::before { content:"✓"; color:var(--red); font-weight:700; flex-shrink:0; font-size:12px; margin-top:1px; }
.profiles-strip { background:var(--navy); padding:36px 40px; display:flex; align-items:flex-start; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.profiles-strip-left { max-width:440px; }
.profiles-strip-left h4 { font-family:"Bebas Neue",sans-serif; font-size:20px; color:var(--white); letter-spacing:1px; margin-bottom:8px; }
.profiles-strip-left p { font-size:13px; color:var(--silver); line-height:1.7; }
.profiles-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; padding-top:4px; }
.profile-tag { padding:6px 14px; border:1px solid rgba(255,255,255,0.15); font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--silver-light); font-weight:500; }
.job-board-btn { display:inline-flex; align-items:center; gap:8px; margin-top:20px; padding:12px 24px; background:var(--navy); color:var(--white); font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border:1px solid var(--navy); transition:all 0.2s; }
.job-board-btn:hover { background:var(--red); border-color:var(--red); }

/* ════════════════════════════════════
   CONTACT
════════════════════════════════════ */
#contact { scroll-margin-top:80px; background:var(--grey-bg); border-top:1px solid var(--border); }
.contact-wrap { max-width:1060px; margin:0 auto; padding:110px 48px; display:grid; grid-template-columns:1fr 1.4fr; gap:80px; align-items:start; }
.contact-heading { font-family:"Bebas Neue",sans-serif; font-size:42px; color:var(--navy); letter-spacing:1px; line-height:1.05; margin-bottom:20px; }
.contact-intro { font-size:15px; line-height:1.85; color:var(--text-mid); margin-bottom:40px; }
.contact-details { display:flex; flex-direction:column; }
.contact-item { display:flex; align-items:flex-start; gap:16px; padding:22px 0; border-bottom:1px solid var(--border); }
.contact-item:first-child { border-top:1px solid var(--border); }
.contact-icon { width:38px; height:38px; background:var(--navy); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-icon svg { width:16px; height:16px; fill:var(--silver-light); }
.contact-item-label { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--silver); font-weight:600; margin-bottom:5px; }
.contact-item-value { font-size:14px; color:var(--text-dark); font-weight:500; }
.contact-item-value a { color:var(--red); text-decoration:none; border-bottom:1px solid rgba(166,28,44,0.25); transition:all 0.2s; }
.contact-item-value a:hover { color:var(--red-bright); }
.naics-block { margin-top:36px; background:var(--grey-bg); border:1px solid var(--border); padding:24px; }
.naics-block-title { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--silver); font-weight:600; margin-bottom:14px; }
.naics-row { display:flex; flex-direction:column; gap:8px; }
.naics-item { display:flex; justify-content:space-between; align-items:center; font-size:12px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.naics-item:last-child { border-bottom:none; padding-bottom:0; }
.naics-label { color:var(--silver); font-weight:500; }
.naics-value { color:var(--text-dark); font-weight:600; letter-spacing:0.5px; }

.form-wrap { background:var(--navy); padding:44px 40px; position:relative; }
.form-wrap::before { content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:var(--red); }
.form-title { font-family:"Bebas Neue",sans-serif; font-size:28px; color:var(--white); letter-spacing:1px; margin-bottom:6px; }
.form-subtitle { font-size:13px; color:var(--silver); margin-bottom:32px; line-height:1.6; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--silver); font-weight:600; margin-bottom:8px; }
.form-group input, .form-group select, .form-group textarea {
  width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  color:var(--white); font-family:"DM Sans",sans-serif; font-size:14px;
  padding:12px 16px; outline:none; transition:border-color 0.2s; appearance:none;
}
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,0.25); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:rgba(166,28,44,0.7); background:rgba(255,255,255,0.09); }
.form-group select option { background:var(--navy); color:var(--white); }
.form-group textarea { resize:vertical; min-height:120px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-submit { width:100%; padding:15px 24px; background:var(--red); border:none; color:var(--white); font-family:"DM Sans",sans-serif; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:background 0.2s; margin-top:8px; }
.form-submit:hover { background:var(--red-bright); }
.form-success { display:none; text-align:center; padding:40px 20px; }
.form-success-icon { width:56px; height:56px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.form-success-icon svg { width:24px; height:24px; fill:white; }
.form-success h3 { font-family:"Bebas Neue",sans-serif; font-size:28px; color:var(--white); letter-spacing:1px; margin-bottom:10px; }
.form-success p { font-size:14px; color:var(--silver); line-height:1.7; }

/* ── FOOTER ── */
footer {
  background:var(--navy); border-top:1px solid rgba(255,255,255,0.06);
  padding:32px 48px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
}
.footer-left { display:flex; align-items:center; gap:14px; }
.footer-logo { height:28px; width:auto; opacity:0.7; }
.footer-name { font-family:"Bebas Neue",sans-serif; font-size:18px; color:var(--silver); letter-spacing:2px; }
.footer-right { font-size:11px; color:var(--silver); opacity:0.5; letter-spacing:0.5px; }

/* ── RESPONSIVE ── */

/* Burger breakpoint — when 4 stacked nav links + logo no longer fit */
@media (max-width:900px) {
  .nav-burger { display:flex; }
  .nav-links {
    position:absolute; top:80px; left:0; right:0;
    flex-direction:column; align-items:stretch; height:auto;
    background:rgba(13,27,46,0.98); backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(166,28,44,0.25);
    padding:8px 0; gap:0;
    transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:transform 0.25s ease, opacity 0.2s ease;
    max-height:calc(100vh - 80px); overflow-y:auto;
  }
  .nav.open .nav-links { transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-link {
    padding:18px 32px; justify-content:flex-start; text-align:left;
    border-bottom:1px solid rgba(255,255,255,0.05);
    border-left:3px solid transparent;
  }
  .nav-link br { display:none; }
  .nav-link:hover, .nav-link.active {
    border-bottom-color:rgba(255,255,255,0.05);
    border-left-color:var(--red);
    background:rgba(166,28,44,0.08);
  }
}

@media (max-width:768px) {
  .nav { padding:0 16px; }
  .nav-logo { gap:8px; }
  .nav-logo img { height:42px; }
  .nav-logo-text { font-size:20px; letter-spacing:1.5px; white-space:nowrap; }
  .nav-logo:hover .nav-logo-text { letter-spacing:2px; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .about-intro, .partnerships-inner, .careers-header, .contact-wrap { grid-template-columns:1fr; gap:40px; }
  .about-wrap, .wwd-wrap, .contact-wrap { padding:64px 24px; }
  .careers-section, .contracting-section { padding:64px 0; }
  .careers-inner, .contracting-full { padding:0 24px; }
  .partnerships-section { padding:64px 0 0; }
  .partnerships-inner { padding:0 24px 64px; }
  .services-grid, .programs-grid { grid-template-columns:1fr; }
  .serve-grid, .stats-row { grid-template-columns:1fr; }
  .vehicle-row { grid-template-columns:1fr 1fr; }
  .engage-strip { grid-template-columns:1fr; padding:48px 24px; gap:40px; }
  .engage-divider-h { display:none; }
  .engage-header { padding-right:0; }
  .form-row { grid-template-columns:1fr; }
  .form-wrap { padding:32px 24px; }
  .photo-divider { height:420px; }
  .profiles-strip { flex-direction:column; padding:28px 24px; }
  .criteria-grid { grid-template-columns:1fr; }
  .contracting-header { grid-template-columns:1fr; gap:24px; }
  footer { padding:24px; flex-direction:column; text-align:center; }
}
@media (max-width:480px) {
  .vehicle-row { grid-template-columns:1fr; }
  .readiness-grid { grid-template-columns:1fr; }
}

/* ── CARD LINKS (Selected Missions + Integrated Support) ── */
.card-link {
  display:block; text-decoration:none; color:inherit;
  transition:transform 0.25s ease, opacity 0.25s ease, box-shadow 0.25s ease;
}
.card-link:hover { transform:scale(1.015); opacity:0.96; }
.card-link:hover .program-card { box-shadow:0 10px 28px rgba(13,27,46,0.25); }
.card-link:hover .service-card { box-shadow:0 10px 28px rgba(13,27,46,0.12); }
.card-link:focus-visible { outline:2px solid var(--red); outline-offset:3px; }

/* ── COMING SOON SUBPAGE ── */
body.subpage { min-height:100vh; display:flex; flex-direction:column; }
body.subpage .coming-soon { flex:1; }
.coming-soon {
  display:flex; align-items:center; justify-content:center;
  padding:120px 48px 80px; background:var(--grey-bg);
}
.coming-soon-inner {
  max-width:720px; text-align:center;
}
.coming-soon-inner .red-line {
  width:60px; height:3px; background:var(--red); margin:0 auto 24px;
}
.coming-soon-inner .section-label { justify-content:center; }
.coming-soon-inner .section-label::after { display:none; }
.coming-soon h1 {
  font-family:"Libre Baskerville", serif; font-size:48px; line-height:1.2;
  color:var(--text-dark); margin:18px 0 18px; font-weight:700;
}
.coming-soon-tag {
  display:inline-block; font-family:"Bebas Neue", sans-serif;
  font-size:14px; letter-spacing:4px; color:var(--red); font-weight:600;
  padding:8px 18px; border:1px solid rgba(166,28,44,0.35);
  background:var(--white); margin-bottom:24px;
}
.coming-soon p {
  font-size:18px; line-height:1.7; color:var(--text-mid); margin-bottom:36px;
}
.back-link {
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--red); text-decoration:none; padding:14px 26px;
  border:1px solid var(--red); background:transparent; transition:all 0.2s;
}
.back-link:hover { background:var(--red); color:var(--white); }
@media (max-width:680px) {
  .coming-soon { padding:100px 24px 60px; }
  .coming-soon h1 { font-size:34px; }
}

/* ── SCROLL REVEAL ── */
.reveal {
  opacity:0;
  transform:translateY(28px);
  transition:opacity 0.7s ease, transform 0.7s cubic-bezier(0.2,0.7,0.2,1);
  will-change:opacity, transform;
}
.reveal.is-visible {
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
}
