/* VENDORED VERBATIM from the FROZEN design board `back-pain.html` (variant-b, rounds 1-4).
   GENERATED by scripts/gen/gen-board-css.mjs. Do not edit: check-board-css.mjs
   re-derives this file from the board every build and fails on drift.
   Everything below this header is byte-identical to that page's <style> block. */
/* ============================================================
   REVIVE BY MWS, editorial healthcare build (matches Home Page / About Us)
   Display: Playfair Display · UI/body: Inter
   black #0A0A0A · ink #131312 · beige #D9A38E · bg #F5F5F5 · white #FFF · gray #E1E1E1
   ============================================================ */
:root{
  --black:#0A0A0A;
  --ink:#131312;
  --beige:#D9A38E;
  --bg:#F5F5F5;
  --white:#FFFFFF;
  --gray:#E1E1E1;

  --clay:#975537;
  --beige-lo:#EAC9B9;
  --ink-90:rgba(19,19,18,.9);  --ink-72:rgba(19,19,18,.72); --ink-62:rgba(19,19,18,.62);
  --ink-58:rgba(19,19,18,.58); --ink-40:rgba(19,19,18,.4); --ink-16:rgba(19,19,18,.16); --ink-09:rgba(19,19,18,.09);
  --line:var(--gray);
  --line-dark:rgba(255,255,255,.14);
  --cod:#FFFFFF;
  --mist:rgba(255,255,255,.72);

  --f-d:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-b:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  --s--1:clamp(.72rem,.7rem + .1vw,.78rem);
  --s-0:clamp(.97rem,.95rem + .12vw,1.03rem);

  --sp:clamp(4.5rem,3rem + 5.6vw,7.5rem);
  --gut:clamp(1.25rem,.5rem + 2.6vw,2.75rem);
  --cgap:1.25rem;
  --maxw:1240px;

  --r-s:8px; --r-m:18px; --r-l:18px; --r-xl:18px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(19,19,18,.03),0 16px 32px -22px rgba(19,19,18,.16);
  --sh-2:0 24px 56px -28px rgba(19,19,18,.22);
  --ease:cubic-bezier(.22,.61,.36,1);
  --eout:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--f-b);font-size:var(--s-0);line-height:1.7;color:var(--ink);
  background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg,iframe{display:block;max-width:100%}img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none;-webkit-appearance:none;appearance:none}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;box-shadow:none}
.on-dark :focus-visible{outline-color:var(--beige)}
h1,h2,h3,h4{font-family:var(--f-d);font-weight:400;line-height:1.06;letter-spacing:-.012em}
.i{font-style:italic;color:#000}
.on-dark .i{color:var(--beige)}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:var(--sp)}

.eyebrow{display:inline-flex;align-items:center;gap:.85rem;font-family:var(--f-b);font-size:var(--s--1);
  font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--clay)}
.eyebrow::before{content:"";width:32px;height:1px;flex:none;background:var(--beige);border-radius:999px}
.eyebrow.on-dark{color:rgba(255,255,255,.76)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-weight:600;
  font-size:var(--s-0);line-height:1;padding:1rem 1.6rem;border-radius:var(--r-pill);
  transition:transform .35s var(--ease),background-color .35s var(--ease),color .35s var(--ease),
  border-color .35s var(--ease),box-shadow .35s var(--ease);white-space:nowrap}
.btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.btn:hover svg{transform:translateX(3px)}
.btn-dark{background:var(--black);color:var(--white);border-color:var(--black)}
.btn-dark:hover{background:var(--ink);border-color:var(--ink);box-shadow:var(--sh-2)}
.btn-bronze{background:var(--beige);color:var(--ink);border-color:var(--beige)}
.btn-bronze:hover{background:var(--beige-lo);border-color:var(--beige-lo);color:var(--ink);box-shadow:var(--sh-2)}
.btn-ghost-dark{background:transparent;color:var(--cod);border:1px solid var(--line-dark)}
.btn-ghost-dark:hover{background:var(--cod);color:var(--ink)}
.btn-lg{padding:1.15rem 1.9rem}

.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--eout),transform .9s var(--eout)}
.js .reveal.in{opacity:1;transform:none}
.js [data-d]{transition-delay:var(--d)}

/* ============================================================ ANNOUNCEMENT + NAV (global, identical to Home Page / About Us) */
.announce{background:var(--black);padding:.75rem var(--gut);text-align:center}
.announce p{font-family:var(--f-b);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.78);line-height:1.5;margin:0}
.announce .i{color:var(--beige);font-weight:600;font-style:normal}
@media(max-width:640px){
  .announce p{font-size:.64rem;letter-spacing:.12em;line-height:1.5}
}

.nav{position:sticky;top:0;margin-bottom:calc(-1 * var(--nav-h, 76px));
  z-index:100;color:var(--ink);background:var(--white);border-bottom:1px solid var(--line)}
.nav-in{position:relative;width:100%;max-width:var(--maxw);margin-inline:auto;display:flex;align-items:center;
  justify-content:space-between;gap:1.5rem;padding:.85rem clamp(1.5rem,4vw,4rem)}
.brand{display:inline-flex;align-items:center;line-height:0;color:inherit}
.brand-logo{height:clamp(26px,2.5vw,34px);width:auto;display:block;filter:brightness(0)}
.nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;
  gap:clamp(1.1rem,1.9vw,2.2rem);list-style:none;white-space:nowrap}
.nav-links a{position:relative;font-size:calc(.7rem + 1px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:inherit;opacity:.82;padding:.4rem 0;transition:opacity .3s var(--ease)}
.nav-links a[aria-current="page"]{opacity:1}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--beige);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.nav .btn{padding:.85rem 1.4rem;font-size:calc(.68rem + 1px)}
.nav-phone{background:var(--beige);color:var(--ink);border-color:var(--beige)}
.nav-phone:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.nav-phone svg{width:14px;height:14px}
.nav-phone:hover svg{transform:none}
.m-phone{display:inline-flex!important;font-size:calc(.76rem + 1px)!important;letter-spacing:.14em;
  padding:1.15rem 1.9rem!important;margin-top:1.6rem;
  background:var(--beige)!important;color:var(--ink)!important;border-color:var(--beige)!important}
.m-phone svg{width:15px;height:15px}
.m-phone:hover{background:var(--white)!important;border-color:var(--white)!important}
.nav-tog{display:none;width:44px;height:44px;align-items:center;justify-content:center;color:inherit}
.nav-tog svg{width:22px;height:22px}
.m-menu{position:fixed;inset:0;z-index:150;background:var(--black);transform:translateY(-100%);
  transition:transform .7s var(--eout);display:flex;flex-direction:column;justify-content:center;
  padding:var(--gut);visibility:hidden}
