/* ================================================================
   TOMÁŠ MIKULKA — Official Darts Player Website
   Design: Athletic Editorial | Baby Blue / White / Black
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Rajdhani:wght@400;500;600;700&display=swap');

/* ---- TOKENS ---- */
:root {
  --blue:        #89CFF0;
  --blue-mid:    #5BAADC;
  --blue-dark:   #2E86BD;
  --blue-pale:   #D4EFFC;
  --blue-glow:   rgba(137, 207, 240, 0.15);
  --white:       #FFFFFF;
  --off-white:   #F6FAFB;
  --black:       #0A0A0A;
  --black-soft:  #111111;
  --black-mid:   #181818;
  --black-card:  #1E1E1E;
  --gray:        #666;
  --gray-light:  #E0E0E0;

  /* ---- Semantic theme tokens (DARK = default) ---- */
  --bg:        #0A0A0A;   /* page background */
  --bg-soft:   #111111;   /* .section--dark */
  --bg-mid:    #181818;   /* .section--mid */
  --surface:   #1E1E1E;   /* cards */
  --fg-rgb:    255, 255, 255;          /* foreground text (as rgb triplet) */
  --fg:        rgb(255, 255, 255);
  --on-blue:   #0A0A0A;   /* text/icons sitting on a --blue fill */
  --nav-bg:    rgba(10, 10, 10, 0.9);  /* scrolled nav background */
  --card-shadow: none;

  --font-display: 'Bebas Neue', cursive;
  --font-sub:     'Rajdhani', sans-serif;
  --font-body:    'DM Sans', sans-serif;

  --nav-h: 78px;
  --tr: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ---- LIGHT THEME ---- */
:root[data-theme="light"] {
  --bg:        #F5F8FC;   /* soft off-white page (not flat pure white) */
  --bg-soft:   #EBF1F8;
  --bg-mid:    #E1EAF3;
  --surface:   #FFFFFF;   /* pure-white cards pop against the tinted page */
  --fg-rgb:    20, 26, 33;
  --fg:        rgb(20, 26, 33);
  --blue:      #2277B0;   /* deeper blue for readable accents/bands on light */
  --on-blue:   #FFFFFF;
  --nav-bg:    rgba(245, 248, 252, 0.9);
  --card-shadow: 0 6px 22px rgba(30, 50, 80, 0.07);
}

/* Smooth theme transition */
body, .nav, footer, .section, .fact-card, .stat-card, .ranking-card,
.result-row, .sponsor-card, .data-table td, .data-table th, .form-group input,
.form-group textarea, .form-group select, .contact-info-item__icon {
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
/* Card definition in light mode (white cards on light sections) */
:root[data-theme="light"] .ranking-card,
:root[data-theme="light"] .result-row,
:root[data-theme="light"] .sponsor-card,
:root[data-theme="light"] .hero__photo-frame {
  box-shadow: var(--card-shadow);
}
/* Light-mode hero: soft gradient instead of flat white */
:root[data-theme="light"] .hero,
:root[data-theme="light"] .page-hero {
  background: linear-gradient(165deg, #FFFFFF 0%, #E9F0F8 58%, #DBE7F3 100%);
}
:root[data-theme="light"] .hero__bg-grad {
  background:
    radial-gradient(ellipse 55% 70% at 70% 45%, rgba(137,207,240,0.32) 0%, transparent 60%),
    radial-gradient(ellipse 42% 52% at 20% 88%, rgba(46,134,189,0.10) 0%, transparent 60%);
}
/* Light-mode: gentle top gradient wash on the darker content sections */
:root[data-theme="light"] .section--dark {
  background: linear-gradient(180deg, #EEF3F9 0%, #E7EEF6 100%);
}
:root[data-theme="light"] .section--mid {
  background: linear-gradient(180deg, #E6EDF5 0%, #DEE7F1 100%);
}

/* ---- RESET ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; }

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--blue); }
::selection { background: var(--blue); color: var(--on-blue); }

/* ================================================================
   LOADING SCREEN
   ================================================================ */
.loader {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--bg);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 2rem;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}
.loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader__logo {
  font-family: var(--font-display);
  font-size: 2.4rem;
  letter-spacing: 0.12em;
  color: var(--fg);
  animation: loaderPulse 1.5s ease-in-out infinite;
}
.loader__logo span { color: var(--blue); }
.loader__bar {
  width: 180px; height: 2px;
  background: rgba(var(--fg-rgb),0.08);
  position: relative; overflow: hidden;
}
.loader__bar::after {
  content: '';
  position: absolute; inset: 0;
  background: var(--blue);
  transform: translateX(-100%);
  animation: loaderSlide 1.2s ease-in-out infinite;
}
@keyframes loaderPulse {
  0%,100% { opacity: 0.4; } 50% { opacity: 1; }
}
@keyframes loaderSlide {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* ================================================================
   NAVIGATION
   ================================================================ */
.nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%;
  transition: background var(--tr), border-color var(--tr), backdrop-filter var(--tr);
}
.nav.scrolled {
  background: var(--nav-bg);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(137,207,240,0.12);
}
.nav__logo {
  font-family: var(--font-display);
  font-size: 1.55rem;
  letter-spacing: 0.08em;
  color: var(--fg);
  display: flex; align-items: center; gap: 8px;
}
.nav__logo span { color: var(--blue); }
.nav__logo-dot {
  width: 6px; height: 6px;
  background: var(--blue); border-radius: 50%;
  animation: dotPulse 2s ease-in-out infinite;
}
@keyframes dotPulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.6); opacity: 0.6; }
}
.nav__links {
  display: flex; gap: 2.4rem;
  list-style: none;
  margin-left: auto;
}
.nav__links a {
  font-family: var(--font-sub);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.6);
  position: relative;
  transition: color 0.3s;
}
.nav__links a::after {
  content: '';
  position: absolute; bottom: -4px; left: 0; right: 100%;
  height: 1.5px; background: var(--blue);
  transition: right 0.35s ease;
}
.nav__links a:hover,
.nav__links a.active { color: var(--fg); }
.nav__links a:hover::after,
.nav__links a.active::after { right: 0; }

