.training-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
#apply { scroll-margin-top:120px; }
.training-page .training-apply { align-items:stretch; text-align:left; gap:28px; }
.application-intro,.teacher-application,.application-thanks { width:100%; max-width:960px; margin-inline:auto; }
.training-page .application-intro h2 { font-size:clamp(36px,5vw,64px); line-height:1.05; }
.application-intro p { max-width:740px; font-size:18px; line-height:1.55; }
.teacher-application { padding:clamp(20px,4vw,40px); background:var(--cream); border:2px solid var(--ink); border-radius:24px; box-sizing:border-box; }
.application-required { margin:0 0 24px; font-size:16px; }
.application-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.application-field { display:flex; flex-direction:column; gap:10px; min-width:0; }
.application-full { grid-column:1/-1; }
.application-field label { font-size:17px; font-weight:600; line-height:1.4; }
.application-field input,.application-field select,.application-field textarea { width:100%; box-sizing:border-box; border:1.5px solid var(--ink); border-radius:10px; background:#fff; color:var(--ink); padding:13px 14px; font:400 18px/1.5 Arial,sans-serif; }
.application-field select { margin-top:auto; }
.application-field textarea { resize:vertical; min-height:160px; }
.application-field small { font-size:14px; }
:is(.teacher-application,.home-contact) :is(input,select,textarea,button):focus-visible { outline:3px solid #7553cd; outline-offset:3px; }
:is(.teacher-application,.home-contact) [aria-invalid="true"] { border-color:#9e1c38; }
.application-consents { display:grid; gap:18px; margin-top:28px; }
.application-checkbox { display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.5; cursor:pointer; }
.application-checkbox input { flex:0 0 22px; width:22px; height:22px; padding:0; margin:2px 0 0; accent-color:var(--ink); }
.application-checkbox a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.application-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.application-status { font-size:16px; line-height:1.5; margin:20px 0 0; }
.application-status:empty { display:none; }
.application-status.is-error { color:#9e1c38; font-weight:600; }
:is(.teacher-application,.home-contact) button:disabled { opacity:.55; cursor:not-allowed; }
.application-reconnect { display:block; border:0; background:none; color:var(--ink); text-decoration:underline; padding:16px 0; font-size:16px; cursor:pointer; }
.application-thanks { padding:28px; background:var(--lime); border:2px solid var(--ink); border-radius:20px; box-sizing:border-box; }
.application-thanks h3 { font-size:32px; margin:0 0 16px; }
.application-thanks p { font-size:18px; line-height:1.5; }
:is(.training-apply,.contact-form) [hidden] { display:none!important; }
@media(max-width:640px) { .application-fields { grid-template-columns:minmax(0,1fr); gap:20px; } .training-hero-actions .button { width:100%; } .teacher-application .button { width:100%; justify-content:center; } }

.home-contact { margin-top:24px; text-align:left; }
.home-contact .application-fields { grid-template-columns:minmax(0,1fr); gap:18px; }
.home-contact .application-checkbox { display:flex; align-items:flex-start; gap:12px; font-size:16px; font-weight:400; }
.home-contact .application-required { font-size:16px; font-weight:400; margin-bottom:20px; }
.home-contact .button { margin-top:20px; }
.contact-form .application-thanks { margin-top:24px; }
.contact-form .application-thanks h3 { font-size:28px; }
.home-contact .application-field textarea { min-height:130px; }
