/* 心率变异分析仪 落地页样式 */
:root{
  --primary:#79b8ff;      /* 清新主色 */
  --primary-600:#4ea3ff;
  --bg:#f7faff;
  --card:#ffffff;
  --text:#1f2d3d;
  --muted:#6b7c93;
  --border:#e6eef7;
  --shadow:0 10px 24px rgba(30,72,120,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6;
}
img{max-width:100%; display:block}
.container{width:min(1120px,92%); margin-inline:auto}
.section{padding:56px 0}
.section-title{font-size:32px; margin:0 0 16px}
.section-desc{color:var(--muted); margin:0 0 24px}
.lead{font-size:18px; color:var(--muted)}
.muted{color:var(--muted)}

/* 可访问性跳转 */
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;background:#000;color:#fff;padding:8px 12px;border-radius:6px}

/* Header */
.site-header{display:none}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.brand{display:inline-flex; align-items:center; gap:8px; text-decoration:none}
.site-nav ul{display:flex; gap:18px; list-style:none; margin:0; padding:0}
.site-nav a{color:var(--text); text-decoration:none; padding:8px 10px; border-radius:8px}
.site-nav a:hover{background:var(--primary); color:#fff}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer}
.nav-toggle__bar{width:22px;height:2px;background:#334;display:block}

/* Hero */
.hero{position:relative; background:linear-gradient(180deg,#eef6ff 0%, #ffffff 100%); background-size:100% 140%; background-position:0 var(--hero-bg-shift, 0px); will-change:background-position}
.hero__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center; margin-top:30px}
.hero__logo{position:absolute; top:18px; left:18%; z-index:2; display:inline-flex; align-items:center; gap:20px; opacity:.98; white-space:nowrap}
.hero__logo img{width:auto; max-width:none; height:44px}
.hero__logo .brand-name{color:#2a3850; font-weight:800; font-size:18px; letter-spacing:.2px}
.hero__copy h1{font-size:45px; line-height:1.15; letter-spacing:-.5px; font-weight:800; margin:0 0 10px}
.hero__bullets{margin:16px 0 20px; padding-left:18px}
.cta-group{display:flex; gap:12px; align-items:center}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:999px; text-decoration:none; font-weight:600}
.btn-primary{background:var(--primary); color:#fff; box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--primary-600)}
.btn-outline{border:1px solid var(--primary); color:var(--primary); background:#fff}
.hero__media{position:relative; display:grid; place-items:center; padding:20px 0 84px}
.hero__circle{position:absolute; left:50%; top:50%; width:640px; height:640px; border-radius:50%; background:radial-gradient( circle at 35% 35%, #cfe8ff, #79b8ff 70%); transform:translate(-50%,-50%); opacity:.34; z-index:0; will-change:transform; pointer-events:none}
.hero__img{position:relative; border-radius:20px; height:420px; width:auto; max-width:none; object-fit:contain; transform:scale(var(--hero-scale,1.74)) translateY(var(--hero-shift, 0px)) translateZ(0); transform-origin:center bottom; will-change:transform; z-index:0; pointer-events:none}
.hero__qrcode{display:flex; gap:12px; align-items:center; margin-top:10px}
/* Hero CTA：左侧二维码 右侧按钮 */
.hero__cta{display:flex; align-items:center; gap:18px; margin-top:12px}
.hero__qrcode{flex-direction:column; align-items:center; gap:8px; margin-top:0}
.hero__cta .cta-group{display:flex; flex-direction:column; gap:10px; align-items:flex-start}
.hero__cta .btn-row{display:flex; flex-direction:row; gap:12px; align-items:center; flex-wrap:nowrap}
.cta-hotline{margin:0; font-size:18px; font-weight:600}
.cta-hotline a{color:var(--primary); font-weight:700; text-decoration:none}
.cta-hotline a:hover{ text-decoration:underline }

/* Hero tabs (pill navigation) */
/* 默认：相对定位；滚动到顶后由 JS 切换为 fixed（.is-fixed） */
.hero__tabs-wrap{margin-top:160px; position:relative; z-index:12; transform:none}
/* 置顶固定：宽度与 .container 一致并保持居中 */
.hero__tabs-wrap.is-fixed{position:fixed; top:20px; left:50%; transform:translateX(-50%); width:min(1120px,92vw); z-index:1000; margin-top:0}
/* 占位元素：在 fixed 状态下使用以避免内容跳动 */
.hero__tabs-spacer{height:0}
.hero-tabs ul{
  display:flex; align-items:center; justify-content:space-around; list-style:none;
  margin:0; padding:16px 28px; gap:0;
  background:linear-gradient(90deg,#a9c8ff 0%, #7f8fff 100%);
  border-radius:9999px; box-shadow:var(--shadow)
}
.hero-tabs a{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 10px; color:#fff; text-decoration:none; border-radius:999px;
  white-space:nowrap; font-weight:600; font-size:15px; letter-spacing:.2px; text-align:center; opacity:.95
}
.hero-tabs a:hover{background:rgba(255,255,255,.15)}

/* Cards & grids */
.card-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; box-shadow:var(--shadow)}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.case img,.member img{border-radius:16px; box-shadow:var(--shadow)}
.case figcaption,.member figcaption{margin-top:8px; color:var(--muted)}

/* Cases section */
.cases__top{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px}
.cases-nav{display:flex; gap:10px}
.cases-nav__btn{width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid var(--border); color:var(--text); cursor:pointer}
.cases-nav__btn:hover{box-shadow:var(--shadow)}
.cases__grid{align-items:stretch; gap:45px}
.grid-2.cases__grid{grid-template-columns:repeat(3,1fr)}
.case-card{background:#fff; border:1px solid var(--border); border-radius:24px; overflow:hidden; box-shadow:var(--shadow)}
.case-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(30,72,120,.10)}
.case__media img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover}
.case__body{background:#fff; padding:12px 14px 14px}
.case__title{margin:0 0 10px; font-size:22px; color:var(--text)}
.case__tags{display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0}
.tag{display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 12px; border-radius:999px; background:#fff; border:1px solid var(--border); color:var(--muted); font-weight:600; font-size:13px}
.tag--primary{background:var(--primary); color:#fff; border-color:transparent}

/* About */
.about__panel{border-radius:22px; padding:20px 22px; overflow:hidden; box-shadow:var(--shadow)}
.about__panel--gradient{background:transparent; box-shadow:none}
.about__panel--soft{background:#f7f9fc; border:1px solid var(--border); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 0 rgba(0,0,0,.02), var(--shadow)}
.about__top{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; margin-bottom:40px}
.about__media img{display:block; width:80%; height:auto; margin:0 auto; object-fit:contain}
.about__copy .section-title{margin-bottom:10px}
.about__copy p{margin:0 0 12px; color:var(--muted)}
.about__link{display:inline-flex; align-items:center; gap:6px; color:var(--text); font-weight:700}
.about__link::after{content:"›"; display:inline-block; transform:translateY(-1px)}
.icon-list{margin:12px 0 0; padding-left:18px}

/* feature strip */
.about__features{margin-top:6px; padding:18px 22px; border-radius:18px; background:transparent; display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.about-feature{display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.55); backdrop-filter:saturate(140%) blur(3px)}
.about-feature__icon{width:56px; height:56px; object-fit:contain}
.about-feature__title{margin:0; font-size:16px; color:var(--text)}
.about-feature__sub{margin:2px 0 0; font-size:12px; color:var(--muted)}

@media (max-width: 880px){
  .about__top{grid-template-columns:1fr; gap:16px}
  .about__features{grid-template-columns:1fr;}
}

/* About bottom gradient banner (≈40% height visual band) */
.about__band{margin-top:12px; padding:18px 22px; border-radius:18px; background:linear-gradient(135deg, rgba(88,110,255,.96) 0%, rgba(88,110,255,.80) 55%, rgba(96,210,255,.85) 100%); box-shadow:var(--shadow);  gap:18px; align-items:center;  overflow:visible; --band-img-out: 50%}
.about__band--sm{ --band-h: 450px; }
/* 指定小号横幅在桌面端宽度为1120px，移动端自适配 */
.about__band.about__band--sm{ width:1120px; max-width:100%; margin-left:auto; margin-right:auto; }
.about__band--md{ --band-h: clamp(240px, 40vh, 360px); }
.about__band--lg{ --band-h: clamp(300px, 48vh, 420px); }
.about-band__left{height:100%; display:flex; align-items:center; justify-content:center; position:relative}
.about-band__left img{max-width:100%; max-height:100%; height:100%; object-fit:contain; position:relative; transform: translateY(calc(-1 * var(--band-img-out)))}
.about-band__items{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.about-band__item{display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px; padding:14px 12px; background:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.6); border-radius:14px; text-align:center}
.about-band__icon{width:84px; height:84px; object-fit:contain; flex-shrink:0}
.about__band .about-band__icon{filter:brightness(0) invert(1);}
.about-band__text h3{margin:4px 0 4px; font-size:16px; color:#111}
.about-band__text p{margin:0; font-size:12px; color:rgba(0,0,0,.56)}

@media (max-width: 880px){
  .about__band{grid-template-columns:1fr; min-height:auto; --band-img-out: 0%}
  .about-band__items{grid-template-columns:1fr}
}

/* Tech section */
.tech__grid{display:grid; grid-template-columns:1fr 1.2fr; gap:28px; align-items:start}
.tech__left .section-title{font-size:36px}
.tech__bullets{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:14px 0 0; padding-left:18px}
.tech__cards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.tech-card{padding:16px; border-radius:16px; background:#fff; border:1px solid var(--border); box-shadow:var(--shadow)}
.tech-card .eyebrow{color:#9aa8bd; text-transform:uppercase; font-weight:700; letter-spacing:.3px; font-size:11px; margin-bottom:4px}
.tech-card h3{margin:0 0 6px; font-size:18px}
.tech-card p{color:var(--muted); font-size:14px; line-height:1.6; margin:6px 0 0; display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.tech-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(30,72,120,.10)}

/* Video */
.video-hero{margin-top:8px}
.video-hero img{width:100%; border-radius:16px; box-shadow:var(--shadow)}

/* News */
.news-list{list-style:none; margin:0; padding:0}
.news-list li{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px dashed var(--border)}
.news-list a{text-decoration:none; color:var(--text)}
.news-list time{color:var(--muted); font-size:14px}

/* Footer */
.site-footer{background:#0e1b2b; color:#d5e2f2; margin-top:32px}
.footer-cta{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 0}
.footer-title{margin:0 0 6px; font-size:22px; color:#fff}
.footer-actions{display:flex; align-items:center; gap:12px}
.legal{border-top:1px solid rgba(255,255,255,.1); padding:18px 0; font-size:13px}
.legal a{color:#9fd1ff}

/* back to top */
.backtop{position:fixed; right:16px; bottom:16px; width:40px; height:40px; border-radius:50%; border:0; background:var(--primary); color:#fff; cursor:pointer; box-shadow:var(--shadow); display:none}
.backtop.show{display:inline-grid; place-items:center}

/* Reveal 通用进入视口动画 */
.reveal{opacity:0; transform:translateY(16px); filter:blur(2px); transition:opacity .6s ease, transform .6s ease, filter .6s ease}
.reveal.is-inview{opacity:1; transform:none; filter:none}

/* Strength section */
.strength{position:relative}
.strength__wrap{position:relative}
.strength__title{font-size:32px; margin:0 0 14px; text-align:center}
.strength__stage{position:relative; margin-top:12px; border-radius:22px; background:#ffffff14; box-shadow:var(--shadow); overflow:hidden; min-height:700px}
.strength__circle{position:absolute; left:50%; top:50%; width:680px; height:680px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #cfe8ff, #79b8ff 70%); transform:translate(-50%,-50%); opacity:.22; z-index:0; pointer-events:none}
.strength__img{position:absolute; left:33%; top:25%; transform:translateX(-50%); width:auto; height:50%; object-fit:cover; border-radius:18px; z-index:1}
.strength__card{position:absolute; width:300px; max-width:300px; background:#fff; border:1px solid var(--border); border-radius:16px; padding:14px; box-shadow:var(--shadow); z-index:2}
.strength__card-title{margin:0 0 8px; font-size:16px}
.strength__list{margin:0; padding-left:18px; color:var(--muted)}
.strength__name{margin:0 0 6px; font-size:20px; font-weight:800}
.strength__en{margin:0 0 10px; color:var(--muted)}
.strength__quote{margin:0 0 10px; color:var(--text); line-height:1.7}
.strength__meta{display:flex; align-items:center; gap:10px}
.strength__avatar{width:40px; height:40px; border-radius:50%; object-fit:cover}

/* 定位：右上 / 左下 / 右下 */
.strength__card--top-right{right:28px; top:58px}
.strength__card--top-left{left:28px; top:58px}
.strength__card--bottom-left{left:28px; bottom:88px}
.strength__card--bottom-right{right:28px; bottom:88px}

/* Responsive */
@media (max-width: 992px){
  .hero__grid{grid-template-columns:1fr}
  .about__grid{grid-template-columns:1fr}
  .card-row{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  /* cases grid 在平板尺寸回退为两列 */
  .grid-2.cases__grid{grid-template-columns:repeat(2,1fr)}
  /* tech：在平板及以下改为单列，避免左侧文案被压缩 */
  .tech__grid{grid-template-columns:1fr}
  .tech__cards{grid-template-columns:1fr 1fr}
  .tech__left .section-title{font-size:32px}
}
@media (max-width: 720px){
  .site-nav{position:absolute; inset:56px 0 auto 0; background:#fff; border-bottom:1px solid var(--border); display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column; padding:8px}
  .nav-toggle{display:flex}
  .footer-cta{flex-direction:column; align-items:flex-start}
  .card-row{grid-template-columns:1fr}
  .grid-2,.grid-3{grid-template-columns:1fr}
  /* 让胶囊导航在小屏可横向滚动 */
  .hero-tabs ul{justify-content:flex-start; gap:16px; padding:12px 16px; overflow-x:auto; -webkit-overflow-scrolling:touch}
  .hero__logo{left:16px}
  /* 移动端：CTA 改为上下堆叠 */
  .hero__cta{flex-direction:column; align-items:flex-start}
  .hero__cta .cta-group{flex-direction:column; gap:10px}
  .hero__cta .btn-row{flex-wrap:wrap}
  /* cases grid 在手机尺寸为一列 */
  .grid-2.cases__grid{grid-template-columns:1fr}
  /* Strength 响应式：图片缩小、卡片堆叠到图片周边 */
  .strength__stage{min-height:680px}
  .strength__img{height:380px; top:28px}
  .strength__card{max-width:none; width:calc(100% - 32px)}
  .strength__card--top-right{left:16px; right:16px; top:auto; bottom:280px}
  .strength__card--bottom-left{left:16px; right:16px; bottom:144px}
  .strength__card--bottom-right{left:16px; right:16px; bottom:16px}
  /* 移动端：隐藏占屏较大的装饰与产品图片 */
  .hero__media{display:none}
  .about__media{display:none}
  .strength__img{display:none}
  .hero__tabs-wrap{margin-top:16px}
  .hero__copy h1{font-size:32px}
  /* 移动端：精简 header 导航，仅保留前3项与最后的“网站地图” */
  .site-nav ul li:nth-child(n+4):not(:last-child){display:none}
  /* tech：移动端下卡片与要点均单列，标题进一步缩小 */
  .tech__cards{grid-template-columns:1fr}
  .tech__bullets{grid-template-columns:1fr; padding-left:16px}
  .tech__left .section-title{font-size:28px}
  /* tech：强制去除任何 transform 避免 JS 造成的上移 */
  .tech{transform:none !important}
}
@media (min-width: 721px){
  /* 隐藏桌面端顶部导航，改用 Hero 胶囊导航 */
  .site-nav{display:none}
}
