:root{--ink:#192b23;--lime:#d3ef70;--paper:#f7f8f2;--muted:#69736c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #819b38;outline-offset:5px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:10}.logo{display:flex;align-items:center;font-size:21px;font-weight:900;letter-spacing:-1px;gap:3px}.logomark{width:31px;height:31px;background:var(--ink);color:var(--lime);display:grid;place-items:center;margin-right:8px;font-size:27px}.light{font-weight:400}.logo-dot{height:6px;width:6px;background:#8da539;border-radius:50%;margin:11px 0 0 3px}nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600}.nav-contact{border:1px solid #b5bcb1;border-radius:3px;padding:12px 18px}.nav-contact span{margin-left:20px}.menu{display:none}.hero{min-height:660px;background:#142920;color:white;position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,20,.97) 2%,rgba(9,28,20,.78) 36%,rgba(9,28,20,.08) 77%),url('assets/race.jpg') center 44%/cover}.hero-content{position:relative;padding:65px 5% 115px;width:100%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;gap:10px;align-items:center}.pulse{width:7px;height:7px;background:var(--lime);border-radius:50%}.hero h1{font-size:clamp(38px,5.3vw,82px);font-weight:900;letter-spacing:-3px;line-height:1.05;margin:33px 0 26px;max-width:1050px}em{font-style:normal;color:var(--lime)}.hero p{font-size:17px;line-height:1.7;color:#dae0d9}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:37px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;border:0;border-radius:3px;font-size:13px;font-weight:700}.lime{background:var(--lime);color:var(--ink)}.btn:hover{filter:brightness(.95);transform:translateY(-1px)}.textlink{font-size:12px;display:flex;gap:18px;align-items:center}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;border-top:1px solid #ffffff35;padding-top:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px}.photo-note{position:absolute;right:5%;bottom:8px;color:#f0f2ebad;font-size:9px}.ticker{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:22px 3%;font-weight:800;letter-spacing:.8px;font-size:14px;background:var(--lime);overflow:hidden;white-space:nowrap}.ticker i{font-style:normal;font-size:26px;font-weight:400}.section{padding:100px 7%;scroll-margin-top:10px}.green{color:#5a6d40}.section h2,dialog h2{font-size:clamp(33px,3.8vw,54px);line-height:1.08;letter-spacing:-2px;font-weight:700;margin:22px 0}.profile{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro{font-size:20px;line-height:1.5;color:var(--muted);margin-top:26px}.profile-copy{padding-top:10px}.draft-tag{font-size:9px;letter-spacing:1px;border:1px solid #cad0c2;display:inline-block;padding:7px 9px;color:#68725e}.profile h3{font-size:27px;letter-spacing:-.8px;margin:23px 0}.profile-copy p{font-size:15px;line-height:1.8;color:#647066}dl{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 0;gap:24px}dl div{border-top:1px solid #d7dbcf;padding-top:15px}dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}dd{font-size:14px;margin:8px 0 0;font-weight:600}.disciplines{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;line-height:1.7;color:var(--muted)}.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.discipline-grid article{height:430px;position:relative;overflow:hidden;border-radius:4px;color:white;background:var(--ink);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.card-no{font-size:10px;letter-spacing:2px;z-index:1}.terrain{position:absolute;inset:0;opacity:.33}.terrain svg{width:100%;height:100%;stroke:var(--lime);stroke-width:1}.discipline-content{position:relative}.pill{display:inline-block;border:1px solid #ffffff66;border-radius:30px;padding:7px 10px;font-size:8px;letter-spacing:1.5px}.discipline-content h3{font-size:60px;letter-spacing:-2px;margin:15px 0 12px}.discipline-content p{font-size:13px;line-height:1.6;color:#e1e7df}.discipline-content a{border-top:1px solid #ffffff55;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;margin-top:25px}.discipline-grid .road{background:linear-gradient(0deg,rgba(15,29,22,.92) 0%,rgba(15,29,22,.48) 42%,rgba(15,29,22,.08) 75%),url('assets/strasse.jpg') center 38%/cover}.card-credit{font-size:8px;position:absolute;right:12px;top:12px;color:#fff9}.season{background:#ecefe5;padding-top:80px;padding-bottom:90px}.filters{display:flex;border:1px solid #cdd3c3;border-radius:4px;padding:4px;gap:3px}.filters button{background:transparent;border:0;padding:10px 18px;border-radius:2px;font-size:12px;color:var(--ink)}.filters .selected{background:var(--ink);color:white}.season-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}.calendar,.results{background:var(--paper);padding:28px;border-radius:4px}.small-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.small-heading h3{font-size:16px;margin:0}.small-heading>span{font-size:8px;letter-spacing:1px;color:#6a755e}.calendar-row{display:flex;align-items:center;gap:22px;padding:30px 0;border-bottom:1px solid #dde1d6}.date-placeholder{font-size:32px;border-right:1px solid #d6dccf;padding-right:22px;text-align:center}.date-placeholder small{display:block;font-size:8px;letter-spacing:1px;margin-top:6px}.discipline-label{font-size:8px;color:#687e3d;letter-spacing:1px}.calendar-row h4{font-size:15px;margin:8px 0}.calendar-row p{font-size:12px;color:var(--muted);margin:0}.row-arrow{margin-left:auto}.calendar-note{font-size:11px;color:var(--muted);line-height:1.7;margin:22px 0 0}.results{position:relative;overflow:hidden}.result-symbol{color:#8ea556;font-size:70px;line-height:1;display:block;margin-top:20px}.results h4{font-size:27px;letter-spacing:-.7px;line-height:1.2;margin:12px 0}.results p{font-size:13px;line-height:1.7;color:var(--muted);max-width:280px}.result-note{font-size:10px;color:#75806b;display:block;margin-top:20px}.partners{background:var(--ink);color:var(--paper)}.partners>.eyebrow{color:#b9c8a8}.partner-head{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.partner-head p{font-size:15px;line-height:1.8;color:#c1cbbf;max-width:380px;margin-bottom:24px}.sponsor-slots{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29;margin-top:50px}.sponsor-slots>div{padding:35px 20px;text-align:center;border-right:1px solid #ffffff29}.sponsor-slots>div:last-child{border:0}.sponsor-slots span{font-size:18px;font-weight:600;letter-spacing:2px;color:#afbea2}.sponsor-slots small{display:block;font-size:10px;color:#c4cebb;margin-top:12px}.partner-footnote{color:#aab6a2;font-size:10px;margin-top:18px}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.contact>div>p{font-size:14px;line-height:1.7;color:var(--muted)}.contact-box{border-left:1px solid #c9d1bf;padding-left:35px}.contact-icon{font-size:30px}.contact-box h3{font-size:19px}.contact-box p{max-width:310px}.contact-box .draft-tag{margin-top:10px}footer{border-top:1px solid #d6dccd;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .logo{font-size:15px}footer .logomark{width:25px;height:25px;font-size:22px}footer>span,footer>button{font-size:10px;color:var(--muted)}footer>button{background:none;border:0;text-decoration:underline}.backtop{border:1px solid #c4cdb9;padding:11px 16px}dialog{border:0;border-radius:6px;background:var(--paper);color:var(--ink);padding:45px;max-width:600px;width:calc(100% - 32px);max-height:85vh;overflow:auto}dialog::backdrop{background:#061d16b8;backdrop-filter:blur(5px)}.close{position:absolute;right:15px;top:10px;background:none;border:0;color:var(--ink);font-size:30px}dialog h2{font-size:35px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}dialog ul{padding:0;list-style:none}dialog li{padding:17px 0;border-bottom:1px solid #d7ddcd}dialog li b{font-size:14px}dialog li span{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}.dark{background:var(--ink);color:white}[hidden]{display:none!important}
@media(min-width:1600px){.hero-content{padding-left:8%}.hero{min-height:760px}.section{padding-left:12%;padding-right:12%}}@media(max-width:850px){nav{gap:18px}.section{padding:65px 5%}.profile{gap:40px}.hero h1{letter-spacing:-2px}.hero{min-height:610px}.hero-actions{gap:20px}.season-grid{grid-template-columns:1.2fr 1fr}.calendar,.results{padding:20px}.calendar-row{gap:12px}.calendar-row p{font-size:10px}.partner-head{gap:35px}.contact{gap:35px}footer>span{display:none}}@media(max-width:600px){header{height:72px}.logo{font-size:18px}.menu{display:flex;gap:14px;align-items:center;background:none;border:1px solid #c5cebb;padding:9px 12px;font-size:12px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px 5%;box-shadow:0 10px 20px #152e2015}nav.open{display:flex;align-items:stretch;gap:0;flex-direction:column}nav a{padding:14px}.nav-contact{margin-top:8px}.hero{min-height:640px}.hero-photo{background:linear-gradient(90deg,#0c2219e8,#0c221978),url('assets/race.jpg') 52% center/cover}.hero-content{padding-top:65px;padding-bottom:120px}.hero h1{font-size:41px;line-height:1.12;letter-spacing:-1.8px;margin-top:26px}.hero p{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start;gap:25px}.hero-bottom{font-size:7px;letter-spacing:1px;gap:10px}.ticker{justify-content:flex-start;padding:17px 5%;font-size:11px;gap:22px}.ticker i{font-size:19px}.ticker span:last-of-type,.ticker i:last-child{display:none}.section{padding:58px 6%}.profile,.partner-head,.contact{grid-template-columns:1fr;gap:20px}.section h2{font-size:39px}.profile-copy{padding-top:15px}.section-heading{align-items:flex-start;gap:20px;flex-direction:column}.section-heading>p{margin:0}.discipline-grid,.season-grid{grid-template-columns:1fr}.discipline-grid article{height:390px}.section-heading h2{font-size:36px}.disciplines{padding-top:0}.filters{margin-top:5px}.calendar-row p{font-size:12px}.calendar,.results{padding:24px}.results{min-height:320px}.sponsor-slots{grid-template-columns:1fr;margin-top:35px}.sponsor-slots>div{border-right:0;border-bottom:1px solid #ffffff29;padding:24px}.partner-head{gap:0}.partner-head p{margin-top:0}.contact-box{margin-top:15px;padding:20px 0 0;border-left:0;border-top:1px solid #d3dbca}.contact h2{font-size:36px}footer{flex-wrap:wrap;padding:25px 6%}footer>button{max-width:100px;text-align:left;line-height:1.5}.eyebrow{font-size:9px;letter-spacing:1.6px}dialog{padding:38px 25px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

/* Two personal race photos form one responsive title. */
.hero{min-height:800px;align-items:flex-end}
.hero-photo{display:grid;grid-template-columns:1fr 1fr;background:none}
.hero-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 34%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#091c14 0%,rgba(9,28,20,.92) 12%,rgba(9,28,20,.6) 39%,rgba(9,28,20,.02) 70%)}
.hero-content{padding:370px 5% 110px}
.hero h1{font-size:clamp(38px,4.5vw,68px);margin:20px 0}
.hero-actions{margin-top:24px}
@media(max-width:600px){.hero{min-height:780px}.hero-photo{height:410px}.hero-photo img{object-position:center 26%}.hero-photo::after{background:linear-gradient(0deg,#091c14 0%,transparent 65%)}.hero-content{padding:345px 6% 100px}.hero h1{font-size:35px;letter-spacing:-1.3px}.hero p{font-size:14px}.hero-actions{gap:20px}.hero-bottom{bottom:24px}.hero .eyebrow{font-size:8px}}

.hero-photo{display:block}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}@media(max-width:600px){.hero-photo{height:410px}.hero-photo img{object-fit:contain;object-position:center top}.hero-photo::after{background:linear-gradient(0deg,#091c14 0%,transparent 75%)}}

.main-partner a{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:65px}.main-partner img{display:block;width:100%;max-width:260px;height:140px;object-fit:contain}.main-partner a:hover{opacity:.8}

.sponsor-slots{grid-template-columns:1fr 1fr}.supporter-heading{font-size:10px;letter-spacing:2px;margin:40px 0 20px;color:#c4cebb}.supporter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.supporter-card{text-align:center;border:1px solid #ffffff29;border-radius:4px;padding:22px}.supporter-logo{background:#fff;border-radius:3px;height:155px;display:flex;align-items:center;justify-content:center;padding:15px}.supporter-logo img{width:100%;height:100%;object-fit:contain}.supporter-card span{display:block;margin-top:16px;font-size:13px}.supporter-card:hover{border-color:var(--lime)}@media(max-width:600px){.sponsor-slots,.supporter-grid{grid-template-columns:1fr}.supporter-logo{height:145px}}

.discipline-grid .mtb{background:linear-gradient(0deg,rgba(9,28,20,.94),rgba(9,28,20,.38) 45%,rgba(9,28,20,.03) 80%),url("assets/mtb-rennen.jpg") center 52%/cover}.mtb .terrain{display:none}

.supporter-wordmark{font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-1px}.supporter-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:600px){.supporter-grid{grid-template-columns:1fr}}

.logo>.light{margin-left:3px}@media(max-width:380px){header .logo{font-size:16px;letter-spacing:-.6px}header .logomark{margin-right:4px}}
