/* ===========================================================================
   FIRAv2 — Falcone International Risk Assessment
   Self-contained static re-implementation of the original Thrive Quiz.
   Brand: navy #042440 · gold #c5a377 · blue #3569b4 · font Inter Tight
   =========================================================================== */
#fira-quiz, #fira-quiz * { box-sizing: border-box; }
#fira-quiz {
  --navy:#042440; --navy2:#0a3357; --gold:#c5a377; --blue:#3569b4;
  --ink:#1f2937; --muted:#6b7280; --line:#e5e7eb; --bg:#f7f8fa;
  --red:#c0392b; --amber:#d98324; --green:#0f7b3f;
  font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--ink); max-width:820px; margin:0 auto; padding:8px;
  -webkit-font-smoothing:antialiased;
}
#fira-quiz .fira-card {
  background:#fff; border:1px solid var(--line); border-radius:14px;
  box-shadow:0 10px 40px rgba(4,36,64,.08); padding:38px 40px;
}
@media (max-width:600px){ #fira-quiz .fira-card{ padding:26px 20px; } }

/* progress */
#fira-quiz .fira-progress { margin-bottom:26px; }
#fira-quiz .fira-progress-bar { height:8px; background:#e9edf2; border-radius:99px; overflow:hidden; }
#fira-quiz .fira-progress-fill { height:100%; width:0; background:linear-gradient(90deg,var(--blue),var(--gold)); transition:width .35s ease; }
#fira-quiz .fira-progress-meta { display:flex; justify-content:space-between; font-size:13px; color:var(--muted); margin-top:8px; }
#fira-quiz .fira-domain { color:var(--blue); font-weight:600; letter-spacing:.02em; text-transform:uppercase; font-size:12px; }

/* intro / headings */
#fira-quiz .fira-eyebrow { color:var(--gold); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:13px; margin:0 0 10px; }
#fira-quiz h2.fira-title { font-size:30px; line-height:1.2; margin:0 0 14px; color:var(--navy); font-weight:800; }
#fira-quiz .fira-lead { font-size:17px; line-height:1.6; color:#374151; margin:0 0 22px; }
#fira-quiz .fira-points { list-style:none; padding:0; margin:0 0 26px; }
#fira-quiz .fira-points li { position:relative; padding:6px 0 6px 30px; font-size:15px; color:#374151; }
#fira-quiz .fira-points li::before { content:"✓"; position:absolute; left:0; top:6px; color:var(--gold); font-weight:800; }

/* question */
#fira-quiz .fira-qnum { font-size:14px; color:var(--muted); margin:0 0 8px; }
#fira-quiz h3.fira-q { font-size:23px; line-height:1.35; color:var(--navy); font-weight:700; margin:0 0 22px; }
#fira-quiz .fira-options { display:flex; flex-direction:column; gap:12px; }
#fira-quiz .fira-opt {
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  border:1.5px solid var(--line); background:#fff; border-radius:10px;
  padding:15px 18px; font-size:16px; color:var(--ink); cursor:pointer;
  transition:border-color .15s, background .15s, box-shadow .15s; font-family:inherit;
}
#fira-quiz .fira-opt:hover { border-color:var(--blue); background:#f3f7fc; }
#fira-quiz .fira-opt.selected { border-color:var(--blue); background:#eef4fc; box-shadow:0 0 0 3px rgba(53,105,180,.12); }
#fira-quiz .fira-opt .dot { flex:0 0 20px; width:20px; height:20px; border-radius:50%; border:2px solid #c3ccd6; display:inline-block; position:relative; }
#fira-quiz .fira-opt.selected .dot { border-color:var(--blue); }
#fira-quiz .fira-opt.selected .dot::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--blue); }

/* long paragraph-style options (verbatim from the original assessment) */
#fira-quiz .fira-opt-long { align-items:flex-start; padding:16px 18px; }
#fira-quiz .fira-opt-long .dot { margin-top:2px; }
#fira-quiz .fira-opt-label { font-size:14.5px; line-height:1.5; color:#374151; }
#fira-quiz .fira-opt.selected .fira-opt-label { color:var(--ink); }

