/* ==========================================================================
   Sunway Fertility Centre — main.css
   设计系统：品牌粉 #E91E63 / 高端国际化 / 医疗蓝灰中性色
   ========================================================================== */

:root{
  --pink:#E91E63;
  --pink-600:#D8155A;
  --pink-700:#AD1457;
  --pink-50:#FDF3F7;
  --pink-100:#FBE0EB;

  --teal:#00796B;
  --teal-50:#E8F5F3;

  --ink:#16202B;
  --ink-2:#3C4A57;
  --gray:#5C6875;
  --mute:#8A9AA8;
  --line:#E7EBEF;
  --line-soft:#F1F4F7;

  --bg:#FFFFFF;
  --bg-2:#F8FAFB;
  --bg-3:#F4F6F8;

  --sh-sm:0 1px 2px rgba(22,32,43,.05), 0 4px 14px rgba(22,32,43,.05);
  --sh-md:0 2px 6px rgba(22,32,43,.05), 0 16px 40px rgba(22,32,43,.08);
  --sh-lg:0 4px 10px rgba(22,32,43,.06), 0 28px 60px rgba(22,32,43,.12);

  --r-sm:10px;
  --r:16px;
  --r-lg:24px;

  --wrap:1200px;
  --header-h:80px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",sans-serif;
  font-size:16px;line-height:1.75;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
h1,h2,h3,h4,h5,p,figure{margin:0}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:4px}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--pink);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ---------- 通用排版 ---------- */
.eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.16em;
  color:var(--pink);text-transform:uppercase;margin-bottom:14px;
}
.sec-head{max-width:760px;margin-bottom:52px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-title{
  font-size:38px;line-height:1.28;font-weight:800;letter-spacing:-.01em;color:var(--ink);
}
.sec-title em{font-style:normal;color:var(--pink)}
.sec-sub{margin-top:16px;font-size:16.5px;color:var(--gray);line-height:1.8}
.section{padding:96px 0}
.section.tight{padding:72px 0}
.section.bg-2{background:var(--bg-2)}
.section.bg-pink{background:var(--pink-50)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:48px;padding:0 26px;border-radius:999px;
  font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  transition:background .22s var(--ease),color .22s var(--ease),
             transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s;
}
.btn svg{width:17px;height:17px;flex:none}
.btn-primary{background:var(--pink);color:#fff;box-shadow:0 6px 18px rgba(233,30,99,.26)}
.btn-primary:hover{background:var(--pink-600);transform:translateY(-1px);box-shadow:0 10px 26px rgba(233,30,99,.32)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-outline{border:1.5px solid var(--line);color:var(--ink);background:#fff}
.btn-outline:hover{border-color:var(--pink);color:var(--pink)}
.btn-sm{height:42px;padding:0 20px;font-size:14px}

.link-arrow{
  display:inline-flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;
  color:var(--pink);transition:gap .2s var(--ease);
}
.link-arrow svg{width:15px;height:15px;transition:transform .2s var(--ease)}
.link-arrow:hover{gap:11px}
.link-arrow:hover svg{transform:translateX(2px)}

/* ==========================================================================
   顶部信息栏
   ========================================================================== */
.topbar{
  background:linear-gradient(96deg,#E25079 0%,#F06086 52%,#F57C97 100%);
  color:rgba(255,255,255,.97);font-size:13px;border-bottom:1px solid #D8486F;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:40px;gap:20px}
.topbar-left{display:flex;align-items:center;gap:24px}
.topbar-item{display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.topbar-item:hover{color:#fff}
.topbar-item svg{width:14px;height:14px;opacity:.9;flex:none}
.topbar-right{display:flex;align-items:center;gap:22px}
.topbar-link{color:rgba(255,255,255,.95);transition:color .2s}
.topbar-link:hover{color:#fff}
.topbar-cta{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.topbar-cta::after{content:"";width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}

.lang{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.46);border-radius:999px;overflow:hidden;font-size:12.5px;background:rgba(255,255,255,.13)}
.lang a,.lang span{padding:2px 11px;line-height:20px;color:rgba(255,255,255,.9);transition:.2s}
.lang .is-active{background:#fff;color:#E25079;font-weight:700}

/* ==========================================================================
   主导航
   ========================================================================== */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line-soft);
  transition:box-shadow .28s var(--ease),border-color .28s;
}
.site-header.is-stuck{box-shadow:0 6px 24px rgba(22,32,43,.07);border-color:transparent}
.header-inner{display:flex;align-items:center;gap:28px;height:var(--header-h)}

.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo img{height:62px;width:auto}
.logo-text{display:none}
.logo-text strong{display:block;font-size:15.5px;font-weight:800;line-height:1.25;letter-spacing:.02em;color:var(--ink)}
.logo-text span{display:block;font-size:10.5px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;line-height:1.5}

.nav{flex:1;min-width:0}
.nav > ul{display:flex;align-items:center;justify-content:flex-end;gap:0}
.nav > ul > li{position:relative}
.nav > ul > li > a{
  display:flex;align-items:center;gap:4px;height:var(--header-h);padding:0 10px;
  font-size:15px;font-weight:500;color:var(--ink-2);white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.nav > ul > li > a:hover,
.nav > ul > li.is-active > a{color:var(--pink);border-bottom-color:var(--pink)}
.nav .caret{width:9px;height:9px;opacity:.45;transition:transform .2s;flex:none}
.nav > ul > li:hover .caret{transform:rotate(180deg);opacity:.8}

.dropdown{
  position:absolute;top:100%;left:50%;transform:translate(-50%,10px);
  min-width:196px;padding:9px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--sh-md);
  opacity:0;visibility:hidden;transition:.22s var(--ease);
}
.nav > ul > li:hover .dropdown,
.nav > ul > li:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dropdown a{
  display:block;padding:9px 14px;border-radius:8px;
  font-size:14.5px;color:var(--ink-2);white-space:nowrap;transition:.16s;
}
.dropdown a:hover{background:var(--pink-50);color:var(--pink-700);padding-left:18px}

.header-actions{display:flex;align-items:center;gap:14px;flex:none}
.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:10px}
.nav-toggle svg{width:22px;height:22px}

/* ==========================================================================
   Banner 轮播
   ========================================================================== */
.hero{
  position:relative;height:clamp(560px,74vh,740px);overflow:hidden;background:var(--ink);
}
.hero-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .9s var(--ease),visibility .9s;
}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.06);
  transition:transform 8s linear;
}
.hero-slide.is-active .hero-media img{transform:scale(1)}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(96deg,rgba(9,16,24,.86) 0%,rgba(9,16,24,.66) 38%,rgba(9,16,24,.24) 68%,rgba(9,16,24,.1) 100%),
    linear-gradient(to top,rgba(9,16,24,.72) 0%,rgba(9,16,24,.28) 30%,transparent 55%);
}
.hero-inner{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-copy{max-width:660px;color:#fff;padding:40px 0}
.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 16px 7px 10px;border-radius:999px;margin-bottom:26px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
  font-size:13px;font-weight:600;letter-spacing:.04em;
}
.hero-badge svg{width:15px;height:15px;color:#FFC1D6}
.hero-badge strong{font-weight:800;color:#fff}
.hero-title{
  font-size:clamp(32px,4.1vw,54px);line-height:1.24;font-weight:800;
  letter-spacing:-.015em;text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.hero-title-sub{
  display:block;margin-top:12px;
  font-size:clamp(17px,2vw,26px);line-height:1.42;font-weight:700;
  letter-spacing:0;color:rgba(255,255,255,.94);
}
.hero-sub{
  margin-top:20px;font-size:clamp(15px,1.25vw,17.5px);line-height:1.78;
  color:rgba(255,255,255,.86);max-width:560px;
}
.hero-sub strong{font-weight:800;color:#fff}
.hero-figures{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:30px}
.hero-figure{display:flex;align-items:baseline;gap:8px;font-size:14.5px;color:rgba(255,255,255,.78)}
.hero-figure b{font-size:23px;font-weight:800;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.hero-figure span{font-size:13px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

.hero-nav{
  position:absolute;left:0;right:0;bottom:30px;z-index:3;
}
.hero-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:96px}
.hero-dots{display:flex;align-items:center;gap:9px}
.hero-dot{
  width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.32);
  transition:.3s var(--ease);position:relative;overflow:hidden;
}
.hero-dot.is-active{width:64px;background:rgba(255,255,255,.36)}
.hero-dot.is-active::after{
  content:"";position:absolute;inset:0;background:#fff;transform-origin:left;
  animation:dotfill 6.5s linear forwards;
}
@keyframes dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.hero-note{
  display:flex;align-items:center;gap:9px;font-size:12.5px;color:rgba(255,255,255,.72);
  text-shadow:0 1px 10px rgba(0,0,0,.6);
}
.hero-note svg{width:14px;height:14px;flex:none;opacity:.8}

/* ==========================================================================
   数据大字报
   ========================================================================== */
.stats{background:#fff;border-bottom:1px solid var(--line-soft)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.stat{
  padding:44px 20px 40px;text-align:center;position:relative;
}
.stat + .stat::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:46px;background:var(--line);
}
.stat-num{
  font-size:clamp(28px,2.6vw,38px);font-weight:800;line-height:1.1;
  color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.stat-num small{font-size:.52em;font-weight:700;margin-left:2px;color:var(--pink)}
.stat-num.is-brand{color:var(--pink);letter-spacing:.01em;font-size:clamp(24px,2.2vw,32px)}
.stat-label{margin-top:9px;font-size:13.5px;color:var(--gray);letter-spacing:.02em}

/* ==========================================================================
   四大优势
   ========================================================================== */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.why-card{
  position:relative;padding:34px 28px 32px;border-radius:var(--r);
  background:#fff;border:1px solid var(--line);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s;
  overflow:hidden;
}
.why-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--pink),#F48FB1);
  transform:scaleX(0);transform-origin:left;transition:transform .36s var(--ease);
}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:transparent}
.why-card:hover::before{transform:scaleX(1)}
.why-icon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--pink-50);color:var(--pink);margin:0 auto 22px;
  transition:background .28s,color .28s;
}
.why-icon svg{width:25px;height:25px}
.why-card:hover .why-icon{background:var(--pink);color:#fff}
.why-card h3{font-size:17.5px;font-weight:700;margin-bottom:11px;letter-spacing:.01em;text-align:center}
.why-card p{font-size:14px;line-height:1.78;color:var(--gray)}

/* ==========================================================================
   成功率数据
   ========================================================================== */
.rates-layout{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:64px}

.rates-copy{display:flex;flex-direction:column}
.rates-copy .sec-title{font-size:34px}
.rates-copy > p{margin-top:18px;font-size:15px;color:var(--gray);line-height:1.85}

.lab-metrics{display:grid;gap:18px;margin-top:32px;margin-bottom:24px}
.metric{
  display:flex;align-items:center;gap:16px;padding:22px 18px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
}
.metric-ico{
  width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:var(--pink-50);color:var(--pink);
}
.metric-ico svg{width:19px;height:19px}
.metric-body{flex:1;min-width:0}
.metric-name{font-size:13.5px;color:var(--gray)}
.metric-val{font-size:20px;font-weight:800;color:var(--ink);line-height:1.3;font-variant-numeric:tabular-nums}
.metric-bar{height:4px;border-radius:4px;background:var(--line-soft);margin-top:8px;overflow:hidden}
.metric-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--pink),#F06292);width:0;transition:width 1.1s var(--ease)}

.rates-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:34px 34px 26px;box-shadow:var(--sh-sm);
}
.rates-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}
.rates-card-head h3{font-size:17px;font-weight:700}
.rates-card-head p{font-size:12.5px;color:var(--mute);margin-top:4px}
.rates-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--gray)}
.legend-item{display:inline-flex;align-items:center;gap:7px}
.legend-dot{width:10px;height:10px;border-radius:3px;flex:none}
.dot-sunway{background:var(--pink)}
.dot-donor{background:#7CB342}
.dot-anz{background:#F5A623}

.rate-group{padding:16px 0;border-top:1px dashed var(--line)}
.rate-group:first-of-type{border-top:0;padding-top:4px}
.rate-age{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:11px;display:flex;align-items:baseline;gap:8px}
.rate-age span{font-size:11.5px;font-weight:500;color:var(--mute);letter-spacing:.02em}
.rate-rows{display:grid;gap:8px}
.rate-row{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:12px}
.rate-tag{font-size:11.5px;color:var(--mute);text-align:right;letter-spacing:.02em}
.rate-track{position:relative;height:24px;display:flex;align-items:center}
.rate-fill{
  height:22px;border-radius:5px;width:0;position:relative;
  transition:width 1.2s var(--ease);display:flex;align-items:center;justify-content:flex-end;
  padding-right:9px;font-size:12px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;
  min-width:46px;
}
.rate-fill.f-sunway{background:linear-gradient(90deg,#E91E63,#F06292)}
.rate-fill.f-donor{background:linear-gradient(90deg,#689F38,#9CCC65)}
.rate-fill.f-anz{background:linear-gradient(90deg,#EF9A1E,#FFB74D)}
.rate-fill span{opacity:0;transition:opacity .4s .9s}
.rate-group.is-in .rate-fill span{opacity:1}

.rates-foot{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);
  font-size:12px;color:var(--mute);line-height:1.7;
}
.rates-foot a{color:var(--gray);border-bottom:1px dotted var(--mute)}

/* 数据解读提示 */
.rates-hint{
  margin-top:auto;padding:32px 24px;background:#fff;
  border:1px solid var(--line);border-radius:12px;
}
.rates-hint h4{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:15px}
.rates-hint ul{display:grid;gap:12px}
.rates-hint li{
  position:relative;padding-left:15px;
  font-size:12.8px;line-height:1.72;color:var(--gray);
}
.rates-hint li::before{
  content:"";position:absolute;left:0;top:8px;
  width:5px;height:5px;border-radius:50%;background:var(--pink);opacity:.55;
}
.rates-hint b{color:var(--ink-2);font-weight:600}

/* ==========================================================================
   服务入口
   ========================================================================== */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{
  position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;
  min-height:420px;background:var(--ink);
  transition:transform .34s var(--ease),box-shadow .34s var(--ease);
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.svc-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);
}
.svc-card:hover img{transform:scale(1.06)}
.svc-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(9,16,24,.94) 0%,rgba(9,16,24,.6) 46%,rgba(9,16,24,.16) 100%);
  transition:opacity .34s;
}
.svc-body{
  position:relative;z-index:2;height:100%;min-height:420px;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:34px 30px;color:#fff;
}
.svc-kicker{
  font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#FFC1D6;margin-bottom:10px;
}
.svc-body h3{font-size:22px;font-weight:800;line-height:1.34;margin-bottom:10px}
.svc-body p{font-size:13.5px;line-height:1.72;color:rgba(255,255,255,.8);margin-bottom:18px}
.svc-link{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;
  color:#fff;transition:gap .22s var(--ease);
}
.svc-link svg{width:15px;height:15px}
.svc-card:hover .svc-link{gap:13px}
.svc-price{
  display:inline-block;margin-bottom:14px;padding:4px 12px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);
  font-size:12.5px;font-weight:600;letter-spacing:.02em;backdrop-filter:blur(6px);
}

/* ==========================================================================
   医生团队
   ========================================================================== */
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.doc-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.doc-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:transparent}
.doc-photo{
  position:relative;aspect-ratio:4/5;background:var(--bg-3);overflow:hidden;
}
.doc-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.doc-card:hover .doc-photo img{transform:scale(1.035)}
.doc-photo.is-initial{
  display:grid;place-items:center;
  background:linear-gradient(150deg,#FDF3F7 0%,#F7F2F6 55%,#F1F5F8 100%);
}
.doc-photo.is-initial::before{
  content:"";position:absolute;width:132px;height:132px;border-radius:50%;
  border:1px solid rgba(233,30,99,.12);
}
.doc-initial{
  position:relative;z-index:1;
  font-size:56px;font-weight:700;color:rgba(173,20,87,.26);
  line-height:1;user-select:none;font-family:"Songti SC","SimSun",serif;
}
.doc-photo.is-initial::after{
  content:"";position:absolute;right:-34px;bottom:-34px;width:140px;height:140px;
  border-radius:50%;background:rgba(233,30,99,.055);
}
.doc-badge{
  position:absolute;left:14px;top:14px;z-index:2;
  padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.94);
  font-size:11.5px;font-weight:700;color:var(--pink-700);letter-spacing:.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.doc-body{padding:22px 22px 24px}
.doc-name{font-size:18px;font-weight:800;letter-spacing:.01em}
.doc-en{font-size:12.5px;color:var(--mute);letter-spacing:.04em;margin-top:2px}
.doc-title{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft);
  font-size:12.8px;line-height:1.7;color:var(--pink-700);font-weight:600;
}
.doc-field{margin-top:9px;font-size:13px;line-height:1.7;color:var(--gray)}
.doc-field b{color:var(--ink-2);font-weight:600}

/* ==========================================================================
   医院环境
   ========================================================================== */
.env-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px;
}
.env-item{
  position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg-3);
}
.env-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.env-item:hover img{transform:scale(1.05)}
.env-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(9,16,24,.62) 0%,transparent 52%);
  opacity:.85;transition:opacity .3s;
}
.env-item:hover::after{opacity:1}
.env-cap{
  position:absolute;left:16px;bottom:13px;z-index:2;color:#fff;
  font-size:13px;font-weight:600;letter-spacing:.02em;
}
.env-item.big{grid-column:span 2;grid-row:span 2}
.env-item.wide{grid-column:span 2}

