/* ============================================================
   PARAMIL SECURITY GROUP — TACTICAL DESIGN SYSTEM
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Rajdhani:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* Brand colors from logo */
  --navy-deep: #0a1628;
  --navy: #11223d;
  --navy-mid: #182e4d;
  --navy-light: #1f3a5f;
  --gold: #d4a341;
  --gold-bright: #e8b850;
  --gold-deep: #a37d2c;
  --gold-faded: rgba(212, 163, 65, 0.15);

  /* Neutrals */
  --black: #050a14;
  --charcoal: #0f1722;
  --steel: #2a3850;
  --steel-light: #4a5a76;
  --bone: #e8e4dc;
  --bone-dim: #b5b0a4;
  --white: #ffffff;

  /* Signals */
  --red-alert: #c8362f;
  --green-go: #4a9d5f;

  /* Typography */
  --font-display: 'Oswald', 'Impact', sans-serif;
  --font-tactical: 'Rajdhani', 'Oswald', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  /* Spacing */
  --gap-xs: 0.5rem;
  --gap-sm: 1rem;
  --gap-md: 2rem;
  --gap-lg: 4rem;
  --gap-xl: 6rem;
  --gap-xxl: 8rem;

  /* Effects */
  --grid-pattern: linear-gradient(rgba(212, 163, 65, 0.04) 1px, transparent 1px),
                  linear-gradient(90deg, rgba(212, 163, 65, 0.04) 1px, transparent 1px);
}

/* ============================================================ RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background: var(--black);
  color: var(--bone);
  line-height: 1.6;
  font-size: 16px;
  overflow-x: hidden;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg { max-width: 100%; display: block; }
a { color: var(--gold); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--gold-bright); }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* ============================================================ TYPE */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--white);
}
.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--gold);
}
.eyebrow.center::before { display: none; }
.eyebrow.center { justify-content: center; }

h1, .h1 { font-size: clamp(2.5rem, 6vw, 5.5rem); letter-spacing: -0.01em; }
h2, .h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3, .h3 { font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
h4, .h4 { font-size: 1.25rem; letter-spacing: 0.04em; }
h5 { font-size: 1rem; letter-spacing: 0.08em; }

p { color: var(--bone-dim); max-width: 70ch; }
strong { color: var(--bone); font-weight: 600; }

/* ============================================================ LAYOUT */
.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.section { padding: clamp(4rem, 9vw, 8rem) 0; position: relative; }
.section--dark { background: var(--charcoal); }
.section--darker { background: var(--black); }
.section--navy {
  background: linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
}

/* Tactical grid overlay */
.grid-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--grid-pattern);
  background-size: 60px 60px;
  pointer-events: none;
  opacity: 0.6;
}

/* ============================================================ TACTICAL UI ELEMENTS */
.bracket-frame {
  position: relative;
  padding: 1.5rem;
}
.bracket-frame::before,
.bracket-frame::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid var(--gold);
}
.bracket-frame::before {
  top: 0; left: 0;
  border-right: 0; border-bottom: 0;
}
.bracket-frame::after {
  bottom: 0; right: 0;
  border-left: 0; border-top: 0;
}

.corner-brackets {
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.corner-brackets > .cb {
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid var(--gold);
  pointer-events: none;
  z-index: 2;
}
.corner-brackets > .cb-tl { top: -2px; left: -2px; border-right: 0; border-bottom: 0; }
.corner-brackets > .cb-tr { top: -2px; right: -2px; border-left: 0; border-bottom: 0; }
.corner-brackets > .cb-bl { bottom: -2px; left: -2px; border-right: 0; border-top: 0; }
.corner-brackets > .cb-br { bottom: -2px; right: -2px; border-left: 0; border-top: 0; }

/* Stamp */
.stamp {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--gold);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(212, 163, 65, 0.05);
}
.stamp .dot {
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--gold);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Tactical divider */
.tac-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.tac-divider::before, .tac-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ============================================================ BUTTONS */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.75rem;
  font-family: var(--font-tactical);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border: 1px solid transparent;
  transition: all 0.25s ease;
  position: relative;
  cursor: pointer;
  white-space: nowrap;
}
.btn--primary {
  background: var(--gold);
  color: var(--navy-deep);
  border-color: var(--gold);
}
.btn--primary:hover {
  background: var(--gold-bright);
  color: var(--navy-deep);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(212, 163, 65, 0.35);
}
.btn--ghost {
  background: transparent;
  color: var(--bone);
  border-color: rgba(232, 228, 220, 0.3);
}
.btn--ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(212, 163, 65, 0.05);
}
.btn--gold-outline {
  background: transparent;
  color: var(--gold);
  border-color: var(--gold);
}
.btn--gold-outline:hover {
  background: var(--gold);
  color: var(--navy-deep);
}
.btn .arrow {
  display: inline-block;
  transition: transform 0.25s ease;
}
.btn:hover .arrow { transform: translateX(4px); }

/* ============================================================ HEADER */
.header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: rgba(5, 10, 20, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(212, 163, 65, 0.15);
  transition: all 0.3s ease;
}
.header__top {
  background: var(--gold);
  color: var(--navy-deep);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  padding: 0.4rem 0;
}
.header__top-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.header__top-inner .item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.header__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  gap: 2rem;
  height: 56px;            /* slim header row height — logo overflows this */
  position: relative;
}
/* Compact Call-Now (and any header CTA) so the right-side strip stays slim */
.header__cta .btn,
.header__main .btn {
  padding: 0.45rem 1.1rem;
  font-size: 0.8rem;
}
.header__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  height: 100%;
  flex-shrink: 0;
}
.header__logo-shield {
  height: 42px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5));
}
.header__logo-wordmark {
  height: 22px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}
/* Legacy nav rules removed — see POLISH NAV section at end of file. */
.header__cta { display: inline-flex; }
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 0.5rem;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.menu-toggle span {
  width: 26px; height: 2px;
  background: var(--gold);
  transition: all 0.25s ease;
  border-radius: 2px;
}

/* ============================================================ HERO */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 160px 0 80px;
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,10,20,0.92) 0%, rgba(5,10,20,0.78) 28%, rgba(5,10,20,0.35) 55%, rgba(5,10,20,0.15) 100%),
    linear-gradient(180deg, transparent 0%, transparent 70%, var(--black) 100%);
}
.hero__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}
.hero__title {
  font-size: clamp(2.5rem, 6.5vw, 5rem);
  line-height: 1;
  margin: 1.5rem 0 1.75rem;
  font-weight: 700;
}
.hero__title .accent { color: var(--gold); }
.hero__sub {
  font-size: 1.15rem;
  color: var(--bone);
  max-width: 580px;
  margin-bottom: 2.5rem;
  line-height: 1.55;
}
.hero__cta-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.hero__trust {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  padding-top: 2rem;
  border-top: 1px solid rgba(212, 163, 65, 0.2);
}
.hero__trust .item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
}
.hero__trust .item svg {
  color: var(--gold);
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

/* Animated scan line — removed for cleaner hero; kept for interior page hero only */
.page-hero .hero__scan {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0.4;
  animation: scan 8s linear infinite;
  z-index: 2;
}
@keyframes scan {
  0% { top: 0; }
  100% { top: 100%; }
}

/* Hero coordinates ticker */
.hero__coords {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--gold);
  letter-spacing: 0.15em;
  z-index: 2;
  text-align: right;
  line-height: 1.8;
}
.hero__coords .label { color: var(--bone-dim); }

/* ============================================================ SECTION HEADING */
.section-head {
  margin-bottom: 4rem;
  max-width: 800px;
}
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head h2 {
  margin: 1rem 0 1.25rem;
}
.section-head p {
  font-size: 1.1rem;
  color: var(--bone-dim);
}

/* ============================================================ ABOUT PREVIEW */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.about-grid__img {
  position: relative;
  aspect-ratio: 1 / 1;
}
.about-grid__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: contrast(1.05) saturate(0.9);
}
.about-grid__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(212, 163, 65, 0.2);
}
.stat__num {
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.stat__num .plus { font-size: 1.5rem; }
.stat__label {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
  margin-top: 0.5rem;
}

/* ============================================================ SERVICES GRID */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.service-card {
  position: relative;
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.15);
  padding: 2rem 1.75rem;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
  min-height: 280px;
  overflow: hidden;
}
.service-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.service-card:hover {
  background: var(--navy-deep);
  border-color: var(--gold);
  transform: translateY(-4px);
}
.service-card:hover::before { transform: scaleX(1); }
.service-card__num {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--gold);
}
.service-card__icon {
  width: 40px; height: 40px;
  color: var(--gold);
  margin-bottom: 0.5rem;
}
.service-card__icon svg { width: 100%; height: 100%; }
.service-card__title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--white);
  line-height: 1.1;
}
.service-card__desc {
  font-size: 0.92rem;
  color: var(--bone-dim);
  line-height: 1.5;
}
.service-card__more {
  margin-top: auto;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 1rem;
}

/* ============================================================ CORE VALUES */
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
@media (max-width: 960px) {
  .values-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .values-grid { grid-template-columns: 1fr; }
}
.value-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(212, 163, 65, 0.2);
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
}
.value-card:hover {
  background: rgba(212, 163, 65, 0.05);
  border-color: var(--gold);
  transform: translateY(-3px);
}
.value-card__icon {
  width: 36px; height: 36px;
  color: var(--gold);
  margin: 0 auto 1rem;
}
.value-card__icon svg { width: 100%; height: 100%; }
.value-card__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 0.85rem;
}
.value-card__desc {
  font-size: 0.875rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

/* ============================================================ CAPABILITIES (Feature row) */
.capabilities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2.5rem;
  margin-top: 4rem;
}
.capability {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.capability__num {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  color: var(--gold);
}
.capability__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-top: 1rem;
  border-top: 1px solid rgba(212, 163, 65, 0.3);
}
.capability__desc {
  color: var(--bone-dim);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* ============================================================ TESTIMONIALS */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
.review-card {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.15);
  padding: 2.5rem 2rem;
  position: relative;
}
.review-card__stars {
  color: var(--gold);
  letter-spacing: 0.2em;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
.review-card__quote {
  font-family: var(--font-body);
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--bone);
  margin-bottom: 2rem;
  font-style: italic;
}
.review-card__attrib {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(212, 163, 65, 0.15);
}
.review-card__attrib .name { color: var(--white); }
.review-card__attrib .role { color: var(--bone-dim); }

/* ============================================================ CTA BAND */
.cta-band {
  position: relative;
  padding: 6rem 0;
  background:
    linear-gradient(135deg, rgba(10, 22, 40, 0.95) 0%, rgba(17, 34, 61, 0.95) 100%),
    url('../images/hero_operators.png') center/cover;
  text-align: center;
  overflow: hidden;
}
.cta-band::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--grid-pattern);
  background-size: 50px 50px;
  opacity: 0.5;
}
.cta-band__content {
  position: relative;
  z-index: 2;
}
.cta-band h2 {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  margin: 1rem 0 1.5rem;
}
.cta-band p {
  font-size: 1.1rem;
  color: var(--bone);
  max-width: 640px;
  margin: 0 auto 2.5rem;
}

/* ============================================================ FOOTER */
.footer {
  background: var(--navy-deep);
  border-top: 2px solid var(--gold);
  padding-top: 4rem;
  position: relative;
}
.footer::before {
  content: "";
  position: absolute;
  top: -2px; left: 0;
  width: 100px; height: 2px;
  background: var(--gold-bright);
  box-shadow: 0 0 12px var(--gold);
}
.footer__main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 3rem;
}
.footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1.25rem;
}
.footer__logo-shield { height: 56px; width: auto; display: block; }
.footer__logo-wordmark { height: 22px; width: auto; display: block; }
.footer__brand p {
  color: var(--bone-dim);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}
.footer__heading {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(212, 163, 65, 0.3);
}
.footer__list li { margin-bottom: 0.6rem; }
.footer__list a {
  color: var(--bone-dim);
  font-size: 0.88rem;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}
.footer__list a:hover {
  color: var(--gold);
  padding-left: 6px;
}
.footer__bottom {
  border-top: 1px solid rgba(212, 163, 65, 0.15);
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

/* ============================================================ INTERIOR PAGE HERO */
.page-hero {
  position: relative;
  padding: calc(120px + 4rem) 0 5rem;
  background: var(--navy-deep);
  overflow: hidden;
  border-bottom: 1px solid rgba(212, 163, 65, 0.15);
}
.page-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--grid-pattern);
  background-size: 40px 40px;
  opacity: 0.4;
}
.page-hero__bg {
  position: absolute; inset: 0;
  z-index: 0;
}
.page-hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.25;
}
.page-hero__bg::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10, 22, 40, 0.7) 0%, var(--navy-deep) 100%);
}
.page-hero__content {
  position: relative;
  z-index: 2;
}
.page-hero__breadcrumb {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bone-dim);
  margin-bottom: 1.5rem;
}
.page-hero__breadcrumb .sep { color: var(--gold); margin: 0 0.5rem; }
.page-hero__breadcrumb a { color: var(--bone-dim); }
.page-hero__breadcrumb a:hover { color: var(--gold); }
.page-hero__title {
  font-size: clamp(2.5rem, 5.5vw, 4.5rem);
  margin-bottom: 1.5rem;
  line-height: 1;
}
.page-hero__sub {
  font-size: 1.15rem;
  color: var(--bone);
  max-width: 640px;
}