.m-menu.open{transform:none;visibility:visible}
.m-menu ul{list-style:none;display:flex;flex-direction:column;gap:0}
.m-menu li{border-bottom:1px solid var(--line-dark)}
.m-menu li:last-child{border-bottom:0}
.m-menu a{font-family:var(--f-d);font-size:calc(clamp(1.72rem,7.2vw,2.5rem) + 1px);letter-spacing:-.012em;
  color:var(--white);padding:.75rem 0;display:block}
.m-menu a:hover{color:var(--beige)}
.m-close{position:absolute;top:1.2rem;right:var(--gut);width:48px;height:48px;color:var(--white)}
.m-close svg{width:26px;height:26px}

@media(max-width:1024px){.nav-links,.nav-cta .btn,.nav-phone{display:none}.nav-tog{display:flex}}

/* ============================================================ HERO (dark, B&W photo, matches About Us opening) */
.cond-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--black);color:var(--white);
  min-height:clamp(360px,42vw,500px);display:flex;align-items:center;
  padding-block:clamp(2.6rem,1.8rem + 3.6vw,4rem)}
.cond-hero-photo{position:absolute;inset:0;z-index:-2}
.cond-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;
  filter:grayscale(1) contrast(1.03) brightness(.7)}
.cond-hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(94deg,rgba(10,10,10,.8) 0%,rgba(10,10,10,.7) 40%,rgba(10,10,10,.46) 72%,rgba(10,10,10,.26) 100%),
  linear-gradient(180deg,rgba(10,10,10,.28) 0%,rgba(10,10,10,.02) 40%,rgba(10,10,10,.36) 100%)}
.crumb{position:relative;display:flex;align-items:center;gap:.6rem;margin-bottom:clamp(1rem,1.6rem + 1vw,1.4rem);
  font-size:.78rem;color:rgba(255,255,255,.6)}
.crumb a{color:rgba(255,255,255,.6);transition:color .3s var(--ease)}
.crumb a:hover{color:var(--white)}
.crumb span[aria-current]{color:var(--white)}
.cond-hero-in{position:relative;max-width:52rem}
.cond-hero h1{font-weight:400;color:var(--white);margin-top:.8rem;max-width:20ch;
  font-size:clamp(2.15rem,1.5rem + 2.9vw,3.6rem);line-height:1.06;letter-spacing:-.014em}

/* ============================================================ ARTICLE + SIDEBAR LAYOUT */
.cond-wrap{background:var(--white);padding-top:clamp(2.2rem,1.6rem + 2.4vw,3.2rem)}
.cond-grid{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:clamp(2.4rem,4.5vw,4.5rem);align-items:start}
.cond-article{min-width:0}
.cond-sec{padding-top:clamp(3.4rem,5vw,4.6rem);scroll-margin-top:6.5rem}
.cond-sec:first-child{padding-top:0}
.cond-sec h2{font-weight:400;color:var(--ink);font-size:clamp(1.7rem,1.35rem + 1.5vw,2.35rem);
  line-height:1.12;margin-bottom:1.1rem}
.cond-sec h3{font-weight:400;color:var(--ink);font-size:clamp(1.15rem,1.02rem + .55vw,1.4rem);line-height:1.2}
.cond-sec p{color:var(--ink-72);font-weight:300;line-height:1.85;max-width:64ch}
.cond-sec p + p{margin-top:1.1rem}
.cond-lede{color:var(--ink-72);font-weight:300;line-height:1.85;margin-bottom:1.6rem;max-width:64ch}

/* Common Causes, numbered rows, same rail idiom as the Home Page Approach steps */
/* Understanding Lower Back Pain, dark editorial panel with a nested pull-quote */
.understand-panel{background:var(--black);color:var(--white);border-radius:var(--r-l);
  padding:clamp(1.8rem,1.2rem + 2.6vw,3rem)}
.understand-panel .eyebrow.on-dark{margin-bottom:1.1rem}
.understand-panel h2{color:var(--white)}
.understand-panel p{color:rgba(255,255,255,.78);font-weight:300;line-height:1.85;max-width:66ch}
.understand-panel p + p{margin-top:1.1rem}
.understand-quote{margin-top:1.4rem;padding:clamp(1.1rem,.9rem + 1vw,1.5rem);border-radius:var(--r-m);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.understand-quote blockquote{margin:0;font-family:var(--f-d);font-style:italic;color:var(--white);
  font-size:clamp(.94rem,.88rem + .3vw,1.05rem);line-height:1.45}
.understand-quote .btn{margin-top:1rem;padding:.85rem 1.4rem;font-size:.7rem}

/* Common Causes, interactive explorer: tab row switches the detail panel below,
   the same tab/panel idiom already used by the Home Page Service Hub. */
.cause-tabs{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.6rem}
.cause-tab{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.2rem;min-width:150px;flex:1 1 150px;
  border-radius:var(--r-m);background:var(--bg);text-align:left;
  transition:background-color .35s var(--ease),color .35s var(--ease)}
.cause-tab .tn{font-family:var(--f-b);font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--clay)}
.cause-tab .tl{font-size:.92rem;font-weight:500;color:var(--ink)}
.cause-tab.is-active{background:var(--black)}
.cause-tab.is-active .tn{color:var(--beige)}
.cause-tab.is-active .tl{color:var(--white)}
.cause-panel{display:none;border-radius:var(--r-l);border:1px solid var(--ink-09);
  padding:clamp(1.6rem,1.1rem + 1.8vw,2.4rem);box-shadow:var(--sh-1)}
.cause-panel.is-active{display:block}
.cause-panel .eyebrow{margin-bottom:1rem}
.cause-panel h3{margin-bottom:.7rem}
.cause-panel p{font-size:.96rem;max-width:60ch}

/* Common Symptoms, hairline checklist, matches the About Us Care Model list exactly */
.cond-checklist{list-style:none;margin:1.6rem 0 0;padding:0;
  display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,auto);grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(1.6rem,3.4vw,3.4rem)}
.cond-checklist li{display:flex;align-items:center;gap:.9rem;margin:0;padding:.92rem .4rem;
  border-bottom:1px solid var(--line);color:var(--ink);font-size:1rem;line-height:1.4;
  transition:background-color .35s var(--ease),padding-left .35s var(--ease)}
.cond-checklist li:hover{background:var(--bg);padding-left:.9rem}
.cond-checklist li .tick{flex:none;display:flex}
.cond-checklist li .tick svg{width:14px;height:14px;color:var(--beige)}

/* How We Treat, same card treatment as Common Causes, three across */
/* Horizontal editorial scroll row, compact cards, next one always peeking in,
   same card skin as Common Causes just presented as a scroll rather than a stack. */
.treat-scroll-wrap{position:relative}
/* R2/C4: every card has to be REACHABLE. Visible arrows + a real scrollbar +
   keyboard, at both widths; the hidden scrollbar is what stranded card 03. */
.treat-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin:-.6rem 0 1rem;flex-wrap:wrap}
.treat-hint{display:inline-flex;align-items:center;gap:.5rem;
  font-size:.76rem;font-weight:500;color:var(--ink-62)}
