
/* ═══════════════════════════════════════════════════════════
   ERIPHILLCARE DESIGN SYSTEM
   Warm paper base · brand copper · charcoal ink
   Signature: the "care thread" — one continuous copper line,
   drawn from the infinity loop in the logo.
   ═══════════════════════════════════════════════════════════ */
:root{
  --ink:#26221E;
  --ink-2:#3B342E;
  --ink-soft:#584E46;
  --ink-mute:#8A7D73;
  --copper:#C1715A;
  --copper-dark:#A85C46;
  --copper-deep:#8B4936;
  --copper-tint:#F4E6DF;
  --paper:#FFFDF9;
  --cream:#F7F2E9;
  --sand:#F0E8DB;
  --line:rgba(38,34,30,0.09);
  --copper-line:rgba(193,113,90,0.28);
  --shadow-sm:0 2px 10px rgba(38,34,30,0.05);
  --shadow-md:0 10px 34px rgba(38,34,30,0.09);
  --shadow-lg:0 24px 60px rgba(38,34,30,0.14);
  --r-sm:12px;
  --r-md:18px;
  --r-lg:26px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Figtree',sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden;max-width:100vw;padding-top:96px;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
body{animation:pageIn .5s var(--ease);}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Scroll reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
  body{animation:none;}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* ── TYPE ── */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--copper-dark);margin-bottom:14px;}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--copper);border-radius:2px;}
