/* Approved homepage refinement and shared reading scale, October 2026.
   Headings retain their hierarchy; normal copy/actions share one size. */
:root{--copy-size:15px;--note-size:13px;--small-note-size:12px}

.site-header,.site-header .mobile-nav:not([hidden]){background:#edf2f8}
.site-header .header-inner{height:96px}
.site-header .header-inner>.brand-logo{width:105px;height:76px}
.site-header .header-inner>.brand-logo img{width:207px;left:-47px;top:-33px}
.hero{padding-top:64px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:92px;align-items:center}
.hero .hero-copy{padding:0;max-width:none}
html .hero h1.practice-name{margin:0;max-width:100%;font-family:var(--serif);font-style:normal;font-size:clamp(55px,5.1vw,72px);font-weight:400;letter-spacing:-1.8px;line-height:1.05}
.practice-name span{display:inline-block;margin-top:0;font:inherit;letter-spacing:inherit;white-space:nowrap}
.hero-life{margin-top:25px;max-width:100%;font-family:var(--serif);line-height:1.25;letter-spacing:-.4px;color:#61718f}
.hero-life br{display:none}
.hero-life em{display:inline-block;white-space:nowrap;color:inherit}
/* Every language shares the approved hierarchy, color and natural wrapping. */
:root{--life-heading-size:clamp(46px,4.1vw,64px)}
html[lang=zh-CN]{--life-heading-size:clamp(39px,3.5vw,55px)}
.hero-life,#care-title{font-size:var(--life-heading-size)}
.hero .hero-actions{margin:0 0 30px;display:flex;flex-wrap:wrap;gap:18px 36px;max-width:none}
.hero .hero-actions .calendar-shortcut{font-size:var(--copy-size);gap:14px;line-height:1.5;min-height:44px;margin-top:0}
.hero .hero-actions .calendar-shortcut .link-circle{width:40px;height:40px;flex:0 0 40px;background:transparent;border-color:var(--accent);color:var(--ink)}
.hero .hero-actions .calendar-shortcut svg{width:21px;height:21px}
.hero .hero-actions .calendar-shortcut:hover .link-circle{background:transparent;transform:translateX(2px)}
.hero .hero-team{background:none;border:0;border-left:1px solid var(--line);border-radius:0;padding:6px 0 6px 38px}
.hero .team-flower{display:none}
.hero .hero-who-title,.hero .purpose-item h2,
html[lang=zh-CN] .hero .hero-who-title,html[lang=zh-CN] .hero .purpose-item h2{font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:0;font-weight:500;margin-bottom:12px}
.hero .hero-intro{font-size:var(--copy-size);line-height:1.9;max-width:none}
.hero .purpose-details{margin-top:23px}
.hero .purpose-details summary{font-size:var(--copy-size);padding-top:15px}
.hero .purpose-details[open] summary{padding-bottom:20px}
.hero .purpose-grid{grid-template-columns:minmax(0,1fr);gap:20px}
.hero .purpose-item+.purpose-item{border-top:1px solid var(--line);padding-top:20px}
.hero .purpose-item p{font-size:var(--copy-size);line-height:1.85}
.hero .hero-bottom{margin-top:52px;padding:24px 0;font-size:var(--small-note-size);letter-spacing:.45px}
.care-section{padding-top:76px}

/* Ordinary text, profile metadata and clinic contact details. */
.about-copy>p:not(.lead),.profile-identity>p,
.profile-details .details-content p,.care-item .care-list li,
.locations-intro,.locations-email,.locations-email span,.locations-email a,
.practice address,.practice .practice-note,.practice .practice-city,
.practice .practice-phone,.practice .practice-phone a,
.effort-item>p,.plus-feature p,.plus-feature .plus-specialties,.plus-values li,
.community-card p:not(.eyebrow),.wecare-description{font-size:var(--copy-size)}
.profile-details .details-content h4{font-size:var(--copy-size)}
.practice .clinic-name,.connected-grid .wechat-contact h3{font-size:var(--copy-size)}

/* Disclosure labels and actions remain readable, including on phones. */
.profile-details summary,.plus-details summary,.insight-category summary,
.underlined-link,.community-card .underlined-link,.plus-feature .underlined-link,
.resource-list a,.insights-menu a,.insights-header a:not(.insights-home),
.booking-close,.back-top{font-size:var(--copy-size)}
.external-circle-link{max-width:100%;min-height:44px}
.external-circle-link>span:first-child{min-width:0}
.external-link-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--accent);border-radius:50%;background:transparent;color:var(--ink)}
.external-circle-link .external-link-circle svg{width:21px;height:21px}