.treat-hint svg{width:14px;height:14px;color:var(--beige)}
.treat-nav{display:flex;gap:.5rem;flex:none}
.treat-arrow{width:42px;height:42px;border-radius:var(--r-s);border:1px solid var(--ink-16);
  background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink);
  cursor:pointer;transition:background-color .3s var(--ease),border-color .3s var(--ease),opacity .3s var(--ease)}
.treat-arrow svg{width:17px;height:17px}
.treat-arrow:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--white)}
.treat-arrow:disabled{opacity:.34;cursor:default}
.treat-grid{display:grid;grid-auto-flow:column;grid-auto-columns:74%;gap:1rem;
  overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.8rem;
  scrollbar-width:thin;scrollbar-color:var(--gray) transparent}
.treat-grid:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
.treat-grid::-webkit-scrollbar{height:8px}
.treat-grid::-webkit-scrollbar-track{background:var(--bg);border-radius:99px}
.treat-grid::-webkit-scrollbar-thumb{background:var(--gray);border-radius:99px}
.treat-grid::-webkit-scrollbar-thumb:hover{background:var(--ink-16)}
.treat-card{scroll-snap-align:start;overflow:hidden;border-radius:var(--r-l);
  background:var(--white);border:1px solid var(--ink-09);height:100%;
  display:flex;flex-direction:column;
  transition:transform .35s var(--ease),border-color .35s var(--ease)}
.treat-card:hover{transform:translateY(-4px);border-color:var(--ink-16)}
.treat-media{position:relative;aspect-ratio:3/2;background:var(--gray)}
.treat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease)}
.treat-card:hover .treat-media img{transform:scale(1.06)}
.treat-num{position:absolute;left:.9rem;top:.9rem;padding:.35rem .7rem;border-radius:var(--r-pill);
  background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  font-family:var(--f-b);font-size:.68rem;font-weight:600;letter-spacing:.08em;color:var(--white)}
.treat-body{flex:1;display:flex;flex-direction:column;
  padding:clamp(1.2rem,1.6vw,1.5rem) clamp(1.2rem,1.6vw,1.5rem) clamp(1.4rem,1.8vw,1.7rem)}
.treat-card h3{margin-bottom:.5rem;font-size:1.14rem}
.treat-card p{font-size:.9rem;line-height:1.7}
.treat-learn{margin-top:auto;padding-top:1rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);
  align-self:flex-start}
.treat-learn svg{width:1rem;height:1rem;transition:transform .35s var(--ease)}
.treat-card:hover .treat-learn svg{transform:translateX(4px)}
@media(min-width:641px){.treat-grid{grid-auto-columns:290px}}

/* Inline CTA, contained within the article column, echoes the Home Page/About Us black+photo CTA */
/* Heading -> body -> two CTAs, stacked in one column, same idiom as the
   Condition-page reference's Schedule panel. */
.cond-cta{position:relative;overflow:hidden;border-radius:var(--r-l);isolation:isolate;
  display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem;
  padding:clamp(2rem,2vw + 1.4rem,2.8rem);color:var(--white)}
.cond-cta-bg{position:absolute;inset:0;z-index:-2}
.cond-cta-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.05)}
.cond-cta-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.8) 46%,rgba(10,10,10,.48) 100%)}
.cond-cta-copy{position:relative;max-width:44ch}
.cond-cta-copy h2{color:var(--white);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.05rem);margin-bottom:.7rem}
.cond-cta-copy p{color:rgba(255,255,255,.86);font-weight:300;line-height:1.75}
.cond-cta-actions{position:relative;display:flex;flex-wrap:wrap;gap:1rem}

/* Expert Care / Service Area, reuses the About Us location idiom */
.area-note{color:var(--ink-72);font-weight:300;line-height:1.85}
.area-list{list-style:none;margin:1.4rem 0 0;padding:0;border-top:1px solid var(--line)}
.area-row{display:flex;gap:1rem;align-items:flex-start;padding:1rem .3rem;border-bottom:1px solid var(--line);
  transition:background-color .35s var(--ease),padding-left .35s var(--ease)}
.area-row:hover{background:var(--bg);padding-left:.9rem}
.area-row .ari{width:32px;height:32px;flex:none;border-radius:var(--r-pill);background:var(--bg);
  color:var(--clay);display:flex;align-items:center;justify-content:center;
  transition:background-color .35s var(--ease),color .35s var(--ease)}
.area-row:hover .ari{background:var(--beige);color:var(--ink)}
.area-row .ari svg{width:15px;height:15px}
.area-row .ark{font-size:.94rem;font-weight:600;color:var(--ink);letter-spacing:.01em}
.area-row .arv{margin-top:.2rem;color:var(--ink-72);font-size:.9rem;font-weight:300;line-height:1.6}

/* FAQ, identical accordion behavior/skin to the Home Page, single column in the article rail */
.faq-list{display:flex;flex-direction:column;gap:.9rem}
.faq-item{background:var(--bg);border-radius:var(--r-m);overflow:hidden;transition:background-color .4s var(--ease)}
.faq-item:hover{background:var(--gray)}
.faq-item[aria-expanded="true"]{background:#000}
.faq-q{width:100%;display:flex;align-items:flex-start;justify-content:flex-start;text-align:left;
  padding:1.3rem 1.5rem;font-family:var(--f-b);font-weight:500;font-size:.98rem;color:var(--ink);
  transition:color .4s var(--ease)}
.faq-item[aria-expanded="true"] .faq-q{color:var(--white)}
.faq-a{overflow:hidden;height:0;transition:height .5s var(--ease)}
.faq-a-in{padding:0 1.5rem 1.4rem;color:var(--ink-72);line-height:1.8;font-weight:300}
.faq-item[aria-expanded="true"] .faq-a-in{color:rgba(255,255,255,.84)}

/* ============================================================ SIDEBAR */
.cond-side{position:sticky;top:6.5rem;display:flex;flex-direction:column;gap:1.2rem}
.toc{padding:1.6rem 1.5rem;border-radius:var(--r-l);background:var(--bg)}
.toc-label{display:block;margin-bottom:1rem;font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--clay)}
.toc a{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;font-size:.86rem;font-weight:500;
  color:var(--ink-62);transition:color .3s var(--ease)}
.toc a .bar{width:3px;height:14px;border-radius:3px;background:var(--ink-16);flex:none;
  transition:background-color .3s var(--ease)}
.toc a:hover,.toc a.is-active{color:var(--ink)}
.toc a.is-active .bar{background:var(--beige)}
.side-contact{padding:1.8rem 1.6rem;border-radius:var(--r-l);background:var(--black);color:var(--white)}
.side-contact .eyebrow.on-dark{margin-bottom:.9rem}
.side-contact p{display:flex;align-items:flex-start;gap:.6rem;
  color:rgba(255,255,255,.78);font-size:.9rem;font-weight:300;line-height:1.7;margin-bottom:1.4rem}
