/* ============================================================
   NUGS HVAC — shared stylesheet
   Industrial black + red. Mobile-first. WCAG AA. CWV-tuned.
   Contrast verified:
     white on --red (#C8102E)        = 5.89:1  (AA normal text + buttons)
     --red-bright (#FF3B30) on black = 5.58:1  (AA accent text/icons)
     --bone on --ink                 = ~17:1   (body)
   ============================================================ */

/* ---------- Tokens ---------- */
:root {
  /* color */
  --ink:        #0A0A0A;   /* dominant background */
  --ink-2:      #141414;   /* surface */
  --ink-3:      #1C1C1C;   /* raised surface / cards */
  --ink-line:   #2A2A2A;   /* hairline on dark */
  --bone:       #F5F4F1;   /* light section bg */
  --bone-2:     #ECEAE4;   /* light surface */
  --text:       #F5F4F1;   /* text on dark */
  --text-dark:  #15120F;   /* text on light */
  --muted:      #A8A8A2;   /* secondary text on dark (AA on ink) */
  --muted-dark: #5A554E;   /* secondary text on light */
  --red:        #C8102E;   /* CTA background (white text passes AA) */
  --red-hover:  #E11328;
  --red-bright: #FF3B30;   /* accent text/icons/headline pops on black */
  --red-line:   rgba(200,16,46,0.30);
  --ok:         #2FA868;

  /* type */
  --font-impact: 'Anton', 'Archivo', sans-serif;
  --font-head:   'Archivo', 'Work Sans', sans-serif;
  --font-body:   'Work Sans', system-ui, sans-serif;

  --fs-hero:  clamp(2.8rem, 8vw, 6rem);
  --fs-h1:    clamp(2.2rem, 5.2vw, 4rem);
  --fs-h2:    clamp(1.7rem, 3.6vw, 2.7rem);
  --fs-h3:    clamp(1.3rem, 2.4vw, 1.7rem);
  --fs-h4:    clamp(1.08rem, 1.8vw, 1.3rem);
  --fs-body:  clamp(1rem, 1.2vw, 1.115rem);
  --fs-small: 0.9rem;
  --fs-cap:   0.76rem;

  --lh-tight: 1.02;
  --lh-head:  1.12;
  --lh-body:  1.62;
  --ls-caps:  0.14em;

  /* layout */
  --container: 1240px;
  --radius: 4px;       /* sharp, industrial — not iOS-bubbly */
  --radius-lg: 8px;
  --header-h: 64px;
  --shadow: 0 18px 50px rgba(0,0,0,0.45);
  --shadow-red: 0 12px 34px rgba(200,16,46,0.30);
}