.nav__burger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; padding: 4px;
}
.nav__burger span {
  display: block; width: 22px; height: 2px;
  background: var(--fg);
  transition: var(--tr);
}
.nav__burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav__burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav__mobile {
  display: none; position: fixed; inset: 0; z-index: 99;
  background: var(--bg-soft);
  flex-direction: column; align-items: center; justify-content: center;
  gap: 1.8rem;
}
.nav__mobile.open { display: flex; animation: mobileIn 0.35s ease forwards; }
@keyframes mobileIn {
  from { opacity: 0; transform: scale(0.97); }
  to { opacity: 1; transform: scale(1); }
}
.nav__mobile a {
  font-family: var(--font-display);
  font-size: clamp(2rem, 8vw, 3rem);
  letter-spacing: 0.08em;
  color: rgba(var(--fg-rgb),0.7);
  transition: color 0.3s;
}
.nav__mobile a:hover { color: var(--blue); }
.nav__mobile-close {
  position: absolute; top: 1.5rem; right: 5%;
  background: none; border: none;
  color: rgba(var(--fg-rgb),0.4);
  font-size: 1.8rem; transition: color 0.3s;
}
.nav__mobile-close:hover { color: var(--fg); }

/* ---- NAV ACTIONS: language switch + theme toggle ---- */
.nav__actions {
  display: flex; align-items: center; gap: 0.85rem;
  margin-left: 1.6rem;
}
.lang-switch {
  display: flex; align-items: center;
  border: 1px solid rgba(var(--fg-rgb),0.18);
  border-radius: 999px; overflow: hidden;
}
.lang-switch a {
  font-family: var(--font-sub);
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.55);
  padding: 5px 11px; line-height: 1;
  transition: color 0.25s, background 0.25s;
}
.lang-switch a.active { background: var(--blue); color: var(--on-blue); }
.lang-switch a:not(.active):hover { color: var(--fg); }

.theme-toggle {
  width: 52px; height: 28px; flex-shrink: 0;
  border-radius: 999px;
  background: rgba(var(--fg-rgb),0.1);
  border: 1px solid rgba(var(--fg-rgb),0.18);
  position: relative; cursor: pointer; padding: 0;
  transition: background 0.3s, border-color 0.3s;
}
.theme-toggle:hover { border-color: rgba(137,207,240,0.5); }
.theme-toggle__thumb {
  position: absolute; top: 2px; left: 2px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--blue); color: var(--on-blue);
  display: grid; place-items: center;
  transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.theme-toggle__thumb svg { width: 13px; height: 13px; }
.theme-toggle__thumb .icon-sun { display: none; }
.theme-toggle__thumb .icon-moon { display: block; }
:root[data-theme="light"] .theme-toggle__thumb { transform: translateX(24px); }
:root[data-theme="light"] .theme-toggle__thumb .icon-sun { display: block; }
:root[data-theme="light"] .theme-toggle__thumb .icon-moon { display: none; }

/* ================================================================
   COMMON / SHARED
   ================================================================ */
.section { padding: 100px 5%; }
.section--dark { background: var(--bg-soft); }
.section--light { background: var(--white); color: var(--black); }
.section--blue { background: var(--blue); color: var(--on-blue); }
.section--mid { background: var(--bg-mid); }

.section__label {
  font-family: var(--font-sub);
  font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.35em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 0.7rem;
  display: block;
}
.section--light .section__label { color: var(--blue-dark); }
.section--blue .section__label { color: rgba(0,0,0,0.55); }

.section__title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  line-height: 0.95; letter-spacing: 0.02em;
}
.section--light .section__title { color: var(--black); }

.section__sub {
  font-size: 0.95rem;
  color: rgba(var(--fg-rgb),0.5);
  max-width: 520px; margin-top: 1rem; line-height: 1.7;
}
.section--light .section__sub { color: rgba(0,0,0,0.5); }

.section__header { margin-bottom: 4rem; }
.section__header-flex {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 4rem;
}

