
:root{
  --ink:#0C2330; --ink-2:#0A1C28; --ink-3:#102E3C;
  --heading:#1C2B36; --text:#46545F; --muted:#8C99A4;
  --teal:#0E8F9C; --teal-deep:#0C6E78; --glow:#34C6C6;
  --line:#E1E7EB; --paper:#fff; --clinic:#F4F7F9;
  --r:18px; --shadow:0 18px 50px -22px rgba(12,35,48,.28);
  --shadow-hi:0 34px 70px -26px rgba(14,143,156,.42);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-sans:"HarmonyOS Sans SC","MiSans","Alibaba PuHuiTi 3.0","Alibaba PuHuiTi","Source Han Sans SC","Noto Sans CJK SC","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
  --font-display:"HarmonyOS Sans SC","MiSans","Alibaba PuHuiTi 3.0","Source Han Sans SC","Noto Sans CJK SC","PingFang SC","Microsoft YaHei UI",system-ui,sans-serif;
  --font-ui:Inter,"Segoe UI","Helvetica Neue",Arial,var(--font-sans);
  --font-data:"DIN Alternate","Bahnschrift","Segoe UI",Arial,var(--font-sans);
  --cjk:var(--font-sans);
  --mono:var(--font-ui);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);font-weight:400;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;line-height:1.76;letter-spacing:0;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:min(96vw,2040px);margin:0 auto;padding:0 clamp(24px,3vw,64px)}

/* —— 眉标 + 心电脉冲签名 —— */
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-ui);font-size:12px;font-weight:650;letter-spacing:0;text-transform:uppercase;color:var(--teal)}
.eyebrow svg{width:38px;height:14px;overflow:visible}
.eyebrow path{fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:90;stroke-dashoffset:90;animation:pulse 2.6s var(--ease) infinite}
@keyframes pulse{0%{stroke-dashoffset:90}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-90}}
.sec-title{font-family:var(--font-display);font-size:clamp(30px,3.4vw,46px);font-weight:700;color:var(--heading);letter-spacing:0;line-height:1.16;margin:18px 0 0}
.sec-sub{margin-top:14px;color:var(--muted);font-size:16px;max-width:640px}

