/* CIMAC 品牌方向 — 本地字体（Fraunces / Instrument Sans / Space Mono） */
@font-face{font-family:"Fraunces";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/fraunces-500-it-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/fraunces-500-it-latin.woff2") format("woff2");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:"Fraunces";font-style:italic;font-weight:700;font-display:swap;src:url("../fonts/fraunces-700-it-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:700;font-display:swap;src:url("../fonts/fraunces-700-it-latin.woff2") format("woff2");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:"Fraunces";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/fraunces-400-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/fraunces-400-r-latin.woff2") format("woff2");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:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/fraunces-600-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/fraunces-600-r-latin.woff2") format("woff2");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:"Fraunces";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/fraunces-900-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/fraunces-900-r-latin.woff2") format("woff2");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:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/instr-400-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/instr-400-r-latin.woff2") format("woff2");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:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/instr-500-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/instr-500-r-latin.woff2") format("woff2");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:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/instr-600-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/instr-600-r-latin.woff2") format("woff2");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:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/instr-700-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/instr-700-r-latin.woff2") format("woff2");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:"Space Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/mono-400-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/mono-400-r-latin.woff2") format("woff2");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:"Space Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/mono-700-r-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/mono-700-r-latin.woff2") format("woff2");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;}

/* ============================================================
   CIMAC 科建建材城 · 官网样式
   以 CIMAC 标志的海军蓝、建筑蓝和橙色为品牌基础，
   展示衬线(Fraunces) + 正文(Instrument Sans) + 等宽(Space Mono) 三字体。
   保留清晰的信息层级与克制的编辑式排版，突出项目事实、商户与行动入口。
   ============================================================ */

:root {
  --paper: #f7f9fc;
  --paper-2: #edf3f8;
  --card: #ffffff;
  --ink: #172044;
  --ink-2: #34425d;
  --muted: #68758b;
  --line: #dce4ed;
  --line-2: #bdcad8;
  --accent: #ed4b1f;
  --accent-ink: #a72e0f;
  --accent-soft: #fff0e9;

  --font-display: "Fraunces", "Noto Serif SC", "Songti SC", "STSong", "SimSun", "宋体", Georgia, serif;
  --font-body: "Instrument Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
  --font-mono: "Space Mono", "SFMono-Regular", ui-monospace, Consolas, "Courier New", monospace;

  --maxw: 1200px;
  --r: 3px;
  --shadow: 0 1px 2px rgba(23, 32, 68, .06), 0 16px 36px -22px rgba(23, 32, 68, .3);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  font-size: 16.5px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--accent); }
h1, h2, h3, h4 { margin: 0; color: var(--ink); font-family: var(--font-display); line-height: 1.16; letter-spacing: -.01em; font-weight: 700; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
strong { font-weight: 700; }
::selection { background: rgba(237, 75, 31, .18); }

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }

/* ============================================================
   导航：编辑刊头式（左侧品牌字标 + 右缘对齐链接，无胶囊CTA）
   ============================================================ */
.site-header { position: sticky; top: 0; z-index: 60; background: var(--paper); border-bottom: 1px solid var(--line); }
.site-header::before { content: ""; display: block; height: 3px; background: var(--accent); }
.header-inner { display: flex; align-items: center; gap: 30px; height: 66px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand img { height: 34px; width: auto; }
.brand-name { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name b { font-family: var(--font-display); font-size: 18px; font-weight: 900; letter-spacing: .01em; }
.brand-name span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.main-nav a {
  font-size: 14.5px; font-weight: 600; color: var(--ink-2);
  padding: 8px 12px; position: relative; letter-spacing: .01em;
}
.main-nav a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .22s cubic-bezier(.16,1,.3,1); }
.main-nav a:hover { color: var(--ink); }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav a.active { color: var(--ink); }
.lang-switch { display: inline-flex; border: 1px solid var(--line-2); border-radius: 999px; overflow: hidden; margin-left: 10px; flex: none; }
.lang-switch a { font-family: var(--font-mono); font-size: 12px; font-weight: 700; padding: 5px 12px; color: var(--muted); background: var(--card); }
.lang-switch a.on { background: var(--ink); color: var(--paper); }
.cta-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--accent); color: #fff; font-family: var(--font-mono); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; font-size: 13px;
  border-radius: var(--r); padding: 10px 18px; border: 0; cursor: pointer; line-height: 1.2; white-space: nowrap;
}
.cta-pill:hover { transform: none; background: var(--accent-ink); color: #fff; }
.nav-toggle { display: none; margin-left: auto; background: none; border: 1px solid var(--line-2); border-radius: 3px; padding: 8px 10px; cursor: pointer; color: var(--ink); }
.nav-cta-mobile { display: none; }
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ink); color: var(--paper); font-family: var(--font-mono); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; font-size: 13.5px;
  border-radius: var(--r); padding: 13px 22px; border: 0; cursor: pointer; line-height: 1.2; transition: background .18s cubic-bezier(.16,1,.3,1);
}
.btn-primary:hover { background: var(--accent); color: #fff; }
.btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: transparent; color: var(--ink); font-weight: 600; font-size: 14.5px;
  border: 0; border-bottom: 1px solid var(--line-2); border-radius: 0; padding: 6px 2px; cursor: pointer; line-height: 1.2;
}
.btn-ghost:hover { color: var(--accent); border-color: var(--accent); }
.btn-white {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--paper); color: var(--ink); font-family: var(--font-mono); font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; font-size: 13px;
  border: 1px solid var(--ink); border-radius: var(--r); padding: 11px 18px; cursor: pointer; line-height: 1.2;
}
.btn-white:hover { background: var(--ink); color: var(--paper); }
.btn-line {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: transparent; color: var(--paper); font-family: var(--font-mono); font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; font-size: 13px;
  border: 1px solid rgba(245, 240, 231, .45); border-radius: var(--r); padding: 11px 18px; cursor: pointer;
}
.btn-line:hover { border-color: var(--paper); background: rgba(245,240,231,.12); color: var(--paper); }

/* ============================================================
   Hero：无渐变 · 纸面 · 大幅展示字 · 左对齐 · 真实图错位
   ============================================================ */
.hero { background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); }
.hero-grid { display: none; }
.hero-main { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; padding: 84px 0 92px; }
.hero-eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); display: inline-flex; align-items: center; gap: 10px; }
.hero-eyebrow::before { content: ""; width: 30px; height: 1px; background: var(--accent); }
.hero h1 { font-size: clamp(38px, 5vw, 64px); font-weight: 900; color: var(--ink); letter-spacing: -.02em; }
.hero h1 .accent { font-family: var(--font-display); font-style: italic; font-weight: 600; color: var(--accent); }
.hero-sub { color: var(--ink-2); font-size: 18px; max-width: 620px; margin-top: 18px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 24px; color: var(--ink-2); font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em; }
.hero-points li { display: inline-flex; align-items: center; gap: 8px; }
.hero-points li svg { flex: none; color: var(--accent); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 34px; align-items: center; }
.hero-note { margin-top: 18px; font-family: var(--font-mono); font-size: 12.5px; color: var(--muted); }
.hero-divider { display: flex; align-items: center; gap: 14px; margin-top: 12px; color: var(--muted); font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; }
.hero-divider::before, .hero-divider::after { content: "—"; color: var(--accent); }
.hero-visual { position: relative; }
.hero-card { background: var(--card); border: 1px solid var(--line-2); border-radius: 2px; overflow: hidden; box-shadow: var(--shadow); transform: rotate(-1.4deg) translateY(8px); }
.hero-card::before { content: none; }
.hero-card img { width: 100%; }
.hero-card figcaption { padding: 12px 16px; font-size: 13px; color: var(--muted); display: flex; justify-content: space-between; gap: 8px; align-items: center; border-top: 1px solid var(--line); }
.hero-card figcaption b { color: var(--ink); font-family: var(--font-display); font-weight: 700; }
.hero-note .promo { color: var(--accent); font-weight: 700; font-family: var(--font-body); font-size: 13px; letter-spacing: 0; }

/* stats 数据带：编辑式，大衬线数字 + 等宽标签，竖线分隔 */
.stats { border-top: 1px solid var(--line); }
.stats-inner { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; padding: 30px 0; }
.stat { min-width: 0; text-align: left; padding: 6px 22px; border-left: 1px solid var(--line); }
.stat:first-child { border-left: 0; padding-left: 0; }
.stat b { display: block; white-space: nowrap; font-family: var(--font-display); font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum","tnum"; font-size: clamp(38px, 4.5vw, 60px); font-weight: 900; color: var(--ink); letter-spacing: -.02em; line-height: 1; }
.stat b em, .stat b .unit { display: inline; font-family: var(--font-mono); font-size: 15px; font-weight: 600; color: var(--muted); margin-left: 8px; letter-spacing: 0; }
.stat > span { display: block; margin-top: 8px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); overflow-wrap: anywhere; }

/* ============================================================
   区块 / 版面（左对齐 · 疏密交替）
   ============================================================ */
.section { padding: 96px 0; }
.section.tint { background: var(--paper-2); }
.section.white { background: var(--paper); }
.section-head { max-width: 760px; margin: 0 0 52px; text-align: left; }
.section-head.left { margin-left: 0; }
.eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 30px; height: 1px; background: var(--accent); }
.section-head h2 { font-size: clamp(28px, 3.2vw, 44px); margin-top: 14px; max-width: 22ch; }
.section-head p { color: var(--ink-2); margin-top: 14px; font-size: 16.5px; max-width: 60ch; }