/* ============================================================ CONTENT (body) */
.prose {
  max-width: 760px;
}
.prose p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--bone);
  margin-bottom: 1.5rem;
  max-width: 70ch;
}
.prose h2 {
  font-size: 1.75rem;
  margin: 3rem 0 1.25rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(212, 163, 65, 0.2);
}
.prose h3 {
  font-size: 1.4rem;
  margin: 2rem 0 1rem;
}
.prose ul {
  margin: 1rem 0 1.5rem;
  list-style: none;
  padding-left: 0;
}
.prose ul li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.75rem;
  color: var(--bone);
  font-size: 1rem;
  line-height: 1.6;
}
.prose ul li::before {
  content: "►";
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--gold);
  font-size: 0.7rem;
}

/* Inline page layout for service detail */
.detail-grid {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 4rem;
  align-items: start;
}
.detail-side {
  position: sticky;
  top: 140px;
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.2);
  padding: 2rem 1.75rem;
}
.detail-side h4 {
  font-family: var(--font-display);
  color: var(--gold);
  margin-bottom: 1rem;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
}
.detail-side ul li {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(212, 163, 65, 0.1);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-tactical);
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bone-dim);
  cursor: pointer;
  transition: color 0.2s ease;
}
.detail-side ul li:last-child { border-bottom: none; }
.detail-side ul li:hover { color: var(--gold); }
.detail-side ul li.active { color: var(--gold); }
.detail-side ul li .num {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--gold);
}
.detail-side .btn { width: 100%; justify-content: center; margin-top: 1.5rem; }

/* ============================================================ FEATURE LIST (two-column) */
.feature-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 2rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}
.feature-list li {
  position: relative;
  padding: 1rem 1rem 1rem 2rem;
  background: rgba(212, 163, 65, 0.03);
  border-left: 2px solid var(--gold);
  font-size: 0.95rem;
  color: var(--bone);
}
.feature-list li::before {
  content: "■";
  position: absolute;
  left: 0.5rem;
  top: 1rem;
  color: var(--gold);
  font-size: 0.7rem;
}

/* ============================================================ NUMBERED PROCESS */
.process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}
.process-step {
  position: relative;
  padding: 2rem;
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.15);
}
.process-step__num {
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  opacity: 0.4;
  position: absolute;
  top: 1rem; right: 1.25rem;
}
.process-step h4 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}
.process-step p {
  font-size: 0.92rem;
  color: var(--bone-dim);
  line-height: 1.55;
}

/* ============================================================ FORM */
.form {
  background: var(--charcoal);
  padding: 3rem 2.5rem;
  border: 1px solid rgba(212, 163, 65, 0.2);
  position: relative;
}
.form::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 80px; height: 3px;
  background: var(--gold);
}
.form__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.6rem;
}
.form__field {
  margin-bottom: 1.5rem;
}
.form__input, .form__textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  background: var(--black);
  border: 1px solid rgba(212, 163, 65, 0.25);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 0.95rem;
  transition: border-color 0.2s ease;
}
.form__input:focus, .form__textarea:focus {
  outline: none;
  border-color: var(--gold);
}
.form__textarea {
  resize: vertical;
  min-height: 130px;
}
.form__checkboxes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.form__check {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 0.85rem;
  background: var(--black);
  border: 1px solid rgba(212, 163, 65, 0.2);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.88rem;
  color: var(--bone);
}
.form__check:hover { border-color: var(--gold); }
.form__check input { accent-color: var(--gold); }
.form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.form .btn { margin-top: 1rem; width: 100%; justify-content: center; }

/* Contact split */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 4rem;
  align-items: start;
}
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.contact-info__item {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.02);
  border-left: 3px solid var(--gold);
}
.contact-info__item h4 {
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--gold);
  letter-spacing: 0.1em;
  margin-bottom: 0.75rem;
}

/* ============================================================ MOBILE */
@media (max-width: 920px) {
  .header__nav { display: none; }
  .menu-toggle { display: flex; }
  /* Keep Call Now visible on mobile, but compact */
  .header__cta {
    display: inline-flex;
    padding: 0.55rem 0.9rem;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    margin-left: auto;
  }
  .header__cta .arrow { display: none; }
  .about-grid { grid-template-columns: 1fr; gap: 3rem; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-side { position: relative; top: 0; }
  .footer__main { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .contact-grid { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .feature-list { grid-template-columns: 1fr; }
  .header__top-inner { font-size: 0.6rem; letter-spacing: 0.15em; gap: 0.5rem; }
  /* On tablet hide the middle 'veteran owned' badge; keep phone on right */
  .header__top-inner .item:nth-child(2) { display: none; }
  .header__phone { font-size: 0.7rem; }
  .hero {
    padding: 62vh 0 60px;
    min-height: 105vh;
    align-items: flex-end;
    display: flex;
  }
  .hero__bg {
    top: 56px;             /* start at the bottom of the slim main header */
    height: 65vh;
    bottom: auto;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,0.85) 70%, rgba(0,0,0,0.5) 85%, rgba(0,0,0,0) 100%);
            mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,0.85) 70%, rgba(0,0,0,0.5) 85%, rgba(0,0,0,0) 100%);
  }
  .hero__bg img {
    object-position: center top;
    object-fit: cover;
  }
  .hero__bg::after {
    background: transparent;
  }
  .hero__content { max-width: 100%; }
  .hero__coords { display: none; }

  /* Mobile drawer is handled by .drawer styles in the POLISH NAV section. */
}

@media (max-width: 600px) {
  .container { padding: 0 1.25rem; }
  .footer__main { grid-template-columns: 1fr; }
  .form { padding: 2rem 1.5rem; }
  .hero__trust { gap: 1rem; }
  .hero__trust .item { font-size: 0.7rem; }
  .header__top-inner .item:first-child span:nth-child(2) { display: none; }
  /* Mobile: compact logo sizing */
  .header__logo { gap: 0.5rem; }
  .header__logo-shield { height: 36px; }
  .header__logo-wordmark { height: 18px; }
  .header__phone { font-size: 0.65rem; }

  /* Hero CTA row: stack full-width, allow text to wrap so the consultation
     button never overflows the viewport on narrow screens. */
  .hero__cta-row { flex-direction: column; align-items: stretch; gap: 0.85rem; }
  .hero__cta-row .btn {
    width: 100%;
    white-space: normal;
    padding: 1rem 1.1rem;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-align: center;
    justify-content: center;
  }
  .hero__cta-row .btn .arrow { display: none; }
}

/* ============================================================ POLISH PASS — added in v2 */

/* Skip link for a11y */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--gold);
  color: var(--navy-deep);
  padding: 0.75rem 1.25rem;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  z-index: 1000;
  font-weight: 600;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

/* Universal focus state */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 1px;
}

/* Header phone CTA in top strip */
.header__phone {
  color: var(--navy-deep) !important;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem !important;
}
.header__phone svg { width: 12px; height: 12px; }
.header__phone:hover { text-decoration: underline; }

/* Footer phone link */
.footer__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: var(--gold);
  letter-spacing: 0.02em;
  margin-top: 0.5rem;
  border: 1px solid rgba(212, 163, 65, 0.35);
  padding: 0.6rem 1rem;
  transition: all 0.2s ease;
}
.footer__phone svg { width: 18px; height: 18px; }
.footer__phone:hover {
  background: rgba(212, 163, 65, 0.08);
  border-color: var(--gold);
  color: var(--gold-bright);
}

/* Codify h2 spacing — remove need for inline styles */
.section-head h2,
.about-grid h2 {
  margin: 1.25rem 0 1.5rem;
}
.text-balance { text-wrap: balance; }

/* Tier-2 (secondary text) CTA — for the "and one more" group */
.btn--text {
  padding: 0.5rem 0;
  color: var(--gold);
  background: transparent;
  border: none;
  border-bottom: 1px solid transparent;
  text-transform: uppercase;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.2em;
}
.btn--text:hover { border-bottom-color: var(--gold); color: var(--gold-bright); }

/* Scroll-reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero__scan, .stamp .dot { animation: none; }
}

/* Service card polish — accent on hover */
.service-card { will-change: transform; }
.service-card:hover .service-card__more { color: var(--gold-bright); }
.service-card:hover .service-card__more span { transform: translateX(4px); display: inline-block; transition: transform 0.25s ease; }

/* Capability card refinement */
.capability img {
  border: 1px solid rgba(212, 163, 65, 0.2);
  transition: filter 0.3s ease;
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}
.capability:hover img {
  filter: brightness(1.08);
  border-color: var(--gold);
}

/* CTA band fix — was referring to .png */
.cta-band {
  background:
    linear-gradient(135deg, rgba(10, 22, 40, 0.95) 0%, rgba(17, 34, 61, 0.95) 100%),
    url('../images/hero_operators.jpg') center/cover !important;
}

/* Trust strip — industries served */
.trust-strip {
  background: var(--charcoal);
  border-top: 1px solid rgba(212, 163, 65, 0.15);
  border-bottom: 1px solid rgba(212, 163, 65, 0.15);
  padding: 2rem 0;
}

/* ============================================================ SECTORS PANEL
   Redesigned "Engagements Across" — split intro + 3x2 sector cards. */
.sectors-panel {
  position: relative;
  padding: 6rem 0 6.5rem;
  background:
    linear-gradient(180deg, rgba(5,10,20,0.96) 0%, rgba(10,22,40,0.96) 100%);
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
  overflow: hidden;
}
.sectors-panel__bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(212, 163, 65, 0.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(212, 163, 65, 0.06) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 50%, #000 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
          mask-image: radial-gradient(ellipse 90% 70% at 50% 50%, #000 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
  opacity: 0.6;
  pointer-events: none;
}
.sectors-panel .container { position: relative; z-index: 1; }
.sectors-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 4rem;
  align-items: start;
}

/* INTRO COLUMN */
.sectors-panel__intro { position: sticky; top: 120px; }
.sectors-panel__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #fff;
  margin: 0.75rem 0 1.25rem;
}
.sectors-panel__title .accent { color: var(--gold); display: inline-block; }
.sectors-panel__desc {
  color: var(--bone);
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 460px;
  margin: 0 0 2rem;
  opacity: 0.88;
}
.sectors-panel__meta {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(212, 163, 65, 0.18);
}
.sectors-panel__metric { line-height: 1; }
.sectors-panel__metric-num {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 1.85rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.02em;
}
.sectors-panel__metric-lbl {
  display: block;
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bone);
  opacity: 0.78;
  margin-top: 0.55rem;
}

/* CARDS COLUMN */
.sectors-panel__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}
.sector-card {
  position: relative;
  background: linear-gradient(180deg, rgba(17, 34, 61, 0.55) 0%, rgba(10, 22, 40, 0.55) 100%);
  border: 1px solid rgba(212, 163, 65, 0.16);
  padding: 1.6rem 1.35rem 1.4rem;
  overflow: hidden;
  transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}
.sector-card::before {
  /* top gold accent line */
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-bright) 50%, transparent 100%);
  opacity: 0.85;
}
.sector-card::after {
  /* faint diagonal sheen */
  content: '';
  position: absolute;
  top: 0; right: -40%;
  width: 60%; height: 100%;
  background: linear-gradient(115deg, transparent 0%, rgba(212,163,65,0.06) 50%, transparent 100%);
  transform: translateX(0);
  transition: transform 0.5s ease;
  pointer-events: none;
}
.sector-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
  background: linear-gradient(180deg, rgba(24, 46, 77, 0.75) 0%, rgba(15, 30, 55, 0.7) 100%);
}
.sector-card:hover::after { transform: translateX(-30%); }
.sector-card__num {
  position: absolute;
  top: 0.9rem;
  right: 1.1rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--gold);
  opacity: 0.55;
}
.sector-card__icon {
  width: 36px;
  height: 36px;
  color: var(--gold);
  margin: 0.25rem 0 1.1rem;
}
.sector-card__icon svg { width: 100%; height: 100%; }
.sector-card__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 0.55rem;
  line-height: 1.2;
}
.sector-card__desc {
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--bone);
  opacity: 0.86;
  margin: 0;
}

