/* ===== 行业解决方案板块（/solutions） ===== */
.sol-hero { background: linear-gradient(180deg,#f7f7ff 0%,#fff 100%); border-bottom: 1px solid var(--border); padding-block: clamp(40px,6vw,72px) clamp(36px,5vw,56px); }
.sol-hero .breadcrumb a { color: var(--slate-500); }
.sol-hero h1 { font-size: clamp(28px,4.2vw,44px); line-height: 1.22; letter-spacing: -.01em; color: var(--ink); margin: 14px 0 18px; max-width: 900px; }
.sol-lead { font-size: clamp(16px,1.6vw,18px); line-height: 1.85; color: var(--slate-700); max-width: 860px; margin: 0; }
.sol-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; font-size: 13.5px; color: var(--slate-500); }
.sol-meta b { color: var(--slate-700); font-weight: 600; }
.sol-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 32px; }
.sol-stat { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 18px 16px; box-shadow: var(--shadow-sm); }
.sol-stat .v { font-size: clamp(24px,2.6vw,30px); font-weight: 800; color: var(--indigo-600); letter-spacing: -.01em; line-height: 1.1; }
.sol-stat .l { font-size: 13.5px; color: var(--slate-500); margin-top: 8px; line-height: 1.55; }

.sol-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: clamp(28px,4vw,56px); align-items: start; padding-block: clamp(36px,5vw,64px); }
.sol-toc { position: sticky; top: 92px; font-size: 14px; }
.sol-toc .t { font-weight: 700; color: var(--ink); margin-bottom: 10px; font-size: 13px; letter-spacing: .04em; }
.sol-toc a { display: block; padding: 7px 12px; color: var(--slate-500); border-left: 2px solid var(--slate-200); text-decoration: none; transition: color .15s,border-color .15s; }
.sol-toc a:hover, .sol-toc a.on { color: var(--indigo-600); border-left-color: var(--indigo-600); }

.sol-sec { scroll-margin-top: 88px; padding-bottom: clamp(40px,5vw,64px); margin-bottom: clamp(40px,5vw,64px); border-bottom: 1px solid var(--border); }
.sol-sec:last-child { border-bottom: 0; }
.sol-sec > .eyebrow { margin-bottom: 8px; }
.sol-sec h2 { font-size: clamp(22px,2.6vw,30px); line-height: 1.3; color: var(--ink); margin: 0 0 16px; }
.sol-sec h3 { font-size: 18px; color: var(--ink); margin: 30px 0 12px; }
.sol-sec p { font-size: 16px; line-height: 1.9; color: var(--slate-700); margin: 0 0 14px; }
.sol-sec p b, .sol-sec li b { color: var(--ink); }
.sol-sec ul, .sol-sec ol { padding-left: 1.2em; margin: 0 0 14px; }
.sol-sec li { font-size: 15.5px; line-height: 1.85; color: var(--slate-700); margin-bottom: 6px; }
.sol-sec a:not(.btn) { color: var(--indigo-600); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(79,70,229,.35); }

.sol-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 18px 0 8px; }
.sol-grid.two { grid-template-columns: repeat(2,1fr); }
.sol-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 18px 14px; }
.sol-card h4 { margin: 0 0 8px; font-size: 16px; color: var(--ink); }
.sol-card p { font-size: 14.5px; line-height: 1.8; margin: 0; color: var(--slate-700); }
.sol-card .n { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--indigo-50); color: var(--indigo-600); font-weight: 800; font-size: 13px; margin-bottom: 10px; }

