/* ==========================================================
   云浅技术 · 官网样式系统 v1.0
   配色：云浅蓝 #0E5AE8 / 深空灰 #0F1720 / 青芒 #00B5D8
   基准：内容区 1200px，栅格 8 的倍数
   ========================================================== */

/* ---------- Reset ---------- */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

:root{
  --blue:#0E5AE8;
  --blue-700:#0B47B8;
  --blue-600:#0C4FD0;
  --blue-100:#E8F0FF;
  --blue-50:#F4F8FF;
  --cyan:#00B5D8;

  --ink:#0F1720;
  --ink-2:#344054;
  --gray:#667085;
  --gray-2:#98A2B3;
  --line:#E4E7EC;
  --line-2:#EDF0F4;
  --soft:#F7F9FC;
  --soft-2:#EEF3FA;

  --container:1200px;
  --radius:12px;
  --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --shadow:0 4px 16px rgba(16,24,40,.06);
  --shadow-lg:0 18px 48px rgba(16,24,40,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
}

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  font-family:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  color:var(--ink-2);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button,input,textarea,select{ font:inherit; color:inherit; }

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5{ color:var(--ink); font-weight:700; line-height:1.3; letter-spacing:-.01em; }
h1{ font-size:clamp(32px,4.2vw,54px); line-height:1.14; font-weight:800; letter-spacing:-.022em; }
h2{ font-size:clamp(25px,2.6vw,34px); line-height:1.28; font-weight:800; letter-spacing:-.018em; }
h3{ font-size:clamp(18px,1.5vw,21px); font-weight:700; }
h4{ font-size:16px; font-weight:700; }
p{ color:var(--ink-2); }

.mono{
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* ---------- Layout ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
}
.section{ padding:96px 0; }
.section--tight{ padding:72px 0; }
.section--soft{ background:var(--soft); }
.section--ink{ background:var(--ink); }
.section--ink h2,.section--ink h3{ color:#fff; }
.section--ink p{ color:rgba(255,255,255,.72); }

.grid{ display:grid; gap:24px; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

/* ---------- Section head ---------- */
.sec-head{ max-width:760px; margin-bottom:52px; }
.sec-head .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:Inter,sans-serif; font-size:12px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--blue);
  margin-bottom:16px;
}
.sec-head .eyebrow::before{
  content:""; width:22px; height:2px; background:var(--blue); border-radius:2px;
}
.sec-head h2{ margin-bottom:16px; }
.sec-head p{ font-size:16.5px; color:var(--gray); line-height:1.8; }
.section--ink .sec-head .eyebrow{ color:#5FE3F5; }
.section--ink .sec-head .eyebrow::before{ background:#5FE3F5; }
.section--ink .sec-head p{ color:rgba(255,255,255,.66); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 26px; border-radius:8px;
  font-size:15px; font-weight:600; letter-spacing:.01em;
  cursor:pointer; border:1px solid transparent;
  transition:background .2s var(--ease), border-color .2s var(--ease),
             color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
  white-space:nowrap;
}
.btn--primary{ background:var(--blue); color:#fff; box-shadow:0 6px 16px rgba(14,90,232,.22); }
.btn--primary:hover{ background:var(--blue-700); transform:translateY(-1px); box-shadow:0 10px 24px rgba(14,90,232,.28); }
.btn--ghost{ background:#fff; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--gray-2); background:var(--soft); transform:translateY(-1px); }
.btn--light{ background:#fff; color:var(--blue); }
.btn--light:hover{ background:var(--blue-50); transform:translateY(-1px); }
.btn--outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.46); }
.btn--outline-light:hover{ border-color:rgba(255,255,255,.85); background:rgba(255,255,255,.10); }
.btn--sm{ height:40px; padding:0 18px; font-size:14px; }
.btn .arw{ transition:transform .2s var(--ease); }
.btn:hover .arw{ transform:translateX(3px); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.site-header.is-scrolled{
  border-bottom-color:var(--line);
  box-shadow:0 1px 0 rgba(16,24,40,.02), 0 8px 24px rgba(16,24,40,.05);
}
.nav{
  display:flex; align-items:center; gap:40px;
  height:76px;
}
.nav__logo{ display:flex; align-items:center; flex:none; }
.nav__logo img{ height:42px; width:auto; }
.nav__menu{
  display:flex; align-items:center; gap:34px;
  margin-left:auto;
}
.nav__menu a:not(.btn){
  position:relative;
  font-size:15px; font-weight:500; color:var(--ink-2);
  padding:6px 0;
  transition:color .18s var(--ease);
}
.nav__menu a:not(.btn):hover{ color:var(--blue); }
.nav__menu a:not(.btn)::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; border-radius:2px; background:var(--blue);
  transform:scaleX(0); transform-origin:left;
  transition:transform .24s var(--ease);
}
.nav__menu a:not(.btn):hover::after{ transform:scaleX(1); }
.nav__menu a:not(.btn).is-active{ color:var(--ink); font-weight:600; }
.nav__menu a:not(.btn).is-active::after{ transform:scaleX(1); }
.nav__cta{ margin-left:12px; flex:none; white-space:nowrap; }

.nav__toggle{
  display:none; width:44px; height:44px; margin-left:auto;
  align-items:center; justify-content:center;
  background:none; border:1px solid var(--line); border-radius:8px; cursor:pointer;
}
.nav__toggle span{
  display:block; width:18px; height:1.8px; background:var(--ink);
  position:relative; transition:background .2s;
}
.nav__toggle span::before,
.nav__toggle span::after{
  content:""; position:absolute; left:0; width:18px; height:1.8px; background:var(--ink);
  transition:transform .24s var(--ease), top .24s var(--ease);
}
.nav__toggle span::before{ top:-6px; }
.nav__toggle span::after{ top:6px; }
.nav__toggle.is-open span{ background:transparent; }
.nav__toggle.is-open span::before{ top:0; transform:rotate(45deg); }
.nav__toggle.is-open span::after{ top:0; transform:rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  padding:88px 0 96px;
  background:
    radial-gradient(900px 480px at 78% -10%, rgba(14,90,232,.10), transparent 62%),
    radial-gradient(620px 380px at 6% 8%, rgba(0,181,216,.08), transparent 60%),
    linear-gradient(180deg,#FAFCFF 0%,#fff 78%);
  border-bottom:1px solid var(--line-2);
}
.hero__grid{
  display:grid; grid-template-columns:1.06fr .94fr;
  gap:64px; align-items:center;
}
.hero__brandline{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:600; color:var(--blue);
  background:var(--blue-50); border:1px solid #D8E5FF;
  border-radius:100px; padding:6px 16px; margin-bottom:26px;
  letter-spacing:.02em;
}
.hero__brandline .dot{
  width:6px; height:6px; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 0 3px rgba(0,181,216,.16);
}
.hero h1{ margin-bottom:24px; }
.hero h1 .accent{
  color:var(--blue);
  background-image:linear-gradient(180deg,transparent 66%,rgba(0,181,216,.34) 66%);
}
.hero__lead{
  font-size:17.5px; line-height:1.85; color:var(--gray);
  max-width:560px; margin-bottom:36px;
}
.hero__lead strong{ color:var(--ink); font-weight:600; }
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hero__note{
  margin-top:22px; font-size:13px; color:var(--gray-2);
  display:flex; align-items:center; gap:8px;
}

/* Hero 右侧能力卡 */
.hero__panel{
  position:relative;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:28px 28px 24px;
  box-shadow:var(--shadow-lg);
}
.hero__panel::before{
  content:""; position:absolute; inset:-1px; border-radius:17px; z-index:-1;
  background:linear-gradient(150deg, rgba(14,90,232,.16), rgba(0,181,216,.10) 50%, transparent 70%);
}
.panel__title{
  display:flex; align-items:center; justify-content:space-between;
  font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gray-2); font-family:Inter,sans-serif;
  padding-bottom:16px; margin-bottom:8px; border-bottom:1px solid var(--line-2);
}
.panel__title .live{
  display:inline-flex; align-items:center; gap:6px; color:#067647;
  letter-spacing:.04em; font-size:11px;
}
.panel__title .live i{
  width:6px; height:6px; border-radius:50%; background:#12B76A;
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(18,183,106,.42); }
  50%{ box-shadow:0 0 0 5px rgba(18,183,106,0); }
}
.panel__list{ display:flex; flex-direction:column; }
.panel__item{
  display:flex; align-items:center; gap:14px;
  padding:15px 2px; border-bottom:1px solid var(--line-2);
}
.panel__item:last-child{ border-bottom:none; }
.panel__ico{
  width:36px; height:36px; border-radius:9px; flex:none;
  background:var(--blue-50); border:1px solid #DCE8FF;
  display:flex; align-items:center; justify-content:center;
}
.panel__item .tx{ flex:1; min-width:0; }
.panel__item .tx b{ display:block; font-size:14.5px; font-weight:600; color:var(--ink); }
.panel__item .tx span{ font-size:12.5px; color:var(--gray-2); }
.panel__item .val{
  font-family:Inter,sans-serif; font-size:13px; font-weight:700;
  color:var(--blue); flex:none;
}

/* ---------- 信任条 ---------- */
.trustbar{
  border-bottom:1px solid var(--line);
  background:#fff;
}
.trustbar__inner{
  display:grid; grid-template-columns:repeat(4,1fr);
  padding:0;
}
.trustbar__item{
  padding:34px 26px;
  border-right:1px solid var(--line-2);
  text-align:left;
}
.trustbar__item:last-child{ border-right:none; }
.trustbar__item .num{
  font-family:Inter,sans-serif; font-size:34px; font-weight:800;
  color:var(--ink); letter-spacing:-.02em; line-height:1.1;
  display:flex; align-items:baseline; gap:3px;
}
.trustbar__item .num em{
  font-style:normal; font-size:16px; font-weight:700; color:var(--blue);
}
/* 非数字格：文字型事实，字号降档与数字格视觉齐平 */
.trustbar__item .num--word{
  font-size:24px; font-weight:800; letter-spacing:0;
  line-height:1.45; min-height:calc(34px * 1.1);
  align-items:center;
}
.trustbar__item .lb{
  margin-top:8px; font-size:13px; color:var(--gray);
}

/* ---------- 问题清单 ---------- */
.pain{ position:relative; }
.pain__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.pain__item{
  display:flex; gap:16px; align-items:flex-start;
  padding:22px 24px; border-radius:10px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  transition:background .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease);
}
.pain__item:hover{
  background:rgba(255,255,255,.075);
  border-color:rgba(95,227,245,.32);
  transform:translateY(-2px);
}
.pain__num{
  font-family:Inter,sans-serif; font-size:12px; font-weight:700;
  color:#5FE3F5; letter-spacing:.06em; flex:none;
  padding-top:3px; width:22px;
}
.pain__item p{
  font-size:15px; line-height:1.7; color:rgba(255,255,255,.88); margin:0;
}
.pain__item p b{ color:#fff; font-weight:600; }

/* ---------- 服务卡 ---------- */
.svc-card{
  position:relative;
  background:#fff; border:1px solid var(--line); border-radius:14px;
  padding:30px 28px 26px;
  transition:transform .26s var(--ease), box-shadow .26s var(--ease),
             border-color .26s var(--ease);
  display:flex; flex-direction:column;
  height:100%;
}
.svc-card:hover{
  transform:translateY(-4px);
  border-color:#C7D8F8;
  box-shadow:0 16px 40px rgba(14,90,232,.10);
}
.svc-card__ico{
  width:46px; height:46px; border-radius:11px;
  background:linear-gradient(145deg,var(--blue-50),#EAF1FF);
  border:1px solid #DCE8FF;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  transition:background .26s var(--ease);
}
.svc-card:hover .svc-card__ico{ background:linear-gradient(145deg,#E3EDFF,#DCE9FF); }
.svc-card h3{ font-size:17.5px; margin-bottom:10px; }
.svc-card p{ font-size:14px; line-height:1.75; color:var(--gray); flex:1; }
.svc-card__tags{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:18px;
}
.svc-card__tags span{
  font-size:11.5px; color:var(--gray);
  background:var(--soft); border:1px solid var(--line-2);
  border-radius:4px; padding:3px 8px;
}
.svc-card__more{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2);
  font-size:13.5px; font-weight:600; color:var(--blue);
}
.svc-card__more svg{ transition:transform .22s var(--ease); }
.svc-card:hover .svc-card__more svg{ transform:translateX(3px); }

/* ---------- 差异化 ---------- */
.adv{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
}
.adv--2x2{ grid-template-columns:repeat(2,1fr); gap:34px 56px; }
.adv__item{ position:relative; padding-top:26px; border-top:1px solid #D8DEE8; }
.adv__item .idx{
  position:absolute; top:-9px; left:0;
  background:var(--soft); padding-right:12px;
  font-family:Inter,sans-serif; font-size:12px; font-weight:800;
  color:var(--blue); letter-spacing:.1em;
}
.adv__item h3{ font-size:18px; margin-bottom:12px; }
.adv__item p{ font-size:14.5px; line-height:1.8; color:var(--gray); }

/* 平台声明条 */
.platbar{
  margin-top:46px; padding-top:32px; border-top:1px solid #D5DCE7;
  display:grid; grid-template-columns:1fr 1.1fr; gap:20px 56px; align-items:start;
}
.platbar h3{
  font-size:16.5px; font-weight:700; color:var(--ink);
  margin-bottom:9px; letter-spacing:-.01em;
}
.platbar p{ font-size:14px; line-height:1.78; color:var(--gray); max-width:44ch; }
.platbar__list{
  list-style:none; margin:0; padding:2px 0 0;
  display:grid; gap:11px; align-content:start; justify-items:start;
}
.platbar__list li{
  display:flex; align-items:flex-start; gap:11px;
  font-size:14px; line-height:1.55; font-weight:500; color:var(--ink-2);
}
.platbar__list li::before{
  content:""; flex:0 0 15px; height:2px; margin-top:.62em;
  background:var(--blue); opacity:.5; border-radius:2px;
}

/* 服务覆盖范围 */
.reach__list{ display:flex; flex-wrap:wrap; gap:9px; }
.reach__list span{
  display:inline-block; padding:8px 16px; border-radius:999px;
  background:#fff; border:1px solid #DDE3ED;
  font-size:13.5px; font-weight:500; color:var(--ink-2);
}
.reach__note{
  margin-top:22px; padding-top:18px; border-top:1px solid var(--line-2);
  font-size:13.5px; line-height:1.85; color:var(--gray); max-width:76ch;
}
.reach__note b{ color:var(--ink-2); font-weight:600; }

/* ---------- 交付路径 ---------- */
.path{ position:relative; }
.path__line{
  position:absolute; left:0; right:0; top:19px; height:2px;
  background:linear-gradient(90deg, rgba(255,255,255,.16), rgba(95,227,245,.45), rgba(255,255,255,.16));
}
.path__steps{
  display:grid; grid-template-columns:repeat(5,1fr); gap:20px; position:relative;
}
.path__step{ text-align:left; }
.path__dot{
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(95,227,245,.42);
  display:flex; align-items:center; justify-content:center;
  font-family:Inter,sans-serif; font-size:13px; font-weight:800; color:#5FE3F5;
  margin-bottom:20px;
  backdrop-filter:blur(4px);
}
.path__step h4{ font-size:15.5px; margin-bottom:8px; color:#fff; }
.path__step p{ font-size:13.5px; line-height:1.7; color:rgba(255,255,255,.6); }

/* ---------- 行业 ---------- */
.ind{ display:flex; flex-wrap:wrap; gap:12px; }
.ind span{
  font-size:14px; padding:10px 20px; border-radius:100px;
  background:#fff; border:1px solid var(--line); color:var(--ink-2);
  transition:all .2s var(--ease);
}
.ind span:hover{ border-color:var(--blue); color:var(--blue); background:var(--blue-50); }

/* ---------- CTA ---------- */
.cta-band{
  background:#0A2C66;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px; padding:64px 56px;
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between;
  gap:48px; flex-wrap:wrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 20px 44px -26px rgba(10,44,102,.55);
}
/* 极细噪点：打散纯色渐变的色带 */
.cta-band::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:.14; mix-blend-mode:overlay;
}
/* 唯一光源：左下角一团极淡的蓝 */
.cta-band::after{
  content:""; position:absolute; left:-200px; bottom:-260px;
  width:700px; height:700px; border-radius:50%;
  background:radial-gradient(circle, rgba(14,90,232,.34), rgba(14,90,232,.10) 46%, transparent 74%);
  pointer-events:none;
}
.cta-band > div{ position:relative; z-index:2; }
.cta-band h2{ color:#fff; font-size:clamp(24px,2.4vw,32px); margin-bottom:12px; }
.cta-band p{ color:rgba(255,255,255,.78); font-size:15.5px; max-width:520px; }
.cta-band__actions{ display:flex; gap:14px; flex-wrap:wrap; position:relative; z-index:2; }

/* ---------- Footer ---------- */
.site-footer{
  background:var(--ink); color:rgba(255,255,255,.6);
  padding:64px 0 0; font-size:14px;
}
.footer__top{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr;
  gap:40px; padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer__brand img{ height:40px; width:auto; margin-bottom:18px; }
.footer__brand p{ font-size:13.5px; line-height:1.9; color:rgba(255,255,255,.52); max-width:300px; }
.footer h5{
  color:#fff; font-size:13px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; margin-bottom:18px;
  font-family:Inter,sans-serif;
}
.footer__links{ display:flex; flex-direction:column; gap:11px; }
.footer__links a{ font-size:13.5px; color:rgba(255,255,255,.6); transition:color .18s; }
.footer__links a:hover{ color:#fff; }
.footer__contact{ font-size:13.5px; line-height:2; color:rgba(255,255,255,.56); }
.footer__contact b{ color:rgba(255,255,255,.86); font-weight:500; }
.footer__bottom{
  padding:24px 0 32px;
  display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;
  font-size:12.5px; color:rgba(255,255,255,.38);
}
.footer__bottom a{ color:rgba(255,255,255,.5); }
.footer__bottom a:hover{ color:#fff; }

/* ---------- 内页通用 ---------- */
.page-head{
  padding:64px 0 56px;
  background:linear-gradient(180deg,#F7FAFF,#fff);
  border-bottom:1px solid var(--line-2);
}
.breadcrumb{
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--gray-2); margin-bottom:20px;
}
.breadcrumb a:hover{ color:var(--blue); }
.breadcrumb .sep{ color:#C7CDD6; }
.page-head h1{ font-size:clamp(28px,3.4vw,42px); margin-bottom:16px; }
.page-head p{ font-size:16.5px; color:var(--gray); max-width:720px; line-height:1.8; }

/* ---------- 动画 ---------- */
/* 默认可见：JS 未执行时内容不会隐身（SEO 与健壮性） */
.reveal{ opacity:1; transform:none; }
.js-anim .reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  will-change:opacity,transform;
}
.js-anim .reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition-duration:.01ms !important; }
  .reveal{ opacity:1; transform:none; }
  html{ scroll-behavior:auto; }
}
/* 打印 / 存为 PDF：未滚动到的区块常处于 opacity:0，必须强制显示 */
@media print{
  .js-anim .reveal{ opacity:1 !important; transform:none !important; }
  .site-header,.nav__toggle,.form-card,.cta-band__actions,.apply-box .btn{ display:none !important; }
  .section{ padding:28px 0 !important; }
  .section--ink,.cta-band{ background:#fff !important; color:#000 !important; box-shadow:none !important; }
  .section--ink h2,.section--ink h3,.section--ink p{ color:#000 !important; }
  .cta-band::after{ display:none !important; }
  a{ text-decoration:none; color:#000; }
  .svc-card,.adv__item,.scene,.job,.card-simple{ break-inside:avoid; }
}

/* ---------- 问题卡片（内页） ---------- */
.pain-card{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:26px 28px;
  transition:border-color .24s var(--ease), box-shadow .24s var(--ease), transform .24s var(--ease);
}
.pain-card:hover{ border-color:#C7D8F8; box-shadow:0 12px 30px rgba(14,90,232,.08); transform:translateY(-2px); }
.pain-card h4{ font-size:16.5px; margin-bottom:10px; }
.pain-card p{ font-size:14.5px; color:var(--gray); line-height:1.8; }

/* ---------- 服务内容清单 ---------- */
.scope-list{ display:flex; flex-direction:column; }
.scope-item{ display:flex; gap:24px; padding:26px 0; border-bottom:1px solid var(--line); }
.scope-item:last-child{ border-bottom:none; }
.scope-item__idx{
  font-family:Inter,sans-serif; font-size:12px; font-weight:800;
  color:var(--blue); letter-spacing:.08em; flex:none; padding-top:5px; width:26px;
}
.scope-item h4{ font-size:16.5px; margin-bottom:8px; }
.scope-item p{ font-size:14.5px; color:var(--gray); line-height:1.8; max-width:780px; }

/* ---------- 交付边界 ---------- */
.boundary{ border-radius:12px; padding:28px 30px; border:1px solid var(--line); background:#fff; }
.boundary--do{ border-top:3px solid var(--blue); }
.boundary--dont{ border-top:3px solid #D92D20; }
.boundary h4{ font-size:14px; letter-spacing:.08em; margin-bottom:18px; font-family:Inter,sans-serif; }
.boundary--do h4{ color:var(--blue); }
.boundary--dont h4{ color:#D92D20; }
.boundary ul li{
  position:relative; padding-left:24px; margin-bottom:10px;
  font-size:14.5px; color:var(--ink-2); line-height:1.7;
}
.boundary ul li:last-child{ margin-bottom:0; }
.boundary--do ul li::before{ content:"\2713"; position:absolute; left:0; color:var(--blue); font-weight:700; }
.boundary--dont ul li::before{ content:"\2715"; position:absolute; left:0; color:#D92D20; font-weight:700; }

/* ---------- FAQ ---------- */
.faq-list{ border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{
  list-style:none; cursor:pointer; position:relative;
  padding:22px 44px 22px 0;
  font-size:16px; font-weight:600; color:var(--ink);
  transition:color .18s;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:""; position:absolute; right:8px; top:29px;
  width:9px; height:9px; border-right:2px solid var(--gray-2); border-bottom:2px solid var(--gray-2);
  transform:rotate(45deg); transition:transform .24s var(--ease);
}
.faq-item[open] summary::after{ transform:rotate(-135deg); }
.faq-item summary:hover{ color:var(--blue); }
.faq-body{ padding:0 44px 24px 0; font-size:14.5px; color:var(--gray); line-height:1.85; }

/* ---------- 合作方式（深色底） ---------- */
.mode{
  padding:28px; border-radius:12px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09);
  transition:background .22s, border-color .22s;
}
.mode:hover{ background:rgba(255,255,255,.075); border-color:rgba(95,227,245,.3); }
.mode__no{
  font-family:Inter,sans-serif; font-size:12px; font-weight:800;
  color:#5FE3F5; letter-spacing:.1em; margin-bottom:14px;
}
.mode h4{ color:#fff; font-size:17px; margin-bottom:10px; }
.mode p{ font-size:14px; color:rgba(255,255,255,.66); line-height:1.8; }
.mode__fit{
  display:block; margin-top:16px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:12.5px; color:rgba(255,255,255,.5);
}

/* ---------- 关于我们 ---------- */
.story{ display:grid; grid-template-columns:1.25fr .75fr; gap:64px; align-items:center; }
.story__text h2{ margin-bottom:20px; }
.story__text p{ font-size:16px; color:var(--gray); line-height:1.95; margin-bottom:16px; }
.story__text strong{ color:var(--ink); font-weight:700; }
.story__punch{
  font-size:17px; font-weight:800; color:var(--ink);
  line-height:1.7; letter-spacing:.01em;
  margin-top:-4px; margin-bottom:22px;
}
.story__mark{ text-align:center; }
.story__mark img{ margin:0 auto 18px; }
.story__caption{ font-size:13px; color:var(--gray-2); letter-spacing:.04em; }

.founder{
  display:grid; grid-template-columns:300px 1fr; gap:56px;
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:44px;
}
.founder__name{ font-size:26px; font-weight:800; color:var(--ink); }
.founder__role{ font-size:14px; color:var(--gray); margin-top:6px; }
.founder__tags{ display:flex; flex-direction:column; gap:10px; margin-top:26px; }
.founder__tags span{ font-size:13.5px; color:var(--ink-2); border-left:2px solid var(--blue); padding-left:12px; }
.founder__body p{ font-size:15.5px; line-height:1.95; color:var(--gray); margin-bottom:16px; }
.founder__body strong{ color:var(--ink); }

.card-simple{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px; }
.card-simple h4{ margin-bottom:10px; }
.card-simple p{ font-size:14.5px; color:var(--gray); line-height:1.8; }
.footnote{ margin-top:28px; font-size:13.5px; color:var(--gray-2); }

.principle{
  padding:26px 28px; border-radius:12px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09);
}
.principle__no{
  font-family:Inter,sans-serif; font-size:12px; font-weight:800;
  color:#5FE3F5; letter-spacing:.1em; margin-bottom:12px;
}
.principle h4{ color:#fff; font-size:17px; margin-bottom:10px; }
.principle p{ font-size:14px; color:rgba(255,255,255,.66); line-height:1.8; }

.split{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start; }
.info-list{ border-top:1px solid var(--line); }
.info-list > div{
  display:grid; grid-template-columns:132px 1fr; gap:20px;
  padding:16px 0; border-bottom:1px solid var(--line-2);
}
.info-list dt{ font-size:13.5px; color:var(--gray-2); }
.info-list dd{ font-size:14px; color:var(--ink-2); line-height:1.75; }
.info-list--wide{ max-width:960px; }

/* ---------- 招聘 ---------- */
.job{
  border:1px solid var(--line); border-radius:14px; padding:32px;
  margin-bottom:18px; background:#fff;
  transition:border-color .22s var(--ease), box-shadow .22s var(--ease);
}
.job:hover{ border-color:#C7D8F8; box-shadow:0 10px 28px rgba(14,90,232,.07); }
.job__head{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:14px; }
.job__head h3{ font-size:19px; }
.job__meta{ display:flex; gap:8px; flex-wrap:wrap; }
.job__meta span{
  font-size:12px; color:var(--gray); background:var(--soft);
  border:1px solid var(--line-2); border-radius:4px; padding:3px 9px;
}
.job__desc{ font-size:14.5px; color:var(--gray); margin-bottom:22px; }
.job__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:32px;
  padding-top:22px; border-top:1px solid var(--line-2);
}
.job__grid h5{
  font-size:12px; letter-spacing:.1em; color:var(--gray-2);
  font-family:Inter,sans-serif; margin-bottom:12px; font-weight:700;
}
.job__grid ul li{
  position:relative; padding-left:16px; font-size:14px;
  color:var(--ink-2); line-height:1.7; margin-bottom:8px;
}
.job__grid ul li::before{
  content:""; position:absolute; left:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:var(--blue);
}
.job__apply{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:22px; font-size:14px; font-weight:600; color:var(--blue);
}

.apply-box{
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  flex-wrap:wrap; margin-top:36px; padding:32px 36px;
  border-radius:14px; background:var(--soft); border:1px solid var(--line);
}
.apply-box h4{ font-size:17px; margin-bottom:8px; }
.apply-box p{ font-size:14px; color:var(--gray); }
.apply-box a{ color:var(--blue); font-weight:600; }

/* ---------- 联系我们 ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.contact-item{ display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--line-2); }
.contact-item:last-of-type{ border-bottom:none; }
.contact-item__ico{
  width:40px; height:40px; border-radius:10px; flex:none;
  background:var(--blue-50); border:1px solid #DCE8FF;
  display:flex; align-items:center; justify-content:center;
}
.contact-item h5{
  font-size:12.5px; color:var(--gray-2); font-weight:600;
  letter-spacing:.08em; margin-bottom:6px;
}
.contact-item p{ font-size:14.5px; color:var(--ink-2); line-height:1.8; }
.contact-item a{ color:var(--blue); }
.contact-note{
  margin-top:28px; padding:22px 24px; border-radius:10px;
  background:var(--soft); border-left:3px solid var(--blue);
}
.contact-note h5{ font-size:14px; margin-bottom:8px; color:var(--ink); font-weight:700; }
.contact-note p{ font-size:13.5px; color:var(--gray); line-height:1.75; }

.form-card{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:36px; box-shadow:var(--shadow);
}
.form-card h3{ font-size:21px; margin-bottom:8px; }
.form-card__sub{ font-size:13.5px; color:var(--gray-2); margin-bottom:26px; line-height:1.7; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:7px; }
.field label span{ color:#D92D20; }
.field input,.field select,.field textarea{
  width:100%; border:1px solid var(--line); border-radius:8px;
  padding:11px 14px; font-size:14.5px; background:#fff; color:var(--ink);
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(14,90,232,.1);
}
.field textarea{ resize:vertical; min-height:96px; }
.form-card__tip{ font-size:12.5px; color:var(--gray-2); margin-top:14px; line-height:1.7; }

/* ---------- 案例 ---------- */
.scene{
  background:#fff; border:1px solid var(--line); border-radius:14px;
  padding:30px 32px; display:flex; flex-direction:column;
}
.scene__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.scene__ind{
  font-size:12px; font-weight:600; color:var(--blue);
  background:var(--blue-50); border:1px solid #D8E5FF;
  border-radius:100px; padding:3px 11px;
}
.scene__idx{
  font-family:Inter,sans-serif; font-size:12px; font-weight:800;
  color:var(--gray-2); letter-spacing:.06em;
}
.scene h3{ font-size:18px; margin-bottom:18px; }
.scene__block{ margin-bottom:16px; }
.scene__block h5{
  font-size:11.5px; letter-spacing:.12em; color:var(--gray-2);
  font-family:Inter,sans-serif; margin-bottom:8px; font-weight:700;
}
.scene__block p{ font-size:14px; color:var(--ink-2); line-height:1.8; }
.scene__block ul li{
  position:relative; padding-left:16px; font-size:14px;
  color:var(--ink-2); line-height:1.75; margin-bottom:6px;
}
.scene__block ul li::before{
  content:""; position:absolute; left:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:var(--blue);
}
.scene__deliver{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--line-2);
  font-size:13px; color:var(--gray);
}
.scene__deliver span{
  display:inline-block; margin-right:10px; font-size:11.5px;
  font-weight:700; color:var(--ink); letter-spacing:.06em;
}
.case-note{
  margin-top:36px; padding:30px 34px; border-radius:14px;
  background:var(--soft); border:1px solid var(--line);
}
.case-note h4{ font-size:16px; margin-bottom:12px; }
.case-note p{ font-size:14px; color:var(--gray); line-height:1.85; }

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .hero__grid{ grid-template-columns:1fr; gap:48px; }
  .hero__panel{ max-width:520px; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .footer__top{ grid-template-columns:1fr 1fr; gap:36px; }
  .path__steps{ grid-template-columns:repeat(2,1fr); gap:28px; }
  .path__line{ display:none; }
  .story,.founder,.split,.contact-grid{ grid-template-columns:1fr; gap:40px; }
  .founder__tags{ flex-direction:row; flex-wrap:wrap; gap:8px; }
  .founder__tags span{ border-left:none; border:1px solid var(--line); border-radius:4px; padding:4px 10px; font-size:12.5px; }
}
@media (max-width:900px){
  .nav__menu{
    position:fixed; inset:76px 0 auto 0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--line);
    padding:8px 24px 20px;
    box-shadow:0 18px 32px rgba(16,24,40,.08);
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:transform .26s var(--ease), opacity .26s var(--ease);
    margin-left:0;
  }
  .nav__menu.is-open{ transform:none; opacity:1; pointer-events:auto; }
  .nav__menu a:not(.btn){ padding:15px 0; border-bottom:1px solid var(--line-2); font-size:16px; }
  .nav__menu a:not(.btn)::after{ display:none; }
  .nav__cta{ display:none; }
  .nav__toggle{ display:flex; }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .adv{ grid-template-columns:1fr; gap:32px; }
  .pain__grid{ grid-template-columns:1fr; }
  .trustbar__inner{ grid-template-columns:repeat(2,1fr); }
  .trustbar__item{ border-bottom:1px solid var(--line-2); }
  .trustbar__item:nth-child(2n){ border-right:none; }
  .platbar{ grid-template-columns:1fr; gap:18px; }
  .platbar p{ max-width:none; }
  .platbar__list{ justify-content:flex-start; }
  .cta-band{ padding:44px 32px; }
}
@media (max-width:680px){
  .container{ padding:0 20px; }
  .section{ padding:64px 0; }
  .section--tight{ padding:52px 0; }
  .hero{ padding:56px 0 64px; }
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
  .sec-head{ margin-bottom:36px; }
  .sec-head p{ font-size:15.5px; }
  .footer__top{ grid-template-columns:1fr; gap:32px; }
  .path__steps{ grid-template-columns:1fr; }
  .btns-mobile-full .btn{ width:100%; }
  .hero__actions .btn{ flex:1; min-width:150px; }
  .founder{ padding:28px; }
  .job{ padding:24px; }
  .job__grid{ grid-template-columns:1fr; gap:22px; }
  .info-list > div{ grid-template-columns:1fr; gap:4px; }
  .apply-box{ padding:24px; }
  .form-card{ padding:26px; }
  .scene{ padding:24px; }
}

/* ---------- 说明类长文（隐私说明等） ---------- */
.legal{ max-width:820px; }
.legal__meta{
  font-size:13px; color:var(--gray-2); padding-bottom:20px; margin-bottom:34px;
  border-bottom:1px solid var(--line);
}
.legal h3{ font-size:17px; font-weight:700; color:var(--ink); margin:36px 0 12px; }
.legal h3:first-of-type{ margin-top:0; }
.legal p{ font-size:15px; line-height:1.95; color:var(--gray); margin-bottom:14px; }
.legal ul{ margin:0 0 16px; padding-left:22px; list-style:disc; }
.legal li{ font-size:15px; line-height:1.95; color:var(--gray); margin-bottom:8px; padding-left:2px; }
.legal li::marker{ color:var(--blue); }
.legal b{ color:var(--ink-2); font-weight:600; }
.legal a{ color:var(--blue); border-bottom:1px solid rgba(14,90,232,.28); }
.legal a:hover{ border-bottom-color:var(--blue); }
