:root{--acid:#7de3f4;--brand-red:#d71920;--text:#f8f9ff;--muted:#c9cee3;--font-sans:Arial,"Helvetica Neue","Segoe UI",sans-serif;--font-display:Arial,"Helvetica Neue","Segoe UI",sans-serif}
html,body{overflow-x:clip}body{font-family:var(--font-sans);font-size:17px;line-height:1.68;letter-spacing:.004em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:-.035em}
.mono,.kicker,.nav,.button,.stat-label,label span,.ticker,.activity-number,.activity-meta,.activity-link,.tech-stat small,.log-caption small,.log-card small,.contact-details,.footer-row,.wizard-title,.agenda-meta,.agenda-details{font-family:var(--font-sans)}
.kicker,.activity-meta,.activity-number,.tech-stat span,.log-caption small,.log-card small,.sport-data span,.wizard-summary span,.agenda-arrow,.agenda-card time span{color:var(--acid)}
.kicker{font-size:.78rem;letter-spacing:.11em}
.button{background:var(--brand-red);border-color:var(--brand-red);color:#fff;font-weight:800;letter-spacing:.11em;border-radius:2px}
.button:hover{background:var(--brand-red);border-color:var(--brand-red);color:#fff;filter:brightness(.88)}
.button:focus-visible,a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
.button.ghost{background:transparent;color:#fff;border-color:#7079a9}.button.ghost:hover{background:#fff;color:#10164d;border-color:#fff}
.ticker b{color:var(--acid)}.ticker{color:#c8cde2}.ticker strong{color:#fff}
.nav{font-size:.68rem;letter-spacing:.09em}.nav-links{gap:21px}.nav-links a{font-weight:700}.site-header .nav-links>a:not(.button):hover{color:var(--brand-red)}
.hero-copy,.section-heading>p,.about p,.sport-description,.practical-grid p:last-child{color:#d6daeb}
.practice{background:#fff;color:#10164d;border-top:4px solid var(--brand-red)}.practice .button{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.sport-cta{background:#fff;color:#10164d;border-top:4px solid var(--brand-red)}.sport-cta .kicker{color:var(--brand-red)}.sport-cta .button{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.price-estimate{border-left-color:var(--brand-red)}.form-message.ok{background:rgba(255,255,255,.1);color:#fff;border-left:3px solid var(--acid)}
.agenda-card:hover{border-color:var(--acid)}.agenda-state{color:#fff}.agenda-state.open{background:#eef9f2;color:#14663a}.agenda-state.few{background:#fff1c9;color:#6e5000}.agenda-state.full,.agenda-state.cancelled{background:var(--brand-red);color:#fff}
.form-message.error{background:#fff;color:var(--brand-red);border-left:4px solid var(--brand-red)}
@media(max-width:1160px){.nav-links{gap:14px}.nav{gap:18px}.nav-links>a{font-size:.62rem}}
.ctm-languages{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid #d9dcea;border-radius:999px;background:#fff;box-shadow:0 3px 12px rgba(16,22,77,.06)}.ctm-languages__icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;border-radius:50%;color:#10164d;background:#edf7fb}.ctm-languages__icon svg{display:block;width:17px;height:17px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.ctm-languages ul{display:flex;gap:3px;margin:0;padding:0;list-style:none}.ctm-languages li{margin:0}.ctm-languages a{min-width:34px;height:28px;display:grid;place-items:center;padding:0 8px;border-radius:999px;color:#50577d!important;font:900 11px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;transition:color .2s,background .2s}.ctm-languages a:hover{color:#10164d!important;background:#edf7fb!important}.ctm-languages .current-lang a{color:#fff!important;background:#10164d!important}.ctm-languages .current-lang a:hover{color:#fff!important;background:#10164d!important}
@media(max-width:980px){.ctm-languages{margin-top:14px}.ctm-languages__icon{width:32px;height:32px}.ctm-languages a{height:32px;min-width:40px}}

/* Readability pass: reserve uppercase styling for short labels and keep supporting text comfortable. */
p,li,input,select,textarea{font-family:var(--font-sans)}
.hero-copy,.section-heading p,.about p,.sport-description,.page-body,.ctm-story-prose{font-size:1.04rem;line-height:1.72}
.activity-link,.activity-meta,.tech-stat small,.log-caption small,.log-card small,.agenda-meta,.agenda-details,.form-note{font-size:.67rem;line-height:1.45;letter-spacing:.07em}
.booking-form label span,.ctm-field-label,.wizard-title{font-size:.62rem;line-height:1.45;letter-spacing:.09em}
.contact-details,.footer-row{font-size:.68rem;line-height:1.65;letter-spacing:.07em}
.button{font-size:.72rem;letter-spacing:.075em}
@media(max-width:640px){body{font-size:16px}.hero-copy,.section-heading p,.about p,.sport-description,.page-body,.ctm-story-prose{font-size:1rem}.nav-links>a:not(.button){font-size:.76rem!important}}