.sol-callout { background: var(--indigo-50); border: 1px solid var(--indigo-100); border-radius: var(--radius); padding: 16px 20px; margin: 18px 0; }
.sol-callout p { margin: 0; font-size: 15.5px; }
.sol-callout.warn { background: #fff7ed; border-color: #fed7aa; }

.sol-table-wrap { overflow-x: auto; margin: 14px 0 6px; border: 1px solid var(--border); border-radius: var(--radius); }
.sol-table { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 560px; }
.sol-table th { background: var(--slate-50); color: var(--slate-700); font-weight: 700; text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.sol-table td { padding: 10px 14px; border-bottom: 1px solid var(--slate-100); color: var(--slate-700); vertical-align: top; line-height: 1.65; }
.sol-table tr:last-child td { border-bottom: 0; }
.sol-table td.num, .sol-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sol-table .kw { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 13.5px; color: var(--ink); }
.tag { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.tag.no { background: #fee2e2; color: #b91c1c; }
.tag.grey { background: #f1f5f9; color: #475569; }
.tag.ok { background: #dcfce7; color: #15803d; }
.tag.seed { background: var(--indigo-50); color: var(--indigo-700); }
.sol-src { font-size: 12.5px; color: var(--slate-400); margin: 6px 0 0; line-height: 1.7; }

.sol-case { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: clamp(18px,2.4vw,26px); margin: 18px 0; background: #fff; }
.sol-case-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; margin-bottom: 14px; }
.sol-case-head h4 { margin: 0; font-size: 18px; color: var(--ink); }
.sol-case-head .dom { font-family: ui-monospace,Menlo,monospace; font-size: 13px; color: var(--slate-500); }
.sol-case-type { font-size: 12px; font-weight: 700; color: var(--indigo-700); background: var(--indigo-50); padding: 3px 9px; border-radius: 999px; }
.sol-case-type.ads { color: #c2410c; background: #fff7ed; }
.sol-case-type.bad { color: #b91c1c; background: #fef2f2; }
.sol-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 14px; }
.sol-kpi { background: var(--slate-50); border-radius: 12px; padding: 12px 14px; }
.sol-kpi .v { font-size: 20px; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.sol-kpi .l { font-size: 12.5px; color: var(--slate-500); margin-top: 4px; line-height: 1.45; }
.sol-chart { margin: 6px 0 12px; }
.sol-chart svg { width: 100%; height: auto; display: block; }
.sol-chart figcaption { font-size: 12.5px; color: var(--slate-400); margin-top: 6px; }
.sol-take { border-left: 3px solid var(--orange-500); padding: 4px 0 4px 14px; margin-top: 12px; }
.sol-take p { margin: 0; font-size: 15px; }

.sol-steps { counter-reset: s; list-style: none; padding: 0 !important; }
.sol-steps > li { counter-increment: s; position: relative; padding: 2px 0 12px 44px !important; }
.sol-steps > li::before { content: counter(s); position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 9px; background: var(--grad-brand); color: #fff; font-weight: 800; font-size: 14px; display: grid; place-items: center; }

.sol-roadmap { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 16px; }
.sol-phase { border-radius: var(--radius); border: 1px solid var(--border); padding: 18px; background: #fff; }
.sol-phase .when { font-size: 13px; font-weight: 800; color: var(--orange-600); letter-spacing: .02em; }
.sol-phase h4 { margin: 6px 0 10px; font-size: 16.5px; color: var(--ink); }
.sol-phase ul { margin: 0; padding-left: 1.1em; }
.sol-phase li { font-size: 14.5px; line-height: 1.75; }

/* ROI 估算器 */
.roi { border: 1px solid var(--indigo-100); border-radius: var(--radius-lg); background: linear-gradient(180deg,#fbfbff,#fff); padding: clamp(18px,2.6vw,28px); margin: 16px 0; }
.roi-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.roi-presets button { font: inherit; font-size: 13.5px; font-weight: 600; border: 1.5px solid var(--border); background: #fff; color: var(--slate-700); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.roi-presets button.on { border-color: var(--indigo-600); color: var(--indigo-600); background: var(--indigo-50); }
.roi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px 14px; }
.roi label { display: block; font-size: 13px; font-weight: 600; color: var(--slate-700); margin-bottom: 5px; }
.roi label small { font-weight: 500; color: var(--slate-400); }
.roi input { width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; padding: 9px 11px; border: 1.5px solid var(--border); border-radius: 10px; background: #fff; color: var(--ink); }
.roi input:focus { outline: none; border-color: var(--indigo-500); }
.roi .assume label::after { content: "假设"; margin-left: 6px; font-size: 11px; font-weight: 700; color: #c2410c; background: #fff7ed; padding: 1px 6px; border-radius: 6px; }
.roi-out { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 18px; }
.roi-out div { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; }
.roi-out b { display: block; font-size: 21px; color: var(--ink); font-variant-numeric: tabular-nums; }
.roi-out span { font-size: 12.5px; color: var(--slate-500); }
.roi-out .hl b { color: var(--indigo-600); }
.roi-note { font-size: 12.5px; color: var(--slate-500); margin-top: 12px; line-height: 1.7; }

.sol-related { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 12px; }
.sol-related a { display: block; border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; text-decoration: none !important; color: var(--slate-700) !important; font-size: 14.5px; line-height: 1.6; background: #fff; }
.sol-related a:hover { border-color: var(--indigo-500); color: var(--indigo-600) !important; }

.sol-cta { background: var(--grad-brand); color: #fff; border-radius: var(--radius-xl); padding: clamp(24px,4vw,40px); display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
.sol-cta h3 { color: #fff; margin: 0 0 8px; font-size: clamp(20px,2.4vw,26px); }
.sol-cta p { color: rgba(255,255,255,.85); margin: 0; font-size: 15px; line-height: 1.8; }
.sol-cta .acts { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.sol-cta .qr { display: flex; gap: 10px; align-items: center; color: rgba(255,255,255,.85); font-size: 13px; margin-top: 4px; }
.sol-cta .qr img { border-radius: 8px; background: #fff; padding: 3px; }

/* 板块首页 */
.ind-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 18px; }
.ind-card { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 22px; background: #fff; display: flex; flex-direction: column; gap: 10px; text-decoration: none !important; color: inherit !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
a.ind-card:hover { border-color: var(--indigo-500); box-shadow: var(--shadow); transform: translateY(-2px); }
.ind-card h3 { margin: 0; font-size: 19px; color: var(--ink); }
.ind-card p { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--slate-700); }
.ind-card .live { align-self: flex-start; font-size: 12px; font-weight: 700; color: #15803d; background: #dcfce7; padding: 3px 10px; border-radius: 999px; }
.ind-card .soon { align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--slate-500); background: var(--slate-100); padding: 3px 10px; border-radius: 999px; }
.ind-card .mini { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--slate-500); }
.ind-card .mini b { color: var(--indigo-600); }
.ind-card .go { margin-top: auto; font-weight: 700; color: var(--indigo-600); font-size: 14.5px; }
.ind-card.planned { background: var(--slate-50); }
.ind-card .chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ind-card .chips span { font-size: 13px; background: #fff; border: 1px solid var(--border); border-radius: 999px; padding: 3px 10px; color: var(--slate-700); }
.frame { display: grid; grid-template-columns: repeat(7,1fr); gap: 10px; margin-top: 16px; }
.frame div { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 14px 12px; font-size: 13.5px; line-height: 1.6; color: var(--slate-700); }
.frame b { display: block; color: var(--indigo-600); font-size: 12px; margin-bottom: 4px; }

@media (max-width: 1024px) {
  .sol-layout { grid-template-columns: 1fr; }
  .sol-toc { display: none; }
  .frame { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 760px) {
  .sol-stats, .sol-kpis { grid-template-columns: repeat(2,1fr); }
  .sol-grid, .sol-grid.two, .sol-roadmap, .ind-grid, .sol-related { grid-template-columns: 1fr; }
  .roi-grid, .roi-out { grid-template-columns: repeat(2,1fr); }
  .sol-cta { grid-template-columns: 1fr; }
  .frame { grid-template-columns: repeat(2,1fr); }
}
.sol-table.tier td:first-child { white-space: nowrap; }
.sol-table.tier td:nth-child(2) { min-width: 260px; }
.sol-table.tier td:nth-child(3) { min-width: 170px; }
.sol-table.tier td:last-child { white-space: nowrap; font-weight: 700; color: var(--ink); }
.sol-hero-fig { margin: 26px 0 0; }
.sol-hero-fig img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); border: 1px solid var(--border); aspect-ratio: 16/9; object-fit: cover; }
.ind-thumb { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 12px; margin-bottom: 4px; background: var(--slate-50); }
.sol-hero-grid.has-fig { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: clamp(24px,4vw,52px); align-items: center; }
.sol-hero-grid.has-fig h1 { font-size: clamp(26px,3.1vw,38px); }
.sol-hero-grid.has-fig .sol-lead { font-size: 16px; }
.sol-hero-grid .sol-hero-fig { margin: 0; }
@media (max-width: 960px) { .sol-hero-grid.has-fig { grid-template-columns: 1fr; } .sol-hero-grid .sol-hero-fig { max-width: 560px; } }
/* 窄屏：网格列允许收缩，表格在自身容器内横向滚动，不撑宽整页 */
.sol-layout > article { min-width: 0; }
@media (max-width: 1024px) { .sol-layout { grid-template-columns: minmax(0,1fr); } }
.sol-hero-grid > * { min-width: 0; }

/* 2026-09-15 评审第二轮：页中 CTA、询盘表单、合作方式、判断列、首页卡片三要素 */
.sol-cta-mini { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; border: 1px solid var(--indigo-100); background: #fff; border-left: 4px solid var(--indigo-500, #6366f1); border-radius: var(--radius); padding: 14px 18px; margin: 20px 0; }
.sol-cta-mini p { margin: 0; flex: 1 1 280px; font-size: 15px; font-weight: 600; color: var(--slate-800, #1e293b); }
.sol-cta-mini .acts { display: flex; flex-wrap: wrap; gap: 8px; }
.sol-cta-mini .btn { padding: 9px 16px; font-size: 14px; }
.sol-card p.who { font-size: 13px; color: var(--slate-500, #64748b); margin: -4px 0 8px; }
.sol-card ul { margin: 0; padding-left: 18px; font-size: 14.5px; }
.sol-card ul li { margin: 3px 0; }
.sol-table .judge { display: inline-block; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--indigo-700, #4338ca); }
.sol-service { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 24px; align-items: start; }
.sol-service h3 { margin-top: 8px; }
.sol-prep { background: var(--slate-50, #f8fafc); border: 1px solid var(--slate-200, #e2e8f0); border-radius: var(--radius); padding: 14px 18px; }
.sol-prep ul { padding-left: 18px; margin: 8px 0; }
.ind-3 { margin: 10px 0 12px; display: grid; gap: 4px; font-size: 13.5px; }
.ind-3 div { display: flex; gap: 8px; }
.ind-3 dt { flex: 0 0 auto; font-weight: 700; color: var(--indigo-700, #4338ca); }
.ind-3 dd { margin: 0; color: var(--slate-600, #475569); }
@media (max-width: 760px) { .sol-service { grid-template-columns: 1fr; } }
.sol-steps > li > b:first-child { display: block; margin-bottom: 2px; }
.sol-cred { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 18px 0 6px; }
.sol-cred > div { background: var(--grad-brand); color: #fff; border-radius: var(--radius); padding: 14px 18px; }
.sol-cred b { display: block; font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.sol-cred span { display: block; font-size: 13.5px; color: rgba(255,255,255,.88); margin-top: 4px; line-height: 1.55; }
@media (max-width: 560px) { .sol-cred { grid-template-columns: 1fr; } }