/* ---- BUTTONS ---- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-sub);
  font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 14px 32px;
  border: 1.5px solid var(--blue);
  color: var(--fg); background: transparent;
  position: relative; overflow: hidden;
  transition: color 0.35s;
}
.btn::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--blue);
  transform: translateX(-101%);
  transition: transform 0.35s ease;
  z-index: 0;
}
.btn:hover::before { transform: translateX(0); }
.btn:hover { color: var(--on-blue); }
.btn > * { position: relative; z-index: 1; }
.btn--solid { background: var(--blue); color: var(--on-blue); }
.btn--solid::before { background: var(--black); }
.btn--solid:hover { color: var(--blue); }
.btn--white { border-color: rgba(var(--fg-rgb),0.3); color: var(--fg); }
.btn--white::before { background: rgba(var(--fg-rgb),0.08); }
.btn--white:hover { color: var(--fg); }

/* ---- GRID LAYOUTS ---- */
.two-col {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 5rem; align-items: center;
}
.two-col--wide { grid-template-columns: 1.4fr 1fr; }
.two-col--reverse { direction: rtl; }
.two-col--reverse > * { direction: ltr; }

/* ---- DIVIDER LINE ---- */
.divider {
  height: 1px; background: rgba(137,207,240,0.1);
  margin: 0;
}

