/* =====================================================================
   Fairfield Wellness & Physical Therapy — 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 RED #D1002E + WHITE + BLACK (near-black #161418)
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root{
  /* FFWPT brand (from logo): RED #D1002E + WHITE + BLACK + GREY */
  --navy:#161418;         /* deep brand base (dark sections) */
  --navy-deep:#0A0A0B;    /* deepest ink for footer / scrims */
  --gold:#D1002E;         /* brand red — accent (eyebrows, links, ghost) */
  --gold-soft:#FF5568;    /* light red — accent on black */
  --warm:#D1002E;         /* brand red — primary CTA buttons (strong CTA) */
  --warm-deep:#A80025;
  --cream:#F6F6F5;
  --cream-deep:#E7E5E3;
  --ink:#1B1B1E;             /* near-black body text */
  --muted:#6E7175;         /* brand grey — secondary text */
  --grey:#6E7175;         /* brand grey */
  --grey-light:#EDEDEB;    /* light grey — alt section backgrounds */
  --grey-line:#E2E2E0;     /* hairline dividers */
  --white:#fff;
  --serif:'Anton',Impact,sans-serif;   /* Anton — display headings (Blew Bayou) */
  --sans:'Inter',-apple-system,Segoe UI,sans-serif; /* Inter — body/UI (Blew Bayou) */
  --head:'Anton',Impact,sans-serif;    /* Anton display */
  --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(248,248,247,.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%,#6E0A1C 0%,var(--navy) 46%,var(--navy-deep) 100%)}

/* CTA band */
.cta .band-scrim{background:linear-gradient(rgba(10,10,11,.72),rgba(10,10,11,.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(248,248,247,.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(209,0,46,.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(248,248,247,.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(209,0,46,.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(248,248,247,.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(255,85,104,.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(248,248,247,.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(255,85,104,.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(10,10,11,.9),rgba(10,10,11,.15) 60%,rgba(10,10,11,.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(248,248,247,.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(10,10,11,.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(248,248,247,.86)!important}
.post-content .areas-sub,.post-content .cta p{color:rgba(248,248,247,.85)!important}
.post-content .cat p{color:rgba(248,248,247,.85)!important}
.post-content .stat .n b{color:var(--gold-soft)!important}
.post-content .stat .l{color:rgba(248,248,247,.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 (.fffoot) — custom brand footer
   ===================================================================== */
.fffoot{background:var(--navy-deep);color:rgba(248,248,247,.78);padding:80px 0 30px;font-family:var(--sans);font-weight:300}
.fffoot a{color:rgba(248,248,247,.78);transition:color .3s}
.fffoot a:hover{color:var(--gold-soft)}
.fffoot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.fffoot-brand h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:14px;font-weight:500}
.fffoot-brand p{font-size:.98rem;max-width:320px;margin-bottom:22px;line-height:1.6}
.fffoot h5{font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;font-weight:600}
.fffoot-col ul{list-style:none;padding:0;margin:0}
.fffoot-col ul li{margin-bottom:10px;font-size:1rem}
.fffoot-contact a{display:block;margin-bottom:12px;font-size:1rem;line-height:1.5}
.fffoot-phone{font-size:1.35rem!important;color:#fff!important;font-weight:600}
.fffoot-hours{display:grid;grid-template-columns:auto auto;gap:4px 16px;font-size:.86rem;margin:8px 0 12px;color:rgba(248,248,247,.62)}
.fffoot-hours span:nth-child(odd){color:rgba(248,248,247,.85)}
.fffoot-social{font-size:.82rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)!important}
.fffoot-bottom{border-top:1px solid rgba(255,85,104,.18);margin-top:56px;padding-top:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;font-size:.82rem;color:rgba(248,248,247,.5)}
.fffoot-legal{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.fffoot .btn{font-size:.82rem;padding:14px 26px}
@media(max-width:900px){.fffoot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fffoot-grid{grid-template-columns:1fr}.fffoot-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 */
.fffoot-umg{display:inline-flex;align-items:center;gap:9px;opacity:.75;transition:opacity .3s}
.fffoot-umg:hover{opacity:1}
.fffoot-umg span{font-size:.78rem;color:rgba(248,248,247,.6)}
.fffoot-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(10,10,11,.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(10,10,11,.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 (.ffhdr) — 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}
.ffhdr{font-family:var(--sans);position:relative;z-index:1000}
.ffhdr-wrap{max-width:1280px;margin:0 auto;padding:0 40px;display:flex;align-items:center}
.ffhdr-top{background:var(--navy-deep);color:var(--cream)}
.ffhdr-top .ffhdr-wrap{justify-content:space-between;height:40px;font-size:.8rem;letter-spacing:.06em}
.ffhdr-top .lt-msg{color:var(--gold-soft);text-transform:uppercase;font-weight:600}
.ffhdr-top .lt-call{color:#fff;font-weight:600}
.ffhdr-main{background:#fff;box-shadow:0 1px 0 rgba(10,10,11,.08);position:relative}
.ffhdr-main .ffhdr-wrap{justify-content:space-between;min-height:78px;gap:20px}
.ffhdr-logo{flex:0 0 auto}
.ffhdr-logo img{height:52px;width:auto!important;max-width:none!important;display:block;object-fit:contain}
.ffhdr-nav{display:flex;align-items:center;gap:19px}
.ffhdr-nav>a,.ffhdr-drop>a{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);white-space:nowrap;transition:color .25s}
@media(min-width:1025px) and (max-width:1320px){.ffhdr-nav{gap:15px}.ffhdr-nav>a,.ffhdr-drop>a{font-size:.78rem;letter-spacing:.02em}.ffhdr-cta{padding:14px 22px!important;font-size:.82rem!important}}
.ffhdr-nav>a:hover,.ffhdr-drop>a:hover{color:var(--gold)}
.ffhdr-drop{position:static;display:flex;align-items:center}
.ffhdr-drop>a{display:flex;align-items:center}
.ffhdr-drop>a::after{content:" \25be";color:var(--gold);display:inline-block;transition:transform .25s}
.ffhdr-drop:hover>a::after{transform:rotate(180deg)}

/* ---- Mega menu ---- */
.ffhdr-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:3px solid var(--gold);box-shadow:0 26px 50px rgba(10,10,11,.16);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;z-index:960}
.ffhdr-drop:hover .ffhdr-mega{opacity:1;visibility:visible;transform:none}
.ffhdr-mega-inner{max-width:1280px;margin:0 auto;padding:32px 40px;display:flex;gap:30px;align-items:stretch}
.ffhdr-mcol{flex:1 1 0;min-width:0}
.ffhdr-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)}
.ffhdr-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}
.ffhdr-mcol a:hover{color:var(--gold);padding-left:6px}
.ffhdr-mega-feat{flex:0 0 262px;background:var(--navy);color:#fff;border-radius:12px;padding:24px 26px;display:flex;flex-direction:column}
.ffhdr-mega-feat .mf-eyebrow{font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.ffhdr-mega-feat .mf-title{font-family:var(--serif);font-size:1.42rem;line-height:1.15;margin:12px 0 20px;color:#fff}
.ffhdr-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}
.ffhdr-mega-feat .mf-btn:hover{background:#fff;color:var(--navy)}
.ffhdr-mega-feat .mf-link{margin-top:14px;color:var(--gold-soft);font-size:.86rem;font-weight:500}
.ffhdr-mega-feat .mf-link:hover{color:#fff}

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

@media(max-width:1024px){
  .ffhdr-burger{display:flex}
  .ffhdr-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}
  .ffnav-cb:checked~.ffhdr-nav{display:flex}
  .ffhdr-drop{display:block}
  .ffhdr-nav>a,.ffhdr-drop>a{display:block;padding:15px 2px;border-bottom:1px solid var(--cream-deep)}
  .ffhdr-drop>a::after{float:right;color:var(--gold)}
  /* mega collapses to an inline accordion — always expanded, tap-friendly */
  .ffhdr-mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;background:transparent;z-index:auto}
  .ffhdr-mega-inner{display:block;max-width:none;margin:0;padding:6px 0 12px 14px}
  .ffhdr-mcol{margin:0}
  .ffhdr-mcol h4{margin:12px 0 2px;padding:0;border:0;font-size:.66rem}
  .ffhdr-mcol a{padding:11px 0;font-size:1rem;border-bottom:1px solid var(--cream)}
  .ffhdr-mega-feat{display:none} /* upsell card hidden on mobile — keeps menu tight */
  .ffhdr-cta{text-align:center;margin-top:14px;padding:15px}
  .ffhdr-top .lt-msg{display:none}
  .ffhdr-top .ffhdr-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 --- */
.ffhdr-cta{font-size:.92rem!important;padding:16px 34px!important;border-radius:8px;box-shadow:0 8px 22px rgba(209,0,46,.34);transition:transform .3s var(--ease),background .25s,box-shadow .3s}
.ffhdr-cta:hover{background:var(--navy)!important;transform:translateY(-3px);box-shadow:0 14px 30px rgba(10,10,11,.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(255,85,104,.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,.fffoot .btn:hover{transform:translateY(-2px)}
.ffhdr-mega-feat .mf-btn{transition:background .25s,transform .25s var(--ease)}
.ffhdr-mega-feat .mf-btn:hover{transform:translateY(-2px)}
/* animated nav underline (not the CTA button) */
.ffhdr-nav>a:not(.ffhdr-cta),.ffhdr-drop>a{position:relative}
.ffhdr-nav>a:not(.ffhdr-cta)::before,.ffhdr-drop>a::before{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--gold);transition:width .28s var(--ease)}
.ffhdr-nav>a:not(.ffhdr-cta):hover::before,.ffhdr-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(10,10,11,.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)}
.ffhdr-logo img{transition:transform .4s var(--ease)}
.ffhdr-logo:hover img{transform:scale(1.05)}
@media(max-width:1024px){.ffhdr-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}

/* raw HTML lives in post_content (no base64, for Rank Math) — hide the empty <p> wpautop injects */
.post-content p:empty{display:none!important;margin:0!important}

/* Auto table of contents (jump-nav from H2s) — see .ff-toc in master.js */
.ff-toc{background:var(--cream);border:1px solid var(--cream-deep);border-left:3px solid var(--gold);border-radius:10px;padding:22px 26px;margin:0 0 30px;max-width:820px}
.ff-toc .ff-toc-h{display:block;font-family:var(--sans);font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.ff-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;columns:2;column-gap:34px}
.ff-toc li{counter-increment:toc;break-inside:avoid;padding:5px 0}
.ff-toc li a{color:var(--navy);font-size:.98rem;border-bottom:0}
.ff-toc li a::before{content:counter(toc) ". ";color:var(--gold);font-weight:600}
.ff-toc li a:hover{color:var(--gold)}
.post-content .ff-toc li a{color:var(--navy)!important}
@media(max-width:600px){.ff-toc ol{columns:1}}

/* wpautop-proof service cards: card is a div, link is a stretched overlay */
.cat{position:relative}
.cat-link{position:absolute;inset:0;z-index:3;font-size:0}
.cat-body{z-index:2}

/* ===== BLOG POSTS & INDEX (added 2026-07-05) ===== */
/* hide Avada single-post chrome so our 2026 design owns the page */
body.single-post .fusion-page-title-bar,body.single-post .fusion-page-title-captions,
body.single-post .post-slideshow,body.single-post .fusion-flexslider.post-slideshow,
body.single-post .single-navigation,body.single-post .fusion-meta-info,
body.single-post .about-author,body.single-post .fusion-comments,body.single-post #comments,
body.single-post #respond,body.single-post .post-content>.entry-title,
body.single-post article>.entry-title,body.single-post .fusion-single-line-meta,
body.single-post .fusion-content-sep,body.single-post .blog-shortcode-post-title{display:none!important}
body.single-post #content,body.single-post .fusion-row{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important}
body.single-post #main{padding:0!important;border:0!important}
body.single-post .post-content{margin:0!important}
/* post hero slightly shorter than service hero */
.post-hero{min-height:52vh}
.post-meta{display:flex;align-items:center;gap:12px;margin-top:22px}
.post-meta img{border-radius:50%;border:2px solid rgba(255,255,255,.6)}
.post-content .post-meta span,.post-meta span{color:var(--cream)!important;font-family:var(--sans);font-size:.92rem;letter-spacing:.02em}
/* related-care internal-link grid */
.rl{padding:46px 0}
.rl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}
.post-content a.rl-link{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--cream-deep)!important;border-radius:12px;padding:15px 20px;color:var(--navy)!important;font-family:var(--serif)!important;font-size:1.04rem;transition:.2s}
.post-content a.rl-link:hover{border-color:var(--gold)!important;box-shadow:0 12px 30px rgba(10,10,11,.08);transform:translateY(-2px)}
.rl-ar{color:var(--gold);font-size:1.3rem}
/* blog index / master page grid */
.blogx{padding:52px 0}
.blogx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;margin-top:8px}
.bx-card{background:#fff;border:1px solid var(--cream-deep);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 40px rgba(10,10,11,.06);transition:.2s}
.bx-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(10,10,11,.12)}
.bx-card .bx-img{aspect-ratio:16/9;overflow:hidden;background:var(--cream-deep)}
.bx-card .bx-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.bx-card:hover .bx-img img{transform:scale(1.05)}
.bx-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.bx-cat{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:10px}
.post-content .bx-card h3,.bx-card h3{font-family:var(--serif)!important;font-size:1.24rem!important;line-height:1.3;color:var(--navy)!important;margin:0 0 10px;font-weight:600}
.post-content .bx-card h3 a{color:var(--navy)!important;border-bottom:0!important}
.post-content .bx-card h3 a:hover{color:var(--gold)!important}
.bx-ex{color:#54606b;font-size:.95rem;line-height:1.6;flex:1}
.bx-date{margin-top:16px;font-size:.82rem;color:#8a94a0;font-family:var(--sans)}
.blogx-cats{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.blogx-cats a{font-family:var(--sans);font-size:.82rem;padding:8px 16px;border:1px solid var(--cream-deep);border-radius:999px;color:var(--navy)!important;background:#fff;border-bottom:1px solid var(--cream-deep)!important;transition:.2s}
.blogx-cats a:hover,.blogx-cats a.on{background:var(--navy);color:var(--cream)!important;border-color:var(--navy)!important}
/* From-the-blog site-wide injected block */
.fromblog{padding:54px 0;background:var(--cream)}
.fromblog .wrap>.eyebrow{display:block;text-align:center}
.fromblog h2{text-align:center;font-family:var(--serif);color:var(--navy);font-size:clamp(1.6rem,3vw,2.2rem);margin:6px 0 26px}
@media(max-width:640px){.blogx-grid{grid-template-columns:1fr}.rl-grid{grid-template-columns:1fr}}
/* ===== end blog ===== */

/* hide Avada native related-posts / author / share on single posts (we inject our own) */
body.single-post .fusion-related-posts,body.single-post .related-posts,
body.single-post .fusion-author,body.single-post .author-bio,
body.single-post .fusion-sharing-box,body.single-post .share-box,
body.single-post .fusion-content-widget-area,body.single-post .avada-related-posts{display:none!important}
/* injected on-brand related-articles / from-the-blog cards use .blogx-grid/.bx-card (defined above) */

/* CTA band: force-center content inside post-content (auto-margins get stripped by .post-content p rules) */
.areas .wrap{text-align:center}
.post-content .areas-sub,.areas-sub{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.areas .eyebrow,.post-content .areas .eyebrow{text-align:center!important;width:100%}
.areas .hero-cta{display:flex!important;justify-content:center!important;flex-wrap:wrap}

/* =====================================================================
   FFWPT OVERRIDES — strong warm CTA, brand refinements, team-in-color
   ===================================================================== */
/* Primary (solid) buttons use the warm coral CTA; hover slides to deep teal. */
.btn{background:var(--warm);border-color:var(--warm);box-shadow:0 10px 24px -12px rgba(209,0,46,.7)}
.btn::after{background:var(--navy)}
.btn:hover{color:#fff}
/* keep explicit navy/teal buttons (inline style="background:var(--navy)") readable on hover */
.btn[style*="--navy"]::after,.btn[style*="navy"]::after{background:var(--warm)}
/* Header CTA + footer CTA feel */
.ffhdr-cta{background:var(--warm)!important;border-color:var(--warm)!important}
.mf-btn{background:var(--warm)!important}
/* Team & story headshots keep natural color (friendlier than grayscale) */
.in-color img,.team-card img,.author.in-color img{filter:none!important}
/* Modern lift on service/area cards */
.cat{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cat:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(10,10,11,.45)}
/* Warm accent for stat highlight numbers */
.stat .n b,.stat .n{color:var(--gold-soft)}

/* Brand grey utilities (red/white/black/grey system) */
.sec-grey{background:var(--grey-light)}
.prose ul li{border-bottom-color:var(--grey-line)}
.faq details{border-bottom-color:var(--grey-line)}
.eyebrow{color:var(--gold)} /* red eyebrows */
.stat .l{color:var(--grey)}

/* ===== Blew Bayou font system (Anton display + Inter body) refinements ===== */
/* Anton has no true italic — use red emphasis instead of synthesized slant */
.band-h i,.cta h2 i,.areas-h i{font-style:normal;color:var(--gold-soft)}
/* Anton is condensed & impactful — give headings a touch of tracking, not negative */
h1,h2,h3,h4,.band-h,.areas-h,.cta h2,.cat h3,.prose h2,.faq h2{letter-spacing:.01em;font-weight:400}
.band-h{letter-spacing:.005em;line-height:1.02}
/* Large lead paragraphs read better in Inter, not Anton */
.prose .lead-xl{font-family:var(--sans);font-style:normal;font-weight:400;color:var(--navy)}
/* Small sub-headings / questions: Anton mixed-case is fine, keep it tight */
.faq summary{font-family:var(--serif);font-weight:400;letter-spacing:.01em}
.author .ab b{font-family:var(--serif);font-weight:400;letter-spacing:.01em}
/* Eyebrows stay Inter (uppercase tracked) */
.eyebrow,.mf-eyebrow,.ffhdr-mcol h4{font-family:var(--sans)}

/* =====================================================================
   FFWPT DISTINCT IDENTITY — bold/athletic, clearly NOT Livingston Chiro
   (uppercase Anton display, sharp corners, heavy red rules, color team)
   ===================================================================== */
/* Uppercase, high-impact display headings */
.band-h,.areas-h,.cta h2,.feature h2,.cat h3,.prose h2,.stat-band .eyebrow,.stat .n,.rb-head h2,.svc-cat .cat-h{
  text-transform:uppercase;letter-spacing:.012em}
.band-h{line-height:1;font-size:clamp(2.8rem,6vw,5.4rem)}
.feature h2{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1}
.cat h3{font-size:1.55rem;line-height:1.02}
.faq summary{text-transform:none} /* questions stay sentence case for readability */

/* Red accent rule before every eyebrow (signature detail) */
.eyebrow{display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:3px;background:var(--gold);display:inline-block}
.band-eyebrow::before,.stat-band .eyebrow::before{background:var(--gold)}
.feature .eyebrow,.faq h2{justify-content:center}
.feature .eyebrow{justify-content:center}

/* Sharp, brutalist corners (Livingston is soft/rounded) */
.btn,.ffhdr-cta,.mf-btn,.ffhdr-mega-feat,.cat,.author,.svc-card{border-radius:0!important}
.areas-grid a,.areas-grid span{border-radius:0!important;border-width:1px;letter-spacing:.14em}
.areas-grid a:hover{transform:translateY(-2px)}

/* Heavier red top-rule on black service cards */
.cats.no-img .cat,.cat{border-top:3px solid var(--gold)}

/* Team & story photos in COLOR (Livingston runs grayscale) */
.split-media.in-color img,.team-card img,.author.in-color img{filter:saturate(1.02) contrast(1.02)!important}

/* Marquee ticker (Blew Bayou signature) */
.ffticker{background:var(--gold);color:#fff;overflow:hidden;white-space:nowrap;border-top:2px solid #000;border-bottom:2px solid #000}
.ffticker .ff-track{display:inline-flex;align-items:center;gap:0;animation:ffMarquee 26s linear infinite;will-change:transform}
.ffticker span{font-family:var(--serif);text-transform:uppercase;font-size:1.15rem;letter-spacing:.04em;padding:14px 0;display:inline-flex;align-items:center}
.ffticker span::after{content:"\25C6";font-size:.6rem;margin:0 26px;opacity:.85}
@keyframes ffMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ffticker .ff-track{animation:none}}

/* Anton is display-only: long text / names / questions read better in Inter */
.rev-card blockquote{font-family:var(--sans)!important;font-style:italic;font-weight:400}
.faq summary{font-family:var(--sans)!important;font-weight:700;letter-spacing:0}
.author .ab b{font-family:var(--sans)!important;font-weight:800;letter-spacing:0}
.split-copy h3{letter-spacing:.01em}
.c-card .c-big{font-family:var(--sans)!important;font-weight:800}
/* contact split responsive + map */
.cs-map iframe{width:100%;display:block}
@media(max-width:900px){.contact-split{grid-template-columns:1fr!important}}

/* Homepage owners duo (Sean + James side by side) */
.owner-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.owner-duo figure{margin:0}
.owner-duo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;filter:none!important;border-top:3px solid var(--gold);display:block}
.owner-duo figcaption{margin-top:10px}
.owner-duo figcaption b{font-family:var(--serif);font-size:1.05rem;color:var(--navy);display:block;letter-spacing:.01em;text-transform:uppercase;line-height:1.05}
.owner-duo figcaption span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;display:block;margin-top:3px}

/* Homepage owners split: side padding so photos aren't flush to the viewport edge */
.split:has(.owner-duo){padding-left:40px;padding-right:40px;gap:48px}
@media(max-width:768px){.split:has(.owner-duo){padding-left:22px;padding-right:22px}}

/* About/team splits: pad the bio text (image can stay flush to edge) */
.split:not(:has(.owner-duo)) .split-copy{padding-left:40px;padding-right:40px}
@media(max-width:768px){.split:not(:has(.owner-duo)) .split-copy{padding-left:24px;padding-right:24px}}
