/* ============================================================
   303 Logistics, Inc. — Homepage sample (static HTML + CSS)
   Design language: cream + navy + gold, minimal, high-contrast.
   ============================================================ */
:root{
  --cream:#FAFAF8;
  --navy:#0E1C29;
  --gold:#BA8D49;
  --bronze:#755422;
  --sand:#D4B87A;
  --line:#E8E4DE;

  --ink:var(--navy);
  --ink-2:color-mix(in srgb, var(--navy) 82%, #000);
  --muted:color-mix(in srgb, var(--navy) 55%, transparent);
  --muted-2:color-mix(in srgb, var(--navy) 35%, transparent);

  --paper:var(--cream);
  --card:#fff;

  --accent:var(--gold);
  --accent-deep:color-mix(in srgb, var(--gold) 86%, var(--bronze));
  --accent-soft:color-mix(in srgb, var(--gold) 15%, var(--cream));

  --road:color-mix(in srgb, var(--navy) 10%, var(--cream));
  --road-arterial:color-mix(in srgb, var(--navy) 14%, var(--cream));
  --road-untrav:color-mix(in srgb, var(--navy) 14%, var(--cream));

  --map-road:rgba(14,28,41,.10);
  --map-road-strong:rgba(186,141,73,.18);
  --map-node:rgba(14,28,41,.24);
  --park:#EAF3EC;
  --water:#E3F2F8;

  --radius:18px;
  --radius-sm:12px;
  --shadow-sm:0 1px 3px rgba(14,28,41,0.06);
  --shadow-md:0 8px 24px -14px rgba(14,28,41,0.18);
  --shadow-lg:0 12px 36px -12px rgba(14,28,41,0.18);
  --maxw:1240px;

  --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --heading:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.08;letter-spacing:0;font-family:var(--heading)}
h1{font-weight:800}
h2,h3{font-weight:750}
p{margin:0}
img{display:block;max-width:100%}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.accent{color:var(--accent)}
.mono{font-family:var(--mono)}

/* Dot grid background (Ringovo-style) */
body{position:relative}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:radial-gradient(circle, rgba(0, 0, 0, 0.25) 1px, transparent 1px);
  background-size:24px 24px;
  pointer-events:none;
  z-index:0;
}
body > *{position:relative;z-index:1}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-weight:500;font-size:14px;
  padding:12px 28px;border-radius:10px;border:1px solid transparent;
  cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-lg{padding:16px 28px;font-size:16px}
