/* ================================================================
   DESIGN TOKENS
================================================================ */
:root {
  --red:       #c0221a;
  --red-bright:#e0312a;
  --red-dark:  #8a1510;
  --gold:      #c9a227;
  --gold2:     #f0c040;
  --gold-dark: #8a6e12;
  --black:     #050403;
  --bg:        #080706;
  --bg2:       #0d0b07;
  --bg3:       #111009;
  --bg4:       #161410;
  --steel:     #2a2820;
  --steel2:    #1e1c16;
  --muted:     #8a8070;
  --light:     #c8c0b0;
  --white:     #f4f0ea;
  --H: 'Oswald', Impact, 'Arial Narrow', sans-serif;
  --B: 'Open Sans', Arial, sans-serif;
}

/* ================================================================
   RESET & BASE
================================================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior: smooth; font-size: 16px }
body {
  font-family: var(--B);
  background: var(--bg);
  color: var(--white);
  overflow-x: hidden;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit }
img { display: block; max-width: 100% }
button { font-family: var(--B); cursor: pointer; border: none }

/* ================================================================
   TYPOGRAPHY UTILITIES
================================================================ */
.eyebrow {
  font-family: var(--H); font-size: 11px; font-weight: 600;
  letter-spacing: 4px; text-transform: uppercase; color: var(--gold);
  display: flex; align-items: center; gap: 10px;
}
.eyebrow::before { content:''; width:24px; height:2px; background:var(--gold); flex-shrink:0 }

/* ================================================================
   STICKY NAV
================================================================ */
#nav {
  position: sticky; top: 0; z-index: 1000;
  background: #000;
  border-bottom: 2px solid rgba(201,162,39,.4);
  height: 220px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%;
  box-shadow: 0 6px 40px rgba(0,0,0,.98);
}
.nav-logo {
  display: flex; align-items: center;
  position: relative;
}
.nav-logo::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to right, #000 0%, transparent 8%, transparent 92%, #000 100%),
    linear-gradient(to bottom, #000 0%, transparent 10%, transparent 90%, #000 100%);
  z-index: 1;
}
.site-logo {
  display: block;
  height: 200px;
  width: auto;
}
.nav-tagline {
  font-family: var(--H);
  font-weight: 700;
  font-size: clamp(32px, 4.2vw, 68px);
  text-transform: uppercase;
  letter-spacing: 3px;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  margin-left: 32px;
}
.nav-tagline .tag-red { color: var(--red); }
.nav-tagline .tag-gold { color: var(--gold); }
.nav-sub {
  font-family: var(--H);
  font-size: clamp(11px, 1.1vw, 16px);
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 6px;
  padding-left: 18px;
  white-space: nowrap;
}
.nav-right { display: flex; align-items: flex-end; gap: 22px; padding-bottom: 4px }
.nav-avail {
  font-size: 15px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--muted); display: flex; align-items: center; gap: 8px;
}
.nav-avail .dot {
  width: 7px; height: 7px; border-radius: 50%; background: #22c55e;
  flex-shrink: 0; animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.nav-tel-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 4px }