.eyebrow-light{color:#DA9B85;}
.sec-title{font-family:'Fraunces',serif;font-size:clamp(30px,4.2vw,44px);font-weight:600;color:var(--ink);line-height:1.16;letter-spacing:-0.01em;margin-bottom:14px;}
.sec-title em{font-style:italic;color:var(--copper-dark);}
.sec-title-light{color:var(--paper);}
.sec-sub{font-size:19px;color:var(--ink-soft);line-height:1.8;max-width:600px;margin-bottom:40px;}
.sec-sub-light{color:rgba(255,253,249,0.72);}
.section{padding:88px 32px;}
.section-cream{background:var(--cream);}
.inner{max-width:1080px;margin:0 auto;}
.center{text-align:center;}
.center .eyebrow{justify-content:center;}
.center .sec-sub{margin-left:auto;margin-right:auto;}

/* ── BUTTONS ── */
.btn-primary{background:var(--copper);color:#fff;font-family:'Figtree',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:0.02em;padding:17px 32px;border-radius:100px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);box-shadow:0 6px 18px rgba(193,113,90,0.28);}
.btn-primary:hover{background:var(--copper-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(193,113,90,0.34);}
.btn-primary:active{transform:translateY(0);}
.btn-primary svg,.btn-outline svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.btn-outline{background:transparent;color:var(--ink);font-family:'Figtree',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:0.02em;padding:16px 32px;border-radius:100px;border:1.5px solid rgba(38,34,30,0.25);cursor:pointer;display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:border-color .25s,color .25s,background .25s,transform .25s var(--ease);}
.btn-outline:hover{border-color:var(--copper);color:var(--copper-dark);background:rgba(193,113,90,0.06);transform:translateY(-2px);}
.btn-outline-light{border-color:rgba(255,253,249,0.35);color:var(--paper);}
.btn-outline-light:hover{border-color:var(--paper);color:var(--paper);background:rgba(255,253,249,0.1);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(193,113,90,0.55);outline-offset:2px;}

/* ── NAV ── */
nav{background:rgba(255,253,249,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:96px;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;z-index:100;transition:box-shadow .3s var(--ease);}
nav.scrolled{box-shadow:0 6px 24px rgba(38,34,30,0.08);}
.nav-logo{cursor:pointer;display:flex;align-items:center;gap:13px;flex-shrink:0;background:none;border:none;text-align:left;font-family:'Figtree',sans-serif;}
.nav-logo-icon{width:auto;height:64px;flex-shrink:0;object-fit:contain;}
.nav-logo-text{display:flex;flex-direction:column;}
.nav-logo-wordmark{font-family:'Fraunces',serif;font-size:26px;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-0.01em;}
.nav-logo-wordmark span{color:var(--copper);}
.nav-logo-tagline{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-mute);margin-top:5px;}
.nav-links{display:flex;gap:6px;align-items:center;}
.nav-link{font-size:16.5px;color:var(--ink-soft);cursor:pointer;font-weight:500;background:none;border:none;font-family:'Figtree',sans-serif;padding:10px 15px;border-radius:100px;transition:color .2s,background .2s;position:relative;}
.nav-link:hover{color:var(--copper-dark);background:rgba(193,113,90,0.07);}
.nav-link.active{color:var(--copper-dark);background:var(--copper-tint);}
.nav-cta{background:var(--ink);color:var(--paper);padding:13px 24px;border-radius:100px;font-size:15px;font-weight:600;cursor:pointer;border:none;font-family:'Figtree',sans-serif;display:flex;align-items:center;gap:8px;margin-left:10px;transition:background .25s,transform .25s var(--ease);}
.nav-cta:hover{background:var(--copper-dark);transform:translateY(-1px);}
.nav-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s var(--ease);}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:96px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:99;padding:14px 24px 22px;flex-direction:column;box-shadow:0 20px 40px rgba(38,34,30,0.12);}
.mobile-menu.open{display:flex;animation:menuIn .3s var(--ease);}
@keyframes menuIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.mobile-link{font-size:17px;color:var(--ink-2);cursor:pointer;background:none;border:none;font-family:'Figtree',sans-serif;font-weight:500;text-align:left;padding:15px 4px;border-bottom:1px solid var(--line);}
.mobile-link:last-child{border-bottom:none;}
.mobile-link.mobile-cta{color:var(--copper-dark);font-weight:700;}

/* ── CARE THREAD (signature) ── */
.thread{display:block;margin:0 auto;overflow:visible;}
.thread path{stroke:var(--copper);stroke-width:2.5;fill:none;stroke-linecap:round;opacity:.85;}
.thread-divider{padding:0 32px;background:inherit;}
.hero-thread path{stroke-dasharray:600;stroke-dashoffset:600;animation:drawThread 1.6s .3s var(--ease) forwards;}
@keyframes drawThread{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.hero-thread path{animation:none;stroke-dashoffset:0;}}

/* ── HERO ── */
.home-hero{background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);padding:72px 32px 84px;position:relative;overflow:hidden;}
.home-hero::before{content:'';position:absolute;top:-220px;right:-180px;width:560px;height:560px;background:radial-gradient(circle,rgba(193,113,90,0.10) 0%,transparent 65%);pointer-events:none;}
.home-hero-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;position:relative;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--copper-line);border-radius:100px;padding:8px 16px;font-size:13px;color:var(--copper-deep);font-weight:600;margin-bottom:24px;box-shadow:var(--shadow-sm);}
.hero-badge svg{width:14px;height:14px;stroke:var(--copper);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hero-title{font-family:'Fraunces',serif;font-size:clamp(38px,5.4vw,60px);font-weight:600;color:var(--ink);line-height:1.08;letter-spacing:-0.015em;margin-bottom:8px;}
.hero-title em{font-style:italic;color:var(--copper-dark);}
.hero-body{font-size:20px;color:var(--ink-soft);line-height:1.8;margin:22px 0 32px;max-width:490px;}
.hero-note{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink-mute);margin-top:22px;line-height:1.6;}
.hero-note svg{width:15px;height:15px;stroke:var(--copper);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
/* Photo — arch frame echoing the roofline, copper offset ring */
.hero-visual{position:relative;justify-self:end;width:100%;max-width:440px;}
.hero-photo-frame{position:relative;border-radius:220px 220px var(--r-lg) var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;}
.hero-photo-frame img{width:100%;height:100%;object-fit:cover;}
.hero-ring{position:absolute;inset:-14px;border:2px solid var(--copper-line);border-radius:236px 236px calc(var(--r-lg) + 14px) calc(var(--r-lg) + 14px);pointer-events:none;}
.float-chip{position:absolute;background:var(--paper);border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;border:1px solid var(--line);}
.float-chip.chip-reviews{bottom:26px;left:-34px;}
.float-chip.chip-kdhe{top:44px;right:-26px;}
.chip-stars{color:#E2A63D;font-size:15px;letter-spacing:2px;line-height:1;}
.chip-big{font-family:'Fraunces',serif;font-size:24px;font-weight:700;color:var(--ink);line-height:1;}
.chip-label{font-size:11.5px;color:var(--ink-mute);font-weight:600;margin-top:3px;}
.chip-icon{width:38px;height:38px;background:var(--copper-tint);border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.chip-icon svg{width:18px;height:18px;stroke:var(--copper-dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.chip-title{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.2;}
.chip-sub{font-size:11.5px;color:var(--ink-mute);font-weight:500;margin-top:2px;}

/* ── STATS BAND ── */
.stats-band{background:var(--ink);padding:34px 32px;}
.stats-band-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.stat{display:flex;align-items:center;gap:16px;justify-content:center;}
.stat-num{font-family:'Fraunces',serif;font-size:36px;font-weight:700;color:var(--copper);line-height:1;white-space:nowrap;}
.stat-label{font-size:15px;color:rgba(255,253,249,0.6);font-weight:500;line-height:1.45;max-width:130px;}

/* ── SERVICE CARDS (home preview) ── */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.svc-card{background:var(--paper);border-radius:var(--r-md);padding:30px 26px;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;position:relative;}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--copper-line);}
.svc-icon{width:50px;height:50px;background:var(--copper-tint);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .3s;}
.svc-card:hover .svc-icon{background:var(--copper);}
.svc-icon svg{width:22px;height:22px;stroke:var(--copper-dark);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s;}
.svc-card:hover .svc-icon svg{stroke:#fff;}
.svc-title{font-family:'Fraunces',serif;font-size:21px;font-weight:600;color:var(--ink);margin-bottom:9px;line-height:1.3;}
.svc-body{font-size:16.5px;color:var(--ink-soft);line-height:1.75;}

/* ── SPLIT (photo + content) ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split-photo{position:relative;}
.split-photo-frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:5/4;}
.split-photo-frame.tall{aspect-ratio:4/5;}
.split-photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.split-photo:hover .split-photo-frame img{transform:scale(1.035);}
.split-photo-accent{position:absolute;bottom:-16px;left:-16px;width:120px;height:120px;border-left:3px solid var(--copper);border-bottom:3px solid var(--copper);border-radius:0 0 0 var(--r-lg);opacity:.55;pointer-events:none;}
.checks{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:6px;}
.checks li{display:flex;align-items:flex-start;gap:13px;font-size:17px;color:var(--ink-2);line-height:1.6;}
.check-dot{width:24px;height:24px;background:var(--copper-tint);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.check-dot svg{width:12px;height:12px;stroke:var(--copper-deep);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

/* ── STEPS ── */
.steps-wrap{position:relative;}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;}
.steps-grid::before{content:'';position:absolute;top:30px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--copper-line) 0 10px,transparent 10px 20px);}
.step{text-align:center;padding:0 8px;position:relative;}
.step-num{width:60px;height:60px;background:var(--paper);border:2px solid var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'Fraunces',serif;font-size:23px;font-weight:700;color:var(--copper-dark);position:relative;z-index:1;box-shadow:0 0 0 8px var(--cream);transition:background .3s,color .3s,transform .3s var(--ease);}
.step:hover .step-num{background:var(--copper);color:#fff;transform:scale(1.07);}
.section-cream .step-num{box-shadow:0 0 0 8px var(--cream);}
.step-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px;}
.step-body{font-size:15.5px;color:var(--ink-soft);line-height:1.7;}

/* ── REVIEWS ── */
.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:36px;}
.google-badge{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 20px;box-shadow:var(--shadow-sm);}
.google-badge .chip-big{font-size:28px;}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.review-card{background:var(--paper);border-radius:var(--r-md);padding:26px 24px;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.review-stars{color:#E2A63D;font-size:14px;letter-spacing:3px;}
.review-text{font-size:16px;color:var(--ink-2);line-height:1.75;flex:1;}
.review-author{display:flex;align-items:center;gap:11px;}
.review-avatar{width:38px;height:38px;background:var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;}
.review-name{font-size:14px;font-weight:700;color:var(--ink);}
.review-src{font-size:11.5px;color:var(--ink-mute);font-weight:500;}

/* ── COUNTY CARDS ── */
.county-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.county-card{background:var(--paper);border-radius:var(--r-md);padding:26px 24px;border:1px solid var(--line);border-top:3px solid var(--copper);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.county-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.county-tag{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--copper-dark);margin-bottom:9px;}
.county-city{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--ink);margin-bottom:9px;}
.county-body{font-size:15.5px;color:var(--ink-soft);line-height:1.75;}
.county-body strong{color:var(--ink-2);font-weight:600;}

/* ── DARK CTA ── */
.cta-dark{background:var(--ink);padding:84px 32px;text-align:center;position:relative;overflow:hidden;}
.cta-dark::before{content:'';position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(193,113,90,0.16) 0%,transparent 70%);pointer-events:none;}
.cta-dark .inner{position:relative;}
.cta-phone-big{font-family:'Fraunces',serif;font-size:clamp(34px,5vw,50px);font-weight:700;letter-spacing:-0.01em;margin:20px 0 10px;}
.cta-phone-big a{color:var(--copper);text-decoration:none;transition:opacity .2s;}
.cta-phone-big a:hover{opacity:.85;}
.cta-phone-sub{font-size:15px;color:rgba(255,253,249,0.55);margin-bottom:32px;}

