@charset "utf-8";

:root { --ink: #0d171a; --deep: #10252c; --deep2: #17363c; --paper: #f6f5ef; --white: #fff; --muted: #687477; --line: #d9ddd7; --olive: #8b8e21; --olive2: #a8a947; --soft: #eceee6; --teal: #1e6c67; --gold: #d5be63; --danger: #a2503c; --radius: 20px; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { margin: 0px; background: linear-gradient(rgb(248, 247, 242), rgb(243, 242, 235)); color: var(--ink); font-family: Inter, system-ui, sans-serif; }

button, input, select, textarea { font: inherit; }

button { color: inherit; }

a { text-decoration: none; color: inherit; }

.shell { width: min(1050px, 100% - 32px); margin: auto; }

.topbar { height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0px max(16px, -525px + 50vw); background: rgba(246, 245, 239, 0.9); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(0, 0, 0, 0.06); position: sticky; top: 0px; z-index: 20; }

.brand { display: flex; align-items: center; gap: 10px; }

.mark { font-size: 27px; transform: rotate(-25deg); display: inline-block; }

.brand b { font-size: 12px; letter-spacing: 0.34em; display: block; }

.brand small { font-size: 7px; letter-spacing: 0.55em; display: block; }

.top-actions { display: flex; align-items: center; gap: 22px; font-size: 12px; font-weight: 700; color: var(--muted); }

.secure { color: var(--teal); }

.intro { padding: 58px 0px 30px; background: radial-gradient(circle at 82% 20%, rgba(65, 118, 111, 0.18), transparent 24%), linear-gradient(140deg, rgb(251, 250, 245), rgb(239, 241, 233)); }

.intro-grid { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 48px; align-items: center; }

.eyebrow, .small-kicker { font-size: 11px; letter-spacing: 0.16em; font-weight: 900; color: var(--olive); }

h1, h2, h3 { font-family: Manrope, Inter, sans-serif; }

h1 { font-size: clamp(44px, 6vw, 70px); letter-spacing: -0.05em; line-height: 1; margin: 13px 0px 18px; }

.lead { font-size: 18px; line-height: 1.6; color: rgb(77, 91, 93); max-width: 760px; }

.mini-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; }

.mini-row span { font-size: 11px; font-weight: 800; padding: 7px 10px; border: 1px solid rgb(214, 218, 211); border-radius: 999px; background: rgba(255, 255, 255, 0.65); }

.micro-dashboard { background: var(--deep); color: white; border-radius: 20px; padding: 20px; box-shadow: rgba(15, 38, 44, 0.18) 0px 22px 50px; }

.md-head, .md-row { display: flex; justify-content: space-between; gap: 18px; align-items: center; }

.md-head { font-size: 9px; letter-spacing: 0.15em; color: rgb(159, 182, 178); padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

.md-row { font-size: 12px; padding: 12px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.07); }

.md-row span { color: rgb(174, 192, 189); }

.md-row b { font-size: 11px; color: rgb(213, 217, 130); text-align: right; }

.progress-wrap { padding-top: 26px; }

.step-labels { display: grid; grid-template-columns: repeat(6, 1fr); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: rgb(154, 163, 161); margin-bottom: 8px; }

.step-labels span.active { color: var(--olive); font-weight: 900; }

.progress-track { height: 5px; background: rgb(224, 227, 220); border-radius: 999px; overflow: hidden; }

.progress-track div { height: 100%; width: 0px; background: var(--olive); transition: 0.25s; }

.diagnostic-card { background: white; border: 1px solid var(--line); border-radius: 24px; padding: 34px; margin-top: 22px; margin-bottom: 70px; box-shadow: rgba(15, 32, 34, 0.07) 0px 18px 50px; }

.step { display: none; }

.step.active { display: block; }

.step-no { font-size: 10px; letter-spacing: 0.15em; font-weight: 900; color: var(--olive); margin-bottom: 10px; }

h2 { font-size: clamp(31px, 4vw, 46px); line-height: 1.08; letter-spacing: -0.04em; margin: 0px 0px 10px; }

.hint { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0px 0px 26px; }

.hint.compact { margin-bottom: 15px; }

.field { margin: 26px 0px; }

.field > label, .slider-instrument label { display: block; font-size: 15px; font-weight: 800; margin-bottom: 10px; }

.soft-label { font-weight: 500; color: var(--muted); font-size: 12px; }

input[type="text"], input[type="email"], input[type="tel"], select, textarea { width: 100%; border: 1px solid rgb(204, 210, 204); border-radius: 12px; background: rgb(255, 255, 255); padding: 13px 14px; color: var(--ink); outline: none; }

input:focus, select:focus, textarea:focus { border-color: rgb(142, 157, 112); box-shadow: rgba(139, 142, 33, 0.1) 0px 0px 0px 3px; }

textarea { min-height: 120px; resize: vertical; line-height: 1.5; }

.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.select-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

.select-card { border: 1px solid rgb(215, 219, 213); background: rgb(255, 255, 255); border-radius: 16px; padding: 18px; text-align: left; cursor: pointer; min-height: 150px; transition: 0.18s; }

.select-card:hover { border-color: rgb(154, 163, 125); transform: translateY(-1px); }

.select-card.selected { border-color: var(--olive); background: rgb(242, 242, 231); box-shadow: inset 0 0 0 1px var(--olive); }

.select-card .icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgb(237, 240, 234); margin-bottom: 22px; color: var(--teal); font-weight: 900; }

.select-card b { display: block; font-size: 15px; line-height: 1.25; margin-bottom: 7px; }

.select-card small { color: var(--muted); font-size: 11px; line-height: 1.4; }

.domain-switch, .segmented { display: flex; gap: 8px; flex-wrap: wrap; margin: 22px 0px; }

