/* Editorial refinement: retain the approved palette, typography and motion owners. */
:root{--reading-width:64ch;--detail-shadow:0 18px 48px #173e4c0a}
h2{text-wrap:balance}p{max-width:var(--reading-width)}
.section-intro>p,.section-heading>p{font-size:var(--text-body);line-height:1.8}
.services-home{gap:clamp(40px,7vw,100px);align-items:start}
.service-row{padding-block:29px;transition:background 200ms ease,color 200ms ease}
.service-row h3{font-family:var(--display);font-size:clamp(24px,2.2vw,31px);line-height:1.2}
.service-row p{font-size:var(--text-reading);line-height:1.65;max-width:37ch}
.service-row .row-arrow{transition:transform 200ms ease}
.service-row:hover .row-arrow,.service-row:focus-visible .row-arrow{transform:translate(3px,-3px)}
.button .icon{transition:transform 200ms ease}.button:hover .icon{transform:translateX(3px)}
.selfpay-feature{border-top:1px solid var(--line);gap:clamp(40px,6vw,88px)}
.selfpay-feature figure{overflow:hidden;border-radius:4px 72px 4px 4px}
.doctor-section{padding-block:var(--section)}
.doctor-portrait{border-radius:4px;background:#e1e9df;border:1px solid #cad8cc;min-height:390px}
.doctor-portrait:before{border-radius:0;width:calc(100% - 40px);height:calc(100% - 40px);inset:20px;border-color:#becfbe}
.doctor-portrait img{border:6px solid var(--paper);box-sizing:content-box;box-shadow:var(--detail-shadow)}
.doctor-credentials{border-top:1px solid var(--line);margin-top:30px}
.doctor-credentials>div{padding-block:18px;border-bottom:1px solid var(--line)}
.doctor-credentials span{display:block;font-size:var(--text-small);color:var(--muted);margin-bottom:5px}
.doctor-credentials strong{font-size:var(--text-body);font-weight:500}
.prepare-card,.insurance-card,.booking-panel{box-shadow:var(--detail-shadow)}
.prepare-card{border-top:3px solid var(--green);border-radius:2px}
.page-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding-block:27px;font-size:var(--text-ui);color:var(--muted);border-bottom:1px solid var(--line)}
.page-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.location-section{background:#edf2ed;border-top:1px solid var(--line)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:center}
.location-grid>div>p{margin-block:25px;max-width:48ch}
.location-panel{background:var(--paper);padding:clamp(28px,4vw,54px);border:1px solid #d2dfd3;box-shadow:var(--detail-shadow)}
.location-label{font-size:var(--text-ui);color:var(--teal);display:block;margin-bottom:18px}
.location-panel address{font-family:var(--display);font-style:normal;font-size:clamp(25px,2.5vw,36px);line-height:1.35;letter-spacing:-.025em;margin-bottom:21px}
.location-preparation{border-top:1px solid var(--line);padding-top:23px;margin-top:26px;margin-bottom:25px}
.location-preparation strong{font-size:var(--text-ui);font-weight:600}.location-preparation p{font-size:var(--text-reading);margin-top:8px}
.care-summary{padding-block:42px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}
.care-summary .eyebrow{font-size:var(--text-small);margin-bottom:12px}.care-summary h2{font-size:32px}
.care-summary dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.care-summary dt{font-size:var(--text-ui);font-weight:700;color:var(--teal);margin-bottom:8px}
.care-summary dd{margin:0;font-size:var(--text-ui);line-height:1.7;color:var(--muted)}
.care-summary dd a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.selfpay-guide{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-top:1px solid var(--line)}
.selfpay-guide>div>p{margin-top:25px}.estimate-questions{padding:32px;border-left:2px solid var(--green);background:var(--pale)}
.estimate-questions h3{font-family:var(--display);font-size:28px}.estimate-questions ul{padding-left:20px;color:var(--muted);font-size:var(--text-body);line-height:1.8}.estimate-questions li{margin-block:12px}.estimate-questions p{font-size:var(--text-ui)}
@media(max-width:940px){.care-summary{grid-template-columns:1fr}.location-grid,.selfpay-guide{gap:35px}.location-panel address{font-size:28px}}
@media(max-width:680px){.location-grid,.selfpay-guide{grid-template-columns:1fr}.location-grid{gap:32px}.location-panel{padding:26px}.care-summary{padding-block:32px;gap:24px}.care-summary dl{grid-template-columns:1fr;gap:18px}.care-summary dl>div{border-left:1px solid #bccfc0;padding-left:16px}.service-row{gap:15px;padding-block:25px}.service-row h3{font-size:25px}.service-row p{font-size:var(--text-ui)}.doctor-portrait{min-height:365px}.selfpay-feature figure{border-top-right-radius:45px}.selfpay-guide{gap:28px}.estimate-questions{padding:25px}.location-panel .button{width:100%}.page-breadcrumb{padding-block:22px}}
@media(prefers-reduced-motion:reduce){.service-row,.service-row .row-arrow,.button .icon{transition:none}.service-row:hover .row-arrow,.service-row:focus-visible .row-arrow,.button:hover .icon{transform:none}}

.address-suite{white-space:nowrap}
@media(max-width:680px){.location-panel .address-suite{display:block}.location-panel .address-suite+br{display:none}}

.clinic-contact>a{display:inline-block;font-size:var(--text-body);color:var(--teal);padding-block:10px}.clinic-contact p{font-size:var(--text-ui);line-height:1.8}.location-preparation a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.weightloss-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,85px);border-top:1px solid var(--line)}.weightloss-feature>div>p{margin-block:26px;max-width:49ch}.weightloss-feature aside{background:var(--pale);padding:clamp(26px,4vw,48px);border-top:3px solid var(--green)}.weightloss-feature h3{font-family:var(--display);font-size:30px}.weightloss-feature aside p{font-size:var(--text-body);margin-block:24px}.weightloss-feature .text-link{white-space:normal;line-height:1.7}
@media(max-width:680px){.weightloss-feature{grid-template-columns:1fr}.weightloss-feature h2{font-size:39px}.weightloss-feature .button{width:100%}.weightloss-feature aside{padding:26px}}

/* The calendar owns its internal theme; the website provides a matching shell. */
.booking-layout.has-calendar{grid-template-columns:minmax(0,1fr) 260px;gap:40px}.has-calendar .booking-panel{padding:24px;background:var(--paper);min-width:0}.has-calendar #live-calendar{margin-top:24px;min-width:0}.has-calendar #live-calendar iframe{display:block;width:100%;min-height:850px;border:0;border-radius:6px;background:#fff}.has-calendar #live-calendar>.text-link{margin-top:20px;white-space:normal;line-height:1.7}
@media(max-width:940px){.booking-layout.has-calendar{grid-template-columns:minmax(0,1fr);gap:28px}.has-calendar .booking-aside{padding-top:0}}
@media(max-width:680px){.has-calendar .booking-panel{padding:16px 8px}.has-calendar .booking-panel>label,.has-calendar .booking-panel>select,.has-calendar .visit-context{margin-inline:8px;width:calc(100% - 16px)}.has-calendar #live-calendar iframe{min-height:900px}.has-calendar #live-calendar>.text-link{margin-inline:8px}}

.calendar-privacy-note{font-size:var(--text-ui);line-height:1.7;color:var(--muted);margin-top:24px}.calendar-privacy-note a{text-decoration:underline;text-underline-offset:3px}
