@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800;1,900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#171616;--coral:#ff5b46;--pink:#ff84a0;--cream:#f8f4ed;--muted:#6f6b69}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:86px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#171616;color:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:17px;line-height:.85;letter-spacing:.045em}.brand strong{font-size:26px;letter-spacing:.005em}.brand-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--coral);color:var(--ink);font-size:37px;font-weight:900;font-style:italic;line-height:1;position:relative;transform:skew(-8deg)}.brand-icon span{position:absolute;font:900 16px 'DM Sans';right:-7px;top:-8px;color:var(--pink)}nav{display:flex;align-items:center;gap:clamp(15px,2vw,32px);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}nav a:hover,footer a:hover{color:var(--coral)}nav .nav-action{padding:12px 17px;background:var(--coral);color:var(--ink)}.menu-toggle{display:none}.hero{min-height:690px;height:min(820px,calc(100vh - 86px));position:relative;display:flex;align-items:center;color:white;background:#28201f url('stadtlauf-wolfsberg-start-2026.webp') center center/cover no-repeat;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,18,.78) 0%,rgba(20,18,18,.55) 42%,rgba(20,18,18,.03) 83%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,18,.55),transparent 25%);pointer-events:none}.hero-content{position:relative;z-index:1;margin-left:clamp(22px,7vw,110px);max-width:780px;padding:70px 25px 90px 0}.eyebrow,.overline{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:24px}.line{width:32px;height:3px;background:var(--coral)}h1,h2,h3,p{margin-top:0}h1,h2,.race-card strong{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.88;text-transform:uppercase;letter-spacing:-.018em}h1{font-size:clamp(72px,10.5vw,154px);margin:0 0 24px}h1 em,h2 em{font-style:italic;color:var(--coral)}.hero-intro{max-width:585px;font-size:clamp(16px,1.45vw,19px);line-height:1.55;color:#f2eae5}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{min-height:52px;padding:13px 19px;display:inline-flex;gap:24px;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.button.primary{background:var(--coral);color:var(--ink)}.button.outline{border:1px solid #ddd;color:#fff}.button:hover,.nav-action:hover{transform:translateY(-2px)}.hero-status{font-size:13px;font-weight:700;color:#eee;display:flex;gap:9px;align-items:center}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--pink)}.hero-side{position:absolute;right:4vw;top:35px;bottom:35px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;opacity:.85}.hero-side span{writing-mode:vertical-rl;font-size:12px;letter-spacing:.4em;font-weight:800}.hero-side b{font:900 140px 'Barlow Condensed';line-height:1;color:transparent;-webkit-text-stroke:1px #ffffff75}.image-note{position:absolute;z-index:2;bottom:15px;right:22px;font-size:11px;color:#fff}.ticker{overflow:hidden;background:var(--coral);padding:15px 0;font:800 19px 'Barlow Condensed';letter-spacing:.15em;white-space:nowrap}.ticker div{width:max-content;min-width:100%;text-align:center}.ticker span{color:#fff;margin:0 19px}.section-wrap{padding:clamp(80px,10vw,150px) clamp(22px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:5vw}.section-label{font-size:12px;letter-spacing:.15em;font-weight:800;padding-top:7px}.overline{color:#e45240}.intro h2,.race-heading h2,.cause h2,.info h2,.contact h2{font-size:clamp(56px,7.6vw,112px);margin:0 0 32px}.intro p:not(.overline){max-width:760px;color:#484240;font-size:clamp(17px,1.6vw,21px)}.intro-stats{display:flex;gap:clamp(25px,5vw,90px);border-top:1px solid #d8d0c7;margin-top:50px;padding-top:30px}.intro-stats strong{font:800 62px 'Barlow Condensed';display:block;line-height:1}.intro-stats span{font-size:13px;font-weight:700}.races{background:#211e1d;color:#fff}.race-heading{display:flex;align-items:end;justify-content:space-between;gap:55px}.race-heading>p{max-width:420px;color:#bfb5b1}.race-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.race-card{min-height:380px;background:#302c2b;padding:28px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,background .2s}.race-card:hover{transform:translateY(-4px);background:#3d3634}.race-card.highlight{background:var(--coral);color:var(--ink)}.race-number{font-size:12px;font-weight:800;letter-spacing:.1em}.race-card strong{display:block;font-size:clamp(82px,8vw,138px);margin:25px 0 5px}.race-card strong span{font-size:.45em}.race-card h3{font:800 27px 'Barlow Condensed';text-transform:uppercase;margin-bottom:8px}.race-card p{font-size:14px;color:#d6cfcb;line-height:1.55}.race-card.highlight p{color:#292222}.race-tag{margin-top:auto;border:1px solid currentColor;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.1em}.race-note{font-size:13px;color:#bbb;margin:22px 0 0}.cause{background:var(--pink);padding:clamp(75px,9vw,130px) clamp(22px,7vw,110px)}.cause-inner{display:grid;grid-template-columns:1fr 2fr;gap:5vw;align-items:center}.cause-mark{font:900 clamp(180px,25vw,400px) 'Barlow Condensed';line-height:.8;transform:rotate(-13deg);color:var(--coral);text-shadow:8px 8px 0 var(--ink)}.cause .overline{color:#5e1924}.cause h2 em{color:#fff}.cause p:not(.overline){max-width:620px;font-size:19px}.cause a,.info a{font-weight:800;border-bottom:2px solid;padding-bottom:5px}.info{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.info-list>div{display:flex;gap:25px;border-top:1px solid #d8d0c7;padding:25px 0}.info-list>div:last-child{border-bottom:1px solid #d8d0c7}.info-list span{font-weight:800;color:#e45240}.info-list h3{font:800 27px 'Barlow Condensed';text-transform:uppercase;margin:0}.info-list p{color:#5b5551;margin:8px 0}.info-list a{display:inline-block;margin-top:8px}.contact{text-align:center;background:var(--coral);padding:clamp(80px,9vw,140px) 22px}.contact .overline{color:#552b25}.contact h2 em{color:#fff}.contact>p:not(.overline){font-size:18px}.email{display:inline-flex;gap:15px;border-bottom:3px solid;padding-bottom:5px;font:800 clamp(21px,3vw,43px) 'Barlow Condensed';overflow-wrap:anywhere}.contact small{display:block;margin-top:15px;font-size:12px}footer{background:#171616;color:#fff;padding:55px clamp(22px,7vw,110px) 30px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top p{max-width:220px;font-size:14px;color:#bdb7b4}.footer-bottom{border-top:1px solid #514a47;margin-top:50px;padding-top:22px;color:#aaa;font-size:12px}.footer-bottom a{color:#fff}footer details{border-top:1px solid #514a47;margin-top:26px;padding-top:15px}footer summary{cursor:pointer;font-weight:700}.legal{max-width:800px;color:#c9c3c0;font-size:14px;padding:20px 0}.legal h3{color:white}@media(max-width:1050px){.race-grid{grid-template-columns:repeat(2,1fr)}.race-card{min-height:330px}nav{gap:12px}}@media(max-width:800px){.site-header{height:72px}.menu-toggle{display:block;border:1px solid #ffffff70;background:transparent;color:white;padding:7px 12px;font-weight:700}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#171616;padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{height:auto;min-height:690px;background-position:63% center}.hero:before{background:linear-gradient(90deg,rgba(20,18,18,.85),rgba(20,18,18,.22))}.hero-side{display:none}.intro,.cause-inner,.info{grid-template-columns:1fr}.section-label{display:none}.cause-mark{display:none}.race-heading{display:block}.intro-stats{gap:25px}}@media(max-width:560px){.brand{font-size:13px}.brand strong{font-size:20px}.brand-icon{width:38px;height:38px;font-size:30px}.hero{min-height:690px;background-position:65% center}.hero-content{margin-left:22px;padding-right:20px}.hero h1{font-size:clamp(62px,14vw,83px)}.hero-intro{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.race-grid{grid-template-columns:1fr}.race-card{min-height:310px}.intro-stats{flex-wrap:wrap}.intro-stats strong{font-size:48px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.ticker{font-size:15px}}
/* Crop the far right edge of the race photo in the hero, keeping the original asset intact. */
.hero{background-position:left center;background-size:120% auto}
@media(max-width:800px){.hero{background-size:cover;background-position:63% center}}
@media(max-width:560px){.hero{background-position:65% center}}

.archive-grid,.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:36px 0}.archive-card{padding:24px;background:#f3efeb;border-top:4px solid #df6544;color:#171616}.archive-card h3{font-size:2rem;margin:0 0 20px}.archive-card a{display:block;margin:14px 0;text-decoration:underline}.partner-grid>a,.partner-grid>div{display:flex;align-items:center;justify-content:center;background:white;padding:24px;min-height:150px;border:1px solid #ddd}.partner-grid img{width:100%;height:115px;object-fit:contain}.partner-cta{padding:30px;background:#f3efeb;color:#171616}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:30px}.route-grid img{width:100%;max-height:500px;object-fit:contain;background:white}#main-nav{gap:15px}@media(max-width:800px){.archive-grid,.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-grid{grid-template-columns:1fr}}@media(max-width:450px){.archive-grid{grid-template-columns:1fr}}
