/* 中等强度动效：图片和文字分别过渡，保留阅读与点击的稳定位置。 */
:root{--motion-ease:cubic-bezier(.2,.7,.25,1)}
.hero-art{transform:translateY(var(--hero-offset,0px)) scale(1.045);transition:transform .2s linear}
.motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .5s var(--motion-ease),transform .6s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.from-left{transform:translateX(-36px)}
.motion-reveal.from-right{transform:translateX(36px)}
.motion-reveal.is-revealed{opacity:1;transform:none}
.intro-grid{overflow:hidden}
.metric strong{min-height:1.3em}
.service-picture{position:relative;isolation:isolate}
.service-picture:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102a434d);opacity:0;transition:opacity .3s;pointer-events:none}
.card-entry{position:absolute;z-index:1;bottom:20px;right:20px;background:white;color:var(--brand);border-radius:30px;padding:12px 18px;font-size:13px;opacity:0;transform:translateY(15px);transition:opacity .3s,transform .35s var(--motion-ease);pointer-events:none}
.service-caption:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}
.service-card:focus-within .card-entry{opacity:1;transform:none}
.service-card:focus-within .service-picture:after{opacity:1}
.service-card:focus-within .service-caption:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background .25s,box-shadow .25s,transform .2s}
.button:before{content:"";position:absolute;inset:0;z-index:-1;background:#004b85;transform:translateX(-101%);transition:transform .3s var(--motion-ease)}
.button:hover:before,.button:focus-visible:before{transform:none}
.button:active{transform:scale(.98)}
.text-link{position:relative}
.text-link:after{content:"";position:absolute;height:1px;bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;background:var(--brand);transition:transform .3s}
.text-link:is(:hover,:focus-visible):after{transform:scaleX(1)}
.controls button{transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.controls button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 5px 14px #0066b320}
.controls button:not(:disabled):active{transform:translateY(0) scale(.94)}
.filters button{transition:background .25s,color .25s,border-color .25s}
.filter-enter{animation:filter-in .38s var(--motion-ease) both;animation-delay:var(--card-delay,0ms)}
#doctor-stage{overflow:hidden}
.doctor-panel{animation:none}
.doctor-panel .doctor-copy{animation:doctor-copy-in .45s var(--motion-ease) both}
.doctor-panel figure{animation:doctor-image-in .6s var(--motion-ease) both}
#visit-path{position:relative}
#visit-path:before{content:"";position:absolute;left:44px;right:calc(20% - 44px);top:44px;height:1px;background:#5e819c}
#visit-path li{position:relative;border:0;padding:0}
#visit-path li:before{display:none}
#visit-path li>b{position:relative;display:grid;place-items:center;width:88px;height:88px;border:1px solid #58869e;border-radius:50%;background:var(--ink);color:#a9e3f4;font-size:19px;margin-bottom:30px;box-shadow:0 0 0 8px #36749312}
#visit-path li>b:before,#visit-path li>b:after{content:"";position:absolute;inset:-7px;border:1px solid transparent;border-top-color:#8ce0ed;border-right-color:#78c3dc44;border-radius:50%;animation:visit-orbit 8s linear infinite;box-shadow:0 -3px 10px -5px #b5efff}
#visit-path li>b:after{inset:6px;border-top-color:transparent;border-bottom-color:#5194b9;animation-direction:reverse;animation-duration:12s;box-shadow:none}
#visit-path li:nth-child(2) b:before{animation-delay:-1.6s}#visit-path li:nth-child(3) b:before{animation-delay:-3.2s}#visit-path li:nth-child(4) b:before{animation-delay:-4.8s}#visit-path li:nth-child(5) b:before{animation-delay:-6.4s}
.path-section .is-revealed li>span,.path-section .is-revealed li>small{animation:filter-in .4s var(--motion-ease) both;animation-delay:var(--step-delay,0ms)}
#visit-path li:nth-child(2){--step-delay:100ms}#visit-path li:nth-child(3){--step-delay:200ms}#visit-path li:nth-child(4){--step-delay:300ms}#visit-path li:nth-child(5){--step-delay:400ms}
@keyframes filter-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes doctor-copy-in{from{opacity:0;transform:translateX(calc(var(--doctor-direction,1) * 24px))}to{opacity:1;transform:none}}
@keyframes doctor-image-in{from{opacity:.25;transform:translateX(calc(var(--doctor-direction,1) * 40px))}to{opacity:1;transform:none}}
@keyframes visit-orbit{to{transform:rotate(360deg)}}
/* 人物从卡片中释放出来，通栏保持原有内容对齐。 */
.doctor-section{background:#f5f6f8}
#doctor-stage{position:relative;background:transparent;border-radius:0;padding:0}
#doctor-stage:before{content:"";position:absolute;width:460px;height:460px;right:2%;bottom:-50px;border:1px solid #dce4ec;border-radius:50%;background:radial-gradient(circle,#ffffffa8,transparent 68%);pointer-events:none}
.doctor-panel{position:relative;grid-template-columns:1.1fr 1fr;min-height:550px;gap:72px}
.doctor-panel figure,.doctor-panel img{height:550px}
.doctor-panel .doctor-copy{padding:32px 0 48px}
.doctor-panel .doctor-copy h3{font-size:48px;margin:20px 0}
.doctor-panel .doctor-copy>small{display:inline-block;padding:8px 12px;background:#fff;border-left:2px solid var(--brand)}
.home-doctor-facts{margin:26px 0 32px;padding-top:22px;border-top:1px solid #dce2e9;display:grid;gap:16px;max-width:490px}
.home-doctor-facts>div{display:grid;grid-template-columns:80px 1fr;gap:18px;font-size:14px;line-height:1.8}
.home-doctor-facts dt{color:var(--muted)}.home-doctor-facts dd{margin:0;color:var(--ink)}
.doctor-section .controls{margin-top:0;padding-top:24px;border-top:1px solid #dce2e9}
/* 页脚直接展示官网已有信息，内容与后台一致。 */
.footer{padding:64px 0 28px;border-top:1px solid var(--line);background:white}
.footer .wrap.complete-footer{display:block}
.complete-footer .footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:60px}
.complete-footer .footer-brand{display:grid;grid-template-columns:48px 1fr;gap:12px;align-content:start}
.complete-footer .footer-brand>p{grid-column:1/-1;font-size:14px;font-weight:400;letter-spacing:0;margin-top:12px}
.complete-footer .footer-brand span{color:var(--ink)}
.complete-footer .footer-brand small{color:#a37a37}
.complete-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:14px}
.complete-footer nav a{display:flex;align-items:center;min-height:44px}
.complete-footer nav a:hover{color:var(--brand)}
.complete-footer .footer-grid>div:last-child>small{display:block;color:var(--muted);font-size:13px}
.complete-footer .footer-phone{display:block;font-size:27px;color:var(--brand);margin:14px 0;letter-spacing:-.02em}
.complete-footer .footer-grid>div:last-child p{font-size:13px}
.complete-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:46px;border-top:1px solid var(--line);font-size:12px}
.preview-back{display:inline-block;padding-block:16px 0;font-size:12px;color:var(--muted)}
@media(max-width:1000px){.doctor-panel{gap:32px}.complete-footer .footer-grid{gap:24px}}
@media(max-width:600px){
 .doctor-panel{grid-template-columns:1fr;gap:0;min-height:0}
 .doctor-panel .doctor-copy{padding:20px 0 24px}
 .doctor-panel .doctor-copy h3{font-size:38px}
 .doctor-panel figure,.doctor-panel img{height:390px}
 #doctor-stage{padding:0}
 #doctor-stage:before{width:320px;height:320px;right:-20px}
 #visit-path{gap:30px}
 #visit-path:before{top:44px;bottom:40px;left:44px;right:auto;width:1px;height:auto}
 #visit-path li{grid-template-columns:88px 1fr;column-gap:28px;align-items:center}
 #visit-path li>b{grid-row:1/3;margin:0}
 #visit-path li>span{align-self:end}
 #visit-path li>small{grid-column:2;align-self:start}
 .complete-footer .footer-grid{grid-template-columns:1fr;gap:28px}
 .complete-footer .footer-bottom{flex-direction:column;gap:12px;margin-top:28px}
 .footer{padding-top:40px}
}
@media(hover:hover) and (pointer:fine){
 .service-card:hover .card-entry{opacity:1;transform:none}
 .service-card:hover .service-picture:after{opacity:1}
 .service-card:hover .service-caption:after{transform:scaleX(1)}
 .service-card:hover .service-picture img{transform:scale(1.055)}
}
@media(hover:none){
 .card-entry{opacity:1;transform:none;padding:9px 13px;font-size:12px;bottom:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){
 .motion-reveal,.motion-reveal.from-left,.motion-reveal.from-right{opacity:1;transform:none}
 .hero-art{transform:none}
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .path-section li:before{transform:scaleX(1)}
}
