/* Final layout system: shared axes, measured typography and restrained motion. */
:root{--section-title:clamp(28px,2.5vw,38px);--section-display:clamp(43px,4.3vw,65px);--section-body:14px;--section-space:clamp(88px,8vw,128px);--section-gap:clamp(40px,6vw,96px);--ease-editorial:cubic-bezier(.22,1,.36,1)}
main>section:not(.hero)>.container{max-width:1440px;width:calc(100% - clamp(40px,7.5vw,144px))}
.section-heading{grid-template-columns:minmax(0,1fr);gap:0;align-items:center}
.clinical-care .section-heading{grid-template-columns:minmax(0,1fr);gap:0}
.section-heading h2{max-width:none}
.section-heading>p{max-width:42ch;justify-self:start}
main>section:not(.hero) h2{line-height:1.25;text-wrap:balance}
main>section:not(.hero) h2 em{margin-top:7px;line-height:1.06}
.manifesto{padding-block:82px 100px}
.manifesto>.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--section-gap);align-items:center}
.intro-grid>p{font:400 14px/1.9 var(--sans);max-width:42ch;color:#d4dac9;justify-self:end}
.cover-transition{height:72px;background:linear-gradient(to bottom,#303723 0%,#566047 25%,#c9cebb 67%,#f5f1e7 100%)}
.clinical-care{padding-top:48px;background:linear-gradient(145deg,#f5f1e7,#edeedf)}
.clinical-care:before{display:none}
.clinical-services{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:24px;margin-top:52px;align-items:stretch}
.clinical-feature{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-end;min-height:544px;border-radius:10px;background:radial-gradient(ellipse at 60% 10%,#7e8a7538,transparent 65%),linear-gradient(145deg,#435035,#2d3824)}
.clinical-feature:after{inset:14px;border-radius:1px}
.clinical-art{height:330px;min-height:0;width:100%;margin:0;flex:1;max-height:390px}
.clinical-art img{height:113%;width:100%;object-fit:contain}
.clinical-feature-copy{padding:10px 38px 38px;margin-top:0;width:100%}
.clinical-feature h3{font-size:25px;line-height:1.3}
.clinical-feature h3 em{display:inline;font-size:47px;margin:0 0 0 5px}
.clinical-feature p{font-size:13px;max-width:47ch;margin-top:19px;line-height:1.85}
main>section .clinical-feature .text-link{margin-top:24px}
.clinical-small{grid-column:2;min-height:260px;grid-template-columns:minmax(0,1fr) minmax(140px,.8fr);padding:30px 25px 30px 32px;border-radius:10px;border-color:#5364401c;background:#faf8f1}
.clinical-small.lifestyle-card{background:#e2e7d8}
.clinical-small h3{font-size:21px}
.clinical-small p{font-size:13px;line-height:1.85;margin-top:13px}
.clinical-small>img{max-height:230px;object-fit:contain}
.life-stages{gap:var(--section-gap);padding:36px 0 0;margin-top:36px}
.life-stage{gap:18px}
.life-stage h3{font-size:19px}
.life-stage p{max-width:43ch}
.about{padding-top:34px}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--section-gap)}
.about-copy{padding-block:70px 95px;max-width:490px}
.about-copy>p:not(.doctor-credentials){max-width:44ch}
main>section.about h2 em{font-size:clamp(48px,5vw,73px)}
.about-image{height:clamp(580px,48vw,730px)}
.about-image>img{height:106%;bottom:-42px;left:50%}
.about:before{background-size:65% auto;background-position:100% 50%;opacity:.025}
.consultation{background:#f5f1e7}
.journey-grid{gap:var(--section-gap);margin-top:50px;align-items:stretch}
.journey-time{border-radius:10px;padding:38px;min-height:0;display:flex;flex-direction:column;align-items:flex-start}
.journey-time>.time-display{line-height:.85}
.journey-time .time-display>span{font-size:clamp(120px,12vw,170px)}
.consultation .journey-time>.time-caption{font-size:17px;margin-top:30px}
.journey-time>.button{margin-top:28px}
.journey-steps{align-self:center}
.journey-steps article{padding:27px 0;gap:22px}
.journey-steps h3{font-size:18px;line-height:1.4}
.journey-steps p{font-size:13px;max-width:43ch}
.consultation-facts{gap:var(--section-gap);margin-top:40px;padding-top:30px}
.booking{background:linear-gradient(115deg,#e3e8d9,#edefe5)}
.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--section-gap);align-items:center}
.booking-copy>p{font:400 14px/1.9 var(--sans);color:#68705e;max-width:39ch;margin-top:26px}
.booking-location{display:flex;align-items:center;gap:10px;color:#667457;font:400 11px/1.7 var(--sans);margin-top:32px}
.booking-location svg{width:19px;height:19px}
.care-picker{padding:34px;border:1px solid #66745720;border-radius:10px;background:#faf8f1;box-shadow:0 16px 46px #33442a05}
.care-picker label{min-height:52px;padding-inline:10px;border-radius:3px}
.care-picker label:has(input:checked){background:#e6ebdc85}
.care-picker legend{margin-bottom:22px}
.care-picker .choice-mark{width:17px;height:17px}
.care-picker .button{min-height:54px}
.contact{background:#f5f1e7}
.contact-grid{gap:var(--section-gap);margin-top:48px}
.contact-place,.contact-online{padding:32px 0;border:0;border-radius:0;border-top:1px solid #67755438;background:none}
.contact-online{background:none}
.contact-grid h3{font-size:20px}
.contact-grid h3 em{font-size:35px}
.social-strip{margin-top:38px}
.faq{background:#ebece1}
.faq-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--section-gap)}
.faq-items details{border-color:#64714d35}
.faq-items summary{padding:24px 0;font-size:14px;gap:25px;line-height:1.65}
.faq-items summary>svg{width:19px;height:19px}
.faq-items details>div{padding-bottom:24px}
.faq-items details>div p{max-width:58ch;font-size:13px}
.closing{padding-block:80px}
.closing-inner{gap:var(--section-gap)}
.site-header.is-scrolled{box-shadow:0 8px 36px #1c2b1710;border-color:#ffffff80;background:#f5f1e7ed}
.page-progress{position:fixed;inset:0 0 auto;height:2px;background:#9ba986;transform:scaleX(var(--reading-progress,0));transform-origin:left;z-index:60;pointer-events:none}
.button{position:relative;isolation:isolate}
.button:focus-visible,.text-link:focus-visible{outline:2px solid #8c9e74;outline-offset:6px}
.text-link svg,.button .button-icon{will-change:auto}
.service-detail-grid,.service-hero-grid{gap:var(--section-gap)}
.service-next .container{gap:var(--section-gap)}
.service-hero{padding-top:145px;padding-bottom:65px}
.service-art{max-height:570px}
.service-page .service-intro{padding-block:20px}
.service-page .service-intro>p{max-width:41ch}
@media(hover:hover) and (pointer:fine){
 .button,.button-icon{transition:background .3s,color .3s,box-shadow .35s,transform .5s var(--ease-editorial)}
 .button:hover{box-shadow:0 10px 24px #20301716;transform:translateY(-2px)}
 .button:hover .button-icon{transform:rotate(-8deg)}
 .text-link svg{transition:transform .45s var(--ease-editorial)}
 .text-link:hover svg{transform:translateX(5px)}
 .clinical-small{transition:border-color .35s,box-shadow .35s,transform .6s var(--ease-editorial)}
 .clinical-small:hover{border-color:#687b504a;box-shadow:0 14px 34px #34422709;transform:translateY(-4px)}
 .care-picker label{transition:background .25s,color .25s}
 .care-picker label:hover{background:#e7ebdf70;color:#3f442b}
}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .reveal{transition:opacity .8s var(--ease-editorial),translate 1s var(--ease-editorial);transition-delay:var(--reveal-delay,0ms)}
 .motion-ready .reveal:not(.is-visible){opacity:0;translate:0 24px}
 .motion-ready .reveal.is-visible{opacity:1;translate:0 0}
 .depth-art>img{transform:translateY(var(--art-y,0px));transition:transform .12s linear}
 .faq-items summary>svg{transition:transform .4s var(--ease-editorial)}
 .faq-items details[open] summary>svg{transform:rotate(45deg)}
 .service-intro{animation:service-enter .9s var(--ease-editorial) both}
 .service-art{animation:service-enter 1.15s .12s var(--ease-editorial) both}
 @keyframes service-enter{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
}
@media(min-width:701px) and (max-width:1050px){
 :root{--section-title:29px;--section-display:46px;--section-gap:36px}
 .clinical-services{grid-template-columns:1fr 1fr;gap:20px}
 .clinical-feature{min-height:610px}
 .clinical-feature-copy{padding:12px 28px 30px}
 .clinical-art{height:295px}
 .clinical-feature h3{font-size:22px}.clinical-feature h3 em{font-size:39px;margin-left:0;display:block}
 .clinical-small{grid-template-columns:minmax(0,1fr) 105px;padding:26px 20px 26px 25px}
 .clinical-small h3{font-size:19px}.clinical-small p{font-size:12px}
 .about-grid{gap:32px}.about-copy{padding-block:55px 75px}.about-image{height:620px}
 .care-picker{padding:27px}.booking-copy>p{font-size:13px}
}
@media(max-width:700px){
 :root{--section-title:25px;--section-display:39px;--section-space:68px;--section-gap:30px}
 main>section:not(.hero)>.container{width:calc(100% - 40px)}
 .section-heading,.clinical-care .section-heading,.manifesto>.intro-grid,.booking-grid,.faq-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .section-heading>p,.intro-grid>p{justify-self:start;font-size:13px;max-width:44ch}
 .manifesto{padding-block:55px 70px}.cover-transition{height:52px}.clinical-care{padding-top:32px}
 .clinical-services{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:32px}
 .clinical-feature{grid-column:1;grid-row:auto;min-height:0;display:flex}
 .clinical-art{height:280px;flex:auto;max-height:none}
 .clinical-feature-copy{padding:0 27px 32px}
 .clinical-feature h3{font-size:23px}.clinical-feature h3 em{display:inline;font-size:39px;margin-left:4px}
 .clinical-feature p{font-size:13px;margin-top:17px}
 .clinical-small{grid-column:1;min-height:230px;padding:27px 22px 27px 26px;grid-template-columns:minmax(0,1fr) 110px}
 .clinical-small h3{font-size:19px}.clinical-small p{font-size:12px}
 .life-stages{gap:28px;margin-top:30px;padding-top:30px}
 .life-stage h3{font-size:18px}
 .about{padding-top:0}.about-grid{grid-template-columns:minmax(0,1fr);gap:0}.about-image{height:450px}.about-image>img{height:110%;bottom:-25px}
 .about-copy{padding-block:15px 66px;max-width:none}main>section.about h2 em{font-size:47px}
 .journey-grid{gap:30px;margin-top:32px}.journey-time{padding:30px 27px}.journey-steps article{padding-block:24px}
 .journey-steps h3{font-size:17px}.journey-steps p{font-size:12px}
 .consultation-facts{gap:22px;margin-top:30px;padding-top:28px}
 .booking-grid{gap:32px}.booking-copy>p{font-size:13px;margin-top:22px}.booking-location{margin-top:23px;font-size:10px}
 .care-picker{padding:26px}.care-picker legend{font-size:18px}.care-picker label{font-size:12px;min-height:52px;padding-inline:5px}
 .contact-grid{gap:28px;margin-top:32px}.contact-place,.contact-online{padding:25px 0 0}.contact-grid h3{font-size:19px}.contact-grid h3 em{font-size:32px}
 .faq-grid{gap:30px}.faq-items summary{padding:22px 0;font-size:13px}.faq-items details>div p{font-size:12px}
 .closing{padding-block:58px}.service-hero{padding-top:120px;padding-bottom:45px}.service-hero-grid{gap:15px}.service-art{max-height:340px}
}
@media(max-width:370px){:root{--section-title:23px;--section-display:35px}.clinical-small{grid-template-columns:minmax(0,1fr) 85px;padding:24px 20px}.clinical-feature h3{font-size:21px}.clinical-feature h3 em{font-size:34px}.care-picker{padding:22px}.about-image{height:400px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal{opacity:1;translate:none;transition:none}.depth-art>img{transform:none;transition:none}.button,.button-icon,.text-link svg,.clinical-small,.faq-items summary>svg{transition:none!important;animation:none!important}.service-intro,.service-art{animation:none}.page-progress{display:none}}
