/* 公共界面最后加载：正文按组件放大，保持标题层级，不缩放整页。 */
:root{--public-width:min(1200px,calc(100% - 48px))}
.navigation[data-public-contact]{display:block;height:auto;min-height:0;padding:0;background:#fff}
.public-header-main,.public-header-secondary{width:var(--public-width);margin-inline:auto;display:flex;align-items:center}
.public-header-main{min-height:108px;gap:32px;padding-block:20px}
.navigation .public-header-main .brand{font-size:30px;margin:0;gap:14px}
.navigation .public-header-main .brand img{width:54px;height:54px}
.navigation .public-header-main .brand small{font-size:12px;letter-spacing:.15em;color:var(--brand)}
.public-header-intro{font-size:18px;line-height:1.75;max-width:440px;padding-left:30px;border-left:1px solid var(--line);flex:1;color:#4d6475}
.public-header-contact{margin-left:auto;flex-shrink:0}
.public-header-contact small{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);margin-bottom:5px}
.public-header-contact svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.public-header-phone{display:block;font-size:30px;font-weight:600;letter-spacing:.01em;white-space:nowrap;color:var(--brand);font-variant-numeric:tabular-nums}
.public-header-secondary{border-top:1px solid var(--line);min-height:62px;gap:28px}
.navigation .public-header-secondary nav{margin:0;gap:38px;flex:1}
.navigation .public-header-secondary nav a:nth-child(n){font-size:18px;padding:17px 0;display:block;white-space:nowrap}
.public-header-secondary>.button{font-size:17px;padding:12px 24px;border-radius:4px;flex-shrink:0}
.public-header-secondary .mobile-menu{display:none}
.hero.is-brand-slide p{font-size:18px}
.hero.is-brand-slide .eyebrow{font-size:14px;letter-spacing:.1em}
.about-origin{align-items:start}
.article-side,.booking-intro{top:190px}
.section,.article-rich section,.inner-subnav~section{scroll-margin-top:190px}

/* 首页、目录、详情和预约的正文与辅助层级。 */
.intro-copy>p,.section-head>p,.doctor-copy p,.service-caption p,.directory-hero p,.path-section>.wrap>p,.appointment p,
.inner-hero p,.about-origin p,.values-content p,.team-feature p,.team-card p,
.press-feature p,.press-row p,.knowledge-card p,.knowledge-index-heading p,.knowledge-editors .knowledge-feature p,
.article-rich p,.article-rich li,.article-rich td,.article-rich th,
.clinical-row p,.store-editorial p,
.booking-intro>p,.booking-summary p,.booking-done p{font-size:18px;line-height:1.9}
#home-services .service-caption p,#services-view .service-caption p,#preview-news .journal-copy>p,.doctor-panel .doctor-copy p,.profile-lead p,.reading-article header>p,.article-rich{font-size:18px;line-height:1.9}
#preview-news .journal-row h3{font-size:18px}
.service-caption small,.doctor-copy small,.home-doctor-facts dt,.home-doctor-facts dd,.metric span,.label,
.path-section li small,.team-card small,.team-card h2>span,.team-card figure span,.team-filters label,
.press-row time,.knowledge-card small,.knowledge-pick small,.knowledge-pick span,.knowledge-card figure>span,
.article-side,.article-side a,.article-rich figcaption,.about-origin figcaption,.directory aside,
.booking-phone small,.booking-summary small,.booking-steps span,.booking-fields label,.booking-consent,
.booking-options small,.booking-options em,.booking-submit-note,.preview-content-note,.booking-error,
.contact-stage small,.contact-store-bar button,#result-count{font-size:15px;line-height:1.8}
.eyebrow,.inner-hero .eyebrow,.knowledge-editors .knowledge-feature .eyebrow,.knowledge-pick small,
#preview-news .journal-copy>small,#preview-news .journal-row time,#preview-news .journal-row small{font-size:14px}
.text-link,.team-card .text-link,#preview-news .journal-copy>a,.button,.filters button,.inner-filters button,.inner-subnav button,.reset-filter{font-size:17px}
.booking-options b,.booking-options.compact b{font-size:17px}
.booking-fields input,.booking-fields select,.booking-fields textarea{font-size:17px}
.home-doctor-facts{line-height:1.8}
.inner-status,.team-store-bar button{font-size:15px}
.press-row small,.illustrated-portrait>.portrait-disclosure,.breadcrumb,.breadcrumb .text-link,.source-note,.reading-article>.source-note{font-size:15px}
.contact-copy .eyebrow,.article-side>span,.values-tabs small{font-size:14px}
.contact-heading p,.contact-details b,.contact-details address{font-size:17px}
.contact-phone b{font-size:26px}
.contact-details small,.contact-preparation li,.contact-preparation h3 small,.contact-caption,.contact-visual figcaption,.booking-single .booking-multiple-hint,.booking-single .booking-steps small,.source-note p,.profile-note,.honor-gallery p,.store-editorial address,.reading-article header>small:last-child{font-size:15px}
.booking-below .booking-options b{font-size:17px}
.contact-actions .text-link,.article-side .text-link,.article-neighbors .text-link{font-size:16px}
.intro .brand-sculpture figcaption,.orbit-toggle,.doctor-photo-caption{font-size:14px}
.doctor-preview-button{position:static;margin-top:12px;font-size:15px}
.team-card p{min-height:0}
.knowledge-pick h2{overflow-wrap:anywhere}

/* 页脚横向导航和三组社交入口收拢至同一内容轴线。 */
footer.footer{background:#122b3e;padding:48px 0 28px}
footer.footer .wrap.complete-footer{width:var(--public-width);max-width:1200px;display:block;margin-inline:auto}
.complete-footer .public-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px 34px;padding-bottom:28px;border-bottom:1px solid #ffffff24}
.public-footer-links a{font-size:17px;color:#eef5fa;padding:5px 0}
.public-footer-links a:hover{color:#a9d7f6}
.public-footer-grid{display:grid;grid-template-columns:1fr 1.05fr 1.7fr;gap:38px;padding-top:36px;align-items:start}
.public-footer-info .footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:28px;color:#fff;letter-spacing:.05em}
.public-footer-info .footer-brand img{width:48px;height:48px}
.public-footer-info .footer-brand span{color:#fff}
.public-footer-info .footer-brand small{font-size:12px;color:#b0cde0}
.public-footer-info .footer-brand p{width:100%;margin-top:9px;font-size:17px;color:#c3d4e0;letter-spacing:0;font-weight:400}
.public-footer-contact h3{font-size:18px;font-weight:500;color:#fff;margin-bottom:16px}
.public-footer-phone{display:block;font-size:28px;white-space:nowrap;color:white;font-variant-numeric:tabular-nums}
.public-footer-contact p{font-size:15px;color:#c3d4e0;margin:12px 0}
.public-footer-contact>a:last-child{font-size:15px;color:#b6d8ef;line-height:1.8}
.public-footer-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-qr{margin:0;min-width:0;text-align:center}
.public-qr-visual{background:#fff;border:1px solid #dce5ec;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:7px;border-radius:3px}
.public-qr-visual>img{width:100%;height:100%;object-fit:contain}
.public-qr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;color:#7d909e}
.public-qr-empty svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.public-qr-empty span{font-size:14px!important;color:#526b7e!important;line-height:1.6}
.public-qr figcaption{font-size:15px;line-height:1.7;margin-top:10px;color:inherit;overflow-wrap:anywhere}
.public-footer-social .public-qr{color:#d9e7ef}
.complete-footer>.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;border-top:1px solid #ffffff24;margin-top:34px;padding-top:24px;font-size:14px;color:#b8cbd8}
.complete-footer>.footer-bottom span{color:inherit}

/* 同一条快捷栏：宽屏靠右，窄屏落底，避免与旧入口叠挡。 */
.public-contact-bar{position:fixed;z-index:80;right:16px;top:50%;transform:translateY(-40%);width:70px;background:#fff;border:1px solid #dce5ec;border-radius:7px;box-shadow:0 8px 30px #102a4314}
.public-contact-item{position:relative}
.public-contact-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:70px;background:transparent;border:0;border-bottom:1px solid #e4ebf0;font:inherit;font-size:14px;line-height:1.4;color:#244d6a;cursor:pointer;padding:10px 3px}
.public-contact-bar>button:last-child{border-bottom:0}
.public-contact-trigger svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.public-contact-trigger:is(:hover,:focus-visible),.is-open>.public-contact-trigger{background:#edf5fb;color:var(--brand)}
.public-contact-booking{background:var(--brand);color:white}
.public-contact-panel{position:absolute;right:100%;top:50%;transform:translateY(-50%);width:232px;padding:22px;background:#fff;border:1px solid #dce5ec;border-radius:7px 0 0 7px;box-shadow:-8px 8px 30px #102a4314;color:var(--ink)}
.public-contact-panel .public-qr-visual{width:168px;margin-inline:auto}
.public-contact-phone small{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}
.public-contact-phone>a{display:block;font-size:23px;color:var(--brand);white-space:nowrap}
.public-contact-phone p{font-size:15px;margin-top:12px}
.public-contact-bar :focus-visible{outline-offset:-3px}
@media(max-width:1399px){
  .public-contact-bar{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-radius:0;border-inline:0;padding-bottom:env(safe-area-inset-bottom)}
  .public-contact-trigger{min-height:70px;border-bottom:0;border-right:1px solid #e4ebf0}
  .public-contact-bar>button:last-child{border-right:0}
  .public-contact-panel{position:fixed;left:50%;right:auto;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(320px,calc(100vw - 36px));border-radius:7px}
  .has-public-contact{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .public-contact-bar.is-input-active{display:none}
}
@media(max-width:1100px){
  .public-header-main{gap:24px}
  .navigation .public-header-main .brand{font-size:27px}
  .public-header-intro{font-size:17px;padding-left:22px}
  .public-header-phone{font-size:26px}
  .navigation .public-header-secondary nav{gap:26px}
  .public-header-secondary>.button{padding-inline:20px}
  .public-footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .public-footer-social{grid-column:1/-1;max-width:500px;width:100%}
}
@media(max-width:850px){
  .public-header-main{flex-wrap:wrap;gap:14px 24px;padding-block:18px}
  .public-header-intro{order:3;flex-basis:100%;max-width:none;border:0;padding:0;font-size:17px}
  .public-header-phone{font-size:26px}
  .navigation .public-header-secondary nav{gap:20px}
  .public-header-secondary{gap:20px}
  .public-header-secondary>.button{padding:12px 16px}
}
@media(max-width:700px){
  :root{--public-width:calc(100% - 36px)}
  .public-header-main{gap:12px;padding-block:17px}
  .navigation .public-header-main .brand{font-size:25px;gap:9px}
  .navigation .public-header-main .brand img{width:43px;height:43px}
  .navigation .public-header-main .brand small{font-size:10px}
  .public-header-contact small{font-size:14px;margin-bottom:4px}
  .public-header-phone{font-size:20px}
  .public-header-intro{font-size:17px;line-height:1.65}
  .public-header-secondary{display:flex;flex-wrap:wrap;min-height:58px;padding-block:8px;gap:8px 16px}
  .public-header-secondary>.button{margin:0;padding:10px 16px;font-size:16px}
  .public-header-secondary .mobile-menu{display:block;font-size:17px;margin-left:auto;min-height:44px;padding:8px 16px}
  .navigation .public-header-secondary nav{order:3;width:100%;flex-basis:100%;margin:0;gap:0;grid-template-columns:repeat(3,minmax(0,1fr))}
  .navigation .public-header-secondary nav a:nth-child(n){font-size:18px;padding:15px 0}
  .navigation .public-header-secondary nav a:nth-child(3n+2){text-align:center}
  .navigation .public-header-secondary nav a:nth-child(3n){text-align:right}
  .article-side,.booking-intro{top:0}
  .complete-footer .public-footer-links{gap:14px 26px}
  .public-footer-grid{grid-template-columns:1fr;gap:30px}
  .public-footer-social{grid-column:auto;gap:12px}
  .public-qr-visual{padding:5px}
  .public-footer-social .public-qr-empty{gap:5px}
  .public-footer-social .public-qr-empty svg{width:24px;height:24px}
  .public-footer-social .public-qr-empty span{max-width:5em;font-size:14px!important}
  .public-qr figcaption{font-size:14px}
  .complete-footer>.footer-bottom{flex-direction:column;font-size:14px}
  .intro-copy>p,.doctor-copy p,.team-feature p,.team-card p,.knowledge-card p,.knowledge-editors .knowledge-feature p,.press-row p,.booking-intro>p{font-size:17px}
  .booking-options.compact{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.public-contact-bar *{scroll-behavior:auto;transition:none}}
