/* Shared inner-page design: photographic title discs and spacious editorial content. */
.subpage{padding-bottom:24px}.page-heading-wrap{max-width:1520px;margin:0 auto;padding:26px 40px 0}.breadcrumb{font-size:.875rem;color:var(--color-muted);margin-bottom:18px}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;margin:0;padding:0}.breadcrumb li+li:before{content:"/";margin-right:14px;color:var(--color-line)}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-hero{position:relative;min-height:380px;display:grid;place-items:center;border-radius:20px;overflow:hidden;background:var(--color-soft);padding:24px}.page-hero>img{position:absolute;inset:0;height:100%;object-position:50% 52%;filter:brightness(1.1) saturate(.78)}.page-title-disc{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:white;border-radius:50%;width:330px;min-height:330px;padding:42px 28px;color:var(--color-brand)}.page-title-disc h1{font-size:2.125rem;line-height:1.55;overflow-wrap:anywhere}.page-title-disc>p{margin-top:20px;font-size:1rem;line-height:1.85}.page-image-note{position:absolute;right:18px;bottom:14px;font-size:.75rem;background:white;color:var(--color-muted);padding:2px 8px;border-radius:4px}.page-container{width:calc(100% - 96px);max-width:1160px;margin-inline:auto}.prose{width:calc(100% - 48px);max-width:760px;margin-inline:auto;line-height:2}.prose h2{font-size:1.875rem;line-height:1.7}.prose p+p{margin-top:20px}.page-intro{margin-top:76px;margin-bottom:76px;text-align:center}.page-intro h2{font-size:2.125rem;line-height:1.75;margin-bottom:28px}.page-intro p{text-align:left}.page-section{margin-top:96px}.page-section>h2+p{margin-top:26px}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.06em;margin-bottom:14px;color:var(--color-muted)}.page-end-links{max-width:860px;margin:88px auto 0}.page-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--color-soft);border:1px solid var(--color-line);padding:30px 36px;border-radius:16px;transition:background 250ms,border-color 250ms}.page-banner h2{font-size:1.375rem}.page-banner p{margin-top:8px;font-size:1rem;line-height:1.85}.page-banner .arrow{background:white}.editorial-photo{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:14px;background:var(--color-bg)}.editorial-photo img{width:100%;aspect-ratio:4/3;object-position:center;filter:brightness(1.1) saturate(.78)}.editorial-photo figcaption{position:absolute;right:12px;bottom:10px;background:white;padding:2px 8px;border-radius:4px;font-size:.75rem;color:var(--color-muted)}.muted{color:var(--color-muted);font-size:.875rem!important}.center-link{text-align:center;margin-top:28px}.subpage .method>p+p{margin-top:20px}.subpage .method>h3+p{margin-top:0}.subpage .method p{font-size:1rem}.subpage .method .method-kicker{font-size:.875rem}.desktop-nav a[aria-current="page"]:after{right:0;background:var(--color-accent);height:3px}.footer-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:3px;text-underline-offset:5px}
/* First visit: one continuous, numbered reading path. */
.before-visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;padding:36px 40px;background:var(--color-bg);border-radius:20px}.before-visit h2{font-size:1.75rem;line-height:1.7}.before-visit p{line-height:1.95}.before-visit .text-link{margin-top:18px}.flow-section{margin-top:88px}.flow-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px;margin-bottom:64px}.flow-nav a{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--color-line);padding:8px 0;font-size:.9375rem;font-weight:600}.flow-nav a>span:first-child{font-size:.875rem;color:var(--color-muted)}.flow-nav a>span:last-child{margin-left:auto}.visit-timeline{list-style:none;margin:0 auto;padding:0;max-width:1040px}.flow-step{position:relative;padding:0 0 96px 66px}.flow-step:before{content:"";position:absolute;top:38px;bottom:0;left:19px;width:1px;background:var(--color-accent)}.flow-step:last-child{padding-bottom:0}.flow-step:last-child:before{display:none}.step-number{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--color-brand);color:white;display:grid;place-items:center;font-weight:600}.step-content h3{font-size:1.5rem;margin-bottom:20px;line-height:1.7}.step-content p{line-height:1.95;max-width:640px}.step-content.with-photo{display:grid;grid-template-columns:1fr 1.1fr;gap:48px}.flow-step:nth-child(3) .editorial-photo img{object-position:50% 45%}.bring-panel{margin-top:80px;background:var(--color-soft);border-radius:18px;padding:36px 40px;display:grid;grid-template-columns:1fr 1.7fr;gap:40px;align-items:start}.bring-panel h2{font-size:1.5rem}.bring-panel p+p{margin-top:20px}
/* Treatment selection and article details. */
.treatment-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.treatment-tile{background:var(--color-soft);border:1px solid var(--color-line);border-radius:16px;min-height:224px;padding:22px;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:14px 12px;transition:background 250ms,border-color 250ms}.treatment-tile img{width:100%;height:124px;object-fit:contain}.treatment-tile>span{font-family:var(--font-heading);font-size:1.1875rem;font-weight:700;line-height:1.65;text-align:center}.treatment-tile .tile-arrow{font-size:1.6rem;font-weight:400}.care-principle{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:center;max-width:960px;margin-inline:auto;border-top:1px solid var(--color-line);padding-top:56px}.care-principle>img{height:300px;width:200px;object-fit:contain}.care-principle h2{font-size:1.875rem;line-height:1.8}.care-principle p{margin-top:24px}.detail-intro{margin-top:56px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:30px}.detail-illustration{width:150px;height:150px;object-fit:contain}.detail-content .page-section:first-child{margin-top:64px}.detail-content h2{font-size:1.75rem}.concern-list{padding:0;margin:28px 0 0;list-style:none}.concern-list li{padding:18px 20px 18px 28px;border-bottom:1px solid var(--color-line);position:relative}.concern-list li:before{content:"";position:absolute;left:0;top:32px;width:10px;height:3px;background:var(--color-accent)}
/* About: message, credentials, then the clinic space. */
.director-message{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}.message-image .editorial-photo img{aspect-ratio:3/4;object-position:50% 48%}.image-support{font-size:.875rem;color:var(--color-muted);margin-top:16px}.message-prose h2{font-size:1.875rem;line-height:1.8;margin-bottom:28px}.message-prose>p:not(.eyebrow){line-height:2}.message-prose>p+p{margin-top:24px}.director-signature{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.director-signature span{font-size:.875rem}.director-signature strong{font-family:var(--font-heading);font-size:1.75rem;letter-spacing:.08em}.profile-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;border-block:1px solid var(--color-line);padding-block:48px}.profile-section h2{font-size:2rem}.name-reading{font-size:.875rem;color:var(--color-muted);margin-top:8px}.qualifications{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:24px 0 0}.qualifications li{font-size:.875rem;padding:5px 12px;background:var(--color-soft);border-radius:100px}.profile-section h3{font-size:1.25rem}.career-list{margin:26px 0 0;padding:0;list-style:none}.career-list li{position:relative;margin:0;padding:0 0 20px 22px;font-size:1rem;line-height:1.8}.career-list li:before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--color-accent);border-radius:50%}.career-list li:last-child{padding-bottom:0}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.principles article+article{padding-left:36px;border-left:1px solid var(--color-line)}.principle-number{font-size:2.5rem;color:var(--color-brand);line-height:1.4;display:block;margin-bottom:20px;font-weight:600}.principles h3{font-size:1.375rem;line-height:1.8;margin-bottom:20px}.principles p{line-height:1.95}.gallery-wide img{aspect-ratio:2.2/1}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.gallery-pair img{aspect-ratio:4/3}
/* Access and booking are direct and practical. */
.location-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.location-section h2{font-size:1.75rem}.location-section address{font-style:normal;font-size:1rem;margin-top:20px}.location-section .map-wrap{height:400px}.parking-feature{border-top:1px solid var(--color-line);padding-top:20px;margin-top:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px}.parking-feature>span{font-size:1rem}.parking-feature strong{font-size:1.0625rem}.parking-feature b{font-size:2.75rem;font-family:var(--font-heading);line-height:1.3}.parking-feature p{flex-basis:100%;font-size:.875rem}.access-hours{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.access-hours>div>p:last-child{margin-top:20px}.hours-surface{padding:30px;border-radius:20px;background:var(--color-bg);min-width:0}.access-policy{font-size:.875rem;line-height:1.9}.access-policy .priority-label{margin-bottom:6px}.booking-primary{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:var(--color-soft);border-radius:24px;padding:44px 48px}.booking-primary h2{font-size:1.75rem;line-height:1.75;margin-bottom:24px}.booking-phone-wrap{text-align:center}.booking-phone{font-size:clamp(1.75rem,3vw,2.65rem);font-weight:700;line-height:1.5;display:inline-block;border-bottom:3px solid var(--color-accent);padding-block:8px;white-space:nowrap}.booking-phone-wrap p{font-size:.9375rem;line-height:1.95;margin-top:20px}.booking-other{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.booking-other article{padding:28px 0;border-block:1px solid var(--color-line)}.booking-other h2{font-size:1.5rem;display:flex;align-items:center;gap:16px;margin-bottom:18px}.availability{font-family:var(--font-body);font-size:.875rem;color:var(--color-muted);font-weight:400;border:1px solid var(--color-line);border-radius:99px;padding:3px 12px}.reservation-guidance{width:100%}.reservation-guidance .page-section{margin-top:64px}
/* FAQ: native, keyboard-operable disclosures. */
.faq-content{max-width:900px}.faq-intro{margin:64px 0 52px}.faq-item{border-bottom:1px solid var(--color-line)}.faq-item:first-child{border-top:1px solid var(--color-line)}.faq-item summary{list-style:none;display:grid;grid-template-columns:32px 1fr 24px;gap:16px;align-items:baseline;padding:28px 12px;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary h2{font-family:var(--font-body);font-size:1.125rem;line-height:1.8;font-weight:600}.question-mark{font-size:1.375rem;color:var(--color-brand);font-weight:600}.faq-toggle{font-size:1.25rem;transition:transform 200ms;text-align:center}.faq-item[open] .faq-toggle{transform:rotate(45deg)}.faq-item[open]{background:var(--color-bg)}.faq-answer{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:0 52px 30px 12px;line-height:1.95}.faq-answer>span{color:var(--color-brand);font-size:1.25rem;font-weight:600}.faq-content .page-banner h2{font-size:1.375rem}.home-detail-link{margin-top:28px}.home-detail-link.center{text-align:center}
@media(hover:hover) and (pointer:fine){.page-banner:hover,.treatment-tile:hover{border-color:var(--color-accent);background:var(--color-bg)}.flow-nav a:hover,.booking-phone:hover{color:var(--color-brand-hover)}.flow-nav a:hover{border-color:var(--color-brand)}.faq-item summary:hover{background:var(--color-bg)}}
@media(max-width:1199px){.page-heading-wrap{padding-inline:32px}.page-hero{min-height:350px}.page-title-disc{width:300px;min-height:300px;padding:36px 24px}.page-title-disc h1{font-size:1.875rem}.page-container{width:calc(100% - 64px)}.before-visit{gap:36px;padding:32px}.step-content.with-photo{gap:32px}.director-message{gap:40px}.principles{gap:24px}.principles article+article{padding-left:24px}.principles h3{font-size:1.25rem}.booking-primary{gap:28px;padding:32px}.booking-primary h2{font-size:1.5rem}.location-section,.access-hours{gap:32px}.hours-surface{padding:24px}.page-section{margin-top:80px}}
@media(min-width:768px) and (max-width:999px){.treatment-links{grid-template-columns:repeat(2,minmax(0,1fr))}.access-hours{grid-template-columns:1fr}.access-hours>div>p:last-child br{display:none}.director-message{grid-template-columns:.75fr 1.25fr}.message-prose h2{font-size:1.625rem}.booking-primary{grid-template-columns:1fr}.booking-phone{font-size:2.5rem}.booking-phone-wrap{text-align:left}}
@media(max-width:767px){.subpage{padding-bottom:8px}.page-heading-wrap{padding:20px 20px 0}.breadcrumb{font-size:.8125rem;margin-bottom:14px}.breadcrumb ol{gap:6px 9px}.breadcrumb li+li:before{margin-right:9px}.page-hero{min-height:272px;padding:20px 12px;border-radius:14px}.page-title-disc{width:224px;min-height:224px;padding:30px 18px}.page-title-disc h1{font-size:1.625rem;line-height:1.55}.page-title-disc>p{font-size:.875rem;line-height:1.8;margin-top:14px}.page-image-note{font-size:.75rem;bottom:6px;right:8px}.page-container{width:calc(100% - 40px)}.prose{width:calc(100% - 40px)}.page-intro{margin-top:48px;margin-bottom:48px}.page-intro h2{font-size:1.625rem;line-height:1.85;margin-bottom:24px}.page-section{margin-top:64px}.page-section>h2+p{margin-top:22px}.prose h2{font-size:1.5rem;line-height:1.85}.page-end-links{margin-top:56px}.page-banner{padding:24px;gap:20px;border-radius:14px}.page-banner h2{font-size:1.25rem}.page-banner p{font-size:.9375rem}.page-banner .arrow{width:40px;height:40px}.editorial-photo{border-radius:10px}.before-visit{grid-template-columns:1fr;gap:22px;padding:28px 24px}.before-visit h2{font-size:1.5rem}.before-visit h2 br{display:none}.flow-section{margin-top:56px}.flow-nav{grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:44px}.flow-nav a{font-size:.875rem;gap:7px;line-height:1.7}.flow-nav a>span:first-child{display:none}.flow-step{padding-left:46px;padding-bottom:56px}.step-number{width:30px;height:30px;font-size:.875rem;top:4px}.flow-step:before{top:34px;left:14px}.step-content.with-photo{grid-template-columns:1fr;gap:24px}.step-content h3{font-size:1.375rem;margin-bottom:16px}.bring-panel{margin-top:56px;grid-template-columns:1fr;gap:20px;padding:28px 24px}.bring-panel h2{font-size:1.375rem}.treatment-links{grid-template-columns:1fr;gap:12px}.treatment-tile{display:grid;grid-template-columns:72px 1fr 20px;gap:16px;min-height:108px;padding:16px 20px;justify-content:start;border-radius:12px}.treatment-tile img{width:72px;height:72px}.treatment-tile>span{font-size:1.0625rem;text-align:left}.care-principle{grid-template-columns:1fr;gap:24px;padding-top:36px}.care-principle>img{width:150px;height:220px;margin:auto}.care-principle h2{font-size:1.5rem;line-height:1.85}.care-principle p{margin-top:20px}.detail-intro{margin-top:40px;grid-template-columns:1fr;gap:24px}.detail-illustration{width:120px;height:120px;margin:auto}.detail-content .page-section:first-child{margin-top:48px}.detail-content h2{font-size:1.5rem}.concern-list li{padding-right:0}.director-message{grid-template-columns:1fr;gap:32px}.message-image .editorial-photo img{aspect-ratio:4/3}.message-prose h2{font-size:1.625rem}.director-signature strong{font-size:1.625rem}.profile-section{grid-template-columns:1fr;gap:32px;padding-block:32px}.profile-section h2{font-size:1.875rem}.principles{grid-template-columns:1fr;gap:32px}.principles article+article{border-left:0;border-top:1px solid var(--color-line);padding:28px 0 0}.principle-number{font-size:2rem;margin-bottom:12px}.principles h3{font-size:1.375rem;margin-bottom:16px}.principles h3 br{display:none}.gallery-wide img{aspect-ratio:4/3}.gallery-pair{grid-template-columns:1fr;gap:20px;margin-top:20px}.location-section{grid-template-columns:1fr;gap:32px;margin-top:48px}.location-section h2{font-size:1.5rem}.location-section .map-wrap{height:300px}.access-hours{grid-template-columns:1fr;gap:28px}.access-hours>div>p:last-child br{display:none}.hours-surface{padding:24px 16px;margin-inline:-4px}.booking-primary{grid-template-columns:1fr;gap:26px;padding:28px 24px}.booking-primary h2{font-size:1.5rem}.booking-phone-wrap{text-align:left}.booking-phone{font-size:clamp(1.625rem,7.4vw,2rem)}.booking-phone-wrap p{font-size:.875rem}.booking-other{grid-template-columns:1fr;gap:0;margin-top:30px}.booking-other article+article{border-top:0}.booking-other h2{font-size:1.375rem}.reservation-guidance{width:100%}.reservation-guidance .page-section{margin-top:48px}.faq-intro{margin:44px 0 32px}.faq-intro br{display:none}.faq-item summary{grid-template-columns:22px 1fr 20px;padding:22px 8px;gap:12px}.faq-item summary h2{font-size:1rem}.question-mark{font-size:1.25rem}.faq-answer{grid-template-columns:22px 1fr;gap:12px;padding:0 16px 24px 8px}.faq-content .page-banner h2{font-size:1.25rem}}

/* Selected soft backgrounds: white content on subtle warm section surfaces. */
.welcome,.hero-curve{background:var(--color-linen)}
.treatment-links{background:var(--color-linen);padding:28px;border-radius:24px}
.treatment-tile{background:var(--color-surface)}
.entry-banner.secondary,.booking-primary,.site-footer,.site-footer:before{background:var(--color-reservation)}
.reservation-block .table-scroll{background:var(--color-surface);border-radius:12px;padding:18px 14px 0}
.hero-hours,.hours-surface{background:var(--color-surface)}
@media(hover:hover) and (pointer:fine){.entry-banner.secondary:hover{background:var(--color-reservation);border-color:var(--color-accent)}}
@media(max-width:767px){.treatment-links{padding:16px;border-radius:18px}.treatment-tile{padding-inline:16px;gap:12px}.reservation-block .table-scroll{padding:14px 8px 0}}

/* Generated flow scenes retain their own natural daylight and skin tones. */
.flow-scene img{filter:none;object-position:center}
.flow-step:nth-child(3) .flow-scene img{object-position:center}
