/* ==========================================================================
   West Texas Tree Removal — main.css
   Editorial / luxury-service pattern · Playfair Display headings · Archivo eyebrows + UI · Plus Jakarta Sans body
   Token-driven · mobile-first
   ========================================================================== */

:root{
  /* ── Brand palette (from logo: copper badge + forest green + black) ── */
  --copper:#C8975C; --copper-2:#B27F47; --copper-bright:#D9AB6F;
  --copper-soft:rgba(200,151,92,.10); --copper-ring:rgba(200,151,92,.22);
  --forest:#73863A; --forest-2:#5B6C2E; --forest-deep:#3B481D;
  --ember:#D97757; --ember-2:#C5614A; --ember-bright:#E89177; --ember-soft:rgba(217,119,87,.10);
  --brick:#BB4232; --brick-2:#9A3023;

  /* ── Dark surfaces (used SPARINGLY) ── */
  --ink:#12130E; --ink-2:#1A1B13; --ink-3:#23251A; --ink-4:#2D3022; --ink-edge:#0A0B07;

  /* ── Light surfaces (the new defaults) ── */
  --white:#FFFFFF;
  --cream:#FAF6EE;
  --sand:#F4EFE5;
  --paper:#FCFAF6;
  --grey:#F5F4EF;
  --grey-2:#EAE7DF;
  --line:rgba(28,29,20,.08);
  --line-2:rgba(28,29,20,.14);

  /* ── Text colors ── */
  --ink-text:#1C1D14;
  --ink-muted:#5A5847;
  --ink-soft:#7A7866;
  --stone:#5C5A4A;
  --on-dark:#F6F1E6;
  --on-dark-muted:rgba(246,241,230,.78);

  /* ── Eyebrow color w/ better contrast on light bg ── */
  --eyebrow-light:#9A5538;  /* 6.4:1 on cream/paper — bumped from #B26544 (4.78:1) for AAA contrast */

  /* ── Typography — editorial pattern, easier humanist serif ──
     --f-display = Roboto Serif, low-contrast humanist serif. Used for h1–h4 + display numerals.
     --f-head    = Archivo, utility sans. Used for eyebrows, nav, buttons, badges, labels (tracked-out caps).
     --f-body    = Plus Jakarta Sans, body copy at 18px / 1.75 line-height.
     --f-serif   = serif fallback chain (same as --f-display) for italic accents inside body. */
  --f-display:'Roboto Serif','Iowan Old Style',Georgia,serif;
  --f-head:'Archivo','Archivo Black',sans-serif;
  --f-body:'Plus Jakarta Sans',system-ui,sans-serif;
  --f-serif:'Roboto Serif','Iowan Old Style',Georgia,serif;

  /* ── Sizes — magazine hierarchy (H1 68-88px / H2 52-60px / H3 26-32px / body 18px) ── */
  --h1:clamp(3rem, 7vw, 5.5rem);              /* 48 → 88px desktop */
  --h2:clamp(2.4rem, 5vw, 3.75rem);           /* 38 → 60px desktop */
  --h3:clamp(1.5rem, 2.4vw, 2rem);            /* 24 → 32px desktop */
  --h4:clamp(1.15rem, 1.4vw, 1.35rem);        /* 18 → 22px desktop */
  --body:clamp(1.0625rem, 1rem + .25vw, 1.125rem);  /* 17 → 18px */
  --lead:clamp(1.2rem, 1rem + .6vw, 1.4rem);  /* 19 → 22px lead paragraphs */
  --eyebrow-size:.78rem;

  /* ── Layout ── */
  --maxw:1320px;
  --pad:clamp(1.25rem,5vw,3rem);
  --sec:clamp(4.5rem,9vw,8rem);
  --sec-tight:clamp(3rem,5.5vw,5rem);
  --hdr-h:84px;

  /* ── Radii ── */
  --r:14px;
  --r-md:18px;
  --r-lg:24px;
  --r-xl:32px;
  --r-pill:999px;

  /* ── Shadows ── */
  --sh-sm:0 2px 8px rgba(28,29,20,.04);
  --sh-md:0 8px 24px rgba(28,29,20,.06);
  --sh-lg:0 24px 60px rgba(28,29,20,.10);
  --sh-pop:0 30px 80px rgba(28,29,20,.16);
  --sh-cta:0 12px 30px rgba(217,119,87,.32);

  /* ── Motion ── */
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* ── Premium glass / depth tokens (BioLabs-style) ── */
  --glass-bg-dark:rgba(255,255,255,.04);
  --glass-bg-dark-hover:rgba(255,255,255,.07);
  --glass-border-dark:rgba(255,255,255,.10);
  --glass-border-dark-hover:rgba(255,255,255,.18);
  --glass-bg-light:rgba(255,255,255,.65);
  --glass-bg-light-hover:rgba(255,255,255,.82);
  --glass-border-light:rgba(28,29,20,.08);
  --glass-border-light-hover:rgba(217,119,87,.32);
  --glass-blur:blur(18px) saturate(140%);
  --glass-blur-strong:blur(24px) saturate(160%);

  /* ── Radial halo glow behind cards (premium depth) ── */
  --card-halo-ember:radial-gradient(45% 35% at 50% 0%,rgba(217,119,87,.18),transparent 70%);
  --card-halo-forest:radial-gradient(45% 35% at 50% 0%,rgba(115,134,58,.16),transparent 70%);
  --card-halo-warm:radial-gradient(50% 40% at 50% 0%,rgba(217,119,87,.12),transparent 75%);
  --card-halo-copper:radial-gradient(50% 40% at 50% 0%,rgba(200,151,92,.14),transparent 75%);

  /* ── Topographic contour pattern (tileable, ~1.4KB encoded) ── */
  --bg-pattern-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cellipse cx='300' cy='300' rx='280' ry='200'/%3E%3Cellipse cx='300' cy='300' rx='220' ry='155'/%3E%3Cellipse cx='300' cy='300' rx='160' ry='110'/%3E%3Cellipse cx='300' cy='300' rx='100' ry='65'/%3E%3Cellipse cx='300' cy='300' rx='40' ry='20'/%3E%3Cellipse cx='80' cy='80' rx='80' ry='50'/%3E%3Cellipse cx='80' cy='80' rx='42' ry='24'/%3E%3Cellipse cx='520' cy='520' rx='80' ry='50'/%3E%3Cellipse cx='520' cy='520' rx='42' ry='24'/%3E%3C/svg%3E");
  --bg-pattern-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%231C1D14' stroke-width='1'%3E%3Cellipse cx='300' cy='300' rx='280' ry='200'/%3E%3Cellipse cx='300' cy='300' rx='220' ry='155'/%3E%3Cellipse cx='300' cy='300' rx='160' ry='110'/%3E%3Cellipse cx='300' cy='300' rx='100' ry='65'/%3E%3Cellipse cx='300' cy='300' rx='40' ry='20'/%3E%3Cellipse cx='80' cy='80' rx='80' ry='50'/%3E%3Cellipse cx='80' cy='80' rx='42' ry='24'/%3E%3Cellipse cx='520' cy='520' rx='80' ry='50'/%3E%3Cellipse cx='520' cy='520' rx='42' ry='24'/%3E%3C/svg%3E");

  /* ── More generous section padding for premium sections ── */
  --sec-premium:clamp(6rem,11vw,10rem);

  /* ── Premium card shadow (subtle, layered) ── */
  --sh-glass:0 1px 0 rgba(255,255,255,.06) inset, 0 12px 32px rgba(0,0,0,.18);
  --sh-glass-light:0 1px 0 rgba(255,255,255,.6) inset, 0 12px 32px rgba(28,29,20,.08);
}

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

/* ── Headings — Roboto Serif with mixed weights for editorial hierarchy.
   H1 400 regular · H2 500 medium · H3 600 semibold · H4 600.
   Low-contrast humanist serif — letter-spacing sits near zero (negative tracking is for high-contrast display serifs). */
h1,h2,h3,h4,h5,h6{font-family:var(--f-display);color:var(--ink-text);text-wrap:balance}
h1{font-family:var(--f-display);font-weight:400;font-size:var(--h1);line-height:1.08;letter-spacing:-.005em;text-transform:none}
h2{font-family:var(--f-display);font-weight:500;font-size:var(--h2);line-height:1.1;letter-spacing:-.004em;text-transform:none}
h3{font-family:var(--f-display);font-weight:600;font-size:var(--h3);line-height:1.25;letter-spacing:0;text-transform:none}
h4{font-family:var(--f-display);font-weight:600;font-size:var(--h4);line-height:1.35;letter-spacing:0}
h5{font-family:var(--f-display);font-weight:600;font-size:1.1rem;line-height:1.4}
h6{font-family:var(--f-display);font-weight:600;font-size:1rem;line-height:1.4}
/* <em> inside any heading: Playfair italic in ember — built-in editorial flourish, no font swap */
h1 em,h2 em,h3 em,h4 em{font-style:italic;font-weight:inherit;color:var(--ember);letter-spacing:-.005em}
/* Display accent — Playfair italic moment for a single section per page (add class="h2--display") */
.h2--display{font-family:var(--f-display);font-style:italic;font-weight:400;letter-spacing:-.01em;text-transform:none;line-height:1.05}

/* Lead paragraph — magazine-style opening graf, sits between eyebrow and body */
.lead{font-family:var(--f-body);font-size:var(--lead);font-weight:400;line-height:1.55;color:var(--ink-text);max-width:60ch;margin:0 0 1.2em}
.lead--muted{color:var(--ink-muted)}

p{margin:0 0 1em}
/* Editorial body-text readability cap — wrapped in :where() so component classes
   (.areas__more, .faq__more, .lead, etc.) win without needing max-width:100% patches. */
:where(p){max-width:72ch}
p:last-child{margin-bottom:0}
/* Strong body — semibold, not heavy */
b,strong{font-weight:600;color:var(--ink-text)}
/* Highlight: <mark> */
mark{background:transparent;color:var(--ember);font-weight:inherit;font-family:inherit;padding:0}
p mark{background:linear-gradient(to top,rgba(217,119,87,.16) 0 35%,transparent 35% 100%);padding-inline:2px}
.hl{color:var(--ember);font-style:italic;font-weight:inherit}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);width:100%}
.wrap--narrow{max-width:980px}
/* Eyebrow — Archivo tracked-out caps, the sans counterpoint to the serif heading.
   Bigger and looser than before for a stronger "magazine kicker" hierarchy. */
.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--f-head);font-weight:700;font-size:var(--eyebrow-size);letter-spacing:.26em;text-transform:uppercase;color:var(--eyebrow-light);margin-bottom:1.3rem}
.eyebrow::before{content:"";width:32px;height:2px;background:currentColor;opacity:.7}
.sec-dark .eyebrow,.cta .eyebrow,.iher .eyebrow{color:var(--ember-bright)}
.eyebrow--no-rule::before{display:none}
.eyebrow--pill{padding:.5rem 1rem;border-radius:var(--r-pill);background:var(--ember-soft);border:1px solid rgba(217,119,87,.2)}
.eyebrow--pill::before{display:none}
.skip{position:absolute;left:-999px;top:0;background:var(--ember);color:#fff;padding:.7rem 1.1rem;z-index:200;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}
:focus-visible{outline:2.5px solid var(--ember);outline-offset:3px;border-radius:3px}
::selection{background:var(--ember);color:#fff}

/* ───── Scroll progress — single hairline in ember ───── */
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ember);z-index:200;transition:width .1s linear;pointer-events:none;opacity:.7}

/* ===== Buttons — editorial palette + restored depth (soft shadow + lift on hover + cursor-tracked highlight on filled).
   Outline variants stay flat (border-only state changes). */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-head);font-weight:600;
  font-size:.95rem;letter-spacing:.01em;padding:1.05rem 1.8rem;border-radius:var(--r-pill);border:1.5px solid transparent;
  cursor:pointer;position:relative;overflow:hidden;
  transition:transform .28s var(--ease-out),background .25s,border-color .25s,color .25s,box-shadow .35s;white-space:nowrap}
/* Cursor-tracked highlight (filled buttons reveal it on hover) */
.btn::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 50%);opacity:0;transition:opacity .35s;pointer-events:none}
.btn--ink:hover::after,.btn--white:hover::after,.btn--ember:hover::after,.btn--primary:hover::after,.btn--ink-pill:hover::after{opacity:1}

