/* ============================================================
   ANIC Utility Services — home.css
   Bespoke section design on top of styles.css tokens.
   "Groundwork" — excavation navy + steel + safety amber.
   ============================================================ */

/* ---------- shared section furniture ---------- */
.section-head{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head h2{margin-bottom:.35em}
.section-head p{color:color-mix(in srgb,var(--foreground) 74%,transparent);font-size:clamp(1.02rem,1.3vw,1.18rem)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--amber),transparent)}
.eyebrow.center::before{width:18px}
.watermark{position:absolute;font-family:var(--font-head);font-weight:900;font-size:clamp(7rem,22vw,20rem);letter-spacing:-.04em;color:color-mix(in srgb,var(--foreground) 4%,transparent);line-height:.8;pointer-events:none;user-select:none;z-index:0;text-transform:uppercase}
.tick{color:var(--amber);flex:none}

/* ============================================================
   HERO
   ============================================================ */
.hero{min-height:100vh;background:var(--background)}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.85) contrast(1.05) brightness(.5);opacity:.55}
.hero__poster{z-index:-2;background:
  radial-gradient(140% 120% at 78% 8%,color-mix(in srgb,var(--amber) 20%,transparent),transparent 44%),
  radial-gradient(120% 130% at 15% 100%,color-mix(in srgb,var(--secondary) 30%,transparent),transparent 52%),
  linear-gradient(180deg,color-mix(in srgb,var(--navy) 82%,transparent),color-mix(in srgb,var(--background) 78%,transparent) 55%,var(--background))}
#hero-gl{z-index:-1;opacity:.6;mix-blend-mode:screen}
.hero__scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,color-mix(in srgb,var(--background) 55%,transparent),transparent 30%,color-mix(in srgb,var(--background) 82%,transparent))}
.hero__grid{position:absolute;inset:0;z-index:1;opacity:.5;
  background-image:linear-gradient(color-mix(in srgb,var(--steel) 12%,transparent) 1px,transparent 1px),
                  linear-gradient(90deg,color-mix(in srgb,var(--steel) 12%,transparent) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(120% 90% at 50% 0%,#000 20%,transparent 78%)}
.hero__content{max-width:940px}
.hero__eyebrow{display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 70%,transparent);font-family:var(--font-head);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--foreground) 80%,transparent);margin-bottom:26px}
.hero__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 color-mix(in srgb,var(--amber) 70%,transparent);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--amber) 55%,transparent)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.hero__eyebrow .dot{animation:none}}
.hero h1{font-size:clamp(2.7rem,7.4vw,5.6rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.28em}
.hero h1 .hl{position:relative;color:var(--amber);white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.09em;background:var(--amber);opacity:.55;border-radius:2px}
.hero .lede{max-width:620px;font-size:clamp(1.08rem,1.6vw,1.32rem);color:color-mix(in srgb,var(--foreground) 82%,transparent)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn--lg{padding:17px 32px;font-size:1.02rem}
.btn .ico{width:18px;height:18px}
.hero__phone{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600;color:var(--foreground);padding:15px 8px}
.hero__phone small{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);font-weight:700}
.hero__phone span{font-size:1.12rem}

/* hero trust strip */
.hero__trust{position:relative;z-index:2;border-top:1px solid var(--border);margin-top:clamp(48px,7vw,84px);padding-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px}
.hero__trust .lbl{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);font-weight:700;font-family:var(--font-head)}
.hero__trust ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 30px}
.hero__trust li{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:color-mix(in srgb,var(--foreground) 80%,transparent);font-size:.95rem}
.hero__trust li svg{width:20px;height:20px;color:var(--amber);flex:none}
.hero__scroll{position:absolute;bottom:22px;left:50%;translate:-50% 0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--steel);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.hero__scroll i{width:1px;height:38px;background:linear-gradient(var(--amber),transparent);animation:scrolldown 2s var(--ease-premium) infinite}
@keyframes scrolldown{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (prefers-reduced-motion:reduce){.hero__scroll i{animation:none}}

/* ============================================================
   STAT BAR
   ============================================================ */
.statbar{background:var(--navy);border-block:1px solid var(--border);position:relative;z-index:2}
.statbar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:clamp(28px,4vw,44px) clamp(16px,2.4vw,34px);position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--border)}
.stat .num{font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--foreground);letter-spacing:-.02em}
.stat .num .u{color:var(--amber)}
.stat .lbl{margin-top:10px;font-size:.82rem;letter-spacing:.06em;color:color-mix(in srgb,var(--foreground) 66%,transparent);text-transform:uppercase;font-weight:600}
@media (max-width:760px){.statbar .container{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3)::before,.stat:nth-child(1)::before{display:none}}