/* ---- SCROLL REVEAL ---- */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal--l { opacity: 0; transform: translateX(-36px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal--l.visible { opacity: 1; transform: translateX(0); }
.reveal--r { opacity: 0; transform: translateX(36px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal--r.visible { opacity: 1; transform: translateX(0); }
.reveal--scale { opacity: 0; transform: scale(0.94); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal--scale.visible { opacity: 1; transform: scale(1); }

/* ---- PHOTO PLACEHOLDER ---- */
.photo-ph {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 0.75rem; background: var(--surface);
  color: rgba(var(--fg-rgb),0.12);
}
.photo-ph svg { width: 42px; height: 42px; }
.photo-ph span {
  font-family: var(--font-sub);
  font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
}

/* ================================================================
   PAGE HERO (generic)
   ================================================================ */
.page-hero {
  min-height: 42vh;
  display: flex; align-items: flex-end;
  padding: var(--nav-h) 5% 4rem;
  background: var(--bg);
  position: relative; overflow: hidden;
  border-bottom: 1px solid rgba(137,207,240,0.07);
}
.page-hero__bg {
  position: absolute; right: -2%; top: 50%; transform: translateY(-50%);
  font-family: var(--font-display);
  font-size: clamp(7rem, 20vw, 19rem);
  letter-spacing: -0.02em;
  color: rgba(137,207,240,0.035);
  white-space: nowrap;
  pointer-events: none; user-select: none; line-height: 1;
}
.page-hero__content { position: relative; z-index: 2; }
.page-hero__breadcrumb {
  font-family: var(--font-sub);
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 0.9rem;
  display: flex; align-items: center; gap: 0.75rem;
}
.page-hero__breadcrumb::before {
  content: ''; width: 22px; height: 1.5px;
  background: var(--blue); display: inline-block;
}
.page-title {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 9vw, 8.5rem);
  line-height: 0.88; letter-spacing: 0.02em; margin-bottom: 1.25rem;
}
.page-title span { color: var(--blue); }

/* ================================================================
   FOOTER
   ================================================================ */
footer {
  background: var(--bg);
  border-top: 1px solid rgba(137,207,240,0.08);
  padding: 64px 5% 28px;
}
.footer__grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem; margin-bottom: 3rem;
}
.footer__brand-name {
  font-family: var(--font-display);
  font-size: 2rem; letter-spacing: 0.08em;
  display: block; margin-bottom: 0.75rem;
}
.footer__brand-name span { color: var(--blue); }
.footer__desc {
  font-size: 0.82rem;
  color: rgba(var(--fg-rgb),0.35); line-height: 1.8; max-width: 270px;
  margin-bottom: 1.5rem;
}
.social-links { display: flex; gap: 0.75rem; }
.social-link {
  width: 36px; height: 36px;
  border: 1px solid rgba(137,207,240,0.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.85rem; color: rgba(var(--fg-rgb),0.4);
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}
.social-link:hover {
  border-color: var(--blue); color: var(--blue);
  background: var(--blue-glow);
}
.footer__col h4 {
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 1.2rem;
}
.footer__col ul { list-style: none; }
.footer__col ul li { margin-bottom: 0.55rem; }
.footer__col ul a {
  font-size: 0.82rem;
  color: rgba(var(--fg-rgb),0.4);
  transition: color 0.3s;
}
.footer__col ul a:hover { color: rgba(var(--fg-rgb),0.9); }
.footer__bottom {
  border-top: 1px solid rgba(var(--fg-rgb),0.06);
  padding-top: 1.4rem;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.72rem; color: rgba(var(--fg-rgb),0.25);
}
.footer__mastercaller {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.72rem; color: rgba(var(--fg-rgb),0.25);
}
.footer__mastercaller a {
  color: var(--blue); opacity: 0.7;
  transition: opacity 0.3s;
}
.footer__mastercaller a:hover { opacity: 1; }

/* ================================================================
   HOME — HERO
   ================================================================ */
.hero {
  min-height: 100vh;
  position: relative; display: flex; align-items: center;
  overflow: hidden; background: var(--bg);
}
.hero__bg-grad {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 68% 50%, rgba(137,207,240,0.06) 0%, transparent 65%),
    radial-gradient(ellipse 30% 40% at 30% 80%, rgba(137,207,240,0.03) 0%, transparent 60%);
  pointer-events: none;
}
.hero__dartboard {
  position: absolute; right: -8%; top: 50%;
  transform: translateY(-50%);
  width: min(58vw, 720px); aspect-ratio: 1;
  opacity: 0.055; pointer-events: none;
  animation: slowSpin 80s linear infinite;
}
@keyframes slowSpin {
  from { transform: translateY(-50%) rotate(0deg); }
  to   { transform: translateY(-50%) rotate(360deg); }
}
.hero__content {
  position: relative; z-index: 2;
  width: 100%; padding: calc(var(--nav-h) + 2rem) 5% 4rem;
  display: grid; grid-template-columns: 1.1fr 0.9fr;
  align-items: center; gap: 3rem;
}
.hero__text { max-width: 640px; }

.hero__flag {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 1.8rem;
  opacity: 0; animation: fadeInUp 0.7s 0.3s ease forwards;
}
.hero__flag-bar { display: flex; height: 3px; width: 38px; overflow: hidden; }
.hero__flag-bar span:nth-child(1) { flex: 1; background: #fff; }
.hero__flag-bar span:nth-child(2) { flex: 1; background: #d7141a; }
.hero__flag-bar span:nth-child(3) { flex: 1; background: #11457e; }
.hero__flag-text {
  font-family: var(--font-sub);
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.45);
}

.hero__title {
  font-family: var(--font-display);
  font-size: clamp(4rem, 9vw, 9.5rem);
  line-height: 0.88; letter-spacing: 0.01em;
  margin-bottom: 0.5rem;
  opacity: 0; animation: fadeInUp 0.8s 0.45s ease forwards;
}
.hero__title span { color: var(--blue); }
.hero__title .line2 { padding-left: 0.06em; }

.hero__subtitle {
  font-family: var(--font-sub);
  font-size: clamp(0.9rem, 2vw, 1.1rem); font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.45);
  margin-bottom: 2.5rem;
  opacity: 0; animation: fadeInUp 0.8s 0.6s ease forwards;
}
.hero__ctas {
  display: flex; gap: 1rem; flex-wrap: wrap;
  opacity: 0; animation: fadeInUp 0.8s 0.75s ease forwards;
}

.hero__scroll {
  position: absolute; bottom: 2.5rem; left: 5%;
  display: flex; align-items: center; gap: 12px;
  font-family: var(--font-sub);
  font-size: 0.65rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.3);
  opacity: 0; animation: fadeIn 1s 1.5s ease forwards;
}
.hero__scroll-line {
  width: 36px; height: 1px; background: var(--blue);
  animation: scrollLine 2.2s ease-in-out infinite;
}
@keyframes scrollLine {
  0%,100% { width: 18px; opacity: 0.4; } 50% { width: 36px; opacity: 1; }
}

/* Hero photo frame */
.hero__photo {
  display: flex; justify-content: flex-end;
  opacity: 0; animation: fadeIn 1s 0.8s ease forwards;
}
.hero__photo-wrap {
  position: relative;
  width: min(380px, 100%);
}
.hero__photo-frame {
  width: 100%; aspect-ratio: 3/4;
  background: var(--bg-mid);
  border: 1px solid rgba(137,207,240,0.12);
  overflow: hidden; position: relative;
}
.hero__photo-frame::before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 55%; height: 2px; background: var(--blue); z-index: 2;
}
.hero__photo-frame::after {
  content: ''; position: absolute; bottom: 0; right: 0;
  width: 55%; height: 2px; background: var(--blue); z-index: 2;
}
.hero__photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.hero__stat-badge {
  position: absolute; bottom: -20px; left: -20px;
  background: var(--blue); color: var(--on-blue);
  padding: 16px 22px;
  display: flex; gap: 2rem;
  box-shadow: 0 8px 30px rgba(137,207,240,0.25);
}
.hero__badge-item { text-align: center; }
.hero__badge-num {
  font-family: var(--font-display);
  font-size: 2rem; line-height: 1;
}
.hero__badge-label {
  font-family: var(--font-sub);
  font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase;
  opacity: 0.7;
}

/* ---- STATS STRIP ---- */
.stats-strip {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--blue); color: var(--on-blue);
}
.stats-strip__item {
  padding: 2.5rem 1.5rem; text-align: center;
  border-right: 1px solid rgba(0,0,0,0.1);
  transition: background 0.3s;
  position: relative; overflow: hidden;
}
.stats-strip__item:last-child { border-right: none; }
.stats-strip__item:hover { background: rgba(0,0,0,0.07); }
.stats-strip__num {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1; margin-bottom: 0.2rem;
}
.stats-strip__label {
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  opacity: 0.65;
}

/* ---- RESULTS PREVIEW ---- */
.results-list { display: flex; flex-direction: column; gap: 2px; }
.result-row {
  display: grid; grid-template-columns: 90px 1fr auto 1fr auto;
  align-items: center; gap: 1rem;
  padding: 1.2rem 2rem;
  background: var(--surface);
  border-left: 2px solid transparent;
  transition: background 0.3s, border-color 0.3s;
}
.result-row:hover {
  background: rgba(137,207,240,0.04);
  border-left-color: var(--blue);
}
.result-row__date {
  font-family: var(--font-sub);
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.12em; color: var(--blue); white-space: nowrap;
}
.result-row__tournament {
  font-size: 0.82rem; color: rgba(var(--fg-rgb),0.5); margin-top: 2px;
}
.result-row__player {
  font-family: var(--font-sub);
  font-size: 0.95rem; font-weight: 600;
}
.result-row__score {
  font-family: var(--font-display);
  font-size: 1.5rem; letter-spacing: 0.05em;
  color: var(--blue); white-space: nowrap; text-align: center;
}
.badge {
  font-family: var(--font-sub);
  font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 2px;
}
.badge--win { background: rgba(92,230,92,0.1); color: #5ce65c; }
.badge--loss { background: rgba(255,107,107,0.1); color: #ff6b6b; }
.badge--blue { background: rgba(137,207,240,0.12); color: var(--blue); }

/* ================================================================
   ABOUT PAGE
   ================================================================ */
.facts-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.fact-card {
  background: var(--bg-mid);
  border: 1px solid rgba(137,207,240,0.08);
  padding: 1.75rem;
  transition: border-color 0.3s, transform 0.3s, background 0.3s;
}
.fact-card:hover {
  border-color: rgba(137,207,240,0.35);
  transform: translateY(-5px);
  background: rgba(137,207,240,0.03);
}
.fact-card__label {
  font-family: var(--font-sub);
  font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 0.45rem; display: block;
}
.fact-card__value {
  font-family: var(--font-display);
  font-size: 1.55rem; letter-spacing: 0.02em;
}
.fact-card__detail {
  font-size: 0.78rem; color: rgba(var(--fg-rgb),0.4);
  margin-top: 0.2rem;
}

.bio-text p {
  font-size: 1.0rem; color: rgba(var(--fg-rgb),0.65);
  line-height: 1.85; margin-bottom: 1.25rem;
}
.bio-text p strong { color: var(--blue); font-weight: 600; }

.timeline { position: relative; padding-left: 1.5rem; }
.timeline::before {
  content: ''; position: absolute; left: 0; top: 6px; bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, var(--blue) 0%, rgba(137,207,240,0.05) 90%, transparent 100%);
}
.timeline-item {
  position: relative; padding-bottom: 2.5rem; padding-left: 2rem;
}
.timeline-item::before {
  content: ''; position: absolute; left: -1.5rem; top: 5px;
  width: 9px; height: 9px;
  background: var(--blue); border-radius: 50%;
  transform: translateX(-4px);
  box-shadow: 0 0 0 3px rgba(137,207,240,0.2);
}
.timeline-item__year {
  font-family: var(--font-sub);
  font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 0.3rem;
}
.timeline-item__title {
  font-family: var(--font-sub);
  font-size: 1rem; font-weight: 700; margin-bottom: 0.3rem;
}
.timeline-item__text {
  font-size: 0.83rem; color: rgba(var(--fg-rgb),0.45);
}

.about-photo-frame {
  width: 100%; aspect-ratio: 3/4;
  background: var(--bg-mid);
  border: 1px solid rgba(137,207,240,0.1);
  overflow: hidden; position: relative;
}
.about-photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.about-photo-frame::before {
  content: ''; position: absolute; top: 0; right: 0;
  width: 45%; height: 2px; background: var(--blue); z-index: 2;
}

/* ================================================================
   STATS PAGE
   ================================================================ */
.stat-cards-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: rgba(137,207,240,0.08);
  border: 1px solid rgba(137,207,240,0.08);
  margin-bottom: 4px;
}
.stat-card {
  background: var(--bg-soft);
  padding: 2.5rem 2rem; text-align: center;
  transition: background 0.3s;
  position: relative; overflow: hidden;
}
.stat-card:hover { background: rgba(137,207,240,0.03); }
.stat-card::after {
  content: ''; position: absolute; bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 2px; background: var(--blue);
  transition: width 0.35s ease;
}
.stat-card:hover::after { width: 50%; }
.stat-card__num {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1; color: var(--blue); margin-bottom: 0.3rem;
}
.stat-card__label {
  font-family: var(--font-sub);
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.45);
}
.stat-card__ctx {
  font-size: 0.72rem; color: rgba(var(--fg-rgb),0.25); margin-top: 0.2rem;
}