/* —— 导航 —— */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s var(--ease)}
header .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:74px}
header .bar>.logo{justify-self:start}
header .bar>nav.menu{justify-self:center}
header .bar>.nav-cta{justify-self:end;grid-column:3}
header.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(12,35,48,.06)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:21px;color:var(--heading);letter-spacing:0}
.logo .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));display:grid;place-items:center;color:#fff;font-size:18px}
nav.menu{display:flex;gap:34px}
nav.menu a{font-size:15px;font-weight:450;color:var(--heading);position:relative;padding:4px 0;transition:color .25s}
nav.menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--teal);transition:width .3s var(--ease)}
nav.menu a:hover{color:var(--teal)} nav.menu a:hover::after{width:100%}
nav.menu a.active{color:var(--teal)} nav.menu a.active::after{width:100%}
.nav-cta{padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;font-weight:550;font-size:14px;box-shadow:0 10px 24px -10px rgba(14,143,156,.7);transition:transform .3s var(--ease),box-shadow .3s}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(14,143,156,.8)}
header.scrolled .logo,header.scrolled nav.menu a{color:var(--heading)}
header:not(.scrolled) .logo,header:not(.scrolled) nav.menu a{color:#fff}
header:not(.scrolled) .logo .mark{background:rgba(255,255,255,.16)}

/* —— Hero —— */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('../img/4d894cfd50.webp') center/cover no-repeat;transform:scale(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(110deg,rgba(8,24,34,.94) 0%,rgba(8,24,34,.78) 38%,rgba(10,28,40,.45) 100%),
  radial-gradient(120% 120% at 90% 10%,rgba(52,198,198,.18),transparent 50%)}
.hero-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(52,198,198,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(52,198,198,.05) 1px,transparent 1px);background-size:60px 60px}
.hero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:40px;width:100%}
.hero .eyebrow{color:var(--glow)} .hero .eyebrow path{stroke:var(--glow)}
.hero-copy{max-width:1040px;margin:0 auto;text-align:center}
.hero h1{font-family:var(--font-display);font-size:clamp(44px,7.4vw,132px);font-weight:700;line-height:1.04;letter-spacing:0;margin:26px 0 0}
.hero h1 .hl{color:transparent;background:linear-gradient(120deg,var(--glow),var(--teal));-webkit-background-clip:text;background-clip:text;position:relative}
.hero p.lead{margin:30px auto 0;max-width:600px;font-size:18px;color:rgba(255,255,255,.82);line-height:1.85}
.hero .cta-row{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;justify-content:center}
.contact-rail{position:absolute;right:clamp(14px,2.4vw,32px);top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:12px}
.cr-btn{width:44px;height:44px;border-radius:50%;background:rgba(12,35,48,.75);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease);box-shadow:0 10px 24px -10px rgba(12,35,48,.5)}
.cr-btn:hover{background:var(--teal);transform:translateY(-2px)}
.cr-btn svg{width:19px;height:19px;stroke:currentColor;fill:none}
.cr-btn.cr-top{opacity:0;pointer-events:none}
.cr-btn.cr-top.show{opacity:1;pointer-events:auto}
@media(max-width:980px){.contact-rail{display:none}}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:999px;font-weight:550;font-size:15px;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.btn-primary{background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;box-shadow:0 14px 32px -10px rgba(14,143,156,.7)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 40px -10px rgba(14,143,156,.85)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.btn svg{width:18px;height:18px}
/* —— 测绘标注线：以工程测绘语汇填满宽屏，克制而非堆砌 —— */
.hero-ruler{position:relative;margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22)}
.hero-ruler-row{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.h-tick{position:relative;padding-left:20px;flex:0 1 auto;text-align:left}
.h-tick::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 4px rgba(52,198,198,.16)}
.h-tick b{display:block;font-family:var(--font-data);font-size:23px;font-weight:650;color:#fff;letter-spacing:0;white-space:nowrap}
.h-tick span{display:block;font-size:12.5px;color:rgba(255,255,255,.56);margin-top:4px;letter-spacing:0}
@media(max-width:900px){
  .hero-ruler-row{gap:22px 30px}
  .h-tick{min-width:44%;flex:1 1 auto}
}
.scrolldown{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:0;text-align:center}
.scrolldown i{display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(var(--glow),transparent);animation:sd 1.8s infinite}
@keyframes sd{0%{opacity:0;transform:scaleY(.3)}50%{opacity:1}100%{opacity:0;transform:scaleY(1) translateY(10px)}}

/* —— 核心数据横幅 —— */
.stats-band{position:relative;overflow:hidden;background:var(--clinic);padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(14,143,156,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,143,156,.05) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}
.stats-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat b{display:block;font-family:var(--font-data);font-size:44px;font-weight:700;color:var(--teal-deep);line-height:1}
.stat b sup{font-size:19px;font-weight:700;top:-.6em}
.stat span{display:block;margin-top:10px;font-size:13.5px;color:var(--muted);letter-spacing:0}
@media(max-width:600px){.stats-row{grid-template-columns:repeat(2,1fr);gap:30px 20px}}

/* —— 通用区块 —— */
section.block{padding:110px 0}
.sec-head{margin-bottom:54px}

/* —— 技术亮点：四大仿真支柱 —— */
#tech{background:linear-gradient(180deg,#fff,var(--clinic))}
.pillars{display:flex;flex-direction:column;gap:20px}
.pillar-row{display:grid;grid-template-columns:220px 260px 1fr;gap:32px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px 32px;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.pillar-row:hover{transform:translateY(-6px);box-shadow:var(--shadow-hi);border-color:rgba(14,143,156,.4)}
.pr-head{display:flex;flex-direction:column;gap:10px}
.pr-num{font-family:var(--font-ui);font-size:13px;font-weight:650;color:var(--teal);letter-spacing:0}
.pr-ico{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(14,143,156,.6)}
.pr-ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8}
.pillar-row h3{font-family:var(--font-display);font-size:19px;font-weight:650;color:var(--heading)}
.pr-img{height:150px;border-radius:14px;overflow:hidden}
.pr-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.pr-desc{font-size:14.5px;color:var(--text);line-height:1.85}
@media(max-width:980px){.pillar-row{grid-template-columns:1fr;gap:16px;padding:24px}.pr-head{flex-direction:row;align-items:center;gap:14px}.pr-img{height:180px}}

/* —— 产品中心 —— */
#products{background:var(--clinic)}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .5s var(--ease),box-shadow .5s,border-color .5s;position:relative}
.prod::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--glow));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:3}
.prod:hover{transform:translateY(-10px);box-shadow:var(--shadow-hi);border-color:rgba(14,143,156,.4)}
.prod:hover::before{transform:scaleX(1)}
.prod .pimg{height:220px;background:linear-gradient(160deg,#fff,#eef3f5);display:flex;align-items:center;justify-content:center;overflow:hidden}
.prod .pimg img{max-height:210px;max-width:92%;display:block;transition:transform .6s var(--ease)}
.prod:hover .pimg img{transform:scale(1.07)}
.prod .prod-label{padding:16px 20px;background:linear-gradient(135deg,var(--ink-3),var(--ink));display:flex;align-items:center;justify-content:space-between;gap:10px}
.prod h4{font-family:var(--font-display);font-size:15px;font-weight:650;color:#fff;line-height:1.55;letter-spacing:0}
.prod .more{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#fff;font-size:14px;transition:background .3s var(--ease),transform .3s var(--ease)}
.prod:hover .more{background:var(--teal);transform:translateX(2px)}

/* —— 资讯动态 —— */
#news{background:var(--paper)}
.news-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:26px}
.news-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .5s var(--ease),box-shadow .5s,border-color .5s;display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hi);border-color:rgba(14,143,156,.4)}
.news-card .nimg{position:relative;height:210px;overflow:hidden}
.news-card .nimg img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.news-card:hover .nimg img{transform:scale(1.08)}
.news-card .tag{position:absolute;left:16px;top:16px;z-index:2;padding:6px 14px;border-radius:999px;background:rgba(12,35,48,.65);backdrop-filter:blur(4px);color:#fff;font-size:12px;font-weight:600;letter-spacing:0}
.news-card .nbody{padding:24px;flex:1;display:flex;flex-direction:column}
.news-card h4{font-family:var(--font-display);font-size:16.5px;font-weight:650;color:var(--heading);line-height:1.65;flex:1}
.news-card .more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:13.5px;font-weight:600;color:var(--teal);transition:gap .3s}
.news-card:hover .more{gap:12px}
.news-main{grid-row:span 2}
.news-main .nimg{height:100%;min-height:320px}
.news-main .nbody{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(8,20,28,.92),rgba(8,20,28,.5) 70%,transparent);color:#fff;padding:32px 28px}
.news-main{position:relative}
.news-main h4{color:#fff;font-size:22px;font-weight:650}
.news-main .more{color:var(--glow)}

/* —— 关于休曼 —— */
#about{position:relative;background:linear-gradient(180deg,var(--clinic),#fff);color:var(--text);overflow:hidden}
#about::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(14,143,156,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,143,156,.05) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}
#about::after{content:"";position:absolute;top:-20%;right:-10%;width:50%;height:140%;background:radial-gradient(circle,rgba(14,143,156,.10),transparent 60%);pointer-events:none}
.about-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
#about .eyebrow{color:var(--teal)} #about .eyebrow path{stroke:var(--teal)}
#about h2{font-family:var(--font-display);font-size:clamp(28px,3vw,42px);font-weight:700;color:var(--heading);line-height:1.18;margin:18px 0 22px}
#about p.intro{color:var(--text);font-size:16px;line-height:1.95;max-width:680px}
.feat-list{margin-top:30px;display:flex;flex-direction:column;gap:16px}
.feat{display:flex;gap:16px;align-items:flex-start}
.feat .fi{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(14,143,156,.08);border:1px solid rgba(14,143,156,.25);display:grid;place-items:center}
.feat .fi svg{width:22px;height:22px;stroke:var(--teal-deep);fill:none;stroke-width:1.8}
.feat b{display:block;color:var(--heading);font-size:16px;margin-bottom:2px}
.feat span{color:var(--muted);font-size:14px}
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acard{padding:30px 24px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s}
.acard:hover{transform:translateY(-6px);box-shadow:var(--shadow-hi)}
.acard b{display:block;font-family:var(--font-data);font-size:34px;font-weight:700;color:var(--teal-deep)}
.acard span{color:var(--muted);font-size:14px;margin-top:6px;display:block}

/* —— 联系 / CTA —— */
#contact{background:var(--clinic)}
.contact-card{background:linear-gradient(135deg,var(--ink-3),var(--ink));border-radius:28px;padding:64px 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;overflow:hidden;box-shadow:0 40px 80px -30px rgba(12,35,48,.5)}
.contact-card::after{content:"";position:absolute;bottom:-30%;left:-10%;width:50%;height:120%;background:radial-gradient(circle,rgba(52,198,198,.16),transparent 60%)}
.contact-card .ci{position:relative;z-index:2;color:#fff}
.contact-card h2{font-family:var(--font-display);font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1.25;margin-bottom:18px}
.contact-card p{color:rgba(255,255,255,.72);font-size:16px;margin-bottom:28px}
.cinfo{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2}
.cinfo .row{display:flex;gap:14px;align-items:center;color:rgba(255,255,255,.85);font-size:15px}
.cinfo .row .ri{width:42px;height:42px;border-radius:11px;background:rgba(52,198,198,.14);border:1px solid rgba(52,198,198,.3);display:grid;place-items:center;flex:0 0 auto}
.cinfo .row .ri svg{width:20px;height:20px;stroke:var(--glow);fill:none;stroke-width:1.8}

/* —— 页脚 —— */
footer{background:var(--ink-2);color:rgba(255,255,255,.6);padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr .8fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-grid h5{color:#fff;font-size:15px;margin-bottom:18px;font-weight:650}
.foot-grid a{display:block;font-size:14px;margin-bottom:11px;color:rgba(255,255,255,.6);transition:color .25s}
.foot-grid a:hover{color:var(--glow)}
.foot-brand .logo{color:#fff;margin-bottom:16px}
.foot-brand p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.5)}
.copyright{padding-top:24px;font-size:13px;color:rgba(255,255,255,.4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* —— 滚动显形动画（轻量·可靠） —— */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.eyebrow path,.scrolldown i{animation:none}}

/* —— 响应式 —— */
@media(max-width:980px){
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr}
  .news-main{grid-row:auto}
  .news-main .nimg{min-height:220px}
  .about-grid,.contact-card{grid-template-columns:1fr;gap:36px}
  .foot-grid{grid-template-columns:1fr 1fr}
  nav.menu{display:none}
  section.block{padding:78px 0}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .prod-grid,.about-cards,.foot-grid{grid-template-columns:1fr}
  .hero h1{font-size:36px}
}
