/* latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JTUSjIg69CK48gW7PXoo9Wlhyw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   REDEEM ROOFING & CONSTRUCTION — SITE THEME (shared stylesheet)
   Design system ported from the v5 landing page.
   Brand: Navy #0B1523 · Orange #F07C20 · White #FFFFFF · Muted #8A96A8
   Type:  Bebas Neue (display/CAPS) + Outfit (body)

   This file is the single source of truth for the whole website.
   Every page links it with: <link rel="stylesheet" href="css/theme.css">
   (use ../css/theme.css from pages in a subfolder).
   ============================================================ */

:root{
  --navy:#0B1523;
  --navy-deep:#070E18;
  --orange:#F07C20;
  --orange-hover:#ff8a2e;
  --white:#FFFFFF;
  --muted:#8A96A8;
  --muted-on-navy:rgba(255,255,255,0.68);
  --line:#E5E5E5;
  --line-on-navy:rgba(255,255,255,0.10);
  --smoke:#F7F8FA;
  --shadow-card:0 10px 30px rgba(11,21,35,0.10), 0 2px 6px rgba(11,21,35,0.06);
  --shadow-lift:0 18px 44px rgba(11,21,35,0.18), 0 4px 12px rgba(11,21,35,0.10);
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  --container:1200px;
  --display:"Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --body:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nav-h:80px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; }
body{
  margin:0; background:var(--white); color:var(--navy);
  font-family:var(--body); font-weight:400; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:none; background:none; color:inherit; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
@media (min-width:768px){ .container{ padding:0 40px; } }
.container-narrow{ max-width:820px; }

/* ---------- Type ---------- */
.display{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.04em; line-height:0.95; font-weight:400; }
.eyebrow{
  font-family:var(--display); color:var(--orange); text-transform:uppercase;
  letter-spacing:0.18em; font-size:14px; line-height:1; margin:0 0 18px;
}
h1.display{ font-size:clamp(2.6rem, 6vw, 4.6rem); letter-spacing:0.04em; }
h2.display{ font-size:clamp(2rem, 5vw, 3.6rem); letter-spacing:0.04em; }
h3.display{ font-size:clamp(1.4rem, 2.6vw, 2rem); letter-spacing:0.04em; }
.section-sub{ color:var(--muted); font-size:clamp(1rem, 1.4vw, 1.125rem); max-width:62ch; }
.on-navy{ color:#fff; }
.on-navy .section-sub{ color:var(--muted-on-navy); }
.text-center{ text-align:center; }
.mx-auto{ margin-left:auto; margin-right:auto; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--display); text-transform:uppercase; letter-spacing:0.08em;
  padding:18px 28px; border-radius:var(--r-pill); font-size:18px;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--orange); color:#fff; box-shadow:var(--shadow-card); }
.btn-primary:hover{ background:var(--orange-hover); transform:scale(1.02); box-shadow:var(--shadow-lift); }
.btn-lg{ padding:22px 36px; font-size:22px; }
.btn-block{ display:flex; width:100%; }
.btn-outline-light{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4); }
.btn-outline-light:hover{ border-color:#fff; background:rgba(255,255,255,0.05); }
.btn-outline-dark{ background:transparent; color:var(--navy); border:1.5px solid var(--navy); }
.btn-outline-dark:hover{ background:var(--navy); color:#fff; }

/* ============================================================
   SITE HEADER + NAV (websites need this — distinct from the funnel LP)
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:60; background:#fff; height:var(--nav-h);
  border-bottom:1px solid var(--line); transition:height .2s ease, box-shadow .2s ease;
}
.site-header.scrolled{ height:64px; box-shadow:0 6px 24px rgba(11,21,35,0.08); }
.site-header .container{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand{ display:inline-flex; align-items:center; }
.brand img{ height:46px; transition:height .2s ease; }
.site-header.scrolled .brand img{ height:38px; }

.nav{ display:none; align-items:center; gap:22px; }
.nav > a, .nav .has-menu > .nav-top{
  font-weight:500; color:var(--navy); font-size:15px; letter-spacing:0.01em; white-space:nowrap;
  display:inline-flex; align-items:center; gap:5px; padding:6px 0; transition:color .15s; cursor:pointer;
}
.nav > a:hover, .nav .has-menu:hover > .nav-top{ color:var(--orange); }
.nav .has-menu{ position:relative; }
.nav .nav-top .caret{ width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; transition:transform .2s; }
.nav .has-menu:hover .caret{ transform:rotate(225deg); margin-top:2px; }
.dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  min-width:248px; background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  box-shadow:var(--shadow-lift); padding:8px; opacity:0; visibility:hidden; transition:opacity .18s, transform .18s; z-index:5;
}
.nav .has-menu:hover .dropdown{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(2px); }
.dropdown a{ display:block; padding:10px 14px; border-radius:var(--r-sm); font-size:14.5px; color:var(--navy); font-weight:500; transition:background .12s, color .12s; }
.dropdown a:hover{ background:var(--smoke); color:var(--orange); }
.nav-actions{ display:none; align-items:center; gap:14px; }
.nav-phone{ font-family:var(--display); letter-spacing:0.02em; font-size:1.15rem; color:var(--navy); white-space:nowrap; }
.nav-phone:hover{ color:var(--orange); }
.nav-cta{ padding:11px 18px; font-size:14px; white-space:nowrap; }
.burger{ display:inline-flex; flex-direction:column; gap:5px; padding:10px; }
.burger span{ width:24px; height:2px; background:var(--navy); display:block; transition:transform .25s, opacity .2s; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (min-width:1180px){
  .nav{ display:flex; } .nav-actions{ display:flex; } .burger{ display:none; }
}
/* Mobile drawer */
.drawer{
  position:fixed; top:0; right:0; height:100svh; width:min(88vw,380px); background:var(--navy); color:#fff;
  padding:88px 24px 32px; transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.7,.2,1);
  z-index:59; box-shadow:-20px 0 50px rgba(0,0,0,0.3); overflow-y:auto;
}
.drawer.open{ transform:translateX(0); }
.drawer a{ display:block; padding:12px 0; font-family:var(--display); text-transform:uppercase; letter-spacing:0.06em; font-size:20px; border-bottom:1px solid var(--line-on-navy); color:#fff; }
.drawer .sub a{ font-size:15px; font-family:var(--body); text-transform:none; letter-spacing:0; color:var(--muted-on-navy); padding:9px 0 9px 14px; border:none; }
.drawer .grp-label{ color:var(--orange); font-family:var(--display); letter-spacing:0.08em; font-size:14px; margin-top:18px; }
.drawer .btn{ margin-top:22px; }
.scrim{ position:fixed; inset:0; background:rgba(0,0,0,0.45); opacity:0; pointer-events:none; transition:opacity .25s; z-index:58; }
.scrim.show{ opacity:1; pointer-events:auto; }

/* ============================================================
   INTERIOR PAGE HERO + BREADCRUMB
   ============================================================ */
.page-hero{
  position:relative; isolation:isolate; color:#fff; padding:84px 0 72px; background:var(--navy); overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(11,21,35,0.72) 0%, rgba(11,21,35,0.88) 100%), var(--navy);
  background-size:cover; background-position:center;
}
.page-hero.has-img::before{ opacity:1; }
.page-hero .eyebrow{ margin-bottom:14px; }
.page-hero h1{ margin:0; max-width:18ch; }
.page-hero p{ margin:18px 0 0; max-width:60ch; color:var(--muted-on-navy); font-size:clamp(1rem,1.3vw,1.15rem); }
.breadcrumb{ font-size:13px; color:var(--muted-on-navy); margin:0 0 18px; letter-spacing:0.02em; }
.breadcrumb a{ color:var(--muted-on-navy); } .breadcrumb a:hover{ color:var(--orange); }
.breadcrumb .sep{ color:var(--orange); padding:0 8px; }

/* ============================================================
   SECTIONS / LAYOUT
   ============================================================ */
.section{ padding:clamp(56px,8vh,96px) 0; }
.section.navy{ background:var(--navy); color:#fff; }
.section.smoke{ background:var(--smoke); }
.section-head{ max-width:780px; margin:0 auto clamp(36px,5vh,56px); }
.section-head.left{ margin-left:0; }
.section.navy h2, .section.navy h3{ color:#fff; }

/* Two-column content (text + media) */
.split{ display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media (min-width:900px){ .split{ grid-template-columns:1fr 1fr; gap:64px; } .split.media-left .media{ order:-1; } }
.split .media img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block; border-radius:var(--r-lg); box-shadow:var(--shadow-card); }
.split .media.ph, .img-ph{
  aspect-ratio:4/3; border:1px dashed var(--orange); border-radius:var(--r-lg);
  display:flex; align-items:center; justify-content:center; text-align:center; color:var(--orange);
  font-family:var(--display); letter-spacing:0.12em; text-transform:uppercase; font-size:13px; padding:24px;
  background:repeating-linear-gradient(135deg,#fff 0 14px,#FFF6EE 14px 28px);
}
.section.navy .img-ph{ background:repeating-linear-gradient(135deg,#0B1523 0 14px,#0E1A2A 14px 28px); }

/* ---------- Prose (blog / long-form content) ---------- */
.prose{ max-width:760px; }
.prose h2{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.03em; font-size:clamp(1.6rem,3vw,2.2rem); margin:44px 0 14px; }
.prose h3{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.03em; font-size:1.3rem; margin:32px 0 10px; }
.prose p{ margin:0 0 18px; font-size:1.05rem; color:#2a2f37; }
.prose ul,.prose ol{ margin:0 0 18px; padding-left:22px; } .prose li{ margin:0 0 9px; }
.prose a{ color:var(--orange); text-decoration:underline; text-underline-offset:2px; }
.prose img{ border-radius:var(--r-lg); margin:24px 0; box-shadow:var(--shadow-card); }
.prose blockquote{ border-left:4px solid var(--orange); margin:24px 0; padding:4px 0 4px 20px; color:var(--muted); font-style:italic; }

/* ============================================================
   CARDS / GRIDS  (services, features, stats, projects)
   ============================================================ */
.grid{ display:grid; grid-template-columns:1fr; gap:22px; }
@media (min-width:680px){ .grid.cols-2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:980px){ .grid.cols-3{ grid-template-columns:repeat(3,1fr); } .grid.cols-4{ grid-template-columns:repeat(4,1fr); } }

/* Service / feature card (works on white) */
.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:30px 26px;
  transition:transform .2s, box-shadow .2s, border-color .2s; display:flex; flex-direction:column; gap:10px;
}
.card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card); border-color:transparent; }
.card .ico{ width:52px; height:52px; border-radius:14px; background:rgba(240,124,32,0.12); color:var(--orange); display:inline-flex; align-items:center; justify-content:center; margin-bottom:6px; }
.card .ico svg{ width:26px; height:26px; }
.card h3{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.04em; font-size:1.25rem; margin:0; }
.card p{ margin:0; color:var(--muted); font-size:14.5px; line-height:1.6; }
.card .more{ margin-top:auto; padding-top:8px; color:var(--orange); font-family:var(--display); letter-spacing:0.06em; font-size:14px; }

/* Service card on navy */
.section.navy .card{ background:rgba(255,255,255,0.03); border-color:var(--line-on-navy); }
.section.navy .card:hover{ border-color:rgba(240,124,32,0.45); background:rgba(255,255,255,0.05); box-shadow:none; }
.section.navy .card h3{ color:#fff; }
.section.navy .card p{ color:var(--muted-on-navy); }

/* Linked image card (services with photo) */
.media-card{ position:relative; border-radius:var(--r-md); overflow:hidden; background:var(--navy); aspect-ratio:4/3; box-shadow:var(--shadow-card); display:block; }
.media-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.media-card:hover img{ transform:scale(1.05); }
.media-card .label{
  position:absolute; left:0; right:0; bottom:0; padding:20px 18px 16px; color:#fff;
  background:linear-gradient(180deg, rgba(11,21,35,0) 0%, rgba(11,21,35,0.88) 75%);
  font-family:var(--display); text-transform:uppercase; letter-spacing:0.05em; font-size:15px;
}

/* Stats row */
.stats-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media (min-width:768px){ .stats-row{ grid-template-columns:repeat(4,1fr); } }
.stat{ text-align:center; }
.stat .n{ font-family:var(--display); color:var(--orange); font-size:clamp(2.4rem,5vw,3.4rem); line-height:1; }
.stat .k{ color:var(--muted); font-size:13px; letter-spacing:0.04em; text-transform:uppercase; margin-top:6px; }
.section.navy .stat .k{ color:var(--muted-on-navy); }

/* Numbered steps */
.steps{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:980px){ .steps{ grid-template-columns:repeat(3,1fr); gap:32px; } }
.step{ padding:30px 26px; background:#FAFBFC; border:1px solid var(--line); border-radius:var(--r-lg); }
.section.navy .step{ background:rgba(255,255,255,0.03); border-color:var(--line-on-navy); }
.step .num{ font-family:var(--display); color:var(--orange); font-size:clamp(2.6rem,5vw,3.6rem); line-height:1; }
.step h3{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.04em; font-size:1.25rem; margin:8px 0 8px; }
.step p{ color:var(--muted); margin:0; font-size:14.5px; }
.section.navy .step p{ color:var(--muted-on-navy); }

/* Bulleted checklist */
.checks{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.checks li{ display:flex; gap:12px; align-items:flex-start; font-size:1rem; }
.checks li svg{ flex:0 0 22px; width:22px; height:22px; color:var(--orange); margin-top:2px; }

/* Review card */
.review-card{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:var(--r-md); padding:24px; display:flex; flex-direction:column; gap:12px; }
.review-card .stars{ color:var(--orange); letter-spacing:2px; }
.review-card .r-head{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.03em; font-size:1.1rem; }
.review-card p{ margin:0; color:#2a2f37; font-size:14.5px; }
.review-card .by{ margin-top:auto; font-weight:500; font-size:13px; } .review-card .by span{ color:var(--muted); font-weight:400; }

/* FAQ accordion */
.faq-list{ max-width:860px; margin:0 auto; border-top:1px solid var(--line); }
.section.navy .faq-list{ border-color:var(--line-on-navy); }
.faq-item{ border-bottom:1px solid var(--line); } .section.navy .faq-item{ border-color:var(--line-on-navy); }
.faq-q{ width:100%; display:flex; justify-content:space-between; gap:24px; align-items:center; padding:22px 4px; text-align:left; font-family:var(--display); text-transform:uppercase; letter-spacing:0.03em; font-size:clamp(1.05rem,1.6vw,1.3rem); }
.faq-q .plus{ flex:0 0 26px; color:var(--orange); font-size:22px; transition:transform .25s; }
.faq-item.open .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease, padding .25s; color:var(--muted); }
.section.navy .faq-a{ color:var(--muted-on-navy); }
.faq-item.open .faq-a{ padding:0 4px 22px; }

/* ============================================================
   CTA BAND (reusable conversion strip near page bottom)
   ============================================================ */
.cta-band{
  position:relative; isolation:isolate; color:#fff; text-align:center; padding:96px 0;
  background:linear-gradient(180deg, rgba(11,21,35,0.88), rgba(11,21,35,0.94)), var(--navy);
}
.cta-band h2{ margin:0 auto 16px; max-width:20ch; color:#fff; }
.cta-band p{ margin:0 auto 32px; max-width:54ch; color:var(--muted-on-navy); }
.cta-band .perks{ margin-top:22px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; font-size:13px; color:var(--muted-on-navy); }
.cta-band .perks .dot{ color:var(--orange); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--navy); color:#fff; padding:72px 0 0; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:40px; }
@media (min-width:768px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; } }
.footer-logo{ width:190px; margin-bottom:18px; }
.site-footer .blurb{ color:var(--muted-on-navy); font-size:14px; max-width:34ch; }
.footer-col h4{ font-family:var(--display); text-transform:uppercase; letter-spacing:0.06em; font-size:1rem; color:#fff; margin:0 0 16px; }
.footer-col a{ display:block; color:var(--muted-on-navy); font-size:14px; padding:6px 0; } .footer-col a:hover{ color:var(--orange); }
.footer-nap{ color:var(--muted-on-navy); font-size:14px; line-height:1.8; }
.footer-nap a{ color:#fff; } .footer-nap a:hover{ color:var(--orange); }
.footer-nap .phone{ font-family:var(--display); font-size:1.8rem; color:var(--orange); }
.footer-social{ display:flex; gap:12px; margin-top:16px; }
.footer-social a{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line-on-navy); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:border-color .15s, color .15s; }
.footer-social a:hover{ border-color:var(--orange); color:var(--orange); }
.footer-social svg{ width:18px; height:18px; }
.footer-bottom{ margin-top:56px; padding:18px 0; background:var(--navy-deep); font-size:12px; color:var(--muted-on-navy); }
.footer-bottom .container{ display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; }
@media (min-width:768px){ .footer-bottom .container{ flex-direction:row; justify-content:space-between; text-align:left; } }

/* ---------- Mobile sticky CTA ---------- */
.mobile-bar{ position:fixed; left:0; right:0; bottom:0; z-index:55; background:var(--orange); color:#fff; display:flex; box-shadow:0 -8px 24px rgba(0,0,0,0.18); }
.mobile-bar a{ flex:1; padding:15px 8px; font-family:var(--display); text-transform:uppercase; letter-spacing:0.05em; font-size:15px; display:flex; align-items:center; justify-content:center; gap:8px; }
.mobile-bar .call{ flex:0 0 58%; color:#fff; border-right:1px solid rgba(255,255,255,0.25); }
.mobile-bar .est{ flex:0 0 42%; background:#fff; color:var(--navy); }
.mobile-bar svg{ width:18px; height:18px; }
@media (min-width:1180px){ .mobile-bar{ display:none; } }
body{ padding-bottom:0; }
@media (max-width:1179px){ body{ padding-bottom:54px; } } /* room for mobile bar */

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{ animation:none !important; transition:none !important; } .reveal{ opacity:1; transform:none; } }

/* ===== A11y overrides (contrast + touch targets) 2026-06-19 ===== */
:root{ --muted:#5C6675; }
.btn-primary, .btn-primary:hover{ color:var(--navy); }
.mobile-bar .call{ color:var(--navy); }
.car-dot, .reviews-dots .car-dot, .projects .car-dot{ box-sizing:content-box; padding:9px; background-clip:content-box; }