/* Short supporting text can be quieter; no tiny 10–11px captions. */
.appointment-code figcaption,.wecare-shop figcaption,
.wechat-contact figcaption p,.community-card p.community-note{font-size:var(--note-size)}
.section-closing,.footer-bottom{font-size:var(--small-note-size)}
/* Clinic information uses pale blue; the calendar keeps its original paper. */
.locations-section{background:var(--paper)}
.locations-overview{background:#edf2f8;padding-bottom:16px}
.locations-section .appointment-calendar{border:0;margin-top:16px;background:var(--paper)}
/* The location section's closing line supplies the calendar's lower divider. */
.appointment-calendar summary{justify-content:space-between;gap:22px;border-bottom:1px solid #b8c2d4}
.appointment-calendar summary [data-i18n="calendarTitle"]{min-width:0;overflow-wrap:anywhere}
.disclosure-arrow{display:flex;align-items:center;justify-content:center;width:21px;height:21px;flex:0 0 21px;color:var(--ink)}
.appointment-calendar .calendar-disclosure-icon{width:40px;height:40px;flex-basis:40px;border:1px solid var(--accent);border-radius:50%;background:transparent}
.disclosure-arrow svg{width:21px;height:21px;transform:rotate(90deg);transition:transform .2s}
details[open]>summary .disclosure-arrow svg{transform:rotate(-90deg)}
.appointment-calendar summary:focus-visible .disclosure-arrow,.effort-item summary:focus-visible .details-toggle{outline:2px solid var(--ink);outline-offset:4px}

/* Compact native disclosures retain all three effort descriptions. */
.effort-list{gap:0}
.effort-item{min-width:0;border-bottom:1px solid var(--line)}
.effort-item summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;padding:18px 0;font-size:16px;font-weight:550;line-height:1.6;list-style:none;cursor:pointer}
.effort-item summary>span:first-child{min-width:0}
.effort-item summary::-webkit-details-marker{display:none}
.effort-item summary:focus-visible{outline:none}
.effort-item[open] .details-toggle:after{transform:none}
.effort-item>p{margin:0;padding-bottom:20px;line-height:1.9;color:var(--body)}

@media(max-width:1150px){
  .hero{column-gap:48px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .hero .hero-team{padding-left:28px}
  html .hero h1.practice-name{font-size:58px}
}
@media(max-width:900px){
  :root{--life-heading-size:48px}
  .hero{grid-template-columns:minmax(0,1fr);row-gap:34px;padding-top:44px}
  .hero .hero-copy{max-width:740px}
  .hero .hero-team{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
  .hero .hero-intro{max-width:650px}
  .hero .hero-bottom{margin-top:0}
}
@media(max-width:700px){
  :root{--life-heading-size:49px}
  html[lang=zh-CN]{--life-heading-size:41px}
  .site-header .header-inner{height:91px}
  .hero{padding-top:36px;row-gap:30px}
  html .hero h1.practice-name{font-size:clamp(44px,13vw,52px);letter-spacing:-1px}
  .hero-life{line-height:1.25;margin-top:22px;letter-spacing:-.4px}
  .hero .hero-actions{margin-bottom:24px}
  .hero .hero-actions .calendar-shortcut{gap:14px}
  .hero .hero-team{padding-top:23px}
  .hero .hero-who-title,.hero .purpose-item h2,
  html[lang=zh-CN] .hero .hero-who-title,html[lang=zh-CN] .hero .purpose-item h2{font-size:18px}
  .hero .hero-bottom{padding-block:20px;letter-spacing:.2px}
  .care-section{padding-top:56px}
  .calendar-days li,.calendar-session{min-height:80px}
  .calendar-clinic{font-size:var(--small-note-size);white-space:normal;line-height:1.25}
}