.domain-switch button, .segmented button { border: 1px solid rgb(211, 216, 210); border-radius: 999px; background: rgb(247, 248, 244); padding: 10px 14px; font-weight: 800; font-size: 12px; cursor: pointer; }

.domain-switch button.active, .segmented button.selected { background: var(--deep); color: white; border-color: var(--deep); }

.instrument-box { padding: 22px; background: rgb(245, 246, 241); border: 1px solid rgb(223, 226, 219); border-radius: 18px; margin: 15px 0px 26px; }

.instrument-box h3 { margin: 0px 0px 6px; font-size: 20px; }

.instrument-box p { margin: 0px 0px 16px; color: var(--muted); font-size: 13px; }

.instrument-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }

.instrument-grid button { background: white; border: 1px solid rgb(211, 216, 209); border-radius: 12px; padding: 12px 10px; font-size: 12px; font-weight: 700; cursor: pointer; }

.instrument-grid button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.chip-set, .capability-grid { display: flex; flex-wrap: wrap; gap: 8px; }

.chip-set button { padding: 9px 12px; border-radius: 999px; border: 1px solid rgb(212, 216, 210); background: rgb(255, 255, 255); cursor: pointer; font-size: 12px; font-weight: 700; }

.chip-set button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.slider-instrument { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; padding: 22px; border: 1px solid rgb(217, 221, 214); border-radius: 16px; background: rgb(250, 250, 247); margin: 28px 0px; }

.slider-instrument p { font-size: 12px; color: var(--muted); margin: 5px 0px; }

.slider-side input { width: 100%; accent-color: var(--olive); }

.range-labels { display: flex; justify-content: space-between; font-size: 9px; color: var(--muted); margin-top: 5px; }

.slider-side strong { display: block; text-align: center; margin-top: 13px; color: var(--teal); }

.maturity-instrument { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }

.maturity-instrument button { border: 1px solid rgb(215, 219, 212); border-radius: 15px; background: rgb(255, 255, 255); padding: 18px 13px; text-align: left; cursor: pointer; min-height: 170px; }

.maturity-instrument button.selected { background: var(--deep); border-color: var(--deep); color: white; }

.maturity-instrument span { display: block; color: var(--olive); font-size: 12px; font-weight: 900; }

.maturity-instrument b { display: block; margin: 25px 0px 8px; font-size: 15px; }

.maturity-instrument small { color: var(--muted); font-size: 10px; line-height: 1.45; }

.maturity-instrument button.selected small { color: rgb(188, 201, 198); }

.subhead { font-size: 18px; font-weight: 900; margin: 34px 0px 5px; }

.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); }

.capability-grid button { display: flex; align-items: center; gap: 8px; text-align: left; border: 1px solid rgb(212, 216, 210); border-radius: 13px; background: rgb(255, 255, 255); padding: 12px; cursor: pointer; font-size: 11px; font-weight: 750; }

.capability-grid button span { color: var(--teal); font-size: 16px; }

.capability-grid button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.outcome-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }

.outcome-grid button { border: 1px solid rgb(213, 217, 211); border-radius: 15px; background: white; padding: 14px; text-align: left; cursor: pointer; min-height: 145px; }

.outcome-grid button.selected { background: rgb(16, 37, 44); color: white; border-color: rgb(16, 37, 44); }

.outcome-grid span { display: block; color: var(--olive); font-size: 20px; }

.outcome-grid b { display: block; font-size: 13px; line-height: 1.25; margin: 14px 0px 6px; }

.outcome-grid small { font-size: 10px; color: var(--muted); line-height: 1.4; }

.outcome-grid button.selected small { color: rgb(188, 200, 197); }

.consent { gap: 10px; align-items: flex-start; line-height: 1.5; display: flex !important; font-size: 12px !important; font-weight: 500 !important; }

.consent input { margin-top: 3px; }

.nav-row { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgb(225, 227, 221); }

.nav-right { display: flex; align-items: center; gap: 12px; }

.nav-right span { font-size: 11px; color: var(--danger); }

.btn { border: 0px; border-radius: 11px; padding: 12px 17px; font-weight: 850; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; }

.primary { background: var(--deep); color: white; }

.secondary { background: rgb(236, 239, 233); color: var(--ink); }

.result-step h2 { font-size: 42px; }

.result-top { display: grid; grid-template-columns: 1fr 140px; gap: 30px; align-items: center; }

.overall-score { width: 130px; height: 130px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: conic-gradient(var(--olive) 0deg,#e6e9e2 0deg); border: 8px solid rgb(240, 242, 236); }

.overall-score strong { font-size: 38px; line-height: 1; }

.overall-score span { font-size: 10px; font-weight: 800; color: var(--muted); }

.score-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin: 28px 0px; }

.score-grid div { border: 1px solid rgb(216, 220, 213); border-radius: 14px; padding: 16px; background: rgb(250, 250, 247); }

.score-grid strong { font-size: 27px; display: block; }

.score-grid span { font-size: 10px; color: var(--muted); }

.result-columns { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 14px; margin-top: 14px; }

.result-columns article { padding: 22px; border: 1px solid rgb(216, 221, 213); border-radius: 17px; background: rgb(255, 255, 255); }

.recommendation { background: linear-gradient(135deg, rgb(245, 246, 238), rgb(255, 255, 255)) !important; }

.result-columns h3 { font-size: 22px; margin: 8px 0px; }

.result-columns p { font-size: 13px; color: var(--muted); line-height: 1.55; }

.mission-list { display: grid; gap: 8px; margin-top: 16px; }

.mission-item { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 11px; border-radius: 11px; background: rgb(241, 243, 237); }

.mission-item span { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; background: var(--deep); color: white; font-size: 10px; font-weight: 800; }

.mission-item b { font-size: 12px; }

.mission-item small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }

.maturity-route { display: flex; gap: 5px; margin: 18px 0px; }

.maturity-route span { flex: 1 1 0%; padding: 10px 2px; border-radius: 8px; background: rgb(236, 239, 233); text-align: center; font-size: 10px; font-weight: 800; }

.maturity-route span.current { background: var(--olive); color: white; }

.maturity-route span.next { outline: 2px solid var(--olive); }

.result-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }

.result-chips span { padding: 7px 9px; border-radius: 999px; background: rgb(237, 240, 232); font-size: 10px; font-weight: 750; }

.result-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 17px; }

.disclaimer { font-size: 10px; color: rgb(138, 148, 145); margin-top: 22px; }

footer { background: var(--deep); color: rgb(206, 216, 214); padding: 24px 0px; }

footer .shell { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; }

footer b { letter-spacing: 0.2em; color: white; }

@media (max-width: 850px) {
  .intro-grid, .result-columns, .slider-instrument { grid-template-columns: 1fr; }
  .select-cards { grid-template-columns: repeat(2, 1fr); }
  .outcome-grid { grid-template-columns: repeat(2, 1fr); }
  .capability-grid { grid-template-columns: repeat(3, 1fr); }
  .maturity-instrument { grid-template-columns: repeat(2, 1fr); }
  .instrument-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .topbar { height: 64px; }
  .top-actions .secure { display: none; }
  .intro { padding-top: 42px; }
  .intro-grid { gap: 25px; }
  h1 { font-size: 46px; }
  .diagnostic-card { padding: 20px; border-radius: 18px; }
  .step-labels { display: none; }
  .select-cards, .two, .outcome-grid, .capability-grid, .maturity-instrument { grid-template-columns: 1fr; }
  .select-card { min-height: auto; }
  .outcome-grid button, .maturity-instrument button { min-height: auto; }
  .result-top { grid-template-columns: 1fr; }
  .overall-score { width: 110px; height: 110px; }
  .score-grid { grid-template-columns: repeat(2, 1fr); }
  .result-step h2 { font-size: 34px; }
  .nav-row { align-items: flex-end; }
  .nav-right { flex-direction: column; align-items: flex-end; }
  footer .shell { flex-direction: column; }
}

.submission-status { margin-top: 18px; padding: 11px 13px; border-radius: 10px; font-size: 11px; font-weight: 750; display: none; }

.submission-status.saving, .submission-status.saved, .submission-status.error { display: block; }

.submission-status.saving { background: rgb(238, 240, 229); color: rgb(93, 100, 25); }

.submission-status.saved { background: rgb(232, 242, 237); color: rgb(30, 108, 103); }

.submission-status.error { background: rgb(246, 233, 229); color: rgb(143, 70, 54); }

.hidden { display: none !important; }

.step-labels { grid-template-columns: repeat(8, 1fr); }

.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }

.category-grid button { border: 1px solid rgb(212, 216, 210); border-radius: 14px; background: rgb(255, 255, 255); padding: 13px; text-align: left; cursor: pointer; font-size: 12px; font-weight: 800; }

.category-grid button small { display: block; color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.4; margin-top: 5px; }

.category-grid button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.format-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }

.format-selector button, .pricing-model-grid button { border: 1px solid rgb(212, 216, 210); border-radius: 11px; background: white; padding: 10px; font-size: 11px; font-weight: 750; cursor: pointer; }

.format-selector button.selected, .pricing-model-grid button.selected { background: var(--deep); color: white; border-color: var(--deep); }

.evidence-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }

.evidence-scale button { border: 1px solid rgb(214, 218, 212); border-radius: 12px; background: rgb(255, 255, 255); padding: 12px 8px; cursor: pointer; }

.evidence-scale button b, .evidence-scale button span { display: block; }

.evidence-scale button b { font-size: 18px; color: var(--olive); }

.evidence-scale button span { font-size: 9px; color: var(--muted); margin-top: 4px; }

.evidence-scale button.selected { background: var(--deep); border-color: var(--deep); }

.evidence-scale button.selected span { color: rgb(196, 209, 206); }

.currency-banner { display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid rgb(216, 221, 213); border-radius: 16px; background: rgb(245, 246, 240); padding: 16px 18px; margin: 22px 0px; }

.currency-banner strong { display: block; margin-top: 5px; font-size: 15px; }

.currency-banner > span { font-size: 24px; font-weight: 900; color: var(--olive); }

.scale-cards, .budget-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }

.scale-cards button, .budget-cards button { border: 1px solid rgb(212, 216, 210); border-radius: 13px; background: white; padding: 13px; text-align: left; cursor: pointer; }

.scale-cards button b, .budget-cards button b { display: block; font-size: 12px; }

.scale-cards button small, .budget-cards button small { display: block; color: var(--muted); font-size: 9px; margin-top: 4px; }

.scale-cards button.selected, .budget-cards button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

.pricing-lab { margin-top: 30px; border-top: 1px solid rgb(223, 226, 220); padding-top: 24px; }

.pricing-intro { background: rgb(243, 244, 237); border-left: 4px solid var(--olive); padding: 16px 18px; border-radius: 10px; margin-bottom: 10px; }

.pricing-intro h3 { margin: 7px 0px; font-size: 18px; }

.pricing-intro p { margin: 0px; color: var(--muted); font-size: 11px; }

.pricing-model-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }

.observed-facts { display: grid; gap: 7px; margin-top: 12px; }

.observed-facts div { padding: 10px 11px; background: rgb(240, 242, 236); border-radius: 10px; font-size: 11px; }