.rankings-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.ranking-card {
  background: var(--surface);
  border-left: 3px solid var(--blue);
  padding: 1.5rem 2rem;
  display: flex; justify-content: space-between; align-items: center;
  transition: transform 0.3s, background 0.3s;
}
.ranking-card:hover { transform: translateX(5px); background: rgba(137,207,240,0.03); }
.ranking-card__info {}
.ranking-card__label {
  font-family: var(--font-sub);
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.4); margin-bottom: 0.25rem;
}
.ranking-card__rank {
  font-family: var(--font-display);
  font-size: 2.6rem; line-height: 1; color: var(--fg);
}
.ranking-card__suffix {
  font-size: 0.78rem; color: rgba(var(--fg-rgb),0.3); margin-top: 0.2rem;
}
.ranking-card__badge {
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--blue);
  padding: 6px 12px;
  border: 1px solid rgba(137,207,240,0.25);
}

/* Table */
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th {
  background: var(--blue); color: var(--on-blue);
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 1rem 1.5rem; text-align: left; white-space: nowrap;
}
.data-table td {
  padding: 0.9rem 1.5rem;
  font-size: 0.83rem; color: rgba(var(--fg-rgb),0.75);
  border-bottom: 1px solid rgba(var(--fg-rgb),0.04);
}
.data-table tbody tr:hover td { background: rgba(137,207,240,0.03); }
.data-table td.hl { color: var(--blue); font-weight: 600; }
.data-table td.win-c { color: #5ce65c; }
.data-table td.loss-c { color: #ff6b6b; }

/* ================================================================
   GALLERY PAGE
   ================================================================ */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.gallery-item {
  aspect-ratio: 4/3; background: var(--surface);
  overflow: hidden; position: relative; cursor: pointer;
}
.gallery-item--tall {
  grid-row: span 2; aspect-ratio: unset;
}
.gallery-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s ease;
}
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item__overlay {
  position: absolute; inset: 0;
  background: rgba(10,10,10,0);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.35s;
}
.gallery-item:hover .gallery-item__overlay { background: rgba(10,10,10,0.38); }
.gallery-item__overlay svg {
  color: var(--fg); width: 32px; height: 32px;
  opacity: 0; transform: scale(0.8);
  transition: opacity 0.3s, transform 0.3s;
}
.gallery-item:hover .gallery-item__overlay svg {
  opacity: 1; transform: scale(1);
}
.gallery-item__cat {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  padding: 1.5rem 1rem 0.75rem;
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.6);
  transform: translateY(100%);
  transition: transform 0.35s ease;
}
.gallery-item:hover .gallery-item__cat { transform: translateY(0); }

