/* ============================================================
   音信云礼 · 企业官网样式表
   品牌主色取自 logo：#C30D23（中国红）
   作者：企业官网设计稿   版本：v1.0
   ============================================================ */

/* ------------------------------------------------------------
   1. 设计变量
   ------------------------------------------------------------ */
:root{
  /* 品牌红 —— 由 logo 取色扩展出的完整色阶 */
  --brand-50:#FFF5F6;
  --brand-100:#FFE6E9;
  --brand-200:#FFC9D0;
  --brand-300:#F98BA0;
  --brand-400:#EE4A63;
  --brand-500:#D8122E;
  --brand-600:#C30D23;   /* 主色 · logo 红 */
  --brand-700:#A00A1D;
  --brand-800:#7C0817;
  --brand-900:#5A0510;

  /* 辅助色 */
  --gold:#FFC53D;
  --amber:#FF8A3D;
  --teal:#17A88A;
  --blue:#3E6FA8;

  /* 中性色 */
  --ink-900:#15181D;
  --ink-800:#22262E;
  --ink-700:#333944;
  --ink-500:#5A6169;
  --ink-400:#858C96;
  --ink-300:#AEB4BD;

  --line:#EBEDF0;
  --line-soft:#F3F4F6;
  --bg:#FFFFFF;
  --bg-soft:#FBFBFB;
  --bg-gray:#F6F7F9;

  /* 圆角 */
  --r-xs:8px;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:24px;
  --r-pill:999px;

  /* 阴影 */
  --shadow-xs:0 1px 3px rgba(21,24,29,.05);
  --shadow-sm:0 4px 14px rgba(21,24,29,.06);
  --shadow-md:0 12px 32px rgba(21,24,29,.09);
  --shadow-lg:0 24px 60px rgba(21,24,29,.14);
  --shadow-brand:0 14px 32px rgba(195,13,35,.28);

  /* 渐变 */
  --grad:linear-gradient(135deg,#E01B33 0%,var(--brand-600) 52%,var(--brand-800) 100%);
  --grad-soft:linear-gradient(135deg,#FFF3F4 0%,#FFE6E9 100%);
  --grad-deep:linear-gradient(135deg,#3A040C 0%,var(--brand-800) 52%,var(--brand-700) 100%);

  /* 动效 */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --header-h:78px;
  --container:1200px;
}

/* ------------------------------------------------------------
   2. 基础重置
   ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans CN",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink-800);
  background:var(--bg);
  font-size:16px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block;border:0;}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease);}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input,select,textarea{font-family:inherit;font-size:15px;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.3;color:var(--ink-900);letter-spacing:-.01em;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
::selection{background:var(--brand-600);color:#fff;}
:focus-visible{outline:2px solid var(--brand-500);outline-offset:3px;border-radius:4px;}

::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#F1F2F4;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-400),var(--brand-600));border-radius:8px;border:2px solid #F1F2F4;}
::-webkit-scrollbar-thumb:hover{background:var(--brand-700);}

/* ------------------------------------------------------------
   3. 布局工具
   ------------------------------------------------------------ */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;position:relative;}
.section--soft{background:var(--bg-soft);}
.section--gray{background:var(--bg-gray);}
.section--brand{background:var(--grad);color:#fff;}
.section--deep{background:var(--grad-deep);color:#fff;}
.u-center{text-align:center;}
.u-mt{margin-top:24px;}

/* ------------------------------------------------------------
   4. 滚动揭示动效
   ------------------------------------------------------------ */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
.reveal--left{transform:translateX(-40px);}
.reveal--right{transform:translateX(40px);}
.reveal--zoom{transform:scale(.92);}
.reveal.in.reveal--left,.reveal.in.reveal--right,.reveal.in.reveal--zoom{transform:none;}
[data-d="1"]{transition-delay:.08s}
[data-d="2"]{transition-delay:.16s}
[data-d="3"]{transition-delay:.24s}
[data-d="4"]{transition-delay:.32s}
[data-d="5"]{transition-delay:.4s}
[data-d="6"]{transition-delay:.48s}
[data-d="7"]{transition-delay:.56s}
[data-d="8"]{transition-delay:.64s}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ------------------------------------------------------------
   5. 页头 / 导航
   ------------------------------------------------------------ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--header-h);
  display:flex;align-items:center;
  background:transparent;
  transition:height .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease);
}
.site-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,2,4,.42),rgba(10,2,4,0));
  opacity:1;transition:opacity .35s var(--ease);
}
.site-header.is-solid{
  height:68px;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  box-shadow:0 2px 20px rgba(21,24,29,.08);
}
.site-header.is-solid::before{opacity:0;}
.header-inner{
  width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:30px;position:relative;z-index:2;
}

/* Logo（图片版，双色切换） */
.logo{display:flex;align-items:center;flex-shrink:0;}
.logo__img{height:40px;width:auto;transition:height .35s var(--ease),opacity .3s var(--ease);}
.logo__img--dark{display:none;}
.site-header.is-solid .logo__img--light{display:none;}
.site-header.is-solid .logo__img--dark{display:block;}
.site-header.is-solid .logo__img{height:34px;}

/* 主导航 */
.nav{display:flex;align-items:center;gap:2px;margin-left:6px;}
.nav__link{
  position:relative;padding:9px 15px;border-radius:var(--r-pill);
  font-size:15px;font-weight:500;color:rgba(255,255,255,.92);
  transition:color .28s var(--ease),background .28s var(--ease);
}
.nav__link::after{
  content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%) scaleX(0);
  width:16px;height:2.5px;border-radius:2px;background:#fff;
  transition:transform .32s var(--ease),width .32s var(--ease);
}
.nav__link:hover::after,.nav__link.is-active::after{transform:translateX(-50%) scaleX(1);width:20px;}
.nav__link.is-active{font-weight:600;}
.site-header.is-solid .nav__link{color:var(--ink-700);}
.site-header.is-solid .nav__link:hover{color:var(--brand-600);}
.site-header.is-solid .nav__link::after{background:var(--brand-600);}
.site-header.is-solid .nav__link.is-active{color:var(--brand-600);background:var(--brand-50);}