/* Primary on-light surface — solid ink with cool depth */
.btn--ink{background:var(--ink-text);color:#fff;border-color:var(--ink-text);box-shadow:0 10px 24px rgba(28,29,20,.18)}
.btn--ink:hover{background:var(--ink-2);transform:translateY(-3px);box-shadow:0 18px 36px rgba(28,29,20,.26)}
/* Outline on light surface — flat, border state change only */
.btn--outline-dark{background:transparent;color:var(--ink-text);border-color:var(--ink-text)}
.btn--outline-dark:hover{background:var(--ink-text);color:#fff}
/* Primary on-dark surface — white pill with neutral depth */
.btn--white{background:#fff;color:var(--ink-text);border-color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.5)}
.btn--white:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.32);color:var(--ember)}
/* Outline on dark surface — flat */
.btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.btn--outline:hover{background:#fff;color:var(--ink-text);border-color:#fff}
/* Accent ember — the single warm moment per page. Full warm-glow treatment restored. */
.btn--ember{background:var(--ember);color:#fff;border-color:var(--ember);box-shadow:0 12px 30px rgba(217,119,87,.32)}
.btn--ember:hover{background:var(--ember-2);border-color:var(--ember-2);transform:translateY(-3px);box-shadow:0 18px 40px rgba(217,119,87,.42)}
/* Legacy aliases — match new treatment for back-compat */
.btn--primary{background:var(--ink-text);color:#fff;border-color:var(--ink-text);box-shadow:0 10px 24px rgba(28,29,20,.18)}
.btn--primary:hover{background:var(--ink-2);transform:translateY(-3px);box-shadow:0 18px 36px rgba(28,29,20,.26)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.btn--ghost:hover{background:#fff;color:var(--ink-text);border-color:#fff}
.btn--ghost-dark{background:transparent;color:var(--ink-text);border-color:var(--ink-text)}
.btn--ghost-dark:hover{background:var(--ink-text);color:#fff}
.btn--ink-pill{background:#fff;color:var(--ink-text);border-color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.btn--ink-pill:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.32)}
.btn--ink-pill svg{color:currentColor}

.btn--block{display:flex;width:100%;justify-content:center}
.btn--lg{font-size:1.05rem;padding:1.2rem 2.2rem}
.btn--sm{font-size:.86rem;padding:.78rem 1.3rem}
.btn svg{width:18px;height:18px;flex:none;transition:transform .25s}
.btn:hover svg{transform:translateX(3px)}
.stars{color:var(--ember);letter-spacing:1px;font-family:Arial,sans-serif}

/* ===== Icon chips (unified — replaces ad-hoc 48px chip variants across components) ===== */
.icon-chip{display:inline-flex;width:48px;height:48px;border-radius:14px;
  background:var(--glass-bg-dark);border:1px solid var(--glass-border-dark);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  color:#fff;align-items:center;justify-content:center;flex:none;
  transition:transform .35s var(--ease-out),background .3s,border-color .3s}
.icon-chip svg{width:22px;height:22px;stroke-width:1.6}
.icon-chip--lg{width:60px;height:60px;border-radius:16px}
.icon-chip--lg svg{width:26px;height:26px}
.icon-chip--sm{width:38px;height:38px;border-radius:11px}
.icon-chip--sm svg{width:18px;height:18px}
/* Light surface variant */
.icon-chip--light{background:var(--glass-bg-light);border:1px solid var(--glass-border-light);
  color:var(--ember);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 6px 16px rgba(28,29,20,.06)}
/* Solid accent — use sparingly, max 1 per section */
.icon-chip--solid{background:linear-gradient(135deg,var(--ember),var(--copper));
  border:0;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:0 8px 20px rgba(217,119,87,.32)}
/* Hover lift (parent component opts in) */
:hover>.icon-chip{transform:translateY(-1px)}

/* ===== Utility bar — slim dark with phone-led left side ===== */
.util{background:linear-gradient(180deg,var(--ink-edge) 0%,var(--ink) 100%);color:#fff;font-size:.82rem;font-family:var(--f-head);font-weight:600;letter-spacing:.02em}
.util .wrap{display:flex;align-items:center;gap:.8rem;padding-block:.65rem;min-height:42px}
.util__areas{color:rgba(255,255,255,.62);font-weight:500}
.util__hours{color:rgba(255,255,255,.78);font-weight:500}
.util__sep{color:rgba(255,255,255,.22);font-weight:400}
.util__spacer{flex:1}
.util__phone{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;white-space:nowrap;color:#fff;transition:color .2s}
.util__phone:hover{color:var(--ember-bright)}
.util__phone svg{color:var(--ember-bright);width:14px;height:14px}
.util__rating{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.85)}
.util__rating .stars{color:var(--ember-bright);letter-spacing:1px}
.util__rating b{color:#fff;font-weight:700}
@media(max-width:980px){.util__areas,.util__sep:last-of-type{display:none}}
@media(max-width:740px){.util__hours,.util__spacer{display:none}.util .wrap{justify-content:flex-start;gap:.6rem}}
@media(max-width:520px){.util__rating{font-size:.74rem}.util__phone{font-size:.78rem}}

/* ===== Header (white + soft) ===== */
.hdr{position:sticky;top:0;z-index:120;transition:box-shadow .3s,background .3s,backdrop-filter .3s,padding .35s var(--ease-out)}
.hdr--light{background:rgba(255,255,255,.86);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}
.hdr--light.scrolled{background:rgba(255,255,255,.96);box-shadow:var(--sh-md)}
.hdr.scrolled .nav{padding-block:.55rem;min-height:0;transition:padding .35s var(--ease-out)}
.hdr.scrolled .brand__logo{height:60px;transition:height .35s var(--ease-out)}
@media(max-width:1080px){.hdr.scrolled .brand__logo{height:48px}}
.nav{display:flex;align-items:center;gap:1.5rem;padding-block:1rem;min-height:calc(var(--hdr-h) + 24px)}
.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;flex:none;transition:transform .3s var(--ease-out)}
.brand:hover{transform:translateX(-2px)}
.brand__logo{height:90px;width:auto;display:block;transition:height .35s var(--ease-out)}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__txt .a{font-family:var(--f-display);font-weight:500;font-size:1.3rem;letter-spacing:-.01em}
.brand__txt .b{font-family:var(--f-head);font-weight:700;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;margin-top:4px}
.brand__txt--light .a{color:var(--ink-text)} .brand__txt--light .b{color:var(--ember)}
.brand__txt--dark .a{color:var(--cream)} .brand__txt--dark .b{color:var(--copper)}

.menu{display:flex;align-items:center;gap:.15rem;list-style:none}
.menu>li{position:relative}
.menu>li>a,.menu>li>span{display:flex;align-items:center;gap:.35rem;font-family:var(--f-head);font-weight:600;
  font-size:.94rem;color:var(--ink-text);padding:.7rem .9rem;border-radius:10px;cursor:pointer;transition:color .2s,background .2s;position:relative}
.menu>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.menu>li>a:hover::after{transform:scaleX(1)}
.menu>li>a:hover,.menu>li:focus-within>span,.menu>li:hover>span{color:var(--ember)}
.menu .caret{width:11px;height:11px;opacity:.55;transition:transform .25s}
.menu>li:hover>span .caret,.menu>li:focus-within>span .caret{transform:rotate(180deg);opacity:1}
.drop{position:absolute;top:calc(100% + 14px);left:0;min-width:280px;background:#fff;
  border:1px solid var(--line);border-radius:18px;padding:.6rem;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease-out);box-shadow:var(--sh-lg)}
.menu>li:hover>.drop,.menu>li:focus-within>.drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:12px;font-weight:500;font-size:.95rem;color:var(--ink-text);transition:background .2s,color .2s}
.drop__ic{display:inline-flex;width:32px;height:32px;border-radius:8px;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s}
.drop a:hover{background:var(--paper);color:var(--ember)}
.drop a:hover .drop__ic{background:var(--ember);color:#fff}
.nav__cta{display:flex;align-items:center;gap:1.1rem;flex:none}
.nav__phone{display:flex;align-items:center;gap:.65rem;color:var(--ink-text);transition:color .2s;line-height:1}
.nav__phone-ic{width:38px;height:38px;border-radius:50%;background:var(--ember-soft);display:grid;place-items:center;color:var(--ember);flex:none;transition:background .25s,color .25s,transform .25s var(--ease-out)}
.nav__phone-ic svg{width:17px;height:17px}
.nav__phone:hover .nav__phone-ic{background:var(--ember);color:#fff;transform:rotate(-8deg)}
.nav__phone-text{display:flex;flex-direction:column;gap:2px;text-align:left}
.nav__phone-label{font-family:var(--f-head);font-weight:600;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);transition:color .25s}
.nav__phone-num{font-family:var(--f-head);font-weight:800;font-size:1.02rem;color:var(--ink-text);letter-spacing:-.005em;transition:color .25s}
.nav__phone:hover .nav__phone-num{color:var(--ember)}
.burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;padding:0;transition:background .25s,color .25s,transform .25s var(--ease-out)}
.burger:hover{background:var(--ember);color:#fff;transform:rotate(90deg)}
.burger svg{width:24px;height:24px}
/* Active nav item */
.menu>li>a[aria-current="page"],.menu>li.current-menu-item>a,.menu>li>a.is-current{color:var(--ember)}
.menu>li>a[aria-current="page"]::after,.menu>li.current-menu-item>a::after,.menu>li>a.is-current::after{transform:scaleX(1)}

/* Phone pulse — animates after user scrolls past intro */
.nav__phone.is-pulsing .nav__phone-ic{animation:phonePulse 2s ease-in-out infinite}
@keyframes phonePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(217,119,87,.55)}
  50%{box-shadow:0 0 0 10px rgba(217,119,87,0)}
}
@media(max-width:1080px){.menu,.nav__phone{display:none}.burger{display:inline-flex}.brand__logo{height:64px}.nav__cta .btn{padding:.9rem 1.4rem;font-size:.9rem}}
@media(max-width:560px){.brand__logo{height:52px}}
@media(max-width:560px){.nav__cta .btn{display:none}}

/* ===== Mobile overlay ===== */
.mob{position:fixed;inset:0;z-index:150;background:var(--paper);transform:translateX(100%);
  transition:transform .42s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;padding:1.2rem var(--pad) 2rem;overflow-y:auto}
.mob.open{transform:translateX(0)}
.mob__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.mob__close{color:var(--ink-text)}
.mob__close svg{width:30px;height:30px}
.mob>a{display:block;font-family:var(--f-head);font-weight:800;font-size:1.55rem;color:var(--ink-text);
  padding:.85rem 0;border-bottom:1px solid var(--line)}
.mob>a:active{color:var(--ember)}
.mob details>summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-head);
  font-weight:800;font-size:1.55rem;padding:.85rem 0;border-bottom:1px solid var(--line);cursor:pointer;list-style:none;color:var(--ink-text)}
.mob details>summary::-webkit-details-marker{display:none}
.mob details[open]>summary{color:var(--ember)}
.mob details a{display:block;font-size:1.1rem;font-weight:500;padding:.55rem 0 .55rem 1rem;color:var(--ink-muted);border-bottom:1px solid var(--line)}
.mob__cta{margin-top:1.7rem;display:grid;gap:.7rem}
.mob__cta .btn{justify-content:center;font-size:1.05rem;padding:1.1rem}

/* ==========================================================================
   HERO — Boujee-style: forest→ink gradient, two-tone H1, trust cards, badge
   ========================================================================== */
.hero{position:relative;background:var(--ink-edge);color:#fff;overflow:hidden;isolation:isolate;padding-block:clamp(5rem,10vw,8rem) clamp(7rem,14vw,11rem);min-height:clamp(640px,90vh,920px);display:flex;align-items:center}
/* BG image: full-color on the left, dissolves into transparency on the right
   so the glow + gradient become the dominant surface on the right half. */
.hero__bgimg{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:left center;opacity:.6;transform:scale(1.06);animation:kenBurns 32s ease-in-out infinite alternate;
  -webkit-mask-image:linear-gradient(105deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 38%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.15) 92%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(105deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 38%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.15) 92%, rgba(0,0,0,0) 100%)}
@keyframes kenBurns{0%{transform:scale(1.06) translate(0,0)}100%{transform:scale(1.14) translate(-2%,-1.5%)}}
/* Gradient overlay layer — forest top-left, ink bottom-right */
.hero__overlay{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(135deg,rgba(59,72,29,.78) 0%,rgba(35,37,26,.85) 45%,rgba(18,19,14,.94) 100%),
    radial-gradient(80% 60% at 80% 30%,rgba(217,119,87,.22),transparent 60%),
    radial-gradient(70% 100% at 10% 100%,rgba(115,134,58,.20),transparent 60%)}
/* Fallback when no bg image: same gradient looks intentional */
.hero:not(:has(.hero__bgimg)) .hero__overlay{background:
  linear-gradient(135deg,#2D3A18 0%,#1A2010 45%,var(--ink-edge) 100%),
  radial-gradient(60% 70% at 80% 30%,rgba(217,119,87,.24),transparent 60%)}
.hero__glow{display:none}

.hero .wrap{position:relative;width:100%}
.hero__inner{max-width:980px;position:relative;z-index:1}
.hero__eyebrow{color:var(--ember-bright);margin-bottom:1.6rem;display:inline-flex;align-items:center;gap:.65rem;font-size:.78rem;letter-spacing:.24em}
.hero__eyebrow::before{background:var(--ember-bright)}

/* Hero eyebrow chip — small pill with icon */
.hero__eyebrow-chip{display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);
  color:rgba(255,255,255,.92);
  padding:.5rem .9rem;border-radius:var(--r-pill);
  font-family:var(--f-head);font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:1.5rem}
.hero__eyebrow-ic{display:inline-flex;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;align-items:center;justify-content:center;flex:none}
.hero__eyebrow-ic svg{width:11px;height:11px}

/* CALL US split button — icon circle + 2-line text */
.btn-callus{display:inline-flex;align-items:center;gap:.7rem;padding:.85rem 1.6rem .85rem .85rem;border-radius:var(--r-pill);background:rgba(18,19,14,.45);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;transition:background .25s,border-color .25s,transform .28s var(--ease-out)}
.btn-callus:hover{background:rgba(18,19,14,.78);border-color:var(--ember);transform:translateY(-3px)}
.btn-callus__ic{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;display:grid;place-items:center;flex:none;transition:transform .35s var(--ease-out)}
.btn-callus:hover .btn-callus__ic{transform:rotate(-8deg)}
.btn-callus__ic svg{width:18px;height:18px}
.btn-callus__text{display:flex;flex-direction:column;gap:2px;text-align:left;line-height:1}
.btn-callus__label{font-family:var(--f-head);font-weight:600;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.btn-callus__num{font-family:var(--f-head);font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:-.005em}
.hero h1{color:#fff;text-transform:none;display:flex;flex-direction:column;gap:.02em;font-family:var(--f-display);font-size:var(--h1);max-width:16ch}
.hero__h1-l1{color:#fff;white-space:normal}
.hero__h1-l2{
  color:var(--ember-bright);
}
.hero__h1-l1,.hero__h1-l2{text-transform:uppercase;opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out),filter 1s var(--ease-out)}
.hero.in .hero__h1-l1{opacity:1;transform:none;filter:blur(0);transition-delay:.1s}
.hero.in .hero__h1-l2{opacity:1;transform:none;filter:blur(0);transition-delay:.35s}
.hero__sub{margin-top:1.7rem;max-width:62ch;font-size:clamp(1.08rem,1rem + .42vw,1.2rem);color:rgba(255,255,255,.82);line-height:1.7}
.hero__sub b{color:#fff;font-weight:600}
.hero__cta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.9rem}

/* Floating badge (top right) — copper circle, tilted */
.hero__badge{position:absolute;top:clamp(4rem,9vw,7rem);right:clamp(1.5rem,5vw,4rem);width:clamp(150px,16vw,200px);height:clamp(150px,16vw,200px);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--copper-bright),var(--copper) 60%,var(--copper-2) 100%);
  display:grid;place-items:center;z-index:2;transform:rotate(-8deg);
  box-shadow:0 20px 50px rgba(0,0,0,.4),inset 0 -10px 20px rgba(0,0,0,.12);
  animation:badgeFloat 6s ease-in-out infinite;animation-delay:1s}
@keyframes badgeFloat{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
.hero__badge-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--f-head);font-weight:800;font-style:italic;color:#2B1A08;line-height:1.1;letter-spacing:-.01em;padding:.5rem;transform:rotate(-1deg)}
.hero__badge-line-1{font-size:clamp(.95rem,1.5vw,1.2rem)}
.hero__badge-line-2{font-size:clamp(.78rem,1.1vw,.95rem);margin-top:.25rem;opacity:.85;font-weight:700}
@media(max-width:980px){.hero__badge{top:1.2rem;right:1.2rem;width:120px;height:120px}}
@media(max-width:560px){.hero__badge{width:96px;height:96px;top:.8rem;right:.8rem}.hero__badge-line-1{font-size:.78rem}.hero__badge-line-2{font-size:.62rem}}

/* Bottom-left insured chip — white pill with copper rule on left */
.hero__chip{position:absolute;bottom:clamp(1rem,3vw,1.8rem);left:clamp(1rem,3vw,2rem);z-index:2;
  display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink-text);
  padding:.6rem 1.1rem .6rem 1.4rem;border-radius:var(--r-pill);
  font-family:var(--f-head);font-weight:800;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
  box-shadow:0 14px 30px rgba(0,0,0,.28);position:absolute;overflow:hidden}
.hero__chip-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ember),var(--copper))}
.hero__chip svg{color:var(--ember);width:14px;height:14px}
@media(max-width:560px){.hero__chip{display:none}}