/* Lightbox */
.lightbox {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(0,0,0,0.96);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.lightbox.open { opacity: 1; visibility: visible; }
.lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; }
.lightbox__close {
  position: absolute; top: 1.5rem; right: 2rem;
  background: none; border: none;
  color: rgba(var(--fg-rgb),0.5);
  font-size: 2rem; transition: color 0.3s;
}
.lightbox__close:hover { color: var(--blue); }
.lightbox__ph {
  max-width: 80vw; max-height: 70vh;
  aspect-ratio: 4/3;
  background: var(--surface);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 1rem; color: rgba(var(--fg-rgb),0.2);
}
.lightbox__ph svg { width: 60px; height: 60px; }
.lightbox__ph span {
  font-family: var(--font-sub);
  font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase;
}

/* ================================================================
   SPONSORS PAGE
   ================================================================ */
.sponsors-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.sponsor-card {
  background: var(--surface);
  border: 1px solid rgba(137,207,240,0.07);
  padding: 3rem 2.5rem;
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 2.2/1; position: relative; overflow: hidden;
  transition: border-color 0.3s, transform 0.3s;
}
.sponsor-card::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px; background: var(--blue);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s ease;
}
.sponsor-card:hover { border-color: rgba(137,207,240,0.28); transform: translateY(-5px); }
.sponsor-card:hover::after { transform: scaleX(1); }
.sponsor-card img {
  max-width: 65%; max-height: 55px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.5; transition: opacity 0.3s;
}
.sponsor-card:hover img { opacity: 0.85; }
.sponsor-ph {
  font-family: var(--font-display);
  font-size: 1.4rem; letter-spacing: 0.15em;
  color: rgba(var(--fg-rgb),0.1); text-align: center;
}

/* Logo variant — real sponsor logos on a light tile, keeping brand colours */
.sponsor-card--logo {
  background: var(--white);
  border-color: rgba(var(--fg-rgb),0.12);
  padding: 1.1rem 1.4rem;
}
.sponsor-card--logo img {
  filter: none;
  opacity: 1;
  width: 100%; height: 100%;
  max-width: 100%; max-height: 100%;
  object-fit: contain;
}
.sponsor-card--logo:hover { border-color: rgba(137,207,240,0.55); }
.sponsor-card--logo:hover img { opacity: 1; }

