:root{--sage:#F0F6F2;--navy:#002448;--navy-hover:#0C2454;--green:#1E4632;--green-hover:#163524;--ink:#1F2937;--muted:#4B5563;--line:#E5E7EB;--bg:#FFFFFF;--bg-soft:#F9FAFB}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',sans-serif;color:var(--ink);background:var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Montserrat',sans-serif;color:var(--navy);line-height:1.2;font-weight:700;letter-spacing:-.02em}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%;height:auto}
.util{border-bottom:1px solid var(--line);background:#fff}
.util__in{max-width:1200px;margin:0 auto;padding:.65rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.util__note{font-size:.85rem;color:var(--muted)}
.util__links{display:flex;gap:2rem;flex-shrink:0}
.util__link,a.util__link{font-size:.85rem;font-weight:600;color:var(--navy) !important;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s;white-space:nowrap}
.util__link:hover,a.util__link:hover{color:var(--green) !important}
.hd{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .3s ease}
.hd--scrolled{box-shadow:0 6px 24px rgba(0,36,72,.12)}
.hd__in{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2.5rem}
.hd__logo{flex-shrink:0}
.hd__logo img{height:56px;width:auto;max-width:none;display:block}
.nav{display:flex;gap:2.25rem;align-items:center}
.nav a{font-size:.95rem;font-weight:600;color:var(--ink);position:relative;padding:.4rem 0;transition:color .2s}
.nav a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--green);transition:width .25s}
.nav a:hover{color:var(--green)}.nav a:hover::after{width:100%}
/* Patient Resources dropdown */
.nav__has-sub{position:relative}
.nav__toggle{font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:600;color:var(--ink);background:none;border:0;cursor:pointer;padding:.4rem 0;display:inline-flex;align-items:center;gap:.35rem;transition:color .2s}
.nav__toggle:hover{color:var(--green)}
.nav__caret{width:13px;height:13px;transition:transform .25s}
.nav__sub{position:absolute;top:calc(100% + 10px);right:0;min-width:216px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,36,72,.14);padding:.45rem;display:none;z-index:200}
.nav__sub::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.nav__sub a{display:block;position:relative;padding:.6rem .85rem .6rem 1.45rem;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--ink);white-space:nowrap;transition:background .18s,color .18s}
.nav__sub a::before{content:'';position:absolute;left:.6rem;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--green);opacity:0;transition:opacity .18s}
.nav__sub a:hover{background:var(--bg-soft);color:var(--green)}
.nav__sub a:hover::before{opacity:1}
.nav__divider{display:block;height:1px;background:var(--line);margin:.4rem .6rem}
.nav__sub a.sm{font-size:.82rem;font-weight:500;color:var(--muted);padding:.45rem .85rem}
@media(min-width:901px){.nav__sub{display:block;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s}.nav__has-sub:hover .nav__sub,.nav__sub.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav__has-sub:hover .nav__caret,.nav__toggle[aria-expanded="true"] .nav__caret{transform:rotate(180deg)}}
.hd__cta{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
.btn{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;border-radius:8px;padding:.75rem 1.5rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;border:2px solid transparent}
.btn--primary,a.btn--primary,.btn--primary:link,.btn--primary:visited{background:var(--green);color:#fff !important}
.btn--primary:hover,a.btn--primary:hover{background:#3D8A5C;color:#fff !important;transform:translateY(-2px);box-shadow:0 5px 12px rgba(46,102,68,.35)}
.btn--ghost{background:transparent;color:var(--muted);border-color:var(--line);font-weight:600}
.btn--ghost:hover{border-color:var(--green);color:var(--green);background:rgba(30,70,50,.03)}
.hd__burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;justify-content:center}
.hd__burger span{display:block;width:26px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s}
.hd__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hd__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hd__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.hero{background:linear-gradient(180deg,#F0F6F2 0%,#FFFFFF 100%);position:relative;overflow:hidden}
.hero--split .hero__in{display:grid;grid-template-columns:1.15fr 1fr;gap:3.5rem;align-items:center;text-align:left}
.hero--split .hero__lede{margin-left:0;margin-right:0}
.hero--split .hero__cta{justify-content:flex-start}
.hero--split .hero__trust{justify-content:flex-start;margin-left:0;margin-right:0;border-top:none;padding-top:1.5rem;margin-top:2rem}
.hero__media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 18px 50px rgba(0,36,72,.16)}
@media(max-width:900px){.hero--split .hero__in{grid-template-columns:1fr;text-align:center}.hero--split .hero__cta,.hero--split .hero__trust,.hero--split .hero__rating{justify-content:center}.hero__media{order:-1;max-width:520px;margin:0 auto 1.5rem}}
.hero__in{max-width:1200px;margin:0 auto;padding:6.5rem 2rem 5rem;text-align:center}
.hero__eyebrow{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:1.75rem;display:inline-block;background:none;padding:0;border-radius:0}
.hero__eyebrow::before{content:'';display:block;width:36px;height:2px;background:var(--green);margin:0 auto .65rem}
.hero h1{font-size:clamp(2.1rem,4.5vw,3rem);margin:0 auto 1.5rem;max-width:22ch}
.hero__h1-sub{display:block;font-size:.55em;color:var(--green);font-weight:600;margin-top:.4rem;letter-spacing:-.01em}
.hero__lede{font-size:1.2rem;color:var(--muted);margin:0 auto 2.5rem;max-width:44rem;line-height:1.8}
.hero__cta{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}
.hero__btn-lg{padding:1.1rem 2.5rem;font-size:1.05rem}
.hero__trust{margin-top:4rem;display:flex;gap:1.5rem 2.25rem;justify-content:center;flex-wrap:wrap;padding-top:3rem;border-top:1px solid var(--line);max-width:66rem;margin-left:auto;margin-right:auto}
.hero__trust-item{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--navy);font-weight:600}
.hero__trust-item span{color:var(--green);font-size:1.25rem;font-weight:800}
.sec-head{text-align:center;max-width:46rem;margin:0 auto 3.5rem}
.sec-head .eyebrow{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:1.25rem}
.sec-head h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:1rem}
.sec-head p{font-size:1.12rem;color:var(--muted)}
/* LOCATIONS */
.loc{background:#fff;border-bottom:1px solid var(--line)}
.loc__in{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.loc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.loc__card{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:2rem;display:flex;flex-direction:column;align-items:flex-start}
.loc__badge{font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .85rem;border-radius:6px;margin-bottom:1rem}
.loc__badge--open{background:#EAF0EC;color:var(--green)}
.loc__badge--soon{background:#FFF4E5;color:#B5710A}
.loc__name{font-family:'Montserrat',sans-serif;font-size:1.3rem;color:var(--navy);margin-bottom:.6rem}
.loc__addr{font-size:.96rem;color:var(--muted);line-height:1.6;margin-bottom:1rem;min-height:3rem}
.loc__phone{font-size:.95rem;font-weight:600;color:var(--green);margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.5rem}
.loc__phone .qcmd-ic{width:18px;height:18px;flex-shrink:0;stroke:var(--green)}
.qcmd-ic{width:18px;height:18px;flex-shrink:0;vertical-align:middle}
.loc__actions{display:flex;gap:.6rem;margin-top:auto;width:100%}
.loc__btn{flex:1;padding:.6rem 1rem;font-size:.85rem}
/* SERVICES */
.svc{background:var(--sage);border-bottom:1px solid var(--line)}
.svc__in{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.svc__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}
.svc__card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:2rem 1.75rem;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .25s,box-shadow .25s,transform .25s;text-decoration:none}
.svc__card:hover{border-color:var(--green);box-shadow:0 14px 30px rgba(0,36,72,.08);transform:translateY(-3px)}
.svc__icon{width:44px;height:44px;border-radius:10px;background:var(--sage);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:background .25s,color .25s}
.svc__icon svg{width:22px;height:22px}
.svc__card:hover .svc__icon{background:var(--green);color:#fff}
.svc__line{width:40px;height:3px;background:var(--green);border-radius:2px;margin-bottom:1.5rem}
.svc__name{font-family:'Montserrat',sans-serif;font-size:1.15rem;color:var(--navy);margin-bottom:.7rem;line-height:1.25}
.svc__desc{font-size:.95rem;color:var(--muted);line-height:1.6;margin-bottom:1.4rem;flex:1}
.svc__more{font-family:'Montserrat',sans-serif;font-size:.86rem;font-weight:600;color:var(--green);margin-top:auto}
.svc__all,.loc__all,.prov__all{text-align:center;margin-top:3.5rem}
/* PROVIDERS */
.prov{background:#fff;border-bottom:1px solid var(--line)}
.prov__in{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.prov__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.prov__card{text-align:center;display:flex;flex-direction:column;align-items:center}
.prov__photo{width:140px;height:140px;border-radius:50%;background:linear-gradient(145deg,#EAF0EC,#DCE6E0);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;border:3px solid #fff;box-shadow:0 6px 20px rgba(0,36,72,.08);overflow:hidden}
.prov__photo span{font-family:'Montserrat',sans-serif;font-size:2rem;font-weight:700;color:var(--green)}
.prov__photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.prov__name{font-family:'Montserrat',sans-serif;font-size:1.05rem;color:var(--navy);margin-bottom:.3rem;line-height:1.25}
.prov__role{font-size:.9rem;color:var(--muted);margin-bottom:.7rem}
.prov__cta{margin-top:auto;padding-top:.8rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.prov__book{font-family:'Montserrat',sans-serif;font-size:.84rem;font-weight:600;background:var(--green);color:#fff !important;padding:.55rem 1.3rem;border-radius:8px;display:inline-block;transition:all .2s;text-decoration:none}
.prov__book:hover{background:#3D8A5C;transform:translateY(-2px);box-shadow:0 5px 12px rgba(46,102,68,.35)}
.prov__link{font-family:'Montserrat',sans-serif;font-size:.84rem;font-weight:600;color:var(--green)}
/* REVIEWS */
.rev{background:var(--sage);border-bottom:1px solid var(--line)}
.rev__in{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.rev__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.rev__card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2rem}
.rev__stars{color:#F5A623;font-size:1.1rem;letter-spacing:2px;margin-bottom:1rem}
.rev__quote{font-size:1rem;color:var(--ink);line-height:1.7;font-style:italic;margin-bottom:1.25rem}
.rev__author{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:.95rem}
.rev__src{font-size:.82rem;color:var(--green);font-weight:600}
/* STICKY MOBILE CTA */
.mcta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(0,36,72,.1)}
.mcta a{flex:1;text-align:center;padding:.9rem .5rem;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}
.mcta__call{color:var(--navy)}.mcta__text{color:var(--navy);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.mcta__book{background:var(--green);color:#fff}
.mcta-spacer{display:none}
/* RESPONSIVE */
@media(max-width:1024px){.svc__grid,.prov__grid{grid-template-columns:repeat(2,1fr)}.loc__grid,.rev__grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .util__note{display:none}.util__in{justify-content:flex-end}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 8px 24px rgba(0,36,72,.1);padding:.5rem 2rem 1.5rem}
  .nav.open{display:flex}
  .nav a{padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}.nav a::after{display:none}
  .hd__cta .btn--ghost{display:none}
  .hd__burger{display:flex;order:3}
  .hero__in{padding:4rem 1.5rem}.hero__trust{gap:1.5rem 2.5rem;margin-top:3rem;padding-top:2.5rem}
  .mcta{display:flex}.mcta-spacer{display:block;height:62px}
  .nav__has-sub{width:100%}
  .nav__toggle{width:100%;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .nav__sub{position:static;transform:none;display:none;min-width:0;border:0;box-shadow:none;border-radius:0;padding:.25rem 0 .5rem;background:transparent}
  .nav__sub::before{display:none}
  .nav__sub.open{display:block}
  .nav__sub a{padding:.7rem 0 .7rem 1.1rem;font-size:1rem;border-bottom:1px solid var(--line)}
  .nav__divider{display:none}
  .nav__sub a.sm{font-size:.95rem}
  .nav__toggle[aria-expanded="true"] .nav__caret{transform:rotate(180deg)}
}
@media(max-width:600px){
  .hd__in{padding:.9rem 1.05rem;gap:.65rem}
  .hd__logo img{height:52px}
  .hd__cta{gap:.5rem}
  .hd__cta .btn--primary{padding:.55rem .88rem;font-size:.78rem}
}
@media(max-width:560px){.svc__grid,.prov__grid{grid-template-columns:1fr}.hero__cta{flex-direction:column}.hero__cta .btn{width:100%}}

/* INSURANCE */
.ins{background:#fff;border-bottom:1px solid var(--line)}
.ins__in{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.ins__chips{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;max-width:60rem;margin:0 auto 2rem}
.ins__chip{font-family:'Montserrat',sans-serif;font-size:.92rem;font-weight:600;color:var(--navy);background:var(--bg-soft);border:1px solid var(--line);border-radius:50px;padding:.65rem 1.4rem;transition:all .2s}
.ins__chip:hover{border-color:var(--green);color:var(--green)}
.ins__note{text-align:center;max-width:44rem;margin:0 auto;font-size:1rem;color:var(--muted);line-height:1.7}
.ins__note strong{color:var(--navy)}
.ins__exclude{display:inline-block;margin-top:1rem;font-size:.92rem;color:#3D4D63;background:#EEF2F7;border:1px solid #DCE5F0;padding:.5rem 1.1rem;border-radius:8px;font-weight:600}
.ins__cta{text-align:center;margin-top:2.5rem}
.ins__subhead{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--navy);text-align:center;margin:2rem 0 1.25rem;letter-spacing:.02em}
.ins__chip--mco{background:#fff;border-color:#CDD6DF}


/* FAQ */
.faq{background:#fff;border-bottom:1px solid var(--line)}
.faq__in{max-width:860px;margin:0 auto;padding:5.5rem 2rem}
.faq__list{margin-top:2.5rem}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:1.08rem;font-weight:600;color:var(--navy);padding:1.4rem 2.5rem 1.4rem 0;position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq__q::after{content:'+';position:absolute;right:0;font-size:1.5rem;color:var(--green);font-weight:400;transition:transform .2s}
.faq__item.open .faq__q::after{content:'\2212'}
.faq__a{max-height:0;overflow:hidden;transition:max-height .28s ease;color:var(--muted);font-size:1rem;line-height:1.7}
.faq__a p{padding:0 0 1.4rem}
.faq__item.open .faq__a{max-height:300px}
/* FOOTER */
.ft{background:var(--navy);color:#fff}
.ft__in{max-width:1200px;margin:0 auto;padding:4.5rem 2rem 2rem}
.ft__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:2.5rem;margin-bottom:3rem}
.ft__logo img{height:54px;width:auto;margin-bottom:1.25rem;filter:brightness(0) invert(1)}
.ft__tag{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.7;max-width:22rem}
.ft__social{display:flex;gap:.85rem;margin-top:1.5rem}
.ft__social a{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:.2s}
.ft__social a:hover{background:var(--green)}
.ft__social svg{width:18px;height:18px;stroke:#fff;fill:none}
.ft__h{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);margin-bottom:1.25rem}
.ft__links{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.ft__links a{color:rgba(255,255,255,.85);font-size:.95rem;transition:color .2s}
.ft__links a:hover{color:#fff}
.ft__loc{margin-bottom:1.5rem}
.ft__loc-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.92rem;color:#fff;margin-bottom:.3rem}
.ft__opening{color:#7FB89A;font-weight:600}
.ft__loc-addr{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.55}
.ft__bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.75rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.ft__copy{font-size:.85rem;color:rgba(255,255,255,.55)}
.ft__legal{display:flex;gap:1.5rem}
.ft__legal a{font-size:.85rem;color:rgba(255,255,255,.55);transition:color .2s}
.ft__legal a:hover{color:#fff}
@media(max-width:1100px){.ft__grid{grid-template-columns:1fr 1fr 1fr;gap:2.5rem}}
@media(max-width:900px){.ft__grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(max-width:560px){.ft__grid{grid-template-columns:1fr}.ft__bottom{flex-direction:column;text-align:center}}
/* THANK YOU PAGE */
.ty{max-width:760px;margin:0 auto;padding:4rem 2rem 5rem}
.ty__check{width:84px;height:84px;border-radius:50%;background:#EAF0EC;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem}
.ty__check svg{width:44px;height:44px;stroke:var(--green);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ty__head{text-align:center;margin-bottom:2.5rem}
.ty__head h1{font-size:clamp(2rem,4.5vw,2.9rem);margin-bottom:1rem}
.ty__head p{font-size:1.2rem;color:var(--muted);max-width:34rem;margin:0 auto}
.ty__sent{display:inline-flex;align-items:center;gap:.5rem;background:#EAF0EC;color:var(--green);font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;padding:.5rem 1.1rem;border-radius:50px;margin-bottom:1.5rem}
.ty__card{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:2.5rem;margin-bottom:1.75rem}
.ty__card h2{font-size:1.3rem;margin-bottom:1.75rem;text-align:center}
.ty__steps{display:flex;flex-direction:column;gap:1.5rem}
.ty__step{display:flex;gap:1.25rem;align-items:flex-start}
.ty__num{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center}
.ty__step-body h3{font-size:1.08rem;margin-bottom:.25rem}
.ty__step-body p{color:var(--muted);font-size:.98rem}
.ty__contact{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.75rem}
.ty__contact .btn svg{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ty__urgent{background:#FFF4E5;border:1px solid #F5D9A8;border-radius:12px;padding:1.25rem 1.5rem;text-align:center;font-size:.98rem;color:#7A4E0A}
.ty__urgent strong{color:#B5710A}
.ty__911{background:#FDECEC;border:1px solid #F5C2C2;border-radius:12px;padding:1.25rem 1.5rem;text-align:center;font-size:.98rem;color:#9B2C2C;margin-top:1rem}
.ty__911 strong{color:#C0392B}
@media(max-width:560px){.ty{padding:3rem 1.25rem 4rem}.ty__contact{flex-direction:column}.ty__contact .btn{width:100%}}

/* HOMEPAGE — more conditions chip row */
.svc__more-row{max-width:1180px;margin:2.5rem auto 0;text-align:center}
.svc__more-row h3{font-family:'Montserrat',sans-serif;font-size:1.05rem;color:var(--navy);margin-bottom:1.25rem}
.svc__chips{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.svc__chip{background:#fff;border:1px solid var(--line);border-radius:50px;padding:.55rem 1.2rem;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.88rem;color:var(--navy);transition:all .2s;text-decoration:none}
.svc__chip:hover{border-color:var(--green);color:var(--green)}

/* ABOUT PAGE */
.ab-hero{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.ab-hero__in{max-width:920px;margin:0 auto;padding:4.5rem 2rem;text-align:center}
.ab-hero__eyebrow{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);background:none;padding:0;border-radius:0;display:inline-block;margin-bottom:1.5rem}
.ab-hero__eyebrow::before{content:'';display:block;width:36px;height:2px;background:var(--green);margin:0 auto .65rem}
.ab-hero h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1.5rem}
.ab-hero p{font-size:1.2rem;color:var(--muted);max-width:46rem;margin:0 auto 2rem}
.ab-trust{background:#fff;border-bottom:1px solid var(--line)}
.ab-trust__in{max-width:1080px;margin:0 auto;padding:1.6rem 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ab-trust__in div{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.25rem}
.ab-trust strong{display:block;font-family:'Montserrat',sans-serif;color:var(--navy);font-size:.98rem;margin-bottom:.25rem}
.ab-trust span{color:var(--muted);font-size:.9rem}
.ab{max-width:820px;margin:0 auto;padding:4.5rem 2rem}
.ab__block{margin-bottom:3rem}
.ab__block h2{font-size:1.6rem;margin-bottom:1.25rem}
.ab__block p{font-size:1.05rem;color:#374151;margin-bottom:1.25rem}
.ab__accent{width:54px;height:4px;background:var(--green);border-radius:2px;margin-bottom:1.75rem}
.ab-cond{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0 0}
.ab-cond a{background:#EAF0EC;color:var(--green);font-family:'Montserrat',sans-serif;font-weight:600;font-size:.88rem;padding:.5rem 1.1rem;border-radius:50px;transition:all .2s;text-decoration:none}
.ab-cond a:hover{background:var(--green);color:#fff}
.ab-band{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:3rem 0}
.ab-band .ab__block{max-width:820px;margin:0 auto;padding:3rem 2rem}
.ab-dr{background:linear-gradient(135deg,#F9FAFB 0%,#EEF5F1 100%);border:1px solid var(--line);border-radius:20px;padding:2.5rem;margin:3rem 0;display:grid;grid-template-columns:230px 1fr;gap:2.5rem;align-items:center}
.ab-dr__photo{width:230px;height:230px;border-radius:50%;background:#E5E7EB;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,36,72,.12)}
.ab-dr__photo img{width:100%;height:100%;object-fit:cover}
.ab-dr h2{font-size:1.4rem;margin-bottom:1rem}
.ab-dr p{color:#374151;margin-bottom:1rem}
.ab-dr p:last-child{margin-bottom:0}
.ab-loc{margin:3rem 0}
.ab-loc h2{font-size:1.4rem;margin-bottom:1.5rem;text-align:center}
.ab-loc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ab-loc__card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.75rem}
.ab-loc__name{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:1.15rem;margin-bottom:.5rem}
.ab-loc__addr{color:var(--muted);font-size:.96rem;margin-bottom:1rem;line-height:1.6}
.ab-loc__actions{display:flex;gap:.6rem}
.ab-loc__actions .btn{flex:1;padding:.6rem 1rem;font-size:.85rem}
.ab-hours{background:var(--navy);color:#fff;border-radius:16px;padding:2.5rem;margin:3rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.ab-hours h2{color:#fff;font-size:1.3rem;margin-bottom:1.25rem}
.ab-hours__row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.98rem}
.ab-hours__row span:first-child{color:rgba(255,255,255,.75)}
.ab-hours__closed{color:#7FB89A}
.ab-hours__cta{display:flex;flex-direction:column;justify-content:center;gap:1rem}
.ab-hours__phone{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:700;color:#fff}
@media(max-width:860px){.ab-loc__grid{grid-template-columns:1fr}}
@media(max-width:820px){.ab-trust__in{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ab-dr{grid-template-columns:1fr;text-align:center;justify-items:center}.ab-dr__photo{width:240px;height:240px;margin:0 auto}}
@media(max-width:680px){.ab-hours{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:520px){.ab-trust__in{grid-template-columns:1fr}}

/* PROVIDER PROFILE PAGES */
.pv-hero{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.pv-hero__in{max-width:1000px;margin:0 auto;padding:3rem 2rem}
.pv-hero__crumb{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem}
.pv-hero__crumb a{color:var(--green);font-weight:600}
.pv-hero__card{display:grid;grid-template-columns:200px 1fr;gap:2.5rem;align-items:center}
.pv-hero__photo{width:200px;height:200px;border-radius:50%;overflow:hidden;background:#E5E7EB;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,36,72,.12)}
.pv-hero__photo img{width:100%;height:100%;object-fit:cover}
.pv-hero__initials{font-family:'Montserrat',sans-serif;font-weight:700;font-size:3.5rem;color:#9AA6B2}
.pv-hero__meta h1{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:.4rem}
.pv-hero__title{font-family:'Montserrat',sans-serif;font-size:1.1rem;color:var(--green);font-weight:600;margin-bottom:1rem}
.pv-hero__badge{display:inline-block;background:none;color:var(--green);font-family:'Montserrat',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:0;border-radius:0;margin-bottom:1.25rem}
.pv-hero__badge::before{content:'';display:block;width:36px;height:2px;background:var(--green);margin:0 0 .65rem}
.pv-hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.pv{max-width:1000px;margin:0 auto;padding:3.5rem 2rem;display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.pv__bio h2{font-size:1.5rem;margin-bottom:1.25rem;padding-left:1rem;border-left:4px solid var(--green)}
.pv__bio p{color:#374151;font-size:1.05rem;margin-bottom:1.25rem;line-height:1.8}
.pv__side{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1.5rem}
.pv__card{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:1.75rem}
.pv__card h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--navy)}
.pv__card p{color:var(--muted);font-size:.95rem;margin-bottom:1rem;line-height:1.6}
.pv__card .btn{width:100%;justify-content:center;margin-bottom:.6rem}
.pv-cta{background:var(--navy);color:#fff;text-align:center}
.pv-cta__in{max-width:700px;margin:0 auto;padding:3.5rem 2rem}
.pv-cta h2{color:#fff;font-size:1.7rem;margin-bottom:1rem}
.pv-cta p{color:rgba(255,255,255,.8);margin-bottom:1.75rem;font-size:1.1rem}
.pv-cta__phone{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:700;color:#fff;display:block;margin-top:1rem}
@media(max-width:880px){.pv{grid-template-columns:1fr}.pv__side{position:static}}
@media(max-width:620px){.pv-hero__card{grid-template-columns:1fr;text-align:center;justify-items:center}.pv-hero__photo{margin:0 auto}.pv-hero__cta{justify-content:center}}

/* PROVIDER — trust strip + services list (added) */
.pv-trust{background:#fff;border-bottom:1px solid var(--line)}
.pv-trust__in{max-width:1000px;margin:0 auto;padding:1.1rem 2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;color:var(--navy)}
.pv-trust__in span{display:flex;align-items:center;gap:.5rem}
.pv-trust__in span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}
.pv__services{margin-top:2.5rem}
.pv__services h2{font-size:1.4rem;margin-bottom:1rem;padding-left:1rem;border-left:4px solid var(--green)}
.pv__services p{color:#374151;font-size:1.05rem;margin-bottom:1rem;line-height:1.8}
.pv__svc-list{margin:0 0 1.25rem 1.5rem;color:#374151;font-size:1.05rem}
.pv__svc-list li{margin-bottom:.5rem}
.pv__svc-list a{color:var(--green);font-weight:600}
.pv__svc-list a:hover{color:var(--green-hover)}

/* LEGAL PAGES (Privacy, Terms) */
.lg-hero{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.lg-hero__in{max-width:820px;margin:0 auto;padding:3.5rem 2rem;text-align:center}
.lg-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:1rem}
.lg-hero p{font-size:1.1rem;color:var(--muted);max-width:40rem;margin:0 auto}
.lg{max-width:820px;margin:0 auto;padding:3.5rem 2rem}
.lg__block{margin-bottom:2.5rem}
.lg__block h2{font-size:1.4rem;margin-bottom:1rem;padding-left:1rem;border-left:4px solid var(--green);color:var(--navy)}
.lg__block p{color:#374151;font-size:1.02rem;line-height:1.8;margin-bottom:1rem}
.lg__block a{color:var(--green);font-weight:600}
.lg__block a:hover{color:var(--green-hover)}
@media(max-width:640px){.lg__block h2{font-size:1.2rem}.lg__block p{font-size:1rem}}

/* ── Bottom CTA band ── */
.ctaband{background:var(--navy);text-align:center;padding:4rem 2rem}
.ctaband__h{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.6rem}
.ctaband__p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:1.75rem}

/* ── FAQ answer links ── */
.faq__a a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.faq__a a:hover{color:var(--green-hover)}

/* ── Provider captioned photo gallery ── */
.pv__gallery{margin:2.5rem 0}
.pv__gallery h2{font-size:1.4rem;color:var(--navy);margin:0 0 1.2rem}
.pv__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.pv__gallery-item{margin:0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(0,36,72,.1)}
.pv__gallery-item img{width:100%;height:200px;object-fit:cover;display:block}
.pv__gallery-item figcaption{padding:.7rem .9rem;font-size:.85rem;color:var(--muted);line-height:1.5;background:#fff}
@media(max-width:560px){.pv__gallery-grid{grid-template-columns:1fr 1fr;gap:.75rem}.pv__gallery-item img{height:140px}}

/* ═══════════════════════════════════════════════════════════════════
   SERVICE PAGES — minimal, safe fixes only (v3.7.4)
   Fixes ONLY the two things that were genuinely broken:
     1. Empty/invisible bullet list text
     2. Invisible "Related Services" sidebar text
   Does NOT touch hero, headings, paragraph colors, or backgrounds —
   so the navy hero keeps its original white text (readable) and
   nothing else changes. CSS only; no SEO/content/URL impact.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Fix #1: bullet lists where the text was invisible (white-on-white) ──
   Only forces a readable dark color + restores disc markers. Lists live
   in the white body content area, never the navy hero. */
.elementor-widget-text-editor ul {
  padding-left: 1.4rem;
}
.elementor-widget-text-editor ul li {
  list-style: disc;
  color: #3F4956 !important;
  margin-bottom: 0.45rem;
  line-height: 1.75;
}
.elementor-widget-text-editor ul li::marker {
  color: #2A7A4B;            /* green bullet marker */
}

/* ── Fix #2: "Related Services" sidebar (Elementor icon-list) ──
   Text was invisible (white on white). Restore readable text on a
   light box, with green arrows. This widget only appears in the body. */
.elementor-widget-icon-list {
  background: #F7FAF8;
  border: 1px solid #E3EBE6;
  border-radius: 10px;
  padding: 1rem 1.2rem;
}
.elementor-widget-icon-list .elementor-icon-list-item a,
.elementor-widget-icon-list .elementor-icon-list-text {
  color: #3F4956 !important;
  font-weight: 500;
}
.elementor-widget-icon-list .elementor-icon-list-item a:hover,
.elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #2A7A4B !important;
}
.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon-list .elementor-icon-list-icon svg {
  color: #2A7A4B !important;
  fill: #2A7A4B !important;
}

/* ── Kit-bleed armor: Elementor global button/link styles must not restyle the coded header ── */
.hd .nav__toggle,.hd .nav__toggle:hover,.hd .nav__toggle:focus,.hd .nav__toggle:active{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;text-shadow:none!important}
.hd .nav__toggle{color:var(--ink)!important;font-family:'Montserrat',sans-serif!important;font-size:.95rem!important;font-weight:600!important;line-height:1.3!important;padding:.45rem .7rem!important;border-radius:8px!important}
.hd .nav__toggle:hover,.hd .nav__toggle:focus-visible,.hd .nav__toggle[aria-expanded="true"]{background:var(--sage)!important;color:var(--green)!important}
.hd .nav>a{color:var(--ink)!important;background:transparent!important}
.hd .nav>a:hover{color:var(--green)!important}
.hd .nav__sub{padding:.45rem!important}
.hd .nav__sub a{color:var(--ink)!important;font-family:'Source Sans 3',sans-serif!important;font-size:.9rem!important;font-weight:600!important;line-height:1.35!important;padding:.6rem .85rem .6rem 1.45rem!important;margin:0!important;background:transparent;border-radius:8px!important;text-decoration:none!important;position:relative}
.hd .nav__sub a:hover,.hd .nav__sub a:focus{background:var(--bg-soft)!important;color:var(--green)!important;box-shadow:none!important;outline:0}
.hd .nav__sub a:hover::before,.hd .nav__sub a:focus::before{opacity:1}
.hd .nav__sub a.sm{font-size:.82rem!important;font-weight:500!important;color:var(--muted)!important}
.hd .nav__sub a.sm:hover{color:var(--green)!important}
@media(max-width:900px){
.hd .nav__toggle{padding:.9rem 0!important;border-radius:0!important}
.hd .nav__toggle:hover,.hd .nav__toggle:focus-visible,.hd .nav__toggle[aria-expanded="true"]{background:transparent!important;color:var(--green)!important}
.hd .nav__sub a{padding:.7rem 0 .7rem 1.1rem!important;font-size:1rem!important;border-radius:0!important}
.hd .nav__sub a::before{display:none}
.hd .nav__sub a:hover,.hd .nav__sub a:focus{background:transparent!important;box-shadow:none!important}
}

/* FAQ + burger kit-bleed armor */
.faq__q,.faq__q:hover,.faq__q:focus,.faq__q:active{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;text-shadow:none!important}
.faq__q{color:var(--navy)!important}
.faq__q:hover{color:var(--green)!important}
.faq__item.open .faq__q{color:var(--green)!important}
.hd__burger,.hd__burger:hover,.hd__burger:focus,.hd__burger:active{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}

/* ── Provider hero: Direction A (chips, quote, rounded portrait) ── */
.pv-hero__photo{border-radius:18px;width:210px;height:240px}
.pv-hero__photo img{width:100%;height:100%;object-fit:cover}
.pv-hero__card{grid-template-columns:210px 1fr}
.pv-hero__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}
.pv-chip{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:600;color:var(--green);background:var(--sage);padding:.35rem .8rem;border-radius:6px}
.pv-chip--accent{background:var(--green);color:#fff}
.pv-hero__quote{font-style:italic;color:var(--muted);font-size:1.02rem;line-height:1.65;margin:0 0 1.25rem;max-width:46ch}
@media(max-width:620px){.pv-hero__card{grid-template-columns:1fr}.pv-hero__photo{width:180px;height:205px}.pv-hero__chips{justify-content:center}.pv-hero__quote{margin-left:auto;margin-right:auto}}

html{scroll-behavior:smooth}

/* ── Scroll choreography (JS adds .reveal, observer adds .in-view) ── */
@media(prefers-reduced-motion:no-preference){
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--rd,0s)}
.reveal.in-view{opacity:1;transform:translateY(0)}
}


/* ── Services page (simple grid, mirrors homepage section) ── */
.svp-hero{background:linear-gradient(180deg,var(--sage) 0%,#fff 100%);padding:3.5rem 0 2.5rem;text-align:center}
.svp-hero__in,.svp-grid-sec__in,.svp-cta__in{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.svp-crumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.svp-crumb a{color:var(--green);text-decoration:none}
.svp-eyebrow{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:.9rem}
.svp-eyebrow::before{content:'';display:block;width:36px;height:2px;background:var(--green);margin:0 auto .6rem}
.svp-hero h1{font-size:clamp(2rem,4.2vw,2.8rem);color:var(--navy);margin:0 0 .6rem;line-height:1.15}
.svp-lede{color:var(--muted);font-size:1.05rem;max-width:56ch;margin:0 auto}
.svp-grid-sec{padding:3rem 0 3.5rem}
.svp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.svp-cta{background:var(--navy);padding:3.5rem 0;text-align:center}
.svp-cta h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .5rem}
.svp-cta p{color:rgba(255,255,255,.75);margin:0 0 1.5rem}
.svp-h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--navy);text-align:center;margin:0 0 2rem}

/* ── Service detail (svd) ── */
.svd-hero{background:linear-gradient(180deg,var(--sage) 0%,#fff 100%);padding:3.25rem 0 2.5rem}
.svd-hero__in{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.svd-crumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.svd-crumb a{color:var(--green);text-decoration:none}
.svd-hero h1{font-size:clamp(1.9rem,3.8vw,2.6rem);color:var(--navy);margin:0 0 1rem;line-height:1.18;max-width:22ch}
.svd-hero__intro{color:var(--ink);font-size:1.02rem;line-height:1.75;max-width:70ch;margin:0 0 1rem}
.svd-hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.svd{max-width:1160px;margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.svd__sec{margin-bottom:3rem}
.svd__sec h2{font-size:clamp(1.25rem,2.4vw,1.55rem);color:var(--navy);margin:0 0 1rem;padding:0 0 .65rem;border-bottom:1px solid var(--line);border-left:0!important;padding-left:0!important;letter-spacing:-.01em}
.svd__sec h2::before{content:none!important}
.svd__sec p{color:var(--ink);line-height:1.8;margin:0 0 1rem}
.svd__list{margin:0 0 1rem;padding-left:1.2rem}
.svd__list li{color:var(--ink);line-height:1.75;margin-bottom:.5rem}
.svd__list li::marker{color:var(--green)}
.svd__list--lead li strong{color:var(--navy)}
.svd__main a{color:var(--green)}
.svd__reviewed{color:var(--muted);margin:2rem 0 1.5rem}
.svd__reviewed a{color:var(--green);text-decoration:none}
.svd__side{position:sticky;top:110px;display:flex;flex-direction:column;gap:1.5rem}
.svd-rel{list-style:none;margin:0;padding:0}
.svd-rel li{border-bottom:1px solid var(--line)}
.svd-rel li:last-child{border-bottom:0}
.svd-rel a{display:block;padding:.6rem 0;color:var(--ink);text-decoration:none;font-size:.93rem;font-weight:600;transition:color .15s,padding-left .15s}
.svd-rel a:hover{color:var(--green);padding-left:.4rem}
@media(max-width:880px){.svd{grid-template-columns:1fr;gap:2rem}.svd__side{position:static}}

/* ── Armor: logo size + service-detail hero text (kit/theme bleed) ── */
.hd .hd__logo img{height:56px!important;width:auto!important;max-width:none!important}
@media(max-width:900px){.hd .hd__logo img{height:52px!important}}
.svd-hero h1{color:var(--navy)!important}
.svd-hero .svd-hero__intro{color:var(--ink)!important}
.svd-hero .svd-crumb,.svd-hero .svd-crumb a{color:var(--muted)!important}
.svd-hero .svd-crumb a{color:var(--green)!important}
.svd__sec h2{color:var(--navy)!important}
.svd__h3{font-size:1.08rem;color:var(--navy);margin:1.75rem 0 .6rem;font-weight:600}
.svd__list--num li{margin-bottom:.75rem}
.svd__list--num li::marker{color:var(--green);font-weight:600}
.svd__h4{font-size:.95rem;color:var(--green);margin:1.2rem 0 .4rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}

/* ── World-class pass: trust row, disclaimer, focus states ── */
.svd__disclaimer{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin:0 0 1.5rem}
a:focus-visible,button:focus-visible{outline:2px solid var(--green)!important;outline-offset:2px!important;border-radius:4px}

/* ── New Patients section (np) ── */
.np{background:var(--bg-soft);padding:4.5rem 0}
.np__in{max-width:1160px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:start}
.np__copy h2{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--navy);line-height:1.25;margin:0 0 1rem;text-align:left}
.np__sub{color:var(--muted);line-height:1.75;margin:0 0 1.5rem}
.np__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}
.np__cta .btn{min-height:44px}
.np__safety{font-size:.83rem;color:var(--muted);margin:0}
.np__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.np__points li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.4rem}
.np__points h3{font-size:1rem;color:var(--navy);margin:0 0 .35rem}
.np__points p{font-size:.92rem;color:var(--muted);line-height:1.65;margin:0}
.np__points a{color:var(--green);font-weight:600}
@media(max-width:880px){.np__in{grid-template-columns:1fr;gap:2rem}}

/* ── Trust badges (tb) ── */
.tb{padding:4rem 0;background:#fff}
.tb__in{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.tb__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.1rem}
.tb__card{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.3rem;text-align:center}
.tb__card h3{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin:0 0 .6rem}
.tb__card h3::before{content:'';display:block;width:28px;height:2px;background:var(--green);margin:0 auto .55rem}
.tb__card p{font-size:.9rem;color:var(--ink);line-height:1.6;margin:0 0 .3rem}
.tb__card p:last-child{margin-bottom:0}
.tb__card a{color:var(--green);font-weight:600}
@media(max-width:640px){.tb__grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.tb__grid{grid-template-columns:1fr}}
.tb__card p strong{color:var(--navy);font-weight:600}
.tb__logo{display:block;height:44px;width:auto;max-width:140px;object-fit:contain;margin:0 auto .7rem}
.tb__logo--sm{height:26px;max-width:96px;margin:9px auto calc(.7rem + 9px)}

/* ── Hero conversion elements (v3.23.7) ── */
.svd-hero__badge{display:inline-flex;align-items:center;gap:.6rem;margin:.35rem 0 1rem}
.svd-hero p.svd-hero__badge img{height:56px !important;width:auto !important;max-width:170px !important;object-fit:contain}
.svd-hero__badge span{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.04em}
.hero__badge{display:inline-flex;align-items:center;gap:.45rem;background:none;border:0;color:#2D3E57;font-size:.9rem;font-weight:400;padding:0;border-radius:0;margin:0 0 .9rem;line-height:1.4}
.hero__badge span{color:var(--green);font-weight:600}
.hero__rating{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem;color:var(--muted);margin:.85rem 0 1.15rem;flex-wrap:wrap}
.hero--split .hero__rating{justify-content:flex-start}
.hero__stars{color:#E8A13B;font-size:1rem;letter-spacing:2px;line-height:1}
.hero__rating strong{color:var(--navy);font-weight:600}
.hero__micro{font-size:.82rem;color:var(--muted);margin:.55rem 0 0}
.hero__ins{font-size:.85rem;color:var(--muted);margin:1rem 0 0;line-height:1.6}
.hero__ins strong{color:var(--navy);font-weight:600}

/* ── Stat strip ── */
.stats{background:var(--navy)}
.stats__in{max-width:1160px;margin:0 auto;padding:1.35rem 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.stats__num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.3rem;color:#fff;line-height:1.2}
.stats__label{font-size:.82rem;color:#B7C6D8;margin-top:.15rem}
@media(max-width:700px){.stats__in{grid-template-columns:repeat(2,1fr);row-gap:1.15rem}.hero__rating{font-size:.9rem}}

/* ── Location detail (ld) ── */
.ld-hero{background:linear-gradient(180deg,var(--sage) 0%,#fff 100%);padding:3rem 0 2.5rem}
.ld-hero__in{max-width:1160px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.ld-hero h1{font-size:clamp(1.8rem,3.6vw,2.4rem);color:var(--navy);margin:0 0 .75rem;line-height:1.2}
.ld-hero__addr{color:var(--ink);line-height:1.7;margin:0 0 1.25rem}
.ld-hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.75rem}
.ld-hours h2{font-size:1.05rem;color:var(--navy);margin:0 0 .6rem;text-align:left}
.ld-hours dl{margin:0;max-width:320px}
.ld-hours dl div{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.92rem}
.ld-hours dt{color:var(--ink);font-weight:600}
.ld-hours dd{color:var(--muted);margin:0}
.ld-hero__map iframe,.ld-hero__map .qcmd-map{width:100%;min-height:380px;border:0;border-radius:14px}
.ld-prov{padding:3.5rem 0;background:#fff}
.ld-prov__in,.ld-copy__in,.ld-svc__in{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.ld-prov h2,.ld-svc h2{font-size:clamp(1.4rem,2.8vw,1.9rem);color:var(--navy);text-align:center;margin:0 0 2rem}
.ld-prov__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.ld-prov__card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.25rem 1rem;text-align:center;transition:border-color .25s,box-shadow .25s,transform .25s}
.ld-prov__card:hover{border-color:var(--green);box-shadow:0 12px 26px rgba(0,36,72,.07);transform:translateY(-2px)}
.ld-prov__photo img{width:130px;height:150px;object-fit:cover;border-radius:14px;margin:0 auto .8rem;display:block}
.ld-prov__card h3{font-size:.98rem;margin:0 0 .2rem}
.ld-prov__card h3 a{color:var(--navy);text-decoration:none}
.ld-prov__card h3 a:hover{color:var(--green)}
.ld-prov__card p{font-size:.82rem;color:var(--muted);margin:0 0 .8rem}
.ld-prov__book{font-size:.85rem;padding:.5rem 1rem}
.ld-copy{padding:3rem 0;background:var(--bg-soft)}
.ld-copy .svd__sec{max-width:820px;margin-left:auto;margin-right:auto}
.ld-svc{padding:3.5rem 0}
@media(max-width:880px){.ld-hero__in{grid-template-columns:1fr;gap:1.75rem}.ld-hero__map iframe{min-height:280px}}

/* ── Appointment form (af) ── */
.af{margin-top:1.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;max-width:480px;box-shadow:0 6px 18px rgba(0,36,72,.05)}
.af__title{font-size:1.05rem;color:var(--navy);margin:0;padding:.9rem 1.1rem;border-bottom:1px solid var(--line);text-align:left}
.af__body{padding:1.1rem}
.af__upsell{color:var(--ink);font-size:.92rem;line-height:1.6;margin:.75rem 0}
.af__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.af label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.75rem}
.af input[type=text],.af input[type=tel],.af input[type=email],.af textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;margin-top:.3rem;font-family:inherit}
.af input:focus,.af textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.af__note{font-weight:400;color:var(--muted);font-size:.78rem}
.af__check{display:flex;gap:.5rem;align-items:flex-start;font-weight:400!important;font-size:.82rem!important;color:var(--muted)!important;line-height:1.5}
.af__check input{margin-top:.2rem}
.af__hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.af__ok{color:var(--green);font-weight:600;margin:0}
.af__err{color:#9B2C2C;font-weight:600;margin:0 0 .75rem}
@media(max-width:520px){.af__row{grid-template-columns:1fr}}
.af button.btn,.af button.btn--primary{background:var(--green)!important;color:#fff!important;border:0!important;padding:.7rem 1.5rem!important;border-radius:8px!important;font-family:'Montserrat',sans-serif!important;font-weight:600!important;font-size:.95rem!important;cursor:pointer;transition:background .2s;width:auto}
.af button.btn:hover{background:var(--green-hover)!important}
.svd-hero__badge{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem}
.svd-hero__badge img{height:56px;width:auto;object-fit:contain}
.svd-hero__badge span{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:600;color:var(--green)}
.qc-pc__btn--solid,.qc-pc__btn--solid:hover{color:#fff!important}