/* Trust cards row — sits inside hero bottom (no longer overlaps because trust strip is gone) */
.hero__trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(3rem,6vw,4.5rem);position:relative;z-index:3}
.tcard{display:flex;align-items:center;gap:1rem;background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:1.3rem 1.5rem;color:#fff;transition:border-color .3s,color .3s}
.tcard:hover{border-color:rgba(255,255,255,.32)}
.tcard--link{cursor:pointer;text-decoration:none}
.tcard--link:hover .tcard__lbl{color:rgba(255,255,255,.85)}
.tcard__ic{display:inline-flex;width:44px;height:44px;border-radius:50%;background:transparent;color:var(--ember-bright);border:1px solid rgba(255,255,255,.18);align-items:center;justify-content:center;flex:none}
.tcard__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.tcard__big{font-family:var(--f-head);font-weight:800;font-size:1.25rem;color:#fff;letter-spacing:-.01em;display:flex;align-items:baseline;gap:.4rem}
.tcard__big small{color:var(--ember-bright);font-size:.85rem;letter-spacing:1px}
.tcard__lbl{font-size:.78rem;color:rgba(255,255,255,.65);letter-spacing:.05em}
@media(max-width:880px){.hero__trust-cards{grid-template-columns:1fr}}

@media(max-width:760px){
  .hero{min-height:auto;padding-block:clamp(3.5rem,9vw,5.5rem) clamp(4rem,9vw,6rem)}
  .hero__inner{max-width:100%}
  .hero h1{font-size:clamp(2.4rem,11vw,3.8rem)}
  .hero__sub{font-size:1.05rem}
  .hero__cta{margin-top:1.6rem;gap:.65rem}
  .hero__cta .btn{flex:1;justify-content:center;min-width:0;padding:1rem 1.2rem;font-size:.95rem}
}

/* ===== Welcoming reveal ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.in .reveal,.reveal.in{opacity:1;transform:none}
.in .reveal:nth-child(2){transition-delay:.08s}
.in .reveal:nth-child(3){transition-delay:.16s}
.in .reveal:nth-child(4){transition-delay:.24s}
.in .reveal:nth-child(5){transition-delay:.32s}
.in .reveal:nth-child(6){transition-delay:.4s}
.in .reveal:nth-child(7){transition-delay:.48s}
[data-stagger]>*{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
[data-stagger].in>*{opacity:1;transform:none}
[data-stagger].in>*:nth-child(1){transition-delay:.05s}
[data-stagger].in>*:nth-child(2){transition-delay:.12s}
[data-stagger].in>*:nth-child(3){transition-delay:.19s}
[data-stagger].in>*:nth-child(4){transition-delay:.26s}
[data-stagger].in>*:nth-child(5){transition-delay:.33s}
[data-stagger].in>*:nth-child(6){transition-delay:.4s}
[data-stagger].in>*:nth-child(7){transition-delay:.47s}
[data-stagger].in>*:nth-child(8){transition-delay:.54s}

/* ==========================================================================
   TRUST STRIP — light, white, sits right under hero
   ========================================================================== */
.trust{background:var(--white);border-bottom:1px solid var(--line);padding-block:1.6rem}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:center}
.trust__item{display:flex;align-items:center;gap:.85rem;justify-content:center;color:var(--ink-text);font-family:var(--f-head);font-weight:600;font-size:.96rem;letter-spacing:.005em}
.trust__ic{display:inline-flex;width:40px;height:40px;border-radius:12px;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;flex:none;transition:transform .35s var(--ease-out),background .3s}
.trust__item:hover .trust__ic{transform:rotate(-6deg) scale(1.06);background:rgba(217,119,87,.20)}
@media(max-width:880px){.trust__grid{grid-template-columns:repeat(2,1fr);gap:1rem}}
@media(max-width:520px){.trust__grid{grid-template-columns:1fr 1fr;gap:.7rem}.trust__item{font-size:.84rem;gap:.5rem;justify-content:flex-start}.trust__ic{width:34px;height:34px}}

/* ==========================================================================
   STATS — softer copper band with icons + eyebrow
   ========================================================================== */
.stats{background:linear-gradient(135deg,var(--copper) 0%,var(--copper-bright) 60%,var(--ember-bright) 100%);color:#1F1306;position:relative;overflow:hidden;padding-block:clamp(2.4rem,4.5vw,3.6rem)}
.stats::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.7'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/></svg>");opacity:.06;mix-blend-mode:overlay;pointer-events:none}
.stats__head{display:flex;justify-content:center;margin-bottom:1.4rem;position:relative}
.stats__eyebrow{font-family:var(--f-head);font-weight:800;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(31,19,6,.62);display:inline-flex;align-items:center;gap:.6rem}
.stats__eyebrow::before,.stats__eyebrow::after{content:"";width:30px;height:1.5px;background:currentColor;opacity:.45}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative}
.stat{text-align:center;padding:.4rem .6rem;border-left:1px solid rgba(31,19,6,.16);transition:transform .4s var(--ease-out);display:flex;flex-direction:column;align-items:center;gap:.5rem}
.stat:hover{transform:translateY(-4px)}
.stat:first-child{border-left:0}
.stat__ic{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;color:rgba(31,19,6,.72)}
.stat__ic svg{width:22px;height:22px}
.stat__n{font-family:var(--f-display);font-size:clamp(2.2rem,4.6vw,3.3rem);line-height:1;letter-spacing:.005em}
.stat__l{font-family:var(--f-head);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(31,19,6,.88)}
@media(max-width:760px){.stats__grid{grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem}.stat{border-left:0;border-top:1px solid rgba(31,19,6,.14);padding-block:1.2rem .6rem}.stat:nth-child(1),.stat:nth-child(2){border-top:0;padding-top:.6rem}}

/* ==========================================================================
   GENERIC SECTIONS — light by default
   ========================================================================== */
section{position:relative}
section[id]{scroll-margin-top:calc(var(--hdr-h) + 20px)}
.sec-white{background:var(--white);color:var(--ink-text);padding-block:var(--sec)}
.sec-paper{background:var(--paper);color:var(--ink-text);padding-block:var(--sec)}
.sec-cream{background:var(--cream);color:var(--ink-text);padding-block:var(--sec)}
.sec-sand{background:var(--sand);color:var(--ink-text);padding-block:var(--sec)}
/* sec-dark — aliased to the same forest gradient as .sec-forest so all dark
   sections across the site (homepage reviews, interior equipment, process, etc.)
   share the same palette. Use .sec-ink for the rare cases that need true black. */
.sec-dark{
  position:relative;color:var(--on-dark);padding-block:var(--sec);
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%,rgba(217,119,87,.10),transparent 65%),
    radial-gradient(ellipse 70% 60% at 50% 100%,rgba(10,11,7,.45),transparent 70%),
    linear-gradient(180deg,#3D4A1F 0%,var(--forest-deep) 45%,#2A3414 100%);
}
/* Legacy true-black surface — kept for the 404 page and edge cases */
.sec-ink{background:var(--ink);color:var(--on-dark);padding-block:var(--sec)}
/* Soft, light forest-tinted band — used for the estimator section so it sits
   distinct from the adjacent paper "Simple process" block above. */
.sec-forest-soft{background:#EFEDE2;color:var(--ink-text);padding-block:var(--sec)}
.sec-forest-soft .sec-head h2{color:var(--ink-text)}
.sec-forest-soft .sec-head p{color:var(--ink-muted)}

/* Forest — layered ambient depth (soft warm halo top + cool vignette bottom)
   over a subtle vertical gradient base. Restrained, editorial. */
.sec-forest{
  position:relative;color:var(--on-dark);padding-block:var(--sec);
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%,rgba(217,119,87,.10),transparent 65%),
    radial-gradient(ellipse 70% 60% at 50% 100%,rgba(10,11,7,.45),transparent 70%),
    linear-gradient(180deg,#3D4A1F 0%,var(--forest-deep) 45%,#2A3414 100%);
}
/* Premium padding modifier — applies more generous breathing room to any section */
.sec-premium{padding-block:var(--sec-premium) !important}
.sec-forest h2,.sec-forest h3{color:#fff}
.sec-forest p{color:rgba(255,255,255,.78)}
.sec-forest .eyebrow{color:var(--ember-bright)}
.sec-dark .eyebrow{color:var(--ember-bright)}
.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#fff}
.sec-dark p{color:var(--on-dark-muted)}
.sec-head{max-width:64ch;margin-bottom:clamp(2.8rem,5vw,4.5rem)}
.sec-head--center{text-align:center;margin-inline:auto;max-width:680px}
.sec-head--center .eyebrow{justify-content:center}
.sec-head--center p{margin-inline:auto}
.sec-head h2{margin-top:0;letter-spacing:-.012em;text-wrap:balance}
.sec-head p{margin-top:1.4rem;color:var(--ink-muted);font-size:var(--lead);line-height:1.55;font-weight:400;max-width:60ch}
.sec-dark .sec-head p{color:var(--on-dark-muted)}

/* ==========================================================================
   INTRO — 2-col with glass-morphic premium card
   ========================================================================== */
.intro__grid{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
/* When the intro right side hosts the estimator form, split 50/50 so the form
   gets enough real estate to feel intentional and lands above the fold. */
.intro__grid--with-form{grid-template-columns:1fr 1fr;align-items:start}
.intro__form{position:relative}
@media(max-width:980px){.intro__grid--with-form{grid-template-columns:1fr;gap:2rem}}
.intro__body{display:flex;flex-direction:column}
.intro__body h2{margin-top:.4rem;margin-bottom:1.6rem;color:var(--ink-text);font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.012em;font-weight:500}
.intro__copy p{font-size:var(--lead);font-weight:400;color:var(--ink-text);line-height:1.65}
.intro__copy p+p{margin-top:1.1rem}

/* CTA row under intro body copy */
.intro__cta{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:.85rem}
@media(max-width:560px){.intro__cta{margin-top:1.4rem}.intro__cta .btn{flex:1;justify-content:center}}

/* Eyebrow chip — leaf icon in copper-gradient circle. No background/pill —
   sits flat on the section bg so it doesn't read as a separate UI element. */
.intro__eyebrow-chip{display:inline-flex;align-items:center;gap:.7rem;
  padding:0;
  font-family:var(--f-head);font-weight:800;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow-light);
  margin-bottom:1.2rem}
.intro__eyebrow-ic{display:inline-flex;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;align-items:center;justify-content:center;flex:none}
.intro__eyebrow-ic svg{width:12px;height:12px}

/* Three-stat closer below the body copy — replaces the visually flat space */
.intro__badge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem;padding-top:1.6rem;border-top:1px dashed var(--line-2)}
.intro__stat{display:flex;flex-direction:column;gap:.3rem;padding:.4rem 0}
.intro__stat-num{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.85rem,3.2vw,2.4rem);line-height:1;color:var(--ember);letter-spacing:-.015em;display:inline-flex;align-items:baseline;gap:.2rem}
.intro__stat-num small{color:var(--ember);font-size:.9rem;-webkit-text-fill-color:var(--ember)}
.intro__stat-lbl{font-family:var(--f-head);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);line-height:1.3}
.intro__stat--alt .intro__stat-num{background:linear-gradient(135deg,var(--forest),var(--forest-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:560px){.intro__badge-row{grid-template-columns:1fr 1fr;gap:1rem}.intro__stat:last-child{grid-column:1/-1}}

/* Light premium card — bright, warm, with copper accents */
.intro__card{
  position:relative;color:var(--ink-text);border-radius:var(--r-lg);padding:2.6rem 2.4rem;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(28,29,20,.03), 0 8px 28px rgba(28,29,20,.06);
  transition:transform .35s var(--ease-out), border-color .3s, box-shadow .35s;
}
.intro__card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(28,29,20,.04), 0 20px 42px rgba(28,29,20,.10)}
/* Glow blobs and animated borders intentionally removed for editorial cleanliness.
   .intro__card-grid and .intro__card-glow* are kept in templates as no-ops (no styling). */
.intro__card-grid,.intro__card-glow,.intro__card-glow--tl,.intro__card-glow--br{display:none}

/* Floating "GUARANTEED" badge — bold copper pill on white */
.intro__badge{position:absolute;top:1.4rem;right:1.4rem;z-index:3;
  display:inline-flex;align-items:center;gap:.4rem;
  background:transparent;color:var(--ink-text);
  padding:0;
  font-family:var(--f-head);font-weight:600;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.intro__badge svg{width:13px;height:13px;color:var(--ember)}

/* Head block */
.intro__card-head{position:relative;z-index:2;margin-bottom:1.6rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.intro__card-eyebrow{display:inline-block;font-family:var(--f-head);font-weight:700;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--eyebrow-light);margin-bottom:1rem}
.intro__card h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.7rem,2.6vw,2.1rem);line-height:1.1;color:var(--ink-text);letter-spacing:-.012em;max-width:18ch;margin:0;text-transform:none}

/* List items — numbered chip + lead + emphasis */
.intro__list{list-style:none;display:grid;gap:1rem;position:relative;z-index:2;margin:0;padding:0}
.intro__list li{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:flex-start;padding:.55rem 0}
.intro__list-n{flex:none;width:28px;height:28px;border-radius:50%;
  background:transparent;
  color:var(--ember);
  display:grid;place-items:center;
  font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1rem;letter-spacing:0;
  border:1px solid var(--ember)}
.intro__list-text{font-size:.98rem;line-height:1.6;color:var(--ink-muted)}
.intro__list-text b{color:var(--ink-text);font-weight:700;display:inline}
.intro__list-em{color:var(--ink-muted);font-style:normal}

/* Foot — rating + free-quote CTA */
.intro__card-foot{position:relative;z-index:2;margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.intro__card-rating{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--ink-muted)}
.intro__card-rating .stars{color:var(--ember);letter-spacing:1.5px}
.intro__card-rating b{color:var(--ink-text);font-weight:700}
.intro__card-cta{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-head);font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-text);border-bottom:1px solid var(--ink-text);padding-bottom:2px;transition:color .25s}
.intro__card-cta:hover{color:var(--ember);border-color:var(--ember)}
.intro__card-cta svg{transition:transform .25s}
.intro__card-cta:hover svg{transform:translateX(2px)}

@media(max-width:840px){.intro__grid{grid-template-columns:1fr}.intro__badge{top:1rem;right:1rem}}
@media(max-width:480px){.intro__card{padding:2rem 1.6rem 1.8rem}.intro__list-n{width:30px;height:30px;font-size:.72rem}}

/* legacy alias */
.check{flex:none;width:26px;height:26px;border-radius:8px;background:rgba(217,119,87,.18);display:grid;place-items:center;margin-top:1px}
.check svg{width:14px;height:14px;color:var(--ember-bright);stroke-width:3}

/* ==========================================================================
   PROCESS — Tidii-style 4-step numbered boxes with floating icon badges
   and dashed connectors between them.
   ========================================================================== */
.process-sec{position:relative}
.psteps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem);position:relative;align-items:start}
.pstep{display:flex;flex-direction:column;align-items:flex-start;text-align:left;position:relative;padding-top:2rem;border-top:1px solid var(--line-2)}
.pstep::after{display:none}

.pstep__card{position:static;width:auto;height:auto;border-radius:0;background:transparent;border:0;display:block;box-shadow:none;margin-bottom:.4rem}
.pstep__card::before{display:none}
.pstep__num{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(3rem,5vw,4rem);line-height:1;color:var(--ember);letter-spacing:-.02em;display:block}
.pstep__ic{display:none}
.pstep__body{margin-top:.8rem;max-width:28ch}
.pstep__title{font-family:var(--f-display);font-weight:500;font-size:1.35rem;letter-spacing:-.012em;color:var(--ink-text);margin-bottom:.6rem;line-height:1.15}
.pstep__desc{font-size:1rem;line-height:1.7;color:var(--ink-muted);margin:0}

@media(max-width:980px){
  .psteps{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.5rem}
  .pstep::after{display:none}
}
@media(max-width:520px){
  .psteps{grid-template-columns:1fr;gap:2rem}
  .pstep__card{width:112px;height:112px}
  .pstep__num{font-size:4rem}
}

/* ==========================================================================
   SERVICES — clean 3×2 grid, Tidii-style photo-led cards.
   Photo at top (16:10), icon chip + content below. Equal cells.
   ========================================================================== */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}

/* ── Service card — editorial photo-led, subtle elevation + lift on hover ── */
.scard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;color:var(--ink-text);
  box-shadow:0 1px 2px rgba(28,29,20,.03), 0 6px 22px rgba(28,29,20,.05);
  transition:transform .35s var(--ease-out), border-color .3s, box-shadow .35s;position:relative}
.scard:hover{transform:translateY(-4px);border-color:rgba(28,29,20,.18);box-shadow:0 2px 4px rgba(28,29,20,.04), 0 18px 38px rgba(28,29,20,.10)}

/* Media (photo or premium placeholder) */
.scard__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,var(--cream) 0%,var(--sand) 50%,rgba(115,134,58,.18) 100%)}
.scard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out)}
.scard:hover .scard__img{transform:scale(1.05)}
.scard__placeholder{position:absolute;inset:0;display:grid;place-items:center;background:
  radial-gradient(80% 60% at 30% 30%,rgba(217,119,87,.16),transparent 60%),
  radial-gradient(70% 60% at 80% 80%,rgba(115,134,58,.18),transparent 60%),
  linear-gradient(160deg,var(--cream) 0%,var(--sand) 100%)}
