
:root{--bg:#07080A;--pan:#0C0E11;--ink:#F2F5F7;--mut:#8D969E;--line:#1C2126;--red:#E62117;--ice1:#FFFFFF;--ice2:#BFE3F5;--ice3:#6FB6DC}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Archivo',sans-serif;font-size:17px;line-height:1.65;overflow-x:hidden}
html[lang=de] .en{display:none!important}
html[lang=en] .de{display:none!important}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
::selection{background:var(--red);color:#fff}
.mono{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.disp{font-family:'Saira Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:.005em}
.frost{background:linear-gradient(115deg,var(--ice1) 15%,var(--ice2) 45%,var(--ice3) 60%,var(--ice1) 85%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s linear infinite}
@keyframes sheen{to{background-position:220% 0}}
.olr{color:transparent;-webkit-text-stroke:2.5px var(--red)}
.olw{color:transparent;-webkit-text-stroke:1.5px rgba(242,245,247,.35)}
#pl{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:transform .65s cubic-bezier(.7,0,.3,1),opacity .4s}
#pl.go{transform:translateY(-100%);opacity:.4}
#pl .tree{display:flex;gap:18px}
#pl i{width:26px;height:26px;border-radius:50%;background:#15181C;border:1px solid #23282E;transition:background .12s,box-shadow .12s}
#pl i.on{background:var(--red);box-shadow:0 0 22px rgba(230,33,23,.8)}
#pl .mono{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);color:var(--mut)}
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
header.sc{background:rgba(7,8,10,.88);backdrop-filter:blur(12px);border-color:var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1380px;margin:0 auto;padding:0 28px}
.brand{display:flex;align-items:center;gap:12px}
.logo{height:42px;width:auto;color:var(--ink);flex:none}
.brand b{font-family:'Saira Condensed',sans-serif;font-weight:700;font-size:17px;letter-spacing:.12em}
nav.anchors{display:flex;gap:28px}
nav.anchors a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);transition:color .25s}
nav.anchors a:hover{color:var(--ink)}
.hd-r{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line)}
.lang button{background:none;border:0;color:var(--mut);font-family:'IBM Plex Mono',monospace;font-size:11px;padding:7px 11px;cursor:pointer;letter-spacing:.1em}
.lang button.on{background:var(--ink);color:var(--bg)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:13px 26px;border:1px solid var(--ink);transition:.3s;cursor:pointer;background:none;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.red:hover{background:#fff;border-color:#fff;color:var(--bg)}
.btn.sm{padding:9px 18px;font-size:11px}
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{filter:brightness(.38) saturate(.85);transform:scale(1.06);animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.14) translateY(-1.5%)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,10,.55),rgba(7,8,10,.15) 40%,rgba(7,8,10,.92) 92%)}
#snow{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-in{position:relative;z-index:2;padding:120px 28px 140px;max-width:1380px;margin:0 auto;width:100%}
.kick{color:var(--ice2);margin-bottom:26px;display:flex;align-items:center;gap:14px}
.kick::before{content:"";width:34px;height:1px;background:var(--red)}
h1{transform:skewX(-5deg);font-size:clamp(68px,13.5vw,186px)}
h1 .l{display:block}
h1 em{font-style:normal}
.sub{margin-top:30px;max-width:520px;color:var(--mut);font-size:16px}
.cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
.hud{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid rgba(242,245,247,.12);background:rgba(7,8,10,.45);backdrop-filter:blur(6px)}
.hud .in{max-width:1380px;margin:0 auto;padding:14px 28px;display:flex;justify-content:space-between;gap:20px;color:var(--ice2);overflow:hidden;white-space:nowrap}
.hud .cur::after{content:"_";animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.mq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;background:var(--bg)}
.mq-in{display:inline-flex;white-space:nowrap;animation:mq 28s linear infinite;will-change:transform}
.mq span{font-family:'Saira Condensed',sans-serif;font-weight:900;font-size:60px;text-transform:uppercase;line-height:1;color:transparent;-webkit-text-stroke:1.2px rgba(242,245,247,.3);padding-right:60px}
.mq span i{font-style:normal;-webkit-text-stroke-color:var(--red)}
@keyframes mq{to{transform:translateX(-50%)}}
section{padding:110px 0}
.shead{display:flex;align-items:baseline;gap:22px;margin-bottom:56px}
.shead .no{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--red)}
.shead h2{font-family:'Saira Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(42px,6vw,76px);line-height:.9;transform:skewX(-5deg)}
.lead{max-width:640px;color:var(--mut);font-size:18px}
.lead b{color:var(--ink);font-weight:600}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:64px}
figure{position:relative}
.ph{overflow:hidden;background:var(--pan);aspect-ratio:3/4}
.ph img{transition:transform 1s cubic-bezier(.16,1,.3,1),filter .6s;filter:saturate(.9)}
figure:hover .ph img{transform:scale(1.05);filter:saturate(1.05)}
figcaption{display:flex;justify-content:space-between;padding-top:12px;color:var(--mut);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
figcaption i{font-style:normal;color:var(--red)}
.board{border:1px solid var(--line);background:var(--pan)}
.board .bh{display:flex;justify-content:space-between;padding:16px 26px;border-bottom:1px solid var(--line);color:var(--mut)}
.board .bh .live{color:var(--red);display:flex;align-items:center;gap:8px}
.board .bh .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);animation:bl 1.4s steps(1) infinite}
.row{display:flex;align-items:baseline;gap:18px;padding:20px 26px;border-bottom:1px solid var(--line);transition:background .3s}
.row:last-child{border-bottom:0}
.row:hover{background:rgba(230,33,23,.05)}
.row .k{color:var(--mut);flex:none;width:200px}
.row .dots{flex:1;border-bottom:1px dotted #2A3138;transform:translateY(-4px)}
.row .v{font-family:'Saira Condensed',sans-serif;font-weight:700;font-size:clamp(22px,3vw,34px);text-transform:uppercase;letter-spacing:.02em;text-align:right}
.row .v small{font-size:.55em;color:var(--mut);letter-spacing:.08em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split .ph{aspect-ratio:3/4.1}
.night{background:linear-gradient(180deg,var(--bg),#0A0D12 50%,var(--bg))}
.days{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:10px}
.day{border:1px solid var(--line);background:var(--pan);padding:36px 32px;position:relative;overflow:hidden;transition:border-color .3s}
.day:hover{border-color:#333B44}
.day .dn{position:absolute;right:14px;top:4px;font-family:'Saira Condensed',sans-serif;font-weight:900;font-size:120px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(242,245,247,.08)}
.day .mono{color:var(--red)}
.day h3{font-family:'Saira Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:30px;margin:12px 0 10px}
.day p{color:var(--mut);font-size:15px;max-width:420px}
.note{margin-top:26px;color:var(--mut);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em}
.movie{position:relative;aspect-ratio:16/8.2;overflow:hidden;background:var(--pan);cursor:pointer}
.movie .bgp{position:absolute;inset:0}
.movie .bgp img{filter:brightness(.45)}
.movie .play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:2;transition:.3s}
.movie:hover .play .pb{transform:scale(1.08)}
.pb{width:92px;height:92px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;transition:transform .35s;box-shadow:0 0 50px rgba(230,33,23,.4)}
.pb svg{width:30px;height:30px;fill:#fff;margin-left:5px}
.movie iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line)}
.panel .bgp{position:absolute;inset:0}
.panel .bgp img{filter:brightness(.4);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.panel:hover .bgp img{transform:scale(1.06)}
.panel .pc{position:relative;z-index:2;padding:38px 34px;background:linear-gradient(180deg,transparent,rgba(7,8,10,.92) 55%);width:100%}
.panel h3{font-family:'Saira Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:42px;transform:skewX(-5deg)}
.panel p{color:#C7CED4;font-size:15px;max-width:440px;margin:12px 0 22px}
.tix{text-align:center;position:relative;overflow:hidden}
.tix h2{font-family:'Saira Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(54px,9vw,130px);line-height:.9;transform:skewX(-5deg)}
.tix .lead{margin:26px auto 40px}.tix .tixbg{position:absolute;inset:0;z-index:0}.tix .tixbg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.38;filter:saturate(.85)}.tix .tixbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(7,8,10,.25) 45%,var(--bg) 100%)}.tix .wrap{position:relative;z-index:1}
footer{border-top:1px solid var(--line);padding:70px 0 40px;background:var(--pan)}
.ft{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.ft .logo{height:100px;width:auto}
.ft .fb b{display:block;font-family:'Saira Condensed',sans-serif;font-weight:700;font-size:20px;letter-spacing:.1em;text-transform:uppercase;margin-top:18px}
.ft .fb span{color:var(--mut);font-size:14px}
.ft .fc{color:var(--mut);font-size:14px;text-align:right}
.ft .fc a{color:inherit;font:inherit;border-bottom:0}
.ftb{display:flex;justify-content:space-between;margin-top:54px;padding-top:22px;border-top:1px solid var(--line);color:#5A636B;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;flex-wrap:wrap;gap:10px}
#race{position:fixed;left:0;bottom:0;height:3px;background:var(--red);width:0;z-index:90}
#rlab{position:fixed;right:16px;bottom:12px;z-index:90;color:var(--mut);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;background:rgba(7,8,10,.6);padding:4px 8px;border:1px solid var(--line)}
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
.wipe img{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}
.wipe.in img{clip-path:inset(0 0 0 0)}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
@media (max-width:900px){
 nav.anchors{display:none}
 .gal{grid-template-columns:1fr;gap:34px}
 .split{grid-template-columns:1fr;gap:40px}
 .days,.panels{grid-template-columns:1fr}
 .row .k{width:auto}
 .row{flex-wrap:wrap}
 .hud .in{justify-content:flex-start}
 .hud .h2,.hud .h3{display:none}
 section{padding:80px 0}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .rv,.wipe img{opacity:1;transform:none;clip-path:none}
 #pl{display:none}
}

/* Small corrections preserve the original layout while making links usable. */
[hidden]{display:none!important}
section[id]{scroll-margin-top:84px}
a:focus-visible,button:focus-visible{outline:2px solid var(--ice2);outline-offset:5px}
.movie-trigger{width:100%;border:0;background:none;color:var(--ice2);cursor:pointer;font:inherit;padding:20px;text-align:center}
.movie-trigger .mono{font-size:clamp(10px,1.4vw,12px)}
.movie{width:100%;min-height:200px;cursor:default}
.movie-privacy{margin-top:18px;color:var(--mut);font-size:13px;line-height:1.65;max-width:900px}
.movie-privacy a,.movie-tools a{color:inherit;text-decoration:none}
.movie-tools{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:14px;font-size:13px}
.legal-links{display:flex;gap:22px}
.legal-links a{color:var(--mut)}
.legal-links a:hover{color:var(--ink)}
@media(max-width:600px){
 .hd{padding:0 14px;gap:10px}.brand{gap:8px}.brand b{font-size:14px;letter-spacing:.05em;max-width:100px;line-height:1.1}
 .hd-r{gap:8px}.hd-r .btn.sm{padding:9px 10px;font-size:10px}.lang button{padding:7px 8px}.logo{height:36px}
 .hero-in{padding-left:22px;padding-right:22px}.kick{font-size:10px;letter-spacing:.1em}
 .wrap{padding:0 22px}.row{gap:10px;padding:20px}.row .k{font-size:11px}.row .v{overflow-wrap:anywhere}
 .board .bh{padding:16px 20px;font-size:10px}.shead{gap:14px}.ft .fc{text-align:left}
}