/* nav buttons */
#fira-quiz .fira-nav { display:flex; justify-content:space-between; align-items:center; margin-top:28px; gap:12px; }
#fira-quiz .fira-btn {
  font-family:inherit; font-weight:700; font-size:16px; border-radius:8px; padding:13px 30px;
  border:none; cursor:pointer; transition:transform .05s, background .15s, opacity .15s;
}
#fira-quiz .fira-btn:active { transform:translateY(1px); }
#fira-quiz .fira-btn-primary { background:var(--gold); color:var(--navy); }
#fira-quiz .fira-btn-primary:hover { background:#d4b88c; }
#fira-quiz .fira-btn-primary:disabled { opacity:.45; cursor:not-allowed; }
#fira-quiz .fira-btn-ghost { background:transparent; color:var(--muted); padding:13px 8px; }
#fira-quiz .fira-btn-ghost:hover { color:var(--navy); }
#fira-quiz .fira-btn-lg { padding:16px 40px; font-size:17px; }

/* email gate */
#fira-quiz .fira-field { margin:18px 0; }
#fira-quiz .fira-field label { display:block; font-size:14px; font-weight:600; color:var(--navy); margin-bottom:6px; }
#fira-quiz .fira-field input { width:100%; padding:13px 15px; border:1.5px solid var(--line); border-radius:8px; font-size:16px; font-family:inherit; }
#fira-quiz .fira-field input:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(53,105,180,.12); }
#fira-quiz .fira-fine { font-size:12.5px; color:var(--muted); line-height:1.5; }

/* results */
#fira-quiz .fira-score-wrap { text-align:center; margin-bottom:30px; }
#fira-quiz .fira-gauge { position:relative; width:200px; height:200px; margin:0 auto 14px; }
#fira-quiz .fira-gauge svg { transform:rotate(-90deg); }
#fira-quiz .fira-gauge .pct { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
#fira-quiz .fira-gauge .pct b { font-size:44px; color:var(--navy); line-height:1; }
#fira-quiz .fira-gauge .pct span { font-size:13px; color:var(--muted); margin-top:4px; }
#fira-quiz .fira-tier { display:inline-block; font-weight:800; font-size:22px; padding:6px 18px; border-radius:99px; }
#fira-quiz .fira-tier-desc { font-size:16px; line-height:1.6; color:#374151; margin:14px auto 0; max-width:600px; }

#fira-quiz .fira-domains { margin:30px 0; }
#fira-quiz .fira-dom-row { margin-bottom:16px; }
#fira-quiz .fira-dom-row .lab { display:flex; justify-content:space-between; font-size:14px; margin-bottom:6px; }
#fira-quiz .fira-dom-row .lab b { color:var(--navy); font-weight:600; }
#fira-quiz .fira-dom-row .lab span { color:var(--muted); }
#fira-quiz .fira-dom-track { height:9px; background:#e9edf2; border-radius:99px; overflow:hidden; }
#fira-quiz .fira-dom-fill { height:100%; border-radius:99px; transition:width .6s ease; }

#fira-quiz .fira-recs { background:var(--bg); border-radius:12px; padding:24px 26px; margin:26px 0; }
#fira-quiz .fira-recs h4 { margin:0 0 14px; color:var(--navy); font-size:18px; }
#fira-quiz .fira-recs ul { margin:0; padding-left:20px; }
#fira-quiz .fira-recs li { margin-bottom:9px; line-height:1.55; font-size:15px; }

#fira-quiz .fira-cta { text-align:center; background:var(--navy); border-radius:12px; padding:30px; color:#fff; }
#fira-quiz .fira-cta h4 { margin:0 0 8px; font-size:20px; color:#fff; }
#fira-quiz .fira-cta p { margin:0 0 18px; color:#cbd5e1; font-size:15px; }
#fira-quiz .fira-cta-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
#fira-quiz .fira-btn-outline { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); }
#fira-quiz .fira-btn-outline:hover { border-color:var(--gold); color:var(--gold); }

#fira-quiz .fira-restart { text-align:center; margin-top:18px; }
#fira-quiz .fira-screen { animation:firaIn .3s ease; }
@keyframes firaIn { from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