.scard__placeholder-ic{display:inline-flex;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.6);color:var(--ember);align-items:center;justify-content:center;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(217,119,87,.12)}
.scard__placeholder-ic svg{width:60px;height:60px}

/* Unified badge pills — sit at top-left of photo. Same shape, different color per type. */
.scard__badge{position:absolute;top:1rem;left:1rem;z-index:2;
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .85rem;border-radius:var(--r-pill);
  font-family:var(--f-head);font-weight:800;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px)}
.scard__badge svg{width:12px;height:12px;color:#fff;flex:none}
.scard__badge--feat{background:var(--ink-text)}
.scard__badge--emerg{background:var(--brick)}
.scard__flag-pulse{width:6px;height:6px;border-radius:50%;background:#fff}

/* Card body */
.scard__body{padding:1.6rem;display:flex;flex-direction:column;flex:1;position:relative}
.scard__ic{display:none}
.scard__title{font-family:var(--f-display);font-weight:500;font-size:1.5rem;letter-spacing:-.012em;color:var(--ink-text);margin-bottom:.6rem;line-height:1.15}
.scard__desc{font-size:1rem;color:var(--ink-muted);line-height:1.7;flex:1;margin:0}
.scard__foot{margin-top:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.scard__more{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--f-head);font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-text);border-bottom:1px solid var(--ink-text);padding-bottom:2px}
.scard__more svg{transition:transform .25s}
.scard:hover .scard__more svg{transform:translateX(4px)}
.scard__price{font-family:var(--f-head);font-weight:600;font-size:.78rem;color:var(--ink-muted);background:var(--paper-muted);padding:.35rem .75rem;border-radius:var(--r-pill);border:1px solid var(--line)}
.scard__price b{color:var(--ember);font-weight:800}

/* Feature card variant — slight forest accent on photo placeholder + body bar */
.scard--feat .scard__placeholder{background:
  radial-gradient(80% 60% at 30% 30%,rgba(217,119,87,.22),transparent 60%),
  radial-gradient(70% 60% at 80% 80%,rgba(115,134,58,.30),transparent 60%),
  linear-gradient(160deg,var(--cream) 0%,#E4DCC4 100%)}
.scard--feat .scard__placeholder-ic{color:var(--forest-deep);background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(115,134,58,.22)}
.scard--feat::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ember);z-index:3;border-radius:0 0 var(--r-lg) var(--r-lg)}

.scard--emergency .scard__placeholder{background:
  radial-gradient(80% 60% at 30% 30%,rgba(187,66,50,.22),transparent 60%),
  radial-gradient(70% 60% at 80% 80%,rgba(217,119,87,.18),transparent 60%),
  linear-gradient(160deg,var(--cream) 0%,#F1DCD4 100%)}
.scard--emergency .scard__placeholder-ic{color:var(--brick)}
.scard--emergency .scard__ic{background:rgba(187,66,50,.10);color:var(--brick)}
.scard--emergency:hover .scard__ic{background:var(--brick);color:#fff}
.scard--emergency .scard__more{color:var(--brick)}

@media(max-width:980px){.svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;
  display:flex;flex-direction:column;transition:border-color .35s,transform .35s var(--ease-out),box-shadow .35s,background .35s;position:relative;overflow:hidden;color:var(--ink-text);box-shadow:var(--sh-sm)}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ember),var(--copper));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-pop);border-color:var(--ember)}
.card:hover::before{transform:scaleX(1)}
.card__ic{width:60px;height:60px;border-radius:14px;background:var(--ember-soft);display:grid;place-items:center;margin-bottom:1.3rem;transition:transform .4s var(--ease-out),background .35s,color .35s;color:var(--ember)}
.card:hover .card__ic{transform:rotate(-6deg) scale(1.06);background:var(--ember);color:#fff}
.card__ic svg{width:30px;height:30px}
.card h3{font-size:1.35rem;color:var(--ink-text);letter-spacing:-.015em}
.card p{margin-top:.7rem;color:var(--ink-muted);font-size:.97rem;flex:1;line-height:1.65}
.card__link{margin-top:1.3rem;font-family:var(--f-head);font-weight:700;font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ember);display:inline-flex;align-items:center;gap:.45rem}
.card__link svg{width:15px;height:15px;transition:transform .25s}
.card:hover .card__link svg{transform:translateX(5px)}

/* Feature card — same grid cell, but visually distinct: forest gradient + wax seal */
.card--feat{
  background:linear-gradient(150deg,var(--forest) 0%,var(--forest-deep) 100%);
  border-color:var(--forest-2);color:#fff;
  position:relative;isolation:isolate;overflow:hidden}
.card--feat::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 50% at 90% 10%,rgba(217,119,87,.22),transparent 60%),
    radial-gradient(80% 60% at 10% 100%,rgba(255,255,255,.04),transparent 60%)}
.card--feat>*{position:relative;z-index:1}
.card--feat .card__ic{background:rgba(255,255,255,.14);color:#fff}
.card--feat:hover .card__ic{background:#fff;color:var(--forest-deep)}
.card--feat h3{color:#fff;letter-spacing:-.02em}
.card--feat p{color:rgba(255,255,255,.85)}
.card--feat .card__link{color:#fff}
.card--feat .tag{position:absolute;top:1.6rem;right:1.6rem;font-family:var(--f-head);font-weight:800;font-size:.7rem;
  letter-spacing:.22em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.5);padding:.5rem 1rem;border-radius:var(--r-pill);background:rgba(0,0,0,.18);backdrop-filter:blur(8px);z-index:2}
/* Wax-seal "Our Specialty" badge — circular tilted stamp (sized for 1/3 cards) */
.tag--seal{position:absolute;top:1.2rem;right:1.2rem;z-index:3;
  width:72px;height:72px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--copper-bright),var(--copper) 65%,var(--copper-2) 100%);
  border:2px solid rgba(255,255,255,.35);outline:2px dashed rgba(255,255,255,.35);outline-offset:-7px;
  display:grid;place-items:center;text-align:center;
  font-family:var(--f-head);font-weight:800;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#2B1A08;line-height:1.1;
  box-shadow:0 12px 26px rgba(0,0,0,.32),inset 0 -6px 10px rgba(0,0,0,.14);
  transform:rotate(-8deg);
  padding:.4rem}
.tag--seal span{transform:rotate(2deg);display:inline-block}
@media(max-width:560px){.tag--seal{width:64px;height:64px;font-size:.55rem;top:1rem;right:1rem}}

/* Starting-from price pill — bottom-right corner */
.card__price{position:absolute;bottom:1.2rem;right:1.2rem;font-family:var(--f-head);font-weight:600;font-size:.78rem;color:var(--ink-muted);background:var(--paper-muted);padding:.35rem .75rem;border-radius:var(--r-pill);border:1px solid var(--line)}
.card__price b{color:var(--ember);font-weight:800}
.card--emergency .card__price{background:rgba(187,66,50,.06);border-color:rgba(187,66,50,.18)}
.card--emergency .card__price b{color:var(--brick)}
.card--has-bg{background:linear-gradient(160deg,rgba(18,19,14,.55) 0%,rgba(18,19,14,.85) 100%),var(--card-bg) center/cover}
.card--emergency{border-color:rgba(187,66,50,.4)}
.card--emergency::before{background:linear-gradient(90deg,var(--brick),var(--ember))}
.card--emergency .card__ic{background:rgba(187,66,50,.10);color:var(--brick)}
.card--emergency:hover .card__ic{background:var(--brick);color:#fff}
@media(max-width:980px){.svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc{grid-template-columns:1fr}}

/* ==========================================================================
   RECENT WORK — bright cards on cream
   ========================================================================== */
.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:980px){.work__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.work__grid{grid-template-columns:1fr}}
.ba{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;box-shadow:var(--sh-sm)}
.ba:hover{transform:translateY(-5px);box-shadow:var(--sh-pop);border-color:var(--ember)}
.ba__viewport{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:none}
.ba__after,.ba__before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__before-wrap{position:absolute;inset:0;width:var(--w,50%);overflow:hidden;pointer-events:none;will-change:width}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--w,50%);transform:translateX(-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;will-change:left}
.ba__line{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.45)}
.ba__knob{position:relative;width:46px;height:46px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(217,119,87,.4),0 0 0 4px rgba(255,255,255,.9)}
.ba__knob svg{width:14px;height:14px}
.ba__tag{position:absolute;top:.9rem;font-family:var(--f-head);font-weight:700;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(18,19,14,.7);backdrop-filter:blur(8px);padding:.35rem .7rem;border-radius:var(--r-pill);pointer-events:none}
.ba__tag--before{left:.9rem}
.ba__tag--after{right:.9rem;background:rgba(217,119,87,.85)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba__cap{padding:1.3rem 1.4rem}
.ba__cap h3{font-size:1.1rem;color:var(--ink-text);letter-spacing:-.01em;margin-bottom:.3rem}
.ba__cap p{font-size:.86rem;color:var(--ink-muted);font-family:var(--f-head);font-weight:600;letter-spacing:.05em;margin:0}

/* ==========================================================================
   EQUIPMENT — single hero image on left adapts to height of right column
   ========================================================================== */
.equip__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:stretch}
.equip__media{position:relative;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,#fff,var(--paper));box-shadow:var(--sh-lg);min-height:clamp(420px,52vw,640px)}
.equip__hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease-out)}
.equip__media:hover .equip__hero-img{transform:scale(1.03)}
.equip__media-cap{position:absolute;bottom:1rem;left:1rem;z-index:2;
  font-family:var(--f-head);font-weight:700;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;
  background:rgba(18,19,14,.55);backdrop-filter:blur(10px);
  padding:.45rem .85rem;border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.18)}
/* Premium SVG placeholder when no image — fills the column */
.equip__hero-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;
  background:
    radial-gradient(70% 50% at 50% 25%,rgba(217,119,87,.12),transparent 70%),
    linear-gradient(160deg,#fff 0%,var(--paper) 100%)}
.equip__hero-placeholder::before{content:"";position:absolute;inset:0;background:
  radial-gradient(50% 50% at 80% 80%,rgba(115,134,58,.10),transparent 70%);pointer-events:none}
.equip__hero-placeholder svg{position:relative;width:78%;height:auto;max-width:360px;display:block}

/* Body column — vertically centered next to the tall image */
.equip__body{display:flex;flex-direction:column;justify-content:center}
.equip h2{margin-top:.4rem;letter-spacing:-.025em}
.equip .lead{margin-top:1.2rem;color:var(--ink-muted);font-size:1.12rem;line-height:1.7}
.equip__cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.equip__list{list-style:none;margin-top:1.8rem;display:grid;gap:1.4rem}
.equip__list li{display:flex;gap:1rem;align-items:flex-start}
.equip__list .n{flex:none;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;
  display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:1rem;box-shadow:0 6px 18px rgba(217,119,87,.32)}
.equip__list h4{font-size:1.1rem;color:var(--ink-text);margin-bottom:.25rem;letter-spacing:-.01em}
.equip__list p{color:var(--ink-muted);font-size:.97rem;line-height:1.6;margin:0}
@media(max-width:840px){.equip__grid{grid-template-columns:1fr}.equip__media{order:2;min-height:clamp(360px,80vw,480px)}}

/* VERSUS (inside equipment) — light pattern */
.versus{margin-top:clamp(4rem,8vw,6rem);padding-top:clamp(3rem,5vw,4rem);border-top:1px solid var(--line)}
.versus__head{max-width:54ch;margin:0 auto clamp(2.2rem,4vw,3.2rem);text-align:center}
.versus__head .eyebrow{justify-content:center}
.versus__head h3{font-size:clamp(1.7rem,3.6vw,2.4rem);color:var(--ink-text);margin-top:.7rem;letter-spacing:-.02em}
.versus__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.versus__col{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2.4rem;position:relative;box-shadow:0 1px 2px rgba(28,29,20,.03), 0 6px 22px rgba(28,29,20,.05);transition:transform .35s var(--ease-out), border-color .3s, box-shadow .35s}
.versus__col:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(28,29,20,.04), 0 18px 38px rgba(28,29,20,.10)}
.versus__col--us{border-color:var(--ink-text)}
.versus__tag{font-family:var(--f-head);font-weight:600;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;display:inline-block;margin-bottom:1.6rem;color:var(--ink-muted)}
.versus__col--us .versus__tag{color:var(--ink-text);border-bottom:1px solid var(--ink-text);padding-bottom:4px}
.versus__col--them .versus__tag{color:var(--ink-soft)}
.versus__col ul{list-style:none;display:grid;gap:.9rem}
.versus__col li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink-text);font-size:.97rem;line-height:1.55}
.versus__col--them li{color:var(--ink-soft)}
.versus__col .x{flex:none;width:22px;height:22px;border-radius:6px;background:rgba(187,66,50,.10);display:grid;place-items:center;margin-top:2px;color:var(--brick)}
.versus__col .x svg{width:12px;height:12px;stroke-width:3}
.versus__col--us .check{background:var(--ember-soft);margin-top:2px}
.versus__col--us .check svg{color:var(--ember)}
@media(max-width:780px){.versus__grid{grid-template-columns:1fr}}

/* Versus stat closer — big numeric proof; tightened spacing to comparison above */
.versus__stat{margin-top:2rem;background:transparent;border-top:1px solid var(--line-2);padding:clamp(1.8rem,3vw,2.6rem) 0 0;display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:center;position:relative}
/* Subtle visual link between the comparison columns and the stat closer */
.versus__stat::before{content:"";position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);width:2px;height:1.4rem;background:linear-gradient(180deg,transparent,var(--ember-soft))}
.versus__stat-item{text-align:center;display:flex;flex-direction:column;gap:.4rem}
.versus__stat-n{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;color:var(--ember);letter-spacing:-.015em}
.versus__stat-item--them .versus__stat-n{background:none;-webkit-text-fill-color:initial;color:var(--ink-soft);text-decoration:line-through;text-decoration-color:rgba(187,66,50,.55);text-decoration-thickness:3px}
.versus__stat-l{font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.versus__stat-vs{font-family:var(--f-display);font-size:1.4rem;color:var(--ink-soft);letter-spacing:.05em}
@media(max-width:560px){.versus__stat{grid-template-columns:1fr;gap:.7rem;text-align:center}.versus__stat-vs{font-size:1.1rem}}

/* ==========================================================================
   BRAND FACTS — "About this brand" + Quick Facts dl. AI-extractable content.
   ========================================================================== */
.brand-facts{padding-block:clamp(4rem,8vw,6.5rem)}
.bfacts__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.bfacts__about h2{font-family:var(--f-head);font-weight:900;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.15;letter-spacing:-.025em;margin:.8rem 0 1.2rem;color:var(--ink-text)}
.bfacts__lead{font-size:clamp(1.02rem,1rem + .3vw,1.15rem);line-height:1.75;color:var(--ink-text)}
.bfacts__lead b{color:var(--ink-text);font-weight:700}
.bfacts__lead a{color:var(--ember);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

.bfacts__quick{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.4rem,2.4vw,2rem);box-shadow:var(--sh-sm);position:relative;overflow:hidden}
.bfacts__quick::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ember),var(--copper),var(--forest))}
.bfacts__quick-h{font-family:var(--f-head);font-weight:800;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow-light);margin:0 0 1.2rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.bfacts__dl{margin:0;display:grid;gap:.7rem}
.bfacts__row{display:grid;grid-template-columns:9rem 1fr;gap:1rem;align-items:baseline;font-size:.94rem}
.bfacts__row dt{font-family:var(--f-head);font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0}
.bfacts__row dd{margin:0;color:var(--ink-text);line-height:1.55}
.bfacts__row dd a{color:var(--ember);font-weight:700}
@media(max-width:980px){.bfacts__grid{grid-template-columns:1fr;gap:2rem}}
@media(max-width:520px){.bfacts__row{grid-template-columns:1fr;gap:.15rem}.bfacts__row dt{font-size:.62rem}}