.nav-tel-label { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted) }
.nav-tel {
  font-family: var(--H); font-size: clamp(18px, 1.8vw, 28px); font-weight: 700;
  color: var(--gold2); letter-spacing: 1px;
  display: flex; align-items: center; gap: 8px;
  transition: color .15s; line-height: 1;
  text-shadow: 0 0 24px rgba(240,192,64,.5);
}
.nav-tel:hover { color: #fff; text-shadow: 0 0 32px rgba(240,192,64,.9) }

/* ================================================================
   HERO
================================================================ */
#hero {
  position: relative;
  display: flex;
  align-items: stretch;
  background: #080706;
  isolation: isolate;
  z-index: 0;
  overflow: hidden;
}
#hero::before {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse at -5% 90%, rgba(180,15,0,.4) 0%, transparent 40%),
    radial-gradient(ellipse at 15% 100%, rgba(100,25,0,.22) 0%, transparent 30%);
}
.hero-copy {
  position: relative; z-index: 3;
  padding: 52px 4% 52px 5%;
  flex: 0 0 54%;
  max-width: 54%;
  display: flex; flex-direction: column; justify-content: center;
  background: linear-gradient(to right, #080706 0%, rgba(8,7,6,.95) 80%, transparent 100%);
}
.hero-image {
  flex: 0 0 46%;
  max-width: 46%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #080706;
  padding: 24px 16px 24px 0;
}
.hero-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  filter: contrast(1.1) saturate(1.05);
  -webkit-mask-image:
    linear-gradient(to right,  transparent 0%, black 8%, black 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right,  transparent 0%, black 8%, black 92%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-composite: intersect;
}
.hero-supertitle {
  font-family: var(--H); font-weight: 700;
  font-size: clamp(22px, 2.8vw, 40px);
  text-transform: uppercase; letter-spacing: 3px;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1;
}
.hero-kicker {
  font-family: var(--H); font-size: 20px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: var(--muted);
  margin-bottom: 10px;
}
.hero-kicker em { color: var(--red); font-style: normal }
.hero-h1 {
  font-family: var(--H); font-weight: 700;
  font-size: clamp(46px, 5.8vw, 82px);
  line-height: .88; text-transform: uppercase; letter-spacing: -1px;
  color: #fff;
  text-shadow: 0 2px 30px rgba(0,0,0,1), 0 0 60px rgba(0,0,0,.8);
  margin-bottom: 6px;
}
.hero-h1 .red { color: var(--red); display: block }
.hero-h1 .gold { color: var(--gold) }
.hero-h2 {
  font-family: var(--B); font-weight: 400;
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--light); margin: 12px 0 0; line-height: 1.55;
}
.hero-rule {
  width: 52px; height: 3px;
  background: linear-gradient(to right, var(--red), var(--gold));
  margin: 16px 0;
}
.hero-ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 14px }
.btn-emergency {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--red); color: #fff;
  font-family: var(--H); font-weight: 700;
  font-size: 15px; letter-spacing: 2px; text-transform: uppercase;
  padding: 16px 30px;
  box-shadow: 0 4px 28px rgba(192,34,26,.65), inset 0 1px 0 rgba(255,255,255,.15);
  transition: background .2s, transform .15s, box-shadow .2s;
  white-space: nowrap;
}
.btn-emergency:hover { background: var(--red-bright); transform: translateY(-2px); box-shadow: 0 6px 36px rgba(192,34,26,.8) }
.btn-upload {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: var(--white);
  font-family: var(--H); font-weight: 600;
  font-size: 14px; letter-spacing: 2px; text-transform: uppercase;
  padding: 15px 22px;
  border: 1px solid rgba(255,255,255,.28);
  transition: border-color .15s, background .15s;
  white-space: nowrap;
}
.btn-upload:hover { border-color: var(--gold); background: rgba(255,255,255,.04); color: var(--gold) }
.hero-avail {
  font-size: 12px; color: var(--muted); letter-spacing: 1px;
  display: flex; align-items: center; gap: 6px;
}
.hero-avail .green { color: #4ade80 }

/* ================================================================
   PROBLEM CARDS
================================================================ */
#problems {
  background: var(--bg2);
  padding: 40px 5%;
  border-top: 1px solid var(--steel);
  border-bottom: 1px solid var(--steel);
  position: relative;
  z-index: 1;
}
#problems .sec-head { text-align:center; margin-bottom: 28px }
.prob-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 14px;
  max-width: 1200px; margin: 0 auto;
}
.prob-card {
  background: var(--bg4);
  border: 1px solid var(--steel);
  border-top: 3px solid var(--red);
  padding: 26px 20px 20px;
  text-align: center;
  text-decoration: none;
  display: flex; flex-direction: column; align-items: center;
  transition: border-color .22s, background .22s, transform .18s, box-shadow .22s;
  cursor: pointer;
  position: relative;
}
.prob-card:hover {
  border-color: var(--gold);
  border-top-color: var(--gold);
  background: rgba(201,162,39,.05);
  transform: translateY(-5px);
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.prob-card:hover .prob-icon {
  background: rgba(201,162,39,.12);
  border-color: rgba(201,162,39,.5);
  color: var(--gold);
}
.prob-card:hover .prob-cta { color: var(--gold2) }
.prob-icon {
  width: 62px; height: 62px; border-radius: 50%;
  background: rgba(192,34,26,.12); border: 2px solid rgba(192,34,26,.4);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  color: var(--red);
  flex-shrink: 0;
  transition: background .22s, border-color .22s, color .22s;
}
.prob-icon svg { width: 28px; height: 28px }
.prob-title {
  font-family: var(--H); font-size: 14px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  color: #fff; margin-bottom: 7px; line-height: 1.2;
}
.prob-text {
  font-size: 12px; color: var(--muted); line-height: 1.55; margin-bottom: 14px; flex: 1;
}
.prob-cta {
  font-family: var(--H); font-size: 10px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--gold);
  border-top: 1px solid var(--steel); padding-top: 10px; width: 100%; text-align: center;
}