.side-contact p svg{width:15px;height:15px;flex:none;margin-top:.3rem;color:var(--beige)}
.side-contact .phone{display:flex;align-items:center;gap:.6rem;
  font-family:var(--f-d);font-size:1.4rem;color:var(--white);margin-bottom:1rem;transition:color .3s var(--ease)}
.side-contact .phone svg{width:16px;height:16px;flex:none;color:var(--beige)}
.side-contact .phone:hover{color:var(--beige)}
.side-contact .btn{width:100%}

@media(max-width:1024px){
  .cond-grid{grid-template-columns:minmax(0,1fr)}
  .cond-side{position:static}
  .toc{display:none}
}
@media(max-width:640px){
  .cond-checklist{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  /* Tabs read as a swipeable row on mobile, not four separate boxes to scan */
  .cause-tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-bottom:.3rem;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);
    scrollbar-width:none}
  .cause-tabs::-webkit-scrollbar{display:none}
  .cause-tab{min-width:180px;flex:none;scroll-snap-align:start}
  .treat-grid{grid-auto-columns:82%}
  .cond-cta-actions .btn{width:100%;white-space:normal;text-align:center}
}

/* ============================================================ FOOTER (global, identical to Home Page / About Us) */
.visit{background:var(--ink)}
.visit-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1.8rem,3.6vw,3rem);align-items:start}
.visit-info{color:var(--cod)}
.visit-info h2{font-size:clamp(2rem,1.5rem+2vw,3rem);color:var(--white);margin-bottom:1.4rem}
.vrows{margin-top:0;display:flex;flex-direction:column;gap:1.3rem}
.vrow{display:flex;gap:1rem;align-items:flex-start}
.vrow .vi{width:44px;height:44px;flex:none;border-radius:var(--r-pill);background:rgba(255,255,255,.08);
  color:var(--beige);display:flex;align-items:center;justify-content:center}
.vrow .vi svg{width:19px;height:19px}
.vrow .vk{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.vrow .vv{margin-top:.3rem;line-height:1.6;color:var(--white)}
.vrow .vv a:hover{color:var(--beige)}
.hrs{display:grid;grid-template-columns:auto auto;gap:.35rem 1.6rem;font-size:.92rem;margin-top:.1rem}
.hrs .d{color:rgba(255,255,255,.56)}
.visit-actions{margin-top:1.9rem}
.visit-map-col{width:100%}
.visit-map{position:relative;height:clamp(420px,44vh,520px);border-radius:var(--r-l);overflow:hidden;
  box-shadow:var(--sh-2);border:1px solid var(--line-dark);background:var(--ink)}
.visit-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.04)}
.visit-map-guard{position:absolute;inset:0;cursor:pointer;background:transparent;border:0;padding:0;
  display:flex;align-items:flex-end;justify-content:center}
.visit-map.active .visit-map-guard{display:none}
.visit-map-hint{margin-bottom:1.1rem;padding:.6rem 1.1rem;border-radius:var(--r-pill);
  background:rgba(10,10,10,.7);color:var(--white);font-size:.78rem;letter-spacing:.02em;
  display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.visit-map-hint svg{width:14px;height:14px;color:var(--beige);flex:none}
.visit-map-note{color:rgba(255,255,255,.62);font-size:.86rem;font-weight:300;line-height:1.7;margin-top:1rem}
@media(max-width:1024px){.visit-panel{grid-template-columns:minmax(0,1fr)}}

.footer{background:var(--black);color:var(--white);padding-top:clamp(2.4rem,1.6rem + 3vw,3.8rem)}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3.4rem);
  padding-bottom:clamp(2rem,3vw,3rem);border-bottom:1px solid var(--line-dark)}
.foot-brand .brand{color:var(--white)}
.foot-logo{height:clamp(32px,3vw,40px);width:auto;display:block}
.foot-brand p{color:var(--mist);margin-top:1.6rem;max-width:34ch;font-size:.9rem;font-weight:300;line-height:1.8}
.foot-social{display:flex;gap:.6rem;margin-top:1.8rem}
.foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-dark);
  display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease)}
.foot-social a:hover{background:var(--beige);border-color:var(--beige);color:var(--ink)}
.foot-social svg{width:16px;height:16px}
.foot-col{text-align:left}
.foot-col h4{font-family:var(--f-b);font-size:.64rem;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--beige);margin-bottom:1.2rem}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin:0;padding:0}
.foot-col a{display:inline-block;color:rgba(255,255,255,.74);font-size:.9rem;font-weight:300;transition:all .3s var(--ease)}
.foot-col a:hover{color:var(--beige)}
/* R2/G5: explicit "see all" exits from the two index columns. */
.foot-all{margin-top:.35rem}
.foot-all a{color:var(--beige);font-weight:600;letter-spacing:.06em;opacity:1}
.foot-all a span{display:inline-block;transition:transform .35s var(--ease)}
.foot-all a:hover span{transform:translateX(4px)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  padding:1.8rem 0;font-size:.88rem;color:rgba(255,255,255,.56)}
.foot-bot .links{display:flex;gap:1.8rem}
.foot-bot a:hover{color:var(--beige)}
@media(max-width:1024px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:640px){.foot-top{grid-template-columns:minmax(0,1fr)}.foot-bot{flex-direction:column;align-items:flex-start}}

/* ============================================================ REVIEWS (global, identical to Home Page / About Us / Service pages) */
.reviews{background:var(--black);position:relative;isolation:isolate}
.reviews::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:url("new assets/shared-reviews-background.webp");
  background-size:cover;background-position:50% 32%;
  filter:grayscale(1) contrast(1.08) brightness(.6)}
.reviews::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,10,10,.78) 0%,rgba(10,10,10,.55) 45%,rgba(10,10,10,.85) 100%)}
.rev-head{max-width:60rem;margin:0 auto clamp(2.8rem,5vw,4rem);text-align:center}
.rev-head h2{font-weight:400;color:var(--white);font-size:clamp(2.1rem,1.6rem + 2.15vw,3.25rem);
  line-height:1.12;letter-spacing:-.016em}
.rev-card{background:rgba(0,0,0,.88);
  border-radius:clamp(16px,2vw,22px);overflow:hidden;
  padding:clamp(2.2rem,3.4vw,2.8rem) clamp(1.8rem,2.6vw,2.4rem);
  display:flex;flex-direction:column;align-items:stretch;text-align:left;
  gap:clamp(1.1rem,1.8vw,1.5rem);min-height:20rem;justify-content:flex-start;height:100%}
.rev-stars{order:2;display:flex;justify-content:flex-start;gap:.4rem;color:var(--beige);
  margin-left:calc(48px + .9rem)}
