/*
Theme Name: NextMove Corporate
Description: Kadence child theme for the NextMove corporate website.
Author: NextMove
Template: kadence
Version: 1.5.3
Text Domain: nextmove-corporate
*/

:root {
  --nm-ink: #0f172a;
  --nm-muted: #556072;
  --nm-line: #e8ecf3;
  --nm-soft: #f6f8fc;
  --nm-surface: #ffffff;
  --nm-brand: #2563eb;
  --nm-brand-dark: #1d4ed8;
  --nm-violet: #7c3aed;
  --nm-accent: #0f766e;
  --nm-gradient: linear-gradient(105deg, #2563eb 0%, #4f46e5 55%, #7c3aed 100%);
  --nm-radius: 22px;
  --nm-shadow: 0 18px 48px rgba(15, 23, 42, 0.07);
  --nm-container: 1120px;
  --nm-font-body: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nm-font-display: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "STZhongsong", "SimSun", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--nm-ink);
  background: var(--nm-surface);
  font-family: var(--nm-font-body);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.nm-container { width: min(calc(100% - 40px), var(--nm-container)); margin-inline: auto; }
.nm-section { padding: 72px 0; }
.nm-section--soft { background: var(--nm-soft); }
.nm-eyebrow { color: var(--nm-brand); font-size: 13px; font-weight: 750; letter-spacing: .1em; }
.nm-display, .nm-title { font-family: var(--nm-font-display); font-weight: 700; }
.nm-display { max-width: 850px; margin: 14px 0 20px; font-size: clamp(40px, 5.6vw, 68px); line-height: 1.18; letter-spacing: 0; }
.nm-title { margin: 10px 0 14px; font-size: clamp(28px, 3.6vw, 42px); line-height: 1.25; letter-spacing: 0; }
.nm-gradient-text { display: block; width: fit-content; max-width: 100%; background: var(--nm-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nm-lead { max-width: 700px; color: var(--nm-muted); font-size: clamp(16px, 1.8vw, 19px); }
.nm-copy { color: var(--nm-muted); }
.nm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.nm-button {
  display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 24px;
  border: 1px solid var(--nm-brand); border-radius: 999px; background: var(--nm-brand); color: white;
  font: inherit; font-weight: 700; font-size: 15px; text-decoration: none; cursor: pointer; transition: .2s ease;
}
.nm-button:hover { border-color: var(--nm-brand-dark); background: var(--nm-brand-dark); color: white; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(37, 99, 235, .22); }
.nm-button--ghost { border-color: var(--nm-line); background: white; color: var(--nm-ink); }
.nm-button--ghost:hover { border-color: #c7d2fe; background: #f5f7ff; color: var(--nm-ink); box-shadow: none; }

/* Header */
.nm-site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(232,236,243,.9); background: rgba(255,255,255,.9); backdrop-filter: blur(16px); }
.nm-header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nm-brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--nm-font-display); font-size: 20px; font-weight: 700; text-decoration: none; }
.nm-brand img { width: auto; max-height: 34px; }
.nm-brand .nm-brand-icon { width: 34px; height: 34px; object-fit: contain; }
.nm-site-footer .nm-brand .nm-brand-icon { width: 30px; height: 30px; }
.nm-nav { display: flex; align-items: center; gap: 26px; }
.nm-nav ul { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.nm-nav a { font-size: 15px; font-weight: 650; text-decoration: none; }
.nm-nav a:hover, .nm-nav .current-menu-item > a { color: var(--nm-brand); }
.nm-mobile-nav { display: none; }

/* Hero */
.nm-hero { position: relative; overflow: hidden; padding: 96px 0 84px; }
.nm-hero::before { content: ""; position: absolute; inset: -45% -15% auto 30%; height: 700px; background: radial-gradient(circle, rgba(79, 70, 229, .14), transparent 68%); pointer-events: none; }
.nm-hero::after { content: ""; position: absolute; inset: auto -10% -55% 40%; height: 520px; background: radial-gradient(circle, rgba(124, 58, 237, .08), transparent 70%); pointer-events: none; }
.nm-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); align-items: center; gap: 64px; }
.nm-hero-grid > *, .nm-featured > *, .nm-product-compact > *, .nm-split > *, .nm-contact-layout > * { min-width: 0; }

