/* Endgame Training & Consultation Solutions — Static Site v1
   Military-clean, calm, precise. Mobile-first. */
:root{
  --bg: #0f1418;
  --panel: #141c21;
  --panel2:#10171c;
  --text:#e8ecef;
  --muted:#aab4bc;
  --line:#2a3842;

  --olive:#4b5a3a;
  --khaki:#c8bfa8;
  --amber:#d9a441;
  --slate:#24303a;

  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 16px;
  --radius2: 12px;

  --max: 1120px;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: var(--sans);
  background: radial-gradient(1200px 600px at 20% 10%, rgba(75,90,58,.35), transparent 55%),
              radial-gradient(900px 500px at 85% 25%, rgba(217,164,65,.22), transparent 55%),
              linear-gradient(180deg, var(--bg), #0b1013 65%, #070b0d);
  color: var(--text);
  line-height:1.55;
}

a{color:inherit}
a:hover{opacity:.95}
img{max-width:100%;display:block}

.container{width:min(var(--max), calc(100% - 2rem)); margin-inline:auto}
.row{display:flex; gap:1rem; flex-wrap:wrap}
.spacer{height:32px}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem; width:auto; height:auto; padding:.6rem .8rem;
  background:var(--panel); border:1px solid var(--line); border-radius:10px; z-index:9999;
}

.topbar{
  position:sticky; top:0; z-index:1000;
  backdrop-filter: blur(10px);
  background: rgba(10,14,17,.65);
  border-bottom:1px solid rgba(42,56,66,.6);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 0;
  gap:1rem;
}
.brand{
  display:flex; align-items:center; gap:.75rem; text-decoration:none;
}
.mark{
  width:34px; height:34px; border-radius:10px;
  background: linear-gradient(145deg, rgba(217,164,65,.35), rgba(75,90,58,.35));
  border:1px solid rgba(200,191,168,.25);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);
  display:grid; place-items:center;
  font-family:var(--mono);
  letter-spacing:.03em;
  color: var(--khaki);
}
.brand h1{
  font-size:1rem; margin:0; font-weight:650; letter-spacing:.01em;
}
.brand small{
  display:block; color:var(--muted); font-weight:500; margin-top:.08rem;
  font-size:.8rem;
}
.navlinks{
  display:flex; gap:.8rem; align-items:center; flex-wrap:wrap;
  justify-content:flex-end;
}
.navlinks a{
  text-decoration:none;
  color: var(--muted);
  padding:.45rem .6rem;
  border-radius:10px;
  border:1px solid transparent;
}
.navlinks a[aria-current="page"]{
  color: var(--text);
  border-color: rgba(200,191,168,.18);
  background: rgba(20,28,33,.55);
}
.navlinks a:hover{
  color: var(--text);
  border-color: rgba(42,56,66,.9);
  background: rgba(20,28,33,.55);
}

.hero{
  padding: 3.1rem 0 1.7rem;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:1.25rem;
  align-items:stretch;
}
@media (max-width: 880px){
  .hero-grid{grid-template-columns:1fr}
}

.kicker{
  font-family: var(--mono);
  color: var(--khaki);
  opacity:.9;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
}
h2{
  margin:.55rem 0 0;
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height:1.12;
  letter-spacing:-.02em;
}
.lede{
  color: var(--muted);
  font-size: 1.05rem;
  margin: .9rem 0 1.3rem;
  max-width: 62ch;
}
.card{
  background: linear-gradient(180deg, rgba(20,28,33,.92), rgba(16,23,28,.92));
  border:1px solid rgba(42,56,66,.85);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card.pad{padding:1.2rem}
.card.pad-lg{padding:1.5rem}
.card h3{margin:0 0 .35rem; font-size:1.05rem}
.card p{margin:.25rem 0; color:var(--muted)}
.badge{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family: var(--mono);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--khaki);
  padding:.35rem .6rem;
  border-radius:999px;
  border:1px solid rgba(200,191,168,.22);
  background: rgba(10,14,17,.55);
}

.btns{display:flex; gap:.7rem; flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55rem;
  text-decoration:none;
  padding:.78rem 1rem;
  border-radius: 14px;
  border:1px solid rgba(42,56,66,.9);
  background: rgba(20,28,33,.7);
  color: var(--text);
  font-weight:650;
}
.btn:hover{border-color: rgba(200,191,168,.28)}
.btn.primary{
  background: linear-gradient(135deg, rgba(217,164,65,.28), rgba(75,90,58,.28));
  border-color: rgba(200,191,168,.22);
}
.btn.primary:hover{border-color: rgba(217,164,65,.55)}
.btn .muted{color:var(--muted); font-weight:600}

.hr{
  height:1px; background: rgba(42,56,66,.75); margin: 2rem 0;
}

.section{
  padding: 2.2rem 0;
}
.section h3.title{
  font-size:1.25rem;
  margin:0 0 .25rem;
}
.section p.subtitle{margin:0; color:var(--muted); max-width:72ch}

.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:1rem;
  margin-top:1.2rem;
}
@media (max-width: 980px){
  .grid3{grid-template-columns:1fr}
}

.icon{
  width:42px; height:42px;
  border-radius:14px;
  border:1px solid rgba(200,191,168,.2);
  background: linear-gradient(135deg, rgba(36,48,58,.85), rgba(20,28,33,.65));
  display:grid; place-items:center;
  font-family: var(--mono);
  color: var(--amber);
}

.list{
  margin:.7rem 0 0;
  padding-left: 1.1rem;
  color: var(--muted);
}
.list li{margin:.35rem 0}

.quote{
  padding:1.25rem 1.25rem 1.1rem;
  border-left: 3px solid rgba(217,164,65,.6);
  background: rgba(16,23,28,.75);
  border-radius: 14px;
  border:1px solid rgba(42,56,66,.8);
}
.quote p{margin:0;color:var(--text)}
.quote small{display:block;color:var(--muted);margin-top:.55rem}

.footer{
  padding: 2.2rem 0 2.6rem;
  border-top:1px solid rgba(42,56,66,.75);
  background: rgba(7,11,13,.65);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:1.2rem;
}
@media (max-width: 880px){.footer-grid{grid-template-columns:1fr}}
.footlinks a{display:inline-block; margin:.25rem .65rem .25rem 0; color:var(--muted); text-decoration:none}
.footlinks a:hover{color:var(--text)}

.callout{
  display:flex; gap:1rem; align-items:flex-start; flex-wrap:wrap;
}
.callout .mono{
  font-family: var(--mono);
  font-size:.82rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color: var(--khaki);
}
.input{
  width:100%;
  padding:.75rem .85rem;
  border-radius:12px;
  border:1px solid rgba(42,56,66,.9);
  background: rgba(10,14,17,.55);
  color:var(--text);
  outline:none;
}
.input:focus{border-color: rgba(217,164,65,.55)}
label{display:block; font-weight:650; margin:.75rem 0 .35rem}
form .row{gap:.9rem}
form .col{flex:1; min-width: 220px}
.note{color:var(--muted); font-size:.92rem}

.pillars{
  display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1rem;
}
.pillar{
  font-family: var(--mono);
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.4rem .65rem;
  border-radius:999px;
  border:1px solid rgba(42,56,66,.9);
  background: rgba(20,28,33,.6);
  color: var(--khaki);
}