.rev-stars svg{width:14px;height:14px}
.rev-card p.rt{order:3;color:rgba(255,255,255,.88);font-family:var(--f-d);font-weight:400;
  font-size:clamp(.88rem,.83rem + .22vw,.98rem);line-height:1.6;letter-spacing:.002em;
  margin:0}
.rev-more{display:none}
.rev-who{order:1;align-self:flex-start;display:flex;flex-direction:row;align-items:center;gap:.9rem}
.rev-who .av{width:48px;height:48px;flex:none;overflow:hidden;position:relative;
  background:var(--beige);border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--ink);font-family:var(--f-b);font-size:.72rem;font-weight:600;letter-spacing:.12em}
.rev-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left}
.rev-who .n{font-family:var(--f-b);font-weight:500;font-size:.92rem;letter-spacing:.02em;
  color:var(--white);line-height:1.2}
.rev-who .r{font-size:.6rem;color:rgba(255,255,255,.56);letter-spacing:.2em;text-transform:uppercase}

/* Carousel (shared component) */
.carousel{position:relative}
.c-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*var(--cgap))/3);
  gap:var(--cgap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.4rem}
.c-track::-webkit-scrollbar{display:none}
.c-track>*{scroll-snap-align:start}
.c-nav{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:clamp(1.8rem,3vw,2.6rem)}
.c-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--ink-16);display:flex;
  align-items:center;justify-content:center;color:var(--ink);
  transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.c-btn:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.c-btn svg{width:16px;height:16px}
.c-dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.55rem;max-width:60vw}
.c-dot{width:20px;height:1px;border-radius:999px;padding:0;flex:none;background:var(--ink-16);
  transition:background-color .35s var(--ease),width .35s var(--ease)}
.c-dot.on{background:var(--clay);width:34px}
.on-dark .c-btn{border-color:var(--line-dark);color:var(--white)}
.on-dark .c-btn:hover{background:var(--beige);color:var(--ink);border-color:var(--beige)}
.on-dark .c-dot{background:rgba(255,255,255,.24)}
.on-dark .c-dot.on{background:var(--beige)}
@media(max-width:1024px){.c-track{grid-auto-columns:calc((100% - var(--cgap))/2)}}
@media(max-width:720px){.rev-head{text-align:left}.c-track{grid-auto-columns:88%}}

/* ============================================================ MEGA-MENU (global, identical across all pages) */
.nav-primary{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0;white-space:nowrap}
.nav-item:nth-last-child(2){margin-right:.6rem}
.nav-item{position:relative;list-style:none}
.nav-link,.nav-trigger{position:relative;display:inline-flex;align-items:center;gap:.35rem;
  padding:.55rem .95rem;font-family:var(--f-b);font-size:calc(.7rem + 1px);font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);opacity:.82;background:none;border:0;cursor:pointer;
  transition:opacity .3s var(--ease),color .3s var(--ease)}
.nav-link:hover,.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{opacity:1;color:var(--ink)}
.nav-chev{width:11px;height:11px;flex:none;transition:transform .35s var(--ease)}
.nav-trigger[aria-expanded="true"] .nav-chev{transform:rotate(180deg)}
.nav-item.is-active .nav-trigger,.nav-item.is-active .nav-link{color:var(--clay);opacity:1}

/* Panel, anchored to sticky nav, centered horizontally on the viewport */
/* R2/G2: anchored under its OWN trigger (JS sets --mega-x on open), never
   viewport-centred. padding-top is the hover-intent bridge: it is part of the
   panel, so the pointer can travel from the trigger into the menu without
   crossing dead space and cancelling the open state. */
.mega{position:absolute;left:var(--mega-x,0px);top:100%;padding-top:12px;transform:translateY(-4px);
  z-index:120;opacity:0;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease)}
.mega:not([hidden]){opacity:1;pointer-events:auto;transform:translateY(0)}
.mega-inner{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);
  box-shadow:0 24px 60px -24px rgba(19,19,18,.28);
  padding:clamp(1.5rem,1.2rem + 1vw,2rem);
  display:grid;gap:clamp(1.4rem,2.2vw,2.4rem);
  max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--gray) transparent}
.mega-inner::-webkit-scrollbar{width:8px}
.mega-inner::-webkit-scrollbar-track{background:transparent}
.mega-inner::-webkit-scrollbar-thumb{background:var(--gray);border-radius:99px}
.mega-inner::-webkit-scrollbar-thumb:hover{background:var(--ink-16)}
.mega-cols-1{grid-template-columns:minmax(220px,260px)}
.mega-cols-3{grid-template-columns:repeat(3,minmax(200px,240px))}
.mega-cols-4{grid-template-columns:repeat(4,minmax(240px,280px))}
.mega-flex{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.4rem,2.2vw,2.4rem) clamp(1.8rem,2.6vw,3rem)}
.mega-col-group{display:flex;flex-direction:column;flex:0 1 auto;gap:clamp(1.4rem,2.2vw,2.2rem)}
.mega--widest .mega-inner{width:min(1120px,calc(100vw - 40px));max-width:min(1120px,calc(100vw - 40px))}
/* R2/G4: conditions grouped by body location, balanced across columns. */
.mega-bygroup{display:block;columns:4;column-gap:clamp(1.5rem,2.2vw,2.4rem)}
.mega-group{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;
  display:inline-block;width:100%;margin-bottom:clamp(1.1rem,1.8vw,1.6rem)}
.mega-group .mega-h{margin-bottom:.5rem}
@media(max-width:1200px){.mega-bygroup{columns:3}}
.mega-col{min-width:0}
.mega-col--wide{flex:0 1 auto}
.mega-lists{display:flex;gap:0 1.6rem}
.mega-lists .mega-list{flex:0 0 auto;min-width:140px;max-width:230px}
.mega-h{display:block;font-family:var(--f-b);font-size:calc(.62rem + 1px);font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--clay);margin-bottom:.85rem}
.mega-h--split{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}
.mega-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.05rem}
.mega-list a{display:block;padding:.4rem .5rem;font-family:var(--f-b);font-size:calc(.86rem + 1px);font-weight:400;
  color:var(--ink-72);border-radius:8px;transition:background-color .25s var(--ease),color .25s var(--ease),padding-left .25s var(--ease)}
.mega-list a:hover{background:var(--bg);color:var(--ink);padding-left:.85rem}
@media(max-width:1200px){
  .mega-cols-4{grid-template-columns:repeat(3,minmax(200px,240px))}
  .mega-lists{flex-direction:column;gap:0}
  .mega-lists .mega-list{max-width:none}
}
@media(max-width:1024px){
  .nav-primary{display:none}
  .mega{display:none}
}

/* Mobile menu, accordion groups */
.m-menu ul .m-group{border-bottom:1px solid var(--line-dark)}
.m-menu ul .m-group:last-of-type{border-bottom:0}
.m-menu .m-group-h{width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 0;background:none;border:0;color:var(--white);cursor:pointer;
  font-family:var(--f-d);font-size:calc(clamp(1.72rem,7.2vw,2.5rem) + 1px);letter-spacing:-.012em;text-align:left}
