
:root{
  --brand:#0ea5b7; --brand-dark:#0b7f8d; --ink:#1d2b32; --muted:#5a6b73;
  --bg:#f4fbfc; --card:#ffffff; --line:#d9eef1; --ok:#1f9d55;
  --shadow:0 8px 28px rgba(14,165,183,.10);
  --glow:0 0 20px rgba(14,165,183,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}

/* 顶部滚动进度条 */
#progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--brand),#7fe3ec);z-index:100;transition:width .12s ease-out;box-shadow:var(--glow)}
/* 返回顶部 */
#toTop{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;border:none;font-size:20px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(20px);transition:.3s;box-shadow:var(--glow);z-index:90}
#toTop.show{opacity:1;pointer-events:auto;transform:translateY(0)}

/* 鼠标聚光灯 */
body::before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(126,227,236,.12),transparent 60%);transition:background .15s}

/* 按钮 */
.btn{display:inline-block;background:var(--brand);color:#fff;padding:12px 26px;border-radius:10px;font-weight:600;transition:.2s;box-shadow:var(--shadow);position:relative;overflow:hidden;border:none;cursor:pointer}
.btn:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:var(--glow)}
.btn.ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}
.btn.ghost:hover{background:var(--brand);color:#fff}
.btn::after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:.5s}
.btn:hover::after{left:150%;transition:.7s}

header{position:sticky;top:0;z-index:50;background:rgba(244,251,252,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;position:relative;z-index:2}
.logo-img{height:40px;width:auto;display:block;transition:.3s}
.logo:hover .logo-img{transform:scale(1.03)}
.footer-logo{height:36px;width:auto;margin-bottom:12px;opacity:.95}

.menu{display:flex;gap:2px;font-size:14.5px;align-items:center;flex-wrap:nowrap}
.menu a{position:relative;color:var(--muted);font-weight:500;padding:8px 9px;border-radius:8px;transition:.2s;overflow:hidden;white-space:nowrap}
.menu a::before{content:"";position:absolute;bottom:4px;left:50%;width:0;height:2px;background:var(--brand);border-radius:2px;transform:translateX(-50%);transition:.3s}
.menu a:hover{color:var(--brand);background:rgba(14,165,183,.06)}
.menu a:hover::before{width:60%}
.menu a.active{color:var(--brand-dark);background:rgba(14,165,183,.10)}
.menu a.active::before{width:70%}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:55;padding:8px}
.burger span{width:24px;height:3px;background:var(--ink);border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Hero 通用 */
.hero{background:linear-gradient(135deg,#eafafc 0%,#d4f1f5 100%);padding:80px 0 70px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;background:rgba(14,165,183,.08);border-radius:50%;filter:blur(40px);animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
.tag{display:inline-block;background:#fff;color:var(--brand-dark);border:1px solid var(--line);padding:6px 14px;border-radius:30px;font-size:13px;font-weight:600;margin-bottom:18px;animation:fadeInUp .6s both}
.hero h1{font-size:39px;font-size:clamp(30px,5vw,48px);line-height:1.15;animation:fadeInUp .6s .1s both}
.hero .slogan{font-size:22px;font-size:clamp(18px,3vw,26px);color:var(--brand-dark);font-weight:700;margin:14px 0;animation:fadeInUp .6s .2s both}
.hero p.lead{color:#fff;font-size:17.5px;max-width:660px;margin:12px 0 28px;animation:fadeInUp .6s .3s both;text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);line-height:1.75}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;animation:fadeInUp .6s .4s both}
.badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;animation:fadeInUp .6s .5s both}
.badges span{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:13px;color:var(--brand-dark);font-weight:600}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Hero 带背景图（子页） */
.hero-img{position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff}
.hero-img::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(11,127,141,.82),rgba(14,165,183,.55));z-index:1}
.hero-img .wrap{position:relative;z-index:2;padding-top:78px;padding-bottom:64px}
.hero-img .tag{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.4)}
.hero-img h1{color:#fff}
.hero-img .slogan{color:#eafffd}
.hero-img .cta .btn.ghost,.hero-parallax .cta .btn.ghost{color:#fff;border-color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.hero-img .cta .btn.ghost:hover,.hero-parallax .cta .btn.ghost:hover{background:#fff;color:var(--brand-dark);text-shadow:none}

/* Hero 视差（首页） */
.hero-parallax{position:relative;overflow:hidden;padding:96px 0 80px}
#heroBg{position:absolute;top:-12%;right:0;bottom:-12%;left:0;background-size:cover;background-position:center;z-index:0;will-change:transform}
.hero-parallax::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(8,95,105,.88),rgba(12,135,148,.62));z-index:1}
.hero-parallax .wrap{position:relative;z-index:2}
.hero-parallax h1{color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.45),0 1px 4px rgba(0,0,0,.35)}
.hero-parallax .slogan{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35)}