/* ==========================================================================
   SERVICE ARCHIVE — intro + equipment teaser
   ========================================================================== */
.archive-intro{max-width:920px}
.archive-intro__lead{font-size:clamp(1.05rem,1rem + .35vw,1.18rem);color:var(--ink-text);line-height:1.75;margin-bottom:1rem}
.archive-intro__lead:last-child{margin-bottom:0}
.archive-intro__lead b{font-weight:700}

.archive-equip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.archive-equip__item{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--sh-sm);transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s}
.archive-equip__item:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--ember)}
.archive-equip__ic{display:inline-flex;width:54px;height:54px;border-radius:14px;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;margin-bottom:1.1rem;transition:background .3s,color .3s,transform .35s var(--ease-out)}
.archive-equip__item:hover .archive-equip__ic{background:var(--ember);color:#fff;transform:rotate(-6deg) scale(1.06)}
.archive-equip__item h3{font-family:var(--f-head);font-weight:800;font-size:1.15rem;color:var(--ink-text);margin-bottom:.5rem;letter-spacing:-.015em}
.archive-equip__item p{font-size:.95rem;color:var(--ink-muted);line-height:1.6;margin:0}
@media(max-width:980px){.archive-equip{grid-template-columns:1fr;gap:1rem}}

/* ==========================================================================
   SINGLE SERVICE — AEO answer block + quick-facts row
   ========================================================================== */
/* ==========================================================================
   SERVICE SPEC SHOWCASE — bold post-hero zone
   ========================================================================== */
.svc-spec{padding-block:clamp(3.5rem,7vw,5.5rem);position:relative}

.svc-spec__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative;z-index:1}

.svc-spec__main .eyebrow{margin-bottom:1.2rem}
.svc-spec__definition{font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.35;color:var(--ink-text);margin:0 0 1.2rem;letter-spacing:-.015em;border:0;padding:0}
.svc-spec__brand{font-size:clamp(1rem,1rem + .25vw,1.12rem);color:var(--ink-muted);line-height:1.65;margin:0 0 1.4rem}
.svc-spec__brand b{color:var(--ink-text);font-weight:700}

.svc-spec__chips{display:flex;flex-wrap:wrap;gap:.55rem}
.svc-spec__chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.04em;color:var(--ink-text);box-shadow:var(--sh-sm)}
.svc-spec__chip svg{width:14px;height:14px;color:var(--ember);flex:none}
.svc-spec__chip--price{background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(217,119,87,.30)}
.svc-spec__chip--price svg{color:#fff}

/* Stat tiles — large visual moments */
.svc-spec__stats{display:grid;grid-template-columns:1fr;gap:.85rem}
.svc-spec-tile{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem 1.6rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--sh-sm);transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;position:relative;overflow:hidden}
.svc-spec-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ember),var(--copper))}
.svc-spec-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--ember)}
.svc-spec-tile__num{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(2.4rem,4.2vw,3.4rem);line-height:1;color:var(--ember);letter-spacing:-.015em;display:inline-flex;align-items:baseline;gap:.15rem}
.svc-spec-tile__num small{font-size:.5em;letter-spacing:.02em;color:var(--ember);-webkit-text-fill-color:var(--ember)}
.svc-spec-tile__lbl{font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);line-height:1.4}
.svc-spec-tile__lbl em{font-style:normal;color:var(--ink-soft);text-transform:none;letter-spacing:.02em;font-weight:500;font-size:.85em}
.svc-spec-tile--alt::before{background:linear-gradient(180deg,var(--forest),var(--forest-deep))}
.svc-spec-tile--alt .svc-spec-tile__num{background:linear-gradient(135deg,var(--forest),var(--forest-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.svc-spec-tile--alt .svc-spec-tile__num small{color:var(--forest);-webkit-text-fill-color:var(--forest)}

@media(max-width:980px){.svc-spec__grid{grid-template-columns:1fr;gap:2rem}.svc-spec__stats{grid-template-columns:repeat(3,1fr);gap:.7rem}}
@media(max-width:680px){.svc-spec__stats{grid-template-columns:1fr;gap:.7rem}.svc-spec-tile{padding:1.2rem 1.4rem}}

.svc-answer{max-width:760px}
.svc-answer__lead{font-size:clamp(1.1rem,1.05rem + .3vw,1.22rem);color:var(--ink-text);line-height:1.7;margin:0;padding-bottom:0;border-bottom:0}
.svc-answer__lead b{font-weight:700}

/* ==========================================================================
   EQUIPMENT SPOTLIGHT — dark band with 3 gear cards
   ========================================================================== */
.svc-gear{padding-block:clamp(3.5rem,7vw,5.5rem);position:relative}
.svc-gear .sec-head{position:relative;z-index:1}

.svc-gear__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;position:relative;z-index:1}
.svc-gear__item{background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md);padding:2.2rem 2rem;transition:border-color .3s;position:relative}
.svc-gear__item:hover{border-color:rgba(255,255,255,.32)}
.svc-gear__ic{display:inline-flex;width:48px;height:48px;border-radius:50%;background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--ember-bright);align-items:center;justify-content:center;margin-bottom:1.4rem;transition:border-color .3s,color .3s}
.svc-gear__item:hover .svc-gear__ic{border-color:rgba(255,255,255,.36)}
.svc-gear__ic svg{width:22px;height:22px}
.svc-gear__item h3{font-family:var(--f-display);font-weight:500;font-size:1.45rem;color:#fff;margin-bottom:.7rem;letter-spacing:-.012em}
.svc-gear__item p{color:rgba(255,255,255,.7);font-size:1rem;line-height:1.7;margin:0}

.svc-gear__cta{position:relative;z-index:1;margin-top:clamp(2.2rem,4vw,3rem);text-align:center}

@media(max-width:980px){.svc-gear__grid{grid-template-columns:1fr;gap:1rem}}

/* Pull-quote — italic serif spotlight between body and Promise section.
   Visual break for the text-heavy single service body. */
/* ── Pull quote — editorial pattern: thin ember hairline + airy italic serif + tracked-out attribution ── */
.svc-pull-section{padding-block:clamp(3.5rem,7vw,5.5rem);background:linear-gradient(180deg,var(--paper),var(--cream));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-pull{max-width:820px;margin:0 auto;text-align:center;position:relative;padding:0 clamp(1rem,3vw,2.4rem)}
.svc-pull::before{content:"";display:block;width:48px;height:1px;background:var(--ember);margin:0 auto 1.8rem;opacity:.7}
.svc-pull__mark{display:none}
.svc-pull p{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.4;color:var(--ink-text);letter-spacing:-.005em;margin:0 0 2rem;position:relative}
.svc-pull__attr{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--f-head);font-weight:600;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted)}
.svc-pull__rule{display:inline-block;width:28px;height:1px;background:var(--ember);border-radius:1px;opacity:.7}

.svc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem 1.4rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.svc-fact{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.svc-fact__lbl{font-family:var(--f-head);font-weight:700;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow-light)}
.svc-fact__val{font-family:var(--f-head);font-weight:700;font-size:.96rem;color:var(--ink-text);letter-spacing:-.005em}

/* The entry-content within service singles needs better heading rhythm + links */
.split__main .entry-content h2{font-family:var(--f-display);font-weight:500;font-size:clamp(1.7rem,2.8vw,2.2rem);margin-top:2.4rem;margin-bottom:1rem;color:var(--ink-text);letter-spacing:-.008em;line-height:1.15}
.split__main .entry-content h2:first-child{margin-top:0}
.split__main .entry-content h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.2rem,1.7vw,1.45rem);margin-top:1.6rem;margin-bottom:.55rem;color:var(--ink-text);letter-spacing:-.005em}

/* Editorial list styling — hairline ember bullet instead of browser dot */
.split__main .entry-content ul{list-style:none;padding:0;margin:1.2rem 0 1.6rem}
.split__main .entry-content ul li{position:relative;padding-left:1.7rem;margin-bottom:.7rem;color:var(--ink-text);line-height:1.7;font-size:1.05rem;max-width:64ch}
.split__main .entry-content ul li::before{content:"";position:absolute;left:0;top:.88em;width:9px;height:1px;background:var(--ember);border-radius:1px}
.split__main .entry-content ul li b{font-weight:600;color:var(--ink-text)}
.split__main .entry-content ul li a{color:var(--ink-text);font-weight:500;text-decoration:none;border-bottom:1px solid var(--ember);padding-bottom:1px;transition:color .2s,border-color .2s}
.split__main .entry-content ul li a:hover{color:var(--ember);border-color:var(--ember-bright)}

.split__main .entry-content a{color:var(--ember);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.split__main .entry-content a:hover{color:var(--ember-2)}

/* ==========================================================================
   CROSS-LINKS — surfaced on single-service / single-area for SEO
   ========================================================================== */
/* ── Cross-links (Full lineup / Coverage) — editorial card grid that matches
   the rest of the site's hairline-border + soft-shadow card system ── */
.xlinks{padding-block:clamp(4rem,8vw,6rem)}
.xlinks .sec-head{margin-bottom:clamp(2.4rem,4vw,3.2rem)}
.xlinks__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
/* Vertical card layout: icon top-left → title → body. Arrow anchored bottom-right
   for the "tap-to-go" affordance without competing with the body width. */
.xlink{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;
  padding:1.9rem 1.9rem 1.6rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  color:var(--ink-text);text-decoration:none;position:relative;
  box-shadow:0 1px 2px rgba(28,29,20,.03), 0 6px 20px rgba(28,29,20,.05);
  transition:transform .3s var(--ease-out),border-color .3s,box-shadow .35s}
.xlink:hover{transform:translateY(-3px);border-color:rgba(28,29,20,.16);box-shadow:0 2px 4px rgba(28,29,20,.04), 0 16px 36px rgba(28,29,20,.08)}
.xlink__ic{width:44px;height:44px;border-radius:50%;background:transparent;color:var(--ember);border:1px solid var(--ember);display:grid;place-items:center;flex:none;transition:background .25s,color .25s}
.xlink:hover .xlink__ic{background:var(--ember);color:#fff}
.xlink__body{display:flex;flex-direction:column;gap:.5rem;width:100%}
.xlink__body b{font-family:var(--f-display);font-weight:500;font-size:1.2rem;color:var(--ink-text);letter-spacing:-.005em;line-height:1.2}
.xlink__body small{color:var(--ink-muted);font-size:1rem;line-height:1.6;padding-right:2rem}
/* Arrow at bottom-right corner — anchors the "tap to read" reading direction */
.xlink__arrow{position:absolute;bottom:1.5rem;right:1.7rem;color:var(--ember);width:22px;height:22px;display:grid;place-items:center;transition:transform .25s}
.xlink:hover .xlink__arrow{transform:translateX(4px)}
@media(max-width:980px){.xlinks__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.xlinks__grid{grid-template-columns:1fr}}

/* ==========================================================================
   ESTIMATOR — multi-step quote form
   Standalone mode (.estimator) and compact embedded mode (.estimator--compact)
   ========================================================================== */
/* Compact embedded mode — used inside the intro right column */
.estimator--compact{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.6rem,2.6vw,2.2rem);position:relative;box-shadow:0 1px 2px rgba(28,29,20,.03), 0 8px 28px rgba(28,29,20,.06)}
.estimator--compact::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ember),var(--copper),var(--forest));border-radius:var(--r-xl) var(--r-xl) 0 0}
.est__head--compact{margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.est__head-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-head);font-weight:800;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ember-2);margin-bottom:.6rem}
.est__head-eyebrow svg{width:14px;height:14px}
.est__head-title{font-family:var(--f-head);font-weight:900;font-size:clamp(1.4rem,2vw,1.7rem);line-height:1.15;color:var(--ink-text);letter-spacing:-.02em;margin:0}

/* Compact form mode — denser layout for the narrower column.
   Strip the .est card chrome so we don't get a card-within-a-card on the intro side. */