/* Company capability model */
.nm-company-model { position: relative; overflow: hidden; padding: 30px; border: 1px solid rgba(79, 70, 229, .14); border-radius: 26px; background: linear-gradient(150deg, rgba(255,255,255,.98), #f0f3ff); box-shadow: var(--nm-shadow); }
.nm-company-model::after { content: ""; position: absolute; right: -80px; bottom: -100px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(124,58,237,.13), transparent 68%); pointer-events: none; }
.nm-company-model-header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: var(--nm-brand); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.nm-company-model-header i { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 5px rgba(34,197,94,.12); }
.nm-company-model h2 { position: relative; z-index: 1; margin: 12px 0 22px; font-family: var(--nm-font-display); font-size: 25px; }
.nm-company-model-list { position: relative; z-index: 1; display: grid; gap: 10px; }
.nm-company-model-item { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 14px; padding: 15px 17px; border: 1px solid rgba(226,232,240,.9); border-radius: 15px; background: rgba(255,255,255,.82); }
.nm-company-model-item > span { color: #a5b4fc; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.nm-company-model-item h3 { margin: 0; font-size: 16px; }
.nm-company-model-item p { margin: 2px 0 0; color: var(--nm-muted); font-size: 13px; }
.nm-company-model-status { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; margin-top: 18px; color: var(--nm-muted); font-size: 13px; font-weight: 650; }
.nm-company-model-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--nm-brand); box-shadow: 0 0 0 4px rgba(37,99,235,.1); }