/* 右侧操作区 */
.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px;}
.header-tel{display:flex;flex-direction:column;line-height:1.25;color:#fff;transition:color .35s var(--ease);}
.header-tel small{font-size:11px;opacity:.72;letter-spacing:.05em;}
.header-tel strong{font-size:17px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;}
.site-header.is-solid .header-tel{color:var(--brand-600);}
.site-header.is-solid .header-tel small{color:var(--ink-400);}
.header-cta{height:42px;padding:0 22px;font-size:14.5px;display:none;}
@media (min-width:1180px){.header-cta{display:inline-flex;}}

/* 汉堡按钮 */
.burger{
  display:none;width:42px;height:42px;border-radius:12px;
  background:rgba(255,255,255,.16);place-items:center;
  transition:background .3s var(--ease);
}
.burger span{
  display:block;width:19px;height:2px;border-radius:2px;background:#fff;margin:3.5px auto;
  transition:transform .34s var(--ease),opacity .24s var(--ease),background .3s var(--ease);
}
.site-header.is-solid .burger{background:var(--bg-gray);}
.site-header.is-solid .burger span{background:var(--ink-800);}
.burger.is-open span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* 移动端抽屉 */
.drawer-mask{
  position:fixed;inset:0;background:rgba(12,14,18,.5);
  backdrop-filter:blur(3px);z-index:1100;opacity:0;visibility:hidden;
  transition:opacity .35s var(--ease),visibility .35s;
}
.drawer-mask.is-open{opacity:1;visibility:visible;}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);z-index:1200;
  background:#fff;padding:88px 26px 34px;
  transform:translateX(100%);transition:transform .42s var(--ease-out);
  box-shadow:-16px 0 48px rgba(21,24,29,.16);
  display:flex;flex-direction:column;overflow-y:auto;
}
.drawer.is-open{transform:none;}
.drawer__link{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 4px;font-size:17px;font-weight:600;color:var(--ink-800);
  border-bottom:1px solid var(--line-soft);
  opacity:0;transform:translateX(24px);
  transition:opacity .4s var(--ease),transform .4s var(--ease),color .25s;
}
.drawer.is-open .drawer__link{opacity:1;transform:none;}
.drawer.is-open .drawer__link:nth-child(1){transition-delay:.06s}
.drawer.is-open .drawer__link:nth-child(2){transition-delay:.12s}
.drawer.is-open .drawer__link:nth-child(3){transition-delay:.18s}
.drawer.is-open .drawer__link:nth-child(4){transition-delay:.24s}
.drawer.is-open .drawer__link:nth-child(5){transition-delay:.3s}
.drawer.is-open .drawer__link:nth-child(6){transition-delay:.36s}
.drawer__link span{font-size:11px;color:var(--ink-300);font-weight:500;letter-spacing:.08em;}
.drawer__link.is-active,.drawer__link:active{color:var(--brand-600);}
.drawer__cta{margin-top:22px;}
.drawer__tel{margin-top:18px;text-align:center;font-size:13px;color:var(--ink-400);}
.drawer__tel strong{display:block;font-size:21px;color:var(--brand-600);font-weight:800;letter-spacing:.02em;}

/* ------------------------------------------------------------
   6. 按钮
   ------------------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:48px;padding:0 26px;border-radius:var(--r-pill);
  font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s;
  position:relative;overflow:hidden;
}
.btn svg{width:17px;height:17px;flex-shrink:0;}
.btn--primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px rgba(195,13,35,.3);background-size:180% 100%;}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(195,13,35,.42);background-position:100% 0;}
.btn--white{background:#fff;color:var(--brand-600);box-shadow:0 10px 26px rgba(0,0,0,.16);}
.btn--white:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.24);}
.btn--ghost{border:1.5px solid rgba(255,255,255,.6);color:#fff;}
.btn--ghost:hover{background:#fff;color:var(--brand-600);transform:translateY(-3px);}
.btn--outline{border:1.5px solid var(--brand-200);color:var(--brand-600);background:#fff;}
.btn--outline:hover{background:var(--brand-50);border-color:var(--brand-500);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.btn--dark{background:var(--ink-900);color:#fff;}
.btn--dark:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(21,24,29,.3);}
.btn--sm{height:40px;padding:0 20px;font-size:14px;}
.btn--lg{height:56px;padding:0 34px;font-size:16.5px;}
.btn--block{width:100%;}
.btn:active{transform:translateY(-1px) scale(.985);}

.link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--brand-600);font-size:15px;}
.link-arrow svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.link-arrow:hover svg{transform:translateX(5px);}

/* ------------------------------------------------------------
   7. 标题组 / 标签
   ------------------------------------------------------------ */
.sec-head{max-width:760px;margin:0 auto 54px;text-align:center;}
.sec-head--left{margin-left:0;text-align:left;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  height:31px;padding:0 15px;border-radius:var(--r-pill);
  background:var(--brand-50);color:var(--brand-600);
  font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:16px;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-500);box-shadow:0 0 0 4px rgba(195,13,35,.14);}
.sec-head h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;}
.sec-head p{margin-top:16px;font-size:16.5px;color:var(--ink-500);line-height:1.85;}
.section--brand .sec-head h2,.section--deep .sec-head h2{color:#fff;}
.section--brand .sec-head p,.section--deep .sec-head p{color:rgba(255,255,255,.78);}
.section--brand .eyebrow,.section--deep .eyebrow{background:rgba(255,255,255,.16);color:#fff;}
.section--brand .eyebrow::before,.section--deep .eyebrow::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.22);}

.chip{display:inline-block;padding:4px 11px;border-radius:var(--r-pill);background:var(--bg-gray);color:var(--ink-500);font-size:12.5px;font-weight:500;}
.chip--brand{background:var(--brand-50);color:var(--brand-600);}

/* ------------------------------------------------------------
   8. 首页 Hero
   ------------------------------------------------------------ */