.est--compact{max-width:none;margin:0;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.est--compact::before{display:none}
.est--compact .est__progress{font-size:.74rem;margin-bottom:1rem;padding-bottom:.9rem}
.est--compact .est__progress-step{padding:.35rem 0;gap:.35rem}
.est--compact .est__progress-step b{width:24px;height:24px;font-size:.66rem}
.est--compact .est__legend{font-size:1.05rem;margin-bottom:.85rem}
.est--compact .est__opts{grid-template-columns:repeat(2,1fr);gap:.55rem}
.est--compact .est__opt{padding:.85rem;font-size:.88rem;gap:.55rem;flex-direction:row;text-align:left;align-items:center}
.est--compact .est__opt-ic{width:30px;height:30px;flex:none}
.est--compact .est__opt-ic svg{width:16px;height:16px}
.est--compact .est__opt-title{font-size:.88rem;line-height:1.2}
.est--compact .est__opt-sub{display:none}
.est--compact .est__row{grid-template-columns:1fr;gap:.7rem}
.est--compact .est__field span{font-size:.66rem}
.est--compact .est__field input,.est--compact .est__field select,.est--compact .est__field textarea{padding:.7rem .85rem;font-size:.92rem}
.est--compact .est__field textarea{min-height:70px}
.est--compact .est__finally-note{font-size:.78rem}
.est--compact .est__nav{margin-top:1rem;gap:.6rem}
.est--compact .est__nav .btn{padding:.85rem 1.2rem;font-size:.88rem}
.est--compact .est__nav .btn--ember.btn--lg{padding:.95rem 1.4rem;font-size:.92rem}
.est--compact .est__success{padding:1.5rem .5rem}
.est--compact .est__success h3{font-size:1.3rem}
.est--compact .est__success-urgent{padding:1.1rem 1rem;margin-top:1rem}
.est--compact .est__success-call-num{font-size:1.5rem}

@media(max-width:980px){.estimator--compact{margin-top:.5rem}}
@media(max-width:560px){.est--compact .est__opts{grid-template-columns:1fr}}
.est{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--sh-lg);position:relative;overflow:hidden}
.est::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ember),var(--copper),var(--forest))}
.est__progress{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.8rem;padding-bottom:1.4rem;border-bottom:1px dashed var(--line-2)}
.est__progress-step{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);transition:color .25s}
.est__progress-step b{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--line-2);color:var(--ink-soft);align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.02em;font-weight:800;transition:background .25s,color .25s,box-shadow .25s}
.est__progress-step.is-active{color:var(--ember)}
.est__progress-step.is-active b{background:var(--ink-text);color:#fff}
.est__progress-step.is-done{color:var(--forest)}
.est__progress-step.is-done b{background:var(--forest);color:#fff}

.est__step{display:none;border:0;padding:0;margin:0;animation:estFade .4s var(--ease-out)}
.est__step.is-active{display:block}
@keyframes estFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.est__legend{font-family:var(--f-head);font-weight:900;font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.02em;color:var(--ink-text);margin:0 0 1.4rem;padding:0}

/* Step 1 — service options */
.est__opts{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.est__opt{position:relative;display:flex;align-items:flex-start;gap:.7rem;padding:1.05rem;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:#fff;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease-out)}
.est__opt:hover{border-color:rgba(217,119,87,.5);transform:translateY(-2px)}
.est__opt input{position:absolute;opacity:0;pointer-events:none}
.est__opt:has(input:checked){border-color:var(--ink-text);background:var(--cream)}
.est__opt-ic{width:38px;height:38px;border-radius:10px;background:var(--ember-soft);color:var(--ember);display:grid;place-items:center;flex:none;transition:background .25s,color .25s}
.est__opt:has(input:checked) .est__opt-ic{background:var(--ember);color:#fff}
.est__opt-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.est__opt-body b{font-family:var(--f-head);font-weight:800;font-size:.96rem;color:var(--ink-text);letter-spacing:-.005em}
.est__opt-body small{color:var(--ink-muted);font-size:.78rem;line-height:1.4}
@media(max-width:780px){.est__opts{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.est__opts{grid-template-columns:1fr}}

/* Step 2/3 — fields */
.est__row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}
@media(max-width:560px){.est__row{grid-template-columns:1fr}}
.est__field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.8rem}
.est__field>span{font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.est__field input,.est__field select,.est__field textarea{font-family:inherit;font-size:1rem;padding:.85rem 1rem;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:#fff;color:var(--ink-text);transition:border-color .25s,box-shadow .25s;width:100%}
.est__field input:focus,.est__field select:focus,.est__field textarea:focus{outline:none;border-color:var(--ink-text)}
.est__field textarea{resize:vertical;min-height:90px;font-family:inherit}

/* Nav row */
.est__nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.5rem;flex-wrap:wrap}
.est__nav .btn{flex:0 0 auto}
.est__nav-spacer{flex:1}

/* Finally — submit row */
.est__finally{margin-top:.4rem;padding-top:1.4rem;border-top:1px dashed var(--line-2)}
.est__finally-note{display:flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:.86rem;margin:0 0 .9rem}
.est__finally-note svg{color:var(--forest);width:14px;height:14px;flex:none}

/* Success state — hidden by default via [hidden]; JS removes attribute on ?est=ok */
.est__success[hidden]{display:none!important}
.est__success{padding:clamp(2rem,4vw,3rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:estFade .5s var(--ease-out)}
.est__success-lead{color:var(--ink-muted);font-size:1.02rem;margin:0;max-width:48ch}

/* Urgent-call block — visually distinct callout below the standard reply note */
.est__success-urgent{margin-top:1.4rem;padding:1.4rem 1.6rem;background:linear-gradient(160deg,rgba(217,119,87,.08),rgba(187,66,50,.06));border:1px solid rgba(217,119,87,.20);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;gap:.7rem;max-width:520px;width:100%}
.est__success-urgent-eyebrow{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-family:var(--f-head);font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-2)}
.est__success-urgent-eyebrow svg{width:14px;height:14px;color:var(--ember-2)}
.est__success-call{display:inline-flex;flex-direction:column;align-items:center;gap:.35rem;padding:.95rem 2rem;background:linear-gradient(135deg,var(--ember),var(--ember-2));color:#fff!important;border-radius:var(--r-pill);text-decoration:none!important;transition:transform .25s var(--ease-out),box-shadow .3s;box-shadow:0 12px 28px rgba(217,119,87,.36);min-width:240px}
.est__success-call:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(217,119,87,.44);color:#fff!important;text-decoration:none!important}
.est__success-call:focus,.est__success-call:active,.est__success-call:visited{color:#fff!important;text-decoration:none!important}
.est__success-call *{text-decoration:none!important}
.est__success-call-label{font-family:var(--f-head);font-weight:700;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.88)!important;text-decoration:none!important}
.est__success-call-num{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.65rem,3.4vw,2.2rem);line-height:1;letter-spacing:-.015em;color:#fff!important;text-decoration:none!important}
.est__success-urgent-note{margin:0;font-size:.88rem;color:var(--ink-muted);max-width:42ch;line-height:1.5}

/* Submit button — loading state swap. Force single-line layout so the arrow
   icon stays inline with the label even at narrow button widths. */
[data-est-submit]{white-space:nowrap}
[data-est-submit] .est__submit-text,
[data-est-submit] .est__submit-loading{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}
[data-est-submit] .est__submit-loading{display:none}
[data-est-submit].is-loading .est__submit-text{display:none}
[data-est-submit].is-loading .est__submit-loading{display:inline-flex}
[data-est-submit].is-loading{pointer-events:none;opacity:.85}
[data-est-submit] svg{flex:none}
.est__spinner{width:18px;height:18px;animation:estSpin 1s linear infinite}
@keyframes estSpin{to{transform:rotate(360deg)}}

/* Step nav — make Back and Send visually balanced */
.est__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.est__nav .btn{padding:1.1rem 1.8rem;font-size:1rem}
.est__nav .btn--ember.btn--lg{padding:1.2rem 2.2rem;font-size:1.05rem}
/* Back button — clearer border + hover lift, matches the visual weight of Send */
.est__nav [data-est-prev]{
  background:#fff;border:1.5px solid rgba(28,29,20,.16);color:var(--ink-text);
  box-shadow:0 4px 12px rgba(28,29,20,.06);
  white-space:nowrap}
.est__nav [data-est-prev]:hover{
  border-color:var(--ember);color:var(--ember);
  background:#fff;
  box-shadow:0 8px 20px rgba(217,119,87,.18);
  transform:translateY(-2px)}
@media(max-width:560px){.est__nav{flex-direction:column-reverse;align-items:stretch}.est__nav .btn{justify-content:center}}

/* Error message slot — appears below submit row */
.est__error[hidden]{display:none!important}
.est__error{margin-top:1rem;padding:.8rem 1rem;background:rgba(187,66,50,.08);border:1px solid rgba(187,66,50,.28);color:var(--brick-2);border-radius:var(--r-md);font-size:.92rem;font-weight:500;animation:estFade .3s var(--ease-out)}
.est__success-ic{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--forest-deep));color:#fff;display:grid;place-items:center;margin-bottom:.4rem;box-shadow:0 12px 28px rgba(59,72,29,.32)}
.est__success-ic svg{width:32px;height:32px;stroke-width:3}
.est__success h3{font-family:var(--f-head);font-weight:900;font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--ink-text);letter-spacing:-.02em;margin:0}
.est__success p{font-size:1.04rem;color:var(--ink-muted);max-width:46ch;margin:0;line-height:1.65}
.est__success a{color:var(--ember);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ==========================================================================
   PRICING — light cards
   ========================================================================== */
.pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media(max-width:980px){.pricing__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pricing__grid{grid-template-columns:1fr}}
.ptier{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;position:relative;overflow:hidden;box-shadow:var(--sh-sm)}
.ptier::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ember),var(--copper));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.ptier:hover{transform:translateY(-5px);box-shadow:var(--sh-pop);border-color:var(--ember)}
.ptier:hover::before{transform:scaleX(1)}
.ptier__head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.ptier__ic{width:40px;height:40px;border-radius:10px;background:var(--ember-soft);color:var(--ember);display:grid;place-items:center;flex:none}
.ptier__head h3{font-size:1.08rem;color:var(--ink-text);letter-spacing:-.01em}
.ptier__range{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:2.15rem;line-height:1;color:var(--ember);margin-bottom:.75rem;letter-spacing:-.015em}
.ptier__detail{font-size:.95rem;color:var(--ink-muted);line-height:1.6;margin:0}
.pricing__note{margin-top:2.4rem;margin-inline:auto;text-align:center;color:var(--ink-muted);font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;max-width:100%}
.pricing__note-icon{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center}
.pricing__note a{color:var(--ember);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Most popular badge */
.ptier{display:flex;flex-direction:column}
.ptier--popular{border-color:rgba(217,119,87,.42);box-shadow:0 14px 36px rgba(217,119,87,.18),var(--sh-sm);transform:translateY(-4px)}
.ptier--popular::before{transform:scaleX(1)}
.ptier__badge{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;font-family:var(--f-head);font-weight:800;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;padding:.4rem .85rem;border-radius:var(--r-pill);box-shadow:0 8px 18px rgba(217,119,87,.36);white-space:nowrap}

/* What affects the price — expandable accordion */
.pricing__faq{margin-top:2.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}
.pricing__faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.6rem;font-family:var(--f-head);font-weight:700;font-size:1rem;color:var(--ink-text);transition:background .25s}
.pricing__faq summary::-webkit-details-marker{display:none}
.pricing__faq summary:hover{background:var(--paper-muted)}
.pricing__faq summary>span:first-child{display:inline-flex;align-items:center;gap:.6rem}
.pricing__faq summary>span:first-child svg{color:var(--ember);transition:transform .35s var(--ease-out)}
.pricing__faq[open] summary>span:first-child svg{transform:rotate(45deg)}
.pricing__faq-hint{font-family:var(--f-head);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.pricing__faq[open] .pricing__faq-hint{display:none}
.pricing__faq-body{padding:0 1.6rem 1.6rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.pricing__faq-body h4{font-size:.94rem;color:var(--ink-text);margin-bottom:.3rem}
.pricing__faq-body p{font-size:.92rem;color:var(--ink-muted);line-height:1.6;margin:0}
@media(max-width:680px){.pricing__faq-body{grid-template-columns:1fr;gap:1rem}}

/* ==========================================================================
   AREAS — typographic city cards + stylized basin map
   ========================================================================== */
.areas__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.area{position:relative;background:#fff;color:var(--ink-text);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;display:flex;flex-direction:column;box-shadow:var(--sh-sm);
  min-height:300px;isolation:isolate}
.area:hover{transform:translateY(-6px);box-shadow:var(--sh-pop);border-color:var(--ember)}
/* Background media — uses --area-bg variable for uploaded photo, falls back to gradient + texture */
.area__media{position:absolute;inset:0;z-index:0;
  background:linear-gradient(165deg,var(--cream) 0%,var(--sand) 50%,rgba(115,134,58,.18) 100%);
  opacity:.65;
  transition:opacity .4s,transform .8s var(--ease-out)}
.area[style*="--area-bg"] .area__media{background-image:var(--area-bg);background-size:cover;background-position:center;opacity:.32;filter:saturate(.85)}
.area:hover .area__media{opacity:.45;transform:scale(1.04)}
.area__body{position:relative;z-index:1;padding:1.8rem;display:flex;flex-direction:column;gap:.5rem;flex:1;
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.96) 40%,#fff 100%)}
.area__county{font-family:var(--f-head);font-weight:700;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--eyebrow-light);margin-bottom:.2rem}
.area__name{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.05;letter-spacing:-.01em;text-transform:none;color:var(--ink-text);margin-bottom:.5rem}
.area h3.area__name{font-family:var(--f-display);font-weight:500;text-transform:none}
.area p{color:var(--ink-muted);font-size:.95rem;line-height:1.55;flex:1;margin:0}
.area__link{margin-top:.6rem;font-family:var(--f-head);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ember);display:inline-flex;align-items:center;gap:.4rem}
.area__link svg{width:14px;height:14px;transition:transform .25s}
.area:hover .area__link svg{transform:translateX(4px)}

/* Map block */
.areas__map{margin-top:clamp(3rem,5vw,4.5rem);background:transparent;border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(1.8rem,3.5vw,2.6rem)}
.areas__map-head{text-align:center;margin-bottom:1.6rem}
.areas__map-head .eyebrow{justify-content:center}
.areas__map-head h3{margin-top:.4rem;font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--ink-text)}
.areas__map-svg{width:100%;max-width:980px;display:block;margin:0 auto;height:auto}
/* Static halo around major city pins — no animation. */
.map-pin__ring{transform-origin:center;opacity:.7;transform:scale(1)}
.areas__more{margin-top:1.6rem;margin-inline:auto;text-align:center;color:var(--ink-muted);font-size:1.02rem;max-width:100%}
.areas__more b{color:var(--ink-text);font-weight:700}
.areas__more a{color:var(--ember);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

@media(max-width:880px){.areas__grid{grid-template-columns:1fr}}

/* ==========================================================================
   REVIEWS — Tidii-style: forest-deep band, centered head, carousel,
   italic serif quotes, arrows + dots + autoplay
   ========================================================================== */
.reviews{position:relative}
.rev__rating-bar{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.4rem;padding:.7rem 1.4rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);background:rgba(255,255,255,.02);color:rgba(255,255,255,.88);font-size:.94rem;font-family:var(--f-head);font-weight:500;letter-spacing:.02em}
.rev__rating-bar .stars{color:var(--ember-bright);font-size:1.15rem;letter-spacing:3px}
.rev__rating-bar b{color:#fff;font-weight:600;font-family:var(--f-display);font-style:italic;font-size:1.05rem}

/* Carousel container */
.rev__carousel{position:relative;max-width:1280px;margin:clamp(2rem,4vw,3rem) auto 0}
.rev__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:48px;height:48px;border-radius:50%;
  background:transparent;border:1px solid rgba(255,255,255,.22);
  color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:border-color .25s,color .25s,opacity .25s}
.rev__arrow:hover{border-color:#fff}
.rev__arrow:disabled{opacity:.35;cursor:not-allowed}
.rev__arrow svg{width:22px;height:22px}
.rev__arrow--prev{left:-12px}
.rev__arrow--next{right:-12px}
@media(max-width:1380px){.rev__arrow--prev{left:.5rem}.rev__arrow--next{right:.5rem}}
@media(max-width:760px){.rev__arrow{width:44px;height:44px}.rev__arrow svg{width:18px;height:18px}}

/* Track — horizontal scroll-snap */
.rev__track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:1rem .5rem;margin-inline:-.5rem;-webkit-overflow-scrolling:touch}
.rev__track::-webkit-scrollbar{display:none}
.rev__track{scrollbar-width:none}

/* Review card — editorial frame with subtle warm glow at top, inset highlight
   on the upper border, and a faint inner gradient for richness. */
.rquote{flex:0 0 calc((100% - 2.8rem) / 3);min-width:280px;scroll-snap-align:start;
  background:
    radial-gradient(ellipse 100% 60% at 50% 0%,rgba(217,119,87,.07),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01) 60%,transparent 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);
  padding:2.6rem 2.2rem 2rem;
  display:flex;flex-direction:column;
  color:#fff;position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .35s,transform .4s var(--ease-out),box-shadow .35s}
.rquote:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 18px 40px rgba(10,11,7,.32)}
/* Decorative pre-quote ornament — small ember hairline above the stars */
.rquote::before{content:"";display:block;width:32px;height:1px;background:var(--ember-bright);opacity:.7;margin-bottom:1.2rem}
.rquote__stars{color:var(--ember-bright);letter-spacing:3px;font-size:1rem;margin-bottom:.5rem}
.rquote__mark{display:none}
.rquote blockquote{margin:0;flex:1}
.rquote blockquote p{margin:.9rem 0 1.8rem;color:rgba(255,255,255,.94);font-size:1.15rem;line-height:1.65;font-family:var(--f-display);font-style:italic;font-weight:400;letter-spacing:-.005em}
.rquote__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.10);position:relative}
/* Subtle ember dot at the start of the divider — editorial flourish */
.rquote__foot::before{content:"";position:absolute;top:-3px;left:0;width:5px;height:5px;border-radius:50%;background:var(--ember-bright);opacity:.85}
.rquote__who{display:flex;align-items:center;gap:.9rem}
.rquote__av{width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.10),rgba(255,255,255,.03) 70%);
  border:1px solid rgba(255,255,255,.22);color:#fff;display:grid;place-items:center;
  font-family:var(--f-display);font-weight:500;font-style:italic;flex:none;font-size:1.05rem;letter-spacing:-.01em}
.rquote__who b{font-size:.98rem;color:#fff;font-weight:500;letter-spacing:0;display:block;font-family:var(--f-display)}
.rquote__who small{display:block;color:rgba(255,255,255,.55);font-size:.78rem;margin-top:2px;letter-spacing:.02em}
.rquote__verified{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--f-head);font-weight:600;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.rquote__verified svg{width:11px;height:11px;color:var(--ember-bright)}

@media(max-width:980px){.rquote{flex:0 0 calc((100% - 1.4rem) / 2);min-width:280px}}
@media(max-width:680px){.rquote{flex:0 0 92%;min-width:0}}

/* Dots */
.rev__dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.6rem}
.rev__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.20);cursor:pointer;transition:background .25s,width .25s;border:0;padding:0}
.rev__dot:hover{background:rgba(255,255,255,.45)}
.rev__dot.is-active{width:32px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--ember),var(--ember-bright))}