.m-menu .m-group-h svg{width:20px;height:20px;flex:none;transition:transform .3s var(--ease);color:var(--beige)}
.m-menu .m-group-h[aria-expanded="true"] svg{transform:rotate(180deg)}
.m-menu .m-sub{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);
  list-style:none;margin:0;padding:0}
.m-menu .m-group[aria-expanded="true"] .m-sub{max-height:1400px}
.m-menu .m-sub li{border:0}
.m-menu .m-sub a{padding:.55rem 0;font-family:var(--f-b);font-size:calc(1rem + 1px);letter-spacing:.01em;
  font-weight:400;color:rgba(255,255,255,.78);text-transform:none;display:block}
.m-menu .m-sub a:hover{color:var(--beige)}
.m-menu .m-sub-h{padding:1rem 0 .35rem;font-family:var(--f-b);font-size:calc(.6rem + 1px);font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--beige);list-style:none}


/* ---- reduced motion (ported from index.html, which was the only page with one) ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1!important;transform:none!important}
}

/* ============================================================ VARIANT B (factory additions)
   Every rule below composes the mockup's own tokens and the eight motion
   primitives catalogued in MOTION-INVENTORY.md §5. Nothing is restyled. */
:root{
  --motion-ease:var(--ease);
  --motion-ease-out:var(--eout);
  --motion-ui:.35s; --motion-control:.45s; --motion-panel:.5s;
}
/* shared eyebrow for the new sections (namespaced so it never collides) */
.vb-eyebrow{display:inline-flex;align-items:center;gap:.85rem;font-family:var(--f-b);
  font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--clay)}
.vb-eyebrow::before{content:"";width:32px;height:1px;flex:none;background:var(--beige);border-radius:999px}
.on-dark .vb-eyebrow,.vb-eyebrow.on-dark{color:var(--beige)}
.vb-h2{font-family:var(--f-d);font-weight:400;line-height:1.1;letter-spacing:-.016em;
  font-size:clamp(1.9rem,1.5rem + 1.6vw,2.9rem);margin-top:1.1rem}
.on-dark .vb-h2{color:var(--white)}
.vb-lede{margin-top:1rem;font-size:.98rem;font-weight:300;line-height:1.75;color:var(--ink-72);max-width:64ch}
.on-dark .vb-lede{color:var(--mist)}

/* Long-label CTAs in the new sections wrap instead of forcing a horizontal
   scroll at phone widths (.btn is white-space:nowrap by default). */
.offer-in > .btn,.cta-copy .btn,.fhost .btn{max-width:100%;white-space:normal;text-align:center}
@media(max-width:560px){.offer-in > .btn{width:100%}}

/* ---- hero trust element (R2/G3: stars over "Google Business Profile" in white) ---- */
.trust-strip{display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;
  padding:.8rem 1.3rem;
  border-radius:var(--r-m);background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white);text-align:center;
  transition:background-color var(--motion-control) var(--ease),
             border-color var(--motion-control) var(--ease),
             transform var(--motion-control) var(--ease)}
.trust-strip:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.52);transform:translateY(-2px)}
.trust-stars{display:inline-flex;gap:3px;flex:none}
.trust-stars svg{width:17px;height:17px;fill:#fbbc04;stroke:none;display:block}
.trust-copy{display:flex;flex-direction:column;align-items:center;gap:.22rem;min-width:0}
.trust-v{font-family:var(--f-b);font-size:.88rem;font-weight:500;line-height:1.25;color:#FFFFFF;
  letter-spacing:.01em}
.trust-k{font-family:var(--f-b);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.78)}
.hero-trust{margin-top:clamp(1.4rem,2.4vw,2rem)}
.cond-trust{margin-top:clamp(1.2rem,2vw,1.7rem)}
@media(max-width:560px){.trust-strip{width:100%}}

/* ---- persistent mobile CTA bar (<=768px) ---- */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:140;display:none;
  grid-template-columns:auto minmax(0,1fr);gap:.5rem;
  padding:.5rem .6rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));
  background:rgba(10,10,10,.97);border-top:1px solid var(--line-dark)}
.mcta .btn{white-space:normal;text-align:center;justify-content:center;
  padding:.78rem .9rem;font-size:.7rem;line-height:1.25;letter-spacing:.1em;min-height:48px}
.mcta .btn svg{width:16px;height:16px;flex:none}
@media(max-width:768px){.mcta{display:grid}body{padding-bottom:5.1rem}}

/* ---- Poptin-shaped booking host (no live Poptin ID assigned yet) ---- */
.fhost-head h3{font-family:var(--f-d);font-weight:400;letter-spacing:-.012em;line-height:1.15;
  font-size:clamp(1.24rem,1.06rem + .6vw,1.62rem);margin-top:.6rem}
.fhost-box{min-height:560px;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r-m);padding:clamp(.9rem,1.5vw,1.3rem);display:flex;margin-top:1.1rem}
.fhost-slot{flex:1;min-height:620px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.7rem;text-align:center;padding:1.5rem;
  background:var(--white);border:1px dashed var(--ink-16);border-radius:var(--r-s)}
.fhost-note{font-family:var(--f-b);font-size:.72rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--clay)}
.fhost-sub{font-family:var(--f-b);font-size:.88rem;font-weight:300;line-height:1.65;
  color:var(--ink-62);max-width:36ch}
.fhost-alt{margin-top:1rem;font-size:.88rem;font-weight:300;color:var(--ink-72)}
.fhost-alt a{color:var(--clay);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* "Cardless" at the mobile breakpoint: the CHROME goes, the height stays. */
@media(max-width:768px){
  .fhost-box{background:transparent;border:0;border-radius:0;padding:0;margin-top:.9rem}
  .fhost-slot{border-radius:var(--r-m)}
}
.on-dark .fhost-box{background:rgba(255,255,255,.05);border-color:var(--line-dark)}
.on-dark .fhost-slot{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.24)}
.on-dark .fhost-note{color:var(--beige)}
.on-dark .fhost-sub,.on-dark .fhost-alt{color:var(--mist)}
.on-dark .fhost-alt a{color:var(--beige)}

/* ---- sticky right rail (Service + Condition) ---- */
.svc-rail-grid{display:grid;grid-template-columns:minmax(0,1fr) 358px;
  gap:clamp(2.4rem,4.5vw,4rem);align-items:start}
.svc-rail-main{display:flex;flex-direction:column;gap:clamp(2.4rem,4vw,3.4rem);min-width:0}
.svc-sticky-rail{position:sticky;top:6.5rem;display:flex;flex-direction:column;gap:1.1rem}
.rail-contact{border:1px solid var(--line);border-radius:var(--r-m);
  padding:clamp(1.1rem,1.8vw,1.4rem);background:var(--white)}
