/* Approved interface changes only — no changes to questions, consent or scoring. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #7A3E2E!important;outline-offset:4px!important}
.teacher-copy a:focus-visible,.welcome a:focus-visible,.join-footer a:focus-visible{outline-color:#fff!important}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid #7A3E2E!important;outline-offset:3px}
button,summary,nav a,.text-link,footer a,.school-links a{min-height:44px}
button,summary{touch-action:manipulation}
nav a,.text-link,footer a,.school-links a{display:inline-flex;align-items:center}
input:not([type=checkbox]),select,textarea{font-size:16px;min-height:48px}
.choice{min-height:48px;align-items:flex-start;font-size:14px}
input[type=checkbox]{width:24px;height:24px;margin-top:0}
.field>span,fieldset legend{font-size:16px}
.fine,.optional,.section-nav li,.online-demo{font-size:14px}
.optional{display:inline-block;margin-left:6px}
.error-summary:empty{display:none}
.error-summary{margin:24px 0;padding:18px 20px;border:2px solid #923e31;border-radius:6px;background:#fff5f1;color:#722c22;scroll-margin:24px}
.error-summary h2{font:700 19px/1.4 Arial,sans-serif;letter-spacing:0;margin:0 0 8px}
.error-summary ul{margin:0;padding-left:22px}
.error-summary li{padding:4px 0;line-height:1.5}
.error-summary a{display:inline-block;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:44px}
.field-error{font-size:14px;line-height:1.5;margin:-12px 0 20px;color:#923e31;font-weight:600}
[aria-invalid=true]{border-color:#923e31!important}
.section-nav [aria-current=step]{font-weight:700;color:#7A3E2E}
#menu-toggle{display:none;background:white;color:#7A3E2E;border:1px solid #7A3E2E;border-radius:6px;padding:10px 16px;min-width:70px;font-size:16px}
.school-gallery picture{display:flex;flex:1;min-width:0}
.school-gallery picture img{flex:1}
.welcome-photo picture,.practice-photo picture,.teacher-profile>figure picture{display:contents}
.modern-home .welcome-photo picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%}
.modern-home .practice-photo picture>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#dce3d8}
.teacher-profile>figure picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
@media(max-width:800px){
 header{flex-wrap:wrap;gap:12px}
 #menu-toggle{display:block;margin-left:auto}
 header #main-navigation{display:none;width:100%;padding-top:12px;gap:8px}
 header:has(#menu-toggle[aria-expanded=true]) #main-navigation{display:grid;grid-template-columns:1fr}
 header #main-navigation a{display:flex!important;width:100%;min-height:48px;padding:12px 14px;font-size:16px;border-radius:6px}
 header #main-navigation a:hover{background:#FDECE6;color:#7A3E2E}
 .form-layout{gap:20px}
 .form-card{padding:24px 18px}
 .form-card h1{font-size:28px}
 .form-footer button{font-size:15px!important;min-height:48px}
 .section-nav{display:block!important;position:static}
 .section-nav li{display:none}
 .section-nav li[aria-current=step]{display:flex;padding:10px 0}
 .school-links a,footer a{font-size:14px}
}
