/* V23 — unified design system, applied last on all nine pages. */
:root{--brand:#5b36e8;--brand-deep:#4421bd;--ink:#10162b;--muted:#566079;--line:rgba(36,45,83,.12);--canvas:#f5f7fc;--surface:#fff;--radius:18px;--elevation:0 14px 40px rgba(18,28,65,.085),0 2px 7px rgba(18,28,65,.035)}
html{font-synthesis:none;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.tdb-v20{font-family:Inter,'Segoe UI',Arial,sans-serif!important;font-weight:400!important;color:var(--ink)!important;background:var(--canvas)!important;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.tdb-v20 :is(p,.intro,.subtitle,.card p,.course-top p,.card-photo p,.stat small,.footfacts,.strip p,.contact-note){font-family:inherit!important;font-weight:400!important;letter-spacing:-.014em!important;line-height:1.45!important}
body.tdb-v20 :is(h1,h2,h3){font-family:Inter,'Segoe UI',Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.052em!important;line-height:1.07!important}
body.tdb-v20 :is(h1){font-weight:800!important}
body.tdb-v20 :is(.brand,.brand b,.brand span){font-family:Inter,'Segoe UI',Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.04em!important}
body.tdb-v20 :is(.nav a,nav a){font-family:inherit!important;font-weight:700!important;letter-spacing:.075em!important}
body.tdb-v20 :is(.eyebrow,.kicker){font-weight:800!important;letter-spacing:.18em!important}
body.tdb-v20 :is(.register,.primary,.course-link,.result-button,button){font-family:inherit!important;font-weight:750!important;letter-spacing:.01em!important}
body.tdb-v20 :is(.stat b,.stats b,.distance,.km){font-family:inherit!important;font-weight:800!important;font-variant-numeric:tabular-nums}
body.tdb-v20 :is(header,.header){background:rgba(255,255,255,.96)!important;box-shadow:0 1px 0 var(--line)!important;border-bottom:1px solid var(--line)!important;backdrop-filter:blur(16px)}
body.tdb-v20 :is(.screen,.results-page){background-color:var(--canvas)!important}
body.tdb-v20 .screen{background-image:radial-gradient(ellipse 60% 55% at 100% 0%,rgba(126,108,241,.12),transparent 72%),radial-gradient(ellipse 50% 50% at 0% 100%,rgba(50,149,207,.09),transparent 70%)!important}
body.tdb-v20 :is(.topo,.lavender){opacity:.16!important;pointer-events:none}
body.tdb-v20 :is(.course-card,.card,.form-card,.contact-card,.home-card,.result-card){border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--elevation)!important;overflow:hidden}
body.tdb-v20 :is(.course-card,.card,.home-card,.result-card):hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(18,28,65,.12)!important}
body.tdb-v20 :is(.register,.primary){background:linear-gradient(115deg,#5731d9,#7546f4)!important;border-radius:12px!important;box-shadow:0 8px 20px rgba(91,54,232,.19)!important}
body.tdb-v20 :is(.course-link,.result-button){border-radius:11px!important}
body.tdb-v20 :is(.course-top,.card-photo){isolation:isolate}
body.tdb-v20 :is(.course-top,.card-photo)::after{pointer-events:none}
body.page-courses .course-card.green .course-top,body.page-results .course-card.green .card-photo{background-image:linear-gradient(160deg,rgba(2,36,37,.03),rgba(0,9,18,.35)),url('assets/v21-green.svg')!important;background-size:cover!important}
body.page-courses .course-card.blue .course-top,body.page-results .course-card.blue .card-photo{background-image:linear-gradient(160deg,rgba(2,20,58,.03),rgba(0,9,26,.38)),url('assets/v21-blue.svg')!important;background-size:cover!important}
body.page-courses .course-card.pink .course-top,body.page-results .course-card.pink .card-photo{background-image:linear-gradient(160deg,rgba(46,4,42,.03),rgba(18,5,29,.38)),url('assets/v21-rose.svg')!important;background-size:cover!important}
body.page-results .scenery{background-image:url('assets/v21-results.svg')!important;opacity:.25!important}
body.page-courses .courses-hero .scenery{background-image:url('assets/v21-canvas.svg')!important;opacity:.23!important}
body.page-courses .course-top h2,body.page-results .card-photo h2{font-weight:800!important;letter-spacing:-.045em!important}
body.page-courses .course-top p,body.page-results .card-photo p{font-weight:450!important;line-height:1.38!important}
body.page-courses .course-card .course-bottom,body.page-results .course-card .stats{background:#fff!important}
body.page-info .cards .card{background:#fff!important}
body.page-event .history{background:#f7f8fd!important}
body.page-contact .form-card{background:#fff!important}
body.tdb-v20 :is(a,button,input,textarea):focus-visible{outline:3px solid rgba(91,54,232,.52)!important;outline-offset:3px}
@media(max-width:950px){body.tdb-v20 :is(.course-card,.card,.form-card,.contact-card){border-radius:15px!important}body.tdb-v20 :is(.nav a,nav a){letter-spacing:.03em!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.tdb-v20 *,body.tdb-v20 *::before,body.tdb-v20 *::after{animation:none!important;transition:none!important}}