.rail-contact .rc-k{font-family:var(--f-b);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--clay);display:block;margin-bottom:.6rem}
.rail-contact p{font-size:.88rem;font-weight:300;line-height:1.6;color:var(--ink-72);margin-top:.5rem}
.rail-contact .rc-phone{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-d);
  font-size:1.35rem;letter-spacing:-.01em;color:var(--ink)}
.rail-contact .rc-phone svg{width:17px;height:17px;color:var(--clay)}
@media(max-width:1024px){
  .svc-rail-grid{grid-template-columns:minmax(0,1fr)}
  .svc-sticky-rail{position:static}
}
/* A pinned rail taller than the viewport would strand its lower half, so it
   scrolls inside itself once pinned. */
@media(min-width:1025px){
  .svc-sticky-rail{max-height:calc(100vh - 7.5rem);overflow-y:auto;overscroll-behavior:contain;
    padding-right:3px;scrollbar-width:thin;scrollbar-color:var(--gray) transparent}
  .svc-sticky-rail::-webkit-scrollbar{width:8px}
  .svc-sticky-rail::-webkit-scrollbar-track{background:transparent}
  .svc-sticky-rail::-webkit-scrollbar-thumb{background:var(--gray);border-radius:99px}
}

/* ---- service: at-a-glance ---- */
.glance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-m);
  overflow:hidden;margin-top:clamp(1.5rem,2.4vw,2.1rem)}
.glance-cell{background:var(--white);padding:clamp(1.1rem,1.8vw,1.5rem);
  transition:background-color var(--motion-ui) var(--ease)}
.glance-cell:hover{background:var(--bg)}
.glance-cell dt{font-family:var(--f-b);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}
.glance-cell dd{margin:0;font-size:.9rem;font-weight:300;line-height:1.65;color:var(--ink-72)}
.tbc{font-style:italic;color:var(--ink-62)}
@media(max-width:640px){.glance-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- condition: TL;DR box ---- */
.cond-tldr{border-left:3px solid var(--beige);background:var(--bg);
  border-radius:0 var(--r-m) var(--r-m) 0;
  padding:clamp(1.2rem,2vw,1.75rem) clamp(1.3rem,2.2vw,2rem)}
.cond-tldr ul{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.cond-tldr li{position:relative;padding-left:1.2rem;font-size:.95rem;font-weight:300;
  line-height:1.65;color:var(--ink-90)}
.cond-tldr li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;
  border-radius:50%;background:var(--clay)}

/* ---- numbered walk-through rows (first visit / how we evaluate) ---- */
.vb-steps{list-style:none;margin:clamp(1.4rem,2.2vw,2rem) 0 0;padding:0;border-top:1px solid var(--line)}
.vb-steps li{display:flex;gap:1.15rem;padding:1.2rem .25rem;border-bottom:1px solid var(--line);
  transition:background-color var(--motion-ui) var(--ease),padding-left var(--motion-ui) var(--ease)}
.vb-steps li:hover{background:var(--bg);padding-left:.85rem}
.vb-steps .n{flex:none;font-family:var(--f-b);font-size:.68rem;font-weight:700;
  letter-spacing:.18em;color:var(--clay);padding-top:.34rem;width:2.1rem}
.vb-steps h3{font-family:var(--f-d);font-weight:400;font-size:1.12rem;letter-spacing:-.008em;
  line-height:1.25;margin-bottom:.35rem;color:var(--ink)}
.vb-steps p{font-size:.9rem;font-weight:300;line-height:1.68;color:var(--ink-72)}

/* ---- Home: complimentary-consultation offer strip ---- */
.offer-strip{background:var(--black);color:var(--white);
  padding-block:clamp(2.4rem,1.7rem + 2.4vw,3.6rem)}
.offer-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(1.4rem,3vw,2.8rem)}
.offer-copy{flex:1 1 30rem;max-width:54ch;min-width:0}
.offer-copy h2{font-family:var(--f-d);font-weight:400;letter-spacing:-.014em;line-height:1.14;
  font-size:clamp(1.5rem,1.2rem + 1.2vw,2.15rem);color:var(--white);margin-top:.9rem}
.offer-copy p{margin-top:.85rem;font-size:.95rem;font-weight:300;line-height:1.72;color:var(--mist)}

/* ---- Home: credentials band (no photos) ---- */
.creds{background:var(--bg)}
.creds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;
  margin-top:clamp(1.6rem,2.6vw,2.4rem)}
.cred{background:var(--white);padding:clamp(1.3rem,2vw,1.8rem);
  transition:background-color var(--motion-ui) var(--ease)}
.cred:hover{background:var(--bg)}
.cred .ck{font-family:var(--f-d);font-weight:400;line-height:1.08;letter-spacing:-.02em;
  font-size:clamp(1.45rem,1.2rem + .9vw,2rem);color:var(--ink);display:block}
.cred .cv{margin-top:.6rem;font-size:.88rem;font-weight:300;line-height:1.6;color:var(--ink-72)}
.creds .creds-grid + .vb-lede{margin-top:clamp(1.4rem,2.2vw,2rem)}

/* ---- Home: stat band (verified facts only) ---- */
.statband{background:var(--black);color:var(--white)}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,3vw,3rem);
  margin-top:clamp(1.6rem,2.6vw,2.4rem)}
.stat{border-top:1px solid var(--line-dark);padding-top:1.25rem}
.stat .sk{font-family:var(--f-d);font-weight:400;line-height:1;letter-spacing:-.022em;
  font-size:clamp(2rem,1.5rem + 2vw,3.1rem);color:var(--beige);display:block}
.stat .sv{margin-top:.65rem;font-size:.88rem;font-weight:300;line-height:1.62;color:var(--mist)}
@media(max-width:720px){.stat-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- Home: service-area block ---- */
.vb-area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,4vw,3.6rem);align-items:start}
.vb-chiplist{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 0;padding:0;list-style:none}
.vb-chiplist li{padding:.58rem 1rem;border:1px solid var(--line);border-radius:var(--r-pill);
  font-size:.82rem;font-weight:400;color:var(--ink-72);
  transition:border-color var(--motion-ui) var(--ease),color var(--motion-ui) var(--ease)}
.vb-chiplist li:hover{border-color:var(--clay);color:var(--ink)}
.vb-county{margin-top:1.5rem;font-size:.88rem;font-weight:300;line-height:1.7;color:var(--ink-72)}
@media(max-width:860px){.vb-area-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- About: fact snapshot (dark ground, no photos) ---- */
.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:1px;
  background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--r-m);
  overflow:hidden;margin-top:clamp(1.6rem,2.6vw,2.2rem)}
.fact{background:#0F0F0E;padding:clamp(1.2rem,1.9vw,1.6rem)}
.fact dt{font-family:var(--f-b);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--beige);margin-bottom:.55rem}
.fact dd{margin:0;font-size:.9rem;font-weight:300;line-height:1.62;color:rgba(255,255,255,.82)}

