@charset "utf-8";
/* ============================================================
   工作猫 — 首页样式
   由 index.html 内联样式抽出，保持内容不变
   ============================================================ */

/* ---------- 字体 ---------- */
@font-face{
  font-family:'Space Grotesk Variable';font-style:normal;font-display:swap;font-weight:300 700;
  src:url(../assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'JetBrains Mono Variable';font-style:normal;font-display:swap;font-weight:100 800;
  src:url(../assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---------- 设计令牌（明色主题） ---------- */
:root{
  color-scheme:light;

  --background:220 20% 97%;
  --foreground:217 33% 12%;
  --card:0 0% 100%;
  --primary:22 100% 55%;
  --border:220 13% 86%;
  --ring:22 100% 55%;

  --bg-base:#F6F7F9;
  --bg-raised:#EEF1F4;
  --bg-card:#FFFFFF;
  --bg-card-hover:#F8FAFC;
  --bg-input:#FFFFFF;
  --border-subtle:#E8ECF2;
  --border-strong:#D2DAE5;
  --text-primary:#1F2733;
  --text-secondary:#5A6675;
  --text-muted:#8A94A3;

  /* 参考图四色：天蓝 / 土黄 / 亮橙 / 宝蓝 */
  --accent-orange:#F5A623;
  --accent-orange-soft:#FFB93F;
  --accent-orange-dim:rgba(245,166,35,.12);
  --accent-cyan:#5B9BD5;
  --accent-cyan-dim:rgba(91,155,213,.12);
  --accent-teal:#3AAFA9;
  --accent-teal-dim:rgba(58,175,169,.12);
  --accent-violet:#4A6CF7;
  --accent-violet-dim:rgba(74,108,247,.12);
  --accent-gold:#BFAE4A;
  --accent-gold-dim:rgba(191,174,74,.14);
  --gold:#BFAE4A;
  --success:#2BA36B;
  --danger:#E04B4B;

  --nav-bg:rgba(255,255,255,.9);
  --nav-scrim:rgba(255,255,255,.76);

  --hero-scrim:radial-gradient(ellipse 78% 62% at 50% 40%, rgba(255,255,255,.9), rgba(255,255,255,.66) 55%, rgba(255,255,255,.46) 100%);
  --blueprint-line:rgba(91,155,213,.06);
  --contour-line:rgba(91,155,213,.12);
  --ambient-orange:rgba(245,166,35,.14);
  --ambient-blue:rgba(91,155,213,.14);
  --ambient-teal:rgba(58,175,169,.12);

  --shadow-card:0 1px 3px rgba(31,39,51,.06), 0 6px 18px rgba(31,39,51,.05);
  --shadow-card-hover:0 12px 30px rgba(31,39,51,.1);
  --hero-media-filter:contrast(1.15) saturate(1.1);
  --glow-orange-shadow:0 8px 20px rgba(245,166,35,.3);
  --hero-sub-color:#3E4A5A;
  --grain-opacity:.018;

  /* 分区背景：白 + 极浅色带，对应参考图的白底 */
  --tint-warm:linear-gradient(180deg,#FFFBF4,#FFF8EE);
  --tint-cool:linear-gradient(180deg,#F6FAFE,#EFF6FC);
  --tint-teal:linear-gradient(180deg,#F3FBFB,#EDF8F8);
  --tint-mixed:linear-gradient(135deg,#FFF8EE,#F4F9FE 55%,#F1FAFA);
  /* Hero 下方区块：保持与首屏图片下边缘融合的中性灰 */
  --hero-below-bg:#F6F7F9;
  --hero-fade-end:#F6F7F9;

  /* 色块实底（参考图左侧大色块） */
  --block-blue:linear-gradient(135deg,#6BA8DC,#5B9BD5);
  --block-gold:linear-gradient(135deg,#CBBA5A,#BFAE4A);
  --block-orange:linear-gradient(135deg,#FFB63D,#F5A623);
  --block-indigo:linear-gradient(135deg,#5D7CFA,#4A6CF7);

  --radius:.5rem;
}

/* ---------- 暗色主题（跟随系统） ---------- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    color-scheme:dark;
    --bg-base:#0D1219;
    --bg-raised:#131A24;
    --bg-card:#18202C;
    --bg-card-hover:#1F2937;
    --bg-input:#141C27;
    --border-subtle:#28323F;
    --border-strong:#3B4757;
    --text-primary:#ECF1F7;
    --text-secondary:#A9B5C3;
    --text-muted:#727E8D;
    --accent-orange:#FFB43F;
    --accent-orange-soft:#FFC868;
    --accent-orange-dim:rgba(255,180,63,.15);
    --accent-cyan:#6FAEE4;
    --accent-cyan-dim:rgba(111,174,228,.15);
    --accent-teal:#45C4BD;
    --accent-teal-dim:rgba(69,196,189,.15);
    --accent-violet:#6D8AFF;
    --accent-violet-dim:rgba(109,138,255,.15);
    --accent-gold:#D8C86A;
    --accent-gold-dim:rgba(216,200,106,.15);
    --gold:#D8C86A;
    --success:#3BC48A;
    --danger:#F06060;
    --nav-bg:rgba(13,18,25,.9);
    --hero-scrim:radial-gradient(ellipse 85% 70% at 50% 42%, rgba(10,14,20,.62), rgba(10,14,20,.44) 60%, rgba(10,14,20,.58) 100%);
    --blueprint-line:rgba(111,174,228,.08);
    --contour-line:rgba(111,174,228,.15);
    --ambient-orange:rgba(255,180,63,.14);
    --ambient-blue:rgba(111,174,228,.14);
    --ambient-teal:rgba(69,196,189,.12);
    --shadow-card:0 1px 3px rgba(0,0,0,.45);
    --shadow-card-hover:0 12px 34px rgba(0,0,0,.55);
    --hero-media-filter:none;
    --glow-orange-shadow:0 8px 20px rgba(255,180,63,.25);
    --hero-sub-color:#C3CCD8;
    --grain-opacity:.028;
    --tint-warm:linear-gradient(180deg,#181410,#131A24);
    --tint-cool:linear-gradient(180deg,#111922,#141B25);
    --tint-teal:linear-gradient(180deg,#101A1A,#141B25);
    --tint-mixed:linear-gradient(135deg,#181410,#111922 55%,#101A1A);
    --block-blue:linear-gradient(135deg,#3E6E9E,#356089);
    --block-gold:linear-gradient(135deg,#8A7F3C,#736A32);
    --block-orange:linear-gradient(135deg,#C4831F,#A66F1A);
    --block-indigo:linear-gradient(135deg,#3A53B8,#2E4299);
    --hero-below-bg:#131A24;
    --hero-fade-end:#131A24;
  }
}

/* ---------- 暗色主题（手动） ---------- */
:root[data-theme=dark]{
  color-scheme:dark;
  --bg-base:#0D1219;
  --bg-raised:#131A24;
  --bg-card:#18202C;
  --bg-card-hover:#1F2937;
  --bg-input:#141C27;
  --border-subtle:#28323F;
  --border-strong:#3B4757;
  --text-primary:#ECF1F7;
  --text-secondary:#A9B5C3;
  --text-muted:#727E8D;
  --accent-orange:#FFB43F;
  --accent-orange-soft:#FFC868;
  --accent-orange-dim:rgba(255,180,63,.15);
  --accent-cyan:#6FAEE4;
  --accent-cyan-dim:rgba(111,174,228,.15);
  --accent-teal:#45C4BD;
  --accent-teal-dim:rgba(69,196,189,.15);
  --accent-violet:#6D8AFF;
  --accent-violet-dim:rgba(109,138,255,.15);
  --accent-gold:#D8C86A;
  --accent-gold-dim:rgba(216,200,106,.15);
  --gold:#D8C86A;
  --success:#3BC48A;
  --danger:#F06060;
  --nav-bg:rgba(13,18,25,.9);
  --hero-scrim:radial-gradient(ellipse 85% 70% at 50% 42%, rgba(10,14,20,.62), rgba(10,14,20,.44) 60%, rgba(10,14,20,.58) 100%);
  --blueprint-line:rgba(111,174,228,.08);
  --contour-line:rgba(111,174,228,.15);
  --ambient-orange:rgba(255,180,63,.14);
  --ambient-blue:rgba(111,174,228,.14);
  --ambient-teal:rgba(69,196,189,.12);
  --shadow-card:0 1px 3px rgba(0,0,0,.45);
  --shadow-card-hover:0 12px 34px rgba(0,0,0,.55);
  --hero-media-filter:none;
  --glow-orange-shadow:0 8px 20px rgba(255,180,63,.25);
  --hero-sub-color:#C3CCD8;
  --grain-opacity:.028;
  --tint-warm:linear-gradient(180deg,#181410,#131A24);
  --tint-cool:linear-gradient(180deg,#111922,#141B25);
  --tint-teal:linear-gradient(180deg,#101A1A,#141B25);
  --tint-mixed:linear-gradient(135deg,#181410,#111922 55%,#101A1A);
  --block-blue:linear-gradient(135deg,#3E6E9E,#356089);
  --block-gold:linear-gradient(135deg,#8A7F3C,#736A32);
  --block-orange:linear-gradient(135deg,#C4831F,#A66F1A);
  --block-indigo:linear-gradient(135deg,#3A53B8,#2E4299);
  --hero-below-bg:#131A24;
  --hero-fade-end:#131A24;
}

/* ---------- 基础重置 ---------- */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--border-subtle)}
html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}
body{
  margin:0;line-height:1.5;
  background-color:var(--bg-base);color:var(--text-primary);
  font-family:'PingFang SC','HarmonyOS Sans SC','MiSans','Microsoft YaHei','Source Han Sans SC','Noto Sans CJK SC',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
ul,ol,menu{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
img,svg,video,canvas{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,select,textarea{
  font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;color:inherit;margin:0;padding:0;background:transparent;
}
button{cursor:pointer}
/* 必须用 !important：否则会被下方 .ask-overlay{display:flex} 等类选择器覆盖，
   导致 hidden 元素依然显示且无法关闭 */
[hidden]{display:none!important}
em{font-style:normal;font-weight:600;color:var(--text-primary)}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}

/* ---------- 通用工具类 ---------- */
.container{margin-left:auto;margin-right:auto;max-width:1280px;padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:768px){.container{padding-left:2rem;padding-right:2rem}}

.text-label{
  font-family:'Space Grotesk Variable','Space Grotesk','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-orange);
}
.font-mono{font-family:'JetBrains Mono Variable','JetBrains Mono','IBM Plex Mono',monospace}
.font-display{font-family:'Space Grotesk Variable','Space Grotesk','PingFang SC','Microsoft YaHei',system-ui,sans-serif}

.text-t1{color:var(--text-primary)}
.text-t2{color:var(--text-secondary)}
.text-t3{color:var(--text-muted)}
.text-orange{color:var(--accent-orange)}
.text-cyan{color:var(--accent-cyan)}
.text-white{color:#fff}

.h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.3}
@media(min-width:768px){.h2{font-size:32px;line-height:1.25}}

.block{display:block}
.nowrap{white-space:nowrap}
.text-balance{text-wrap:balance}

.card-hover-glow{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
.shadow-card{box-shadow:var(--shadow-card)}
.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}
.scrollbar-hide::-webkit-scrollbar{display:none}

.link-cyan{color:var(--accent-cyan);transition:color .2s ease}
.link-cyan:hover{color:var(--accent-orange)}
.dot{color:var(--text-muted);margin:0 .75rem}
.sep{margin:0 .5rem;color:var(--text-muted)}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   区块标题（label + 标题 + 描述 | 右侧链接）
   ============================================================ */
/* 水平左右并列：左侧文字块，右侧操作链接。
   align-items:flex-end 让链接与标题基线对齐；min-width:0 允许左侧收缩，
   避免长描述把链接挤到下一行。 */
.section-heading{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:1.5rem;margin-bottom:2.5rem;
}
.section-heading > div{min-width:0}
.section-desc{
  margin-top:.5rem;font-size:15px;color:var(--text-secondary);
}
/* 右侧「查看全部 →」类链接：不允许收缩，始终待在右边 */
.heading-link{
  display:none;flex-shrink:0;align-items:center;gap:.25rem;
  white-space:nowrap;
  font-size:14px;color:var(--accent-cyan);
  transition:color .2s ease;
}
.heading-link:hover{color:var(--accent-orange)}
.heading-link svg{transition:transform .2s ease}
.heading-link:hover svg{transform:translateX(3px)}
@media(min-width:768px){.heading-link{display:inline-flex}}

/* 手机端：改为纵向堆叠，链接另起一行左对齐 */
@media(max-width:767px){
  .section-heading{
    flex-direction:column;align-items:flex-start;gap:.75rem;
  }
  .section-heading .heading-link{display:inline-flex}
}

/* ============================================================
   关于我们：页头主视觉（复用首页 hero 的视觉语言）
   ============================================================ */
.about-hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:3.5rem 0 3rem;
  background:linear-gradient(180deg,var(--bg-raised),var(--bg-base));
  border-bottom:1px solid var(--border-subtle);
}
@media(min-width:768px){.about-hero{padding:5.5rem 0 4.5rem}}
.about-hero .grain{opacity:var(--grain-opacity)}
.about-hero-title{
  margin-top:.75rem;max-width:22ch;
  font-size:30px;font-weight:900;line-height:1.2;
  letter-spacing:-.025em;color:var(--text-primary);
  text-wrap:balance;
}
@media(min-width:768px){.about-hero-title{font-size:48px;line-height:1.15}}
.about-hero-sub{
  margin-top:1.25rem;max-width:46ch;
  font-size:15px;line-height:1.75;color:var(--text-secondary);
}
@media(min-width:768px){.about-hero-sub{font-size:17px;line-height:1.8}}
.about-hero-sub em{color:var(--text-primary)}
.about-hero-note{
  margin-top:.875rem;
  font-size:13px;line-height:1.7;color:var(--text-muted);
}

/* ---------- 关键数字（首页数据统计条的等价物） ---------- */
.about-stats{
  margin-top:2.5rem;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem 1rem;
}
@media(min-width:768px){
  .about-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:3rem}
}
.about-stat{
  border-top:1px solid var(--border-subtle);padding-top:1rem;
}
.about-stat-value{
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:26px;font-weight:700;line-height:1.1;color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
@media(min-width:768px){.about-stat-value{font-size:34px}}
.about-stat-label{
  margin-top:.375rem;font-size:13px;line-height:1.6;color:var(--text-secondary);
}
.about-stats-note{
  margin-top:1.25rem;
  font-size:12.5px;line-height:1.7;color:var(--text-muted);
}
.about-stats-note a{color:var(--accent-cyan);transition:color .2s ease}
.about-stats-note a:hover{color:var(--accent-orange)}

/* ---------- 我们做 / 我们不做：左右两张独立卡片 ---------- */
.dodont{display:grid;gap:1rem}
@media(min-width:768px){
  .dodont{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
}
.dodont-card{
  height:100%;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
@media(min-width:768px){.dodont-card{padding:1.75rem}}
.dodont-head{
  font-size:15px;font-weight:700;color:var(--text-primary);
}
.dodont-list{margin-top:1.125rem;display:flex;flex-direction:column;gap:.875rem}
.dodont-list li{
  display:flex;gap:.625rem;
  font-size:14px;line-height:1.75;color:var(--text-secondary);
}
/* 图标用 SVG 而非字符，避免不同系统字体下对勾/叉号粗细不一 */
.dodont-mark{
  display:flex;flex-shrink:0;align-items:center;justify-content:center;
  height:16px;width:16px;margin-top:.2rem;
}
.dodont-card.is-yes .dodont-mark{color:var(--accent-orange)}
.dodont-card.is-no .dodont-mark{color:var(--text-muted)}
.dodont-list em{color:var(--text-primary);font-weight:600}

/* ---------- 信息表（运营方资料等） ---------- */
.info-table{
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);overflow:hidden;
}
.info-row{
  display:grid;gap:.25rem;
  padding:.875rem 1.25rem;
  border-top:1px solid var(--border-subtle);
}
.info-row:first-child{border-top:0}
@media(min-width:640px){
  .info-row{grid-template-columns:9rem minmax(0,1fr);gap:1rem;align-items:baseline}
}
.info-row dt{font-size:12.5px;color:var(--text-muted)}
.info-row dd{font-size:14px;line-height:1.7;color:var(--text-primary)}
.info-row dd a{color:var(--accent-cyan);transition:color .2s ease}
.info-row dd a:hover{color:var(--accent-orange)}

/* ---------- 三档核实程度 ---------- */
.grade-grid{margin-top:2rem;display:grid;gap:1rem}
@media(min-width:768px){.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.grade-card{
  display:flex;flex-direction:column;height:100%;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1.25rem;
}
.grade-card .step-no{color:var(--accent-orange)}
.grade-title{margin-top:.375rem;font-size:17px;font-weight:700;color:var(--text-primary)}
.grade-desc{margin-top:.5rem;font-size:14px;line-height:1.7;color:var(--text-secondary)}

/* ---------- 隐私政策 / 服务条款：左右并列 ---------- */
.legal-grid{display:grid;gap:1rem}
@media(min-width:768px){
  .legal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
}
.legal-card{
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
@media(min-width:768px){.legal-card{padding:1.75rem}}
.legal-title{margin-top:.5rem}
.legal-text{margin-top:1rem;gap:.625rem}
/* 锚点滚动定位时留出顶部导航高度 */
.legal-card[id]{scroll-margin-top:5rem}

/* ---------- 页面收尾行动入口 ---------- */
.about-cta{
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
  background-color:var(--bg-raised);
  padding:3.5rem 0;
}
@media(min-width:768px){.about-cta{padding:4.5rem 0}}
.about-cta-actions{margin-top:1.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;border-radius:.375rem;border:1px solid var(--border-strong);
  background-color:var(--bg-card);
  padding:0 1.5rem;font-size:14px;font-weight:700;color:var(--text-primary);
  transition:border-color .2s ease,color .2s ease;
}
.btn-outline:hover{border-color:var(--accent-orange);color:var(--accent-orange)}


/* ============================================================
   多页面：页头 / 面包屑 / 入口卡
   ============================================================ */
.page-head{
  position:relative;
  border-bottom:1px solid var(--border-subtle);
  background:var(--tint-warm);
  padding:2.5rem 0 2rem;
  overflow:hidden;
}
/* 页头右侧柔光，避免顶部死板 */
.page-head::after{
  content:"";position:absolute;right:-6rem;top:-8rem;
  height:22rem;width:22rem;border-radius:999px;
  background:radial-gradient(circle,var(--ambient-orange),transparent 70%);
  pointer-events:none;
}
.page-head > .container{position:relative;z-index:1}
@media(min-width:768px){.page-head{padding:3.5rem 0 2.5rem}}
.crumbs{
  display:flex;align-items:center;gap:.5rem;
  margin-bottom:1.25rem;
  font-size:12px;color:var(--text-muted);
}
.crumbs a{transition:color .2s ease}
.crumbs a:hover{color:var(--accent-orange)}
.crumbs span{color:var(--text-muted)}
.page-title{
  margin-top:.5rem;
  font-size:28px;font-weight:800;line-height:1.25;
  letter-spacing:-.02em;color:var(--text-primary);
  text-wrap:balance;
}
@media(min-width:768px){.page-title{font-size:42px;line-height:1.18}}
.page-desc{
  margin-top:.875rem;max-width:60ch;
  font-size:15px;line-height:1.75;color:var(--text-secondary);
}
@media(min-width:768px){.page-desc{font-size:16px}}

/* 导航当前项高亮 */
.nav-link.is-active{color:var(--accent-orange)}
.nav-link.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  border-radius:999px;background-color:var(--accent-orange);
}
.nav-link{position:relative}
.mobile-link.is-active{
  background-color:var(--accent-orange-dim);
}
.mobile-link.is-active .mobile-title{color:var(--accent-orange)}

/* ---------- 首页：公司新闻 / 行业动态（左右等宽） ---------- */
.section-news{
  padding:3rem 0;
  background-color:var(--bg-base);
  border-top:1px solid var(--border-subtle);
}
@media(min-width:768px){.section-news{padding:4rem 0}}

/* 两列等宽：移动端单列堆叠，≥768px 左右并排 */
.news-grid{display:grid;gap:1.25rem}
@media(min-width:768px){
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
}
.news-col{
  height:100%;
  display:flex;flex-direction:column;
  padding:1.5rem;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
}
@media(min-width:768px){.news-col{padding:1.75rem}}

.news-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:.75rem;margin-bottom:1rem;
  padding-bottom:.875rem;border-bottom:1px solid var(--border-subtle);
}
.news-title{font-size:1.0625rem;font-weight:700;color:var(--text-primary)}
.news-more{
  display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;
  font-size:12.5px;font-weight:600;color:var(--accent-orange);text-decoration:none;
}
.news-more:hover{text-decoration:underline}

.news-list{list-style:none;display:flex;flex-direction:column}
.news-list li + li{border-top:1px solid var(--border-subtle)}
.news-item{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem 0;text-decoration:none;
  transition:color .2s ease;
}
.news-item-title{
  min-width:0;flex:1;
  font-size:13.5px;line-height:1.6;color:var(--text-secondary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  transition:color .2s ease;
}
.news-item:hover .news-item-title{color:var(--accent-orange)}
.news-item-date{
  flex-shrink:0;font-size:12px;color:var(--text-muted);
  font-variant-numeric:tabular-nums;
}
.news-empty{margin:0;padding:.75rem 0;font-size:13px;color:var(--text-muted)}

/* 首页底部的入口卡片 */
.section-quicklinks{
  padding:3.5rem 0;
  background:var(--tint-warm);
  border-top:1px solid var(--border-subtle);
}
@media(min-width:768px){.section-quicklinks{padding:5rem 0}}
.quicklink-grid{display:grid;gap:1rem}
@media(min-width:768px){.quicklink-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.quicklink-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.quicklink-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:.5rem;
  background:var(--block-blue);
}
.quicklink-grid > .reveal:nth-child(2) .quicklink-card::before{
  background:var(--block-gold);
}
.quicklink-grid > .reveal:nth-child(3) .quicklink-card::before{
  background:var(--block-indigo);
}
.quicklink-grid > .reveal:nth-child(2) .quicklink-card:hover{border-color:var(--border-strong)}
.quicklink-grid > .reveal:nth-child(3) .quicklink-card:hover{border-color:var(--border-strong)}
.quicklink-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}
.quicklink-icon{
  display:flex;height:46px;width:46px;align-items:center;justify-content:center;
  border-radius:.5rem;background:var(--block-blue);color:#fff;
}
.quicklink-grid > .reveal:nth-child(2) .quicklink-icon{background:var(--block-gold);color:#fff}
.quicklink-grid > .reveal:nth-child(3) .quicklink-icon{background:var(--block-indigo);color:#fff}
.quicklink-title{margin-top:1rem;font-size:18px;font-weight:700;color:var(--text-primary)}
.quicklink-desc{margin-top:.5rem;flex:1;font-size:14px;line-height:1.7;color:var(--text-secondary)}
.quicklink-more{
  margin-top:1.25rem;display:flex;align-items:center;gap:.375rem;
  font-size:14px;font-weight:600;color:var(--accent-cyan);
  transition:color .2s ease;
}
.quicklink-card:hover .quicklink-more{color:var(--accent-orange)}
.quicklink-more svg{transition:transform .2s ease}
.quicklink-card:hover .quicklink-more svg{transform:translateX(4px)}

/* 单页区块间距（独立页面里更紧凑） */
.section-design,.section-why,.section-overview{padding:3rem 0}
@media(min-width:768px){.section-design,.section-why,.section-overview{padding:4rem 0}}
/* 关于我们：板块较多，收紧纵向留白，避免页面过长 */
#what .section-heading,
#cheap .section-heading,
#principles .section-heading,
#data .section-heading{margin-bottom:1.75rem}

/* ============================================================
   顶部导航
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:60;
  transition:background-color .25s ease,backdrop-filter .25s ease,border-color .25s ease;
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background-color:var(--nav-bg);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom-color:var(--border-subtle);
}
.nav-inner{
  margin:0 auto;max-width:1280px;height:64px;
  display:flex;align-items:center;gap:1.25rem;
  padding:0 1.25rem;
}
@media(min-width:768px){.nav-inner{padding:0 2rem}}

.brand{display:inline-flex;align-items:center;gap:.625rem;flex-shrink:0}
.brand-mark{color:var(--text-primary);flex-shrink:0}
.brand-text{display:flex;flex-direction:column;gap:.25rem;line-height:1}
.brand-cn{font-size:15px;font-weight:700;line-height:1.1;color:var(--text-primary)}
.brand-en{
  font-family:'Space Grotesk Variable',system-ui,sans-serif;
  font-size:10px;letter-spacing:.2em;color:var(--text-muted);
}

.main-nav{display:none;align-items:center;gap:1.5rem;margin-left:1rem}
@media(min-width:1280px){.main-nav{display:flex}}
.nav-link{
  font-size:16px;font-weight:500;color:var(--text-primary);
  transition:color .2s ease;white-space:nowrap;
}
.nav-link:hover{color:var(--accent-orange)}

.nav-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.icon-btn{
  display:flex;height:36px;width:36px;align-items:center;justify-content:center;
  border-radius:.375rem;color:var(--text-secondary);
  transition:background-color .2s ease,color .2s ease;
}
.icon-btn:hover{background-color:var(--bg-card-hover);color:var(--accent-orange)}


.btn-cta{
  display:none;height:36px;align-items:center;white-space:nowrap;
  padding:0 .875rem;border-radius:.375rem;
  background-color:var(--accent-orange);color:#fff;
  font-size:13px;font-weight:700;
  transition:background-color .2s ease;
}
.btn-cta:hover{background-color:var(--accent-orange-soft)}
@media(min-width:640px){.btn-cta{display:inline-flex}}

/* 次级按钮：描边样式，与主按钮区分 */
.btn-ghost{
  display:none;height:36px;align-items:center;white-space:nowrap;
  padding:0 .75rem;border-radius:.375rem;
  border:1px solid var(--border-strong);
  background-color:var(--bg-card);color:var(--text-primary);
  font-size:13px;font-weight:600;
  transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.btn-ghost:hover{
  border-color:var(--accent-orange);color:var(--accent-orange);
  background-color:var(--accent-orange-dim);
}
/* 导航栏空间有限：1280px 起显示第一个，1400px 起两个都显示 */
@media(min-width:1280px){.btn-ghost{display:inline-flex}}
.btn-ghost + .btn-ghost{display:none}
@media(min-width:1400px){.btn-ghost + .btn-ghost{display:inline-flex}}

/* 登录按钮：一直显示（含手机），带人像图标 */
.btn-login{
  display:inline-flex;height:36px;align-items:center;gap:.375rem;
  padding:0 .75rem;border-radius:.375rem;white-space:nowrap;
  border:1px solid transparent;
  color:var(--text-primary);
  font-size:13px;font-weight:600;
  transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.btn-login:hover{
  border-color:var(--accent-orange);color:var(--accent-orange);
  background-color:var(--accent-orange-dim);
}
/* 手机端只留图标，省出横向空间 */
@media(max-width:479px){
  .btn-login{padding:0 .5rem}
  .btn-login span{display:none}
}

/* 已登录：显示昵称 + 身份小标签，与「登录」按钮区分开 */
.btn-login.is-member{
  border-color:rgba(214,74,21,.35);
  color:var(--accent-orange);
}
.btn-login.is-member:hover{
  background-color:var(--accent-orange-dim);
  border-color:var(--accent-orange);
}
.btn-login .nav-badge{
  display:inline-flex;align-items:center;
  padding:0 .375rem;height:18px;border-radius:.25rem;
  background-color:var(--accent-orange-dim);
  color:var(--accent-orange);
  font-size:11px;font-weight:600;line-height:1;
}
@media(max-width:1150px){
  .btn-login .nav-badge{display:none}
}


.menu-toggle{display:flex}
@media(min-width:1280px){.menu-toggle{display:none}}

/* ---------- 移动端菜单 ---------- */
.mobile-menu{
  position:fixed;left:0;right:0;top:64px;bottom:0;z-index:50;
  display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;
  border-top:1px solid var(--border-subtle);
  padding:2rem 1.5rem;
  background-color:var(--nav-bg);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
@media(min-width:1280px){.mobile-menu{display:none!important}}
.mobile-link{
  display:flex;align-items:center;gap:1rem;
  border-radius:.5rem;padding:1rem .75rem;
  transition:background-color .2s ease;
}
.mobile-link:hover{background-color:var(--bg-card-hover)}
.mobile-title{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}
.mobile-desc{display:block;margin-top:.25rem;font-size:14px;font-weight:400;color:var(--text-secondary)}
.mobile-menu-actions{
  margin-top:1rem;display:grid;gap:.75rem;
  border-top:1px solid var(--border-subtle);padding-top:1.25rem;
}
.mobile-search{
  display:flex;height:48px;align-items:center;justify-content:center;gap:.5rem;
  border-radius:.375rem;border:1px solid var(--border-subtle);font-size:16px;color:var(--text-primary);
}
.mobile-search:hover{border-color:var(--accent-orange)}
.mobile-cta{
  display:flex;min-height:48px;align-items:center;justify-content:center;
  border-radius:.375rem;background-color:var(--accent-orange);
  padding:.75rem 1rem;font-size:16px;font-weight:700;color:#fff;
}
.mobile-cta:hover{background-color:var(--accent-orange-soft)}
.mobile-join-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.mobile-ghost{
  display:flex;height:44px;align-items:center;justify-content:center;
  border-radius:.375rem;border:1px solid var(--border-strong);
  background-color:var(--bg-card);
  padding:0 .5rem;font-size:14px;font-weight:600;color:var(--text-primary);
  transition:border-color .2s ease,color .2s ease;
}
.mobile-ghost:hover{border-color:var(--accent-orange);color:var(--accent-orange)}
.mobile-login{
  display:flex;height:44px;align-items:center;justify-content:center;gap:.5rem;
  border-radius:.375rem;border:1px solid var(--border-strong);
  background-color:var(--bg-card);
  font-size:14px;font-weight:600;color:var(--text-primary);
  transition:border-color .2s ease,color .2s ease;
}
.mobile-login:hover{border-color:var(--accent-orange);color:var(--accent-orange)}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;margin-top:-64px;display:flex;flex-direction:column;
  min-height:calc(100svh - 96px);
}
@media(min-width:768px){.hero{min-height:max(calc(100svh - 160px),640px)}}

.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-media{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;filter:var(--hero-media-filter)}
.hero-video{display:none}
@media(min-width:768px){.hero-video{display:block}}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}
.hero-scrim{position:absolute;inset:0;background:var(--hero-scrim)}
.hero-glow{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 75% 15%,rgba(214,74,21,.05),transparent 55%),
    radial-gradient(ellipse at 15% 85%,rgba(37,99,168,.04),transparent 55%);
}
/* Hero 底部渐隐：终点色与紧随其后的 .home-afterglow 一致，
   图片下边缘才能平滑融进背景（旧版做法） */
.hero-fade{
  position:absolute;left:0;right:0;bottom:0;height:14rem;
  background:linear-gradient(to bottom,transparent,var(--hero-fade-end));
}
@media(min-width:768px){.hero-fade{height:18rem}}

.hero-content{
  position:relative;margin:0 auto;width:100%;max-width:900px;
  flex:1;display:flex;flex-direction:column;align-items:center;
  padding:6rem 1.25rem 5rem;text-align:center;
}
@media(min-width:768px){.hero-content{padding:18vh 1.25rem 4rem;justify-content:center}}

/* 两行标题：第一行品牌名（主视觉），第二行定位语（次级但仍是标题的一部分） */
.hero-title{
  margin-top:0;
  display:flex;flex-direction:column;align-items:center;
}

/* 第一行：工作猫 */
.hero-title-brand{
  font-size:30px;font-weight:900;line-height:1.08;
  letter-spacing:-.03em;
  color:var(--text-primary);
}
@media(min-width:640px){.hero-title-brand{font-size:3.5rem}}
@media(min-width:768px){.hero-title-brand{font-size:76px}}

/* 第二行：极致性价比的农村供应链和工程师设计外包服务 */
.hero-title-claim{
  margin-top:.75rem;
  font-size:20px;font-weight:800;line-height:1.4;
  letter-spacing:-.01em;
  color:var(--text-primary);
  /* 与品牌名拉开层次，但仍属同一标题 */
  max-width:22em;
}
@media(min-width:640px){.hero-title-claim{font-size:23px}}
@media(min-width:768px){.hero-title-claim{margin-top:1rem;font-size:32px;line-height:1.3}}

.hero-desc{
  /* 副标题已移除，描述行直接承接标题，上边距相应加大 */
  margin-top:1.5rem;font-size:16px;line-height:1.7;
  color:var(--hero-sub-color);text-wrap:pretty;
  opacity:0;animation:heroUp .5s ease .5s forwards;
}
@media(min-width:768px){.hero-desc{margin-top:2rem;font-size:17px;line-height:1.7}}

.hero-search{
  /* z-index 必须高于紧随 hero 之后的首页各模块，否则搜索下拉会被下面的
     卡片盖住。注意不能只靠 .search-suggest 自己的 z-index:30 ——
     只要 .hero-search 有 transform，它就会新建层叠上下文，
     内部 z-index 被锁在这一层里，与外部模块比较时就等于 0。 */
  position:relative;z-index:40;
  margin-top:2rem;width:100%;max-width:720px;
  opacity:0;animation:heroScale .5s ease .7s forwards;
}
.search-box{
  display:flex;height:56px;align-items:center;
  border-radius:.5rem;border:1px solid var(--border-subtle);
  background-color:var(--bg-input);padding-left:1rem;padding-right:.375rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
@media(min-width:768px){.search-box{height:64px}}
.search-box.is-focused{
  border-color:var(--accent-orange);
  box-shadow:0 0 0 3px rgba(214,74,21,.15);
}
.search-icon{flex-shrink:0;color:var(--text-muted)}
.search-box input{
  margin:0 .75rem;height:100%;min-width:0;flex:1;
  border:0;outline:none;background:transparent;
  font-size:15px;color:var(--text-primary);
}
.search-box input::placeholder{color:var(--text-muted)}
.btn-search-go{
  display:none;height:calc(100% - 12px);width:120px;flex-shrink:0;
  border-radius:.375rem;background-color:var(--accent-orange);
  font-size:15px;font-weight:700;color:#fff;
  box-shadow:var(--glow-orange-shadow);
  transition:background-color .2s ease;
}
.btn-search-go:hover{background-color:var(--accent-orange-soft)}
@media(min-width:640px){.btn-search-go{display:block}}

/* 搜索联想下拉：条目多时自身滚动，不撑破 hero 也不被下方模块遮挡。
   高度用 min() 双重约束 —— 既不超过 380px，也不超过视口高度的 55%，
   避免在小屏（笔记本 768px 高）上仍需翻页才能看全。
   overscroll-behavior:contain 阻止滚到底后继续带动整页滚动。
   滚动条按浏览器原生样式显示，不自定义，保持与系统一致。 */
.search-suggest{
  position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:.5rem;
  max-height:min(380px,55vh);overflow-y:auto;overscroll-behavior:contain;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  text-align:left;
}
.suggest-group{padding:.25rem 0}
.suggest-group-label{padding:.5rem 1rem .25rem;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-orange)}
.suggest-item{
  display:flex;width:100%;align-items:center;gap:.75rem;
  padding:.625rem 1rem;transition:background-color .15s ease;
}
.suggest-item:hover,.suggest-item.is-active{background-color:var(--bg-card-hover)}
.suggest-icon{flex-shrink:0}
.suggest-name{font-size:14px;color:var(--text-primary)}
.suggest-sub{truncate:1;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.quick-tags{margin-top:1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}
.tag-btn{
  border-radius:999px;border:1px solid var(--border-strong);
  background-color:var(--bg-card);padding:.375rem .875rem;
  font-size:12px;font-weight:500;color:var(--text-primary);
  box-shadow:var(--shadow-card);
  transition:border-color .2s ease,color .2s ease;
}
.tag-btn:hover{border-color:var(--accent-orange);color:var(--accent-orange)}

@keyframes heroUp{to{opacity:1;transform:none}}
@keyframes heroScale{to{opacity:1;transform:none}}
.hero-desc{transform:translateY(16px)}
.hero-search{transform:scale(.96)}

/* ============================================================
   home-story 装饰
   ============================================================ */
.home-story{position:relative;isolation:isolate}
.home-story::after{
  content:"";position:absolute;inset:0;z-index:30;pointer-events:none;
  opacity:var(--grain-opacity);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* ============================================================
   首页「数据条」—— 展示 gzm_config 里的 7 项首页数据
   后台「首页数据」填什么，这里就展示什么；未配置的项不占位（整条藏起来）。
   ============================================================ */
.section-statbar{padding:2rem 0 0}
@media(min-width:768px){.section-statbar{padding:2.5rem 0 0}}
/* 数据条后面紧跟的模块会自带 3.5rem/5rem 上内边距，
   两者相接时会叠成一大段空白，这里把它压到正常水平。
   仅作用于「紧接数据条的那个 section」，不影响其它页面的 .section-overview。 */
.section-statbar + .section-overview{padding-top:1.75rem}
@media(min-width:768px){.section-statbar + .section-overview{padding-top:2.5rem}}
.stat-bar{
  display:flex;flex-wrap:wrap;align-items:stretch;
  border:1px solid var(--border-subtle);border-radius:.625rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  overflow:hidden;
}
.stat-item{
  flex:1 1 140px;min-width:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.25rem;padding:1rem .875rem;text-align:center;
  border-left:1px solid var(--border-subtle);
}
.stat-item:first-child{border-left:none}
.stat-val{
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:22px;font-weight:700;line-height:1.2;
  color:var(--accent-orange);font-variant-numeric:tabular-nums;
}
.stat-val small{font-size:12px;font-weight:600;margin-left:.125rem;opacity:.85}
.stat-label{font-size:12.5px;line-height:1.5;color:var(--text-muted)}
.stat-bar-note{
  margin-top:.625rem;font-size:12px;color:var(--text-muted);text-align:right;
}
/* 窄屏：两列，去掉首列左边框错位 */
@media(max-width:767px){
  .stat-item{flex:1 1 45%;border-top:1px solid var(--border-subtle)}
  .stat-item:nth-child(-n+2){border-top:none}
  .stat-item:nth-child(odd){border-left:none}
  .stat-bar-note{text-align:left}
}

.home-afterglow{
  position:relative;isolation:isolate;
  margin-top:-64px;
  border-bottom:1px solid var(--border-subtle);
  padding-top:1.75rem;
}
@media(min-width:768px){.home-afterglow{margin-top:-80px;padding-top:2rem}}
.home-afterglow-glow{
  position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,var(--ambient-orange),transparent 70%);
}

/* ---------- 快捷入口卡片 ---------- */
.quick-cards{
  display:grid;gap:1rem;padding-top:2.5rem;padding-bottom:2.5rem;
}
@media(min-width:768px){.quick-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.quick-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;align-items:flex-start;gap:1rem;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1.25rem;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.quick-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:var(--block-blue);
}
.quick-cards > .reveal:nth-child(2) .quick-card::before{
  background:var(--block-indigo);
}
.quick-cards > .reveal:nth-child(3) .quick-card::before{
  background:var(--block-gold);
}
.quick-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}
.quick-icon{
  display:flex;height:44px;width:44px;flex-shrink:0;
  align-items:center;justify-content:center;
  border-radius:.5rem;
  background:var(--block-blue);color:#fff;
}
.quick-cards > .reveal:nth-child(2) .quick-icon{background:var(--block-indigo)}
.quick-cards > .reveal:nth-child(3) .quick-icon{background:var(--block-gold)}
.quick-title{display:block;font-size:17px;font-weight:700;color:var(--text-primary)}
.quick-desc{display:block;margin-top:.25rem;font-size:14px;color:var(--text-secondary)}
.quick-link{display:block;margin-top:.75rem;font-size:14px;color:var(--accent-cyan);transition:color .2s ease}
.group:hover .quick-link{color:var(--accent-orange)}

/* ============================================================
   首页：两条业务线（农村供应链 / 工程师外包）左右并列
   ============================================================ */
.biz-grid{display:grid;gap:1rem}
@media(min-width:768px){
  .biz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
}
/* 参考图式卡片：左侧大面积饱和色块 + 右侧白底正文 */
.biz-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.biz-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}

/* ---------- 左侧填充色块 ---------- */
.biz-block{
  position:relative;isolation:isolate;overflow:hidden;flex-shrink:0;
  display:flex;flex-direction:column;
  width:12.5rem;
  padding:1.5rem 1.25rem;
  color:#fff;
  background:var(--block-blue);
}
.biz-card.is-orange .biz-block{background:var(--block-orange)}
.biz-block::before,
.biz-block::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
}
/* 纹理一：斜向条纹 */
.biz-block::before{
  inset:0;
  background-image:repeating-linear-gradient(
    135deg,
    rgba(255,255,255,.1) 0 1px,
    transparent 1px 7px
  );
}
/* 纹理二：右下角同心圆弧 + 方块剪影 */
.biz-block::after{
  right:-2.5rem;bottom:-2.5rem;
  height:10rem;width:10rem;border-radius:999px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.16) 0 34%, transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.1) 0 54%, transparent 54%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.06) 0 74%, transparent 74%);
}
.biz-block-icon{
  display:flex;align-items:center;justify-content:center;
  height:2.5rem;width:2.5rem;border-radius:.5rem;
  background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(2px);
}
.biz-block-title{
  margin-top:1.25rem;
  font-size:20px;font-weight:800;line-height:1.3;color:#fff;
}
.biz-block-desc{
  margin-top:.5rem;
  font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.88);
}

/* ---------- 右侧白底正文 ---------- */
.biz-body{
  display:flex;flex:1;min-width:0;flex-direction:column;
  padding:1.5rem;
}
@media(min-width:768px){.biz-body{padding:1.75rem}}
@media(max-width:767px){
  .biz-card{flex-direction:column}
  .biz-block{width:100%;padding:1.25rem}
  .biz-block-title{margin-top:.875rem}
}
.biz-desc{
  font-size:13.5px;line-height:1.75;color:var(--text-secondary);
}
.biz-list{
  margin-top:.875rem;display:flex;flex-direction:column;gap:.4375rem;
  border-top:1px solid var(--border-subtle);padding-top:.875rem;
  font-size:13px;line-height:1.7;color:var(--text-secondary);
}
.biz-list li{display:flex;gap:.5625rem}
.biz-list li::before{
  content:"";flex-shrink:0;margin-top:.52rem;
  height:5px;width:5px;border-radius:999px;background-color:var(--accent-cyan);
}
.biz-card.is-orange .biz-list li::before{background-color:var(--accent-orange)}
.biz-list em{
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-style:normal;font-weight:700;color:var(--text-primary);
}
/* 链接吸底：两张卡片高度不同也能对齐在同一条水平线上 */
.biz-link{
  margin-top:auto;display:inline-flex;align-items:center;gap:.25rem;
  padding-top:1.125rem;
  font-size:13.5px;font-weight:600;color:var(--accent-cyan);
  transition:color .2s ease;
}
.biz-card.is-orange .biz-link{color:var(--accent-orange)}
.biz-link:hover{color:var(--text-primary)}
.biz-link svg{transition:transform .2s ease}
.biz-link:hover svg{transform:translateX(3px)}

/* ============================================================
   供应商名录（农村供应链页）
   ============================================================ */
.section-directory{padding:2rem 0 4rem}
@media(min-width:768px){.section-directory{padding:2.5rem 0 5rem}}
.section-directory .crumbs{margin-bottom:1rem}

/* ---------- 横向筛选栏 ---------- */
.dir-search{
  display:grid;gap:.625rem;
  grid-template-columns:minmax(0,1fr);
}
@media(min-width:768px){
  .dir-search{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr)) auto;gap:.5rem}
}
.dir-field{
  position:relative;display:flex;align-items:center;
  height:44px;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-card);
  padding:0 .75rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.dir-field:focus-within{
  border-color:var(--accent-orange);
  box-shadow:0 0 0 3px var(--accent-orange-dim);
}
.dir-field-q{padding-left:2.25rem}
.dir-field-q .search-icon{
  position:absolute;left:.75rem;top:50%;transform:translateY(-50%);
  color:var(--text-muted);pointer-events:none;
}
.dir-field input{
  width:100%;min-width:0;height:100%;
  border:0;outline:none;background:transparent;
  font-size:14px;color:var(--text-primary);
  -webkit-appearance:none;appearance:none;
}
.dir-field input::-webkit-search-cancel-button{display:none}
.dir-field input::placeholder{color:var(--text-muted)}
.dir-field select{
  width:100%;height:100%;border:0;outline:none;background:transparent;
  font-size:14px;color:var(--text-primary);cursor:pointer;
}
.dir-clear{
  display:flex;height:26px;width:26px;flex-shrink:0;
  align-items:center;justify-content:center;border-radius:.25rem;
  color:var(--text-muted);
  transition:background-color .2s ease,color .2s ease;
}
.dir-clear:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}
.dir-more{
  height:44px;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-card);
  padding:0 1rem;font-size:14px;color:var(--text-secondary);
  white-space:nowrap;
  transition:border-color .2s ease,color .2s ease;
}
.dir-more:hover,.dir-more.is-open{border-color:var(--accent-orange);color:var(--accent-orange)}

/* ---------- 更多筛选：展开后在下方独立成一行，整行左对齐 ---------- */
/* 与主筛选栏用同样的 .dir-field，视觉上自然衔接，不额外加容器边框 */
.dir-adv{
  margin-top:.5rem;
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:flex-start;   /* 整行从左边开始排，不随主筛选栏的列宽偏移 */
  gap:.5rem;
}
@media(min-width:768px){
  /* 固定宽度而非按比例分配，保证每个条件下拉宽度一致、整行左对齐 */
  .dir-adv .dir-field{width:13rem;flex:0 0 auto}
}
.dir-adv .dir-field{background-color:var(--bg-card)}
.dir-reset{
  display:inline-flex;align-items:center;
  margin-left:.25rem;
  font-size:13px;color:var(--text-muted);
  text-decoration:underline;text-underline-offset:3px;
  transition:color .2s ease;
}
.dir-reset:hover{color:var(--accent-orange)}

/* ---------- 试运行提示 + 计数 ---------- */
.dir-bar{
  margin-top:1.25rem;
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:.75rem;
}
.dir-notice{
  display:flex;align-items:flex-start;gap:.5rem;
  max-width:88ch;
  font-size:12.5px;line-height:1.7;color:var(--text-muted);
}
.dir-notice svg{flex-shrink:0;margin-top:.2rem;color:var(--accent-orange)}
.dir-count{
  flex-shrink:0;
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:15px;font-weight:700;color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}

/* ---------- /engineer 的筛选栏：比 /supply 少一位条件，列宽另配 ----------
   /supply 是「关键词 + 省份 + 城市 + 核实 + 类型」，共 6 列（1.6fr + 4×1fr + auto）；
   /engineer 是「关键词 + 省份 + 城市」，只有 3 个条件 + 2 个按钮，
   沿用 6 列会让每个下拉过窄、文字被截断，所以单独定列数。 */
@media(min-width:768px){
  .dir-search--eng{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto auto;gap:.5rem}
}

/* ---------- 工程师列表空状态（筛选无结果） ---------- */
.eng-empty{
  margin-top:2.5rem;padding:3rem 1.5rem;
  text-align:center;
  border:1px dashed var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);
}
.eng-empty-title{
  font-size:16px;font-weight:700;color:var(--text-primary);
}
.eng-empty-desc{
  margin-top:.5rem;font-size:13px;line-height:1.7;color:var(--text-muted);
}
.eng-empty .btn-outline{margin-top:1.25rem}


/* ============================================================
   搜索结果页
   ============================================================ */
/* 结果页头部内的搜索框 */
.result-search{
  position:relative;margin-top:1.5rem;
  display:flex;align-items:center;gap:.75rem;
  max-width:44rem;
  border:1px solid var(--border-strong);border-radius:.625rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:.5rem .5rem .5rem 1rem;
}
.result-search .search-icon{flex-shrink:0;color:var(--text-muted)}
.result-search input{
  flex:1;min-width:0;height:38px;
  border:0;background:transparent;outline:none;
  font-size:15px;color:var(--text-primary);
}
.result-search input::placeholder{color:var(--text-muted)}
.result-search input::-webkit-search-cancel-button{-webkit-appearance:none}

.section-results{padding:2rem 0 4rem}
@media(min-width:768px){.section-results{padding:2.5rem 0 5rem}}

/* ---------- 类别筛选 ---------- */
.result-filters{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  border-bottom:1px solid var(--border-subtle);
  padding-bottom:.875rem;
}
.result-filter{
  display:inline-flex;align-items:center;gap:.375rem;
  border-radius:999px;border:1px solid var(--border-subtle);
  background-color:var(--bg-card);
  padding:.4375rem .875rem;
  font-size:13px;font-weight:600;color:var(--text-secondary);
  transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.result-filter:hover{border-color:var(--border-strong);color:var(--text-primary)}
.result-filter.is-active{
  border-color:transparent;background-color:var(--accent-cyan);color:#fff;
}
.result-filter-num{
  font-family:'JetBrains Mono Variable',monospace;
  font-size:11px;opacity:.72;
}

/* ---------- 结果列表：一行一条 ---------- */
.result-list{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}

.result-row{
  position:relative;
  display:flex;align-items:flex-start;gap:1rem;
  border:1px solid var(--border-subtle);border-radius:.625rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.125rem 1.25rem 1.125rem 1.5rem;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
/* 左侧类别色条 */
.result-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:.3125rem;
  border-radius:.625rem 0 0 .625rem;
  background-color:var(--accent-cyan);
}
.result-row.cat-capacity::before{background-color:var(--accent-orange)}
.result-row.cat-county::before{background-color:var(--accent-teal)}
.result-row.cat-design::before{background-color:var(--accent-violet)}
.result-row.cat-supplier::before{background-color:var(--accent-gold)}
/* 工程师：用设计外包线的紫色，与「登记加工点」的黄色区分开 */
.result-row.cat-engineer::before{background-color:var(--accent-violet)}
.result-row:hover{
  border-color:var(--border-strong);
  box-shadow:var(--shadow-card-hover);
  transform:translateX(2px);
}

/* 左侧图标 */
.result-icon{
  display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;
  align-items:center;justify-content:center;border-radius:.5rem;
  background-color:var(--accent-cyan-dim);color:var(--accent-cyan);
}
.result-row.cat-capacity .result-icon{background-color:var(--accent-orange-dim);color:var(--accent-orange)}
.result-row.cat-county   .result-icon{background-color:var(--accent-teal-dim);color:var(--accent-teal)}
.result-row.cat-design   .result-icon{background-color:var(--accent-violet-dim);color:var(--accent-violet)}
.result-row.cat-supplier .result-icon{background-color:var(--accent-gold-dim);color:var(--accent-gold)}
.result-row.cat-engineer .result-icon{background-color:var(--accent-violet-dim);color:var(--accent-violet)}

/* 主体 */
.result-body{flex:1;min-width:0}
.result-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.result-name{
  font-size:16px;font-weight:700;color:var(--text-primary);
  text-decoration:none;
}
a.result-name:hover{color:var(--accent-cyan)}
.result-badge{
  flex-shrink:0;border-radius:.25rem;
  background-color:var(--bg-raised);
  padding:.125rem .4375rem;font-size:11px;font-weight:600;
  color:var(--text-muted);
}
.result-row.cat-capacity .result-badge{background-color:var(--accent-orange-dim);color:var(--accent-orange)}
.result-row.cat-county   .result-badge{background-color:var(--accent-teal-dim);color:var(--accent-teal)}
.result-row.cat-design   .result-badge{background-color:var(--accent-violet-dim);color:var(--accent-violet)}
.result-row.cat-supplier .result-badge{background-color:var(--accent-gold-dim);color:var(--accent-gold)}
.result-row.cat-engineer .result-badge{background-color:var(--accent-violet-dim);color:var(--accent-violet)}
.result-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:.375rem 1rem;
  margin-top:.4375rem;
  font-size:12.5px;color:var(--text-muted);
}
.result-meta em{
  font-family:'JetBrains Mono Variable',monospace;
  font-style:normal;font-weight:700;color:var(--text-primary);
}
.result-desc{
  margin-top:.5rem;
  font-size:13.5px;line-height:1.7;color:var(--text-secondary);
}
.result-tags{margin-top:.625rem;display:flex;flex-wrap:wrap;gap:.3125rem}
.result-tags li{
  border-radius:.25rem;
  background-color:var(--bg-raised);
  padding:.125rem .4375rem;font-size:11.5px;color:var(--text-muted);
}
/* 右侧箭头 */
.result-go{
  flex-shrink:0;align-self:center;
  display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;
  border-radius:999px;border:1px solid var(--border-subtle);
  color:var(--text-muted);
  transition:color .2s ease,border-color .2s ease,background-color .2s ease;
}
.result-row:hover .result-go{
  border-color:transparent;background-color:var(--accent-cyan);color:#fff;
}
.result-row.cat-capacity:hover .result-go{background-color:var(--accent-orange)}
.result-row.cat-county:hover   .result-go{background-color:var(--accent-teal)}
.result-row.cat-design:hover   .result-go{background-color:var(--accent-violet)}
.result-row.cat-supplier:hover .result-go{background-color:var(--accent-gold)}
.result-row.cat-engineer:hover .result-go{background-color:var(--accent-violet)}

/* ---------- 空状态 ---------- */
.result-empty{
  margin-top:2rem;text-align:center;
  border:1px dashed var(--border-strong);border-radius:.75rem;
  background-color:var(--bg-card);
  padding:3rem 1.5rem;
}
.result-empty-icon{
  display:inline-flex;height:3.25rem;width:3.25rem;
  align-items:center;justify-content:center;border-radius:999px;
  background-color:var(--accent-cyan-dim);color:var(--accent-cyan);
}
.result-empty-title{margin-top:1rem;font-size:18px;font-weight:700;color:var(--text-primary)}
.result-empty-desc{
  margin:.5rem auto 0;max-width:44ch;
  font-size:13.5px;line-height:1.75;color:var(--text-secondary);
}
.result-empty-actions{
  margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;
}
.result-note{
  margin-top:1.5rem;font-size:12.5px;line-height:1.7;color:var(--text-muted);
}

@media(max-width:639px){
  .result-row{padding:1rem 1rem 1rem 1.25rem;gap:.75rem}
  .result-icon{display:none}
  .result-go{display:none}
}

/* ---------- 名录卡片 ---------- */
/* 一行两家：大屏也不再分成三列 */
.dir-list{margin-top:1.25rem;display:grid;gap:1rem}
@media(min-width:900px){
  .dir-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
}
.sup-card{
  display:flex;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.125rem 1.25rem 1rem;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.sup-card:hover{
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}

/* 标题行 */
.sup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.sup-title-wrap{min-width:0}
.sup-name{
  font-size:16px;font-weight:700;line-height:1.45;color:var(--text-primary);
}
.sup-name-en{
  margin-top:.1875rem;
  font-size:12.5px;line-height:1.5;color:var(--text-muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sup-arrow{flex-shrink:0;margin-top:.2rem;color:var(--text-muted);transition:color .2s ease,transform .2s ease}
.sup-card:hover .sup-arrow{color:var(--accent-orange);transform:translateX(2px)}

/* 所在地 · 主营产品 */
.sup-loc{
  margin-top:.75rem;
  display:flex;align-items:flex-start;gap:.375rem;
  font-size:13px;line-height:1.65;color:var(--text-secondary);
}
.sup-loc svg{flex-shrink:0;margin-top:.2rem;color:var(--text-muted)}

/* 荣誉 / 自报行 */
.sup-honors{
  margin-top:.5rem;
  font-size:12.5px;line-height:1.65;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sup-honors.is-honor{color:var(--accent-orange)}
.sup-honors.is-self{color:var(--text-muted)}

/* 产品标签 */
.sup-tags{margin-top:.875rem;display:flex;flex-wrap:wrap;gap:.375rem}
.sup-tag{
  border-radius:.25rem;background-color:var(--bg-raised);
  padding:.25rem .5rem;font-size:12px;line-height:1.4;color:var(--text-secondary);
}
.sup-tag.is-more{background:transparent;color:var(--text-muted);padding-left:0}

/* 页脚 */
.sup-foot{
  margin-top:auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;
  border-top:1px solid var(--border-subtle);
  padding-top:.875rem;
  /* 与标签之间至少留出间距，卡片高度不齐时也能贴底对齐 */
  padding-bottom:.125rem;
}
.sup-card .sup-tags{margin-bottom:1rem}
.sup-since{font-size:12px;color:var(--text-muted)}
.sup-site{
  display:inline-flex;align-items:center;gap:.375rem;
  font-size:12px;color:var(--text-secondary);
  transition:color .2s ease;
  min-width:0;
}
.sup-site svg{flex-shrink:0;color:var(--text-muted)}
.sup-site span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sup-site:hover{color:var(--accent-orange)}
.sup-site:hover svg{color:var(--accent-orange)}
.sup-verify{
  margin-left:auto;flex-shrink:0;
  font-size:12px;color:var(--text-muted);
}
/* 核实程度：越靠前越显著 */
.sup-verify.v-0{color:var(--accent-orange);font-weight:600}
.sup-verify.v-1{color:var(--text-secondary)}

/* ---------- 空状态 ---------- */
.dir-empty{
  margin-top:1.25rem;
  border:1px dashed var(--border-strong);border-radius:.5rem;
  background-color:var(--bg-card);
  padding:3rem 1.5rem;text-align:center;
}
.dir-empty-title{font-size:17px;font-weight:700;color:var(--text-primary)}
.dir-empty-desc{
  margin:.5rem auto 1.25rem;max-width:34ch;
  font-size:14px;line-height:1.75;color:var(--text-secondary);
}

.dir-note{
  margin-top:1.75rem;font-size:13px;line-height:1.8;color:var(--text-muted);
}

/* ============================================================
   服务流程页
   ============================================================ */
.section-flow{padding:3rem 0}
@media(min-width:768px){.section-flow{padding:4rem 0}}

/* ---------- 两条业务线的步骤列表 ---------- */
.flow-grid{display:grid;gap:1.25rem}
@media(min-width:1024px){
  .flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
}
.flow-col{
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
@media(min-width:768px){.flow-col{padding:1.75rem}}
.flow-col-head{display:flex;align-items:center;gap:.875rem}
.flow-col-title{font-size:19px;font-weight:700;color:var(--text-primary)}
.flow-col-sub{margin-top:.1875rem;font-size:13px;color:var(--text-muted)}
/* 设计线用青色图标区分 */
.quick-icon.icon-cyan{background-color:var(--accent-cyan-dim);color:var(--accent-cyan)}

.flow-steps{margin-top:1.5rem;display:flex;flex-direction:column}
.flow-steps li{
  position:relative;
  display:flex;align-items:flex-start;gap:.875rem;
  padding-bottom:1.25rem;
}
.flow-steps li:last-child{padding-bottom:0}
/* 竖线把各步骤串起来 */
.flow-steps li:not(:last-child)::before{
  content:"";position:absolute;left:11px;top:26px;bottom:2px;
  width:1px;background-color:var(--border-subtle);
}
.flow-dot{
  position:relative;z-index:1;flex-shrink:0;
  display:flex;height:23px;width:23px;align-items:center;justify-content:center;
  border-radius:999px;border:1px solid var(--border-strong);
  background-color:var(--bg-card);
  font-family:'JetBrains Mono Variable',monospace;
  font-size:11px;font-weight:700;color:var(--text-secondary);
}
.flow-steps > li > div{min-width:0;flex:1}
.flow-step-title{font-size:15px;font-weight:700;color:var(--text-primary)}
.flow-step-desc{margin-top:.25rem;font-size:13.5px;line-height:1.7;color:var(--text-secondary)}
.flow-step-time{
  flex-shrink:0;font-size:12px;color:var(--text-muted);
  font-family:'JetBrains Mono Variable',monospace;
  white-space:nowrap;
}
@media(max-width:520px){
  .flow-step-time{display:block;width:100%;margin-top:.375rem}
  .flow-steps li{flex-wrap:wrap}
}

/* ---------- 交付物清单 ---------- */
.deliver-grid{display:grid;gap:1rem}
@media(min-width:768px){.deliver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.deliver-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.deliver-card{
  height:100%;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1.25rem;
}
.deliver-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}
.deliver-list li{
  display:flex;gap:.625rem;
  font-size:13.5px;line-height:1.65;color:var(--text-secondary);
}
.deliver-list li::before{
  content:"";flex-shrink:0;margin-top:.5rem;
  height:5px;width:5px;border-radius:999px;background-color:var(--accent-orange);
}

/* ---------- 常见问题（两页共用） ---------- */
.faq-grid{display:grid;gap:.75rem}
@media(min-width:1024px){.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
.faq-item{
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1rem 1.25rem;
}
.faq-q{
  cursor:pointer;list-style:none;
  display:flex;align-items:flex-start;gap:.625rem;
  font-size:15px;font-weight:700;color:var(--text-primary);
}
.faq-q::-webkit-details-marker{display:none}
.faq-q::before{
  content:"+";flex-shrink:0;
  font-family:'JetBrains Mono Variable',monospace;
  font-size:16px;line-height:1.4;color:var(--accent-orange);
}
.faq-item[open] .faq-q::before{content:"−"}
.faq-a{
  margin-top:.625rem;padding-left:1.375rem;
  font-size:13.5px;line-height:1.75;color:var(--text-secondary);
}

/* ---------- 页面收尾按钮组 ---------- */
.flow-cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}

/* ============================================================
   入驻申请页
   ============================================================ */
/* 锚点定位占位（#apply-supply / #apply-engineer / #produce / #design）：不占高度，仅用于滚动定位 */
#apply-supply,#apply-engineer,#produce,#design{display:block;height:0;scroll-margin-top:5rem}

/* ---------- 表单切换标签 ---------- */
.apply-tabs{
  margin-top:2.5rem;
  display:flex;gap:.5rem;
  border-bottom:1px solid var(--border-subtle);
}
.apply-tab{
  position:relative;
  padding:.75rem 1.25rem;
  font-size:15px;font-weight:700;color:var(--text-muted);
  transition:color .2s ease;
}
.apply-tab:hover{color:var(--text-primary)}
.apply-tab.is-active{color:var(--accent-orange)}
.apply-tab.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  border-radius:999px;background-color:var(--accent-orange);
}

/* ---------- 申请表单 ---------- */
.apply-panel{margin-top:1.5rem}
.apply-panel[hidden]{display:none!important}
.apply-form{
  display:flex;flex-direction:column;gap:1.125rem;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
@media(min-width:768px){.apply-form{padding:1.75rem}}
.apply-intro{font-size:13.5px;line-height:1.7;color:var(--text-muted)}
.apply-grid{display:grid;gap:1.125rem}
@media(min-width:768px){.apply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 校验不通过时的红框 */
.bf-chips.is-invalid .bf-chip{border-color:var(--danger)}
select.bf-input{cursor:pointer}

/* ---------- 提交结果 ---------- */
.apply-result{
  margin-top:1.5rem;display:flex;align-items:flex-start;gap:1rem;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
.apply-result[hidden]{display:none!important}
.apply-result .br-note{margin-top:.5rem}

/* ---------- 审核流程 ---------- */
.review-steps{display:grid;gap:1rem;counter-reset:review}
@media(min-width:768px){.review-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.review-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.review-step{
  position:relative;height:100%;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1.25rem;
}
.review-no{
  font-family:'JetBrains Mono Variable',monospace;
  font-size:12px;letter-spacing:.12em;color:var(--accent-orange);
}
.review-title{margin-top:.375rem;font-size:16px;font-weight:700;color:var(--text-primary)}
.review-desc{margin-top:.5rem;font-size:13.5px;line-height:1.7;color:var(--text-secondary)}
.review-time{
  display:inline-block;margin-top:.875rem;
  font-size:12px;color:var(--text-muted);
  font-family:'JetBrains Mono Variable',monospace;
}

/* ---------- 产业概况 ---------- */
.section-overview{padding:3.5rem 0}
@media(min-width:768px){.section-overview{padding:5rem 0}}
.overview-grid{display:grid;gap:2rem}
@media(min-width:768px){
  .overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:3.5rem}
}
.overview-text{font-size:15px;line-height:1.75;color:var(--text-secondary);display:flex;flex-direction:column;gap:.75rem}
@media(min-width:768px){.overview-text{font-size:15.5px;line-height:1.85}}
.overview-links{font-size:14px}

/* ============================================================
   农村供应链轮播
   ============================================================ */
.section-clusters{
  position:relative;isolation:isolate;overflow:hidden;padding:3.5rem 0;
  background:var(--tint-cool);
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
}
@media(min-width:768px){.section-clusters{padding:6rem 0}}
.ambient{pointer-events:none;position:absolute;z-index:-1;border-radius:999px;filter:blur(90px)}
.ambient-blue{left:-11rem;top:6rem;height:440px;width:440px;background:var(--ambient-blue)}
.ambient-orange{right:-12rem;bottom:2rem;height:420px;width:420px;background:var(--ambient-orange)}
.ambient-teal{right:-10rem;top:8rem;height:400px;width:400px;background:var(--ambient-teal)}

/* 与其他模块保持一致：内容宽 1280px 居中，卡片可溢出到左右留白区 */
.carousel-wrap{
  position:relative;
  margin-left:auto;margin-right:auto;
  max-width:1280px;
  padding-left:1.25rem;padding-right:1.25rem;
}
@media(min-width:768px){.carousel-wrap{padding-left:2rem;padding-right:2rem}}
.carousel-btn{
  position:absolute;top:50%;z-index:10;display:none;
  height:44px;width:44px;transform:translateY(-50%);
  align-items:center;justify-content:center;border-radius:999px;
  background-color:var(--accent-orange);color:#fff;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  transition:transform .2s ease,background-color .2s ease;
}
.carousel-btn:hover{transform:translateY(calc(-50% - 1px));background-color:var(--accent-orange-soft)}
.carousel-btn:disabled{pointer-events:none;opacity:0}
@media(min-width:768px){.carousel-btn{display:flex}}
/* 按钮压在卡片边缘上，而不是挤进容器留白里 */
.carousel-prev{left:calc(1.25rem - 10px)}
@media(min-width:768px){.carousel-prev{left:calc(2rem - 10px)}}
.carousel-next{right:calc(1.25rem - 10px)}
@media(min-width:768px){.carousel-next{right:calc(2rem - 10px)}}

.carousel-track{
  margin:0;display:flex;cursor:grab;
  gap:1.5rem;overflow-x:auto;overflow-y:hidden;padding:0 0 .5rem;
  user-select:none;-ms-overflow-style:none;scrollbar-width:none;
}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track.is-dragging{cursor:grabbing}

.cluster-card{
  display:flex;height:400px;width:300px;flex-shrink:0;flex-direction:column;
  overflow:hidden;border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);
}
@media(min-width:768px){.cluster-card{width:360px}}
.cluster-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}
/* 无图版：没有可用的品类图片时（图片字段为空或文件不存在），
   不预留 55% 的图片区，整卡交给文字内容，避免出现破图与大片空白。 */
.cluster-card.is-noimg{height:auto;min-height:220px}
.cluster-media{height:55%;overflow:hidden}
.cluster-media img{
  height:100%;width:100%;object-fit:cover;object-position:right bottom;
  transition:transform .4s ease;
}
.cluster-card:hover .cluster-media img{transform:scale(1.05)}
.cluster-body{display:flex;flex:1;flex-direction:column;padding:1.25rem}
.cluster-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.cluster-name{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:22px;font-weight:700;color:var(--text-primary);
}
.cluster-honor{
  flex-shrink:0;border-radius:999px;background-color:rgba(214,74,21,.12);
  padding:.25rem .625rem;font-size:11px;color:var(--accent-orange);
}
.cluster-loc{margin-top:.25rem;font-size:13px;color:var(--text-muted)}
.cluster-metrics{
  margin-top:.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;
  font-family:'JetBrains Mono Variable',monospace;font-size:14px;
}
.cluster-metric-value{color:var(--text-primary)}
.cluster-metric-label{margin-top:.125rem;font-size:12px;color:var(--text-muted)}
.cluster-more{
  margin-top:auto;display:flex;align-items:center;gap:.25rem;padding-top:.75rem;
  font-size:14px;color:var(--text-muted);transition:color .2s ease;
}
.cluster-card:hover .cluster-more{color:var(--accent-orange)}
.cluster-more svg{transition:transform .2s ease}
.cluster-card:hover .cluster-more svg{transform:translateX(4px)}

/* ============================================================
   采购对接
   ============================================================ */
.section-sourcing{
  border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);
  background:var(--tint-teal);padding:3.5rem 0;
}
@media(min-width:768px){.section-sourcing{padding:5rem 0}}
.sourcing-grid{display:grid;gap:1rem}
@media(min-width:768px){.sourcing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sourcing-card{
  display:flex;height:100%;gap:1rem;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1.25rem;
}
.step-no{font-size:11px;letter-spacing:.15em;color:var(--text-muted);font-family:'JetBrains Mono Variable',monospace}
.sourcing-title{margin-top:.25rem;font-size:17px;font-weight:700;color:var(--text-primary)}
.sourcing-desc{margin-top:.5rem;font-size:14px;line-height:1.6;color:var(--text-secondary)}
.sourcing-note{margin-top:1.5rem;font-size:14px;color:var(--text-muted)}

/* ============================================================
   设计外包
   ============================================================ */
.section-design{
  border-top:1px solid var(--border-subtle);
  padding:3.5rem 0;
  background:var(--tint-warm);
}
@media(min-width:768px){.section-design{padding:5rem 0}}
/* 页头已有下边距，首页区块又是本页第一个模块，取消上方内边距避免空白叠加 */
.section-design.is-page-lead{padding-top:1.5rem}
@media(min-width:768px){.section-design.is-page-lead{padding-top:2rem}}
.section-design.is-page-lead .brief-grid{margin-top:0}
.section-design .sourcing-card{
  background-color:var(--bg-card);
  box-shadow:var(--shadow-card);
}

/* ============================================================
   设计外包：需求表单 + 信任要素 + 匹配预览 + 案例
   ============================================================ */

/* ---------- 两栏：左说明 / 右信任（两栏始终等高） ---------- */
.brief-grid{
  display:grid;gap:1.25rem;margin-top:2.5rem;
  grid-template-columns:minmax(0,1fr);
}
/* 用默认的 align-items:stretch 让两栏互相拉平；
   卡片内部纵向 flex + 内容区自动撑满，保证底边对齐 */
.brief-grid > .brief-col-main,
.brief-grid > .brief-col-trust{
  display:flex;flex-direction:column;
}
@media(min-width:1024px){
  .brief-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:1.5rem;
  }
  .brief-col-main {grid-column:1;grid-row:1}
  .brief-col-trust{grid-column:2;grid-row:1}
}
@media(max-width:1023px){
  .brief-aside{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.25rem}
}

.brief-card,
.trust-card{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  box-shadow:var(--shadow-card);
  padding:1.5rem;
  /* 撑满父级，两栏等高 */
  display:flex;flex-direction:column;
  flex:1;
}
@media(min-width:768px){
  .brief-card,.trust-card{padding:1.75rem}
}

/* ---------- 左卡：与右卡同一青蓝系 ---------- */
.brief-card{
  background:
    radial-gradient(circle at 88% 6%, rgba(91,155,213,.18), transparent 46%),
    radial-gradient(circle at 4% 96%, rgba(58,175,169,.13), transparent 44%),
    linear-gradient(155deg,#F7FBFE 0%,#F2F8FD 48%,#F1FAFA 100%);
}
/* 右上角同心圆弧 */
.brief-card::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  right:-5rem;top:-5rem;height:18rem;width:18rem;border-radius:999px;
  background:
    radial-gradient(circle, transparent 0 30%, rgba(91,155,213,.14) 30% 31%, transparent 31%),
    radial-gradient(circle, transparent 0 46%, rgba(91,155,213,.1) 46% 47%, transparent 47%),
    radial-gradient(circle, transparent 0 62%, rgba(91,155,213,.07) 62% 63%, transparent 63%),
    radial-gradient(circle, transparent 0 78%, rgba(91,155,213,.05) 78% 79%, transparent 79%);
}
/* 左下角斜纹带 */
.brief-card::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:0;bottom:0;height:8rem;width:22rem;
  background-image:repeating-linear-gradient(
    135deg,
    rgba(58,175,169,.07) 0 1px,
    transparent 1px 9px
  );
  -webkit-mask-image:linear-gradient(to top right, #000, transparent 70%);
  mask-image:linear-gradient(to top right, #000, transparent 70%);
}

/* ---------- 右卡：青蓝渐变 + 点阵/圆环图形 ---------- */
.trust-card{
  background:
    radial-gradient(circle at 8% 4%, rgba(91,155,213,.18), transparent 46%),
    radial-gradient(circle at 94% 92%, rgba(58,175,169,.16), transparent 44%),
    linear-gradient(165deg,#F7FBFE 0%,#F2F8FD 50%,#F1FAFA 100%);
}
/* 点阵 */
.trust-card::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  right:0;top:0;height:11rem;width:11rem;
  background-image:radial-gradient(rgba(91,155,213,.3) 1.2px, transparent 1.2px);
  background-size:11px 11px;
  -webkit-mask-image:radial-gradient(circle at 100% 0%, #000, transparent 72%);
  mask-image:radial-gradient(circle at 100% 0%, #000, transparent 72%);
}
/* 左下角同心圆环 */
.trust-card::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:-4.5rem;bottom:-4.5rem;height:13rem;width:13rem;border-radius:999px;
  background:
    radial-gradient(circle, transparent 0 34%, rgba(58,175,169,.13) 34% 35%, transparent 35%),
    radial-gradient(circle, transparent 0 52%, rgba(58,175,169,.1) 52% 53%, transparent 53%),
    radial-gradient(circle, transparent 0 70%, rgba(58,175,169,.07) 70% 71%, transparent 71%);
}
/* 右卡页脚贴底，两栏底边对齐时按钮在同一条线上 */
.trust-card > .trust-foot{margin-top:auto}
/* 卡片内容区（列表）自动占满剩余高度 */
.brief-card > .brief-head{position:relative;z-index:1}
.brief-card > .trust-list{position:relative;z-index:1}
.brief-card > .bf-actions{margin-top:auto;position:relative;z-index:1}
.trust-card > .trust-list{position:relative;z-index:1}

.brief-head{margin-bottom:1.25rem}
.brief-title{margin-top:.5rem;font-size:19px;font-weight:700;line-height:1.45;color:var(--text-primary)}
.brief-sub{margin-top:.375rem;font-size:13px;color:var(--text-muted)}

/* ---------- 表单字段 ---------- */
.brief-form{display:flex;flex-direction:column;gap:1.125rem}
.bf-field{margin:0;padding:0;border:0;min-width:0}
.bf-label{
  display:block;margin-bottom:.5rem;
  font-size:13px;font-weight:600;color:var(--text-primary);
}
.bf-req{color:var(--accent-orange);margin-left:.1875rem}
.bf-opt{
  margin-left:.375rem;font-size:11px;font-weight:400;
  color:var(--text-muted);
}
.bf-hint{margin-top:.375rem;font-size:12px;line-height:1.6;color:var(--text-muted)}
.bf-error{
  margin-top:.375rem;font-size:12px;line-height:1.6;color:var(--danger);
}
/* 手机号与短信验证码：两列同排，各自备注在输入框下方 */
.bf-code-cols{display:grid;grid-template-columns:1fr;gap:1.125rem}
@media(min-width:640px){.bf-code-cols{grid-template-columns:1fr 1fr}}
/* 手机号输入框 + 发送按钮 同一行 */
.bf-code-row{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:stretch;width:100%}
.bf-code-row .bf-input{flex:1 1 auto;width:auto;min-width:0;height:44px}
.bf-code-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  height:44px;white-space:nowrap;
  padding:0 .875rem;border-radius:.375rem;
  border:1px solid var(--border-strong);
  background-color:var(--bg-subtle,#f1f5f9);color:var(--text-primary);
  font-size:13px;font-weight:600;line-height:1;cursor:pointer;
  transition:border-color .15s ease,color .15s ease,opacity .15s ease;
}
.bf-code-btn:hover:not(:disabled){border-color:var(--accent-orange);color:var(--accent-orange)}
.bf-code-btn:disabled{opacity:.55;cursor:not-allowed}

/* 选项 chip */
.bf-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.bf-chip{
  display:inline-flex;align-items:center;
  border:1px solid var(--border-subtle);border-radius:999px;
  background-color:var(--bg-input);
  padding:.4375rem .8125rem;
  font-size:13px;color:var(--text-secondary);
  cursor:pointer;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.bf-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}
.bf-chip input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
/* 选中态 */
.bf-chip:has(input:checked){
  border-color:var(--accent-orange);color:var(--accent-orange);
  background-color:var(--accent-orange-dim);font-weight:600;
}
.bf-chip:has(input:focus-visible){box-shadow:0 0 0 3px var(--accent-orange-dim)}
/* 不支持 :has 的旧浏览器兜底 */
@supports not selector(:has(*)){
  .bf-chip input:checked + span{color:var(--accent-orange);font-weight:600}
}

/* 「其他 / 自定义」服务标题：选中后出现的补充输入框 */
.bf-custom{
  margin-top:.875rem;
  border-left:2px solid var(--accent-orange);
  border-radius:0 .375rem .375rem 0;
  background-color:var(--accent-orange-dim);
  padding:.875rem 1rem;
}
.bf-custom[hidden]{display:none!important}
.bf-label-sub{
  margin-bottom:.5rem;
  font-size:12.5px;color:var(--text-primary);
}
.bf-custom .bf-hint{margin-top:.375rem}

/* 输入控件 */
.bf-input{
  width:100%;height:44px;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-input);
  padding:0 .75rem;font-size:14px;color:var(--text-primary);outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.bf-input::placeholder{color:var(--text-muted)}
.bf-input:focus{
  border-color:var(--accent-orange);
  box-shadow:0 0 0 3px var(--accent-orange-dim);
}
.bf-input.is-invalid{border-color:var(--danger)}
.bf-textarea{
  height:auto;min-height:100px;padding:.625rem .75rem;
  line-height:1.65;resize:vertical;
}
input[type="date"].bf-input{cursor:pointer}

/* 文件选择 */
.bf-file{
  display:flex;align-items:center;gap:.625rem;
  border:1px dashed var(--border-strong);border-radius:.375rem;
  background-color:var(--bg-input);
  padding:.75rem;font-size:13px;color:var(--text-secondary);
  cursor:pointer;transition:border-color .2s ease,color .2s ease;
}
.bf-file:hover{border-color:var(--accent-orange);color:var(--accent-orange)}
.bf-file svg{flex-shrink:0}
.bf-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.bf-actions{margin-top:.375rem}
.bf-submit{width:100%;height:46px}
/* 左卡按钮跟随青蓝系，与卡片背景协调 */
.brief-card .bf-submit{
  background:linear-gradient(135deg,#6BA8DC,#5B9BD5);
  transition:background-color .2s ease,box-shadow .2s ease;
}
.brief-card .bf-submit:hover{
  background:linear-gradient(135deg,#5F9FD8,#4E90CC);
  box-shadow:0 6px 16px rgba(91,155,213,.32);
}
.bf-privacy{
  margin-top:.75rem;font-size:12px;line-height:1.7;
  color:var(--text-muted);text-align:center;
}

/* ---------- 右侧信任要素 ---------- */
.trust-list{margin-top:1rem;display:flex;flex-direction:column;gap:1.25rem}
.trust-item{display:flex;gap:.75rem}
.trust-icon{
  display:flex;height:34px;width:34px;flex-shrink:0;
  align-items:center;justify-content:center;border-radius:.375rem;
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
}
/* 左右两卡统一青蓝系图标 */
.brief-card .trust-icon{background-color:var(--accent-cyan-dim);color:var(--accent-cyan)}
.trust-card .trust-icon{background-color:var(--accent-cyan);color:#fff}
.trust-title{font-size:14px;font-weight:700;color:var(--text-primary)}
.trust-points{
  margin-top:.5rem;display:flex;flex-direction:column;gap:.3125rem;
  font-size:13px;line-height:1.6;color:var(--text-secondary);
}
.trust-points li{position:relative;padding-left:.875rem}
.trust-points li::before{
  content:"";position:absolute;left:0;top:.5rem;
  height:4px;width:4px;border-radius:999px;
  background-color:var(--accent-orange);
}
.trust-foot{
  margin-top:1.5rem;border-top:1px solid var(--border-subtle);padding-top:1rem;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;
}
.trust-foot p{font-size:13px;color:var(--text-secondary)}

/* ---------- 右栏补充信息（与左侧表单高度对齐） ---------- */
.aside-card{
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.5rem;
}
@media(min-width:768px){.aside-card{padding:1.75rem}}

/* 关键数字：两列小格子 */
.aside-facts{
  margin-top:1.25rem;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.875rem 1rem;
}
.aside-fact dt{
  font-size:11.5px;letter-spacing:.02em;color:var(--text-muted);
}
.aside-fact dd{
  margin:.25rem 0 0;
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:20px;font-weight:700;line-height:1.1;color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
.aside-fact dd span{
  font-family:inherit;font-size:12px;font-weight:400;color:var(--text-muted);
}

/* 要点列表 */
.aside-list{
  margin-top:1.25rem;
  border-top:1px solid var(--border-subtle);padding-top:1.25rem;
  display:flex;flex-direction:column;gap:.75rem;
}
.aside-list li{
  display:flex;gap:.625rem;
  font-size:13.5px;line-height:1.7;color:var(--text-secondary);
}
.aside-list svg{flex-shrink:0;margin-top:.25rem;color:var(--accent-orange)}

.aside-links{
  margin-top:1.25rem;
  border-top:1px solid var(--border-subtle);padding-top:1rem;
  font-size:13.5px;
}

/* 引言卡：缺少内容时自动撑满剩余高度 */
.aside-quote{
  display:flex;flex-direction:column;justify-content:center;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background:linear-gradient(160deg,var(--accent-orange-dim),transparent 70%);
  padding:1.5rem;
}
@media(min-width:768px){.aside-quote{padding:1.75rem}}
.aside-quote-text{
  font-size:17px;font-weight:700;line-height:1.6;
  color:var(--text-primary);
}
.aside-quote-sub{
  margin-top:.625rem;
  font-size:13.5px;line-height:1.75;color:var(--text-secondary);
}
.aside-quote-actions{
  margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.625rem;
}


/* ---------- 匹配预览 ---------- */
.brief-result{
  margin-top:1.5rem;
  border:1px solid rgba(214,74,21,.3);border-radius:.75rem;
  background:linear-gradient(135deg,rgba(214,74,21,.08),rgba(214,74,21,.02));
  padding:1.5rem;
}
@media(min-width:768px){.brief-result{padding:2rem}}
.br-head{display:flex;gap:.875rem;align-items:flex-start}
.br-check{
  display:flex;height:44px;width:44px;flex-shrink:0;
  align-items:center;justify-content:center;border-radius:999px;
  background-color:var(--accent-orange);color:#fff;
}
.br-title{font-size:19px;font-weight:700;color:var(--text-primary)}
.br-no{font-family:'JetBrains Mono Variable',monospace;color:var(--accent-orange)}
.br-sub{margin-top:.375rem;font-size:13px;line-height:1.7;color:var(--text-secondary)}

.br-stats{
  margin-top:1.5rem;display:grid;gap:1rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(min-width:640px){.br-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.br-stat{
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1rem;
}
.br-stat-value{font-size:22px;font-weight:700;color:var(--text-primary)}
.br-stat-value span{font-size:13px;font-weight:500;color:var(--accent-orange);margin-left:.1875rem}
.br-stat-label{margin-top:.25rem;font-size:12px;color:var(--text-muted)}

.br-steps{margin-top:1.75rem;display:flex;flex-direction:column;gap:0}
.br-step{
  position:relative;display:flex;gap:.875rem;align-items:flex-start;
  padding:0 0 1.125rem 0;
}
.br-step:last-child{padding-bottom:0}
/* 连接线 */
.br-step:not(:last-child)::before{
  content:"";position:absolute;left:5px;top:16px;bottom:0;width:1px;
  background-color:var(--border-subtle);
}
.br-dot{
  position:relative;z-index:1;flex-shrink:0;
  margin-top:5px;height:11px;width:11px;border-radius:999px;
  border:2px solid var(--border-strong);background-color:var(--bg-card);
}
.br-step.is-active .br-dot{
  border-color:var(--accent-orange);background-color:var(--accent-orange);
}
.br-step-title{font-size:14px;font-weight:700;color:var(--text-primary)}
.br-step-desc{margin-top:.1875rem;font-size:13px;line-height:1.6;color:var(--text-secondary)}
.br-step-time{
  margin-left:auto;flex-shrink:0;padding-left:.75rem;
  font-family:'JetBrains Mono Variable',monospace;
  font-size:11px;color:var(--text-muted);white-space:nowrap;
}

.br-actions{
  margin-top:1.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;
}
.br-actions .btn-solid,.br-actions .btn-outline{height:42px}
.br-reset{
  font-size:13px;color:var(--text-muted);
  text-decoration:underline;text-underline-offset:3px;
  transition:color .2s ease;
}
.br-reset:hover{color:var(--accent-orange)}
.br-note{
  margin-top:1rem;font-size:12px;line-height:1.7;color:var(--text-muted);
}

/* ---------- 服务项目（在脱敏案例之上，复用其标题样式） ---------- */
.svc-wrap{margin-top:3.5rem}
@media(min-width:768px){.svc-wrap{margin-top:4.5rem}}
.svc-grid{margin-top:1.5rem;display:grid;gap:1rem}
@media(min-width:640px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.svc-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.25rem;
  transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
/* 顶部整块填充色带（含纹理），参考图色块语言 */
.svc-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6.5rem;
  background:var(--block-orange);
}
/* 纹理：斜向细纹 */
.svc-card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:6.5rem;
  background-image:repeating-linear-gradient(
    135deg,
    rgba(255,255,255,.11) 0 1px,
    transparent 1px 7px
  );
}
.svc-grid > .reveal:nth-child(4n+2) .svc-card::before{background:var(--block-blue)}
.svc-grid > .reveal:nth-child(4n+3) .svc-card::before{background:var(--block-gold)}
.svc-grid > .reveal:nth-child(4n+4) .svc-card::before{background:var(--block-indigo)}
.svc-card:hover{
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
  transform:translateY(-2px);
}
/* 整卡改成链接（进入服务详情页）：清掉链接默认样式，保留原有视觉 */
.svc-card-link{display:flex;text-decoration:none;color:inherit}
.svc-card-link:hover{border-color:var(--accent-orange)}
/* 卡片右下角的「查看详情 →」，悬停时轻微右移，提示可点 */
.svc-more{
  position:relative;z-index:2;
  margin-top:.75rem;font-size:12.5px;font-weight:600;
  color:var(--accent-orange);
  transition:transform .2s ease;
}
.svc-card-link:hover .svc-more{transform:translateX(3px)}
/* 图标与标题压在色带上，文字白色 */
.svc-card .quick-icon{
  position:relative;z-index:2;
  height:2.25rem;width:2.25rem;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
}
.svc-card .svc-title{
  position:relative;z-index:2;
  margin-top:.875rem;
  font-size:16px;font-weight:700;color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.12);
}
/* 色带下方的正文区 */
.svc-card .svc-desc{position:relative;z-index:2}
.svc-card .svc-tags{position:relative;z-index:2}
.svc-desc{
  margin-top:.625rem;
  font-size:13px;line-height:1.7;color:var(--text-secondary);
}
.svc-tags{margin-top:.875rem;display:flex;flex-wrap:wrap;gap:.3125rem}
.svc-tags li{
  border-radius:.25rem;
  background-color:var(--bg-raised);
  padding:.1875rem .4375rem;font-size:11.5px;color:var(--text-secondary);
  font-weight:500;
}
/* 交期吸底，同一行卡片对齐 */
.svc-meta{
  margin-top:auto;padding-top:1rem;
  font-size:12px;color:var(--text-muted);
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
}
.svc-note{
  margin-top:1.25rem;font-size:12.5px;line-height:1.7;color:var(--text-muted);
}

/* ---------- 脱敏案例 ---------- */
.cases-wrap{margin-top:3.5rem}
@media(min-width:768px){.cases-wrap{margin-top:4.5rem}}
.cases-head{max-width:640px}
.cases-title{font-size:20px;font-weight:700;color:var(--text-primary)}
@media(min-width:768px){.cases-title{font-size:22px}}
.cases-sub{margin-top:.375rem;font-size:13px;line-height:1.7;color:var(--text-secondary)}
.cases-grid{margin-top:1.5rem;display:grid;gap:1rem}
@media(min-width:768px){.cases-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.case-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.25rem 1.25rem 1.25rem 1.75rem;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
/* 左侧填充色块（含纹理） */
.case-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:.75rem;
  background-color:var(--accent-orange);
  background-image:repeating-linear-gradient(
    45deg,
    rgba(255,255,255,.16) 0 1px,
    transparent 1px 6px
  );
}
.cases-grid > .reveal:nth-child(2) .case-card::before{background-color:var(--accent-cyan)}
.cases-grid > .reveal:nth-child(3) .case-card::before{background-color:var(--accent-gold)}
.case-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}
/* 整卡改成链接（进入案例详情页） */
.case-card-link{display:flex;text-decoration:none;color:inherit}
.case-card-link:hover{border-color:var(--accent-orange)}
.case-more{
  position:relative;z-index:2;
  margin-top:.75rem;font-size:12.5px;font-weight:600;
  color:var(--accent-orange);
  transition:transform .2s ease;
}
.case-card-link:hover .case-more{transform:translateX(3px)}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.case-tag{
  border-radius:999px;background-color:var(--accent-orange-dim);
  padding:.1875rem .625rem;font-size:11px;font-weight:600;
  color:var(--accent-orange);
}
.cases-grid > .reveal:nth-child(2) .case-tag{
  background-color:var(--accent-cyan-dim);color:var(--accent-cyan);
}
.cases-grid > .reveal:nth-child(3) .case-tag{
  background-color:var(--accent-gold-dim);color:var(--accent-gold);
}
.case-meta{font-size:11px;color:var(--text-muted)}
.case-title{margin-top:.75rem;font-size:16px;font-weight:700;color:var(--text-primary)}
.case-desc{margin-top:.5rem;font-size:13px;line-height:1.7;color:var(--text-secondary)}
.case-points{
  margin-top:.875rem;padding-top:.875rem;flex:1;
  border-top:1px solid var(--border-subtle);
  display:flex;flex-direction:column;gap:.3125rem;
  font-size:12px;color:var(--text-muted);
}
.cases-note{
  margin-top:1.25rem;font-size:12px;line-height:1.7;color:var(--text-muted);
}

/* ---------- 工程师团队（每人有独立主页 /member_detail?type=engineer&id=x） ---------- */
.eng-wrap{margin-top:3.5rem}
@media(min-width:768px){.eng-wrap{margin-top:4.5rem}}
.eng-grid{margin-top:1.5rem;display:grid;gap:1rem}
@media(min-width:768px){.eng-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.eng-card{
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);box-shadow:var(--shadow-card);
  padding:1.25rem;text-decoration:none;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.eng-card:hover{
  transform:translateY(-2px);border-color:var(--accent-orange);
  box-shadow:var(--shadow-card-hover);
}
.eng-top{display:flex;align-items:center;gap:.75rem}
/* 工号徽标：兼职工程师不用头像，黄色块内「工号」在上、编号在下，两行左对齐 */
.eng-code{
  flex-shrink:0;display:inline-flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:.125rem;
  padding:.3125rem .625rem;border-radius:.375rem;
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
}
.eng-code-tag{
  font-size:10.5px;line-height:1;letter-spacing:.08em;opacity:.85;
}
.eng-code-no{
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:14px;font-weight:700;line-height:1.1;letter-spacing:.02em;
}
.eng-id{min-width:0;flex:1}
.eng-name{font-size:16px;font-weight:700;color:var(--text-primary)}
.eng-job{
  margin-top:.125rem;font-size:12px;color:var(--text-muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.eng-verify{
  flex-shrink:0;border-radius:999px;background-color:var(--accent-cyan-dim);
  padding:.1875rem .5rem;font-size:11px;font-weight:600;color:var(--accent-cyan);
}
.eng-tags{margin-top:.875rem;display:flex;flex-wrap:wrap;gap:.375rem}
.eng-tag{
  border-radius:.25rem;border:1px solid var(--border-subtle);
  padding:.1875rem .5rem;font-size:11.5px;color:var(--text-secondary);
}
.eng-desc{
  margin-top:.75rem;font-size:12.5px;line-height:1.7;color:var(--text-secondary);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.eng-meta{
  margin-top:.875rem;padding-top:.875rem;flex:1;
  border-top:1px solid var(--border-subtle);
  display:flex;flex-wrap:wrap;gap:.25rem .75rem;
  font-size:12px;color:var(--text-muted);
}
.eng-meta em{
  font-style:normal;font-family:'JetBrains Mono Variable',monospace;
  color:var(--text-primary);
}
.eng-more{
  margin-top:.75rem;display:flex;align-items:center;gap:.25rem;
  font-size:12.5px;font-weight:600;color:var(--accent-orange);
  transition:transform .2s ease;
}
.eng-card:hover .eng-more{transform:translateX(3px)}
.eng-more svg{transition:transform .2s ease}
.eng-card:hover .eng-more svg{transform:translateX(3px)}

/* ---------- 分页：首页 / 上一页 / 下一页 / 跳页 ---------- */
.pager{
  margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:.5rem;
}
.pager-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:36px;padding:0 .875rem;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-card);
  font-size:13px;color:var(--text-secondary);
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.pager-btn:hover{border-color:var(--accent-orange);color:var(--accent-orange)}
.pager-btn.is-disabled{
  opacity:.45;pointer-events:none;cursor:not-allowed;
}
.pager-status{
  margin:0 .25rem;font-size:13px;color:var(--text-muted);
}
.pager-status em{
  font-style:normal;font-weight:700;
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  color:var(--accent-orange);
}
.pager-total{margin-left:.5rem;font-size:12px}
.pager-jump{
  margin-left:.5rem;display:inline-flex;align-items:center;gap:.375rem;
  font-size:13px;color:var(--text-muted);
}
.pager-jump-input{
  width:64px;height:36px;padding:0 .5rem;text-align:center;
  border-radius:.375rem;border:1px solid var(--border-subtle);
  background-color:var(--bg-input);color:var(--text-primary);
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;
  font-size:13px;
  -moz-appearance:textfield;
}
.pager-jump-input::-webkit-outer-spin-button,
.pager-jump-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pager-jump-input:focus{
  outline:none;border-color:var(--accent-orange);
  box-shadow:0 0 0 3px var(--accent-orange-dim);
}
.pager-jump-go{cursor:pointer}
/* AJAX 翻页失败时的占位提示 */
.pager-error{
  margin-top:1.5rem;text-align:center;
  font-size:13px;color:var(--text-muted);
}
@media(max-width:520px){
  .pager{gap:.375rem}
  .pager-status{width:100%;order:9;text-align:center}
  .pager-jump{margin-left:0}
}

/* ---------- 首页「工程师」轮播（复用 .carousel-* 与 .eng-card） ---------- */
.section-engineers{
  position:relative;isolation:isolate;overflow:hidden;padding:3.5rem 0;
  background:var(--tint-cool);
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
}
@media(min-width:768px){.section-engineers{padding:6rem 0}}
/* 轮播里卡片定宽，保证横向溢出可滑动 */
.eng-card-carousel{
  height:400px;width:300px;flex-shrink:0;
}
@media(min-width:768px){.eng-card-carousel{width:360px}}

/* ============================================================
   企业入驻
   ============================================================ */
.section-join{
  padding:3.5rem 0;
  background:var(--tint-mixed);
  border-bottom:1px solid var(--border-subtle);
}
@media(min-width:768px){.section-join{padding:5rem 0}}

/* ============================================================
   指定供应链提示卡（/submit?workshop=id）

   之前是通栏浅橙底 + 小字，对比度太低、容易被整块忽略。
   现在改成一张独立的高对比卡片：
     · 实心深色底 + 橙色描边，从页面上"跳"出来
     · 供应链名称单独成行、加大加粗，成为视觉焦点
     · 左侧橙色竖条 + 图标，一秒认出这是"已锁定对接方"
   ============================================================ */
.wish-bar{padding:1.75rem 0 .25rem}
.wish-card{
  position:relative;overflow:hidden;
  display:flex;gap:1.125rem;align-items:flex-start;flex-wrap:wrap;
  padding:1.375rem 1.5rem 1.375rem 1.625rem;
  border-radius:.75rem;
  border:1px solid rgba(214,120,20,.42);
  /* 暖橙渐变：从浅橙到更浅的米橙，全程浅色，不用黑底 */
  background:linear-gradient(118deg,#FFF1DA 0%,#FFE3BE 38%,#FFD9A6 72%,#FFEACB 100%);
  box-shadow:0 6px 22px rgba(214,120,20,.16),0 1px 3px rgba(31,39,51,.05);
}
/* 左缘橙色竖条，强化"已指定"的锁定感 */
.wish-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,#F5A623,#E2801A);
}
/* 右上角柔光：让渐变有层次，不呆板 */
.wish-card::after{
  content:"";position:absolute;right:-70px;top:-80px;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.75),transparent 68%);
  pointer-events:none;
}
.wish-icon{
  position:relative;z-index:1;
  display:flex;flex-shrink:0;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:.625rem;
  background:linear-gradient(135deg,#F7B23C,#E2801A);color:#fff;
  box-shadow:0 5px 16px rgba(214,120,20,.34);
}
.wish-text{position:relative;z-index:1;flex:1;min-width:220px}
.wish-eyebrow{
  display:inline-flex;align-items:center;gap:.375rem;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#A55A0C;
}
.wish-eyebrow::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background-color:#E2801A;
  box-shadow:0 0 0 3px rgba(226,128,26,.2);
}
/* 供应链名称：整卡视觉焦点 */
.wish-target{
  display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;
  margin-top:.5rem;
}
.wish-target-label{
  font-size:14px;font-weight:500;color:#7A5522;
}
.wish-target-name{
  display:inline-block;
  padding:.1875rem .75rem;border-radius:.375rem;
  background:linear-gradient(135deg,#F5A623,#E2801A);color:#fff;
  font-size:18px;font-weight:800;line-height:1.5;
  letter-spacing:.01em;
  box-shadow:0 3px 12px rgba(214,120,20,.36);
  word-break:break-word;
}
.wish-desc{
  margin-top:.75rem;font-size:13px;line-height:1.75;
  color:#6B4A1E;
}
.wish-desc em{font-style:normal;color:#B4600C;font-weight:700}
.wish-clear{
  position:relative;z-index:1;
  flex-shrink:0;align-self:center;
  padding:.5rem 1rem;border-radius:999px;
  border:1px solid rgba(165,90,12,.4);
  background-color:rgba(255,255,255,.6);
  font-size:12.5px;font-weight:600;color:#8A5210;text-decoration:none;
  white-space:nowrap;
  transition:border-color .2s ease,color .2s ease,background-color .2s ease;
}
.wish-clear:hover{
  border-color:#E2801A;color:#fff;background-color:#E2801A;
}

/* 表单里被预填的「想合作的供应链」：与卡片呼应，但要能在浅色表单里认出来 */
.bf-field.is-wish{
  padding:.875rem 1rem .5rem;
  border-radius:.5rem;
  border:1px dashed rgba(226,128,26,.6);
  background-color:#FFF7EC;
}
.bf-field.is-wish .bf-label{
  color:#B4600C;font-weight:700;
}
.bf-field.is-wish .bf-input{
  border-color:rgba(226,128,26,.55);
  background-color:#fff;
  font-weight:700;color:var(--text-primary);
}

@media(max-width:640px){
  .wish-card{padding:1.125rem 1.125rem 1.125rem 1.25rem;gap:.875rem}
  .wish-target-name{font-size:16px}
  .wish-clear{width:100%;text-align:center}
}
/* 三张入驻卡：提交需求 / 供应链入驻 / 工程师入驻 */
.join-grid{display:grid;gap:1rem}
@media(min-width:768px){.join-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.join-card{
  position:relative;overflow:hidden;
  display:flex;height:100%;flex-direction:column;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);padding:1.75rem 1.25rem;
  box-shadow:var(--shadow-card);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.join-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:var(--block-orange);
}
.join-grid > .reveal:nth-child(2) .join-card::before{
  background:var(--block-blue);
}
.join-grid > .reveal:nth-child(3) .join-card::before{
  background:var(--block-gold);
}
.join-grid > .reveal:nth-child(2) .join-card:hover{border-color:var(--border-strong)}
.join-grid > .reveal:nth-child(3) .join-card:hover{border-color:var(--border-strong)}
@media(min-width:768px){.join-card{padding:2rem 1.5rem}}
.join-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  border-color:var(--border-strong);
}
.join-card-icon{
  display:flex;height:48px;width:48px;align-items:center;justify-content:center;
  border-radius:.5rem;
  background:var(--block-orange);color:#fff;
}
.join-grid > .reveal:nth-child(2) .join-card-icon{background:var(--block-blue)}
.join-grid > .reveal:nth-child(3) .join-card-icon{background:var(--block-gold)}
.join-card-en{
  margin-top:1rem;
  font-family:'Space Grotesk Variable',system-ui,sans-serif;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-muted);
}
.join-card-title{margin-top:.25rem;font-size:19px;font-weight:700;color:var(--text-primary)}
.join-card-desc{margin-top:.5rem;flex:1;font-size:14px;line-height:1.65;color:var(--text-secondary)}
.join-card-cta{
  display:flex;height:44px;align-items:center;justify-content:center;gap:.5rem;
  border-radius:.375rem;
  font-size:14px;font-weight:700;
  /* 把按钮压到卡片底部，三张卡按钮对齐 */
  margin-top:1.5rem;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease;
}
.join-card-cta-primary{background-color:var(--accent-orange);color:#fff}
.join-card-cta-primary:hover{background-color:var(--accent-orange-soft)}
.join-card-cta-ghost{
  border:1px solid var(--accent-orange);color:var(--accent-orange);
  background-color:transparent;
}
.join-card-cta-ghost:hover{background-color:var(--accent-orange-dim)}
.join-card-cta svg{transition:transform .2s ease}
.join-card-cta:hover svg{transform:translateX(4px)}
.join-note{margin-top:1.25rem;font-size:14px;color:var(--text-muted)}

/* ============================================================
   问问工作猫 横条
   ============================================================ */
.section-ask{padding:0 0 4rem}
@media(min-width:768px){.section-ask{padding:0 0 6rem}}
.ask-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-card);padding:1rem 1.25rem;
}
.ask-text{display:flex;align-items:center;gap:.75rem;font-size:14px;color:var(--text-secondary)}
.ask-icon{height:36px;width:36px}
.btn-outline{
  display:inline-flex;height:40px;align-items:center;
  border-radius:.375rem;border:1px solid var(--accent-orange);
  padding:0 1rem;font-size:14px;font-weight:700;color:var(--accent-orange);
  transition:background-color .2s ease,color .2s ease;
}
.btn-outline:hover{background-color:var(--accent-orange);color:#fff}

/* ============================================================
   页脚
   ============================================================ */
.site-footer{position:relative;border-top:1px solid var(--border-subtle);background-color:var(--bg-base)}
.footer-topline{
  position:absolute;left:0;top:0;height:1px;width:120px;
  background:linear-gradient(90deg,rgba(214,74,21,.7),transparent);
}
/* 手机：品牌占满一行，4 个链接栏两列排布，避免纵向拖得太长 */
.footer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2rem 1.25rem;
  padding-top:2.5rem;padding-bottom:2.5rem;
}
.footer-brand{grid-column:1 / -1}
@media(min-width:640px){
  .footer-grid{gap:2.5rem 2rem;padding-top:3rem;padding-bottom:3rem}
  .footer-brand{grid-column:span 2}
}
@media(min-width:1024px){
  .footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:2.5rem}
  .footer-brand{grid-column:span 1;padding-right:1.5rem}
}
.footer-brand-link{display:inline-flex;align-items:center;gap:.625rem}
.footer-brand-text{display:flex;flex-direction:column;gap:.25rem;line-height:1}
.footer-brand-cn{font-size:15px;font-weight:700;line-height:1.1;color:var(--text-primary)}
.footer-brand-en{font-family:'Space Grotesk Variable',system-ui,sans-serif;font-size:10px;letter-spacing:.2em;color:var(--text-muted)}
.footer-desc{
  margin-top:1rem;max-width:34ch;
  font-size:13px;line-height:1.7;color:var(--text-secondary);
}
@media(min-width:640px){.footer-desc{margin-top:1.25rem;font-size:14px;line-height:1.75}}
.footer-beian{margin-top:.625rem;font-size:12px;line-height:1.6;color:var(--text-muted)}
.footer-col h4{margin:0}
.footer-col ul{margin-top:.625rem;display:flex;flex-direction:column;gap:.125rem}
@media(min-width:640px){.footer-col ul{margin-top:.75rem}}
.footer-col li a{
  display:block;padding:.1875rem 0;font-size:13px;line-height:1.6;
  color:var(--text-secondary);transition:color .2s ease;
}
@media(min-width:640px){.footer-col li a{font-size:14px}}
.footer-col li a:hover{color:var(--accent-orange)}
.footer-bottom{border-top:1px solid var(--border-subtle)}
.footer-bottom-inner{
  display:flex;flex-direction:column;gap:.75rem;
  padding-top:1.5rem;padding-bottom:1.75rem;
  font-family:'JetBrains Mono Variable',monospace;
  font-size:13px;line-height:1.75;color:var(--text-secondary);
}
@media(min-width:640px){
  .footer-bottom-inner{font-size:14px;gap:.625rem}
}
@media(min-width:768px){
  .footer-bottom-inner{flex-direction:row;align-items:center;justify-content:space-between}
}
/* 手机：两列排布法务链接，避免逐条换行占满整屏 */
.footer-legal{
  display:grid;grid-template-columns:repeat(2,auto);
  justify-content:start;gap:.5rem 1.25rem;
}
@media(min-width:640px){
  .footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem 1.25rem}
}
.footer-legal > span:first-child{grid-column:1 / -1}
@media(min-width:640px){.footer-legal > span:first-child{grid-column:auto}}
.footer-legal a,.footer-bottom-inner a{transition:color .2s ease}
.footer-legal a:hover,.footer-bottom-inner a:hover{color:var(--accent-orange)}

/* ============================================================
   问问工作猫 面板
   ============================================================ */
.ask-overlay{
  position:fixed;inset:0;z-index:100;
  display:flex;align-items:center;justify-content:center;
  background-color:rgba(0,0,0,.45);padding:1.25rem;
}
/* 仅当显式加上 .is-open 时才是 flex 布局，默认（未打开）不参与显示 */
.ask-overlay:not(.is-open){display:none}
.ask-modal{
  width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);padding:1.5rem;
  box-shadow:var(--shadow-card-hover);
}
.ask-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ask-modal-head h3{font-size:20px;font-weight:700;color:var(--text-primary)}
.ask-modal-desc{margin-top:.5rem;font-size:14px;color:var(--text-secondary)}
.ask-samples{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}
.ask-sample{
  border-radius:999px;border:1px solid var(--border-subtle);
  padding:.375rem .75rem;font-size:12px;color:var(--text-primary);
  transition:border-color .2s ease,color .2s ease;
}
.ask-sample:hover{border-color:var(--accent-orange);color:var(--accent-orange)}
.ask-modal textarea{
  margin-top:1rem;width:100%;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-input);
  padding:.75rem;font-size:14px;color:var(--text-primary);outline:none;resize:vertical;
}
.ask-modal textarea:focus{border-color:var(--accent-orange)}
.ask-modal-foot{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.ask-note{font-size:12px;line-height:1.6;color:var(--text-muted)}
.btn-solid{
  /* inline-flex + align-items 保证文字始终垂直居中：
     block 元素里的行盒会受 line-height 与字体基线影响而偏上 */
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;border-radius:.375rem;background-color:var(--accent-orange);
  padding:0 1.5rem;font-size:14px;font-weight:700;color:#fff;
  transition:background-color .2s ease;
}
.btn-solid:hover{background-color:var(--accent-orange-soft)}
.btn-solid:disabled{cursor:not-allowed;opacity:.5}
.ask-result{
  margin-top:1.25rem;border-top:1px solid var(--border-subtle);
  padding-top:1rem;font-size:14px;line-height:1.7;color:var(--text-secondary);
}
.ask-result strong{color:var(--text-primary)}
.ask-result a{color:var(--accent-cyan)}
.ask-result a:hover{color:var(--accent-orange)}

/* ============================================================
   登录 面板
   ============================================================ */
.login-modal{max-width:440px}
.login-form{margin-top:1.25rem;display:flex;flex-direction:column;gap:1rem}
.login-field{display:flex;flex-direction:column;gap:.375rem}
.login-label{font-size:13px;font-weight:600;color:var(--text-secondary)}
.login-field input{
  height:44px;width:100%;border-radius:.375rem;
  border:1px solid var(--border-subtle);background-color:var(--bg-input);
  padding:0 .75rem;font-size:14px;color:var(--text-primary);outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.login-field input::placeholder{color:var(--text-muted)}
.login-field input:focus{
  border-color:var(--accent-orange);
  box-shadow:0 0 0 3px var(--accent-orange-dim);
}
.login-field input.is-invalid{border-color:var(--danger)}
/* 手机号一行：输入框与「获取验证码」按钮等分，总宽与下方验证码输入框一致 */
.login-phone-row{display:flex;align-items:stretch;gap:.5rem}
.login-phone-row input{flex:1 1 0;min-width:0}
.login-code-btn{
  flex:0 0 auto;height:44px;padding:0 .875rem;
  border-radius:.375rem;border:1px solid var(--accent-orange);
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
  font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;
  transition:background-color .2s ease,color .2s ease,opacity .2s ease;
}
.login-code-btn:hover:not(:disabled){background-color:var(--accent-orange);color:#fff}
.login-code-btn:disabled{opacity:.55;cursor:not-allowed}

.login-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.login-remember{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:13px;color:var(--text-secondary);cursor:pointer;
}
.login-remember input{width:15px;height:15px;accent-color:var(--accent-orange);cursor:pointer}
.login-forgot{font-size:13px}
.login-submit{margin-top:.25rem;height:44px;width:100%}
.login-error{
  font-size:13px;line-height:1.6;color:var(--danger);
  /* 提示可能带换行（如「该手机号还没有注册。\n 提交需求…会自动创建账号」），
     textContent 写入的 \n 需要 white-space 才会断行 */
  white-space:pre-line;
}
/* 登录面板里的「我的需求」列表 */
.login-briefs{
  margin-top:1.25rem;border:1px solid var(--border-subtle);border-radius:.5rem;
  background-color:var(--bg-raised);padding:.875rem 1rem;
}
.login-briefs-title{font-size:12px;font-weight:600;color:var(--text-secondary)}
.login-briefs-list{
  margin-top:.625rem;display:flex;flex-direction:column;gap:.5rem;
  max-height:200px;overflow-y:auto;
}
.login-briefs-list li{
  display:flex;align-items:flex-start;gap:.625rem;
  font-size:12px;line-height:1.6;color:var(--text-secondary);
}
.login-brief-no{
  flex-shrink:0;border-radius:999px;
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
  padding:.0625rem .5rem;font-family:'JetBrains Mono Variable',monospace;
  font-size:11px;
}
.login-brief-meta{min-width:0;flex:1}
.login-brief-sub{display:block;margin-top:.125rem;font-size:11px;color:var(--text-muted)}

/* 非报错性质的说明文字（如演示环境提示） */
.login-error.is-note{color:var(--text-secondary)}
.login-foot{
  margin-top:1.25rem;border-top:1px solid var(--border-subtle);
  padding-top:1rem;font-size:13px;color:var(--text-secondary);
}

/* ============================================================
   会员中心（甲方 / 供应链 / 工程师共用壳子）
   ============================================================ */
.mc-wrap{
  max-width:1180px;margin:0 auto;padding:2.25rem 1.25rem 4rem;
  display:grid;grid-template-columns:212px minmax(0,1fr);gap:1.75rem;
  align-items:start;
}
@media(max-width:820px){.mc-wrap{grid-template-columns:1fr;gap:1rem;padding-top:1.25rem}}

.mc-side{
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);padding:1rem .875rem;
  position:sticky;top:calc(64px + 1rem);
}
@media(max-width:820px){.mc-side{position:static}}

.mc-who{display:flex;align-items:center;gap:.625rem;padding:0 .25rem .875rem;border-bottom:1px solid var(--border-subtle)}
.mc-avatar{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
  font-size:15px;font-weight:700;
}
.mc-who-text{min-width:0;display:flex;flex-direction:column;gap:.125rem}
.mc-who-name{font-size:14px;font-weight:700;color:var(--text-primary);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-who-role{font-size:11.5px;color:var(--text-muted)}

.mc-nav{margin-top:.75rem;display:flex;flex-direction:column;gap:.1875rem}
.mc-nav a{
  display:flex;align-items:center;gap:.5rem;height:38px;padding:0 .75rem;
  border-radius:.375rem;font-size:13.5px;font-weight:600;color:var(--text-secondary);
  transition:background-color .18s ease,color .18s ease;
}
.mc-nav a:hover{background-color:var(--bg-raised);color:var(--text-primary)}
.mc-nav a.is-active{
  background-color:var(--accent-orange-dim);color:var(--accent-orange);
}
.mc-nav-icon{width:18px;text-align:center;font-size:14px;line-height:1}
.mc-side-foot{margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--border-subtle)}
.mc-side-foot a{
  display:block;padding:.375rem .75rem;border-radius:.375rem;
  font-size:12.5px;color:var(--text-muted);
}
.mc-side-foot a:hover{background-color:var(--bg-raised);color:var(--accent-orange)}

.mc-main{min-width:0}
.mc-head{margin-bottom:1.25rem}
.mc-title{font-size:1.25rem;font-weight:700;color:var(--text-primary)}
.mc-sub{margin-top:.375rem;font-size:13.5px;line-height:1.7;color:var(--text-secondary)}

.mc-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}
.mc-stat{
  border:1px solid var(--border-subtle);border-radius:.625rem;
  background-color:var(--bg-card);padding:.875rem 1rem;
}
.mc-stat-label{font-size:12px;color:var(--text-muted)}
.mc-stat-val{margin-top:.25rem;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}
.mc-stat-val small{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:.25rem}
/* 有些统计位放的是一句话（如「已收录」「待审核」）而非数字，
   1.5rem 的字号会把卡片撑得很挤，这里降到 1.0625rem 并保留状态色 */
.mc-stat-val.is-text{font-size:1.0625rem;line-height:1.6}
.mc-stat-val.is-text.is-ok{color:#1f7d50}
.mc-stat-val.is-text.is-wait{color:#a35a06}
.mc-stat-val.is-text.is-bad{color:#b91c1c}

.mc-card{
  border:1px solid var(--border-subtle);border-radius:.75rem;
  background-color:var(--bg-card);overflow:hidden;
}
.mc-card + .mc-card{margin-top:1rem}
.mc-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.875rem 1.125rem;border-bottom:1px solid var(--border-subtle);
}
.mc-card-title{font-size:14px;font-weight:700;color:var(--text-primary)}
.mc-card-body{padding:1.125rem}
.mc-card-body.tight{padding:0}

.mc-table{width:100%;border-collapse:collapse;font-size:13px}
.mc-table th{
  padding:.625rem .75rem;text-align:left;font-size:11.5px;font-weight:600;
  color:var(--text-muted);background-color:var(--bg-raised);white-space:nowrap;
}
.mc-table td{
  padding:.75rem;border-top:1px solid var(--border-subtle);
  color:var(--text-secondary);vertical-align:top;
}
.mc-table tr:first-child td{border-top:none}
.mc-table .t-strong{color:var(--text-primary);font-weight:600}
.mc-table .t-mono{font-family:'JetBrains Mono Variable','JetBrains Mono',monospace;font-size:12px}
@media(max-width:700px){
  .mc-table thead{display:none}
  .mc-table td{display:block;border-top:none;padding:.25rem .875rem}
  .mc-table tr{display:block;border-top:1px solid var(--border-subtle);padding:.625rem 0}
  .mc-table td::before{
    content:attr(data-label);display:inline-block;min-width:76px;
    font-size:11.5px;color:var(--text-muted);
  }
}

.mc-badge{
  display:inline-block;padding:.0625rem .4375rem;border-radius:.25rem;
  font-size:11px;font-weight:600;white-space:nowrap;
}
.mc-badge.is-wait{background-color:var(--accent-orange-dim);color:var(--accent-orange)}
.mc-badge.is-run{background-color:var(--accent-cyan-dim);color:var(--accent-cyan)}
.mc-badge.is-ok{background-color:rgba(52,199,123,.14);color:#2fae6a}
.mc-badge.is-mute{background-color:var(--bg-raised);color:var(--text-muted)}
.mc-badge.is-bad{background-color:rgba(229,86,86,.14);color:var(--danger)}

.mc-empty{
  padding:2.5rem 1.25rem;text-align:center;
  font-size:13.5px;line-height:1.9;color:var(--text-muted);
}
.mc-empty a{color:var(--accent-cyan)}
.mc-empty a:hover{color:var(--accent-orange)}

.mc-actions{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.125rem}
.mc-actions .btn-solid,.mc-actions .btn-outline{height:40px}

.mc-list{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.625rem .25rem}
.mc-list-item{display:flex;gap:.5rem;font-size:13.5px;line-height:1.8}
.mc-list-item dt{flex:0 0 84px;color:var(--text-muted)}
.mc-list-item dd{min-width:0;color:var(--text-secondary);word-break:break-all}

/* ---------- 账号资料：详细资料编辑表单 ---------- */
.mc-form-grid{display:grid;gap:1rem}
@media(min-width:768px){.mc-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mc-field{display:flex;flex-direction:column;gap:.375rem}
.mc-field-full{grid-column:1/-1}
.mc-field-label{font-size:13px;font-weight:600;color:var(--text-secondary)}
.mc-req{font-style:normal;color:var(--danger)}
.mc-field-hint{font-size:12px;line-height:1.6;color:var(--text-muted)}
/* 所在地：省 / 市两个下拉并排，与 /supply 的省市联动筛选同一套数据源 */
.mc-loc-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
/* 窄屏下按钮整体换行，避免挤成一行 */
.mc-form .mc-actions{margin-top:1.25rem}
.mc-form-msg{
  margin-top:.75rem;font-size:13px;line-height:1.7;border-radius:.375rem;
  padding:.5rem .75rem;
}
.mc-form-msg[hidden]{display:none!important}
.mc-form-msg.is-ok{background-color:var(--accent-teal-dim);color:var(--accent-teal)}
.mc-form-msg.is-bad{background-color:rgba(239,68,68,.12);color:var(--danger)}