@media (max-width: 1024px) {
  .sectors-panel__grid { grid-template-columns: 1fr; gap: 2.75rem; }
  .sectors-panel__intro { position: static; }
  .sectors-panel__desc { max-width: 100%; }
}
@media (max-width: 720px) {
  .sectors-panel { padding: 4rem 0 4.5rem; }
  .sectors-panel__cards { grid-template-columns: repeat(2, 1fr); gap: 0.85rem; }
  .sectors-panel__meta { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .sectors-panel__metric-num { font-size: 1.55rem; }
}
@media (max-width: 460px) {
  .sectors-panel__cards { grid-template-columns: 1fr; }
}
.trust-strip__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.trust-strip__label {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--gold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.trust-strip__items {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
  flex: 1;
  justify-content: flex-end;
}
.trust-strip__item {
  font-family: var(--font-tactical);
  font-size: 0.85rem;
  color: var(--bone-dim);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* NFLPA badge */
.nflpa-badge {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border: 2px solid var(--gold);
  background: rgba(212, 163, 65, 0.06);
  margin: 1rem 0 2rem;
}
.nflpa-badge__icon {
  width: 36px;
  height: 36px;
  color: var(--gold);
  flex-shrink: 0;
}
.nflpa-badge__icon svg { width: 100%; height: 100%; }
.nflpa-badge__text {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 600;
}
.nflpa-badge__text strong { color: var(--white); display: block; font-size: 1rem; }

/* Service-area indicator */
.coverage-strip {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--bone-dim);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  background: rgba(212, 163, 65, 0.04);
  border-left: 2px solid var(--gold);
}
.coverage-strip strong { color: var(--gold); font-family: var(--font-display); }

/* Review filter tags */
.review-card__tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  color: var(--gold);
  text-transform: uppercase;
  border: 1px solid rgba(212, 163, 65, 0.4);
  padding: 0.2rem 0.5rem;
  margin-bottom: 1.25rem;
}

/* FAQ accordion */
.faq-list { display: flex; flex-direction: column; gap: 0.75rem; }
.faq-item {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.15);
  transition: border-color 0.2s ease, opacity 0.25s ease, transform 0.25s ease;
}
.faq-item:hover { border-color: rgba(212, 163, 65, 0.35); }
.faq-item.is-hidden { display: none; }
.faq-item summary {
  cursor: pointer;
  padding: 1.4rem 1.75rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem 1.25rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item__cat {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--gold);
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  border: 1px solid rgba(212, 163, 65, 0.3);
  background: rgba(212, 163, 65, 0.05);
}
.faq-item__q { line-height: 1.4; }
.faq-item__chev {
  color: var(--gold);
  font-size: 1.5rem;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  font-family: var(--font-display);
  font-weight: 300;
}
.faq-item[open] .faq-item__chev { transform: rotate(45deg); }
.faq-item__body {
  padding: 0 1.75rem 1.5rem;
  color: var(--bone);
  font-size: 1rem;
  line-height: 1.7;
}

/* Team grid */
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}
.team-card {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.15);
  padding: 2rem 1.75rem;
  transition: all 0.3s ease;
}
.team-card:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
}
.team-card__role {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  text-transform: uppercase;
}
.team-card__name {
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0.75rem 0 0.5rem;
}
.team-card__bg {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--bone-dim);
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.team-card__bio {
  font-size: 0.95rem;
  color: var(--bone-dim);
  line-height: 1.6;
}

/* Case studies */
.case-card {
  background: var(--charcoal);
  border-left: 3px solid var(--gold);
  padding: 2rem 2rem 2rem 2.5rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.case-card__tag {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  text-transform: uppercase;
}
.case-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  margin: 0.5rem 0 1rem;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.case-card__body { color: var(--bone-dim); line-height: 1.7; font-size: 0.98rem; }
.case-card__meta {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.25rem;
  flex-wrap: wrap;
  padding-top: 1rem;
  border-top: 1px solid rgba(212, 163, 65, 0.15);
}
.case-card__meta div { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; color: var(--gold); text-transform: uppercase; }
.case-card__meta div span { color: var(--bone-dim); }

/* Form validation visual feedback */
.form__input:invalid:not(:placeholder-shown),
.form__textarea:invalid:not(:placeholder-shown) {
  border-color: var(--red-alert);
}
.form__input:valid:not(:placeholder-shown) {
  border-color: rgba(74, 157, 95, 0.5);
}
.form__status {
  margin-top: 1.25rem;
  padding: 1rem 1.25rem;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  display: none;
}
.form__status.show { display: block; }
.form__status.success {
  background: rgba(74, 157, 95, 0.1);
  border-left: 3px solid var(--green-go);
  color: var(--bone);
}
.form__status.error {
  background: rgba(200, 54, 47, 0.1);
  border-left: 3px solid var(--red-alert);
  color: var(--bone);
}

/* Mobile polish */
@media (max-width: 920px) {
  .footer__phone { font-size: 1.1rem; }
  .trust-strip__row { justify-content: center; }
  .trust-strip__items { justify-content: center; gap: 1.5rem; }
}
@media (max-width: 600px) {
  .nflpa-badge { flex-direction: column; text-align: center; padding: 1.25rem; }
}

/* ============================================================ POLISH LAYER
   Texture, soft rounding, depth — applied last so it overrides earlier rules. */

:root {
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --shadow-soft: 0 6px 24px rgba(0, 0, 0, 0.25);
  --shadow-lift: 0 14px 40px rgba(0, 0, 0, 0.45);
  --shadow-gold: 0 10px 30px rgba(212, 163, 65, 0.28);
  /* Subtle noise as data URI for tactile texture on gold surfaces */
  --noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/></svg>");
}

/* ---- Buttons: gradient + inner highlight + soft shadow + noise ---- */
.btn {
  border-radius: var(--radius-md);
  font-weight: 700;
  letter-spacing: 0.12em;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.22s ease,
              background 0.22s ease,
              color 0.22s ease,
              border-color 0.22s ease;
  isolation: isolate;
}
.btn::after {
  /* texture + sheen overlay */
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: var(--noise),
    linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 38%);
  background-size: 160px 160px, 100% 100%;
  background-blend-mode: overlay, normal;
  mix-blend-mode: overlay;
  pointer-events: none;
  opacity: 0.55;
  z-index: 1;
}
.btn > * { position: relative; z-index: 2; }

.btn--primary {
  background: linear-gradient(180deg, #e4b855 0%, var(--gold) 50%, #b5892f 100%);
  border-color: rgba(0, 0, 0, 0.18);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.35) inset,
    0 -1px 0 rgba(0, 0, 0, 0.25) inset,
    0 6px 18px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(212, 163, 65, 0.4);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
.btn--primary:hover {
  background: linear-gradient(180deg, #f0c668 0%, var(--gold-bright) 55%, #c79735 100%);
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 -1px 0 rgba(0, 0, 0, 0.25) inset,
    var(--shadow-gold),
    0 14px 40px rgba(0, 0, 0, 0.45);
}
.btn--primary:active {
  transform: translateY(0);
  box-shadow:
    0 -1px 0 rgba(255, 255, 255, 0.25) inset,
    0 1px 0 rgba(0, 0, 0, 0.3) inset,
    0 3px 10px rgba(0, 0, 0, 0.4);
}

.btn--ghost {
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.005));
  border-color: rgba(232, 228, 220, 0.22);
  box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset, 0 4px 14px rgba(0,0,0,0.25);
}
.btn--ghost::after { opacity: 0.25; }
.btn--ghost:hover {
  background: linear-gradient(180deg, rgba(212,163,65,0.10), rgba(212,163,65,0.04));
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset,
              0 10px 28px rgba(0,0,0,0.4),
              0 0 0 1px rgba(212, 163, 65, 0.35);
  transform: translateY(-2px);
}

.btn--gold-outline {
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(212,163,65,0.05), rgba(212,163,65,0));
  box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset;
}
.btn--gold-outline::after { opacity: 0.2; }
.btn--gold-outline:hover {
  background: linear-gradient(180deg, #e4b855 0%, var(--gold) 50%, #b5892f 100%);
  color: var(--navy-deep);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.4) inset,
    var(--shadow-gold);
}

/* Header CTA — slightly tighter radius to feel pill-like in tight space */
.header__cta { border-radius: var(--radius-md); }

/* ---- Cards: soft rounding + tactile shadows ---- */
.service-card,
.value-card,
.review-card,
.capability,
.team-card,
.case-card,
.faq-item,
.nflpa-badge,
.trust-strip,
.coverage-strip {
  border-radius: var(--radius-lg);
}

.service-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0) 50%),
    var(--charcoal);
  box-shadow: var(--shadow-soft);
}
.service-card::before {
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
}
.service-card:hover {
  box-shadow: var(--shadow-lift), 0 0 0 1px rgba(212,163,65,0.45);
  transform: translateY(-6px);
}

.value-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}
.value-card:hover {
  box-shadow: var(--shadow-soft), 0 0 0 1px rgba(212,163,65,0.45);
}

.review-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)),
    var(--charcoal);
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(212, 163, 65, 0.15);
}

.capability img {
  border-radius: var(--radius-md);
}

.team-card,
.case-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)),
    var(--charcoal);
  box-shadow: var(--shadow-soft);
}

.faq-item {
  background: rgba(255, 255, 255, 0.02);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
.faq-item summary {
  border-radius: var(--radius-lg);
}
.faq-item[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ---- Inputs: rounding + inner depth ---- */
.form__input, .form__textarea, select.form__input {
  border-radius: var(--radius-md);
  box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset,
              0 2px 8px rgba(0, 0, 0, 0.25) inset;
}
.form__input:focus, .form__textarea:focus {
  box-shadow: 0 0 0 3px rgba(212, 163, 65, 0.25),
              0 2px 8px rgba(0, 0, 0, 0.25) inset;
}

/* Checkboxes — round corners slightly */
.form__check input[type="checkbox"] {
  border-radius: var(--radius-xs);
}

/* ---- Badges / strips ---- */
.nflpa-badge {
  background:
    linear-gradient(180deg, rgba(212,163,65,0.10), rgba(212,163,65,0.02)),
    var(--navy-deep);
  box-shadow: var(--shadow-soft);
}

.trust-strip,
.coverage-strip {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)),
    rgba(255, 255, 255, 0.015);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

/* ---- Eyebrow tags / pills ---- */
.review-card__tag,
.case-card__tag {
  border-radius: 999px;
  padding: 0.3rem 0.7rem;
}

/* ---- Tactical hero badge (AUTHORIZED · TIER 1 OPERATIONS) ---- */
.hero__badge,
.eyebrow-badge,
.page-hero__badge {
  border-radius: var(--radius-sm);
}

/* ---- Service-card more arrow micro-interaction polish ---- */
.service-card__more {
  transition: color 0.25s ease, gap 0.25s ease;
}
.service-card:hover .service-card__more { gap: 0.75rem; }

/* ---- Image / logo polish ---- */
.header__logo img { transition: transform 0.4s cubic-bezier(0.16,1,0.3,1); }
.header__logo:hover .header__logo-shield { transform: scale(1.05); }

/* ---- Focus ring uniformity (gold, smooth) ---- */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

/* ---- Reduce hover lift for users who prefer reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .btn:hover,
  .service-card:hover,
  .value-card:hover,
  .review-card:hover { transform: none; }
}

/* ============================================================ POLISH NAV
   Refined desktop nav + mega-menu + mobile drawer. */

/* ---- Desktop nav: refined links with elegant underline ---- */
.header__nav {
  display: flex;
  align-items: center;
  gap: 1.35rem;
}
@media (min-width: 1280px) { .header__nav { gap: 1.6rem; } }
.nav__link {
  color: var(--bone);
  font-family: var(--font-tactical);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  position: relative;
  padding: 0.6rem 0;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: color 0.2s ease;
  text-decoration: none;
  white-space: nowrap;
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  height: 2px;
  width: 100%;
  background: var(--gold);
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 2px;
}
.nav__link:hover,
.nav__link.active,
.nav__link[aria-expanded="true"] { color: var(--gold); }
.nav__link:hover::after,
.nav__link.active::after,
.nav__link[aria-expanded="true"]::after { transform: scaleX(1); }

.nav__link .chev {
  width: 12px; height: 12px;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav__link--has-mega[aria-expanded="true"] .chev,
.nav__has-mega:hover .nav__link--has-mega .chev { transform: rotate(180deg); }

/* ---- Mega-menu (desktop services dropdown) ---- */
.nav__has-mega { position: relative; }
.mega {
  position: fixed;            /* break out of header to span full width */
  left: 0; right: 0;
  top: var(--header-h, 94px); /* set per layout below */
  background:
    linear-gradient(180deg, rgba(212,163,65,0.04), rgba(212,163,65,0) 30%),
    rgba(10, 16, 30, 0.98);
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.16,1,0.3,1);
  z-index: 50;
}
.nav__has-mega:hover .mega,
.nav__has-mega:focus-within .mega {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.mega__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 2rem 2.25rem;
}
.mega__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(212, 163, 65, 0.12);
}
.mega__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  color: var(--gold);
  text-transform: uppercase;
}
.mega__viewall {
  font-family: var(--font-tactical);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone);
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 0.4rem;
  transition: color 0.2s ease, gap 0.25s ease;
}
.mega__viewall .chev { width: 12px; height: 12px; transform: rotate(-90deg); }
.mega__viewall:hover { color: var(--gold); gap: 0.6rem; }

.mega__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem 1.25rem;
}
@media (min-width: 1080px) {
  .mega__inner { padding: 2rem 2rem 2.25rem; max-width: 1320px; }
  .mega__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .mega__inner { max-width: 1440px; }
  .mega__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.mega__tile {
  display: flex;
  gap: 0.9rem;
  padding: 0.85rem 0.9rem;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  text-decoration: none;
  color: inherit;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  align-items: flex-start;
}
.mega__tile:hover {
  background: rgba(212, 163, 65, 0.06);
  border-color: rgba(212, 163, 65, 0.28);
  transform: translateX(2px);
}
.mega__icon {
  flex: 0 0 auto;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, rgba(212,163,65,0.18), rgba(212,163,65,0.05));
  border: 1px solid rgba(212, 163, 65, 0.25);
  color: var(--gold);
  transition: background 0.2s ease, border-color 0.2s ease;
}
.mega__icon svg { width: 20px; height: 20px; }
.mega__tile:hover .mega__icon {
  background: linear-gradient(180deg, rgba(212,163,65,0.28), rgba(212,163,65,0.10));
  border-color: rgba(212, 163, 65, 0.5);
}
.mega__text { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.mega__title {
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white);
  line-height: 1.1;
}
.mega__blurb {
  font-size: 0.78rem;
  color: var(--bone-dim);
  line-height: 1.35;
}