/* ================================================================
   TRUST STRIP
================================================================ */
#trust-strip {
  background: #000;
  border-top: 1px solid var(--gold-dark);
  border-bottom: 1px solid var(--gold-dark);
  padding: 16px 5%;
  display: flex; justify-content: center; align-items: center;
  flex-wrap: wrap; gap: 0;
  position: relative; z-index: 1;
}
.ts-item {
  display: flex; align-items: center; gap: 9px;
  padding: 6px 24px;
  font-family: var(--H); font-size: 13px; font-weight: 700;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--light);
  border-right: 1px solid rgba(255,255,255,.1);
}
.ts-item:last-child { border-right: none }
.ts-item .ck { color: var(--gold); font-size: 15px }

/* ================================================================
   AUTHORITY SECTION
================================================================ */
#authority {
  position: relative;
  background: var(--bg2);
  padding: 56px 5%;
  overflow: hidden;
  border-bottom: 1px solid var(--steel);
}
#authority::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 100% 50%, rgba(160,20,5,.12) 0%, transparent 55%);
}
.authority-inner {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto;
}
.auth-eyebrow { margin-bottom: 14px }
.auth-h2 {
  font-family: var(--H); font-weight: 700;
  font-size: clamp(28px, 3.8vw, 46px);
  text-transform: uppercase; letter-spacing: 1px; color: #fff;
  line-height: .95; margin-bottom: 10px;
}
.auth-h2 span { color: var(--gold) }
.auth-sub {
  font-size: 15px; color: var(--light); line-height: 1.7;
  margin-bottom: 24px; max-width: 500px;
}
.check-list { margin-bottom: 30px }
.check-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--steel2);
  font-size: 14px; color: var(--light);
}
.check-item:last-child { border-bottom: none }
.check-item .ck {
  color: var(--gold); font-size: 15px; flex-shrink: 0; margin-top: 2px;
  background: rgba(201,162,39,.12); width:22px; height:22px;
  display:flex; align-items:center; justify-content:center;
}
.check-item strong { font-weight: 700; color: #fff }
.auth-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px }
.btn-gold-cta {
  display: inline-flex; align-items: center; gap: 9px;
  background: linear-gradient(to bottom, var(--gold2), var(--gold));
  color: #000; font-family: var(--H); font-weight: 700;
  font-size: 14px; letter-spacing: 2px; text-transform: uppercase;
  padding: 16px 28px;
  box-shadow: 0 4px 22px rgba(201,162,39,.45);
  transition: filter .15s, transform .12s;
  white-space: nowrap;
}
.btn-gold-cta:hover { filter: brightness(1.1); transform: translateY(-2px) }
.btn-upload-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--steel); color: var(--white);
  font-family: var(--H); font-weight: 700;
  font-size: 14px; letter-spacing: 2px; text-transform: uppercase;
  padding: 16px 22px;
  border: 1px solid rgba(255,255,255,.15);
  transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.btn-upload-cta:hover { background: var(--steel2); border-color: var(--gold) }
.auth-img-wrap { position: relative; overflow: hidden }
.auth-img-wrap img {
  width: 100%; display: block; border: none;
  object-fit: cover; object-position: center top;
  -webkit-mask-image:
    linear-gradient(to right,  transparent 0%, black 14%, black 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right,  transparent 0%, black 14%, black 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
  mask-composite: intersect;
}
.auth-img-wrap::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom, transparent 55%, rgba(13,11,7,.7) 100%);
}
.auth-img-strap {
  background: var(--red); padding: 8px 16px;
  font-family: var(--H); font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: #fff;
  text-align: center;
}