.score-grid { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 850px) {
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .scale-cards, .budget-cards { grid-template-columns: repeat(2, 1fr); }
  .three { grid-template-columns: 1fr; }
  .score-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
  .category-grid, .scale-cards, .budget-cards, .pricing-model-grid, .format-selector, .evidence-scale { grid-template-columns: 1fr; }
  .score-grid { grid-template-columns: repeat(2, 1fr); }
}

.step-labels { grid-template-columns: repeat(9, 1fr); }

.intent-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }

.intent-grid button { border: 1px solid rgb(214, 218, 211); background: rgb(255, 255, 255); border-radius: 13px; padding: 14px; text-align: left; cursor: pointer; }

.intent-grid button b { display: block; font-size: 12px; }

.intent-grid button small { display: block; color: var(--muted); font-size: 9px; line-height: 1.4; margin-top: 5px; }

.intent-grid button.selected { background: rgb(16, 37, 44); color: rgb(255, 255, 255); border-color: rgb(16, 37, 44); }

.intent-grid button.selected small { color: rgb(191, 205, 202); }

.authority-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }

.authority-scale button { border: 1px solid rgb(214, 218, 211); background: white; border-radius: 11px; padding: 11px 7px; cursor: pointer; text-align: center; }

.authority-scale b, .authority-scale span { display: block; }

.authority-scale b { color: var(--olive); font-size: 17px; }

.authority-scale span { font-size: 8px; color: var(--muted); margin-top: 4px; line-height: 1.3; }

.authority-scale button.selected { background: rgb(16, 37, 44); color: rgb(255, 255, 255); border-color: rgb(16, 37, 44); }

.authority-scale button.selected span { color: rgb(189, 203, 200); }

.evidence-pack { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }

.evidence-pack button { border: 1px solid rgb(213, 217, 210); background: rgb(255, 255, 255); border-radius: 11px; padding: 10px; font-size: 10px; font-weight: 750; cursor: pointer; }

.evidence-pack button.selected { background: rgb(237, 240, 221); border-color: var(--olive); }

.profile-summary-band { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 18px 0px; }

.profile-summary-band > div { background: rgb(16, 37, 44); color: rgb(255, 255, 255); border-radius: 13px; padding: 14px; }

.profile-summary-band span, .profile-summary-band strong { display: block; }

.profile-summary-band span { font-size: 8px; letter-spacing: 0.12em; color: rgb(159, 180, 177); }

.profile-summary-band strong { font-size: 14px; margin-top: 7px; color: rgb(228, 231, 141); }

.snapshot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-top: 12px; }

.snapshot-grid div { background: rgb(242, 244, 238); border-radius: 10px; padding: 10px; }

.snapshot-grid span, .snapshot-grid b { display: block; }

.snapshot-grid span { font-size: 8px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; }

.snapshot-grid b { font-size: 11px; margin-top: 4px; }

.economics-summary { display: grid; gap: 8px; margin-top: 12px; }

.economics-summary div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0px; border-bottom: 1px solid rgb(226, 229, 223); font-size: 11px; }

.economics-summary span { color: var(--muted); }

.economics-summary b { text-align: right; }

@media (max-width: 850px) {
  .intent-grid { grid-template-columns: 1fr 1fr; }
  .authority-scale { grid-template-columns: repeat(3, 1fr); }
  .evidence-pack { grid-template-columns: repeat(3, 1fr); }
  .profile-summary-band { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .intent-grid, .authority-scale, .evidence-pack, .profile-summary-band, .snapshot-grid { grid-template-columns: 1fr; }
}

.geo-panel { margin: 28px 0px 8px; padding: 22px; border: 1px solid rgb(217, 221, 214); border-radius: 18px; background: rgb(250, 250, 246); }

.geo-panel h3 { font-size: 20px; margin: 7px 0px 5px; }

.geo-panel > p { font-size: 12px; color: var(--muted); margin: 0px 0px 8px; }

.compact-field { margin: 16px 0px; }

.footprint-grid, .physical-system-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }

.footprint-grid button, .physical-system-grid button { border: 1px solid rgb(212, 216, 210); background: rgb(255, 255, 255); border-radius: 13px; padding: 13px; text-align: left; cursor: pointer; }

.footprint-grid button b, .footprint-grid button small, .physical-system-grid button b { display: block; }

.footprint-grid button b, .physical-system-grid button b { font-size: 11px; }

.footprint-grid button small { font-size: 9px; color: var(--muted); line-height: 1.35; margin-top: 5px; }

.footprint-grid button.selected, .physical-system-grid button.selected { background: rgb(237, 240, 221); border-color: var(--olive); box-shadow: inset 0 0 0 1px var(--olive); }

.micro-help { font-size: 11px; color: var(--muted); margin: -3px 0px 12px; line-height: 1.45; }

.category-grid button { min-height: 78px; display: flex; flex-direction: column; justify-content: flex-start; gap: 5px; overflow: hidden; }

.category-grid button small { display: block !important; margin: 0px !important; }

.format-selector button { min-height: 42px; }

@media (max-width: 850px) {
  .footprint-grid, .physical-system-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .footprint-grid, .physical-system-grid { grid-template-columns: 1fr; }
  .category-grid button { min-height: auto; }
}

.geo-capture { margin: 18px 0px; padding: 16px; border: 1px dashed rgb(203, 211, 202); border-radius: 14px; background: rgb(242, 245, 240); }

.geo-capture { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 12px 18px; align-items: start; }

.geo-capture-copy b { display: block; font-size: 13px; margin-top: 5px; }

.geo-capture-copy p { font-size: 10px; line-height: 1.45; color: var(--muted); margin: 5px 0px 0px; }

.geo-actions { display: flex; justify-content: flex-end; gap: 8px; align-items: center; }

.compact-btn { padding: 9px 11px !important; font-size: 10px !important; }

