/*
Theme Name: Adam Moskow
Theme URI: https://adammoskow.com/
Author: Rocco for Adam Moskow Acupuncture
Description: Custom block theme built from the approved site design. Acupuncture & Functional Medicine, South Florida.
Version: 1.1.5
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: adam-moskow
Tags: block-theme, full-site-editing
*/

:root{
  color-scheme: light dark;
  --bg:#f6f4ec; --bg-soft:#efece1; --surface:#ffffff; --surface-2:#f2f0e7;
  --ink:#17241e; --ink-soft:#3d4a43; --muted:#66756c;
  --pine:#2e6b4f; --pine-deep:#1e4232; --pine-ink:#eaf4ee;
  --gold:#c8822a; --star:#d98f2b;
  --accent-soft:#e3eee6; --line:#dcd8c9;
  --band:#e4eae2;
  --cta:#b25a2e; --cta-hover:#9a4c24;
  --nav-bg:rgba(250,249,245,.92);
  --shadow:0 18px 40px -18px rgba(23,36,30,.28);
  --shadow-sm:0 8px 22px -12px rgba(23,36,30,.28);
  --radius:18px;
  --max:1160px;
  font-size:16px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1512; --bg-soft:#141b17; --surface:#18211c; --surface-2:#1c2721;
    --ink:#e9efea; --ink-soft:#c3cec7; --muted:#93a29a;
    --pine:#7fbf9c; --pine-deep:#0f2a1f; --pine-ink:#eaf4ee;
    --accent-soft:#1b2d24; --line:#2b3830;
    --band:#16211b;
    --cta:#d2825a; --cta-hover:#e2936b;
    --nav-bg:rgba(15,21,18,.9);
    --shadow:0 18px 40px -18px rgba(0,0,0,.6);
    --shadow-sm:0 8px 22px -12px rgba(0,0,0,.55);
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Atkinson Hyperlegible",-apple-system,"Segoe UI",Roboto,sans-serif;
  line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.serif{font-family:"Source Serif 4",Georgia,serif; line-height:1.18; letter-spacing:-.01em}
img{max-width:100%; height:auto; display:block}
a{color:var(--pine)}
.wrap{max-width:var(--max); margin:0 auto; padding:0 22px}
section{scroll-margin-top:84px}
.section{padding:84px 0}
.section.band{background:var(--band)}
/* v1.0.6: alternating sage cards across the 4 medicine subsections (replaces the full-section sage) */
#services{background:none}
#services .svc + .svc{border-top:0}
#services .svc.flip{background:var(--band); border-radius:var(--radius); padding:48px}
@media (max-width:860px){ #services .svc.flip{padding:32px 24px} }
.section-cta{background:var(--pine-deep); color:var(--pine-ink)}
.section-cta h2{color:#fff}
.section-cta .sub{color:var(--pine-ink)}
.section-cta .side-card{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16)}
.section-cta .side-note{background:rgba(255,255,255,.96)}
.section-compact{padding:52px 0}
.lede{font-size:1.12rem; color:var(--ink-soft); max-width:62ch}
.kicker{
  display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--pine); margin:0 0 14px;
}
.h2{font-size:clamp(1.8rem,3.4vw,2.6rem); margin:.1em 0 .45em}
.h3{font-size:1.32rem; margin:0 0 .5em}
.sub{color:var(--muted); max-width:64ch; margin-top:0}
.divider{border:0; border-top:1px solid var(--line); margin:0}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.55em; text-decoration:none; font-weight:700;
  padding:.85rem 1.6rem; border-radius:999px; border:1px solid transparent; cursor:pointer;
  font-size:1rem; transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--cta); color:#fffaf4}
.btn-primary:hover{background:var(--cta-hover)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--pine); color:var(--pine)}
.btn-light{background:var(--pine-deep); color:#fff; border:2px solid var(--pine-deep)}
.btn-light:hover{background:var(--pine); border-color:var(--pine)}
.btn-sm{padding:.55rem 1.15rem; font-size:.92rem}
:focus-visible{outline:3px solid var(--pine); outline-offset:3px; border-radius:6px}

/* Header */
.site-head{
  position:sticky; top:0; z-index:60; background:var(--nav-bg);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .2s, box-shadow .2s;
}
.site-head.scrolled{border-bottom-color:var(--line); box-shadow:0 6px 18px -12px rgba(23,36,30,.25)}
.head-row{display:flex; align-items:center; gap:18px; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); margin-right:auto}
.brand-mark{width:40px; height:40px; border-radius:12px; background:#fbfaf6; border:1px solid var(--line);
  display:grid; place-items:center; overflow:hidden; flex:0 0 auto}