/* ================================================================
   INTAKE FORM SECTION
================================================================ */
#intake {
  background: var(--bg3);
  padding: 52px 5%;
  border-top: 1px solid var(--steel);
}
.intake-inner { max-width: 820px; margin: 0 auto }
.intake-heading {
  font-family: var(--H); font-weight: 700;
  font-size: clamp(24px, 3.5vw, 40px);
  text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); border-bottom: 2px solid var(--gold);
  padding-bottom: 14px; margin-bottom: 8px;
}
.intake-heading span { display: block; font-size: .62em; color: var(--light); margin-top: 4px; letter-spacing: 2px }
.intake-sub { font-size: 14px; color: var(--muted); margin: 12px 0 28px; line-height: 1.65 }
.intake-sub strong { color: var(--light) }
.f-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px }
.f-grid-1 { margin-bottom: 14px }
.field { display: flex; flex-direction: column; gap: 5px }
.field label {
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--muted);
}
.field input, .field select, .field textarea {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--steel);
  border-bottom: 2px solid rgba(255,255,255,.15);
  color: var(--white); font-family: var(--B); font-size: 14px;
  padding: 13px 15px; outline: none; width: 100%;
  transition: border-color .18s, background .18s;
}
.field input::placeholder,.field textarea::placeholder { color: #3a3830 }
.field input:focus,.field select:focus,.field textarea:focus {
  border-color: var(--gold); border-bottom-color: var(--gold);
  background: rgba(255,255,255,.06);
}
.field select { cursor: pointer }
.field select option { background: var(--bg3) }
.field textarea { resize: vertical; min-height: 90px }
.field input[type=file] {
  background: rgba(255,255,255,.03); border: 1px dashed var(--steel);
  color: var(--muted); padding: 10px;
}
.q-warn {
  font-size: 13px; color: var(--light); margin-bottom: 8px;
  display: flex; align-items: center; gap: 8px; font-weight: 600;
}
.q-warn::before { content:'—'; color: var(--gold) }
.radio-group { display: flex; gap: 24px; margin: 4px 0 8px }
.rl { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; color: var(--light) }
.rl input[type=radio] { width: 16px; height: 16px; accent-color: var(--gold) }
.btn-primary {
  width: 100%; padding: 19px;
  background: linear-gradient(to bottom, var(--red-bright), var(--red));
  color: #fff; font-family: var(--H); font-weight: 700;
  font-size: 19px; letter-spacing: 2px; text-transform: uppercase;
  box-shadow: 0 4px 28px rgba(192,34,26,.55);
  transition: filter .15s, transform .12s; margin-top: 8px;
}
.btn-primary:hover { filter: brightness(1.1); transform: translateY(-2px) }
.form-disc { font-size: 10px; color: #333; text-align: center; margin-top: 10px; line-height: 1.4 }

/* ================================================================
   SERVICES
================================================================ */
#services {
  background: var(--bg2);
  padding: 56px 5%;
  border-top: 1px solid var(--steel);
}
#services .sec-head { text-align: center; margin-bottom: 36px }
.sec-eyebrow { font-family: var(--H); font-size: 11px; font-weight: 600; letter-spacing:4px; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:12px }
.sec-eyebrow::before,.sec-eyebrow::after { content:''; width:40px; height:1px; background:var(--gold) }
.sec-h2 { font-family: var(--H); font-weight:700; font-size:clamp(28px,4vw,46px); text-transform:uppercase; letter-spacing:1.5px; color:#fff; line-height:1.0; margin-bottom:8px }
.sec-h2 em { color:var(--red); font-style:normal }
.sec-h2 b  { color:var(--gold) }
.sec-sub { font-size:14px; color:var(--muted); max-width:560px; margin:0 auto }
.svc-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
  max-width: 1100px; margin: 0 auto;
}
.svc-card {
  background: var(--bg4);
  border: 1px solid var(--steel);
  border-top: 3px solid var(--red);
  padding: 28px 22px;
  cursor: pointer;
  transition: border-top-color .2s, transform .2s, box-shadow .2s;
}
.svc-card:hover { border-top-color: var(--gold); transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,.5) }
.svc-card.open { border-top-color: var(--gold) }
.svc-num { font-family: var(--H); font-size: 28px; font-weight: 700; color: rgba(201,162,39,.2); margin-bottom: 10px; line-height: 1 }
.svc-card h3 {
  font-family: var(--H); font-weight: 700; font-size: 16px;
  letter-spacing: 1px; text-transform: uppercase; color: var(--gold); margin-bottom: 8px;
}
.svc-card.open h3 { color: var(--red-bright) }
.svc-card .brief { font-size: 13px; color: var(--muted); line-height: 1.6 }
.svc-card .detail {
  display: none; margin-top: 14px; padding-top: 14px;
  border-top: 1px solid var(--steel);
  font-size: 13px; color: var(--light); line-height: 1.65;
}
.svc-card.open .detail { display: block }
.svc-hint { display: block; margin-top: 10px; font-size: 10px; color: var(--gold); letter-spacing: 1.5px; text-transform: uppercase }
.svc-card.open .svc-hint { color: var(--muted) }

