.hero { display:grid; grid-template-columns:1fr 1.25fr; gap:56px; padding:56px 0 48px; align-items:center; }
  .hero p { font-size:19px; line-height:1.5; margin:22px 0 26px; max-width:460px; }
  .or { font-size:13px; color:var(--grey); margin-top:12px; }
  .map { display:grid; grid-template-columns:repeat(12, 1fr); gap:6px; }
  .st { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; border:2px solid var(--ink); background:#fff; color:var(--ink); text-decoration:none; }
  .st.soon { border-color:var(--line); color:#B3AEA2; background:transparent; font-weight:600; }
  .st.live { background:var(--accent); color:#fff; border-color:var(--accent); }
  .st.next { background:#fff; border-style:dashed; }
  .legend { display:flex; gap:22px; font-size:13px; color:var(--grey); margin-top:16px; }
  .legend i { display:inline-block; width:12px; height:12px; border:2px solid var(--ink); margin-right:6px; vertical-align:-2px; }
  .rules { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); }
  .rules div { padding:20px 24px; border-right:2px solid var(--ink); font-size:14px; line-height:1.4; }
  .rules div:last-child { border-right:0; }
  .rules b { display:block; font-size:16px; margin-bottom:4px; }
  .upcoming { padding-top:48px; }
  .upcoming h2 { font-size:28px; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
  .row { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .row .box { padding:20px 22px; text-decoration:none; display:block; }
  .row h3 { font-size:19px; margin:6px 0 8px; }
  .row p { font-size:15px; line-height:1.45; color:#333; }
  @media (max-width: 700px) {
    .hero { grid-template-columns:1fr; gap:28px; padding:32px 0; }
    .hero p { font-size:17px; margin:16px 0 20px; }
    .map { gap:3px; }
    .st { font-size:9px; border-width:1px; }
    .rules { grid-template-columns:1fr 1fr; }
    .rules div { border-bottom:2px solid var(--ink); padding:14px 16px; }
    .rules div:nth-child(2n) { border-right:0; }
    .upcoming { padding-top:32px; }
    .row { grid-template-columns:1fr; gap:12px; }
  }
