.text-question textarea{width:100%;max-width:720px;min-height:150px;resize:vertical;background:#050505;border:1px solid var(--hair);color:var(--steel);font:inherit;font-size:17px;line-height:1.6;padding:18px;}
.text-question textarea:focus,.details-grid input:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold);}
.opt-link{color:inherit;text-decoration:none;}.reentry-note{margin-top:24px;}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:820px;margin:28px 0;}.details-grid .field{margin:0;}
.details-grid input{width:100%;background:#050505;border:1px solid var(--hair);color:var(--steel);font:inherit;font-size:16px;padding:15px;}
.details-actions{margin-top:30px;}.button-link{background:none;border:0;border-bottom:1px solid var(--floor);color:var(--steel);font:inherit;font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:10px 0;cursor:pointer;}
.button-link:hover,.button-link:focus-visible{color:var(--gold);border-color:var(--gold);}.details strong{color:var(--steel);font-weight:400;}
.attestation{display:flex;align-items:flex-start;gap:12px;max-width:720px;color:var(--dim);font-size:15px;line-height:1.6;margin:26px 0;}.attestation input{margin-top:5px;accent-color:var(--gold);}
@media(max-width:720px){.details-grid{grid-template-columns:1fr;}}
.flow-enhanced .native-estimate,.flow-enhanced .native-estimate-copy{display:none;}.native-estimate-copy{font-size:20px;letter-spacing:0;color:var(--steel);}.flow-enhanced .js-estimate{display:inline;}.js-estimate{display:none;}
.form:not(.flow-enhanced):has([name="participant_route"][value="adult_self"]:checked) .guardian-question{display:none;}
.form:not(.flow-enhanced):has([name="participant_route"][value="guardian_interest"]:checked) .q,.form:not(.flow-enhanced):has([name="participant_route"][value="guardian_interest"]:checked) .text-question,.form:not(.flow-enhanced):has([name="participant_route"][value="guardian_interest"]:checked) .readiness,.form:not(.flow-enhanced):has([name="participant_route"][value="guardian_interest"]:checked) .gate,.form:not(.flow-enhanced):has([name="participant_route"][value="guardian_interest"]:checked) .details{display:none;}
/* Email-first (Sep 25): the promise line on the gate, and the number animating in on the reveal (static under reduced motion). */
.gate-promise{font-size:15px;line-height:1.6;color:var(--dim);margin:16px 0 0;max-width:600px;}
.reveal .reveal-num{animation:pe-reveal .7s cubic-bezier(.2,.7,.2,1) both;}
@keyframes pe-reveal{from{opacity:0;transform:translateY(12px) scale(.94);}to{opacity:1;transform:none;}}
.reveal-sent{margin:18px 0 0;}
.reveal-actions{margin-top:30px;}
@media (prefers-reduced-motion:reduce){.reveal .reveal-num{animation:none;}}
/* The longer gate button ("Lock In My Place and See My Number") on phones: full width, 15px, tighter plane padding, so it holds one line at 390 px. Narrower screens wrap it into two balanced lines. */
@media(max-width:480px){.gate .gate-submit{width:100%;font-size:15px;gap:16px;padding:0 26px 0 20px;text-align:left;text-wrap:balance;}}
