.intake-shell { padding-block: 1.5rem 2rem; }
.intake-progress { max-width: 58rem; margin: 0 auto 1.25rem; }
.intake-progress p { color: var(--teal-dark); font-size: 1rem; }
.intake-progress p strong { margin-left: .5rem; }
.intake-progress ol { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .5rem; list-style: none; margin: 0; padding: 0; }
.intake-progress li { display: flex; flex-direction: column; gap: .4rem; align-items: center; text-align: center; font-size: .875rem; border-bottom: 3px solid var(--line); padding-bottom: .7rem; }
.intake-progress li > span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid #789aaa; border-radius: 50%; }
.intake-progress li[aria-current] { border-color: var(--teal-dark); font-weight: 750; }
.intake-progress li[aria-current] > span, .intake-progress li.completed > span { background: var(--teal-dark); color: white; }
.intake-card { max-width: 58rem; margin-inline: auto; padding: clamp(1.25rem,3vw,2.25rem); box-shadow: none; }
.intake-card h1 { font-size: clamp(2rem,3.6vw,2.75rem); max-width: 24ch; }
.intake-card h2 { font-size: 1.3rem; }
.intake-card .lead { font-size: 1.125rem; }
.intake-card .choice-grid input { position: static; opacity: 1; width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.intake-card .choice-grid label:has(input:checked)::after { display: none; }
.intake-field { margin-block: 1.75rem; }
.intake-field legend { margin-bottom: .3rem; }
.intake-field .hint { margin: 0 0 .4rem; }
.intake-field label { min-height: 3.25rem; font-size: 1rem; padding: .7rem .9rem; }
.intake-field input[type=radio], .intake-field input[type=checkbox] { flex: 0 0 auto; height: 1.3rem; }
.intake-field:focus-within { scroll-margin-top: 1rem; }
.intake-card input[inputmode=numeric] { max-width: 12rem; }
.intake-notice, .intake-urgent { padding: 1rem 1.25rem; border: 1px solid #a4c8d3; border-left: .25rem solid var(--teal-dark); border-radius: .5rem; margin: 1.25rem 0; background: #eff8fa; }
.intake-urgent { background: #fff1ea; border-color: #a94415; }
.intake-notice p:last-child, .intake-urgent p:last-child { margin-bottom: 0; }
.intake-notice summary, .match-questions summary { cursor: pointer; min-height: 2.75rem; padding-block: .55rem; font-weight: 700; }
.field-error { font-weight: 700; color: #a32932; }
.intake-summary { margin: 1.25rem 0; }
.intake-summary > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) auto; gap: .8rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.intake-summary dt { font-weight: 700; }
.intake-summary dd { margin: 0; }
.intake-summary a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.intake-footer { max-width: 58rem; margin: 1rem auto 0; }
.intake-footer > p { display: flex; align-items: flex-start; gap: .6rem; color: var(--muted); font-size: .9375rem; }
.intake-footer .icon { margin-top: .15rem; }
.intake-match { grid-template-columns: minmax(0,1fr) 15rem; }
.intake-match h2 { font-size: 1.6rem; }
.intake-match h3 { font-size: 1.125rem; margin-top: 1rem; }
.intake-match .match-reasons, .intake-match .match-questions { font-size: .9375rem; }
.intake-match li { margin-block: .35rem; }
.match-questions { padding: .3rem .85rem; border: 1px solid #d4c5aa; border-radius: .5rem; background: #fff8ed; }
.intake-section-title, .intake-related > h2 { font-size: 1.75rem; margin-top: 1.75rem; }
.intake-related { border-top: 1px solid var(--line); margin-top: 2rem; }
.intake-related h3 { margin-top: 1.4rem; }
.intake-articles { padding: 0; list-style: none; }
.intake-articles li { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.intake-articles a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; }
.intake-articles p { margin-bottom: 0; }
.intake-related-links { display: flex; gap: 1rem; flex-wrap: wrap; }
html[data-text-size="200"] .intake-summary > div { grid-template-columns: 1fr; }
html[data-text-size="200"] .intake-match { grid-template-columns: 1fr; }
@media(max-width:52rem) { .intake-match { grid-template-columns: 1fr; } .intake-match .match-actions { grid-column: 1; } }
@media(max-width:36rem) {
    .intake-progress ol { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: .8rem; }
    .intake-summary > div { grid-template-columns: 1fr; gap: .2rem; }
    .intake-card .choice-grid label { padding: .7rem; gap: .5rem; }
    .intake-card .choice-icon { display: none; }
}