.text-action { border: 0px; background: transparent; color: var(--teal); font-size: 10px; font-weight: 800; cursor: pointer; padding: 8px 4px; }

.coordinate-grid { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.geo-status { grid-column: 1 / -1; font-size: 9px; color: var(--muted); }

.measure-control, .input-with-unit { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: stretch; }

.measure-control input, .input-with-unit input { min-width: 0px; border-radius: 11px 0px 0px 11px !important; border-right: 0px !important; }

.measure-control select { width: auto; min-width: 112px; background: rgb(241, 243, 238); font-weight: 800; color: var(--deep); border-radius: 0px 11px 11px 0px !important; }

.input-with-unit span { display: flex; align-items: center; justify-content: center; min-width: 64px; padding: 0px 11px; border-width: 1px 1px 1px 0px; border-style: solid solid solid none; border-color: rgb(207, 213, 207) rgb(207, 213, 207) rgb(207, 213, 207) currentcolor; border-image: none; border-radius: 0px 11px 11px 0px; background: rgb(241, 243, 238); color: var(--deep); font-size: 10px; font-weight: 850; white-space: nowrap; }

.compact-measure { max-width: 420px; }

.unit-field label { display: block; font-size: 12px; font-weight: 800; margin-bottom: 8px; }

.measurement-card { border: 1px solid rgb(217, 221, 214); border-radius: 16px; padding: 18px; background: rgb(250, 250, 246); }

.measurement-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }

.measurement-heading label, .measurement-heading h3 { margin: 0px; }

.measurement-heading h3 { font-size: 18px; margin-top: 5px; }

.measurement-heading p { font-size: 10px; line-height: 1.5; color: var(--muted); margin: 5px 0px 0px; max-width: 620px; }

.measurement-heading > strong { font-size: 11px; color: var(--olive); text-align: right; max-width: 220px; }

.bag-weight-row { margin-top: 10px; display: grid; grid-template-columns: 110px minmax(0px, 280px); gap: 10px; align-items: center; }

.bag-weight-row label { font-size: 10px; font-weight: 800; }

.measurement-panel { margin: 20px 0px; padding: 20px; border: 1px solid rgb(216, 221, 213); border-radius: 17px; background: rgb(250, 250, 246); }

.measurement-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }

.result-data-action { margin-left: 2px; }

@media (max-width: 850px) {
  .geo-capture { grid-template-columns: 1fr; }
  .geo-actions { justify-content: flex-start; }
  .coordinate-grid { grid-template-columns: 1fr 1fr; }
  .measurement-grid { grid-template-columns: 1fr; }
  .measurement-heading { display: block; }
  .measurement-heading > strong { display: block; text-align: left; margin-top: 8px; }
}

@media (max-width: 600px) {
  .coordinate-grid { grid-template-columns: 1fr; }
  .measure-control select { min-width: 105px; }
  .bag-weight-row { grid-template-columns: 1fr; }
  .geo-actions { flex-wrap: wrap; }
}

@media print {
  .topbar, .progress-wrap, .nav-row, footer, .result-actions, .submission-status { display: none !important; }
  body { background: rgb(255, 255, 255); }
  .diagnostic-card { box-shadow: none; border: 0px; margin: 0px; padding: 0px; }
  .step { display: none !important; }
  .result-step.active { display: block !important; }
}

.system-twin-shell { margin-top: -24px; margin-bottom: 20px; position: relative; z-index: 4; }

.system-twin { background: linear-gradient(145deg, rgb(13, 34, 41), rgb(20, 58, 51)); color: rgb(255, 255, 255); border-radius: 18px; padding: 20px; box-shadow: rgba(16, 37, 44, 0.14) 0px 18px 42px; overflow: hidden; }

.twin-head { display: flex; justify-content: space-between; gap: 22px; align-items: flex-start; }

.twin-head h3 { margin: 5px 0px 3px; font-size: 20px; }

.twin-head p { margin: 0px; color: rgb(183, 199, 192); font-size: 10px; line-height: 1.45; }

.twin-status { text-align: right; }

.twin-status span { display: block; color: rgb(179, 196, 188); font-size: 8px; letter-spacing: 0.12em; }

.twin-status b { font-size: 24px; color: rgb(215, 205, 74); }

.linkage-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: 5px; align-items: stretch; margin-top: 17px; }

.linkage-map > i { display: flex; align-items: center; color: rgb(82, 110, 101); font-style: normal; font-weight: 900; transition: 0.25s; }

.link-node { border: 1px solid rgba(255, 255, 255, 0.11); background: rgba(255, 255, 255, 0.035); color: rgb(215, 225, 221); border-radius: 10px; padding: 10px 9px; text-align: left; cursor: default; min-width: 0px; transition: 0.2s; }

.link-node small { display: block; font-size: 7px; letter-spacing: 0.12em; color: rgb(135, 157, 148); }

.link-node b { display: block; font-size: 10px; line-height: 1.25; margin: 4px 0px; overflow: hidden; text-overflow: ellipsis; }

.link-node span { display: block; font-size: 7px; line-height: 1.32; color: rgb(131, 153, 144); }

.link-node.unlocked { border-color: rgba(211, 203, 67, 0.55); background: rgba(158, 154, 34, 0.11); cursor: pointer; box-shadow: rgba(211, 203, 67, 0.08) 0px 0px 0px 1px inset; }

.link-node.unlocked small { color: rgb(212, 204, 73); }

.link-node.unlocked:hover { transform: translateY(-2px); background: rgba(158, 154, 34, 0.16); }

.link-node.unlocked + i { color: rgb(164, 170, 46); }

.twin-summary-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; margin-top: 12px; }

.twin-summary-grid > div { border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 9px; padding: 9px; background: rgba(255, 255, 255, 0.024); }