/* ============================================================
   WHAT IS HYDRO VAC — split explainer
   ============================================================ */
.explain{position:relative;overflow:hidden}
.explain .container{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;position:relative;z-index:1}
.explain__copy p{color:color-mix(in srgb,var(--foreground) 78%,transparent);font-size:1.08rem}
.explain__points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.explain__points li{display:flex;gap:14px;align-items:flex-start}
.explain__points svg{width:26px;height:26px;color:var(--amber);flex:none;margin-top:2px}
.explain__points b{color:var(--foreground)}
.explain__diagram{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.explain__diagram figcaption{margin-top:14px;font-size:.82rem;color:var(--steel);text-align:center;letter-spacing:.04em}
.explain__diagram svg{width:100%;height:auto}
@media (max-width:880px){.explain .container{grid-template-columns:1fr}}

/* ============================================================
   SERVICES
   ============================================================ */
.services{background:linear-gradient(180deg,var(--background),var(--navy) 120%);position:relative}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc{grid-column:span 1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;transition:transform .4s var(--ease-premium),border-color .4s,background .4s}
.svc::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 100% 0,color-mix(in srgb,var(--amber) 12%,transparent),transparent 60%);opacity:0;transition:opacity .4s}
.svc:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--amber) 45%,var(--border))}
.svc:hover::after{opacity:1}
.svc__ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);margin-bottom:18px}
.svc__ico svg{width:28px;height:28px;color:var(--amber)}
.svc h3{font-size:1.16rem;margin-bottom:.4em}
.svc p{color:color-mix(in srgb,var(--foreground) 70%,transparent);font-size:.95rem;margin:0}
.svc--wide{grid-column:span 2}
.svc--feature{grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,var(--navy),var(--surface));display:flex;flex-direction:column;justify-content:space-between}
.svc--feature .svc__ico{width:60px;height:60px}
.svc--feature h3{font-size:1.5rem}
.svc__link{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;color:var(--amber);font-size:.9rem}
.svc__link svg{width:16px;height:16px;transition:transform .3s}
.svc:hover .svc__link svg{transform:translateX(4px)}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc--feature,.svc--wide{grid-column:span 2}.svc--feature{grid-row:auto}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}.svc,.svc--wide,.svc--feature{grid-column:span 1}}

/* ============================================================
   SIGNATURE — DIG METHOD COMPARATOR
   ============================================================ */
