.training-section{padding-top:48px;padding-bottom:48px;scroll-margin-top:140px}.training-panel{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:38px;border:1px solid var(--line,#dce3e9);border-radius:28px;background:#edf6f0}.training-welcome{display:flex;gap:18px;align-items:center}.training-welcome img{width:150px;height:190px;object-fit:contain;flex-shrink:0}.training-intro h2{font-family:Georgia,serif;font-size:clamp(30px,3.1vw,45px);letter-spacing:-1.2px;margin-bottom:18px}.training-intro p{font-size:14px;color:var(--muted)}.training-intro .eyebrow{font-size:10px;color:var(--ink);margin-bottom:15px}.training-next{background:#086b43;color:white;border-radius:16px;padding:18px 22px;font-size:17px;line-height:1.6;margin:22px 0 12px}.training-next strong,.training-next span{display:block}.training-intro .training-note{font-size:12px;line-height:1.7}.training-intro .button{border-radius:12px;background:#10284c;color:#fff;gap:18px;max-width:100%;transition:transform .2s,background .2s}.training-intro .button:hover{background:#086b43;transform:scale(1.03)}.training-calendar{min-width:0;padding:24px;border:1px solid var(--line,#dce3e9);border-radius:22px;background:var(--paper,#fff)}.training-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-month-nav h3{font-family:Georgia,serif;font-size:25px;letter-spacing:-.6px;text-transform:none;margin:0;text-align:center}.training-month-nav button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#10284c;color:white;border:0;font-size:28px;cursor:pointer;transition:transform .2s,background .2s}.training-month-nav button:hover{background:#086b43;transform:scale(1.08)}.training-month-nav button:disabled{opacity:.4;cursor:default;transform:none}.training-source{font-size:11px;color:var(--muted);margin:14px 0 16px;line-height:1.6}.training-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.training-weekday{text-align:center;font-size:11px;font-weight:700;padding-bottom:8px;color:var(--muted)}.training-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;font-size:13px;border:1px solid transparent;position:relative}.training-day.today{outline:2px solid var(--ink);outline-offset:1px}.training-day.afternoon{background:#086b43;color:white;font-weight:700}.training-day.morning{background:#10284c;color:white;font-weight:700}.training-day.cancelled{background:transparent;border:1px dashed var(--muted);text-decoration:line-through}.training-day.past{opacity:.65}.training-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted);margin:18px 0}.training-legend>span{display:flex;gap:5px;align-items:center}.training-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.training-dot.afternoon{background:#086b43}.training-dot.morning{background:#10284c}.training-dot.cancelled{border:1px dashed var(--muted)}.training-sessions{display:grid;gap:10px}.training-session-group{border-top:1px solid var(--line,#dce3e9);padding-top:12px;font-size:12px;line-height:1.8}.training-session-group strong{display:block;font-size:13px}.training-session-group p{margin:3px 0;color:var(--muted);font-size:12px}.training-sessions .training-empty{font-size:13px;color:var(--muted)}[data-theme=dark] .training-panel{background:#112c30}[data-theme=dark] .training-day.morning,[data-theme=dark] .training-dot.morning{background:#5a7daa}[data-theme=dark] .training-month-nav button{background:#284a71}@media(max-width:1000px){.training-panel{grid-template-columns:1fr;gap:28px}.training-welcome{max-width:650px}.training-welcome img{width:160px}}@media(max-width:550px){.training-section{padding:35px 5%;scroll-margin-top:100px}.training-panel{padding:20px;gap:24px;border-radius:22px}.training-welcome{gap:8px}.training-welcome img{width:100px;height:150px}.training-intro h2{font-size:29px;letter-spacing:-.6px}.training-intro p{font-size:13px}.training-calendar{padding:16px}.training-month-nav{gap:6px}.training-month-nav h3{font-size:20px}.training-month-nav button{width:36px;height:36px}.training-grid{gap:3px}.training-day{font-size:12px;border-radius:7px}.training-next{font-size:15px;padding:15px}.training-legend{gap:9px}.training-intro .button{font-size:11px;padding:16px;gap:12px}}@media(prefers-reduced-motion:reduce){.training-intro .button,.training-month-nav button{transition:none}}

.training-month-nav h3::first-letter{text-transform:uppercase}

.training-day.race,.training-dot.race,[data-theme=dark] .training-day.race,[data-theme=dark] .training-dot.race{background:#b9e1f6;color:#10284c;font-weight:700}.training-session-group a{text-decoration:underline;text-underline-offset:3px}.training-session-group a:hover{color:#086b43}

a.training-day{text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s}a.training-day:hover{transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px #086b43;z-index:1}a.training-day:focus-visible{outline:3px solid #3182b9;outline-offset:2px;z-index:1}@media(prefers-reduced-motion:reduce){a.training-day{transition:none}}