.twin-summary-grid span { display: block; font-size: 7px; letter-spacing: 0.11em; color: rgb(127, 151, 141); }

.twin-summary-grid b { display: block; font-size: 9px; line-height: 1.35; margin-top: 4px; color: rgb(216, 225, 221); }

.unlock-line { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; margin-top: 12px; }

.unlock-label { font-size: 7px; font-weight: 900; letter-spacing: 0.1em; color: rgb(141, 160, 151); }

.unlock-track { height: 5px; background: rgba(255, 255, 255, 0.08); border-radius: 999px; overflow: hidden; }

.unlock-track div { height: 100%; width: 0px; background: rgb(176, 173, 41); transition: 0.35s; }

#unlockText { font-size: 8px; color: rgb(169, 187, 179); }

.linkage-story { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.08); font-size: 9px; line-height: 1.5; color: rgb(184, 199, 193); }

.linkage-story strong { color: rgb(235, 232, 110); }

.linkage-workbench { margin: 18px 0px; padding: 16px; border: 1px solid rgb(216, 221, 214); border-radius: 15px; background: linear-gradient(rgb(250, 250, 246), rgb(242, 245, 239)); }

.compact-workbench { margin-top: 18px; }

.workbench-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }

.workbench-head h3 { font-size: 16px; margin: 4px 0px; }

.workbench-head > span { font-size: 9px; color: var(--olive); font-weight: 850; }

.flow-preview, .capability-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 11px; min-height: 44px; }

.flow-empty { font-size: 9px; color: var(--muted); }

.flow-chip, .cap-chip, .flow-core { padding: 8px 9px; border: 1px solid rgb(210, 216, 209); border-radius: 999px; background: rgb(255, 255, 255); font-size: 9px; font-weight: 750; }

.flow-core { background: rgb(23, 59, 50); color: rgb(255, 255, 255); border-color: rgb(23, 59, 50); }

.flow-arrow { font-size: 11px; color: var(--olive); font-weight: 900; }

.cap-chip { border-color: rgb(196, 210, 201); background: rgb(237, 243, 238); }

.fun-fact-card { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 18px 0px -2px; padding: 13px 15px; border: 1px solid rgb(220, 217, 188); border-radius: 13px; background: linear-gradient(110deg, rgb(251, 249, 233), rgb(245, 245, 239)); }

.fun-icon { width: 34px; height: 34px; border-radius: 50%; background: rgb(139, 142, 33); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-size: 16px; }

.fun-copy span { display: block; font-size: 7px; letter-spacing: 0.13em; color: rgb(139, 142, 33); font-weight: 900; }

.fun-copy b { display: block; font-size: 11px; margin: 3px 0px; }

.fun-copy p { font-size: 9px; line-height: 1.45; color: rgb(101, 113, 108); margin: 0px; }

.fun-link { font-size: 8px; font-weight: 900; color: rgb(139, 142, 33); white-space: nowrap; }

.unlock-toast { position: fixed; right: 22px; bottom: 22px; z-index: 80; display: flex; align-items: center; gap: 10px; background: rgb(17, 44, 42); color: rgb(255, 255, 255); border: 1px solid rgba(211, 203, 67, 0.35); border-radius: 12px; padding: 11px 14px; box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 45px; opacity: 0; transform: translateY(14px); pointer-events: none; transition: 0.25s; }

.unlock-toast.show { opacity: 1; transform: translateY(0px); }

.unlock-toast > span { width: 25px; height: 25px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgb(152, 154, 35); font-weight: 900; }

.unlock-toast small { display: block; font-size: 7px; letter-spacing: 0.12em; color: rgb(170, 187, 180); }

.unlock-toast b { display: block; font-size: 10px; margin-top: 2px; }

.quick-values { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }

.quick-values > span { font-size: 8px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 800; }

.quick-values button { border: 1px solid rgb(211, 217, 210); background: rgb(255, 255, 255); border-radius: 999px; padding: 6px 9px; font-size: 8px; font-weight: 800; color: var(--deep); cursor: pointer; }

.quick-values button:hover { border-color: rgb(151, 153, 31); background: rgb(251, 250, 234); }

.measurement-quick { grid-column: 1 / -1; margin-top: -2px; margin-bottom: 2px; }

@media (max-width: 1050px) {
  .linkage-map { grid-template-columns: repeat(4, 1fr); gap: 7px; }
  .linkage-map > i { display: none; }
  .link-node { min-height: 70px; }
  .twin-summary-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 650px) {
  .system-twin-shell { margin-top: -8px; }
  .system-twin { padding: 15px; border-radius: 14px; }
  .twin-head { display: block; }
  .twin-status { text-align: left; margin-top: 10px; display: flex; gap: 8px; align-items: end; }
  .linkage-map { grid-template-columns: repeat(2, 1fr); }
  .twin-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .unlock-line { grid-template-columns: 1fr; }
  .fun-fact-card { grid-template-columns: auto 1fr; }
  .fun-link { grid-column: 2; white-space: normal; }
  .unlock-toast { left: 14px; right: 14px; bottom: 14px; }
  .workbench-head { display: block; }
  .workbench-head > span { display: block; margin-top: 5px; }
}