.rev__cta{margin-top:3rem;text-align:center}
.rev__cta .btn{box-shadow:0 14px 36px rgba(217,119,87,.36), inset 0 1px 0 rgba(255,255,255,.18)}

/* ==========================================================================
   FAQ — light, grouped, with copper left bar on open items
   ========================================================================== */
.faq__wrap{max-width:920px;margin-inline:auto}
.faq__group{margin-bottom:clamp(2rem,4vw,3rem)}
.faq__group-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:2px solid var(--ember-soft)}
.faq__group-ic{display:inline-flex;width:36px;height:36px;border-radius:10px;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;flex:none}
.faq__group-title{font-family:var(--f-head);font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:var(--ink-text);text-transform:uppercase}
.faq__items{display:flex;flex-direction:column}
.faq details{border-bottom:1px solid var(--line-2);padding:.4rem 0 .4rem 1.2rem;transition:padding .3s,border-color .3s;position:relative}
.faq details::before{content:"";position:absolute;left:0;top:1rem;bottom:1rem;width:3px;background:transparent;border-radius:2px;transition:background .35s var(--ease-out)}
.faq details[open]{padding-bottom:1.2rem}
.faq details[open]::before{background:linear-gradient(180deg,var(--ember),var(--copper))}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;
  font-family:var(--f-head);font-weight:700;font-size:clamp(1.05rem,1rem + .3vw,1.22rem);color:var(--ink-text);
  padding:1.2rem 0;list-style:none;letter-spacing:-.01em;transition:color .25s}
.faq summary:hover{color:var(--ember)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ember);
  display:grid;place-items:center;color:var(--ember);transition:transform .35s var(--ease-out),background .3s,color .3s}
.faq details[open] summary .pm{transform:rotate(135deg);background:var(--ember);color:#fff}
.faq summary .pm svg{width:15px;height:15px}
.faq__a{color:var(--ink-muted);padding:0 0 1.2rem;max-width:72ch;font-size:1.04rem;line-height:1.75;animation:faqFade .5s var(--ease-out)}
.faq__a strong{color:var(--ink-text);font-weight:700}
@keyframes faqFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq__a a{color:var(--ember);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.faq__more{margin-top:1.4rem;margin-inline:auto;text-align:center;color:var(--ink-muted);font-size:1rem;max-width:100%}
.faq__more a{color:var(--ember);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   FINAL CTA — same forest-deep gradient as the reviews section, for visual continuity
   ========================================================================== */
/* ============================================================================
   FINAL CTA — layered forest gradient with warm ember/copper halos.
   Dark backdrop makes the white action card sing.
   ============================================================================ */
.cta{position:relative;color:var(--on-dark);overflow:hidden;
  background:
    radial-gradient(ellipse 60% 70% at 100% 0%,rgba(217,119,87,.18),transparent 60%),
    radial-gradient(ellipse 55% 60% at 0% 100%,rgba(200,151,92,.12),transparent 65%),
    radial-gradient(ellipse 100% 50% at 50% 0%,rgba(146,169,81,.10),transparent 70%),
    linear-gradient(180deg,#4A5B26 0%,var(--forest-deep) 38%,#1F2810 100%)}
.cta .wrap{padding-block:clamp(4.5rem,9vw,7rem);display:grid;grid-template-columns:1.3fr auto;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative}
.cta .badge{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-head);font-weight:700;font-size:.78rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--ember-bright);margin-bottom:1.4rem}
.cta .badge .pulse{width:9px;height:9px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px rgba(217,119,87,.22)}
.cta h2{color:#fff;max-width:20ch;letter-spacing:-.012em}
.cta p{margin-top:1.3rem;color:rgba(255,255,255,.78);max-width:50ch;font-size:var(--lead);line-height:1.55}
.cta__main{display:flex;flex-direction:column}

/* ── Trust strip — dark-glass pills ── */
.cta__trust{display:flex;flex-wrap:wrap;gap:.5rem .65rem;margin-top:1.8rem;list-style:none;padding:0}
.cta__trust-item{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:var(--r-pill);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  font-family:var(--f-head);font-weight:600;font-size:.78rem;color:rgba(255,255,255,.92);letter-spacing:.01em;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cta__trust-item b{font-family:var(--f-display);font-style:italic;font-weight:600;color:var(--ember-bright);font-size:.92rem;letter-spacing:-.01em}
.cta__trust-ic{display:inline-flex;color:var(--ember-bright);width:14px;height:14px}
.cta__trust-ic svg{width:14px;height:14px}

/* ── Response time — "live status" pill, ember-tinted for warmth on the green ── */
.cta__response{margin-top:1.6rem;display:inline-flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.88);font-family:var(--f-head);font-weight:600;font-size:.84rem;letter-spacing:.04em;align-self:flex-start;padding:.5rem .95rem;border-radius:var(--r-pill);background:rgba(217,119,87,.14);border:1px solid rgba(217,119,87,.32)}
.cta__response svg{color:var(--ember-bright);width:14px;height:14px}
.cta__response-dot{width:8px;height:8px;border-radius:50%;background:var(--ember-bright);box-shadow:0 0 0 0 rgba(217,119,87,.6);animation:ctaPulse 2.2s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(217,119,87,.55)}50%{box-shadow:0 0 0 8px rgba(217,119,87,0)}}

/* ── Action card — white panel wrapping phone + CTA + alt link ── */
.cta__action-card{display:flex;flex-direction:column;gap:1.3rem;min-width:340px;
  padding:1.8rem 1.7rem;
  background:#fff;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-xl);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 2px 6px rgba(0,0,0,.18),
    0 30px 70px rgba(0,0,0,.28),
    0 0 80px rgba(217,119,87,.18),
    inset 0 1px 0 rgba(255,255,255,.9);
  position:relative}
/* Hairline ember accent at the top of the action card */
.cta__action-card::before{content:"";position:absolute;top:0;left:24px;right:24px;height:2px;background:linear-gradient(90deg,transparent,var(--ember),transparent);border-radius:2px;opacity:.8}

.cta__action-card .btn{justify-content:center;font-size:1.02rem;padding:1.2rem 2.2rem;width:100%}

/* ── Phone (the hero element) ── */
.cta__phone{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;
  color:var(--ink-text);text-decoration:none;line-height:1;
  padding:1.5rem 1.8rem 1.6rem;border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--cream),#F0E8D6);
  border:1px solid rgba(28,29,20,.06);
  transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}
.cta__phone:hover{transform:translateY(-2px);border-color:rgba(217,119,87,.4);box-shadow:0 12px 28px rgba(28,29,20,.08)}
.cta__phone-label{font-family:var(--f-head);font-weight:600;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-muted)}
.cta__phone-num{font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(2.2rem,4.2vw,2.9rem);letter-spacing:-.02em;line-height:1;color:var(--ink-text)}
.cta__phone-arrow{position:absolute;top:1rem;right:1rem;width:28px;height:28px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;transition:transform .3s var(--ease-out)}
.cta__phone-arrow svg{width:12px;height:12px;transform:rotate(-45deg);transition:transform .3s}
.cta__phone:hover .cta__phone-arrow{transform:translate(2px,-2px)}

/* ── "or" divider between phone and quote button ── */
.cta__action-or{display:flex;align-items:center;gap:.7rem;color:var(--ink-soft);font-family:var(--f-head);font-weight:600;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;margin:-.2rem 0}
.cta__action-or::before,.cta__action-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* ── Alt action link (text us) ── */
.cta__action-alt{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:var(--f-head);font-weight:500;font-size:.82rem;color:var(--ink-muted);text-align:center;margin-top:-.2rem;transition:color .2s}
.cta__action-alt:hover{color:var(--ember)}
.cta__action-alt svg{width:12px;height:12px;color:var(--ember)}
@media(max-width:840px){
  .cta .wrap{grid-template-columns:1fr}
  .cta__action-card{min-width:0}
  .cta__trust{gap:.4rem .5rem}
  .cta__trust-item{font-size:.74rem;padding:.45rem .75rem}
}

/* ==========================================================================
   FOOTER — light/white surface, dark text
   ========================================================================== */
.ftr{background:var(--cream);color:var(--ink-muted);padding-block:clamp(4.5rem,7vw,6rem) 0;border-top:1px solid var(--line)}
/* Breathing room between the brand columns (which include the GBP badge) and
   the white bottom strip. Padding on the inner wrap rather than .ftr so it
   actually sits ABOVE .ftr__btm instead of below it. */
.ftr>.wrap{padding-block-end:clamp(3rem,5vw,4.5rem)}
.ftr__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.8rem}
.brand--ftr{margin-bottom:1.2rem;display:inline-flex}
.brand--ftr .brand__logo{height:88px;width:auto;filter:none;opacity:1}
.ftr__brand p{font-size:.95rem;max-width:34ch;line-height:1.7;color:var(--ink-muted)}
.ftr h4{font-family:var(--f-head);font-weight:800;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ember);margin-bottom:1.2rem}
.ftr ul{list-style:none;display:grid;gap:.7rem}
.ftr li a{font-size:.95rem;color:var(--ink-text);font-weight:500;transition:color .2s,padding-left .25s}
.ftr li a:hover{color:var(--ember);padding-left:6px}
.ftr__contact a{color:var(--ink-text);font-weight:600;transition:color .2s}
.ftr__contact a:hover{color:var(--ember)}
.ftr__phone{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.6rem 1rem .6rem .7rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--sh-sm);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s var(--ease-out)}
.ftr__phone:hover{border-color:var(--ember);box-shadow:var(--sh-md);transform:translateY(-2px)}
.ftr__phone-ic{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;display:grid;place-items:center;flex:none}
.ftr__phone-ic svg{width:16px;height:16px;color:#fff}
.ftr__phone-text{display:flex;flex-direction:column;gap:1px;line-height:1}
.ftr__phone-label{font-family:var(--f-head);font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.ftr__phone-num{font-family:var(--f-head);font-weight:800;font-size:1.02rem;color:var(--ink-text);letter-spacing:-.005em}
.ftr__line{display:flex;gap:.55rem;align-items:center;margin-bottom:.7rem;font-size:.94rem;color:var(--ink-text)}
.ftr__line svg{width:16px;height:16px;color:var(--ember);flex:none}
.ftr__hours{margin-top:.7rem;color:var(--ink-soft);font-size:.86rem}
.ftr__gbp{display:inline-flex;align-items:center;gap:.65rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:.5rem .9rem .5rem .6rem;margin-top:1rem;box-shadow:var(--sh-sm);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s var(--ease-out)}
.ftr__gbp:hover{border-color:var(--ember);box-shadow:var(--sh-md);transform:translateY(-2px)}
.ftr__gbp-ic{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--ember-bright),var(--copper-bright));color:#fff;display:grid;place-items:center;flex:none}
.ftr__gbp-ic svg{width:14px;height:14px;color:#fff}
.ftr__gbp-text{display:flex;flex-direction:column;line-height:1.05}
.ftr__gbp-text b{color:var(--ink-text);font-family:var(--f-head);font-weight:800;font-size:.92rem}
.ftr__gbp-text small{color:var(--ink-soft);font-size:.7rem;letter-spacing:.05em;margin-top:2px}
/* Bottom strip — thin keyline below the white footer */
.ftr__btm{background:#fff;color:var(--ink-muted);border-top:1px solid var(--line);margin-top:0;padding-block:1.2rem}
.ftr__btm-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:center;font-size:.84rem;color:var(--ink-muted)}
.ftr__btm-copy{font-family:var(--f-head);font-weight:600;color:var(--ink-muted);letter-spacing:-.005em;justify-self:start}
.ftr__btm a{color:var(--ember);transition:color .2s;font-weight:700}
.ftr__btm a:hover{color:var(--ember-2)}
.ftr ul.ftr__legal{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.4rem;list-style:none;margin:0;padding:0;justify-self:center;align-items:center}
.ftr ul.ftr__legal li{margin:0;padding:0}
.ftr ul.ftr__legal a{color:var(--ink-muted);font-weight:600;text-decoration:none;transition:color .2s,padding-left 0s}
.ftr ul.ftr__legal a:hover{color:var(--ember);padding-left:0}
.ftr__credit{justify-self:end;color:var(--ink-soft);font-family:var(--f-head);font-weight:500}
.ftr__credit b{color:var(--ember);font-weight:800}
.ftr__credit a{transition:color .2s}
.ftr__credit a:hover b{color:var(--ember-2)}
@media(max-width:780px){.ftr__btm-inner{grid-template-columns:1fr;gap:.7rem;text-align:center}.ftr__btm-copy,.ftr__credit{justify-self:center}.ftr ul.ftr__legal{justify-self:center}}
@media(max-width:880px){.ftr__grid{grid-template-columns:1fr 1fr}.ftr__brand{grid-column:1/-1}}
@media(max-width:520px){.ftr__grid{grid-template-columns:1fr}}

/* ===== Mobile callbar — Call · Text · Quote ===== */
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:130;background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);border-top:1px solid var(--line);
  padding:.55rem .55rem calc(.55rem + env(safe-area-inset-bottom,0px));
  gap:.45rem;grid-template-columns:auto auto 1fr;box-shadow:0 -8px 24px rgba(28,29,20,.06)}
.callbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  font-family:var(--f-head);font-weight:700;font-size:.88rem;letter-spacing:.005em;
  padding:.85rem 1rem;border-radius:var(--r-pill);transition:background .25s,color .25s,transform .25s var(--ease-out);white-space:nowrap}
.callbar__btn svg{width:18px;height:18px;flex:none}
.callbar__btn--call{background:rgba(28,29,20,.06);color:var(--ink-text)}
.callbar__btn--call:hover{background:rgba(28,29,20,.10)}
.callbar__btn--text{background:var(--ember-soft);color:var(--ember-2);border:1px solid rgba(217,119,87,.18)}
.callbar__btn--text:hover{background:rgba(217,119,87,.22)}
.callbar__btn--quote{background:linear-gradient(135deg,var(--ember),var(--ember-2));color:#fff;font-size:.92rem;box-shadow:0 6px 16px rgba(217,119,87,.32)}
.callbar__btn--quote:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(217,119,87,.4)}
@media(max-width:740px){.callbar{display:grid}body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}}
@media(max-width:420px){.callbar__btn--call span,.callbar__btn--text span{display:none}.callbar__btn--call,.callbar__btn--text{padding:.85rem;width:46px;height:46px}}

/* ==========================================================================
   ABOUT — Why-choose us cards (3-up on forest-deep band)
   ========================================================================== */
.about-why .sec-head{margin-bottom:clamp(2.6rem,5vw,3.8rem)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.why-card{background:#fff;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 22px 50px rgba(0,0,0,.22);transition:transform .4s var(--ease-out),box-shadow .4s}
.why-card:hover{transform:translateY(-5px);box-shadow:0 32px 70px rgba(0,0,0,.34)}
.why-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,var(--cream) 0%,var(--sand) 100%)}
.why-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.why-card:hover .why-card__media img{transform:scale(1.04)}
.why-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;background:
  radial-gradient(80% 60% at 30% 30%,rgba(217,119,87,.18),transparent 60%),
  radial-gradient(70% 60% at 80% 80%,rgba(115,134,58,.20),transparent 60%),
  linear-gradient(160deg,var(--cream) 0%,var(--sand) 100%)}