.brand-mark img{width:34px; height:34px; object-fit:contain; display:block; transform:translateY(-2px)} /* v1.0.5: nudge the AM up — it sat visually low in the mark */
.brand-text{line-height:1.15}
.brand-text b{font-family:"Source Serif 4",serif; font-size:1.16rem; display:block; white-space:nowrap}
.brand-text span{font-size:.68rem; letter-spacing:.16em; color:var(--muted); font-weight:700}
.nav{display:flex; gap:4px; align-items:center}
.nav a, .nav button{
  appearance:none; border:0; background:none; font:inherit; font-weight:600; font-size:.96rem;
  color:var(--ink-soft); padding:.55rem .6rem; border-radius:10px; cursor:pointer; white-space:nowrap;
  text-decoration:none; display:inline-flex; align-items:center;
}
.nav a:hover, .nav button:hover{background:var(--surface-2); color:var(--ink)}
.nav a.active, .nav button.active{color:var(--pine); background:var(--accent-soft)}
.head-cta{display:flex; gap:10px; align-items:center}
.head-cta .btn{white-space:nowrap}
.head-existing{display:none}
@media (max-width:1240px){ .head-existing{display:inline-flex} }
.phone-link{font-weight:700; color:var(--ink); text-decoration:none; font-size:.95rem; white-space:nowrap}
.phone-link:hover{color:var(--pine)}
.menu-btn{display:none}
@media (prefers-color-scheme: dark){ .brand-mark{background:var(--pine); color:#0f2a1f} }
@media (max-width:1500px){
  .head-cta .phone-link{display:none} /* keep the compact header CTA; the number stays in footer/locations */
}
@media (max-width:1240px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
}
@media (max-width:760px){
  .head-cta .btn{display:none}
}
@media (max-width:640px){
  .head-cta .phone-link{display:none}
}

/* Mobile menu */
.m-menu{display:none; position:fixed; inset:0; z-index:80; background:color-mix(in srgb, var(--bg) 96%, transparent);}
.m-menu.open{display:block}
.m-menu-inner{max-width:420px; margin:0 auto; padding:96px 26px 40px; display:grid; gap:6px;
  max-height:100dvh; overflow-y:auto; box-sizing:border-box}
.m-menu a.link, .m-menu button.link{
  appearance:none; border:0; background:none; font:inherit; text-align:left;
  font-family:"Source Serif 4",serif; font-size:1.7rem; font-weight:600; color:var(--ink);
  padding:.55rem .2rem; cursor:pointer; text-decoration:none; display:block;
}
.m-menu a.link:hover, .m-menu button.link:hover{color:var(--pine)}
.m-menu .m-cta{display:flex; gap:12px; margin-top:18px; flex-wrap:wrap}
.m-close{position:absolute; top:16px; right:16px}

/* Views */
.view{display:none}
.view.active{display:block}
@keyframes viewIn{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
.view.active{animation:viewIn .4s ease}
@media (prefers-reduced-motion:reduce){ .view.active{animation:none} html{scroll-behavior:auto} }

/* Hero */
.hero{position:relative; min-height:min(82vh,680px); display:flex; align-items:flex-end; overflow:hidden}
.hero-bg{position:absolute; inset:0}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:center 62%}
.hero-scrim{position:absolute; inset:0;
  background:
    linear-gradient(to top, rgba(8,13,10,.90) 2%, rgba(8,13,10,.66) 34%, rgba(8,13,10,.36) 58%, rgba(8,13,10,.16) 82%),
    linear-gradient(rgba(8,13,10,.14), rgba(8,13,10,.14));}
.hero-content{position:relative; color:#fff; padding:56px 0 60px; max-width:var(--max)}
.hero-kicker{color:#f6f2e7; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);
  text-shadow:0 1px 6px rgba(8,13,10,.6);
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  padding:.55rem 1rem; border-radius:999px; margin:0 0 20px; display:inline-block}
.hero h1{font-size:clamp(2.4rem,5.6vw,4rem); margin:0 0 .3em; max-width:16ch;
  text-shadow:0 2px 18px rgba(8,13,10,.7), 0 1px 3px rgba(8,13,10,.75)}
.hero p{font-size:1.12rem; max-width:52ch; color:#f2efe6; margin:0 0 1.6em;
  text-shadow:0 1px 12px rgba(8,13,10,.7), 0 1px 2px rgba(8,13,10,.7)}
.hero-btns{display:flex; gap:12px; flex-wrap:wrap}
.hero-stats{display:flex; gap:34px; margin-top:34px; flex-wrap:wrap}
.hero-stat b{font-family:"Source Serif 4",serif; font-size:1.5rem; display:flex; align-items:center; gap:8px}
.hero-stat span{font-size:.85rem; color:#dcd8cc}
/* Hero preview switcher (preview-only: lets the owner choose the hero image) */
.hero-switch{position:absolute; right:26px; bottom:26px; z-index:5; display:flex; align-items:center; gap:10px;
  background:rgba(10,16,13,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.28); border-radius:16px; padding:10px 12px}
.hero-switch-tag{font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#e9e4d6}
.hero-opt{appearance:none; border:2px solid transparent; background:none; padding:0; cursor:pointer; border-radius:10px;
  display:flex; flex-direction:column; align-items:center; gap:4px; color:#fff}
.hero-opt img{width:54px; height:40px; object-fit:cover; border-radius:8px; display:block; transition:transform .15s ease}
.hero-opt span{font-size:.62rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase}
.hero-opt[aria-pressed="true"]{border-color:#fff}
.hero-opt:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){ .hero-opt img{transition:none} }
@media (max-width:760px){
  .hero-switch{right:12px; bottom:12px; gap:6px; padding:7px 9px; border-radius:14px}
  .hero-opt img{width:44px; height:32px}
  .hero-switch-tag{display:none}
}
/* Activity strip */
.act-strip{background:var(--bg-soft); border-bottom:1px solid var(--line); padding:52px 0}
.act-grid{display:grid; grid-template-columns:repeat(8,1fr); gap:14px; margin-top:32px}
button.act-item{appearance:none; border:0; background:none; padding:0; margin:0; cursor:pointer; font:inherit; display:block}
button.act-item img{border-radius:14px; aspect-ratio:4/3; object-fit:cover; width:100%; box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease}
button.act-item span{display:block; font-size:.86rem; font-weight:700; color:var(--ink-soft); margin-top:8px; text-align:center}
button.act-item:hover img, button.act-item:focus-visible img{transform:translateY(-4px); box-shadow:var(--shadow)}
button.act-item:hover span{color:var(--pine)}
@media (prefers-reduced-motion:reduce){ button.act-item img{transition:none} button.act-item:hover img{transform:none} }
@media (max-width:1080px){ .act-grid{grid-template-columns:repeat(4,1fr); gap:14px} }
@media (max-width:640px){ .act-grid{grid-template-columns:repeat(2,1fr); gap:12px} .act-strip{padding:40px 0} }

/* Cred strip */
.creds{background:var(--surface); border-bottom:1px solid var(--line)}
.head-existing{display:none}
@media (max-width:1240px){ .head-existing{display:inline-flex} }
.head-cta .btn{white-space:nowrap}
.creds-row{display:flex; gap:0; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch}
.creds-row::-webkit-scrollbar{display:none}
.cred{flex:1 0 auto; padding:22px 26px; border-right:1px solid var(--line); min-width:max-content; scroll-snap-align:start}
.cred:last-child{border-right:0}
.cred b{font-family:"Source Serif 4",serif; font-size:1.05rem; display:block}
.cred span{font-size:.82rem; color:var(--muted)}

/* Services */
.svc{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:56px 0}
.svc + .svc{border-top:1px solid var(--line)}
.svc.flip .svc-media{order:2}
.svc-media{margin:0}
.svc-media img{border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; width:100%}
.svc-num{font-family:"Source Serif 4",serif; font-size:.95rem; color:var(--gold); font-weight:700; letter-spacing:.1em}
.svc-tags{display:flex; flex-wrap:wrap; gap:8px; margin:1.1em 0 1.4em; padding:0; list-style:none}
.svc-tags li{font-size:.84rem; font-weight:600; background:var(--surface-2); border:1px solid var(--line);
  color:var(--ink-soft); padding:.38rem .85rem; border-radius:999px}
@media (max-width:860px){
  .svc{grid-template-columns:1fr; gap:28px; padding:44px 0}
  .svc.flip .svc-media{order:0}
}

/* Testimonials */
.reviews{background:var(--pine-deep); color:var(--pine-ink); position:relative; overflow:hidden}
.reviews .kicker{color:#cfe0d3}
.reviews h2{color:#fff}
.rev-summary{display:flex; align-items:center; gap:14px; margin:6px 0 8px; flex-wrap:wrap}
.stars{display:inline-flex; gap:2px}
.stars svg{width:20px; height:20px; fill:var(--star)}
.rev-summary strong{font-family:"Source Serif 4",serif; font-size:1.3rem}
.rev-summary span{color:#c9d4cc}
.rev-stage{position:relative; max-width:880px; margin-top:34px}
.rev-quote{display:none}
.rev-quote.current{display:block; animation:revIn .5s ease}
@keyframes revIn{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
.rev-quote blockquote{font-family:"Source Serif 4",serif; font-size:clamp(1.35rem,2.8vw,2rem); font-weight:500;
  line-height:1.45; margin:0 0 1.1em; font-style:italic}
.rev-quote figcaption{font-size:.95rem; color:#c9d4cc}
.rev-quote figcaption b{color:#fff}
.rev-quote figcaption a.rev-link{color:#fff; font-size:.85rem; text-decoration:underline; text-underline-offset:3px}
.rev-quote figcaption a.rev-link:hover{color:#f6ecdc}
.rev-links{margin:24px 0 0}
.rev-links a{color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:4px}
.rev-links a:hover{color:#f6ecdc}
.rev-nav{display:flex; gap:10px; align-items:center; margin-top:30px; flex-wrap:wrap}
.rev-btn{appearance:none; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.4);
  background:transparent; color:#fff; cursor:pointer; font-size:1.15rem; line-height:1;
  display:grid; place-items:center; transition:background .15s}
.rev-btn:hover{background:rgba(255,255,255,.14)}
.rev-dots{display:flex; gap:8px; margin-left:8px}
.rev-dots button{appearance:none; border:0; width:10px; height:10px; border-radius:50%;
  background:rgba(255,255,255,.3); cursor:pointer; padding:0}
.rev-dots button[aria-current="true"]{background:#fff}
@media (prefers-reduced-motion:reduce){ .rev-quote.current{animation:none} }

/* Meet Adam teaser */
.meet{display:grid; grid-template-columns:300px 1fr; gap:54px; align-items:center}
.meet-photo{margin:0}
.meet-photo img{border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/4.6; object-fit:cover}
.meet .sig{font-family:"Source Serif 4",serif; font-style:italic; font-size:1.2rem; color:var(--pine)}
@media (max-width:760px){ .meet{grid-template-columns:1fr; gap:28px} .meet-photo img{max-width:280px} }

/* What to expect */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px}
.step{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px}
.step-num{font-family:"Source Serif 4",serif; font-size:2.1rem; font-weight:700; color:var(--gold)}
.step h3{margin:.4em 0 .5em}
.step p{color:var(--ink-soft); font-size:.96rem; margin:0}
.visit-notes{margin-top:26px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 32px; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center}
.visit-notes ul{margin:0; padding:0; list-style:none; display:grid; gap:12px}
.visit-notes li{display:flex; gap:12px; color:var(--ink-soft); font-size:.97rem}
.visit-notes li svg{flex:0 0 20px; margin-top:4px}
@media (max-width:920px){ .steps{grid-template-columns:1fr} .visit-notes{grid-template-columns:1fr} }

/* Functional-medicine deep dive + free-consult CTA */
.hero-consult{display:inline-block; margin-top:40px; color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:4px}
.hero-consult:hover{color:#f6ecdc}
.fm-deep{padding-top:72px; margin-top:56px; border-top:1px solid var(--line)}
.fm-cond-h{margin-top:52px}
.cond-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px}
.cond-group{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px 20px}
.cond-group h4{margin:0 0 8px; font-family:inherit; font-weight:700; font-size:1.02rem; color:var(--pine)}
.cond-group p{margin:0; color:var(--ink-soft); font-size:.93rem}
.fm-cta{text-align:center; margin-top:52px}
.fm-cta .sub{max-width:56ch; margin-left:auto; margin-right:auto}
.fm-cta .row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px}
@media (max-width:980px){ .cond-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .cond-grid{grid-template-columns:1fr} }

/* FAQ */
.faq-list{margin-top:32px; display:grid; gap:12px; max-width:860px}
.faq{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden}
.faq summary{cursor:pointer; padding:20px 24px; font-weight:700; font-size:1.02rem; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{font-weight:400; font-size:1.4rem; color:var(--pine); flex:0 0 auto; line-height:1}
.faq[open] summary .plus{transform:rotate(45deg)}
.faq .faq-body{padding:0 24px 22px; color:var(--ink-soft)}
.faq .faq-body p{margin:.6em 0}
/* v1.1.0: details blocks without .faq-body wrapper (e.g. Free Intro Call page) */
.wp-block-details.faq > p{padding:0 24px 22px; margin:0}

/* Locations */
.loc-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:26px; margin-top:36px}
.loc-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:34px 32px;
  display:flex; flex-direction:column; gap:8px}
.loc-card .tag{font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pine)}
.loc-card h3{font-size:1.5rem; margin:.1em 0 .2em}
.loc-line{display:flex; gap:10px; color:var(--ink-soft); font-size:.97rem; margin:2px 0}
.loc-line b{color:var(--ink)}
.loc-card .btn{align-self:flex-start; margin-top:16px}
.book-card{background:var(--pine-deep); color:var(--pine-ink); border-radius:var(--radius); padding:34px 32px;
  display:flex; flex-direction:column; justify-content:center; gap:6px}
.book-card h3{color:#fff; font-size:1.6rem; margin:0 0 .3em}
.book-card p{color:#cdd8d2; margin:0 0 1.2em}
.book-card .row{display:flex; gap:12px; flex-wrap:wrap}
/* Online consults card */
.online-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 32px; margin-top:26px; display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center}
.online-ico{width:58px; height:58px; border-radius:16px; background:var(--accent-soft); color:var(--pine);
  display:grid; place-items:center; flex:0 0 auto}
.online-card .tag{font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pine); margin:0}
.online-card h3{font-size:1.42rem; margin:.15em 0 .35em}
.online-card p{color:var(--ink-soft); font-size:.97rem; margin:0; max-width:58ch}
.online-card p b{color:var(--ink)}
.online-card .row{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end}
@media (max-width:980px){ .online-card{grid-template-columns:auto 1fr} .online-card .row{grid-column:1 / -1; justify-content:flex-start} }
@media (max-width:560px){ .online-card{padding:26px 24px} .online-ico{display:none} }
@media (max-width:920px){ .loc-grid{grid-template-columns:1fr} }

/* Footer */
.site-foot{background:var(--pine-deep); color:#cdd8d2; margin-top:90px}
.foot-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; padding:56px 0 36px}
.foot-grid h4{color:#fff; margin:0 0 14px; font-size:1rem; font-family:inherit; font-weight:700}
.foot-brand b{font-family:"Source Serif 4",serif; font-size:1.4rem; color:#fff; display:block; margin-bottom:8px}
.foot-brand p{font-size:.92rem; max-width:32ch}
.foot-links{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.foot-links button{background:none; border:0; color:#cdd8d2; font:inherit; padding:0; cursor:pointer; text-align:left}
.foot-links button:hover{color:#fff}
.foot-links a{color:#cdd8d2; text-decoration:none}
.foot-links a:hover{color:#fff}
.foot-base{border-top:1px solid rgba(255,255,255,.16); padding:20px 0 30px; display:flex; justify-content:space-between;
  gap:12px; flex-wrap:wrap; font-size:.82rem; color:#9fb0a6}
.foot-base a{color:#cdd8d2}
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr} }

/* Mobile CTA bar */
.m-bar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; background:var(--nav-bg);
  backdrop-filter:blur(14px); border-top:1px solid var(--line);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:10px}
.m-bar .btn{flex:1; justify-content:center; font-size:.85rem; line-height:1.3; text-align:center; white-space:normal; padding:.75rem .4rem}
@media (max-width:760px){
  .m-bar{display:flex}
  body{padding-bottom:76px}
  /* Keep interactive elements clear of the fixed bottom bar when scrolled into view */
  a, button, summary{scroll-margin-bottom:92px}
  /* The fixed bottom bar already offers "Free intro call": hide the duplicate
     hero link so it never rests under the bar on phones. */
  .hero-consult{display:none}
  /* Lift hero content resting position clear of the fixed bottom bar's band */
  .hero-content{padding-bottom:112px}
}

/* About view */
.page-head{background:var(--pine-deep); color:var(--pine-ink); padding:72px 0 64px; margin-bottom:0}
.page-head .kicker{color:#cfe0d3}
.page-head h1{color:#fff; font-size:clamp(2.2rem,4.8vw,3.4rem); margin:0 0 .25em}
.page-head p{color:#cdd8d2; max-width:56ch; font-size:1.08rem; margin:0}
.about-grid{display:grid; grid-template-columns:340px 1fr; gap:60px; padding:76px 0 30px}
.about-side{position:sticky; top:110px; align-self:start}
.about-side img{border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/4.7; object-fit:cover; width:100%}
.about-side figcaption{font-size:.86rem; color:var(--muted); margin-top:10px}
.about-body h2{font-size:clamp(1.5rem,2.6vw,2rem); margin:1.8em 0 .5em}
.about-body h2:first-child{margin-top:0}
.about-body p{color:var(--ink-soft); max-width:64ch}
.pullquote{border-left:4px solid var(--gold); padding:.2em 0 .2em 1.4em; margin:2.2em 0;
  font-family:"Source Serif 4",serif; font-style:italic; font-size:1.28rem; color:var(--ink); max-width:30ch}
.cred-list{list-style:none; margin:1.6em 0; padding:0; display:grid; gap:10px}
.cred-list li{display:flex; gap:12px; color:var(--ink-soft)}
.cred-list svg{flex:0 0 20px; margin-top:5px}
.about-inline{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:52px 0}
.about-inline img{border-radius:var(--radius); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover; width:100%}
.about-cta{background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:44px 40px; margin:40px 0 70px; text-align:center}
.about-cta h2{margin-top:0; text-wrap:balance}
.about-cta .sub{max-width:54ch; margin-inline:auto; text-wrap:balance}
.about-cta .row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px}
@media (max-width:920px){
  .about-grid{grid-template-columns:1fr; gap:32px}
  .about-side{position:static} .about-side img{max-width:300px}
  .about-inline{grid-template-columns:1fr}
}

/* Nav dropdowns */
.nav-drop{position:relative}
.nav-drop > .nav-top{appearance:none; border:0; background:none; font:inherit; font-weight:600; font-size:.96rem;
  color:var(--ink-soft); padding:.55rem .6rem; border-radius:10px; cursor:pointer; white-space:nowrap;
  display:inline-flex; align-items:center; gap:.35em}
.nav-drop > .nav-top:hover{background:var(--surface-2); color:var(--ink)}
.nav-drop > .nav-top.active{color:var(--pine); background:var(--accent-soft)}
.nav-drop > .nav-top .caret{font-size:.7em; opacity:.75}
.nav-menu{display:none; position:absolute; top:calc(100% + 8px); left:0; min-width:230px; max-height:60vh; overflow:auto;
  background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow);
  padding:8px; z-index:90}
.nav-drop:hover .nav-menu, .nav-drop:focus-within .nav-menu, .nav-drop.open .nav-menu{display:block}
.nav-menu a, .nav-menu button{display:block; width:100%; text-align:left; appearance:none; border:0; background:none; font:inherit;
  font-size:.95rem; font-weight:600; color:var(--ink-soft); padding:.6rem .8rem; border-radius:10px; cursor:pointer;
  text-decoration:none; box-sizing:border-box}
.nav-menu a:hover, .nav-menu button:hover{background:var(--surface-2); color:var(--ink)}
.nav-menu a.menu-all, .nav-menu button.menu-all{color:var(--pine); border-bottom:1px solid var(--line); border-radius:10px 10px 0 0; padding-bottom:.75rem; margin-bottom:4px}

/* WordPress global styles apply `:root :where(.is-layout-flow) > *` with a
   24px top margin to every non-first child of group blocks. Inside our own
   grid/flex rows the gap property already handles spacing, so neutralize
   that margin to keep items aligned. (Doubled class = higher specificity
   than the WP rule, so this wins regardless of stylesheet order.) */
.wp-block-group.cond-cards > * + *,
.wp-block-group.cond-grid > * + *,
.wp-block-group.steps > * + *,
.wp-block-group.hero-stats > * + *,
.wp-block-group.hero-btns > * + *,
.wp-block-group.act-grid > * + *,
.wp-block-group.creds-row > * + *,
.wp-block-group.faq-list > * + *,
.wp-block-group.fee-grid > * + *,
.wp-block-group.loc-grid > * + *,
.fm-cta .wp-block-group.row > * + *,
.wp-block-group.head-row > * + *{margin-block-start:0}

/* Conditions We Treat (homepage) */
.cond-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:34px}
.cond-card{appearance:none; background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:22px 20px; text-align:left; cursor:pointer; color:var(--ink); font:inherit; display:block;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease}
.cond-card:hover{border-color:var(--pine); box-shadow:var(--shadow-sm); transform:translateY(-2px)}
.cond-card h3{margin:0 0 6px; font-size:1.08rem; font-family:inherit; font-weight:700}
.cond-card p{margin:0; font-size:.9rem; color:var(--ink-soft)}
.cond-card .go{color:var(--pine); font-weight:700; font-size:.88rem; display:inline-block; margin-top:12px}
@media (max-width:980px){ .cond-cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .cond-cards{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .cond-card{transition:none} .cond-card:hover{transform:none} }

/* Subpages: sport & condition pages */
.sub-hero{position:relative; overflow:hidden; color:#fff; display:flex; align-items:flex-end; min-height:400px}
.sub-hero .hero-bg img{object-position:center 45%}
.sub-hero .hero-scrim{background:linear-gradient(to top, rgba(8,13,10,.94) 0%, rgba(8,13,10,.72) 38%, rgba(8,13,10,.42) 64%, rgba(8,13,10,.18) 100%)}
.sub-hero-content{position:relative; width:100%; padding:72px 0 66px}
.sub-hero h1{font-size:clamp(1.9rem,4.2vw,2.9rem); margin:0 0 .45em; max-width:19ch;
  text-shadow:0 2px 18px rgba(8,13,10,.78), 0 1px 3px rgba(8,13,10,.8)}
.sub-hero .sub-lede{font-size:1.08rem; max-width:56ch; color:#f2efe6; margin:0 0 1.5em;
  text-shadow:0 1px 14px rgba(8,13,10,.8), 0 1px 3px rgba(8,13,10,.8)}
.sub-hero .hero-btns .btn{text-shadow:none}
.crumb{font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#e9e4d4; margin:0 0 18px;
  text-shadow:0 1px 6px rgba(8,13,10,.8)}
.crumb button{background:none; border:0; color:#fff; font:inherit; cursor:pointer; text-decoration:underline;
  text-underline-offset:3px; padding:0}
.sub-cols{display:grid; grid-template-columns:1fr 330px; gap:56px; align-items:start}
.sub-main h2{font-size:clamp(1.5rem,2.6vw,1.85rem); margin:2em 0 .6em}
.sub-main h2:first-child{margin-top:0}
.sub-main p{color:var(--ink-soft); max-width:64ch}
.sub-main p.lede{margin-top:0}
.sub-list{margin:1.4em 0 0; padding:0; list-style:none; display:grid; gap:11px}
.sub-list li{display:flex; gap:12px; color:var(--ink-soft); align-items:flex-start; font-size:1rem}
.sub-list li svg{flex:0 0 20px; margin-top:4px; color:var(--pine)}
.sub-side{position:sticky; top:110px}
.side-card{background:var(--pine-deep); color:var(--pine-ink); border-radius:var(--radius); padding:32px 28px; display:grid; gap:14px}
.side-card h3{margin:0; color:#fff; font-size:1.42rem}
.side-card p{margin:0; font-size:.95rem; color:#cdd8d2}
.side-card .btn{justify-content:center; text-align:center}
.hero .btn-light,.side-card .btn-light{background:#fff; color:var(--pine-deep); border-color:#fff}
.hero .btn-light:hover,.side-card .btn-light:hover{background:#f3efe4}
.side-note{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin-top:16px}
.side-note h3{margin:0 0 10px; font-size:.95rem; font-family:inherit; font-weight:700; color:var(--ink)}
.side-note p{margin:0 0 12px; font-size:.9rem; color:var(--ink-soft)}
.side-note a{text-decoration:none; color:var(--pine); font-weight:700}
.side-note a:hover{text-decoration:underline}
.side-note button.related{background:none; border:0; color:var(--pine); font:inherit; font-weight:700; font-size:.9rem;
  padding:4px 0; cursor:pointer; text-align:left; display:block}
.side-note button.related:hover{text-decoration:underline}
.sub-more{background:var(--bg-soft); border-top:1px solid var(--line)}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.chips button{appearance:none; border:1px solid var(--line); background:var(--surface); border-radius:999px;
  padding:.6rem 1.2rem; font:inherit; font-weight:600; font-size:.92rem; color:var(--ink-soft); cursor:pointer}
.chips button:hover{color:var(--pine); border-color:var(--pine)}
@media (max-width:920px){
  .sub-cols{grid-template-columns:1fr; gap:40px}
  .sub-side{position:static}
  .sub-hero{min-height:340px}
}

/* Mobile menu: sports & conditions groups */
.m-group{margin:16px 0 6px; border-top:1px solid var(--line); padding-top:16px}
.m-group h3{font-family:inherit; font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:0 0 8px}
.m-group-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 14px}
.m-menu a.link.sm, .m-menu button.link.sm{font-family:inherit; font-weight:600; font-size:1.05rem; padding:.35rem .2rem}

/* Fees page */
.fee-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:8px}
.fee-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:34px 32px}
.fee-card h2{margin:.3em 0 .9em}
.fee-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:.95rem 0; border-bottom:1px dashed var(--line)}
.fee-row:last-of-type{border-bottom:0}
.fee-row span{font-size:1.03rem; font-weight:600}
.fee-row small{display:block; font-size:.9rem; font-weight:400; color:var(--muted)}
.fee-row b{font-family:"Source Serif 4",serif; font-size:1.65rem; color:var(--pine); white-space:nowrap}
.fee-packages{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:34px 38px; margin-top:26px}
.fee-packages h2{margin:.3em 0 .9em}
.ins-banner{background:var(--pine-deep); color:var(--pine-ink); border-radius:var(--radius); padding:34px 36px; margin-top:26px}
.ins-banner h3{color:#fff; margin:0 0 .5em; font-size:1.35rem}
.ins-banner p{margin:0; color:#cdd8d2; max-width:72ch}
@media (max-width:860px){
  .fee-grid{grid-template-columns:1fr}
  .fee-card{padding:28px 24px}
  .fee-packages{padding:28px 24px}
  .ins-banner{padding:28px 24px}
}

/* Free intro call page */
.page-head .wrap a.tel-headlight{color:#fff; font-weight:700}
.hp-field{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.intro-form{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:38px 36px; display:grid; gap:1.35rem}
.intro-form .field{margin:0}
.intro-form{color:var(--ink)} /* v1.0.5: labels were inheriting the deep-green section's light text */
.intro-form label.f-label, .intro-form span.f-label{display:block; font-weight:700; margin-bottom:.5rem; font-size:1.02rem}
.intro-form .f-label span[aria-hidden="true"]{color:var(--cta)}
.intro-form input[type="text"], .intro-form input[type="tel"], .intro-form textarea, .intro-form select{
  width:100%; font:inherit; color:var(--ink); background:var(--bg); border:1px solid var(--line);
  border-radius:12px; padding:.8rem 1rem;
}
.intro-form textarea{min-height:112px; resize:vertical}
.radio-row{display:flex; gap:10px; flex-wrap:wrap}
.radio-pill{display:inline-flex; align-items:center; gap:.6em; border:1px solid var(--line); border-radius:999px;
  padding:.62rem 1.25rem; cursor:pointer; font-weight:600; background:var(--bg); margin:0; font-size:.98rem}
.radio-pill input{accent-color:var(--pine); width:1.05rem; height:1.05rem; margin:0}
.radio-pill:has(input:checked){border-color:var(--pine); background:var(--accent-soft); color:var(--ink)}
.check-row{display:flex; gap:.85rem; align-items:flex-start; background:var(--accent-soft);
  border:1px solid var(--line); border-radius:12px; padding:1rem 1.15rem; cursor:pointer; margin:0}
.check-row input{margin:.2rem 0 0; width:1.2rem; height:1.2rem; accent-color:var(--pine); flex:0 0 auto}
.check-row span{font-weight:600; font-size:.98rem}
.form-note{font-size:.9rem; color:var(--muted); margin:0; max-width:60ch}
.form-done{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:38px 36px}
.form-done p.sub{max-width:60ch}
/* v1.0.7: thank-you text was inheriting the deep-green section's light color — force dark on the white card */
.section-cta .form-done{color:var(--ink)}
.section-cta .form-done h2{color:var(--ink)}
/* v1.0.8: .section-cta .sub was overriding the inherited dark color on the thank-you paragraphs */
.section-cta .form-done .sub{color:var(--muted)}
/* v1.0.9: Free Intro Call page layout */
.intro-cols{align-items:start !important; gap:48px}
.intro-side{display:grid; gap:24px; align-content:start}
.steps-mini{display:grid; gap:18px; margin-top:20px}
.step-mini{display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start}
.step-mini-num{width:44px; height:44px; border-radius:50%; background:var(--pine); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; margin:0 !important}
.step-mini p{margin:0}
.faq-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:24px 26px}
.faq-item .h3{margin-top:0}
.faq-item .sub{margin-bottom:0}
@media (max-width:781px){ .intro-cols{gap:32px} }
@media (max-width:560px){ .intro-form{padding:28px 22px} .form-done{padding:28px 22px} }

/* Reveal on scroll — progressive enhancement only. Content is visible by default,
   and the stylesheet contains NO rule that can globally hide .reveal elements.
   JS hides individual targets (.vel) only in the same step that registers them
   with a working IntersectionObserver, and never before the user scrolls — so a
   hidden element is always under observation, and fast renders or full-page
   captures always show real content. */
.reveal{transition:opacity .6s ease, transform .6s ease}
.reveal.vel{opacity:0; transform:translateY(18px)}
.reveal.don{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .reveal, .reveal.vel, .reveal.don{opacity:1; transform:none; transition:none} }
@media (max-width:760px){ .section{padding:60px 0} }
@media (max-width:480px){
  .brand-text span{display:none}
  .brand-text b{font-size:.92rem}
}

/* ============ WordPress bridge (theme integration) ============ */
/* Desktop nav links (build used buttons; WP uses anchors) */
.site-head .nav a{appearance:none;border:0;background:none;font:inherit;font-weight:600;font-size:.96rem;color:var(--ink-soft);padding:.55rem .6rem;border-radius:10px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}
.site-head .nav a:hover{background:var(--surface-2);color:var(--ink)}
/* Mobile menu links */
.m-menu a.link{appearance:none;border:0;background:none;font:inherit;text-align:left;font-family:"Source Serif 4",serif;font-size:1.7rem;font-weight:600;color:var(--ink);padding:.55rem .2rem;cursor:pointer;text-decoration:none;display:block}
.m-menu a.link:hover{color:var(--pine)}
/* FAQ plus icon (build used a span; WP uses ::after) */
.wp-block-details.faq summary::after{content:"+";font-weight:400;font-size:1.4rem;color:var(--pine);flex:0 0 auto;line-height:1;transition:transform .2s}
.wp-block-details.faq[open] summary::after{transform:rotate(45deg)}
/* Testimonials: static card grid (build had a JS carousel) */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:34px}
.rev-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.rev-card blockquote{margin:0}
.rev-card blockquote p{font-family:"Source Serif 4",serif;font-size:1.08rem;line-height:1.55;color:var(--ink)}
.rev-card cite{display:block;margin-top:14px;font-size:.92rem;color:var(--muted);font-style:normal}
.rev-card cite b{color:var(--pine)}
@media (max-width:640px){.rev-grid{grid-template-columns:1fr}}
/* Keep WP admin bar clear of sticky header */
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:46px}}
/* Card grids rendered as divs (build used buttons) */
div.act-item{appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;display:block}
div.act-item img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow-sm)}
div.act-item p{margin:0}
div.act-item span{display:block;font-size:.86rem;font-weight:700;color:var(--ink-soft);margin-top:8px;text-align:center}
/* Paragraph-wrapped inline fragments: no extra margins */
.hero-stat p,.step-num p,.rev-summary p,.stars p{margin:0}
/* Hero colors (theme.json base colors would override inheritance) */
.hero h1{color:#fff}
.hero-consult,.hero-consult a{color:#f6ecdc}
/* Buttons: .btn on the wrapper + WP link padding was doubling up */
.wp-block-button.btn{padding:0 !important;background:none !important;border:0 !important;display:inline-block;margin:0}
.wp-block-button.btn .wp-block-button__link{padding:.85rem 1.6rem;border-radius:999px;display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:1rem;line-height:1.25;text-decoration:none;border:1px solid transparent;white-space:nowrap}
.btn-primary .wp-block-button__link{background:var(--cta);color:#fffaf4}
.btn-primary .wp-block-button__link:hover{background:var(--cta-hover);color:#fffaf4}
.btn-light .wp-block-button__link{background:var(--pine-deep);color:#fff;border:2px solid var(--pine-deep)}
.btn-light .wp-block-button__link:hover{background:var(--pine);border-color:var(--pine)}
.btn-ghost .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(-

/* ================= v1.1.6: header navigation overflow fix =================
   The header (brand + 10 nav items + phone + two CTA buttons) was wider than
   its 1160px container, so the "Returning patients only: book online" button
   was cut off at the viewport edge on desktop. Fix, keeping both CTAs:
   (a) header row uses a wider container (1640px) than page content;
   (b) nav items get tighter spacing;
   (c) desktop nav collapses to the menu button at <=1500px (was 1240px);
       phone link hides at <=1700px (was 1500px) to leave room for the CTAs;
   (d) both header CTAs stay visible on desktop (no more hiding of
       .head-existing above 1240px);
   (e) restores base .btn styles: the v1.1.1 block at the end of this file
       accidentally redefined .btn globally (inline-block + rust
       background), breaking every .btn-ghost site-wide and defeating
       .head-existing's responsive hiding. The About/Condition CTA-card
       button look is re-applied scoped to those cards only.
   Note: selectors below use slightly higher specificity than the rules they
   replace, so this block wins wherever it sits in the file. */
.site-head .wrap.head-row{max-width:1640px}
.site-head .nav{gap:2px}
.site-head .head-row .nav a,.site-head .head-row .nav button{font-size:.9rem;padding:.5rem .45rem}
.site-head .nav-drop>.nav-top{font-size:.9rem;padding:.5rem .45rem}
@media (min-width:761px){.head-cta .head-existing{display:inline-flex}}
@media (max-width:1700px){.head-cta .phone-link{display:none}}
@media (max-width:1500px){.site-head .nav{display:none}.menu-btn{display:inline-flex}}
body .btn{display:inline-flex;align-items:center;gap:.55em;text-decoration:none;font-weight:700;padding:.85rem 1.6rem;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:1rem;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
body .btn-primary{background:var(--cta);color:#fffaf4}
body .btn-primary:hover{background:var(--cta-hover)}
body .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
body .btn-ghost:hover{background:transparent;border-color:var(--pine);color:var(--pine)}
body .btn-light{background:var(--pine-deep);color:#fff;border:2px solid var(--pine-deep)}
body .btn-light:hover{background:var(--pine);border-color:var(--pine)}
body .btn-sm{padding:.55rem 1.15rem;font-size:.92rem}
.about-cta .btn,.condition-cta .btn{display:inline-block;background:var(--cta);color:#fff;padding:.9rem 2rem;font-weight:600}
.about-cta .btn:hover,.condition-cta .btn:hover{background:var(--cta-hover);color:#fff}
-line)}
.btn-ghost .wp-block-button__link:hover{border-color:var(--pine);color:var(--pine)}
.btn-sm .wp-block-button__link{padding:.55rem 1.15rem;font-size:.92rem}
.hero .btn-light .wp-block-button__link,.side-card .btn-light .wp-block-button__link{background:#fff;color:var(--pine-deep);border-color:#fff}

/* ---- About & Condition pages (v1.1.1) ---- */
.about-hero,.condition-hero{max-width:var(--max);margin:0 auto;padding:3.5rem 1.5rem 2rem;text-align:center}
.about-hero h1,.condition-hero h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem;color:var(--ink)}
.about-hero .lede,.condition-hero .lede{font-size:1.2rem;color:var(--ink-soft);max-width:640px;margin:0 auto;line-height:1.6}
.about-story,.about-orthopedic,.about-credentials,.condition-overview,.condition-approach{max-width:760px;margin:0 auto;padding:2rem 1.5rem}
.about-story h2,.about-orthopedic h2,.about-credentials h2,.condition-overview h2,.condition-approach h2{font-size:1.75rem;margin:0 0 1.25rem;color:var(--pine-deep)}
.about-story p,.about-orthopedic p,.about-credentials p,.condition-overview p,.condition-approach p{line-height:1.75;margin:0 0 1.25rem;color:var(--ink-soft);font-size:1.05rem}
.about-orthopedic{background:var(--band);border-radius:var(--radius);margin:1rem auto;max-width:820px}
.about-credentials ul{line-height:1.8;color:var(--ink-soft);padding-left:1.5rem}
.about-credentials li{margin-bottom:.6rem}
.modality-section{max-width:760px;margin:1.5rem auto;padding:1.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.modality-section h3{font-size:1.35rem;margin:0 0 .9rem;color:var(--pine-deep)}
.modality-section p{line-height:1.7;color:var(--ink-soft);margin:0}
.about-cta,.condition-cta{background:var(--pine-deep);color:var(--pine-ink);text-align:center;padding:3rem 1.5rem;margin-top:2rem;border-radius:var(--radius);max-width:var(--max);margin-left:auto;margin-right:auto}
.about-cta h2,.condition-cta h2{color:#fff;margin:0 0 1rem;font-size:1.75rem}
.about-cta p,.condition-cta p{color:var(--pine-ink);opacity:.9;max-width:560px;margin:0 auto 1.5rem;line-height:1.6}
.btn{display:inline-block;background:var(--cta);color:#fff;padding:.9rem 2rem;border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s}
.btn:hover{background:var(--cta-hover);color:#fff}