/* 卡片：无图标块 · 细线 + 衬线标题 · 排版优先 */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.grid-3 > *, .grid-2 > *, .grid-4 > * { border-top: 0; border-left: 1px solid var(--line); padding: 34px 28px; }
.grid-3 > *:first-child, .grid-2 > *:first-child, .grid-4 > *:first-child { border-left: 0; }
.card { background: transparent; padding: 34px 28px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.card .ico, .card .sector-ico, .card .num.tileidx { display: none; }
.card h3 { margin-top: 0; font-size: 22px; font-weight: 800; }
.card p { margin-top: 10px; color: var(--ink-2); font-size: 15.5px; }
.card .tag { display: inline-block; margin-top: 18px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; color: var(--accent-ink); border: 1px solid var(--line-2); border-radius: 999px; padding: 4px 12px; }
.sector-cards .sector-ico { display: none; }

/* 优势（排版先行）：大序号 + 衬线标题 + 正文，细线隔行 */
.feature { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 34px 28px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.feature .num { font-family: var(--font-mono); font-weight: 700; font-size: 30px; color: var(--accent); line-height: 1; }
.feature h3 { font-size: 21px; font-weight: 800; }
.feature p { color: var(--ink-2); font-size: 15.5px; margin-top: 8px; }
.feature .hl { color: var(--accent); font-weight: 700; }

/* chip / 标签组 */
.chip-row { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .02em; color: var(--ink-2); border: 1px solid var(--line-2); background: transparent; border-radius: 999px; padding: 7px 16px; }
.chip.gold { color: var(--accent-ink); border-color: var(--accent); background: var(--accent-soft); }
.chip-row.chip-light .chip, .chip-row .chip { }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.tags li { font-family: var(--font-mono); font-size: 12px; color: var(--ink-2); border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; }

/* 深色区块（实色，无渐变） */
.band { position: relative; overflow: hidden; border-radius: 2px; padding: 56px 48px; color: var(--paper); background: var(--ink); border: 1px solid var(--ink); }
.band::before { content: none; }
.band h2 { color: var(--paper); font-size: clamp(26px, 3vw, 40px); }
.band p { color: #dbe6f2; margin-top: 12px; }
.band .eyebrow { color: #ffb59f; }
.band ul.checks { margin-top: 22px; display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.band ul.checks li { display: flex; gap: 10px; color: #edf4fb; font-weight: 600; font-size: 15px; }
.band ul.checks svg { flex: none; margin-top: 4px; color: var(--accent); }
.band .split-band { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; flex-wrap: wrap; }
.band-price { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 0; }
.price-tile { border-left: 1px solid rgba(245,240,231,.2); padding: 10px 26px; }
.price-tile:first-child { padding-left: 0; border-left: 0; }
.price-tile b { display: block; font-family: var(--font-display); font-size: 26px; color: #ffb59f; font-weight: 900; }
.price-tile span { font-family: var(--font-mono); font-size: 12px; color: #dbe6f2; }

/* 时间线（编辑式：等宽时间 + 衬线标题 + 细线） */
.timeline { position: relative; margin-top: 20px; }
.timeline::before { content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px; width: 1px; background: var(--line-2); }
.tl-item { position: relative; padding: 0 0 34px 34px; }
.tl-item::before { content: ""; position: absolute; left: 8px; top: 8px; width: 11px; height: 11px; border-radius: 50%; background: var(--accent); transform: translateX(-50%); }
.tl-item time { font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.tl-item h4 { margin-top: 6px; font-size: 19px; }
.tl-item p { color: var(--ink-2); font-size: 14.5px; margin-top: 4px; }

/* 数字瓦片 */
.num-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-bottom: 64px; }
.num-tile { padding: 34px 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.num-tile b { display: block; font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 46px); font-weight: 900; color: var(--ink); letter-spacing: -.02em; }
.num-tile > span { font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-top: 6px; display: block; }

/* 左右分栏（非对称：左窄右宽/左文右图错位） */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split-media { position: relative; padding: 20px 0 20px 24px; }
.split-media img { border: 1px solid var(--line-2); border-radius: 2px; box-shadow: var(--shadow); }
.split-media::after { content: none; }
.split-body { padding-right: 24px; }
.split-body h2 { font-size: clamp(26px, 3vw, 40px); }
.split-body .lead { margin-top: 18px; font-size: 18px; color: var(--ink); }
.split-body p.body { margin-top: 14px; color: var(--ink-2); font-size: 16px; }
.split-body ul.checks { margin-top: 20px; display: grid; gap: 12px; }
.split-body ul.checks li { display: flex; gap: 12px; color: var(--ink-2); font-weight: 600; font-size: 15.5px; }
.split-body ul.checks svg { flex: none; margin-top: 4px; color: var(--accent); }
.split .btn-primary { margin-top: 28px; }

/* 表单 */
form .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-full, .dir-inquiry label, form label { display: grid; gap: 6px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .03em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 12px; }
.dir-inquiry input, .dir-inquiry select, .dir-inquiry textarea, form input, form select, form textarea {
  font-family: var(--font-body); font-size: 15px; border: 1px solid var(--line-2); border-radius: 2px; padding: 10px 12px; color: var(--ink); background: var(--card); outline: none; width: 100%; box-sizing: border-box;
}
.dir-inquiry input:focus, .dir-inquiry select:focus, .dir-inquiry textarea:focus, form input:focus, form select:focus, form textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(237,75,31,.12); }
.inq-text { white-space: pre-wrap; background: var(--card); border: 1px dashed var(--line-2); border-radius: 2px; padding: 12px; font-size: 13.5px; font-family: var(--font-mono); color: var(--ink-2); }

/* ============================================================
   子页 Hero / 面包屑（纸面 · 左对齐）
   ============================================================ */
.page-hero { background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); }
.page-hero::after { content: none; }
.page-hero .container { padding-top: 66px; padding-bottom: 66px; }
.crumbs { font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.crumbs a { color: var(--muted); border-bottom: 1px solid transparent; }
.crumbs a:hover { color: var(--accent); border-color: var(--accent); }
.page-hero h1 { font-size: clamp(32px, 4vw, 52px); font-weight: 900; }
.page-hero p { color: var(--ink-2); margin-top: 14px; max-width: 720px; font-size: 17px; }

/* ============================================================
   楼栋分布图
   ============================================================ */
.plan-wrap { background: var(--card); border: 1px solid var(--line-2); border-radius: 2px; padding: 30px; }
.plan-legend { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 18px; font-family: var(--font-mono); font-size: 12px; color: var(--muted); align-items: center; }
.plan-legend .dot { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-right: 6px; vertical-align: -1px; }
.plan-note { margin-top: 12px; font-size: 12.5px; color: var(--muted); }

/* ============================================================
   表格
   ============================================================ */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll .price-table { min-width: 760px; }
.price-table { width: 100%; border-collapse: collapse; background: transparent; border: 1px solid var(--line-2); border-radius: 2px; }
.price-table th, .price-table td { padding: 14px 18px; text-align: left; font-size: 14.5px; border-bottom: 1px solid var(--line); }
.price-table thead th { font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); background: var(--paper-2); }
.price-table tbody tr:last-child td { border-bottom: 0; }
.price-table tbody tr:hover { background: var(--card); }
.price-table td b { color: var(--ink); font-family: var(--font-mono); }
.price-table .rmb { color: var(--accent); font-weight: 700; }
.price-table .cny { color: var(--muted); font-size: 12.5px; }
.price-note { font-size: 12.5px; color: var(--muted); margin-top: 12px; }

/* 入驻流程：等宽序号 + 细线 */
.steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.step { padding: 24px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.step .no { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line-2); color: var(--accent); font-family: var(--font-mono); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.step h4 { margin-top: 14px; font-size: 15.5px; }
.step p { color: var(--ink-2); font-size: 13px; margin-top: 6px; line-height: 1.6; }

/* ============================================================
   联系 / 名录 / 画廊
   ============================================================ */
.contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-card { padding: 32px 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; }
.contact-card .ico { width: 46px; height: 46px; border: 1px solid var(--line-2); color: var(--ink); display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.contact-card h3 { margin-top: 16px; font-size: 17px; }
.contact-card p { color: var(--muted); font-size: 14px; margin-top: 6px; }
.contact-card a.big { display: block; margin-top: 8px; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink); word-break: break-all; }
.contact-card a.big:hover { color: var(--accent); }
.info-list { display: grid; gap: 2px; }
.info-list li { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px dashed var(--line); font-size: 15.5px; }
.info-list dt { color: var(--muted); flex: none; width: 86px; font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.info-list dd { margin: 0; color: var(--ink-2); font-weight: 500; }
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gallery figure { background: var(--card); border: 1px solid var(--line-2); border-radius: 2px; overflow: hidden; }
.gallery img { width: 100%; }
.gallery figcaption { padding: 10px 12px; font-family: var(--font-mono); font-size: 12px; color: var(--muted); text-align: left; }

/* 首页“逛市场”入口条（编辑页眉式细条） */
.market-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.market-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 22px; }
.market-strip h2 { font-size: 18px; display: inline-flex; align-items: center; gap: 10px; }
.market-strip p { color: var(--muted); font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .02em; margin-top: 3px; }
.market-strip .strip-cta { flex: none; }

/* ============================================================
   页脚（实色深底 · 大幅衬线）
   ============================================================ */
.site-footer { background: var(--ink); color: #c9d5e3; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding: 64px 0 44px; }
.footer-brand .brand img { filter: invert(1) brightness(1.6); }
.footer-brand p { margin-top: 16px; font-size: 14px; color: #aebdd0; max-width: 320px; }
.site-footer h4 { color: var(--paper); font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.site-footer ul li { margin-bottom: 10px; }
.site-footer ul a { color: #aebdd0; font-size: 14px; }
.site-footer ul a:hover { color: var(--paper); border-bottom: 1px solid var(--accent); }
.footer-contact li { display: flex; gap: 10px; color: #aebdd0; font-size: 14px; margin-bottom: 12px; align-items: flex-start; }
.footer-contact svg { flex: none; margin-top: 4px; color: var(--accent); }
.footer-bottom { border-top: 1px solid rgba(247,249,252,.14); padding: 20px 0; font-family: var(--font-mono); font-size: 12.5px; color: #8393aa; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fs-sign { display: inline-flex; align-items: center; gap: 12px; color: #b7c5d7; font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; }
.fs-sign::before, .fs-sign::after { content: "❦"; color: var(--accent); }

/* ============================================================
   名录（编辑式卡片：细线 + 衬线名 + 等宽房号）
   ============================================================ */
.dir-summary-line { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; color: var(--muted); font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .02em; margin-bottom: 18px; }
.dir-tabs { display: inline-flex; gap: 4px; background: var(--card); border: 1px solid var(--line-2); border-radius: 3px; padding: 5px; flex-wrap: wrap; }
.dir-tab { border: 0; background: transparent; cursor: pointer; font-family: var(--font-mono); font-weight: 700; font-size: 13px; color: var(--muted); padding: 9px 18px; border-radius: 2px; display: inline-flex; align-items: center; gap: 8px; letter-spacing: .02em; }
.dir-tab em { font-style: normal; background: transparent; color: var(--accent); font-size: 12px; }
.dir-tab.on { background: var(--ink); color: var(--paper); }
.dir-tab.on em { color: #ffb59f; }
.dir-tools { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 20px 0 8px; }
.dir-search { position: relative; flex: 1 1 280px; min-width: 220px; }
.dir-search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.dir-search input { width: 100%; padding: 12px 14px 12px 40px; border: 1px solid var(--line-2); border-radius: 2px; font-size: 15px; font-family: var(--font-body); background: var(--card); color: var(--ink); outline: none; }
.dir-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(237,75,31,.12); }
.dir-tools select { padding: 11px 14px; border: 1px solid var(--line-2); border-radius: 2px; font-size: 14px; font-family: var(--font-body); background: var(--card); color: var(--ink); cursor: pointer; }
.dir-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
.dir-catbtn { border: 1px solid var(--line-2); background: transparent; color: var(--ink-2); font-family: var(--font-mono); font-size: 12.5px; border-radius: 999px; padding: 6px 13px; cursor: pointer; letter-spacing: .02em; }
.dir-catbtn:hover { border-color: var(--accent); color: var(--accent); }
.dir-catbtn.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.dir-count { color: var(--muted); font-family: var(--font-mono); font-size: 12.5px; margin: 8px 0 20px; }
.dir-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dir-card { background: transparent; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 26px 24px; display: flex; flex-direction: column; gap: 10px; }
.dir-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.dir-card-top h3 { font-family: var(--font-display); font-size: 21px; line-height: 1.25; font-weight: 800; }
.dir-prime { color: var(--accent); font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.dir-card-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dir-badge { font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-ink); border: 1px solid var(--accent); background: var(--accent-soft); padding: 4px 11px; border-radius: 999px; }
.dir-badge.vac { color: var(--ink-2); border-color: var(--line-2); background: var(--card); }
.dir-cat { font-family: var(--font-mono); font-size: 12px; color: var(--ink-2); border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px; }
.dir-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dir-tag { font-family: var(--font-mono); font-size: 12px; color: var(--muted); border: 1px solid var(--line); padding: 3px 9px; border-radius: 999px; }
.dir-units { display: flex; flex-wrap: wrap; gap: 6px; }
.dir-unit { font-family: var(--font-mono); font-size: 12px; color: var(--ink-2); border: 1px solid var(--line); padding: 3px 9px; border-radius: 2px; }
.dir-more { color: var(--muted); background: transparent; }
.dir-open { margin-top: auto; align-self: flex-start; background: transparent; color: var(--ink); font-weight: 600; font-size: 14.5px; padding: 0 0 4px; border: 0; border-bottom: 1px solid var(--line-2); cursor: pointer; font-family: var(--font-body); }
.dir-open:hover { color: var(--accent); border-color: var(--accent); }
.dir-open.ghost { color: var(--accent-ink); border-color: var(--accent); background: transparent; }
.dir-open.ghost:hover { background: var(--accent-soft); }
.dir-vacancy { background: repeating-linear-gradient(-45deg, var(--paper), var(--paper) 12px, var(--paper-2) 12px, var(--paper-2) 24px); border-right: 1px dashed var(--line-2); border-bottom: 1px dashed var(--line-2); }
.dir-meta { color: var(--muted); font-family: var(--font-mono); font-size: 13px; }
.dir-ploc { font-family: var(--font-mono); font-size: 12px; letter-spacing: .02em; color: var(--muted); margin: 2px 0 6px; }
.dir-hint { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .02em; color: var(--muted); margin: 10px 0 4px; }
/* 空缺铺位：按楼栋分组 + 铺位号小胶囊 */
.dir-group { grid-column: 1 / -1; border-top: 1px solid var(--line); padding: 26px 2px 10px; }
.dir-group:first-child { border-top: 0; padding-top: 10px; }
.dir-group-head { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: baseline; margin-bottom: 16px; }
.dir-group-head h3 { margin: 0; font-family: var(--font-display); font-size: 23px; font-weight: 800; }
.dir-group-head .dir-pos { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .02em; color: var(--ink-2); }
.dir-group-head .dir-sub { font-family: var(--font-mono); font-size: 12.5px; color: var(--accent); }
.dir-group-head .dir-meta { margin-left: auto; font-family: var(--font-mono); font-size: 12px; color: var(--muted); text-align: right; }
.dir-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dir-chip { min-width: 62px; text-align: center; padding: 8px 12px; border: 1px solid var(--line-2); background: var(--card); border-radius: 2px; font-family: var(--font-mono); font-size: 13.5px; font-weight: 700; color: var(--ink); cursor: pointer; transition: border-color .15s cubic-bezier(.16,1,.3,1), color .15s cubic-bezier(.16,1,.3,1); }
.dir-chip:hover { border-color: var(--accent); color: var(--accent); }
.dir-chip.prime { border-color: var(--accent); color: var(--accent-ink); background: var(--accent-soft); }
.dir-empty { grid-column: 1 / -1; text-align: center; color: var(--muted); padding: 60px 20px; border: 1px dashed var(--line-2); border-radius: 2px; }
#dirMore { display: block; text-align: center; margin-top: 30px; }

/* 弹层（编辑式：细框 · 左对齐） */
.dir-overlay { position: fixed; inset: 0; background: rgba(17, 25, 55, .68); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; overflow-y: auto; }
.dir-modal { position: relative; background: var(--paper); border: 1px solid var(--ink); border-radius: 2px; max-width: 780px; width: 100%; padding: 30px 30px 24px; box-shadow: 0 30px 70px rgba(29,22,16,.4); max-height: 90vh; overflow-y: auto; }
.dir-x { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 2px; border: 1px solid var(--line-2); background: transparent; color: var(--ink); font-size: 15px; cursor: pointer; z-index: 2; }
.dir-x:hover { background: var(--card); color: var(--accent); }
.dir-modal-title { font-size: 30px; padding-right: 40px; }
.dir-modal-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.dir-modal-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 26px; margin-top: 18px; }
.dir-modal h4 { font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.dir-plist { list-style: none; padding: 0; display: grid; gap: 8px; }
.dir-plist li { font-family: var(--font-mono); font-size: 13px; color: var(--ink-2); border-bottom: 1px solid var(--line); padding: 7px 0 7px 4px; }
.dir-plist li + li { border-top: 0; }
.dir-contact { display: grid; gap: 10px; align-content: start; }
.dir-act { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line-2); background: transparent; color: var(--ink); font-weight: 600; font-size: 14px; padding: 10px 14px; border-radius: 2px; cursor: pointer; font-family: var(--font-body); transition: all .15s ease; text-align: left; }
.dir-act:hover { border-color: var(--accent); color: var(--accent); }
.dir-no-contact { font-size: 13px; color: var(--muted); }
.dir-note { font-size: 12.5px; color: var(--muted); border-left: 2px solid var(--accent); padding: 8px 14px; margin-top: 16px; line-height: 1.7; }
.dir-inquiry { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 20px; }
.dir-inquiry h4 { font-size: 18px; font-family: var(--font-display); color: var(--ink); }
.dir-step { font-size: 13px; color: var(--muted); margin: 6px 0 12px; }
.inq-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 12px; }
.dir-modal-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.dir-modal-foot { margin-top: 16px; text-align: right; }

/* 底部深色 CTA 区块 */
.cta-final { text-align: left !important; }
.cta-final .band { display: block; }
.cta-final .eyebrow { justify-content: flex-start; }
.cta-actions { display: flex; gap: 14px; margin-top: 26px; flex-wrap: wrap; }

/* 首字下沉 / 花饰 / 减弱动效 */
.notice { border: 1px solid var(--line-2); border-left: 3px solid var(--accent); background: var(--card); color: var(--ink-2); font-size: 14px; border-radius: 2px; padding: 16px 20px; }
.gold-rule { border-top: 1px solid var(--line-2); }

/* 动效：指数缓出 */
.card, .dir-card, .cta-pill, .btn-primary, .btn-white, .btn-line, .btn-ghost, .card > * { transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s cubic-bezier(0.16, 1, 0.3, 1), transform .55s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.in { opacity: 1; transform: none; }

/* ============================================================
   线上选品框架
   ============================================================ */
.catalog-head { padding: 52px 0 42px; background: var(--ink); color: #fff; border-bottom: 4px solid var(--accent); }
.catalog-head-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.catalog-head .eyebrow { color: #8fdcff; margin-bottom: 10px; }
.catalog-head h1 { font-family: var(--font-display); font-size: clamp(34px, 5vw, 58px); line-height: 1.05; max-width: 850px; color: #fff; }
.catalog-head p:not(.eyebrow) { max-width: 780px; margin-top: 14px; color: #d6e0eb; font-size: 16px; }
.framework-badge { flex: none; border: 1px solid rgba(255,255,255,.32); color: #fff; padding: 9px 14px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; }
.catalog-section { padding: 48px 0 76px; background: var(--paper); }
.catalog-shell { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 32px; align-items: start; }
.catalog-main { min-width: 0; }
.catalog-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin-bottom: 20px; }
.catalog-toolbar label { grid-column: 1 / -1; font-weight: 700; font-size: 14px; }
.catalog-toolbar input { width: 100%; min-height: 48px; border: 1px solid var(--line-2); background: #fff; color: var(--ink); padding: 0 15px; font: inherit; }
.catalog-toolbar input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.catalog-toolbar span { align-self: center; color: var(--muted); font-family: var(--font-mono); font-size: 12px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.catalog-card { min-width: 0; min-height: 205px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; background: #fff; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.catalog-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line-2); color: var(--accent); font: 700 22px/1 var(--font-mono); }
.catalog-card h3 { font-size: 19px; line-height: 1.25; }
.catalog-card p { margin-top: 5px; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.catalog-add { margin-top: auto; border: 0; border-bottom: 1px solid var(--line-2); background: transparent; color: var(--ink); padding: 6px 0; cursor: pointer; font: 600 14px/1.2 var(--font-body); }
.catalog-add:hover { color: var(--accent); border-color: var(--accent); }
.catalog-add.is-added { color: var(--accent); }
.catalog-placeholder { margin-top: 28px; padding: 28px; border: 1px dashed var(--line-2); background: var(--paper-2); display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; }
.marketplace-merchandising { padding: 42px 0 18px; background: var(--paper-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.marketplace-merchandising .marketplace-section-heading { margin-bottom: 24px; }
.marketplace-promo-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 14px; }
.marketplace-promo { min-height: 190px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px; background: var(--paper); border: 1px solid var(--line-2); box-shadow: var(--shadow); }
.marketplace-promo-featured { color: #fff; background: var(--ink); border-color: var(--ink); }
.marketplace-promo h3 { font-size: 22px; line-height: 1.2; }
.marketplace-promo p { max-width: 44ch; color: var(--muted); font-size: 14px; line-height: 1.7; }
.marketplace-promo-featured p { color: #d6e0eb; }
.marketplace-promo .text-link { margin-top: auto; }
.promo-label { color: var(--accent); font: 700 11px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.marketplace-promo-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
@media(max-width:900px){.marketplace-promo-grid{grid-template-columns:1fr 1fr}.marketplace-promo-featured{grid-column:1/-1}}
@media(max-width:520px){.marketplace-promo-grid{grid-template-columns:1fr}.marketplace-promo-featured{grid-column:auto}.marketplace-promo{min-height:0;padding:20px}}
.catalog-placeholder span { color: var(--accent); font: 700 11px/1 var(--font-mono); letter-spacing: .1em; }
.catalog-placeholder h2 { margin-top: 7px; font-size: 24px; }
.catalog-placeholder p { color: var(--muted); font-size: 14px; align-self: center; }
.catalog-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.product-card{display:grid;grid-template-columns:120px 1fr;min-height:150px;border:1px solid var(--line);background:#fff}.product-card-media{display:grid;place-items:center;background:var(--paper-2);color:var(--accent);font:700 12px/1 var(--font-mono);overflow:hidden}.product-card-media img{width:100%;height:100%;object-fit:cover}.product-card-body{padding:18px}.product-card-body h3{font-size:19px}.product-card-body p{margin:6px 0;color:var(--muted);font-size:14px}.product-price{display:block;color:var(--ink);font-weight:750;margin-top:10px}.product-merchant{font-size:12px!important}.catalog-products:empty{display:none}.product-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.product-actions button,.product-actions a{border:1px solid var(--accent);background:#fff;color:var(--accent);padding:8px 10px;font:700 12px/1 var(--font-sans);text-decoration:none;cursor:pointer}.product-actions a{background:var(--accent);color:#fff}
.rfq-panel { position: sticky; top: 88px; background: #fff; border: 1px solid var(--ink); padding: 24px; box-shadow: 12px 12px 0 var(--paper-2); }
.rfq-title { display: flex; justify-content: space-between; align-items: center; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.rfq-title span { color: var(--accent); font: 700 11px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.rfq-title h2 { font-size: 27px; margin-top: 4px; }
.rfq-title b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--accent); color: #fff; font-family: var(--font-mono); }
.rfq-empty { color: var(--muted); font-size: 14px; padding: 24px 0; }
.rfq-item { padding: 15px 0; border-bottom: 1px solid var(--line); }
.rfq-item-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.rfq-item-head strong { font-size: 14px; }
.rfq-item-head button { border: 0; background: transparent; color: var(--muted); cursor: pointer; font: 13px var(--font-body); }
.rfq-item-head button:hover { color: var(--accent); }
.rfq-item input, .rfq-fields input, .rfq-fields textarea, .rfq-output textarea { width: 100%; border: 1px solid var(--line-2); background: var(--paper); color: var(--ink); padding: 10px 11px; font: 14px/1.5 var(--font-body); resize: vertical; }
.rfq-item input:focus, .rfq-fields input:focus, .rfq-fields textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.rfq-fields { display: grid; gap: 12px; margin-top: 18px; }
.rfq-fields label { display: grid; gap: 6px; color: var(--ink-2); font-size: 13px; font-weight: 600; }
.rfq-submit { width: 100%; margin-top: 16px; }
.rfq-note { color: var(--muted); font-size: 12px; line-height: 1.55; margin-top: 9px; }
.rfq-output { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.rfq-output p { color: var(--ink-2); font-size: 13px; margin-bottom: 9px; }
.rfq-output .btn-ghost { width: 100%; margin-top: 8px; }
.rfq-output .rfq-whatsapp { display: block; width: 100%; margin-top: 8px; text-align: center; }
.rfq-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rfq-contacts { display: grid; gap: 8px; border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.rfq-contacts a { color: var(--ink); font-size: 13px; font-weight: 600; }
.rfq-contacts a:hover { color: var(--accent); }

/* ---------- Internal inquiry operations framework ---------- */
.ops-page { background: var(--paper); }
.ops-header { background: var(--ink); color: #fff; padding: 17px 0; }
.ops-header .brand { display: inline-flex; background: #fff; padding: 7px 10px; }
.ops-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ops-header-inner > div { display: grid; text-align: right; gap: 3px; }
.ops-header-inner span { color: #aebdd0; font-size: 12px; }
.ops-header-inner span a { color: #d7e0eb; text-decoration: none; }
.ops-intro { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.ops-intro h1 { font-size: clamp(36px, 5vw, 64px); margin: 6px 0 12px; }
.ops-intro > div:first-child > p:last-child { color: var(--muted); max-width: 720px; }
.ops-connection { min-width: 260px; padding: 18px; border: 1px solid #e2a72d; background: #fff8e6; display: grid; gap: 5px; }
.ops-connection b { color: #8a5a00; }
.ops-connection span { color: var(--muted); font-size: 12px; }
.ops-connection.is-configured { border-color: #4f9d69; background: #edf8f0; }
.ops-connection.is-configured b { color: #23683a; }
.ops-auth { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(460px, 1.3fr); gap: 26px; align-items: end; margin-top: 34px; padding: 24px; background: #fff; border: 1px solid var(--line); }
.ops-auth[hidden], .ops-session[hidden] { display: none; }
.ops-auth p { color: var(--muted); font-size: 13px; margin-top: 6px; }
.ops-auth form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.ops-auth label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.ops-auth input { min-width: 0; }
.ops-feedback { grid-column: 1 / -1; margin: 0 !important; color: #23683a !important; }
.ops-feedback.is-error { color: #a52b20 !important; }
.ops-session { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-top: 24px; padding: 13px 16px; background: #edf8f0; border: 1px solid #a9d4b7; font-size: 13px; }
.ops-session button, .ops-toolbar button, .ops-toolbar select { border: 1px solid var(--line-2); background: #fff; padding: 8px 13px; color: var(--ink); font: 13px var(--font-body); }
.ops-session button { margin-left: 8px; cursor: pointer; }
.ops-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 34px 0; border: 1px solid var(--line); background: #fff; }
.ops-metrics article { padding: 22px; border-right: 1px solid var(--line); display: grid; gap: 9px; }
.ops-metrics article:last-child { border-right: 0; }
.ops-metrics span { color: var(--muted); font-size: 13px; }
.ops-metrics strong { font: 800 32px var(--font-display); }
.ops-board, .ops-flow { background: #fff; border: 1px solid var(--line); padding: 24px; margin-top: 22px; }
.ops-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.ops-toolbar button { margin-left: 8px; cursor: pointer; }
.ops-toolbar button:disabled, .ops-toolbar select:disabled { cursor: not-allowed; color: var(--muted); background: var(--paper); }
.ops-table-wrap { overflow-x: auto; }
.ops-table { width: 100%; border-collapse: collapse; min-width: 850px; }
.ops-table th { text-align: left; color: var(--muted); font-size: 12px; border-bottom: 1px solid var(--line-2); padding: 12px 10px; }
.ops-table td { padding: 14px 10px; border-bottom: 1px solid var(--line); font-size: 13px; vertical-align: top; }
.ops-table td small { display: block; color: var(--muted); line-height: 1.5; margin-top: 4px; }
.ops-status { border: 1px solid var(--line-2); background: var(--paper); padding: 7px; font: 12px var(--font-body); }
.ops-empty { text-align: center; padding: 58px 20px !important; }
.ops-empty strong, .ops-empty span { display: block; }
.ops-empty span { color: var(--muted); font-size: 13px; margin-top: 8px; }
.ops-flow ol { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin-top: 20px; counter-reset: ops; }
.ops-flow li { counter-increment: ops; padding: 18px; border-left: 2px solid var(--line); display: grid; gap: 6px; }
.ops-flow li::before { content: "0" counter(ops); color: var(--accent); font: 700 12px var(--font-mono); }
.ops-flow li span { color: var(--muted); font-size: 12px; line-height: 1.5; }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1080px) {
  .grid-4, .num-tiles { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .stats-inner { grid-template-columns: repeat(3, 1fr); row-gap: 18px; }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .contact-cards { grid-template-columns: 1fr; max-width: 640px; }
  .hero-main { grid-template-columns: 1fr; gap: 44px; padding: 68px 0 76px; }
  .hero-visual { max-width: 560px; }
  .split { grid-template-columns: 1fr; gap: 28px; }
  .split-body { padding-right: 0; }
  .split-media { padding: 0 0 20px; }
  .gallery { grid-template-columns: repeat(2, 1fr); }
  .dir-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-shell { grid-template-columns: 1fr; }
  .rfq-panel { position: static; max-width: none; }
}
@media (max-width: 860px) {
  .main-nav { position: fixed; inset: 66px 0 auto 0; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; padding: 14px 18px 20px; gap: 4px; box-shadow: 0 20px 40px rgba(23,32,68,.14); display: none; }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 13px 14px; font-size: 16px; }
  .main-nav a::after { display: none; }
  .main-nav .lang-switch { margin: 12px 0 0; align-self: flex-start; }
  .main-nav .nav-cta-mobile { display: inline-flex; margin-top: 8px; }
  .nav-toggle { display: inline-flex; }
  .header-cta-desktop { display: none; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .grid-3 > *, .grid-2 > * { border-left: 0; }
  .band { padding: 44px 26px; }
  .band ul.checks { grid-template-columns: 1fr; }
  .section { padding: 72px 0; }
  .stats-inner { grid-template-columns: repeat(2, 1fr); }
  .price-table { display: block; overflow-x: auto; white-space: nowrap; }
  .site-footer .footer-top { grid-template-columns: 1fr; gap: 30px; }
  .step p { display: none; }
  .dir-grid { grid-template-columns: 1fr; }
  .catalog-head-inner { align-items: flex-start; flex-direction: column; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-intro { grid-template-columns: 1fr; align-items: start; }
  .ops-auth { grid-template-columns: 1fr; }
  .ops-auth form { grid-template-columns: 1fr 1fr; }
  .ops-auth form button { grid-column: 1 / -1; }
  .ops-connection { min-width: 0; }
  .ops-metrics { grid-template-columns: repeat(2, 1fr); }
  .ops-metrics article:nth-child(2) { border-right: 0; }
  .ops-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .ops-flow ol { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .grid-4, .num-tiles, .steps, .contact-cards, .gallery { grid-template-columns: 1fr; }
  .stats-inner { grid-template-columns: repeat(2, 1fr); }
  .stat { padding: 6px 14px; }
  .hero-main { padding-top: 50px; }
  .hero h1 { font-size: 34px; }
  .dir-modal-grid { grid-template-columns: 1fr; gap: 18px; }
  .dir-modal { padding: 22px 18px 18px; }
  .catalog-section { padding-top: 28px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card { min-height: 0; }
  .catalog-placeholder { grid-template-columns: 1fr; }
  .catalog-products{grid-template-columns:1fr}.product-card{grid-template-columns:96px 1fr}
  .rfq-panel { padding: 19px; box-shadow: 7px 7px 0 var(--paper-2); }
  .ops-auth form { grid-template-columns: 1fr; }
  .ops-auth form button { grid-column: auto; }
  .ops-session, .ops-toolbar { align-items: stretch; flex-direction: column; }
  .ops-session button { margin: 8px 8px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
  .hero-card { transform: none; }
}
/* Merchant onboarding */
.application-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}.application-note,.application-form{background:#fff;border:1px solid rgba(12,55,70,.13);border-radius:18px;padding:26px;box-shadow:0 12px 34px rgba(12,55,70,.07)}.application-note{margin-top:26px}.application-form{display:grid;gap:18px}.application-form label,.application-form fieldset{display:grid;gap:7px;font-weight:650}.application-form input,.application-form textarea{width:100%;padding:12px 14px;border:1px solid #bdcbd0;border-radius:9px;font:inherit;background:#fff}.application-form fieldset{border:0;padding:0;margin:0}.form-pair,.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-grid label,.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:450!important}.check-grid input,.consent input{width:auto;margin-top:4px}.hp{position:absolute!important;left:-10000px}.form-feedback{min-height:24px;margin:0;color:#087443}.form-feedback.is-error{color:#a22}.review-notes{min-width:190px;width:100%;padding:7px}.save-review{margin-top:6px}.review-setting{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.review-setting input{width:120px;padding:8px 9px;border:1px solid var(--line-2);background:#fff;font:inherit}.review-feedback{padding:0 24px}.review-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.review-links a{color:var(--accent);font-size:12px;font-weight:700}.merchant-audit-board{margin-top:24px}.merchant-pipeline-card.is-linked{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}@media(max-width:760px){.application-layout,.form-pair,.check-grid{grid-template-columns:1fr}.application-layout{gap:28px}}
.catalog-admin-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;margin:30px 0}.application-form select{width:100%;padding:12px 14px;border:1px solid #bdcbd0;border-radius:9px;background:#fff;font:inherit}@media(max-width:900px){.catalog-admin-grid{grid-template-columns:1fr}}
.product-contact-missing{color:var(--muted);font-size:12px;align-self:center}.dir-description{color:var(--muted);font-size:13px;line-height:1.55}.rfq-contacts span{color:var(--muted);font-size:13px;line-height:1.5}
.merchant-profile-page{padding:48px 0 90px;min-height:70vh}.merchant-back{display:inline-block;margin-bottom:24px;color:var(--accent);font-weight:700}.merchant-profile-loading,.merchant-profile-error{padding:54px;border:1px solid var(--line);background:#fff;color:var(--muted)}.merchant-profile-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:32px;padding:34px;border:1px solid var(--line);background:#fff;box-shadow:12px 12px 0 var(--paper-2);margin-bottom:64px}.merchant-profile-mark{width:140px;height:140px;display:grid;place-items:center;background:var(--paper-2);color:var(--accent);font:800 52px/1 var(--font-display);overflow:hidden}.merchant-profile-mark img{width:100%;height:100%;object-fit:cover}.merchant-profile-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.merchant-profile-heading h1{margin-top:10px}.merchant-profile-heading>strong{font:700 12px/1 var(--font-mono);color:var(--muted)}.merchant-profile-main>p{max-width:760px;margin:20px 0;color:var(--ink-2);line-height:1.7}.merchant-profile-main dl{display:grid;grid-template-columns:auto 1fr;gap:12px;margin:20px 0}.merchant-profile-main dt{color:var(--muted)}.merchant-profile-main dd{font-weight:700}.merchant-direct{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px;margin-top:24px;background:var(--paper-2)}.merchant-direct p{margin:6px 0 0;color:var(--muted);font-size:13px}.merchant-direct-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.product-merchant a{color:var(--accent);font-weight:700}.merchant-profile-page .section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.merchant-profile-page .section-head>a{color:var(--accent);font-weight:700}@media(max-width:760px){.merchant-profile-card{grid-template-columns:1fr;padding:22px;gap:20px}.merchant-profile-mark{width:88px;height:88px;font-size:34px}.merchant-profile-heading,.merchant-direct,.merchant-profile-page .section-head{align-items:flex-start;flex-direction:column}.merchant-direct-actions{width:100%}.merchant-direct-actions a{flex:1;text-align:center;justify-content:center}}
.product-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.55fr) minmax(170px,.55fr) auto;gap:18px;align-items:end;margin:54px 0 24px;padding:24px;background:var(--paper-2);border:1px solid var(--line)}.product-filterbar>div span{font:700 11px/1 var(--font-mono);letter-spacing:.12em;color:var(--accent)}.product-filterbar>div h2{margin:8px 0 0}.product-filterbar label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}.product-filterbar select{width:100%;padding:11px 36px 11px 12px;border:1px solid #bdcbd0;border-radius:7px;background:#fff;font:inherit;color:var(--ink)}.product-filterbar>b{min-width:90px;padding-bottom:12px;text-align:right;font:700 12px/1 var(--font-mono);color:var(--accent)}@media(max-width:760px){.product-filterbar{grid-template-columns:1fr;margin-top:36px}.product-filterbar>b{text-align:left;padding-bottom:0}}
.dir-products{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dir-products>strong{font:700 12px/1.4 var(--font-mono);color:var(--accent)}.dir-products>div{display:flex;flex-wrap:wrap;gap:6px}.dir-products span{padding:5px 8px;background:var(--paper-2);color:var(--ink-2);font-size:13px;line-height:1.35}.dir-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:auto}.dir-card-actions .dir-open{margin-top:0}.dir-profile-link{padding:0 0 4px;border-bottom:1px solid var(--accent);color:var(--accent);font-size:14.5px;font-weight:700}
.form-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.form-title-row .eyebrow{margin-bottom:6px}.form-cancel,.ops-edit{border:1px solid var(--line-2);background:#fff;color:var(--ink-2);padding:8px 11px;cursor:pointer;font:700 13px/1 var(--font-body)}.form-cancel:hover,.ops-edit:hover{border-color:var(--accent);color:var(--accent)}.application-form fieldset legend{margin-bottom:9px}.ops-toolbar-note{margin:5px 0 0;color:var(--muted);font-size:13px}.ops-toolbar>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ops-toolbar select{padding:9px 34px 9px 10px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font:inherit}.ops-kind{font:700 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted)}.ops-status-badge{display:inline-block;padding:6px 8px;background:var(--paper-2);font-size:12px;font-weight:700}.ops-status-badge.is-published{background:#e3f4e9;color:#126638}.ops-status-badge.is-archived{background:#eceff0;color:#5d676b}@media(max-width:760px){.form-title-row,.ops-toolbar{align-items:stretch;flex-direction:column}.form-cancel{align-self:flex-start}}
.ops-session select{padding:8px 32px 8px 10px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font:inherit}.communication-policy{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0}.communication-policy>div{padding:26px;border-right:1px solid var(--line)}.communication-policy>div:last-child{border-right:0}.communication-policy span{font:700 12px/1 var(--font-mono);color:var(--accent)}.communication-policy h2{margin:12px 0 8px;font-size:20px}.communication-policy p{margin:0;color:var(--muted);line-height:1.6}@media(max-width:800px){.communication-policy{grid-template-columns:1fr 1fr}.communication-policy>div:nth-child(2){border-right:0}.communication-policy>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:520px){.communication-policy{grid-template-columns:1fr}.communication-policy>div{border-right:0;border-bottom:1px solid var(--line)}.communication-policy>div:last-child{border-bottom:0}}
.product-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.product-card-meta span{font:700 11px/1.3 var(--font-mono);color:var(--muted)}.product-card-meta span:last-child{padding:5px 7px;background:var(--paper-2)}.product-card-meta .stock-available{background:#e3f4e9;color:#126638}.product-card-meta .stock-out_of_stock{background:#f4e6e3;color:#8a3327}.product-card-meta .stock-preorder{background:#e7eef7;color:#315f8d}
.product-card-media{text-decoration:none}.product-title-link{color:inherit;text-decoration:none}.product-title-link:hover{color:var(--accent)}.product-actions .product-detail-link{background:#fff;color:var(--accent)}
.application-form label>small{color:var(--muted);font-size:12px;font-weight:450;line-height:1.45}
.product-detail-page{padding:48px 0 90px;min-height:70vh}.product-detail-card{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);background:#fff;border:1px solid var(--line);box-shadow:12px 12px 0 var(--paper-2)}.product-detail-visual{min-width:0;background:var(--paper-2)}.product-detail-media{min-height:480px;display:grid;place-items:center;background:var(--paper-2);color:var(--accent);font:800 14px/1 var(--font-mono);overflow:hidden}.product-detail-media img{width:100%;height:100%;object-fit:cover}.product-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px}.product-gallery-thumbs button{height:70px;padding:0;border:2px solid transparent;background:#fff;overflow:hidden;cursor:pointer}.product-gallery-thumbs button[aria-pressed="true"]{border-color:var(--accent)}.product-gallery-thumbs img{width:100%;height:100%;object-fit:cover}.product-detail-main{padding:40px}.product-detail-main h1{font-size:clamp(34px,5vw,58px);margin:12px 0 16px}.product-detail-price{display:block;color:var(--accent);font:800 24px/1.3 var(--font-display)}.product-detail-description{margin:24px 0;color:var(--ink-2);line-height:1.75}.product-specs{margin:28px 0;padding-top:22px;border-top:1px solid var(--line)}.product-specs h2{font-size:20px;margin-bottom:14px}.product-specs dl{display:grid;gap:0}.product-specs dl>div{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.product-specs dt{color:var(--muted)}.product-specs dd{font-weight:650}.product-seller{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;margin:30px 0 18px;background:var(--paper-2)}.product-seller span,.product-seller p{color:var(--muted);font-size:12px}.product-seller h2{font-size:21px;margin:5px 0}.product-seller h2 a{color:var(--ink)}.product-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.product-detail-actions>*{justify-content:center}.ops-metrics.is-six{grid-template-columns:repeat(6,1fr)}
.catalog-media-preview{width:100%;height:180px;border:1px solid var(--line);background:var(--paper-2);overflow:hidden}.catalog-media-preview img{width:100%;height:100%;object-fit:contain}.portal-entry-note{margin:0;padding:12px 14px;background:var(--paper-2);color:var(--ink-2);font-size:14px}.portal-entry-note a{color:var(--accent);font-weight:700}.portal-empty{margin-top:28px;padding:34px;border:1px solid var(--line);background:#fff}.portal-empty p{margin:10px 0;color:var(--muted)}.portal-empty code{display:inline-block;padding:8px 10px;background:var(--paper-2);font-size:12px}.merchant-review-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:20px 24px;border:1px solid #d7b86a;background:#fff8e6}.merchant-review-banner p{margin:5px 0 0;color:var(--muted);font-size:13px}.merchant-review-banner>a{color:var(--accent);font-weight:700;white-space:nowrap}
.catalog-url-add{display:grid;grid-template-columns:1fr auto;gap:8px}.catalog-url-add button{padding:0 18px}.catalog-gallery-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-gallery-editor article{border:1px solid var(--line);background:var(--paper-2);overflow:hidden}.catalog-gallery-editor article>img{width:100%;height:150px;object-fit:cover}.catalog-gallery-editor article>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.catalog-gallery-editor article b{font-size:12px;color:var(--accent)}.catalog-gallery-editor article span{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.catalog-gallery-editor button{padding:5px 7px;font-size:11px}.portal-readiness{display:grid;grid-template-columns:auto 1fr;gap:18px 28px;margin:18px 0 0;padding:20px 24px;background:#fff;border:1px solid var(--line)}.portal-readiness>div{display:flex;flex-direction:column}.portal-readiness>div span,.portal-readiness p{color:var(--muted);font-size:12px}.portal-readiness strong{font:800 34px/1.2 var(--font-display);color:var(--accent)}.portal-readiness ul{display:flex;gap:8px;flex-wrap:wrap;align-content:center}.portal-readiness li{padding:6px 9px;background:var(--paper-2);color:var(--muted);font-size:12px}.portal-readiness li.is-complete{background:#eaf5ef;color:#176b45}.portal-readiness li span{margin-right:5px}.portal-readiness p{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid var(--line)}
.portal-materials{margin:18px 0 0;padding:24px;background:#fff;border:1px solid var(--line)}.portal-materials-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.portal-materials-heading h2{margin-bottom:8px}.portal-materials-heading>div>p:last-child{max-width:760px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.portal-materials-score{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end}.portal-materials-score strong{font:800 30px/1.2 var(--font-display);color:var(--accent)}.portal-materials-score span{color:var(--muted);font-size:13px}.portal-material-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.portal-material-item{padding:16px;border:1px solid var(--line);background:var(--paper-2)}.portal-material-item.is-received{border-color:#d6a34e;background:#fffaf0}.portal-material-item.is-verified,.portal-material-item.is-not_applicable{border-color:#8fc7aa;background:#f1f8f4}.portal-material-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-material-item h3{font-size:16px}.portal-material-item header p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.portal-material-item header>span{flex:0 0 auto;padding:4px 7px;background:#eceff0;color:#5d676b;font-size:12px;font-weight:700}.portal-material-item.is-received header>span{background:#fff0c7;color:#795600}.portal-material-item.is-verified header>span,.portal-material-item.is-not_applicable header>span{background:#ddefe4;color:#176b45}.portal-material-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}.portal-material-fields>label:first-child{grid-column:1/-1;display:grid;gap:6px;color:var(--ink-2);font-size:13px;font-weight:700}.portal-material-fields textarea{width:100%;padding:9px 10px;border:1px solid #bdcbd0;background:#fff;font:inherit;resize:vertical}.portal-material-fields>a,.portal-material-upload{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line-2);background:#fff;color:var(--accent);font-size:13px;font-weight:700}.portal-material-upload{position:relative;overflow:hidden;cursor:pointer}.portal-material-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.portal-material-evidence{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.portal-material-evidence img{width:54px;height:54px;object-fit:cover;border:1px solid var(--line)}.portal-material-review-note{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--ink-2);font-size:13px}.portal-material-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.portal-material-actions .form-feedback{margin:0}
.rfq-product-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.rfq-product-tags>span{display:flex;flex-direction:column;padding:6px 8px;background:var(--paper-2);font-size:12px}.rfq-product-tags small{color:var(--muted);font-size:10px}.rfq-merchant-actions{display:grid;gap:8px;margin-top:14px}.rfq-merchant-actions h3{font-size:15px}.rfq-merchant-actions article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);background:#fff}.rfq-merchant-actions article div{display:flex;flex-direction:column}.rfq-merchant-actions small,.rfq-merchant-actions p{color:var(--muted);font-size:11px}.rfq-merchant-actions a{padding:8px 10px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.catalog-import-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin-top:16px}.catalog-import-controls label{display:grid;gap:6px;color:var(--ink-2);font-size:13px}.catalog-import-controls input{padding:10px;border:1px solid var(--line);background:#fff}.catalog-import-board>.ops-table-wrap{margin-top:14px;max-height:360px}.catalog-import-board .form-feedback{margin-top:10px}
.catalog-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.catalog-quality-grid article{display:grid;gap:14px;padding:16px;border:1px solid var(--line);background:var(--paper-2)}.catalog-quality-grid article.is-ready{border-color:#8fc7aa;background:#f1f8f4}.catalog-quality-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.catalog-quality-grid header div,.catalog-quality-grid article>div{display:flex;flex-direction:column}.catalog-quality-grid header small,.catalog-quality-grid article>div small,.catalog-quality-grid p{color:var(--muted);font-size:11px}.catalog-quality-grid header span{padding:4px 7px;background:#f7e6e3;color:#9c3f35;font-size:11px;font-weight:700}.catalog-quality-grid .is-ready header span{background:#ddefe4;color:#176b45}.catalog-quality-grid article>div strong{font:800 28px/1 var(--font-display);color:var(--accent)}.catalog-quality-grid p{margin:0;line-height:1.55}.catalog-review-readiness{margin:0;padding:10px 16px;font-size:12px;font-weight:650}.catalog-review-readiness.is-blocked{background:#fff1ee;color:#9c3f35}.catalog-review-readiness.is-ready{background:#eef8f2;color:#176b45}
@media(max-width:860px){.product-detail-card{grid-template-columns:1fr}.product-detail-media{min-height:300px;max-height:520px}.product-detail-main{padding:28px}.product-seller,.merchant-review-banner{align-items:flex-start;flex-direction:column}.catalog-gallery-editor{grid-template-columns:1fr}.catalog-gallery-editor article{display:grid;grid-template-columns:110px 1fr}.catalog-gallery-editor article>img{height:100px}.portal-readiness,.catalog-import-controls,.catalog-quality-grid{grid-template-columns:1fr}.portal-readiness p{grid-column:1}.ops-metrics.is-six{grid-template-columns:repeat(2,1fr)}.ops-metrics.is-six article{border-bottom:1px solid var(--line)}.ops-metrics.is-six article:nth-child(2n){border-right:0}.ops-metrics.is-six article:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.product-detail-main{padding:22px}.product-detail-actions>*{width:100%}.product-specs dl>div{grid-template-columns:1fr;gap:4px}.ops-metrics.is-six{grid-template-columns:1fr}.ops-metrics.is-six article{border-right:0}.ops-metrics.is-six article:nth-last-child(2){border-bottom:1px solid var(--line)}}
.merchant-invite-board{margin-bottom:24px}.merchant-invite-form{display:grid;grid-template-columns:1fr .65fr 1fr auto;gap:14px;align-items:end;padding:0 24px 24px}.merchant-invite-form label{display:grid;gap:7px;font-weight:700}.merchant-invite-form select,.merchant-invite-form input{width:100%;padding:12px 14px;border:1px solid #bdcbd0;border-radius:9px;background:#fff;font:inherit}.merchant-invite-form .form-feedback{grid-column:1/-1;margin:0}.portal-auth-panel{align-items:start}.portal-auth-heading h2{margin:0 0 7px}.portal-auth-tabs{display:flex;gap:8px;margin-top:16px}.portal-auth-tabs button{padding:8px 10px;border:1px solid var(--line-2);background:#fff;color:var(--muted);font:700 12px/1.2 var(--font-body);cursor:pointer}.portal-auth-tabs button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.portal-auth-panel form,.portal-auth-panel>.ops-feedback{grid-column:2}.portal-auth-panel form small{grid-column:1/-1;color:var(--muted);line-height:1.45}.catalog-review-list{display:grid;gap:20px;padding:0 24px 24px}.catalog-review-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.catalog-review-card>header,.catalog-review-card>footer{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 20px;background:#f8faf9}.catalog-review-card h3,.catalog-review-card p{margin:4px 0}.catalog-diff{width:100%;border-collapse:collapse}.catalog-diff th,.catalog-diff td{padding:12px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.catalog-diff tbody th{width:170px}.catalog-diff pre{margin:0;white-space:pre-wrap;font:inherit}.catalog-diff .is-changed{background:#fffaf0}.catalog-review-actions{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;padding:18px 20px;border-top:1px solid var(--line)}.catalog-review-actions label{display:grid;gap:7px;font-weight:700}.catalog-review-actions textarea{width:100%;padding:10px;border:1px solid var(--line-2);font:inherit}.catalog-review-actions>div{display:flex;gap:8px;flex-wrap:wrap}.catalog-review-actions .form-feedback{grid-column:1/-1;margin:0}.ops-status-badge.is-pending{background:#fff0c7;color:#795600}.ops-status-badge.is-approved{background:#e3f4e9;color:#126638}.ops-status-badge.is-rejected{background:#f4e6e3;color:#8a3327}
.review-publish-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--accent);color:var(--accent);font-weight:750;text-decoration:none}.review-workflow-note{display:flex;gap:10px;align-items:baseline;margin:0 24px 18px;padding:12px 14px;border-left:4px solid var(--accent);background:#eef5f6}.review-workflow-note span{color:var(--muted);font-size:13px;line-height:1.55}.catalog-review-card>footer a{color:var(--accent);font-weight:750;text-decoration:none;white-space:nowrap}
.catalog-publish-staged{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid #d6a34e;background:#fff8e6;color:#624d1f}.catalog-publish-staged span{font-size:13px;line-height:1.5}.ops-status-badge.is-staged{background:#e7eef7;color:#315f8d}
@media(max-width:760px){.merchant-invite-form,.catalog-review-actions{grid-template-columns:1fr}.portal-auth-panel form,.portal-auth-panel>.ops-feedback{grid-column:1}.portal-auth-tabs{flex-wrap:wrap}.catalog-review-actions>div{justify-content:stretch}.catalog-review-actions button{flex:1}.catalog-review-card>header,.catalog-review-card>footer,.review-workflow-note,.catalog-publish-staged{align-items:flex-start;flex-direction:column}.catalog-diff tbody th{width:auto}}
.merchant-pipeline-metrics{grid-template-columns:repeat(5,1fr)}.merchant-pipeline-board{margin-top:24px}.merchant-pipeline-board .ops-toolbar input[type="search"]{min-width:220px;padding:9px 11px;border:1px solid var(--line-2);background:#fff;font:inherit}.pipeline-due-filter{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line-2);background:#fff;font-size:13px;white-space:nowrap}.merchant-pipeline-list{display:grid;gap:14px;padding:0 24px 24px}.merchant-pipeline-card{border:1px solid var(--line);background:#fff}.merchant-pipeline-card.is-due{border-color:#d6a34e;box-shadow:inset 4px 0 0 #d6a34e}.merchant-pipeline-card>header,.merchant-pipeline-card>footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;background:var(--paper-2)}.merchant-pipeline-card>header>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 10px}.merchant-pipeline-card h3{font-size:19px}.merchant-pipeline-card header p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.merchant-pipeline-card button{padding:9px 12px}.merchant-pipeline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.merchant-pipeline-fields label,.followup-form label{display:grid;gap:6px;color:var(--ink-2);font-size:12px;font-weight:700}.merchant-pipeline-fields input,.merchant-pipeline-fields select,.merchant-pipeline-fields textarea,.followup-form input,.followup-form select,.followup-form textarea{width:100%;padding:9px 10px;border:1px solid #bdcbd0;background:#fff;font:inherit}.merchant-pipeline-fields textarea,.followup-form textarea{resize:vertical}.pipeline-notes{grid-column:1/-1}.merchant-pipeline-card footer span{color:var(--muted);font-size:12px}.merchant-pipeline-card footer .form-feedback{margin:0 0 0 auto;min-height:0}.followup-board{margin-top:24px;scroll-margin-top:20px}.followup-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;padding:0 24px 24px}.followup-note{grid-column:1/-1}.followup-form .form-feedback{grid-column:2/-1;margin:0}.followup-history{margin-top:24px}.followup-history-list{display:grid;padding:0 24px 24px}.followup-history-list article{display:grid;grid-template-columns:minmax(170px,.3fr) 1fr auto;gap:18px;padding:15px 0;border-top:1px solid var(--line);align-items:start}.followup-history-list article:first-child{border-top:0}.followup-history-list article>div{display:flex;flex-direction:column}.followup-history-list span,.followup-history-list time{color:var(--muted);font-size:11px}.followup-history-list p{margin:0;white-space:pre-wrap;color:var(--ink-2);font-size:13px}.ops-status-badge.is-not_contacted{background:#eceff0;color:#5d676b}.ops-status-badge.is-contacted,.ops-status-badge.is-interested,.ops-status-badge.is-collecting{background:#fff0c7;color:#795600}.ops-status-badge.is-reviewing{background:#e7eef7;color:#315f8d}.ops-status-badge.is-ready,.ops-status-badge.is-published{background:#e3f4e9;color:#126638}.ops-status-badge.is-paused,.ops-status-badge.is-declined{background:#f4e6e3;color:#8a3327}@media(max-width:900px){.merchant-pipeline-metrics{grid-template-columns:repeat(2,1fr)}.merchant-pipeline-fields,.followup-form{grid-template-columns:1fr 1fr}.followup-history-list article{grid-template-columns:1fr}.followup-history-list time{justify-self:start}}@media(max-width:620px){.merchant-pipeline-metrics,.merchant-pipeline-fields,.followup-form{grid-template-columns:1fr}.merchant-pipeline-card>header,.merchant-pipeline-card>footer{align-items:stretch;flex-direction:column}.merchant-pipeline-card>footer .form-feedback{margin:0}.followup-note,.followup-form .form-feedback{grid-column:1}.merchant-pipeline-board .ops-toolbar input[type="search"]{min-width:0;width:100%}.pipeline-due-filter{white-space:normal}}
.merchant-pipeline-metrics{grid-template-columns:repeat(5,1fr)}.merchant-pipeline-metrics.is-six{grid-template-columns:repeat(6,1fr)}.merchant-pipeline-board{margin-top:24px}.merchant-pipeline-board .ops-toolbar input[type="search"]{min-width:220px;padding:9px 11px;border:1px solid var(--line-2);background:#fff;font:inherit}.pipeline-due-filter{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line-2);background:#fff;font-size:13px;white-space:nowrap}.merchant-pipeline-list{display:grid;gap:14px;padding:0 24px 24px}.merchant-pipeline-card{border:1px solid var(--line);background:#fff}.merchant-pipeline-card.is-due{border-color:#d6a34e;box-shadow:inset 4px 0 0 #d6a34e}.merchant-pipeline-card>header,.merchant-pipeline-card>footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;background:var(--paper-2)}.merchant-pipeline-card>header>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 10px}.merchant-pipeline-card h3{font-size:19px}.merchant-pipeline-card header p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.merchant-pipeline-card button{padding:9px 12px}.pipeline-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pipeline-card-actions span{color:var(--muted);font-size:11px}.merchant-pipeline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.merchant-pipeline-fields label,.followup-form label{display:grid;gap:6px;color:var(--ink-2);font-size:12px;font-weight:700}.merchant-pipeline-fields input,.merchant-pipeline-fields select,.merchant-pipeline-fields textarea,.followup-form input,.followup-form select,.followup-form textarea{width:100%;padding:9px 10px;border:1px solid #bdcbd0;background:#fff;font:inherit}.merchant-pipeline-fields textarea,.followup-form textarea{resize:vertical}.pipeline-notes{grid-column:1/-1}.merchant-pipeline-card footer span{color:var(--muted);font-size:12px}.merchant-pipeline-card footer .form-feedback{margin:0 0 0 auto;min-height:0}.material-board,.followup-board{margin-top:24px;scroll-margin-top:20px}.material-form{padding:0 24px 24px}.material-checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px}.material-item{display:grid;grid-template-columns:minmax(145px,1fr) 120px minmax(140px,1.2fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);background:var(--paper-2);font-size:12px}.material-item-main{display:grid;gap:5px}.material-item-main>span{font-weight:800}.material-item-main small{color:var(--muted);font-size:12px;line-height:1.5}.material-item>label{display:grid;gap:5px;color:var(--ink-2);font-size:12px;font-weight:700}.material-item select,.material-item input{width:100%;padding:8px;border:1px solid var(--line-2);background:#fff;font:inherit}.material-evidence-links{display:flex;gap:6px;flex-wrap:wrap}.material-evidence-links a{padding:4px 6px;border:1px solid var(--line);background:#fff;color:var(--accent);font-size:12px}.material-form-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.material-form-actions .form-feedback{margin:0}.followup-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;padding:0 24px 24px}.followup-note{grid-column:1/-1}.followup-form .form-feedback{grid-column:2/-1;margin:0}.followup-history{margin-top:24px}.followup-history-list{display:grid;padding:0 24px 24px}.followup-history-list article{display:grid;grid-template-columns:minmax(170px,.3fr) 1fr auto;gap:18px;padding:15px 0;border-top:1px solid var(--line);align-items:start}.followup-history-list article:first-child{border-top:0}.followup-history-list article>div{display:flex;flex-direction:column}.followup-history-list span,.followup-history-list time{color:var(--muted);font-size:11px}.followup-history-list p{margin:0;white-space:pre-wrap;color:var(--ink-2);font-size:13px}.ops-status-badge.is-not_contacted{background:#eceff0;color:#5d676b}.ops-status-badge.is-contacted,.ops-status-badge.is-interested,.ops-status-badge.is-collecting{background:#fff0c7;color:#795600}.ops-status-badge.is-reviewing{background:#e7eef7;color:#315f8d}.ops-status-badge.is-ready,.ops-status-badge.is-published{background:#e3f4e9;color:#126638}.ops-status-badge.is-paused,.ops-status-badge.is-declined{background:#f4e6e3;color:#8a3327}.duplicate-review{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #d6a34e;background:#fff8e6}.duplicate-review div{display:flex;gap:7px;flex-wrap:wrap}.duplicate-cleared{color:#176b45!important}@media(max-width:1050px){.merchant-pipeline-metrics.is-six{grid-template-columns:repeat(3,1fr)}.material-checklist,.portal-material-list{grid-template-columns:1fr}}@media(max-width:900px){.merchant-pipeline-metrics{grid-template-columns:repeat(2,1fr)}.merchant-pipeline-fields,.followup-form{grid-template-columns:1fr 1fr}.followup-history-list article{grid-template-columns:1fr}.followup-history-list time{justify-self:start}}@media(max-width:620px){.merchant-pipeline-metrics,.merchant-pipeline-metrics.is-six,.merchant-pipeline-fields,.followup-form{grid-template-columns:1fr}.merchant-pipeline-card>header,.merchant-pipeline-card>footer,.portal-materials-heading{align-items:stretch;flex-direction:column}.pipeline-card-actions{justify-content:flex-start}.merchant-pipeline-card>footer .form-feedback{margin:0}.material-item{grid-template-columns:1fr}.material-form-actions,.portal-material-actions{align-items:stretch;flex-direction:column}.portal-materials-score{align-items:flex-start}.portal-material-fields{grid-template-columns:1fr}.portal-material-fields>label:first-child{grid-column:1}.followup-note,.followup-form .form-feedback{grid-column:1}.merchant-pipeline-board .ops-toolbar input[type="search"]{min-width:0;width:100%}.pipeline-due-filter{white-space:normal}}

.catalog-quality-grid .catalog-preview-button{align-self:end;width:100%;padding:10px 12px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-weight:800}.catalog-quality-grid .catalog-preview-button:hover{background:var(--accent);color:#fff}.catalog-publish-dialog{width:min(1120px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:0;background:transparent}.catalog-publish-dialog::backdrop{background:rgba(8,25,34,.72);backdrop-filter:blur(4px)}.catalog-publish-shell{overflow:auto;max-height:calc(100vh - 32px);border:1px solid var(--line-2);background:#fff;box-shadow:0 24px 80px rgba(5,24,34,.34)}.catalog-publish-shell>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.catalog-publish-shell>header h2{margin:2px 0 6px}.catalog-publish-shell>header p:last-child{margin:0;color:var(--muted);font-size:13px}.catalog-publish-shell>header>button{padding:8px 10px}.catalog-publish-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:16px;padding:22px 24px;background:var(--paper-2)}.catalog-publish-merchant{grid-column:1/-1;display:grid;grid-template-columns:160px 1fr;gap:22px;padding:20px;border:1px solid var(--line);background:#fff}.catalog-publish-logo{width:160px;height:116px;object-fit:contain;border:1px solid var(--line);background:#fff}.catalog-publish-logo.is-empty{display:grid;place-items:center;color:var(--muted);font-size:13px}.catalog-publish-merchant h3{font-size:24px}.catalog-publish-merchant p{max-width:780px;margin:7px 0 14px;color:var(--ink-2);line-height:1.65}.catalog-publish-merchant dl{display:flex;gap:10px 24px;flex-wrap:wrap}.catalog-publish-merchant dl>div{display:grid;gap:3px}.catalog-publish-merchant dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.catalog-publish-merchant dd{margin:0;font-size:14px;font-weight:700}.catalog-publish-checks{padding:18px 20px;border:1px solid var(--line);background:#fff}.catalog-publish-checks h3{margin-bottom:9px;font-size:17px}.catalog-publish-checks p,.catalog-publish-checks ul{margin:0;color:var(--ink-2);font-size:13px;line-height:1.65}.catalog-publish-checks ul{padding-left:18px}.catalog-publish-checks.is-ready{border-color:#8fc7aa;background:#f1f8f4}.catalog-publish-checks.is-ready h3{color:#176b45}.catalog-publish-checks.is-blocked{border-color:#d8aaa3;background:#fff5f3}.catalog-publish-checks.is-blocked h3{color:#9c3f35}.catalog-publish-checks.is-warning{border-color:#e1bf77;background:#fffaf0}.catalog-publish-checks.is-warning h3{color:#795600}.catalog-publish-products{grid-column:1/-1;padding:20px;border:1px solid var(--line);background:#fff}.catalog-publish-products>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.catalog-publish-products>header span{color:var(--muted);font-size:13px}.catalog-publish-products>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.catalog-publish-products article{overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}.catalog-publish-products article>img,.catalog-publish-product-empty{width:100%;height:150px;object-fit:cover;background:#e7ecee}.catalog-publish-product-empty{display:grid;place-items:center;color:var(--muted);font-size:12px}.catalog-publish-products article>div{display:grid;gap:5px;padding:11px}.catalog-publish-products article b{font-size:14px}.catalog-publish-products article span{color:var(--muted);font-size:11px;line-height:1.45}.catalog-publish-shell>footer{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 18px;padding:18px 24px;border-top:1px solid var(--line);background:rgba(255,255,255,.98)}.catalog-publish-shell>footer>label{font-size:13px;font-weight:700}.catalog-publish-shell>footer>div{display:flex;gap:9px}.catalog-publish-shell>footer button{padding:10px 13px}.catalog-publish-shell>footer .form-feedback{grid-column:1/-1;margin:0}
@media(max-width:820px){.catalog-publish-body{grid-template-columns:1fr}.catalog-publish-products>div{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-publish-shell>footer{grid-template-columns:1fr}.catalog-publish-shell>footer>div{justify-content:stretch}.catalog-publish-shell>footer button{flex:1}}
@media(max-width:540px){.catalog-publish-dialog{width:100%;max-height:100vh}.catalog-publish-shell{max-height:100vh}.catalog-publish-shell>header,.catalog-publish-body,.catalog-publish-shell>footer{padding:16px}.catalog-publish-merchant{grid-template-columns:1fr}.catalog-publish-logo{width:100%;height:110px}.catalog-publish-products>div{grid-template-columns:1fr}.catalog-publish-products article{display:grid;grid-template-columns:112px 1fr}.catalog-publish-products article>img,.catalog-publish-product-empty{height:112px}.catalog-publish-shell>footer>div{flex-direction:column}}

.catalog-quality-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.catalog-quality-actions button{padding:10px 9px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-size:12px;font-weight:800}.catalog-quality-actions .catalog-preview-button{border-color:var(--accent);color:var(--accent)}.catalog-customer-dialog{width:calc(100% - 28px);max-width:none;height:calc(100vh - 28px);max-height:none;padding:0;border:0;background:transparent}.catalog-customer-dialog::backdrop{background:rgba(8,25,34,.8);backdrop-filter:blur(5px)}.catalog-customer-shell{display:grid;grid-template-rows:auto 1fr;width:100%;height:100%;margin:auto;background:#dfe6e8;box-shadow:0 24px 90px rgba(5,24,34,.4);transition:max-width .2s ease}.catalog-customer-shell.is-mobile{max-width:430px}.catalog-customer-shell.is-desktop{max-width:1440px}.catalog-customer-shell>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #b8c6ca;background:#fff}.catalog-customer-shell>header h2{margin:1px 0 0;font-size:17px}.catalog-customer-shell>header>div:last-child{display:flex;gap:6px}.catalog-customer-shell>header button{padding:7px 9px;font-size:12px}.catalog-customer-shell>header button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#fff}.catalog-customer-shell iframe{width:100%;height:100%;border:0;background:#fff}.catalog-customer-preview-page{background:var(--paper-2)}.merchant-preview-banner{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 14px;padding:10px 16px;border-bottom:1px solid #dfb860;background:#fff7df;color:#684c00}.merchant-preview-banner>b{padding:4px 7px;background:#7a5900;color:#fff;font-size:11px}.merchant-preview-banner>span{font-size:12px;line-height:1.45}.merchant-preview-banner nav{display:flex;gap:5px}.merchant-preview-banner button{padding:5px 7px;border:1px solid #c9a64c;background:#fff;color:#684c00;font-size:11px}.merchant-preview-banner button[aria-pressed="true"]{background:#7a5900;color:#fff}.merchant-preview-main{padding:28px 0 54px}.merchant-preview-main .merchant-products{margin-top:34px}.merchant-preview-main .product-actions button{font:inherit;cursor:pointer}.merchant-preview-main .merchant-direct-actions button{min-width:110px}.catalog-customer-preview-page .product-card-media{cursor:default}
@media(max-width:620px){.catalog-quality-actions{grid-template-columns:1fr}.catalog-customer-dialog{width:100%;height:100vh}.catalog-customer-shell>header{align-items:flex-start}.catalog-customer-shell>header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.merchant-preview-banner{grid-template-columns:auto 1fr}.merchant-preview-banner nav{grid-column:1/-1}.merchant-preview-main{padding-top:18px}.merchant-preview-main .container{width:min(100% - 24px,var(--container))}}

.merchant-preview-product-dialog{width:min(1080px,calc(100% - 28px));max-width:none;max-height:calc(100vh - 28px);padding:0;border:0;background:transparent}.merchant-preview-product-dialog::backdrop{background:rgba(8,25,34,.76);backdrop-filter:blur(4px)}.merchant-preview-product-shell{overflow:auto;max-height:calc(100vh - 28px);background:var(--paper-2);box-shadow:0 24px 80px rgba(5,24,34,.38)}.merchant-preview-product-shell>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid #dfb860;background:#fff7df;color:#684c00}.merchant-preview-product-shell>header span{font-size:12px;font-weight:800}.merchant-preview-product-shell>header button{padding:7px 10px;border:1px solid #c9a64c;background:#fff;color:#684c00}.merchant-preview-product-shell .product-detail-card{margin:18px;box-shadow:none}.merchant-preview-product-shell .product-detail-main h1{font-size:clamp(30px,4vw,48px)}.merchant-preview-product-shell .merchant-direct-actions button,.merchant-preview-product-shell .product-detail-actions button{min-width:120px}
@media(max-width:620px){.merchant-preview-product-dialog{width:100%;max-height:100vh}.merchant-preview-product-shell{max-height:100vh}.merchant-preview-product-shell .product-detail-card{margin:0;border-width:0}.merchant-preview-product-shell .product-detail-main{padding:22px}.merchant-preview-product-shell .product-detail-actions button{width:100%}}

.material-return-link{display:inline-flex;align-items:center;min-height:36px;padding:8px 11px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-size:12px;font-weight:800}.material-return-link[hidden]{display:none}.material-item-main>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.material-item-main>span em{flex:0 0 auto;padding:3px 6px;background:#eceff0;color:#5d676b;font-size:10px;font-style:normal;font-weight:800}.material-item.is-publication-required{border-left:4px solid var(--accent)}.material-item.is-publication-required .material-item-main>span em{background:#e7eef7;color:#315f8d}.material-item.is-publication-optional{border-left:4px solid #d6a34e}.material-item.is-publication-optional .material-item-main>span em{background:#fff0c7;color:#795600}.catalog-publish-checks>button{margin-top:12px;padding:9px 11px;border:1px solid #9c3f35;background:#fff;color:#9c3f35;font-size:12px;font-weight:800}
@media(max-width:620px){.material-return-link{width:100%;justify-content:center}.material-board .ops-toolbar>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}}
.portal-performance{margin:18px 0 0;padding:24px;background:#fff;border:1px solid var(--line)}.portal-performance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.portal-performance-heading h2{margin-bottom:8px}.portal-performance-heading p:last-child{margin:0;color:var(--muted);font-size:14px}.portal-performance-heading button{padding:9px 12px;border:1px solid var(--line-2);background:#fff;color:var(--accent);font-weight:700;cursor:pointer}.portal-performance-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:20px;border:1px solid var(--line)}.portal-performance-metrics article{display:grid;gap:6px;padding:16px;border-right:1px solid var(--line);background:var(--paper-2)}.portal-performance-metrics article:last-child{border-right:0}.portal-performance-metrics span,.portal-performance-metrics small{color:var(--muted);font-size:11px}.portal-performance-metrics strong{color:var(--ink);font:800 27px/1.15 var(--font-display)}.portal-performance-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-top:18px}.portal-performance-detail>div{min-width:0;padding:16px;border:1px solid var(--line)}.portal-performance-detail h3{font-size:16px;margin-bottom:14px}.portal-performance-chart{display:flex;align-items:flex-end;gap:3px;height:150px;padding-top:8px}.portal-performance-chart>p,.portal-product-ranking>p{margin:auto;color:var(--muted);font-size:13px}.portal-chart-day{display:grid;grid-template-rows:1fr 18px;align-items:end;flex:1;height:100%;min-width:3px}.portal-chart-day i{display:block;min-height:3px;background:var(--accent)}.portal-chart-day small{font-size:9px;color:var(--muted);white-space:nowrap;transform:translateX(-4px)}.portal-product-ranking{display:grid}.portal-product-ranking article{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.portal-product-ranking article:first-child{border-top:0}.portal-product-ranking article>span{display:grid;place-items:center;width:22px;height:22px;background:var(--accent);color:#fff;font-size:11px;font-weight:800}.portal-product-ranking article>div{display:grid;min-width:0}.portal-product-ranking b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.portal-product-ranking small{color:var(--muted);font-size:10px}.portal-product-ranking article>strong{font:800 18px var(--font-display)}.portal-performance-note{margin:14px 0 0;color:var(--muted);font-size:13px}.portal-performance-note.is-error{color:#9e3428}
@media(max-width:1050px){.portal-performance-metrics{grid-template-columns:repeat(3,1fr)}.portal-performance-metrics article:nth-child(3n){border-right:0}.portal-performance-metrics article:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.portal-performance-detail{grid-template-columns:1fr}}
@media(max-width:620px){.portal-performance-heading{align-items:stretch;flex-direction:column}.portal-performance-metrics{grid-template-columns:1fr 1fr}.portal-performance-metrics article,.portal-performance-metrics article:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.portal-performance-metrics article:nth-child(2n){border-right:0}.portal-performance-metrics article:nth-last-child(-n+2){border-bottom:0}}

/* ============================================================
   Marketplace v2 — commerce-first product discovery
   ============================================================ */
.marketplace-page{background:#f4f6f5}.marketplace-page .site-header{box-shadow:0 1px 0 rgba(9,35,47,.12)}.marketplace-page .header-inner{min-height:68px}.marketplace-page .main-nav{gap:24px}.marketplace-list-link{gap:9px}.marketplace-list-link b,.marketplace-page .nav-cta-mobile b,.rfq-mobile-dock b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#fff;color:var(--accent);font:800 11px/1 var(--font-mono)}
.marketplace-search{padding:38px 0 28px;border-bottom:4px solid var(--accent);background:var(--ink);color:#fff}.marketplace-search-inner{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(440px,1.15fr);gap:22px 56px;align-items:end}.marketplace-search .eyebrow{margin-bottom:9px;color:#8fdcff}.marketplace-search-copy h1{max-width:620px;color:#fff;font-size:clamp(32px,4.2vw,52px);line-height:1.05}.marketplace-search-copy>p:last-child{max-width:600px;margin-top:11px;color:#cbd7dc;font-size:14px;line-height:1.7}.marketplace-search-box{display:grid;gap:9px}.marketplace-search-box label{color:#e8edef;font-size:13px;font-weight:700}.marketplace-search-box>div{display:grid;grid-template-columns:1fr auto;padding:5px;background:#fff;box-shadow:0 9px 30px rgba(0,0,0,.18)}.marketplace-search-box input{min-width:0;height:48px;padding:0 15px;border:0;background:#fff;color:var(--ink);font:inherit}.marketplace-search-box input:focus{outline:2px solid var(--accent);outline-offset:-2px}.marketplace-search-box button{min-width:104px;border:0;background:var(--accent);color:#fff;font:800 14px var(--font-body);cursor:pointer}.marketplace-search-box button:hover{background:#087ab4}.marketplace-trust{grid-column:1/-1;display:flex;gap:8px 26px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);color:#dbe4e7;font-size:12px}.marketplace-trust span::before{content:"✓";margin-right:7px;color:#8fdcff;font-weight:900}
.marketplace-category-section{padding:30px 0 28px;background:#fff;border-bottom:1px solid var(--line)}.marketplace-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.marketplace-section-heading .eyebrow{margin-bottom:5px}.marketplace-section-heading h2{font-size:26px}.marketplace-section-heading>span{color:var(--muted);font:700 11px/1 var(--font-mono)}.marketplace-page .catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;border:0}.marketplace-page .catalog-card{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:7px 11px;min-height:104px;padding:15px;border:1px solid var(--line);background:#f8faf9;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.marketplace-page .catalog-card:hover{z-index:1;border-color:var(--accent);background:#fff;transform:translateY(-2px)}.marketplace-page .catalog-card.is-active{border-color:var(--accent);background:#edf8fd;box-shadow:inset 0 0 0 1px var(--accent)}.marketplace-page .catalog-icon{grid-row:1/3;width:38px;height:38px;background:#fff;font-size:18px}.marketplace-page .catalog-card h3{font-size:15px;line-height:1.2}.marketplace-page .catalog-card p{margin-top:3px;font-size:10px;line-height:1.35}.marketplace-page .catalog-card small{grid-column:2;color:var(--muted);font:700 10px/1.25 var(--font-mono)}
.marketplace-page .catalog-section{padding:30px 0 84px;background:#f4f6f5}.marketplace-page .catalog-shell{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.marketplace-page .product-filterbar{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto;gap:12px;align-items:end;margin:0;padding:20px;border:1px solid var(--line);background:#fff}.marketplace-page .product-filterbar>div{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:4px}.marketplace-page .product-filterbar>div h2{font-size:27px}.marketplace-page .product-filterbar label{gap:6px}.marketplace-page .product-filterbar select{height:42px;padding:0 30px 0 10px;border-radius:0}.marketplace-page #productFilterClear{height:42px;padding:0 13px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font:750 12px var(--font-body);cursor:pointer;white-space:nowrap}.marketplace-page #productFilterClear:hover{border-color:var(--accent);color:var(--accent)}.marketplace-page .product-filterbar>b{align-self:center;min-width:72px;padding:0;text-align:right}.product-filter-summary{padding:11px 14px;border:1px solid var(--line);border-top:0;background:#edf1f2;color:var(--muted);font-size:12px}.marketplace-page .catalog-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.marketplace-page .product-card{display:flex;min-height:0;flex-direction:column;border-color:#d4dddf;box-shadow:0 3px 12px rgba(9,35,47,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.marketplace-page .product-card:hover{border-color:#a8bcc3;box-shadow:0 10px 24px rgba(9,35,47,.1);transform:translateY(-2px)}.marketplace-page .product-card-media{aspect-ratio:4/3;width:100%;background:#e8edef}.marketplace-page .product-card-body{display:flex;flex:1;flex-direction:column;padding:15px}.marketplace-page .product-card-body h3{font-size:17px;line-height:1.35}.marketplace-page .product-summary{display:-webkit-box;overflow:hidden;min-height:42px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.5}.marketplace-page .product-price{margin:9px 0 2px;color:var(--accent);font-size:17px}.marketplace-page .product-merchant{min-height:34px;line-height:1.45}.marketplace-page .product-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:auto;padding-top:10px}.marketplace-page .product-actions>*{display:flex;align-items:center;justify-content:center;min-height:36px;text-align:center}.marketplace-page .product-actions>a:last-child,.marketplace-page .product-actions>.product-contact-missing{grid-column:1/-1}.marketplace-page .product-actions>.product-contact-missing{background:var(--paper-2)}.marketplace-page .catalog-placeholder{margin-top:18px;padding:34px;border-style:solid;background:#fff}.marketplace-page .catalog-placeholder[hidden]{display:none}.marketplace-page .catalog-placeholder p{line-height:1.7}.marketplace-page .catalog-placeholder p a{display:block;margin-top:10px;color:var(--accent);font-weight:800}.marketplace-page .rfq-panel{top:82px;padding:21px;border-color:#9eb0b6;box-shadow:7px 7px 0 #dfe6e8}.marketplace-page .rfq-title h2{font-size:24px}.rfq-mobile-dock{display:none}
@media(max-width:1180px){.marketplace-page .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.marketplace-page .catalog-shell{grid-template-columns:minmax(0,1fr) 310px}.marketplace-page .catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}.marketplace-page .product-filterbar{grid-template-columns:repeat(2,minmax(130px,1fr)) auto auto}}
@media(max-width:900px){.marketplace-search-inner{grid-template-columns:1fr;gap:22px}.marketplace-trust{grid-column:1}.marketplace-page .catalog-shell{grid-template-columns:1fr}.marketplace-page .rfq-panel{position:relative;top:auto;scroll-margin-top:82px}.marketplace-page{padding-bottom:64px}.marketplace-page .catalog-products{grid-template-columns:repeat(3,minmax(0,1fr))}.rfq-mobile-dock{position:fixed;right:14px;bottom:14px;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;box-shadow:0 8px 28px rgba(4,31,43,.3)}}
@media(max-width:760px){.marketplace-search{padding-top:28px}.marketplace-search-box>div{grid-template-columns:1fr}.marketplace-search-box button{height:44px}.marketplace-trust{gap:8px 16px}.marketplace-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketplace-page .product-filterbar{grid-template-columns:1fr 1fr;margin-top:0}.marketplace-page .product-filterbar>div{grid-column:1/-1}.marketplace-page .product-filterbar>b{text-align:left}.marketplace-page .catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}.marketplace-page .catalog-placeholder{grid-template-columns:1fr;padding:24px}}
@media(max-width:520px){.marketplace-search-copy h1{font-size:34px}.marketplace-search-copy>p:last-child{font-size:13px}.marketplace-section-heading{align-items:flex-start;flex-direction:column}.marketplace-page .catalog-card{grid-template-columns:32px 1fr;padding:12px}.marketplace-page .catalog-icon{width:32px;height:32px;font-size:15px}.marketplace-page .product-filterbar{grid-template-columns:1fr;padding:16px}.marketplace-page .product-filterbar>div{grid-column:1}.marketplace-page .catalog-products{grid-template-columns:1fr}.marketplace-page .product-card{display:grid;grid-template-columns:116px 1fr}.marketplace-page .product-card-media{height:100%;min-height:176px;aspect-ratio:auto}.marketplace-page .product-card-body{padding:13px}.marketplace-page .product-summary{display:none}.marketplace-page .product-card-meta{align-items:flex-start;flex-direction:column}.marketplace-page .product-actions{grid-template-columns:1fr}.marketplace-page .product-actions>*{grid-column:1!important}.marketplace-page .rfq-panel{padding:18px}}

.catalog-spec-editor{margin:4px 0;padding:20px;border:1px solid var(--line);background:var(--paper-2)}.catalog-spec-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:17px}.catalog-spec-heading span{color:var(--accent);font:800 11px/1 var(--font-mono);letter-spacing:.1em}.catalog-spec-heading h3{margin-top:7px;font-size:20px}.catalog-spec-heading p{max-width:430px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.catalog-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-spec-grid label,.catalog-spec-extra{display:grid;gap:6px;color:var(--ink-2);font-size:13px;font-weight:700}.catalog-spec-grid label small,.catalog-spec-extra small{color:var(--muted);font-size:11px;font-weight:500}.catalog-spec-grid input{width:100%;padding:10px 11px;border:1px solid #bdcbd0;background:#fff;color:var(--ink);font:inherit}.catalog-spec-grid input:focus{outline:2px solid var(--accent);outline-offset:1px}.catalog-spec-extra{margin-top:15px}.catalog-spec-extra textarea{background:#fff!important}@media(max-width:680px){.catalog-spec-heading{flex-direction:column;gap:8px}.catalog-spec-grid{grid-template-columns:1fr}}
.catalog-review-quality{display:grid;grid-template-columns:minmax(220px,.35fr) 1fr;gap:12px 20px;padding:15px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8faf9}.catalog-review-quality.is-blocked{border-color:#e0b2aa;background:#fff6f4}.catalog-review-quality.is-ready{border-color:#a9d4b7;background:#f0f8f3}.catalog-review-quality>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.catalog-review-quality>header>div{display:grid;gap:4px}.catalog-review-quality>header span{color:var(--muted);font-size:12px;font-weight:750}.catalog-review-quality>header strong{font:800 28px/1 var(--font-display);color:var(--accent)}.catalog-review-quality>header p,.catalog-review-quality>p{margin:0;color:var(--ink-2);font-size:12px;line-height:1.55}.catalog-review-specs{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.catalog-review-specs span{padding:6px 9px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700}.catalog-review-specs .is-ready{border-color:#8fc7aa;color:#176b45}.catalog-review-specs .is-missing{border-color:#d8aaa3;color:#9c3f35}.catalog-review-quality>p{grid-column:1/-1}@media(max-width:650px){.catalog-review-quality{grid-template-columns:1fr}.catalog-review-quality>header{align-items:flex-start;flex-direction:column}.catalog-review-specs,.catalog-review-quality>p{grid-column:1}}
.marketplace-home-hero{padding:18px 0 10px;background:#f4f6f5;color:var(--ink);border-bottom:1px solid var(--line)}
.marketplace-home-grid{display:grid;grid-template-columns:214px minmax(0,1fr) 238px;gap:12px;align-items:stretch}
.marketplace-category-rail,.marketplace-hero-center,.marketplace-service-rail{min-width:0;border:1px solid var(--line);background:#fff}
.marketplace-category-rail{padding:14px 12px}
.marketplace-rail-heading{display:grid;gap:4px;padding:2px 4px 12px;border-bottom:1px solid var(--line)}
.marketplace-rail-heading h2{font-size:21px}
.marketplace-rail-heading>span{color:var(--muted);font:700 10px/1 var(--font-mono)}
.marketplace-page .marketplace-category-rail .catalog-grid{display:grid;grid-template-columns:1fr;gap:2px;margin-top:8px;border:0}
.marketplace-page .marketplace-category-rail .catalog-card{display:grid;grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 8px;min-height:0;padding:8px 6px;border:0;background:transparent;transform:none;box-shadow:none}
.marketplace-page .marketplace-category-rail .catalog-card:hover,.marketplace-page .marketplace-category-rail .catalog-card.is-active{border:0;background:#edf8fd;box-shadow:inset 3px 0 0 var(--accent)}
.marketplace-page .marketplace-category-rail .catalog-icon{grid-row:1/3;width:27px;height:27px;font-size:13px}
.marketplace-page .marketplace-category-rail .catalog-card h3{font-size:13px;line-height:1.2}
.marketplace-page .marketplace-category-rail .catalog-card p{margin:0;font-size:9px;line-height:1.2}
.marketplace-page .marketplace-category-rail .catalog-card small{grid-column:2;font-size:9px}
.marketplace-hero-center{display:flex;flex-direction:column;gap:10px;padding:10px;background:#fff}
.marketplace-hero-center .marketplace-search-box{gap:6px}
.marketplace-hero-center .marketplace-search-box label{color:var(--muted);font-size:11px}
.marketplace-hero-center .marketplace-search-box>div{border:1px solid var(--accent);box-shadow:none}
.marketplace-hero-center .marketplace-search-box input{height:40px}
.marketplace-hero-center .marketplace-search-box button{min-width:82px}
.marketplace-carousel{position:relative;isolation:isolate;min-height:292px;overflow:hidden;background:var(--ink)}
.marketplace-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr .9fr;opacity:0;pointer-events:none;transition:opacity .35s ease;background:var(--ink);color:#fff}
.marketplace-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.marketplace-slide>img{width:100%;height:100%;min-height:292px;object-fit:cover;grid-column:2;grid-row:1;opacity:.74}
.marketplace-slide>div{z-index:1;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 22px;background:linear-gradient(90deg,var(--ink) 68%,rgba(20,32,68,.62))}
.marketplace-slide span{color:#8fdcff;font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.marketplace-slide h1{margin:10px 0 8px;color:#fff;font-size:clamp(25px,3vw,39px);line-height:1.1}
.marketplace-slide p{max-width:32ch;color:#d6e0eb;font-size:13px;line-height:1.6}
.marketplace-slide a{margin-top:14px;color:#fff;border-bottom:1px solid var(--accent);font-weight:800}
.marketplace-carousel-dots{position:absolute;z-index:3;right:17px;bottom:15px;display:flex;gap:6px}
.marketplace-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.marketplace-carousel-dots button.is-active{width:23px;border-radius:4px;background:var(--accent)}
.marketplace-promo-ticker{display:flex;gap:0;align-items:center;justify-content:space-around;min-height:35px;overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap}
.marketplace-promo-ticker span,.marketplace-promo-ticker b{padding:0 13px;border-right:1px solid var(--line)}
.marketplace-promo-ticker b{color:var(--accent)}
.marketplace-service-rail{display:flex;flex-direction:column;gap:12px;padding:18px 16px;background:#fff9ef;border-color:#ead6b5}
.marketplace-service-rail h2{font-size:23px}
.marketplace-service-rail p{color:var(--ink-2);font-size:13px;line-height:1.6}
.marketplace-service-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ead6b5;border-bottom:1px solid #ead6b5}
.marketplace-service-links a{padding:11px 7px;color:var(--ink-2);font-size:12px;border-right:1px solid #ead6b5;border-bottom:1px solid #ead6b5}
.marketplace-service-links a:nth-child(2n){border-right:0}.marketplace-service-links a:nth-last-child(-n+2){border-bottom:0}
.marketplace-service-rail .btn-primary{justify-content:center;text-align:center}
.marketplace-service-rail small{margin-top:auto;color:var(--muted);font-size:10px;line-height:1.6}
.marketplace-home-hero>.marketplace-trust{display:flex;gap:8px 24px;flex-wrap:wrap;margin-top:10px;padding:9px 2px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.marketplace-home-hero>.marketplace-trust span::before{content:"✓";margin-right:6px;color:var(--accent);font-weight:900}
@media(max-width:1180px){.marketplace-home-grid{grid-template-columns:190px minmax(0,1fr) 210px}.marketplace-slide h1{font-size:28px}}
@media(max-width:900px){.marketplace-home-grid{grid-template-columns:1fr}.marketplace-hero-center{order:1}.marketplace-category-rail{order:2}.marketplace-service-rail{order:3}.marketplace-category-rail .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.marketplace-category-rail .catalog-card{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.marketplace-service-rail{display:grid;grid-template-columns:1fr 1fr;align-items:center}.marketplace-service-rail h2,.marketplace-service-rail p,.marketplace-service-rail .promo-label{grid-column:1}.marketplace-service-links{grid-column:2;grid-row:1/4}.marketplace-service-rail .btn-primary,.marketplace-service-rail small{grid-column:1}}
@media(max-width:520px){.marketplace-slide{grid-template-columns:1fr}.marketplace-slide>img{grid-column:1;opacity:.27}.marketplace-slide>div{grid-column:1;background:linear-gradient(90deg,var(--ink) 15%,rgba(20,32,68,.62))}.marketplace-slide h1{font-size:27px}.marketplace-carousel{min-height:270px}.marketplace-slide>img{min-height:270px}.marketplace-service-rail{display:flex}.marketplace-service-links{width:100%}.marketplace-promo-ticker{justify-content:flex-start;overflow-x:auto}}
.catalog-import-guide{margin:0 24px 18px;border:1px solid var(--line);background:var(--paper-2)}.catalog-import-guide summary{padding:12px 14px;color:var(--accent);font-size:13px;font-weight:800;cursor:pointer}.catalog-import-guide>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding:0 14px 14px}.catalog-import-guide p{margin:0;color:var(--ink-2);font-size:12px;line-height:1.55}.catalog-import-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 24px 0;border:1px solid var(--line)}.catalog-import-metrics article{display:grid;gap:5px;padding:13px 15px;border-right:1px solid var(--line);background:#fff}.catalog-import-metrics article:last-child{border-right:0}.catalog-import-metrics span{color:var(--muted);font-size:11px}.catalog-import-metrics strong{font:800 25px/1 var(--font-display)}.catalog-import-metrics .is-ready strong{color:#176b45}.catalog-import-metrics .is-warning strong{color:#8a6500}.catalog-import-metrics .is-error strong{color:#9c3f35}.catalog-import-row.is-rejected{background:#fff6f4}.catalog-import-row.is-pending{background:#fffaf0}.catalog-import-row .ops-status-badge{max-width:460px;white-space:normal;line-height:1.45}@media(max-width:700px){.catalog-import-guide>div{grid-template-columns:1fr}.catalog-import-metrics{grid-template-columns:1fr 1fr}.catalog-import-metrics article:nth-child(2){border-right:0}.catalog-import-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.check-line{grid-template-columns:auto 1fr!important;align-content:center;align-items:center!important;font-weight:500!important}.check-line input{width:auto!important;margin:0}.service-facts{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.service-facts span{padding:6px 9px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);font-size:12px;font-weight:700}.supply-note{margin:12px 0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--paper-2);color:var(--ink-2);font-size:13px;line-height:1.6}

.catalog-ingest-review-button{display:block;margin-top:7px}.catalog-ingest-dialog{width:min(900px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:0;background:transparent}.catalog-ingest-dialog::backdrop{background:rgba(8,25,34,.72);backdrop-filter:blur(4px)}.catalog-ingest-shell{overflow:auto;max-height:calc(100vh - 32px);border:1px solid var(--line-2);background:#fff;box-shadow:0 24px 80px rgba(5,24,34,.34)}.catalog-ingest-shell>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.catalog-ingest-shell>header h2{margin:2px 0 5px}.catalog-ingest-shell>header p:last-child{margin:0;color:var(--muted);font-size:13px}.catalog-ingest-shell>header>button{padding:8px 10px}.catalog-ingest-detail{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 22px;background:var(--paper-2)}.catalog-ingest-detail>section{padding:16px;border:1px solid var(--line);background:#fff}.catalog-ingest-detail>section.is-wide{grid-column:1/-1}.catalog-ingest-detail>section.is-blocked{border-color:#d8aaa3;background:#fff5f3}.catalog-ingest-detail>section.is-ready{border-color:#8fc7aa;background:#f1f8f4}.catalog-ingest-detail>section.is-warning{border-color:#e1bf77;background:#fffaf0}.catalog-ingest-detail h3{margin:0 0 9px;font-size:16px}.catalog-ingest-detail p,.catalog-ingest-detail small,.catalog-ingest-detail li{color:var(--ink-2);font-size:13px;line-height:1.6}.catalog-ingest-detail p{margin:0}.catalog-ingest-detail small{display:block;margin-top:5px;color:var(--muted)}.catalog-ingest-detail ul{display:grid;gap:6px;margin:0;padding-left:18px}.catalog-ingest-detail .is-wide ul{grid-template-columns:1fr 1fr;list-style:none;padding:0}.catalog-ingest-detail .is-wide li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--paper-2)}.catalog-ingest-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.catalog-ingest-detail dl div{display:grid;gap:3px}.catalog-ingest-detail dt{color:var(--muted);font-size:11px;font-weight:800}.catalog-ingest-detail dd{margin:0;font-weight:800}.catalog-ingest-shell>footer{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px;padding:18px 22px;border-top:1px solid var(--line)}.catalog-ingest-shell>footer>label{display:grid;gap:7px;color:var(--ink-2);font-size:13px;font-weight:800}.catalog-ingest-shell>footer select,.catalog-ingest-shell>footer textarea{width:100%;padding:10px 11px;border:1px solid var(--line-2);background:#fff;font:inherit}.catalog-ingest-footer-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.catalog-ingest-footer-actions button{padding:10px 12px}.catalog-ingest-shell>footer .form-feedback{grid-column:1/-1;margin:0}.catalog-ingest-board td:last-child small{display:block;margin-top:5px;color:var(--muted);font-size:10px}@media(max-width:680px){.catalog-ingest-dialog{width:100%;max-height:100vh}.catalog-ingest-shell{max-height:100vh}.catalog-ingest-shell>header,.catalog-ingest-detail,.catalog-ingest-shell>footer{padding:16px}.catalog-ingest-detail,.catalog-ingest-shell>footer{grid-template-columns:1fr}.catalog-ingest-detail>section.is-wide,.catalog-ingest-footer-actions,.catalog-ingest-shell>footer .form-feedback{grid-column:1}.catalog-ingest-detail .is-wide ul{grid-template-columns:1fr}.catalog-ingest-footer-actions{align-items:stretch;flex-direction:column}}