.why-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.why-card {
  padding: 2rem; border-top: 2px solid var(--blue);
}
.why-card__num {
  font-family: var(--font-display);
  font-size: 3.5rem; line-height: 1;
  color: rgba(137,207,240,0.12); margin-bottom: 0.4rem;
}
.why-card__title {
  font-family: var(--font-sub);
  font-size: 1rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 0.65rem;
}
.why-card__text {
  font-size: 0.83rem; color: rgba(var(--fg-rgb),0.5); line-height: 1.75;
}

/* CTA Banner */
.cta-banner {
  background: var(--blue); color: var(--on-blue);
  padding: 5rem 5%;
  display: flex; justify-content: space-between; align-items: center;
  gap: 2rem;
}
.cta-banner__text {}
.cta-banner__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 0.95; margin-bottom: 0.75rem;
}
.cta-banner__sub {
  font-size: 0.95rem; opacity: 0.65; max-width: 460px;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.contact-grid {
  display: grid; grid-template-columns: 1.3fr 0.7fr;
  gap: 5rem; align-items: start;
}
.contact-form {}
.form-group { margin-bottom: 1.4rem; }
.form-group label {
  display: block;
  font-family: var(--font-sub);
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.4); margin-bottom: 0.5rem;
}
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  background: var(--bg-mid);
  border: 1px solid rgba(137,207,240,0.12);
  border-bottom: 1px solid rgba(137,207,240,0.25);
  color: var(--fg);
  font-family: var(--font-body); font-size: 0.93rem;
  padding: 13px 16px;
  outline: none;
  transition: border-color 0.3s, background 0.3s;
  -webkit-appearance: none; border-radius: 0;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: var(--blue);
  background: rgba(137,207,240,0.03);
}
.form-group textarea { resize: vertical; min-height: 140px; }
.form-group select option { background: var(--bg-mid); color: var(--fg); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }

.contact-aside {}
.contact-info-item {
  display: flex; gap: 1.2rem; align-items: flex-start;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(var(--fg-rgb),0.06);
}
.contact-info-item:first-child { padding-top: 0; }
.contact-info-item__icon {
  width: 42px; height: 42px; flex-shrink: 0;
  background: rgba(137,207,240,0.08);
  border: 1px solid rgba(137,207,240,0.18);
  display: flex; align-items: center; justify-content: center;
  color: var(--blue);
}
.contact-info-item__label {
  font-family: var(--font-sub);
  font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.35); margin-bottom: 0.25rem;
}
.contact-info-item__value {
  font-size: 0.88rem; color: rgba(var(--fg-rgb),0.75);
}
.contact-aside__note {
  margin-top: 2.5rem; padding: 1.5rem;
  background: rgba(137,207,240,0.05);
  border-left: 2px solid var(--blue);
}
.contact-aside__note p {
  font-size: 0.82rem; color: rgba(var(--fg-rgb),0.5); line-height: 1.7;
}
.contact-aside__note strong { color: var(--blue); }

/* ================================================================
   SUPPORT / QR PAYMENT
   ================================================================ */
.support-grid {
  display: grid; grid-template-columns: 1.25fr 0.75fr;
  gap: 4rem; align-items: center;
}
.qr-card {
  background: #fff;
  padding: 1.1rem;
  border-radius: 12px;
  width: min(280px, 100%);
  margin-left: auto;
  box-shadow: 0 14px 44px rgba(0,0,0,0.4);
  text-align: center;
}
.qr-card img {
  width: 100%; height: auto; display: block;
  border-radius: 6px;
}
.qr-card__label {
  font-family: var(--font-sub);
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--black); margin-top: 0.85rem;
}
@media (max-width: 768px) {
  .support-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .qr-card { margin: 0 auto; }
}

/* Support: bank-transfer details (desktop-friendly fallback to the QR) */
.bank-details { margin-top: 1.6rem; display: grid; gap: 0.5rem; }
.bank-row { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; align-items: baseline; }
.bank-row__label {
  font-family: var(--font-sub); font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.4); min-width: 42px;
}
.bank-row__value {
  font-family: var(--font-sub); font-size: 0.92rem; font-weight: 600;
  letter-spacing: 0.02em; color: var(--fg);
}

/* ================================================================
   SEASON VISUALISATION (stats)
   ================================================================ */