/* Hero flow mockup: 对话 → AI 识别 → 订单 → 出库 */
.nm-flow { padding: 24px; border: 1px solid rgba(79, 70, 229, .14); border-radius: 26px; background: linear-gradient(160deg, #ffffff, #f2f5ff); box-shadow: var(--nm-shadow); }
.nm-flow-chat { display: flex; gap: 10px; align-items: flex-start; }
.nm-flow-avatar { flex: none; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #e0e7ff; color: var(--nm-brand); font-size: 13px; font-weight: 800; }
.nm-flow-bubble { padding: 11px 15px; border: 1px solid var(--nm-line); border-radius: 4px 16px 16px 16px; background: white; font-size: 14px; line-height: 1.55; }
.nm-flow-step { display: flex; align-items: center; gap: 8px; margin: 12px 0 12px 44px; color: var(--nm-violet); font-size: 12.5px; font-weight: 700; }
.nm-flow-step::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: var(--nm-gradient); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Cpath d='M12 3v18m0 0 6-6m-6 6-6-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Cpath d='M12 3v18m0 0 6-6m-6 6-6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.nm-flow-card { margin-left: 44px; padding: 15px 17px; border: 1px solid var(--nm-line); border-left: 3px solid var(--nm-brand); border-radius: 14px; background: white; box-shadow: 0 8px 22px rgba(15, 23, 42, .05); }
.nm-flow-card--violet { border-left-color: var(--nm-violet); }
.nm-flow-card-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; font-weight: 750; }
.nm-flow-tag { flex: none; padding: 2px 9px; border-radius: 999px; background: #eef2ff; color: var(--nm-brand); font-size: 11.5px; font-weight: 750; }
.nm-flow-tag--violet { background: #f3e8ff; color: var(--nm-violet); }
.nm-flow-card-meta { margin-top: 6px; color: var(--nm-muted); font-size: 13px; }

/* Sections & cards */
.nm-section-heading { max-width: 720px; margin-bottom: 34px; }
.nm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nm-card { padding: 26px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: white; box-shadow: 0 8px 28px rgba(15, 23, 42, .04); transition: .2s ease; }
.nm-card:hover { transform: translateY(-2px); box-shadow: var(--nm-shadow); }
.nm-card h3 { margin: 14px 0 8px; font-size: 20px; line-height: 1.35; }
.nm-card p { margin: 0; color: var(--nm-muted); font-size: 15px; }
.nm-card-index { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 12px; background: linear-gradient(135deg, #e0e9ff, #ede9fe); color: var(--nm-brand); font-weight: 800; font-size: 14px; }

/* Product cards (archive / grid) */
.nm-product-card { display: flex; min-height: 100%; flex-direction: column; overflow: hidden; padding: 0; }
.nm-product-cover { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #e8efff, #f3efff); object-fit: cover; }
.nm-product-cover--placeholder { display: grid; place-items: center; color: var(--nm-brand); font-family: var(--nm-font-display); font-size: 44px; font-weight: 700; }
.nm-product-body { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.nm-product-body .nm-actions { margin-top: auto; padding-top: 22px; }
.nm-status { display: inline-flex; width: fit-content; padding: 4px 10px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 12px; font-weight: 750; }
.nm-status--soon { background: #fef3c7; color: #92400e; }

/* Featured product (homepage) */
.nm-featured { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); align-items: center; gap: 60px; }
.nm-featured-media { position: relative; }
.nm-featured-media img, .nm-featured-media .nm-featured-cover { display: block; width: 100%; border: 1px solid var(--nm-line); border-radius: 24px; box-shadow: var(--nm-shadow); }
.nm-featured-cover { aspect-ratio: 4 / 3; background: linear-gradient(150deg, #eef3ff, #f5f0ff); }
.nm-featured .nm-status { margin-bottom: 14px; }
.nm-featured h3 { margin: 0 0 10px; font-family: var(--nm-font-display); font-size: clamp(26px, 3vw, 34px); line-height: 1.25; }
.nm-featured p { margin: 0; color: var(--nm-muted); }

/* Compact product proof point */
.nm-product-compact { display: grid; grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr); align-items: center; gap: 58px; }
.nm-product-compact .nm-status { margin: 2px 0 18px; }
.nm-product-compact-intro { max-width: 580px; margin: 0; color: var(--nm-muted); font-size: 16px; }
.nm-product-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin-top: 22px; }
.nm-product-capabilities > div { position: relative; min-width: 0; padding: 11px 12px 11px 32px; border-top: 1px solid var(--nm-line); color: var(--nm-ink); font-size: 14px; line-height: 1.5; }
.nm-product-capabilities > div::before { content: "✓"; position: absolute; left: 8px; color: var(--nm-accent); font-weight: 900; }
.nm-method-heading { align-items: end; }
.nm-method-heading .nm-copy p { margin: 0; }

/* Split / feature list */
.nm-split { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 56px; }
.nm-feature-list { display: grid; gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.nm-feature-list li { position: relative; padding: 14px 18px 14px 44px; border: 1px solid var(--nm-line); border-radius: 14px; background: white; font-size: 15px; }
.nm-feature-list li::before { content: "✓"; position: absolute; left: 17px; color: var(--nm-accent); font-weight: 900; }

/* CTA band */
.nm-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 44px; border-radius: 26px; background: linear-gradient(120deg, #101a3a, #1e1b4b 55%, #2e1065); color: white; }
.nm-cta .nm-title { margin: 0; color: white; }
.nm-cta p { margin: 10px 0 0; color: #c7d2fe; }
.nm-cta .nm-button { border-color: transparent; }
.nm-cta .nm-button--ghost { border-color: rgba(255,255,255,.28); background: transparent; color: white; }
.nm-cta .nm-button--ghost:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.08); color: white; }

/* Inner pages */
.nm-page-hero { padding: 68px 0 42px; background: var(--nm-soft); }
.nm-content { width: min(calc(100% - 40px), 820px); margin-inline: auto; padding: 52px 0 80px; }
.nm-content > *:first-child { margin-top: 0; }
.nm-content h2 { margin-top: 40px; font-family: var(--nm-font-display); font-size: 27px; }
.nm-product-hero { padding: 76px 0 60px; background: linear-gradient(180deg, #f4f7ff, white); }
.nm-breadcrumbs { margin-bottom: 30px; color: var(--nm-muted); font-size: 14px; }
.nm-breadcrumbs a { text-decoration: none; }
.nm-breadcrumbs a:hover { color: var(--nm-brand); }

/* Contact */
.nm-contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 56px; align-items: start; }
.nm-contact-form { padding: 30px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: white; box-shadow: var(--nm-shadow); }
.nm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nm-contact-form label { display: grid; gap: 7px; margin-bottom: 18px; font-size: 14px; font-weight: 700; }
.nm-contact-form input:not([type="checkbox"]), .nm-contact-form textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 11px; background: white; padding: 12px 14px; color: var(--nm-ink); font: inherit; }
.nm-contact-form input:focus, .nm-contact-form textarea:focus { border-color: var(--nm-brand); outline: 3px solid rgba(37, 99, 235, .12); }
.nm-contact-form .nm-consent { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 9px; font-weight: 500; }
.nm-consent a { color: var(--nm-brand); }
.nm-form-help { color: var(--nm-muted); font-size: 13px; }
.nm-form-message { margin-bottom: 18px; padding: 13px 16px; border-radius: 12px; }
.nm-form-message--success { background: #dcfce7; color: #166534; }
.nm-form-message--error { background: #fee2e2; color: #991b1b; }
.nm-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Footer */
.nm-site-footer { border-top: 1px solid var(--nm-line); background: #f8fafc; }
.nm-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 36px; padding: 50px 0 34px; }
.nm-footer-title { margin-bottom: 12px; font-weight: 800; }
.nm-footer-links { display: grid; gap: 8px; color: var(--nm-muted); }
.nm-footer-links a { text-decoration: none; }
.nm-footer-links a:hover { color: var(--nm-brand); }
.nm-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid var(--nm-line); color: var(--nm-muted); font-size: 13px; }

@media (max-width: 860px) {
  .nm-nav { display: none; }
  .nm-mobile-nav { display: block; position: relative; }
  .nm-mobile-nav summary { cursor: pointer; font-weight: 750; list-style: none; }
  .nm-mobile-nav[open] .nm-mobile-panel { position: absolute; right: 0; top: 38px; width: min(300px, calc(100vw - 40px)); padding: 18px; border: 1px solid var(--nm-line); border-radius: 16px; background: white; box-shadow: var(--nm-shadow); }
  .nm-mobile-panel { display: grid; gap: 14px; }
  .nm-mobile-panel ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
  .nm-mobile-panel a { text-decoration: none; }
  .nm-hero-grid, .nm-split, .nm-contact-layout, .nm-featured, .nm-product-compact { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .nm-featured-media { order: -1; }
  .nm-product-compact .nm-featured-media { order: 0; }
  .nm-grid, .nm-principles { grid-template-columns: 1fr 1fr; }
  .nm-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 580px) {
  .nm-container { width: min(calc(100% - 28px), var(--nm-container)); }
  .nm-section { padding: 56px 0; }
  .nm-hero { padding: 68px 0 56px; }
  .nm-display { font-size: 38px; }
  .nm-display, .nm-title, .nm-featured h3, .nm-card, .nm-feature-list li { overflow-wrap: anywhere; }
  .nm-grid, .nm-principles, .nm-form-grid, .nm-footer-grid { grid-template-columns: minmax(0, 1fr); }
  .nm-product-capabilities { grid-template-columns: minmax(0, 1fr); }
  .nm-cta { padding: 30px; }
  .nm-flow { min-width: 0; padding: 18px; }
  .nm-flow-chat, .nm-flow-bubble { min-width: 0; }
  .nm-flow-bubble { overflow-wrap: anywhere; }
  .nm-flow-card, .nm-flow-step { min-width: 0; margin-left: 0; }
  .nm-flow-card-title { align-items: flex-start; flex-wrap: wrap; }
  .nm-company-model { min-width: 0; padding: 22px; }
  .nm-featured-cover { padding: 18px; }
  .nm-mock-window, .nm-mock-body { min-width: 0; }
  .nm-footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Product capability flow */
.nm-featured-cover { padding: 22px; }
.nm-mock { position: relative; display: flex; height: 100%; align-items: center; }
.nm-mock-window { width: 100%; overflow: hidden; border: 1px solid var(--nm-line); border-radius: 17px; background: white; box-shadow: 0 12px 30px rgba(15, 23, 42, .07); }
.nm-mock-bar { display: flex; min-width: 0; align-items: center; gap: 6px; padding: 9px 13px; border-bottom: 1px solid var(--nm-line); }
.nm-mock-bar span { width: 9px; height: 9px; border-radius: 50%; background: #e2e8f0; }
.nm-mock-bar span:first-child { background: #fca5a5; }
.nm-mock-bar span:nth-child(2) { background: #fcd34d; }
.nm-mock-bar span:nth-child(3) { background: #86efac; }
.nm-mock-bar em { overflow: hidden; margin-left: 7px; color: var(--nm-muted); font-size: 11px; font-style: normal; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.nm-mock-bar b { display: inline-flex; flex: none; align-items: center; gap: 6px; margin-left: auto; color: var(--nm-accent); font-size: 10px; font-weight: 750; }
.nm-mock-bar b::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.12); }
.nm-mock-body { display: grid; gap: 8px; padding: 12px; }
.nm-mock-message, .nm-mock-recognition { display: grid; min-width: 0; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 10px; padding: 9px 11px; border-radius: 12px; }
.nm-mock-message { border: 1px solid var(--nm-line); background: #fafbff; }
.nm-mock-message > span, .nm-mock-recognition > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; font-size: 10px; font-weight: 800; }
.nm-mock-message > span { background: #e8eef9; color: #64748b; }
.nm-mock-message i, .nm-mock-recognition i, .nm-mock-order-meta i { font-style: normal; }
.nm-mock-message div > i { display: block; color: var(--nm-muted); font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.nm-mock-message p { overflow: hidden; margin: 1px 0 0; color: var(--nm-ink); font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.nm-mock-recognition { border: 1px solid #ddd6fe; background: #f5f3ff; }
.nm-mock-recognition > span { background: var(--nm-gradient); color: white; }
.nm-mock-recognition strong { display: block; color: #5b21b6; font-size: 11px; }
.nm-mock-recognition p { display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 0; }
.nm-mock-recognition i { padding: 1px 6px; border: 1px solid rgba(124,58,237,.14); border-radius: 999px; background: rgba(255,255,255,.72); color: #6d5ea8; font-size: 8px; font-weight: 700; }
.nm-mock-order { padding: 10px 12px; border: 1px solid #bfdbfe; border-left: 3px solid var(--nm-brand); border-radius: 12px; background: #f8fbff; }
.nm-mock-order-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nm-mock-order-head strong { font-size: 12px; }
.nm-mock-order-head span { flex: none; padding: 2px 8px; border-radius: 999px; background: #fff7d6; color: #a16207; font-size: 9px; font-weight: 800; }
.nm-mock-order-meta { display: grid; grid-template-columns: 1.35fr .7fr 1fr; gap: 8px; margin-top: 7px; }
.nm-mock-order-meta p { min-width: 0; margin: 0; color: var(--nm-ink); font-size: 10px; font-weight: 700; }
.nm-mock-order-meta i { display: block; margin-bottom: 1px; color: #8da0bb; font-size: 8px; font-weight: 650; }
.nm-mock-fulfillment { padding: 9px 11px; border: 1px solid var(--nm-line); border-radius: 12px; background: white; }
.nm-mock-fulfillment > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nm-mock-fulfillment strong { font-size: 10px; }
.nm-mock-fulfillment > div span { color: var(--nm-muted); font-size: 8px; font-weight: 650; }
.nm-mock-fulfillment ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 7px 0 0; padding: 0; list-style: none; counter-reset: nm-flow-step; }
.nm-mock-fulfillment li { position: relative; min-width: 0; padding: 5px 4px; border-radius: 8px; background: #f1f5f9; color: #4b5d75; font-size: 8px; font-weight: 750; text-align: center; counter-increment: nm-flow-step; }
.nm-mock-fulfillment li:not(:last-child)::after { content: "→"; position: absolute; right: -10px; color: #a5b4fc; }
.nm-mock-boundary { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--nm-muted); font-size: 9px; font-weight: 700; }
.nm-mock-boundary span { width: 6px; height: 6px; border-radius: 50%; background: var(--nm-brand); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }

/* Homepage additions (1.2.0): featured product details, company principles, FAQ */
.nm-feature-block { margin-top: 26px; }
.nm-feature-block .nm-eyebrow { margin-bottom: 12px; }
.nm-featured-target { margin: 18px 0 0; padding: 14px 16px; border: 1px solid var(--nm-line); border-radius: 14px; background: #f8fafc; color: var(--nm-muted); font-size: 15px; }
.nm-featured-target strong { color: var(--nm-ink); }
.nm-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 56px; }
.nm-faq { max-width: 820px; display: grid; gap: 14px; }
.nm-faq-item { border: 1px solid var(--nm-line); border-radius: 16px; background: white; overflow: hidden; }
.nm-faq-item summary { padding: 18px 22px; font-weight: 750; font-size: 16px; cursor: pointer; list-style: none; position: relative; }
.nm-faq-item summary::-webkit-details-marker { display: none; }
.nm-faq-item summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: var(--nm-brand); font-size: 22px; font-weight: 800; }
.nm-faq-item[open] summary::after { content: "\2212"; }
.nm-faq-item p { margin: 0; padding: 0 22px 18px; color: var(--nm-muted); font-size: 15px; }
.nm-faq-item a { color: var(--nm-brand); }

@media (max-width: 860px) {
  .nm-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 580px) {
  .nm-principles { grid-template-columns: minmax(0, 1fr); }
  .nm-featured-cover { aspect-ratio: auto; min-height: 390px; padding: 16px; }
  .nm-mock-body { gap: 9px; padding: 11px; }
  .nm-mock-message p { overflow: visible; white-space: normal; }
  .nm-mock-order-meta { gap: 5px; }
}
