/* ==========================================================================
   REDLAND design system  ·  B&D Restoration  ·  Statham, GA
   North-Georgia red-clay orange (LEAD) + deep pine teal + warm cream.
   Barlow Condensed (display) + Source Sans 3 (body). Clay / pine-sprig / ridge.
   Single committed light look. Built to the prevention checklist.
   ========================================================================== */

:root{
  /* Grounds */
  --bg:#F8F4EE; --surface:#FFFCF7; --surface-2:#F2ECE1;
  --band-clay:#F4E7DC; --band-pine:#E7EEEA;
  /* Ink */
  --ink:#1C2321; --ink-2:#4A544F; --ink-3:#6E7872; --cream:#F8F4EE;
  /* Clay (lead) */
  --clay:#C24A1E; --clay-deep:#9E3A15; --clay-bright:#EE8B52; --clay-tint:#F4E7DC;
  /* Pine (co-lead) */
  --pine:#155E52; --pine-deep:#0F4A41; --pine-soft:#1E6E60; --pine-link:#12564C; --pine-tint:#E7EEEA;
  /* Lines */
  --line:#E6DBCC; --line-strong:#D6C6B2; --line-dark:#2A5A50;
  /* Shape + shadow */
  --r:6px; --r-lg:10px; --r-pill:999px;
  --shadow:0 2px 6px rgba(60,30,12,.06);
  --shadow-lg:0 14px 34px -12px rgba(60,30,12,.16);
  --wrap:1140px; --gutter:24px;
  --font-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --font-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-size:1.075rem; line-height:1.65;
  font-weight:400; -webkit-font-smoothing:antialiased; overflow-x:clip;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--pine-link)}
.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter)}
.skip-link{position:absolute; left:-999px; top:0; background:var(--clay); color:#fff; padding:10px 16px; z-index:200; border-radius:0 0 var(--r) 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--clay); outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--font-display); color:var(--ink); margin:0 0 .5em; line-height:1.05; font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem); font-weight:700}
h3{font-size:clamp(1.15rem,2vw,1.4rem); font-weight:700; line-height:1.12}
p{margin:0 0 1rem; max-width:66ch}
.svc-prose p, .prose p{color:var(--ink)}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay-deep); margin-bottom:.6rem}
.eyebrow svg{width:15px; height:15px; flex:0 0 auto; fill:var(--pine)}
.eyebrow--pine{color:var(--pine)}
.eyebrow--onslate,.eyebrow--cream{color:var(--clay-bright)}
.eyebrow--onslate svg,.eyebrow--cream svg{fill:var(--clay-bright)}
/* clay strata bar above section headings */
.strata{display:block; width:44px; height:4px; border-radius:2px; background:var(--clay); margin:0 0 14px}
.band--dark .strata,.band--pine-solid .strata{background:var(--clay-bright)}
.sec-head{max-width:62ch; margin:0 0 30px}
.sec-head--center{margin-inline:auto; text-align:center}
.sec-head--center .strata{margin-inline:auto}
.sec-head p{color:var(--ink-2); font-size:1.05rem}
.lead{font-size:1.18rem; color:var(--ink)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:0 22px; border-radius:var(--r); border:2px solid transparent;
  font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:.01em;
  text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s,transform .05s; text-align:center}
