/* Last Man Standing Run – Design nach DESIGN.md */
@font-face{font-family:"Anton";src:url(../assets/fonts/anton-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#000;--band:#050505;--card:#0d0d0f;--card-alt:#111;
  --text:#fff;--muted:rgba(255,255,255,.72);--dim:rgba(255,255,255,.55);--faint:rgba(255,255,255,.4);
  --line:rgba(255,255,255,.14);--line-soft:rgba(255,255,255,.1);--line-faint:rgba(255,255,255,.08);
  --accent:#5e9b3e;--accent-deep:#3f6b2b;--cream:#f2efe6;--alert:#dd0f15;
  --display:"Anton","Arial Narrow",Impact,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad-y:clamp(72px,9.3vw,130px);--pad-x:clamp(18px,5vw,40px);--max:1360px;--head-gap:clamp(36px,4vw,56px);
  --ticker-h:36px;--nav-h:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--ticker-h) + var(--nav-h) + 8px);-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:400 18px/1.6 var(--body);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
ul{list-style:none}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px 16px;z-index:200;font-weight:700}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-x)}

/* Typografie */
.display,h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1.25}
h1{font-size:clamp(52px,9vw,100px);letter-spacing:.02em;line-height:1.1}
h2{font-size:clamp(38px,5.2vw,64px);letter-spacing:.01em}
h3{font-size:clamp(22px,2vw,26px);letter-spacing:.02em;line-height:1.2}
.kicker{display:flex;align-items:center;gap:12px;font:700 15px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.kicker::before{content:"";width:8px;height:8px;background:var(--accent);flex:none}
p.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:34em}
p{color:var(--muted)}
.label{font:600 12px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}

/* Laufband (Alarm) */
.ticker{position:fixed;top:var(--nav-h);left:0;right:0;height:var(--ticker-h);z-index:89;background:#000;border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center}
.ticker-track{display:flex;align-items:center;height:100%;width:max-content;animation:marquee 38s linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{font:700 14px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--alert);white-space:nowrap;padding:0 22px}
.ticker i{font:400 14px/1 var(--body);font-style:normal;color:var(--faint);padding:0 4px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Navigation */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:90;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft)}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:44px;height:44px;border-radius:50%}
.brand span{font:400 20px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.nav ul{display:flex;gap:30px}
.nav ul a{font:700 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav ul a:hover{border-color:var(--accent)}
.burger{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;color:#fff;cursor:pointer}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:#fff;margin:0 auto;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* Buttons */
.btn{display:inline-block;font:700 12px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--accent-deep);padding:17px 34px;border:1px solid var(--accent-deep);cursor:pointer;transition:background .2s,border-color .2s;position:relative;overflow:hidden}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%)}
.btn:hover::after{transform:translateX(120%);transition:transform .7s ease}
.btn.ghost{background:transparent;border-color:var(--line)}
.btn.ghost:hover{border-color:#fff;background:transparent}
.btn[aria-disabled="true"]{background:var(--card);border-color:var(--line);color:var(--dim);cursor:not-allowed;pointer-events:none}
.btn[aria-disabled="true"]::after{display:none}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* Sektionen */
section{position:relative}
.sec{padding:var(--pad-y) 0}
.sec.band{background:var(--band);border-top:1px solid var(--line-faint);border-bottom:1px solid var(--line-faint)}
.sec-head{margin-bottom:var(--head-gap);max-width:900px}
.sec-head p{margin-top:22px}

/* Hero */
.hero{min-height:100svh;padding-top:calc(var(--ticker-h) + var(--nav-h));display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(1) contrast(1.15) brightness(.55);transform:scale(1.04);animation:drift 24s ease-in-out infinite alternate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.92) 88%,#000 100%),linear-gradient(90deg,rgba(63,107,43,.28),transparent 60%)}
.hero .wrap{width:100%;padding-bottom:clamp(40px,6vw,80px)}
.hero h1{max-width:14ch;margin-bottom:26px}
.hero p.lead{margin-bottom:34px;color:rgba(255,255,255,.82)}
.hero-note{margin-top:22px;font:600 12px/1.4 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
@keyframes drift{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.1) translateY(-14px)}}

