:root{--orange:#FE5000;--dark:#181818;--darker:#111;--card:#1e1e1e;--text:#e8e8e8;--muted:#888;--border:rgba(255,255,255,.07);--pad-x:48px}
body{background:var(--dark);color:var(--text);font-family:'Raleway',sans-serif;overflow-x:hidden;line-height:1.6}
.article-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;padding:140px 48px 80px;overflow:hidden}
.article-hero-bg{position:absolute;inset:0;background:url('https://runningsociety.de/wp-content/uploads/2026/06/lago-di-garda-2025-laufen-hero-scaled.jpg') center/cover no-repeat}
.article-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,17,17,.96) 0%,rgba(17,17,17,.55) 50%,rgba(17,17,17,.25) 100%)}
.article-hero-content{position:relative;max-width:1080px;margin:0 auto;width:100%}
.article-back{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.6);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;margin-bottom:32px;transition:color .2s,gap .2s}
.article-back:hover{color:var(--orange);gap:14px}
.article-back::before{content:'←'}
.article-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:18px}
.article-title{font-family:'League Gothic',sans-serif;font-size:clamp(72px,12vw,140px);line-height:.88;letter-spacing:.02em;text-transform:uppercase;color:#fff;margin-bottom:24px}
.article-subtitle{font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.7);max-width:620px;font-weight:300;margin-bottom:32px}
.article-meta{display:flex;gap:24px;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.article-body{padding:96px 48px;background:var(--dark)}
.article-inner{max-width:760px;margin:0 auto}
.article-inner p{font-size:1.05rem;line-height:1.85;color:var(--text);margin-bottom:24px;font-weight:300}
.article-inner p.article-lead{font-size:1.25rem;line-height:1.65;color:#fff;margin-bottom:48px;font-weight:400}
.article-inner h2{font-family:'League Gothic',sans-serif;font-size:clamp(36px,4.5vw,52px);line-height:1;letter-spacing:.02em;text-transform:uppercase;color:#fff;margin:64px 0 24px}
.article-inner h2:first-child{margin-top:0}
.article-inner blockquote{font-family:'League Gothic',sans-serif;font-size:clamp(28px,3.5vw,42px);line-height:1.15;text-transform:uppercase;color:var(--orange);border-left:3px solid var(--orange);padding:8px 0 8px 32px;margin:48px 0;font-weight:normal;letter-spacing:.02em}
.article-img{width:100%;height:400px;object-fit:cover;display:block;margin:48px 0 0}
.article-img-caption{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:10px 0 48px}
.article-slideshow{margin:56px 0;position:relative;overflow:hidden;height:520px;background:#111}
.story-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.story-slide.active{opacity:1}
.story-slide img{width:100%;height:100%;object-fit:cover}
.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(0,0,0,.55);border:none;color:#fff;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;transition:background .2s}
.slide-arrow:hover{background:var(--orange)}
.slide-prev{left:16px}
.slide-next{right:16px}
.slide-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.slide-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .25s,transform .25s}
.slide-dot.active{background:#fff;transform:scale(1.3)}
.article-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:56px 0}
.article-photo-grid img{width:100%;height:300px;object-fit:cover;display:block}
.article-photo-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:56px 0}
.article-photo-grid-3 img{width:100%;height:240px;object-fit:cover;display:block}
.article-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:72px -48px 0}
.article-stat{background:var(--card);padding:32px 24px;text-align:center}
.article-stat-num{font-family:'League Gothic',sans-serif;font-size:3rem;color:var(--orange);line-height:1}
.article-stat-label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.rs-cta{position:relative;height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
.rs-cta-bg{position:absolute;inset:0;background:url('https://runningsociety.de/wp-content/uploads/2026/06/cta-racerecap.jpg') center 25%/cover no-repeat;transform:scale(1.12);animation:cta-drift 12s ease-in-out infinite}
@keyframes cta-drift{0%{transform:scale(1.12) translateX(0)}50%{transform:scale(1.12) translateX(-3%)}100%{transform:scale(1.12) translateX(0)}}
.rs-cta-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(254,80,0,.18) 0%,rgba(20,20,20,.82) 35%,rgba(20,20,20,.76) 100%)}
.rs-cta-content{position:relative;z-index:2}
.rs-cta-title{font-family:'League Gothic',sans-serif;font-size:clamp(64px,9vw,116px);text-transform:uppercase;line-height:.9;letter-spacing:-.01em;margin-bottom:40px;color:#fff}
.rs-cta-title em{color:var(--orange);font-style:normal}
.btn-primary{background:var(--orange);color:#fff;padding:14px 32px;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:opacity .2s,transform .2s}
.btn-primary:hover{opacity:.9;transform:translateY(-2px)}
.profile-strip{background:var(--card);border-bottom:1px solid var(--border)}
.profile-strip-inner{max-width:1080px;margin:0 auto;padding:32px 48px;display:flex;gap:80px;flex-wrap:wrap;align-items:center;justify-content:center}
.profile-tag{display:flex;flex-direction:column;gap:4px;text-align:center;align-items:center}
.profile-tag-label{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.profile-tag-value{font-size:.92rem;font-weight:500;color:#fff}
footer{background:#111;padding:80px 48px 40px;border-top:1px solid var(--border)}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:80px;max-width:1280px;margin-left:auto;margin-right:auto}
.footer-tagline{font-size:13px;color:var(--muted);margin-top:12px;font-weight:300}
.footer-nav-col h4{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.footer-nav-col a{display:block;font-size:14px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:10px;transition:color .2s}
.footer-nav-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid var(--border);max-width:1280px;margin:0 auto;font-size:12px;color:var(--muted)}
.footer-bottom a{color:inherit;text-decoration:none;transition:color .2s}
.footer-bottom a:hover{color:#fff}
@media(max-width:768px){
  #nav{padding:16px 24px}
  .article-hero{padding:120px 24px 56px;min-height:60vh}
  .article-title{font-size:clamp(60px,16vw,96px)}
  .article-body{padding:64px 24px}
  .article-inner p{font-size:1rem}
  .article-inner p.article-lead{font-size:1.1rem;margin-bottom:36px}
  .article-stats{margin-left:-24px;margin-right:-24px;grid-template-columns:repeat(2,1fr)}
  .profile-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:24px;justify-items:start;align-items:start}
  .article-slideshow{height:340px}
  .article-photo-grid,.article-photo-grid-3{grid-template-columns:1fr}
  .article-cta{padding:64px 24px}
  footer{padding:48px 24px 24px}
  .footer-top{flex-direction:column;gap:40px;align-items:stretch;margin-bottom:48px}
  .footer-nav{flex-direction:row;flex-wrap:wrap;gap:24px}
  .footer-nav-col{width:calc(50% - 12px)}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
}
