.enrol-page{padding-top:48px;padding-bottom:72px;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;max-width:980px;margin-inline:auto}.enrol-intro{text-align:center;max-width:760px;margin-inline:auto}.enrol-intro .lead{margin-inline:auto}.enrol-intro .text-link{display:inline-flex}
.enrol-intro h1{font-size:clamp(36px,4.2vw,58px);line-height:1.12;margin:22px 0}
.enrol-form{border:1px solid var(--line);border-radius:24px;padding:40px;background:var(--cream);min-width:0}
.enrol-form fieldset{border:0;margin:0 0 28px;padding:0;min-width:0}
.enrol-form legend{font-size:21px;font-weight:700;margin-bottom:14px;padding:0}
.enrol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.enrol-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
.enrol-form input:not([type=checkbox]),.enrol-form select,.enrol-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:var(--cream);color:var(--ink);font:inherit;font-size:16px}
.enrol-form :is(input,select,textarea,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.field-help,.enrol-notice{font-size:13px;color:var(--muted);line-height:1.7}
.field-help{margin:0 0 18px}.enrol-form #teacher-offers{margin-top:16px}
.enrol-notice{padding-top:16px;border-top:1px solid var(--line);margin-bottom:22px}
.enrol-notice a{text-decoration:underline}.enrol-form .enrol-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;gap:12px}
.enrol-consent input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--green);margin-top:3px}
.enrol-form button{border:0;cursor:pointer;margin-bottom:12px}.teacher-enrol{margin-top:20px}
@media(max-width:950px){.enrol-page{grid-template-columns:1fr;gap:28px;max-width:900px}.enrol-intro .lead{max-width:600px}}
@media(max-width:550px){.enrol-page{padding-top:32px}.enrol-form{padding:24px 18px;border-radius:16px}.enrol-grid{grid-template-columns:1fr;gap:16px}.enrol-form button{width:100%}}
.enrol-form [hidden]{display:none!important}.timezone-help{margin-top:14px;margin-bottom:0}.enrol-form fieldset+fieldset{border-top:1px solid var(--line);padding-top:24px}.enrol-form textarea{resize:vertical}
.enrol-page { padding-bottom:40px; }
@media(max-width:550px) { .enrol-page { padding-bottom:28px; } }
.enrol-back{display:inline-flex;align-items:center;gap:8px;justify-self:start;min-height:44px;color:var(--green);font-weight:600;font-size:14px;text-decoration:none}
.enrol-back:hover{text-decoration:underline}.enrol-back:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.enrol-form{background:#edf3e9;border-color:#cfddce}
.enrol-form input:not([type=checkbox]),.enrol-form select,.enrol-form textarea{background:#fff}
html[data-theme="dark"] .enrol-form{background:#192e28;border-color:#344741}
html[data-theme="dark"] .enrol-form input:not([type=checkbox]),html[data-theme="dark"] .enrol-form select,html[data-theme="dark"] .enrol-form textarea{background:#101c1a}
@keyframes enrol-drop-in {
 from { opacity:0; transform:translateY(30px); }
 to { opacity:1; transform:translateY(0); }
}
@media(prefers-reduced-motion:no-preference) {
 .enrol-drop-in { animation:enrol-drop-in .7s cubic-bezier(.22,1,.36,1) both; }
}
@media(prefers-reduced-motion:reduce) { .enrol-drop-in { animation:none; } }
.enrol-form > button.button { background:#f3c955; color:#193237; border:0; box-shadow:none; }
.enrol-form > button.button { color:#171717; }
.email-field > input { margin-top:7px; }
.email-preferences { margin-top:12px; display:grid; gap:10px; }
.enrol-form .email-choice { display:flex; flex-direction:row; align-items:flex-start; gap:9px; font-size:12px; line-height:1.5; font-weight:400; }
.email-choice input { width:18px; height:18px; flex:0 0 18px; margin:1px 0 0; accent-color:var(--green); }
.email-preferences .field-help { margin:0; font-size:11px; }
.email-updates-last { margin:0 0 22px; }
.enrol-form .enrol-consent,
.enrol-form .email-choice {
 display:flex; flex-direction:row; align-items:flex-start; gap:12px;
 margin:0; padding:0; color:var(--muted);
 font-family:Arial,Helvetica,sans-serif; font-size:14px; font-weight:400; line-height:1.6;
}
.enrol-form .enrol-consent input,
.enrol-form .email-choice input {
 appearance:auto; box-sizing:border-box; width:20px; height:20px;
 flex:0 0 20px; margin:1px 0 0; padding:0; accent-color:var(--green);
}
.enrol-form .enrol-consent span,
.enrol-form .email-choice span { flex:1; min-width:0; color:inherit; font:inherit; }
.enrol-form .enrol-notice { margin-bottom:16px; }
.enrol-form .email-updates-last { margin:0 0 24px; gap:6px; }
.enrol-form .email-preferences .field-help {
 margin:0 0 0 32px; font-family:Arial,Helvetica,sans-serif;
 font-size:12px; font-weight:400; line-height:1.6; color:var(--muted);
}
.enrol-form select {
 -webkit-appearance:none; appearance:none;
 background-image:url('../images/select-chevron.svg');
 background-repeat:no-repeat; background-position:right 14px center; background-size:16px 16px;
 padding-right:44px;
}
html[data-theme="dark"] .enrol-form select {
 background-image:url('../images/select-chevron-light.svg');
 background-repeat:no-repeat; background-position:right 14px center; background-size:16px 16px;
}
@media(forced-colors:active) {
 .enrol-form select,html[data-theme="dark"] .enrol-form select { appearance:auto; background-image:none; }
}
.enrol-grid > .class-email-row { grid-column:1 / -1; margin:0; gap:6px; }
.enrol-form .enrol-consent .tick-control,
.enrol-form .email-choice .tick-control { position:relative; display:inline-flex; flex:0 0 20px; width:20px; height:20px; margin-top:1px; }
.enrol-form .tick-control input[type="checkbox"] {
 appearance:none; -webkit-appearance:none; width:20px; height:20px; margin:0;
 background:#fff; border:1.5px solid #81938a; border-radius:5px; cursor:pointer;
 transition:background-color .18s,border-color .18s;
}
.enrol-form .tick-control input:checked { background:#285a48; border-color:#285a48; }
.tick-control svg { position:absolute; inset:1px; width:18px; height:18px; pointer-events:none; fill:none; stroke:#fff; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.tick-control path { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .28s ease; }
.tick-control input:checked + svg path { stroke-dashoffset:0; }
html[data-theme="dark"] .enrol-form .tick-control input { background:#15291f; border-color:#8aa194; }
html[data-theme="dark"] .enrol-form .tick-control input:checked { background:#285a48; }
@media(prefers-reduced-motion:reduce) { .tick-control path,.enrol-form .tick-control input { transition:none; } }
@media(forced-colors:active) { .enrol-form .tick-control input { appearance:auto; } .tick-control svg { display:none; } }