.hero{
  position:relative;height:100vh;min-height:660px;max-height:920px;
  overflow:hidden;background:#1B0409;
  display:flex;align-items:center;
}
.hero__track{position:absolute;inset:0;}
.hero__slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity 1s var(--ease),visibility 1s;
  display:flex;align-items:center;
}
.hero__slide.is-active{opacity:1;visibility:visible;}
.hero__bg{position:absolute;inset:0;}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(20,3,7,.9) 0%,rgba(28,5,10,.68) 42%,rgba(28,5,10,.28) 100%);
}
.hero__slide:nth-child(1) .hero__bg{background:linear-gradient(130deg,#4A0511,var(--brand-700) 44%,#E0334B);}
.hero__slide:nth-child(2) .hero__bg{background:linear-gradient(130deg,#2E0410,var(--brand-800) 40%,#FF8A3D);}
.hero__slide:nth-child(3) .hero__bg{background:linear-gradient(130deg,#1F3A5F,#8A0A1D 56%,var(--brand-500));}
.hero__slide:nth-child(4) .hero__bg{background:linear-gradient(130deg,#3B0A22,#9C1130 48%,#F04055);}

/* 装饰层 */
.hero__deco{position:absolute;inset:0;overflow:hidden;opacity:.55;}
.hero__deco i{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.22);animation:floatY 9s ease-in-out infinite;}
.hero__deco i:nth-child(1){width:430px;height:430px;right:-100px;top:4%;animation-delay:0s}
.hero__deco i:nth-child(2){width:280px;height:280px;right:14%;bottom:-10%;animation-delay:1.6s}
.hero__deco i:nth-child(3){width:150px;height:150px;left:36%;top:12%;animation-delay:2.9s}
.hero__deco i:nth-child(4){width:64px;height:64px;right:36%;top:24%;background:rgba(255,255,255,.1);animation-delay:1s}
.hero__grid{
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(120deg,rgba(0,0,0,.9),transparent 62%);
  -webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,.9),transparent 62%);
}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}

.hero__inner{position:relative;z-index:3;width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;}
.hero__content{max-width:620px;color:#fff;}
.hero__badge{
  display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 16px;
  border-radius:var(--r-pill);background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);
  font-size:13.5px;font-weight:500;margin-bottom:26px;
}
.hero__badge b{color:var(--gold);font-weight:700;}
.hero h1{
  font-size:clamp(34px,4.9vw,58px);font-weight:800;line-height:1.16;color:#fff;
  letter-spacing:-.025em;margin-bottom:22px;
}
.hero h1 em{font-style:normal;position:relative;display:inline-block;color:#FFD9A0;}
.hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:6px;height:12px;border-radius:6px;
  background:linear-gradient(90deg,rgba(255,197,61,.5),rgba(240,64,85,.35));z-index:-1;
}
.hero__lead{font-size:clamp(15.5px,1.4vw,18px);color:rgba(255,255,255,.86);line-height:1.9;margin-bottom:32px;max-width:540px;}
.hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:40px;}
.hero__tagrow{display:flex;flex-wrap:wrap;gap:10px;}
.hero__tagrow span{
  padding:6px 14px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  font-size:13px;color:rgba(255,255,255,.9);backdrop-filter:blur(6px);
}
.hero__slide.is-active .anim{animation:slideUp .95s var(--ease-out) both;}
.hero__slide.is-active .anim:nth-child(1){animation-delay:.12s}
.hero__slide.is-active .anim:nth-child(2){animation-delay:.24s}
.hero__slide.is-active .anim:nth-child(3){animation-delay:.36s}
.hero__slide.is-active .anim:nth-child(4){animation-delay:.48s}
.hero__slide.is-active .anim:nth-child(5){animation-delay:.6s}
@keyframes slideUp{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}

/* Hero 右侧 · 平台预览视觉（跨屏常驻） */
.hero__visual{
  position:absolute;right:max(24px,calc((100vw - var(--container))/2 + 24px));top:50%;
  transform:translateY(-50%);z-index:4;width:400px;
  animation:slideUp 1.1s var(--ease-out) .5s both;
}
.hv-card{
  background:rgba(255,255,255,.97);border-radius:var(--r-xl);padding:24px 26px;
  box-shadow:0 34px 80px rgba(30,4,10,.42);
}
.hv-card__top{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.hv-card__mark{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:var(--grad);color:#fff;font-size:15px;font-weight:800;flex-shrink:0;
}
.hv-card__top b{font-size:14.5px;color:var(--ink-900);display:block;line-height:1.3;}
.hv-card__top small{font-size:11.5px;color:var(--ink-400);}
.hv-card__amt{display:flex;align-items:baseline;gap:8px;}
.hv-card__amt small{font-size:12.5px;color:var(--ink-400);}
.hv-card__amt strong{font-size:34px;font-weight:800;color:var(--brand-600);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.hv-bar{height:8px;border-radius:5px;background:var(--brand-100);margin:16px 0 10px;overflow:hidden;}
.hv-bar i{display:block;height:100%;width:68%;border-radius:5px;background:var(--grad);animation:barGrow 1.6s var(--ease-out) 1.1s both;}
@keyframes barGrow{from{width:0}to{width:68%}}
.hv-card__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-400);}
.hv-chips{display:flex;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft);}
.hv-chips span{
  flex:1;text-align:center;font-size:12px;padding:9px 4px;border-radius:var(--r-sm);
  background:var(--brand-50);color:var(--brand-600);font-weight:600;
}
.hv-float{
  position:absolute;background:#fff;border-radius:var(--r-md);padding:14px 16px;
  box-shadow:0 18px 44px rgba(30,4,10,.34);
}
.hv-float b{display:block;font-size:19px;font-weight:800;color:var(--brand-600);line-height:1.25;}
.hv-float span{font-size:11.5px;color:var(--ink-400);}
.hv-float--a{right:-42px;top:-34px;animation:floatY 5.5s ease-in-out infinite;}
.hv-float--b{left:-46px;bottom:-30px;animation:floatY 6.5s ease-in-out 1s infinite;}
.hv-float--b b{color:var(--teal);}
.hv-bars{display:flex;align-items:flex-end;gap:3px;height:34px;margin-top:8px;}
.hv-bars i{width:6px;border-radius:2px;background:var(--brand-200);display:block;}
.hv-bars i:nth-child(1){height:40%}
.hv-bars i:nth-child(2){height:62%}
.hv-bars i:nth-child(3){height:48%}
.hv-bars i:nth-child(4){height:80%;background:var(--brand-500)}
.hv-bars i:nth-child(5){height:100%;background:var(--brand-600)}
.hv-check{display:flex;align-items:center;gap:8px;}
.hv-check i{
  width:28px;height:28px;border-radius:50%;background:rgba(23,168,138,.14);
  display:grid;place-items:center;color:var(--teal);font-style:normal;flex-shrink:0;
}
.hv-check i svg{width:15px;height:15px;}

/* 指示器 + 滚动提示 */
.hero__dots{position:absolute;left:0;right:0;bottom:46px;z-index:5;display:flex;justify-content:center;gap:12px;}
.hero__dot{width:34px;height:4px;border-radius:3px;background:rgba(255,255,255,.36);position:relative;overflow:hidden;transition:width .4s var(--ease);}
.hero__dot i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:#fff;border-radius:3px;}
.hero__dot.is-active{width:56px;}
.hero__dot.is-active i{animation:dotFill 6s linear forwards;}
@keyframes dotFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  display:grid;place-items:center;color:#fff;backdrop-filter:blur(6px);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.hero__arrow:hover{background:rgba(255,255,255,.3);}
.hero__arrow svg{width:19px;height:19px;}
.hero__arrow--prev{left:26px;}
.hero__arrow--next{right:26px;}
.hero__scroll{
  position:absolute;left:50%;bottom:96px;transform:translateX(-50%);z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(255,255,255,.72);font-size:11.5px;letter-spacing:.18em;
}
.hero__scroll i{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;position:relative;}
.hero__scroll i::after{
  content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;
  background:#fff;transform:translateX(-50%);animation:scrollDot 1.7s ease-in-out infinite;
}
@keyframes scrollDot{0%{transform:translate(-50%,0);opacity:0}30%{opacity:1}70%{transform:translate(-50%,13px);opacity:1}100%{transform:translate(-50%,16px);opacity:0}}

/* ------------------------------------------------------------
   9. 数据统计条
   ------------------------------------------------------------ */
.stats{position:relative;margin-top:-64px;z-index:10;}
.stats__card{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-md);
  padding:38px 20px;border:1px solid var(--line-soft);
}
.stat{text-align:center;position:relative;padding:0 10px;}
.stat+.stat::before{content:"";position:absolute;left:0;top:8%;height:84%;width:1px;background:var(--line);}
.stat__num{
  font-size:clamp(28px,3.4vw,42px);font-weight:800;color:var(--brand-600);line-height:1.1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  display:flex;align-items:baseline;justify-content:center;
}
.stat__num .suffix{font-size:.5em;margin-left:3px;color:var(--brand-500);}
.stat__label{margin-top:8px;font-size:14.5px;color:var(--ink-500);}

/* ------------------------------------------------------------
   10. 合作伙伴跑马灯
   ------------------------------------------------------------ */
.partners{overflow:hidden;position:relative;}
.partners::before,.partners::after{content:"";position:absolute;top:0;bottom:0;width:130px;z-index:2;pointer-events:none;}
.partners::before{left:0;background:linear-gradient(90deg,var(--bg-soft),transparent);}
.partners::after{right:0;background:linear-gradient(-90deg,var(--bg-soft),transparent);}
.marquee{display:flex;width:max-content;animation:marquee 34s linear infinite;}
.marquee:hover{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__item{
  width:190px;height:82px;margin:0 12px;border-radius:var(--r-md);
  background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;
}
.marquee__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--brand-200);}
.marquee__logo{
  font-size:17px;font-weight:700;color:var(--ink-400);letter-spacing:.04em;
  display:flex;align-items:center;gap:8px;transition:color .3s var(--ease);
}
.marquee__logo::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor;opacity:.45;}
.marquee__item:hover .marquee__logo{color:var(--brand-500);}

