.school-shell .hero-copy { max-width: 860px; }
.school-shell .video-card video { width: min(300px, 100%); }
.school-shell .video-card h2 { margin: 0; }
.question-panel .section-number { display: block; margin-bottom: 9px; }
.question-panel h2 { max-width: 850px; }
.question-panel .question-help { margin-bottom: 23px; }
.question-panel.has-error { border-color: #c55759; box-shadow: 0 0 0 3px #c557591e; }
.required-summary { position: sticky; top: 12px; z-index: 5; margin: 0 0 18px; padding: 14px 18px; border: 1px solid #d59798; border-radius: 13px; background: #fff3f3; color: #983a3f; font-size: 14px; font-weight: 750; box-shadow: 0 8px 22px #50313116; }
.school-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.feature-select-card { display: block; position: relative; min-width: 0; cursor: pointer; }
.feature-select-card > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.feature-option-body { height: 100%; min-height: 326px; display: flex; flex-direction: row; align-items: center; gap: 18px; padding: 17px; border: 2px solid var(--line); border-radius: 20px; background: #f9fcf9; transition: border-color .15s, background .15s, box-shadow .15s; }
.feature-select-card:hover .feature-option-body { border-color: #6fc99d; }
.feature-select-card:has(input:checked) .feature-option-body { border-color: var(--green); background: #effaf2; box-shadow: 0 0 0 3px #0d775d1c; }
.feature-select-card:has(input:focus-visible) .feature-option-body { outline: 3px solid #32bc85; outline-offset: 3px; }
.feature-option-screen { position: relative; display: flex; flex: 0 0 202px; justify-content: center; }
.feature-option-screen img { display: block; width: 202px; height: 303px; object-fit: cover; border: 4px solid var(--forest); border-radius: 17px; box-shadow: 0 8px 20px #0b52312e; }
.selected-mark { position: absolute; top: 7px; right: 7px; display: grid; place-items: center; width: 29px; height: 29px; border: 2px solid var(--green); border-radius: 50%; background: white; color: transparent; font-size: 16px; font-weight: 900; }
.feature-select-card:has(input:checked) .selected-mark { background: var(--green); color: white; }
.feature-option-copy { min-width: 0; }
.feature-option-copy strong { display: block; margin-bottom: 5px; font-size: 18px; line-height: 1.2; }
.feature-option-copy small { display: block; color: var(--muted); font-size: 13px; line-height: 1.4; }
.none-option { display: inline-flex; align-items: center; gap: 9px; margin-top: 17px; font-size: 15px; font-weight: 700; cursor: pointer; }
.none-option input { width: 19px; height: 19px; accent-color: var(--green); }
.yes-no-options .radio-pill span { min-width: 105px; text-align: center; }
.field-error { color: #b13f43; font-size: 14px; font-weight: 700; margin: 12px 0 0; }
.comments-panel h2 { font-size: clamp(22px, 2.4vw, 27px); }
.comments-panel textarea { width: 100%; min-height: 112px; resize: vertical; border: 1px solid #c8dcd0; border-radius: 13px; background: #fbfdfb; color: var(--ink); padding: 14px 16px; line-height: 1.5; }
.comments-panel textarea:focus { outline: 3px solid #87dfb45e; border-color: var(--green); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.confirmation { max-width: 720px; margin: 70px auto 110px; padding: 54px; text-align: center; }
.confirmation-icon { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 21px; border-radius: 50%; background: var(--mint); color: var(--green); font-size: 34px; font-weight: 900; }
.confirmation h2 { font-size: clamp(32px, 4vw, 48px); }
.confirmation p { color: var(--muted); line-height: 1.55; }
.website-button { display: inline-block; margin-top: 12px; text-decoration: none; }
@media (max-width: 950px) {
  .school-feature-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .school-shell .video-card video { width: min(240px, 100%); }
  .school-feature-grid { grid-template-columns: 1fr; gap: 12px; }
  .feature-option-body { min-height: 0; flex-direction: row; align-items: center; padding: 12px; gap: 15px; }
  .feature-option-screen { flex: 0 0 160px; }
  .feature-option-screen img { width: 160px; height: 240px; border-width: 3px; border-radius: 13px; }
  .feature-option-copy strong { font-size: 16px; }
  .selected-mark { right: 4px; top: 4px; width: 25px; height: 25px; }
  .confirmation { padding: 36px 22px; margin: 40px auto 70px; }
  .website-button { width: 100%; }
}
@media (max-width: 420px) {
  .feature-option-body { flex-direction: column; align-items: stretch; padding: 14px; }
  .feature-option-screen { flex-basis: auto; }
  .feature-option-screen img { width: 204px; height: 306px; }
  .feature-option-copy { text-align: center; }
  .selected-mark { right: calc(50% - 104px); }
}