.why-card__placeholder-ic{display:inline-flex;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.7);color:var(--ember);align-items:center;justify-content:center;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(217,119,87,.14)}
.why-card__placeholder-ic svg{width:60px;height:60px}
.why-card__num{position:absolute;top:1rem;right:1rem;z-index:2;
  font-family:var(--f-display);font-size:1.4rem;color:#fff;
  background:rgba(18,19,14,.55);backdrop-filter:blur(10px);
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.18)}
.why-card__body{padding:1.8rem 1.8rem 2rem;display:flex;flex-direction:column;flex:1;color:var(--ink-text)}
.why-card__ic{display:inline-flex;width:44px;height:44px;border-radius:12px;background:var(--ember-soft);color:var(--ember);align-items:center;justify-content:center;margin-bottom:.9rem;transition:transform .4s var(--ease-out),background .35s,color .35s}
.why-card:hover .why-card__ic{transform:rotate(-6deg) scale(1.06);background:var(--ember);color:#fff}
.why-card__title{font-family:var(--f-head);font-weight:800;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink-text);margin-bottom:.7rem}
.why-card__body-text{font-size:.96rem;color:var(--ink-muted);line-height:1.7;margin:0}
@media(max-width:1080px){.why-grid{grid-template-columns:1fr;gap:1.6rem}.why-card{flex-direction:row}.why-card__media{flex:0 0 38%;aspect-ratio:auto}.why-card__body{padding:1.6rem 1.8rem}}
@media(max-width:680px){.why-card{flex-direction:column}.why-card__media{flex:none;aspect-ratio:16/10}}

/* ==========================================================================
   INTERNAL TEMPLATES
   ========================================================================== */
.crumbs{padding:1.2rem 0;font-size:.85rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0}
.crumbs li{display:flex;align-items:center;gap:.4rem;color:var(--ink-muted)}
.crumbs a{color:var(--ember)}
.crumbs a:hover{color:var(--ember-2);text-decoration:underline}
.crumbs .sep{opacity:.5;display:inline-flex}

/* ── Interior hero — bg image fully visible with forest-tinted gradient overlay
   so headline + meta stay readable on any photo. Matches the homepage's
   forest moments (reviews, final CTA). Warm halos on top for tone. ── */
.iher{position:relative;background:var(--forest-deep);color:var(--on-dark);overflow:hidden;isolation:isolate;padding-block:clamp(5rem,9vw,7.5rem)}
.iher__bgimg{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;opacity:1}
/* Forest-tinted overlay — diagonal gradient from solid forest-deep at top-left
   to mostly-transparent at bottom-right. Keeps the text area (top-left) readable
   while letting the photo show through at the bottom-right corner. */
.iher::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(135deg,
    rgba(31,40,16,.97) 0%,
    rgba(31,40,16,.88) 28%,
    rgba(31,40,16,.70) 60%,
    rgba(31,40,16,.40) 100%)}
/* Warm halo accents on top of overlay */
.iher::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(55% 55% at 100% 0%,rgba(217,119,87,.18),transparent 55%),
    radial-gradient(50% 50% at 0% 100%,rgba(200,151,92,.10),transparent 60%)}
/* Solid forest fallback when no bg image — same gradient as .sec-forest for full consistency */
.iher:not(:has(.iher__bgimg))::before{background:linear-gradient(180deg,#3D4A1F 0%,var(--forest-deep) 45%,#2A3414 100%)}
.iher__tag{display:inline-flex;align-items:center;gap:.5rem;background:rgba(217,119,87,.18);color:var(--ember-bright);padding:.5rem .95rem;border-radius:var(--r-pill);font-family:var(--f-head);font-weight:700;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.2rem;border:1px solid rgba(217,119,87,.3)}
.iher h1{color:#fff;max-width:20ch}
.iher__sub{margin-top:1.4rem;max-width:64ch;color:var(--on-dark-muted);font-size:clamp(1.05rem,1rem + .3vw,1.18rem);line-height:1.65}
.iher__meta{margin-top:1.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;color:var(--on-dark-muted);font-size:.94rem}
.iher__meta .stars{color:var(--ember-bright)}
.iher__meta .dot{width:5px;height:5px;border-radius:50%;background:var(--ember);opacity:.6}
.iher__cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.85rem}

.process{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
.process__step{background:transparent;border-top:1px solid var(--line-2);padding:2rem 0;position:relative}
.sec-dark .process__step{border-top-color:rgba(255,255,255,.14)}
.process__n{display:block;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:2.4rem;color:var(--ember);line-height:1;margin-bottom:1rem;background:none;box-shadow:none;width:auto;height:auto;border-radius:0;letter-spacing:-.015em}
.process__step h3{font-size:1.4rem;color:var(--ink-text);margin-bottom:.6rem;letter-spacing:-.012em;font-weight:500}
.sec-dark .process__step h3{color:#fff}
.process__step p{color:var(--ink-muted);font-size:1.02rem;line-height:1.7;margin:0;max-width:36ch}
.sec-dark .process__step p{color:var(--on-dark-muted)}

/* ── .process--cards — elevated card variant for "What you get" promise items
   (unordered benefits with check icons). Used on every service page so this
   pattern stays consistent across the site. ── */
.process--cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3rem}
.process--cards .process__step{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:1.9rem 1.7rem;
  box-shadow:0 1px 2px rgba(28,29,20,.03), 0 6px 20px rgba(28,29,20,.05);
  transition:transform .35s var(--ease-out), border-color .3s, box-shadow .35s;
}
.process--cards .process__step:hover{
  transform:translateY(-3px);
  border-color:rgba(28,29,20,.16);
  box-shadow:0 2px 4px rgba(28,29,20,.04), 0 14px 32px rgba(28,29,20,.08);
}
/* Check icon — circle with ember background (overrides the italic numeral default) */
.process--cards .process__n{
  display:inline-grid;place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:var(--ember);
  color:#fff;
  font-style:normal;font-size:0;font-weight:normal;
  margin-bottom:1.2rem;
  letter-spacing:0;
  box-shadow:0 4px 12px rgba(217,119,87,.28);
}
.process--cards .process__n svg{width:18px;height:18px;color:#fff;stroke-width:2.5}
.process--cards .process__step h3{font-size:1.25rem;margin-bottom:.55rem;line-height:1.2}
.process--cards .process__step p{font-size:1rem;line-height:1.65;max-width:100%}
/* Dark-section adaptation if ever used inside .sec-dark (defensive) */
.sec-dark .process--cards .process__step{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10)}
.sec-dark .process--cards .process__step h3{color:#fff}
.sec-dark .process--cards .process__step p{color:var(--on-dark-muted)}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--r-lg);transition:transform .6s var(--ease-out);box-shadow:var(--sh-md)}
.gallery img:hover{transform:scale(1.03)}

.split{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
.split__main h2{font-family:var(--f-display);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.4rem);margin-bottom:1rem;color:var(--ink-text);letter-spacing:-.008em}
.split__main p,.split__main li{font-size:1.05rem;color:var(--ink-muted);line-height:1.75}
.split__main p{max-width:64ch}
.split__main p+p,.split__main p+ul,.split__main ul+p{margin-top:1.2rem}
/* List styling lives under .entry-content (above) — no padding-left here */
/* ── Sticky aside — forest gradient with topographic SVG pattern overlay.
   Matches the homepage's forest palette and adds a subtle "map-like" texture. ── */
.split__aside{
  position:sticky;top:calc(var(--hdr-h) + 16px);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--r-xl);
  padding:2rem 1.9rem;
  overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse 110% 50% at 50% 0%,rgba(217,119,87,.14),transparent 65%),
    radial-gradient(ellipse 80% 60% at 50% 100%,rgba(10,11,7,.4),transparent 70%),
    linear-gradient(180deg,#3D4A1F 0%,var(--forest-deep) 50%,#2A3414 100%);
  box-shadow:
    0 2px 6px rgba(0,0,0,.18),
    0 20px 50px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}
/* Subtle topographic contour pattern — adds map-like texture without noise */
.split__aside::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320' fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cellipse cx='160' cy='160' rx='150' ry='110'/%3E%3Cellipse cx='160' cy='160' rx='115' ry='80'/%3E%3Cellipse cx='160' cy='160' rx='80' ry='55'/%3E%3Cellipse cx='160' cy='160' rx='45' ry='28'/%3E%3Cellipse cx='40' cy='40' rx='42' ry='26'/%3E%3Cellipse cx='40' cy='40' rx='22' ry='13'/%3E%3Cellipse cx='280' cy='280' rx='42' ry='26'/%3E%3Cellipse cx='280' cy='280' rx='22' ry='13'/%3E%3C/svg%3E");
  background-size:320px 320px;background-repeat:repeat;
  opacity:.055;mix-blend-mode:screen}
.split__aside > *{position:relative;z-index:1}
.split__aside h3{color:var(--ember-bright);text-transform:uppercase;letter-spacing:.22em;margin-bottom:1.3rem;font-size:.78rem;font-weight:700;font-family:var(--f-head)}
.split__aside p{color:rgba(255,255,255,.82);font-size:.98rem;line-height:1.6}
.split__aside .btn{margin-top:.85rem;width:100%;justify-content:center}

/* Phone card — visually distinct from the primary ember button */
.split__aside-phone{display:flex;align-items:center;gap:.7rem;margin-top:.85rem;padding:.85rem 1rem .85rem .7rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);transition:background .25s,border-color .25s,transform .25s var(--ease-out);text-decoration:none;color:#fff}
.split__aside-phone:hover{background:rgba(255,255,255,.10);border-color:var(--ember-bright);transform:translateY(-2px);color:#fff}
.split__aside-phone-ic{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--ember),var(--copper));color:#fff;display:grid;place-items:center;flex:none;transition:transform .25s var(--ease-out)}
.split__aside-phone:hover .split__aside-phone-ic{transform:rotate(-8deg)}
.split__aside-phone-text{display:flex;flex-direction:column;gap:2px;line-height:1}
.split__aside-phone-label{font-family:var(--f-head);font-weight:700;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.split__aside-phone-num{font-family:var(--f-head);font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:-.005em}

/* Text us — tertiary text-link style, never competes with the buttons above */
.split__aside-sms{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;padding:.5rem 0;color:var(--ember-bright);font-family:var(--f-head);font-weight:700;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;transition:color .25s,gap .25s var(--ease-out);text-decoration:none}
.split__aside-sms:hover{color:#fff;gap:.6rem}
.split__aside-sms svg{flex:none;width:14px;height:14px}
.split__aside-sms svg:last-child{margin-left:auto}

.split__aside-rating{margin-top:1.3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.10);display:flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.85);font-size:.92rem}
.split__aside-rating .stars{color:var(--ember-bright);letter-spacing:1.5px}
.split__aside-rating b{color:#fff;font-weight:700}
.split__aside-rating small{color:var(--on-dark-muted);font-size:.78rem}
@media(max-width:980px){.split{grid-template-columns:1fr}.split__aside{position:static}}

.methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.method{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;color:var(--ink-text);transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;box-shadow:var(--sh-sm)}
.method:hover{transform:translateY(-5px);box-shadow:var(--sh-pop);border-color:var(--ember)}
.method__ic{width:56px;height:56px;border-radius:14px;background:var(--ember-soft);color:var(--ember);display:grid;place-items:center;margin-bottom:1.2rem;transition:transform .35s var(--ease-out),background .35s,color .35s}
.method:hover .method__ic{transform:rotate(-6deg) scale(1.06);background:var(--ember);color:#fff}
.method__ic svg{width:26px;height:26px}
.method h3{font-size:1.1rem;margin-bottom:.5rem;letter-spacing:-.01em}
.method p{font-size:.94rem;color:var(--ink-muted);line-height:1.6;margin:0}
.method a{color:var(--ember);font-weight:600}

.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;margin-bottom:2.2rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;box-shadow:var(--sh-sm)}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-pop);border-color:var(--ember)}
.pcard__img{aspect-ratio:16/10;object-fit:cover;background:var(--cream);transition:transform .8s var(--ease-out)}
.pcard:hover .pcard__img{transform:scale(1.04)}
.pcard__body{padding:1.6rem;display:flex;flex-direction:column;flex:1;gap:.55rem}
.pcard__cat{font-family:var(--f-head);font-weight:800;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ember)}
.pcard__title{font-size:1.25rem;line-height:1.3;color:var(--ink-text);letter-spacing:-.01em}
.pcard__title a{color:inherit;transition:color .2s}.pcard__title a:hover{color:var(--ember)}
.pcard__excerpt{color:var(--ink-muted);font-size:.95rem;flex:1;line-height:1.65}
.pcard__meta{font-size:.8rem;color:var(--ink-soft);margin-top:.5rem}

.article{max-width:780px;margin:0 auto}
.article h1{font-size:clamp(2.2rem,4.6vw,3.2rem);margin-bottom:.5rem;color:var(--ink-text);letter-spacing:-.025em}
.sec-dark .article h1{color:#fff}
.article__meta{color:var(--ink-soft);font-size:.9rem;margin-bottom:2rem}
.article .entry-content > * + *{margin-top:1.2rem}
.article .entry-content h2{font-size:1.75rem;margin-top:2.2rem;letter-spacing:-.02em}
.article .entry-content h3{font-size:1.3rem;margin-top:1.8rem}
.article .entry-content a{color:var(--ember);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article .entry-content blockquote{border-left:3px solid var(--ember);padding-left:1.4rem;font-style:italic;color:var(--ink-text)}

.nav-links,.pagination{display:flex;gap:.4rem;justify-content:center;margin:2.5rem 0}
.nav-links a,.nav-links span,.pagination a,.pagination span{padding:.7rem 1.1rem;border-radius:var(--r-pill);border:1px solid var(--line-2);font-family:var(--f-head);font-weight:600;transition:background .25s,border-color .25s,color .25s}
.nav-links a:hover,.pagination a:hover{background:var(--ember);color:#fff;border-color:var(--ember)}
.nav-links .current,.pagination .current{background:var(--ember);color:#fff;border-color:var(--ember)}

.searchform{display:flex;gap:.6rem;max-width:540px}
.searchform input[type="search"]{flex:1;padding:.95rem 1.2rem;border-radius:var(--r-pill);border:1px solid var(--line-2);background:#fff;color:var(--ink-text);font:inherit}
.searchform button{padding:.95rem 1.6rem;border-radius:var(--r-pill);background:var(--ember);color:#fff;font-family:var(--f-head);font-weight:700;transition:background .25s}
.searchform button:hover{background:var(--ember-2)}

.empty{padding:clamp(4rem,8vw,8rem) 0;text-align:center}
.empty h1{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(3.5rem,10vw,7rem);color:var(--ember);line-height:1;letter-spacing:-.02em}
.empty p{margin:1.2rem auto 2.2rem;max-width:50ch;color:var(--on-dark-muted);line-height:1.65}
.empty p a{color:var(--ember-bright)}

/* Logo treatment: your logo has intentional copper + green — keep colors intact */
.brand__logo--light{filter:none}
.brand--ftr .brand__logo{filter:none}

/* ==========================================================================
   MOBILE TUNING
   ========================================================================== */
@media(max-width:640px){
  .hero{padding-block:clamp(3.5rem,9vw,5.5rem) clamp(5rem,12vw,7.5rem)}
  .hero h1{font-size:clamp(2.4rem,11vw,3.8rem);max-width:18ch}
  .hero__sub{font-size:1.05rem;margin-top:1.2rem}
  .hero__cta{margin-top:1.7rem;gap:.65rem}
  .hero__cta .btn{flex:1;justify-content:center;min-width:0;padding:1rem 1.2rem;font-size:.95rem}
  .hero__trust{margin-top:1.8rem;font-size:.85rem;gap:.55rem 1rem}
  .hero__trust .dot{display:none}
  .hero__trust>span{flex:1 1 100%}
  .stats__grid{padding-block:1.5rem}
  .stat__n{font-size:1.7rem}
  .stat__l{font-size:.66rem;letter-spacing:.05em}
}
@media(max-width:420px){
  .hero h1{font-size:2.3rem;line-height:.96}
  .iher h1{font-size:2.1rem}
  .sec-head h2{font-size:1.9rem}
}

/* ===== Reduced motion ===== */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal,[data-stagger]>*,.hero h1 .w{opacity:1!important;transform:none!important;filter:none!important}
}