/* CTA icon polish */
.header__cta-icon {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 16px; height: 16px;
  margin-right: 0.55rem;
}
.header__cta-icon svg { width: 100%; height: 100%; }

/* ---- Hamburger animation when open ---- */
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Mobile drawer ---- */
.drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 88vw);
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(212,163,65,0.10), transparent 60%),
    linear-gradient(180deg, #0d1424 0%, #060a14 100%);
  border-left: 1px solid rgba(212, 163, 65, 0.22);
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.5);
  z-index: 200;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.drawer.open { transform: translateX(0); }
.drawer-overlay {
  position: fixed; inset: 0;
  background: rgba(2, 6, 14, 0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 199;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.drawer-overlay.open { opacity: 1; pointer-events: auto; }

.drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid rgba(212, 163, 65, 0.15);
}
.drawer__logo { display: inline-flex; align-items: center; gap: 0.55rem; text-decoration: none; }
.drawer__logo-shield { height: 42px; width: auto; display: block; }
.drawer__logo-wordmark { height: 16px; width: auto; display: block; }
.drawer__close {
  background: rgba(212, 163, 65, 0.08);
  border: 1px solid rgba(212, 163, 65, 0.25);
  color: var(--gold);
  width: 44px; height: 44px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.25s cubic-bezier(0.16,1,0.3,1);
}
.drawer__close svg { width: 18px; height: 18px; }
.drawer__close:hover { background: rgba(212, 163, 65, 0.18); transform: rotate(90deg); }

.drawer__nav {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.5rem 0.75rem 1rem;
  -webkit-overflow-scrolling: touch;
}
.drawer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.05rem 1rem;
  color: var(--bone);
  font-family: var(--font-tactical);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.drawer__link:hover,
.drawer__link.active {
  background: rgba(212, 163, 65, 0.06);
  border-color: rgba(212, 163, 65, 0.18);
  color: var(--white);
}

/* Services accordion inside drawer */
.drawer__group { display: block; }
.drawer__summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.drawer__summary::-webkit-details-marker { display: none; }
.drawer__summary .chev {
  width: 16px; height: 16px;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
  color: var(--gold);
}
.drawer__group[open] .drawer__summary { color: var(--gold); background: rgba(212, 163, 65, 0.06); border-color: rgba(212, 163, 65, 0.22); }
.drawer__group[open] .drawer__summary .chev { transform: rotate(180deg); }

.drawer__sub-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0.5rem 0.25rem 0.75rem;
  animation: drawerFade 0.3s ease;
}
@keyframes drawerFade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.drawer__sub {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  color: var(--bone-dim);
  font-family: var(--font-tactical);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius-sm);
  border-left: 2px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.drawer__sub:hover { color: var(--white); background: rgba(212, 163, 65, 0.05); border-left-color: var(--gold); }
.drawer__sub--all { color: var(--gold); font-weight: 700; }
.drawer__sub-icon {
  width: 28px; height: 28px;
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-xs);
  background: rgba(212, 163, 65, 0.08);
  border: 1px solid rgba(212, 163, 65, 0.22);
  color: var(--gold);
}
.drawer__sub-icon svg { width: 14px; height: 14px; }

.drawer__foot {
  padding: 1rem 1.25rem 1.5rem;
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.drawer__cta { width: 100%; justify-content: center; padding: 1rem 1.25rem; font-size: 0.95rem; }
.drawer__meta {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  color: var(--bone-dim);
  text-transform: uppercase;
  text-align: center;
  display: inline-flex; align-items: center; gap: 0.5rem;
  justify-content: center;
}
.drawer__meta .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #5ee37a;
  box-shadow: 0 0 8px rgba(94, 227, 122, 0.65);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 6px rgba(94, 227, 122, 0.5); }
  50%      { box-shadow: 0 0 14px rgba(94, 227, 122, 0.9); }
}

/* ---- Hide drawer on desktop / show on mobile ---- */
@media (min-width: 921px) {
  .drawer, .drawer-overlay { display: none !important; }
}
@media (max-width: 920px) {
  .header__nav { display: none; }
  .menu-toggle { display: flex; }
  .mega { display: none; }
  body.drawer-open { overflow: hidden; }
}

/* Keep prior compact CTA rules; override here for clarity */
@media (max-width: 920px) {
  .header__cta {
    padding: 0.55rem 0.95rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    margin-left: auto;
  }
  .header__cta-icon { width: 14px; height: 14px; margin-right: 0.4rem; }
}
@media (max-width: 480px) {
  .header__cta span:last-child { display: inline; }
}

/* ============================================================================
   EXECUTIVE LEADERSHIP CARDS (Andrew / Bo)
   ============================================================================ */
.exec-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 2.5rem;
  max-width: 980px;
}
.exec-card {
  position: relative;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 0;
  background: linear-gradient(180deg, var(--charcoal) 0%, #161a22 100%);
  border: 1px solid rgba(212, 163, 65, 0.18);
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  box-shadow: var(--shadow-lift, 0 12px 30px rgba(0,0,0,0.35));
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.exec-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 30%, var(--gold) 70%, transparent 100%);
  opacity: 0.55;
  pointer-events: none;
}
.exec-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 163, 65, 0.45);
  box-shadow: 0 18px 44px rgba(0,0,0,0.5), 0 0 0 1px rgba(212,163,65,0.15);
}
.exec-card__media {
  position: relative;
  background:
    radial-gradient(120% 80% at 50% 30%, rgba(212,163,65,0.10) 0%, transparent 60%),
    linear-gradient(180deg, #1a2030 0%, #0e131c 100%);
  overflow: hidden;
}
.exec-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, rgba(15, 20, 30, 0.55) 100%);
  pointer-events: none;
}
.exec-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
  filter: contrast(1.03) saturate(0.95);
}
.exec-card__body {
  padding: 1.75rem 1.75rem 1.85rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.exec-card__role {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 0.45rem;
}
.exec-card__name {
  font-family: var(--font-display);
  font-size: 1.85rem;
  letter-spacing: 0.04em;
  color: var(--bone);
  text-transform: uppercase;
  margin: 0 0 0.25rem;
  line-height: 1.05;
}
.exec-card__creds {
  font-family: var(--font-tactical, var(--font-mono));
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: var(--bone-dim);
  text-transform: uppercase;
  margin-bottom: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
}
.exec-card__bio {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--bone-dim);
  margin: 0;
}

@media (max-width: 1024px) {
  .exec-card { grid-template-columns: 260px 1fr; }
}
@media (max-width: 640px) {
  .exec-card { grid-template-columns: 1fr; }
  .exec-card__media { aspect-ratio: 4 / 3; }
  .exec-card__media::after {
    background: linear-gradient(180deg, transparent 60%, rgba(15, 20, 30, 0.6) 100%);
  }
  .exec-card__body { padding: 1.5rem 1.4rem 1.6rem; }
  .exec-card__name { font-size: 1.55rem; }
}

/* Cadre note (under exec principals) */
.cadre-note {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 3rem;
  align-items: start;
  max-width: 1100px;
}
.cadre-note__body p {
  margin: 0 0 1rem;
  color: var(--bone-dim);
  line-height: 1.7;
}
.cadre-note__body p:last-child { margin-bottom: 0; }
.cadre-note__head h2 { margin-top: 0.5rem; }
@media (max-width: 768px) {
  .cadre-note { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* ================================================================
   NEW COMPONENTS — Phase 2 (Industries, Insights, Press, Why)
   ================================================================ */

/* ---- STAT COUNTER STRIP ---- */
.stat-strip {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
  padding: 2.25rem 0;
}
.stat-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: center;
}
.stat-strip__item {
  text-align: center;
  padding: 0 1rem;
  border-right: 1px solid rgba(212, 163, 65, 0.12);
}
.stat-strip__item:last-child { border-right: 0; }
.stat-strip__num {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  color: var(--gold);
  letter-spacing: 0.02em;
  line-height: 1;
}
.stat-strip__num .plus, .stat-strip__num .sm {
  color: var(--gold-bright);
  font-size: 0.7em;
  margin-left: 0.1em;
}
.stat-strip__num .sm { font-size: 0.55em; opacity: 0.85; }
.stat-strip__label {
  font-family: 'Rajdhani', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  color: var(--bone);
  margin-top: 0.6rem;
  opacity: 0.88;
}
@media (max-width: 900px) {
  .stat-strip__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1rem; }
  .stat-strip__item:nth-child(2) { border-right: 0; }
}
@media (max-width: 500px) {
  .stat-strip__grid { grid-template-columns: 1fr; }
  .stat-strip__item { border-right: 0; border-bottom: 1px solid rgba(212,163,65,0.1); padding-bottom: 1.25rem; }
  .stat-strip__item:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* ---- WHY PARAMIL GRID ---- */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.why-card {
  background: rgba(10, 22, 40, 0.55);
  border: 1px solid rgba(212, 163, 65, 0.18);
  padding: 2rem 1.75rem;
  border-top: 3px solid var(--gold);
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.why-card:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
  background: rgba(15, 30, 55, 0.7);
}
.why-card__icon {
  width: 44px;
  height: 44px;
  color: var(--gold);
  margin-bottom: 1.25rem;
}
.why-card__icon svg { width: 100%; height: 100%; }
.why-card__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 0.85rem;
  line-height: 1.25;
}
.why-card__desc {
  color: var(--bone);
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
  opacity: 0.92;
}
@media (max-width: 900px) {
  .why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .why-grid { grid-template-columns: 1fr; }
}

/* ---- INDUSTRY VERTICALS GRID ---- */
.verticals-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.vertical-card {
  display: flex;
  flex-direction: column;
  background: rgba(17, 34, 61, 0.55);
  border: 1px solid rgba(212, 163, 65, 0.18);
  border-top: 3px solid var(--gold);
  padding: 2.25rem 1.85rem;
  text-decoration: none;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
  min-height: 360px;
}
.vertical-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
  background: rgba(24, 46, 77, 0.75);
}
.vertical-card__icon {
  width: 48px;
  height: 48px;
  color: var(--gold);
  margin-bottom: 1.5rem;
}
.vertical-card__icon svg { width: 100%; height: 100%; }
.vertical-card__title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.55rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 1rem;
  letter-spacing: 0.03em;
}
.vertical-card__desc {
  color: var(--bone);
  font-size: 0.97rem;
  line-height: 1.65;
  margin: 0 0 1.25rem;
}
.vertical-card__capabilities {
  font-size: 0.85rem;
  line-height: 1.55;
  color: var(--bone);
  opacity: 0.82;
  border-top: 1px solid rgba(212, 163, 65, 0.15);
  padding-top: 1rem;
  margin-top: auto;
}
.vertical-card__capabilities strong {
  color: var(--gold);
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.vertical-card__more {
  color: var(--gold);
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.85rem;
  margin-top: 1rem;
  font-weight: 600;
}
@media (max-width: 900px) {
  .verticals-grid { grid-template-columns: 1fr; }
}

/* ---- ADJACENT (small) SECTOR CARDS ---- */
.adjacent-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.adjacent-card {
  background: rgba(10, 22, 40, 0.5);
  border: 1px solid rgba(212, 163, 65, 0.12);
  padding: 1.5rem 1.4rem;
  border-left: 2px solid var(--gold);
}
.adjacent-card h4 {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 1.02rem;
  color: var(--gold);
  margin: 0 0 0.6rem;
}
.adjacent-card p {
  color: var(--bone);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
  opacity: 0.88;
}
@media (max-width: 850px) { .adjacent-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 550px) { .adjacent-grid { grid-template-columns: 1fr; } }

/* ---- INSIGHTS POST CARDS GRID ---- */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.post-card {
  display: flex;
  flex-direction: column;
  background: rgba(17, 34, 61, 0.55);
  border: 1px solid rgba(212, 163, 65, 0.16);
  border-top: 3px solid var(--gold);
  padding: 2rem 1.75rem;
  text-decoration: none;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
  min-height: 280px;
}
.post-card:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
  background: rgba(24, 46, 77, 0.75);
}
.post-card__tag {
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--gold);
  margin-bottom: 1rem;
  display: block;
}
.post-card__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 1rem;
  letter-spacing: 0.01em;
}
.post-card__excerpt {
  color: var(--bone);
  font-size: 0.93rem;
  line-height: 1.6;
  margin: 0 0 1.25rem;
  opacity: 0.9;
}
.post-card__meta {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bone);
  opacity: 0.7;
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.post-card__more {
  margin-top: auto;
  color: var(--gold);
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 600;
}
@media (max-width: 900px) { .posts-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .posts-grid { grid-template-columns: 1fr; } }

/* ---- POST PROSE (article body) ---- */
.post-prose h2 {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.85rem;
  letter-spacing: 0.02em;
  margin: 3rem 0 1.25rem;
  color: #fff;
  border-top: 1px solid rgba(212, 163, 65, 0.2);
  padding-top: 2rem;
}
.post-prose h3 {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 2rem 0 0.85rem;
}
.post-prose p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--bone);
  margin: 0 0 1.25rem;
}
.post-prose p a, .post-prose li a {
  color: var(--gold);
  border-bottom: 1px solid rgba(212, 163, 65, 0.4);
}
.post-prose p a:hover, .post-prose li a:hover { color: var(--gold-bright); border-color: var(--gold-bright); }
.pullquote {
  border-left: 3px solid var(--gold);
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin: 2rem 0;
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: 1.45rem;
  line-height: 1.4;
  color: #fff;
  font-style: normal;
  letter-spacing: 0.01em;
}
.callout {
  background: rgba(212, 163, 65, 0.08);
  border-left: 3px solid var(--gold);
  padding: 1.4rem 1.5rem;
  margin: 2rem 0;
}
.callout .eyebrow {
  color: var(--gold);
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
  display: block;
}
.callout p { margin: 0; font-size: 0.98rem; line-height: 1.65; color: var(--bone); }

