/* Reservation-focused refinement; preserve the clinic's rose identity. */
:root{--action:#8b3d59;--action-hover:#7d2d4b}
.button-blue{background:var(--action);color:#fff}.button-blue:hover{background:var(--action-hover)}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:580px;background:#fcf3f6}
.hero-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:auto;min-width:0;min-height:580px}
.hero-photo:after{background:linear-gradient(90deg,#fcf3f6 0%,rgba(252,243,246,.2) 15%,transparent 35%);pointer-events:none}
.hero-photo>img{object-position:38% 35%}
.hero-copy{grid-column:1;grid-row:1;width:100%;padding:58px 30px 45px max(40px,calc((100vw - 1160px)/2));margin:0;max-width:none;align-self:center}
.hero h1{font-size:clamp(34px,3.5vw,48px);line-height:1.6;letter-spacing:.025em;white-space:nowrap}
.hero h1 em{color:#8b3d59}.hero .eyebrow{font-size:12px;letter-spacing:.04em;margin-bottom:20px}
.hero-description{font-size:14px;line-height:2;margin-top:20px;letter-spacing:.01em}
.hero-points{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:20px 0 0}
.hero-points li{font-size:12px;line-height:1.5;border:1px solid #d9b5c2;background:#ffffffc4;padding:6px 11px;border-radius:3px}
.hero-cta{margin-top:25px;min-height:70px;width:330px!important;max-width:100%;box-shadow:0 8px 24px #77415522;font-size:17px}
.hero .booking-microcopy{font-size:10px;color:#705660;line-height:1.7;margin:9px 0 0}
.hero-phone{font-size:22px;margin-top:20px;line-height:1.4}.hero-phone>span{font-size:10px}
.hero .hero-hours{font-size:10px;line-height:1.6;margin:6px 0 0;color:#705660}
.hero-doctor-label{position:absolute;bottom:30px;right:28px;z-index:3;display:flex;align-items:center;gap:14px;background:#ffffffef;box-shadow:0 8px 35px #3a212a1f;border:1px solid #fff;border-radius:5px;padding:12px 16px 12px 12px;max-width:calc(100% - 40px)}
.hero-doctor-label>img{width:59px;height:59px;object-fit:cover;border-radius:50%;object-position:center 20%}
.hero-doctor-label span{display:block;line-height:1.5}.hero-doctor-label small{display:block;font-size:10px;color:var(--muted)}
.hero-doctor-label strong{display:block;font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:.1em;margin-top:3px}
.hero-doctor-label a{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;margin-left:12px}
.quick-facts{padding-block:23px}.quick-facts span{font-size:11px}.quick-facts strong{font-size:14px}
.booking-guide{display:grid;grid-template-columns:.95fr 1.2fr;gap:70px;padding:54px 0 62px}
.booking-guide h2{font-size:29px;line-height:1.6;letter-spacing:.03em}.booking-guide-heading>p:last-child{font-size:13px;line-height:1.9;margin-top:14px;color:var(--muted)}
.booking-guide .kicker{color:#8b3d59;font-size:11px;margin-bottom:14px}
.booking-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.booking-steps li{display:flex;align-items:center;gap:15px}.booking-steps li>span{display:grid;place-items:center;border-radius:50%;width:33px;height:33px;background:#f8ecf1;flex-shrink:0;color:#803f57;font:italic 17px Georgia,serif}
.booking-steps strong{display:block;font-size:15px;font-weight:600;line-height:1.6}.booking-steps small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:2px}
.booking-guide-actions{display:flex;gap:18px;align-items:center;margin-top:22px}.booking-guide-actions .button{min-height:52px;font-size:13px;padding:12px 16px;gap:12px;white-space:nowrap}
.booking-guide-actions p{font-size:10px;line-height:1.9;color:var(--muted)}.booking-guide-actions p a{font-size:14px;font-weight:600;color:#8b3d59;text-decoration:underline;text-underline-offset:3px}
.section{padding-block:85px}.services .section-heading{margin-bottom:32px}.service small{font-size:11px}.service-detail a{min-height:44px;display:inline-flex;align-items:center}
.inline-reserve{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #dec3cd;margin-top:28px;padding-top:28px}
.inline-reserve strong{font-size:15px;font-weight:600}.inline-reserve p{font-size:12px;margin-top:5px;color:var(--muted)}
.doctor-copy h2{font-size:32px}.intro-heading{margin-bottom:38px}.intro-heading h2{font-size:32px}
.contact-note{font-size:12px!important;line-height:1.9;margin-top:25px!important}
.mobile-booking a:last-child{background:var(--action);color:#fff;border-color:var(--action)}
@media(max-width:1100px){.hero-copy{padding-left:32px;padding-right:12px}.hero h1{font-size:36px}.hero-photo,.hero{min-height:570px}.hero .eyebrow{font-size:11px}.hero-doctor-label{right:20px;bottom:25px}.booking-guide{gap:35px}.booking-guide-actions{align-items:stretch;flex-direction:column;gap:12px}.booking-guide-actions .button{width:fit-content}.booking-guide-actions p br{display:none}}
@media(min-width:601px) and (max-width:820px){.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding:35px 15px 35px 25px}.hero h1{font-size:29px}.hero-description{font-size:12px}.hero-points{gap:5px}.hero-points li{font-size:10px;padding:5px 8px}.hero-cta{width:280px!important;font-size:15px}.hero-phone{font-size:19px}.hero-phone>span{font-size:9px}.hero-photo>img{object-position:38% 35%}.hero-doctor-label{right:10px;left:10px;max-width:none;gap:9px;padding:9px}.hero-doctor-label>img{width:45px;height:45px}.hero-doctor-label strong{font-size:20px}.hero-doctor-label small{font-size:9px}.hero-doctor-label a{margin-left:auto;width:34px;height:34px}.booking-guide{gap:25px}.booking-guide h2{font-size:25px}.booking-guide-heading>p:last-child{font-size:12px}.booking-steps strong{font-size:13px}.inline-reserve{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:600px){
 .header-inner{height:64px;padding-inline:20px}.mobile-nav:not([hidden]){top:64px}.brand-group{font-size:8px}.brand-name{font-size:22px}
 .hero{display:flex;flex-direction:column;min-height:0}.hero-photo{order:1;width:100%;min-height:0;height:225px;flex:none}
 .hero-photo>img{object-position:38% 35%}.hero-photo:after{background:linear-gradient(0deg,#fcf3f6 0%,transparent 26%)}
 .hero-doctor-label{bottom:14px;right:18px;padding:7px 10px;gap:9px;max-width:calc(100% - 36px);border-radius:4px}
 .hero-doctor-label>img{width:40px;height:40px}.hero-doctor-label small{font-size:9px}.hero-doctor-label strong{font-size:18px;margin-top:0}.hero-doctor-label a{width:32px;height:32px;margin-left:5px}.hero-doctor-label .icon{width:17px;height:17px}
 .hero-copy{order:2;padding:16px 24px 25px;width:100%;pointer-events:auto}.hero .eyebrow{font-size:10px;margin-bottom:10px;letter-spacing:.02em}
 .hero h1{font-size:clamp(26px,7.5vw,34px);line-height:1.45;white-space:normal;letter-spacing:.01em}
 .hero-description{font-size:12px;line-height:1.8;margin-top:12px}.hero-points{margin-top:13px;gap:6px}.hero-points li{font-size:10px;padding:5px 9px}
 .hero-cta{width:100%!important;min-height:59px;padding:9px 20px;margin-top:16px;font-size:16px}.hero-cta small{font-size:9px}
 .hero .booking-microcopy{font-size:9px;line-height:1.6;margin-top:7px}.hero-phone{font-size:20px;margin-top:16px;gap:8px}.hero-phone>span{font-size:9px;margin-left:2px}.hero .hero-hours{font-size:9px;margin-top:5px}
 .quick-facts{padding:19px 12px}.quick-facts span{font-size:9px}.quick-facts strong{font-size:11px}.quick-facts .icon{width:23px;height:23px}
 .booking-guide{display:block;padding:36px 0 42px}.booking-guide h2{font-size:25px;line-height:1.5}.booking-guide h2 br{display:none}.booking-guide-heading>p:last-child{font-size:12px;line-height:1.8;margin-top:10px}.booking-guide .kicker{font-size:10px;margin-bottom:11px}
 .booking-guide-body{margin-top:22px}.booking-steps{gap:15px}.booking-steps strong{font-size:14px}.booking-steps small{font-size:10px}.booking-steps li{gap:12px}.booking-steps li>span{width:30px;height:30px}
 .booking-guide-actions{display:block;margin-top:22px}.booking-guide-actions .button{width:100%;font-size:14px;min-height:52px}.booking-guide-actions p{font-size:11px;margin-top:12px}.booking-guide-actions p br{display:block}
 .section{padding-block:54px}.section-heading{margin-bottom:25px}.service summary{min-height:90px;padding-block:18px}.service-detail a{font-size:12px}.service small{font-size:11px}
 .inline-reserve{display:block;padding-top:22px;margin-top:23px}.inline-reserve strong{font-size:14px}.inline-reserve p{font-size:12px;line-height:1.8}.inline-reserve .button{width:100%;margin-top:17px;min-height:54px}
 .doctor-layout{gap:25px}.doctor-copy h2,.intro-heading h2{font-size:27px}.doctor-visual{width:70%}.doctor-copy>p{font-size:14px}.feature-list p,.intro-heading>div{font-size:14px}.faq-list summary{font-size:14px;line-height:1.8}.faq-list details>div{font-size:14px}
 .mobile-booking{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));gap:8px;grid-template-columns:1fr 1.55fr}.mobile-booking a{min-height:50px;font-size:13px}.contact-note{font-size:11px!important}.footer{padding-bottom:105px}
}
@media(max-width:360px){.hero-photo{height:200px}.hero-copy{padding-inline:20px}.hero h1{font-size:27px}.hero-description{font-size:11px}.hero-phone{font-size:18px}.hero-phone>span{font-size:8px}.hero .booking-microcopy{font-size:8px}.mobile-booking a{font-size:12px}.booking-guide h2{font-size:23px}}