/* ── PAGE HERO (interior pages) ── */
.page-hero{background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);padding:64px 32px 56px;text-align:center;}
.page-hero .sec-sub{margin:0 auto 30px;}
.trust-strip{background:var(--copper);padding:15px 32px;display:flex;justify-content:center;gap:44px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:8px;color:#fff;}
.trust-item svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.trust-item span{font-size:13.5px;font-weight:600;white-space:nowrap;letter-spacing:0.02em;}

/* ── PHOTO STRIP ── */
.photo-strip{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;max-width:1080px;margin:36px auto 0;align-items:end;}
.photo-strip .ps-frame{border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-md);}
.photo-strip .ps-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.photo-strip .ps-frame:hover img{transform:scale(1.04);}
.photo-strip .ps-side{aspect-ratio:1/1;}
.photo-strip .ps-main{aspect-ratio:16/10;border-radius:var(--r-lg);}

/* ── DETAILED SERVICE CARDS ── */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:stretch;}
.spec-card{background:var(--paper);border-radius:var(--r-md);padding:30px 26px;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.spec-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--copper-line);}
.spec-icon{width:48px;height:48px;background:var(--copper-tint);border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0;}
.spec-icon svg{width:21px;height:21px;stroke:var(--copper-dark);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.spec-title{font-family:'Fraunces',serif;font-size:21px;font-weight:600;color:var(--ink);margin-bottom:10px;line-height:1.3;}
.spec-body{font-size:16px;color:var(--ink-soft);line-height:1.75;margin-bottom:18px;}
.spec-bullets{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:auto;border-top:1px solid var(--line);padding-top:16px;}
.spec-bullets li{font-size:15px;color:var(--ink-2);font-weight:500;line-height:1.5;padding-left:24px;position:relative;}
.spec-bullets li::before{content:'';position:absolute;left:2px;top:7px;width:12px;height:7px;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(-45deg);}

/* ── CORE SERVICES ── */
.core-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.core-card{background:var(--paper);border-radius:var(--r-md);padding:28px 26px;border:1px solid var(--line);}
.core-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--copper-deep);background:var(--copper-tint);padding:6px 13px;border-radius:100px;margin-bottom:16px;}
.core-card-title{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--ink);margin-bottom:14px;}
.core-bullets{list-style:none;}
.core-bullets li{font-size:16px;color:var(--ink-soft);padding:8px 0 8px 18px;position:relative;line-height:1.55;border-bottom:1px solid var(--line);}
.core-bullets li:last-child{border-bottom:none;}
.core-bullets li::before{content:'';position:absolute;left:0;top:15px;width:6px;height:6px;background:var(--copper);border-radius:50%;opacity:.6;}