/* ================================================================
   SECTION DIVIDER
================================================================ */
#bb {
  height: 6px;
  background: linear-gradient(to right, var(--red-dark) 0%, var(--red) 30%, var(--gold) 50%, var(--red) 70%, var(--red-dark) 100%);
  margin: 0;
}

/* ================================================================
   URGENCY SECTION
================================================================ */
#urgency {
  background: var(--bg3);
  padding: 54px 5%;
  position: relative; overflow: hidden;
}
#urgency::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(160,20,5,.18) 0%, transparent 45%),
    radial-gradient(ellipse at 100% 50%, rgba(160,20,5,.1) 0%, transparent 45%);
}
.urgency-inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
  max-width: 1100px; margin: 0 auto;
}
.urg-h2 { font-family:var(--H); font-weight:700; font-size:clamp(26px,3.5vw,42px); text-transform:uppercase; letter-spacing:1px; color:#fff; line-height:1.0; margin-bottom:16px }
.urg-h2 span { color:var(--red) }
.urg-copy p { font-size:15px; color:var(--light); line-height:1.7; margin-bottom:20px }
.urg-consequences { margin-bottom: 30px }
.urg-con-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 10px 0; border-bottom: 1px solid var(--steel2);
}
.urg-con-item:last-child { border-bottom: none }
.urg-con-item .bullet { color: var(--red); font-size: 18px; flex-shrink: 0; font-family:var(--H); font-weight:700; min-width:28px }
.urg-con-item span { font-size: 14px; color: var(--light) }
.urg-con-item strong { color: #fff }
.urg-cta { display: flex; flex-direction: column; gap: 12px }
.btn-get-help {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--red); color: #fff;
  font-family: var(--H); font-weight: 700;
  font-size: 17px; letter-spacing: 2px; text-transform: uppercase;
  padding: 19px 36px;
  box-shadow: 0 4px 28px rgba(192,34,26,.55);
  transition: background .2s, transform .15s;
}
.btn-get-help:hover { background: var(--red-bright); transform: translateY(-2px) }
.urg-stats {
  background: var(--bg4); border: 1px solid var(--steel);
  border-left: 4px solid var(--red); padding: 32px 28px;
}
.urg-stats-title {
  font-family: var(--H); font-size: 11px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase; color: var(--muted);
  margin-bottom: 24px;
}
.stat-row { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--steel) }
.stat-row:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none }
.stat-num { font-family: var(--H); font-weight: 700; font-size: 48px; color: var(--red); line-height: 1; margin-bottom: 4px }
.stat-num span { font-size: 28px; color: var(--gold) }
.stat-label { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px }

/* ================================================================
   WHY US
================================================================ */
#whyus {
  background: var(--bg2);
  padding: 56px 5%;
  border-top: 1px solid var(--steel);
}
#whyus .sec-head { text-align: center; margin-bottom: 38px }
.why-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  max-width: 1100px; margin: 0 auto;
}
.why-card {
  background: var(--bg4); border: 1px solid var(--steel); padding: 30px 24px;
  position: relative; overflow: hidden;
}
.why-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right, var(--gold), var(--red)) }
.why-num { font-family:var(--H); font-size:42px; font-weight:700; color:rgba(201,162,39,.15); line-height:1; margin-bottom:10px }
.why-card h3 {
  font-family: var(--H); font-weight: 700; font-size: 17px;
  letter-spacing: 1px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px;
}
.why-card p { font-size: 13px; color: var(--muted); line-height: 1.7; margin-bottom: 12px }
.why-list { list-style: none; margin: 0; padding: 0 }
.why-list li { font-size: 12px; color: var(--muted); line-height: 1.6; padding: 4px 0 4px 16px; position: relative; border-top: 1px solid var(--steel2) }
.why-list li::before { content: '›'; position: absolute; left: 0; color: var(--gold); font-weight: 700 }

