/* =====================================================================
   Livingston Chiropractic & Rehab — MASTER CSS (site-wide)
   Body-only build. Header + footer owned by the Avada theme.
   One master CSS + one master JS for the whole site (no inline blobs,
   no base64). Editorial / monochrome-luxury system adapted from the
   2026 build playbook; brand palette = logo blue #3ea2d3 + grey #787878.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Urbanist:wght@300;400;500;600;700&display=swap');

:root{
  /* Livingston brand: logo blue #3ea2d3 + grey #787878, deep-blue base */
  --navy:#113052;         /* deep brand base (dark sections) */
  --navy-deep:#0b2036;    /* deepest ink for footer / scrims */
  --gold:#309ccc;         /* brand blue — primary accent + buttons */
  --gold-soft:#6fc3e8;    /* light blue accent on dark */
  --cream:#f4f7f9;
  --cream-deep:#dde8ee;
  --ink:#2b3138;
  --muted:#787878;
  --white:#fff;
  --serif:'EB Garamond',Georgia,serif;  /* elegant display, all headings */
  --sans:'Urbanist',-apple-system,Segoe UI,sans-serif;
  --head:'EB Garamond',Georgia,serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --maxw:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:106.25%}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
/* monochrome-luxury: photography in black & white (logo + accents keep brand color) */
.hero-bg img,.band-bg img,.split-media img,.sel-media .sm img,.cat img{filter:grayscale(1) contrast(1.04)}
.stats.stat-band .band-bg img{filter:grayscale(1) contrast(1.04)}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;width:100%}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--sans);font-weight:500;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding:18px 34px;border:1px solid var(--gold);background:var(--gold);color:#fff;cursor:pointer;transition:all .5s var(--ease);position:relative;overflow:hidden}
.btn span{position:relative;z-index:1}
.btn::after{content:"";position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover{color:var(--cream)}
.btn:hover::after{transform:translateY(0)}
.btn.ghost{background:transparent;color:var(--cream);border-color:rgba(255,255,255,.5)}
.btn.ghost::after{background:var(--gold)}
.btn.ghost:hover{color:#fff;border-color:var(--gold)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(42px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}.reveal.d4{transition-delay:.48s}

/* ===== FULL-SCREEN PARALLAX BANDS ===== */
.band{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.band-bg{position:absolute;inset:-14% 0;z-index:0;will-change:transform}
.band-bg img{width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.band-scrim{position:absolute;inset:0;z-index:1}
.band .wrap{position:relative;z-index:2}
.band-watermark{position:absolute;z-index:1;font-family:var(--serif);font-weight:300;letter-spacing:.02em;color:rgba(255,255,255,.06);font-size:clamp(5rem,14vw,12rem);line-height:.8;bottom:2%;left:-2%;pointer-events:none;user-select:none;will-change:transform;transform:translateX(var(--wmx,0px))}
.band-eyebrow{color:var(--gold-soft)}
.band-h{font-size:clamp(2.4rem,5.2vw,4.6rem);font-weight:500;color:#fff;margin:20px 0 24px;max-width:14ch}
.band-h i{font-style:italic;color:var(--gold-soft)}
.band-p{font-size:1.2rem;font-weight:300;color:rgba(243,247,251,.86);max-width:520px}
.band-right .wrap{display:flex;justify-content:flex-end}
.band-col{max-width:560px}
/* spruce texture fallback so image-less heroes still read as intentional */
.band.tex{background:radial-gradient(1200px 600px at 78% -10%,#2f8ec2 0%,var(--navy) 46%,var(--navy-deep) 100%)}

/* CTA band */
.cta .band-scrim{background:linear-gradient(rgba(12,40,54,.72),rgba(12,40,54,.72))}
.cta .wrap{text-align:center}
.cta h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:500;color:#fff;margin:18px 0 22px}
.cta h2 i{color:var(--gold-soft)}
.cta p{max-width:560px;margin:0 auto 36px;color:rgba(243,247,251,.85);font-weight:300}
.cta .hero-cta{justify-content:center;opacity:1;animation:none}
.hero-cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
.band.cta .hero-cta{gap:16px}
@media(min-width:769px){.band.cta .hero-cta .btn{flex:0 1 auto;max-width:none}}
@media(max-width:768px){.band.cta .hero-cta .btn{flex:0 0 auto!important;max-width:none!important}}

/* ============ INTERIOR / CONTENT PAGES (shared) ============ */
.svc-hero{min-height:50vh}
.svc-hero .band-h{max-width:18ch}
.prose{max-width:820px;margin:0 auto;padding:90px 0}
.prose .eyebrow{display:block;margin-bottom:14px}
.prose h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:500;color:var(--navy);margin:46px 0 16px}
.prose h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:600;color:var(--navy);margin:32px 0 10px}
.prose p{font-size:1.12rem;font-weight:300;color:#3c454f;margin-bottom:18px}
.prose ul{margin:0 0 22px 0;padding-left:0;list-style:none}
.prose ul li{font-size:1.1rem;font-weight:300;color:#3c454f;padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--cream-deep)}
.prose ul li::before{content:"✓";position:absolute;left:0;top:10px;color:var(--gold);font-weight:700}
.prose a{color:var(--gold);border-bottom:1px solid rgba(48,156,204,.3)}
.prose a:hover{border-color:var(--gold)}
.prose .lead-xl{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:400;color:var(--navy);line-height:1.35;margin-bottom:30px}

/* full-width brand breadcrumb bar (bridges header + hero) */
.breadcrumb{max-width:none!important;width:100%;background:var(--navy-deep);color:rgba(243,247,251,.6);padding:16px max(22px,calc((100% - 820px)/2))!important;margin:0;font-size:.82rem;letter-spacing:.04em;box-sizing:border-box}
.breadcrumb a{color:var(--gold-soft)}
.breadcrumb a:hover{color:#fff}

/* author / E-E-A-T box */
.author{max-width:820px;margin:0 auto 30px;display:flex;gap:26px;align-items:center;background:var(--cream);border:1px solid var(--cream-deep);padding:26px 30px}
.author img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top center;flex:0 0 96px;filter:grayscale(1) contrast(1.04)}
.author .ab b{font-family:var(--serif);font-size:1.3rem;color:var(--navy);display:block}
.author .ab .cr{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:4px 0 8px}
.author .ab p{font-size:.98rem;font-weight:300;color:#46505b;margin:0}

/* FAQ (native details, schema via JSON-LD) */
.faq{max-width:860px;margin:0 auto;padding:30px 0 110px}
.faq h2{text-align:center;font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:500;color:var(--navy);margin-bottom:36px}
.faq details{border-bottom:1px solid var(--cream-deep);padding:8px 0}
.faq summary{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--navy);padding:18px 40px 18px 0;cursor:pointer;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:1.8rem;font-weight:300;color:var(--gold);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:1.06rem;font-weight:300;color:#3c454f;padding:0 0 20px;margin:0}
.faq details a{color:var(--gold);border-bottom:1px solid rgba(48,156,204,.3)}

/* ============ SERVICE AREAS (local GEO) ============ */
/* service grid (what we treat, links to pillars) */
.svc-cat{display:block;padding:64px 0;border-bottom:1px solid rgba(18,58,77,.12)}
.svc-cat:last-of-type{border-bottom:none}
.svc-cat .cat-h{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:500;color:var(--navy);margin-bottom:8px}
.cat-sub{font-family:var(--sans);color:var(--muted);font-weight:300;margin-bottom:30px;max-width:60ch}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.svc-card{display:block;padding:22px 24px;border:1px solid rgba(18,58,77,.18);border-radius:14px;background:#fff;transition:all .35s var(--ease);text-decoration:none}
.svc-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 14px 40px rgba(18,58,77,.10)}
.svc-card .st{font-family:var(--serif);font-size:1.22rem;color:var(--navy);font-weight:500;display:block;margin-bottom:5px}
.svc-card .sd{font-family:var(--sans);font-size:.9rem;color:var(--muted);font-weight:300;line-height:1.5}
.svc-card .sgo{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:12px;display:inline-block}
/* county + city grid */
.county-block{padding:34px 0;border-bottom:1px solid rgba(18,58,77,.1)}
.county-block:last-of-type{border-bottom:none}
.county-name{font-family:var(--serif);font-size:1.5rem;color:var(--navy);font-weight:500;margin-bottom:6px}
.county-note{font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--muted);margin-bottom:16px}
.city-grid{display:flex;flex-wrap:wrap;gap:10px}
.city-grid span,.city-grid a{font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;color:var(--navy);border:1px solid rgba(18,58,77,.22);padding:9px 16px;border-radius:30px;background:#fff;transition:all .3s var(--ease)}
.city-grid a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.city-grid .home{border-color:var(--gold);background:var(--gold);color:#fff;font-weight:500}

/* dark "areas" call-band (chip list on brand base) */
.areas{background:var(--navy);color:var(--cream);padding:58px 0;text-align:center;position:relative;overflow:hidden}
.areas .band-watermark{color:rgba(255,255,255,.05)}
.areas .eyebrow{display:block;margin-bottom:14px}
.areas-h{font-family:var(--serif);font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:500;color:#fff;margin-bottom:14px}
.areas-sub{max-width:640px;margin:0 auto 14px;font-weight:300;color:rgba(243,247,251,.82);font-size:1.1rem}
.areas-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:940px;margin:34px auto 0;position:relative;z-index:2}
.areas-grid a,.areas-grid span{font-family:var(--sans);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(111,195,232,.32);padding:13px 22px;border-radius:40px;transition:all .4s var(--ease);cursor:default}
.areas-grid a{cursor:pointer}
.areas-grid a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}

/* ============ RESPONSIVE ============ */
@media(max-width:768px){
  .band,.svc-hero,.areas{min-height:auto;padding:90px 0}
  .band-col{max-width:100%}
  .band-h{max-width:100%}
  .band-watermark{font-size:12vw;white-space:nowrap;bottom:1%;left:0;right:auto}
  .btn:not(.nav-cta){display:flex!important;width:100%!important;min-width:0!important;box-sizing:border-box}
  .hero-cta{flex-direction:column;align-items:stretch}
  .prose{padding:56px 0}
  .prose h2{margin:34px 0 12px}
  .svc-cat{padding:46px 0}
  .county-block{padding:26px 0}
  .faq{padding:14px 0 64px}
  .faq summary{font-size:1.2rem;padding-right:36px}
  .author{padding:22px;gap:18px}
  .breadcrumb{padding:14px 22px!important}
  .areas{padding:70px 0}
  .areas-grid{gap:9px}
  .areas-grid a,.areas-grid span{font-size:.8rem;padding:11px 16px}
}
@media(max-width:640px){
  .wrap{padding:0 22px}
  .author{flex-direction:column;text-align:center}
}
@media(max-width:430px){
  .band-h{font-size:2.4rem}
  .btn{padding:15px 26px;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .band-bg img{opacity:1!important;transform:none!important}
  .band-watermark{transform:none!important}
}

/* =====================================================================
   HOMEPAGE + SERVICE-PAGE COMPONENTS (shared)
   ===================================================================== */

/* centered colored-heading section (light) */
.feature{text-align:center;padding:120px 0 60px}
.feature .eyebrow{display:block}
.feature h2{font-family:var(--serif);font-size:clamp(2.6rem,6vw,4.8rem);font-weight:500;color:var(--gold);margin:16px 0 14px;letter-spacing:-.01em}
.feature .sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--navy);font-weight:300;max-width:42ch;margin:0 auto}

/* asymmetric image + text */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:30px 0 120px;max-width:var(--maxw);margin:0 auto}
.split.flip{grid-template-columns:.95fr 1.05fr}
.split.flip .split-media{order:2}
.split-media{position:relative;overflow:hidden;height:560px;background:var(--cream-deep)}
.split-media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.5s var(--ease)}
.split:hover .split-media img{transform:scale(1.05)}
.split-copy h3{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:500;color:var(--navy);margin-bottom:20px}
.split-copy p{color:#46505b;font-weight:300;margin-bottom:18px;font-size:1.08rem}
.split-copy .btn{margin-top:12px}
.cred-row{display:flex;gap:28px;margin:30px 0;flex-wrap:wrap}
.cred-row .c{border-left:2px solid var(--gold);padding-left:14px}
.cred-row .c b{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:300;color:var(--gold)}
.cred-row .c span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* stats / trust band overlaid on brand base */
.stat-band{background:var(--navy);color:var(--cream);padding:110px 0;text-align:center;position:relative;overflow:hidden}
.stat-band .wrap{text-align:center;position:relative;z-index:2}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.stat .n{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:500;color:#fff;line-height:1}
.stat .n b{color:var(--gold-soft);font-weight:300}
.stat .l{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,247,251,.72);margin-top:14px}
.stat{position:relative;padding:0 14px}
.stat:not(:last-child)::after{content:"";position:absolute;right:-10px;top:10%;height:80%;width:1px;background:rgba(111,195,232,.25)}

/* four/N pillars grid (service overview) */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:56px auto 0;max-width:var(--maxw)}
.cat{position:relative;height:440px;overflow:hidden;display:flex;align-items:flex-end;cursor:pointer;background:var(--navy)}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,40,54,.9),rgba(12,40,54,.15) 60%,rgba(12,40,54,.35))}
.cat:hover img{transform:scale(1.08)}
.cat-body{position:relative;z-index:1;padding:30px;color:var(--cream);transition:transform .5s var(--ease)}
.cat:hover .cat-body{transform:translateY(-6px)}
.cat .num{font-size:.78rem;letter-spacing:.28em;color:var(--gold-soft)}
.cat h3{font-size:1.7rem;font-weight:400;color:#fff;margin:8px 0 10px}
.cat p{font-size:.95rem;color:rgba(243,247,251,.85);font-weight:300;max-height:0;opacity:0;overflow:hidden;transition:all .55s var(--ease)}
.cat:hover p{max-height:120px;opacity:1}
.cat .more{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-top:14px;display:inline-flex;gap:8px}

/* generic card grid (symptoms we treat / why choose) */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:var(--maxw);margin:0 auto}
.tcard{background:#fff;border:1px solid var(--cream-deep);border-radius:14px;padding:30px 28px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tcard:hover{transform:translateY(-5px);box-shadow:0 24px 56px -30px rgba(12,40,54,.5)}
.tcard .ic{font-family:var(--serif);font-size:1.4rem;color:var(--gold);margin-bottom:10px}
.tcard h4{font-family:var(--serif);font-size:1.3rem;color:var(--navy);font-weight:500;margin-bottom:8px}
.tcard p{font-size:.98rem;font-weight:300;color:#46505b;line-height:1.55}
.section-pad{padding:100px 0}
.section-pad.light{background:var(--cream)}

/* homepage hero (body-only; sits under the theme header) */
.home-hero{min-height:66vh}
.home-hero .band-h{font-size:clamp(2rem,4.4vw,3.7rem);max-width:none}
.home-hero .band-col{max-width:1000px}
.home-hero .band-p{font-size:1.24rem;max-width:560px}

@media(max-width:1024px){
  .split,.split.flip{grid-template-columns:1fr;gap:36px}
  .split.flip .split-media{order:0}
  .split-media{height:420px}
  .cats{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:40px 20px}
  .stat:nth-child(2)::after{display:none}
}
@media(max-width:768px){
  .stat-band,.section-pad{padding:70px 0}
  .feature{padding:70px 0 40px}
  .split{padding:20px 0 70px}
  .stats-grid{gap:30px}
  .stat:not(:last-child)::after{display:none}
}
@media(max-width:640px){
  .cats{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .cat{height:360px}
}

/* =====================================================================
   AVADA THEME OVERRIDE GUARD (body-only integration)
   All page bodies render inside Avada's .post-content. Avada's theme
   typography (.fusion-body h1 etc.) out-specifies our component classes,
   so we re-scope the essentials under .post-content with !important.
   Layout (grid/flex/spacing) is untouched — Avada doesn't fight it.
   ===================================================================== */
/* fonts */
.post-content h1,.post-content h2,.post-content h3,.post-content h4,
.post-content .band-h,.post-content .areas-h,.post-content .cta h2,.post-content .feature h2,.post-content .feature .sub,
.post-content .cat h3,.post-content .stat .n,.post-content .prose h2,.post-content .prose h3,.post-content .prose .lead-xl,
.post-content .cat-h,.post-content .svc-card .st,.post-content .county-name,.post-content .faq h2,.post-content .faq summary,
.post-content .author .ab b,.post-content .split-copy h3,.post-content .tcard h4{font-family:var(--serif)!important;text-transform:none!important;letter-spacing:-.01em!important}
.post-content,.post-content p,.post-content li,.post-content .band-p,.post-content .eyebrow,.post-content .areas-sub,
.post-content .cta p,.post-content .cat p,.post-content .cat .num,.post-content .cat .more,.post-content .stat .l,
.post-content .prose p,.post-content .prose li,.post-content .cat-sub,.post-content .svc-card .sd,.post-content .svc-card .sgo,
.post-content .county-note,.post-content .city-grid span,.post-content .faq details p,.post-content .author .ab .cr,
.post-content .author .ab p,.post-content .split-copy p,.post-content .tcard p,.post-content .btn,
.post-content .areas-grid a,.post-content .areas-grid span{font-family:var(--sans)!important}
/* heading sizes (preserve the display scale over Avada's responsive typography) */
.post-content .band-h{font-size:clamp(2.4rem,5.2vw,4.6rem)!important}
.post-content .home-hero .band-h{font-size:clamp(2rem,4.4vw,3.7rem)!important;max-width:none!important}
.post-content .areas-h{font-size:clamp(2.2rem,4.6vw,3.6rem)!important}
.post-content .cta h2{font-size:clamp(2.4rem,5vw,4rem)!important}
.post-content .feature h2{font-size:clamp(2.6rem,6vw,4.8rem)!important}
.post-content .prose h2{font-size:clamp(2rem,4vw,3.2rem)!important}
.post-content .stat .n{font-size:clamp(2.6rem,5vw,4.2rem)!important}
/* colors — light text on dark bands */
.post-content .band-h,.post-content .areas-h,.post-content .cta h2,.post-content .cat h3,.post-content .stat .n{color:#fff!important}
.post-content .band-p{color:rgba(243,247,251,.86)!important}
.post-content .areas-sub,.post-content .cta p{color:rgba(243,247,251,.85)!important}
.post-content .cat p{color:rgba(243,247,251,.85)!important}
.post-content .stat .n b{color:var(--gold-soft)!important}
.post-content .stat .l{color:rgba(243,247,251,.72)!important}
.post-content .band-eyebrow,.post-content .cat .num,.post-content .cat .more{color:var(--gold-soft)!important}
.post-content .areas-grid a,.post-content .areas-grid span{color:var(--cream)!important}
.post-content .areas-grid a:hover{color:#fff!important}
/* colors — dark text on light sections */
.post-content .prose h2,.post-content .prose h3,.post-content .prose .lead-xl,.post-content .feature .sub,
.post-content .cat-h,.post-content .svc-card .st,.post-content .county-name,.post-content .faq h2,.post-content .faq summary,
.post-content .author .ab b,.post-content .split-copy h3,.post-content .tcard h4,.post-content .city-grid span,.post-content .city-grid a{color:var(--navy)!important}
.post-content .feature h2{color:var(--gold)!important}
.post-content .eyebrow{color:var(--gold)!important}
.post-content .svc-card .sgo,.post-content .author .ab .cr{color:var(--gold)!important}
.post-content .prose p,.post-content .prose li{color:#3c454f!important}
.post-content .split-copy p,.post-content .tcard p,.post-content .author .ab p,.post-content .faq details p{color:#46505b!important}
.post-content .cat-sub,.post-content .county-note,.post-content .svc-card .sd{color:var(--muted)!important}
/* links inside copy */
.post-content .prose a,.post-content .faq details a{color:var(--gold)!important}
.post-content .btn{color:#fff!important}
.post-content .btn.ghost{color:var(--cream)!important}
/* neutralize Avada default list bullets/padding inside our prose */
.post-content .prose ul{list-style:none!important}
.post-content .city-grid span,.post-content .city-grid a{background:#fff!important}
.post-content .city-grid .home{background:var(--gold)!important;color:#fff!important}

/* =====================================================================
   MAIN NAV RESTYLE (Avada header) — best-effort brand theming
   ===================================================================== */
.fusion-secondary-header{background:var(--navy-deep)!important}
.fusion-secondary-header .fusion-alignright,.fusion-secondary-header a{color:var(--cream)!important}
.fusion-main-menu .fusion-menu > li > a{font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--navy)!important;text-transform:uppercase!important;font-size:.9rem!important}
.fusion-main-menu .fusion-menu > li > a:hover,.fusion-main-menu .fusion-menu > li.current-menu-item > a{color:var(--gold)!important}
.fusion-main-menu .fusion-dropdown-menu .sub-menu{border-top:3px solid var(--gold)!important;background:#fff!important}
.fusion-main-menu .fusion-dropdown-menu .sub-menu li a{font-family:var(--sans)!important;color:var(--navy)!important;border-bottom:1px solid var(--cream-deep)!important}
.fusion-main-menu .fusion-dropdown-menu .sub-menu li a:hover{color:var(--gold)!important;background:var(--cream)!important}
.fusion-main-menu ul li a:hover{border-color:var(--gold)!important}
.fusion-main-menu .menu-cta > a{background:var(--gold)!important;color:#fff!important;border-radius:4px;padding:8px 20px!important}
.fusion-main-menu .menu-cta > a:hover{background:var(--navy)!important;color:#fff!important}

/* =====================================================================
   SITE FOOTER (.livfoot) — custom brand footer
   ===================================================================== */
.livfoot{background:var(--navy-deep);color:rgba(243,247,251,.78);padding:80px 0 30px;font-family:var(--sans);font-weight:300}
.livfoot a{color:rgba(243,247,251,.78);transition:color .3s}
.livfoot a:hover{color:var(--gold-soft)}
.livfoot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.livfoot-brand h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:14px;font-weight:500}
.livfoot-brand p{font-size:.98rem;max-width:320px;margin-bottom:22px;line-height:1.6}
.livfoot h5{font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;font-weight:600}
.livfoot-col ul{list-style:none;padding:0;margin:0}
.livfoot-col ul li{margin-bottom:10px;font-size:1rem}
.livfoot-contact a{display:block;margin-bottom:12px;font-size:1rem;line-height:1.5}
.livfoot-phone{font-size:1.35rem!important;color:#fff!important;font-weight:600}
.livfoot-hours{display:grid;grid-template-columns:auto auto;gap:4px 16px;font-size:.86rem;margin:8px 0 12px;color:rgba(243,247,251,.62)}
.livfoot-hours span:nth-child(odd){color:rgba(243,247,251,.85)}
.livfoot-social{font-size:.82rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)!important}
.livfoot-bottom{border-top:1px solid rgba(111,195,232,.18);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:rgba(243,247,251,.5)}
.livfoot-legal{display:flex;gap:18px;flex-wrap:wrap}
.livfoot .btn{font-size:.82rem;padding:14px 26px}
@media(max-width:900px){.livfoot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.livfoot-grid{grid-template-columns:1fr}.livfoot-bottom{flex-direction:column;text-align:center;align-items:center}}

/* hero CTA buttons: equal-width, side-by-side, with space below (desktop) */
.svc-hero,.home-hero{padding-top:64px;padding-bottom:56px}
.post-content .band .band-col .hero-cta{gap:16px}
@media(min-width:769px){
  .post-content .band .band-col .hero-cta{flex-wrap:nowrap;max-width:none}
  .post-content .band .band-col .hero-cta .btn{flex:0 1 auto;max-width:none;width:auto!important;justify-content:center;white-space:nowrap}
}
/* Kill the ~20px white strip Avada's <main> leaves above our custom footer */
.post-content main,.fusion-fullwidth main,main{padding-bottom:0!important;margin-bottom:0!important}
/* Pre-footer CTA band: keep it centered on every page */
.areas{text-align:center}
.areas .hero-cta{justify-content:center!important;flex-wrap:wrap}

/* mobile: side padding so body text never touches the screen edges */
@media(max-width:768px){
  .post-content .prose{padding-left:22px!important;padding-right:22px!important}
  .post-content .faq{padding-left:22px!important;padding-right:22px!important}
  .post-content .feature{padding-left:22px!important;padding-right:22px!important}
  .post-content .author{margin-left:16px;margin-right:16px}
  .post-content .split{padding-left:22px!important;padding-right:22px!important}
  .post-content .split-copy,.post-content .split-media{padding-left:0;padding-right:0}
}

/* footer: Unified Marketing logo credit */
.livfoot-umg{display:inline-flex;align-items:center;gap:9px;opacity:.75;transition:opacity .3s}
.livfoot-umg:hover{opacity:1}
.livfoot-umg span{font-size:.78rem;color:rgba(243,247,251,.6)}
.livfoot-umg img{height:22px;width:auto;display:block;filter:brightness(0) invert(1)}

/* hero: Walk-Ins Welcome badge */
.hero-walkins{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:22px}
.hero-walkins span{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);display:inline-flex;align-items:center;gap:7px}

/* service-areas: centered, larger city pills */
.city-grid{justify-content:center;gap:12px}
.county-block{text-align:center}
.county-name{text-align:center}
.city-grid span,.city-grid a,
.post-content .city-grid span,.post-content .city-grid a{font-size:.95rem!important;padding:12px 22px!important}

/* ===== REVIEWS marquee (site-wide trust bar) + reviews page grid ===== */
.revwrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.agg{text-align:center;margin-bottom:40px}
.agg .stars{color:var(--gold);letter-spacing:.24em;font-size:1.5rem}
.agg .agg-h{font-family:var(--sans);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.revgrid{columns:3 320px;column-gap:20px}
.revgrid .rev-card{width:100%!important;flex:none!important;display:inline-block;break-inside:avoid;margin:0 0 20px}
.rev-card{width:360px;flex:0 0 360px;background:#fff;border:1px solid var(--cream-deep);border-radius:14px;padding:26px 28px;box-shadow:0 16px 40px rgba(17,48,82,.06);margin:0}
.rev-card .stars{color:var(--gold)!important;letter-spacing:.14em;font-size:.95rem}
.rev-card blockquote{font-family:var(--serif)!important;font-style:italic;font-size:1.08rem!important;line-height:1.5;color:var(--navy)!important;margin:14px 0 16px;font-weight:400}
.rev-card .who{display:flex;align-items:center;gap:12px}
.rev-card .av{width:40px;height:40px;border-radius:50%;background:var(--navy)!important;color:#fff!important;display:grid;place-items:center;font-weight:600;font-size:.85rem;flex:0 0 40px}
.rev-card .nm{font-weight:600;color:var(--ink)!important;display:block;font-size:.98rem}
.rev-card .tx{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important;display:block}
/* site-wide scrolling bar */
.revbar{background:var(--cream);padding:74px 0 80px;overflow:hidden}
.revbar .rb-head{text-align:center;margin-bottom:34px;padding:0 22px}
.revbar .rb-head .stars{color:var(--gold);letter-spacing:.22em;font-size:1.3rem}
.revbar .rb-head h2{font-family:var(--serif);color:var(--navy);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:500;margin:8px 0 4px}
.revbar .rb-head .meta{font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rev-track{display:flex;gap:20px;width:max-content;animation:revScroll 90s linear infinite}
.revbar:hover .rev-track{animation-play-state:paused}
@keyframes revScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:768px){.revgrid{columns:1}.rev-card{width:300px;flex-basis:300px}.rev-track{animation-duration:60s}}
@media(prefers-reduced-motion:reduce){.rev-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* buttons inside prose/faq keep white button text (not the gold link color) */
.post-content a.btn,.post-content a.btn span,.post-content .prose a.btn,.post-content .prose a.btn span,.post-content .faq a.btn,.post-content .faq a.btn span{color:#fff!important;border-bottom:0!important}
.post-content a.btn.ghost,.post-content a.btn.ghost span{color:var(--cream)!important}
/* Restore the button's OWN bottom border (the border-bottom:0 above kills Avada's link underline but also the button outline) */
.post-content a.btn{border-bottom:1px solid var(--gold)!important}
.post-content a.btn.ghost{border-bottom:1px solid rgba(255,255,255,.5)!important}
.post-content a.btn.ghost:hover{border-bottom-color:var(--gold)!important}
/* hide Avada blog archive / related posts leaking onto our custom pages */
body.page .fusion-blog-archive,body.page .fusion-related-posts,body.page .fusion-blog-layout-grid-wrapper{display:none!important}

/* contact page */
.contact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.c-card{background:#fff;border:1px solid var(--cream-deep);border-radius:14px;padding:28px 24px;text-align:center}
.c-card .eyebrow{display:block;margin-bottom:12px}
.post-content .c-card .c-big{font-family:var(--serif)!important;font-size:1.12rem!important;color:var(--navy)!important;display:block;line-height:1.45;border-bottom:0!important}
.c-hours{font-size:.95rem;color:#46505b;line-height:1.8}
.rw-holder{min-height:200px}
/* Contact: compact hero + 2-col (info left / booking form right) */
.contact-hero{min-height:auto!important;padding:68px 0 48px!important}
.contact-hero .band-p{margin-bottom:0}
.contact-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.contact-split .cs-stack{display:flex;flex-direction:column;gap:18px}
.contact-split .c-card{text-align:left}
.contact-split .cs-form{background:#fff;border:1px solid var(--cream-deep);border-radius:16px;padding:28px 30px;box-shadow:0 20px 50px rgba(17,48,82,.09)}
.contact-split .cs-form .rw-holder{min-height:500px}
@media(max-width:768px){.contact-row{grid-template-columns:1fr}.contact-split{grid-template-columns:1fr;gap:26px}.contact-split .cs-form{padding:22px 20px}}

/* ===== CUSTOM HEADER (.livhdr) — server-rendered via mu-plugin (livingston-header.html) ===== */
/* Hide the old Avada Theme Builder header (mangled paste) — our header replaces it. */
.fusion-tb-header{display:none!important}
.livhdr{font-family:var(--sans);position:relative;z-index:1000}
.livhdr-wrap{max-width:1280px;margin:0 auto;padding:0 40px;display:flex;align-items:center}
.livhdr-top{background:var(--navy-deep);color:var(--cream)}
.livhdr-top .livhdr-wrap{justify-content:space-between;height:40px;font-size:.8rem;letter-spacing:.06em}
.livhdr-top .lt-msg{color:var(--gold-soft);text-transform:uppercase;font-weight:600}
.livhdr-top .lt-call{color:#fff;font-weight:600}
.livhdr-main{background:#fff;box-shadow:0 1px 0 rgba(17,48,82,.08);position:relative}
.livhdr-main .livhdr-wrap{justify-content:space-between;min-height:78px;gap:20px}
.livhdr-logo{flex:0 0 auto}
.livhdr-logo img{height:46px;width:auto!important;max-width:none!important;display:block;object-fit:contain}
.livhdr-nav{display:flex;align-items:center;gap:26px}
.livhdr-nav>a,.livhdr-drop>a{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);white-space:nowrap;transition:color .25s}
.livhdr-nav>a:hover,.livhdr-drop>a:hover{color:var(--gold)}
.livhdr-drop{position:static;display:flex;align-items:center}
.livhdr-drop>a{display:flex;align-items:center}
.livhdr-drop>a::after{content:" \25be";color:var(--gold);display:inline-block;transition:transform .25s}
.livhdr-drop:hover>a::after{transform:rotate(180deg)}

/* ---- Mega menu ---- */
.livhdr-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:3px solid var(--gold);box-shadow:0 26px 50px rgba(17,48,82,.16);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;z-index:960}
.livhdr-drop:hover .livhdr-mega{opacity:1;visibility:visible;transform:none}
.livhdr-mega-inner{max-width:1280px;margin:0 auto;padding:32px 40px;display:flex;gap:30px;align-items:stretch}
.livhdr-mcol{flex:1 1 0;min-width:0}
.livhdr-mcol h4{font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--cream-deep)}
.livhdr-mcol a{display:block;padding:8px 0;font-size:.95rem;font-weight:500;color:var(--navy);letter-spacing:0;text-transform:none;white-space:normal;transition:color .2s,padding .2s}
.livhdr-mcol a:hover{color:var(--gold);padding-left:6px}
.livhdr-mega-feat{flex:0 0 262px;background:var(--navy);color:#fff;border-radius:12px;padding:24px 26px;display:flex;flex-direction:column}
.livhdr-mega-feat .mf-eyebrow{font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.livhdr-mega-feat .mf-title{font-family:var(--serif);font-size:1.42rem;line-height:1.15;margin:12px 0 20px;color:#fff}
.livhdr-mega-feat .mf-btn{align-self:flex-start;background:var(--gold);color:#fff;font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:12px 22px;border-radius:6px;transition:background .25s}
.livhdr-mega-feat .mf-btn:hover{background:#fff;color:var(--navy)}
.livhdr-mega-feat .mf-link{margin-top:14px;color:var(--gold-soft);font-size:.86rem;font-weight:500}
.livhdr-mega-feat .mf-link:hover{color:#fff}

.livhdr-cta{background:var(--gold)!important;color:#fff!important;padding:12px 22px;border-radius:5px;transition:background .25s}
.livhdr-cta:hover{background:var(--navy)!important}
.livnav-cb,.livhdr-burger{display:none}
.livhdr-burger{flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.livhdr-burger span{width:26px;height:2px;background:var(--navy);display:block;transition:.3s}

@media(max-width:1024px){
  .livhdr-burger{display:flex}
  .livhdr-nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 22px;box-shadow:0 16px 30px rgba(0,0,0,.14);display:none;max-height:calc(100vh - 118px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .livnav-cb:checked~.livhdr-nav{display:flex}
  .livhdr-drop{display:block}
  .livhdr-nav>a,.livhdr-drop>a{display:block;padding:15px 2px;border-bottom:1px solid var(--cream-deep)}
  .livhdr-drop>a::after{float:right;color:var(--gold)}
  /* mega collapses to an inline accordion — always expanded, tap-friendly */
  .livhdr-mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;background:transparent;z-index:auto}
  .livhdr-mega-inner{display:block;max-width:none;margin:0;padding:6px 0 12px 14px}
  .livhdr-mcol{margin:0}
  .livhdr-mcol h4{margin:12px 0 2px;padding:0;border:0;font-size:.66rem}
  .livhdr-mcol a{padding:11px 0;font-size:1rem;border-bottom:1px solid var(--cream)}
  .livhdr-mega-feat{display:none} /* upsell card hidden on mobile — keeps menu tight */
  .livhdr-cta{text-align:center;margin-top:14px;padding:15px}
  .livhdr-top .lt-msg{display:none}
  .livhdr-top .livhdr-wrap{justify-content:center;gap:18px}
}

/* =====================================================================
   Enlarged CTA · ghost service-card numbers · site-wide micro-animations
   (all auto-disabled under prefers-reduced-motion via the * rule above)
   ===================================================================== */

/* --- Bigger, animated header CTA --- */
.livhdr-cta{font-size:.92rem!important;padding:16px 34px!important;border-radius:8px;box-shadow:0 8px 22px rgba(48,156,204,.34);transition:transform .3s var(--ease),background .25s,box-shadow .3s}
.livhdr-cta:hover{background:var(--navy)!important;transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,48,82,.40)}

/* --- Very large GHOST (outlined) numbers + bigger "Learn more" on service cards --- */
.post-content .cat .num,.cat .num{display:block;font-family:var(--serif);font-size:clamp(3.8rem,6.5vw,5.6rem)!important;line-height:.82;letter-spacing:0!important;font-weight:500;color:transparent!important;-webkit-text-stroke:1.5px rgba(255,255,255,.5);margin:0 0 6px;transition:-webkit-text-stroke-color .45s var(--ease),transform .55s var(--ease)}
.cat:hover .num{-webkit-text-stroke-color:rgba(111,195,232,.92);transform:translateY(-3px)}
.post-content .cat .more,.cat .more{font-size:.98rem!important;letter-spacing:.12em;font-weight:600;transition:gap .3s var(--ease)}
.cat:hover .more{gap:14px}

/* --- Site-wide micro-animations --- */
.btn{will-change:transform}
.btn:hover,.livfoot .btn:hover{transform:translateY(-2px)}
.livhdr-mega-feat .mf-btn{transition:background .25s,transform .25s var(--ease)}
.livhdr-mega-feat .mf-btn:hover{transform:translateY(-2px)}
/* animated nav underline (not the CTA button) */
.livhdr-nav>a:not(.livhdr-cta),.livhdr-drop>a{position:relative}
.livhdr-nav>a:not(.livhdr-cta)::before,.livhdr-drop>a::before{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--gold);transition:width .28s var(--ease)}
.livhdr-nav>a:not(.livhdr-cta):hover::before,.livhdr-drop:hover>a::before{width:100%}
/* contact-info cards lift */
.c-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.c-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(17,48,82,.10);border-color:var(--gold)}
/* service-grid arrow nudge + logo micro-zoom */
.svc-card .sgo{transition:transform .3s var(--ease)}
.svc-card:hover .sgo{transform:translateX(6px)}
.livhdr-logo img{transition:transform .4s var(--ease)}
.livhdr-logo:hover img{transform:scale(1.05)}
@media(max-width:1024px){.livhdr-cta{padding:15px 24px!important}}

/* "Care We Provide…" section heading + intro centered on all pages */
.svc-cat .cat-h,.svc-cat .cat-sub,.post-content .svc-cat .cat-h,.post-content .svc-cat .cat-sub{text-align:center!important}
.svc-cat .cat-sub{margin-left:auto;margin-right:auto}
/* Service cards: "Learn more" on its own line, bottom-aligned across every card in the row */
.svc-card{display:flex;flex-direction:column}
.svc-card .st,.svc-card .sd{display:block}
.svc-card .sgo{display:block!important;margin-top:auto;padding-top:14px}

/* Local service-area (city) page heroes: one shared image, slid down so the head isn't cropped */
.band-bg img[src*="back-pain-chiropractic-livingston-scaled"]{object-position:center 20%!important}