/* ==========================================================================
   案例
   ========================================================================== */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:28px 26px 26px;display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:transparent}
.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.case-tag{
  display:inline-flex;align-items:center;height:26px;padding:0 11px;
  border-radius:999px;background:var(--pink-50);color:var(--pink-700);
  font-size:11.5px;font-weight:700;letter-spacing:.02em;
}
.case-age{
  display:inline-flex;align-items:center;height:26px;padding:0 12px;
  border-radius:999px;background:var(--ink);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap;
}
.case-tag.alt{background:var(--teal-50);color:var(--teal)}
.case-card h3{font-size:16.5px;font-weight:700;line-height:1.55;margin-bottom:12px}
.case-meta{display:grid;gap:7px;margin-bottom:18px}
.case-meta-row{display:flex;gap:10px;font-size:13px;line-height:1.65}
.case-meta-row dt{color:var(--mute);flex:none;width:56px}
.case-meta-row dd{margin:0;color:var(--ink-2)}
.case-result{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--line-soft);
  display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--pink-700);
}
.case-result svg{width:17px;height:17px;flex:none}

/* ==========================================================================
   里程碑 · 1,100 个 IVF 宝宝
   ========================================================================== */
.milestone{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,0.94fr);gap:60px;align-items:center}
.milestone-figure{margin:0}
.milestone-figure img{width:100%;border-radius:var(--r);box-shadow:var(--sh-md)}
.milestone-figure figcaption{
  margin-top:15px;padding-left:13px;border-left:2px solid var(--pink-100);
  font-size:12.5px;line-height:1.7;color:var(--mute);
}
.milestone-copy .sec-title{font-size:34px}
.milestone-copy > p{margin-top:18px;font-size:15px;color:var(--gray);line-height:1.88}
.milestone-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:34px;padding-top:24px;border-top:1px solid var(--pink-100);
}
.milestone-stats li{position:relative;padding-left:22px}
.milestone-stats li:first-child{padding-left:0}
.milestone-stats li + li::before{
  content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:var(--pink-100);
}
.milestone-stats b{
  display:block;font-size:26px;font-weight:800;line-height:1.22;color:var(--pink-700);
  letter-spacing:-.01em;font-variant-numeric:tabular-nums;
}
.milestone-stats b sup{font-size:.55em;top:-.65em;font-weight:800}
.milestone-stats span{display:block;margin-top:5px;font-size:12.5px;color:var(--gray)}
@media (max-width:1024px){
  .milestone{grid-template-columns:1fr;gap:38px;align-items:start}
}
@media (max-width:640px){
  .milestone-copy .sec-title{font-size:26px}
  .milestone-stats li{padding-left:14px}
  .milestone-stats b{font-size:22px}
  .milestone-stats span{font-size:11.5px}
}

/* ==========================================================================
   资质认证
   ========================================================================== */
.accred-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.accred{
  position:relative;padding:28px 16px 24px;text-align:center;
  border-right:1px solid var(--line);
  transition:background .28s;
}
.accred::after{
  content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;
  background:linear-gradient(90deg,var(--pink),#F8BBD0);
  transform:translateX(-50%);transition:width .35s var(--ease);
}
.accred:nth-child(5n){border-right:0}
.accred:nth-child(-n+5){border-bottom:1px solid var(--line)}
.accred:hover{background:#FFF8FB}
.accred:hover::after{width:44px}
.accred-logo{
  height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.accred-logo img{
  display:block;max-width:100%;max-height:46px;width:auto;height:auto;
  transition:transform .3s var(--ease);
}
.accred-logo.is-lg img{max-height:52px}
.accred-logo.is-sm img{max-height:34px}
.accred:hover .accred-logo img{transform:scale(1.05)}
.accred-name{font-size:12px;color:var(--gray);line-height:1.62}
.accred-tag{
  display:block;margin-top:11px;font-size:10.5px;color:var(--mute);letter-spacing:.04em;
}

/* ==========================================================================
   CTA
   ========================================================================== */
.cta{
  position:relative;overflow:hidden;background:var(--ink);color:#fff;
  padding:86px 0;
}
.cta::before{
  content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;
  border-radius:50%;background:radial-gradient(circle,rgba(233,30,99,.34),transparent 68%);
}
.cta::after{
  content:"";position:absolute;left:-120px;bottom:-200px;width:440px;height:440px;
  border-radius:50%;background:radial-gradient(circle,rgba(0,121,107,.22),transparent 68%);
}
.cta-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;
  gap:60px;align-items:center;
}
.cta h2{font-size:36px;line-height:1.34;font-weight:800;letter-spacing:-.01em}
.cta h2 em{font-style:normal;color:#FF9EBC}
.cta p{margin-top:16px;font-size:15.5px;line-height:1.8;color:rgba(255,255,255,.76);max-width:520px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.cta-points{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:26px;font-size:13px;color:rgba(255,255,255,.66)}
.cta-point{display:inline-flex;align-items:center;gap:7px}
.cta-point svg{width:15px;height:15px;color:#FF9EBC;flex:none}

.cta-qr{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-lg);padding:26px;text-align:center;backdrop-filter:blur(10px);
}
.cta-qr img{width:100%;max-width:170px;margin:0 auto 14px;border-radius:10px;background:#fff;padding:6px}
.cta-qr strong{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.cta-qr span{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.6;display:block}

/* ==========================================================================
   Footer
   ========================================================================== */
.footer{background:#0E1621;color:rgba(255,255,255,.62);font-size:13.5px;line-height:1.8}
.footer-main{display:grid;grid-template-columns:1.5fr .8fr .9fr 1fr;gap:48px;padding:64px 0 48px}
.footer-brand img{height:64px;width:auto;margin-bottom:20px}
.footer-brand p{font-size:13px;line-height:1.85;color:rgba(255,255,255,.55);max-width:330px}
.footer-relation{
  display:inline-block;margin-top:18px;padding:5px 12px;border-radius:6px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  font-size:11.5px;color:rgba(255,255,255,.66);letter-spacing:.02em;
}
.footer h4{
  color:#fff;font-size:13px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:18px;
}
.footer-links li{margin-bottom:10px}
.footer-links a{color:rgba(255,255,255,.58);transition:color .2s,padding-left .2s}
.footer-links a:hover{color:#fff;padding-left:4px}
.footer-contact li{display:flex;gap:10px;margin-bottom:13px;align-items:flex-start}
.footer-contact svg{width:15px;height:15px;flex:none;margin-top:4px;opacity:.5}
.footer-contact a:hover{color:#fff}
.footer-qr{display:flex;gap:14px}
.footer-qr figure{text-align:center}
.footer-qr img{width:96px;height:96px;object-fit:cover;border-radius:8px;background:#fff;padding:5px}
.footer-qr figcaption{font-size:11px;margin-top:8px;color:rgba(255,255,255,.5)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding:22px 0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:12.5px;color:rgba(255,255,255,.42);
}
.footer-legal{display:flex;gap:20px}
.footer-legal a:hover{color:rgba(255,255,255,.78)}

/* ==========================================================================
   右侧悬浮
   ========================================================================== */
.float-bar{
  position:fixed;right:22px;bottom:34px;z-index:90;
  display:flex;flex-direction:column;gap:12px;
}
.float-btn{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:#fff;color:var(--ink);box-shadow:0 6px 20px rgba(22,32,43,.16);
  border:1px solid var(--line);transition:.24s var(--ease);position:relative;
}
.float-btn svg{width:21px;height:21px}
.float-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,32,43,.2)}
.float-btn.is-wechat{background:#07C160;color:#fff;border-color:#07C160}
.float-btn.is-wechat:hover{background:#06A94D}
.float-btn.is-phone{background:var(--pink);color:#fff;border-color:var(--pink)}
.float-btn.is-phone:hover{background:var(--pink-600)}
.float-top{
  opacity:0;visibility:hidden;transform:translateY(8px);
}
.float-top.is-show{opacity:1;visibility:visible;transform:none}
.float-tip{
  position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);
  background:var(--ink);color:#fff;font-size:12px;padding:6px 11px;border-radius:6px;
  white-space:nowrap;opacity:0;visibility:hidden;transition:.2s;pointer-events:none;
}
.float-btn:hover .float-tip{opacity:1;visibility:visible}

/* ==========================================================================
   微信弹窗
   ========================================================================== */
.modal{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;
  background:rgba(9,16,24,.6);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:.28s var(--ease);
}
.modal.is-open{opacity:1;visibility:visible}
.modal-box{
  width:100%;max-width:404px;background:#fff;border-radius:var(--r-lg);
  padding:30px 24px 22px;text-align:center;position:relative;
  transform:scale(.94) translateY(10px);transition:transform .32s var(--ease);
  box-shadow:var(--sh-lg);
}
.modal.is-open .modal-box{transform:none}
.modal-close{
  position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;color:var(--mute);transition:.2s;
}
.modal-close:hover{background:var(--bg-2);color:var(--ink)}
.modal-close svg{width:18px;height:18px}
.modal-box h3{font-size:19px;font-weight:800;margin-bottom:6px}
.modal-box > p{font-size:13px;color:var(--gray);margin-bottom:22px}
.modal-qr{
  display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;
  margin:0 auto 18px;border-radius:12px;background:#fff;
}
.modal-note{
  font-size:12.5px;color:var(--gray);line-height:1.7;
  background:var(--bg-2);border-radius:10px;padding:12px 14px;
  text-wrap:pretty;
}
.modal-note b{color:var(--ink)}

/* ==========================================================================
   动效
   ========================================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width:1180px){
  .nav > ul > li > a{padding:0 8px;font-size:14.5px}
  .logo img{height:50px}
}

/* 导航在 1100 以下改为抽屉，避免与放大后的 logo 挤压 */
@media (max-width:1100px){
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(360px,86vw);
    background:#fff;z-index:120;padding:20px 0;
    box-shadow:-16px 0 48px rgba(22,32,43,.16);
    transform:translateX(100%);transition:transform .34s var(--ease);
    overflow-y:auto;display:block;
  }
  .nav.is-open{transform:none}
  .nav > ul{display:block;padding:0 18px}
  .nav > ul > li{border-bottom:1px solid var(--line-soft)}
  .nav > ul > li > a{height:auto;padding:15px 4px;font-size:15.5px;justify-content:space-between}
  .dropdown{
    position:static;transform:none;opacity:1;visibility:visible;
    box-shadow:none;border:0;padding:0 0 12px 12px;min-width:0;
    display:none;
  }
  .nav > ul > li.is-expanded .dropdown{display:block}
  .nav > ul > li:hover .dropdown{transform:none}
  .nav > ul > li.is-expanded > a .caret{transform:rotate(180deg)}
  .dropdown a{padding:9px 12px;font-size:14.5px}

  .nav-toggle{display:flex}
  .header-actions{margin-left:auto}
  .header-actions .btn{display:none}
  .nav-backdrop{
    position:fixed;inset:0;background:rgba(9,16,24,.42);z-index:110;
    opacity:0;visibility:hidden;transition:.3s;
  }
  .nav-backdrop.is-show{opacity:1;visibility:visible}
}

@media (max-width:1024px){
  .wrap{padding:0 20px}
  .section{padding:76px 0}
  .sec-title{font-size:32px}

  .hero{height:auto;min-height:0}
  .hero-slide{position:relative;opacity:1;visibility:visible;display:none}
  .hero-slide.is-active{display:block}
  .hero-inner{padding:72px 0 96px;min-height:52vh;align-items:flex-end}
  .hero-media::after{
    background:linear-gradient(to top,rgba(9,16,24,.92) 6%,rgba(9,16,24,.6) 46%,rgba(9,16,24,.24) 100%);
  }
  .hero-nav{position:static;padding:0 0 22px;background:var(--ink)}
  .hero-nav .wrap{padding-top:0;padding-right:20px}
  .hero-note{display:none}

  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .stat{padding:32px 12px 28px}
  .stat:nth-child(4)::before,.stat:nth-child(1)::before{display:none}
  .stat:nth-child(n+4){border-top:1px solid var(--line-soft)}

  .why-grid{grid-template-columns:repeat(2,1fr)}
  .rates-layout{grid-template-columns:1fr;gap:36px}
  .svc-grid{grid-template-columns:1fr;gap:18px}
  .svc-card,.svc-body{min-height:320px}
  .doc-grid{grid-template-columns:repeat(2,1fr)}
  .env-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .env-item.big{grid-column:span 2;grid-row:span 1}
  .case-grid{grid-template-columns:1fr}
  .accred-strip{grid-template-columns:repeat(2,1fr)}
  .accred:nth-child(5n){border-right:1px solid var(--line)}
  .accred:nth-child(2n){border-right:0}
  .accred:nth-child(-n+5){border-bottom:0}
  .accred:nth-child(-n+8){border-bottom:1px solid var(--line)}
  .cta-inner{grid-template-columns:1fr;gap:40px}
  .cta h2{font-size:29px}
  .footer-main{grid-template-columns:1fr 1fr;gap:36px}
  .footer-brand{grid-column:span 2}
  .footer-brand p{max-width:none}
}

@media (max-width:640px){
  .wrap{padding:0 16px}
  .section{padding:60px 0}
  .sec-title{font-size:26px;line-height:1.34}
  .sec-sub{font-size:15px}
  .sec-head{margin-bottom:36px}

  .topbar-left .topbar-item:nth-child(2){display:none}
  .topbar-right .topbar-link{display:none}
  .topbar .wrap{height:38px;gap:10px}
  .topbar-left .topbar-item span{font-size:12px}
  .topbar-right{gap:10px}
  .topbar-cta{font-size:12.5px}

  .hero-inner{padding:52px 0 72px}
  .hero-title{font-size:27px}
  .hero-title-sub{font-size:16px;margin-top:8px;line-height:1.45}
  .hero-sub{font-size:14.5px;margin-top:14px}
  .hero-figures{gap:10px 18px;margin-top:22px}
  .hero-figure b{font-size:19px}
  .hero-actions{gap:10px;margin-top:26px}
  .hero-actions .btn{height:44px;padding:0 20px;font-size:14px;flex:1;min-width:140px}

  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat{padding:26px 10px 22px}
  .stat::before{display:none!important}
  .stat:nth-child(odd){border-right:1px solid var(--line-soft)}
  .stat:nth-child(n+3){border-top:1px solid var(--line-soft)}
  .stat:last-child{grid-column:span 2;border-right:0}
  .stat-label{font-size:12px}

  .why-grid{grid-template-columns:1fr;gap:14px}
  .why-card{padding:26px 22px}

  .rates-card{padding:22px 18px 18px;border-radius:var(--r)}
  .rates-card-head{flex-direction:column;gap:12px}
  .rate-row{grid-template-columns:46px 1fr;gap:9px}
  .rate-fill{font-size:11px;min-width:42px;padding-right:7px}

  .doc-grid{grid-template-columns:1fr;gap:16px}
  .doc-photo{aspect-ratio:16/10}
  .doc-photo img{object-position:top center}

  .env-grid{grid-template-columns:1fr;grid-auto-rows:200px}
  .env-item.big,.env-item.wide{grid-column:span 1}

  .accred-strip{grid-template-columns:repeat(2,1fr)}
  .accred{padding:22px 10px 18px}
  .accred-logo{height:48px;margin-bottom:12px}
  .accred-logo img{max-height:40px}
  .accred-logo.is-lg img{max-height:44px}
  .accred-logo.is-sm img{max-height:28px}
  .accred-name{font-size:11.5px}

  .cta{padding:56px 0}
  .cta h2{font-size:24px}
  .cta-actions .btn{flex:1;min-width:130px}

  .footer-main{grid-template-columns:1fr;gap:32px;padding:44px 0 32px}
  .footer-brand{grid-column:span 1}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}

  /* 手机端竖排悬浮会压住正文右缘，改贴底横排：微信在最右（拇指位）、回顶最左 */
  .float-bar{right:12px;bottom:12px;gap:8px;flex-direction:row-reverse}
  .float-btn{width:42px;height:42px;box-shadow:0 4px 14px rgba(22,32,43,.18)}
  .float-btn svg{width:18px;height:18px}
  .float-tip{display:none}
  .float-top{display:none}
  .float-top.is-show{display:grid}
  .footer-bottom{padding-bottom:68px}
  .modal-box{padding:28px 22px 24px}
}

/* ==========================================================================
   留资卡（Lead capture）— 参照代运营版结构重做，字段更少、有国家区号、有信任承诺
   ========================================================================== */
.lead-sec{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FDF3F7 0%,#FFF9FB 55%,#FFF4F8 100%);
  color:var(--ink);padding:88px 0;
  border-top:1px solid rgba(233,30,99,.1);
}
.lead-sec::before{
  content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(233,30,99,.14),transparent 68%);
}
.lead-sec::after{
  content:"";position:absolute;left:-140px;bottom:-220px;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(233,30,99,.05),transparent 68%);
}
.lead-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr 468px;
  gap:64px;align-items:stretch;
}
.lead-copy{display:flex;flex-direction:column}
.lead-copy .eyebrow{color:var(--pink)}
.lead-copy h2{
  font-size:38px;line-height:1.34;font-weight:800;letter-spacing:-.01em;color:var(--ink);
}
.lead-copy h2 em{font-style:normal;color:var(--pink)}
.lead-intro > p{
  margin-top:16px;font-size:15px;line-height:1.85;color:var(--gray);max-width:480px;
}

/* 三步流程 */
.lead-steps{margin-top:34px;display:grid;gap:0}
.lead-steps li{
  display:flex;gap:16px;padding:27px 0;border-top:1px solid var(--pink-100);
}
.lead-steps li:last-child{border-bottom:1px solid var(--pink-100)}
.lead-steps b{
  font-size:13px;font-weight:800;color:var(--pink);letter-spacing:.06em;
  flex:none;width:26px;padding-top:2px;
}
.lead-steps strong{display:block;font-size:15px;font-weight:700;color:var(--ink)}
.lead-steps span{display:block;font-size:13px;color:var(--gray);line-height:1.7;margin-top:2px}

.lead-direct{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;
  margin-top:22px;font-size:13.5px;color:var(--gray);
}

/* 左侧中间的态度引述，平衡左栏与表单卡的高度差 */
.lead-foot{margin-top:auto}
.lead-quote{
  padding-left:16px;border-left:2px solid var(--pink-100);
  font-size:13.5px;line-height:1.85;color:var(--gray);max-width:470px;
}
.lead-quote p{margin:0}
.lead-quote .lq-title{
  font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:-.005em;
  line-height:1.5;margin-bottom:7px;
}
.lead-quote b{color:var(--ink-2);font-weight:700;margin-right:2px}
.lead-direct .ld-lead{flex:0 0 100%;margin-bottom:2px;color:var(--mute)}
.lead-direct .ld-item{white-space:nowrap}

/* 左侧信任徽章，与右侧表单卡底部对齐 */
.lead-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lead-badges span{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:var(--ink-2);
  border:1px solid var(--line);background:#fff;
  border-radius:999px;padding:5px 13px;
}
.lead-badges span::before{
  content:"";width:4px;height:4px;border-radius:50%;background:var(--pink);
}
.lead-direct a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1px;white-space:nowrap}
.lead-direct a:hover{color:var(--pink);border-color:var(--pink)}

/* ---------- 卡片本体 ---------- */
.lead-card{
  background:#fff;color:var(--ink);border-radius:var(--r-lg);
  padding:28px 26px 22px;box-shadow:0 30px 70px rgba(0,0,0,.3);
}
.lead-card.is-light{border:1px solid var(--line);box-shadow:var(--sh-md)}
.lead-sec .lead-card.is-light{box-shadow:0 18px 46px rgba(22,32,43,.13)}
.lead-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  color:var(--pink);background:var(--pink-50);border:1px solid var(--pink-100);
  padding:3px 10px;border-radius:999px;letter-spacing:.02em;
}
.lead-badge::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--pink);
  box-shadow:0 0 0 3px rgba(233,30,99,.16);
}
.lead-card h3{font-size:20px;line-height:1.42;font-weight:800;margin-top:12px;letter-spacing:-.01em}
.lead-card .lead-note{font-size:12.5px;color:var(--gray);margin-top:6px;line-height:1.65}
.lead-card form{margin-top:20px}

/* 字段 */
.field{margin-bottom:13px;position:relative}
.field > label{
  display:flex;align-items:baseline;gap:6px;
  font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px;
}
.field .req{color:var(--pink)}
.field .opt{font-weight:400;color:var(--mute);font-size:11.5px}
.inp,.sel,.ta{
  width:100%;height:44px;border:1px solid var(--line);border-radius:10px;
  padding:0 13px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.inp::placeholder,.ta::placeholder{color:#AEB9C4}
.inp:hover,.sel:hover,.ta:hover{border-color:#D2DAE2}
.inp:focus,.sel:focus,.ta:focus{
  outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(233,30,99,.12);
}
.ta{height:auto;min-height:78px;padding:11px 13px;line-height:1.65;resize:vertical}
.sel-wrap{position:relative}
.sel-wrap .sel{
  appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
}
.sel-wrap .sel-caret{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;color:var(--mute);pointer-events:none;
}
.phone-row{display:grid;grid-template-columns:116px 1fr;gap:8px}
.phone-row .sel{font-size:13.5px}

/* 错误提示 */
.err-msg{display:none;font-size:11.5px;color:#D93025;margin-top:5px}
.field.has-error .inp,.field.has-error .sel{border-color:#E5867F;box-shadow:0 0 0 3px rgba(217,48,37,.09)}
.field.has-error .err-msg{display:block}

/* 单选 chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{
  display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;
  border:1px solid var(--line);background:#fff;font-size:13px;color:var(--gray);
  transition:.18s;white-space:nowrap;
}
.chip input:checked + span{
  border-color:var(--pink);background:var(--pink-50);color:var(--pink-700);font-weight:700;
}
.chip input:focus-visible + span{outline:2px solid var(--pink);outline-offset:2px}

/* 同意条款 */
.consent{
  display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;
  font-size:11.5px;color:var(--gray);line-height:1.7;margin:4px 0 16px;
}
.consent input{
  width:15px;height:15px;margin:0;accent-color:var(--pink);flex:none;cursor:pointer;
}
.consent label{cursor:pointer}
.consent a{color:var(--pink);border-bottom:1px solid rgba(233,30,99,.3)}
.consent a:hover{border-color:var(--pink)}

/* 提交 */
.btn-submit{
  width:100%;height:50px;border-radius:10px;background:var(--pink);color:#fff;
  font-size:15.5px;font-weight:700;letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(233,30,99,.22);
  transition:background .2s,transform .2s,box-shadow .2s;
}
.btn-submit:hover{background:var(--pink-600);transform:translateY(-1px);box-shadow:0 12px 26px rgba(233,30,99,.3)}
.btn-submit:active{transform:none}
.btn-submit[disabled]{opacity:.75;cursor:progress;transform:none}

.trust{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;
  margin-top:11px;font-size:11px;color:var(--mute);
}
.trust span{display:inline-flex;align-items:center;gap:4px}
.trust svg{width:11px;height:11px;flex:none;color:#8FA8A4}

.lead-alt{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  margin-top:14px;padding-top:13px;border-top:1px dashed var(--line);
  font-size:12.5px;color:var(--gray);
}
.lead-alt .link-arrow{font-size:12.5px}
.lead-alt .link-arrow svg{width:13px;height:13px}

/* 提交成功态 */
.lead-success{display:none;text-align:center;padding:34px 4px 6px}
.lead-success .ok-icon{
  width:56px;height:56px;border-radius:50%;margin:0 auto 16px;
  background:var(--teal-50);color:var(--teal);display:grid;place-items:center;
}
.lead-success .ok-icon svg{width:28px;height:28px}
.lead-success h4{font-size:18px;font-weight:800;margin-bottom:8px;outline:none}
.lead-success .ok-tip{font-size:11.5px;color:var(--mute);margin-top:14px;padding-top:13px;border-top:1px dashed var(--line)}
.lead-success p{font-size:13px;color:var(--gray);line-height:1.8;margin-bottom:18px}
.lead-card.is-sent form{display:none}
.lead-card.is-sent .lead-success{display:block}
.lead-card.is-sent .lead-card-head{display:none}

/* ==========================================================================
   内页页头 + 联系我们
   ========================================================================== */
.page-head{
  position:relative;overflow:hidden;color:#fff;padding:52px 0 56px;
  background:linear-gradient(104deg,#AC3459 0%,#C2446C 44%,#D64A72 100%);
}
.page-head::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(62% 130% at 96% -8%,rgba(255,196,216,.26),transparent 72%);
}
.page-head::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(56% 120% at 0% 106%,rgba(122,26,62,.26),transparent 70%);
}
.page-head .wrap{position:relative;z-index:2}
.crumb{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.7);
}
.crumb a{color:rgba(255,255,255,.84)}
.crumb a:hover{color:#fff}
.crumb span{color:rgba(255,255,255,.56)}
.page-head h1{
  font-size:38px;line-height:1.3;font-weight:800;letter-spacing:-.01em;margin-top:16px;
}
.page-head .page-sub{margin-top:12px;font-size:14.5px;color:rgba(255,255,255,.86);max-width:640px;line-height:1.8}

.contact-grid{
  display:grid;grid-template-columns:1fr 452px;gap:56px;align-items:start;
}
.col-title{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.35}
.col-sub{font-size:13px;color:var(--gray);margin-top:8px;margin-bottom:22px;line-height:1.7}

.contact-list{display:grid;gap:12px}
.contact-item{
  display:flex;gap:14px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;transition:border-color .2s,box-shadow .2s;
}
.contact-item:hover{border-color:#DDE4EA;box-shadow:var(--sh-sm)}
.contact-ico{
  width:38px;height:38px;border-radius:11px;background:var(--pink-50);color:var(--pink);
  display:grid;place-items:center;flex:none;
}
.contact-ico svg{width:18px;height:18px}
.contact-item dl{margin:0;min-width:0}
.contact-item dt{font-size:11.5px;color:var(--mute);letter-spacing:.02em}
.contact-item dd{margin:2px 0 0;font-size:15px;font-weight:700;color:var(--ink);word-break:break-word}
.contact-item dd a{color:var(--ink)}
.contact-item dd a:hover{color:var(--pink)}
.contact-item .c-note{display:block;font-size:11.5px;font-weight:400;color:var(--mute);line-height:1.6;margin-top:3px}

.qr-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.qr-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-align:center;
}
.qr-card img{
  width:132px;height:132px;object-fit:contain;margin:0 auto 10px;border-radius:8px;background:#fff;
}
.qr-card strong{display:block;font-size:13px;font-weight:700}
.qr-card span{display:block;font-size:11.5px;color:var(--mute);line-height:1.6;margin-top:2px}

/* 咨询后会发生什么 */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step{border-top:2px solid var(--pink);padding-top:18px}
.step b{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--pink);text-transform:uppercase}
.step h4{font-size:16px;font-weight:800;margin:8px 0 6px}
.step p{font-size:13.5px;color:var(--gray);line-height:1.8}

@media (max-width:1024px){
  .lead-grid{grid-template-columns:1fr;gap:38px}
  .lead-copy{max-width:640px}
  .lead-copy h2{font-size:29px}
  .lead-card{max-width:520px}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .contact-grid .lead-card{max-width:none}
  .steps{grid-template-columns:1fr;gap:22px}
  .page-head h1{font-size:31px}
}
@media (max-width:640px){
  .lead-sec{padding:60px 0}
  .lead-copy h2{font-size:25px}
  .lead-card{padding:22px 18px 18px;border-radius:var(--r)}
  .phone-row{grid-template-columns:106px 1fr}
  .qr-duo{grid-template-columns:1fr 1fr;gap:10px}
  .qr-card{padding:12px}
  .qr-card img{max-width:104px}
  .contact-item{padding:14px}
  .page-head{padding:38px 0 42px}
  .page-head h1{font-size:26px}
}

/* ==========================================================================
   服务补充入口（其他辅助技术）
   ========================================================================== */
.svc-more{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:28px;padding-top:24px;border-top:1px dashed var(--line);
}
.svc-more-label{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);margin-right:6px;
}
.svc-more a{
  display:inline-flex;align-items:center;height:34px;padding:0 15px;border-radius:999px;
  border:1px solid var(--line);background:#fff;font-size:13px;color:var(--gray);
  transition:border-color .2s,color .2s,background .2s;
}
.svc-more a:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-50)}

/* ==========================================================================
   生育力保存 / 玻璃化冷冻
   ========================================================================== */
.freeze-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}
.freeze-copy .sec-title{font-size:36px}
.freeze-copy > p{
  margin-top:18px;font-size:15.5px;color:var(--gray);line-height:1.9;max-width:520px;
}
.freeze-items{
  margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:24px 26px;
}
.freeze-ico{
  width:40px;height:40px;border-radius:12px;background:#fff;color:var(--pink);
  display:grid;place-items:center;box-shadow:var(--sh-sm);
}
.freeze-ico svg{width:19px;height:19px}
.freeze-item h4{font-size:16px;font-weight:800;margin-top:12px;letter-spacing:-.005em}
.freeze-item p{font-size:13.5px;color:var(--gray);line-height:1.8;margin-top:5px}
.freeze-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

.freeze-media{
  background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);
}
.freeze-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.freeze-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.freeze-stats > div{padding:18px 8px;text-align:center}
.freeze-stats > div + div{border-left:1px solid var(--line-soft)}
.freeze-stats b{
  display:block;font-size:21px;font-weight:800;color:var(--pink);letter-spacing:-.02em;line-height:1.2;
}
.freeze-stats span{display:block;font-size:11.5px;color:var(--mute);margin-top:4px}