/* ================================================================
   TEAM
================================================================ */
#team {
  background: var(--bg3);
  padding: 56px 5%;
  border-top: 1px solid var(--steel);
}
#team .sec-head { text-align: center; margin-bottom: 38px }
.team-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
  max-width: 1000px; margin: 0 auto;
}
.team-card {
  background: var(--bg4); border: 1px solid var(--steel);
  padding: 20px 24px 24px; position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center;
}
.team-card p { min-height: 120px; }
.team-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right,var(--gold),var(--red)) }
.avatar {
  width: 312px; height: 312px;
  margin: 0 auto 4px;
  display: flex; align-items: center; justify-content: center;
}
.avatar img {
  width: 312px; height: 312px; object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(201,162,39,.5));
}
.team-card h3 { font-family:var(--H); font-weight:700; font-size:17px; letter-spacing:1px; text-transform:uppercase; color:#fff; text-align:center; margin-bottom:2px }
.team-role { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); text-align:center; margin-bottom:12px }
.team-card p { font-size:12px; color:var(--muted); line-height:1.65; text-align:center }
.team-bars { font-size:11px; color:#666; text-align:center; margin-top:16px; padding-top:14px; border-top:1px solid var(--steel); }
.team-bars strong { display:block; color:var(--muted); font-size:10px; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.team-bars ul { list-style:none; padding:0; margin:0; }
.team-bars ul li { padding:3px 0; line-height:1.4; }

/* ================================================================
   FINAL CTA
================================================================ */
#finalcta {
  position: relative; overflow: hidden;
  padding: 64px 5%; text-align: center;
  border-top: 2px solid var(--red); border-bottom: 2px solid var(--red);
}
.fcta-bg {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
.fcta-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .1; filter: saturate(1.5) }
.fcta-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(16,4,0,.98) 0%, rgba(28,6,0,.96) 50%, rgba(16,4,0,.98) 100%);
}
.fcta-inner { position: relative; z-index: 1 }
.fcta-eyebrow {
  font-family: var(--H); font-size: 11px; font-weight: 600;
  letter-spacing: 4px; text-transform: uppercase; color: var(--gold);
  margin-bottom: 20px; display: block;
}
.fcta-h2 {
  font-family: var(--H); font-weight: 700;
  font-size: clamp(30px, 5vw, 60px);
  text-transform: uppercase; letter-spacing: 0; line-height: .92; color: #fff; margin-bottom: 14px;
}
.fcta-h2 .r { color: var(--red) }
.fcta-sub { font-size: 16px; color: var(--muted); max-width: 520px; margin: 0 auto 38px; line-height: 1.65 }
.fcta-btns { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; margin-bottom: 24px }
.btn-fcta-main {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--red); color: #fff;
  font-family: var(--H); font-weight: 700;
  font-size: 17px; letter-spacing: 2px; text-transform: uppercase;
  padding: 21px 48px;
  box-shadow: 0 4px 32px rgba(192,34,26,.65);
  transition: background .2s, transform .15s, box-shadow .2s;
}
.btn-fcta-main:hover { background: var(--red-bright); transform: translateY(-2px); box-shadow: 0 6px 40px rgba(192,34,26,.8) }
.btn-fcta-call {
  display: inline-flex; align-items: center; gap: 10px;
  background: transparent; color: var(--gold);
  font-family: var(--H); font-weight: 700;
  font-size: 18px; letter-spacing: 1px; text-transform: uppercase;
  padding: 20px 36px;
  border: 2px solid var(--gold);
  transition: background .15s, color .15s;
}
.btn-fcta-call:hover { background: var(--gold); color: #000 }
.fcta-disc { font-size: 11px; color: var(--steel); margin-top: 10px }

/* ================================================================
   FOOTER
================================================================ */
footer {
  background: #000; border-top: 1px solid var(--steel);
  padding: 44px 5% 24px;
}
.footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 32px;
}
.footer-brand img { height: 120px; width: auto; display: block; margin-bottom: 16px; filter: drop-shadow(0 0 12px rgba(201,162,39,.4)) }
.footer-brand p { font-size: 12px; color: #555; line-height: 1.7; max-width: 340px }
.footer-brand { display: flex; flex-direction: column; }
.footer-col h4 { font-family:var(--H); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:14px }
.footer-col p { font-size:12px; color:#444; line-height:2 }
.footer-col a { color:var(--gold) }
.footer-col a:hover { color:var(--gold2) }
.footer-bottom {
  border-top: 1px solid var(--steel);
  padding-top: 18px; font-size: 10px; color: #333; text-align: center; line-height: 1.6;
}

/* ================================================================
   RESPONSIVE — TABLET (<=960px)
================================================================ */
@media (max-width: 960px) {
  #nav { height: 160px }
  .site-logo { height: 140px }
  .nav-tagline { font-size: clamp(24px, 3.5vw, 48px) }
  .nav-sub { font-size: clamp(10px, 1.2vw, 14px) }
  .hero-copy { flex: 0 0 60%; max-width: 60%; padding: 44px 4% }
  .hero-image { flex: 0 0 40%; max-width: 40% }
  .prob-grid { grid-template-columns: repeat(2,1fr) }
  .authority-inner { grid-template-columns: 1fr; gap: 40px }
  .auth-img-wrap { max-width: 500px }
  .urgency-inner { grid-template-columns: 1fr; gap: 40px }
  .svc-grid { grid-template-columns: 1fr 1fr }
  .why-grid { grid-template-columns: 1fr 1fr }
  .team-grid { grid-template-columns: 1fr 1fr }
  .footer-top { grid-template-columns: 1fr 1fr }
  .footer-brand { grid-column: 1 / -1 }
  .mini-fields { grid-template-columns: 1fr }
}

/* ================================================================
   RESPONSIVE — MOBILE PORTRAIT (<=640px)
================================================================ */
@media (max-width: 640px) {
  #nav { height: 72px; padding: 0 4% }
  .site-logo { height: 56px }
  .nav-tagline { display: none }
  .nav-avail { display: none }
  .nav-tel { font-size: 20px }
  .nav-tel-label { display: none }
  #hero { flex-direction: column }
  .hero-copy { flex: none; width: 100%; max-width: 100%; padding: 36px 5% 28px; background: #080706 }
  .hero-image { flex: none; width: 100%; max-width: 100%; opacity: 0.5; padding: 0; max-height: 220px; overflow: hidden }
  .hero-h1 { font-size: clamp(32px, 8vw, 48px) }
  .prob-grid { grid-template-columns: repeat(2,1fr) }
  .svc-grid { grid-template-columns: 1fr }
  .why-grid { grid-template-columns: 1fr }
  .team-grid { grid-template-columns: 1fr }
  .f-grid-2 { grid-template-columns: 1fr }
  .hero-ctas { flex-direction: column }
  .btn-emergency, .btn-upload { align-self: stretch; justify-content: center }
  .hero-pills { display: none }
  #trust-strip { flex-direction: column; gap: 2px }
  .ts-item { border-right: none; padding: 5px 16px; font-size: 13px }
  .auth-ctas { flex-direction: column }
  .fcta-btns { flex-direction: column; align-items: stretch }
  .footer-top { grid-template-columns: 1fr }
  .footer-brand { grid-column: auto }
  .footer-brand > div { flex-direction: column; align-items: center; text-align: center }
}

/* ================================================================
   RESPONSIVE — LANDSCAPE PHONE (short viewport)
================================================================ */
@media (max-height: 500px) and (orientation: landscape) {
  #nav { height: 64px; padding: 0 4% }
  .site-logo { height: 52px }
  .nav-tagline { font-size: clamp(16px, 2.8vw, 28px); margin-left: 16px }
  .nav-sub { display: none }
  .nav-tel { font-size: 18px }
  #hero { flex-direction: row; min-height: auto }
  .hero-copy { flex: 0 0 58%; max-width: 58%; padding: 20px 4% }
  .hero-image { flex: 0 0 42%; max-width: 42%; max-height: 100vh }
  .hero-h1 { font-size: clamp(22px, 4vw, 38px) }
  .hero-h2 { font-size: 13px }
  .hero-avail { display: none }
  .hero-rule { margin: 8px 0 }
  .hero-ctas { gap: 8px; margin-bottom: 8px }
  .btn-emergency { padding: 10px 18px; font-size: 12px }
  .btn-upload { padding: 10px 14px; font-size: 12px }
}

/* ================================================================
   FLOATING MOBILE CTA
================================================================ */
#floating-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 800;
  background: var(--red);
  padding: 14px 5%;
  text-align: center;
  box-shadow: 0 -4px 24px rgba(192,34,26,.7);
}
#floating-cta a {
  font-family: var(--H); font-weight: 700;
  font-size: 16px; letter-spacing: 2px; text-transform: uppercase;
  color: #fff; display: flex; align-items: center; justify-content: center; gap: 8px;
}
@media (max-width: 640px) { #floating-cta { display: block } body { padding-bottom: 56px } }