:root { --paper: #f7f7f3; --deep: #17362f; --olive: #8b8e21; --line: #dde1db; }

body { background: rgb(247, 247, 243); }

.topbar { background: rgba(255, 255, 252, 0.96); height: 66px; }

.intro { padding: 36px 0px 24px; background: linear-gradient(rgb(255, 254, 249), rgb(247, 247, 243)); }

.intro-grid { grid-template-columns: 1.35fr 0.65fr; gap: 34px; }

.intro h1 { font-size: clamp(40px, 5.2vw, 62px); }

.intro-preview-card { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 16px; padding: 17px; box-shadow: rgba(20, 45, 37, 0.04) 0px 8px 24px; }

.intro-preview-card b, .intro-preview-card span { display: block; }

.intro-preview-card b { font-size: 13px; margin: 6px 0px; }

.intro-preview-card span { font-size: 10px; line-height: 1.5; color: var(--muted); }

.discovery-layout { display: grid; grid-template-columns: 330px minmax(0px, 1fr); gap: 22px; align-items: start; margin-top: 18px; }

.discovery-main { min-width: 0px; }

.discovery-side { position: sticky; top: 84px; align-self: start; max-height: calc(-100px + 100vh); overflow: auto; padding-right: 2px; scrollbar-width: thin; }

.discovery-side .micro-dashboard, .system-twin { background: rgb(255, 255, 255); color: var(--ink); border: 1px solid var(--line); box-shadow: rgba(15, 36, 29, 0.04) 0px 8px 26px; border-radius: 16px; padding: 15px; }

.discovery-side .micro-dashboard { margin-bottom: 10px; }

.md-head { color: rgb(110, 123, 116); border-color: rgb(230, 233, 228); }

.md-row { border-color: rgb(237, 240, 235); }

.md-row span { color: rgb(119, 130, 125); }

.md-row b { color: rgb(82, 97, 29); }

.md-head #liveCompletion { color: rgb(82, 97, 29); font-weight: 900; }

.system-twin .twin-head { display: block; }

.system-twin .twin-head h3 { font-size: 16px; color: var(--ink); }

.system-twin .twin-head p { color: var(--muted); }

.twin-status { text-align: left; display: flex; gap: 8px; align-items: end; margin-top: 8px; }

.twin-status span { color: rgb(119, 130, 125); }

.twin-status b { color: rgb(114, 117, 29); font-size: 18px; }

.linkage-map { display: grid; grid-template-columns: 1fr; gap: 6px; margin-top: 12px; }

.linkage-map > i { display: none; }

.link-node { background: rgb(250, 251, 248); color: var(--ink); border-color: rgb(226, 230, 223); min-height: auto; padding: 9px; }

.link-node small { color: rgb(140, 150, 145); }

.link-node b { font-size: 10px; }

.link-node span { font-size: 8px; color: rgb(122, 134, 128); }

.link-node.unlocked { border-color: rgb(186, 188, 104); background: rgb(245, 246, 233); }

.link-node.unlocked small { color: rgb(121, 123, 30); }

.twin-summary-grid { grid-template-columns: 1fr 1fr; }

.twin-summary-grid > div { background: rgb(250, 251, 248); border-color: rgb(231, 234, 229); }

.twin-summary-grid span { color: rgb(139, 149, 144); }

.twin-summary-grid b { color: rgb(51, 68, 61); }

.unlock-track { background: rgb(236, 239, 233); }

.linkage-story { border-color: rgb(231, 234, 229); color: rgb(93, 107, 100); }

.linkage-story strong { color: rgb(102, 109, 29); }

.progress-wrap { padding-top: 4px; }

.diagnostic-card { margin-top: 12px; margin-bottom: 35px; padding: 28px; box-shadow: rgba(15, 32, 34, 0.04) 0px 8px 28px; }

.select-cards.archetypes { grid-template-columns: repeat(2, 1fr); }

.select-card { background: rgb(255, 255, 255); border-color: rgb(223, 228, 221); min-height: 130px; }

.select-card:hover { transform: translateY(-2px); box-shadow: rgba(21, 45, 37, 0.06) 0px 8px 18px; }

.domain-switch { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }

.domain-btn { white-space: normal; min-height: 48px; }

.conditional-panel { margin: 14px 0px; padding: 15px; border: 1px solid rgb(223, 228, 221); border-radius: 13px; background: rgb(250, 251, 247); }

.conditional-panel > label { display: block; font-weight: 800; font-size: 12px; margin-bottom: 8px; }

.inline-other { margin-top: 8px; }

.inline-other input { background: rgb(252, 253, 249); }

.practice-builder { margin-top: 22px; border-top: 1px solid rgb(227, 230, 224); padding-top: 18px; }

.practice-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }

.practice-group { border: 1px solid rgb(223, 228, 221); border-radius: 12px; padding: 11px; background: rgb(250, 251, 248); }

.practice-group > b { display: block; font-size: 8px; letter-spacing: 0.11em; color: rgb(116, 121, 31); margin-bottom: 7px; }

.practice-group button { display: inline-block; border: 1px solid rgb(213, 219, 212); background: rgb(255, 255, 255); border-radius: 999px; padding: 7px 9px; margin: 3px 2px; font-size: 9px; cursor: pointer; }

.practice-group button.selected { background: rgb(23, 54, 47); color: rgb(255, 255, 255); border-color: rgb(23, 54, 47); }

.fun-fact-card { background: rgb(255, 253, 242); border-color: rgb(229, 223, 181); margin-top: 12px; }

.geo-panel, .measurement-panel, .measurement-card, .linkage-workbench { background: rgb(250, 251, 248); }

@media (max-width: 980px) {
  .discovery-layout { grid-template-columns: 1fr; }
  .discovery-side { position: relative; top: auto; max-height: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .discovery-side .micro-dashboard { margin: 0px; }
  .linkage-map { grid-template-columns: repeat(2, 1fr); }
  .twin-summary-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 680px) {
  .intro-grid { grid-template-columns: 1fr; }
  .discovery-side { grid-template-columns: 1fr; }
  .select-cards.archetypes, .domain-switch, .practice-groups { grid-template-columns: 1fr; }
  .linkage-map { grid-template-columns: 1fr; }
  .twin-summary-grid { grid-template-columns: 1fr 1fr; }
  .diagnostic-card { padding: 18px; }
  .intro-preview-card { display: none; }
}

.provider-offer-panel, .ecosystem-matrix-panel, .delivery-layer-panel { margin: 20px 0px; padding: 18px; border: 1px solid rgb(223, 228, 221); border-radius: 15px; background: rgb(251, 252, 248); }

.provider-offer-panel h3, .ecosystem-matrix-panel h3, .delivery-layer-panel h3 { margin: 5px 0px; font-size: 18px; }

.provider-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 14px; }

