/* ==================== 基础 ==================== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --blue:#0f6fb8; --blue-d:#0a4a80; --blue-l:#e8f3fb;
  --gold:#e8a33d; --ink:#2c3a46; --gray:#6b7c88; --line:#e3ecf3; --bg:#f5f9fc;
  --radius:10px; --shadow:0 8px 26px rgba(15,111,184,.1);
}
html{scroll-behavior:smooth}
/* 锚点定位：避开吸顶导航，保证跳转后表单/标题完整可见 */
[id]{scroll-margin-top:150px}
@media(max-width:992px){[id]{scroll-margin-top:96px}}
.book-bar{scroll-margin-top:150px}
@media(max-width:992px){.book-bar{scroll-margin-top:96px}}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.75;background:#fff;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
/* 图片安全基线：任何位置的 img 都不会超出其父容器宽度 */
img{max-width:100%;height:auto;border:0}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;padding:12px 32px;border-radius:4px;font-size:15px;font-weight:600;transition:.3s;border:1px solid transparent}
.btn-main{background:var(--gold);color:#fff}
.btn-main:hover{background:#d1902c;transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,163,61,.35)}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.btn-line:hover{background:#fff;color:var(--blue-d)}
.section{padding:80px 0}
.sec-en{display:inline-block;font-size:13px;letter-spacing:3px;font-weight:700;color:var(--blue);text-transform:uppercase}
.sec-head{text-align:center;max-width:820px;margin:0 auto 48px}
.sec-head h2{font-size:32px;line-height:1.4;margin:10px 0 10px;color:#1b2b38;font-weight:700}
.sec-head h2 em{font-style:normal;color:var(--blue)}
.sec-head p{color:var(--gray);font-size:15px}
.sec-head.left{text-align:left;margin-bottom:22px}
.sec-head.light h2{color:#fff}
.sec-head.light h2 em{color:#ffd98a}
.sec-head.light p{color:rgba(255,255,255,.85)}
.sec-head.light .sec-en{color:#a9d7f7}
.more-btn{display:inline-block;margin-top:14px;padding:9px 26px;border:1px solid var(--blue);color:var(--blue);border-radius:4px;font-size:14px;font-weight:600;transition:.25s}
.more-btn:hover{background:var(--blue);color:#fff}
.more-btn.sm{padding:6px 18px;font-size:13px;margin-top:12px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in-view{opacity:1;transform:none}

/* ==================== 顶栏 ==================== */
.topbar{background:var(--blue-d);color:#cfe6f7;font-size:13px}
.topbar-inner{display:flex;justify-content:space-between;height:38px;align-items:center}
.topbar i{font-style:normal;color:rgba(255,255,255,.35);margin:0 10px}
.tb-tel{color:#ffd98a;font-size:16px;font-weight:800;margin-left:8px;letter-spacing:1px}
.tb-right a:hover{color:#fff}

/* ==================== 头部导航 ==================== */
.header{background:#fff;box-shadow:0 2px 10px rgba(10,74,128,.08);position:sticky;top:0;z-index:99}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:92px;gap:24px}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.logo-icon{width:50px;height:50px}
.logo-text{display:flex;flex-direction:column;line-height:1.25}
.logo-text strong{font-size:23px;color:var(--blue-d);letter-spacing:1px}
.logo-text small{font-size:11px;letter-spacing:1.6px;color:var(--gray)}
.hd-clinic{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:1;justify-content:center}
.hd-clinic-tit{color:var(--blue);font-weight:700;font-size:14px;margin-right:4px}
.hd-clinic a{font-size:13.5px;color:var(--gray);transition:.2s}
.hd-clinic a:hover{color:var(--blue)}
.hd-tel{text-align:right;flex-shrink:0}
.hd-tel span{display:block;font-size:12px;color:var(--gray)}
.hd-tel b{font-size:22px;color:var(--gold);letter-spacing:1px}
.nav{background:var(--blue)}
.nav>div{display:flex;align-items:center;justify-content:space-between}
.nav-ul{display:flex}
.nav-ul>li{position:relative}
.nav-ul>li>a{display:block;padding:16px 22px;color:#fff;font-size:16px;font-weight:600;transition:.25s}
.nav-ul>li>a:hover,.nav-ul>li.active>a{background:var(--blue-d)}
.arw{display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:6px}
.sub{position:absolute;left:0;top:100%;min-width:170px;background:#fff;border-radius:6px;box-shadow:0 14px 32px rgba(10,74,128,.2);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(12px);transition:.28s;z-index:5}
.has-sub:hover .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:9px 20px;font-size:14.5px;color:var(--gray)}
.sub a:hover{color:var(--blue);background:var(--blue-l);padding-left:26px}
.nav-book{background:var(--gold);color:#fff;font-size:14.5px;font-weight:700;padding:8px 22px;border-radius:4px;transition:.25s}
.nav-book:hover{background:#d1902c}
.nav-toggle{display:none;position:absolute;right:18px;top:26px;background:none;border:0;cursor:pointer;width:32px;height:32px;flex-direction:column;justify-content:center;gap:5px;z-index:100}
.nav-toggle span{height:3px;width:100%;background:var(--blue-d);border-radius:2px;transition:.3s}
.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ==================== 首屏 ==================== */
.hero{position:relative;height:600px;overflow:hidden}
.hero-slider{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;align-items:center}
.slide.active{opacity:1;z-index:1}
.hero-inner{display:flex;align-items:center;justify-content:space-between;width:100%;position:relative}
.hero-txt{color:#fff;max-width:640px;animation:upIn .9s ease both}
@keyframes upIn{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
.hero-tag{display:inline-block;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.14);padding:4px 16px;border-radius:20px;font-size:12.5px;letter-spacing:2px;margin-bottom:20px}
.hero-txt h1{font-size:48px;line-height:1.28;font-weight:800;margin-bottom:14px}
.hero-txt h1 em{font-style:normal;color:#ffd98a}
.hero-txt p{font-size:16px;color:rgba(255,255,255,.92);margin-bottom:28px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-deco{position:relative;width:340px;height:340px;flex-shrink:0}
.dc{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.35)}
.dc1{width:340px;height:340px;inset:0;animation:spin 26s linear infinite}
.dc2{width:250px;height:250px;left:45px;top:45px;border-style:dashed;animation:spin 20s linear infinite reverse}
.dc3{width:160px;height:160px;left:90px;top:90px;background:rgba(255,255,255,.15);border-color:transparent}
@keyframes spin{to{transform:rotate(360deg)}}
.harw{position:absolute;top:44%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.14);cursor:pointer;transition:.3s}
.harw:hover{background:#fff}
.harw::before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:translate(-28%,-70%) rotate(45deg)}
.harw:hover::before{border-color:var(--blue-d)}
.harw.next::before{transform:translate(-72%,-70%) rotate(225deg)}
.harw.prev{left:20px}.harw.next{right:20px}
.hero-dots{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px}
.hero-dots i{width:24px;height:5px;border-radius:5px;background:rgba(255,255,255,.5);cursor:pointer;transition:.3s}
.hero-dots i.active{background:#fff;width:38px}
.book-bar{position:absolute;left:0;right:0;bottom:0;z-index:6;background:rgba(255,255,255,.96);border-top:3px solid var(--gold)}
.book-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:86px;flex-wrap:wrap}
.book-txt b{display:block;font-size:19px;color:var(--blue-d)}
.book-txt span{font-size:13.5px;color:var(--gray)}
.book-form{display:flex;gap:10px;flex-wrap:wrap}
.book-form input,.book-form select{height:44px;border:1px solid var(--line);border-radius:4px;padding:0 14px;font-size:14px;color:var(--ink);background:#fff;min-width:150px;outline:none;transition:.2s}
.book-form input:focus,.book-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(15,111,184,.12)}
.book-form button{height:44px;padding:0 30px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-weight:700;font-size:15px;cursor:pointer;transition:.25s}
.book-form button:hover{background:var(--blue-d)}

/* ==================== 快捷入口 ==================== */
.quick{background:var(--bg);padding:26px 0 0}
.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;transform:translateY(30px)}
.q-item{background:#fff;border-radius:var(--radius);padding:24px 10px;text-align:center;box-shadow:0 6px 18px rgba(10,74,128,.08);transition:.3s;border-bottom:3px solid transparent}
.q-item:hover{transform:translateY(-8px);border-color:var(--blue);box-shadow:0 16px 30px rgba(10,74,128,.16)}
.q-ic{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:var(--blue-l);color:var(--blue);transition:.3s;overflow:hidden}
.q-ic svg{width:28px;height:28px;fill:currentColor}
.q-ic img{width:28px;height:28px;object-fit:contain;display:block}
.q2{background:#e6f7f4;color:#129a86}
.q3{background:#fdf1e2;color:#e8a33d}
.q4{background:#eaeefb;color:#5b6dd8}
.q5{background:#fceaf1;color:#d65f8a}
.q6{background:#eaf7e9;color:#4fa845}
.q-item:hover .q-ic{color:#fff}
.q-item:hover .q-ic.q1{background:var(--blue)}
.q-item:hover .q-ic.q2{background:#129a86}
.q-item:hover .q-ic.q3{background:#e8a33d}
.q-item:hover .q-ic.q4{background:#5b6dd8}
.q-item:hover .q-ic.q5{background:#d65f8a}
.q-item:hover .q-ic.q6{background:#4fa845}
.q-item b{display:block;font-size:16px;color:#1b2b38}
.q-item i{font-style:normal;font-size:11.5px;letter-spacing:1px;color:var(--gray)}

/* ==================== 品牌简介 ==================== */
.about{padding-top:70px}
.about-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.about-pics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;grid-auto-rows:130px}
.pic{border-radius:var(--radius);display:flex;align-items:flex-end;padding:12px;color:#fff;font-size:13px;letter-spacing:2px;position:relative;overflow:hidden;transition:.35s}
.pic:hover{transform:scale(1.02)}
.pic::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(0,0,0,.25))}
.pic span{position:relative;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.pic-main{grid-column:1/3;grid-row:1/3;height:272px;background:linear-gradient(135deg,#7fc0ea,#0f6fb8)}
.pic-s1{background:linear-gradient(135deg,#9fd9c9,#149a86)}
.pic-s2{background:linear-gradient(135deg,#f0c98a,#c2762a)}
.pic-s3{background:linear-gradient(135deg,#b6c7f5,#5b6dd8)}
.pic-s4{background:linear-gradient(135deg,#a9d7f7,#0a4a80)}
.about-name{font-size:22px;font-weight:800;color:var(--blue-d);margin-bottom:6px}
.about-addr,.about-company{font-size:14.5px;color:var(--gray)}
.about-company{margin-bottom:14px}
.about-desc{font-size:15px;color:#54697a;line-height:1.9;text-indent:2em;background:var(--blue-l);border-left:4px solid var(--blue);padding:16px 20px;border-radius:0 8px 8px 0}

/* ==================== 数据条 ==================== */
.stats{background:linear-gradient(90deg,var(--blue-d),var(--blue))}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}
.stat{padding:34px 0;border-right:1px solid rgba(255,255,255,.18)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:38px;color:#fff}
.stat b span{color:#fff}
.stat p{color:rgba(255,255,255,.88);font-size:14px}

/* ==================== 品牌连锁 ==================== */
.chain{background:var(--bg)}
.chain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.clinic{background:#fff;border-radius:var(--radius);padding:26px 22px;box-shadow:0 6px 18px rgba(10,74,128,.07);transition:.3s;position:relative;text-align:center}
.clinic:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(10,74,128,.16)}
.cl-ic{width:52px;height:52px;border-radius:50%;background:var(--blue-l);display:block;margin:0 auto 14px;position:relative}
.cl-ic::after{content:"";position:absolute;left:50%;top:14px;width:20px;height:20px;transform:translateX(-50%);background:var(--blue);border-radius:50% 50% 50% 0;rotate:-45deg}
.cl-ic::before{content:"";position:absolute;left:50%;top:19px;width:8px;height:8px;transform:translateX(-50%);background:#fff;border-radius:50%;z-index:1}
.clinic h3{font-size:17.5px;color:#1b2b38;margin-bottom:6px}
.clinic p{font-size:13.5px;color:var(--gray);min-height:44px}
.clinic i{font-style:normal;display:inline-block;margin-top:8px;font-size:13.5px;color:var(--blue);font-weight:600}
.clinic:hover i::after{content:" →"}

/* ==================== 特色项目 ==================== */
.proj-wrap{display:grid;grid-template-columns:270px 1fr;gap:28px}
.proj-nav li{padding:18px 22px;background:var(--bg);border-left:4px solid transparent;cursor:pointer;transition:.25s;font-size:17px;font-weight:700;color:#1b2b38;margin-bottom:6px;border-radius:0 8px 8px 0}
.proj-nav li i{display:block;font-style:normal;font-size:12px;letter-spacing:1.5px;color:var(--gray);font-weight:400;margin-top:2px}
.proj-nav li:hover{background:var(--blue-l)}
.proj-nav li.on{background:#fff;border-color:var(--blue);box-shadow:0 8px 20px rgba(10,74,128,.12);color:var(--blue)}
.proj-nav li.on i{color:var(--blue)}
.proj-body{position:relative;background:#fff;border-radius:var(--radius);box-shadow:0 6px 20px rgba(10,74,128,.08);overflow:hidden;min-height:340px}
.proj-item{display:none;grid-template-columns:1.1fr .9fr;gap:30px;padding:26px;align-items:center}
.proj-item.on{display:grid;animation:upIn .5s ease both}
.pi-pic{height:290px;border-radius:8px;background:linear-gradient(135deg,#8fc7ee,#0f6fb8);display:flex;align-items:flex-end;padding:16px;color:#fff;letter-spacing:3px;font-size:14px;position:relative;overflow:hidden}
.pi-pic::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.5),transparent 55%)}
.pi-pic span{position:relative;z-index:1}
.pi-txt h3{font-size:26px;color:#1b2b38;margin-bottom:6px}
.pi-txt h3 i{font-style:normal;font-size:14px;letter-spacing:2px;color:var(--blue);font-weight:400;margin-left:8px}
.pi-txt p{font-size:15px;color:var(--gray);line-height:1.95}

/* ==================== 舒适化牙科 ==================== */
.comfort{background:linear-gradient(120deg,#eef6fc,#e6f7f4)}
.comfort-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.cf-txt h2{font-size:31px;color:#1b2b38;margin:10px 0 12px}
.cf-txt h2 em{font-style:normal;color:var(--blue)}
.cf-txt>p{color:var(--gray);font-size:15px;margin-bottom:18px}
.cf-txt ul li{display:flex;gap:14px;align-items:flex-start;padding:10px 0;font-size:15px;border-bottom:1px dashed #cfe2ee}
.cf-txt ul li b{flex-shrink:0;width:30px;height:30px;border-radius:6px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px}
.cf-pics{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-p{height:172px;border-radius:var(--radius);display:flex;align-items:flex-end;padding:14px;color:#fff;font-size:13.5px;letter-spacing:2px;transition:.3s}
.cf-p:hover{transform:translateY(-6px)}
.cfp1{background:linear-gradient(135deg,#9fd9c9,#149a86)}
.cfp2{background:linear-gradient(135deg,#a9d7f7,#0f6fb8)}
.cfp3{background:linear-gradient(135deg,#b6c7f5,#5b6dd8)}
.cfp4{background:linear-gradient(135deg,#f0c98a,#c2762a)}

/* ==================== 专家团队 ==================== */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;text-align:center;transition:.32s;position:relative;overflow:hidden}
.doc::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),#7fc0ea)}
.doc:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(10,74,128,.16);border-color:transparent}
.doc-pic{width:104px;height:104px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;font-weight:800;box-shadow:0 10px 22px rgba(10,74,128,.2);border:4px solid #fff;overflow:hidden}
.doc-pic svg{width:54px;height:54px;fill:#fff;opacity:.95}
.doc-pic img{width:100%;height:100%;object-fit:cover;display:block}
.av1{background:linear-gradient(135deg,#0f6fb8,#0a4a80)}
.av2{background:linear-gradient(135deg,#149a86,#0b5f57)}
.av3{background:linear-gradient(135deg,#5b6dd8,#37459b)}
.av4{background:linear-gradient(135deg,#e8a33d,#b06f13)}
.av5{background:linear-gradient(135deg,#d65f8a,#a1375e)}
.av6{background:linear-gradient(135deg,#4fa845,#2f7a2c)}
.av7{background:linear-gradient(135deg,#129a86,#0f6fb8)}
.av8{background:linear-gradient(135deg,#6b7c88,#3d4d58)}
.doc h3{font-size:19px;color:#1b2b38;margin-bottom:4px}
.d-role{font-size:13.5px;color:var(--blue);font-weight:600}
.d-from{font-size:12.5px;color:var(--gray);margin-top:4px}

/* ==================== VIP ==================== */
.vip{background:linear-gradient(135deg,#0a4a80,#0f6fb8 60%,#0b5f57);padding:84px 0}
.vip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vip-item{position:relative;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:26px 24px;transition:.3s;backdrop-filter:blur(3px)}
/* 卡片半透明背景图：opacity 控制透明度，换图只需改 --vip-bg */
.vip-item::before{content:"";position:absolute;inset:0;z-index:0;background:var(--vip-bg) center/cover no-repeat;opacity:.26;transition:opacity .35s,transform .6s;pointer-events:none}
.vip-item::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(8,48,86,.5),rgba(8,48,86,.2));transition:opacity .35s;pointer-events:none}
.vip-item>*{position:relative;z-index:1}
.vip-item:hover{background:#fff;transform:translateY(-6px)}
.vip-item:hover::before{opacity:.2;transform:scale(1.06)}
.vip-item:hover::after{opacity:0}
.vip-item.vi1{--vip-bg:url(../images/vip01.jpg)}
.vip-item.vi2{--vip-bg:url(../images/vip02.jpg)}
.vip-item.vi3{--vip-bg:url(../images/vip03.jpg)}
.vip-item.vi4{--vip-bg:url(../images/vip04.jpg)}
.vip-item.vi5{--vip-bg:url(../images/vip05.jpg)}
.vip-item.vi6{--vip-bg:url(../images/vip06.jpg)}
.vip-item b{font-size:26px;color:#ffd98a;font-weight:800}
.vip-item h4{font-size:18px;color:#fff;margin:6px 0 6px}
.vip-item p{font-size:14px;color:rgba(255,255,255,.85)}
.vip-item:hover h4{color:var(--blue-d)}
.vip-item:hover p{color:var(--gray)}
.vip-cta{margin-top:38px;text-align:center;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.vip-tel{font-size:30px;font-weight:800;color:#ffd98a;letter-spacing:1px}

/* ==================== 品牌文化 ==================== */
.culture{background:var(--bg)}
.culture-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cu-item{background:#fff;border-radius:var(--radius);padding:32px 22px;text-align:center;box-shadow:0 6px 18px rgba(10,74,128,.07);transition:.3s}
.cu-item:hover{transform:translateY(-8px);box-shadow:0 18px 32px rgba(10,74,128,.15)}
.cu-ic{width:60px;height:60px;border-radius:50%;background:var(--blue);color:#fff;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.cu-item h4{font-size:18px;color:#1b2b38;margin-bottom:6px}
.cu-item p{font-size:13.5px;color:var(--gray)}

/* ==================== 百科新闻 ==================== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}
.news-card:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(10,74,128,.15)}
.nc-pic{height:190px;background:linear-gradient(135deg,#9fd0f0,#0f6fb8);position:relative}
.nc-pic.nc-g{background:linear-gradient(135deg,#a9e6d6,#149a86)}
.nc-pic.nc-o{background:linear-gradient(135deg,#f5d7a5,#e8a33d)}
.nc-pic::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(255,255,255,.5),transparent 55%)}
.nc-date{position:absolute;left:18px;bottom:16px;background:rgba(255,255,255,.94);border-radius:6px;padding:6px 14px;color:var(--blue-d);font-size:12px;text-align:center;line-height:1.3}
.nc-date b{display:block;font-size:19px}
.nc-body{padding:20px 22px 24px}
.nc-body h3{font-size:17px;color:#1b2b38;margin-bottom:8px;line-height:1.6;transition:.2s}
.news-card:hover .nc-body h3{color:var(--blue)}
.nc-body p{font-size:13.5px;color:var(--gray)}

/* ==================== 来院路线 ==================== */
.route{background:var(--bg)}
.route-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.route-info h2{font-size:28px;color:#1b2b38;margin:8px 0 6px}
.r-time{font-size:15px;color:var(--gray)}
.r-tel{font-size:15px;color:var(--gray);margin-bottom:14px}
.r-tel b{font-size:24px;color:var(--gold)}
.route-list{margin-top:10px}
.route-list li{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed #d3e3ee;font-size:14.5px}
.route-list b{flex-shrink:0;min-width:126px;color:var(--blue-d)}
.route-list span{color:var(--gray);font-size:13.5px}
.route-map{height:400px;border-radius:var(--radius);background:linear-gradient(135deg,#dcecf8,#a9d7f7);display:flex;align-items:center;justify-content:center;text-align:center;color:#2c5f86;font-size:15px;line-height:1.9;border:1px dashed #8dbddf}

/* ==================== 页脚 ==================== */
.footer{background:#17323f;color:#a8c1cd}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:34px;padding:62px 20px 40px}
.f-logo{display:block;font-size:21px;font-weight:800;color:#fff;letter-spacing:1px;margin-bottom:14px}
.f-logo small{display:block;font-size:11px;letter-spacing:2px;color:#7ea3b3;font-weight:400;margin-top:2px}
.f-about p{font-size:13.5px;line-height:2}
.f-tel b{font-size:22px;color:#ffd98a}
.f-col h4{color:#fff;font-size:16px;margin-bottom:16px;position:relative;padding-bottom:10px}
.f-col h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:3px;background:var(--blue);border-radius:3px}
.f-col a{display:block;font-size:13.5px;padding:5px 0;transition:.2s}
.f-col a:hover{color:#7fc0ea;padding-left:6px}
.qr{width:110px;height:110px;background:#fff;border-radius:8px;color:var(--blue-d);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 3px var(--blue)}
.f-qr p{font-size:12.5px;margin-top:10px;line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center}
.footer-bottom p{font-size:12.5px;color:#6f96a5;line-height:2}

/* ==================== 右侧悬浮工具条 ==================== */
.side-tools{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:8px}
.st-item{width:62px;height:62px;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(10,74,128,.18);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:.25s;border:0;font-family:inherit}
.st-item span{position:absolute;left:0;right:0;bottom:6px;font-size:11px;color:var(--gray);text-align:center}
.st-item::before{content:"";width:24px;height:24px;background:var(--blue);border-radius:50%;position:absolute;top:12px}
.st-item:hover{background:var(--blue)}
.st-item:hover span{color:#fff}
.st-item:hover::before{background:#fff}
.st-online::before{border-radius:50% 50% 50% 4px;rotate:8deg}
.st-tel::before{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.st-wx::before{border-radius:6px;rotate:45deg}
.st-top{opacity:0;visibility:hidden}
.st-top.show{opacity:1;visibility:visible}
.st-top::before{border-radius:50%;background:var(--blue)}
.st-top::after{content:"";position:absolute;top:19px;width:10px;height:10px;border-top:3px solid #fff;border-left:3px solid #fff;transform:rotate(45deg);z-index:2}
.st-wx-pop{position:absolute;right:72px;top:-10px;background:#fff;border-radius:8px;box-shadow:0 12px 28px rgba(10,74,128,.22);padding:12px;text-align:center;opacity:0;visibility:hidden;transform:translateX(10px);transition:.25s}
.st-wx:hover .st-wx-pop{opacity:1;visibility:visible;transform:none}
.st-wx-pop i{font-style:normal;font-size:12px;color:var(--gray);display:block;margin-top:6px}
.qr-sm{width:96px;height:96px;font-size:14px}

/* ==================== 图片占位符适配 ====================
   占位块（<div class="pic"><span>诊疗室</span></div>）换成
   <div class="pic"><img src="images/xxx.jpg" alt="诊疗室"></div> 时：
   图片绝对铺满框架 + object-fit:cover，保证不变形、不溢出，超出部分居中裁切。
   如需完整留白显示（不裁切），给该 img 加 class="fit-contain"。 */
.pic,.pi-pic,.cf-p,.nc-pic,.route-map,.doc-pic,.qr,.cl-ic,.cu-ic{position:relative;overflow:hidden}
.slide{overflow:hidden} /* .slide 本身已是 absolute，作为 img 的定位父级即可 */
.pic>img,.pi-pic>img,.cf-p>img,.nc-pic>img,.route-map>img,.doc-pic>img,
.slide>img,.qr>img,.cl-ic>img,.cu-ic>img{
  position:absolute;inset:0;
  width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;
  display:block;border-radius:inherit;
}
.fit-contain{object-fit:contain!important;background:#eef5fa}
/* 装饰层与文字压在图片之上，保证切换成真实图片后视觉一致 */
.pic::before,.pi-pic::before,.nc-pic::before{z-index:1}
.pic span,.pi-pic span,.nc-date{z-index:2}
.route-map span,.qr span{position:relative;z-index:1}
.slide>img{z-index:0}
.hero-inner{z-index:1}

/* ==================== 响应式 ==================== */
@media(max-width:1200px){
  .hd-clinic{display:none}
  .nav-ul>li>a{padding:16px 15px;font-size:15px}
}
@media(max-width:992px){
  .header-inner{height:76px}
  .hd-tel b{font-size:18px}
  .hd-tel span{display:none}
  .nav{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:#fff;overflow-y:auto;padding-top:60px;transition:right .35s;z-index:95;box-shadow:-8px 0 26px rgba(0,0,0,.14)}
  .nav.open{right:0}
  .nav>div{flex-direction:column;align-items:stretch;gap:0}
  .nav-ul{flex-direction:column}
  .nav-ul>li>a{color:var(--ink);padding:14px 24px;border-bottom:1px solid var(--line)}
  .nav-ul>li>a:hover,.nav-ul>li.active>a{background:var(--blue-l);color:var(--blue)}
  .arw{transform:rotate(-45deg)}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;border-top:0;padding:0 0 0 34px}
  .has-sub.open-sub .sub{display:block}
  .nav-book{margin:16px 24px;text-align:center}
  .nav-toggle{display:flex}
  .nav-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:94;opacity:0;visibility:hidden;transition:.3s}
  .nav-mask.show{opacity:1;visibility:visible}
  .hero{height:auto;min-height:560px;padding-top:40px}
  .hero-txt h1{font-size:34px}
  .hero-deco{display:none}
  .book-bar{position:static}
  .book-inner{height:auto;padding:18px 0;justify-content:center;text-align:center}
  .book-form{justify-content:center}
  .hero-dots{bottom:14px}
  .about-inner,.comfort-inner,.route-inner{grid-template-columns:1fr}
  .chain-grid,.team-grid,.vip-grid,.culture-inner,.news-grid{grid-template-columns:repeat(2,1fr)}
  .quick-grid{grid-template-columns:repeat(3,1fr);transform:none;padding-bottom:26px}
  .proj-wrap{grid-template-columns:1fr}
  .proj-nav{display:flex;overflow-x:auto;gap:8px;margin-bottom:14px}
  .proj-nav li{flex:0 0 auto;margin:0}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .stat{border-bottom:1px solid rgba(255,255,255,.18)}
  .footer-inner{grid-template-columns:repeat(2,1fr);gap:26px 20px;padding:46px 24px 32px 34px}
  .f-col.f-about{grid-column:1/3}
}
@media(max-width:640px){
  .section{padding:56px 0}
  .sec-head h2{font-size:25px}
  .topbar-inner{justify-content:center;flex-wrap:wrap;height:auto;padding:6px 0}
  .tb-right{display:none}
  .hd-tel{display:none}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .chain-grid,.team-grid,.vip-grid,.culture-inner,.news-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat b{font-size:30px}
  .proj-item.on{grid-template-columns:1fr}
  .pi-pic{height:200px}
  .about-pics{grid-template-columns:1fr}
  .pic-main{grid-column:auto;grid-row:auto;height:200px}
  .footer-inner{grid-template-columns:1fr;gap:22px;padding:34px 22px 24px 34px;text-align:left}
  .f-col.f-about{grid-column:auto}
  .f-col h4{margin-bottom:10px;padding-bottom:8px}
  .f-col h4::after{left:0;transform:none}
  .f-col a{padding:3px 0}
  .f-col a:hover{padding-left:0}
  .f-qr .qr,.qr{margin-left:0;margin-right:0}
  .footer-bottom{padding:16px 0 96px}
  .footer-bottom p{font-size:12px;line-height:1.9}
  .side-tools{left:0;right:0;justify-content:center;gap:6px;transform:none;top:auto;bottom:12px;flex-direction:row}
  .st-item{width:52px;height:52px}
  .st-wx-pop{right:0;top:-120px}
  .route-list li{flex-direction:column;gap:2px}
}
