/* ============================================================
   itis.ink · 印思品牌官网 — 轻量商务蓝 / 移动端优先
   ============================================================ */

:root{
  /* ── 品牌色 ─────────────────────────────────
     brand      填充 / 图形（白字需 ≥18.66px bold）
     brand-600  主按钮底色，白字 4.9:1
     brand-text 浅底上的品牌色文字，5.8:1
     brand-deep 按下态                            */
  --brand:      #2E7BE8;
  --brand-600:  #256FCF;
  --brand-text: #1E63C4;
  --brand-deep: #17539E;
  --navy:       #16325C;
  --sky:        #8EC0F7;
  --sky-soft:   #BBD9FA;
  --cyan:       #22BFD4;
  --accent:     #FF6B35;

  /* ── 语义色（正文全部 ≥ WCAG AA 4.5:1）────── */
  --bg:          #FFFFFF;
  --surface:     #FFFFFF;
  --tint:        #F2F7FF;
  --tint-2:      #E8F1FE;
  --text:        #16325C;  /* 11.6:1 主文本 */
  --muted:       #475D75;  /*  6.8:1 次级正文 */
  --faint:       #607691;  /*  4.7:1 辅助/占位 */
  --line:        #E6EEF9;
  --line-strong: #CFE0F6;
  --ok:          #0A7C46;
  --danger:      #C62A2F;

  /* ── 圆角 / 阴影 ── */
  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:26px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(22,50,92,.05);
  --shadow-2:0 6px 20px rgba(22,50,92,.07);
  --shadow-3:0 14px 36px rgba(22,50,92,.14);
  --shadow:var(--shadow-2);
  --shadow-hi:var(--shadow-3);

  /* ── 间距（8 点体系）── */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:32px; --sp-7:48px;

  /* ── 字阶（1.25）── */
  --fs-xs:12px; --fs-sm:13px;  --fs-base:15px; --fs-md:16px;
  --fs-lg:18px; --fs-xl:22px;  --fs-2xl:26px;  --fs-3xl:32px;

  --tap:44px;
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip; color-scheme:light only; }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Noto Sans SC","Microsoft YaHei",sans-serif;
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  padding-bottom:calc(66px + var(--safe-b));
}

/* ---------------- 无障碍基础 ---------------- */
/* 键盘可见焦点环：2px + 2px 偏移，任何底色上都看得见 */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible{
  outline:2px solid var(--brand-text);
  outline-offset:2px;
}
/* 触摸设备上去掉 300ms 点击高亮，但保留焦点环 */
a, button{ -webkit-tap-highlight-color:transparent; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* 图标：线性图标用 currentColor 描边，需要 color 继承 */
.tile__ico svg, .svc__ico svg, .crow__ico svg, .tabbar svg{
  fill:var(--brand); color:var(--brand);
}

img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; font-weight:800; letter-spacing:-.01em; line-height:1.35; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }

.wrap{ width:100%; max-width:680px; margin:0 auto; padding:0 20px; }

/* ---------------- 顶部滚动进度 ---------------- */
.progress{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:120;
  background:transparent; pointer-events:none;
}
.progress i{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--brand),var(--cyan));
  transition:width .1s linear;
}

/* ---------------- 顶栏 ---------------- */
.header{
  position:sticky; top:0; z-index:100;
  padding-top:var(--safe-t);
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.header.is-stuck{
  border-bottom-color:var(--line);
  box-shadow:0 2px 16px rgba(22,50,92,.05);
}
.header__inner{
  height:56px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}

.brand{ display:flex; align-items:center; gap:9px; }
.brand__mark{ flex:none; display:block; line-height:0; }
.brand__text{
  font-size:19px; font-weight:800; letter-spacing:-.02em; color:var(--navy);
}
.brand__dot{ color:var(--brand); }

/* 桌面导航 */
.nav{ display:none; }
.nav a{
  font-size:14px; color:var(--muted); padding:6px 2px; margin-left:20px;
  position:relative; transition:color .2s;
}
.nav a:hover{ color:var(--brand-text); }
.nav a.is-active{ color:var(--brand-text); }
.nav a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:var(--brand-text); border-radius:2px;
}
.nav__cta{
  color:var(--brand-text) !important; font-weight:700;
}

