
:root{
  --bg:#060606;
  --surface:#0e0e0f;
  --surface2:#151517;
  --line:#28282c;
  --text:#f7f7f8;
  --muted:#a6a6ad;
  --red:#ff1236;
  --red2:#b70827;
  --redsoft:#ff6077;
  --green:#43d17a;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 88% 0%, rgba(255,18,54,.13), transparent 26rem),
    linear-gradient(180deg,#050505,#09090a 42%,#060606);
  color:var(--text);
  line-height:1.58;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.nav{
  position:sticky;top:0;z-index:99;
  border-bottom:1px solid rgba(255,255,255,.065);
  background:rgba(5,5,6,.88);
  backdrop-filter:blur(14px)
}
.navin{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.06em}
.brand img{width:48px;height:48px;object-fit:contain}
.navlinks{display:flex;align-items:center;gap:20px;color:#d7d7dc;font-size:.92rem}
.navlinks a:hover{color:#fff}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:47px;padding:0 21px;border-radius:8px;
  font-weight:850;letter-spacing:.025em;border:1px solid transparent;
  transition:.18s ease
}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 0 26px rgba(255,18,54,.17)}
.btn-primary:hover{background:#ff2b4a;transform:translateY(-1px)}
.btn-ghost{background:#101011;border-color:#35353a}
.btn-ghost:hover{border-color:var(--red)}
.hero{padding:72px 0 54px;min-height:76vh;display:grid;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px}
.hero-logo{position:relative;display:grid;place-items:center;min-height:430px}
.hero-logo:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,18,54,.18);filter:blur(85px)}
.hero-logo img{position:relative;width:min(490px,100%);filter:drop-shadow(0 24px 40px rgba(0,0,0,.65))}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid rgba(255,18,54,.42);background:rgba(255,18,54,.07);
  color:#ff8798;border-radius:999px;padding:7px 10px;
  text-transform:uppercase;letter-spacing:.145em;font-size:.73rem;font-weight:900
}
h1,h2,h3{letter-spacing:-.035em}
h1{margin:18px 0 16px;font-size:clamp(3.25rem,8.5vw,7.25rem);line-height:.88;text-transform:uppercase}
h2{margin:0 0 12px;font-size:clamp(2rem,5vw,3.55rem);line-height:1.02;text-transform:uppercase}
h3{margin:8px 0 7px}
.accent{color:var(--red)}
.lead{color:#c7c7cc;font-size:clamp(1.04rem,2vw,1.22rem);max-width:720px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
section{padding:82px 0}
.section-title{max-width:830px;margin-bottom:34px}
.section-title p{margin:0;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface2),var(--surface));
  border-radius:14px;padding:25px
}
.card p{color:var(--muted);margin-bottom:0}
.kicker{color:var(--red);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}
.big{font-size:3rem;font-weight:950;line-height:1;margin:13px 0 10px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.tag{padding:7px 9px;border:1px solid #33343a;border-radius:7px;background:#09090a;color:#d6d6db;font-size:.81rem;font-weight:750}
.rulebar{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#0d0d0e}
.rulebox{padding:26px 17px;text-align:center;border-right:1px solid var(--line)}
.rulebox:last-child{border-right:0}
.rulebox strong{display:block;color:var(--red);font-size:1.5rem}
.rulebox span{font-size:.88rem;color:#babac0}
.callout{
  border:1px solid rgba(255,18,54,.28);
  background:linear-gradient(120deg,rgba(255,18,54,.13),transparent 45%),#0d0d0e;
  border-radius:14px;padding:28px
}
.callout strong{font-size:clamp(2rem,4vw,3.8rem);display:block;line-height:1.05;margin:10px 0}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#0d0d0e}
table{width:100%;border-collapse:collapse;min-width:660px}
th,td{padding:13px 15px;text-align:left;border-bottom:1px solid #252529}
th{background:#141416;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
td{color:#d0d0d6}
tr:last-child td{border-bottom:0}
.prize{color:#fff;font-weight:850}
.note{font-size:.9rem;color:var(--muted)}
.event{
  display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
  border:1px solid var(--line);background:linear-gradient(100deg,#151517,#0b0b0c);
  border-radius:15px;padding:30px
}
.footer{border-top:1px solid var(--line);padding:34px 0 48px;color:#888891;font-size:.9rem}
.footer-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
.rules-hero{padding:70px 0 40px}
.rules-hero h1{font-size:clamp(3rem,7vw,6rem)}
.toc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.toc a{padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:#0e0e10;color:#d8d8dd;font-weight:750}
.toc a:hover{border-color:var(--red)}
.rule-section{padding:48px 0;border-top:1px solid rgba(255,255,255,.055)}
.rule-section h2{font-size:clamp(1.7rem,4vw,2.7rem)}
.rule-section h3{font-size:1.14rem;margin-top:25px}
.rule-section ul,.rule-section ol{color:#d4d4da;padding-left:22px}
.rule-section li{margin:6px 0}
.rule-section p{color:#d0d0d6}
.warning{border-left:3px solid var(--red);background:#111114;padding:16px 18px;border-radius:0 9px 9px 0;color:#ddd}
.ok{border-left:3px solid var(--green);background:#0f1411;padding:16px 18px;border-radius:0 9px 9px 0}
.small{font-size:.88rem;color:var(--muted)}
@media(max-width:860px){
  .navlinks a:not(.btn){display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-logo{order:-1;min-height:300px}
  .hero-logo img{width:310px}
  .grid2,.grid3{grid-template-columns:1fr}
  .rulebar{grid-template-columns:1fr 1fr}
  .rulebox:nth-child(2){border-right:0}
  .rulebox:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .event{grid-template-columns:1fr}
  .toc{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .brand span{display:none}
  .rulebar{grid-template-columns:1fr}
  .rulebox{border-right:0;border-bottom:1px solid var(--line)}
  .rulebox:last-child{border-bottom:0}
  .toc{grid-template-columns:1fr}
}