/* ---- PRESS LIST ---- */
.press-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 920px;
}
.press-item {
  background: rgba(17, 34, 61, 0.55);
  border: 1px solid rgba(212, 163, 65, 0.16);
  border-left: 3px solid var(--gold);
  padding: 1.75rem 1.85rem;
  transition: transform 0.2s ease, background 0.2s ease;
}
.press-item:hover { transform: translateX(4px); background: rgba(24, 46, 77, 0.7); }
.press-item__meta {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.8rem;
  color: var(--bone);
  opacity: 0.85;
  flex-wrap: wrap;
}
.press-item__date { color: var(--gold); font-weight: 600; }
.press-item__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.02em;
  color: #fff;
  margin: 0 0 0.85rem;
  line-height: 1.3;
}
.press-item__excerpt {
  color: var(--bone);
  font-size: 0.97rem;
  line-height: 1.65;
  margin: 0 0 0.85rem;
}
.press-item__more {
  font-family: 'Rajdhani', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--gold);
  opacity: 0.88;
}

/* ============================================================
   PHASE 1 ADDITIONS — Direct Contact, FAQ Layout, Careers Layout
   ============================================================ */

/* Direct Contact Strip on Contact page */
.direct-contact .eyebrow { margin-bottom: 2rem; display: block; }
.direct-contact__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}
.direct-contact__card {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.18);
  padding: 2.25rem 1.75rem;
  text-decoration: none;
  color: inherit;
  display: block;
  position: relative;
  transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
}
.direct-contact__card:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
  background: rgba(212, 163, 65, 0.04);
}
.direct-contact__icon {
  width: 32px; height: 32px;
  color: var(--gold);
  margin-bottom: 1.25rem;
}
.direct-contact__icon svg { width: 100%; height: 100%; }
.direct-contact__label {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.direct-contact__value {
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: var(--white);
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
  line-height: 1.2;
  word-break: break-word;
}
.direct-contact__meta {
  font-size: 0.825rem;
  color: var(--bone-dim, rgba(255,255,255,0.55));
  line-height: 1.5;
}

/* FAQ 2-column layout */
.faq-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  align-items: start;
}
.faq-sidebar__sticky {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.faq-filters {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}
.faq-filter {
  background: transparent;
  border: 1px solid rgba(212, 163, 65, 0.18);
  color: var(--bone, rgba(255,255,255,0.75));
  padding: 0.8rem 1.1rem;
  text-align: left;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}
.faq-filter:hover {
  border-color: var(--gold);
  color: var(--white);
}
.faq-filter.is-active {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy-deep);
}
.faq-sidebar__cta {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.2);
  padding: 1.75rem 1.5rem;
}
.faq-sidebar__cta-icon {
  width: 28px; height: 28px; color: var(--gold); margin-bottom: 0.75rem;
}
.faq-sidebar__cta-icon svg { width: 100%; height: 100%; }
.faq-sidebar__cta-label {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.faq-sidebar__cta-text {
  font-size: 0.9rem;
  color: var(--bone);
  margin: 0 0 1rem;
  line-height: 1.55;
}
.faq-sidebar__cta-phone {
  display: block;
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--white);
  text-decoration: none;
  margin-bottom: 1.25rem;
  letter-spacing: 0.02em;
}
.faq-sidebar__cta-phone:hover { color: var(--gold); }
.btn--full { display: inline-flex; width: 100%; justify-content: center; }
@media (max-width: 860px) {
  .faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .faq-sidebar__sticky { position: static; }
  .faq-filters { flex-direction: row; flex-wrap: wrap; }
  .faq-filter { flex: 1 0 auto; text-align: center; }
}

/* Careers 2-column layout */
.careers-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 4rem;
  align-items: start;
}
.careers-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 90px;
}
.careers-sidebar__panel {
  background: var(--charcoal);
  border: 1px solid rgba(212, 163, 65, 0.2);
  padding: 1.75rem;
}
.careers-sidebar__panel--accent {
  border-color: rgba(212, 163, 65, 0.35);
  background: linear-gradient(180deg, rgba(212,163,65,0.04), rgba(212,163,65,0.01));
}
.careers-tracks {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: flex;
  flex-direction: column;
}
.careers-tracks li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(212, 163, 65, 0.12);
  align-items: start;
}
.careers-tracks li:first-child { border-top: 0; padding-top: 0; }
.careers-tracks__num {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--gold);
  letter-spacing: 0.1em;
  padding-top: 0.2rem;
}
.careers-tracks li strong {
  display: block;
  font-family: var(--font-display);
  font-size: 0.95rem;
  color: var(--white);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.careers-tracks li span:not(.careers-tracks__num) {
  display: block;
  font-size: 0.825rem;
  color: var(--bone);
  line-height: 1.5;
}
.careers-standards {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}
.careers-standards li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0;
  font-size: 0.9rem;
  color: var(--bone);
}
.careers-standards__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-size: 0.75rem;
  flex-shrink: 0;
}
@media (max-width: 960px) {
  .careers-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .careers-sidebar { position: static; }
}

/* ============================================================================
   PHASE 2/3/4 — Audit Implementation
   ============================================================================ */

/* Tall page-hero variant — for interior pages with imagery */
.page-hero--tall { min-height: 58vh; padding-top: 8rem; padding-bottom: 4rem; display:flex; align-items:flex-end; }
.page-hero--tall .page-hero__bg img { object-position: center; opacity: 0.72; }
.page-hero--tall .page-hero__bg::after { display:none; }
.page-hero--tall::after {
  content: ''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,22,40,0.45) 0%, rgba(10,22,40,0.75) 70%, var(--navy-deep) 100%),
    linear-gradient(90deg, rgba(10,22,40,0.55) 0%, rgba(10,22,40,0.1) 50%, rgba(10,22,40,0.0) 100%);
  z-index: 1; pointer-events: none;
}
.page-hero--tall .page-hero__content { position:relative; z-index:2; }
@media (max-width: 760px) {
  .page-hero--tall { min-height: 48vh; padding-top: 6rem; }
}

/* Case briefs (A2) — dramatic numbered visual cards */
.case-briefs { max-width: 1200px; }
.case-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr);
  gap: 0;
  margin-bottom: 4rem;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(212,163,65,0.18);
  position: relative;
  overflow: hidden;
}
.case-brief:nth-child(even) { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr); }
.case-brief:nth-child(even) .case-brief__media { order: 2; }
.case-brief__media {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: var(--navy-deep);
}
.case-brief__media img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(20%) contrast(1.05) brightness(0.75);
  transition: filter .5s ease, transform .8s ease;
}
.case-brief:hover .case-brief__media img { filter: grayscale(0%) contrast(1.1) brightness(0.85); transform: scale(1.03); }
.case-brief__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(10,22,40,0.4) 0%, rgba(10,22,40,0.15) 50%, rgba(212,163,65,0.18) 100%);
}
.case-brief__num {
  position: absolute; top: 1.25rem; left: 1.25rem; z-index: 2;
  font-family: var(--font-mono); font-size: 0.85rem; letter-spacing: 0.12em;
  color: var(--gold-bright); font-weight: 600;
}
.case-brief__redact {
  position: absolute; bottom: 1.25rem; right: 1.25rem; z-index: 2;
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.25em;
  color: var(--gold);
  background: rgba(0,0,0,0.5);
  padding: 4px 10px;
  border: 1px solid rgba(212,163,65,0.4);
  text-transform: uppercase;
}
.case-brief__body { padding: 2.5rem 2.25rem; display: flex; flex-direction: column; justify-content: center; }
.case-brief__head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; }
.case-brief__tag {
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.18em;
  color: var(--gold); font-weight: 600;
  padding: 4px 10px; border: 1px solid rgba(212,163,65,0.4);
}
.case-brief__ts {
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em;
  color: rgba(255,255,255,0.5);
}
.case-brief__title {
  font-family: var(--font-display); font-size: 1.75rem; line-height: 1.15;
  font-weight: 600; color: var(--bone); margin: 0 0 1rem;
}
.case-brief__body-text { color: rgba(255,255,255,0.78); font-size: 0.95rem; line-height: 1.65; margin-bottom: 1.5rem; }
.case-brief__metrics {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(212,163,65,0.18);
  border-bottom: 1px solid rgba(212,163,65,0.18);
  margin-bottom: 1.5rem;
}
.case-brief__metric { display: flex; flex-direction: column; gap: 4px; }
.case-brief__metric .k { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.18em; color: rgba(255,255,255,0.5); }
.case-brief__metric .v { font-family: var(--font-tactical); font-size: 1rem; color: var(--gold-bright); font-weight: 600; }
.case-brief__cta {
  font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.12em;
  color: var(--gold); text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
  align-self: flex-start;
}
.case-brief__cta:hover { color: var(--gold-bright); }
.case-brief__cta .arrow { transition: transform .25s ease; }
.case-brief__cta:hover .arrow { transform: translateX(4px); }
@media (max-width: 860px) {
  .case-brief, .case-brief:nth-child(even) { grid-template-columns: 1fr; }
  .case-brief:nth-child(even) .case-brief__media { order: 0; }
  .case-brief__media { min-height: 240px; }
  .case-brief__body { padding: 1.75rem 1.5rem; }
  .case-brief__title { font-size: 1.4rem; }
}

/* Cadre stats (A6, also W2 counters) */
.cadre-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 3rem 0 2rem; border: 1px solid rgba(212,163,65,0.2); }
.cadre-stat { padding: 2rem 1.5rem; text-align: center; border-right: 1px solid rgba(212,163,65,0.15); position: relative; }
.cadre-stat:last-child { border-right: 0; }
.cadre-stat__num { font-family: var(--font-tactical); font-size: 3rem; font-weight: 700; color: var(--gold-bright); line-height: 1; margin-bottom: .5rem; letter-spacing: 0.01em; }
.cadre-stat__label { font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.08em; color: rgba(255,255,255,0.7); line-height: 1.4; }
@media (max-width: 760px) {
  .cadre-stats { grid-template-columns: repeat(2, 1fr); }
  .cadre-stat:nth-child(2) { border-right: 0; }
  .cadre-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(212,163,65,0.15); }
}
.cadre-disciplines { margin-top: 2.5rem; }
.cadre-disciplines__grid { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.25rem 0 1.5rem; }
.cadre-discipline {
  font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.08em;
  color: var(--bone); padding: 6px 14px;
  border: 1px solid rgba(212,163,65,0.25); background: rgba(212,163,65,0.04);
}
.cadre-disciplines__note { font-size: 0.9rem; color: rgba(255,255,255,0.65); max-width: 720px; }

/* Insights — featured + magazine grid (A4) */
.insights-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin: 1.5rem 0 2rem; }
.insights-filter {
  font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.1em;
  background: transparent; color: rgba(255,255,255,0.7);
  border: 1px solid rgba(212,163,65,0.25); padding: 8px 14px;
  cursor: pointer; transition: all .2s ease;
  text-transform: uppercase;
}
.insights-filter:hover { color: var(--gold-bright); border-color: var(--gold); }
.insights-filter.is-active { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }

.post-featured {
  display: grid; grid-template-columns: 1.2fr 1fr;
  background: rgba(212,163,65,0.04);
  border: 1px solid rgba(212,163,65,0.25);
  text-decoration: none; color: inherit;
  margin-bottom: 2.5rem;
  overflow: hidden;
  transition: border-color .25s ease, transform .25s ease;
}
.post-featured:hover { border-color: var(--gold); transform: translateY(-2px); }
.post-featured__media { position: relative; min-height: 320px; overflow: hidden; }
.post-featured__media img { width:100%; height:100%; object-fit:cover; filter: contrast(1.05) brightness(0.75); transition: transform .6s ease; }
.post-featured:hover .post-featured__media img { transform: scale(1.04); }
.post-featured__media::after { content:''; position:absolute; inset:0; background: linear-gradient(135deg, rgba(10,22,40,0.3), rgba(212,163,65,0.18)); }
.post-featured__badge {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.2em;
  color: var(--gold-bright); font-weight: 600;
  background: rgba(10,22,40,0.8); padding: 6px 12px; border: 1px solid var(--gold);
}
.post-featured__body { padding: 2.5rem 2.25rem; display: flex; flex-direction: column; justify-content: center; }
.post-featured__title { font-family: var(--font-display); font-size: 1.85rem; line-height: 1.15; font-weight: 600; color: var(--bone); margin: 1rem 0; }
.post-featured__excerpt { color: rgba(255,255,255,0.78); font-size: 1rem; line-height: 1.6; margin-bottom: 1.25rem; }
@media (max-width: 860px) {
  .post-featured { grid-template-columns: 1fr; }
  .post-featured__media { min-height: 220px; }
  .post-featured__body { padding: 1.75rem 1.5rem; }
  .post-featured__title { font-size: 1.4rem; }
}

