[data-screen] { display: none; }
[data-screen].is-active { display: block; animation: stepIn .24s ease-out; }
@keyframes stepIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { [data-screen].is-active { animation: none; } }

.application-active { padding-top: 10.5rem; }
@media (min-width: 768px) { .application-active { padding-top: 8rem; } }
@media (min-width: 1024px) { .app-grid.application-mode { grid-template-columns: 280px minmax(0, 1fr); } }

.field-wrap { margin-bottom: 1.5rem; }
.field-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 768px) { .field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.field-label { display: block; font-size: .95rem; line-height: 1.35rem; font-weight: 700; color: #374151; margin-bottom: .5rem; }
.field-helper { display: block; font-size: .82rem; line-height: 1.25rem; color: #64748B; margin-top: .35rem; }
.field-control { width: 100%; border: 1px solid #E5E7EB; border-radius: .9rem; background: #FFFFFF; color: #334155; padding: .88rem 1rem; transition: border-color .2s ease, box-shadow .2s ease; }
.field-control:focus { outline: none; border-color: #1791AB; box-shadow: 0 0 0 4px rgba(23,145,171,.10); }
.field-control::placeholder { color: #94A3B8; }
textarea.field-control { resize: vertical; min-height: 116px; }
.field-control.is-invalid, .choice-group.is-invalid { border-color: #DC2626; box-shadow: 0 0 0 3px rgba(220,38,38,.08); }
.field-error { color: #B91C1C; font-size: .8rem; font-weight: 600; margin-top: .45rem; }
.required-star { color: #F59E0B; }

.choice-group { display: grid; grid-template-columns: 1fr; gap: .75rem; border-radius: 1rem; }
.choice-group.compact { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.choice-label { position: relative; display: block; cursor: pointer; }
.choice-input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card { display: flex; align-items: flex-start; gap: .7rem; min-height: 58px; border: 1px solid #E5E7EB; border-radius: 1rem; background: #FFFFFF; padding: .9rem 1rem; transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.choice-card::before { content: ''; width: 18px; height: 18px; margin-top: 1px; flex: 0 0 auto; border: 2px solid #CBD5E1; border-radius: 5px; background: white; }
.choice-input[type="radio"] + .choice-card::before { border-radius: 50%; }
.choice-input:checked + .choice-card { border-color: #1791AB; background: rgba(23,145,171,.06); box-shadow: 0 0 0 3px rgba(23,145,171,.08); }
.choice-input:checked + .choice-card::before { background: #1791AB; border-color: #1791AB; box-shadow: inset 0 0 0 4px white; }
.choice-input:focus-visible + .choice-card { outline: 3px solid rgba(245,158,11,.35); outline-offset: 2px; }

.step-section { background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 1.5rem; padding: 1.35rem; margin-bottom: 1.25rem; }
.step-section-title { font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; color: #1791AB; font-weight: 800; margin-bottom: 1rem; }
.conditional-hidden { display: none !important; }

.step-nav-item { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.step-nav-item.is-current { background: rgba(23,145,171,.10); color: #1791AB; border-color: rgba(23,145,171,.18); }
.step-nav-item.is-complete .step-number { background: #1791AB; color: #FFFFFF; }

.error-summary { border: 1px solid #FCA5A5; background: #FEF2F2; color: #991B1B; border-radius: 1rem; padding: 1rem 1.1rem; margin-bottom: 1.25rem; }
.warning-box { border: 1px solid rgba(245,158,11,.35); background: rgba(245,158,11,.09); border-radius: 1rem; padding: 1rem 1.1rem; margin-bottom: 1.25rem; color: #78350F; }

.founder-card { border: 1px solid #E5E7EB; border-radius: 1.25rem; padding: 1.15rem; background: #F8FAFC; margin-bottom: 1rem; }
.review-card { background: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 1.25rem; padding: 1.15rem; }
.review-row { display: grid; grid-template-columns: minmax(130px, .38fr) minmax(0, 1fr); gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #E5E7EB; }
.review-row:last-child { border-bottom: 0; }
.review-key { font-size: .8rem; color: #64748B; font-weight: 700; }
.review-value { font-size: .9rem; color: #334155; overflow-wrap: anywhere; }

.saved-pulse { animation: savePulse .45s ease; }
@keyframes savePulse { 50% { transform: scale(1.02); } }