/* ------------------------------------------------------------
   11. 业务流程
   ------------------------------------------------------------ */
.flow{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
.flow__steps{position:relative;}
.flow__line{position:absolute;left:27px;top:34px;bottom:34px;width:2px;background:var(--line);border-radius:2px;overflow:hidden;}
.flow__line i{position:absolute;inset:0;background:var(--grad);transform-origin:top;transform:scaleY(0);transition:transform 1.5s var(--ease-out);}
.flow.in .flow__line i{transform:scaleY(1);}
.flow__step{
  position:relative;display:flex;gap:20px;padding:18px 20px 18px 0;border-radius:var(--r-md);
  cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease);
}
.flow__step:hover{background:var(--brand-50);transform:translateX(4px);}
.flow__step.is-active{background:#fff;box-shadow:var(--shadow-sm);}
.flow__step.is-active .flow__dot{background:var(--grad);color:#fff;transform:scale(1.08);box-shadow:0 8px 20px rgba(195,13,35,.3);}
.flow__step.is-active h4{color:var(--brand-600);}
.flow__dot{
  width:56px;height:56px;border-radius:50%;flex-shrink:0;
  background:#fff;border:2px solid var(--line);color:var(--ink-400);
  display:grid;place-items:center;font-size:18px;font-weight:800;
  transition:all .4s var(--ease);z-index:2;
}
.flow__step.is-active .flow__dot{border-color:transparent;}
.flow__body{padding-top:4px;}
.flow__body h4{font-size:18px;margin-bottom:6px;transition:color .3s;}
.flow__body p{font-size:14.5px;color:var(--ink-500);line-height:1.8;}
.flow__panel{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  background:var(--grad);color:#fff;padding:44px 38px;min-height:400px;
  box-shadow:var(--shadow-lg);
}
.flow__panel::before{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.12);}
.flow__panel::after{content:"";position:absolute;left:-40px;bottom:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.08);}
.flow__pane{position:relative;z-index:2;display:none;}
.flow__pane.is-active{display:block;animation:paneIn .6s var(--ease-out) both;}
@keyframes paneIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.flow__pane h3{font-size:26px;color:#fff;margin-bottom:8px;}
.flow__pane .pane-sub{color:rgba(255,255,255,.8);font-size:14.5px;margin-bottom:26px;}
.flow__pane ul{display:flex;flex-direction:column;gap:14px;}
.flow__pane li{
  display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(255,255,255,.94);
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);
  padding:13px 16px;border-radius:var(--r-md);backdrop-filter:blur(6px);
}
.flow__pane li b{color:#FFD9A0;font-weight:700;flex-shrink:0;}
.flow__pane .pane-tag{
  margin-top:26px;display:inline-flex;padding:7px 15px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.2);font-size:13px;
}

/* ------------------------------------------------------------
   12. 优势卡片
   ------------------------------------------------------------ */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.adv-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:36px 30px;overflow:hidden;
  transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .35s;
}
.adv-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.adv-card::after{
  content:"";position:absolute;right:-56px;bottom:-56px;width:150px;height:150px;border-radius:50%;
  background:var(--grad-soft);opacity:0;transition:opacity .45s var(--ease),transform .55s var(--ease);transform:scale(.6);
}
.adv-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);border-color:var(--brand-200);}
.adv-card:hover::before{transform:scaleX(1);}
.adv-card:hover::after{opacity:1;transform:scale(1);}
.adv-card__icon{
  width:58px;height:58px;border-radius:16px;background:var(--grad);
  display:grid;place-items:center;margin-bottom:22px;position:relative;z-index:2;
  box-shadow:0 10px 24px rgba(195,13,35,.24);transition:transform .45s var(--ease);
}
.adv-card:hover .adv-card__icon{transform:rotate(-8deg) scale(1.08);}
.adv-card__icon svg{width:28px;height:28px;fill:#fff;}
.adv-card h3{font-size:19.5px;margin-bottom:11px;position:relative;z-index:2;}
.adv-card p{font-size:14.8px;color:var(--ink-500);line-height:1.85;position:relative;z-index:2;}
.adv-card__more{margin-top:18px;position:relative;z-index:2;}

/* ------------------------------------------------------------
   13. 卡片栅格 / 产品卡
   ------------------------------------------------------------ */
.card-grid{display:grid;gap:24px;}
.card-grid--2{grid-template-columns:repeat(2,1fr);}
.card-grid--3{grid-template-columns:repeat(3,1fr);}
.card-grid--4{grid-template-columns:repeat(4,1fr);}

.p-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .35s;
  display:flex;flex-direction:column;
}
.p-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);border-color:var(--brand-200);}
.p-card__thumb{height:186px;position:relative;overflow:hidden;display:grid;place-items:center;}
.p-card__thumb::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.05);opacity:0;transition:opacity .4s;}
.p-card:hover .p-card__thumb::after{opacity:1;}
.p-card__thumb .glyph{
  font-size:56px;opacity:.94;transform:scale(1);transition:transform .55s var(--ease);
  z-index:2;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
}
.p-card:hover .p-card__thumb .glyph{transform:scale(1.16) rotate(-6deg);}
.p-card__badge{
  position:absolute;top:14px;left:14px;z-index:3;
  padding:5px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.94);
  font-size:12px;font-weight:700;color:var(--brand-600);box-shadow:var(--shadow-xs);
}
.p-card__body{padding:24px 24px 26px;flex:1;display:flex;flex-direction:column;}
.p-card__body h3{font-size:19px;margin-bottom:9px;}
.p-card__body p{font-size:14.5px;color:var(--ink-500);line-height:1.8;flex:1;}
.p-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.p-card__foot{
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);
  display:flex;align-items:center;justify-content:space-between;
}
.p-card__price{font-size:13.5px;color:var(--ink-400);}
.p-card__price b{font-size:21px;color:var(--brand-600);font-weight:800;}

/* ------------------------------------------------------------
   14. Tab 切换 / 筛选
   ------------------------------------------------------------ */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;}
.tab{
  height:42px;padding:0 22px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--line);color:var(--ink-700);
  font-size:15px;font-weight:500;transition:all .3s var(--ease);
}
.tab:hover{border-color:var(--brand-300);color:var(--brand-600);transform:translateY(-2px);}
.tab.is-active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(195,13,35,.26);}
.tab-pane{display:none;}
.tab-pane.is-active{display:block;animation:fadeUp .55s var(--ease-out) both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.filter-item{animation:popIn .5s var(--ease-out) both;}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(14px)}to{opacity:1;transform:none}}
.filter-item.hidden,.hidden{display:none !important;}

/* ------------------------------------------------------------
   15. 案例轮播
   ------------------------------------------------------------ */
.carousel{position:relative;overflow:hidden;}
.carousel__viewport{overflow:hidden;}
.carousel__track{display:flex;transition:transform .7s var(--ease-out);}
.carousel__slide{flex:0 0 33.3333%;padding:0 12px;box-sizing:border-box;}
.carousel__slide--half{flex:0 0 50%;}
.carousel__nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:36px;}
.carousel__btn{
  width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink-700);transition:all .3s var(--ease);
}
.carousel__btn:hover{background:var(--grad);color:#fff;border-color:transparent;transform:scale(1.08);box-shadow:var(--shadow-brand);}
.carousel__btn svg{width:18px;height:18px;}
.carousel__dots{display:flex;align-items:center;gap:8px;margin-left:10px;}
.carousel__dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:all .35s var(--ease);}
.carousel__dot.is-active{width:26px;border-radius:4px;background:var(--brand-500);}

