*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.school-flow-body{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-body);color:var(--color-text);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(135,66,227,.12),transparent),linear-gradient(180deg,var(--color-cream) 0%,var(--color-cream-alt) 100%);line-height:1.6}.school-flow-header{padding:9px var(--space-4);display:flex;justify-content:center;border-bottom:3px solid var(--color-dark-green);background:var(--color-dark-green)}.school-flow-brand{display:block;text-decoration:none}.school-flow-brand img{height:78px;width:auto}.school-flow-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-7)}.school-flow-footer{display:grid;gap:var(--space-2);padding:var(--space-5) var(--space-4);text-align:center;font-size:.9rem;color:var(--color-cream);background:var(--color-dark-green)}.school-flow-footer a{color:var(--color-cream);font-weight:600;text-decoration:underline;text-underline-offset:3px}.school-flow-footer a:hover{color:#fff}.school-flow-footer a:focus-visible{outline:3px solid var(--color-sky-blue);outline-offset:3px}.school-flow-footer__legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-3);font-size:.85rem}h1{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);color:var(--color-dark-green);margin-bottom:var(--space-3);text-align:center}.school-lead{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-5);max-width:36rem;margin-left:auto;margin-right:auto}.school-status{text-align:center;padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-weight:500}.school-status--error{background:#e8453c1a;color:var(--color-coral-red)}.school-status--info{background:#2b584114;color:var(--color-dark-green)}.school-status--success{background:#2b58411f;color:var(--color-dark-green)}.school-status[hidden]{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:1rem;font-weight:700;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:var(--radius-full);cursor:pointer;text-decoration:none;transition:background-color .2s,transform .15s,box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.btn-primary{background-color:var(--color-coral-red);color:var(--color-text-light)}.btn-primary:hover:not(:disabled){background-color:var(--color-coral-red-hover);color:var(--color-text-light)}.btn-primary:focus-visible{outline-color:var(--color-dark-green)}.btn-secondary{background-color:var(--color-primary);color:var(--color-text-light)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-dark);color:var(--color-text-light)}.btn-continue{background-color:var(--color-dark-green);color:var(--color-text-light)}.btn-continue:hover:not(:disabled){background-color:var(--color-dark-green-deep);color:var(--color-text-light)}.btn-continue:focus-visible{outline-color:var(--color-sky-blue)}.btn-ghost{background:transparent;color:var(--color-dark-green);border:2px solid var(--color-dark-green)}.school-form{display:grid;gap:var(--space-3);max-width:420px;margin:0 auto}.school-form label{display:grid;gap:var(--space-1);font-weight:600;font-size:.9rem;color:var(--color-dark-green)}.school-form input{padding:var(--space-3);border:2px solid rgba(43,88,65,.25);border-radius:var(--radius-md);font:inherit;background:#fff}.school-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8742e326}.school-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-text-muted);font-size:.85rem}.school-divider:before,.school-divider:after{content:"";flex:1;height:1px;background:#2b584133}.school-disclosure{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:#2b58410f;border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-muted);text-align:center}.school-blocked{text-align:center;padding:var(--space-6) var(--space-4);background:#fff;border-radius:var(--radius-lg);border:2px solid rgba(43,88,65,.15);box-shadow:var(--shadow-md)}.school-blocked p{margin-bottom:var(--space-3)}.school-blocked a:not(.btn){color:var(--color-primary);font-weight:600}.school-blocked a:not(.btn):focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
