/* Approved 0921 mobile designs. Scoped rules do not affect either desktop site. */
:root { --orange:#f08300; --orange-hover:#dc7600; --orange-dark:#d87500; }
body.m-body.m-body { --u:calc(min(100vw, 640px) / 1080); }
body.m-body.m-body { font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; }
body.m-body.m-body .m-header { position:relative; height:calc(126 * var(--u)); min-height:46px; background:#fff; }
body.m-body.m-body .m-header__inner { display:flex; justify-content:space-between; height:100%; max-width:640px; padding:0 calc(38 * var(--u)); margin:auto; gap:8px; }
body.m-body.m-body .m-header__brand { flex:0 1 52%; }
body.m-body.m-body .m-header__brand img { width:100%; height:auto; max-width:none; object-fit:contain; }
body.m-body.m-body .m-header__call { border:0; padding:0; min-height:0; flex-shrink:0; }
body.m-body.m-body .m-header__call span { font-size:calc(23 * var(--u)); line-height:1.2; }
body.m-body.m-body .m-header__call strong { font-size:calc(39 * var(--u)); line-height:1.2; margin:0; color:var(--orange); }
body.m-body.m-body .m-primary-nav__grid { max-width:640px; margin:auto; }
body.m-body.m-body .m-primary-nav__item { min-height:calc(82 * var(--u)); padding:calc(14 * var(--u)) 2px; font-size:calc(40 * var(--u)); line-height:1.35; font-weight:400; background:var(--orange); }
body.m-body.m-body .m-primary-nav__item.is-active { background:var(--orange); }
body.m-body.m-body .m-main { width:100%; max-width:640px; margin:0 auto; }
.m-expert-banner { display:block; width:100%; height:auto; aspect-ratio:1080 / 630; overflow:hidden; }
.m-home-hero .m-hero__slide > .m-expert-banner { width:100%; height:auto; }
.m-school-logos { margin:8px 14px 28px; }
.m-school-logos img { width:100%; height:auto; }
.m-home-doctor-row > img,.m-doctor-avatar { object-fit:contain; object-position:center; }
/* Route controls and footer region controls intentionally have distinct selected states. */
.m-main .m-city-tabs [data-route-filter].is-active { background:var(--orange); color:#fff; border-color:var(--orange); border-radius:0; }
.m-main .m-city-tabs [data-route-filter] { border-radius:0; }
.m-city-tabs [data-route-filter]:focus-visible,.m-city-tabs [data-home-city]:focus-visible { outline:2px solid #15988b; outline-offset:2px; }

.r-page { --r-font:calc(24 * var(--u)); color:#222; background:#fff; font-size:var(--r-font); line-height:1.65; font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
.r-page h1,.r-page h2,.r-page h3,.r-page h4,.r-page p,.r-page figure { margin:0; padding:0; }
.r-page .r-art { display:block; width:100%; height:auto; overflow:hidden; flex-shrink:0; }
.r-hero { margin:0; }
.r-section { padding:calc(68 * var(--u)) 0 calc(64 * var(--u)); }
.r-section.r-soft { background:#f3f3f3; }
.r-heading { text-align:center; margin:0 0 calc(64 * var(--u)); padding:0 calc(30 * var(--u)); color:#000; }
.r-heading h2 { font-size:calc(40 * var(--u)); line-height:1.35; font-weight:700; }
.r-heading > p { font-size:calc(30 * var(--u)); line-height:1.4; }
.r-divider { display:flex; align-items:center; justify-content:center; gap:calc(10 * var(--u)); margin:calc(18 * var(--u)) auto 0; }
.r-divider i { display:block; width:calc(128 * var(--u)); height:1px; background:#999; }
.r-divider svg { display:block; width:calc(22 * var(--u)); height:calc(23 * var(--u)); color:#f07800; }
.r-copy { padding:0 calc(100 * var(--u)); }
.r-copy p { margin-bottom:calc(16 * var(--u)); text-align:justify; text-indent:2em; line-height:1.65; }
.r-copy p:last-child { margin-bottom:0; }
.r-page .r-museum-proofs { width:82.6%; margin:calc(22 * var(--u)) auto 0; }
#implant-museum { padding-top:calc(40 * var(--u)); padding-bottom:calc(30 * var(--u)); }
#implant-museum .r-heading { margin-bottom:calc(35 * var(--u)); }
.r-page .r-center-award { width:68.5%; margin:calc(46 * var(--u)) auto 0; }
.r-page .r-process { width:82.9%; margin:0 auto; }
.r-page .r-guarantee { width:49.1%; margin:calc(32 * var(--u)) auto 0; }
#implant-guarantee .r-copy { padding:0 calc(49 * var(--u)); }
.r-page .r-founders { width:77.1%; margin:calc(44 * var(--u)) auto 0; }
#rw-origin { padding-top:calc(34 * var(--u)); }
#rw-origin .r-heading { margin-bottom:calc(33 * var(--u)); }
.r-page .r-license { width:72.6%; margin:calc(43 * var(--u)) auto 0; }
#rw-ten .r-copy { padding:0 calc(74 * var(--u)); }
.r-experts { padding:0 calc(75 * var(--u)); }
.r-experts article { display:grid; grid-template-columns:43% 1fr; gap:calc(45 * var(--u)); padding:calc(44 * var(--u)) calc(18 * var(--u)); border-bottom:1px solid #ddd; align-items:center; }
.r-experts article:first-child { padding-top:0; }
.r-experts h3 { display:flex; align-items:baseline; flex-wrap:wrap; border-bottom:1px solid #1a998a; margin:0 0 calc(12 * var(--u)); line-height:1.5; }
.r-experts h3 strong { font-size:calc(37 * var(--u)); border-bottom:2px solid var(--orange); margin-bottom:-1px; font-weight:500; }
.r-experts h3 small { font-size:calc(23 * var(--u)); margin-left:calc(12 * var(--u)); font-weight:400; }
.r-experts p { font-size:calc(23 * var(--u)); line-height:1.32; }
.r-advantages { display:grid; grid-template-columns:1fr 1fr; margin:0 calc(88 * var(--u)); }
.r-advantages article { text-align:center; padding:calc(30 * var(--u)) calc(20 * var(--u)); border-top:1px solid #ccc; }
.r-advantages article:nth-child(-n+2) { border-top:0; }
.r-advantages article:nth-child(odd) { border-right:1px solid #ccc; }
.r-advantages .r-art { width:calc(170 * var(--u)); height:calc(155 * var(--u)); margin:0 auto calc(12 * var(--u)); }
.r-advantages h3 { font-size:calc(38 * var(--u)); line-height:1.45; font-weight:500; }
.r-advantages p { font-size:calc(29 * var(--u)); line-height:1.43; }
.r-page .r-comparison { width:98.5%; margin:auto; }
.r-comparison-section { padding-top:calc(28 * var(--u)); }
.r-comparison-section .r-heading { margin-bottom:calc(48 * var(--u)); }

.r-pediatric { --r-font:calc(32 * var(--u)); }
.r-pediatric .r-copy { padding:0 calc(48 * var(--u)); }
#pediatric-intro { padding-top:calc(54 * var(--u)); padding-bottom:calc(40 * var(--u)); }
#pediatric-intro .r-copy { padding:0 calc(97 * var(--u)); }
.r-page .r-pediatric-space { width:66.7%; margin:calc(50 * var(--u)) auto 0; }
.r-pediatric .r-soft { background:#eee; }
.r-ped-advantages { padding:calc(36 * var(--u)) calc(81 * var(--u)) 0 calc(106 * var(--u)); }
.r-ped-advantages article { position:relative; min-height:calc(323 * var(--u)); padding:calc(56 * var(--u)) calc(46 * var(--u)) calc(50 * var(--u)) calc(200 * var(--u)); margin-bottom:calc(64 * var(--u)); background:#9dca32; border-radius:calc(160 * var(--u)) calc(160 * var(--u)) 0 calc(160 * var(--u)); color:#fff; }
.r-ped-advantages article:nth-child(even) { padding-left:calc(73 * var(--u)); padding-right:calc(202 * var(--u)); border-radius:calc(160 * var(--u)) calc(160 * var(--u)) calc(160 * var(--u)) 0; }
.r-ped-advantages article:nth-child(2) { background:#5abab0; }
.r-ped-advantages article:nth-child(3) { background:#e88506; }
.r-ped-advantages article:last-child { margin-bottom:0; }
.r-ped-advantages .r-ped-icon { position:absolute; width:calc(245 * var(--u)); height:calc(245 * var(--u)); left:calc(-44 * var(--u)); top:calc(-30 * var(--u)); border:calc(28 * var(--u)) solid #9dca32; border-radius:50%; background:#f3f3f3; }
.r-ped-advantages article:nth-child(even) .r-ped-icon { left:auto; right:calc(-33 * var(--u)); }
.r-ped-advantages article:nth-child(2) .r-ped-icon { border-color:#5abab0; }
.r-ped-advantages article:nth-child(3) .r-ped-icon { border-color:#e88506; }
.r-ped-advantages h3 { font-size:calc(43 * var(--u)); line-height:1.3; margin:0 0 calc(14 * var(--u)); }
.r-ped-advantages p { font-size:calc(35 * var(--u)); line-height:1.28; }
.r-page .r-ped-certificates { width:93.8%; margin:calc(42 * var(--u)) auto 0; }
.r-ped-groups { padding:0 calc(87 * var(--u)); }
.r-ped-groups > section > h3 { padding:calc(13 * var(--u)); margin:calc(44 * var(--u)) 0 calc(16 * var(--u)); font-size:calc(42 * var(--u)); line-height:1.4; text-align:center; border-radius:calc(50 * var(--u)); background:var(--orange); color:#fff; }
.r-ped-groups > section:first-child > h3 { margin-top:0; }
.r-ped-service { display:grid; grid-template-columns:calc(300 * var(--u)) 1fr; gap:calc(49 * var(--u)); align-items:center; padding:calc(25 * var(--u)) calc(47 * var(--u)) calc(30 * var(--u)) calc(86 * var(--u)); border-bottom:1px dashed #bbb; }
.r-ped-service.r-reverse { grid-template-columns:1fr calc(300 * var(--u)); padding-left:0; padding-right:calc(54 * var(--u)); text-align:right; }
.r-ped-service.r-reverse > .r-art { grid-column:2; grid-row:1; }
.r-ped-service.r-reverse > div { grid-column:1; grid-row:1; }
.r-ped-service .r-art { border-radius:50%; }
.r-ped-service h4 { font-size:calc(47 * var(--u)); line-height:1.22; color:#000; margin-bottom:calc(14 * var(--u)); }
.r-ped-service p { font-size:calc(35 * var(--u)); line-height:1.25; }
.r-page .r-ped-environment { width:93.2%; margin:auto; }
#pediatric-environment { padding-top:calc(88 * var(--u)); padding-bottom:calc(47 * var(--u)); }
#pediatric-environment .r-heading { margin-bottom:calc(38 * var(--u)); }

.r-tmj .r-copy { padding:0 calc(87 * var(--u)); }
#tmj-intro .r-copy { padding:0 calc(86 * var(--u)); }
.r-page .r-tmj-doctors { width:60.2%; margin:calc(25 * var(--u)) auto 0; }
#tmj-intro { padding-top:calc(35 * var(--u)); padding-bottom:0; }
.r-definition-note { margin:calc(40 * var(--u)) calc(97 * var(--u)); border:1px dashed #00a99c; border-radius:calc(40 * var(--u)); padding:calc(23 * var(--u)) 0; }
.r-definition-note .r-copy { padding:0 calc(28 * var(--u)); }
.r-page .r-anatomy { width:68.1%; margin:calc(44 * var(--u)) auto 0; }
.r-page .r-causes { width:92.4%; margin:calc(53 * var(--u)) auto 0; }
.r-symptoms { display:grid; grid-template-columns:1fr 1fr; margin:0 calc(104 * var(--u)); }
.r-symptoms article { padding:calc(40 * var(--u)) calc(35 * var(--u)) calc(33 * var(--u)); border-top:1px solid #ccc; }
.r-symptoms article:nth-child(-n+2) { border-top:0; }
.r-symptoms article:nth-child(odd) { border-right:1px solid #ccc; }
.r-symptoms img { width:calc(205 * var(--u)); height:calc(205 * var(--u)); object-fit:contain; margin:0 auto calc(30 * var(--u)); }
.r-symptoms h3 { text-align:center; font-size:calc(51 * var(--u)); line-height:1.5; margin-bottom:calc(20 * var(--u)); }
.r-symptoms p { font-size:calc(36 * var(--u)); line-height:1.65; }
.r-page .r-treatment { width:93.5%; margin:auto; }
.r-surgery { padding:0 calc(58 * var(--u)); margin-top:calc(60 * var(--u)); }
.r-surgery h3 { display:inline-block; background:#239e8e; color:#fff; border-radius:calc(20 * var(--u)); padding:0 calc(62 * var(--u)); font-size:calc(50 * var(--u)); line-height:1.55; }
.r-surgery p { font-size:calc(35 * var(--u)); margin-top:calc(31 * var(--u)); line-height:1.65; }
.r-treatments { padding:0 calc(72 * var(--u)); }
.r-treatments article { margin-bottom:calc(80 * var(--u)); }
.r-treatments article:last-child { margin-bottom:calc(40 * var(--u)); }
.r-treatments h3 { display:flex; align-items:flex-end; gap:calc(18 * var(--u)); font-size:calc(48 * var(--u)); line-height:1.25; margin-bottom:calc(16 * var(--u)); overflow-wrap:anywhere; }
.r-treatments h3 img { width:calc(99 * var(--u)); height:calc(104 * var(--u)); object-fit:contain; flex-shrink:0; }
.r-treatments p { font-size:calc(35 * var(--u)); line-height:1.45; }
.r-page .r-ten-check { width:91.3%; margin:auto; }
.r-prevention { list-style:none; margin:0 calc(66 * var(--u)); padding:0; }
.r-prevention li { position:relative; padding:calc(23 * var(--u)) 0 calc(23 * var(--u)) calc(40 * var(--u)); border-bottom:1px solid #ddd; font-size:calc(35 * var(--u)); line-height:1.5; }
.r-prevention li::before { content:""; width:calc(14 * var(--u)); height:calc(14 * var(--u)); background:#ed4b05; border-radius:50%; position:absolute; left:calc(16 * var(--u)); top:calc(41 * var(--u)); }

/* Shared footer remains real content, retaining the explicitly requested group QR. */
.m-footer--reference { max-width:640px; padding-left:calc(37 * var(--u)); padding-right:calc(37 * var(--u)); }
.m-footer--reference .m-home-branch-list strong { font-size:calc(34 * var(--u)); }
.m-footer--reference .m-home-branch-list small { font-size:calc(28 * var(--u)); line-height:1.4; }
.m-footer--reference .m-home-branch-list li { padding:calc(32 * var(--u)) calc(12 * var(--u)); min-height:calc(150 * var(--u)); border-bottom:1px dotted #aaa; }
.m-footer--reference .m-home-branch-list a { white-space:nowrap; font-size:calc(23 * var(--u)); }
.m-footer--reference .m-city-tabs button { font-size:calc(24 * var(--u)); min-height:calc(88 * var(--u)); }
.m-home-branch-list a i { display:inline-block; position:relative; font-size:0; width:12px; height:15px; margin-left:3px; background:var(--orange); border-radius:50% 50% 50% 0; transform:rotate(-45deg); }
.m-home-branch-list a i::after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#fff; left:4px; top:4px; }
.r-zhang-hero { display:grid; grid-template-columns:41.6667% 1fr; align-items:center; background:linear-gradient(135deg,#fafafa,#ececec); }
.r-zhang-hero > svg { width:100%; height:auto; display:block; overflow:hidden; }
.r-zhang-hero > div { padding:calc(35 * var(--u)); }
.r-zhang-hero h1 { font-size:calc(56 * var(--u)); color:var(--orange); margin:0 0 calc(20 * var(--u)); line-height:1.3; }
.r-zhang-hero h1 small { font-size:calc(24 * var(--u)); color:#555; margin-left:calc(12 * var(--u)); font-weight:400; }
.r-zhang-hero p { margin:0 0 calc(30 * var(--u)); font-size:calc(27 * var(--u)); line-height:1.4; }
.r-zhang-hero blockquote { margin:0; color:var(--orange); font-size:calc(31 * var(--u)); font-weight:600; }
.m-route-map--unavailable { display:flex; align-items:center; justify-content:center; min-height:80px; height:auto; padding:20px; color:#666; font-size:13px; text-align:center; }
@media (min-width:640px) { body.m-body.m-body { max-width:640px; margin-left:auto; margin-right:auto; } }