/* ==========================================================================
   客户心声
   ========================================================================== */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.voice-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px 24px;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.voice-card:hover{border-color:var(--pink-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.voice-mark{
  width:28px;height:28px;margin-bottom:14px;
  color:var(--pink-100);pointer-events:none;
}
.voice-card blockquote{
  margin:0;flex:1;font-size:14.5px;line-height:1.95;color:var(--ink-2);
}
.voice-author{
  display:flex;align-items:center;gap:11px;
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);
}
.voice-avatar{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:var(--pink-50);color:var(--pink);
  display:grid;place-items:center;font-size:15px;font-weight:800;
}
.voice-meta{display:flex;flex-direction:column;min-width:0}
.voice-meta b{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.5}
.voice-meta i{font-style:normal;font-size:11.5px;color:var(--mute);margin-top:1px}
.voice-ok{
  margin-left:auto;flex:none;font-size:10.5px;color:var(--teal);
  background:var(--teal-50);border-radius:999px;padding:2px 8px;white-space:nowrap;
}

@media (max-width:1024px){
  .freeze-grid{grid-template-columns:1fr;gap:40px}
  .freeze-copy{max-width:640px}
  .freeze-copy .sec-title{font-size:31px}
  .freeze-media{max-width:560px}
  .voice-grid{grid-template-columns:1fr;gap:18px}
  .voice-card{padding:26px 24px 22px}
}
@media (max-width:640px){
  .svc-more{margin-top:22px;padding-top:20px;gap:7px}
  .svc-more-label{flex:0 0 100%;margin-bottom:2px}
  .svc-more a{height:32px;padding:0 13px;font-size:12.5px}
  .freeze-copy .sec-title{font-size:26px}
  .freeze-copy > p{font-size:14.5px}
  .freeze-items{gap:20px 18px}
  .freeze-item h4{font-size:15px}
  .freeze-item p{font-size:13px}
  .freeze-actions .btn{width:100%;justify-content:center}
  .freeze-stats b{font-size:18px}
  .freeze-stats span{font-size:11px}
  .voice-card blockquote{font-size:14px;line-height:1.9}
}
@media (max-width:480px){
  .freeze-items{grid-template-columns:1fr;gap:18px}
  .freeze-ico{width:36px;height:36px;border-radius:10px}
  .voice-author{flex-wrap:wrap;gap:8px 10px}
  .voice-ok{margin-left:auto}
}

/* ==========================================================================
   内页通用组件（v2）— 页头标签 / 富文本 / 卡片网格 / 时间线 / 价格 / FAQ
   ========================================================================== */
.page-tag{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;
  font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.42);
  padding:4px 11px;border-radius:999px;
}
.page-head h1{margin-top:14px}

