:root{--cream:#f7f3ed;--taupe:#a99b8c;--sand:#e5d9c9;--chocolate:#523d32;--ink:#3e3028;--muted:#796a5f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #976243;outline-offset:6px}.announcement{background:var(--chocolate);color:#fff7ef;text-align:center;padding:9px 18px;font-size:12px;letter-spacing:.09em}header{max-width:1500px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:26px;letter-spacing:.08em;line-height:1.2;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.3em;text-align:center;margin-top:9px}nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-cta{border-bottom:1px solid var(--chocolate);padding:10px 0}.nav-cta span{margin-left:26px}.hero{max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:0 6% 40px;gap:5%}.hero-copy{padding:58px 0 16px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600}.eyebrow>span{width:20px;height:1px;background:var(--chocolate);display:inline-block;vertical-align:middle;margin-right:10px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06}h1{font-size:clamp(58px,6vw,88px);letter-spacing:-.055em;margin:28px 0}em{font-weight:400;color:#8d7664}h1 em{color:#8a7464}p{color:var(--muted)}.hero-copy>p{max-width:400px;margin:0 0 28px;font-size:16px;line-height:1.85}.button{display:inline-flex;gap:42px;align-items:center;justify-content:space-between;padding:16px 25px;background:var(--chocolate);color:white;border:1px solid var(--chocolate);font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#705243;transform:translateY(-2px)}.hero-note{margin-top:35px;font-size:11px;letter-spacing:.23em;color:var(--muted)}.hero-image{position:relative;align-self:center;min-width:0;aspect-ratio:10/11;overflow:hidden;border-radius:40% 40% 4px 4px;background:var(--taupe)}.hero-image img{display:block;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center top}.image-note{position:absolute;bottom:32px;left:30px;color:white;font:28px/1.2 Georgia,serif;text-shadow:0 1px 12px #3e302855}.image-note em{color:white}.values{padding:22px 6%;display:flex;justify-content:center;gap:9%;border-top:1px solid #d8cec3;border-bottom:1px solid #d8cec3;font-size:13px;letter-spacing:.05em}.values span:before{content:'✦';font-size:12px;margin-right:14px;color:#9b826c}.section{padding:90px 6%;max-width:1500px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px;gap:24px}h2{font-size:clamp(38px,4.2vw,60px);letter-spacing:-.035em;margin:18px 0}.section-heading>p{font-size:15px;margin-bottom:9px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{text-align:left;display:flex;flex-direction:column;align-items:stretch;background:#e9e0d5;border:1px solid transparent;color:var(--ink);padding:30px;cursor:pointer;transition:transform .2s,border-color .2s}.card:nth-child(2),.card:nth-child(5){background:#ded2c3}.card:nth-child(3),.card:nth-child(6){background:#c6b6a4}.card:hover{transform:translateY(-5px);border-color:#8d7664}.number{font-size:10px;letter-spacing:.12em}.card h3{font-size:36px;margin:26px 0 16px;letter-spacing:-.03em}.card p{font-size:14px;line-height:1.7;margin:0 0 24px;color:#665549;max-width:300px}.card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid #9c8a764f;font-size:13px}.card-link b{font-size:20px;font-weight:400}.experience{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#eee7de}.experience ol{list-style:none;padding:0;margin:0}.experience li{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid #cfc2b4}.experience li:first-child{padding-top:0}.experience li>span{font:italic 24px Georgia,serif;color:#927d6b}.experience h3{font-size:25px;margin:0 0 10px}.experience li p{font-size:15px;margin:0;max-width:370px}.consultation{text-align:center;background:var(--chocolate);color:#fff7ef;padding-top:70px;padding-bottom:70px}.consultation h2{font-size:66px}.consultation em{color:#c9b9a7}.consultation p{color:#e0d4c7}.light{background:#f5efe7;border-color:#f5efe7;color:var(--chocolate);margin-top:14px}.light:hover{background:#ded0bd}.coming{display:block;font-size:12px;letter-spacing:.08em;color:#d4c3b4;margin-top:18px}footer{max-width:1500px;margin:auto;padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:20px}footer p,footer>span{font-size:12px;color:var(--muted)}dialog{border:0;padding:48px;background:var(--cream);color:var(--ink);max-width:570px;width:calc(100% - 36px)}dialog::backdrop{background:#30251dcc;backdrop-filter:blur(4px)}dialog h2{font-size:43px}dialog p{font-size:16px}.close{position:absolute;top:9px;right:16px;border:0;background:transparent;font-size:28px;color:var(--ink);cursor:pointer}.notice{background:#e9dfd3;padding:20px;margin:25px 0}.notice p{font-size:14px;margin-bottom:0}.close-bottom{width:100%;justify-content:center}@media(max-width:900px){header{padding:25px 5%}.brand{font-size:22px}nav{gap:20px}nav>a:not(.nav-cta){display:none}.hero{padding:0 5% 30px;gap:4%}.hero-copy{padding-top:38px}h1{font-size:60px}.cards{grid-template-columns:repeat(2,1fr)}.section{padding:65px 5%}.section-heading{align-items:start}.section-heading>p{max-width:220px}.values{gap:5%;font-size:11px}.values span:before{margin-right:8px}footer{flex-wrap:wrap}}@media(max-width:600px){.announcement{font-size:10px;letter-spacing:.02em}.brand{font-size:19px}.brand span{font-size:8px}.nav-cta{font-size:12px}.nav-cta span{margin-left:7px}.hero{grid-template-columns:1fr;gap:26px}.hero-copy{padding-top:22px}h1{font-size:64px;margin-top:22px}.hero-copy>p{font-size:16px;max-width:360px}.hero-note{margin-top:23px}.image-note{font-size:26px}.values{gap:12px;justify-content:space-between;padding:16px 5%;font-size:10px}.values span{max-width:95px;text-align:center}.values span:before{display:block;margin:0 0 4px}.section-heading{display:block}.section-heading>p{max-width:unset}.section-heading>p br{display:none}.cards{gap:12px}.card{padding:20px 16px}.number{font-size:9px;letter-spacing:.03em}.card h3{font-size:28px}.card p{font-size:13px}.card-link{font-size:12px}.experience{grid-template-columns:1fr;gap:30px}.consultation h2{font-size:55px}footer{display:block;text-align:center}footer .brand{display:inline-block}footer p{margin:25px 0 15px}dialog{padding:38px 25px}dialog h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.booking-link{width:100%;gap:16px}.secondary{display:block;border:0;background:transparent;color:var(--chocolate);padding:16px;cursor:pointer;font-size:14px;margin-top:8px}.booking-note{font-size:14px;line-height:1.7;max-width:530px;margin:18px auto 0}.coming{font-size:14px}

.booking-form{max-width:720px;margin:32px auto 0;text-align:left}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-form label{display:flex;flex-direction:column;gap:7px;font-size:16px}.booking-form input,.booking-form select{width:100%;min-width:0;min-height:52px;padding:12px;background:var(--cream);color:var(--ink);border:1px solid #cfbfae;border-radius:4px;font:inherit;color-scheme:light}.booking-form input:focus-visible,.booking-form select:focus-visible{outline:3px solid #e0bf96;outline-offset:3px}.booking-form .form-help,.booking-form .booking-note{font-size:14px;margin:18px 0;max-width:none}.booking-form .button{width:100%;font-size:16px}.booking-form #booking-status{padding:16px;border:1px solid #c9b9a7}.retry-link,.booking-note a{text-decoration:underline;text-underline-offset:4px}.card-link{gap:10px}dialog{max-height:90dvh;overflow:auto}@media(max-width:600px){.booking-grid{grid-template-columns:1fr}.booking-form{margin-top:26px}.card-link{font-size:13px}}

.online-booking{max-width:720px;margin:24px auto}.booking-alternative{max-width:720px;margin:30px auto 0;border-top:1px solid #a99b8c;padding-top:22px}.booking-alternative summary{cursor:pointer;font-size:16px}.online-booking .button{font-size:16px}

.patient-forms>p{max-width:660px}.patient-forms .form-help{font-size:14px;margin-top:20px}.visit-questions{max-width:780px;margin-top:35px}.visit-questions details{border-top:1px solid #cfc2b4;padding:20px 0}.visit-questions summary{font-size:16px;cursor:pointer}.visit-questions a{text-decoration:underline}.mobile-booking{display:none}.announcement,.eyebrow,.number,.brand span,.hero-note{font-size:12px}.card p,.experience li p{font-size:16px}.card-link,.values,footer p,footer>span{font-size:14px}.patient-forms p{color:#665549}@media(max-width:600px){body{padding-bottom:76px}header{gap:12px}.brand{font-size:17px;white-space:normal}.brand span{font-size:10px;letter-spacing:.15em}.nav-cta{font-size:14px}.number{font-size:12px}.card p{font-size:16px}.values{font-size:12px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--cream);padding:10px 5% calc(10px + env(safe-area-inset-bottom));box-shadow:0 -2px 16px #3e302820;gap:12px}.mobile-booking a{padding:10px 14px;text-align:center;font-size:14px;border:1px solid var(--chocolate)}.mobile-booking a:first-child{flex:1;color:white;background:var(--chocolate)}.button{gap:18px}.card h3{font-size:26px}dialog{max-height:85dvh}}@media(max-width:360px){.cards{grid-template-columns:1fr}header{flex-wrap:wrap}h1{font-size:54px}}

.intake-hero-link{display:block;margin-top:18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.intake-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:35px 0}.intake-steps>div{padding:25px;background:#e9e0d5}.intake-steps span{font-size:14px;color:#665549}.intake-steps h3,.intake-access h3{font-size:27px;margin:14px 0}.intake-steps p{font-size:16px;margin-bottom:0}.intake-access{border:1px solid #b6a38f;padding:28px;max-width:780px}.intake-access p{max-width:670px}.intake-questions li{margin:12px 0}.intake-questions ul{padding-left:24px}.intake-emergency{font-size:14px;border-top:1px solid #cfc2b4;padding-top:22px;margin-top:28px}.step-link{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:4px}nav{gap:24px}@media(max-width:700px){.intake-steps{grid-template-columns:1fr;gap:12px}.intake-steps>div{padding:20px}.intake-access{padding:22px}.intake-access .button{white-space:normal;text-align:left}header nav{gap:14px}}

.brief-intake{max-width:780px;margin:32px 0;padding:28px;background:#e9e0d5}.brief-intake h3,.intake-questions>h3{font-size:28px;margin:0 0 18px}.brief-intake ol{padding-left:24px}.brief-intake li{padding:16px 0 16px 8px;border-bottom:1px solid #cfc2b4}.brief-intake li p{margin:7px 0 0}.brief-intake strong{font-weight:600}.patient-forms .intake-access{margin-top:28px}.brief-intake p{color:#56463b}@media(max-width:600px){.brief-intake{padding:22px 18px}.brief-intake li{padding-left:3px}}

.language-bar{max-width:1500px;margin:0 auto;padding:0 6% 18px;display:flex;justify-content:flex-end}.language-menu{position:relative;max-width:100%;z-index:20}.language-menu summary{cursor:pointer;list-style:none;border:1px solid #b6a38f;padding:10px 16px;font-size:14px;background:#eee7de;color:var(--chocolate);border-radius:4px}.language-menu summary::-webkit-details-marker{display:none}.language-menu summary:focus-visible{outline:3px solid #976243;outline-offset:3px}.language-panel{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:min(440px,88vw);max-height:70dvh;overflow:auto;padding:22px;background:var(--cream);border:1px solid #b6a38f;box-shadow:0 12px 35px #3e302830;border-radius:6px}.language-panel>p:first-child{margin:0 0 14px;color:var(--ink);font-size:16px}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.language-options a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;font-size:16px;border-radius:3px}.language-options a:hover{background:var(--sand)}.language-options a span{font-size:12px;color:var(--muted)}.all-languages{display:block;border-top:1px solid #cfc2b4;margin-top:12px;padding:16px 0 4px;text-decoration:underline;font-size:14px}.language-panel .translation-help{font-size:14px;line-height:1.5;color:#665549;margin:14px 0 0}@media(max-width:600px){.language-bar{padding:0 5% 12px}.language-options{grid-template-columns:1fr 1fr}.language-panel{padding:18px}.language-menu summary{min-height:44px}}

.form-preview-label{font-size:12px;letter-spacing:.07em;font-weight:700;color:#523d32;margin-bottom:16px}.answer-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.answer-preview span{padding:7px 15px;background:#f7f3ed;border:1px solid #a99b8c;border-radius:4px;font-size:16px}.brief-intake .question-hint,.question-hint{font-size:14px;line-height:1.6}.identity-preview{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.blank-line{display:block;border-bottom:1px solid #a99b8c;min-height:28px;margin:4px 0 18px}.consent-preview{max-width:780px;padding:28px;border:1px solid #b6a38f}.consent-preview h3{font-size:30px;margin:0 0 20px}.consent-preview p{color:#56463b}.consent-choices{padding:8px 20px;background:#e9e0d5}.signature-preview{margin-top:24px;padding-top:20px;border-top:1px solid #b6a38f}.signature-line{min-height:110px;display:flex;align-items:end;border:1px dashed #a99b8c;padding:16px;color:#665549;font-size:14px}.consent-preview a{text-decoration:underline}@media(max-width:600px){.identity-preview{grid-template-columns:1fr}.consent-preview{padding:22px 18px}}

.intake-summary{max-width:780px;padding:20px 0;border-bottom:1px solid #cfc2b4}.intake-summary summary{font-size:16px;cursor:pointer}.intake-access a:not(.button){text-decoration:underline}

/* Direct navigation remains usable without JavaScript or pop-up windows. */
.card{font-family:inherit}.booking-alternative>.step-link{display:inline-block;color:#fff7ef;padding:14px 4px;font-size:16px}.intake-access .button{font-size:16px}.intake-access .step-link{font-size:16px}@media(max-width:600px){.mobile-booking{gap:8px}.mobile-booking a{padding:10px 12px}.mobile-booking a:first-child{flex:1}}

.care-booking-help{max-width:720px;margin:0 0 24px;font-size:16px;color:#665549}summary:focus-visible{outline:3px solid #976243;outline-offset:4px}

/* Make patient actions easy to tap on phones and keep keyboard focus visible. */
nav a,.mobile-booking a,.intake-hero-link,.step-link{min-height:44px;align-content:center}.intake-hero-link{width:fit-content;padding:8px 0;margin-top:10px}.consultation .step-link{color:#fff7ef}.mobile-booking a{touch-action:manipulation}.language-options a{min-height:44px}

.service-detail{display:none;background:#e5d9c9;border-top:1px solid #b6a38f;border-bottom:1px solid #b6a38f;scroll-margin-top:16px}.service-detail:target{display:block}.service-detail>p{max-width:700px;color:#56463b}.service-detail .eyebrow{margin-top:24px}.service-detail h2{overflow-wrap:anywhere}.service-detail .button{margin-top:12px;font-size:16px}.service-detail:focus{outline:none}

/* Phone and tablet layout: readable content, touch targets and safe-area spacing. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-menu{display:none}a,button,summary{touch-action:manipulation}img{max-width:100%}
body.service-open{overflow:hidden}#care-dialog{overscroll-behavior:contain;overflow-y:auto;-webkit-overflow-scrolling:touch}
#care-dialog .close{min-width:48px;min-height:48px;top:4px;right:8px;line-height:1;background:var(--cream);border-radius:50%}
#care-dialog .close-bottom{min-height:48px}#care-dialog .button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){
 header{flex-wrap:wrap;gap:16px}header>nav{display:none}
 .mobile-menu{display:block;position:relative;margin-left:auto;z-index:30}
 .mobile-menu>summary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid #b6a38f;border-radius:4px;font-size:16px;cursor:pointer;list-style:none}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(330px,90vw);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:var(--cream);border:1px solid #b6a38f;box-shadow:0 12px 30px #3e302830}
 .mobile-menu nav>a{display:block!important;padding:12px;min-height:48px;font-size:16px;white-space:normal}
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy,.intake-access,.card{min-width:0}
}
@media(max-width:600px){
 body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 header{padding-top:max(18px,env(safe-area-inset-top,0px));padding-bottom:18px}
 header>.brand{max-width:calc(100% - 100px);font-size:18px;overflow-wrap:anywhere}header .brand span{font-size:10px}
 .hero{grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(44px,12vw,64px)}
 .hero-copy>.button,.online-booking>.button,.intake-access>.button,.service-detail>.button{width:100%;min-height:52px;font-size:16px;gap:14px;white-space:normal}
 .hero-image{width:100%;max-width:420px;justify-self:center}.section{padding:48px 5%}
 .cards{grid-template-columns:minmax(0,1fr);gap:14px}.card{padding:24px}.card h3{font-size:32px;margin:18px 0 12px}.card h3 br{display:block}.card p{max-width:none}.card-link{font-size:16px;min-height:48px}.number{font-size:12px}
 .language-panel{max-height:65vh;max-height:65dvh}.language-options a{min-height:48px}.intake-summary summary{min-height:48px;align-content:center}
 .mobile-booking{padding:10px 4% calc(10px + env(safe-area-inset-bottom,0px));gap:8px}.mobile-booking a{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:48px;font-size:14px;padding:8px 6px;white-space:normal}
 #care-dialog{width:calc(100% - 24px);max-width:540px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:56px 22px 24px;border-radius:12px;margin:auto}
 #care-dialog h2{font-size:clamp(30px,8vw,42px);overflow-wrap:anywhere}#care-dialog .button{font-size:16px;min-height:52px}#care-dialog .secondary{font-size:16px;min-height:48px}
 footer .brand{white-space:normal;overflow-wrap:anywhere}footer{padding-bottom:24px}
}
@media(max-width:380px){.brand span{letter-spacing:.08em}.language-options{grid-template-columns:1fr}.mobile-menu>summary{padding:10px 12px}.values{flex-wrap:wrap;justify-content:center}}

/* Shared phone / iPad navigation and dedicated service pages. */
.button{max-width:100%;white-space:normal;overflow-wrap:break-word}
.card,.hero-copy,.experience>*,.intake-steps>*{min-width:0;overflow-wrap:break-word}
.card h3{overflow-wrap:break-word}
.service-page-content{padding-top:24px}
.service-page-content>.eyebrow{margin-top:36px}
.service-page h1{font-size:clamp(2.5rem,6vw,4.75rem);max-width:900px;letter-spacing:-.035em;overflow-wrap:break-word}
.service-intro{max-width:700px;font-size:1.125rem;color:#665549}
.service-next{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;margin-top:38px}
.service-next>div,.service-next>aside{min-width:0;padding:32px;background:#e9e0d5}
.service-next>aside{background:#eee7de}
.service-next h2{font-size:2rem;margin-top:0;line-height:1.15}
.service-next p{color:#665549}.service-next .step-link{display:block;padding:8px 0;font-size:1rem;overflow-wrap:break-word}
.service-next .button{font-size:1rem;gap:16px;min-height:52px}
.service-booking-note{font-size:.875rem}
.service-nav{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:40px}
.service-nav>a{display:flex!important;align-items:center;padding:12px 18px;border:1px solid #b6a38f;min-height:48px;font-size:1rem}
.service-nav>a[aria-current=page]{background:var(--chocolate);color:white}
@media(min-width:601px) and (max-width:1100px){
 header{flex-wrap:wrap;gap:16px}header>nav{display:none}
 .mobile-menu{display:block;position:relative;margin-left:auto;z-index:30}
 .mobile-menu>summary{display:flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid #b6a38f;border-radius:4px;font-size:16px;list-style:none;cursor:pointer}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(330px,90vw);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:var(--cream);border:1px solid #b6a38f;box-shadow:0 12px 30px #3e302830}
 .mobile-menu nav>a{display:block!important;padding:12px;min-height:48px;font-size:16px;white-space:normal}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .intake-steps{grid-template-columns:1fr}
}
@media(max-width:800px){.service-next{grid-template-columns:minmax(0,1fr);gap:18px}.service-next>div,.service-next>aside{padding:24px}.hero-copy>.button{gap:16px}.hero h1{font-size:clamp(2.75rem,7.5vw,3.75rem)}}
@media(max-width:600px){.service-page-content{padding-top:12px}.service-page-content>.eyebrow{letter-spacing:.1em}.service-nav{display:grid;grid-template-columns:minmax(0,1fr)}.service-next .button{width:100%}.service-next>div,.service-next>aside{padding:22px}.hero h1{font-size:clamp(2.75rem,12vw,4rem)}.intake-access{overflow-wrap:break-word}}
@media(hover:none){.card:hover,.button:hover{transform:none}}

/* Consultation selection cart */
.care-card-wrap{display:flex;flex-direction:column;min-width:0}
.care-card-wrap .card{flex:1}
.add-care,.cart-trigger,.cart-close,.cart-row button{font:inherit;cursor:pointer}
.add-care{margin-top:10px;border:1px solid #694e3f;background:#f6f0e8;color:#523d32;padding:12px 16px;min-height:48px;font-weight:600;width:100%;text-align:center}
.add-care:hover,.add-care[aria-pressed=true]{background:#523d32;color:#fff}
.service-add{width:auto;min-width:220px;margin:10px 0 18px}
.cart-trigger{margin-left:12px;background:#523d32;color:#fff;border:0;border-radius:3px;padding:10px 14px;min-height:46px;white-space:nowrap;font-size:14px;font-weight:600}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 5px;margin-left:5px;border-radius:50%;background:#eadfd3;color:#38271f}
.cart-overlay[hidden]{display:none}
.cart-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end}
.cart-backdrop{position:absolute;inset:0;background:rgba(30,20,15,.56)}
.cart-panel{position:relative;display:flex;flex-direction:column;width:min(440px,100%);height:100%;height:100dvh;padding:28px;background:#f7f2ec;box-shadow:-12px 0 40px #21140e35;overflow-y:auto;color:#3e3028}
.cart-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.cart-top h2{font-size:clamp(30px,5vw,42px);margin:8px 0 0;line-height:1.05}
.cart-close{border:1px solid #a89583;background:transparent;color:#523d32;border-radius:50%;width:42px;height:42px;font-size:28px;line-height:1}
.cart-explainer,.cart-disclaimer{line-height:1.55;color:#665549}
.cart-items{margin:18px 0;flex:1}
.cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid #cdbdad;font-weight:600}
.cart-row button{background:transparent;border:0;text-decoration:underline;color:#523d32;min-height:44px}
.cart-empty{padding:20px;border:1px solid #cdbdad;line-height:1.5}
.cart-bottom{border-top:1px solid #cdbdad;padding-top:10px}
.cart-bottom>p:first-child{display:flex;justify-content:space-between;gap:14px;font-weight:600}
.cart-disclaimer{font-size:14px}
.cart-book{display:flex;width:100%;justify-content:center;text-align:center}
body.cart-open{overflow:hidden}
@media(max-width:1100px){header .cart-trigger{margin-left:0;order:2}.mobile-menu{order:3}}
@media(max-width:600px){header>.brand{max-width:calc(100% - 175px)}.cart-trigger{padding:8px;font-size:12px}.cart-panel{padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px))}.cart-book{min-height:52px}}
.care-card-wrap:nth-child(2) .card,.care-card-wrap:nth-child(5) .card{background:#ded2c3}
.care-card-wrap:nth-child(3) .card,.care-card-wrap:nth-child(6) .card{background:#c6b6a4}

.alastin-shop{background:#e9e0d5;color:#3e3028}.alastin-shop h2{max-width:780px}.alastin-shop p{font-size:1.125rem;max-width:640px}.alastin-shop .button{margin-top:12px}.alastin-service{margin-top:36px;padding:32px;background:#e9e0d5}.alastin-service h2{font-size:2rem;margin:0}.alastin-service p{color:#665549}.alastin-service .button{min-height:52px}@media(max-width:600px){.alastin-shop .button,.alastin-service .button{width:100%;min-height:52px}.alastin-service{padding:22px}}

.pharmacy-portals{background:#f4eee6;color:#3e3028}.pharmacy-portals h2{margin:16px 0;font-size:clamp(2rem,4vw,3.3rem)}.pharmacy-portals>p{max-width:650px;line-height:1.6}.pharmacy-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0}.pharmacy-actions .button{min-height:52px;text-align:center}.pharmacy-note{font-size:.95rem;color:#665549}.pharmacy-note a{color:inherit;text-decoration:underline}@media(max-width:600px){.pharmacy-actions{display:grid;grid-template-columns:1fr}.pharmacy-actions .button{width:100%;justify-content:center}}

.card-price{display:block;margin:18px 0 8px;font-size:1rem;font-weight:700;color:#49352b}.pricing-disclosure{max-width:100%;line-height:1.6;color:#56463b;background:#e9e0d5}.service-price{max-width:760px;margin:25px 0;padding:20px 24px;border:1px solid #b6a38f;background:#f4eee6;color:#49352b}.service-price strong{font-size:1.3rem}.service-price p{margin:8px 0 0;line-height:1.6}@media(max-width:600px){.service-price{padding:18px}}

.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.cart-service{display:flex;flex-direction:column;gap:4px;min-width:0}.cart-service small{font-size:.85rem;font-weight:400;color:#665549}.cart-price{font-weight:700;white-space:nowrap}.cart-total{font-size:1.12rem}.cart-free{display:flex;justify-content:space-between;gap:12px;font-weight:600;border-top:1px solid #cdbdad;padding-top:14px}@media(max-width:430px){.cart-row{grid-template-columns:minmax(0,1fr) auto}.cart-row button{grid-column:1 / -1;justify-self:start}}

.weight-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.weight-plans>div{padding:16px;background:#e9e0d5}.weight-plans b,.weight-plans span{display:block}.weight-plans span{margin-top:5px;line-height:1.5}.cart-plan-label{display:flex;flex-direction:column;gap:5px;margin-top:9px;font-size:.85rem;font-weight:600}.cart-plan{max-width:210px;min-height:44px;padding:8px;border:1px solid #a89583;background:#fff;color:#3e3028;font:inherit}@media(max-width:600px){.weight-plans{grid-template-columns:1fr}}

.nad-option{max-width:900px;margin:30px 0;padding:28px;background:#e9e0d5;color:#3e3028}.nad-option h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:14px 0}.nad-option p,.nad-option li{line-height:1.6}.nad-option ul{padding-left:22px}.nad-price{border-top:1px solid #cdbdad;padding-top:15px}.nad-option .add-care{margin-top:8px;min-height:52px}@media(max-width:600px){.nad-option{padding:22px}}

.nad-injectable{margin-top:26px;padding-top:18px;border-top:1px solid #cdbdad}.nad-injectable h3{font-size:1.4rem;margin:0 0 8px}.nad-injectable p{max-width:680px}

.olympia-gallery{margin-top:48px;padding-top:32px;border-top:1px solid #cdbdad}.olympia-gallery h3{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0}.olympia-gallery>p{max-width:750px;line-height:1.6}.olympia-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.olympia-products a{display:flex;flex-direction:column;padding:15px;background:#fffaf5;color:#3e3028;text-decoration:none;border:1px solid #d0c2b4}.olympia-products img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.olympia-products strong{font-size:1.15rem;margin:13px 0 5px}.olympia-products span{text-decoration:underline}.olympia-disclaimer{font-size:.9rem;color:#665549}@media(max-width:760px){.olympia-products{grid-template-columns:1fr 1fr}}@media(max-width:520px){.olympia-products{grid-template-columns:1fr}.olympia-products a{max-width:420px}}
.olympia-product{display:flex;flex-direction:column;gap:12px;padding:15px;background:#fffaf5;border:1px solid #d0c2b4}.olympia-product img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.olympia-product strong{font-size:1.15rem}.olympia-product p{line-height:1.5;margin:0;flex:1}.olympia-product b{font-size:1.2rem}.olympia-product a{padding:0;border:0;background:transparent;text-decoration:underline}.olympia-product .add-care{margin:0}