/* Post card with media (magazine grid) */
.posts-grid--magazine .post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.posts-grid--magazine .post-card__media { aspect-ratio: 16/9; overflow: hidden; position: relative; }
.posts-grid--magazine .post-card__media img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05) brightness(0.8); transition: transform .5s ease; }
.posts-grid--magazine .post-card:hover .post-card__media img { transform: scale(1.05); }
.posts-grid--magazine .post-card__body { padding: 1.5rem 1.5rem 1.75rem; display: flex; flex-direction: column; gap: 0.85rem; flex: 1; }

/* Insight detail layout — TOC sidebar (A3) */
.insight-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 4rem; align-items: start; max-width: 1180px; }
.insight-toc { position: sticky; top: 100px; align-self: start; }
.insight-toc__sticky { position: relative; }
.insight-toc__nav { display: flex; flex-direction: column; gap: 0.5rem; margin: 1rem 0 1.5rem; padding-left: 1rem; border-left: 1px solid rgba(212,163,65,0.2); }
.insight-toc__link {
  font-size: 0.85rem; color: rgba(255,255,255,0.65);
  text-decoration: none; line-height: 1.4;
  padding: 4px 0;
  transition: color .2s ease, transform .2s ease;
  border-left: 2px solid transparent; margin-left: -1rem; padding-left: 1rem;
}
.insight-toc__link:hover { color: var(--gold-bright); }
.insight-toc__link.is-active { color: var(--gold-bright); border-left-color: var(--gold); }
.insight-toc__meta { display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem 0; margin: 1rem 0; border-top: 1px solid rgba(212,163,65,0.15); border-bottom: 1px solid rgba(212,163,65,0.15); }
.insight-toc__meta > div { display: flex; justify-content: space-between; gap: 1rem; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.06em; }
.insight-toc__meta .k { color: rgba(255,255,255,0.5); }
.insight-toc__meta .v { color: var(--bone); text-align: right; }
.insight-body { max-width: 740px; }
.btn--full { width: 100%; justify-content: center; margin-top: 0.75rem; }
@media (max-width: 980px) {
  .insight-layout { grid-template-columns: 1fr; gap: 2rem; }
  .insight-toc { position: static; }
}

/* Pull quotes (W9) */
.pullquote {
  font-family: var(--font-display);
  font-size: 1.8rem; line-height: 1.25; font-weight: 500;
  color: var(--gold-bright);
  border-left: 3px solid var(--gold);
  padding: 1rem 0 1rem 2rem;
  margin: 2.5rem 0;
  font-style: normal;
}
@media (min-width: 860px) {
  .pullquote { font-size: 2.2rem; }
}

/* Callout boxes inside insights */
.callout { background: rgba(212,163,65,0.05); border-left: 3px solid var(--gold); padding: 1.5rem 1.75rem; margin: 2rem 0; }
.callout p { margin: 0.5rem 0 0; color: var(--bone); }

/* Operational Standing pill (W4) */
.ops-standing {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.14em;
  color: var(--bone);
  background: rgba(10,22,40,0.6);
  border: 1px solid rgba(212,163,65,0.3);
  padding: 5px 10px;
  text-transform: uppercase;
  white-space: nowrap;
}
.ops-standing__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold-bright);
  box-shadow: 0 0 0 0 rgba(232,184,80,0.6);
  animation: ops-pulse 2s ease-in-out infinite;
}
.ops-standing--ready .ops-standing__dot { background: var(--gold-bright); box-shadow: 0 0 0 0 rgba(232,184,80,0.6); }
.ops-standing--elevated .ops-standing__dot { background: #e08c2a; animation-name: ops-pulse-amber; }
.ops-standing--restricted .ops-standing__dot { background: #c0392b; animation-name: ops-pulse-red; }
.ops-standing--maintenance .ops-standing__dot { background: #6c7a89; animation: none; }
@keyframes ops-pulse { 0% { box-shadow: 0 0 0 0 rgba(232,184,80,0.55); } 70% { box-shadow: 0 0 0 10px rgba(232,184,80,0); } 100% { box-shadow: 0 0 0 0 rgba(232,184,80,0); } }
@keyframes ops-pulse-amber { 0% { box-shadow: 0 0 0 0 rgba(224,140,42,0.55); } 70% { box-shadow: 0 0 0 10px rgba(224,140,42,0); } 100% { box-shadow: 0 0 0 0 rgba(224,140,42,0); } }
@keyframes ops-pulse-red { 0% { box-shadow: 0 0 0 0 rgba(192,57,43,0.55); } 70% { box-shadow: 0 0 0 10px rgba(192,57,43,0); } 100% { box-shadow: 0 0 0 0 rgba(192,57,43,0); } }
@media (max-width: 960px) {
  .ops-standing { display: none; }
}

/* Mobile floating phone CTA (W6) */
.float-phone {
  position: fixed; bottom: 16px; right: 16px; z-index: 90;
  display: none;
  align-items: center; gap: 8px;
  background: var(--gold);
  color: var(--navy-deep) !important;
  padding: 12px 16px;
  border-radius: 999px;
  font-family: var(--font-tactical); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4), 0 0 0 4px rgba(212,163,65,0.15);
  text-transform: uppercase;
}
.float-phone svg { width: 18px; height: 18px; }
@media (max-width: 760px) { .float-phone { display: inline-flex; } }

/* Intel ticker (W7) */
.intel-ticker {
  background: var(--navy-deep);
  border-top: 1px solid rgba(212,163,65,0.18);
  border-bottom: 1px solid rgba(212,163,65,0.18);
  overflow: hidden;
  position: relative;
}
.intel-ticker__label {
  position: absolute; left: 0; top: 0; bottom: 0; z-index: 2;
  display: flex; align-items: center;
  background: var(--gold); color: var(--navy-deep);
  padding: 0 14px;
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.16em; font-weight: 700;
}
.intel-ticker__track { display: flex; gap: 3rem; padding: 8px 0 8px 130px; white-space: nowrap; animation: ticker-scroll 60s linear infinite; }
.intel-ticker__item { font-family: var(--font-mono); font-size: 0.78rem; color: rgba(255,255,255,0.78); letter-spacing: 0.04em; }
.intel-ticker__sev {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: 8px; vertical-align: middle;
}
.intel-ticker__sev--low { background: #6c7a89; }
.intel-ticker__sev--med { background: var(--gold-bright); }
.intel-ticker__sev--high { background: #e08c2a; }
.intel-ticker__sev--critical { background: #c0392b; }
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.intel-ticker:hover .intel-ticker__track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .intel-ticker__track { animation: none; } }

/* POF doctrine interactive (W1) */
.pof-interactive { position: relative; padding: 2rem 0; }
.pof-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; position: relative; }
.pof-stage {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(212,163,65,0.2);
  padding: 1.5rem 1.25rem;
  cursor: pointer; transition: all .3s ease;
  position: relative; text-align: left;
  font-family: inherit; color: var(--bone);
}
.pof-stage:hover, .pof-stage.is-active { border-color: var(--gold); background: rgba(212,163,65,0.06); transform: translateY(-2px); }
.pof-stage.is-active::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 3px; background: var(--gold); }
.pof-stage__num { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.16em; color: var(--gold); font-weight: 600; }
.pof-stage__title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 600; color: var(--bone); margin: 0.5rem 0 0.75rem; letter-spacing: 0.03em; }
.pof-stage__icon { width: 28px; height: 28px; color: var(--gold-bright); margin-bottom: 0.5rem; }
.pof-stage__short { font-size: 0.85rem; color: rgba(255,255,255,0.7); line-height: 1.5; }
.pof-detail {
  margin-top: 1.5rem;
  background: rgba(10,22,40,0.6);
  border: 1px solid rgba(212,163,65,0.25);
  border-left: 3px solid var(--gold);
  padding: 2rem;
  min-height: 200px;
  display: none;
}
.pof-detail.is-visible { display: block; animation: pof-fade .35s ease; }
@keyframes pof-fade { from { opacity:0; transform: translateY(6px);} to { opacity:1; transform: translateY(0);} }
.pof-detail__title { font-family: var(--font-display); font-size: 1.5rem; color: var(--gold-bright); margin: 0 0 1rem; }
.pof-detail__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2rem; }
.pof-detail__list li { font-size: 0.92rem; color: rgba(255,255,255,0.82); padding-left: 18px; position: relative; line-height: 1.5; }
.pof-detail__list li::before { content: '▪'; position: absolute; left: 0; color: var(--gold); }
.pof-flow {
  display: none;
  position: absolute; top: 50%; left: 0; right: 0;
  height: 1px; background: rgba(212,163,65,0.25); pointer-events: none;
}
@media (max-width: 860px) {
  .pof-stages { grid-template-columns: 1fr; }
  .pof-detail__list { grid-template-columns: 1fr; }
}

/* Animated stat counter — applies to hero/stat strips */
.stat-strip [data-count] { font-variant-numeric: tabular-nums; }

/* Header right cluster fit */
.site-header__right { display: flex; align-items: center; gap: 14px; }
@media (max-width: 960px) { .site-header__right .ops-standing { display: none; } }

/* Reduce-motion safe defaults */
@media (prefers-reduced-motion: reduce) {
  .ops-standing__dot { animation: none; }
  .case-brief__media img, .post-featured__media img, .posts-grid--magazine .post-card__media img { transition: none; }
}


/* ============================================================================
   PHASE 4 POLISH — W8 cursor, W10 transitions, W11 icon anims, W12 carousel peek,
   W14 hero particle canvas
   ============================================================================ */

/* W10 — View Transitions API */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: vt-out 220ms ease forwards; }
  ::view-transition-new(root) { animation: vt-in 320ms ease forwards; }
  @keyframes vt-out { to { opacity: 0; transform: translateY(-6px); } }
  @keyframes vt-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}

/* W11 — Icon micro-animations on service / sector cards */
.svc-card svg, .sector-card svg, .mega__icon svg {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center;
}
.svc-card:hover svg, .sector-card:hover svg { transform: scale(1.12) rotate(-3deg); }
.mega__tile:hover .mega__icon svg { transform: scale(1.18); }

.svc-card { transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease, background 0.3s ease; }
.svc-card:hover { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) {
  .svc-card svg, .sector-card svg, .mega__icon svg, .svc-card { transition: none !important; transform: none !important; }
}

/* W12 — Testimonial carousel — mobile peek + scroll-snap */
@media (max-width: 760px) {
  .reviews-grid {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: 85%;
    grid-template-columns: none !important;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 1rem;
    padding-bottom: 1rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .reviews-grid::-webkit-scrollbar { display: none; }
  .reviews-grid .review-card { scroll-snap-align: start; }
}

/* W14 — Hero particle field */
.hero__particles {
  position: absolute; inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
}
@media (prefers-reduced-motion: reduce) {
  .hero__particles { display: none; }
}

/* Scroll-margin so #contact-form lands below sticky header when anchor-linked */
#contact-form { scroll-margin-top: 6rem; }

/* ========================================================================
   WHY PARAMIL — COMPARATIVE DOCTRINE REDESIGN
   ======================================================================== */
.why-section { position: relative; overflow: hidden; }
.why-section .container { position: relative; z-index: 1; }
.why-section__bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(212, 163, 65, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 163, 65, 0.045) 1px, transparent 1px);
  background-size: 48px 48px;
  background-position: -1px -1px;
  mask-image: radial-gradient(ellipse at 30% 0%, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 55%, transparent 85%);
  -webkit-mask-image: radial-gradient(ellipse at 30% 0%, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 55%, transparent 85%);
  pointer-events: none;
}

.why-layout {
  display: grid;
  grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
}
@media (max-width: 980px) {
  .why-layout { grid-template-columns: 1fr; gap: 2.5rem; }
}

.why-layout__intro { position: relative; }
@media (min-width: 981px) {
  .why-layout__intro { position: sticky; top: 96px; }
}

.why-headline {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  line-height: 1.02;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--bone);
  margin: 0.75rem 0 1.1rem;
}
.why-headline__line1,
.why-headline__line2 { display: block; }
.why-headline__line2 { color: rgba(232, 228, 220, 0.92); }
.why-headline .accent { color: var(--gold); }

.why-lede {
  color: var(--bone-dim);
  line-height: 1.65;
  font-size: 1.02rem;
  margin: 0 0 1.75rem;
  max-width: 38ch;
}

/* Versus comparison block */
.why-versus {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: stretch;
  background: linear-gradient(180deg, rgba(15, 23, 34, 0.55), rgba(10, 22, 40, 0.4));
  border: 1px solid rgba(212, 163, 65, 0.18);
  border-radius: 4px;
  padding: 1.1rem 1rem;
  position: relative;
}
.why-versus::before {
  content: '';
  position: absolute; left: 0; top: 0;
  width: 28px; height: 1px; background: var(--gold);
}
.why-versus::after {
  content: '';
  position: absolute; right: 0; bottom: 0;
  width: 28px; height: 1px; background: var(--gold);
}
.why-versus__col { display: flex; flex-direction: column; min-width: 0; }
.why-versus__lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bone-dim);
  margin: 0 0 0.55rem;
  font-weight: 500;
}
.why-versus__lbl--us { color: var(--gold); }
.why-versus__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}
.why-versus__col li {
  font-size: 0.82rem;
  line-height: 1.35;
  color: var(--bone-dim);
  padding-left: 0.85rem;
  position: relative;
}
.why-versus__col li::before {
  content: '';
  position: absolute; left: 0; top: 0.55em;
  width: 5px; height: 1px; background: currentColor; opacity: 0.5;
}
.why-versus__col--us li {
  color: rgba(232, 228, 220, 0.92);
}
.why-versus__col--us li::before { background: var(--gold); opacity: 1; }
.why-versus__divider {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--gold);
  letter-spacing: 0.05em;
  padding: 0 0.4rem;
  position: relative;
}
.why-versus__divider::before {
  content: '';
  position: absolute; left: 50%; top: 0; bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(212, 163, 65, 0.35), transparent);
  transform: translateX(-50%);
}
@media (max-width: 520px) {
  .why-versus {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .why-versus__divider {
    padding: 0.25rem 0;
    border-top: 1px solid rgba(212, 163, 65, 0.25);
    border-bottom: 1px solid rgba(212, 163, 65, 0.25);
  }
  .why-versus__divider::before { display: none; }
}

/* Six standards grid */
.why-standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 720px) {
  .why-standards { grid-template-columns: 1fr; }
}