/* ---------- 富文本 ---------- */
.content{max-width:820px}
.content.wide{max-width:none}
.content h2{
  font-size:26px;line-height:1.4;font-weight:800;letter-spacing:-.01em;
  margin:44px 0 14px;padding-left:14px;border-left:3px solid var(--pink);
}
.content h2:first-child{margin-top:0}
.content h3{font-size:19px;font-weight:800;margin:30px 0 10px;line-height:1.5}
.content h4{font-size:16px;font-weight:700;margin:22px 0 8px}
.content p{margin:0 0 15px;font-size:15.5px;line-height:1.95;color:var(--ink-2)}
.content ul,.content ol{margin:0 0 16px;padding-left:22px}
.content li{font-size:15.5px;line-height:1.95;color:var(--ink-2);margin-bottom:7px}
.content li::marker{color:var(--pink)}
.content strong{color:var(--ink);font-weight:700}
.content a{color:var(--pink);border-bottom:1px solid rgba(233,30,99,.28)}
.content a:hover{border-color:var(--pink)}
.content blockquote{
  margin:22px 0;padding:18px 22px;background:var(--pink-50);
  border-left:3px solid var(--pink);border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.content blockquote p:last-child{margin-bottom:0}
.content img{max-width:100%;border-radius:var(--r);margin:10px 0}

/* ---------- 数据条 ---------- */
.stat-band{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.stat-band > div{padding:26px 18px;text-align:center}
.stat-band > div + div{border-left:1px solid var(--line-soft)}
.stat-band b{
  display:block;font-size:28px;font-weight:800;color:var(--pink);
  letter-spacing:-.02em;line-height:1.2;
}
.stat-band span{display:block;font-size:12.5px;color:var(--gray);margin-top:5px}

/* ---------- 卡片网格 ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* ---------- 客服团队 · 四阶段 ---------- */
.stage-stack{display:flex;flex-direction:column;gap:22px}
.stage{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 28px 28px;box-shadow:var(--sh-sm);
}
.stage-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.stage-no{
  flex:none;width:46px;height:46px;border-radius:14px;
  display:grid;place-items:center;
  font-size:18px;font-weight:800;color:var(--pink);
  background:var(--pink-50);
}
.stage-head .a-cat{margin-bottom:3px}
.stage-head h3{margin:0;font-size:20px;font-weight:800;line-height:1.3}
.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stage-item{
  background:var(--bg-2);border-radius:var(--r-sm);
  padding:16px 18px;
}
.stage-item b{display:block;font-size:14.5px;font-weight:500;color:var(--ink);margin-bottom:6px}
.stage-item p{font-size:13px;line-height:1.8;color:var(--gray);margin:0}

@media (max-width:1080px){
  .stage-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .stage{padding:20px 16px}
  .stage-grid{grid-template-columns:1fr}
  .stage-head{gap:12px}
  .stage-no{width:40px;height:40px;font-size:16px;border-radius:12px}
  .stage-head h3{font-size:18px}
}
.grid-2.align-start,.grid-3.align-start,.grid-4.align-start{align-items:start}

.info-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:24px 24px 22px;transition:border-color .22s,box-shadow .22s,transform .22s;
}
.info-card:hover{border-color:var(--pink-100);box-shadow:var(--sh-md);transform:translateY(-2px)}
.info-card .ico{
  width:42px;height:42px;border-radius:12px;background:var(--pink-50);color:var(--pink);
  display:grid;place-items:center;margin-bottom:14px;
}
.info-card .ico svg{width:20px;height:20px}
.info-card .ico.is-teal{background:var(--teal-50);color:var(--teal)}
.info-card h3{font-size:16.5px;font-weight:800;margin:0 0 7px;line-height:1.5}
.info-card p{font-size:13.5px;color:var(--gray);line-height:1.85;margin:0}
.info-card .card-link{
  display:inline-flex;align-items:center;gap:5px;margin-top:14px;
  font-size:13px;font-weight:700;color:var(--pink);
}
.info-card .card-link svg{width:14px;height:14px;transition:transform .2s}
.info-card:hover .card-link svg{transform:translateX(3px)}

/* 平铺列表项 */
.plain-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.plain-list li{
  display:flex;gap:11px;align-items:flex-start;
  font-size:14.5px;line-height:1.85;color:var(--ink-2);
}
.plain-list li::before{
  content:"";flex:none;width:16px;height:16px;margin-top:6px;border-radius:50%;
  background:var(--pink-50);
  box-shadow:inset 0 0 0 4px #fff;
  border:1.5px solid var(--pink);
}

/* ---------- 时间线 ---------- */
.timeline{position:relative;margin:0;padding:0 0 0 30px;list-style:none}
.timeline::before{
  content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(to bottom,var(--pink-100),var(--line));
}
.timeline li{position:relative;padding:0 0 34px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{
  content:"";position:absolute;left:-30px;top:7px;width:16px;height:16px;border-radius:50%;
  background:#fff;border:3px solid var(--pink);
}
.timeline .tl-year{
  display:inline-block;font-size:15px;font-weight:800;color:var(--pink);
  letter-spacing:.02em;line-height:1.4;
}
.timeline h4{font-size:16.5px;font-weight:800;margin:3px 0 6px}
.timeline p{font-size:14px;color:var(--gray);line-height:1.85;margin:0}

/* ---------- 价格卡 ---------- */
.price-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px 26px;position:relative;
}
.price-card.is-featured{
  border-color:var(--pink);box-shadow:0 20px 50px rgba(233,30,99,.13);
}
.price-card .p-badge{
  position:absolute;top:-11px;left:28px;
  font-size:11px;font-weight:800;letter-spacing:.06em;color:#fff;
  background:var(--pink);padding:3px 11px;border-radius:999px;
}
.price-card h3{font-size:18px;font-weight:800;margin:0}
.price-card .p-sub{font-size:12.5px;color:var(--mute);margin-top:5px}
.price-card .p-price{
  display:flex;align-items:baseline;gap:8px;margin:18px 0 4px;
  padding-bottom:18px;border-bottom:1px dashed var(--line);
}
.price-card .p-price b{
  font-size:34px;font-weight:800;color:var(--pink);letter-spacing:-.02em;line-height:1.1;
}
.price-card .p-price span{font-size:13px;color:var(--gray)}
.price-card .p-cny{font-size:12.5px;color:var(--mute);margin-bottom:18px}
.price-card ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px}
.price-card li{
  display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.7;color:var(--ink-2);
}
.price-card li svg{
  width:15px;height:15px;flex:none;margin-top:4px;color:var(--teal);
}

/* ---------- 表格 ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
table.tbl th,table.tbl td{
  padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-soft);
  line-height:1.7;vertical-align:top;
}
table.tbl thead th{
  background:var(--bg-2);font-size:12.5px;font-weight:700;color:var(--ink-2);
  letter-spacing:.02em;white-space:nowrap;
}
table.tbl tbody tr:last-child td{border-bottom:none}
table.tbl tbody tr:hover{background:var(--bg-2)}
table.tbl td strong{color:var(--ink);font-weight:700}
table.tbl .is-num{white-space:nowrap;font-variant-numeric:tabular-nums}
table.tbl .is-pink{color:var(--pink);font-weight:700}

/* ---------- FAQ ---------- */
.faq-list{display:grid;gap:10px}
.faq-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:border-color .2s,box-shadow .2s;
}
.faq-item[open]{border-color:var(--pink-100);box-shadow:var(--sh-sm)}
.faq-item summary{
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  padding:17px 20px;font-size:15px;font-weight:700;color:var(--ink);
  line-height:1.65;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";flex:none;width:16px;height:16px;margin-left:auto;margin-top:5px;
  background:currentColor;opacity:.4;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;
  transition:transform .22s;
}
.faq-item[open] summary::after{transform:rotate(180deg);opacity:.7}
.faq-item .faq-body{
  padding:0 20px 19px;font-size:14.5px;line-height:1.95;color:var(--gray);
}
.faq-item .faq-body p{margin:0 0 10px}
.faq-item .faq-body p:last-child{margin-bottom:0}

.faq-group-title{
  font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);margin:34px 0 14px;
}
.faq-group-title:first-child{margin-top:0}

/* ---------- 文章卡 ---------- */
.article-list{display:grid;gap:16px}
.article-card{
  display:flex;gap:20px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:22px 24px;transition:border-color .22s,box-shadow .22s,transform .22s;
}
.article-card:hover{border-color:var(--pink-100);box-shadow:var(--sh-md);transform:translateY(-2px)}
.article-card .a-body{flex:1;min-width:0}
.article-card .a-cat{
  display:inline-block;font-size:11px;font-weight:700;color:var(--pink);
  background:var(--pink-50);border-radius:999px;padding:2px 9px;margin-bottom:9px;
}
.article-card h3{font-size:16.5px;font-weight:800;margin:0 0 7px;line-height:1.55}
.article-card h3 a{color:var(--ink)}
.article-card h3 a:hover{color:var(--pink)}
.article-card p{font-size:13.5px;color:var(--gray);line-height:1.85;margin:0}
.article-card .a-meta{
  display:flex;gap:14px;margin-top:11px;font-size:11.5px;color:var(--mute);
}
.article-card .a-thumb{
  flex:none;width:132px;height:96px;border-radius:10px;overflow:hidden;background:var(--bg-3);
}
.article-card .a-thumb img{width:100%;height:100%;object-fit:cover}

/* ---------- 医院环境 · 分类图集 ---------- */
.env-cat + .env-cat{margin-top:84px}
.env-cat-head{max-width:760px;margin:0 auto 34px;text-align:center}
.env-cat-head .eyebrow{margin-bottom:12px}
.env-cat-head h2{
  font-size:clamp(22px,2.3vw,30px);font-weight:800;letter-spacing:-.01em;
  margin:0 0 14px;color:var(--ink);text-wrap:balance;
}
.env-cat-head p{font-size:15px;line-height:1.9;color:var(--gray);margin:0;text-wrap:pretty}
.env-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;grid-auto-rows:auto}
.env-cat-grid.is-3{grid-template-columns:repeat(3,1fr)}
.env-cat-grid.is-2{grid-template-columns:repeat(2,1fr);max-width:940px;margin-left:auto;margin-right:auto}
.env-cat-grid figure{margin:0;min-width:0}
.env-cat-grid .env-ph{
  position:relative;overflow:hidden;border-radius:var(--r);background:var(--bg-3);
  box-shadow:var(--sh-sm);
}
.env-cat-grid .env-ph::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(22,32,43,.05);pointer-events:none;
}
.env-cat-grid img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  transition:transform .7s var(--ease);
}
.env-cat-grid figure.pos-low img{object-position:center 66%}
.env-cat-grid figure:hover img{transform:scale(1.045)}
.env-cat-grid figcaption{margin-top:11px;font-size:13px;color:var(--mute)}
.env-cat-grid figure.is-wide{grid-column:1/-1}
.env-note{
  max-width:940px;margin:28px auto 0;padding:20px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  font-size:14px;line-height:1.75;color:var(--gray);
}
.env-note b{color:var(--ink);font-weight:800}
.env-note a{color:var(--pink);font-weight:700;white-space:nowrap;flex:none}
.env-note a:hover{text-decoration:underline}

@media (max-width:1080px){
  .env-cat-grid,.env-cat-grid.is-3{grid-template-columns:repeat(2,1fr)}
  .env-cat + .env-cat{margin-top:64px}
}
@media (max-width:640px){
  .env-cat-grid,.env-cat-grid.is-2,.env-cat-grid.is-3{grid-template-columns:1fr}
  .env-cat-grid figure.is-wide img{aspect-ratio:16/9 !important}
  .env-cat-head{margin-bottom:26px}
  .env-cat + .env-cat{margin-top:52px}
}

/* ---------- 图集 ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery figure{
  margin:0;position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg-3);
}
.gallery figure.is-wide{grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.gallery figure.is-wide img{aspect-ratio:16/9}
.gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;
  font-size:12.5px;color:#fff;
  background:linear-gradient(to top,rgba(9,16,24,.72),transparent);
}

/* ---------- 流程步骤 ---------- */
.phase{margin-bottom:34px}
.phase-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.phase-num{
  flex:none;width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;
  display:grid;place-items:center;font-size:14px;font-weight:800;
}
.phase-head h3{font-size:19px;font-weight:800;margin:0}
.phase-head > span:last-child{font-size:12.5px;color:var(--mute);margin-left:auto;white-space:nowrap}
.step-list{display:grid;gap:0;border-left:2px solid var(--line);margin-left:16px;padding-left:22px}
.step-item{position:relative;padding:0 0 22px}
.step-item::before{
  content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:2.5px solid var(--pink);
}
.step-item:last-child{padding-bottom:0}
.step-item h4{font-size:15px;font-weight:700;margin:0 0 5px}
.step-item p{font-size:13.5px;color:var(--gray);line-height:1.8;margin:0}
.step-item .when{
  display:inline-block;font-size:11px;color:var(--pink);font-weight:700;
  background:var(--pink-50);border-radius:999px;padding:1px 8px;margin-left:8px;
  vertical-align:middle;
}