/* 汉堡按钮 */
.nav-toggle{
  width:var(--tap); height:var(--tap); flex:none;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:var(--tint); border:0; border-radius:12px; cursor:pointer; padding:0;
}
.nav-toggle i{
  display:block; width:16px; height:2px; background:var(--navy); border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] i:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] i:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] i:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* 移动端抽屉导航 */
.nav-mask{
  position:fixed; inset:0; z-index:98;
  background:rgba(22,50,92,.35);
  opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s;
}
.nav-mask.is-open{ opacity:1; visibility:visible; }

@media (max-width: 767px){
  .nav{
    display:none; flex-direction:column; gap:2px;
    position:fixed; z-index:99;
    top:calc(56px + var(--safe-t)); right:0; width:min(78vw, 300px);
    padding:14px;
    background:#fff;
    border-left:1px solid var(--line);
    border-bottom-left-radius:20px;
    box-shadow:-8px 12px 40px rgba(22,50,92,.12);
  }
  .nav.is-open{
    display:flex;
    animation:navIn .28s cubic-bezier(.4,0,.2,1) both;
  }
  @keyframes navIn{
    from{ transform:translateX(105%); }
    to{ transform:translateX(0); }
  }
  .nav a{
    margin:0; padding:12px 14px; font-size:15px; border-radius:10px; color:var(--text);
  }
  .nav a:active{ background:var(--tint); }
  .nav__cta{
    background:var(--brand); color:#fff !important; text-align:center; margin-top:6px; font-weight:700;
  }
  .nav__cta:active{ background:var(--brand-deep); }
}
@media (min-width: 768px){
  .nav{ display:flex; align-items:center; }
  .nav-toggle{ display:none; }
  .nav-mask{ display:none; }
  body{ padding-bottom:0; }
}

/* ---------------- Hero ---------------- */
.hero{
  position:relative;
  overflow:hidden;
  padding:36px 0 44px;
}
.hero__glow{
  position:absolute; inset:-30% -20% auto -20%; height:340px;
  background:radial-gradient(60% 60% at 50% 40%, rgba(46,123,232,.12), transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at center, rgba(46,123,232,.09) 1.4px, transparent 1.5px);
  background-size:20px 20px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.8), transparent 85%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.8), transparent 85%);
}
.hero__inner{ position:relative; z-index:1; text-align:center; }
.hero__wordmark{
  display:flex; align-items:baseline; justify-content:center;
  font-size:clamp(46px, 15vw, 66px);
  font-weight:800; letter-spacing:-.035em; line-height:1.05;
}
.wm{ color:var(--navy); }
.wm--accent{ color:var(--brand); }
.hero__cn{
  margin-top:10px;
  font-size:26px; font-weight:800; letter-spacing:.42em; text-indent:.42em; color:var(--navy);
}
.hero__slogan{
  margin-top:14px;
  font-size:var(--fs-md); font-weight:800; color:var(--brand-text);
}
.hero__slogan .sep{ margin:0 8px; color:var(--sky); }
.hero__desc{
  margin-top:8px; font-size:13.5px; color:var(--muted);
}
.hero__btns{
  margin-top:26px; display:flex; gap:10px; justify-content:center;
}

