/* /pages/ai-check — the front door (R-2026-09-17). Built to the SO-34 conversion gate:
   one ask in the first viewport, phone in the first viewport, no site nav, price before the
   ask, proof that is dated and real. Mobile-first; tokens from tokens.css. */
.ai-check-page { background: var(--color-bg); color: var(--color-text); }
.ac-hero { padding: 1.25rem 0 2rem; }
.ac-hero .container { max-width: var(--content-narrow, 46rem); }
.ac-kicker { font-size: .8rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--color-gold); margin: 0 0 .5rem; }
.ac-h1 { font-family: var(--font-display); font-size: clamp(1.7rem, 5.6vw, 2.6rem); line-height: 1.15; margin: 0 0 .6rem; }
.ac-sub { font-size: 1.02rem; color: var(--color-text-muted); margin: 0 0 1rem; }
.ac-phone-line { font-size: .95rem; margin: 0 0 1rem; }
.ac-phone-line a { color: var(--color-text); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-gold); }
.ac-form { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1rem; display: grid; gap: .7rem; }
.ac-form label { display: grid; gap: .3rem; font-size: .85rem; color: var(--color-text-muted); }
.ac-form input, .ac-form select { width: 100%; font: inherit; font-size: 1rem; color: var(--color-text); background: var(--color-surface-offset); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: .7rem .8rem; }
.ac-form .ac-row { display: grid; gap: .7rem; grid-template-columns: 1fr 1fr; }
.ac-submit { font: inherit; font-weight: 700; font-size: 1.05rem; padding: .9rem 1rem; border: 0; border-radius: var(--radius-md); background: var(--color-primary); color: var(--color-text-inverse, #0b0f19); cursor: pointer; }
.ac-submit[disabled] { opacity: .7; cursor: wait; }
.ac-fineprint { font-size: .78rem; color: var(--color-text-faint); margin: 0; }
.ac-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ac-error { color: #ffb4a8; font-size: .9rem; margin: 0; }
.ac-section { padding: 2rem 0; border-top: 1px solid var(--color-divider); }
.ac-section .container { max-width: var(--content-narrow, 46rem); }
.ac-section h2 { font-family: var(--font-display); font-size: 1.45rem; margin: 0 0 .75rem; }
.ac-section p, .ac-section li { font-size: 1rem; line-height: 1.55; }
.ac-steps { display: grid; gap: .8rem; padding: 0; margin: 0; list-style: none; counter-reset: s; }
.ac-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .6rem; align-items: start; }
.ac-steps li::before { counter-increment: s; content: counter(s); width: 2rem; height: 2rem; border-radius: 50%; background: var(--color-gold); color: #111; font-weight: 700; display: grid; place-items: center; }
.ac-deliverables { padding-left: 1.2rem; margin: 0; display: grid; gap: .45rem; }
.ac-price { font-family: var(--font-display); font-size: 1.8rem; margin: .25rem 0 .5rem; }
.ac-guarantee { background: var(--color-surface); border: 1px solid var(--color-gold); border-radius: var(--radius-lg); padding: 1rem; }
.ac-guarantee strong { color: var(--color-gold); }
.ac-proof { display: grid; gap: .8rem; }
.ac-proof-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: .9rem 1rem; }
.ac-proof-card .d { font-size: .8rem; color: var(--color-text-muted); letter-spacing: var(--ls-label); text-transform: uppercase; }
.ac-proof-card .v { font-family: var(--font-display); font-size: 1.2rem; margin: .2rem 0; }
.ac-repeat { display: inline-block; margin-top: .75rem; font-weight: 700; color: var(--color-text); text-decoration: none; border-bottom: 2px solid var(--color-gold); }
.ac-result { display: none; margin-top: 1rem; }
.ac-result.active { display: block; }
.ac-score { display: grid; grid-template-columns: 6rem 1fr; gap: .9rem; align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1rem; }
.ac-score .n { font-family: var(--font-display); font-size: 2.6rem; text-align: center; }
.ac-score .band { font-weight: 700; }
.ac-table { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: .9rem; }
.ac-table th, .ac-table td { text-align: left; padding: .5rem .4rem; border-bottom: 1px solid var(--color-divider); vertical-align: top; }
.ac-yes { color: var(--color-success); font-weight: 700; } .ac-no { color: #ffb4a8; font-weight: 700; }
.ac-gaps { display: grid; gap: .6rem; margin-top: 1rem; }
.ac-gap { background: var(--color-surface); border-left: 3px solid var(--color-gold); padding: .7rem .9rem; border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.ac-gap strong { display: block; margin-bottom: .2rem; }
.ac-engine-note { font-size: .82rem; color: var(--color-text-faint); margin-top: .8rem; }
.ac-cta { margin-top: 1rem; display: grid; gap: .5rem; }
.ac-footer { padding: 1.5rem 0 2.5rem; border-top: 1px solid var(--color-divider); font-size: .85rem; color: var(--color-text-muted); }
.ac-footer a { color: inherit; }
@media (max-width: 480px) { .ac-form .ac-row { grid-template-columns: 1fr; } .ac-score { grid-template-columns: 4.5rem 1fr; } }