.btn:active{transform:translateY(1px)}
.btn{background:var(--clay); color:#fff; border-color:var(--clay)}
.btn:hover{background:var(--clay-deep); border-color:var(--clay-deep)}
.btn--pine{background:var(--pine); color:#fff; border-color:var(--pine)}
.btn--pine:hover{background:var(--pine-soft); border-color:var(--pine-soft)}
.btn--ghost{background:transparent; color:var(--clay-deep); border-color:var(--clay)}
.btn--ghost:hover{background:var(--clay-tint)}
.btn--cream{background:#fff; color:var(--clay-deep); border-color:#fff}
.btn--cream:hover{background:var(--clay-tint); border-color:var(--clay-tint)}
.btn--sm{min-height:42px; padding:0 16px; font-size:.98rem}
.btn--lg{min-height:58px; padding:0 30px; font-size:1.15rem; flex-direction:column; gap:1px; line-height:1.1}
.btn--lg .btn__sub{font-family:var(--font-body); font-weight:600; font-size:.72rem; letter-spacing:.02em; opacity:.9; text-transform:none}
.btn--block{display:flex; width:100%}

/* ---------- Chips ---------- */
.chips{display:flex; flex-wrap:wrap; gap:10px}
.chip{display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--line-strong); color:var(--ink);
  font-size:.86rem; font-weight:600}
.chip svg{width:15px; height:15px; fill:var(--pine); flex:0 0 auto}
.chip--pine{background:var(--pine-tint); border-color:#cfe0da}

/* ---------- Icon badge (FIXED box — never balloons) ---------- */
.ico{display:inline-flex; width:48px; height:48px; border-radius:8px; align-items:center; justify-content:center; flex:0 0 auto; background:var(--clay-tint)}
.ico svg{width:24px; height:24px; display:block}
.ico--clay{background:var(--clay); }
.ico--clay svg{fill:#fff}
.ico--pine{background:var(--pine-tint)}
.ico--pine svg{fill:var(--pine)}
.ico--clay-tint svg{fill:var(--clay-deep)}

/* ---------- Bands ---------- */
.band{padding:64px 0}
.band--tight{padding:44px 0}
.band--clay{background:var(--band-clay)}
.band--pine{background:var(--band-pine)}
.band--surface{background:var(--surface)}
.band--dark{background:var(--pine-deep); color:var(--cream)}
.band--dark h1,.band--dark h2,.band--dark h3{color:#fff}
.band--dark p{color:#dcece7}
.band--dark a{color:#fff}
.band--dark a.btn--cream{color:var(--clay-deep)}

/* ---------- Top bar ---------- */
.topbar{background:var(--pine-deep); color:var(--cream); font-size:.8rem; font-weight:600}
.topbar__in{display:flex; align-items:center; justify-content:space-between; min-height:38px; gap:14px}
.topbar__l{letter-spacing:.06em; text-transform:uppercase; font-size:.74rem; color:#cfe0da; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.topbar__r{display:flex; align-items:center; gap:14px; flex:0 0 auto}
.topbar__rating{color:var(--clay-bright); font-weight:700; letter-spacing:.02em; white-space:nowrap}
.topbar__phone{color:#fff; text-decoration:none; font-weight:700; white-space:nowrap}
.topbar__phone:hover{text-decoration:underline}

/* ---------- Sticky header (solid, NO backdrop-filter) ---------- */
.site-header{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--line); transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:var(--shadow)}
.header__in{display:flex; align-items:center; gap:20px; min-height:72px; transition:min-height .2s}
.site-header.is-scrolled .header__in{min-height:62px}
.brand{display:inline-flex; align-items:center; gap:11px; text-decoration:none; flex:0 0 auto}
.brand__mark{flex:0 0 auto; display:block}
.brand__words{display:flex; flex-direction:column; line-height:1}
.brand__name{font-family:var(--font-display); font-weight:800; font-size:1.32rem; color:var(--ink); letter-spacing:.01em}
.brand__sub{font-family:var(--font-body); font-weight:600; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--clay-deep); margin-top:3px}

/* Nav */
.nav{display:flex; align-items:center; gap:4px; margin-left:auto}
.nav__link,.drop__toggle{display:inline-flex; align-items:center; gap:5px; font-family:var(--font-display); font-weight:600; font-size:1.06rem; color:var(--ink); text-decoration:none; background:none; border:0; cursor:pointer; padding:10px 12px; border-radius:var(--r); position:relative; font-feature-settings:normal}
.nav__link:hover,.drop__toggle:hover{color:var(--clay-deep)}
.nav__link::after,.drop__toggle::after{content:""; position:absolute; left:12px; right:12px; bottom:6px; height:3px; border-radius:2px; background:var(--clay); transform:scaleX(0); transform-origin:left; transition:transform .15s}
.nav__link:hover::after,.drop__toggle:hover::after,.drop.is-open .drop__toggle::after,.nav__link[aria-current="page"]::after{transform:scaleX(1)}
.caret{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .18s}
.drop.is-open .caret{transform:rotate(-135deg) translateY(-1px)}
.drop{position:relative}
.drop__menu{position:absolute; top:calc(100% + 2px); left:0; min-width:288px;
  background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg); padding:8px; display:none; flex-direction:column;
  max-height:min(72vh,560px); overflow-y:auto; overscroll-behavior:contain; z-index:80}
.drop.is-open .drop__menu{display:flex}
.drop__menu::before{content:""; position:absolute; top:-10px; left:0; right:0; height:10px} /* hover bridge */
.drop__menu a{font-family:var(--font-body); font-weight:600; font-size:.98rem; color:var(--ink); text-decoration:none; padding:9px 12px; border-radius:var(--r); line-height:1.25}
.drop__menu a:hover{background:var(--clay-tint); color:var(--clay-deep)}

.header__cta{display:flex; align-items:center; gap:12px; flex:0 0 auto}
.header__phone{display:flex; flex-direction:column; line-height:1.05; text-decoration:none; font-family:var(--font-display); font-weight:800; font-size:1.14rem; color:var(--ink)}
.header__phone small{font-family:var(--font-body); font-weight:600; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3)}
.header__phone:hover{color:var(--clay-deep)}

/* Hamburger */
.nav-toggle{display:none; width:46px; height:46px; border:1px solid var(--line-strong); border-radius:var(--r); background:var(--surface); cursor:pointer; padding:0; align-items:center; justify-content:center; flex-direction:column; gap:5px}
.nav-toggle span{display:block; width:22px; height:2px; background:var(--ink); transition:transform .2s,opacity .2s}
body.is-menu .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.is-menu .nav-toggle span:nth-child(2){opacity:0}
body.is-menu .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{position:relative; background:var(--pine-deep)}
.hero__media{position:absolute; inset:0; z-index:0}
.hero__media img{width:100%; height:100%; object-fit:cover}
.hero__media::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(15,74,65,.92) 0%,rgba(15,74,65,.7) 42%,rgba(15,74,65,.25) 78%,rgba(15,74,65,.1) 100%)}
.hero .wrap{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,560px) 1fr; padding-top:56px; padding-bottom:56px}
.hero__card{background:var(--surface); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:30px 30px 26px; position:relative; overflow:hidden}
.hero__card::before{content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--clay)}
.hero__card h1{font-size:clamp(2.05rem,4.6vw,3.25rem); line-height:1; margin:0 0 12px}
.hero__card h1 .k{color:var(--clay)}
.hero__sub{font-size:1.1rem; color:var(--ink-2); margin:0 0 20px; max-width:46ch}
.hero__micro{font-size:.82rem; font-weight:600; color:var(--ink-3); letter-spacing:.04em; margin:10px 0 18px}
.hero__cta{display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.hero__card .chips{margin-top:18px; padding-top:18px; border-top:1px solid var(--line)}

/* ---------- Trust strip ---------- */
.tstrip{background:var(--surface); border-bottom:1px solid var(--line)}
.tstrip__in{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 26px; padding:16px 0; font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--ink)}
.tstrip__i{display:inline-flex; align-items:center; gap:9px}
.tstrip__i svg{width:20px; height:20px; fill:var(--clay); flex:0 0 auto}
.tstrip__sep{color:var(--line-strong)}

/* ---------- Split (intro) ---------- */
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:center}
.split__media img{border-radius:var(--r-lg); box-shadow:var(--shadow-lg); width:100%; object-fit:cover; aspect-ratio:4/3}
.split__media{position:relative}
.split__media .tag{position:absolute; left:16px; bottom:16px; background:var(--clay); color:#fff; font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; padding:7px 13px; border-radius:var(--r)}
.prose a{color:var(--pine-link); text-decoration:underline; text-underline-offset:2px}
.prose a:hover{color:var(--clay-deep)}

/* ---------- Services grid ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.svc-card{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); text-decoration:none; transition:transform .12s,box-shadow .15s; min-width:0}
.svc-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.svc-card__media{position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--surface-2)}
.svc-card__media img{width:100%; height:100%; object-fit:cover}
.svc-card__media::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; z-index:1; background:var(--clay)}
.svc-card:nth-child(2n) .svc-card__media::before{background:var(--pine)}
.svc-card__body{padding:16px 18px 18px; display:flex; flex-direction:column; flex:1}
.svc-card__body h3{margin:0 0 6px; color:var(--ink)}
.svc-card__body p{margin:0 0 12px; font-size:.95rem; color:var(--ink-2)}
.svc-card__go{margin-top:auto; font-family:var(--font-display); font-weight:700; font-size:.95rem; color:var(--clay-deep); letter-spacing:.02em}
.svc-card--all{align-items:flex-start; justify-content:center; background:var(--pine); color:#fff; padding:24px}
.svc-card--all h3{color:#fff}
.svc-card--all p{color:#cfe0da}
.svc-card--all .svc-card__go{color:var(--clay-bright)}

/* ---------- Dispatch band (dark pine call moment) ---------- */
.dispatch{position:relative; overflow:hidden}
.dispatch .wrap{display:grid; grid-template-columns:1.3fr 1fr; gap:36px; align-items:center; position:relative; z-index:1}
.dispatch__ridge{position:absolute; right:-40px; bottom:-30px; width:520px; max-width:60%; opacity:.14; z-index:0; pointer-events:none}
.dispatch__ridge path{fill:none; stroke:var(--clay-bright); stroke-width:2}
.dispatch h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.dispatch__call{display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.dispatch__phone{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,5vw,2.9rem); color:#fff; text-decoration:none; line-height:1}
.dispatch__phone:hover{color:var(--clay-bright)}

/* ---------- Why-us icon cards ---------- */
.why-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
.why-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px 20px; box-shadow:var(--shadow); min-width:0}
.why-card .ico{margin-bottom:14px}
.why-card h3{margin:0 0 6px; color:var(--ink)}
.why-card p{margin:0; font-size:.95rem; color:var(--ink-2)}

/* ---------- Stats band ---------- */
.stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; text-align:center}
.stat__n{font-family:var(--font-display); font-weight:800; font-size:clamp(2.2rem,5vw,3.2rem); color:var(--clay); line-height:1}
.stat__l{font-family:var(--font-display); font-weight:600; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-2); margin-top:6px}