/* ---------------- 按钮 ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:0 24px; border-radius:var(--r-pill);
  font-size:var(--fs-base); font-weight:700; border:1px solid transparent;
  cursor:pointer; transition:transform .15s ease, box-shadow .2s ease, background .2s;
  -webkit-tap-highlight-color:transparent;
}
.btn:active{ transform:scale(.98); }
.btn--primary{
  background:var(--brand-600); color:#fff; box-shadow:var(--shadow-hi);
}
.btn--primary:hover{ background:var(--brand-deep); }
.btn--ghost{
  background:#fff; color:var(--brand-text); border-color:var(--sky-soft);
}
.btn--ghost:hover{ background:var(--tint); border-color:var(--sky); }
.btn--block{ width:100%; }
.btn[disabled]{ opacity:.6; pointer-events:none; }
/* 箭头：跟随按钮文字色 */
.btn > svg{ width:15px; height:15px; flex:none; fill:none; stroke:currentColor;
  stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------------- 数据条 ---------------- */
.stats{
  padding:22px 0 4px;
}
.stats__grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
.stat{
  background:var(--tint); border-radius:var(--r-md); padding:16px 14px; text-align:center;
}
.stat b{
  display:block; font-size:var(--fs-2xl); font-weight:800; color:var(--brand-text); line-height:1.2;
  letter-spacing:-.02em;
}
.stat b em{ font-style:normal; font-size:14px; margin-left:2px; }
.stat span{ font-size:var(--fs-sm); color:var(--muted); }

/* ---------------- 区块通用 ---------------- */
.section{ padding:44px 0; scroll-margin-top:calc(56px + var(--safe-t)); }
.section--tint{
  background:var(--tint);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.sec-head{ margin-bottom:22px; }
.sec-tag{
  display:inline-block;
  font-size:var(--fs-xs); font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brand-text); background:#fff; border:1px solid var(--sky-soft);
  padding:4px 12px; border-radius:var(--r-pill); margin-bottom:12px;
}
.section--tint .sec-tag{ background:#fff; }
.sec-title{ font-size:var(--fs-xl); }
.sec-sub{ margin-top:8px; font-size:var(--fs-sm); color:var(--muted); max-width:52ch; }
.lead{ font-size:var(--fs-base); color:var(--muted); }
.lead b{ color:var(--navy); font-weight:800; }

/* ---------------- 关于 ---------------- */
.about__grid{
  margin-top:24px; display:grid; gap:12px;
}
.tile{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:18px 16px; box-shadow:var(--shadow);
}
.tile__ico{
  width:38px; height:38px; border-radius:11px; background:var(--tint);
  display:flex; align-items:center; justify-content:center; margin-bottom:12px;
}
.tile__ico svg{ width:20px; height:20px; fill:var(--brand); }
.tile h3{ font-size:15.5px; margin-bottom:4px; }
.tile p{ font-size:13px; color:var(--muted); }

/* ---------------- 核心业务 ---------------- */
.svc__list{ display:grid; gap:10px; }
.svc{
  display:flex; gap:14px; align-items:flex-start;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:16px; box-shadow:var(--shadow);
}
.svc__ico{
  width:44px; height:44px; flex:none; border-radius:13px;
  background:linear-gradient(135deg, rgba(46,123,232,.12), rgba(34,191,212,.12));
  display:flex; align-items:center; justify-content:center;
}
.svc__ico svg{ width:22px; height:22px; fill:var(--brand); }
.svc h3{ font-size:16px; margin-bottom:3px; }
.svc p{ font-size:13px; color:var(--muted); }

/* ---------------- 为什么选我们 ---------------- */
.why__grid{ display:grid; gap:12px; }
.why{
  background:var(--tint); border-radius:var(--r-md); padding:18px 16px;
  position:relative; overflow:hidden;
}
.why b{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:13px; margin-bottom:12px;
  background:rgba(46,123,232,.11); color:var(--brand-text);
  font-size:var(--fs-md); font-weight:800; line-height:1; letter-spacing:-.01em;
}
.why h3{ font-size:var(--fs-base); margin-bottom:4px; }
.why p{ font-size:var(--fs-sm); color:var(--muted); }

/* ---------------- 流程 ---------------- */
.steps{ display:grid; gap:10px; counter-reset:s; }
.steps li{
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:14px 16px; box-shadow:var(--shadow);
}
.steps li span{
  flex:none; width:36px; height:36px; border-radius:12px;
  background:var(--brand-600); color:#fff;
  font-size:var(--fs-sm); font-weight:800; display:flex; align-items:center; justify-content:center;
}
.steps li h3{ font-size:var(--fs-base); }
.steps li p{ font-size:var(--fs-xs); color:var(--muted); }
/* 步骤之间的连接线，让"流程"读起来是一条线而不是五张卡 */
.steps li{ position:relative; }
.steps li:not(:last-child)::after{
  content:""; position:absolute; pointer-events:none;
  background:var(--line-strong);
}
@media (max-width: 767px){
  .steps li:not(:last-child)::after{ left:33px; bottom:-10px; width:2px; height:10px; }
}
@media (min-width: 768px){
  .steps li:not(:last-child)::after{ top:32px; right:-10px; height:2px; width:10px; }
}

/* ---------------- 小程序 ---------------- */
.miniapp{
  display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center;
}
.miniapp__code{
  width:190px; height:190px; padding:10px; border-radius:20px;
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow);
}
.miniapp__code svg{ width:100%; height:100%; }
.miniapp__txt .sec-title{ font-size:22px; }
.miniapp__txt p{ margin-top:8px; font-size:13.5px; color:var(--muted); }
.miniapp__feat{
  margin-top:14px; display:inline-grid; gap:6px; text-align:left;
}
.miniapp__feat li{
  font-size:13px; color:var(--text); padding-left:18px; position:relative;
}
.miniapp__feat li::before{
  content:""; position:absolute; left:0; top:9px;
  width:7px; height:7px; border-radius:50%; background:var(--brand);
}

/* ---------------- 表单 ---------------- */
.form{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:20px 18px; box-shadow:var(--shadow);
  display:grid; gap:16px;
}
.field{ display:grid; gap:8px; }
.field label,
.field__label{ font-size:var(--fs-sm); font-weight:700; }
.field label em,
.field__label em{ color:var(--danger); font-style:normal; }
.field__opt{ margin-left:2px; font-weight:500; color:var(--faint); }
.field input,
.field textarea,
.field select{
  width:100%; font:inherit; font-size:15px; color:var(--text);
  background:var(--tint); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:12px 14px; outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
  -webkit-appearance:none; appearance:none;
}
.field textarea{ resize:vertical; line-height:1.6; }
.field input::placeholder,
.field textarea::placeholder{ color:var(--faint); }
.field input:focus,
.field textarea:focus,
.field select:focus{
  background:#fff; border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(46,123,232,.13);
}
.field.is-error input,
.field.is-error textarea{ border-color:var(--danger); background:#FFF7F7; }
.err{ font-size:var(--fs-xs); color:var(--danger); min-height:0; }
.counter{ text-align:right; font-size:var(--fs-xs); color:var(--faint); }
.form__note{
  font-size:var(--fs-sm); text-align:center; color:var(--muted);
}
.form__note:not(:empty){ margin-top:var(--sp-3); }
.form__note.is-ok{ color:var(--ok); font-weight:700; }
.form__note.is-error{ color:var(--danger); font-weight:700; }

/* ---------------- 业务选择：chips（≥44px 触达）---------------- */
.chips{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.chip{
  min-height:var(--tap); padding:0 18px;
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid var(--line-strong); border-radius:var(--r-pill);
  color:var(--muted); font:inherit; font-size:var(--fs-base); font-weight:600;
  cursor:pointer; -webkit-tap-highlight-color:transparent;
  transition:background .18s, border-color .18s, color .18s, box-shadow .18s;
}
.chip:active{ transform:scale(.97); }
.chip:hover{ border-color:var(--sky); color:var(--brand-text); }
.chip[aria-pressed="true"]{
  background:var(--tint-2); border-color:var(--brand-600); color:var(--brand-text);
  font-weight:700; box-shadow:inset 0 0 0 1px var(--brand-600);
}
.chip__tick{
  width:15px; height:15px; flex:none; opacity:0; transform:scale(.6);
  transition:opacity .18s, transform .18s;
  fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
}
.chip[aria-pressed="true"] .chip__tick{ opacity:1; transform:scale(1); }

/* ---------------- 表单底部动作条（移动端吸底）---------------- */
.form__bar{ display:block; }
@media (max-width: 767px){
  .form__bar{
    position:sticky; bottom:calc(62px + var(--safe-b)); z-index:60;
    margin:0 -18px -20px; padding:10px 18px 12px;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0, #fff 26%);
    border-radius:0 0 var(--r-lg) var(--r-lg);
  }
}

/* ---------------- 联系 ---------------- */
.contact__card{
  background:var(--tint); border-radius:var(--r-lg); padding:22px 18px;
}
.contact__person{
  display:flex; align-items:center; gap:14px; padding-bottom:16px;
  border-bottom:1px solid var(--line); margin-bottom:6px;
}
.avatar{
  width:60px; height:60px; flex:none; border-radius:16px; overflow:hidden;
  background:#fff; border:1px solid var(--line);
}
.avatar svg{ width:100%; height:100%; }
.contact__person b{ display:block; font-size:17px; }
.contact__person span{ font-size:12.5px; color:var(--muted); }
.contact__list li{ border-bottom:1px solid var(--line); }
.contact__list li:last-child{ border-bottom:0; }
.crow{
  display:flex; align-items:center; gap:12px; padding:13px 0;
}
.crow__ico{
  width:34px; height:34px; flex:none; border-radius:11px; background:#fff;
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.crow__ico svg{ width:18px; height:18px; fill:var(--brand); }
.crow__txt{ flex:1; min-width:0; }
.crow__txt small{ display:block; font-size:11px; color:var(--muted); letter-spacing:.04em; }
.crow__txt span{ font-size:14.5px; font-weight:700; word-break:break-all; }
.crow__txt span.is-empty{ color:var(--faint); font-weight:600; }
.crow__act{
  flex:none; min-height:38px; padding:0 16px; border-radius:var(--r-pill);
  border:1px solid var(--sky-soft); background:#fff; color:var(--brand-text);
  font-size:var(--fs-sm); font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
.crow__act:active{ background:var(--tint); }
.crow__act[disabled]{ opacity:.5; pointer-events:none; }

/* ---------------- 页脚 ---------------- */
.footer{
  background:var(--navy); color:#fff;
  padding:34px 0 calc(30px + var(--safe-b));
  text-align:center;
}
.footer__brand{ display:flex; align-items:center; justify-content:center; gap:9px; }
.footer__wm{ font-size:20px; font-weight:800; letter-spacing:-.02em; }
.footer .brand__dot{ color:var(--sky); }
.footer__slogan{ margin-top:10px; font-size:13px; color:var(--sky); }
.footer__copy{ margin-top:16px; font-size:var(--fs-xs); color:rgba(255,255,255,.82); }
.footer__icp{ margin-top:4px; font-size:var(--fs-xs); color:rgba(255,255,255,.72); }
.footer__icp a{ color:inherit; text-decoration:none; }
.footer__icp a:hover{ text-decoration:underline; }

/* ---------------- 底部操作栏（移动端） ---------------- */
.tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:100;
  display:flex;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-top:1px solid var(--line);
  padding-bottom:var(--safe-b);
}
.tabbar a{
  flex:1; height:60px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  color:var(--muted); font-size:11px; font-weight:600;
  -webkit-tap-highlight-color:transparent;
}
.tabbar a:active{ background:var(--tint); }
.tabbar span{ display:flex; }
.tabbar svg{ width:21px; height:21px; fill:var(--brand); }
.tabbar i{ font-style:normal; }
@media (min-width: 768px){
  .tabbar{ display:none; }
}

/* ---------------- Toast ---------------- */
.toast{
  position:fixed; left:50%; bottom:calc(90px + var(--safe-b));
  transform:translate(-50%,10px);
  background:rgba(22,50,92,.94); color:#fff;
  font-size:13.5px; font-weight:600;
  padding:9px 18px; border-radius:20px;
  opacity:0; visibility:hidden; z-index:200;
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
  pointer-events:none; white-space:nowrap;
}
.toast.is-show{ opacity:1; visibility:visible; transform:translate(-50%,0); }

/* ---------------- 滚动渐显 ---------------- */
.reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity .55s cubic-bezier(.2,.7,.3,1), transform .55s cubic-bezier(.2,.7,.3,1);
}
.reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------------- 桌面增强 ---------------- */
@media (min-width: 768px){
  .section{ padding:64px 0; }
  .about__grid{ grid-template-columns:repeat(3,1fr); }
  .why__grid{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(5,1fr); }
  .steps li{ flex-direction:column; align-items:flex-start; }
  .miniapp{ flex-direction:row; text-align:left; }
  .stats__grid{ grid-template-columns:repeat(4,1fr); }
  .sec-title{ font-size:var(--fs-3xl); }
}

/* ===== 名片素材接入：透明 logo / 横版字标 / 双码 ===== */
.brand__logo{
  height:30px; width:auto; flex:none; display:block;
}
.footer__logo{
  height:22px; width:auto; display:block; opacity:.9;
}
.hero__logoWrap{
  position:relative;
  display:grid;                 /* grid 居中比 flex/margin-auto 在第三方内核更稳定 */
  place-items:center;
  text-align:center;            /* 兜底：老内核按行内居中 */
  margin-bottom:24px;
}
.hero__logoWrap::before{
  content:""; position:absolute; top:50%; left:50%;
  width:280px; height:280px; transform:translate(-50%,-50%);
  background:radial-gradient(circle,
    rgba(46,123,232,.18) 0%, rgba(255,107,53,.09) 46%, transparent 72%);
  border-radius:50%;
}
.hero__logo--mark{
  display:block;
  width:118px; height:auto;
  grid-column:1; grid-row:1;
}
.hero__logo--text{
  display:block;
  width:180px; height:auto;
  grid-column:1; grid-row:2;
  margin-top:2px;
}
.avatar{
  width:64px; height:64px; object-fit:contain;
  background:#fff; padding:6px;
}
.miniapp__code{
  border:1px solid var(--line);
}
.miniapp__code img{ width:100%; height:auto; display:block; border-radius:12px; }
.contact__site{
  display:inline-block; margin-top:16px;
  font-size:var(--fs-base); font-weight:700; color:var(--brand-text); text-decoration:none;
}
.qr__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
  margin-top:22px; padding-top:22px; border-top:1px solid var(--line);
}
.qr{ margin:0; text-align:center; }
.qr img{
  width:100%; max-width:190px; aspect-ratio:1; object-fit:cover;
  border-radius:18px; background:#fff; padding:10px;
  display:block; margin:0 auto; border:1px solid var(--line);
  box-shadow:0 4rpx 18rpx rgba(22,50,92,.06);
}
.qr figcaption{ font-size:12px; color:var(--muted); margin-top:10px; line-height:1.6; }
.qr figcaption b{ display:block; color:var(--navy); font-size:13px; margin-bottom:2px; }
@media (max-width:400px){
  .hero__logo--mark{ width:92px; }
  .hero__logo--text{ width:140px; }
  .hero__logoWrap::before{ width:220px; height:220px; }
  .qr__grid{ gap:14px; }
}

/* ============================================================
   业务区：两条动线
   动线一 = 印刷品（能在线算价）  动线二 = 定制服务（要面谈）
   ============================================================ */
.svc-group + .svc-group{ margin-top:var(--sp-6); }

.svc-group__head{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--sp-3); margin-bottom:var(--sp-3);
}
.svc-group__title{
  display:flex; align-items:center; gap:9px;
  font-size:var(--fs-md); font-weight:800; color:var(--navy);
}
.svc-group__title::before{
  content:""; flex:none; width:4px; height:17px; border-radius:2px;
  background:linear-gradient(180deg,var(--brand),var(--cyan));
}
.svc-group__hint{ margin-top:2px; font-size:var(--fs-sm); color:var(--muted); }
.svc-group__link{
  flex:none; display:inline-flex; align-items:center; gap:5px;
  min-height:38px; padding:0 14px; border-radius:var(--r-pill);
  background:#fff; border:1px solid var(--sky-soft);
  color:var(--brand-text); font-size:var(--fs-sm); font-weight:700;
  transition:background .18s, border-color .18s;
}
.svc-group__link:hover{ background:var(--tint); border-color:var(--sky); }
.svc-group__link svg{
  width:14px; height:14px; flex:none;
  fill:none; stroke:currentColor; stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
}

/* —— 动线一：印刷品小卡 —— */
.svc__list--print{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.pcard{
  display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:16px 14px; box-shadow:var(--shadow-1);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
a.pcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-3); border-color:var(--sky-soft); }
a.pcard:active{ transform:translateY(-1px); }
.pcard__ico{
  width:var(--tap); height:var(--tap); flex:none; border-radius:14px; margin-bottom:12px;
  background:linear-gradient(135deg, rgba(46,123,232,.13), rgba(34,191,212,.10));
  display:flex; align-items:center; justify-content:center;
}
.pcard__ico svg{ width:22px; height:22px; fill:var(--brand); color:var(--brand); }
.pcard h3{ font-size:var(--fs-base); margin-bottom:4px; }
.pcard p{ font-size:var(--fs-sm); color:var(--muted); }
.pcard__meta{
  margin-top:auto; padding-top:12px;
  display:inline-flex; align-items:center; gap:5px;
  font-size:var(--fs-xs); font-weight:700; color:var(--brand-text);
}
.pcard__meta svg{
  width:13px; height:13px; flex:none;
  fill:none; stroke:currentColor; stroke-width:2.3;
  stroke-linecap:round; stroke-linejoin:round;
}

/* —— 动线二：定制服务大卡 —— */
.svc__list--custom{ display:grid; gap:12px; }
.svc--big{
  display:flex; gap:14px; align-items:flex-start;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:18px 16px; box-shadow:var(--shadow-1);
}
.svc--big .svc__ico{ width:48px; height:48px; border-radius:15px; }
.svc--big .svc__body{ flex:1; min-width:0; }
.svc--big h3{ font-size:var(--fs-md); margin-bottom:6px; }
.svc--big p{ font-size:var(--fs-sm); color:var(--muted); }
.svc__tags{ margin-top:12px; display:flex; flex-wrap:wrap; gap:6px; }
.svc__tag{
  font-size:var(--fs-xs); font-weight:600; color:var(--muted);
  background:var(--tint); border:1px solid var(--line);
  padding:4px 11px; border-radius:var(--r-pill);
}
.svc__cta{
  margin-top:14px; display:inline-flex; align-items:center; gap:6px;
  min-height:var(--tap); padding:0 18px; border-radius:var(--r-pill);
  background:var(--tint-2); color:var(--brand-text);
  font-size:var(--fs-sm); font-weight:700;
  transition:background .18s;
}
.svc__cta:hover{ background:var(--tint); }
.svc__cta svg{
  width:14px; height:14px; flex:none;
  fill:none; stroke:currentColor; stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
}

@media (min-width: 768px){
  .svc__list--print{ grid-template-columns:repeat(3,1fr); gap:12px; }
  .svc__list--custom{ grid-template-columns:repeat(2,1fr); }
}
