/* Shared editorial scale. Page compositions remain deliberately distinct. */
:root{
  --white:#fafbfc;--mineral:#f3f5f7;--mineral-deep:#edf1f4;
  --ink:#263038;--charcoal:#111315;--red:#751d2c;--muted:#59636b;
  --page-title:clamp(38px,4vw,52px);--section-title:clamp(32px,3.1vw,40px);
  --subsection-title:28px;--editorial:25px;--body:16px;--label:12px;
  --question:17px;--price:clamp(34px,3vw,40px);
  --gutter:7%;--section-space:44px;--copy-gap:22px;--reading-width:58ch;
}
body{background:var(--white);font-size:var(--body)}
img{max-width:100%}
header .brand{aspect-ratio:960/270;transform:none}
header .brand img{left:-29.9%;top:-120%;clip-path:inset(0 0 43% 0)}
.home-page header .brand{width:139px}
@media(max-width:1150px){.home-page header .brand{width:130px}}
@media(max-width:1100px){.home-page header .brand{width:122px}}
@media(max-width:900px){.home-page header .brand{width:118px}}
@media(max-width:600px){.home-page header .brand{width:112px}}
main{outline:none}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
.care-page main h1{font-size:var(--page-title);font-weight:400;line-height:1.12;letter-spacing:-.6px}
.care-page main h2:not(.eyebrow){font-size:var(--section-title);font-weight:400;line-height:1.2;letter-spacing:-.45px}
.care-page main h3:not(.eyebrow){font-size:var(--subsection-title);line-height:1.25}
.care-page .eyebrow,.eyebrow{font-family:var(--sans);font-size:var(--label);line-height:1.5;font-weight:700;letter-spacing:1.5px}
header{padding-left:var(--gutter);padding-right:var(--gutter);gap:24px}
nav{gap:20px}
@media(min-width:1101px){header nav{gap:24px}}
nav a{font-size:12px;font-weight:700;letter-spacing:.6px;white-space:nowrap}
nav a[aria-current="page"]{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.outline,.text-link{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.9px;line-height:1.5;transition:color .15s ease,background-color .15s ease}
.outline{min-height:44px;padding:13px 18px;border-width:1px;max-width:100%;text-align:center}
.text-link{min-height:36px;align-items:center;max-width:100%;gap:18px}
.outline span,.text-link span{flex-shrink:0}
.rule{height:1px;width:42px}
.care-intro,.care-initial,.care-ongoing,.about-intro,.about-perspective,.about-direction,
.conditions-intro,.conditions-symptoms,.conditions-clinical,.pricing-intro,.pricing-options,
.resources-intro,.resources-reading,.resources-more,.faq-intro,.faq-closing,.contact-intro,.contact-details{
  padding-left:var(--gutter);padding-right:var(--gutter);
}
.pricing-intro,.resources-intro,.faq-intro,.care-ongoing,.conditions-symptoms,.resources-more,.faq-closing,.contact-intro{background:var(--mineral)}
.about-perspective{background:var(--mineral-deep)}
.about-intro,.about-perspective,.about-direction{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.about-intro-copy p,.about-direction p,.care-intro-copy,.care-initial p:not(.eyebrow),.care-ongoing>div:first-child>p:not(.eyebrow),.reading-grid p,.resources-more>p{
  font-size:var(--body);line-height:1.75;
}
.about-intro-copy .about-personal{font-size:var(--editorial);line-height:1.35}
.about-direction p,.conditions-subtitle,.conditions-perspective p{color:var(--muted)}
.resources-description,.faq-intro>p:last-child,.conditions-subtitle,.care-closing p{font-size:var(--editorial);line-height:1.4}
.care-closing>.text-link{align-self:flex-start;margin-top:28px;margin-bottom:8px}
.care-intro-copy p,.care-initial p:not(.eyebrow),.about-copy p,.about-direction p{max-width:var(--reading-width)}
.pricing-amount{font-size:clamp(28px,2.5vw,33px);font-weight:400;letter-spacing:-.8px;color:var(--ink)}
.pricing-period{font-family:var(--sans);color:var(--red);font-size:13px;font-weight:500;font-synthesis:none;line-height:1.5;letter-spacing:1px;margin-top:6px}
.pricing-description{font-size:23px;line-height:1.45}
.pricing-page main .pricing-includes h3{font-family:var(--sans);font-size:14px;font-weight:500;font-synthesis:none;line-height:1.6;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px}
.pricing-includes li{font-family:var(--sans);font-size:16px;font-weight:400;font-synthesis:none;letter-spacing:normal;line-height:1.6}
.faq-group summary{font-family:var(--sans);font-size:var(--question);line-height:1.55;min-height:54px;padding:16px 0}
.faq-answer{font-size:var(--body);line-height:1.8;max-width:var(--reading-width)}
.faq-closing{align-items:center}
.faq-closing>div:last-child{display:flex;align-items:center;min-height:64px}
.condition-grid li:nth-last-child(-n+3){border-bottom:0}
.symptom-grid li{overflow-wrap:normal;hyphens:manual}
.promise{min-height:86px;padding-top:22px;padding-bottom:22px;background:var(--charcoal)}
.promise p{line-height:1.7}
.site-footer-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px var(--gutter);background:var(--charcoal);border-top:1px solid #ffffff24;color:#d7dde1;font-size:12px}
.site-footer-meta a{text-decoration:underline;text-underline-offset:4px;margin-left:20px}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:100;background:var(--white);color:var(--ink);padding:12px 18px;border:1px solid var(--red)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9d4655;outline-offset:5px}
dialog{max-height:calc(100svh - 32px);overflow:auto;padding:42px 34px}
dialog h2{font-size:34px;line-height:1.2;margin:18px 0}
dialog .eyebrow{color:var(--red)}
dialog .close{width:44px;height:44px;top:4px;right:4px;line-height:1}
.consultation-fee{font-size:18px}
.contact-page{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
.contact-page>header,.contact-page>footer{flex-shrink:0}
.contact-page>main{flex:1 0 auto}
.contact-intro{padding-top:36px;padding-bottom:40px}
.contact-description{font-family:var(--serif);font-size:var(--editorial);line-height:1.4;margin-top:22px;max-width:42ch}
.contact-details{padding-top:var(--section-space);padding-bottom:var(--section-space);display:grid;grid-template-columns:1.3fr 1fr;gap:48px}
.contact-details>div:last-child{border-left:1px solid var(--line);padding-left:40px}
.contact-details p{max-width:48ch;line-height:1.75;margin-bottom:22px}
.contact-links{display:flex;align-items:flex-start;flex-direction:column;gap:18px}
@media(min-width:1500px){:root{--gutter:max(7%,calc((100vw - 1320px)/2))}}
@media(max-width:1100px){
 :root{--gutter:6%}
 header{height:86px;gap:20px}
 .hero{padding-top:86px}
 header .menu{display:block;width:44px;height:44px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}
 .menu span{display:block;position:relative;width:24px;height:18px}
 .menu span::before,.menu span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:currentColor;transition:none;transform:none}
 .menu span::before{top:5px}.menu span::after{top:13px}
 .menu[aria-expanded="true"] span::before{top:5px;transform:none}
 .menu[aria-expanded="true"] span::after{top:13px;transform:none}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 6% 24px;background:var(--white);z-index:20}
 header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - 86px);overflow-y:auto;overscroll-behavior:contain}
 header nav.open a{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;white-space:normal}
 header nav.open .outline{padding:14px 16px;border:1px solid var(--red);margin-top:18px}
 header:has(nav.open),.care-page header:has(nav.open){background:var(--white);mix-blend-mode:normal}
 body:has(header nav.open){overflow:hidden}
}
@media(max-width:900px){:root{--section-title:34px;--page-title:42px;--editorial:24px}.reading-grid h3{font-size:26px}}
@media(max-width:650px){
 :root{--page-title:clamp(34px,8.5vw,40px);--section-title:32px;--subsection-title:27px;--editorial:23px;--section-space:32px}
 .care-page main h1{letter-spacing:-.4px}
 .care-closing p,.pricing-description{font-weight:500;font-synthesis:none;line-height:1.5}
 .about-direction h2{margin-top:0}
 .contact-intro{padding-top:30px;padding-bottom:32px}
 .contact-details{grid-template-columns:1fr;gap:30px}
 .contact-details>div:last-child{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}
 .site-footer-meta{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:20px}
 .site-footer-meta a{margin:0 20px 0 0}
}
.promise .promise-lead{display:contents}
@media(max-width:600px){
 .promise .promise-lead{display:flex;justify-content:center;align-items:baseline;gap:8px;white-space:nowrap;margin:0}
 .promise .promise-lead .promise-phrase{font-size:clamp(9.5px,2.7vw,11px);letter-spacing:.8px}
 .promise .promise-lead .promise-separator{display:inline;margin:0;font-size:11px}
 .condition-grid li:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
 .condition-grid li:last-child{border-bottom:0}
 .symptom-grid li{font-size:clamp(16px,4.3vw,18px);padding-left:4px;padding-right:4px}
 .promise .promise-phrase{display:block;font-size:11px;letter-spacing:1px}
 .promise p{gap:5px;max-width:none}
 .promise i{width:20px}
 .pricing-option .outline{width:auto}
 .pricing-amount{font-size:28px}
 .pricing-includes li{font-size:16px}
 .faq-group summary{font-size:16px;gap:18px}
 .faq-answer{font-size:16px;padding-right:20px}
 .faq-closing>div:last-child{min-height:0}
 dialog{padding:36px 24px}
 dialog h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