.why-std {
  position: relative;
  background: linear-gradient(180deg, rgba(17, 34, 61, 0.55), rgba(10, 22, 40, 0.65));
  border: 1px solid rgba(212, 163, 65, 0.14);
  border-top: 2px solid var(--gold);
  padding: 1.4rem 1.35rem 1.3rem;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}
.why-std:hover {
  transform: translateY(-3px);
  border-color: rgba(212, 163, 65, 0.45);
  background: linear-gradient(180deg, rgba(24, 46, 77, 0.7), rgba(15, 28, 50, 0.75));
  box-shadow: 0 14px 32px -18px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(212, 163, 65, 0.08);
}
.why-std--lead {
  background: linear-gradient(180deg, rgba(31, 58, 95, 0.6), rgba(17, 34, 61, 0.7));
  border-top-width: 3px;
}

.why-std__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.why-std__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--gold);
  letter-spacing: 0.08em;
  font-weight: 500;
}
.why-std__tag {
  font-family: 'Rajdhani', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
  font-weight: 600;
  padding: 0.18rem 0.5rem;
  border: 1px solid rgba(212, 163, 65, 0.25);
  border-radius: 2px;
  background: rgba(212, 163, 65, 0.05);
}

.why-std__icon {
  width: 40px; height: 40px;
  color: var(--gold);
  margin-bottom: 0.7rem;
  opacity: 0.95;
}
.why-std__icon svg { width: 100%; height: 100%; }

.why-std__title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.18rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--bone);
  margin: 0 0 0.5rem;
  line-height: 1.18;
}
.why-std__desc {
  color: rgba(232, 228, 220, 0.78);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0 0 1.1rem;
  flex: 1;
}

.why-std__proof {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(212, 163, 65, 0.22);
}
.why-std__proof-num {
  font-family: 'Oswald', sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.01em;
  line-height: 1;
}
.why-std__proof-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bone-dim);
  line-height: 1.2;
}

/* Corner brackets on lead card */
.why-std__bracket {
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: var(--gold);
  border-style: solid;
  border-width: 0;
  pointer-events: none;
}
.why-std__bracket--tl { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.why-std__bracket--tr { top: -1px; right: -1px; border-top-width: 2px; border-right-width: 2px; }
.why-std__bracket--bl { bottom: -1px; left: -1px; border-bottom-width: 2px; border-left-width: 2px; }
.why-std__bracket--br { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }

/* ========================================================================
   RETAIL LOSS PREVENTION SPOTLIGHT — homepage section
   ======================================================================== */
.retail-lp {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #0a1628 0%, #0d1b30 55%, #0a1628 100%);
}
.retail-lp .container { position: relative; z-index: 1; }
.retail-lp__grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(212, 163, 65, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 163, 65, 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 70% 20%, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.35) 55%, transparent 88%);
  -webkit-mask-image: radial-gradient(ellipse at 70% 20%, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.35) 55%, transparent 88%);
  pointer-events: none;
}

/* Section head */
.retail-lp__head {
  max-width: 880px;
  margin: 0 auto 2.5rem;
  text-align: center;
}
.retail-lp__headline {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.95rem, 4.2vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--bone);
  margin: 0.75rem 0 1rem;
}
.retail-lp__headline .accent { color: var(--gold); }
.retail-lp__lede {
  color: var(--bone-dim);
  font-size: 1.05rem;
  line-height: 1.65;
  max-width: 720px;
  margin: 0 auto;
}

/* Main split: image + brief */
.retail-lp__main {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: stretch;
  margin-bottom: 2.75rem;
}
@media (max-width: 980px) {
  .retail-lp__main { grid-template-columns: 1fr; gap: 2rem; }
}

/* Visual frame with HUD */
.retail-lp__visual { margin: 0; position: relative; }
.retail-lp__visual-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #0a1628;
  border: 1px solid rgba(212, 163, 65, 0.2);
  box-shadow: 0 30px 80px -40px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(212, 163, 65, 0.06);
}
.retail-lp__visual-frame img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: contrast(1.04) saturate(1.02);
  transition: transform 600ms ease;
}
.retail-lp__visual-frame:hover img { transform: scale(1.02); }
.retail-lp__visual-overlay {
  position: absolute; inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(10, 22, 40, 0) 55%, rgba(10, 22, 40, 0.55) 100%),
    linear-gradient(90deg, rgba(10, 22, 40, 0.0) 60%, rgba(10, 22, 40, 0.25) 100%);
}
.retail-lp__bracket {
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--gold);
  border-style: solid;
  border-width: 0;
}
.retail-lp__bracket--tl { top: 12px; left: 12px; border-top-width: 2px; border-left-width: 2px; }
.retail-lp__bracket--tr { top: 12px; right: 12px; border-top-width: 2px; border-right-width: 2px; }
.retail-lp__bracket--bl { bottom: 12px; left: 12px; border-bottom-width: 2px; border-left-width: 2px; }
.retail-lp__bracket--br { bottom: 12px; right: 12px; border-bottom-width: 2px; border-right-width: 2px; }

/* HUD readouts in lower-left of image */
.retail-lp__hud {
  position: absolute;
  left: 22px; bottom: 22px;
  display: flex; flex-direction: column; gap: 0.35rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bone);
  text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.retail-lp__hud-row {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.32rem 0.6rem;
  background: rgba(10, 22, 40, 0.78);
  border: 1px solid rgba(212, 163, 65, 0.32);
  border-radius: 2px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  width: max-content;
  max-width: 100%;
}
.retail-lp__hud-row--alt {
  color: var(--gold);
  border-color: rgba(212, 163, 65, 0.5);
}
.retail-lp__hud-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.18), 0 0 10px rgba(34, 197, 94, 0.55);
  animation: retail-lp-pulse 2.2s ease-in-out infinite;
}
@keyframes retail-lp-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

/* Brief stack */
.retail-lp__brief {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
.retail-lp__brief-card {
  background: linear-gradient(180deg, rgba(17, 34, 61, 0.55), rgba(10, 22, 40, 0.65));
  border: 1px solid rgba(212, 163, 65, 0.14);
  border-left: 2px solid rgba(212, 163, 65, 0.35);
  padding: 1.1rem 1.25rem;
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}
.retail-lp__brief-card:hover {
  border-color: rgba(212, 163, 65, 0.4);
  background: linear-gradient(180deg, rgba(24, 46, 77, 0.6), rgba(15, 28, 50, 0.7));
}
.retail-lp__brief-card--accent {
  background: linear-gradient(180deg, rgba(31, 58, 95, 0.55), rgba(17, 34, 61, 0.65));
  border-left-color: var(--gold);
  border-left-width: 3px;
}
.retail-lp__tag {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.55rem;
  font-weight: 500;
}
.retail-lp__brief-card p {
  color: rgba(232, 228, 220, 0.85);
  font-size: 0.96rem;
  line-height: 1.6;
  margin: 0;
}
.retail-lp__brief-card strong { color: var(--bone); font-weight: 600; }
.retail-lp__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.retail-lp__list li {
  color: rgba(232, 228, 220, 0.82);
  font-size: 0.93rem;
  line-height: 1.55;
  padding-left: 1.1rem;
  position: relative;
}
.retail-lp__list li::before {
  content: '';
  position: absolute; left: 0; top: 0.55em;
  width: 8px; height: 1px;
  background: var(--gold);
}
.retail-lp__list strong { color: var(--gold); font-weight: 600; }

/* Stat tiles */
.retail-lp__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin: 0 0 2.5rem;
  padding: 1.5rem;
  background: linear-gradient(180deg, rgba(15, 23, 34, 0.7), rgba(10, 22, 40, 0.5));
  border: 1px solid rgba(212, 163, 65, 0.18);
  position: relative;
}
.retail-lp__stats::before,
.retail-lp__stats::after {
  content: '';
  position: absolute;
  width: 30px; height: 1px;
  background: var(--gold);
}
.retail-lp__stats::before { top: 0; left: 0; }
.retail-lp__stats::after { bottom: 0; right: 0; }
@media (max-width: 780px) {
  .retail-lp__stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 460px) {
  .retail-lp__stats { grid-template-columns: 1fr; }
}
.retail-lp__stat {
  padding: 0.5rem 0.65rem;
  border-left: 1px dashed rgba(212, 163, 65, 0.22);
  min-width: 0;
}
.retail-lp__stat:first-child { border-left: none; }
@media (max-width: 780px) {
  .retail-lp__stat { border-left: none; border-top: 1px dashed rgba(212, 163, 65, 0.22); padding-top: 0.85rem; }
  .retail-lp__stat:first-child,
  .retail-lp__stat:nth-child(2) { border-top: none; padding-top: 0.5rem; }
}
.retail-lp__stat-num {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.85rem, 3vw, 2.4rem);
  color: var(--gold);
  line-height: 1;
  letter-spacing: 0.005em;
  margin-bottom: 0.45rem;
}
.retail-lp__stat-unit { font-size: 0.7em; opacity: 0.85; margin-left: 0.05em; }
.retail-lp__stat-lbl {
  color: var(--bone);
  font-size: 0.92rem;
  line-height: 1.4;
  margin-bottom: 0.4rem;
}
.retail-lp__stat-src {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bone-dim);
  opacity: 0.7;
}

/* CTA strip */
.retail-lp__cta {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, auto);
  gap: 2rem;
  align-items: center;
  padding: 1.75rem 1.85rem;
  background: linear-gradient(105deg, rgba(31, 58, 95, 0.55), rgba(17, 34, 61, 0.5) 60%, rgba(212, 163, 65, 0.1));
  border: 1px solid rgba(212, 163, 65, 0.25);
  border-left: 3px solid var(--gold);
}
@media (max-width: 780px) {
  .retail-lp__cta { grid-template-columns: 1fr; gap: 1.4rem; }
}
.retail-lp__cta-text h3 {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--bone);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  margin: 0.5rem 0 0.6rem;
  line-height: 1.15;
}
.retail-lp__cta-text p {
  color: var(--bone-dim);
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0;
  max-width: 60ch;
}
.retail-lp__cta-actions {
  display: flex; gap: 0.65rem; flex-wrap: wrap;
}

/* ========================================================================
   TRAINING STANDARD — full-bleed CQB scene + patch macro inset
   ======================================================================== */
.training-std {
  position: relative;
  overflow: hidden;
  padding: 5.5rem 0 5rem;
  isolation: isolate;
  background: #0a1628;
}
.training-std__bg {
  position: absolute; inset: 0;
  z-index: 0;
}
.training-std .container { position: relative; z-index: 2; }
.training-std__bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: 65% center; display: block;
  filter: contrast(1.08) saturate(1.0);
  transform: scale(1.04);
}
.training-std__bg-overlay {
  position: absolute; inset: 0;
  z-index: 1;
  background:
    linear-gradient(95deg, rgba(10, 22, 40, 0.72) 0%, rgba(10, 22, 40, 0.42) 38%, rgba(10, 22, 40, 0.18) 62%, rgba(10, 22, 40, 0.5) 100%),
    linear-gradient(180deg, rgba(10, 22, 40, 0.35) 0%, rgba(10, 22, 40, 0.02) 45%, rgba(10, 22, 40, 0.5) 100%);
}
.training-std__bg-overlay::after {
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(transparent 0%, rgba(212, 163, 65, 0.025) 50%, transparent 100%),
    repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,0.05) 2px 3px);
  pointer-events: none;
  opacity: 0.6;
}
.training-std__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}
@media (max-width: 980px) {
  .training-std__grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* Copy card */
.training-std__card {
  background: linear-gradient(180deg, rgba(10, 22, 40, 0.86), rgba(15, 28, 50, 0.9));
  border: 1px solid rgba(212, 163, 65, 0.22);
  border-left: 3px solid var(--gold);
  padding: 2.1rem 2rem 1.9rem;
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  position: relative;
  box-shadow: 0 30px 80px -40px rgba(0,0,0,0.85);
}
.training-std__card::before {
  content: '';
  position: absolute; top: -1px; right: -1px;
  width: 36px; height: 1px;
  background: var(--gold);
}
.training-std__card::after {
  content: '';
  position: absolute; bottom: -1px; left: -1px;
  width: 36px; height: 1px;
  background: var(--gold);
}
.training-std__headline {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.95rem, 3.6vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--bone);
  margin: 0.7rem 0 1rem;
}
.training-std__headline .accent { color: var(--gold); }
.training-std__lede {
  color: var(--bone-dim);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0 0 1.6rem;
  max-width: 52ch;
}
.training-std__pillars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.training-std__pillars li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 0.85rem;
  align-items: start;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(212, 163, 65, 0.14);
}
.training-std__pillars li:first-child { border-top: none; padding-top: 0; }
.training-std__pillar-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--gold);
  padding-top: 0.15rem;
  font-weight: 500;
}
.training-std__pillars h3 {
  font-family: 'Oswald', sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--bone);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.training-std__pillars p {
  color: rgba(232, 228, 220, 0.78);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
}