.compare{background:var(--background);position:relative;overflow:hidden}
.compare .watermark{top:-4%;right:-2%}
.compare__head{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.compare__toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px;gap:4px;position:relative}
.compare__toggle button{border:0;background:transparent;color:color-mix(in srgb,var(--foreground) 70%,transparent);font-family:var(--font-head);font-weight:700;font-size:.9rem;padding:11px 22px;border-radius:var(--radius-pill);cursor:pointer;position:relative;z-index:1;transition:color .3s;white-space:nowrap}
.compare__toggle button[aria-pressed="true"]{color:var(--background)}
.compare__toggle .slider{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:var(--radius-pill);background:var(--amber);transition:transform .5s var(--ease-premium),background .4s;z-index:0}
.compare[data-mode="traditional"] .compare__toggle .slider{background:#d9534f;transform:translateX(0)}
.compare[data-mode="hydrovac"] .compare__toggle .slider{background:var(--amber);transform:translateX(100%)}
.compare__stage{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,4vw,54px);align-items:center;position:relative;z-index:1}
.compare__scene{background:linear-gradient(180deg,#0d1a27,#0a1119);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.compare__scene svg{width:100%;height:auto;display:block;border-radius:12px}
.compare__badge{position:absolute;top:20px;left:20px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);font-family:var(--font-head);font-weight:700;font-size:.82rem;letter-spacing:.04em;transition:.4s}
.compare[data-mode="traditional"] .compare__badge{background:color-mix(in srgb,#d9534f 20%,var(--surface));color:#f3b3b1;border:1px solid color-mix(in srgb,#d9534f 45%,transparent)}
.compare[data-mode="hydrovac"] .compare__badge{background:color-mix(in srgb,var(--amber) 18%,var(--surface));color:var(--amberGlow);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent)}
.compare__badge .d{width:9px;height:9px;border-radius:50%;background:currentColor}
/* animated buried-utility scene states (SVG classes toggled by data-mode) */
.compare[data-mode="hydrovac"] .u-line{stroke:#57d38a;filter:drop-shadow(0 0 4px rgba(87,211,138,.5))}
.compare[data-mode="traditional"] .u-line{stroke:#e8776f}
.compare[data-mode="traditional"] .u-line.severed{opacity:0}
.compare[data-mode="traditional"] .u-spark{opacity:1}
.compare[data-mode="hydrovac"] .u-spark{opacity:0}
.u-line,.u-line.severed{transition:opacity .6s var(--ease-premium),stroke .6s}
.u-spark{opacity:0;transition:opacity .4s}
.dig-trad,.dig-hydro{transition:opacity .6s var(--ease-premium)}
.compare[data-mode="traditional"] .dig-hydro{opacity:0}
.compare[data-mode="hydrovac"] .dig-trad{opacity:0}
.compare__panel h3{font-size:1.5rem;margin-bottom:.5em;transition:color .3s}
.compare[data-mode="traditional"] .compare__panel h3 .m{color:#e8776f}
.compare[data-mode="hydrovac"] .compare__panel h3 .m{color:var(--amber)}
.compare__metrics{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:2px}
.compare__metrics li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}
.compare__metrics .k{color:color-mix(in srgb,var(--foreground) 68%,transparent);font-size:.92rem}
.compare__metrics .v{font-family:var(--font-head);font-weight:700;font-size:1.05rem;transition:color .4s}
.compare[data-mode="traditional"] .compare__metrics .v{color:#e8776f}
.compare[data-mode="hydrovac"] .compare__metrics .v{color:#57d38a}
.compare__note{margin-top:20px;font-size:.86rem;color:var(--steel)}
@media (max-width:900px){.compare__stage{grid-template-columns:1fr}}

/* ============================================================
   PILLARS / WHY ANIC
   ============================================================ */
.why{background:linear-gradient(180deg,var(--navy),var(--background));position:relative}
.why .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:start}
.why__list{display:grid;gap:0}
.pillar{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:28px 0;border-top:1px solid var(--border);align-items:start}
.pillar:last-child{border-bottom:1px solid var(--border)}
.pillar__n{font-family:var(--font-head);font-weight:800;font-size:1rem;color:var(--amber);padding-top:4px}
.pillar h3{font-size:1.2rem;margin-bottom:.3em;display:flex;align-items:center;gap:12px}
.pillar h3 svg{width:24px;height:24px;color:var(--amber)}
.pillar p{color:color-mix(in srgb,var(--foreground) 72%,transparent);margin:0;font-size:.98rem}
.why__aside{position:sticky;top:110px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.why__aside img{width:100%;height:280px;object-fit:cover}
.why__aside .b{padding:26px}
.why__aside blockquote{margin:0;font-family:var(--font-head);font-size:1.15rem;font-weight:600;line-height:1.4;color:var(--foreground)}
.why__aside cite{display:block;margin-top:14px;font-style:normal;font-size:.86rem;color:var(--steel)}
@media (max-width:880px){.why .container{grid-template-columns:1fr}.why__aside{position:static}}

/* ============================================================
   PROCESS
   ============================================================ */
.process{position:relative}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;position:relative}
.proc-grid::before{content:"";position:absolute;top:36px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--border) 0 10px,transparent 10px 20px);z-index:0}
.proc{position:relative;z-index:1;text-align:center}
.proc__ring{width:74px;height:74px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--background);border:2px solid var(--border);position:relative;transition:border-color .4s}
.proc:hover .proc__ring{border-color:var(--amber)}
.proc__ring svg{width:34px;height:34px;color:var(--amber)}
.proc__ring::after{counter-increment:step;content:counter(step);position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;background:var(--amber);color:var(--background);font-family:var(--font-head);font-weight:800;font-size:.82rem;display:grid;place-items:center}
.proc h3{font-size:1.1rem;margin-bottom:.4em}
.proc p{color:color-mix(in srgb,var(--foreground) 68%,transparent);font-size:.92rem;margin:0}
@media (max-width:820px){.proc-grid{grid-template-columns:repeat(2,1fr)}.proc-grid::before{display:none}}
@media (max-width:440px){.proc-grid{grid-template-columns:1fr}}

/* ============================================================
   SECTORS
   ============================================================ */
.sectors{background:var(--navy);position:relative;overflow:hidden}
.sect-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sect{display:flex;gap:20px;align-items:flex-start;padding:28px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);border-radius:var(--radius);transition:transform .4s var(--ease-premium),border-color .4s}
.sect:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--amber) 40%,var(--border))}
.sect__ico{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--secondary) 22%,transparent);border:1px solid color-mix(in srgb,var(--secondary) 40%,transparent)}
.sect__ico svg{width:26px;height:26px;color:#7fb2e0}
.sect h3{font-size:1.12rem;margin-bottom:.35em}
.sect p{color:color-mix(in srgb,var(--foreground) 70%,transparent);font-size:.93rem;margin:0}
@media (max-width:720px){.sect-grid{grid-template-columns:1fr}}

/* ============================================================
   FLEET
   ============================================================ */
.fleet{position:relative}
.fleet__marquee{overflow:hidden;position:relative;margin-top:8px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fleet__track{display:flex;gap:18px;width:max-content;animation:marquee 42s linear infinite}
.fleet:hover .fleet__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fleet__track{animation:none;flex-wrap:wrap;width:auto}}
.fleet__card{position:relative;width:clamp(300px,42vw,460px);flex:none;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.fleet__card img{width:100%;height:300px;object-fit:cover;filter:saturate(.92) contrast(1.03)}
.fleet__card figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 16px;background:linear-gradient(transparent,color-mix(in srgb,var(--background) 92%,transparent));font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--foreground)}
.fleet__card figcaption span{display:block;font-size:.76rem;color:var(--amber);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}