.btn-primary{
  background:linear-gradient(125deg, #BA8D49 -4%, #755422 100%);color:#fff;
  box-shadow:
    #BA8D49 0px 1px 2px 0px inset,
    rgba(173, 132, 69, 0.35) 0px 0.7px 0.7px -0.6px,
    rgba(173, 132, 69, 0.25) 0px 4px 4px -1.7px,
    rgba(173, 132, 69, 0.15) 0px 8px 8px -2.3px;
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-nav{
  background:linear-gradient(127deg, #BA8D49 -68%, #0E1C29 100%);
  color:#fff;
  padding:8px 18px;
  border-radius:10px;
  font-size:13px;
  box-shadow:#B8C1E6 0px 1px 2px 0px inset, rgba(46, 64, 128, 0.33) 0px 0px 0px -1.75px;
}
.btn-nav:hover{transform:translateY(-1px);opacity:.92}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:var(--mono);
  font-size:12px;font-weight:650;
  letter-spacing:0.18em;text-transform:uppercase;
  color:color-mix(in srgb, var(--gold) 88%, var(--bronze));
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:60;
  background:radial-gradient(50% 50% at 50% 50%, rgba(255,255,255,.77) 0%, rgba(255,255,255,.86) 100%);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  box-shadow:rgba(255,255,255,.06) 0px .4px .7px 0px, rgba(255,255,255,.2) 0px 1px 2px 0px;
  transition:border-color .25s ease, background .25s ease;
}
.nav.scrolled{border-color:var(--line)}
.nav-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  height:64px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:24px;letter-spacing:0;text-decoration:none}
.brand-wordmark{display:inline-flex;align-items:baseline;gap:0}
.brand-wordmark .t1{color:#473211;font-weight:600;letter-spacing:0}
.brand-wordmark .t2{color:var(--navy);font-weight:300;letter-spacing:0;margin-left:0;text-transform:none}
.nav .brand{justify-self:start}
.nav-links{display:flex;align-items:center;justify-content:center;gap:32px;justify-self:center}
.nav-links a{
  font-size:14px;font-weight:500;color:#473211;white-space:nowrap;
  position:relative;
  padding:2px 0;
  transition:color .15s ease;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1.5px;
  background:var(--gold);
  border-radius:2px;
  transition:width .2s ease;
}
.nav-links a:hover::after{width:100%}
.nav-right{justify-self:end;display:flex;align-items:center;gap:12px}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  overflow:hidden;
  min-height:720px;
  padding:92px 0 86px;
}
.hero-bg{
  position:absolute;
  inset:-80px -80px -80px -80px;
  pointer-events:none;
  z-index:0;
}
.map-bg{
  width:100%;
  height:100%;
  display:block;
  opacity:1;
}
.hero-bg-fade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(780px 540px at 28% 30%, rgba(255,255,255,.96), rgba(255,255,255,.68) 58%, rgba(255,255,255,.18) 80%),
    linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.38) 43%, rgba(255,255,255,.04) 66%, rgba(255,255,255,.12) 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(250,250,248,.62));
}
.hero-inner{
  position:relative;
  z-index:1;
  max-width:1100px;
  margin:0 auto;
  padding:0 clamp(20px, 5vw, 48px);
}
.hero-kicker{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin-bottom:56px;
}
.hero-kicker span{
  font-size:11px;
  font-weight:400;
  color:#999;
  letter-spacing:.02em;
}
.hero-kicker strong{
  font-family:var(--heading);
  font-size:16px;
  font-weight:700;
  color:#2C1810;
}
.hero-head{max-width:820px}
.badge-row{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.pill{
  display:inline-flex;align-items:center;
  padding:9px 14px;border-radius:999px;
  background:var(--accent-soft);
  border:1px solid color-mix(in srgb, var(--gold) 28%, transparent);
  color:color-mix(in srgb, var(--navy) 85%, var(--bronze));
  font-weight:650;font-size:13px;
}

.hero-h1{margin:0}
.hero-h1 .l1{
  display:block;
  font-size:64px;
  font-weight:400;
  letter-spacing:0;
  line-height:1.12;
  color:#9A7339;
}
.hero-h1 .l2{
  display:block;
  font-size:84px;
  font-weight:850;
  letter-spacing:0;
  line-height:1.06;
  color:#2C1810;
}
.hero-h1 .l3{
  display:block;
  margin-top:8px;
  font-size:40px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.12;
  color:#2C1810;
  transform:translateX(var(--hero-line-x, 0));
  opacity:var(--hero-line-opacity, 1);
  will-change:transform, opacity;
}
.hero-h1 .green{color:#5C8A3D}

.hero-support{
  margin-top:42px;
}
.hero-support p{
  max-width:560px;
  font-size:18px;
  line-height:1.7;
  color:#666;
}
.hero-support strong{font-weight:600;color:#2C1810}
/* Quote card (NTG-style) */
.quote-card{
  margin-top:26px;
  max-width:560px;
}
.quote-quick{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.86));
  border:1px solid rgba(186,141,73,.22);
  border-radius:16px;
  box-shadow:
    rgba(255,255,255,.85) 0 1px 0 inset,
    rgba(14,28,41,.08) 0 16px 36px -24px,
    rgba(186,141,73,.14) 0 10px 30px -26px;
  padding:11px 12px 10px;
  backdrop-filter: blur(10px);
  max-width: 560px;
  margin:0;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.quote-quick::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:linear-gradient(90deg, transparent, #BA8D49, #755422, transparent);
  opacity:.7;
}
.quote-quick:hover{
  transform:translateY(-1px);
  border-color:rgba(186,141,73,.34);
  box-shadow:
    rgba(255,255,255,.9) 0 1px 0 inset,
    rgba(14,28,41,.1) 0 18px 42px -24px,
    rgba(186,141,73,.18) 0 12px 34px -24px;
}
.quote-types{
  border:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px 18px;
  padding:0;
  margin:0;
  flex-wrap:wrap;
}
.qt{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  font-weight:650;
  color:color-mix(in srgb, var(--navy) 90%, #000);
}
.qt input{position:absolute;opacity:0;pointer-events:none}
.qt .dot{
  width:14px;height:14px;border-radius:50%;
  border:1.5px solid rgba(14,28,41,0.22);
  background:transparent;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,0.85);
}
.qt input:checked + .dot{
  border-color:rgba(0,0,0,0.22);
  background:
    radial-gradient(circle at 50% 50%, var(--accent) 0 42%, transparent 44%);
  box-shadow:inset 0 0 0 6px rgba(255,255,255,0.85);
}
.quote-divider{
  margin:9px 0;
  height:1px;
  background:rgba(0,0,0,0.12);
}
.quote-row{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap:9px;
  align-items:center;
}
.q-in{
  height:34px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,0.2);
  background:#fff;
  padding:0 11px;
  font-size:12.5px;
  outline:none;
}
.q-in::placeholder{color:rgba(0,0,0,0.32)}
.q-in:focus{border-color:rgba(0,0,0,0.35); box-shadow:0 0 0 4px rgba(186,141,73,0.15)}
.q-arrow{
  font-size:21px;
  font-weight:800;
  color:var(--accent);
  line-height:1;
  margin-top:-4px;
}
.q-btn{
  grid-column:1 / -1;
  height:34px;
  padding:0 14px;
  border-radius:10px;
  border:0;
  background:linear-gradient(125deg, #BA8D49 -4%, #755422 100%);
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  cursor:pointer;
  box-shadow:
    #BA8D49 0px 1px 2px 0px inset,
    rgba(173, 132, 69, 0.25) 0px 6px 6px -2px,
    rgba(173, 132, 69, 0.18) 0px 12px 12px -3px;
}
.q-btn:hover{background:var(--accent-deep)}
.quote-foot{
  margin-top:8px;
  display:flex;
  justify-content:center;
  gap:8px;
  font-size:11.5px;
  color:rgba(0,0,0,0.65);
}
.q-link{
  color:var(--accent);
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:4px;
}
.q-link:hover{color:var(--accent-deep)}

.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.service-feature.reveal:nth-child(2){transition-delay:.04s}
.service-feature.reveal:nth-child(3){transition-delay:.08s}
.service-feature.reveal:nth-child(4){transition-delay:.12s}
.service-feature.reveal:nth-child(5){transition-delay:.16s}
.service-feature.reveal:nth-child(6){transition-delay:.20s}
.service-feature.reveal:nth-child(7){transition-delay:.24s}
.service-feature.reveal:nth-child(8){transition-delay:.28s}

.hero-wave{
  position:absolute;
  left:0;
  right:0;
  bottom:-70px;
  height:140px;
  pointer-events:none;
  z-index:2;
  overflow:hidden;
}
.hero-wave svg{
  width:100%;
  height:100%;
  display:block;
}
.hero-wave path{
  fill:none;
  stroke-linecap:round;
}
.wave-glow{stroke:#BA8D49;stroke-width:12;stroke-opacity:.08}
.wave-shadow{stroke:#B8942A;stroke-width:3.5;stroke-opacity:.5}
.wave-main{stroke:#9A7339;stroke-width:5.5}

.section-wave{
  height:140px;
  overflow:hidden;
  pointer-events:none;
}
.section-wave svg{
  width:100%;
  height:100%;
  display:block;
}
.section-wave path{
  fill:none;
  stroke-linecap:round;
}
.section-wave.flip svg{transform:scaleY(-1)}

/* ============================================================
   SECTIONS
   ============================================================ */
section{scroll-margin-top:90px}
.section{padding:76px 0}
.section-head{max-width:680px;margin:0 auto 56px;text-align:center}
.section-head h2{font-size:clamp(30px,3.6vw,44px);letter-spacing:0}
.section-head p{margin-top:14px;font-size:17.5px;color:var(--muted);text-wrap:pretty}

/* Services */
.service-stack{
  max-width:1080px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:92px;
}
.service-feature{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:64px;
  align-items:center;
  min-height:300px;
}
.service-feature.flip{
  grid-template-columns:430px minmax(0,1fr);
}
.service-feature.flip .service-copy{grid-column:2}
.service-feature.flip .service-media{grid-column:1;grid-row:1}
.service-copy{max-width:390px}
.service-kicker{
  margin-bottom:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#B8860B;
}
.service-copy h3{
  font-size:24px;
  font-weight:500;
  line-height:1.5;
  color:var(--navy);
  margin-bottom:12px;
}
.service-copy p{
  color:#666;
  font-size:16px;
  line-height:1.7;
  margin-top:10px;
}
.service-copy a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:#9A7339;
  font-weight:600;
  font-size:15px;
  transition:color .2s ease, transform .2s ease;
}
.service-copy a:hover{color:var(--bronze);transform:translateX(3px)}
.service-media{
  width:430px;
  height:300px;
  margin:0;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(14,28,41,.12);
  box-shadow:0 24px 58px -36px rgba(14,28,41,.42);
  transform:translateZ(0);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s cubic-bezier(.22,1,.36,1);
}
.service-feature:hover .service-media{
  transform:translateY(-4px);
  box-shadow:0 28px 62px -40px rgba(14,28,41,.44);
}
.media-photo{
  position:relative;
  width:100%;
  height:100%;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(12,19,25,.82) 0%, rgba(25,24,19,.54) 42%, rgba(156,111,42,.5) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.32)),
    var(--service-tint),
    var(--service-photo);
  background-size:cover, cover, cover, cover;
  background-position:center, center, center, var(--service-position, center);
}
.media-photo::before{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:1;
  background:
    repeating-linear-gradient(151deg, rgba(255,255,255,.16) 0 2px, transparent 2px 52px),
    linear-gradient(112deg, transparent 0 42%, rgba(255,255,255,.14) 43% 48%, transparent 49%),
    radial-gradient(260px 180px at 75% 22%, rgba(186,141,73,.34), transparent 70%);
  mix-blend-mode:screen;
  opacity:.58;
  transform:translate3d(0,0,0) scale(1.04);
  pointer-events:none;
}
.media-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(6,13,18,.55) 0%, transparent 58%),
    linear-gradient(180deg, transparent 48%, rgba(0,0,0,.34) 100%);
  pointer-events:none;
}
.media-photo span{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:2;
  display:inline-flex;
  max-width:230px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:750;
  letter-spacing:.01em;
}
.media-ftl{--service-photo:url("assets/services/full-truckload.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.08), rgba(186,141,73,.18))}
.media-expedited{--service-photo:url("assets/services/expedited-freight.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.16), rgba(186,141,73,.26))}
.media-lanes{--service-photo:url("assets/services/dedicated-lanes.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.1), rgba(117,84,34,.28))}
.media-dispatch{--service-photo:url("assets/services/regional-nationwide-dispatch.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.14), rgba(92,138,61,.16), rgba(186,141,73,.24))}
.media-general{--service-photo:url("assets/services/general-freight.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.18), rgba(142,116,78,.24))}
.media-drop{--service-photo:url("assets/services/drop-hook.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.2), rgba(117,84,34,.26))}
.media-live{--service-photo:url("assets/services/live-load-unload.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.14), rgba(186,141,73,.3))}
.media-power{--service-photo:url("assets/services/power-only-moves.png");--service-position:center;--service-tint:linear-gradient(135deg, rgba(14,28,41,.18), rgba(117,84,34,.2))}

/* Coverage card */
.coverage-panel{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:var(--shadow-sm), var(--shadow-md);
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:30px;
  align-items:center;
  overflow:hidden;
}
.coverage-copy h3{font-size:22px;letter-spacing:0}
.coverage-copy .muted{margin-top:8px;color:var(--muted);font-size:15.5px;max-width:54ch}
.coverage-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.chip{
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  color:var(--muted);
  font-weight:650;
}
.us-map{
  width:100%;
  min-height:260px;
  overflow:visible;
}
.coverage-roads path{
  fill:none;
  stroke:rgba(14,28,41,.08);
  stroke-width:2;
  stroke-linecap:round;
}
.coverage-roads path:nth-child(2),
.coverage-roads path:nth-child(4){
  stroke:rgba(186,141,73,.13);
  stroke-width:3;
}
.coverage-shape{
  fill:rgba(255,255,255,.42);
  stroke:rgba(14,28,41,.1);
  stroke-width:1.5;
}
.coverage-route{
  fill:none;
  stroke:url(#coverageRoute);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 8px 10px rgba(117,84,34,.1));
}
.route-b{stroke:#755422;stroke-width:3.5;opacity:.42;stroke-dasharray:10 12}
.route-c{stroke:#BA8D49;stroke-width:3;opacity:.32;stroke-dasharray:3 11}
.map-dot{
  fill:#0E1C29;
  stroke:#fff;
  stroke-width:5;
  filter:drop-shadow(0 5px 8px rgba(14,28,41,.16));
}
.map-dot.origin{fill:#BA8D49}
.coverage-labels text{
  font-family:var(--font);
  font-size:14px;
  font-weight:700;
  fill:rgba(14,28,41,.62);
  paint-order:stroke;
  stroke:#fff;
  stroke-width:6px;
  stroke-linejoin:round;
}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.route-steps{
  position:relative;
}
.route-steps::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:43px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(186,141,73,.18), rgba(117,84,34,.65), rgba(186,141,73,.18));
}
.step{
  position:relative;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:14px;
  padding:22px;
  box-shadow:var(--shadow-sm);
}
.step .num{
  font-family:var(--mono);
  font-weight:750;
  font-size:11px;
  letter-spacing:.18em;
  color:var(--muted-2);
}
.step h3{margin-top:10px;font-size:18px}
.step p{margin-top:10px;color:var(--muted);font-size:15.5px;text-wrap:pretty}
.route-steps .step .num{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(186,141,73,.34);
  color:#755422;
  box-shadow:0 8px 18px -16px rgba(14,28,41,.28);
}

/* FAQ */
.faq-section{
  padding-top:84px;
}
.faq-head{
  max-width:820px;
  margin:0 auto 54px;
  text-align:center;
}
.faq-head .eyebrow{
  margin-bottom:14px;
}
.faq-head h2{
  font-size:clamp(44px,5.8vw,76px);
  font-weight:400;
  letter-spacing:-.04em;
}
.faq-list{
  max-width:880px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.faq-item{
  border:1px solid rgba(14,28,41,.08);
  border-radius:6px;
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 12px 28px -26px rgba(14,28,41,.24);
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 44px 18px 22px;
  font-size:18px;
  font-weight:600;
  color:var(--navy);
  position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:9px;
  height:9px;
  border-right:1.6px solid rgba(14,28,41,.55);
  border-bottom:1.6px solid rgba(14,28,41,.55);
  transform:translateY(-68%) rotate(45deg);
  transition:transform .2s ease;
}
.faq-item[open] summary::after{
  transform:translateY(-32%) rotate(225deg);
}
.faq-item p{
  padding:0 22px 20px;
  color:var(--muted);
  font-size:15.5px;
  max-width:74ch;
}

/* CTA band */
.cta-band{
  padding:82px 0 88px;
  background:transparent;
}
.quote-panel{
  max-width:1080px;
  margin:0 auto;
  border-radius:24px;
  padding:58px;
  background:
    radial-gradient(520px 240px at 50% 0%, rgba(186,141,73,.22), transparent 68%),
    linear-gradient(135deg, #191714 0%, #2A1D10 100%);
  color:#fff;
  box-shadow:0 30px 80px -46px rgba(14,28,41,.58);
  overflow:hidden;
}
.quote-copy{
  text-align:center;
  max-width:640px;
  margin:0 auto;
}
.dark-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(186,141,73,.36);
  color:#C9953B;
  font-family:var(--mono);
  font-size:12px;
  font-weight:750;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.quote-copy h2{
  margin-top:22px;
  text-align:center;
  color:#fff;
  font-size:clamp(34px,4.2vw,52px);
  letter-spacing:-.04em;
}
.quote-copy p{
  margin:16px auto 0;
  max-width:560px;
  text-align:center;
  font-size:17px;
  color:rgba(255,255,255,.62);
}

/* Quote form */
.quote{margin:30px auto 0;max-width:820px}
.quote .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 18px}
.quote label{display:grid;gap:6px}
.quote label span{font-size:12px;font-weight:750;letter-spacing:0.02em;color:var(--muted)}
.quote input,.quote textarea{
  width:100%;
  border:1px solid color-mix(in srgb, var(--sand) 30%, var(--line));
  background:#fff;
  border-radius:12px;
  padding:12px 13px;
  font-size:14.5px;
  color:var(--ink);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.quote input:focus,.quote textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
}
.quote .full{grid-column:1 / -1}
.fineprint{margin-top:12px;font-size:12.5px;color:var(--muted-2);text-align:center}
.dark-quote label span{color:rgba(255,255,255,.58)}
.dark-quote input,
.dark-quote textarea{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
}
.dark-quote input::placeholder,
.dark-quote textarea::placeholder{color:rgba(255,255,255,.34)}
.dark-quote input:focus,
.dark-quote textarea:focus{
  border-color:rgba(186,141,73,.72);
  box-shadow:0 0 0 4px rgba(186,141,73,.16);
}
.dark-quote .btn{
  display:flex;
  justify-content:center;
  width:100%;
}
.dark-quote .fineprint{color:rgba(255,255,255,.42)}

/* Footer */
.footer{padding:18px 0 26px;background:transparent;color:var(--navy)}
.footer-bar{
  min-height:64px;
  border:1px solid rgba(14,28,41,.08);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 16px 36px -34px rgba(14,28,41,.32);
  padding:10px 14px 10px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.footer .brand{font-size:23px}
.footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
}
.footer-links a{
  font-size:14px;
  font-weight:500;
  color:#473211;
}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{
  margin-top:18px;
  padding:0 4px;
  border-top:0;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  color:var(--muted);font-size:13px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1040px){
  .hero-h1 .l1{font-size:54px}
  .hero-h1 .l2{font-size:70px}
  .hero-h1 .l3{font-size:32px}
  .qt{font-size:13px}
  .quote-row{grid-template-columns: 1fr auto 1fr auto; gap:9px}
  .service-stack{gap:72px}
  .service-feature,
  .service-feature.flip{
    grid-template-columns:minmax(0,1fr) 280px;
    gap:38px;
  }
  .service-feature.flip .service-copy{grid-column:1}
  .service-feature.flip .service-media{grid-column:2;grid-row:1}
  .service-media{width:280px;height:226px}
  .coverage-panel{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .route-steps::before{display:none}
  .footer-bar{flex-wrap:wrap;justify-content:center}
  .footer-links{order:3;width:100%;gap:22px;flex-wrap:wrap}
}
@media (max-width: 840px){
  .hero-bg{opacity:0.65}
}
@media (max-width: 640px){
  .wrap{padding:0 18px}
  .nav-inner{
    height:76px;
    padding:0 16px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
  }
  .brand{font-size:22px;min-width:0}
  .brand-wordmark .t1{font-size:1em}
  .brand-wordmark .t2{font-size:1em}
  .nav-links{display:none}
  .nav-right{justify-self:end}
  .nav-right .btn-nav{
    padding:10px 14px;
    font-size:14px;
    border-radius:12px;
  }
  .hero{min-height:auto;padding:60px 0 56px}
  .hero-bg{display:none}
  .hero-kicker{align-items:flex-start;margin-bottom:36px}
  .hero-h1 .l1{font-size:36px}
  .hero-h1 .l2{font-size:48px}
  .hero-h1 .l3{font-size:24px}
  .hero-support{margin-top:28px}
  .hero-support p{font-size:16px}
  .quote-card{margin-top:24px}
  .quote-quick{border-radius:16px;max-width:100%}
  .section{padding:62px 0}
  .section-head{text-align:left;margin-bottom:34px}
  .section-head h2{font-size:34px}
  .service-stack{gap:58px}
  .service-feature,
  .service-feature.flip{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
    min-height:0;
  }
  .service-feature.flip .service-copy,
  .service-feature.flip .service-media{
    grid-column:auto;
    grid-row:auto;
  }
  .service-feature.flip .service-media{order:2}
  .service-copy{max-width:100%}
  .service-copy h3{font-size:22px}
  .service-copy p{font-size:15px}
  .service-media{width:100%;height:220px}
  .quote-types{justify-content:flex-start}
  .qt{font-size:13px}
  .quote-row{grid-template-columns: 1fr; gap:9px}
  .q-arrow{display:none}
  .q-btn{width:100%; justify-content:center}
  .faq-head{text-align:left;margin-bottom:32px}
  .faq-head h2{font-size:40px}
  .faq-item summary{font-size:16px;padding:16px 42px 16px 18px}
  .quote-panel{padding:34px 18px;border-radius:20px}
  .quote-copy{text-align:left}
  .quote-copy h2,
  .quote-copy p{text-align:left}
  .quote .grid{grid-template-columns:1fr}
  .quote .full{grid-column:auto}
  .footer-bar{align-items:flex-start;padding:18px;gap:18px}
  .footer-links{justify-content:flex-start;gap:14px 20px}
  .footer-bottom{flex-direction:column}
}
.form-status{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:650;
  text-align:center;
}
.form-status.pending{background:rgba(255,255,255,.12);color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.18)}
.form-status.success{background:rgba(86,150,83,.16);color:#DFF4D9;border:1px solid rgba(137,190,125,.28)}
.form-status.error{background:rgba(190,67,54,.16);color:#FFD8D3;border:1px solid rgba(255,130,116,.28)}
.quote-quick .form-status{color:var(--navy)}
.quote-quick .form-status.pending{background:rgba(186,141,73,.12);border-color:rgba(186,141,73,.22)}
.quote-quick .form-status.success{background:rgba(86,150,83,.12);border-color:rgba(86,150,83,.22)}
.quote-quick .form-status.error{background:rgba(190,67,54,.12);border-color:rgba(190,67,54,.22)}
button[disabled]{opacity:.7;cursor:not-allowed}
