:root {
  --lwc-accent: #8ab4f8;
  --lwc-gold: #e3c07b;
}
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
.brand-mark { color: var(--lwc-gold); }
a { color: var(--lwc-accent); }
.hero { padding: 4rem 0 3rem; }
.hero h1 { font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.1; letter-spacing: -0.02em; }
.lead-muted { color: #b3bac4; }
[data-bs-theme=dark] { --bs-secondary-color: #b3bac4; --bs-secondary-color-rgb: 179, 186, 196; }
.state-grid a { display: inline-block; padding: .3rem 0; min-height: 24px; }
.card { background: var(--bs-tertiary-bg); border-color: var(--bs-border-color-translucent); }
.card-soft { background: rgba(255,255,255,.03); }
.step-number { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--lwc-gold); color: #111; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.trust li { padding-left: 1.5rem; position: relative; }
.trust li::before { content: "✓"; position: absolute; left: 0; color: var(--lwc-gold); }
.q-progress .step { font-size: .8rem; color: var(--bs-secondary-color); white-space: nowrap; }
.q-progress .step.active { color: var(--bs-body-color); font-weight: 600; }
.q-progress .step.done { color: var(--lwc-accent); }
.q-progress .step.done::before { content: "✓ "; }
.form-text { color: var(--bs-secondary-color); }
.explainer { border-left: 3px solid var(--lwc-gold); padding: .75rem 1rem; background: rgba(227,192,123,.06); border-radius: .25rem; }
.escalation { border: 1px solid var(--lwc-gold); background: rgba(227,192,123,.08); }
.banner-la { background: #5a1f1f; border: 1px solid #b23a3a; color: #ffd9d9; }
.score-ring { --p: 0; width: 120px; height: 120px; border-radius: 50%; background: conic-gradient(var(--lwc-gold) calc(var(--p) * 1%), rgba(255,255,255,.08) 0); display: grid; place-items: center; }
.score-ring > div { width: 92px; height: 92px; border-radius: 50%; background: var(--bs-body-bg); display: grid; place-items: center; font-size: 1.6rem; font-weight: 700; }
.doc-locked { opacity: .6; }
.affiliate-slot { border: 1px dashed var(--bs-border-color); border-radius: .5rem; padding: .75rem 1rem; }
.affiliate-slot .disclosure { font-size: .75rem; color: var(--bs-secondary-color); }
.repeat-row { position: relative; }
.prose { max-width: 46rem; }
.prose h2 { margin-top: 2rem; }
.prose h3 { margin-top: 1.5rem; font-size: 1.15rem; }
.prose li { margin-bottom: .35rem; }
.facts-table td:first-child { color: var(--bs-secondary-color); width: 45%; }
.footer a { color: inherit; }
footer a { color: var(--bs-secondary-color); }
footer a:hover { color: var(--bs-body-color); }
.pricing-feature { padding-left: 1.5rem; position: relative; }
.pricing-feature::before { content: "•"; position: absolute; left: .5rem; color: var(--lwc-gold); }
@media print { nav, footer, .no-print { display: none !important; } }