/* Patch macro inset */
.training-std__inset {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-self: center;
}
@media (max-width: 980px) {
  .training-std__inset { max-width: 480px; margin: 0 auto; }
}
.training-std__patch {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #0a1628;
  border: 1px solid rgba(212, 163, 65, 0.3);
  overflow: hidden;
  box-shadow: 0 30px 80px -40px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(212, 163, 65, 0.08);
}
.training-std__patch img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 600ms ease;
}
.training-std__patch:hover img { transform: scale(1.03); }
.training-std__bracket {
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--gold);
  border-style: solid;
  border-width: 0;
  pointer-events: none;
}
.training-std__bracket--tl { top: 10px; left: 10px; border-top-width: 2px; border-left-width: 2px; }
.training-std__bracket--tr { top: 10px; right: 10px; border-top-width: 2px; border-right-width: 2px; }
.training-std__bracket--bl { bottom: 10px; left: 10px; border-bottom-width: 2px; border-left-width: 2px; }
.training-std__bracket--br { bottom: 10px; right: 10px; border-bottom-width: 2px; border-right-width: 2px; }

.training-std__caption {
  background: linear-gradient(180deg, rgba(10, 22, 40, 0.85), rgba(15, 28, 50, 0.85));
  border: 1px solid rgba(212, 163, 65, 0.2);
  border-top: 2px solid var(--gold);
  padding: 1rem 1.15rem;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.training-std__cap-tag {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.4rem;
  font-weight: 500;
}
.training-std__caption p {
  color: var(--bone-dim);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 0;
  font-style: italic;
}

/* ============================================================================
   RETAIL LP — Slim Home Teaser (compact side-by-side variant)
   ============================================================================ */
.retail-lp--teaser { padding: 5rem 0 !important; }
@media (max-width: 760px) {
  .retail-lp--teaser { padding: 3.5rem 0 !important; }
}

.retail-lp-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .retail-lp-teaser {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

.retail-lp-teaser__visual { margin: 0; }

.retail-lp-teaser__copy { padding: 0.5rem 0; }

.retail-lp-teaser__headline {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(1.85rem, 3.6vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: 0.5px;
  color: var(--bone);
  margin: 0.85rem 0 1.1rem;
  text-transform: uppercase;
}
.retail-lp-teaser__headline .accent { color: var(--gold); }

.retail-lp-teaser__lede {
  color: var(--bone-dim);
  font-size: 1.02rem;
  line-height: 1.6;
  margin: 0 0 1.75rem;
  max-width: 52ch;
}

.retail-lp-teaser__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
}

/* ============================================================================
   HOMEPAGE — Slim variants (Why slim, Services slim, Reviews slim)
   ============================================================================ */

/* --- Why ParaMil slim --- */
.why-section--slim { padding: 6rem 0 !important; }
@media (max-width: 760px) { .why-section--slim { padding: 4rem 0 !important; } }

.why-slim {
  max-width: 1020px;
  margin: 0 auto;
  text-align: center;
}
.why-slim .eyebrow { display: inline-block; margin-bottom: 1rem; }
.why-slim .why-headline {
  margin: 0.5rem 0 0.85rem;
}
.why-slim .why-lede {
  color: var(--bone-dim);
  font-size: 1.05rem;
  margin: 0 auto 2.25rem;
  max-width: 620px;
}
.why-slim .why-versus {
  text-align: left;
  margin: 0 auto 2.25rem;
  max-width: 880px;
}
.why-slim__cta { text-align: center; }

/* Methodology page — full standards grid */
.why-standards--full {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 980px) { .why-standards--full { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .why-standards--full { grid-template-columns: 1fr; } }


/* --- Services slim — 6 capability tiles --- */
.services-slim__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .services-slim__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 440px) {
  .services-slim__grid { grid-template-columns: 1fr; }
}

.services-slim__tile {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  background: rgba(24, 46, 77, 0.45);
  border: 1px solid rgba(212, 163, 65, 0.18);
  border-left: 3px solid rgba(212, 163, 65, 0.55);
  text-decoration: none;
  color: var(--bone);
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
  min-height: 76px;
}
.services-slim__tile:hover {
  border-color: rgba(212, 163, 65, 0.55);
  background: rgba(31, 58, 95, 0.55);
  transform: translateX(2px);
}
.services-slim__icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
}
.services-slim__icon svg { width: 100%; height: 100%; }
.services-slim__lbl {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.2;
}
.services-slim__cta {
  text-align: center;
  margin-top: 2.5rem;
}


/* --- Reviews slim — single marquee quote --- */
.reviews-slim__inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.reviews-slim__stars {
  color: var(--gold);
  font-size: 1.2rem;
  letter-spacing: 0.4em;
  margin: 1rem 0 1.25rem;
}
.reviews-slim__quote {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: clamp(1.3rem, 2.2vw, 1.75rem);
  line-height: 1.35;
  color: var(--bone);
  margin: 0;
  letter-spacing: 0.2px;
}
.reviews-slim__attr {
  margin-top: 1.25rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

/* ============================================================
   RAPTOR BAND — image-led section replacing stat strip
   Dominant cinematic image (left/full) with stat HUD overlay (right)
   ============================================================ */
.raptor-band {
  position: relative;
  background: var(--navy-deep);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr);
  align-items: stretch;
  overflow: hidden;
  min-height: 560px;
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
}
.raptor-band__media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 560px;
  overflow: hidden;
}
.raptor-band__media picture,
.raptor-band__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
/* Subtle right-edge fade so the image blends into the panel,
   keeping the operator + door logo crisp on the left/center. */
.raptor-band__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(10, 22, 40, 0) 0%,
      rgba(10, 22, 40, 0) 55%,
      rgba(10, 22, 40, 0.55) 85%,
      rgba(10, 22, 40, 0.92) 100%);
}
.raptor-band__panel {
  position: relative;
  background:
    linear-gradient(180deg, rgba(17, 34, 61, 0.96) 0%, rgba(10, 22, 40, 0.98) 100%);
  display: flex;
  align-items: center;
  padding: 3rem 2.5rem;
  border-left: 1px solid rgba(212, 163, 65, 0.22);
}
.raptor-band__panel::before {
  /* corner tick — small tactical detail in top-left of panel */
  content: '';
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--gold);
  border-left: 2px solid var(--gold);
  opacity: 0.85;
}
.raptor-band__panel::after {
  content: '';
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  width: 14px;
  height: 14px;
  border-bottom: 2px solid var(--gold);
  border-right: 2px solid var(--gold);
  opacity: 0.85;
}
.raptor-band__panel-inner {
  width: 100%;
  max-width: 460px;
}
.raptor-band__panel .eyebrow {
  display: inline-block;
  color: var(--gold);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}
.raptor-band__headline {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.7rem, 2.6vw, 2.25rem);
  line-height: 1.05;
  color: var(--bone);
  margin: 0 0 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.raptor-band__lede {
  color: var(--bone-dim);
  font-size: 0.98rem;
  line-height: 1.55;
  margin: 0 0 1.6rem;
  max-width: 38ch;
}
.raptor-band__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.5rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(212, 163, 65, 0.22);
}
.raptor-band__stat {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.raptor-band__num {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: clamp(1.85rem, 2.6vw, 2.35rem);
  color: var(--gold);
  line-height: 1;
  letter-spacing: 0.01em;
}
.raptor-band__num .plus { font-size: 0.7em; color: var(--gold-bright); margin-left: 0.05em; }
.raptor-band__num .sm { font-size: 0.55em; color: var(--gold-bright); margin: 0 0.1em; vertical-align: 0.18em; }
.raptor-band__label {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 500;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bone-dim);
  line-height: 1.3;
}

/* ----- Tablet ----- */
@media (max-width: 1100px) {
  .raptor-band {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1fr);
    min-height: 500px;
  }
  .raptor-band__media,
  .raptor-band__media img { min-height: 500px; }
  .raptor-band__panel { padding: 2.5rem 2rem; }
}

/* ----- Mobile: stack, image stays dominant on top ----- */
@media (max-width: 820px) {
  .raptor-band {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .raptor-band__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
    height: auto;
  }
  .raptor-band__media img { height: auto; }
  .raptor-band__scrim {
    background:
      linear-gradient(180deg,
        rgba(10, 22, 40, 0) 0%,
        rgba(10, 22, 40, 0) 65%,
        rgba(10, 22, 40, 0.5) 90%,
        rgba(10, 22, 40, 0.95) 100%);
  }
  .raptor-band__panel {
    border-left: none;
    border-top: 1px solid rgba(212, 163, 65, 0.22);
    padding: 2.25rem 1.5rem 2.5rem;
  }
  .raptor-band__stats {
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
  }
}
@media (max-width: 480px) {
  .raptor-band__stats { grid-template-columns: 1fr; }
}

/* ============================================================
   RETAIL BAND — side-by-side layout mirroring raptor-band.
   Image on left, tactical copy panel on right. Stacks on mobile.
   ============================================================ */
.retail-band {
  position: relative;
  background: var(--navy-deep);
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr);
  align-items: stretch;
  overflow: hidden;
  min-height: 560px;
  border-top: 1px solid rgba(212, 163, 65, 0.18);
  border-bottom: 1px solid rgba(212, 163, 65, 0.18);
}
.retail-band__media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 560px;
  overflow: hidden;
}
.retail-band__media picture,
.retail-band__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}
/* Right-edge fade blends image into panel */
.retail-band__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(10, 22, 40, 0) 0%,
      rgba(10, 22, 40, 0) 55%,
      rgba(10, 22, 40, 0.55) 85%,
      rgba(10, 22, 40, 0.92) 100%);
}
/* HUD strip lives in the image, bottom-left */
.retail-band__hud {
  position: absolute;
  left: clamp(1rem, 2.2vw, 1.75rem);
  bottom: clamp(1rem, 2.2vw, 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 2;
  pointer-events: none;
}
.retail-band__hud-row {
  background: rgba(10, 22, 40, 0.78);
  border: 1px solid rgba(212, 163, 65, 0.4);
  color: var(--bone);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  padding: 0.45rem 0.85rem;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  width: max-content;
}
.retail-band__hud-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #2ecc71;
  box-shadow: 0 0 8px rgba(46, 204, 113, 0.85);
}
.retail-band__hud-row--alt {
  color: var(--gold);
  border-color: rgba(212, 163, 65, 0.55);
}
.retail-band__panel {
  position: relative;
  background:
    linear-gradient(180deg, rgba(17, 34, 61, 0.96) 0%, rgba(10, 22, 40, 0.98) 100%);
  display: flex;
  align-items: center;
  padding: 3rem 2.5rem;
  border-left: 1px solid rgba(212, 163, 65, 0.22);
}
.retail-band__panel::before {
  content: '';
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--gold);
  border-left: 2px solid var(--gold);
  opacity: 0.85;
}
.retail-band__panel::after {
  content: '';
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  width: 14px;
  height: 14px;
  border-bottom: 2px solid var(--gold);
  border-right: 2px solid var(--gold);
  opacity: 0.85;
}
.retail-band__panel-inner {
  width: 100%;
  max-width: 460px;
}
.retail-band__panel .eyebrow {
  display: inline-block;
  color: var(--gold);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}
.retail-band__headline {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: clamp(1.7rem, 2.6vw, 2.25rem);
  line-height: 1.05;
  color: var(--bone);
  margin: 0 0 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.retail-band__headline .accent {
  color: var(--gold);
  display: inline-block;
}
.retail-band__lede {
  color: var(--bone-dim);
  font-size: 0.98rem;
  line-height: 1.55;
  margin: 0 0 1.6rem;
  max-width: 42ch;
}
.retail-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  padding-top: 0.25rem;
}

/* ----- Tablet ----- */
@media (max-width: 1100px) {
  .retail-band {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1fr);
    min-height: 500px;
  }
  .retail-band__media,
  .retail-band__media img { min-height: 500px; }
  .retail-band__panel { padding: 2.5rem 2rem; }
}

/* ----- Mobile: stack, image on top ----- */
@media (max-width: 820px) {
  .retail-band {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .retail-band__media {
    min-height: 0;
    aspect-ratio: 4 / 5;
    height: auto;
  }
  .retail-band__media img { height: auto; }
  .retail-band__scrim {
    background:
      linear-gradient(180deg,
        rgba(10, 22, 40, 0) 0%,
        rgba(10, 22, 40, 0) 65%,
        rgba(10, 22, 40, 0.5) 90%,
        rgba(10, 22, 40, 0.95) 100%);
  }
  .retail-band__hud {
    bottom: 0.85rem;
    left: 0.85rem;
  }
  .retail-band__hud-row { font-size: 0.65rem; padding: 0.35rem 0.7rem; }
  .retail-band__panel {
    border-left: none;
    border-top: 1px solid rgba(212, 163, 65, 0.22);
    padding: 2.25rem 1.5rem 2.5rem;
  }
}