.provider-group { border: 1px solid rgb(225, 229, 223); border-radius: 12px; padding: 11px; background: rgb(255, 255, 255); }

.provider-group > b { display: block; font-size: 8px; letter-spacing: 0.11em; color: rgb(116, 121, 31); margin-bottom: 7px; }

.provider-group button { border: 1px solid rgb(216, 221, 214); background: rgb(250, 251, 248); border-radius: 999px; padding: 7px 9px; margin: 3px 2px; font-size: 9px; cursor: pointer; }

.provider-group button.selected { background: rgb(23, 54, 47); color: rgb(255, 255, 255); border-color: rgb(23, 54, 47); }

.matrix-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }

.matrix-head p { margin: 4px 0px 0px; color: var(--muted); font-size: 10px; line-height: 1.5; }

.matrix-head > span { font-size: 9px; font-weight: 900; color: rgb(119, 121, 30); white-space: nowrap; }

.matrix-legend { display: grid; grid-template-columns: 1fr repeat(4, 74px); gap: 5px; margin-top: 14px; padding: 0px 6px; }

.matrix-legend span { font-size: 7px; letter-spacing: 0.08em; color: rgb(123, 135, 128); text-align: center; }

.matrix-legend span:first-child { visibility: hidden; }

.capability-matrix { display: grid; gap: 5px; }

.cap-matrix-row { display: grid; grid-template-columns: minmax(170px, 1fr) repeat(4, 74px); gap: 5px; align-items: center; padding: 6px; border: 1px solid rgb(230, 233, 228); border-radius: 10px; background: rgb(255, 255, 255); }

.cap-name small { display: block; font-size: 7px; color: rgb(138, 149, 143); text-transform: uppercase; letter-spacing: 0.08em; }

.cap-name b { font-size: 10px; }

.cap-states { display: contents; }

.cap-states button { border: 1px solid rgb(223, 228, 221); background: rgb(250, 251, 248); border-radius: 8px; padding: 7px 4px; font-size: 7.5px; font-weight: 800; color: rgb(97, 112, 105); cursor: pointer; }

.cap-states button.active[data-state="inhouse"], .cap-states button.active[data-state="partner"] { background: rgb(233, 241, 235); border-color: rgb(139, 170, 149); color: rgb(35, 76, 56); }

.cap-states button.active[data-state="need"] { background: rgb(255, 241, 223); border-color: rgb(212, 160, 91); color: rgb(122, 75, 23); }

.cap-states button.active[data-state="provide"] { background: rgb(238, 240, 216); border-color: rgb(165, 168, 43); color: rgb(86, 89, 22); }

.need-chip { background: rgb(255, 241, 223) !important; border-color: rgb(225, 176, 111) !important; color: rgb(122, 75, 23) !important; }

.delivery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }

.delivery-grid button { border: 1px solid rgb(223, 228, 221); border-radius: 12px; padding: 13px; background: rgb(255, 255, 255); text-align: left; cursor: pointer; }

.delivery-grid button > span { font-size: 8px; color: rgb(129, 133, 30); font-weight: 900; }

.delivery-grid button > b { display: block; font-size: 12px; margin: 4px 0px; }

.delivery-grid button > small { display: block; font-size: 9px; line-height: 1.4; color: rgb(105, 118, 111); }

.delivery-grid button.selected { border-color: rgb(158, 161, 42); background: rgb(247, 247, 232); box-shadow: rgba(158, 161, 42, 0.08) 0px 0px 0px 2px; }

@media (max-width: 760px) {
  .provider-grid, .delivery-grid { grid-template-columns: 1fr; }
  .matrix-legend { display: none; }
  .cap-matrix-row { grid-template-columns: 1fr; }
  .cap-states { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
  .cap-states button { font-size: 8px; }
  .matrix-head { display: block; }
  .matrix-head > span { display: block; margin-top: 7px; }
}
/* v5.7 integrity + brand alignment */
.brand img{display:block;height:42px;width:auto;max-width:245px;object-fit:contain}
.connected-system-panel{margin:20px 0;padding:20px;border:1px solid #d9ddd7;border-radius:16px;background:#fafaf6}
.connected-system-panel h3{margin:5px 0 6px}
.connected-system-panel .chip-set{margin-top:12px}
.connected-system-panel button.primary-disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.capability-unknown{grid-column:1/-1;border-style:dashed!important}
.input-guidance{margin:7px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.hypothesis-badge{padding:10px}
.hypothesis-badge strong{font-size:18px!important;line-height:1.05;max-width:96px;word-break:normal}
.score-grid strong{font-size:16px;line-height:1.15;min-height:38px;display:flex;align-items:center}
.score-grid span{display:block;margin-top:7px}
.score-grid div.signal-unmapped{background:#f7f7f3;border-style:dashed}
.score-grid div.signal-low-confidence strong::after{content:" · LOW CONF.";font-size:8px;letter-spacing:.06em;color:var(--muted);margin-left:4px}
.profile-summary-band strong{line-height:1.3}
@media(max-width:600px){.brand img{height:34px;max-width:190px}.connected-system-panel{padding:16px}.hypothesis-badge{width:118px;height:118px}.score-grid strong{min-height:auto}}