.case-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;height:100%;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.case-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);}
.case-card__top{height:130px;display:flex;align-items:center;padding:0 26px;gap:16px;position:relative;overflow:hidden;}
.case-card__top::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14);}
.case-card__logo{
  width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.22);
  display:grid;place-items:center;font-size:20px;font-weight:800;color:#fff;
  backdrop-filter:blur(4px);flex-shrink:0;
}
.case-card__co{color:#fff;position:relative;z-index:2;}
.case-card__co strong{display:block;font-size:18px;}
.case-card__co span{font-size:12.5px;opacity:.85;}
.case-card__body{padding:24px;}
.case-card__quote{font-size:14.8px;color:var(--ink-700);line-height:1.85;margin-bottom:20px;}
.case-card__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:18px;border-top:1px solid var(--line-soft);}
.case-card__metrics div{text-align:center;}
.case-card__metrics b{display:block;font-size:20px;color:var(--brand-600);font-weight:800;}
.case-card__metrics span{font-size:12px;color:var(--ink-400);}

/* ------------------------------------------------------------
   16. 产品 UI 展示 · 手机 Mockup
   ------------------------------------------------------------ */
.mockup-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.phone{
  width:290px;height:580px;margin:0 auto;position:relative;
  border-radius:44px;background:#15181D;padding:12px;
  box-shadow:0 30px 70px rgba(21,24,29,.28),0 0 0 2px #2E333A;
}
.phone__screen{
  width:100%;height:100%;border-radius:34px;overflow:hidden;background:#F7F8FA;
  display:flex;flex-direction:column;position:relative;
}
.phone__notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:118px;height:24px;background:#15181D;border-radius:0 0 16px 16px;z-index:5;}
.phone__status{
  height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;
  font-size:11px;font-weight:700;color:#fff;background:var(--grad);flex-shrink:0;
}
.app-head{padding:14px 16px;background:var(--grad);color:#fff;flex-shrink:0;}
.app-head small{opacity:.82;font-size:11.5px;}
.app-head strong{display:block;font-size:16.5px;margin-top:2px;}
.app-body{flex:1;overflow:hidden;padding:14px;display:flex;flex-direction:column;gap:11px;}
.app-search{
  height:38px;border-radius:var(--r-pill);background:#fff;display:flex;align-items:center;
  padding:0 14px;gap:8px;font-size:12.5px;color:var(--ink-400);box-shadow:var(--shadow-xs);
}
.app-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.app-cat{text-align:center;font-size:10.5px;color:var(--ink-500);}
.app-cat i{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 5px;border-radius:13px;background:var(--brand-50);font-size:19px;font-style:normal;}
.app-banner{height:88px;border-radius:var(--r-md);background:linear-gradient(120deg,#FF9A6B,var(--brand-500));color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:center;}
.app-banner strong{font-size:14.5px;}
.app-banner span{font-size:11px;opacity:.9;margin-top:3px;}
.app-list{display:flex;flex-direction:column;gap:9px;}
.app-row{display:flex;gap:10px;align-items:center;background:#fff;border-radius:var(--r-md);padding:9px 10px;box-shadow:var(--shadow-xs);}
.app-row i{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-style:normal;flex-shrink:0;}
.app-row div{flex:1;min-width:0;}
.app-row b{display:block;font-size:12.5px;color:var(--ink-800);}
.app-row span{font-size:10.5px;color:var(--ink-400);}
.app-row em{font-style:normal;font-size:12.5px;color:var(--brand-600);font-weight:800;}
.app-tabbar{height:56px;background:#fff;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(4,1fr);flex-shrink:0;}
.app-tabbar div{display:grid;place-items:center;font-size:10px;color:var(--ink-400);gap:2px;}
.app-tabbar div.is-on{color:var(--brand-600);font-weight:700;}
.app-tabbar i{font-size:17px;font-style:normal;}
.phone__float{
  position:absolute;right:-46px;top:96px;width:118px;border-radius:12px;background:#fff;
  box-shadow:var(--shadow-md);padding:11px 13px;font-size:11.5px;
  animation:floatY 4s ease-in-out infinite;
}
.phone__float b{display:block;font-size:19px;color:var(--brand-600);font-weight:800;}
.phone__float--b{right:auto;left:-52px;top:320px;animation-delay:1.4s;}

/* 后台看板模拟 */
.admin-mock{
  margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.admin-mock__bar{height:38px;background:var(--bg-gray);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 14px;}
.admin-mock__bar i{width:9px;height:9px;border-radius:50%;background:var(--line);}
.admin-mock__bar i:first-child{background:#FF6B6B;}
.admin-mock__bar i:nth-child(2){background:#FFC53D;}
.admin-mock__bar i:nth-child(3){background:#4ADE80;}
.admin-mock__bar span{margin-left:8px;font-size:11.5px;color:var(--ink-400);}
.admin-mock__body{padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.admin-kpi{background:var(--bg-gray);border-radius:var(--r-sm);padding:12px 14px;}
.admin-kpi small{font-size:11px;color:var(--ink-400);display:block;}
.admin-kpi b{font-size:19px;font-weight:800;color:var(--brand-600);}
.admin-chart{grid-column:1/-1;height:96px;display:flex;align-items:flex-end;gap:8px;padding:0 2px;}
.admin-chart i{flex:1;border-radius:4px 4px 0 0;background:var(--brand-100);display:block;}
.admin-chart i.hi{background:var(--grad);}

.mock-feature{display:flex;gap:18px;margin-bottom:26px;}
.mock-feature__n{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--brand-50);color:var(--brand-600);
  display:grid;place-items:center;font-weight:800;font-size:15px;
}
.mock-feature h4{font-size:17px;margin-bottom:6px;}
.mock-feature p{font-size:14.5px;color:var(--ink-500);line-height:1.8;}

/* ------------------------------------------------------------
   17. 表单 / 留资
   ------------------------------------------------------------ */
.lead-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.lead-form{background:#fff;border-radius:var(--r-xl);padding:40px;box-shadow:var(--shadow-lg);border:1px solid var(--line-soft);}
.lead-form h3{font-size:24px;margin-bottom:6px;}
.lead-form .lf-sub{font-size:14.5px;color:var(--ink-500);margin-bottom:26px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f-group{margin-bottom:18px;}
.f-group label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-700);margin-bottom:8px;}
.f-group label i{color:var(--brand-500);font-style:normal;margin-left:2px;}
.f-control{
  width:100%;height:48px;padding:0 16px;border-radius:var(--r-sm);
  border:1.5px solid var(--line);background:var(--bg-soft);color:var(--ink-800);font-size:15px;
  transition:border-color .28s var(--ease),background .28s var(--ease),box-shadow .28s var(--ease);
}
textarea.f-control{height:auto;min-height:96px;padding:13px 16px;resize:vertical;line-height:1.7;}
select.f-control{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6169' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:17px;padding-right:42px;
}
.f-control:focus{outline:none;border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px rgba(195,13,35,.1);}
.f-control.is-error{border-color:#E5484D;background:#FFF5F5;}
.f-err{display:none;margin-top:6px;font-size:12.5px;color:#E5484D;}
.f-group.has-error .f-err{display:block;}
.f-agree{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-500);margin-bottom:22px;line-height:1.7;}
.f-agree input{margin-top:3px;width:16px;height:16px;accent-color:var(--brand-600);flex-shrink:0;}
.f-agree a{color:var(--brand-600);text-decoration:underline;}

.contact-list{display:flex;flex-direction:column;gap:16px;margin-top:34px;}
.contact-item{
  display:flex;gap:16px;align-items:center;padding:18px 22px;background:#fff;
  border-radius:var(--r-md);border:1px solid var(--line);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;
}
.contact-item:hover{transform:translateX(6px);box-shadow:var(--shadow-sm);border-color:var(--brand-200);}
.contact-item__ic{width:46px;height:46px;border-radius:13px;background:var(--grad-soft);color:var(--brand-600);display:grid;place-items:center;flex-shrink:0;}
.contact-item__ic svg{width:22px;height:22px;}
.contact-item b{display:block;font-size:15.5px;}
.contact-item span{font-size:13.5px;color:var(--ink-400);}
.contact-item strong{font-size:19px;color:var(--brand-600);font-weight:800;letter-spacing:.02em;}

/* ------------------------------------------------------------
   18. 资讯 / 文章卡
   ------------------------------------------------------------ */
.news-feature{
  display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);overflow:hidden;margin-bottom:34px;box-shadow:var(--shadow-sm);
}
.news-feature__thumb{min-height:340px;display:grid;place-items:center;position:relative;overflow:hidden;}
.news-feature__thumb .glyph{font-size:96px;z-index:2;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));transition:transform .6s var(--ease);}
.news-feature:hover .news-feature__thumb .glyph{transform:scale(1.14) rotate(-5deg);}
.news-feature__body{padding:44px 42px;display:flex;flex-direction:column;justify-content:center;}
.news-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-400);margin-bottom:14px;}
.news-meta .tag{background:var(--brand-50);color:var(--brand-600);padding:3px 11px;border-radius:var(--r-pill);font-weight:600;font-size:12.5px;}
.news-feature__body h3{font-size:27px;line-height:1.42;margin-bottom:14px;}
.news-feature__body p{font-size:15px;color:var(--ink-500);line-height:1.9;margin-bottom:22px;}

.news-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;height:100%;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .35s;
}
.news-card:hover{transform:translateY(-9px);box-shadow:var(--shadow-md);border-color:var(--brand-200);}
.news-card__thumb{height:132px;display:grid;place-items:center;position:relative;overflow:hidden;}
.news-card__thumb .glyph{font-size:44px;z-index:2;transition:transform .55s var(--ease);}
.news-card:hover .news-card__thumb .glyph{transform:scale(1.18) rotate(-6deg);}
.news-card__body{padding:22px;flex:1;display:flex;flex-direction:column;}
.news-card__body h3{font-size:17px;line-height:1.6;margin-bottom:10px;transition:color .3s;flex:1;}
.news-card:hover .news-card__body h3{color:var(--brand-600);}
.news-card__body p{
  font-size:13.8px;color:var(--ink-500);line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px;
}
.news-card__foot{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--ink-400);padding-top:14px;border-top:1px solid var(--line-soft);}

/* ------------------------------------------------------------
   19. 关于我们
   ------------------------------------------------------------ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-visual{position:relative;}
.about-visual__main{
  height:420px;border-radius:var(--r-xl);background:var(--grad);
  display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
}
.about-visual__main .glyph{font-size:130px;filter:drop-shadow(0 14px 28px rgba(0,0,0,.2));}
.about-visual__main::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.13);}
.about-visual__float{
  position:absolute;background:#fff;border-radius:var(--r-lg);padding:20px 24px;
  box-shadow:var(--shadow-md);animation:floatY 6s ease-in-out infinite;
}
.about-visual__float--a{bottom:-34px;left:-30px;}
.about-visual__float--b{top:36px;right:-38px;animation-delay:2s;}
.about-visual__float b{display:block;font-size:28px;color:var(--brand-600);font-weight:800;line-height:1.2;}
.about-visual__float span{font-size:13px;color:var(--ink-400);}

.culture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
.culture-item{
  text-align:center;padding:28px 18px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);transition:transform .38s var(--ease),box-shadow .38s var(--ease);
}
.culture-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-sm);}
.culture-item i{font-size:34px;font-style:normal;display:block;margin-bottom:12px;}
.culture-item b{display:block;font-size:16.5px;margin-bottom:6px;}
.culture-item span{font-size:13.5px;color:var(--ink-500);}

.timeline{position:relative;}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line);transform:translateX(-50%);}
.tl-item{position:relative;width:50%;padding:0 46px 42px 0;}
.tl-item:nth-child(even){margin-left:50%;padding:0 0 42px 46px;text-align:left;}
.tl-item:nth-child(odd){text-align:right;}
.tl-item__dot{
  position:absolute;top:6px;width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid var(--brand-500);z-index:2;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.tl-item:nth-child(odd) .tl-item__dot{right:-9px;}
.tl-item:nth-child(even) .tl-item__dot{left:-9px;}
.tl-item:hover .tl-item__dot{transform:scale(1.35);box-shadow:0 0 0 6px rgba(195,13,35,.14);}
.tl-item__year{font-size:22px;font-weight:800;color:var(--brand-600);letter-spacing:-.01em;}
.tl-item h4{font-size:17px;margin:5px 0 7px;}
.tl-item p{font-size:14px;color:var(--ink-500);line-height:1.8;}

/* 手风琴（岗位） */
.acc{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;}
.acc + .acc{margin-top:14px;}
.acc__head{width:100%;display:flex;align-items:center;gap:18px;padding:22px 26px;text-align:left;transition:background .3s var(--ease);}
.acc__head:hover{background:var(--bg-soft);}
.acc.is-open .acc__head{background:var(--brand-50);}
.acc__head h4{font-size:17.5px;flex:1;}
.acc__head .acc-meta{display:flex;gap:16px;font-size:13.5px;color:var(--ink-400);}
.acc__icon{width:30px;height:30px;border-radius:50%;background:var(--bg-gray);display:grid;place-items:center;flex-shrink:0;transition:transform .4s var(--ease),background .3s;}
.acc__icon svg{width:15px;height:15px;stroke:var(--ink-700);}
.acc.is-open .acc__icon{transform:rotate(180deg);background:var(--brand-600);}
.acc.is-open .acc__icon svg{stroke:#fff;}
.acc__panel{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-out);}
.acc__inner{padding:6px 26px 26px;}
.acc__inner h5{font-size:14.5px;margin:16px 0 8px;}
.acc__inner ul li{position:relative;padding-left:18px;font-size:14.5px;color:var(--ink-500);line-height:1.95;}
.acc__inner ul li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--brand-400);}

/* ------------------------------------------------------------
   20. 关注我们
   ------------------------------------------------------------ */
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.social-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 26px;
  text-align:center;position:relative;overflow:hidden;
  transition:transform .42s var(--ease),box-shadow .42s var(--ease);
}
.social-card::before{content:"";position:absolute;inset:0;background:var(--grad);transform:translateY(100%);transition:transform .55s var(--ease-out);}
.social-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);}
.social-card:hover::before{transform:translateY(0);}
.social-card > *{position:relative;z-index:2;transition:color .4s var(--ease);}
.social-card:hover h3,.social-card:hover p,.social-card:hover .social-id{color:#fff;}
.social-ic{
  width:64px;height:64px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;
  font-size:30px;background:var(--grad-soft);transition:transform .45s var(--ease),background .4s;
}
.social-card:hover .social-ic{transform:scale(1.1) rotate(-8deg);background:rgba(255,255,255,.2);}
.social-card h3{font-size:18px;margin-bottom:7px;}
.social-card p{font-size:13.8px;color:var(--ink-500);line-height:1.75;min-height:48px;}
.social-id{margin-top:14px;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--brand-600);}
.social-id:hover{opacity:.85;}
.social-id svg{width:14px;height:14px;}
.qr-box{
  width:132px;height:132px;margin:0 auto 14px;border-radius:var(--r-md);
  background:#fff;border:1px solid var(--line);padding:9px;display:grid;place-items:center;
  box-shadow:var(--shadow-xs);
}
.qr-box svg{width:100%;height:100%;}

