:root {
  --ink: #17191c;
  --deep: #25292e;
  --muted: #666c73;
  --line: #d9dde1;
  --paper: #ffffff;
  --wash: #f5f6f5;
  --warm: #fff4ed;
  --coral: #d94d38;
  --coral-dark: #a93628;
  --coral-soft: #fde5dd;
  --green: #147568;
  --green-soft: #e3f2ee;
  --amber: #b46a16;
  --amber-soft: #fff0d7;
  --blue: #315d82;
  --blue-soft: #e7f0f7;
  --shadow: 0 16px 42px rgba(31, 39, 43, .09);
  --topbar: 58px;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  font-size: 17px;
  letter-spacing: 0;
}
button, a { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img { display: block; max-width: 100%; }
p { margin-top: 0; }
h1, h2, h3 { margin-top: 0; letter-spacing: 0; }
h1 { font-size: clamp(42px, 5.25vw, 72px); line-height: 1.08; font-weight: 900; }
h2 { margin-bottom: 0; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.22; font-weight: 880; text-wrap: balance; }
h3 { font-size: 20px; line-height: 1.4; }

.topbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: var(--topbar);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-bottom: 1px solid rgba(217, 221, 225, .9);
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(14px);
}
.topnav {
  width: min(100%, 1080px);
  display: flex;
  justify-content: center;
  gap: 3px;
  overflow-x: auto;
  scrollbar-width: none;
}
.topnav::-webkit-scrollbar { display: none; }
.topnav a {
  flex: 0 0 auto;
  padding: 8px 10px;
  border-radius: 4px;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
  font-size: 13px;
}
.topnav a:hover, .topnav a.active { color: var(--coral-dark); background: var(--coral-soft); font-weight: 800; }
.progress { position: fixed; inset: auto 0 0; z-index: 110; height: 3px; background: #eceeed; }
.progress span { display: block; width: 0; height: 100%; background: var(--coral); }

.wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.band { padding: 72px 0; scroll-margin-top: calc(var(--topbar) + 6px); }
.white { background: #fff; }
.warm { background: var(--warm); }
.section-head {
  max-width: 980px;
  margin-bottom: 32px;
}
.section-head h2 { max-width: 980px; }
.section-head .summary { max-width: 900px; margin-top: 16px; }
.section-head.single { max-width: 980px; }
.section-kicker {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 21px;
  padding: 7px 10px;
  border: 1px solid currentColor;
  border-radius: 3px;
  color: var(--coral-dark);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 850;
  white-space: nowrap;
}
.summary { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.statement { margin-top: 24px; padding: 18px 21px; border-left: 5px solid var(--green); background: var(--green-soft); font-size: 18px; line-height: 1.65; font-weight: 800; }
.statement.risk { border-left-color: var(--coral); background: var(--coral-soft); }
.statement.inverse { border-left-color: #f0ae65; background: rgba(255, 255, 255, .09); color: #fff; }
.micro-note { margin: 18px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

/* Hero */
.hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: calc(var(--topbar) + 66px) 0 92px;
  color: #fff;
  background: #34383d url("mall-ai-web-assets/mall-choice-hero.jpg") center / cover no-repeat;
}
.hero::before { content: ""; position: absolute; inset: 0; background: rgba(18, 20, 22, .52); }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; font-size: 14px; font-weight: 800; }
.eyebrow::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #ff806b; box-shadow: 0 0 0 4px rgba(255, 128, 107, .2); }
.hero h1 { max-width: 1030px; margin-bottom: 24px; text-shadow: 0 3px 22px rgba(0, 0, 0, .3); }
.hero h1 span { display: block; margin-bottom: 12px; color: #ff9a86; font-size: .49em; line-height: 1.2; }
.hero-lead { max-width: 890px; margin: 0; color: rgba(255, 255, 255, .86); font-size: 18px; line-height: 1.78; }
.hero-voice { position: relative; width: fit-content; max-width: 760px; margin: 28px 0 0; padding: 16px 20px; border-radius: 6px; background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.hero-voice::after { content: ""; position: absolute; left: 26px; bottom: -12px; border-width: 12px 12px 0 0; border-style: solid; border-color: rgba(255,255,255,.94) transparent transparent transparent; }
.hero-voice span { display: block; font-size: 18px; font-weight: 850; line-height: 1.6; }
.hero-voice small { display: block; margin-top: 6px; color: var(--coral-dark); font-size: 12px; font-weight: 850; }
.hero-route { position: absolute; z-index: 2; left: 50%; bottom: 22px; width: min(1160px, calc(100% - 48px)); transform: translateX(-50%); display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; color: rgba(255, 255, 255, .88); font-size: 15px; font-weight: 850; }
.hero-route i { position: relative; height: 3px; background: rgba(255, 255, 255, .78); }
.hero-route i::after { content: ""; position: absolute; right: 0; top: -7px; width: 13px; height: 13px; border-top: 3px solid #fff; border-right: 3px solid #fff; transform: rotate(45deg); }
.hero-route strong { color: #fff; font-size: 16px; }
.copyright { padding: 11px 0; border-block: 1px solid #e2e5e7; background: #f2f3f3; color: #767b80; font-size: 11px; line-height: 1.6; }

/* Choice and half-day */
.proximity-meter { display: grid; grid-template-columns: 210px 1fr 230px; gap: 24px; align-items: center; }
.meter-choice { padding: 22px; border-top: 5px solid var(--blue); background: var(--blue-soft); }
.meter-choice.chosen { border-color: var(--green); background: var(--green-soft); }
.meter-choice small, .meter-choice strong, .meter-choice span { display: block; }
.meter-choice small { color: var(--muted); font-size: 14px; font-weight: 800; }
.meter-choice strong { margin: 8px 0; font-size: 25px; }
.meter-choice span { color: var(--muted); font-size: 15px; line-height: 1.6; }
.meter-balance { min-width: 0; }
.meter-line { position: relative; height: 220px; display: grid; grid-template-columns: repeat(5, 1fr); align-items: end; border-left: 3px solid #aeb5ba; border-bottom: 4px solid var(--deep); }
.meter-line::before { content: "近便优势"; position: absolute; left: 16px; top: 8px; color: var(--muted); font-size: 14px; font-weight: 800; }
.meter-line span { position: relative; left: auto; bottom: auto; width: 100%; height: max(95px, var(--loss)); padding: 0 8px; background: transparent; color: var(--coral-dark); font-size: 14px; font-weight: 850; text-align: center; writing-mode: horizontal-tb; transform: none; }
.meter-line span::before { content: ""; position: absolute; left: 50%; top: 58px; bottom: 0; width: 3px; height: auto; background: var(--coral); transform: translateX(-50%); }
.meter-line span::after { content: ""; position: absolute; left: 50%; top: 52px; width: 12px; height: 12px; border-radius: 50%; background: var(--coral); transform: translateX(-50%); }
.meter-balance > b { display: block; margin-top: 14px; color: var(--coral-dark); text-align: right; font-size: 17px; }
.halfday-story { display: grid; grid-template-columns: 210px 1fr 220px; gap: 0; border: 1px solid #e6cfc1; background: #fff; }
.story-trigger, .story-result { padding: 24px; background: #2d3135; color: #fff; }
.story-result { background: var(--coral); }
.story-trigger small, .story-trigger strong, .story-result small, .story-result strong { display: block; }
.story-trigger small, .story-result small { color: rgba(255, 255, 255, .7); font-size: 13px; }
.story-trigger strong, .story-result strong { margin-top: 8px; font-size: 18px; line-height: 1.45; }
.story-track { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 18px 28px; padding: 18px 22px; }
.story-track span { position: relative; display: grid; place-items: center; min-height: 70px; padding: 12px; border: 1px solid var(--line); border-top: 4px solid var(--coral); background: #fff; text-align: center; font-size: 14px; font-weight: 850; }
.story-track span:nth-child(1) { grid-area: 1 / 1; }
.story-track span:nth-child(2) { grid-area: 1 / 2; }
.story-track span:nth-child(3) { grid-area: 1 / 3; }
.story-track span:nth-child(4) { grid-area: 1 / 4; }
.story-track span:nth-child(5) { grid-area: 2 / 4; }
.story-track span:nth-child(6) { grid-area: 2 / 3; }
.story-track span:nth-child(7) { grid-area: 2 / 2; }
.story-track span:nth-child(8) { grid-area: 2 / 1; }
.story-track span:nth-child(-n+3)::after { content: "→"; position: absolute; right: -23px; color: var(--green); font-size: 18px; }
.story-track span:nth-child(4)::after { content: "↓"; position: absolute; left: 50%; bottom: -24px; color: var(--green); font-size: 18px; transform: translateX(-50%); }
.story-track span:nth-child(5)::after, .story-track span:nth-child(6)::after, .story-track span:nth-child(7)::after { content: "←"; position: absolute; left: -23px; color: var(--green); font-size: 18px; }
.arrival-reasons { display: grid; grid-template-columns: 1fr 1fr; margin-top: 22px; border-top: 1px solid #e0cabe; border-left: 1px solid #e0cabe; }
.arrival-reasons p { display: grid; grid-template-columns: 120px 1fr; gap: 15px; margin: 0; padding: 16px 18px; border-right: 1px solid #e0cabe; border-bottom: 1px solid #e0cabe; background: rgba(255, 255, 255, .58); }
.arrival-reasons p:last-child:nth-child(odd) { grid-column: 1 / -1; }
.arrival-reasons b { color: var(--coral-dark); }
.arrival-reasons span { color: var(--muted); font-size: 15px; line-height: 1.65; }

/* Journey */
.journey-map { position: relative; min-height: 510px; }
.journey-map::before { content: ""; position: absolute; inset: 62px 105px; border: 2px dashed #bcc4c8; border-radius: 50%; }
.mall-core { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 190px; height: 190px; display: grid; place-items: center; border-radius: 50%; background: var(--deep); color: #fff; text-align: center; font-size: 22px; font-weight: 900; line-height: 1.45; }
.journey-map ol { margin: 0; padding: 0; list-style: none; }
.journey-map li { position: absolute; width: 215px; min-height: 105px; padding: 14px 15px; border-top: 4px solid var(--coral); background: #fff; box-shadow: var(--shadow); }
.journey-map li small, .journey-map li b, .journey-map li span { display: block; }
.journey-map li small { color: var(--coral); font-size: 14px; font-weight: 900; }
.journey-map li b { margin: 6px 0; font-size: 18px; }
.journey-map li span { color: var(--muted); font-size: 15px; line-height: 1.55; }
.journey-map li:nth-child(1) { left: 0; top: 18px; }
.journey-map li:nth-child(2) { left: calc(50% - 107px); top: 0; border-color: var(--amber); }
.journey-map li:nth-child(3) { right: 0; top: 24px; border-color: var(--blue); }
.journey-map li:nth-child(4) { right: 0; top: 200px; border-color: var(--green); }
.journey-map li:nth-child(5) { right: 60px; bottom: 4px; border-color: var(--coral); }
.journey-map li:nth-child(6) { left: calc(50% - 107px); bottom: 0; border-color: var(--amber); }
.journey-map li:nth-child(7) { left: 60px; bottom: 4px; border-color: var(--blue); }
.journey-map li:nth-child(8) { left: 0; top: 200px; border-color: var(--green); }

/* Receipt and reputation */
.receipt-band { background: #f1f2ef; }
.receipt { width: 100%; margin: 0; background: #fffdf8; border: 2px solid #d9d4c8; box-shadow: 0 20px 45px rgba(57, 50, 37, .08); }
.receipt-head, .receipt-row, .receipt-total { display: grid; align-items: center; }
.receipt-head { grid-template-columns: 1fr auto; padding: 18px 22px; border-bottom: 2px dashed #d3cec3; }
.receipt-head b, .receipt-head span { color: var(--ink); font-size: 16px; font-weight: 850; }
.receipt-row { grid-template-columns: 1.35fr 1fr 55px; gap: 18px; padding: 15px 22px; border-bottom: 1px solid #e4dfd4; }
.receipt-row span { color: var(--muted); font-size: 15px; }
.receipt-row b { font-size: 15px; }
.receipt-row em { color: var(--coral); font-style: normal; font-weight: 900; text-align: right; }
.receipt-total { grid-template-columns: 1fr 52px 1fr; gap: 18px; padding: 24px 22px; background: #272a2d; color: #fff; }
.receipt-total span, .receipt-total strong { color: #ff9b87; font-size: 19px; font-weight: 900; text-align: center; }
.receipt-total i::before { content: "→"; display: block; color: #fff; text-align: center; font-size: 28px; font-style: normal; font-weight: 900; }
.reputation-ledger { display: grid; grid-template-columns: 1fr 120px 310px; gap: 22px; align-items: stretch; }
.ledger-sources { border-top: 1px solid var(--line); }
.ledger-sources p { display: grid; grid-template-columns: 100px 1fr; gap: 18px; margin: 0; padding: 15px 8px; border-bottom: 1px solid var(--line); }
.ledger-sources b { color: var(--coral-dark); }
.ledger-sources span { color: var(--muted); font-size: 15px; line-height: 1.55; }
.ledger-arrow { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--coral); font-size: 15px; font-weight: 900; }
.ledger-arrow::after { content: "→"; margin: 0; font-size: 30px; }
.ledger-book { display: flex; flex-direction: column; justify-content: center; padding: 28px; border-left: 8px solid var(--coral); background: var(--deep); color: #fff; }
.ledger-book small { color: rgba(255, 255, 255, .62); }
.ledger-book strong { margin: 18px 0; font-size: 30px; line-height: 1.38; }
.ledger-book span { color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.6; }

/* Problem map */
.problem-band { background: #fff6ee; }
.problem-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
.problem-layout > * { min-width: 0; }
.problem-controls { position: sticky; top: 75px; }
.problem-tabs { display: grid; gap: 5px; }
.problem-tab { display: grid; grid-template-columns: 30px 1fr auto; gap: 9px; align-items: center; min-height: 58px; padding: 12px 13px; border: 1px solid #ddd0c7; border-radius: 4px; background: #fff; color: var(--ink); text-align: left; font-size: 14px; font-weight: 760; }
.problem-tab .idx { color: var(--coral-dark); font-weight: 900; }
.problem-tab .count { color: var(--muted); font-size: 12px; }
.problem-tab.active { border-color: var(--coral); background: var(--coral); color: #fff; }
.problem-tab.active .idx, .problem-tab.active .count { color: #fff; }
.problem-panel { min-height: 730px; padding: 28px; border: 1px solid #ddd0c7; background: #fff; box-shadow: var(--shadow); }
.problem-panel h3 { margin: 6px 0 9px; font-size: 28px; }
.problem-index { color: var(--coral-dark); font-size: 14px; font-weight: 900; }
.problem-intro { color: var(--muted); font-size: 16px; line-height: 1.75; }
.problem-items { display: grid; gap: 9px; }
.problem-item { border-left: 5px solid var(--amber); background: var(--amber-soft); }
.problem-item:nth-child(3n+2) { border-left-color: var(--green); background: var(--green-soft); }
.problem-item:nth-child(3n) { border-left-color: var(--blue); background: var(--blue-soft); }
.problem-item-head { width: 100%; display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: start; padding: 16px 17px 12px; color: var(--ink); }
.problem-item-head span:first-child { color: var(--coral-dark); font-size: 15px; font-weight: 900; }
.problem-item-head b { font-size: 16px; line-height: 1.55; }
.problem-detail { display: grid; grid-template-columns: 1fr 1fr; margin: 0 17px 16px 67px; border-top: 1px solid rgba(44, 50, 54, .13); }
.problem-detail p { margin: 0; padding: 12px 14px 0 0; color: #555b60; font-size: 15px; line-height: 1.7; }
.problem-detail p + p { padding-left: 14px; border-left: 1px solid rgba(44, 50, 54, .12); }
.problem-detail strong { color: var(--ink); }

/* Impression */
.impression-chain { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.impression-chain div { position: relative; min-height: 170px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.impression-chain div::after { content: "→"; position: absolute; right: -10px; top: 28px; z-index: 2; color: var(--blue); font-weight: 900; }
.impression-chain div:last-child::after { display: none; }
.impression-chain small, .impression-chain b, .impression-chain span { display: block; }
.impression-chain small { color: var(--coral); font-weight: 900; }
.impression-chain b { margin: 14px 0 8px; font-size: 18px; }
.impression-chain span { color: var(--muted); font-size: 15px; line-height: 1.65; }
.impression-chain .end { background: var(--coral); color: #fff; }
.impression-chain .end small, .impression-chain .end span { color: rgba(255, 255, 255, .76); }
.early-exit { display: grid; grid-template-columns: 1fr 35px 1fr 35px 1fr 35px 1fr; align-items: center; margin-top: 20px; padding: 18px; background: var(--wash); }
.early-exit span, .early-exit b, .early-exit strong { text-align: center; font-size: 15px; }
.early-exit i::before { content: "→"; display: block; color: var(--coral); text-align: center; font-style: normal; font-weight: 900; }
.early-exit strong { color: var(--coral-dark); }
.split-time { background: #edf1f0; }
.diverging-lines { display: grid; grid-template-columns: 1fr 110px 1fr; gap: 18px; align-items: center; }
.project-line, .customer-line { display: flex; flex-direction: column; border-top: 6px solid var(--green); background: #fff; }
.customer-line { border-color: var(--coral); }
.project-line b, .customer-line b { padding: 20px; border-bottom: 2px solid var(--line); font-size: 21px; }
.project-line span, .customer-line span { position: relative; padding: 17px 20px 34px; color: var(--muted); font-size: 15px; font-weight: 760; text-align: center; }
.project-line span:not(:last-child)::after, .customer-line span:not(:last-child)::after { content: "↓"; position: absolute; left: 50%; bottom: 8px; color: var(--blue); font-size: 17px; font-weight: 900; transform: translateX(-50%); }
.project-line span:last-child, .customer-line span:last-child { padding-bottom: 20px; color: var(--ink); font-weight: 850; }
.distance-gap { position: relative; min-height: 250px; display: grid; place-items: center; }
.distance-gap::before, .distance-gap::after { content: ""; position: absolute; left: 50%; width: 3px; height: 34%; background: #9da9ad; }
.distance-gap::before { top: 0; transform: rotate(-13deg); transform-origin: bottom; }
.distance-gap::after { bottom: 0; transform: rotate(13deg); transform-origin: top; }
.distance-gap em { z-index: 1; padding: 18px 9px; background: #edf1f0; color: var(--coral-dark); font-size: 15px; font-style: normal; font-weight: 900; line-height: 1.35; writing-mode: vertical-rl; }
.old-impression-note { margin-top: 22px; padding: 18px 22px; border-left: 5px solid var(--blue); background: #fff; color: #4c545a; line-height: 1.7; }

/* AI */
.data-band { background: #263c46; color: #fff; }
.data-band .summary { color: rgba(255, 255, 255, .72); }
.data-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, .19); border-bottom: 1px solid rgba(255, 255, 255, .19); }
.data-grid article { padding: 27px 26px; border-right: 1px solid rgba(255, 255, 255, .19); }
.data-grid article:first-child { padding-left: 0; }
.data-grid article:last-child { padding-right: 0; border-right: 0; }
.data-grid small { color: rgba(255, 255, 255, .57); font-weight: 800; }
.data-grid strong { display: block; margin: 9px 0; color: #ff987f; font-size: 42px; }
.data-grid h3 { margin: 0 0 9px; color: #fff; font-size: 18px; }
.data-grid p { margin: 0; color: rgba(255, 255, 255, .72); font-size: 14px; line-height: 1.68; }
.question-ribbon { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 24px; border-top: 1px solid rgba(255, 255, 255, .18); border-left: 1px solid rgba(255, 255, 255, .18); }
.question-ribbon span { padding: 18px; border-right: 1px solid rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .84); font-size: 15px; line-height: 1.6; }
.proof-links { display: flex; align-items: center; gap: 12px; margin-top: 18px; color: rgba(255, 255, 255, .72); font-size: 12px; }
.proof-links button { padding: 7px 10px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 4px; background: transparent; color: #fff; }
.center-query { width: min(900px, 100%); margin: 0 auto 28px; padding: 22px 28px; border-left: 5px solid var(--coral); background: var(--warm); font-size: 24px; font-weight: 850; line-height: 1.55; }
.info-mixer { display: grid; grid-template-columns: 1fr 220px 285px; gap: 24px; align-items: stretch; }
.mixer-inputs { border-top: 1px solid var(--line); }
.mixer-inputs p { display: grid; grid-template-columns: 110px 1fr; gap: 16px; margin: 0; padding: 14px 9px; border-bottom: 1px solid var(--line); }
.mixer-inputs b { color: var(--coral-dark); }
.mixer-inputs span { color: var(--muted); font-size: 15px; line-height: 1.6; }
.mixer-core { display: grid; place-items: center; align-content: center; padding: 24px; background: var(--green-soft); text-align: center; }
.mixer-core span { font-weight: 900; }
.mixer-core i { width: 1px; height: 52px; margin: 12px 0; background: var(--green); }
.mixer-core b { color: var(--green); font-size: 14px; line-height: 1.65; }
.wrong-mall { padding: 26px; border-left: 7px solid var(--coral); background: var(--deep); color: #fff; }
.wrong-mall small { color: rgba(255, 255, 255, .62); }
.wrong-mall strong { display: block; margin: 10px 0 18px; color: #ff9b87; font-size: 29px; }
.wrong-mall ul { margin: 0; padding-left: 18px; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 2; }
.loop-band { background: #eaf3f0; }
.feedback-loop { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.feedback-loop div { position: relative; min-height: 180px; padding: 28px 22px; border-top: 5px solid var(--green); background: #fff; }
.feedback-loop div:nth-child(2) { border-color: var(--blue); }
.feedback-loop div:nth-child(3), .feedback-loop div:nth-child(4) { border-color: var(--coral); }
.feedback-loop div::after { content: "→"; position: absolute; right: -11px; top: 40px; z-index: 2; color: var(--coral); font-weight: 900; }
.feedback-loop div:last-child::after { display: none; }
.feedback-loop b, .feedback-loop span { display: block; }
.feedback-loop b { margin-bottom: 12px; font-size: 16px; }
.feedback-loop span { color: var(--muted); font-size: 15px; line-height: 1.65; }
.truth-split { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.truth-split p { margin: 0; padding: 17px 19px; border-left: 5px solid var(--coral); background: var(--coral-soft); }
.truth-split p:last-child { border-color: var(--green); background: var(--green-soft); }
.truth-split b, .truth-split span { display: block; }
.truth-split span { margin-top: 6px; color: var(--muted); font-size: 15px; line-height: 1.65; }

/* Missions */
.mission-routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mission-routes article { padding: 24px; border-top: 5px solid var(--blue); background: var(--wash); }
.mission-routes article:nth-child(2) { border-color: var(--green); }
.mission-routes article:nth-child(3) { border-color: var(--coral); }
.mission-routes small, .mission-routes b, .mission-routes strong { display: block; }
.mission-routes small { color: var(--muted); font-weight: 850; }
.mission-routes b { margin-top: 18px; font-size: 17px; }
.mission-routes i { display: block; width: 100%; height: 1px; margin: 20px 0; background: var(--line); }
.mission-routes strong { color: var(--coral-dark); font-size: 20px; }
.mission-band.new { background: #edf3f8; }
.mission-band.remodel { background: #fff1ea; }
.first-wave { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 14px; }
.wave-input, .wave-branch { min-height: 190px; padding: 24px; }
.wave-input { display: flex; flex-direction: column; justify-content: center; background: var(--deep); color: #fff; }
.wave-input b { font-size: 21px; }
.wave-input span { margin-top: 14px; color: rgba(255, 255, 255, .7); font-size: 15px; line-height: 1.7; }
.wave-branch { display: flex; flex-direction: column; justify-content: center; border-top: 5px solid var(--green); background: #fff; }
.wave-branch.bad { border-color: var(--coral); }
.wave-branch small, .wave-branch strong, .wave-branch span { display: block; }
.wave-branch small { color: var(--muted); }
.wave-branch strong { margin: 12px 0; color: var(--green); font-size: 30px; }
.wave-branch.bad strong { color: var(--coral); }
.wave-branch span { color: var(--muted); }
.visit-balance { display: grid; grid-template-columns: 1fr 240px 1fr; gap: 18px; align-items: center; }
.visit-balance > div:not(.balance-axis) { padding: 28px; border-top: 5px solid var(--green); background: var(--green-soft); }
.visit-balance > div:last-child { border-color: var(--coral); background: var(--coral-soft); }
.visit-balance small, .visit-balance b, .visit-balance span { display: block; }
.visit-balance small { color: var(--muted); font-weight: 800; }
.visit-balance b { margin: 9px 0; font-size: 26px; }
.visit-balance span { color: var(--muted); font-size: 15px; line-height: 1.65; }
.balance-axis { text-align: center; }
.balance-axis i { display: block; width: 100%; height: 4px; margin-bottom: 18px; background: var(--deep); transform: rotate(-3deg); }
.balance-axis strong { font-size: 18px; }
.balance-note { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.balance-note span { padding: 14px 18px; background: var(--wash); color: var(--muted); font-size: 15px; }
.remodel-sheet { display: grid; grid-template-columns: 1fr 44px 1fr 44px 1fr; gap: 0; align-items: stretch; }
.remodel-sheet > div { padding: 24px; border-top: 5px solid var(--coral); background: #fff; }
.remodel-sheet > div:nth-of-type(2) { border-color: var(--amber); }
.remodel-sheet > div:nth-of-type(3) { border-color: var(--green); }
.remodel-sheet small, .remodel-sheet b { display: block; }
.remodel-sheet small { color: var(--muted); }
.remodel-sheet b { margin-top: 10px; font-size: 17px; line-height: 1.6; }
.remodel-sheet i { display: grid; place-items: center; }
.remodel-sheet i::before { content: "→"; color: var(--coral); font-style: normal; font-weight: 900; }
.remodel-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-top: 1px solid #dfcfc7; border-left: 1px solid #dfcfc7; }
.remodel-steps span { padding: 17px; border-right: 1px solid #dfcfc7; border-bottom: 1px solid #dfcfc7; background: rgba(255,255,255,.6); font-size: 15px; font-weight: 750; line-height: 1.6; }
.decision-tree { display: grid; gap: 18px; }
.tree-root { padding: 22px; background: var(--deep); color: #fff; text-align: center; font-size: 20px; font-weight: 850; }
.tree-branches { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tree-branches article { padding: 21px 18px; border-top: 5px solid var(--coral); background: var(--wash); }
.tree-branches article:nth-child(2), .tree-branches article:nth-child(4) { border-color: var(--green); }
.tree-branches small, .tree-branches b, .tree-branches span { display: block; }
.tree-branches small { color: var(--muted); font-weight: 850; }
.tree-branches b { margin: 9px 0; font-size: 17px; }
.tree-branches span { color: var(--muted); font-size: 15px; line-height: 1.65; }

/* Diagnosis */
.diagnosis-band { background: #eef1ef; }
.diagnosis-table { position: relative; min-height: 520px; }
.diagnosis-table::before { content: ""; position: absolute; inset: 72px 140px; border: 1px dashed #afb8b5; border-radius: 50%; }
.table-center { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 210px; height: 210px; display: grid; place-items: center; align-content: center; padding: 24px; border-radius: 50%; background: var(--deep); color: #fff; text-align: center; }
.table-center strong { font-size: 23px; }
.table-center span { margin-top: 12px; color: rgba(255,255,255,.7); line-height: 1.55; }
.diagnosis-table article { position: absolute; width: 235px; min-height: 120px; padding: 17px; border-top: 5px solid var(--green); background: #fff; box-shadow: var(--shadow); }
.diagnosis-table article small, .diagnosis-table article b, .diagnosis-table article span { display: block; }
.diagnosis-table article small { color: var(--coral); font-weight: 900; }
.diagnosis-table article b { margin: 5px 0; }
.diagnosis-table article span { color: var(--muted); font-size: 14px; line-height: 1.6; }
.diagnosis-table article:nth-of-type(1) { left: 0; top: 15px; }
.diagnosis-table article:nth-of-type(2) { right: 0; top: 15px; border-color: var(--blue); }
.diagnosis-table article:nth-of-type(3) { left: 55px; bottom: 8px; border-color: var(--amber); }
.diagnosis-table article:nth-of-type(4) { right: 55px; bottom: 8px; border-color: var(--coral); }
.diagnosis-table article:nth-of-type(5) { left: calc(50% - 117px); top: 0; border-color: var(--green); }
.diagnosis-output { display: grid; grid-template-columns: 140px repeat(4, 1fr); background: var(--deep); color: #fff; }
.diagnosis-output b, .diagnosis-output span { padding: 17px; }
.diagnosis-output b { color: #ff9b87; }
.diagnosis-output span { border-left: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.73); font-size: 14px; line-height: 1.6; }

/* Capabilities */
.capability-heading { max-width: 980px; margin-bottom: 28px; }
.capability-heading img { width: auto; height: 44px; margin-bottom: 20px; }
.capability-heading h2 { max-width: 760px; margin-bottom: 0; }
.capability-heading p { max-width: 880px; margin: 16px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.group-nav { display: flex; margin: 0 0 28px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.group-nav::-webkit-scrollbar { display: none; }
.group-nav a { flex: 0 0 auto; padding: 11px 14px; border-bottom: 3px solid transparent; color: var(--muted); text-decoration: none; white-space: nowrap; font-size: 13px; font-weight: 800; }
.group-nav a.active { color: var(--coral-dark); border-color: var(--coral); }
.group-nav.inverse { border-color: rgba(255,255,255,.18); }
.group-nav.inverse a { color: rgba(255,255,255,.62); }
.group-nav.inverse a.active { color: #fff; border-color: #ff947e; }
.experience-numbers { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.experience-numbers div { padding: 25px; border-right: 1px solid var(--line); }
.experience-numbers div:first-child { padding-left: 0; }
.experience-numbers div:last-child { border-right: 0; }
.experience-numbers strong { display: block; color: var(--coral-dark); font-size: 36px; }
.experience-numbers span { display: block; margin-top: 7px; color: var(--muted); font-size: 15px; }
.interpret-path { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr; align-items: center; margin-top: 24px; padding: 18px; background: var(--wash); }
.interpret-path span, .interpret-path strong { text-align: center; font-weight: 800; }
.interpret-path i::before { content: "→"; display: block; color: var(--coral); text-align: center; font-style: normal; }
.experience-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; margin-top: 24px; }
.experience-copy p { color: #4f565a; font-size: 14px; line-height: 1.8; }
.tech-band { background: #27373c; color: #fff; }
.tech-band .summary { color: rgba(255,255,255,.7); }
.tech-stack { display: grid; gap: 9px; }
.tech-layer { display: grid; grid-template-columns: 190px 1fr; min-height: 105px; border: 1px solid rgba(255,255,255,.2); }
.tech-label { display: flex; flex-direction: column; justify-content: center; padding: 18px 22px; background: #fff; color: var(--ink); }
.tech-layer.engine .tech-label { background: var(--coral); color: #fff; }
.tech-layer.data .tech-label { background: var(--green-soft); }
.tech-label small { color: var(--muted); font-size: 10px; }
.tech-layer.engine .tech-label small { color: rgba(255,255,255,.7); }
.tech-label b { margin-top: 5px; font-size: 20px; }
.tech-modules { display: grid; grid-template-columns: repeat(6, 1fr); background: rgba(255,255,255,.06); }
.tech-modules span { display: grid; place-items: center; padding: 14px; border-left: 1px solid rgba(255,255,255,.18); text-align: center; font-size: 14px; font-weight: 800; line-height: 1.55; }
.tech-link { color: rgba(255,255,255,.58); text-align: center; font-size: 11px; font-weight: 850; }
.agent-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 24px; align-items: stretch; }
.agent-layout > img { width: 100%; height: 100%; min-height: 440px; object-fit: contain; border: 1px solid var(--line); background: #fff; cursor: zoom-in; }
.agent-jobs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.agent-jobs article { padding: 17px; border-top: 4px solid var(--coral); background: var(--wash); }
.agent-jobs article:nth-child(even) { border-color: var(--green); }
.agent-jobs b { font-size: 15px; }
.agent-jobs p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.knowledge-band { background: #253238; color: #fff; }
.knowledge-band .summary { color: rgba(255,255,255,.72); }
.knowledge-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; }
.interface-frame { padding: 12px; border: 1px solid rgba(255,255,255,.22); background: #fff; }
.interface-frame img { width: 100%; height: 520px; object-fit: contain; cursor: zoom-in; }
.fact-sheet { padding: 24px; background: rgba(255,255,255,.08); }
.fact-sheet > small { color: #ff9b87; font-weight: 900; }
.fact-sheet p { display: grid; grid-template-columns: 105px 1fr; gap: 12px; margin: 0; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.fact-sheet b { color: #fff; }
.fact-sheet span { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.6; }
.tracking-topics { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 18px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.tracking-topics span { padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 15px; line-height: 1.65; }
.tracking-topics b { display: block; margin-bottom: 5px; color: var(--ink); }
.dashboard-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; }
.dashboard-grid figure { margin: 0; border: 1px solid var(--line); background: #fff; }
.dashboard-grid figure:first-child { grid-row: 1 / 3; }
.dashboard-grid img { width: 100%; height: 220px; object-fit: contain; cursor: zoom-in; }
.dashboard-grid figure:first-child img { height: 500px; }
.dashboard-grid figcaption { padding: 12px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.cert-band { background: #f4f5f3; }
.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.cert-grid figure, .security-grid figure { margin: 0; padding: 16px; border-top: 4px solid var(--coral); background: #fff; text-align: center; }
.cert-grid img { width: 100%; height: 210px; object-fit: contain; cursor: zoom-in; }
.cert-grid figcaption, .security-grid figcaption { margin-top: 10px; font-size: 15px; font-weight: 800; }
.security-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.security-grid figure { border-color: var(--green); }
.security-grid img { width: 100%; height: 130px; object-fit: contain; cursor: zoom-in; }

/* CTA and overlays */
.cta { padding: 82px 0 44px; background: var(--deep); color: #fff; }
.cta-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 58px; }
.cta small { color: #ff9b87; font-weight: 900; }
.cta h2 { margin-top: 13px; }
.cta p { margin: 18px 0 0; color: rgba(255,255,255,.68); line-height: 1.7; }
.cta-action ol { margin: 0 0 22px; padding-left: 22px; color: rgba(255,255,255,.78); line-height: 1.8; }
.cta-action button { width: 100%; padding: 15px 18px; border: 0; border-radius: 4px; background: var(--coral); color: #fff; font-weight: 900; }
.cta-contact { grid-column: 1 / -1; margin-top: 0 !important; font-size: 17px; }
.lightbox { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; padding: 32px; background: rgba(18, 20, 22, .92); }
.lightbox.open { display: flex; }
.lightbox img { max-width: min(94vw, 1680px); max-height: 90vh; object-fit: contain; box-shadow: 0 24px 80px rgba(0,0,0,.38); }
.lightbox-close, .dialog-close { position: fixed; top: 18px; right: 22px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 28px; line-height: 1; }
.brief-dialog { width: min(620px, calc(100% - 28px)); padding: 34px; border: 0; border-radius: 6px; color: var(--ink); box-shadow: 0 25px 85px rgba(0,0,0,.28); }
.brief-dialog::backdrop { background: rgba(18,20,22,.76); }
.brief-dialog .dialog-close { position: absolute; top: 12px; right: 12px; border-color: var(--line); background: #fff; color: var(--ink); }
.brief-dialog > small { color: var(--coral-dark); font-weight: 900; }
.brief-dialog h2 { margin: 9px 0 20px; font-size: 31px; }
.brief-dialog p { display: grid; grid-template-columns: 110px 1fr; gap: 14px; margin: 0; padding: 13px 0; border-top: 1px solid var(--line); }
.brief-dialog span { color: var(--muted); }
.brief-dialog > strong { display: block; margin-top: 20px; padding: 16px; background: var(--green-soft); color: var(--green); }

@media (max-width: 980px) {
  :root { --topbar: 52px; }
  .topbar { justify-content: flex-start; padding: 0 10px; }
  .topnav { justify-content: flex-start; }
  .wrap { width: min(100% - 30px, 760px); }
  .band { padding: 56px 0; }
  .section-head, .capability-heading, .proximity-meter, .halfday-story, .reputation-ledger, .info-mixer, .visit-balance, .agent-layout, .knowledge-layout, .cta-grid { grid-template-columns: 1fr; gap: 25px; }
  .hero { min-height: 720px; background-position: 62% center; }
  .hero::before { background: rgba(18,20,22,.61); }
  .hero h1 { max-width: 700px; }
  .hero-route { width: calc(100% - 30px); }
  .meter-line { height: 170px; }
  .story-track { grid-template-columns: repeat(4, 1fr); }
  .journey-map { min-height: 630px; }
  .journey-map::before { inset: 90px 70px; }
  .journey-map li:nth-child(1) { left: 0; top: 20px; }
  .journey-map li:nth-child(2) { left: calc(50% - 107px); top: 0; }
  .journey-map li:nth-child(3) { right: 0; top: 20px; }
  .journey-map li:nth-child(4) { right: 0; top: 220px; }
  .journey-map li:nth-child(5) { right: 0; bottom: 12px; }
  .journey-map li:nth-child(6) { left: calc(50% - 107px); bottom: 0; }
  .journey-map li:nth-child(7) { left: 0; bottom: 12px; }
  .journey-map li:nth-child(8) { left: 0; top: 220px; }
  .ledger-arrow { min-height: 38px; }
  .ledger-arrow::after { content: "↓"; }
  .problem-layout { grid-template-columns: 1fr; }
  .problem-controls { position: static; overflow: hidden; }
  .problem-tabs { display: flex; overflow-x: auto; }
  .problem-tab { flex: 0 0 225px; }
  .problem-panel { min-height: 0; }
  .impression-chain { grid-template-columns: repeat(3, 1fr); }
  .impression-chain div:nth-child(3)::after { display: none; }
  .diverging-lines { grid-template-columns: 1fr; }
  .distance-gap { min-height: 60px; }
  .distance-gap::before, .distance-gap::after { display: none; }
  .distance-gap em { writing-mode: horizontal-tb; }
  .data-grid, .mission-routes, .first-wave { grid-template-columns: 1fr; }
  .data-grid article, .data-grid article:first-child, .data-grid article:last-child { padding: 23px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .data-grid article:last-child { border-bottom: 0; }
  .question-ribbon { grid-template-columns: 1fr 1fr; }
  .feedback-loop, .tree-branches, .remodel-steps { grid-template-columns: 1fr 1fr; }
  .feedback-loop div:nth-child(2)::after { display: none; }
  .remodel-sheet { grid-template-columns: 1fr 34px 1fr 34px 1fr; }
  .diagnosis-table { min-height: 680px; }
  .diagnosis-table article:nth-of-type(1) { left: 0; top: 10px; }
  .diagnosis-table article:nth-of-type(2) { right: 0; top: 10px; }
  .diagnosis-table article:nth-of-type(3) { left: 0; bottom: 10px; }
  .diagnosis-table article:nth-of-type(4) { right: 0; bottom: 10px; }
  .diagnosis-table article:nth-of-type(5) { top: 145px; }
  .diagnosis-output { grid-template-columns: 140px 1fr 1fr; }
  .diagnosis-output b { grid-row: 1 / 3; }
  .experience-numbers { grid-template-columns: 1fr 1fr; }
  .experience-numbers div:nth-child(2) { border-right: 0; }
  .tech-layer { grid-template-columns: 160px 1fr; }
  .tech-modules { grid-template-columns: repeat(3, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-grid figure:first-child { grid-row: auto; }
  .dashboard-grid img, .dashboard-grid figure:first-child img { height: auto; max-height: 520px; }
  .tracking-topics { grid-template-columns: 1fr 1fr; }
  .security-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 620px) {
  .wrap { width: min(100% - 24px, 520px); }
  .band { padding: 47px 0; }
  h1, .hero h1 { font-size: 35px; }
  h2 { font-size: 25px; }
  .section-head { display: block; }
  .section-head .summary { margin-top: 13px; }
  .section-kicker { margin-bottom: 17px; padding: 6px 9px; font-size: 13px; }
  .hero { min-height: 690px; padding: calc(var(--topbar) + 42px) 0 82px; background-position: 59% center; }
  .hero h1 span { font-size: .55em; }
  .hero-lead { font-size: 16px; line-height: 1.72; }
  .hero blockquote { font-size: 15px; }
  .proximity-meter { gap: 14px; }
  .meter-line span { padding-inline: 2px; font-size: 11px; }
  .story-track { grid-template-columns: 1fr; grid-template-rows: none; gap: 28px; padding: 16px; }
  .story-track span:nth-child(n) { grid-area: auto; }
  .story-track span:nth-child(n)::after { content: "↓"; position: absolute; left: 50%; right: auto; bottom: -25px; color: var(--green); font-size: 18px; transform: translateX(-50%); }
  .story-track span:last-child::after { display: none; }
  .arrival-reasons { grid-template-columns: 1fr; }
  .arrival-reasons p { grid-template-columns: 100px 1fr; }
  .journey-map, .diagnosis-table { min-height: auto; display: grid; gap: 9px; }
  .journey-map::before, .diagnosis-table::before { display: none; }
  .mall-core, .journey-map li, .table-center, .diagnosis-table article { position: static !important; inset: auto !important; transform: none !important; width: 100%; height: auto; min-height: 0; }
  .mall-core, .table-center { border-radius: 0; padding: 20px; }
  .journey-map li { box-shadow: none; }
  .receipt-head, .receipt-row { grid-template-columns: 1fr; gap: 6px; }
  .receipt-total { grid-template-columns: 1fr; gap: 7px; }
  .receipt-total i { transform: rotate(90deg); }
  .receipt-row em { text-align: left; }
  .ledger-sources p { grid-template-columns: 85px 1fr; }
  .problem-panel { padding: 18px; }
  .problem-detail { grid-template-columns: 1fr; margin-left: 16px; }
  .problem-detail p, .problem-detail p + p { padding: 9px 0; border-left: 0; border-bottom: 1px solid rgba(44,50,54,.12); }
  .impression-chain, .early-exit, .question-ribbon, .feedback-loop, .truth-split, .balance-note, .remodel-steps, .tree-branches, .experience-numbers, .experience-copy, .tracking-topics, .cert-grid, .security-grid { grid-template-columns: 1fr; }
  .impression-chain div::after, .impression-chain div:nth-child(3)::after, .feedback-loop div::after { display: none; }
  .early-exit i { min-height: 24px; transform: rotate(90deg); }
  .project-line, .customer-line { grid-template-columns: 1fr; }
  .question-ribbon span { min-height: 64px; }
  .proof-links { align-items: flex-start; flex-direction: column; }
  .center-query { padding: 18px; font-size: 20px; }
  .mixer-inputs p { grid-template-columns: 1fr; gap: 5px; }
  .remodel-sheet { grid-template-columns: 1fr; gap: 8px; }
  .remodel-sheet i { min-height: 28px; transform: rotate(90deg); }
  .diagnosis-output { grid-template-columns: 1fr; }
  .diagnosis-output b { grid-row: auto; }
  .diagnosis-output span { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .interpret-path { grid-template-columns: 1fr; gap: 9px; }
  .interpret-path i { transform: rotate(90deg); }
  .experience-numbers div, .experience-numbers div:first-child { padding: 19px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .tech-layer { grid-template-columns: 1fr; }
  .tech-modules { grid-template-columns: 1fr 1fr; }
  .tech-modules span { min-height: 70px; border-top: 1px solid rgba(255,255,255,.18); }
  .agent-jobs { grid-template-columns: 1fr; }
  .agent-layout > img { min-height: 0; }
  .interface-frame img { height: auto; }
  .fact-sheet p { grid-template-columns: 1fr; gap: 5px; }
  .cert-grid img { height: auto; max-height: 220px; }
  .security-grid img { height: auto; max-height: 160px; }
  .cta { padding-top: 58px; }
  .brief-dialog { padding: 26px 20px; }
  .brief-dialog p { grid-template-columns: 1fr; gap: 4px; }
  .lightbox { padding: 12px; }
}

@media (max-width: 370px) {
  h1, .hero h1 { font-size: 32px; }
  .problem-tab { flex-basis: 205px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