/* 首页四图轮播 */
.hero-carousel::after{display:none}
.hero-carousel{position:relative;height:580px;padding:0;overflow:hidden;background:#0c3b2e}
.hero-slides{position:absolute;top:0;right:0;bottom:0;left:0}
.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease;z-index:0;cursor:pointer}
.hero-slide.active{opacity:1;z-index:1}
/* 轮播海报文字与 CTA */
.slide-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;color:#fff;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;padding:0 8%}
.slide-content.pos-left{align-items:flex-start;text-align:left;padding-left:9%;padding-right:45%}
.slide-content.pos-center{align-items:center;text-align:center;padding-left:15%;padding-right:15%}
.hero-slide.active .slide-content{opacity:1;visibility:visible}
.slide-content h2{font-size:39px;font-size:clamp(28px,4.2vw,50px);font-weight:800;line-height:1.15;margin-bottom:14px;text-shadow:0 3px 14px rgba(0,0,0,.45),0 1px 4px rgba(0,0,0,.35);max-width:760px}
.slide-content p{font-size:18px;font-size:clamp(15px,1.5vw,20px);line-height:1.7;margin-bottom:28px;text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);max-width:640px}
.slide-content.pos-center p{max-width:700px}
.slide-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 32px;border-radius:30px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand-dark),var(--brand));box-shadow:0 10px 28px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.25);transition:all .3s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.slide-cta:hover{background:linear-gradient(135deg,var(--brand),var(--brand-dark));transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.3)}
.slide-cta::after{content:"→";transition:.25s;display:inline-block}
.slide-cta:hover::after{transform:translateX(4px)}
/* 门店实景 overlay */
.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.hero-overlay.show{opacity:1;visibility:visible}
.hero-overlay::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(7,40,33,0) 35%,rgba(7,40,33,.35) 55%,rgba(7,40,33,.68) 100%);z-index:-1}
.hero-overlay .wrap{max-width:520px;margin-right:7%;text-align:right;transform:scale(0.85);transform-origin:center right}
.hero-carousel h1{color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.45);font-size:34px;font-size:clamp(28px,3.6vw,40px)}
.hero-carousel .slogan{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);font-size:20px;font-size:clamp(17px,2.2vw,22px);margin:8px 0 14px}
.hero-carousel .tag{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4);margin-bottom:12px}
.hero-carousel p.lead{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);font-size:15px;line-height:1.7;max-width:100%;margin:10px 0 18px}
.hero-carousel .cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.hero-carousel .cta .btn.ghost{color:#fff;border-color:#fff}
.hero-carousel .badges{justify-content:flex-end;margin-top:18px}
.hero-carousel .badges span{font-size:12px}
.hero-carousel .counters{gap:12px;margin-top:18px}
.hero-carousel .counter{padding:12px 8px}
.hero-carousel .counter .num{font-size:24px}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s}
.hero-arrow:hover{background:rgba(255,255,255,.32)}
.hero-arrow.prev{left:18px}
.hero-arrow.next{right:18px}
.hero-dots{position:absolute;right:22px;bottom:18px;z-index:3;display:flex;gap:9px}
.hero-dots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s}
.hero-dots .dot.active{background:#fff;width:26px;border-radius:6px}
@media(max-width:860px){
  .hero-carousel{height:420px}
  .hero-arrow{display:none}
  .slide-content{padding:0 6%}
  .slide-content.pos-left{padding-right:6%}
  .slide-content h2{font-size:29px;font-size:clamp(24px,6vw,34px)}
  .slide-content p{font-size:14px;margin-bottom:20px}
  .slide-cta{padding:11px 24px;font-size:14px}
  .hero-overlay{justify-content:center}
  .hero-overlay::before{background:linear-gradient(90deg,rgba(7,40,33,.55),rgba(7,40,33,.35) 100%)}
  .hero-overlay .wrap{max-width:100%;margin:0 6%;text-align:left}
  .hero-overlay .counters,.hero-overlay .badges{display:none}
  .hero-carousel .cta{justify-content:flex-start}
  .hero-carousel .badges{justify-content:flex-start}
}
.typewriter{min-height:1.4em;font-weight:700;color:#fff;font-size:19px;font-size:clamp(16px,2.4vw,22px);margin:4px 0 12px;text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35)}
.typewriter .cursor{display:inline-block;width:3px;height:1em;background:#fff;margin-left:3px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.counter{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:14px;padding:18px;text-align:center;backdrop-filter:blur(4px)}
.counter .num{font-size:30px;font-weight:800;color:#fff}
.counter .lab{font-size:13px;color:#eafffd;margin-top:4px}

section{padding:72px 0;position:relative;z-index:1}
.sec-head{text-align:center;margin-bottom:44px;animation:fadeInUp .7s both}
.sec-head h2{font-size:29px;font-size:clamp(24px,4vw,34px);position:relative;display:inline-block}
.sec-head h2:after{content:"";display:block;width:54px;height:4px;background:var(--brand);border-radius:3px;margin:14px auto 0}
.sec-head p{color:var(--muted);margin-top:12px}

/* 首页探索卡片 */
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.exp-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 24px;box-shadow:var(--shadow);transition:box-shadow .35s,transform .35s,border-color .35s;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:196px;color:var(--ink)}
.exp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),#7fe3ec);transform:scaleX(0);transform-origin:left;transition:.4s}
.exp-card:hover{box-shadow:0 16px 40px rgba(14,165,183,.16);border-color:rgba(14,165,183,.4);transform:translateY(-4px)}
.exp-card:hover::before{transform:scaleX(1)}
.exp-card .icon{font-size:40px;margin-bottom:16px;transition:.3s;line-height:1}
.exp-card:hover .icon{transform:scale(1.15) rotate(-5deg)}
.exp-card h3{color:var(--brand-dark);font-size:19px;margin-bottom:10px;font-weight:800;letter-spacing:.3px;line-height:1.35}
.exp-card p{color:var(--muted);font-size:14.5px;line-height:1.7;margin-bottom:auto}
.exp-card .link-hint{margin-top:18px;font-size:13px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px;transition:.25s;align-self:flex-start}
.exp-card .link-hint::after{content:"→";transition:.25s;display:inline-block}
.exp-card:hover .link-hint{color:var(--brand-dark);gap:10px}
.exp-card:hover .link-hint::after{transform:translateX(4px)}
/* 防御：确保卡片文字不被隐藏 */
.exp-card,.exp-card *{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* 图文特性区 */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:18px}
.feature img{width:100%;border-radius:18px;box-shadow:var(--shadow);transition:.4s}
.feature img:hover{transform:scale(1.03)}
.feature.rev .ft-img{order:2}
.ft-text h3{font-size:22px;color:var(--brand-dark);margin-bottom:12px}
.ft-text p{color:var(--muted);margin-bottom:10px}

.about-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:30px;align-items:center}
.about-grid p{color:var(--muted);margin-bottom:14px}
.qcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.qcard h4{color:var(--brand-dark);margin-bottom:12px}
.qcard ul{list-style:none;font-size:14.5px;color:var(--muted)}
.qcard li{padding:7px 0;border-bottom:1px dashed var(--line)}
.qcard li:last-child{border-bottom:none}
.qcard li:before{content:"·";color:var(--brand);font-weight:800;margin-right:8px}
/* 关于门诊·分板块设计 */
.about-intro{margin-top:6px}
.intro-quote{position:relative;background:linear-gradient(135deg,#f3fbfc,#eaf8fa);border:1px solid #d4eef1;border-left:5px solid var(--brand);border-radius:14px;padding:26px 32px 22px 56px;margin-bottom:22px}
.intro-quote .quote-mark{position:absolute;left:18px;top:6px;font-family:Georgia,'Times New Roman',serif;font-size:78px;line-height:1;color:var(--brand);opacity:.55;font-weight:700;user-select:none}
.intro-quote p{margin:0;font-size:16px;line-height:1.95;color:#345}
.intro-quote p b{color:var(--brand-dark);font-weight:700}
.intro-quote p .hl{display:inline-block;background:linear-gradient(180deg,transparent 60%,rgba(14,165,183,.22) 60%);color:var(--brand-dark);padding:0 3px;border-radius:2px}
.key-facts{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 0;margin-bottom:22px}
.key-facts .fact{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 26px;border-bottom:1px dashed var(--line);align-items:baseline}
.key-facts .fact:last-child{border-bottom:none}
.key-facts .fact-k{color:var(--brand-dark);font-size:13px;font-weight:700;letter-spacing:1px}
.key-facts .fact-v{color:#345;font-size:14.5px;font-weight:500}
.key-facts .fact-v a{color:var(--brand);font-weight:700}
.brand-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.brand-cell{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:14px;padding:22px 24px 20px;position:relative;transition:transform .25s,box-shadow .25s}
.brand-cell.alt{border-top-color:#e6b94a;background:linear-gradient(180deg,#fdfaf2,#fff)}
.brand-cell:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(14,165,183,.16)}
.brand-name{font-size:20px;color:var(--brand-dark);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:10px;letter-spacing:.5px}
.brand-cell.alt .brand-name{color:#a9852e}
.brand-cell .badge{display:inline-block;padding:3px 10px;border-radius:20px;background:linear-gradient(135deg,var(--brand),#4ec3d1);color:#fff;font-size:11px;font-weight:600;letter-spacing:1px}
.brand-cell.alt .badge{background:linear-gradient(135deg,#e6b94a,#d49b1c)}
.brand-cell p{margin:8px 0 0;font-size:14.5px;color:var(--muted);line-height:1.85}
.brand-cell p b{color:var(--brand-dark);font-weight:700}
.brand-cell .meta{margin-top:12px;font-size:13px;color:var(--muted);padding-top:10px;border-top:1px dashed var(--line)}
.brand-cell .meta b{color:var(--brand-dark)}
/* 常见问题 FAQ */
.faq-jump-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto 48px;max-width:980px}
.faq-jump{display:flex;align-items:center;gap:16px;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.faq-jump::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand);opacity:0;transition:.25s}
.faq-jump:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(14,165,183,.18);border-color:rgba(14,165,183,.4)}
.faq-jump:hover::before{opacity:1}
.faq-jump:hover .fj-arrow{background:var(--brand);color:#fff;transform:translateX(4px)}
.fj-icon{font-size:36px;flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(14,165,183,.10),rgba(78,195,209,.05));border-radius:14px;border:1px solid rgba(14,165,183,.12)}
.fj-body{flex:1;min-width:0}
.fj-title{font-size:17px;font-weight:700;color:var(--brand-dark);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fj-num{font-size:11px;font-weight:600;color:var(--brand);background:rgba(14,165,183,.10);padding:2px 8px;border-radius:10px;letter-spacing:.3px}
.fj-desc{font-size:13px;color:var(--muted);line-height:1.6}
.fj-arrow{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:rgba(14,165,183,.08);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;transition:.25s}
@media(max-width:880px){.faq-jump-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.env-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.env-gallery{grid-template-columns:1fr}}
@media(max-width:520px){.faq-jump-grid{grid-template-columns:1fr}.fj-icon{width:52px;height:52px;font-size:30px}}
.faq-cat{margin-bottom:48px;scroll-margin-top:90px}
.faq-cat-h{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--brand)}
.faq-cat-h .cat-icon{font-size:30px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(14,165,183,.1);border-radius:12px;flex-shrink:0}
.faq-cat-h .cat-title{font-size:21px;font-weight:800;color:var(--brand-dark);letter-spacing:.5px}
.faq-cat-h .cat-count{background:linear-gradient(135deg,var(--brand),#4ec3d1);color:#fff;border-radius:14px;padding:3px 12px;font-size:12px;font-weight:700;letter-spacing:.5px;margin-left:auto}
.faq-list{max-width:880px;margin:0 auto}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden;transition:.25s}
.faq-item:hover{border-color:rgba(14,165,183,.4);box-shadow:0 6px 20px rgba(14,165,183,.10)}
.faq-item details{width:100%}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 22px;font-size:16px;font-weight:600;color:var(--ink);transition:.2s}
.faq-item summary:hover{color:var(--brand-dark)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .faq-idx{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:28px;padding:0 10px;border-radius:8px;background:linear-gradient(135deg,var(--brand),#4ec3d1);color:#fff;font-size:13px;font-weight:800;flex-shrink:0;letter-spacing:.5px}
.faq-item summary:after{content:"+";margin-left:auto;font-size:24px;color:var(--brand);font-weight:300;transition:.25s;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(14,165,183,.08)}
.faq-item details[open] summary:after{content:"−";background:var(--brand);color:#fff}
.faq-item details[open] summary{border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(14,165,183,.03),transparent)}
.faq-a{padding:18px 22px 22px 72px;color:var(--muted);font-size:15px;line-height:1.9;background:#fafdfd}
.faq-a p{margin:0}
.faq-a strong{color:var(--brand-dark);font-weight:700}
.faq-cta{background:linear-gradient(135deg,#e9f6f8 0%,#fdfaf2 100%);border:1px solid var(--line);border-radius:18px;padding:36px 32px;margin-top:48px;text-align:center;position:relative;overflow:hidden}
.faq-cta::before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(14,165,183,.18),transparent 70%);border-radius:50%}
.faq-cta-inner{position:relative;z-index:1}
.faq-cta h3{font-size:24px;color:var(--brand-dark);margin-bottom:10px;font-weight:800;letter-spacing:.5px}
.faq-cta p{color:var(--muted);font-size:15px;margin-bottom:22px}
.faq-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.about-stat{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:linear-gradient(135deg,#eafafc,#d6f1f6);border-radius:14px;padding:18px 14px;margin-top:18px;border:1px solid #c8e9ef}
.about-stat .item{text-align:center;padding:6px 4px;border-right:1px dashed #b8dde3}
.about-stat .item:last-child{border-right:none}
.about-stat .num{font-size:24px;font-weight:800;color:var(--brand-dark);letter-spacing:-1px;line-height:1}
.about-stat .lab{font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:.5px}
.board{margin-top:24px}
.board-h{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.board-h .idx{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--brand),#4ec3d1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;box-shadow:0 6px 20px rgba(14,165,183,.28);letter-spacing:-.5px}
.board-h h3{font-size:22px;color:var(--brand-dark);margin:0;letter-spacing:.5px}
.board-tag{color:var(--muted);font-size:13.5px;font-weight:500;margin:0 0 22px 60px;letter-spacing:.5px}
.partner-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.partner-row .pcard{background:linear-gradient(180deg,var(--card),#f4fbfc);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:14px;transition:.3s}
.partner-row .pcard:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow)}
.partner-row .pcard .pic{width:48px;height:48px;flex:0 0 48px;background:linear-gradient(135deg,#fff,#eafafc);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;border:1px solid var(--line)}
.partner-row .pcard h5{font-size:15px;color:var(--brand-dark);margin-bottom:2px;font-weight:700}
.partner-row .pcard p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.55}
.badge-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.badge-row .b{background:#eafafc;color:var(--brand-dark);border-radius:8px;padding:6px 13px;font-size:13px;font-weight:600;border:1px solid #cde8ec;letter-spacing:.3px}
.badge-row .b.dark{background:linear-gradient(135deg,var(--brand),#4ec3d1);color:#fff;border-color:transparent}
.expert-row{margin-top:18px;padding:16px 20px;background:linear-gradient(135deg,#f0fbfc,#fff);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:14px}
.expert-row .eico{width:44px;height:44px;flex:0 0 44px;background:linear-gradient(135deg,#fff5e6,#ffe8c2);border:1px solid #f8d8a1;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#b8700b}
.expert-row p{margin:0;font-size:14px;color:var(--muted);line-height:1.7}
.expert-row p b{color:var(--brand-dark)}
.tech-stack{margin-top:14px}
.tech-stack .item{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:20px 0;border-bottom:1px dashed var(--line)}
.tech-stack .item:last-child{border-bottom:none}
.tech-stack .item .tagname{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff5e6,#ffe8c2);color:#b8700b;font-weight:800;font-size:15px;padding:10px 14px;border-radius:10px;height:fit-content;border:1px solid #f8d8a1;letter-spacing:.5px;text-align:center;line-height:1.4}
.tech-stack .item .tagname.tech{background:linear-gradient(135deg,#e8f4ff,#d2e8ff);color:#1c6fd6;border-color:#b8d6f7}
.tech-stack .item .tagname.opt{background:linear-gradient(135deg,#f3e8ff,#e3d2ff);color:#6b3fad;border-color:#cfb8f0}
.tech-stack .detail h6{font-size:16px;color:var(--brand-dark);margin-bottom:6px;font-weight:700}
.tech-stack .detail p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}
.tech-stack .detail .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.tech-stack .detail .chips span{background:#fff;border:1px solid var(--line);color:var(--brand-dark);padding:4px 11px;border-radius:14px;font-size:12.5px;font-weight:600}
.vision-card{background:linear-gradient(135deg,#0d3a52 0%,#0e6491 60%,#1b8aab 100%);color:#fff;border-radius:18px;padding:38px 44px;position:relative;overflow:hidden;text-align:center;box-shadow:0 18px 48px rgba(14,100,145,.28)}
.vision-card::before{content:"";position:absolute;top:0;right:0;width:260px;height:260px;background:radial-gradient(circle,rgba(255,255,255,.12) 0,transparent 70%);border-radius:50%;transform:translate(40%,-40%)}
.vision-card::after{content:"";position:absolute;bottom:0;left:0;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.08) 0,transparent 70%);border-radius:50%;transform:translate(-40%,40%)}
.vision-card .vision-tag{display:inline-block;background:rgba(255,255,255,.18);padding:5px 18px;border-radius:20px;font-size:13px;letter-spacing:3px;font-weight:600;margin-bottom:20px;position:relative;z-index:1}
.vision-card .quote{font-size:26px;font-weight:800;letter-spacing:3px;line-height:1.5;margin:0 auto 22px;max-width:740px;position:relative;z-index:1}
.vision-card .quote::before{content:"C";font-family:Georgia,serif;color:rgba(255,255,255,.32);font-size:64px;position:absolute;top:-30px;left:-12px;line-height:1}
.vision-card .quote::after{content:"D";font-family:Georgia,serif;color:rgba(255,255,255,.32);font-size:64px;position:absolute;bottom:-50px;right:-12px;line-height:1}
.vision-card p{font-size:15px;line-height:1.95;color:rgba(255,255,255,.88);max-width:720px;margin:0 auto;position:relative;z-index:1}
/* 门诊环境画廊 */
.env-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.env-cell{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:.35s}
.env-cell:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(14,165,183,.18);border-color:var(--brand)}
.env-cell img{width:100%;height:200px;object-fit:cover;display:block;transition:.4s}
.env-cell:hover img{transform:scale(1.05)}
.env-cap{padding:13px 16px;font-size:14px;color:var(--ink);line-height:1.5}
.env-cap b{display:block;color:var(--brand-dark);font-size:14.5px;margin-bottom:3px}
.env-cap span{display:block;color:var(--muted);font-size:13px}
.welfare-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.welfare-mini .w{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 14px;text-align:center;transition:.3s}
.welfare-mini .w:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow)}
.welfare-mini .w .e{font-size:30px;margin-bottom:10px;display:block}
.welfare-mini .w h6{font-size:14px;color:var(--brand-dark);margin-bottom:5px;font-weight:700}
.welfare-mini .w p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.55}
@media(max-width:880px){
  .about-intro,.partner-row,.tech-stack .item{grid-template-columns:1fr}
  .about-stat{grid-template-columns:1fr 1fr}
  .about-stat .item:nth-child(2){border-right:none}
  .about-stat .item{border-bottom:1px dashed #b8dde3;padding:8px 4px}
  .welfare-mini{grid-template-columns:1fr 1fr}
  .vision-card{padding:30px 22px}
  .vision-card .quote{font-size:21px;letter-spacing:1px}
  .board-tag{margin-left:0}
  .board-h h3{font-size:18px}
}

.dual{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.brand{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow);transition:.3s}
.brand:hover{transform:translateY(-5px)}
.brand.med{border-top:4px solid var(--brand)}
.brand.health{border-top:4px solid #f0a93b}
.brand h3{font-size:19px;margin-bottom:6px}
.brand .sub{font-size:13px;color:var(--muted);margin-bottom:14px}
.brand ul{list-style:none;font-size:14.5px;color:var(--muted)}
.brand li{padding:6px 0 6px 22px;position:relative}
.brand li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.brand.health li:before{content:"✓";color:#f0a93b}
.sep{background:#fff8ef;border-left:4px solid #f0a93b;border-radius:8px;padding:14px 16px;margin-top:22px;font-size:14.5px;color:#8a5a16}

.scope{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);transition:.3s}
.sc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(14,165,183,.12)}
.sc h3{color:var(--brand-dark);font-size:17px;margin-bottom:8px}
.sc p{color:var(--muted);font-size:14.5px}

.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.irc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);text-align:center;transition:.3s}
.irc:hover{transform:translateY(-5px)}
.irc .day{font-size:20px;font-weight:800;color:var(--brand-dark)}
.irc p{color:var(--muted);font-size:14px;margin-top:6px}
.doc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.doc .d{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);transition:.3s}
.doc .d:hover{transform:translateY(-4px)}
.doc .d b{color:var(--brand-dark)}
.doc .d p{color:var(--muted);font-size:14px;margin-top:6px}

/* 单卡医师介绍（关于门诊顶部的"医师代表"模块） */
.doc-single{max-width:720px;margin:8px auto 0;display:flex;flex-direction:column;gap:14px}
.doc-single .d{position:relative;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);transition:.3s}
.doc-single .d:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(14,165,183,.10)}
.doc-single .d .name{font-size:18px;font-weight:800;color:var(--brand-dark);letter-spacing:.5px;margin-bottom:6px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.doc-single .d .name .role{font-weight:600;font-size:14.5px;color:var(--muted)}
.doc-single .d .name .role::before{content:"·";margin-right:6px;color:var(--brand);font-weight:800}
.doc-single .d p{color:var(--muted);font-size:14.5px;line-height:1.75}
.doc-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--brand-dark);font-size:14px;text-decoration:none;font-weight:600}
.doc-more:hover{color:var(--brand)}
.doc-more::after{content:"→";transition:.2s}
.doc-more:hover::after{transform:translateX(3px)}

.science{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.science p{color:var(--muted);margin-bottom:12px}
.table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.table th,.table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.table th{background:#eafafc;color:var(--brand-dark)}
.table td:first-child{color:#c0392b;font-weight:600}
.table td:last-child{color:var(--ok);font-weight:600}

.equip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eq{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);transition:.3s}
.eq:hover{transform:translateY(-5px)}
.eq h3{color:var(--brand-dark);font-size:16px;margin-bottom:8px}
.eq p{color:var(--muted);font-size:14px}
.equip-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.dev-card{display:flex;align-items:stretch;gap:0;background:#f0f8fa;border:1px solid #d6eef2;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.dev-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(14,165,183,.16)}
.dev-img{flex:0 0 38%;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;min-height:220px}
.dev-img img{max-width:100%;max-height:200px;object-fit:contain}
.dev-body{flex:1;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.dev-tag{display:inline-block;background:var(--brand);color:#fff;font-size:11px;font-weight:600;letter-spacing:1px;padding:3px 10px;border-radius:10px;margin-bottom:10px;align-self:flex-start}
.dev-h{font-size:18px;color:#1d6e7a;font-weight:800;margin-bottom:10px;line-height:1.4}
.dev-h .dev-brand{font-weight:600;color:var(--brand);font-size:13px;background:rgba(14,165,183,.1);padding:2px 8px;border-radius:8px;margin-left:6px;vertical-align:middle}
.dev-p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:12px}
.dev-feats{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.dev-feats li{background:#fff;border:1px solid #d6eef2;color:#1d6e7a;font-size:12px;padding:4px 10px;border-radius:14px;font-weight:600}
@media(max-width:880px){.equip-v2{grid-template-columns:1fr}.dev-card{flex-direction:column}.dev-img{flex:0 0 auto;min-height:180px}.dev-img img{max-height:160px}}

.welfare{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.wf{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);transition:.3s}
.wf:hover{transform:translateY(-4px)}
.wf h3{color:var(--brand-dark);font-size:17px;margin-bottom:10px}
.wf p{color:var(--muted);font-size:14.5px}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
a.case{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:.35s;display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:inherit}
a.case:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(14,165,183,.16);border-color:var(--brand)}
.case-img{width:100%;height:170px;overflow:hidden;position:relative;background:#eafafc}
.case-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.case:hover .case-img img{transform:scale(1.06)}
.case-img.placeholder{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--brand);font-size:13px;line-height:1.5;padding:16px;background:linear-gradient(135deg,#eafafc,#e0f7fa)}
.case-img.placeholder span{background:rgba(255,255,255,.85);padding:10px 14px;border-radius:10px;border:1.5px dashed var(--brand)}
.case-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.case .date{display:inline-block;background:#eafafc;color:var(--brand-dark);border-radius:20px;padding:3px 11px;font-size:12px;font-weight:600;margin-bottom:10px;width:fit-content}
.case h4{color:var(--brand-dark);font-size:15.5px;margin-bottom:8px;line-height:1.45}
.case p{color:var(--muted);font-size:13.5px;margin-bottom:6px}
.case .part{color:#8aa9b0;font-size:12.5px;margin-top:auto;padding-top:8px}
.case-link{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-size:12.5px;font-weight:600;margin-top:10px}
.case-link:hover{color:var(--brand-dark)}

.contact{display:grid;grid-template-columns:1fr 1.25fr;gap:28px}
@media(max-width:860px){.contact{grid-template-columns:1fr}}
.info,.loc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px;box-shadow:var(--shadow)}
.ct-title{font-size:18px;font-weight:700;color:var(--brand-dark);margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line);display:flex;align-items:center;gap:8px}
.ct-pin{font-size:20px;line-height:1}
.info .row{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.info .row:last-child{border:none}
.info .row .k{color:var(--brand-dark);font-weight:700;min-width:96px}
.info .row .v{color:var(--muted);flex:1}
.info a.phone{color:var(--brand);font-weight:700}

/* 到院位置地图卡 */
.loc .map-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 10px rgba(14,165,183,.10);min-height:200px}
.loc .map-frame img{display:block;width:100%;height:auto;height:auto;aspect-ratio:16/11;object-fit:cover;background:#eef7f8}
.loc .loc-map-embed{position:relative;width:100%;height:100%}
.loc .loc-map-embed img.loc-map-fallback-img{width:100%;height:auto;height:auto;aspect-ratio:16/11;object-fit:cover;display:block}
.loc .loc-map-embed>div{width:100%!important;height:100%!important}
.loc .loc-tip{font-size:13px;color:#567;line-height:1.75;margin:14px 0 16px}
.loc .loc-tip b{color:var(--brand-dark)}
.loc .loc-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media(max-width:420px){.loc .loc-actions{grid-template-columns:1fr}}
.nav-btn{display:flex;flex-direction:column;gap:2px;align-items:center;padding:11px 6px;border-radius:10px;text-decoration:none;color:#fff;font-size:13px;line-height:1.35;transition:.2s;border:none;cursor:pointer}
.nav-btn b{font-size:14px;font-weight:700;letter-spacing:.5px}
.nav-btn span{opacity:.88;font-size:11.5px}
.nav-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.nav-amap{background:#1c6fd6}
.nav-amap:hover{background:#1680dd}
.nav-baidu{background:#3385ff}
.nav-baidu:hover{background:#1c6eea}

/* 客服二维码子区块(嵌入 .loc 内部,在导航按钮下方) */
.loc-photo{margin-top:20px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.loc-photo img{width:100%;height:210px;object-fit:cover;display:block}
.loc-photo-cap{padding:11px 16px;font-size:13.5px;color:var(--muted);background:#f7fdfe;border-top:1px solid var(--line)}
.qr-sub{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center;margin-top:20px;padding-top:20px;border-top:1px dashed var(--line)}
@media(max-width:480px){.qr-sub{grid-template-columns:1fr;text-align:center;justify-items:center}}
.qr-sub-img{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 2px 8px rgba(14,165,183,.08)}
.qr-sub-img img{display:block;width:124px;height:124px;border-radius:8px;object-fit:contain}
.qr-sub-body h4{color:var(--brand-dark);font-size:16px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.qr-sub-body h4::before{content:"💬";font-size:15px}
.qr-sub-body p{color:var(--muted);font-size:13.5px;line-height:1.75;margin-bottom:6px}
.qr-sub-body p strong{color:var(--brand-dark)}
.qr-sub-tip{background:#f5fbfc;border:1px solid #d3edf1;border-left:3px solid var(--brand);border-radius:8px;padding:8px 11px;font-size:12.5px;color:#345;margin-top:6px}

.qr .box{width:170px;height:170px;margin:0 auto 14px;border:2px dashed var(--brand);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:13px;text-align:center;background:#f1fbfc}
.qr p{color:var(--muted);font-size:14px}
.qr img.qr-img{width:170px;height:170px;border-radius:12px;object-fit:cover;margin:0 auto 14px;display:block}

.disclaimer{background:#fff5f4;border:1.5px solid #f5a09c;border-left:5px solid #e35d52;border-radius:10px;padding:18px 22px;font-size:14px;color:#c0392b;margin-top:30px;line-height:1.75;box-shadow:0 2px 10px rgba(227,93,82,.06)}
.disclaimer b{color:#c0392b}
.disclaimer::before{content:"⚠️";margin-right:8px;font-size:16px;vertical-align:-2px}

/* 诊疗科目卡片：可点击进入二级详情 */
a.sc{display:block;color:inherit;text-decoration:none;cursor:pointer;position:relative;border-left:4px solid var(--brand);padding:22px 22px 20px}
a.sc:hover{border-left-color:var(--brand-dark);background:#fafefe}
a.sc h3{color:var(--brand-dark);font-size:17px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
a.sc h3:before{content:"🩺";font-size:18px}
a.sc p{color:var(--muted);font-size:14.5px;line-height:1.7}
a.sc .more{display:inline-block;margin-top:12px;font-size:13.5px;color:var(--brand);font-weight:600;transition:transform .25s,color .25s}
a.sc:hover .more{color:var(--brand-dark);transform:translateX(4px)}

/* 二级详情页（service.html） */
.scope-detail-hero{background:linear-gradient(135deg,#0b7f8d 0%,#0ea5b7 100%);color:#fff;padding:48px 0 36px}
.scope-detail-hero .wrap{position:relative}
.scope-detail-hero .back-link{display:inline-block;color:#b8eef3;font-size:14px;text-decoration:none;margin-bottom:14px;padding:6px 14px;border:1px solid rgba(255,255,255,.18);border-radius:20px;transition:.25s}
.scope-detail-hero .back-link:hover{background:rgba(255,255,255,.10);color:#fff}
.scope-detail-hero .kicker{display:inline-block;background:rgba(255,255,255,.16);padding:4px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:12px}
.scope-detail-hero h1{font-size:35px;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.2;margin-bottom:10px}
.scope-detail-hero .sub{opacity:.92;font-size:16px;max-width:760px}

.detail-layout{display:grid;grid-template-columns:240px 1fr;gap:34px;padding:40px 0;align-items:start}
.detail-side{position:sticky;top:88px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:var(--shadow)}
.detail-side h3{font-size:14px;color:var(--brand-dark);margin-bottom:12px;font-weight:700;letter-spacing:1px}
.detail-nav{list-style:none;padding:0;margin:0}
.detail-nav li{margin:0}
.detail-nav a{display:block;padding:10px 12px;font-size:14px;color:var(--muted);text-decoration:none;border-radius:9px;transition:.2s;border-left:3px solid transparent}
.detail-nav a:hover{background:#f0fafb;color:var(--brand-dark)}
.detail-nav a.active{background:#e9f6f8;color:var(--brand-dark);border-left-color:var(--brand);font-weight:600}
.detail-tip{margin-top:14px;padding:11px 12px;background:#fff7e0;border:1px solid #f0d693;border-radius:10px;font-size:12.5px;color:#8a5a16;line-height:1.6}

.detail-content{min-width:0}
.svc-panel{display:none;animation:fadeInUp .55s both;scroll-margin-top:90px}
.svc-panel.active{display:block}
.svc-panel > *{margin-bottom:24px}
.svc-overview{background:#f0fafb;border:1px solid #d3edf1;border-left:5px solid var(--brand);border-radius:14px;padding:24px 28px}
.svc-overview h2{color:var(--brand-dark);font-size:20px;margin-bottom:10px;font-weight:700}
.svc-overview p{color:#345;font-size:15.5px;line-height:1.85}

.svc-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hi-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 18px;text-align:center;box-shadow:var(--shadow);transition:.3s}
.hi-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(14,165,183,.10);border-color:var(--brand)}
.hi-ico{font-size:36px;margin-bottom:10px;display:block}
.hi-card h4{color:var(--brand-dark);font-size:16px;margin-bottom:6px;font-weight:700}
.hi-card p{color:var(--muted);font-size:13.5px;line-height:1.65}

.svc-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.svc-info-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 22px 24px;box-shadow:var(--shadow)}
.svc-info-col h3{font-size:16px;color:var(--brand-dark);margin-bottom:12px;font-weight:700;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.svc-list{list-style:none;padding:0;margin:0}
.svc-list li{padding:8px 0 8px 22px;position:relative;font-size:14px;color:#345;line-height:1.7;border-bottom:1px dashed #f0f0f0}
.svc-list li:last-child{border-bottom:0}
.svc-list li:before{content:"✓";position:absolute;left:0;top:9px;color:var(--brand);font-weight:800}
.svc-steps{list-style:none;padding:0;margin:0;counter-reset:step}
.svc-steps li{display:flex;gap:11px;padding:9px 0;align-items:flex-start;font-size:14px;color:#345;line-height:1.7;border-bottom:1px dashed #f0f0f0}
.svc-steps li:last-child{border-bottom:0}
.svc-steps .dot{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:13px}
.svc-notes{list-style:none;padding:0;margin:0}
.svc-notes li{padding:7px 0 7px 26px;position:relative;font-size:13.5px;color:#345;line-height:1.7;background:#fff8ef;border-left:3px solid #f3d9a8;border-radius:6px;padding:9px 12px 9px 32px;margin-bottom:8px}
.svc-notes li:before{content:"!";position:absolute;left:9px;top:9px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#f3b13b;color:#fff;font-weight:800;font-size:11px;line-height:1}
.svc-notes li:last-child{margin-bottom:0}

.svc-faqs{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:var(--shadow)}
.svc-faqs h3{color:var(--brand-dark);font-size:18px;margin-bottom:16px;font-weight:700;padding-bottom:10px;border-bottom:1px dashed var(--line)}

.svc-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:18px 0 6px}

@media(max-width:860px){
  .detail-layout{grid-template-columns:1fr;gap:18px}
  .detail-side{position:static}
  .svc-highlights{grid-template-columns:1fr;gap:14px}
  .svc-info{grid-template-columns:1fr;gap:14px}
}


footer{background:var(--ink);color:#bcd3d8;padding:34px 0;font-size:13.5px;position:relative;z-index:1}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
footer a{color:#7fe3ec}

/* 健康科普文章（手风琴 FAQ） */
.kepu-hero{text-align:center;padding:60px 0 30px;animation:fadeInUp .6s both}
.kepu-hero h1{font-size:38px;font-size:clamp(30px,5vw,46px);position:relative;display:inline-block}
.kepu-hero h1:after{content:"";display:block;width:54px;height:4px;background:var(--brand);border-radius:3px;margin:14px auto 0}
.kepu-hero .sub{color:var(--muted);margin-top:16px;font-size:15.5px}
.kepu-list{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.article{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .35s,border-color .35s}
.article:hover{box-shadow:0 10px 28px rgba(14,165,183,.10);border-color:var(--brand)}
.article summary{cursor:pointer;padding:22px 24px;font-weight:700;font-size:17px;color:var(--brand-dark);list-style:none;display:flex;align-items:center;gap:14px;user-select:none;position:relative;transition:background .25s}
.article summary:hover{background:rgba(14,165,183,.04)}
.article summary::-webkit-details-marker{display:none}
.article summary:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;flex:none;transition:transform .35s cubic-bezier(.4,1.6,.6,1),background .25s;font-size:18px;line-height:1;box-shadow:0 2px 8px rgba(14,165,183,.30)}
.article summary:hover:before{transform:rotate(90deg) scale(1.08);background:var(--brand-dark)}
.article[open] summary:before{content:"−";background:var(--brand-dark)}
.article[open] summary{border-bottom:1px solid var(--line)}
.k-tag{display:inline-block;background:#eafafc;color:var(--brand-dark);border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:12.5px;font-weight:600;white-space:nowrap;flex:none}
.k-body{padding:24px 26px 28px;color:var(--muted);font-size:15px;line-height:1.85;animation:fadeInUp .45s both}
.k-body h4{color:var(--brand-dark);margin:18px 0 8px;font-size:15.5px;position:relative;padding-left:12px}
.k-body h4:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--brand);border-radius:2px}
.k-body p{margin-bottom:10px}
.k-body ul{margin:8px 0 12px 22px;padding-left:8px}
.k-body li{margin:7px 0}
.k-note{background:#fff8ef;border:1px solid #f3d9a8;border-left:3px solid #f0a93b;border-radius:9px;padding:12px 16px;font-size:13.5px;color:#8a5a16;margin-top:14px;line-height:1.7}
.k-note b{color:#8a5a16}
.k-body img{width:100%;border-radius:12px;margin:18px 0;box-shadow:0 4px 20px rgba(0,0,0,.08);display:block}
.k-hero-img{height:auto;aspect-ratio:16/9;object-fit:cover}
.k-body .k-note a{color:var(--brand-dark);text-decoration:underline}

/* 滚动渐入 */
.reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* 3D 倾斜 */
.tilt{transition:transform .15s ease-out;transform-style:preserve-3d;will-change:transform}

/* 涟漪 */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:rippleAnim .6s linear;pointer-events:none}
@keyframes rippleAnim{to{transform:scale(4);opacity:0}}

/* 页面载入错落 */
main>*{animation:fadeInUp .7s both}
main>*:nth-child(1){animation-delay:.05s}
main>*:nth-child(2){animation-delay:.12s}
main>*:nth-child(3){animation-delay:.19s}

@media(max-width:860px){
  .menu{position:fixed;top:64px;left:0;right:0;background:#f4fbfc;flex-direction:column;gap:0;padding:0 20px;max-height:0;overflow:hidden;transition:.35s;border-bottom:1px solid var(--line);align-items:stretch}
  .menu.open{max-height:520px;padding:8px 20px 18px;box-shadow:0 20px 40px rgba(0,0,0,.08)}
  .menu a{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
  .burger{display:flex}
  .about-grid,.dual,.scope,.science,.contact,.doc,.info-row,.equip,.welfare,.cases,.explore-grid,.feature,.counters{grid-template-columns:1fr}
  .feature.rev .ft-img{order:0}
  .brand-split{grid-template-columns:1fr;gap:12px}
  .key-facts .fact{grid-template-columns:96px 1fr;padding:11px 18px}
  .intro-quote{padding:22px 24px 18px 48px}
  .intro-quote .quote-mark{font-size:62px;left:14px}
}
@media(max-width:560px){
}
@media(max-width:480px){
  .key-facts .fact{grid-template-columns:1fr;gap:2px}
  .key-facts .fact-k{font-size:11.5px}
  .key-facts .fact-v{font-size:13.5px}
}

/* ===== 老浏览器兜底 ===== */
/* 不支持 flex gap 时，用子项外边距还原间距（Chromium 84- / 部分麒麟内置浏览器） */
@supports not (gap: 1px) {
  .cta > * + *, .badges > * + *, .hero-dots > * + * { margin-left: 12px; }
  .slide-cta { margin-left: 0 !important; }
  .exp-card, .sc, .eq, .brand, .case, .wf, .irc, .d, .qcard { margin: 10px; }
  .feature, .ft-text, .sci-card, .vision-card { margin-bottom: 18px; }
}
/* 不支持 CSS 变量时的主要文字色兜底 */
:root { --brand-dark: #0a3d91; --brand: #16b7c9; }

/* 老浏览器无 IntersectionObserver 时，数字滚动不执行；
   HTML 内已写入真实数值，此处仅确保不被裁剪 */
.counter .num { min-width: 2ch; display: inline-block; }

/* ===== 内联 SVG 图标（替换 emoji，不依赖系统字体，银河麒麟/信创环境可用） ===== */
svg.ic{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex:none;overflow:visible}
/* 图标着色：沿用品牌青，替代原彩色 emoji */
.exp-card .icon svg.ic,
.partner-row .pcard .pic svg.ic,
.welfare-mini .w .e svg.ic,
.fj-icon svg.ic,
.faq-cat-h .cat-icon svg.ic,
.ct-pin svg.ic,
.hy-mod-head .emo svg.ic,
.hy-badge svg.ic{color:var(--brand,#16b7c9)}
/* 按钮内图标与文字对齐 */
.btn svg.ic{margin-right:.35em;vertical-align:-.2em}
/* 老浏览器不支持 transform 于 svg 时降级 */
.exp-card:hover .icon svg.ic{opacity:.85}