/* ---------- Local hooks ---------- */
.hooks{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px}
.hook{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; box-shadow:var(--shadow); min-width:0}
.hook .ico{margin-bottom:14px}
.hook h3{margin:0 0 8px}
.hook p{margin:0; font-size:.97rem; color:var(--ink-2)}

/* ---------- Gallery ---------- */
.gallery{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px}
.gallery img{border-radius:var(--r); aspect-ratio:1/1; object-fit:cover; width:100%; box-shadow:var(--shadow)}

/* ---------- Reviews ---------- */
.rev-summary{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; margin-bottom:26px}
.rev-summary__stars{color:var(--clay); font-size:1.5rem; letter-spacing:2px}
.rev-summary__n{font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--ink)}
.rev-summary__t{color:var(--ink-2); font-weight:600}
.rev-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.rev-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow); display:flex; flex-direction:column; min-width:0}
.rev-card__stars{color:var(--clay); letter-spacing:1px; font-size:1rem; margin-bottom:8px}
.rev-card__body{margin:0 0 14px; font-size:.98rem; color:var(--ink)}
.rev-card__foot{margin-top:auto; display:flex; align-items:baseline; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:12px}
.rev-card__name{font-family:var(--font-display); font-weight:700; color:var(--ink)}
.rev-card__date{font-size:.78rem; color:var(--ink-3); font-weight:600}