/* ============================================================
   SAFETY / ENVIRONMENT BAND
   ============================================================ */
.safety{background:linear-gradient(120deg,var(--navy),#0a1622);position:relative;overflow:hidden}
.safety .container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;position:relative;z-index:1}
.safety__badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.safety__badge{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 60%,transparent);font-weight:600;font-size:.9rem}
.safety__badge svg{width:20px;height:20px;color:var(--amber)}
.safety__viz{position:relative}
.safety__viz svg{width:100%;height:auto}
@media (max-width:820px){.safety .container{grid-template-columns:1fr}}

/* ============================================================
   FAQ
   ============================================================ */
.faq .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,70px);align-items:start}
.faq__list{display:grid;gap:0}
.faq details{border-top:1px solid var(--border);padding:6px 0}
.faq details:last-child{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--font-head);font-weight:600;font-size:1.08rem;color:var(--foreground)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;translate:0 -50%;background:
  linear-gradient(var(--amber),var(--amber)) center/14px 2px no-repeat,
  linear-gradient(var(--amber),var(--amber)) center/2px 14px no-repeat;transition:transform .35s var(--ease-premium)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(135deg)}
.faq details p{margin:0 44px 22px 0;color:color-mix(in srgb,var(--foreground) 74%,transparent)}
@media (max-width:820px){.faq .container{grid-template-columns:1fr}}

/* ============================================================
   CTA / CONTACT
   ============================================================ */
.cta{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 80% 0,color-mix(in srgb,var(--amber) 14%,var(--navy)),var(--background))}
.cta .container{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,6vw,80px);align-items:center;position:relative;z-index:1}
.cta h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.cta__emergency{margin-top:24px;display:flex;flex-wrap:wrap;gap:14px}
.cta__phone{display:flex;align-items:center;gap:16px;padding:18px 24px;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 60%,transparent)}
.cta__phone svg{width:34px;height:34px;color:var(--amber);flex:none}
.cta__phone .l{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:700;font-family:var(--font-head)}
.cta__phone .n{font-family:var(--font-head);font-weight:800;font-size:1.4rem;color:var(--foreground)}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow)}
.contact-card h3{font-size:1.3rem;margin-bottom:.3em}
.contact-card p.sub{color:var(--steel);font-size:.92rem;margin-bottom:22px}
.contact-card .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:920px){.cta .container{grid-template-columns:1fr}}
@media (max-width:480px){.contact-card .row{grid-template-columns:1fr}}

/* ============================================================
   FOOTER (rich)
   ============================================================ */
.site-footer{background:var(--navy)}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--border);margin-bottom:30px}
.footer-brand .mark{font-family:var(--font-head);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;color:var(--foreground)}
.footer-brand .mark b{color:var(--amber)}
.footer-brand p{margin-top:14px;color:color-mix(in srgb,var(--foreground) 64%,transparent);font-size:.92rem;max-width:34ch}
.footer-col h4{font-family:var(--font-head);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-col a{color:color-mix(in srgb,var(--foreground) 72%,transparent);font-size:.94rem}
.footer-col a:hover{color:var(--amber)}
.footer-contact li{display:flex;gap:10px;align-items:flex-start;color:color-mix(in srgb,var(--foreground) 72%,transparent);font-size:.92rem;margin-bottom:12px}
.footer-contact svg{width:18px;height:18px;color:var(--amber);flex:none;margin-top:2px}
.site-footer .container{display:block}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;color:var(--steel);font-size:.85rem}
.footer-bottom a{color:var(--steel)}.footer-bottom a:hover{color:var(--amber)}
@media (max-width:820px){.footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-top{grid-template-columns:1fr}}

/* reveal group stagger helper */
[data-reveal].is-in{opacity:1}