/* ---------- Reset / base ---------- */
*,*::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);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img,svg { max-width:100%; display:block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul { list-style: none; }
h1,h2,h3,h4 { font-family: var(--font-head); line-height: var(--lh-head); font-weight: 800; letter-spacing:-0.01em; }
:focus-visible { outline: 3px solid var(--red-bright); outline-offset: 3px; border-radius: 2px; }

/* ---------- Utilities ---------- */
.container { width: min(var(--container), 92%); margin-inline: auto; }
.container--narrow { width: min(900px, 92%); margin-inline:auto; }
.section { padding: clamp(56px, 9vw, 110px) 0; }
.section--compact { padding: clamp(40px,6vw,72px) 0; }
.bg-ink { background: var(--ink); color: var(--text); }
.bg-ink2 { background: var(--ink-2); color: var(--text); }
.bg-bone { background: var(--bone); color: var(--text-dark); }
.bg-red { background: var(--red); color:#fff; }
.eyebrow {
  font-family: var(--font-head); font-weight:700; text-transform: uppercase;
  letter-spacing: var(--ls-caps); font-size: var(--fs-cap); color: var(--red-bright);
  display:inline-flex; align-items:center; gap:.55rem; margin-bottom:.9rem;
}
.bg-bone .eyebrow { color: var(--red); }
.eyebrow::before { content:""; width:26px; height:2px; background: currentColor; display:inline-block; }
.lead { font-size: clamp(1.05rem,1.6vw,1.28rem); color: var(--muted); max-width: 62ch; }
.bg-bone .lead { color: var(--muted-dark); }
.kicker-red { color: var(--red-bright); }
.bg-bone .kicker-red { color: var(--red); }
.center { text-align:center; }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.measure { max-width: 68ch; }

/* skip link */
.skip {
  position:absolute; left:-9999px; top:0; z-index:2000;
  background: var(--red); color:#fff; padding:.75rem 1.1rem; font-weight:700;
}
.skip:focus { left: 8px; top: 8px; }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family: var(--font-head); font-weight:800; letter-spacing:.01em;
  padding: .95rem 1.6rem; border-radius: var(--radius); min-height:48px;
  transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
  text-transform: uppercase; font-size: .95rem; line-height:1;
}
.btn svg { width:20px; height:20px; flex:0 0 auto; }
.btn--call { background: var(--red); color:#fff; box-shadow: var(--shadow-red); }
.btn--call:hover { background: var(--red-hover); transform: translateY(-2px); }
.btn--ghost { background: transparent; color:#fff; border:2px solid var(--ink-line); }
.btn--ghost:hover { border-color:#fff; background: rgba(255,255,255,.06); }
.bg-bone .btn--ghost { color: var(--text-dark); border-color: rgba(21,18,15,.25); }
.bg-bone .btn--ghost:hover { border-color: var(--text-dark); background: rgba(21,18,15,.05); }
.btn--text { background:#fff; color: var(--ink); }
.btn--text:hover { transform: translateY(-2px); background:#eee; }
.btn--lg { padding:1.1rem 2rem; font-size:1.02rem; }
.btn--block { width:100%; }

/* ---------- Header ---------- */
.skipbar { background: var(--red); color:#fff; }
.emerg-strip {
  background: var(--red); color:#fff; font-weight:700;
  font-size: .86rem; text-align:center; padding:.5rem 1rem;
  display:flex; gap:.6rem; align-items:center; justify-content:center; flex-wrap:wrap;
  font-family: var(--font-head); letter-spacing:.02em;
}
.emerg-strip a { text-decoration: underline; text-underline-offset:3px; }
.emerg-strip .pulse { width:9px;height:9px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.7); animation: pulse 1.8s infinite; }
@keyframes pulse {
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}

.site-header {
  position: sticky; top:0; z-index:1000;
  background: rgba(10,10,10,.86); backdrop-filter: blur(12px);
  border-bottom:1px solid var(--ink-line);
}
.nav {
  display:flex; align-items:center; justify-content:space-between;
  height: var(--header-h); gap:1rem;
}
.brand { display:flex; align-items:center; gap:.6rem; font-family: var(--font-impact);
  font-size:1.5rem; letter-spacing:.02em; text-transform:uppercase; }
.brand .mark { width:34px;height:34px;flex:0 0 auto; }
.brand b { color: var(--red-bright); }
.nav-links { display:none; gap:1.4rem; align-items:center; }
.nav-links a { font-family: var(--font-head); font-weight:600; font-size:.94rem;
  color: var(--muted); transition: color .2s; position:relative; padding:.25rem 0; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:#fff; }
.nav-links a[aria-current="page"]::after { content:""; position:absolute; left:0; bottom:-2px;
  width:100%; height:2px; background: var(--red); }
.nav-cta { display:flex; align-items:center; gap:.7rem; }
.nav-phone { display:none; font-family: var(--font-head); font-weight:800; font-size:1.05rem;
  align-items:center; gap:.45rem; }
.nav-phone svg { width:18px;height:18px; color: var(--red-bright); }

.hamburger { display:flex; flex-direction:column; gap:5px; padding:10px; width:44px; height:44px;
  align-items:center; justify-content:center; }
.hamburger span { width:24px; height:2px; background:#fff; transition: transform .3s, opacity .3s; }
.hamburger.active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2){ opacity:0; }
.hamburger.active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.mobile-menu {
  position: fixed; inset:0 0 0 auto; width:min(86%,360px); z-index:1500;
  background: var(--ink-2); border-left:1px solid var(--ink-line);
  transform: translateX(100%); transition: transform .32s cubic-bezier(.4,0,.2,1);
  padding: calc(var(--header-h) + 1rem) 1.5rem 2rem; overflow-y:auto;
  display:flex; flex-direction:column; gap:.4rem;
}
.mobile-menu.open { transform: translateX(0); }
.mobile-menu a { font-family: var(--font-head); font-weight:600; font-size:1.05rem;
  padding:.85rem .25rem; border-bottom:1px solid var(--ink-line); min-height:48px; display:flex; align-items:center; }
.mobile-menu .sub { color: var(--muted); font-size:.84rem; text-transform:uppercase;
  letter-spacing:var(--ls-caps); padding:1rem .25rem .35rem; border:none; }
.mobile-menu .btn { margin-top:1rem; }
.menu-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:1400;
  opacity:0; visibility:hidden; transition: opacity .3s; }
.menu-overlay.show { opacity:1; visibility:visible; }

/* ---------- Floating mobile call button ---------- */
.float-call {
  position: fixed; left:16px; right:16px; bottom:16px; z-index:1200;
  display:flex; gap:10px;
}
.float-call .btn { flex:1; min-height:54px; box-shadow: var(--shadow); font-size:1rem; }
.float-call .btn--text-sms { background: var(--ink-3); color:#fff; border:1px solid var(--ink-line); }
@media (min-width:900px){ .float-call{ display:none; } }

/* ---------- Hero ---------- */
.hero { position:relative; background: var(--ink); overflow:hidden;
  padding: clamp(40px,7vw,84px) 0 clamp(48px,7vw,80px); }
.hero::before { /* layered industrial glow */
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(680px 420px at 78% -8%, rgba(200,16,46,.26), transparent 60%),
    radial-gradient(520px 360px at -6% 110%, rgba(200,16,46,.10), transparent 60%),
    linear-gradient(180deg, #0c0c0c, #0a0a0a);
  z-index:0;
}
.hero .container { position:relative; z-index:1; }
.hero-grid { display:grid; gap: clamp(28px,5vw,56px); align-items:center;
  grid-template-columns: 1fr; }
.hero h1 { font-family: var(--font-impact); font-weight:400;
  font-size: var(--fs-hero); line-height: var(--lh-tight); letter-spacing:0;
  text-transform: uppercase; }
.hero h1 .accent { color: var(--red-bright); display:block; }
.hero .who { display:flex; flex-wrap:wrap; gap:.5rem .9rem; margin:1.1rem 0 1.3rem;
  font-family:var(--font-head); font-weight:600; color: var(--muted); font-size:.95rem; }
.hero .who span { display:inline-flex; align-items:center; gap:.45rem; }
.hero .who svg { width:17px;height:17px;color:var(--red-bright); }
.hero-cta { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:.4rem; }
.hero-trust { margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:1rem 1.6rem;
  align-items:center; font-size:.85rem; color:var(--muted); }
.hero-trust strong { color:#fff; }

/* dual-path cards in hero */
.path-cards { display:grid; gap:14px; grid-template-columns:1fr; }
.path-card {
  background: var(--ink-2); border:1px solid var(--ink-line); border-radius: var(--radius-lg);
  padding:1.4rem 1.4rem 1.2rem; transition: border-color .2s, transform .2s; position:relative; overflow:hidden;
}
.path-card::after { content:""; position:absolute; left:0; top:0; width:4px; height:100%; background: var(--red); transform: scaleY(0); transform-origin:top; transition: transform .25s; }
.path-card:hover { border-color: var(--red-line); transform: translateY(-3px); }
.path-card:hover::after { transform: scaleY(1); }
.path-card h3 { font-size:1.25rem; margin-bottom:.3rem; }
.path-card p { color: var(--muted); font-size:.95rem; margin-bottom:.9rem; }
.path-card .go { font-family:var(--font-head); font-weight:700; color: var(--red-bright); display:inline-flex; gap:.4rem; align-items:center; }

/* ---------- Proof bar ---------- */
.proofbar { background: var(--ink-2); border-block:1px solid var(--ink-line); }
.proofbar .row { display:grid; grid-template-columns: repeat(2,1fr); gap:1.4rem 1rem; padding:2rem 0; }
.proof { text-align:center; }
.proof .n { font-family: var(--font-impact); font-size: clamp(1.8rem,4vw,2.6rem); color:#fff; line-height:1; }
.proof .l { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color: var(--muted); margin-top:.4rem; }

/* ---------- Section heading ---------- */
.shead { max-width: 70ch; margin-bottom: clamp(28px,4vw,48px); }
.shead h2 { font-size: var(--fs-h2); text-transform:uppercase; }
.shead.center { margin-inline:auto; }

/* ---------- Cards / services grid ---------- */
.cards { display:grid; gap:16px; grid-template-columns:1fr; }
.card {
  background: var(--ink-2); border:1px solid var(--ink-line); border-radius: var(--radius-lg);
  padding:1.5rem; transition: border-color .2s, transform .2s; display:flex; flex-direction:column;
}
.bg-bone .card { background:#fff; border-color: rgba(21,18,15,.10); }
.card:hover { border-color: var(--red-line); transform: translateY(-3px); }
.card .ico { width:46px; height:46px; border-radius: var(--radius); background: rgba(200,16,46,.12);
  display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.card .ico svg { width:26px; height:26px; color: var(--red-bright); }
.bg-bone .card .ico svg { color: var(--red); }
.card h3 { font-size:1.18rem; margin-bottom:.45rem; }
.card p { color: var(--muted); font-size:.95rem; flex:1; }
.bg-bone .card p { color: var(--muted-dark); }
.card .go { margin-top:1rem; font-family:var(--font-head); font-weight:700; color: var(--red-bright); display:inline-flex; gap:.4rem; align-items:center; }
.bg-bone .card .go { color: var(--red); }
.card--feature { border-color: var(--red-line); background: linear-gradient(180deg, rgba(200,16,46,.10), var(--ink-2)); }
.tag { display:inline-block; font-family:var(--font-head); font-weight:700; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.1em; color:#fff; background: var(--red);
  padding:.3rem .6rem; border-radius:2px; margin-bottom:.9rem; align-self:flex-start; }

/* ---------- Split feature ---------- */
.split { display:grid; gap: clamp(28px,5vw,56px); grid-template-columns:1fr; align-items:center; }
.split .body h2 { font-size: var(--fs-h2); text-transform:uppercase; margin-bottom:1rem; }
.checks { display:grid; gap:.7rem; margin:1.3rem 0; }
.checks li { display:flex; gap:.7rem; align-items:flex-start; color: var(--text); }
.bg-bone .checks li { color: var(--text-dark); }
.checks svg { width:22px;height:22px;flex:0 0 auto; color: var(--red-bright); margin-top:2px; }
.bg-bone .checks svg { color: var(--red); }

/* photo placeholder — reserves space, zero CLS */
.photo {
  position:relative; border-radius: var(--radius-lg); overflow:hidden;
  background:
    repeating-linear-gradient(45deg, #161616 0 14px, #121212 14px 28px);
  border:1px solid var(--ink-line);
  display:flex; align-items:center; justify-content:center; text-align:center;
}
.photo[data-ratio="4-3"]{ aspect-ratio:4/3; }
.photo[data-ratio="16-9"]{ aspect-ratio:16/9; }
.photo[data-ratio="1-1"]{ aspect-ratio:1/1; }
.photo[data-ratio="3-4"]{ aspect-ratio:3/4; }
.photo .ph-label { font-family:var(--font-head); font-weight:600; color:#807f7a;
  font-size:.82rem; padding:1rem 1.2rem; max-width:38ch; line-height:1.45; }
.photo .ph-label b { color: var(--red-bright); display:block; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; margin-bottom:.4rem; }

/* ---------- Direct answer box (service pages) ---------- */
.answer {
  background: var(--ink-2); border:1px solid var(--red-line); border-left:4px solid var(--red);
  border-radius: var(--radius); padding:1.3rem 1.5rem; font-size:1.1rem; line-height:1.55;
}
.bg-bone .answer { background:#fff; }

/* ---------- Emergency band ---------- */
.eband { background: var(--red); color:#fff; position:relative; overflow:hidden; }
.eband::before { content:""; position:absolute; inset:0;
  background: repeating-linear-gradient(135deg, rgba(0,0,0,.08) 0 18px, transparent 18px 36px); }
.eband .container { position:relative; z-index:1; display:grid; gap:1.2rem; align-items:center; grid-template-columns:1fr; }
.eband h2 { font-family:var(--font-impact); font-weight:400; text-transform:uppercase;
  font-size: clamp(1.8rem,4.4vw,2.8rem); line-height:1.05; }
.eband p { opacity:.95; max-width:52ch; }
.eband .btn--text { box-shadow: 0 14px 30px rgba(0,0,0,.3); }

/* ---------- Reviews ---------- */
.reviews { display:grid; gap:16px; grid-template-columns:1fr; }
.review { background: var(--ink-2); border:1px solid var(--ink-line); border-radius: var(--radius-lg); padding:1.5rem; }
.bg-bone .review { background:#fff; border-color: rgba(21,18,15,.10); }
.stars { display:flex; gap:2px; margin-bottom:.8rem; }
.stars svg { width:18px;height:18px; color: var(--red-bright); }
.bg-bone .stars svg { color: var(--red); }
.review p { font-size:1.02rem; }
.review .who { margin-top:1rem; font-family:var(--font-head); font-weight:700; font-size:.92rem; }
.review .who span { color: var(--muted); font-weight:500; display:block; font-family:var(--font-body); font-size:.82rem; }
.bg-bone .review .who span { color: var(--muted-dark); }
.embed-note { border:1px dashed var(--red-line); border-radius: var(--radius); padding:1rem 1.2rem;
  color: var(--muted); font-size:.85rem; text-align:center; margin-top:1.4rem; }

/* ---------- Badges / certs ---------- */
.badges { display:flex; flex-wrap:wrap; gap:12px; }
.badge { display:flex; align-items:center; gap:.6rem; background: var(--ink-3);
  border:1px solid var(--ink-line); border-radius: var(--radius); padding:.7rem 1rem; font-size:.86rem; font-weight:600; }
.bg-bone .badge { background:#fff; border-color: rgba(21,18,15,.12); }
.badge svg { width:22px;height:22px; color: var(--red-bright); flex:0 0 auto; }
.bg-bone .badge svg { color: var(--red); }

/* ---------- FAQ ---------- */
.faq { display:grid; gap:10px; max-width: 880px; }
.faq-item { background: var(--ink-2); border:1px solid var(--ink-line); border-radius: var(--radius); overflow:hidden; }
.bg-bone .faq-item { background:#fff; border-color: rgba(21,18,15,.10); }
.faq-q { width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.1rem 1.3rem; font-family:var(--font-head); font-weight:700; font-size:1.02rem; min-height:48px; }
.faq-q .pm { width:22px;height:22px;flex:0 0 auto; position:relative; }
.faq-q .pm::before,.faq-q .pm::after { content:""; position:absolute; background: var(--red-bright); }
.bg-bone .faq-q .pm::before, .bg-bone .faq-q .pm::after { background: var(--red); }
.faq-q .pm::before { left:0; top:10px; width:22px; height:2px; }
.faq-q .pm::after { left:10px; top:0; width:2px; height:22px; transition: transform .25s; }
.faq-q[aria-expanded="true"] .pm::after { transform: rotate(90deg); }
.faq-a { max-height:0; overflow:hidden; transition: max-height .3s ease; }
.faq-a > div { padding:0 1.3rem 1.2rem; color: var(--muted); }
.bg-bone .faq-a > div { color: var(--muted-dark); }

/* ---------- Forms ---------- */
.form { display:grid; gap:.9rem; }
.field { display:flex; flex-direction:column; gap:.4rem; }
.field label { font-family:var(--font-head); font-weight:600; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color: var(--muted); }
.bg-bone .field label { color: var(--muted-dark); }
.field input,.field select,.field textarea {
  background: var(--ink); border:1px solid var(--ink-line); border-radius: var(--radius);
  padding:.85rem 1rem; color:#fff; font:inherit; min-height:48px; transition: border-color .2s;
}
.bg-bone .field input, .bg-bone .field select, .bg-bone .field textarea { background:#fff; color: var(--text-dark); border-color: rgba(21,18,15,.18); }
.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--red); outline:none; }
.field textarea { min-height:120px; resize:vertical; }
.form-note { font-size:.78rem; color: var(--muted); }
.bg-bone .form-note { color: var(--muted-dark); }
.form-success { display:none; background: rgba(47,168,104,.12); border:1px solid var(--ok);
  border-radius: var(--radius); padding:1rem 1.2rem; color:#fff; font-weight:600; }
.bg-bone .form-success { color: var(--text-dark); }
.form-success.show { display:block; }
.two-col { display:grid; gap:.9rem; grid-template-columns:1fr; }

/* contact rows */
.contact-rows { display:grid; gap:1rem; }
.crow { display:flex; gap:.9rem; align-items:flex-start; }
.crow .ico { width:42px;height:42px;flex:0 0 auto;border-radius:var(--radius);background:rgba(200,16,46,.12);
  display:flex;align-items:center;justify-content:center; }
.crow .ico svg { width:22px;height:22px;color:var(--red-bright); }
.crow b { font-family:var(--font-head); display:block; font-size:1.05rem; }
.crow span { color: var(--muted); font-size:.92rem; }

/* ---------- Internal link row ---------- */
.linkrow { display:flex; flex-wrap:wrap; gap:.7rem; }
.linkpill { border:1px solid var(--ink-line); border-radius:999px; padding:.55rem 1.05rem; font-size:.88rem;
  font-family:var(--font-head); font-weight:600; transition: border-color .2s, color .2s; }
.linkpill:hover { border-color: var(--red); color: var(--red-bright); }
.bg-bone .linkpill { border-color: rgba(21,18,15,.18); }
.bg-bone .linkpill:hover { color: var(--red); border-color: var(--red); }

/* ---------- Breadcrumb ---------- */
.crumbs { font-size:.82rem; color: var(--muted); padding:1rem 0 0; }
.crumbs a:hover { color:#fff; }
.crumbs span { color:#fff; }

/* ---------- Footer ---------- */
.site-footer { background:#070707; border-top:1px solid var(--ink-line); padding: clamp(48px,7vw,80px) 0 1.5rem; }
.foot-grid { display:grid; gap:2rem; grid-template-columns:1fr; }
.foot-grid h4 { font-family:var(--font-head); font-size:.84rem; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-bottom:1rem; }
.foot-grid ul { display:grid; gap:.55rem; }
.foot-grid a { color: var(--muted); font-size:.92rem; }
.foot-grid a:hover { color:#fff; }
.foot-brand .brand { margin-bottom:1rem; }
.foot-brand p { color: var(--muted); font-size:.9rem; max-width:36ch; }
.foot-phone { font-family:var(--font-impact); font-size:1.7rem; color:#fff; margin-top:1rem; display:inline-block; }
.foot-phone:hover { color: var(--red-bright); }
.foot-bottom { border-top:1px solid var(--ink-line); margin-top:2.5rem; padding-top:1.5rem;
  display:flex; flex-wrap:wrap; gap:.8rem; justify-content:space-between; font-size:.8rem; color: var(--muted); }
.nap { font-style:normal; }

/* ---------- Reveal animation ---------- */
.animate-in { opacity:0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.animate-in.visible { opacity:1; transform:none; }
.stagger > * { opacity:0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.stagger.visible > * { opacity:1; transform:none; }
.stagger.visible > *:nth-child(2){transition-delay:.07s}
.stagger.visible > *:nth-child(3){transition-delay:.14s}
.stagger.visible > *:nth-child(4){transition-delay:.21s}
.stagger.visible > *:nth-child(5){transition-delay:.28s}
.stagger.visible > *:nth-child(6){transition-delay:.35s}
@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .animate-in,.stagger>*{ opacity:1; transform:none; }
}

/* ============================================================
   Responsive — tablet + desktop
   ============================================================ */
@media (min-width:560px){
  .two-col { grid-template-columns:1fr 1fr; }
  .proofbar .row { grid-template-columns: repeat(4,1fr); }
}
@media (min-width:760px){
  .cards { grid-template-columns: repeat(2,1fr); }
  .reviews { grid-template-columns: repeat(2,1fr); }
  .path-cards { grid-template-columns:1fr 1fr; }
  .eband .container { grid-template-columns: 1.4fr auto; }
  .foot-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
}
@media (min-width:900px){
  .nav-links { display:flex; }
  .nav-phone { display:flex; }
  .hamburger { display:none; }
  .hero-grid { grid-template-columns: 1.15fr .85fr; }
  .split { grid-template-columns:1fr 1fr; }
  .split.reverse .body { order:2; }
  .cards--3 { grid-template-columns: repeat(3,1fr); }
}
@media (min-width:1100px){
  .cards--4 { grid-template-columns: repeat(4,1fr); }
}

/* ---------- Brand acronym / tagline ---------- */
.acronym{font-family:var(--font-head);font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.12}
.acronym b{color:var(--red-bright);font-weight:800}
.bg-bone .acronym b{color:var(--red)}
.acronym--xl{font-family:var(--font-impact);font-weight:400;font-size:clamp(1.5rem,4vw,2.6rem);letter-spacing:.01em}
.tour-header{position:sticky;top:0;z-index:1000;background:rgba(10,10,10,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ink-line)}.tour-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}.tour-top .nav-phone{display:flex}.tabstrip{display:flex;gap:.45rem;overflow-x:auto;padding:0 0 .7rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabstrip::-webkit-scrollbar{display:none}.tab{white-space:nowrap;font-family:var(--font-head);font-weight:700;font-size:.85rem;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--ink-line);color:var(--muted);min-height:40px;display:inline-flex;align-items:center;transition:all .2s}.tab:hover{color:#fff;border-color:var(--red-line)}.tab.active{background:var(--red);color:#fff;border-color:var(--red)}.page{display:none}.page.active{display:block;animation:fadepage .35s ease}@keyframes fadepage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tour-banner{background:var(--ink-3);color:var(--muted);text-align:center;font-size:.78rem;padding:.5rem 1rem;border-bottom:1px solid var(--ink-line)}.tour-banner b{color:var(--red-bright)}