/* ---------- Pricing ranges ---------- */
.price-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.price-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px 24px; box-shadow:var(--shadow); min-width:0; position:relative; overflow:hidden}
.price-card::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--clay)}
.price-card h3{margin:0 0 4px}
.price-card__range{font-family:var(--font-display); font-weight:800; font-size:1.7rem; color:var(--clay-deep); margin:8px 0}
.price-card ul{margin:12px 0 0; padding:0; list-style:none}
.price-card li{position:relative; padding-left:22px; margin-bottom:7px; font-size:.94rem; color:var(--ink-2)}
.price-note{text-align:center; margin-top:24px; color:var(--ink-2)}

/* ---------- Service area (chips + visible ZIPs) ---------- */
.area-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.area-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; min-width:0}
.area-card__city{font-family:var(--font-display); font-weight:700; font-size:1.08rem; color:var(--ink); display:flex; align-items:center; gap:8px}
.area-card__city svg{width:16px; height:16px; fill:var(--clay); flex:0 0 auto}
.area-card__zips{font-size:.86rem; color:var(--ink-3); margin-top:4px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere}

/* ---------- Carriers ---------- */
.carriers{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 30px}
.carriers img{height:38px; width:auto; opacity:.82; filter:saturate(.4)}
.carriers--sm img{height:30px}

