:root{
  --ink:#040b12;
  --navy:#06111d;
  --navy-2:#081725;
  --navy-3:#0b2031;
  --navy-4:#0f2a40;
  --gold:#d79212;
  --gold-bright:#f0ad28;
  --line:#8a6218;
  --white:#f6f7f8;
  --muted:#c3ccd4;
  --aqua:#74d8df;
  --focus:#ffbf47;
  --shell:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy)}
body{margin:0;min-width:320px;background:var(--navy);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#000;padding:.75rem 1rem;font-weight:800}
.skip-link:focus{top:1rem}
.shell{width:min(var(--shell),calc(100vw - 80px));margin-inline:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* HEADER — approved proportions, real links */
.site-header{background:linear-gradient(180deg,#071522 0%,#05101a 100%);border-bottom:1px solid var(--line)}
.header-row{min-height:78px;display:flex;align-items:center;gap:clamp(1rem,2vw,2.25rem)}
.brand-lockup{display:block;flex:0 0 clamp(285px,24vw,370px);text-decoration:none}
.brand-lockup img{width:100%;height:auto}
.primary-nav{margin-left:auto}
.primary-nav ul{list-style:none;display:flex;align-items:center;justify-content:flex-end;gap:clamp(.9rem,1.4vw,1.7rem);padding:0;margin:0}
.primary-nav a{display:block;text-decoration:none;font-weight:800;font-size:clamp(.82rem,.72vw,.93rem);padding:.5rem .1rem;border-bottom:2px solid transparent;white-space:nowrap}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--gold-bright);border-bottom-color:var(--gold-bright)}
.primary-nav .work-link{border:1px solid var(--gold);border-radius:5px;color:var(--gold-bright);padding:.52rem .78rem}

/* HOME HERO — three approved visual modules blended into one section */
.home-hero{width:min(var(--shell),calc(100vw - 80px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,36%) minmax(300px,28%) minmax(0,36%);min-height:365px;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--navy);overflow:visible}
.hero-military,.hero-operator{position:relative;overflow:hidden;min-height:365px;background:#030a11}
.hero-military img,.hero-operator img{width:100%;height:100%;object-fit:cover}
.hero-military img{object-position:38% center}
.hero-operator img{object-position:72% center}
.hero-military::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,18,.03),rgba(4,11,18,.25) 72%,rgba(4,11,18,.9))}
.hero-operator::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,18,.92),rgba(4,11,18,.10) 35%,rgba(4,11,18,.02))}
.hero-message{position:relative;z-index:3;width:calc(100% + 140px);margin-left:-70px;margin-right:-70px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1.25rem 1.55rem;background:linear-gradient(90deg,rgba(6,17,29,.96) 0%,#071522 50%,rgba(6,17,29,.96) 100%);box-shadow:-18px 0 28px rgba(0,0,0,.18),18px 0 28px rgba(0,0,0,.18)}
.hero-message h1{margin:0 0 .55rem;font-size:clamp(1.7rem,1.85vw,2.45rem);line-height:1.06;text-transform:uppercase;letter-spacing:.012em;text-shadow:0 2px 16px #000;max-width:520px}
.hero-message h1 span{display:block;color:var(--gold-bright)}
.hero-rule{width:min(330px,80%);height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);margin:.15rem auto 1rem;position:relative}
.hero-rule::after{content:"★";position:absolute;left:50%;top:50%;transform:translate(-50%,-53%);padding:0 .8rem;background:#071522;color:var(--gold-bright);font-size:1rem}
.hero-message p{margin:.22rem 0;color:#edf2f5;font-size:clamp(.82rem,.72vw,.92rem);max-width:520px}
.button-row{display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap;margin-top:1.35rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.5rem .85rem;border:2px solid var(--gold);border-radius:4px;background:linear-gradient(180deg,#efb43d,#d99719);color:#111;text-decoration:none;font-weight:900;font-size:.88rem}
.button.secondary{background:#071522;color:var(--gold-bright)}
.button:hover{filter:brightness(1.08)}

/* SHARED SECTION SYSTEM */
.section{padding:2.1rem 0;background:var(--navy)}
.section.alt{background:var(--navy-2)}
.section-head{max-width:760px;margin:0 auto 1.2rem;text-align:center}
.section-head .eyebrow{margin:0 0 .5rem;color:var(--gold-bright);font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.section-head h2{margin:0 0 .42rem;font-size:clamp(1.55rem,1.75vw,2.2rem);line-height:1.12}
#opportunities .section-head h2{font-size:clamp(1.15rem,1.35vw,1.65rem);line-height:1.12;max-width:800px;margin:0 auto .42rem}
.section-head p{margin:0;color:var(--muted);font-size:1.05rem}

/* CAPABILITIES — exactly five equal dark cards */
.capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:var(--line);gap:1px}
.capability{min-height:175px;padding:.9rem .8rem;text-align:center;background:linear-gradient(180deg,#0c2234,#081725)}
.capability svg{width:38px;height:38px;margin:0 auto .6rem;stroke:var(--gold-bright);fill:none;stroke-width:1.8}
.capability h3{margin:0 0 .65rem;font-size:1.08rem;text-transform:uppercase;line-height:1.17}
.capability p{margin:0;color:var(--muted);font-size:.95rem}

/* HOME MID-BAND */
.mission-band{border-block:1px solid var(--line);background:linear-gradient(90deg,#07131f,#0b2031 50%,#07131f)}
.mission-grid{width:min(var(--shell),calc(100vw - 80px));margin-inline:auto;display:grid;grid-template-columns:1.08fr .92fr;min-height:285px;border-inline:1px solid var(--line)}
.mission-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.35rem,2.4vw,2.4rem)}
.mission-copy .eyebrow{color:var(--gold-bright);text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin:0 0 .6rem}
.mission-copy h2{font-size:clamp(1.5rem,1.65vw,2.05rem);margin:0 0 .5rem}
.mission-copy p{color:var(--muted);font-size:.92rem;max-width:650px}
.check-list{list-style:none;padding:0;margin:.8rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .9rem;font-size:.9rem}
.check-list li{position:relative;padding-left:1.55rem}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--gold-bright);font-weight:900}
.mission-image{overflow:hidden;min-height:285px}
.mission-image img{width:100%;height:100%;object-fit:cover;object-position:58% center}

/* CAREERS HERO */
.careers-hero{width:min(var(--shell),calc(100vw - 80px));margin-inline:auto;display:grid;grid-template-columns:minmax(330px,40%) minmax(0,60%);height:auto;min-height:320px;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);background:#06111d;overflow:visible}
.careers-copy{display:flex;flex-direction:column;justify-content:flex-start;padding:1.35rem 1.55rem 1.15rem;background:linear-gradient(110deg,#071522,#0a1e2e);overflow:visible}
.careers-copy .eyebrow{margin:0 0 .45rem;color:var(--gold-bright);font-size:.82rem;font-weight:900;line-height:1.25;text-transform:uppercase;letter-spacing:.1em}
.careers-copy h1{margin:0 0 .2rem;font-size:clamp(1.9rem,2.25vw,2.65rem);line-height:1}
.careers-copy h2{margin:0 0 .55rem;color:var(--gold-bright);font-size:clamp(1.05rem,1.25vw,1.4rem);line-height:1.25;text-transform:uppercase}
.careers-copy p{margin:.25rem 0;color:#e8eef2;max-width:600px;font-size:.84rem;line-height:1.42}
.priority{margin:.55rem 0 0;padding:.58rem .72rem;border-left:4px solid var(--gold-bright);background:#10283a;font-size:.8rem;line-height:1.38;font-weight:800}
.careers-photo{overflow:hidden;height:auto;min-height:320px;background:#02080d}
.careers-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}

/* CAREERS BRANCHES */
.branches-panel{border:1px solid var(--line);background:#071522;padding:.9rem 1rem .75rem}
.branches-heading{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:0 0 .7rem;text-align:center;color:#eef0f2;font-size:clamp(1.15rem,1.35vw,1.65rem);text-transform:uppercase;letter-spacing:.025em}
.branches-heading::before,.branches-heading::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-bright))}
.branches-heading::after{background:linear-gradient(90deg,var(--gold-bright),transparent)}
.branches-heading span{color:var(--gold-bright);font-size:.85em}
.branches-panel img{width:min(820px,86%);max-height:145px;object-fit:contain;margin:auto}
.branch-note{text-align:center;color:var(--muted);margin:.55rem auto 0;max-width:850px;font-size:.88rem}

/* CAREERS QUALIFICATIONS */
.qual-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:var(--line);gap:1px}
.qual-card{min-height:145px;padding:.9rem;background:#0b2031}
.qual-card h3{margin:0 0 .55rem;color:var(--gold-bright);font-size:1.02rem;text-transform:uppercase}
.qual-card p{margin:0;color:var(--muted);font-size:.94rem}
.qual-card.priority-card{background:#10283a;box-shadow:inset 0 0 0 2px var(--gold)}

/* CTA */
.cta-band{position:relative;width:min(var(--shell),calc(100vw - 80px));margin-inline:auto;border:1px solid var(--line);background:url("../images/hero-military-scene.png") center 65%/cover no-repeat;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,20,.97),rgba(4,12,20,.74),rgba(4,12,20,.45))}
.cta-inner{position:relative;z-index:1;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.8rem}
.cta-copy h2{margin:0 0 .3rem;color:var(--gold-bright);font-size:clamp(1.25rem,1.55vw,1.7rem);line-height:1.1;text-transform:uppercase}
.cta-copy p{margin:0;color:#e8eef2;max-width:780px}

/* FOOTER — match approved horizontal module */
.site-footer{background:#06111d;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.25fr .55fr .75fr;gap:clamp(1.25rem,2.4vw,2.8rem);align-items:center;padding:1.45rem 0}
.footer-corporate{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.8rem;align-items:center}
.footer-corporate img{width:66px;height:66px;object-fit:contain}
.trade-name{font-size:.82rem;text-transform:uppercase;letter-spacing:.085em;color:#e6ebee}
.corp-name{margin:.15rem 0 .25rem;color:var(--aqua);font-size:clamp(1rem,.95vw,1.2rem);font-weight:800}
.copyright{color:var(--muted);font-size:.9rem}
.site-footer h3{margin:0 0 .75rem;color:var(--gold-bright);font-size:1rem;text-transform:uppercase}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.45rem 0}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.contact-line{color:var(--muted);margin:.45rem 0}
.footer-slogan{margin-top:.7rem;color:#e1e6e9;text-transform:uppercase;letter-spacing:.13em;font-size:.8rem}

@media(max-width:1250px){
  .hero-message{width:auto;margin-left:0;margin-right:0;box-shadow:none}
  .header-row{flex-direction:column;align-items:flex-start;padding:1rem 0;gap:.55rem}
  .brand-lockup{flex-basis:auto;width:min(545px,100%)}
  .primary-nav{width:100%;margin-left:0}
  .primary-nav ul{justify-content:flex-start;flex-wrap:wrap}
  .home-hero{grid-template-columns:38% 62%;min-height:600px}
  .hero-message{grid-column:2;grid-row:1;align-items:flex-start;text-align:left;background:linear-gradient(90deg,rgba(6,17,29,.94),rgba(6,17,29,.80))}
  .hero-rule{margin-left:0}
  .hero-operator{display:none}
  .capability-grid,.qual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mission-grid{grid-template-columns:1fr}
  .mission-image{min-height:390px}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .careers-hero{display:grid;grid-template-columns:1fr;height:auto;min-height:0}
  .careers-copy{padding:1.5rem}
  .careers-photo{height:330px;min-height:330px}
}

@media(max-width:720px){
  .shell{width:92vw}
  .brand-lockup{width:min(470px,100%)}
  .home-hero{display:block;min-height:auto}
  .hero-military{height:330px;min-height:330px}
  .hero-message{align-items:center;text-align:center;padding:2.8rem 1.2rem}
  .hero-rule{margin-inline:auto}
  .capability-grid,.qual-grid{grid-template-columns:1fr}
  .check-list{grid-template-columns:1fr}
  .branches-heading{font-size:1.25rem}
  .branches-heading::before,.branches-heading::after{display:none}
  .cta-inner{flex-direction:column;align-items:flex-start;padding:2rem 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-corporate{grid-template-columns:80px 1fr}
  .footer-corporate img{width:75px;height:75px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:1500px){.shell{width:1180px}.home-hero,.careers-hero,.mission-grid,.cta-band{width:1180px}}

.corp-name a{color:inherit;text-decoration:none}
.corp-name a:hover,.corp-name a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

.careers-copy .button-row{margin-top:.85rem;margin-bottom:0}

/* CTA inner-shell correction: keep content safely inside bounded CTA */
.cta-band > .shell{
  width:100%;
  margin:0;
}
.cta-inner{
  padding-left:24px;
  padding-right:24px;
}
.cta-inner .button{
  flex:0 0 auto;
  margin-right:0;
}

@media(max-width:720px){
  .cta-inner{
    padding-left:18px;
    padding-right:18px;
  }
}


/* Header lockup clearance: keep VSG shield above the gold divider */
.header-row{
  padding-top:6px;
  padding-bottom:10px;
}
.brand-lockup img{
  max-height:104px;
  width:auto;
  max-width:100%;
  object-fit:contain;
}

/* Careers team: show the entire source image instead of cropping the right edge */
.careers-photo{
  display:flex;
  align-items:center;
  justify-content:center;
}
.careers-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#02080d;
}

@media(max-width:900px){
  .brand-lockup img{
    max-height:96px;
  }
}
