
:root{
  --f-disp:'Arial Black','Haettenschweiler','Impact','Franklin Gothic Heavy',sans-serif;
  --f-body:system-ui,-apple-system,'Segoe UI',sans-serif;
  --red:#DC143C;--gold:#FFCC00;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#020204;font-family:var(--f-body);-webkit-font-smoothing:antialiased;color:#fff}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:0;z-index:9999;background:var(--red);color:#fff;padding:.5rem 1rem}
#c{position:fixed;inset:0;width:100%;height:100%;display:block}
#ui{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:10;padding:clamp(.75rem,3vw,2.5rem)}
.domain{font-size:clamp(8px,1.3vw,11px);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,204,0,.5);margin-bottom:clamp(1.4rem,4vh,2.8rem);opacity:0;animation:riseIn .7s .1s cubic-bezier(.22,.61,.36,1) forwards}
.units{display:flex;align-items:flex-end;gap:clamp(.35rem,2vw,2rem);opacity:0;animation:riseIn .7s .3s cubic-bezier(.22,.61,.36,1) forwards;width:min(80vw,900px);justify-content:center}
.unit{text-align:center}
.num{font-family:var(--f-disp);font-size:clamp(2.2rem,17vw,11rem);line-height:.86;color:#fff;letter-spacing:-.01em;text-shadow:0 0 60px rgba(255,255,255,.2),0 2px 0 rgba(0,0,0,.95);transition:transform .1s ease,opacity .1s ease;display:block}
.num.flip{transform:scaleY(.84);opacity:.6}
.lbl{font-size:clamp(7px,1vw,10px);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:clamp(.2rem,.5vh,.45rem);font-weight:400;white-space:nowrap;display:block}
.sep{font-family:var(--f-disp);font-size:clamp(2rem,12vw,7.5rem);color:rgba(255,255,255,.15);line-height:1;padding-bottom:clamp(.7rem,2vh,1.6rem);animation:colonPulse 1s step-start infinite}
@keyframes colonPulse{50%{color:rgba(220,20,60,.4)}}
.lang{pointer-events:all;display:flex;margin-top:clamp(1.6rem,4vh,3rem);border:1px solid rgba(255,255,255,.15);overflow:hidden;opacity:0;animation:riseIn .7s .55s cubic-bezier(.22,.61,.36,1) forwards}
.lang button{font-size:clamp(9px,1.1vw,11px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:clamp(5px,.9vh,9px) clamp(14px,2.2vw,24px);border:none;background:transparent;color:rgba(255,255,255,.35);cursor:pointer;transition:background .18s,color .18s}
.lang button.on{background:var(--red);color:#fff}
.lang button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.tagline{margin-top:clamp(.9rem,2.2vh,1.6rem);font-size:clamp(8px,1.1vw,10px);letter-spacing:.22em;text-transform:uppercase;color:rgba(220,20,60,.6);font-weight:400;opacity:0;animation:riseIn .7s .72s cubic-bezier(.22,.61,.36,1) forwards}
.stripe{position:fixed;bottom:0;left:0;right:0;height:3px;display:flex;z-index:20}
.stripe span{flex:1}
.s-r{background:var(--red)}.s-w{background:#fff}.s-g{background:var(--gold)}.s-b{background:#111}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.domain,.units,.lang,.tagline{animation:none;opacity:1}.num{transition:none}.sep{animation:none}}

/* ── FAQ Modal ── */
.faq-btn{
  pointer-events:all;
  margin-top:clamp(.8rem,2vh,1.2rem);
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.45);
  font-size:clamp(8px,1vw,10px);
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:6px 18px;
  cursor:pointer;
  font-family:var(--f-body);
  transition:border-color .2s,color .2s;
  opacity:0;
  animation:riseIn .7s .88s cubic-bezier(.22,.61,.36,1) forwards;
}
.faq-btn:hover{border-color:var(--gold);color:var(--gold);}
.faq-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

.faq-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(0,0,0,.72);
  z-index:200;
  align-items:center;
  justify-content:center;
  padding:clamp(.5rem,3vw,2rem);
}
.faq-overlay.open{display:flex;}
.faq-box{
  background:#0E0E12;
  border:1px solid rgba(255,255,255,.1);
  border-top:2px solid #DC143C;
  max-width:640px;
  width:100%;
  max-height:82vh;
  overflow-y:auto;
  padding:clamp(1rem,3vw,2rem);
  position:relative;
}
.faq-box::-webkit-scrollbar{width:4px;}
.faq-box::-webkit-scrollbar-track{background:rgba(255,255,255,.04);}
.faq-box::-webkit-scrollbar-thumb{background:rgba(220,20,60,.4);}
.faq-close{
  position:absolute;top:.8rem;right:.8rem;
  background:transparent;border:none;
  color:rgba(255,255,255,.4);font-size:1.2rem;
  cursor:pointer;line-height:1;padding:.2rem .4rem;
  transition:color .2s;
}
.faq-close:hover{color:#fff;}
.faq-title{
  font-family:var(--f-disp);
  font-size:clamp(1rem,2.5vw,1.4rem);
  color:#fff;margin-bottom:1.2rem;
  letter-spacing:.04em;
}
.faq-item{margin-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:1rem;}
.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.faq-q{
  font-size:clamp(11px,1.4vw,13px);
  font-weight:600;color:#fff;
  margin-bottom:.4rem;cursor:pointer;
  display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;
}
.faq-q::after{content:'+';color:var(--red);font-size:1rem;flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{
  font-size:clamp(10px,1.2vw,12px);
  color:rgba(255,255,255,.5);
  line-height:1.7;
  display:none;
  padding-top:.3rem;
}
.faq-item.open .faq-a{display:block;}

/* ── Cookie Banner ── */
.cookie-bar{
  position:fixed;bottom:0;left:0;right:0;
  z-index:300;
  background:rgba(10,10,14,.96);
  border-top:1px solid rgba(255,255,255,.08);
  padding:clamp(.6rem,1.5vh,.9rem) clamp(1rem,3vw,2rem);
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
}
.cookie-bar.hidden{display:none;}
.cookie-text{
  font-size:clamp(9px,1.1vw,11px);
  color:rgba(255,255,255,.45);
  line-height:1.6;
  max-width:680px;
}
.cookie-text a{color:rgba(255,204,0,.5);text-decoration:underline;cursor:pointer;}
.cookie-ok{
  background:var(--red);color:#fff;border:none;
  padding:7px 20px;font-size:clamp(9px,1vw,11px);
  letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;font-family:var(--f-body);font-weight:600;
  white-space:nowrap;flex-shrink:0;
  transition:background .2s;
}
.cookie-ok:hover{background:#ff1a3c;}
.cookie-ok:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
