/* ============================================
   SNAPFIRE v2 · ASSESSMENT THEME
   Loads after css/assessment.css. Re-themes the working tool to the
   v2 system without changing its layout logic or behavior.
   ============================================ */

:root {
  --bg: #0a0c0e; --surface: #12161a; --card: #1a1f24; --line: #313940; --ink: #eef1f2; --muted: #b4bcc2;
  --accent: #ff6b35; --highlight: #ff8c5a;
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  font-family: 'Inter', system-ui, sans-serif;
}
::selection { background: var(--accent); color: #120a06; }
html { scrollbar-color: #3a434b var(--bg); caret-color: var(--accent); }

.i { width: 1em; height: 1em; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.125em; }

/* Top bar */
.topbar { border-bottom-color: #262d33; }
.brand { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; }
.brand span { font-family: 'Inter', sans-serif; letter-spacing: 0; text-transform: none; font-size: 14px; }
.back-site { display: inline-flex; align-items: center; gap: 8px; }
.back-site:hover { color: var(--ink); }
.back-site span { margin: 0; }

/* Intro column */
h1 { font-family: var(--display); font-weight: 800; letter-spacing: -0.04em; line-height: 1; font-size: clamp(40px, 4.6vw, 64px); }
.intro-copy { font-size: 17px; line-height: 1.7; max-width: 440px; }
.assessment-meta { font-size: 14px; font-weight: 600; }
.dimensions, .dimensions > div { border-color: #262d33; }
.dimension-number { font-weight: 700; font-variant-numeric: tabular-nums; }
.dimensions > div > span:last-child { font-weight: 600; }
.dimensions small { font-weight: 400; font-size: 13px; }
.intro-note { font-size: 14px; line-height: 1.6; }

/* Quiz panel */
.quiz-panel { border-color: #262d33; border-radius: 22px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
.progress-meta { letter-spacing: 0; font-size: 13px; font-weight: 600; text-transform: none; }

legend { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; font-size: 27px; line-height: 1.2; }
.choice { background: var(--card); border-color: #2c343a; border-radius: 12px; }
.choice:hover { border-color: #5a646c; background: #20262c; }
.choice:has(input:checked) { border-color: var(--accent); background: rgba(255,107,53,.12); }
.uncertain { background: transparent; }
#time-note { letter-spacing: 0; text-transform: none; font-size: 13px; max-width: 160px; }
.text-button { display: inline-flex; align-items: center; gap: 8px; }
.text-button:hover:not(:disabled) { color: var(--ink); }
.button { border-radius: 10px; gap: 10px; font-size: 15px; transition: background-color .2s, transform .3s cubic-bezier(.16,1,.3,1); }
.primary:hover { transform: translateY(-1px); }

/* Results */
.results-heading { font-family: var(--display); font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; }
.score-card, .result-section { border-color: #262d33; border-radius: 18px; }
.score-number { font-family: var(--display); font-weight: 800; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.result-section h3, .followup h3 { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; }
.next-step h4 { font-weight: 600; }
.methodology summary { font-weight: 600; }
.followup { border-radius: 22px; color: #120a06; }
.followup h3 { font-weight: 800; }
.followup .button { background: #120a06; color: #fff; border-color: #120a06; }
.followup .button:hover { background: #2a1a12; }
.lead-form input:not([type=checkbox]), .lead-form select { border-radius: 10px; }
.followup ::selection { background: #120a06; color: var(--accent); }
.followup a:focus-visible, .followup button:focus-visible, .followup input:focus-visible, .followup select:focus-visible { outline-color: #120a06; }

/* Footer */
.assessment-footer { border-top-color: #262d33; font-size: 13px; }
.assessment-footer a:hover { color: var(--accent); }

@media (max-width: 760px) {
  legend { font-size: 24px; }
  .intro h1 { font-size: 38px; letter-spacing: -0.035em; }
}