/* ── TRUST CARDS ── */
.trust-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.trust-card{background:var(--paper);border-radius:var(--r-md);padding:26px 20px;text-align:center;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.trust-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.trust-card-icon{width:46px;height:46px;background:var(--copper-tint);border-radius:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.trust-card-icon svg{width:20px;height:20px;stroke:var(--copper-dark);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.trust-card-title{font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.trust-card-body{font-size:15px;color:var(--ink-soft);line-height:1.65;}

/* ── ABOUT ── */
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px;}
.value-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:20px;transition:border-color .3s,transform .3s var(--ease);}
.value-card:hover{border-color:var(--copper-line);transform:translateY(-2px);}
.value-icon svg{width:20px;height:20px;stroke:var(--copper-dark);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px;}
.value-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:5px;}
.value-body{font-size:14px;color:var(--ink-soft);line-height:1.6;}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.team-card{background:var(--paper);border-radius:var(--r-lg);padding:34px 30px;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.team-initials{width:68px;height:68px;background:linear-gradient(135deg,var(--copper) 0%,var(--copper-deep) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:23px;font-weight:700;color:#fff;margin-bottom:18px;}
.team-name{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.team-role{font-size:12px;color:var(--copper-dark);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:15px;}
.team-bio{font-size:16px;color:var(--ink-soft);line-height:1.8;margin-bottom:14px;}
.team-email{font-size:13.5px;color:var(--copper-dark);font-weight:600;text-decoration:none;}
.team-email:hover{text-decoration:underline;}
.mission-band{background:var(--copper);padding:76px 32px;text-align:center;position:relative;overflow:hidden;}
.mission-band::before{content:'';position:absolute;top:-100px;right:-100px;width:340px;height:340px;border:44px solid rgba(255,253,249,0.08);border-radius:50%;pointer-events:none;}
.mission-quote{font-family:'Fraunces',serif;font-size:clamp(22px,3.2vw,30px);font-style:italic;font-weight:500;color:#fff;line-height:1.5;max-width:760px;margin:0 auto 18px;position:relative;}
.mission-attr{font-size:13.5px;color:rgba(255,253,249,0.75);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;position:relative;}

/* ── FORMS ── */
.form-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start;}
.form-row{margin-bottom:20px;}
.form-row-half{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;background:var(--cream);border:1.5px solid transparent;border-radius:var(--r-sm);padding:15px 16px;font-family:'Figtree',sans-serif;font-size:15.5px;color:var(--ink);font-weight:500;outline:none;transition:border-color .25s,background .25s,box-shadow .25s;}
input::placeholder,textarea::placeholder{color:var(--ink-mute);font-weight:400;}
input:focus,select:focus,textarea:focus{border-color:var(--copper);background:var(--paper);box-shadow:0 0 0 4px rgba(193,113,90,0.12);}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2326221E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer;}
textarea{resize:vertical;min-height:104px;}
.form-card{background:var(--paper);border-radius:var(--r-lg);padding:38px 34px;border:1px solid var(--line);box-shadow:var(--shadow-lg);}
.form-card-title{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.form-card-sub{font-size:15.5px;color:var(--ink-soft);margin-bottom:28px;}
.checkbox-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;}
.checkbox-row input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--copper);cursor:pointer;}
.checkbox-row span{font-size:14px;color:var(--ink-soft);line-height:1.65;}
.submit-btn{width:100%;background:var(--copper);color:#fff;font-family:'Figtree',sans-serif;font-size:16px;font-weight:700;letter-spacing:0.02em;padding:18px;border-radius:100px;border:none;cursor:pointer;transition:background .25s,transform .25s var(--ease),box-shadow .25s;margin-bottom:16px;box-shadow:0 8px 22px rgba(193,113,90,0.3);}
.submit-btn:hover{background:var(--copper-dark);transform:translateY(-2px);box-shadow:0 14px 30px rgba(193,113,90,0.36);}
.form-disclaimer{font-size:13.5px;color:var(--ink-mute);text-align:center;line-height:1.7;}

/* Consultation info column */
.what-list{display:flex;flex-direction:column;gap:22px;margin:32px 0;}
.what-item{display:flex;gap:16px;align-items:flex-start;}
.what-num{width:40px;height:40px;background:var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:17px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px;}
.what-title{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.what-body{font-size:15.5px;color:var(--ink-soft);line-height:1.7;}
.direct-contact{background:var(--paper);border-radius:var(--r-md);padding:24px;border:1px solid var(--line);box-shadow:var(--shadow-sm);}
.direct-contact-title{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--copper-dark);margin-bottom:14px;}
.contact-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);}
.contact-row:last-child{border-bottom:none;}
.contact-row svg{width:17px;height:17px;stroke:var(--copper-dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.contact-row-label{font-size:13px;color:var(--ink-mute);font-weight:600;min-width:56px;}
.contact-row-val{font-size:15px;color:var(--ink);font-weight:600;}

/* ── CONTACT CARDS ── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.contact-card{background:var(--paper);border-radius:var(--r-md);padding:28px 22px;text-align:center;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.contact-card .trust-card-icon{margin-bottom:14px;}
.contact-card-label{font-size:11px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:7px;}
.contact-card-val{font-size:17.5px;font-weight:700;color:var(--ink);line-height:1.45;}
.contact-card-val a{color:var(--ink);text-decoration:none;}
.contact-card-val a:hover{color:var(--copper-dark);}
.contact-card-sub{font-size:14px;color:var(--ink-mute);font-weight:500;margin-top:6px;}

/* ── FOOTER ── */
.footer{background:var(--ink);padding:56px 32px 26px;}
.footer-inner{max-width:1080px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:48px;margin-bottom:38px;}
.footer-logo{font-family:'Fraunces',serif;font-size:26px;font-weight:700;color:var(--paper);margin-bottom:10px;}
.footer-logo span{color:var(--copper);}
.footer-tagline{font-size:15px;color:rgba(255,253,249,0.5);line-height:1.75;max-width:290px;margin-bottom:18px;}
.footer-kdhe{display:inline-block;font-size:12px;color:rgba(255,253,249,0.55);border:1px solid rgba(255,253,249,0.16);border-radius:8px;padding:7px 12px;font-weight:500;}
.footer-col-title{font-size:11.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--copper);margin-bottom:16px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-links li{font-size:16px;color:rgba(255,253,249,0.6);cursor:pointer;transition:color .2s;width:fit-content;}
.footer-links li:hover{color:var(--paper);}
.footer-counties{font-size:14.5px;color:rgba(255,253,249,0.5);line-height:1.95;}
.footer-counties b{color:rgba(255,253,249,0.8);font-weight:600;}
.footer-bottom{border-top:1px solid rgba(255,253,249,0.1);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-copy{font-size:14px;color:rgba(255,253,249,0.55);}
.footer-copy a{font-weight:700;text-decoration:none;font-size:15.5px;}
.footer-copy a:hover{color:var(--paper);}

/* ── THANK YOU OVERLAY ── */
.overlay{display:none;position:fixed;inset:0;background:rgba(38,34,30,0.6);backdrop-filter:blur(6px);z-index:200;align-items:center;justify-content:center;padding:24px;}
.overlay-card{background:var(--paper);border-radius:var(--r-lg);padding:46px 40px;max-width:460px;text-align:center;box-shadow:var(--shadow-lg);animation:pageIn .4s var(--ease);}
.overlay-icon{width:66px;height:66px;background:var(--copper-tint);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.overlay-icon svg{width:30px;height:30px;stroke:var(--copper-dark);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.overlay-title{font-family:'Fraunces',serif;font-size:28px;font-weight:600;color:var(--ink);margin-bottom:12px;}
.overlay-body{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:26px;}
.overlay-body a{color:var(--copper-dark);font-weight:700;text-decoration:none;}

/* ── MISC ── */
a[href^="tel:"]{text-decoration:none;}
.call-banner{background:var(--ink);padding:13px 32px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;}
.call-banner p{font-size:14px;color:rgba(255,253,249,0.65);}
.call-banner strong{color:var(--paper);font-weight:600;}
.call-banner .mini-call{background:var(--copper);color:#fff;font-size:13.5px;font-weight:700;padding:9px 20px;border-radius:100px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:background .2s;}
.call-banner .mini-call:hover{background:var(--copper-dark);}
.call-banner .mini-call svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .home-hero-inner{grid-template-columns:1fr;gap:52px;}
  .hero-visual{justify-self:center;max-width:400px;}
  .float-chip.chip-reviews{left:-8px;}
  .float-chip.chip-kdhe{right:-8px;}
  .split{grid-template-columns:1fr;gap:44px;}
  .form-grid{grid-template-columns:1fr;gap:44px;}
  .stats-band-inner{grid-template-columns:repeat(2,1fr);gap:26px;}
  .steps-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
  .steps-grid::before{display:none;}
  .team-grid{grid-template-columns:1fr;}
  .photo-strip{grid-template-columns:1fr 1fr;}
  .photo-strip .ps-main{grid-column:1/-1;order:-1;}
}
@media(max-width:768px){
  body{padding-top:72px;}
  nav{height:72px;padding:0 18px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .mobile-menu{top:72px;}
  .nav-logo-icon{height:52px;}
  .nav-logo-wordmark{font-size:22px;}
  .nav-logo-tagline{font-size:9.5px;letter-spacing:0.12em;}
  .section{padding:60px 20px;}
  .home-hero{padding:44px 20px 56px;}
  .page-hero{padding:44px 20px 40px;}
  .cta-dark{padding:60px 20px;}
  .mission-band{padding:56px 20px;}
  .footer{padding:44px 20px 22px;}
  .footer-grid{grid-template-columns:1fr;gap:34px;}
  .stats-band{padding:28px 20px;}
  .trust-strip{gap:14px;padding:13px 16px;}
  .trust-item span{font-size:11.5px;}
  .values-grid{grid-template-columns:1fr;}
  .form-row-half{grid-template-columns:1fr;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .btn-row .btn-primary,.btn-row .btn-outline{justify-content:center;}
  .hero-visual{max-width:330px;}
  .float-chip{padding:11px 14px;}
  .chip-big{font-size:20px;}
  .form-card{padding:30px 22px;}
  .steps-grid{grid-template-columns:1fr;gap:30px;}
  .reviews-head{flex-direction:column;align-items:flex-start;}
  .call-banner{padding:12px 16px;gap:12px;}
  .stat{flex-direction:column;gap:6px;text-align:center;}
  .stat-label{max-width:none;}
}

/* City pages */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .3s;}
.faq-item[open]{border-color:var(--copper-line);}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;font-size:17.5px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-family:'Fraunces',serif;font-size:22px;color:var(--copper);flex-shrink:0;transition:transform .3s var(--ease);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 24px 20px;font-size:16px;color:var(--ink-soft);line-height:1.75;}
.local-fact{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin-top:14px;}
.local-fact svg{width:20px;height:20px;stroke:var(--copper-dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px;}
.local-fact p{font-size:16px;color:var(--ink-2);line-height:1.7;}
.local-fact p b{color:var(--ink);}

.stats-band-inner .stat:last-child:nth-child(odd){grid-column:1/-1;}
@media(min-width:961px){.stats-band-inner .stat:last-child:nth-child(odd){grid-column:auto;}}
/* Stat count-up */
.stat-num{font-variant-numeric:tabular-nums;}

/* Footer contact links — must beat a[href^=tel]{color:inherit} */
.footer .footer-copy a, .footer .footer-copy a[href^="tel:"], .footer .footer-copy a[href^="mailto:"]{color:#FFFDF9 !important;font-weight:700;font-size:15.5px;}

/* Explicit colors for phone links (fixes invisible number in dark CTA) */
.cta-phone-big a{color:var(--copper) !important;}
.cta-phone-big a:hover{opacity:.85;}
.contact-row-val a{color:inherit;}
.contact-card-val a{color:var(--ink);}

/* Hiring popup */
.hiring-pop{position:fixed;right:22px;bottom:26px;z-index:150;background:var(--paper);border:1px solid var(--copper-line);border-left:5px solid var(--copper);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:18px 20px 18px 18px;max-width:300px;display:flex;gap:13px;align-items:flex-start;opacity:0;transform:translateX(120%);transition:transform .6s var(--ease),opacity .6s var(--ease);}
.hiring-pop.show{opacity:1;transform:translateX(0);}
.hiring-pop-icon{width:42px;height:42px;background:var(--copper-tint);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hiring-pop-icon svg{width:20px;height:20px;stroke:var(--copper-dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hiring-pop-title{font-size:15.5px;font-weight:800;color:var(--ink);margin-bottom:3px;}
.hiring-pop-body{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:10px;}
.hiring-pop-link{display:inline-block;color:var(--copper-dark);font-weight:700;font-size:14px;text-decoration:none;}
.hiring-pop-link:hover{text-decoration:underline;}
.hiring-pop-close{position:absolute;top:8px;right:10px;background:none;border:none;cursor:pointer;font-size:20px;line-height:1;color:var(--ink-mute);padding:4px;font-family:'Figtree',sans-serif;}
.hiring-pop-close:hover{color:var(--ink);}
@media(max-width:768px){.hiring-pop{right:14px;left:14px;bottom:16px;max-width:none;}}
@media(prefers-reduced-motion:reduce){.hiring-pop{transition:opacity .3s;transform:none;}}

/* ── Scroll progress bar ── */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--copper),var(--copper-dark));z-index:200;transition:width .1s linear;}

/* ── Back to top ── */
#to-top{position:fixed;bottom:26px;right:22px;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);border:none;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease),background .25s;z-index:155;}
#to-top.show{opacity:1;transform:none;pointer-events:auto;}
#to-top:hover{background:var(--copper-dark);}
#to-top svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}

/* ── Sticky mobile call bar ── */
.mobile-call-bar{display:none;}
@media(max-width:768px){
  .mobile-call-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:145;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,0.08);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;}
  .mobile-call-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-family:'Figtree',sans-serif;font-size:15px;font-weight:700;padding:14px;border-radius:100px;text-decoration:none;}
  .mcb-call{background:var(--copper);color:#fff;box-shadow:0 4px 14px rgba(193,113,90,0.3);}
  .mcb-consult{background:var(--cream);color:var(--ink);border:1.5px solid rgba(38,34,30,0.15);}
  .mobile-call-bar svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  body{padding-bottom:78px;}
  #to-top{bottom:92px;right:14px;width:44px;height:44px;}
  .hiring-pop{bottom:150px;}
}

/* ── Button shine sweep ── */
.btn-primary{position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,0.35),transparent);transform:skewX(-20deg);transition:left .6s var(--ease);}
.btn-primary:hover::after{left:130%;}


/* ── FAQ smooth open ── */
.faq-item .faq-a{animation:none;}
.faq-item[open] .faq-a{animation:faqIn .35s var(--ease);}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-item summary{transition:color .2s;}
.faq-item[open] summary{color:var(--copper-deep);}

/* ── Photo wipe reveal ── */
.split-photo-frame,.ps-frame,.hero-photo-frame{position:relative;}
.rv .wipe::before{content:'';position:absolute;inset:0;background:var(--cream);z-index:2;transform:scaleX(1);transform-origin:right;transition:transform .9s var(--ease) .15s;}
.rv.in .wipe::before{transform:scaleX(0);}
@media(prefers-reduced-motion:reduce){
  #scroll-progress{display:none;}
  .btn-primary::after{display:none;}
  .rv .wipe::before{display:none;}
}