/* ---------- 页脚 CTA 带 ---------- */
.cta-band{
  background:var(--bg-2);border-top:1px solid var(--line);
}
.cta-band-inner{
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.cta-band-copy h2{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0}
.cta-band-copy p{font-size:14px;color:var(--gray);margin:8px 0 0;line-height:1.8;max-width:560px}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost-light{
  background:#fff;color:var(--ink);border:1px solid var(--line);
}
.btn-ghost-light:hover{border-color:var(--ink);background:#fff}

/* ---------- 筛选栏 ---------- */
.filter-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.filter-tabs a{
  display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;
  border:1px solid var(--line);background:#fff;font-size:13.5px;color:var(--gray);
  transition:.2s;
}
.filter-tabs a:hover{border-color:var(--pink);color:var(--pink)}
.filter-tabs a.is-on{border-color:var(--pink);background:var(--pink-50);color:var(--pink-700);font-weight:700}

/* ---------- 活动通知：活动卡 ---------- */
.evt-list{display:flex;flex-direction:column;gap:22px}
.evt-card{
  display:grid;grid-template-columns:340px 1fr;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  transition:box-shadow .24s var(--ease),border-color .24s var(--ease);
}
.evt-card:hover{box-shadow:var(--sh-md);border-color:#F5C2D6}
.evt-media{position:relative;background:var(--bg-3)}
.evt-media img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.evt-badge{
  position:absolute;top:14px;left:14px;padding:5px 12px;border-radius:999px;
  font-size:11.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:var(--pink);
  box-shadow:0 4px 12px rgba(233,30,99,.28);
}
.evt-card.is-past .evt-badge{background:rgba(43,47,51,.66);box-shadow:none}
.evt-card.is-past .evt-media img{filter:saturate(.9)}
.evt-body{padding:26px 28px 24px}
.evt-kind{font-size:12px;font-weight:800;color:var(--pink-700);letter-spacing:.04em}
.evt-title{font-size:21px;font-weight:800;line-height:1.4;margin-top:9px;letter-spacing:-.01em}
.evt-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px}
.evt-meta span{display:inline-flex;align-items:flex-start;gap:7px;font-size:13px;color:var(--ink-2);line-height:1.55}
.evt-meta svg{flex:none;width:15px;height:15px;margin-top:2px;color:var(--pink)}
.evt-lead{font-size:14px;line-height:1.85;color:var(--gray);margin-top:14px}
.evt-points{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.evt-points li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.evt-points li::before{
  content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:#F5C2D6;
}
.evt-foot{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:20px}
.evt-foot .btn svg{width:15px;height:15px}
.evt-note{font-size:12.5px;color:var(--mute)}
@media (max-width:900px){
  .evt-card{grid-template-columns:1fr}
  .evt-media img{aspect-ratio:16/9}
  .evt-body{padding:20px 20px 22px}
  .evt-title{font-size:18px}
}

/* ---------- 医生详情卡 ---------- */
.doc-full{
  display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px;margin-bottom:24px;
}
.doc-full .df-photo{
  border-radius:var(--r);overflow:hidden;background:var(--pink-50);
  aspect-ratio:3/4;display:grid;place-items:center;
}
.doc-full .df-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.doc-full .df-photo.is-initial span{
  font-size:76px;font-weight:800;color:rgba(173,20,87,.24);letter-spacing:.04em;
}
.doc-full h3{font-size:21px;font-weight:800;margin:0;line-height:1.4}
.doc-full .df-title{
  font-size:13.5px;color:var(--pink);font-weight:700;margin-top:6px;
  display:inline-block;line-height:1.5;padding:3px 12px;border-radius:999px;
  background:var(--pink-50);border:1px solid var(--pink-100);
}
.doc-full .df-fields{
  display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px;
}
.doc-full .df-fields span{
  font-size:12px;color:var(--ink-2);background:var(--bg-3);
  border-radius:999px;padding:4px 12px;
}
.doc-full .df-bio{font-size:14px;color:var(--gray);line-height:1.9;margin:0 0 12px}
.doc-full .df-quote{
  font-size:14px;color:var(--pink-700);background:var(--pink-50);
  border-radius:10px;padding:12px 16px;line-height:1.8;
}

/* ---------- 提示框 ---------- */
.notice{
  display:flex;gap:13px;align-items:flex-start;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  padding:18px 20px;font-size:13.5px;line-height:1.85;color:var(--gray);
}
.notice svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--pink)}
.notice strong{color:var(--ink)}
.notice.is-warn{background:#FFFBF0;border-color:#F5E3BC}

/* ---------- 团队页开篇导语 ---------- */
.team-lead{
  max-width:860px;margin:0 auto 48px;
  text-align:center;text-wrap:pretty;
  font-size:17px;line-height:2;color:var(--ink-2);
}
@media (max-width:900px){
  .team-lead{font-size:16px;margin-bottom:40px}
}
@media (max-width:640px){
  .team-lead{font-size:15px;line-height:1.95;margin-bottom:32px}
}
.notice.is-warn svg{color:#B8860B}

/* ==========================================================================
   图文交替版式（中心简介等长内容页）
   ========================================================================== */
.duo{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}
.duo + .duo{margin-top:80px}
.duo.rev .duo-media,.duo.rev .duo-side{order:2}

.duo-media{
  position:relative;border-radius:18px;overflow:hidden;background:var(--bg-3);
  aspect-ratio:3/2;
}
.duo-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.duo-media figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:36px 18px 13px;
  font-size:12px;line-height:1.5;color:#fff;
  background:linear-gradient(to top,rgba(9,15,23,.88) 0%,rgba(9,15,23,.58) 38%,rgba(9,15,23,0) 74%);
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}

.duo-copy h2{
  font-size:30px;line-height:1.36;font-weight:800;letter-spacing:-.01em;color:var(--ink);
}
.duo-copy h2 em{font-style:normal;color:var(--pink)}
.duo-copy > p{margin-top:15px;font-size:15px;line-height:1.95;color:var(--ink-2);max-width:530px}
.duo-copy > p strong{color:var(--ink);font-weight:700}

/* 四小项（2×2） */
.duo-points{
  display:grid;grid-template-columns:1fr 1fr;gap:20px 26px;margin-top:28px;
}
.duo-points li{display:flex;gap:11px}
.duo-points .pt-ico{
  width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;
  background:rgba(233,30,99,.09);color:var(--pink);
}
.duo-points .pt-ico.is-teal{background:var(--teal-50);color:var(--teal)}
.duo-points .pt-ico svg{width:15px;height:15px}
.duo-points b{display:block;font-size:13.5px;font-weight:800;color:var(--ink);line-height:1.5}
.duo-points span{display:block;font-size:12px;color:var(--gray);line-height:1.65;margin-top:2px}

/* 三格数据条 */
.duo-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.duo-metrics > div{padding:15px 10px;text-align:center}
.duo-metrics > div + div{border-left:1px solid var(--line-soft)}
.duo-metrics b{
  display:block;font-size:21px;font-weight:800;color:var(--pink);
  letter-spacing:-.02em;line-height:1.2;
}
.duo-metrics span{display:block;font-size:11.5px;color:var(--mute);margin-top:4px}

.duo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* 医生名录（3×2） */
.duo-side{width:100%}
.doc-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.doc-roster figure{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.doc-roster figure:hover{border-color:var(--pink-100);box-shadow:var(--sh-md);transform:translateY(-2px)}
.doc-roster img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 16%}
.doc-roster figcaption{padding:9px 10px 11px}
.doc-roster b{display:block;font-size:13px;font-weight:800;color:var(--ink);line-height:1.4}
.doc-roster span{display:block;font-size:11px;color:var(--mute);line-height:1.45;margin-top:2px}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .duo{grid-template-columns:1fr;gap:34px}
  .duo.rev .duo-media{order:0}
  .duo + .duo{margin-top:64px}
  .duo-copy h2{font-size:27px}
  .duo-copy > p{max-width:none}
  .duo-media{max-width:640px;margin:0 auto}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .stat-band{grid-template-columns:repeat(2,1fr)}
  .stat-band > div:nth-child(3){border-left:none}
  .stat-band > div:nth-child(n+3){border-top:1px solid var(--line-soft)}
  .doc-full{grid-template-columns:200px 1fr;gap:26px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gallery figure.is-wide{grid-column:span 2}
  .cta-band-inner{gap:26px}
}
@media (max-width:760px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .content h2{font-size:22px}
  .doc-full{grid-template-columns:1fr;gap:20px;padding:22px}
  .doc-full .df-photo{max-width:200px}
  .article-card{flex-direction:column-reverse;gap:14px}
  .article-card .a-thumb{width:100%;height:150px}
  .phase-head span{margin-left:0;flex:0 0 100%;order:3;padding-left:46px;margin-top:-6px}
  .cta-band-inner{flex-direction:column;align-items:flex-start}
  .cta-band-actions{width:100%}
  .cta-band-actions .btn{flex:1;justify-content:center}
  .stat-band b{font-size:23px}
  .price-card .p-price b{font-size:29px}
  .timeline{padding-left:26px}
  .gallery{grid-template-columns:1fr}
  .gallery figure.is-wide{grid-column:span 1}
}

/* 图文交替 — 移动端 */
@media (max-width:760px){
  .duo{gap:26px}
  .duo + .duo{margin-top:52px}
  .duo-copy h2{font-size:23px;line-height:1.42}
  .duo-copy > p{font-size:14.5px;line-height:1.9}
  .duo-points{grid-template-columns:1fr;gap:16px}
  .duo-metrics b{font-size:18px}
  .duo-metrics span{font-size:10.5px}
  .duo-actions .btn{flex:1;justify-content:center}
  .doc-roster{grid-template-columns:repeat(2,1fr);gap:10px}
  .doc-roster b{font-size:12.5px}
}

/* ==========================================================================
   资质认证页 — 认证卡组 / 奖项列表 / 认证 CTA
   ========================================================================== */
.cert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cert-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden;text-align:center;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
}
.cert-card:hover{transform:translateY(-3px);border-color:var(--pink-100);box-shadow:0 16px 36px rgba(233,30,99,.1)}
.cert-media{
  height:138px;display:flex;align-items:center;justify-content:center;padding:16px 18px;
  background:linear-gradient(180deg,#FFFDFE,#FCF7F9);border-bottom:1px solid var(--line-soft);
}
.cert-media img{
  max-width:min(100%,192px);max-height:100%;height:auto;object-fit:contain;
  transition:transform .4s var(--ease);
}
.cert-card:hover .cert-media img{transform:scale(1.07)}
.cert-body{padding:18px 17px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.cert-body h3{font-size:13.5px;line-height:1.5;font-weight:800;min-height:3em;letter-spacing:-.005em;text-wrap:balance}
.cert-body p{font-size:12px;line-height:1.85;color:var(--gray);text-align:center;letter-spacing:.005em;text-wrap:balance}
.cert-foot{
  margin-top:22px;font-size:12px;line-height:1.8;color:var(--mute);text-align:center;
}

.award-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.award{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;padding:24px 18px 22px;
  background:#fff;border:1px solid var(--line-soft);border-radius:14px;
  transition:transform .28s var(--ease),border-color .22s var(--ease),background .22s var(--ease),box-shadow .28s var(--ease);
}
.award:hover{transform:translateY(-4px);border-color:var(--pink-100);background:#FFFBFD;box-shadow:0 14px 30px rgba(233,30,99,.1)}
.award:hover .award-ico{transform:scale(1.06)}
.award .award-ico{
  flex:none;width:100%;height:118px;display:grid;place-items:center;overflow:hidden;
  background:transparent;color:var(--pink);transition:transform .28s var(--ease);
}
.award .award-ico img{height:118px;width:auto;max-width:100%;object-fit:contain;display:block}
.award .award-ico .ico-badge{
  width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#FCE9F1;color:var(--pink);
}
.award .award-ico svg{width:24px;height:24px}
.award b{display:flex;align-items:center;justify-content:center;min-height:3.1em;font-size:13.5px;font-weight:800;line-height:1.55;color:var(--ink);text-wrap:balance}
.award span{display:block;font-size:12px;line-height:1.8;color:var(--gray);margin-top:5px;text-wrap:balance}

.cert-cta{
  background:linear-gradient(135deg,#E91E63 0%,#C2185B 100%);
  color:#fff;text-align:center;padding:72px 0;
}
.cert-cta h2{font-size:30px;font-weight:800;letter-spacing:-.01em;color:#fff}
.cert-cta p{font-size:14.5px;line-height:1.8;color:rgba(255,255,255,.92);margin-top:12px;max-width:620px;margin-left:auto;margin-right:auto}
.cert-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.btn-white{background:#fff;color:var(--pink-700);font-weight:700;border:1px solid #fff}
.btn-white:hover{background:#fff;color:var(--pink-600);transform:translateY(-1px)}
.btn-outline-white{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);font-weight:700}
.btn-outline-white:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}

@media (max-width:1200px){
  .cert-grid{grid-template-columns:repeat(3,1fr)}
  .cert-body h3{font-size:14px}
  .cert-body p{font-size:12.5px}
  .award-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .cert-grid > :last-child:nth-child(odd){grid-column:span 2}
  .cert-media{height:120px}
  .award-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}
@media (max-width:760px){
  .award-grid{grid-template-columns:1fr}
  .cert-cta{padding:52px 0}
  .cert-cta h2{font-size:23px}
  .cert-cta p{font-size:13.5px}
  .cert-cta-actions .btn{flex:1;justify-content:center}
}
@media (max-width:520px){
  .cert-grid{grid-template-columns:1fr}
  .cert-grid > :last-child:nth-child(odd){grid-column:span 1}
}

/* 资质页：区块标题居中（参考稿版式），仅本页使用 */
.sec-head.is-center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.is-center .sec-sub{margin-left:auto;margin-right:auto}
.sec-head.is-center .sec-title{text-wrap:balance}
.sec-head.is-center .sec-sub{text-wrap:pretty}

/* ---------- 区块小标题 / 核心设备 ---------- */
.sub-title{
  font-size:17px;font-weight:800;color:var(--ink);
  margin:0 0 18px;
}
.equip-grid{align-items:stretch}
.equip-item{
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 22px 20px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.equip-item:hover{
  transform:translateY(-3px);border-color:var(--pink-100);
  box-shadow:0 16px 36px rgba(233,30,99,.1);
}
.equip-ico{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--pink-50);color:var(--pink);margin-bottom:14px;
}
.equip-ico svg{width:20px;height:20px}
.equip-item b{font-size:15px;font-weight:800;color:var(--ink);line-height:1.5;margin-bottom:6px}
.equip-item p{font-size:13px;line-height:1.8;color:var(--gray);margin:0}

/* ---------- 受精方式常见问题卡片 ---------- */
.faq-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.faq-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px 26px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.faq-card:hover{
  transform:translateY(-3px);border-color:var(--pink-100);
  box-shadow:0 16px 36px rgba(233,30,99,.08);
}
.faq-card h3{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 10px;line-height:1.5}
.faq-card p{font-size:13.5px;line-height:1.85;color:var(--gray);margin:0}
@media(max-width:720px){
  .faq-cards{grid-template-columns:1fr}
}

/* ---------- 受精方式三卡 ---------- */
.fer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;margin-top:14px}
.fer-card{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:28px 26px 26px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.fer-card:hover{transform:translateY(-4px);border-color:var(--pink-100);box-shadow:0 18px 40px rgba(233,30,99,.1)}
.fer-card.is-featured{
  border:2px solid var(--pink);box-shadow:0 20px 46px rgba(233,30,99,.14);
  background:linear-gradient(180deg,#FFF9FB 0%,#fff 46%);
}
.fer-card.is-featured:hover{box-shadow:0 24px 54px rgba(233,30,99,.2)}
.fer-badge{
  position:absolute;top:-12px;right:26px;
  font-size:11.5px;font-weight:800;letter-spacing:.05em;color:#fff;
  background:var(--pink);padding:4px 13px;border-radius:999px;
  box-shadow:0 6px 14px rgba(233,30,99,.3);
}
.fer-gen{
  display:inline-block;align-self:flex-start;
  font-size:11.5px;font-weight:800;letter-spacing:.04em;color:#fff;
  background:#2B2F33;padding:3px 12px;border-radius:999px;margin-bottom:14px;
}
.fer-card.is-gen2 .fer-gen{background:var(--teal)}
.fer-card.is-gen3 .fer-gen{background:var(--pink)}
.fer-card h3{font-size:19px;font-weight:800;color:var(--ink);margin:0;line-height:1.4}
.fer-card h3 em{font-style:normal;font-size:14px;font-weight:400;color:var(--mute);margin-left:4px}
.fer-rate{
  font-size:17px;font-weight:800;color:var(--pink);
  margin:8px 0 0;padding-bottom:16px;border-bottom:1px dashed var(--line);letter-spacing:-.01em;
}
.fer-fields{display:grid;gap:11px;margin:16px 0 0}
.fer-fields > div{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:start}
.fer-fields dt{font-size:12.5px;font-weight:800;color:var(--ink);line-height:1.85;white-space:nowrap}
.fer-fields dd{margin:0;font-size:13px;line-height:1.85;color:var(--gray)}

/* ---------- 为什么推荐 IMSI（粉色提示条） ---------- */
.why-imsi{
  display:flex;gap:16px;align-items:flex-start;
  background:linear-gradient(135deg,#FCE7F0 0%,#FBDDEA 100%);
  border-left:4px solid var(--pink);border-radius:14px;
  padding:26px 30px 26px 26px;margin-top:34px;
}
.why-imsi .wi-ico{
  flex:none;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:#fff;color:var(--pink);
  box-shadow:0 4px 12px rgba(233,30,99,.16);
}
.why-imsi .wi-ico svg{width:19px;height:19px}
.why-imsi h3{font-size:16px;font-weight:800;color:var(--pink-700);margin:0 0 12px;letter-spacing:-.005em}
.why-imsi p{font-size:13.5px;line-height:2;color:#4A3A42;margin:0 0 10px}
.why-imsi p:last-child{margin-bottom:0}

/* ---------- 受精方式对比表 ---------- */
.fer-table-wrap{
  margin-top:26px;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 30px rgba(233,30,99,.08);border:1px solid var(--pink-100);
}
.fer-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.fer-tbl thead th{
  background:linear-gradient(135deg,#F04A85 0%,#E91E63 100%);
  color:#fff;font-size:13px;font-weight:800;letter-spacing:.01em;
  padding:16px 18px;text-align:left;border:none;white-space:nowrap;
}
.fer-tbl thead th:first-child{width:22%}
.fer-tbl tbody td{
  padding:14px 18px;border-bottom:1px solid var(--line-soft);
  color:var(--gray);line-height:1.7;vertical-align:top;
}
.fer-tbl tbody tr:last-child td{border-bottom:none}
.fer-tbl tbody td:first-child{font-weight:800;color:var(--ink);white-space:nowrap}
.fer-tbl tbody tr.is-row-pink td{background:#FDF0F5}
.fer-tbl .col-imsi{color:var(--pink);font-weight:800}
.fer-tbl tbody tr:hover td{background:#FFF8FB}
.fer-tbl tbody tr.is-row-pink:hover td{background:#FCE7F0}

/* ---------- 双威设备与团队（浅绿条） ---------- */
.team-note{
  display:flex;gap:15px;align-items:flex-start;
  background:var(--teal-50);border-left:4px solid var(--teal);border-radius:12px;
  padding:22px 26px;margin-top:22px;
}
.team-note .tn-ico{flex:none;width:34px;height:34px;display:grid;place-items:center;color:var(--teal)}
.team-note .tn-ico svg{width:20px;height:20px}
.team-note h3{font-size:14.5px;font-weight:800;color:var(--teal);margin:0 0 9px}
.team-note p{font-size:13px;line-height:1.95;color:#3B4A47;margin:0}

@media(max-width:980px){
  .fer-grid{grid-template-columns:1fr}
  .fer-card.is-featured{order:-1}
}
@media(max-width:720px){
  .why-imsi,.team-note{padding:20px 20px 20px 18px}
  .fer-tbl{font-size:12.5px}
  .fer-tbl thead th,.fer-tbl tbody td{padding:12px 13px}
  .fer-tbl tbody td:first-child{white-space:normal}
  .fer-table-wrap{overflow-x:auto}
  .fer-tbl{min-width:560px}
}

/* ==========================================================================
   分院页（about/branches.html）：主院区详解 + 地图占位 + 其余分院简卡
   ========================================================================== */
.branch-main{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}

.map-ph{
  position:relative;display:block;overflow:hidden;border-radius:var(--r-lg);
  border:1px solid var(--line);background:#F2F4F7;aspect-ratio:4/3;
  box-shadow:var(--sh-sm);
}
.map-ph img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .6s var(--ease);
}
.map-ph:hover img{transform:scale(1.035)}
.map-pin{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:#fff;color:var(--pink);
  box-shadow:0 8px 24px rgba(22,32,43,.24),0 0 0 6px rgba(255,255,255,.55);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.map-pin svg{width:26px;height:26px;display:block}
.map-ph:hover .map-pin{
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 12px 30px rgba(233,30,99,.3),0 0 0 8px rgba(255,255,255,.6);
}
.map-label{
  position:absolute;left:50%;top:50%;transform:translate(-50%,33px);
  background:#fff;color:var(--ink);font-size:12.5px;font-weight:800;line-height:1;
  padding:8px 12px;border-radius:99px;white-space:nowrap;
  box-shadow:0 4px 16px rgba(22,32,43,.16);
  transition:transform .3s var(--ease);
}
.map-ph:hover .map-label{transform:translate(-50%,33px)}
.map-open{
  position:absolute;right:14px;bottom:14px;
  display:inline-flex;align-items:center;gap:5px;
  background:#fff;color:var(--ink);font-size:12.5px;font-weight:700;line-height:1;
  padding:9px 13px;border-radius:99px;
  box-shadow:0 4px 16px rgba(22,32,43,.18);
  transition:background .22s var(--ease),color .22s var(--ease);
}
.map-open svg{width:13px;height:13px}
.map-ph:hover .map-open{background:var(--pink);color:#fff}
.map-credit{
  position:absolute;left:10px;bottom:9px;
  font-size:10px;line-height:1;color:#5C6875;
  background:rgba(255,255,255,.8);padding:3px 6px;border-radius:4px;
}

.branch-info h3{font-size:26px;font-weight:800;line-height:1.4;color:var(--ink)}
.branch-info h3 span{
  display:block;font-size:14px;font-weight:600;color:var(--mute);
  letter-spacing:.01em;margin-top:5px;
}
.b-list{margin-top:26px;display:flex;flex-direction:column;gap:20px}
.b-list li{display:flex;gap:14px;align-items:flex-start}
.b-ico{
  flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--pink-50);color:var(--pink);margin-top:1px;
}
.b-ico svg{width:19px;height:19px;display:block}
.b-txt b{
  display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;
  color:var(--mute);margin-bottom:4px;
}
.b-txt p{font-size:14.5px;line-height:1.72;color:var(--ink-2)}
.b-txt p a{color:var(--pink);font-weight:700}
.b-txt p a:hover{text-decoration:underline}
.b-txt em{display:block;font-style:normal;font-size:13px;color:var(--mute);margin-top:3px;line-height:1.7}
.b-txt em a{color:var(--gray);border-bottom:1px dotted #CFD8DF}
.b-txt em a:hover{color:var(--pink);border-color:var(--pink)}
.b-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.nw{white-space:nowrap}

.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.branch-mini{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:24px 24px 22px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
}
.branch-mini:hover{
  transform:translateY(-3px);border-color:var(--pink-100);
  box-shadow:0 16px 36px rgba(233,30,99,.09);
}
.bm-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bm-head h3{font-size:16.5px;font-weight:800;color:var(--ink);line-height:1.45}
.bm-tag{
  flex:none;font-size:11.5px;font-weight:700;color:var(--pink);line-height:1.8;
  background:var(--pink-50);border-radius:99px;padding:1px 10px;
}
.bm-en{font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.6}
.bm-addr{
  display:flex;gap:7px;align-items:flex-start;
  font-size:13px;line-height:1.78;color:var(--gray);margin-top:14px;
  padding-top:14px;border-top:1px solid var(--line-soft);
  text-wrap:pretty;
}
.bm-addr svg{width:14px;height:14px;flex:none;margin-top:4px;color:var(--pink)}

@media (max-width:1024px){
  .branch-main{grid-template-columns:1fr;gap:34px}
  .map-ph{aspect-ratio:16/9}
  .branch-info h3{font-size:23px}
  .branch-info h3 span{font-size:13.5px}
}
@media (max-width:900px){
  .branch-grid{grid-template-columns:1fr;gap:14px}
}
@media (max-width:760px){
  .map-ph{aspect-ratio:4/3;border-radius:var(--r)}
  .map-pin{width:46px;height:46px}
  .map-pin svg{width:22px;height:22px}
  .map-open{right:10px;bottom:10px;font-size:11.5px;padding:8px 11px}
  .map-credit{left:8px;bottom:8px;font-size:9px}
  .b-list{gap:17px;margin-top:22px}
  .b-actions{flex-direction:column;margin-top:26px}
  .b-actions .btn{width:100%}
  .branch-mini{padding:20px 20px 18px}
}

/* ================= 冻卵页 ================= */
.egg-intro{max-width:780px;margin:0 auto 46px;text-align:center}
.egg-intro-tag{
  display:block;font-size:12.5px;font-weight:800;letter-spacing:.16em;color:var(--pink);
}
.egg-intro h2{
  font-size:34px;line-height:1.28;font-weight:900;letter-spacing:-.02em;
  color:var(--ink);margin-top:14px;
}
.egg-intro p{
  margin:16px auto 0;max-width:600px;
  font-size:15px;line-height:1.9;color:var(--gray);
}
@media(max-width:640px){
  .egg-intro{margin:0 auto 32px}
  .egg-intro-tag{font-size:11.5px}
  .egg-intro h2{font-size:24px;line-height:1.34}
  .egg-intro p{font-size:13.5px;line-height:1.85;margin-top:13px}
}

.egg-hero{display:grid;grid-template-columns:1.42fr 1fr;gap:22px;align-items:stretch}
.egg-rate-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:28px 30px 24px;
}
.egg-rate-card h3{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 8px}
.egg-rate-sub{font-size:12.5px;line-height:1.85;color:var(--mute);margin:0 0 22px}
.egg-bars{display:grid;gap:13px}
.egg-bar-row{display:grid;grid-template-columns:54px 1fr 82px;gap:12px;align-items:center}
.egg-bar-age{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}
.egg-bar-track{display:block;height:20px;border-radius:5px;background:var(--bg-2);overflow:hidden}
.egg-bar-track i{display:block;height:100%;border-radius:5px;transform-origin:left;animation:eggBarIn 1s var(--ease) both}
.egg-bar-track i.is-good{background:linear-gradient(90deg,#0E9A8A,#46C2AE)}
.egg-bar-track i.is-bad{background:linear-gradient(90deg,#D8155A,#F06292)}
.egg-bar-val{font-size:12.5px;font-weight:700;color:var(--ink-2);white-space:nowrap}
@keyframes eggBarIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.egg-bar-note{font-size:11.5px;line-height:1.75;color:var(--mute);margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--line)}
.egg-stat-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,#FCE4EC 0%,#F9BFD4 100%);
  border-radius:18px;padding:36px 28px;border:1px solid #F8C6DA;
}
.egg-stat-card b{font-size:52px;font-weight:900;color:var(--pink);letter-spacing:-.03em;line-height:1}
.egg-stat-card span{font-size:15px;font-weight:800;color:var(--pink-700);margin-top:14px;letter-spacing:.01em}
.egg-stat-card em{
  font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.14em;
  color:rgba(173,20,87,.6);margin-top:9px;text-transform:uppercase;
}

.egg-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
.egg-who-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:26px 24px 24px;text-align:center;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.egg-who-card:hover{transform:translateY(-4px);border-color:var(--pink-100);box-shadow:0 16px 36px rgba(233,30,99,.09)}
.ew-ico{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--pink-50);color:var(--pink);margin:0 auto 14px;
}
.ew-ico svg{width:21px;height:21px}
.egg-who-card h3{font-size:15.5px;font-weight:800;color:var(--ink);margin:0 0 9px}
.egg-who-card p{font-size:12.5px;line-height:1.9;color:var(--gray);margin:0}

.section.egg-tech-band{background:linear-gradient(180deg,#FDF3F7 0%,#FCE9F1 100%)}
.egg-tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}
.egg-tech-card{
  display:flex;gap:12px;align-items:flex-start;background:#fff;
  border-radius:14px;padding:20px 20px 18px;
  box-shadow:0 6px 18px rgba(233,30,99,.06);
  transition:transform .25s ease,box-shadow .25s ease;
}
.egg-tech-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(233,30,99,.12)}
.et-ico{flex:none;width:30px;height:30px;display:grid;place-items:center;color:var(--pink)}
.et-ico svg{width:19px;height:19px}
.egg-tech-card h3{font-size:13.5px;font-weight:800;color:var(--pink-700);margin:4px 0 7px}
.egg-tech-card p{font-size:12px;line-height:1.85;color:var(--gray);margin:0}

.egg-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}
.egg-step{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:24px 20px 22px;text-align:center;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.egg-step:hover{transform:translateY(-3px);border-color:var(--pink-100);box-shadow:0 14px 32px rgba(233,30,99,.09)}
.es-no{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#F06292,#E91E63);color:#fff;
  font-size:13px;font-weight:800;margin-bottom:13px;letter-spacing:.01em;
}
.egg-step h4{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 8px}
.egg-step p{font-size:12px;line-height:1.85;color:var(--gray);margin:0}

.egg-store{
  background:#EAF7F1;border:1px solid #CFE9DF;border-radius:16px;
  padding:30px 34px 28px;max-width:920px;margin:6px auto 0;
}
.egg-store h3{
  display:flex;align-items:center;gap:9px;
  font-size:15px;font-weight:800;color:#0E7C66;margin:0 0 20px;
}
.egg-store h3 svg{width:17px;height:17px}
.egg-store-list{display:grid;gap:11px;margin:0}
.egg-store-list > div{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:start}
.egg-store-list dt{font-size:12.5px;font-weight:800;color:#0E5C4E;line-height:1.9;white-space:nowrap}
.egg-store-list dd{margin:0;font-size:12.5px;line-height:1.9;color:#3B5350}
.egg-faq-list{display:grid;gap:14px;max-width:940px;margin:6px auto 0}
.egg-faq-item{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--pink);
  border-radius:10px;padding:20px 26px;
  transition:box-shadow .25s ease,border-color .25s ease;
}
.egg-faq-item:hover{box-shadow:0 12px 28px rgba(233,30,99,.08)}
.egg-faq-item h3{font-size:14.5px;font-weight:800;color:var(--ink);margin:0 0 9px}
.egg-faq-item p{font-size:13px;line-height:1.9;color:var(--gray);margin:0}

@media(max-width:1024px){
  .egg-hero{grid-template-columns:1fr}
  .egg-who-grid{grid-template-columns:repeat(2,1fr)}
  .egg-tech-grid{grid-template-columns:repeat(2,1fr)}
  .egg-flow-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .egg-who-grid,.egg-tech-grid,.egg-flow-grid{grid-template-columns:1fr}
  .egg-rate-card{padding:22px 20px 20px}
  .egg-bar-row{grid-template-columns:46px 1fr 74px;gap:9px}
  .egg-bar-age,.egg-bar-val{font-size:12px}
  .egg-stat-card{padding:28px 22px}
  .egg-stat-card b{font-size:42px}
  .egg-store{padding:24px 20px}
  .egg-store-list > div{grid-template-columns:1fr;gap:2px}
  .egg-faq-item{padding:18px 20px}
}

/* ================= 技术矩阵页 ================= */
.section.tx-sec{background:#fff}
.section.tx-sec.is-alt{background:var(--bg-2)}
.tx-head{text-align:center;max-width:720px;margin:0 auto 36px}
.tx-eyebrow{
  display:block;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--pink);
}
.tx-head h2{
  font-size:29px;line-height:1.3;font-weight:900;letter-spacing:-.01em;
  color:var(--ink);margin-top:10px;
}
.tx-head p{font-size:13px;line-height:1.85;color:var(--gray);margin-top:11px}
.tx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tx-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:24px 16px 20px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.tx-card:hover{
  transform:translateY(-3px);border-color:var(--pink-100);
  box-shadow:0 14px 30px rgba(233,30,99,.08);
}
.tx-ico{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 14px}
.tx-ico svg{width:31px;height:31px}
.tx-card h3{font-size:16px;font-weight:800;color:var(--ink);line-height:1.4;margin:0;letter-spacing:-.005em}
.tx-card p{font-size:11.8px;line-height:1.85;color:var(--gray);margin:8px 0 10px;text-wrap:pretty}
.tx-tag{
  display:inline-block;margin-top:auto;
  font-size:10.5px;font-weight:700;line-height:1.7;
  padding:2px 9px;border-radius:99px;white-space:nowrap;
}
.tx-tag.is-inc{background:var(--teal-50);color:var(--teal)}
.tx-tag.is-opt{background:var(--bg-2);color:var(--mute);border:1px solid var(--line)}

/* 三件事 · 双威怎么做 */
.tx-do{
  max-width:960px;margin:46px auto 0;
  background:linear-gradient(180deg,#FDF4F8 0%,#FCEAF1 100%);
  border:1px solid #F8CEDD;border-radius:18px;
  padding:36px 38px 30px;
}
.tx-do-head{text-align:center;margin-bottom:26px}
.tx-do-head h3{
  font-size:21px;line-height:1.4;font-weight:900;letter-spacing:-.01em;
  color:var(--ink);margin-top:9px;
}
.tx-do-list{display:grid;gap:16px}
.tx-do-item{
  display:grid;grid-template-columns:42px 1fr;gap:16px;
  background:#fff;border:1px solid #FBDCE8;border-radius:14px;
  padding:20px 24px 20px 22px;
}
.tx-do-no{
  display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#F06292,#E91E63);color:#fff;
  font-size:12.5px;font-weight:800;margin-top:2px;
}
.tx-do-body h4{font-size:15px;font-weight:800;color:var(--ink);line-height:1.5;margin:0 0 9px}
.tx-do-body p{font-size:13px;line-height:1.95;color:var(--gray);margin:0}
.tx-do-body p + p{margin-top:6px}
.tx-do-body b{color:var(--pink-700);font-weight:800;margin-right:7px}
.tx-do-note{
  font-size:12.5px;line-height:1.9;color:var(--ink-2);text-align:center;
  margin:22px 0 0;padding-top:18px;border-top:1px dashed #F3C6D8;
}
@media(max-width:1024px){
  .tx-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .tx-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .tx-head{margin-bottom:26px}
  .tx-head h2{font-size:23px}
  .tx-card{padding:18px 12px 16px}
  .tx-ico{width:38px;height:38px;margin-bottom:11px}
  .tx-ico svg{width:27px;height:27px}
  .tx-card h3{font-size:14.5px}
  .tx-card p{font-size:11.5px}
  .tx-do{padding:26px 20px 24px;border-radius:16px;margin-top:32px}
  .tx-do-head h3{font-size:17px}
  .tx-do-item{grid-template-columns:32px 1fr;gap:12px;padding:18px 16px}
  .tx-do-no{width:28px;height:28px;font-size:11px;margin-top:1px}
  .tx-do-body h4{font-size:14px}
  .tx-do-body p{font-size:12.5px}
  .tx-do-note{font-size:12px;text-align:left}
}

/* ==========================================================================
   套餐价格页 — 付款方式
   ========================================================================== */
.pay-sec{background:linear-gradient(180deg,#FFF7FA 0%,#FFFFFF 82%)}
.pay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pay-card{
  background:#fff;border:1px solid #F5E4EC;border-radius:var(--r);
  padding:28px 20px 26px;text-align:center;
  box-shadow:0 4px 18px rgba(233,30,99,.05);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.pay-card:hover{transform:translateY(-5px);border-color:#F3B9D2;box-shadow:0 16px 34px rgba(233,30,99,.14)}
.pay-ico{
  width:58px;height:58px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  border-radius:17px;background:linear-gradient(135deg,#FDEBF3,#FAD3E3);color:var(--pink-700);
  transition:transform .3s var(--ease);
}
.pay-card:hover .pay-ico{transform:scale(1.06)}
.pay-ico svg{width:31px;height:31px}
.pay-card h3{font-size:15.5px;font-weight:800;margin:0 0 8px;color:var(--ink)}
.pay-card p{font-size:12.5px;line-height:1.72;color:var(--mute);margin:0;text-wrap:balance;min-height:2.72em}

.pay-note{
  display:flex;align-items:flex-start;gap:12px;max-width:900px;margin:28px auto 0;
  background:#fff;border:1px solid #F3D2DE;border-left:4px solid var(--pink);
  border-radius:var(--r-sm);padding:16px 20px;box-shadow:0 2px 10px rgba(233,30,99,.05);
}
.pay-note svg{width:20px;height:20px;flex:none;color:var(--pink);margin-top:2px}
.pay-note p{margin:0;font-size:13.5px;line-height:1.78;color:var(--ink-2);text-wrap:pretty}
.pay-note strong{color:var(--pink-700)}

@media (max-width:900px){
  .pay-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media (max-width:520px){
  .pay-grid{grid-template-columns:1fr;gap:12px}
  .pay-card{padding:24px 18px 22px;display:grid;grid-template-columns:58px 1fr;gap:4px 16px;text-align:left;align-items:center}
  .pay-ico{margin:0;grid-row:span 2}
  .pay-card h3{margin:0;font-size:15px}
  .pay-card p{min-height:0}
  .pay-note{flex-direction:row;padding:15px 16px;margin-top:22px}
  .pay-note p{font-size:12.5px}
}

/* ==========================================================================
   成功案例 · 列表卡「查看完整案例」
   ========================================================================== */
.case-more{
  margin-top:auto;padding-top:18px;font-size:13px;font-weight:800;color:var(--pink);
  display:inline-flex;align-items:center;gap:6px;transition:gap .25s var(--ease);
}
.case-card:hover .case-more{gap:10px}

/* ==========================================================================
   成功案例 · 详情页
   ========================================================================== */
.cs-sec{padding:0 0 84px}
.cs-cover{
  position:relative;margin:44px auto 0;max-width:520px;border-radius:20px;overflow:hidden;
  box-shadow:0 16px 40px rgba(22,32,43,.14);background:var(--bg-3);
}
.cs-cover img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top}
.cs-cover figcaption{
  position:absolute;right:14px;bottom:12px;font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.9);
  background:rgba(22,32,43,.62);padding:5px 12px;border-radius:11px;backdrop-filter:blur(3px);
  max-width:calc(100% - 28px);
}

.cs-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:52px;align-items:start;margin-top:46px}
.cs-main p{font-size:15px;line-height:1.95;color:var(--ink-2);margin:0 0 15px}
.cs-lead{font-size:16.5px !important;line-height:2 !important;color:var(--ink) !important}
.cs-main ul{margin:0 0 18px;padding:0;list-style:none}
.cs-main ul li{
  position:relative;padding-left:20px;font-size:14.5px;line-height:1.9;color:var(--ink-2);margin-bottom:8px;
}
.cs-main ul li::before{
  content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;
  background:var(--pink-100);border:1.5px solid var(--pink);
}

.cs-h2{
  display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;
  letter-spacing:-.01em;margin:46px 0 18px;color:var(--ink);
}
.cs-h2 span{
  flex:none;font-size:12px;font-weight:800;color:#fff;background:var(--pink);
  border-radius:8px;padding:4px 9px;letter-spacing:.06em;
}
.cs-h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#F3D2DE,rgba(243,210,222,0))}

.cs-files{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 28px}
.cs-file{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.cs-file h3{
  font-size:13px;font-weight:800;color:var(--pink-700);letter-spacing:.04em;
  margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.cs-file dl{margin:0;display:grid;gap:9px}
.cs-file dl div{display:flex;gap:12px;font-size:13px;line-height:1.65}
.cs-file dt{flex:none;width:116px;color:var(--mute);line-height:1.55}
.cs-file dd{margin:0;color:var(--ink-2);font-weight:600}

.cs-quote{
  background:var(--pink-50);border-left:4px solid var(--pink);border-radius:0 12px 12px 0;
  padding:16px 20px;margin:22px 0;font-size:14.5px;line-height:1.85;
  color:var(--pink-700);font-weight:600;
}

.cs-funnel{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;
  background:#fff;border:1px solid #F3E3EA;border-radius:16px;
  padding:24px 18px;margin:26px 0;box-shadow:0 8px 26px rgba(233,30,99,.07);
}
.cs-step{text-align:center;position:relative}
.cs-step b{display:block;font-size:29px;font-weight:800;color:var(--pink);line-height:1.1;letter-spacing:-.02em}
.cs-step span{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-top:7px}
.cs-step i{display:block;font-size:11px;color:var(--mute);font-style:normal;margin-top:3px;line-height:1.5}
.cs-step:not(:last-child)::after{
  content:"";position:absolute;right:-6px;top:15px;width:6px;height:6px;
  border-top:2px solid #F0B9CE;border-right:2px solid #F0B9CE;transform:rotate(45deg);
}

.cs-fig{margin:26px 0 30px}
.cs-fig img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:var(--bg-3)}
.cs-fig figcaption{font-size:12px;color:var(--mute);text-align:center;margin-top:11px;line-height:1.7}

.cs-result{
  background:linear-gradient(135deg,#FFF1F6,#FFF9FC);border:1px solid #F3D2DE;
  border-radius:16px;padding:22px 24px;margin:28px 0 6px;
}
.cs-result h3{
  font-size:11.5px;font-weight:800;color:var(--pink);letter-spacing:.1em;
  margin:0 0 9px;text-transform:uppercase;
}
.cs-result p{margin:0;font-size:15px !important;line-height:1.85 !important;font-weight:700;color:var(--ink)}

.cs-hl{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.cs-hl li{
  background:#fff;border:1px solid var(--line);border-left:3px solid #F7BFD4;
  border-radius:4px 14px 14px 4px;padding:19px 22px;transition:border-color .25s,box-shadow .25s;
}
.cs-hl li:hover{border-left-color:var(--pink);box-shadow:0 8px 24px rgba(233,30,99,.08)}
.cs-hl h3{font-size:15px;font-weight:800;margin:0 0 7px;line-height:1.6;color:var(--ink)}
.cs-hl p{font-size:13.5px !important;line-height:1.85 !important;color:var(--gray) !important;margin:0 !important}

.cs-rel{margin-top:40px;border-top:1px solid var(--line);padding-top:26px}
.cs-rel h3{font-size:14px;font-weight:800;color:var(--mute);letter-spacing:.06em;margin:0 0 14px}
.cs-rel ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.cs-rel ul li{margin:0;padding:0}
.cs-rel ul li::before{display:none}
.cs-rel a{
  display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;
  border:1px solid var(--line);border-radius:999px;font-size:13.5px;color:var(--ink-2);
  transition:.22s;background:#fff;
}
.cs-rel a span{color:var(--pink);font-weight:800;transition:transform .22s}
.cs-rel a:hover{border-color:var(--pink);color:var(--pink-700);background:var(--pink-50)}
.cs-rel a:hover span{transform:translateX(3px)}

.cs-side{position:sticky;top:96px;display:grid;gap:14px;align-content:start}
.cs-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px}
.cs-card h3{
  font-size:13px;font-weight:800;color:var(--ink);letter-spacing:.04em;margin:0 0 14px;
  padding-bottom:12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;
}
.cs-card h3::before{content:"";width:3px;height:14px;border-radius:2px;background:var(--pink)}
.cs-card dl{margin:0}
.cs-card dl div{
  display:flex;justify-content:space-between;gap:14px;padding:8px 0;
  border-bottom:1px dashed var(--line-soft);font-size:12.5px;
}
.cs-card dl div:last-child{border-bottom:none;padding-bottom:0}
.cs-card dt{color:var(--mute);flex:none}
.cs-card dd{margin:0;font-weight:700;color:var(--ink);text-align:right;line-height:1.6}
.cs-doc{
  display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:14px 16px;transition:.24s;
}
.cs-doc:hover{border-color:var(--pink-100);box-shadow:0 8px 22px rgba(233,30,99,.09)}
.cs-doc img{width:50px;height:50px;border-radius:50%;object-fit:cover;flex:none;background:var(--bg-3)}
.cs-doc b{display:block;font-size:14.5px;font-weight:800;color:var(--ink)}
.cs-doc span{display:block;font-size:11.5px;color:var(--mute);margin-top:3px;line-height:1.5}
.cs-side .btn{width:100%}
.cs-side-note{font-size:11.5px;line-height:1.75;color:var(--mute);margin:0;padding:0 4px}

@media (max-width:1024px){
  .cs-layout{grid-template-columns:1fr;gap:34px;margin-top:36px}
  .cs-side{position:static;grid-template-columns:1fr 1fr;gap:14px}
  .cs-side .btn,.cs-side-note{grid-column:1/-1}
  .cs-main p{font-size:14.5px}
}
@media (max-width:760px){
  .cs-cover{margin-top:26px;border-radius:14px;max-width:100%}
  .cs-cover img{aspect-ratio:3/4;object-position:center top}
  .cs-cover figcaption{right:8px;bottom:8px;font-size:10.5px;padding:4px 9px;max-width:calc(100% - 16px)}
  .cs-h2{font-size:18.5px;margin:36px 0 15px}
  .cs-h2 span{font-size:11px;padding:3px 8px}
  .cs-files{grid-template-columns:1fr}
  .cs-funnel{grid-template-columns:repeat(3,1fr);gap:14px 8px;padding:20px 14px}
  .cs-step b{font-size:24px}
  .cs-funnel .cs-step:nth-child(3n)::after{display:none}
  .cs-side{grid-template-columns:1fr}
  .cs-lead{font-size:15.5px !important}
}

/* ==========================================================================
   赴马攻略 —— 实用信息卡片（tg-info）
   物品清单（tg-pack）
   ========================================================================== */

.tg-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tg-info{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:26px 26px 22px;box-shadow:var(--sh-sm);
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.tg-info:hover{border-color:var(--pink-100);box-shadow:var(--sh-md);transform:translateY(-2px)}
.tg-info .ico{
  width:46px;height:46px;border-radius:13px;background:var(--pink-50);color:var(--pink);
  display:grid;place-items:center;margin-bottom:15px;
}
.tg-info .ico svg{width:22px;height:22px}
.tg-info .ico.is-teal{background:var(--teal-50);color:var(--teal)}
.tg-info h3{font-size:17px;font-weight:800;margin:0 0 8px;line-height:1.5}
.tg-info ul{margin:0}
.tg-info li{
  position:relative;padding:8px 0 8px 19px;
  font-size:13.8px;color:var(--gray);line-height:1.78;
  border-bottom:1px dashed var(--line-soft);
}
.tg-info li:last-child{border-bottom:none;padding-bottom:0}
.tg-info li::before{
  content:"";position:absolute;left:2px;top:16px;
  width:5px;height:5px;border-radius:50%;background:#EE93B5;
}
.tg-info li strong{color:var(--ink);font-weight:700}

.tg-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tg-pack{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:22px 22px 12px;
  transition:border-color .22s,box-shadow .22s;
}
.tg-pack:hover{border-color:var(--pink-100);box-shadow:var(--sh-md)}
.tg-pack h3{
  display:flex;align-items:center;gap:9px;
  font-size:15.5px;font-weight:800;line-height:1.5;
  margin:0 0 6px;padding-bottom:12px;border-bottom:1px solid var(--line-soft);
}
.tg-pack h3 svg{width:18px;height:18px;flex:none;color:var(--pink)}
.tg-pack ul{margin:0}
.tg-pack li{
  position:relative;padding:8px 0 8px 23px;
  font-size:13.4px;color:var(--gray);line-height:1.7;
  border-bottom:1px dashed var(--line-soft);
}
.tg-pack li:last-child{border-bottom:none}
.tg-pack li::before{
  content:"";position:absolute;left:4px;top:13px;
  width:11px;height:6px;
  border-left:1.7px solid #14A38B;border-bottom:1.7px solid #14A38B;
  transform:rotate(-45deg);
}

.tg-tip{
  margin-top:22px;background:var(--pink-50);border:1px solid var(--pink-100);
  border-radius:var(--r);padding:24px 28px 22px;
}
.tg-tip h4{
  display:flex;align-items:center;gap:8px;
  font-size:14.5px;font-weight:800;color:var(--pink-700);margin:0 0 12px;
}
.tg-tip h4 svg{width:17px;height:17px;flex:none;color:var(--pink)}
.tg-tip ol{list-style:none;counter-reset:tgtip;display:grid;gap:7px;margin:0}
.tg-tip li{
  counter-increment:tgtip;position:relative;padding-left:24px;
  font-size:13.6px;color:var(--ink-2);line-height:1.75;
}
.tg-tip li::before{
  content:counter(tgtip) ".";position:absolute;left:0;top:0;
  font-weight:800;font-size:13px;color:var(--pink);
}

@media (max-width:900px){
  .tg-pack-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .tg-info-grid{grid-template-columns:1fr;gap:16px}
  .tg-info{padding:22px 20px 18px}
  .tg-pack-grid{grid-template-columns:1fr;gap:14px}
  .tg-pack{padding:20px 20px 10px}
  .tg-tip{padding:20px 20px 18px}
}

/* ==========================================================================
   住宿推荐 —— 左图右文卡片（stay）
   ========================================================================== */
.stay-list{display:grid;gap:20px}
.stay-card{
  display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:stretch;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:18px;
  transition:border-color .22s,box-shadow .22s;
}
.stay-card:hover{border-color:var(--pink-100);box-shadow:var(--sh-md)}
.stay-media{
  position:relative;margin:0;border-radius:12px;overflow:hidden;
  background:var(--bg-3);min-height:200px;
}
.stay-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stay-body{display:flex;flex-direction:column;padding:4px 6px 4px 0;min-width:0}
.stay-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.stay-stars{display:flex;gap:2.5px;color:#E9A93C;margin-bottom:9px}
.stay-stars svg{width:12.5px;height:12.5px;display:block}
.stay-card h3{font-size:19px;font-weight:800;line-height:1.45;margin:0}
.stay-card h3 span{font-size:13px;font-weight:500;color:var(--mute);margin-left:5px}
.stay-badge{
  flex:none;font-size:11.5px;font-weight:800;color:#fff;background:var(--pink);
  padding:5px 12px;border-radius:999px;letter-spacing:.02em;
  box-shadow:0 4px 12px rgba(233,30,99,.22);
}
.stay-meta{
  display:flex;flex-wrap:wrap;gap:8px 22px;margin:14px 0;
  font-size:13px;color:var(--ink-2);line-height:1.7;
}
.stay-meta span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.stay-meta svg{width:14px;height:14px;flex:none;color:var(--pink)}
.stay-meta b{color:var(--pink);font-weight:800;font-size:14px}
.stay-unit{font-style:normal;font-size:12.5px;color:var(--mute)}
.stay-desc{font-size:13.5px;color:var(--gray);line-height:1.85;margin:0 0 14px}
.stay-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.stay-tags span{
  font-size:11.5px;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);
  border-radius:6px;padding:4px 10px;line-height:1.55;
}
.stay-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.stay-notes .notice{margin:0}

@media (max-width:1000px){
  .stay-card{grid-template-columns:250px 1fr;gap:20px}
  .stay-card h3{font-size:17.5px}
}
@media (max-width:760px){
  .stay-card{grid-template-columns:1fr;gap:15px;padding:14px;min-height:0}
  .stay-media{min-height:0;aspect-ratio:16/10}
  .stay-body{padding:0 4px 8px}
  .stay-card h3{font-size:17.5px}
  .stay-meta{font-size:12.5px;gap:7px 18px;margin:12px 0}
  .stay-notes{grid-template-columns:1fr;gap:12px}
}

/* ============ 住宿之外：图文卡片 ============ */
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.act-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.act-card:hover{border-color:#F5C2D6;box-shadow:var(--sh-md);transform:translateY(-3px)}
.act-card figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--bg-2)}
.act-card img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.3,1);
}
.act-card:hover img{transform:scale(1.055)}
.act-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.act-body h3{font-size:16.5px;font-weight:700;margin:0;color:var(--ink);line-height:1.45}
.act-body p{font-size:13.5px;color:var(--gray);line-height:1.85;margin:0}
@media (max-width:900px){
  .act-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:760px){
  .act-grid{grid-template-columns:1fr;gap:16px}
  .act-body{padding:16px 18px 18px}
  .act-body h3{font-size:16px}
  .act-body p{font-size:13px}
}

/* ============ 内容库：栏目列表页 ============ */
.wiki-sec{padding-top:54px}
.wiki-filter{
  display:flex;flex-wrap:wrap;gap:10px;
  padding:0 0 26px;margin-bottom:28px;
  border-bottom:1px solid var(--line);
}
.wiki-filter button{
  font:inherit;font-size:13.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px;border-radius:999px;cursor:pointer;
  background:#fff;border:1px solid var(--line);color:var(--ink-2);
  transition:all .2s var(--ease);
}
.wiki-filter button b{
  font-size:11px;font-weight:700;color:var(--mute);
  background:var(--bg-3);border-radius:999px;padding:1px 7px;
}
.wiki-filter button:hover{border-color:#F5C2D6;color:var(--pink-700)}
.wiki-filter button.is-on{
  background:var(--pink);border-color:var(--pink);color:#fff;
  box-shadow:0 4px 14px rgba(233,30,99,.24);
}
.wiki-filter button.is-on b{background:rgba(255,255,255,.24);color:#fff}
/* 二级类目用链接时（官方动态）与按钮同款胶囊 */
.wiki-filter a{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px;border-radius:999px;text-decoration:none;
  font-size:13.5px;font-weight:600;
  background:#fff;border:1px solid var(--line);color:var(--ink-2);
  transition:all .2s var(--ease);
}
.wiki-filter a:hover{border-color:#F5C2D6;color:var(--pink-700)}
.wiki-filter a.is-on{
  background:var(--pink);border-color:var(--pink);color:#fff;
  box-shadow:0 4px 14px rgba(233,30,99,.24);
}
/* 官方动态二级类目：胶囊下不加分隔线，直接贴内容 */
.news-tabs{padding-bottom:0;margin-bottom:26px;border-bottom:0}
/* 胶囊不压缩、不折行（手机端横向滑动） */
.wiki-filter a,.wiki-filter button{flex:none;white-space:nowrap}

/* 置顶卡 */
.art-pin{
  position:relative;display:flex;gap:24px;align-items:center;
  padding:28px 30px;margin-bottom:22px;
  border:2px solid #F8BBD0;border-radius:var(--r);
  background:linear-gradient(135deg,#FFF8FB 0%,#FDF3F7 55%,#FCE9F1 100%);
  text-decoration:none;color:inherit;
  transition:box-shadow .24s var(--ease),transform .24s var(--ease),border-color .24s;
}
.art-pin:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:#F3A8C4}
.pin-flag{
  position:absolute;top:0;right:26px;transform:translateY(-50%);
  background:var(--pink);color:#fff;font-size:11.5px;font-weight:800;
  letter-spacing:1.5px;padding:4px 12px;border-radius:999px;line-height:1.6;
}
.pin-ico{
  flex:0 0 76px;width:76px;height:76px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  background:var(--c,#E91E63);color:#fff;
  box-shadow:0 8px 20px rgba(22,32,43,.12);
}
.pin-ico svg{width:36px;height:36px}
.pin-body{display:flex;flex-direction:column;gap:9px;min-width:0}
.pin-title{font-size:20px;font-weight:800;color:var(--ink);line-height:1.45}
.pin-lead{font-size:13.5px;color:var(--gray);line-height:1.85}

/* 列表 */
.art-list{display:flex;flex-direction:column;gap:13px}
.art-item{
  display:flex;gap:20px;align-items:flex-start;
  padding:20px 22px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);
  text-decoration:none;color:inherit;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.art-item:hover{border-color:#F5C2D6;box-shadow:var(--sh-sm);transform:translateX(3px)}
.art-item[hidden]{display:none}
.ai-thumb{
  flex:0 0 72px;width:72px;height:72px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-2);
  background:color-mix(in srgb,var(--c,#E91E63) 13%,#fff);
  color:var(--c,#E91E63);
}
.ai-thumb svg{width:32px;height:32px}
.ai-body{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1 1 auto}
.art-cat{
  align-self:flex-start;display:inline-block;
  font-size:11.5px;font-weight:700;letter-spacing:.3px;font-style:normal;
  color:var(--c,#E91E63);
  background:var(--bg-2);
  background:color-mix(in srgb,var(--c,#E91E63) 11%,#fff);
  padding:3px 9px;border-radius:6px;line-height:1.6;
}
.ai-title{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.55;transition:color .2s}
.art-item:hover .ai-title{color:var(--pink-700)}
.ai-lead{
  font-size:13.5px;color:var(--gray);line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.art-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mute);font-style:normal}
.art-meta i{font-style:normal}
.art-more{
  display:block;width:100%;margin-top:20px;padding:14px;
  font:inherit;font-size:14px;font-weight:600;color:var(--pink-700);
  background:#fff;border:1px dashed #F3C4D8;border-radius:var(--r);
  cursor:pointer;transition:all .2s var(--ease);
}
.art-more:hover{background:var(--pink-50);border-color:var(--pink)}
.art-more[hidden]{display:none}
.wiki-empty{
  padding:60px 0;text-align:center;color:var(--mute);font-size:14px;
}

/* 官方动态列表：左图右文卡（与活动通知同一视觉家族） */
.nc-list{display:flex;flex-direction:column;gap:20px}
.nc-card{
  display:grid;grid-template-columns:300px 1fr;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  text-decoration:none;color:inherit;
  transition:box-shadow .24s var(--ease),border-color .24s var(--ease);
}
.nc-card:hover{box-shadow:var(--sh-md);border-color:#F5C2D6}
.nc-media{display:block;overflow:hidden;background:var(--bg-3)}
.nc-media img{
  display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;
  transition:transform .5s var(--ease);
}
.nc-card:hover .nc-media img{transform:scale(1.035)}
.nc-body{display:flex;flex-direction:column;gap:10px;padding:24px 28px;min-width:0}
.nc-title{
  margin:0;font-size:20px;font-weight:800;color:var(--ink);
  line-height:1.45;letter-spacing:-.01em;transition:color .2s;
}
.nc-card:hover .nc-title{color:var(--pink-700)}
.nc-lead{
  margin:0;font-size:14px;color:var(--gray);line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nc-note{margin:0;font-size:12.5px;color:var(--mute);line-height:1.7}
.nc-more{
  display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:4px;
  font-size:13px;font-weight:700;color:var(--pink-700);
}
.nc-more svg{width:14px;height:14px;transition:transform .2s var(--ease)}
.nc-card:hover .nc-more svg{transform:translateX(3px)}

/* ---------- 视频动态 ---------- */
.vid-sec + .vid-sec{margin-top:64px}
.vid-head{margin-bottom:26px;max-width:720px}
.vid-head .sec-title{font-size:26px}
.vid-head .sec-sub{font-size:15px;margin-top:10px}
/* 医生科普：按医生筛 */
.doc-filter{display:flex;flex-wrap:wrap;gap:9px;margin:-8px 0 22px}
.doc-filter button{
  flex:none;white-space:nowrap;padding:7px 16px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font:inherit;font-size:13.5px;font-weight:600;
  transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
}
.doc-filter button:hover{border-color:var(--pink);color:var(--pink-700)}
.doc-filter button.is-on{background:var(--pink);border-color:var(--pink);color:#fff}
.vid-card.is-hide{display:none}
.vid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
/* 医生科普：卡多、要一屏看全，三列 */
.vid-grid.is-doc{grid-template-columns:repeat(3,1fr);gap:20px}
.vid-grid.is-doc .vid-body{padding:15px 17px 17px}
.vid-grid.is-doc .vid-title{font-size:15.5px}
.vid-grid.is-doc .vid-desc{font-size:12.5px;line-height:1.7;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vid-grid.is-doc .vid-play i{width:52px;height:52px}
.vid-card{
  display:block;overflow:hidden;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-lg);
  text-decoration:none;color:inherit;
  transition:box-shadow .24s var(--ease),border-color .24s var(--ease),transform .24s var(--ease);
}
a.vid-card:hover{box-shadow:var(--sh-md);border-color:#F5C2D6;transform:translateY(-2px)}
.vid-media{position:relative;display:block;overflow:hidden;background:#0F1216}
.vid-media img{
  display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
  transition:transform .5s var(--ease);
}
a.vid-card:hover .vid-media img{transform:scale(1.035)}
.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vid-play i{
  display:flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.94);color:var(--pink);
  box-shadow:0 8px 26px rgba(10,14,18,.28);
  transition:transform .24s var(--ease),background .24s var(--ease);
}
.vid-play svg{width:22px;height:22px;margin-left:3px}
a.vid-card:hover .vid-play i{transform:scale(1.08);background:#fff}
.vid-dur{
  position:absolute;right:12px;bottom:12px;padding:3px 9px;border-radius:6px;
  background:rgba(16,20,24,.74);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;
}
.vid-pend{
  position:absolute;left:12px;top:12px;padding:4px 11px;border-radius:999px;
  background:rgba(43,47,51,.72);color:#fff;font-size:11.5px;font-weight:700;
}
.vid-body{display:block;padding:18px 20px 20px}
.vid-title{display:block;font-size:17px;font-weight:800;color:var(--ink);line-height:1.45}
.vid-desc{display:block;margin-top:7px;font-size:13.5px;color:var(--gray);line-height:1.78}
.vid-card.is-pending{border-style:dashed;background:#FCFCFD}
.vid-card.is-pending .vid-media img{opacity:.5;filter:saturate(.75)}
.vid-card.is-pending .vid-play i{background:rgba(255,255,255,.86);color:var(--mute);box-shadow:0 6px 18px rgba(10,14,18,.18)}
.vid-card.is-pending .vid-title{color:var(--ink-2)}

/* 播放弹层 */
.vid-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,13,16,.82)}
.vid-modal[hidden]{display:none}
.vm-inner{position:relative;width:min(1040px,100%)}
.vm-body{position:relative;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.vm-body video,.vm-body iframe{display:block;width:100%;height:100%;border:0}
.vm-close{
  position:absolute;right:0;top:-46px;width:36px;height:36px;border:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(255,255,255,.16);color:#fff;transition:background .2s;
}
.vm-close:hover{background:rgba(255,255,255,.3)}
.vm-close svg{width:18px;height:18px}

/* 深度专题 */
.wiki-topics{margin-top:66px;padding-top:56px;border-top:1px solid var(--line)}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.topic-card{
  display:flex;flex-direction:column;gap:9px;
  padding:22px 22px 20px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);
  text-decoration:none;color:inherit;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.topic-card:hover{border-color:#F5C2D6;box-shadow:var(--sh-sm);transform:translateY(-2px)}
.tc-ico{
  width:44px;height:44px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-2);
  background:color-mix(in srgb,var(--c,#E91E63) 13%,#fff);
  color:var(--c,#E91E63);margin-bottom:4px;
}
.tc-ico svg{width:23px;height:23px}
.topic-card b{font-size:15.5px;color:var(--ink);line-height:1.5}
.tc-go{
  display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:6px;
  font-size:12.5px;font-weight:600;color:var(--mute);transition:color .2s;
}
.tc-go svg{width:13px;height:13px}
.topic-card:hover .tc-go{color:var(--pink)}

/* ============ 内容库：文章页 ============ */
.art-sec{padding-top:54px}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:56px;align-items:start}
.art-main{min-width:0}
.art-topmeta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:30px;
  font-size:12.5px;color:var(--mute);
}
.art-body{font-size:16px;line-height:1.95;color:var(--ink-2)}
.art-body p{margin:0 0 1.35em}
.art-body h2{
  display:flex;align-items:baseline;gap:11px;
  font-size:22px;font-weight:800;color:var(--ink);line-height:1.5;
  margin:2.1em 0 .85em;scroll-margin-top:100px;
}
.art-body h2 span{font-size:12px;font-weight:800;color:var(--pink);letter-spacing:.5px;flex:0 0 auto}
.art-body h3{font-size:17px;font-weight:700;color:var(--ink);margin:1.8em 0 .65em;line-height:1.6}
.art-body ul{margin:0 0 1.35em;padding:0;list-style:none}
.art-body ul li{position:relative;padding-left:20px;margin-bottom:.55em;color:var(--ink-2)}
.art-body ul li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:6px;height:6px;border-radius:50%;background:#F3A8C4;
}
.art-body blockquote{
  margin:1.7em 0;padding:18px 24px;
  border-left:3px solid var(--pink);background:var(--pink-50);
  border-radius:0 12px 12px 0;
}
.art-body blockquote p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.9}
.art-body strong{color:var(--ink);font-weight:700}
.art-note{
  display:flex;gap:12px;margin:1.7em 0;padding:16px 20px;
  background:var(--bg-2);border:1px solid var(--line);border-radius:12px;
  font-size:14px;line-height:1.85;color:var(--ink-2);
}
.art-note svg{flex:0 0 18px;width:18px;height:18px;margin-top:3px;color:var(--pink)}
.art-tags{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:42px;padding-top:24px;
  border-top:1px solid var(--line);
}
.art-tags span{
  font-size:12.5px;color:var(--gray);background:var(--bg-2);
  border:1px solid var(--line);padding:5px 12px;border-radius:999px;
}
.art-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.ap-item{
  display:flex;flex-direction:column;gap:6px;padding:16px 18px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  text-decoration:none;transition:border-color .2s,background .2s;
}
.ap-item:hover{border-color:#F3C4D8;background:var(--pink-50)}
.ap-item i{font-style:normal;font-size:11.5px;color:var(--mute);letter-spacing:.5px}
.ap-item b{font-size:13.5px;color:var(--ink);line-height:1.6;font-weight:600}
.ap-item.is-next{text-align:right}

/* 右栏 */
.art-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.art-toc{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:20px 20px 18px;display:flex;flex-direction:column;
  max-height:calc(100vh - 230px);overflow:auto;
}
.art-toc b{font-size:11.5px;color:var(--mute);letter-spacing:1.3px;font-weight:700;margin-bottom:12px}
.art-toc a{
  font-size:12.5px;color:var(--gray);text-decoration:none;
  padding:7px 0 7px 12px;border-left:2px solid var(--line);
  line-height:1.6;transition:all .18s;
}
.art-toc a:hover{color:var(--pink-700);border-left-color:var(--pink);background:var(--pink-50)}
.art-side-card{
  background:linear-gradient(150deg,#FFF8FB,#FDF3F7);
  border:1px solid #F8BBD0;border-radius:var(--r);padding:22px;
}
.art-side-card b{display:block;font-size:14.5px;color:var(--ink);line-height:1.6;margin-bottom:8px}
.art-side-card p{font-size:12.5px;color:var(--gray);line-height:1.85;margin:0 0 16px}
.art-side-card .btn{width:100%;justify-content:center;font-size:13.5px}
.art-rel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.art-rel>b{display:block;font-size:11.5px;color:var(--mute);letter-spacing:1.3px;margin-bottom:12px}
.art-rel a{display:block;padding:12px 0;border-bottom:1px dashed var(--line);text-decoration:none}
.art-rel a:last-child{border-bottom:0;padding-bottom:0}
.art-rel span{display:block;font-size:11px;color:var(--pink);margin-bottom:4px;letter-spacing:.3px}
.art-rel a b{display:block;font-size:13px;color:var(--ink);font-weight:600;line-height:1.6;letter-spacing:0;margin:0}
.art-rel a:hover b{color:var(--pink-700)}

@media (max-width:1024px){
  .art-layout{grid-template-columns:1fr;gap:34px}
  .art-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .art-toc{max-height:none}
  .art-rel{grid-column:1 / -1}
}
@media (max-width:900px){
  .topic-grid{grid-template-columns:repeat(2,1fr)}
  .vid-grid.is-doc{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .wiki-sec{padding-top:38px}
  .wiki-filter{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:14px;margin-bottom:20px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .wiki-filter::-webkit-scrollbar{display:none}
  .wiki-filter button{flex:0 0 auto;padding:8px 13px;font-size:13px}
  .nc-card{grid-template-columns:1fr}
  .nc-media img{aspect-ratio:16/9}
  .nc-body{padding:18px 18px 20px;gap:9px}
  .nc-title{font-size:17.5px;line-height:1.45}
  .nc-lead{font-size:13px;-webkit-line-clamp:3}
  .nc-list{gap:16px}
  .vid-grid{grid-template-columns:1fr;gap:18px}
  .vid-grid.is-doc{grid-template-columns:1fr;gap:18px}
  .vid-grid.is-doc .vid-title{font-size:17px}
  .vid-grid.is-doc .vid-desc{font-size:13px;line-height:1.75}
  .doc-filter{
    flex-wrap:nowrap;overflow-x:auto;margin:-4px 0 18px;padding-bottom:4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .doc-filter::-webkit-scrollbar{display:none}
  .doc-filter button{padding:7px 14px;font-size:13px}
  .vid-sec + .vid-sec{margin-top:46px}
  .vid-head .sec-title{font-size:22px}
  .vid-play i{width:52px;height:52px}
  .vid-play svg{width:19px;height:19px}
  .vm-close{top:-44px}
  .art-pin{flex-direction:column;align-items:flex-start;gap:15px;padding:22px 20px}
  .pin-ico{flex:0 0 54px;width:54px;height:54px;border-radius:15px}
  .pin-ico svg{width:26px;height:26px}
  .pin-title{font-size:17px}
  .pin-lead{font-size:12.5px}
  .pin-flag{right:16px;font-size:10.5px;letter-spacing:1px}
  .art-item{gap:13px;padding:16px}
  .ai-thumb{flex:0 0 52px;width:52px;height:52px;border-radius:13px}
  .ai-thumb svg{width:24px;height:24px}
  .ai-title{font-size:15px;line-height:1.5}
  .ai-lead{font-size:12.5px;line-height:1.75}
  .art-meta{gap:10px;font-size:11.5px}
  .art-body{font-size:15.5px;line-height:1.92}
  .art-body h2{font-size:19px;margin-top:1.9em}
  .art-body h3{font-size:16px}
  .art-body blockquote{padding:15px 18px}
  .art-side{grid-template-columns:1fr}
  .art-pager{grid-template-columns:1fr}
  .ap-item.is-next{text-align:left}
  .topic-grid{grid-template-columns:1fr;gap:12px}
  .wiki-topics{margin-top:42px;padding-top:36px}
  .art-sec{padding-top:36px}
}

/* 文章页：页头降一档，标题不顶满整行 */
.page-head.is-article h1{font-size:32px;line-height:1.45;max-width:960px}
.page-head.is-article .page-sub{max-width:860px}
/* 文章页：顶部返回上一页 */
.art-back{
  display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;
  padding:7px 15px 7px 12px;border-radius:999px;
  font-size:12.5px;font-weight:600;letter-spacing:.01em;
  color:rgba(255,255,255,.88);background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.24);
  transition:background .18s,color .18s,border-color .18s;
}
.art-back svg{width:14px;height:14px;flex:none;transition:transform .18s}
.art-back:hover{color:#fff;background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.42)}
.art-back:hover svg{transform:translateX(-3px)}
/* 文章页：正文字距控制在一行 44–46 字 */
.art-body{padding-right:56px}
/* 深度专题卡描述 */
.tc-desc{font-size:12.5px;color:var(--mute);line-height:1.7}

@media (max-width:1024px){
  .art-body{padding-right:0}
}
@media (max-width:760px){
  .page-head.is-article h1{font-size:23px;line-height:1.42}
  .page-head.is-article .page-sub{font-size:14px}
}

/* 4 个分类时用 4 列，避免第 4 张单独成行 */
.topic-grid.is-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){
  .topic-grid.is-4{grid-template-columns:repeat(2,1fr)}
}

/* 导览性小标题，比内容标题轻一档 */
.wiki-topics .sec-title{font-size:30px}
@media (max-width:760px){
  .wiki-topics .sec-title{font-size:21px}
}
