.training-page{color:var(--ink)}
.training-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:36px;align-items:center;padding:clamp(42px,7vw,90px) clamp(18px,6vw,84px);background:linear-gradient(125deg,#edf3e9 0%,#fff 54%,#f2e5b6 100%)}
.training-hero-copy{max-width:760px}
.training-hero h1{max-width:760px;margin:0;color:var(--brand-blue);font-size:clamp(42px,6vw,78px);line-height:.98;letter-spacing:-.035em}
.training-hero .eyebrow,.training-registration .eyebrow{color:var(--green)}
.training-lead{max-width:640px;margin:22px 0 28px;color:#354139;font-size:clamp(18px,2vw,23px);line-height:1.5}
.training-date-card{display:grid;justify-items:center;gap:8px;padding:30px 22px;border-radius:10px;background:var(--brand-blue);color:#fff;text-align:center;box-shadow:var(--shadow)}
.training-date-day{font-size:92px;font-weight:950;line-height:.9;color:var(--gold)}
.training-date-month{font-size:24px;font-weight:900}
.training-date-place{margin:6px 0 10px;font-size:18px}
.training-date-card strong{padding:10px 14px;border-radius:8px;background:rgba(255,255,255,.12)}
.training-event-details{padding-inline:clamp(18px,6vw,84px)}
.training-starts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.training-start-card{padding:24px;border:1px solid var(--line);border-radius:9px;background:#fbfbf7;box-shadow:var(--shadow)}
.training-start-time{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e4efd2;color:#31530d;font-weight:950}
.training-start-card h3{margin:15px 0 8px;color:var(--brand-blue);font-size:30px}
.training-start-card p,.training-notes p{color:#354139;line-height:1.65}
.training-notes{max-width:920px;margin:24px auto 0;padding:18px 22px;border-left:5px solid var(--green);background:#eef2e8}
.training-notes p{margin:0 0 12px}.training-notes p:last-child{margin-bottom:0}
.training-registration{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start;background:var(--brand-blue);color:#fff;padding-inline:clamp(18px,6vw,84px)}
.training-registration .eyebrow{color:var(--gold)}
.training-registration h2{margin:0;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.05}
.training-registration-copy>p:not(.eyebrow){color:#d8e4dc;font-size:18px;line-height:1.55}
.training-privacy-note{font-size:14px!important}
.training-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border-radius:9px;background:#fff;color:var(--ink)}
.training-form label{display:grid;gap:7px;font-size:14px;font-weight:800}
.training-form label span{font-weight:600;color:var(--muted)}
.training-form input,.training-form select{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfbf8;color:var(--ink);font:inherit}
.training-form input:focus,.training-form select:focus{outline:3px solid rgba(44,99,148,.2);border-color:var(--blue);background:#fff}
.training-form-full{grid-column:1/-1}
.training-form .checkbox{grid-template-columns:auto 1fr!important;align-items:start;font-weight:650}
.training-form .checkbox input{width:18px;min-height:18px;height:18px;margin-top:2px}
.training-fee-note{margin:0;padding:12px;border-radius:8px;background:#eef2e8;color:var(--brand-blue);font-weight:850}
.training-form-status{min-height:24px;margin:0;color:var(--green);font-weight:850}
.training-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:850px){.training-hero,.training-registration{grid-template-columns:1fr}.training-date-card{max-width:440px}.training-registration-copy{max-width:640px}}
@media(max-width:600px){.training-starts,.training-form{grid-template-columns:1fr}.training-form-full{grid-column:auto}.training-date-day{font-size:78px}.training-form{padding:18px}}
.training-route-map{margin:18px 0 28px}
.training-route-map img{display:block;width:25%;height:auto;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.training-route-map figcaption{margin-top:8px;color:var(--muted);text-align:center;font-size:14px}
.training-waiver{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fbfbf8;color:var(--ink);line-height:1.6}
.training-waiver h3{margin:0 0 8px;color:var(--brand-blue)}
.training-waiver p{margin:0 0 12px}.training-waiver p:last-child{margin-bottom:0}
.training-waiver-note{font-size:14px;color:var(--muted)}