/* ------------------------------------------------------------
   21. 帮助中心
   ------------------------------------------------------------ */
.help-search{max-width:680px;margin:0 auto 40px;position:relative;}
.help-search input{
  width:100%;height:60px;padding:0 130px 0 56px;border-radius:var(--r-pill);
  border:1.5px solid var(--line);background:#fff;font-size:16px;box-shadow:var(--shadow-sm);
  transition:border-color .3s,box-shadow .3s;
}
.help-search input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 5px rgba(195,13,35,.1),var(--shadow-md);}
.help-search .hs-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:21px;height:21px;color:var(--ink-400);}
.help-search .hs-btn{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:46px;}

.help-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:52px;}
.help-cat{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 18px;
  text-align:center;transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .3s;cursor:pointer;
}
.help-cat:hover{transform:translateY(-8px);box-shadow:var(--shadow-sm);border-color:var(--brand-200);}
.help-cat i{font-size:30px;font-style:normal;display:block;margin-bottom:10px;}
.help-cat b{display:block;font-size:15.5px;margin-bottom:4px;}
.help-cat span{font-size:12.5px;color:var(--ink-400);}

.faq{max-width:880px;margin:0 auto;}
.faq__item{
  border:1px solid var(--line);border-radius:var(--r-md);background:#fff;margin-bottom:12px;
  overflow:hidden;transition:box-shadow .35s var(--ease),border-color .3s;
}
.faq__item:hover{border-color:var(--brand-200);}
.faq__item.is-open{box-shadow:var(--shadow-sm);border-color:var(--brand-200);}
.faq__q{width:100%;display:flex;align-items:center;gap:16px;padding:20px 24px;text-align:left;font-size:16.5px;font-weight:600;color:var(--ink-900);}
.faq__q .q-n{
  width:28px;height:28px;border-radius:8px;background:var(--brand-50);color:var(--brand-600);
  display:grid;place-items:center;font-size:13px;font-weight:800;flex-shrink:0;
}
.faq__q .q-t{flex:1;}
.faq__q .q-icon{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);
  display:grid;place-items:center;flex-shrink:0;
  transition:transform .4s var(--ease),background .3s,border-color .3s;
}
.faq__q .q-icon svg{width:14px;height:14px;stroke:var(--ink-500);transition:stroke .3s;}
.faq__item.is-open .q-icon{transform:rotate(180deg);background:var(--brand-600);border-color:var(--brand-600);}
.faq__item.is-open .q-icon svg{stroke:#fff;}
.faq__a{max-height:0;overflow:hidden;transition:max-height .48s var(--ease-out);}
.faq__a-in{padding:0 24px 22px 68px;font-size:15px;color:var(--ink-500);line-height:1.95;}
.faq__a-in strong{color:var(--brand-600);}
.faq-empty{display:none;text-align:center;padding:60px 20px;color:var(--ink-400);}
.faq-empty.is-show{display:block;}

/* ------------------------------------------------------------
   22. CTA 通栏 / 内页 Banner
   ------------------------------------------------------------ */
.cta-band{position:relative;overflow:hidden;padding:74px 0;}
.cta-band::before{content:"";position:absolute;left:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.1);}
.cta-band::after{content:"";position:absolute;right:-90px;bottom:-130px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.cta-inner h2{font-size:clamp(24px,3vw,36px);color:#fff;margin-bottom:12px;}
.cta-inner p{color:rgba(255,255,255,.84);font-size:16px;}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

.page-banner{position:relative;padding:172px 0 84px;background:var(--grad-deep);color:#fff;overflow:hidden;}
.page-banner::before{
  content:"";position:absolute;right:-140px;top:-140px;width:460px;height:460px;border-radius:50%;
  background:rgba(195,13,35,.45);filter:blur(10px);
}
.page-banner::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:30px 30px;
}
.page-banner .container{position:relative;z-index:3;}
.crumb{display:flex;align-items:center;gap:9px;font-size:13.5px;color:rgba(255,255,255,.62);margin-bottom:18px;}
.crumb a:hover{color:#fff;}
.crumb span{opacity:.5;}
.page-banner h1{font-size:clamp(30px,4.2vw,48px);color:#fff;margin-bottom:16px;letter-spacing:-.02em;}
.page-banner .pb-lead{font-size:16.5px;color:rgba(255,255,255,.8);max-width:640px;line-height:1.9;}

/* ------------------------------------------------------------
   23. 页脚
   ------------------------------------------------------------ */
.site-footer{background:#141619;color:rgba(255,255,255,.62);padding:74px 0 0;position:relative;}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1.2fr;gap:40px;padding-bottom:52px;}
.footer-col h4{color:#fff;font-size:15.5px;margin-bottom:20px;letter-spacing:.02em;}
.footer-col ul li{margin-bottom:11px;}
.footer-col ul a{font-size:14px;color:rgba(255,255,255,.58);transition:color .28s var(--ease),padding-left .28s var(--ease);}
.footer-col ul a:hover{color:#fff;padding-left:5px;}
.footer-brand .logo__img{height:38px;}
.footer-brand p{font-size:13.8px;line-height:1.95;margin:20px 0 22px;max-width:300px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{
  width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.08);
  display:grid;place-items:center;font-size:15px;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.footer-social a:hover{background:var(--brand-600);transform:translateY(-4px);}
.footer-qr{text-align:center;}
.footer-qr .qr-box{background:#fff;}
.footer-qr span{display:block;margin-top:10px;font-size:12.5px;}
.footer-contact li{display:flex;gap:9px;font-size:14px;margin-bottom:13px;align-items:flex-start;}
.footer-contact b{color:#fff;font-weight:600;flex-shrink:0;}
.footer-bar{
  border-top:1px solid rgba(255,255,255,.09);padding:22px 0;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;
}
.footer-bar a:hover{color:#fff;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}

/* ------------------------------------------------------------
   24. 浮动工具 / 底部条 / 弹窗 / Toast
   ------------------------------------------------------------ */
.float-tools{position:fixed;right:20px;bottom:26px;z-index:900;display:flex;flex-direction:column;gap:12px;}
.ft-btn{
  width:52px;height:52px;border-radius:50%;background:#fff;
  box-shadow:0 8px 24px rgba(21,24,29,.16);
  display:grid;place-items:center;color:var(--ink-700);position:relative;
  transition:transform .34s var(--ease),background .3s,color .3s,box-shadow .3s;
}
.ft-btn:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(21,24,29,.22);}
.ft-btn svg{width:21px;height:21px;}
.ft-btn--primary{background:var(--grad);color:#fff;box-shadow:var(--shadow-brand);}
.ft-btn--top{opacity:0;visibility:hidden;transform:translateY(12px);}
.ft-btn--top.is-show{opacity:1;visibility:visible;transform:none;}
.ft-tip{
  position:absolute;right:62px;top:50%;transform:translateY(-50%) translateX(8px);
  background:var(--ink-900);color:#fff;font-size:12.5px;padding:6px 12px;border-radius:var(--r-pill);
  white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s var(--ease);pointer-events:none;
}
.ft-btn:hover .ft-tip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);}

.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:950;display:none;
  background:#fff;box-shadow:0 -6px 24px rgba(21,24,29,.12);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;align-items:center;
}
.mobile-bar .mb-tel{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-md);background:var(--brand-50);color:var(--brand-600);}
.mobile-bar .mb-tel svg{width:21px;height:21px;}
.mobile-bar .btn{flex:1;height:46px;}

.modal{
  position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.modal.is-open{opacity:1;visibility:visible;}
.modal__mask{position:absolute;inset:0;background:rgba(12,14,18,.58);backdrop-filter:blur(4px);}
.modal__box{
  position:relative;z-index:2;width:min(460px,100%);background:#fff;border-radius:var(--r-xl);
  padding:40px 36px;box-shadow:var(--shadow-lg);
  transform:translateY(24px) scale(.96);transition:transform .42s var(--ease-out);
  max-height:88vh;overflow-y:auto;
}
.modal.is-open .modal__box{transform:none;}
.modal__close{
  position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;
  background:var(--bg-gray);display:grid;place-items:center;transition:background .3s,transform .3s;
}
.modal__close:hover{background:var(--brand-50);transform:rotate(90deg);}
.modal__close svg{width:16px;height:16px;stroke:var(--ink-700);}
.modal__box h3{font-size:23px;margin-bottom:8px;}
.modal__box .m-sub{font-size:14.5px;color:var(--ink-500);margin-bottom:24px;}

.toast{
  position:fixed;left:50%;top:92px;transform:translate(-50%,-16px);z-index:1400;
  background:var(--ink-900);color:#fff;padding:13px 24px;border-radius:var(--r-pill);
  font-size:14.5px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;
  transition:all .38s var(--ease);display:flex;align-items:center;gap:9px;
}
.toast.is-show{opacity:1;visibility:visible;transform:translate(-50%,0);}
.toast svg{width:18px;height:18px;stroke:#4ADE80;}

/* ------------------------------------------------------------
   25. 响应式
   ------------------------------------------------------------ */
@media (max-width:1180px){
  .hero__visual{width:340px;right:24px;}
  .hv-float--a{right:-20px;}
  .hv-float--b{left:-24px;}
}

@media (max-width:1080px){
  .nav{display:none;}
  .burger{display:grid;}
  .header-tel{display:none;}
  .hero__visual{display:none;}
  .hero__content{max-width:720px;}
  .flow{grid-template-columns:1fr;gap:36px;}
  .flow__panel{min-height:auto;}
  .adv-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid--3,.card-grid--4{grid-template-columns:repeat(2,1fr);}
  .mockup-stage{grid-template-columns:1fr;gap:56px;}
  .help-cats{grid-template-columns:repeat(3,1fr);}
  .social-grid{grid-template-columns:repeat(2,1fr);}
  .culture-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:36px;}
  .footer-col--brand{grid-column:1/-1;}
  .carousel__slide{flex:0 0 50%;}
  .hero__arrow{display:none;}
}

@media (max-width:860px){
  .section{padding:64px 0;}
  .container{padding:0 18px;}
  .header-inner{padding:0 18px;}
  :root{--header-h:64px;}
  .logo__img{height:32px;}
  .site-header.is-solid .logo__img{height:29px;}
  .hero{min-height:560px;max-height:780px;}
  .hero__scroll,.hero__tagrow{display:none;}
  .hero__btns{margin-bottom:0;}
  .hero__dots{bottom:34px;}
  .stats{margin-top:-48px;}
  .stats__card{grid-template-columns:repeat(2,1fr);gap:26px 10px;padding:30px 14px;}
  .stat+.stat::before{display:none;}
  .stat:nth-child(n+3){position:relative;}
  .stat:nth-child(n+3)::after{content:"";position:absolute;left:14%;right:14%;top:-14px;height:1px;background:var(--line);}
  .lead-wrap{grid-template-columns:1fr;gap:36px;}
  .lead-form{padding:28px 22px;}
  .about-grid{grid-template-columns:1fr;gap:44px;}
  .about-visual__main{height:320px;}
  .news-feature{grid-template-columns:1fr;}
  .news-feature__thumb{min-height:200px;}
  .news-feature__body{padding:30px 24px;}
  .news-feature__body h3{font-size:22px;}
  .card-grid--2,.card-grid--3,.card-grid--4{grid-template-columns:1fr;}
  .adv-grid{grid-template-columns:1fr;}
  .page-banner{padding:132px 0 60px;}
  .cta-inner{flex-direction:column;align-items:flex-start;}
  .timeline::before{left:16px;}
  .tl-item,.tl-item:nth-child(even){width:100%;margin-left:0;padding:0 0 34px 46px;text-align:left;}
  .tl-item:nth-child(odd) .tl-item__dot,.tl-item:nth-child(even) .tl-item__dot{left:7px;right:auto;}
  .phone{width:250px;height:510px;}
  .phone__float{right:-16px;width:104px;}
  .phone__float--b{left:-16px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .float-tools{right:14px;bottom:88px;}
  .ft-btn{width:46px;height:46px;}
  .ft-btn svg{width:18px;height:18px;}
  .mobile-bar{display:flex;}
  .footer-bar{flex-direction:column;align-items:flex-start;gap:10px;}
  .help-cats{grid-template-columns:repeat(2,1fr);}
  .help-search input{padding:0 22px 0 52px;height:54px;}
  .help-search .hs-btn{position:static;transform:none;width:100%;margin-top:12px;}
  .contact-item{padding:15px 18px;}
  .f-row{grid-template-columns:1fr;}
  .faq__q{font-size:15.5px;padding:17px 18px;gap:12px;}
  .faq__a-in{padding:0 18px 20px 18px;}
  .acc__head{flex-wrap:wrap;gap:10px;padding:18px 20px;}
  .acc__head .acc-meta{width:100%;gap:12px;}
}

@media (max-width:520px){
  .social-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .culture-grid{grid-template-columns:1fr 1fr;}
  .carousel__slide,.carousel__slide--half{flex:0 0 100%;}
  .hero h1{font-size:30px;}
  .hero__lead{font-size:15px;}
  .hero__btns .btn{flex:1;min-width:140px;}
  .sec-head{margin-bottom:38px;}
  .stats__card{padding:24px 10px;}
  .modal__box{padding:32px 22px;}
  .admin-mock__body{grid-template-columns:repeat(2,1fr);}
}

/* 打印 */
@media print{
  .site-header,.float-tools,.mobile-bar,.modal,.drawer,.drawer-mask{display:none !important;}
}