/* Laufband Info */
.strip{background:#000;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;height:57px;display:flex;align-items:center}
.strip-track{display:flex;align-items:center;width:max-content;animation:marquee 40s linear infinite}
.strip:hover .strip-track{animation-play-state:paused}
.strip span{font:700 14px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;padding:0 22px}
.strip i{font:400 14px/1 var(--body);font-style:normal;color:var(--faint)}

/* Kennzahlen */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.stat{padding:clamp(24px,3vw,44px) clamp(18px,2.4vw,36px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat b{display:block;font:400 clamp(56px,7vw,104px)/1 var(--display);letter-spacing:.01em;color:#fff}
.stat b small{font-size:.4em;color:var(--accent);margin-left:6px;letter-spacing:.04em}
.stat .label{margin-top:12px;display:block}

/* Format */
.format-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:stretch}
.steps{counter-reset:s;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.steps li{flex:1;align-content:center;counter-increment:s;display:grid;grid-template-columns:72px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:"0" counter(s);font:400 44px/1 var(--display);color:var(--accent)}
.steps h3{margin-bottom:8px}
.board{background:var(--card);border:1px solid var(--line);padding:clamp(22px,3vw,40px);}
.board-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:26px}
.board-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-soft)}
.board-cell{padding:22px 0 8px}
.board-cell+.board-cell{padding-left:20px;border-left:1px solid var(--line-soft)}
.seg{font:400 clamp(48px,6.4vw,92px)/1 var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#fff}
.seg.green{color:var(--accent)}
.sim{border-top:1px solid var(--line-soft);padding-top:22px}
.sim-svg{display:block;width:100%;height:auto;overflow:visible}
.sim-svg .lane{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.6}
.sim-svg .clock-bg{fill:none;stroke:rgba(255,255,255,.12);stroke-width:5}
.sim-svg .clock-arc{fill:none;stroke:var(--accent);stroke-width:5;stroke-dasharray:238.8;stroke-dashoffset:0}
.sim-svg .clock-label{font:600 7px var(--body);letter-spacing:.2em;text-transform:uppercase;fill:rgba(255,255,255,.55)}
.sim-svg .clock-time{font:400 24px var(--display);fill:#fff;letter-spacing:.02em}
.sim-svg circle.run{fill:#fff}
.sim-svg circle.win{fill:var(--accent);stroke:#fff;stroke-width:1.2}
.sim-svg circle.win.fin{r:7}
.sim-svg circle.out{fill:var(--alert)}
#medal{opacity:0;transform-box:fill-box;transform-origin:50% 100%}
#clock{transition:opacity .6s}
.medal-in{opacity:1!important;animation:medalPop .8s cubic-bezier(.2,1.4,.4,1) both}
.medal-text{font:400 11px var(--display);letter-spacing:.1em;text-transform:uppercase;fill:#f2c94c}
.medal-ribbon{fill:var(--accent)}
.medal-num{font:400 14px var(--display);fill:#5a3d05}
@keyframes medalPop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
.sim-read{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line-soft);margin-top:22px}
.board-bar{height:6px;background:var(--line-soft);margin-top:26px;position:relative;overflow:hidden}
.board-bar i{position:absolute;inset:0 auto 0 0;width:100%;background:var(--accent-deep);transform-origin:left;transform:scaleX(1)}
.glory{margin-top:34px;border:1px solid var(--accent-deep);padding:26px 28px;background:linear-gradient(90deg,rgba(63,107,43,.2),transparent)}
.glory h3{color:var(--accent);margin-bottom:8px}

/* Für wen */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cols3>div{padding:clamp(26px,3vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.cols3 h3{margin-bottom:14px}

/* Leistungen */
.perk-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.perk{padding:28px 26px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.perk:hover{background:var(--card-alt)}
.perk .label{color:var(--accent);display:block;margin-bottom:12px}
.perk h3{margin-bottom:8px;font-size:22px}
.perk p{font-size:16px}
.small-note{margin-top:18px;font-size:15px;color:var(--dim)}

/* Camp */
.camp-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,72px);align-items:center}
.camp-img{border:1px solid var(--line)}
.camp-img img{width:100%}
.ticket-box{border:1px solid var(--line);background:var(--card);padding:clamp(22px,3vw,36px)}
.ticket-box ul{margin-top:18px;border-top:1px solid var(--line-soft)}
.ticket-box li{padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:16px;color:var(--muted)}

/* Strecke */
.route-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);align-items:center}
.route-facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:30px 0}
.route-facts div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-facts b{display:block;font:400 38px/1 var(--display)}
.route-map{background:var(--card);border:1px solid var(--line);padding:clamp(16px,3vw,36px);display:flex;justify-content:center;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px}
.route-map svg{width:min(100%,380px);height:auto;overflow:visible}
.route-line{fill:none;stroke:var(--accent);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len,3000);stroke-dashoffset:var(--len,3000)}
.route-map.in .route-line{animation:draw 5s ease-in-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.route-base{fill:none;stroke:var(--line);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}

/* Beweise */
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:var(--head-gap)}
.proof{padding:clamp(24px,3vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof b{display:block;font:400 clamp(60px,8vw,112px)/1 var(--display)}
.growth{display:grid;gap:14px;margin-top:20px}
.growth div{display:grid;grid-template-columns:52px 1fr 40px;gap:12px;align-items:center;font-weight:600;font-size:15px}
.growth .bar{height:10px;background:var(--line-soft);position:relative}
.growth .bar i{position:absolute;inset:0 auto 0 0;background:var(--accent-deep);width:var(--w);transform-origin:left;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.in .growth .bar i{transform:scaleX(1)}
.growth div:last-child .bar i{background:var(--accent)}
table.results{width:100%;border-collapse:collapse;margin-top:10px}
table.results th{font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}
table.results td{padding:20px 16px;border-bottom:1px solid var(--line-soft);font-size:18px}
table.results td:first-child{font:400 28px/1 var(--display);color:var(--dim)}
table.results .name{font:400 26px/1.1 var(--display);text-transform:uppercase;color:#fff}
table.results tr.top td:first-child{box-shadow:inset 3px 0 0 var(--accent);color:var(--accent)}
.result-wrap{overflow-x:auto}
.group-photo{margin-top:var(--head-gap);position:relative;border:1px solid var(--line)}
.recap-photo{margin:28px auto 0}
.group-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.group-photo figcaption{position:absolute;left:0;bottom:0;right:0;padding:60px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.92));font:700 12px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase}
.press{margin-top:var(--head-gap);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.press a{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;display:block;transition:background .2s}
.press a:hover{background:var(--card-alt)}
.press-img{padding:0!important;display:flex!important;flex-direction:column}
.press-img .thumb{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line)}
.press-img .thumb img{width:106.98%;max-width:none;margin:-1.63% 0 0 -3.49%;transition:transform .5s}
.press-img:hover .thumb img{transform:scale(1.04)}
.press-rp .thumb img{width:107.66%;margin:-37.97% 0 0 -2.19%}
.press-rp2 .thumb img{width:100%;height:100%;object-fit:cover;margin:0}
.press-img .logo{display:inline-flex;align-self:flex-start;background:#fff;padding:8px 12px;margin:20px 26px 14px}
.press-img .logo img{height:22px;width:auto}
.press-img .t{padding:0 26px 26px}
.press .label{color:var(--accent);display:block;margin-bottom:10px}
.press span.t{font:400 22px/1.15 var(--display);text-transform:uppercase;display:block;color:#fff}

/* Galerie */
.gallery{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gallery::-webkit-scrollbar{display:none}
.gallery figure{flex:0 0 min(78vw,400px);scroll-snap-align:start}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.gallery figure{position:relative}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:90px 22px 22px;background:linear-gradient(transparent,rgba(0,0,0,.92));display:flex;flex-direction:column;gap:4px}
.gallery figcaption .label{color:var(--accent)}
.gallery figcaption b{font:400 clamp(28px,3vw,36px)/1.2 var(--display);text-transform:uppercase}
.gallery figcaption span:last-child{font-size:15px;color:var(--muted)}
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:var(--head-gap)}
.gal-ctrl{display:flex;align-items:center;gap:12px}
.gal-ctrl button{width:48px;height:48px;background:transparent;border:1px solid var(--line);color:#fff;font-size:22px;cursor:pointer;transition:border-color .2s}
.gal-ctrl button:hover{border-color:#fff}
.gal-count{font:600 14px/1 var(--body);letter-spacing:.16em;color:var(--dim);min-width:56px;text-align:center}

/* Regeln */
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px)}
.rule-list{border-top:1px solid var(--line)}
.rule-list li{padding:16px 0;border-bottom:1px solid var(--line-soft);display:flex;gap:16px;color:var(--muted);font-size:17px}
.rule-list li::before{content:"";width:8px;height:8px;background:var(--accent);margin-top:11px;flex:none}
.must{display:grid;gap:14px;margin-bottom:26px}
.must div{border:1px solid var(--accent-deep);padding:22px 24px;background:linear-gradient(90deg,rgba(63,107,43,.18),transparent)}
.must h3{margin-bottom:6px}

/* Tickets */
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ticket{padding:clamp(26px,3vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:10px}
.ticket.hl{background:linear-gradient(180deg,rgba(63,107,43,.22),var(--card))}
.ticket .price{font:400 clamp(64px,7vw,96px)/1 var(--display);margin:12px 0 4px}
.ticket .price small{font-size:.38em;color:var(--dim);letter-spacing:.04em}
.ticket p{font-size:16px}
.ticket .btn{margin-top:auto;text-align:center}
.pay-note{margin-top:20px;font-size:15px;color:var(--dim)}

/* Menschen */
.people{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,6vw,96px);align-items:center}
.people img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.people p+p{margin-top:18px}

/* Zuschauer / Sponsoren */
.notice{border:1px dashed var(--line);padding:30px;color:var(--muted);max-width:640px}
.sponsor-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.sponsor{width:min(100%,300px);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;padding:12px}
.sponsor img{max-height:100%;object-fit:contain}
.sponsor img.paobu{width:82%;height:auto}
.sponsor.empty{background:var(--card);color:var(--faint);font:600 12px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;text-align:center}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 56px 24px 0;font:400 clamp(22px,2.4vw,30px)/1.25 var(--display);text-transform:uppercase;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 34px/1 var(--display);color:var(--accent);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 26px;max-width:40em}

/* CTA */
.cta{min-height:80svh;display:flex;align-items:center;text-align:left;background:#000;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../assets/img/eindruck-1.jpg) center 30%/cover;filter:grayscale(1) brightness(.28) contrast(1.2)}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#000,transparent 30%,transparent 70%,#000)}
.cta h2{font-size:clamp(56px,10vw,128px);letter-spacing:.02em;margin-bottom:26px;line-height:1.1}
.cta p.lead{margin-bottom:34px}

/* Footer */
footer{background:#000;border-top:1px solid var(--line);padding:65px 0 36px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.foot-grid img{width:96px;height:96px;border-radius:50%;margin-bottom:18px}
footer h4{font:700 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
footer li{margin-bottom:10px;font-size:16px}
footer a{text-decoration:none;color:var(--muted)}
footer a:hover{color:#fff}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--faint);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}

/* Rechtstexte */
.legal{padding:calc(var(--ticker-h) + var(--nav-h) + 56px) 0 var(--pad-y)}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(44px,7vw,80px);margin-bottom:34px}
.legal h2{font-size:30px;margin:44px 0 12px;color:#fff}
.legal p,.legal li{color:var(--muted);margin-bottom:12px}
.legal ul{padding-left:20px;list-style:disc}
.legal address{font-style:normal;border:1px solid var(--line);background:var(--card);padding:20px 22px;margin-bottom:14px;color:var(--muted)}
.legal a{color:var(--accent)}

/* Kontaktfenster */
.dlg{margin:auto;width:min(560px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;background:var(--card);color:#fff;border:1px solid var(--line);padding:0}
.dlg::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(3px)}
body:has(dialog[open]){overflow:hidden}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0}
.dlg-head h2{font-size:clamp(34px,6vw,48px);line-height:1.25}
.dlg-x{flex:none;width:44px;height:44px;background:transparent;border:1px solid var(--line);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:border-color .2s}
.dlg-x:hover{border-color:#fff}
.dlg-body{padding:18px 28px 30px;display:flex;flex-direction:column;gap:18px}
.dlg-body>p{font-size:16px}
.f label{display:block;font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.f label span{letter-spacing:.06em;text-transform:none;font-weight:400}
.f input,.f textarea{width:100%;background:#000;border:1px solid var(--line);color:#fff;font:400 17px/1.4 var(--body);padding:13px 15px;border-radius:0;resize:vertical}
.f input:focus,.f textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.f.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);line-height:1.5;cursor:pointer}
.check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}
.check a{color:var(--accent)}
.dlg-status{min-height:1.5em;font-size:15px;color:var(--muted)}
.dlg-status.err{color:#ff6b6b}
.dlg-done{padding:8px 0 4px}
.dlg-done h3{margin-bottom:10px}
.dlg .btn:disabled{opacity:.6;cursor:wait}

/* Eintritt */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* Responsiv */
@media(max-width:1180px){
  .nav ul{gap:18px}
  .nav ul a{letter-spacing:.14em}
  .brand span{font-size:17px}
}
@media(max-width:1080px){
  .perk-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav ul{display:none}
  .burger{display:block}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:#000;padding:20px var(--pad-x) 28px;gap:0;border-bottom:1px solid var(--line)}
  .nav.open ul a{display:block;padding:18px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
  .format-grid,.camp-grid,.route-grid,.rules-grid,.people{grid-template-columns:1fr}
  .board{position:static}
  .stats,.proof-grid,.tickets,.cols3,.press{grid-template-columns:1fr 1fr}
  .tickets{grid-template-columns:1fr}
  .cols3,.press{grid-template-columns:1fr}
}
@media(max-width:640px){
  body{font-size:16px}
  .stats{grid-template-columns:1fr 1fr}
  .proof-grid{grid-template-columns:1fr}
  .perk-grid{grid-template-columns:1fr}
  .sim-read .seg{font-size:clamp(34px,10vw,48px)}
  .sim-read .board-cell+.board-cell{padding-left:12px}
  .brand span{font-size:16px}
  .foot-grid{grid-template-columns:1fr}
  .btn{padding:17px 24px}
  .hero{min-height:92svh}
  .gal-head{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .route-line{stroke-dashoffset:0}
  .growth .bar i{transform:scaleX(1)}
  .ticker-track,.strip-track{transform:none}
}