.season-viz { display: grid; grid-template-columns: 220px 1fr; gap: 3rem; align-items: center; }
.season-donut { position: relative; width: 220px; height: 220px; flex-shrink: 0; }
.season-donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.season-donut circle { fill: none; stroke-width: 13; }
.season-donut__track { stroke: rgba(var(--fg-rgb),0.08); }
.season-donut__fill {
  stroke: var(--blue); stroke-linecap: round;
  stroke-dasharray: 0 327;
  transition: stroke-dasharray 1.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.season-donut__center {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.season-donut__pct { font-family: var(--font-display); font-size: 3.4rem; line-height: 1; color: var(--fg); }
.season-donut__cap {
  font-family: var(--font-sub); font-size: 0.66rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: rgba(var(--fg-rgb),0.5);
}
.season-side { display: flex; flex-direction: column; gap: 1.5rem; }
.season-tiles {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: rgba(137,207,240,0.10); border: 1px solid rgba(137,207,240,0.10);
}
.season-tile { background: var(--surface); padding: 1.4rem 1rem; text-align: center; }
.season-tile__num { font-family: var(--font-display); font-size: 2rem; line-height: 1; color: var(--blue); }
.season-tile__label {
  font-family: var(--font-sub); font-size: 0.58rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(var(--fg-rgb),0.45); margin-top: 0.25rem;
}
.wl-bar { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: rgba(var(--fg-rgb),0.08); }
.wl-bar span { display: block; height: 100%; width: 0; transition: width 1.2s ease 0.2s; }
.wl-bar__w { background: #43c95f; }
.wl-bar__l { background: #ff6b6b; }
.wl-legend {
  display: flex; gap: 1.75rem; margin-top: 0.75rem;
  font-family: var(--font-sub); font-size: 0.75rem; font-weight: 600; color: rgba(var(--fg-rgb),0.6);
}
.wl-legend b { color: var(--fg); }
.wl-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-right: 7px; font-style: normal; }
.wl-legend .dot-w { background: #43c95f; }
.wl-legend .dot-l { background: #ff6b6b; }
:root[data-theme="light"] .season-tiles { box-shadow: var(--card-shadow); }
/* animate donut + bar when the block scrolls into view */
.season-viz.visible .season-donut__fill { stroke-dasharray: 176 327; }
.season-viz.visible .wl-bar__w { width: var(--w); }
.season-viz.visible .wl-bar__l { width: var(--w); }

/* ---- MATCH FILTER TABS ---- */
.match-filter { display: flex; gap: 0.5rem; margin-bottom: 1.75rem; flex-wrap: wrap; }
.match-filter button {
  font-family: var(--font-sub); font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 7px 16px; border: 1px solid rgba(var(--fg-rgb),0.15); border-radius: 999px;
  background: transparent; color: rgba(var(--fg-rgb),0.55); cursor: pointer;
  transition: color 0.25s, border-color 0.25s, background 0.25s;
}
.match-filter button:hover { color: var(--fg); border-color: rgba(var(--fg-rgb),0.3); }
.match-filter button.active { background: var(--blue); color: var(--on-blue); border-color: var(--blue); }
/* full-season match table */
.match-table td:nth-child(1),
.match-table td:nth-child(3),
.match-table td:nth-child(4),
.match-table td:nth-child(6),
.match-table td:nth-child(7) { white-space: nowrap; }
.match-table td.win-c, .match-table td.loss-c { font-weight: 600; }

/* GDPR consent checkbox */
.form-consent { display: flex; align-items: flex-start; gap: 0.65rem; margin-bottom: 1.4rem; }
.form-consent input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; accent-color: var(--blue); cursor: pointer; }
.form-consent label {
  font-family: var(--font-body); font-weight: 400; font-size: 0.78rem; line-height: 1.5;
  letter-spacing: normal; text-transform: none; color: rgba(var(--fg-rgb),0.55); margin: 0;
}

/* Back-to-top button */
.to-top {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 90;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--blue); color: var(--on-blue); border: none;
  display: grid; place-items: center; cursor: pointer;
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.3s;
  box-shadow: 0 8px 24px rgba(46,134,189,0.35);
}
.to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { background: var(--blue-mid); }
.to-top svg { width: 20px; height: 20px; }

@media (max-width: 768px) {
  .season-viz { grid-template-columns: 1fr; gap: 2rem; justify-items: center; }
  .season-side { width: 100%; }
  .season-tiles { grid-template-columns: repeat(2, 1fr); }
}

/* ================================================================
   KEYFRAMES
   ================================================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; } to { opacity: 1; }
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1100px) {
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .stat-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .facts-grid { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .rankings-grid { grid-template-columns: 1fr; }
  .cta-banner { flex-direction: column; align-items: flex-start; }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .nav__links { display: none; }
  .nav__burger { display: flex; }
  .nav__actions { margin-left: auto; gap: 0.6rem; }
  .hero__content { grid-template-columns: 1fr; }
  .hero__photo { display: flex; justify-content: center; margin-top: 2.75rem; }
  .hero__photo-wrap { width: min(320px, 82%); }
  .stats-strip { grid-template-columns: repeat(2, 1fr); }
  .two-col, .two-col--wide { grid-template-columns: 1fr; gap: 3rem; }
  .two-col--reverse { direction: ltr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .sponsors-grid { grid-template-columns: 1fr 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .facts-grid { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .result-row { grid-template-columns: 80px 1fr auto; }
  .result-row__tournament, .result-row__score { display: none; }
}
@media (max-width: 500px) {
  .section { padding: 70px 5%; }
  .gallery-grid { grid-template-columns: 1fr; }
  .stats-strip { grid-template-columns: 1fr 1fr; }
  .sponsors-grid { grid-template-columns: 1fr; }
  .facts-grid { grid-template-columns: 1fr; }
  .stat-cards-grid { grid-template-columns: 1fr; }
}