/* ---- no-JS fallbacks (progressive enhancement) ---- */
html:not(.js) .faq-a{height:auto}
html:not(.js) .faq-ic{opacity:.3}
@media(max-width:1024px){
  html:not(.js) .m-menu{position:static;inset:auto;transform:none;visibility:visible;
    height:auto;padding:1.3rem var(--gut) 2rem;justify-content:flex-start}
  html:not(.js) .m-close{display:none}
  html:not(.js) .nav-tog{display:none}
  html:not(.js) .m-menu .m-sub{max-height:none}
  html:not(.js) .m-menu .m-group-h svg{display:none}
}

/* ---- ONE canonical closing CTA band (replaces the .cond-cta duplication) ---- */
.cta-band{background:var(--white);padding-block:clamp(2.8rem,1.9rem + 3.4vw,4.8rem)}
.cta-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--black);color:var(--white);
  overflow:hidden;isolation:isolate;border-radius:var(--r-l);min-height:clamp(320px,29vw,440px)}
.cta-copy{padding:clamp(2rem,1.3rem + 2.8vw,3.6rem);display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center}
.cta-copy p{margin:0;font-family:var(--f-d);font-weight:400;color:var(--white);
  font-size:clamp(1.42rem,1.08rem + 1.5vw,2.35rem);line-height:1.2;letter-spacing:-.012em;
  text-wrap:balance;max-width:26ch}
.cta-copy .cta-sub{display:block;margin-top:.9rem;font-family:var(--f-b);font-weight:300;
  color:rgba(255,255,255,.74);font-size:clamp(.94rem,.88rem + .3vw,1.06rem);
  line-height:1.65;letter-spacing:0}
.cta-copy .btn{margin-top:clamp(1.7rem,2.4vw,2.4rem)}
.cta-media{position:relative;overflow:hidden}
.cta-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 32%;
  filter:var(--photo)}
@media(max-width:860px){
  .cta-banner{grid-template-columns:minmax(0,1fr)}
  .cta-media{min-height:230px;position:relative}
}

.cond-article .cta-banner{min-height:clamp(280px,26vw,380px)}

/* ---- POPTIN EMBED (CORE30-POPTIN-PLAYBOOK) ------------------------------
   min-height is LOAD-BEARING: Poptin scales the whole form (fields AND type)
   to the box it is given. Container 560, iframe 620. The tinted .fhost-box
   host stays on light grounds so Poptin's white inputs remain visible, and
   goes cardless (chrome off, HEIGHT KEPT) at the mobile breakpoint above.
   Static pages, so there is no ClientRouter re-init. */
.poptin-embedded{width:100%;min-height:560px;color:var(--ink)}
.poptin-embedded iframe{width:100%!important;min-height:620px;background:transparent!important;
  border:0;display:block}
.on-dark .poptin-embedded,.book-band .poptin-embedded{color:var(--ink)}
.fhost-fallback{font-family:var(--f-b);font-size:.82rem;font-weight:300;line-height:1.6;
  color:var(--ink-62);margin-top:.8rem}
.on-dark .fhost-fallback{color:var(--mist)}

/* ---- ROUND 4: the #book host is CARDLESS and FULL-BLEED at <=768px, 16px
   gutter, height contract preserved (container 560 / iframe 620). ---- */
@media(max-width:768px){
  .book-band .fhost{margin-inline:calc(-1 * var(--gut))}
  .book-band .fhost-fallback{padding-inline:var(--gut)}
  .book-band .fhost-box{display:block;max-width:none;background:transparent;border:0;
    border-radius:0;padding:0 16px;margin-top:.9rem;min-height:560px}
  .book-band .poptin-embedded{width:100%;min-height:560px}
}


/* ---- low-page booking band (Service + Condition; the rail only links here) ---- */
.book-band{background:var(--bg);scroll-margin-top:6.5rem}
.book-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,4vw,3.4rem);align-items:start}
.book-steps{list-style:none;margin:clamp(1.4rem,2.2vw,2rem) 0 0;padding:0;
  border-top:1px solid var(--line)}
.book-steps li{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.book-steps .n{font-family:var(--f-b);font-size:.66rem;font-weight:700;letter-spacing:.2em;
  color:var(--clay);flex:none;padding-top:.25rem}
.book-steps h3{font-family:var(--f-d);font-weight:400;font-size:1.06rem;line-height:1.3;
  margin-bottom:.3rem;color:var(--ink)}
.book-steps p{font-size:.9rem;font-weight:300;line-height:1.65;color:var(--ink-72);margin:0}
.book-assure{margin-top:1.3rem;font-size:.88rem;font-weight:300;line-height:1.7;color:var(--ink-72)}
@media(max-width:900px){.book-grid{grid-template-columns:minmax(0,1fr)}}

/* R2/S4: the compliance duty lives in ONE place, globally, sourced from a
   single entity variable (medical_oversight_provider, awaiting the client). */
.foot-oversight{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-dark);
  font-family:var(--f-b);font-size:.78rem;font-weight:300;line-height:1.7;
  color:rgba(255,255,255,.6);max-width:78ch}
.foot-oversight .tbc-foot{font-style:italic}

/* ---- ICON SYSTEM (R2/G6) -------------------------------------------------
   ONE system everywhere: the art sits on a soft tinted tile with the mockup's
   own radius. No icon-in-a-circle anywhere in the body. Generated duotone PNGs
   are wired by slug; anything not yet generated renders the inline line icon
   on the same tile, so the system never breaks. */
.ic-tile{width:88px;height:88px;flex:none;border-radius:var(--r-m);
  background:rgba(151,85,55,.07);display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;transition:background-color var(--motion-ui,.35s) var(--ease)}
.ic-tile img{width:64px;height:64px;object-fit:contain;display:block}
.ic-tile svg{width:32px;height:32px;color:var(--clay)}
.on-dark .ic-tile,.on-black .ic-tile,.visit .ic-tile{background:rgba(255,255,255,.08)}
.on-dark .ic-tile svg,.on-black .ic-tile svg,.visit .ic-tile svg{color:var(--beige)}
.ic-tile--sm{width:60px;height:60px;border-radius:var(--r-m)}
.ic-tile--sm img{width:46px;height:46px}
.ic-tile--sm svg{width:24px;height:24px}
/* rows that carry no generated art keep the old compact footprint */
.ic-tile--xs{width:40px;height:40px;border-radius:var(--r-s)}
.ic-tile--xs img{width:26px;height:26px}
.ic-tile--xs svg{width:18px;height:18px}
@media(max-width:640px){.ic-tile{width:72px;height:72px}.ic-tile img{width:54px;height:54px}}
.cause-panel .ic-tile{margin-bottom:1rem}
.treat-body .ic-tile{margin-bottom:.8rem}