/* ---------- FAQ ---------- */
.faq2{display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start}
.faq2__cols{display:flex; flex-direction:column; gap:12px}
.faq-item{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden}
.faq-item summary{list-style:none; cursor:pointer; padding:16px 20px; font-family:var(--font-display); font-weight:700; font-size:1.14rem; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+"; font-size:1.4rem; color:var(--clay); flex:0 0 auto; line-height:1}
.faq-item[open] summary::after{content:"\2013"}
.faq-item>div{padding:0 20px 18px}
.faq-item p{margin:0; color:var(--ink-2)}
.faq-callcard{background:var(--pine-deep); color:var(--cream); border-radius:var(--r-lg); padding:26px; position:sticky; top:96px}
.faq-callcard h3{color:#fff; margin:0 0 8px}
.faq-callcard p{color:#dcece7; font-size:.96rem}
.faq-callcard .big{display:block; font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--clay-bright); margin:10px 0 14px}

/* ---------- Dedicated NAP block ---------- */
.napblock{display:flex; flex-wrap:wrap; gap:12px 40px; align-items:center; justify-content:center; text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; box-shadow:var(--shadow)}
.napblock__row{display:inline-flex; align-items:center; gap:9px; font-weight:600}
.napblock__row svg{width:19px; height:19px; fill:var(--clay); flex:0 0 auto}
.napblock__row a{color:var(--ink); text-decoration:none}
.napblock__name{font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--ink)}

/* ---------- Closing CTA ---------- */
.closing .wrap{display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:center; position:relative; z-index:1}
.closing .nap{display:flex; flex-direction:column; gap:9px; background:rgba(255,255,255,.06); border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:22px}
.nap__name{font-family:var(--font-display); font-weight:800; font-size:1.25rem; color:#fff}
.nap__row{display:flex; align-items:center; gap:10px; color:#dcece7}
.nap__row svg{width:18px; height:18px; fill:var(--clay-bright); flex:0 0 auto}
.nap__row a{color:#fff; text-decoration:none}

/* ---------- Clay-rule call strip ---------- */
.callrule{background:var(--band-clay); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.callrule__in{display:flex; align-items:center; justify-content:center; gap:12px; padding:15px 0; text-align:center; flex-wrap:wrap; font-family:var(--font-display); font-weight:600; font-size:1.12rem; color:var(--ink)}
.callrule__in svg{width:18px; height:18px; fill:var(--pine); flex:0 0 auto}
.callrule a{color:var(--clay-deep); text-decoration:none; font-weight:800}
.callrule a:hover{text-decoration:underline}

/* ---------- Map ---------- */
.map-embed{line-height:0; border-top:1px solid var(--line); display:block}
.map-embed img{width:100%; height:340px; object-fit:cover; display:block; filter:saturate(.85)}

/* ---------- Footer ---------- */
.site-footer{background:var(--pine-deep); color:#cfe0da; padding:52px 0 26px; position:relative}
.foot-grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:34px}
.foot-brand p{color:#bcd2cc; font-size:.94rem; max-width:40ch}
.foot-lock{display:inline-flex; align-items:center; gap:10px; margin-bottom:12px}
.foot-lock .brand__name{color:#fff}
.foot-lock .brand__sub{color:var(--clay-bright)}
.foot-nap{font-size:.9rem; margin-top:12px; line-height:1.7}
.foot-nap a{color:#fff; text-decoration:none}
.foot-nap .email{color:#bcd2cc}
.foot-col h3{color:#fff; font-size:1.08rem; margin:0 0 12px}
.foot-col ul{list-style:none; margin:0; padding:0}
.foot-col li{margin-bottom:8px}
.foot-col a{color:#cfe0da; text-decoration:none; font-size:.94rem}
.foot-col a:hover{color:#fff; text-decoration:underline}
.foot-bottom{margin-top:36px; padding-top:18px; border-top:1px solid var(--line-dark); display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; font-family:var(--font-display); font-weight:600; letter-spacing:.06em; text-transform:uppercase; font-size:.78rem; color:#9fbcb4}
.disclaimer-note{margin:16px 0 0; font-size:.8rem; color:#8fada6; max-width:none; line-height:1.6}
.disclaimer-note a{color:#bcd2cc}

/* ---------- Sticky mobile callbar ---------- */
.callbar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; background:var(--clay); overflow-x:clip}
.callbar a{display:flex; align-items:center; justify-content:center; gap:10px; min-height:56px; color:#fff; text-decoration:none; font-family:var(--font-display); font-weight:800; font-size:1.2rem; letter-spacing:.02em}
.callbar svg{width:20px; height:20px; fill:#fff; flex:0 0 auto}
.callbar small{font-family:var(--font-body); font-weight:600; font-size:.72rem; opacity:.9}

/* ==========================================================================
   SERVICE PAGE
   ========================================================================== */
.bc{font-size:.85rem; font-weight:600; color:var(--ink-3); margin-bottom:12px}
.bc a{color:var(--ink-2); text-decoration:none}
.bc a:hover{color:var(--clay-deep)}
.svc-actionbar{background:var(--band-pine); border-bottom:1px solid var(--line)}
.svc-actionbar .wrap{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:34px; align-items:center; padding-top:40px; padding-bottom:40px}
.svc-actionbar .bc a{color:var(--pine)}
.svc-actionbar h1{font-size:clamp(2rem,4.4vw,3.1rem); line-height:1.02; margin:0 0 12px}
.svc-actionbar__lead{color:var(--ink-2); font-size:1.08rem; max-width:52ch; margin:0 0 18px}
.svc-actionbar__inset img{border-radius:var(--r-lg); box-shadow:var(--shadow-lg); width:100%; aspect-ratio:8/5; object-fit:cover}

.svc-facts{background:var(--band-clay); border-bottom:1px solid var(--line)}
.svc-facts .wrap{padding-top:22px; padding-bottom:22px}
.ataglance{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
.ataglance__item{min-width:0}
.ataglance__k{display:block; font-family:var(--font-display); font-weight:700; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--clay-deep); margin-bottom:4px}
.ataglance__v{display:block; color:var(--ink); font-weight:500; font-size:.98rem}

.svc-block{padding:44px 0}
.svc-block--tint{background:var(--band-pine)}
.svc-prose{max-width:760px}
.svc-prose h2{position:relative; padding-top:16px; margin-top:0}
.svc-prose h2::before{content:""; position:absolute; top:0; left:0; width:44px; height:4px; border-radius:2px; background:var(--clay)}
.svc-prose p{color:var(--ink); margin:0 0 1rem}
.svc-prose ul{list-style:none; margin:0 0 1.1rem; padding:0}
.svc-prose li{position:relative; padding-left:26px; margin-bottom:9px; color:var(--ink)}
.svc-prose ul li::before{content:""; position:absolute; left:2px; top:9px; width:9px; height:9px; border-radius:0 60% 60% 60%; background:var(--pine); transform:rotate(45deg)}
.svc-prose a{color:var(--pine-link); text-decoration:underline; text-underline-offset:2px}
.svc-prose a:hover{color:var(--clay-deep)}

/* process timeline */
.svc-steps{list-style:none; counter-reset:s; margin:24px 0; padding:0; position:relative}
.svc-steps::before{content:""; position:absolute; left:19px; top:8px; bottom:8px; width:2px; background:var(--pine); opacity:.35}
.svc-steps li{position:relative; display:flex; gap:16px; padding:0 0 18px; align-items:flex-start}
.svc-steps .n{flex:0 0 auto; width:40px; height:40px; border-radius:50%; background:var(--clay); color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.05rem; display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:1}
.svc-steps li>span:last-child{padding-top:7px}
.svc-steps b{color:var(--ink)}

/* inline call card */
.callcard{background:var(--pine-deep); color:#fff; border-radius:var(--r-lg); padding:24px 26px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:26px 0; box-shadow:var(--shadow)}
.callcard p{color:#eaf3f0; margin:0; max-width:44ch; font-weight:500}
.callcard .btn{background:#fff; color:var(--clay-deep); border-color:#fff}
.callcard .btn:hover{background:var(--clay-tint); border-color:var(--clay-tint)}

/* context callout */
.bk-callout{background:var(--surface); border:1px solid var(--line-strong); border-left:5px solid var(--clay); border-radius:var(--r); padding:18px 22px; margin:24px 0}
.bk-callout h3{margin:0 0 6px; color:var(--clay-deep)}
.bk-callout p{margin:0; color:var(--ink-2)}

/* testimonial card (reads on any band ground: surface fill + clay accent) */
.svc-quote{background:var(--surface); border:1px solid var(--line-strong); border-left:5px solid var(--clay); border-radius:var(--r-lg); padding:24px 26px 24px 28px; margin:26px 0; position:relative}
.svc-quote::before{content:"\201C"; position:absolute; top:2px; left:16px; font-family:var(--font-display); font-size:3.4rem; color:var(--clay); opacity:.35; line-height:1}
.svc-quote p{margin:0 0 10px; font-size:1.1rem; color:var(--ink); font-style:italic}
.svc-quote span{font-family:var(--font-display); font-weight:700; font-size:.9rem; color:var(--clay-deep)}

/* why-us band (service page) */
.svc-why{padding:52px 0; background:var(--band-clay); border-top:1px solid var(--line)}
.svc-why__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:28px}
.svc-why__card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px 20px; box-shadow:var(--shadow); min-width:0}
.svc-why__ic{display:inline-flex; width:48px; height:48px; border-radius:8px; align-items:center; justify-content:center; background:var(--clay-tint); margin-bottom:14px}
.svc-why__ic svg{width:24px; height:24px; fill:var(--clay-deep)}
.svc-why__card h3{margin:0 0 6px; color:var(--ink)}
.svc-why__card p{margin:0; font-size:.94rem; color:var(--ink-2)}

/* related grid */
.related-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
.related-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow); text-decoration:none; display:flex; flex-direction:column; gap:8px; transition:transform .12s,box-shadow .15s; min-width:0}
.related-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.related-card h3{margin:0; color:var(--ink)}
.related-card p{margin:0; font-size:.92rem; color:var(--ink-2)}
.related-card .go{margin-top:auto; font-family:var(--font-display); font-weight:700; color:var(--clay-deep)}

/* dispatch panel (closing, service + tools) */
.dispatch-panel{background:var(--pine-deep); color:#fff; padding:52px 0; position:relative; overflow:hidden}
.dispatch-panel .wrap{display:grid; grid-template-columns:1.25fr 1fr; gap:36px; align-items:center; position:relative; z-index:1}
.dispatch-panel h2{color:#fff; font-size:clamp(1.7rem,3.4vw,2.4rem)}
.dispatch-panel p{color:#dcece7}
.dispatch-panel .eyebrow{color:var(--clay-bright)}
.dispatch-panel .btn__num{font-size:1.2rem}
.dispatch-panel__nap .nap{display:flex; flex-direction:column; gap:9px; background:rgba(255,255,255,.06); border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:22px}

/* generic section helper */
.section{padding:56px 0}
.section--fog{background:var(--band-pine)}
.section--white{background:var(--surface)}
.sec-head__idx{display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay-deep); margin-bottom:8px}
.sec-head__idx .node{width:15px; height:15px; flex:0 0 auto; background:var(--pine); border-radius:0 60% 60% 60%; transform:rotate(45deg)}

/* ==========================================================================
   TOOL PAGES
   ========================================================================== */
.tool-hero{background:var(--pine-deep); color:#fff; padding:44px 0}
.tool-hero .bc{color:#9fbcb4}
.tool-hero .bc a{color:#cfe0da}
.tool-hero h1{color:#fff; font-size:clamp(1.9rem,4vw,2.8rem); margin:6px 0 10px}
.tool-hero p{color:#dcece7; max-width:60ch}
.tool-hero .btn{margin-top:18px}
.tool{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:28px; position:relative; overflow:hidden; max-width:860px; margin-inline:auto}
.tool::before{content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--clay)}
.tool__grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:22px}
.optgroup{min-width:0}
.field,.optgroup__legend{display:block; font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--ink); margin-bottom:10px}
.optgroup select{width:100%; padding:11px 12px; border:1px solid var(--line-strong); border-radius:var(--r); font-family:var(--font-body); font-size:1rem; background:var(--bg); color:var(--ink)}
.opt-row{display:flex; flex-direction:column; gap:8px}
.opt{display:flex; align-items:flex-start; gap:10px; padding:11px 13px; border:1px solid var(--line-strong); border-radius:var(--r); background:var(--bg); cursor:pointer; font-size:.96rem; transition:border-color .12s,background .12s}
.opt:hover{border-color:var(--clay)}
.opt:has(input:checked){border-color:var(--clay); background:var(--clay-tint)}
.opt input{margin-top:3px; accent-color:var(--clay); flex:0 0 auto}
.opt label{cursor:pointer; color:var(--ink)}
.tool__result{margin-top:24px; border-top:1px dashed var(--line-strong); padding-top:22px}
.result-readout{display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:14px}
.result-readout .k{font-family:var(--font-display); font-weight:700; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px}
.result__value{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,5vw,3rem); color:var(--clay); line-height:1}
.tool-note{font-size:.86rem; color:var(--ink-2); text-align:center; max-width:60ch; margin:0 auto 16px}
.tool__result .btn{display:flex; max-width:340px; margin-inline:auto}

/* ==========================================================================
   SERVICE PAGE v2  ·  split hero · numbered process · editorial bands · coverage
   (Redland lane — clay + pine on cream, this site's own tokens + type)
   ========================================================================== */

/* ---------- Split hero (dark pine ground, one relevant photo) ---------- */
.svc-hero{position:relative; overflow:hidden; background:var(--pine-deep); color:var(--cream)}
.svc-hero__ridge{position:absolute; right:-30px; bottom:-26px; width:520px; max-width:58%; opacity:.13; z-index:0; pointer-events:none}
.svc-hero__ridge path{fill:none; stroke:var(--clay-bright); stroke-width:2}
.svc-hero .wrap{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:38px; align-items:center; padding-top:clamp(32px,4.2vw,54px); padding-bottom:clamp(32px,4.2vw,54px)}
.svc-hero .bc{color:#9fbcb4}
.svc-hero .bc a{color:#cfe0da; text-decoration:none}
.svc-hero .bc a:hover{color:#fff}
.svc-hero .eyebrow{color:var(--clay-bright)}
.svc-hero .eyebrow svg{fill:var(--clay-bright)}
.svc-hero h1{color:#fff; font-size:clamp(2rem,4.4vw,3.15rem); line-height:1.02; margin:0 0 12px}
.svc-hero__lead{color:#dcece7; font-size:1.12rem; max-width:52ch; margin:0 0 20px; line-height:1.6}
.svc-hero .chips{margin-top:18px}
.svc-hero .chip{background:var(--surface); border-color:var(--surface)}
.svc-hero__media{position:relative}
.svc-hero__media img{width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:var(--r-lg); box-shadow:var(--shadow-lg); border:5px solid #fff}

/* ---------- Numbered process strip ---------- */
.svc-process{background:var(--band-pine); padding:clamp(40px,4.6vw,58px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.pflow{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; position:relative; margin-top:26px}
.pflow::before{content:""; position:absolute; left:12%; right:12%; top:23px; height:2px; background:repeating-linear-gradient(90deg,var(--clay) 0 9px,transparent 9px 18px); opacity:.5}
.pstep{position:relative; z-index:1; display:flex; flex-direction:column; gap:9px; text-align:center; align-items:center; padding:0 6px; min-width:0}
.pstep__n{display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; flex:0 0 auto; border-radius:50%; background:var(--clay); color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.15rem; box-shadow:0 0 0 6px var(--band-pine),0 0 0 7.5px var(--line)}
.pstep h3{font-size:1.06rem; margin:2px 0 .1em; color:var(--ink)}
.pstep p{font-size:.9rem; color:var(--ink-2); margin:0; line-height:1.5}

/* ---------- Lead prose + editorial topic bands (alternating warm/water) ---------- */
.svc-lead{background:var(--surface); padding:clamp(30px,4vw,48px) 0}
.svc-lead .svc-prose{max-width:840px}
.svc-lead .svc-prose>p:first-child{font-size:1.16rem; line-height:1.62; color:var(--ink)}
.svc-band{padding:clamp(32px,4.2vw,52px) 0; background:var(--band-clay); border-top:1px solid var(--line)}
.svc-band--rev{background:var(--band-pine)}
.svc-band--wide .svc-prose{max-width:860px}

/* ---------- Coverage / service area (real self-hosted map) ---------- */
.coverage{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:30px; align-items:start; margin-bottom:26px}
.coverage__map{margin:0; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line-strong); background:var(--surface)}
.coverage__map img{width:100%; height:auto; display:block}
.coverage__map figcaption{display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; align-items:center; padding:12px 16px; border-top:1px solid var(--line)}
.coverage__pin{display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:.9rem; color:var(--ink)}
.coverage__pin svg{width:16px; height:16px; fill:var(--clay); flex:0 0 auto}
.coverage__credit{font-size:.72rem; color:var(--ink-3); letter-spacing:.01em}
.coverage--compact{align-items:center; margin-bottom:0}
.coverage__note p{font-size:1.05rem; color:var(--ink); line-height:1.62; margin:0 0 14px}
.coverage__all{display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-weight:700; color:var(--clay-deep); text-decoration:none; border-bottom:2px solid var(--clay); padding-bottom:2px}
.coverage__all:hover{color:var(--pine)}
.zip-block{background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px}
.zip-block h3{font-size:1.08rem; margin:0 0 .6em; color:var(--ink)}
.zip-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(64px,1fr)); gap:8px}
.zip{background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--r); padding:8px 4px; text-align:center; font-family:var(--font-display); font-weight:700; font-size:.95rem; color:var(--pine); font-variant-numeric:tabular-nums}
.zip-note{font-size:.88rem; color:var(--ink-2); margin:14px 0 0}
.nbhd-groups{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px 24px; margin:0}
.nbhd-group h3{font-size:1.02rem; margin:0 0 .5em; color:var(--pine)}
.nbhd-group .chips{gap:8px}
.nbhd-group .chip{background:var(--surface); font-size:.82rem; padding:5px 11px; font-weight:600}

/* ---------- Service Area page: town cards ---------- */
.towns-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px}
.town-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow); min-width:0}
.town-card__head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:.5em}
.town-card__head h3{font-size:1.18rem; margin:0; color:var(--ink)}
.town-card__zip{display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-weight:700; font-size:.82rem; color:var(--pine); font-variant-numeric:tabular-nums; white-space:nowrap}
.town-card__zip svg{width:14px; height:14px; fill:var(--clay); flex:0 0 auto}
.town-card p{margin:0; color:var(--ink-2); font-size:.98rem; line-height:1.6}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1040px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-grid,.svc-why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px}
  .foot-grid{grid-template-columns:1.4fr 1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:900px){
  /* nav becomes mobile overlay */
  .nav-toggle{display:inline-flex}
  .header__phone{display:none}
  .header__cta .btn--sm{display:none}
  .nav{position:fixed; inset:0; top:0; margin:0; z-index:90; background:var(--surface);
    flex-direction:column; align-items:stretch; gap:0; padding:84px 22px 40px;
    overflow-y:auto; transform:translateX(100%); transition:transform .25s ease; visibility:hidden}
  body.is-menu{overflow:hidden}
  body.is-menu .nav{transform:translateX(0); visibility:visible}
  body.is-menu .site-header{z-index:100}
  /* keep the logo + close (X) button above the full-screen overlay so it stays visible + tappable */
  body.is-menu .brand,
  body.is-menu .header__cta{position:relative; z-index:95}
  .nav__link,.drop__toggle{width:100%; font-size:1.24rem; padding:14px 6px; border-bottom:1px solid var(--line); border-radius:0; justify-content:space-between}
  .nav__link::after,.drop__toggle::after{display:none}
  .drop{width:100%}
  .drop__menu{position:static; display:none; box-shadow:none; border:0; border-bottom:1px solid var(--line); border-radius:0; min-width:0; max-height:none; overflow:visible; padding:2px 0 12px 6px; background:transparent}
  .drop.is-open .drop__menu{display:flex}
  .drop__menu a{font-size:1.05rem; padding:11px 8px}
  .caret{transform:rotate(45deg)}
  .drop.is-open .caret{transform:rotate(-135deg) translateY(2px)}
  .callbar{display:block}
  body{padding-bottom:56px}

  .hero .wrap{grid-template-columns:1fr; padding-top:34px; padding-bottom:34px}
  .hero__media::after{background:linear-gradient(180deg,rgba(15,74,65,.62) 0%,rgba(15,74,65,.86) 60%)}
  .split{grid-template-columns:1fr; gap:28px}
  .split__media{order:-1}
  .dispatch .wrap,.closing .wrap,.dispatch-panel .wrap{grid-template-columns:1fr; gap:24px}
  .faq2{grid-template-columns:1fr}
  .faq-callcard{position:static}
  .svc-actionbar .wrap{grid-template-columns:1fr; gap:22px; padding-top:30px; padding-bottom:30px}
  .svc-actionbar__inset{order:-1}
  .svc-hero .wrap{grid-template-columns:1fr; gap:24px; padding-top:30px; padding-bottom:30px}
  .svc-hero__media{order:-1}
  .pflow{grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px}
  .pflow::before{display:none}
  .coverage{grid-template-columns:1fr; gap:22px}
  .ataglance{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
  .hooks{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rev-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:560px){
  body{font-size:1.05rem}
  .topbar__l{display:none}
  .topbar__in{justify-content:center}
  .why-grid,.svc-why__grid,.stats,.svc-grid,.area-grid{grid-template-columns:1fr}
  .pflow{grid-template-columns:1fr; gap:14px}
  .pstep{flex-direction:row; text-align:left; gap:14px; align-items:flex-start}
  .stat__n{font-size:2.6rem}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .callcard{flex-direction:column; align-items:flex-start}
  .callcard .btn{width:100%}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column; gap:4px}
  .hero__card{padding:24px 22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important; scroll-behavior:auto!important}}

/* self-hosted fonts (was Google Fonts; latin) */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-condensed-500.woff2?v=24f826a7) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-600.woff2?v=ba451349) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-700.woff2?v=e1180918) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-800.woff2?v=b1b7dd5d) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3.woff2?v=30164609) format('woff2')}
