/* ============================================================
   TTC Evolution — Consolidated Stylesheet
   All page styles combined. CSS variables + shared + per-page.
   Fonts loaded via functions.php (no @import here).
   ============================================================ */

/* ============================================================
   1. CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  /* Colors */
  --evo-color-bg: #f5f5f7;
  --evo-color-white: #ffffff;
  --evo-color-text: #1d1d1f;
  --evo-color-text-secondary: #6e6e73;
  --evo-color-text-tertiary: #aeaeb2;
  --evo-color-border: rgba(0,0,0,0.08);
  --evo-color-border-light: rgba(0,0,0,0.06);

  /* Hero */
  --evo-gradient-hero: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
  --evo-gradient-glow: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%);

  /* Glass */
  --evo-glass-bg: rgba(255,255,255,0.18);
  --evo-glass-border: rgba(255,255,255,0.35);
  --evo-glass-blur: blur(24px);

  /* Typography */
  --evo-font-primary: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  --evo-font-secondary: 'Geist', ui-sans-serif, system-ui, sans-serif;

  /* Layout */
  --evo-max-width: 1200px;
  --evo-section-padding: 80px;
  --evo-container-padding: 24px;

  /* Radius */
  --evo-radius-pill: 9999px;
  --evo-radius-card: 24px;
  --evo-radius-card-lg: 40px;
  --evo-radius-sm: 12px;
  --evo-radius-xs: 8px;

  /* Shadows */
  --evo-shadow-card: 0 4px 24px rgba(0,0,0,0.06);
  --evo-shadow-card-hover: 0 8px 32px rgba(0,0,0,0.1);

  /* Legal note */
  --evo-legal-bg: #fef9ee;
  --evo-legal-border: #e8a020;
}

/* ============================================================
   2. SHARED COMPONENTS
   ============================================================ */

/* ---------- Global font baseline ----------
   No rule previously set body/html font-family here (every .xxx-page
   wrapper sets its own). EvoTT's plugin-rendered pages (rating,
   tournaments archive, tournament detail, player profile) aren't
   wrapped in any .xxx-page class and read `font-family: inherit`
   throughout their own CSS, so without this they fall back to the
   browser default instead of the site's DM Sans (already loaded
   sitewide via functions.php). No-op for the theme's own pages,
   since each already sets an identical font-family on its own root
   div. */
body {
  font-family: var(--evo-font-primary);
}

/* ---------- Shared page primitives (prefix: .evo-) ----------
   Layout primitives shared by every page, as opposed to the per-page
   prefixes below (.ehp-, .eab-, .etn-, ...), each of which currently
   redefines its own identical copy of "inner"/"section"/"section-title".
   New markup uses these; the per-page copies stay untouched so nothing
   existing shifts, and can be folded in later one page at a time.

   Used right now by page.php for pages whose content is an EvoTT block
   (/rating/, /tournaments/, /series/) — those output a bare table or card
   grid, so before this they rendered edge-to-edge and with no <h1>. */
.evo-inner {
  max-width: var(--evo-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--evo-container-padding);
  padding-right: var(--evo-container-padding);
}

.evo-main--framed {
  display: block;
  background: var(--evo-color-bg);
  padding-bottom: 72px;
  /* Keeps a one-card page (e.g. /series/ with a single series) from ending
     its grey band immediately under the hero. The global footer fills
     whatever is left below, so a full-viewport height isn't wanted here. */
  min-height: 40vh;
}

/* --- Page hero: breadcrumb + H1 + intro --- */
.evo-page-hero {
  position: relative;
  padding: 44px 0 32px;
  background:
    radial-gradient(120% 150% at 12% 0%, rgba(72,103,175,0.16) 0%, rgba(72,103,175,0) 62%),
    radial-gradient(100% 130% at 92% 8%, rgba(196,149,119,0.20) 0%, rgba(196,149,119,0) 58%),
    var(--evo-color-white);
  border-bottom: 1px solid var(--evo-color-border-light);
  margin-bottom: 32px;
}

.evo-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--evo-color-text-secondary);
  margin-bottom: 14px;
}

.evo-breadcrumb a {
  color: var(--evo-color-text-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.evo-breadcrumb a:hover {
  color: var(--evo-color-text);
}

.evo-breadcrumb__sep {
  color: var(--evo-color-text-tertiary);
}

.evo-breadcrumb__current {
  color: var(--evo-color-text);
  font-weight: 500;
}

.evo-page-hero__title {
  font-size: 40px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -1px;
  color: var(--evo-color-text);
  margin: 0;
}

.evo-page-hero__intro {
  font-size: 17px;
  line-height: 1.5;
  color: var(--evo-color-text-secondary);
  max-width: 640px;
  margin: 12px 0 0;
}

.evo-page-body {
  padding-bottom: 8px;
}

/* --- Card surface for the EvoTT tables sitting inside .evo-page-body ---
   Nesting under .evo-page-body wins on specificity over evott-public.css's
   own single-class rules, so unlike section 11 below these need no
   !important regardless of stylesheet order. */
.evo-page-body .evott-rating-table-wrap,
.evo-page-body .evott-series-standings {
  background: var(--evo-color-white);
  border: 1px solid var(--evo-color-border);
  border-radius: var(--evo-radius-card);
  box-shadow: var(--evo-shadow-card);
  padding: 8px 8px 0;
  overflow: hidden;
}

.evo-page-body .evott-table-responsive {
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .evo-page-hero {
    padding: 32px 0 24px;
    margin-bottom: 24px;
  }

  .evo-page-hero__title {
    font-size: 30px;
    letter-spacing: -0.6px;
  }

  .evo-page-hero__intro {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .evo-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .evo-page-body .evott-rating-table-wrap,
  .evo-page-body .evott-series-standings {
    border-radius: var(--evo-radius-sm);
    padding: 4px 4px 0;
  }
}

/* ---------- Shared button: 404 page ---------- */
.evo-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.evo-btn-dark:hover {
  background: #3a3a3c;
  color: #ffffff;
  text-decoration: none;
}

/* ---------- Floating Nav ---------- */
.evo-fnav {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 6px 0 20px;
  height: 48px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 9999px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.04);
  white-space: nowrap;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.evo-fnav__word {
  font-size: 15px;
  font-weight: 700;
  color: #1d1d1f;
  text-decoration: none;
}
.evo-fnav__links {
  display: flex;
  align-items: center;
  gap: 16px;
}
.evo-fnav__links a {
  font-size: 14px;
  font-weight: 500;
  color: #6e6e73;
  text-decoration: none;
  transition: color 0.15s;
}
.evo-fnav__links a:hover {
  color: #1d1d1f;
}
.evo-fnav__links a.evo-fnav--active {
  color: #1d1d1f;
  font-weight: 700;
  text-underline-offset: 3px;
  text-decoration: underline;
}
.evo-fnav__cta {
  background: #1d1d1f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.15s;
}
.evo-fnav__cta:hover {
  opacity: 0.8;
}
@media (max-width: 768px) {
  .evo-fnav__links { display: none; }
  .evo-fnav { gap: 12px; padding: 0 6px 0 16px; }
  .evo-fnav__word { font-size: 14px; }
}

/* ============================================================
   TOP HEADER NAVIGATION (admin-managed via WP Menus)
   Includes: desktop dropdowns, mobile fullscreen menu
   ============================================================ */

/* --- Header bar --- */
.evo-header {
  position: sticky;
  top: 0;
  z-index: 9998;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.evo-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Logo */
.evo-header__logo {
  font-size: 16px;
  font-weight: 700;
  color: #1d1d1f;
  text-decoration: none;
  flex-shrink: 0;
  line-height: 1;
}

.evo-header__logo img,
.evo-header__logo .custom-logo {
  height: 28px;
  width: auto;
  display: block;
}

.evo-header__logo .custom-logo-link {
  display: block;
  line-height: 0;
}

/* Desktop nav (center) */
.evo-header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

.evo-header__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.evo-header__menu > li {
  position: relative;
  margin: 0;
  padding: 0;
}

.evo-header__menu > li > a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #6e6e73;
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 9999px;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
}

.evo-header__menu > li > a:hover {
  color: #1d1d1f;
  background: rgba(0,0,0,0.04);
}

.evo-header__menu > li.current-menu-item > a,
.evo-header__menu > li.current-menu-ancestor > a,
.evo-header__menu > li.current_page_item > a {
  color: #1d1d1f;
  font-weight: 600;
}

/* Desktop dropdown (sub-menu) */
.evo-header__menu > li > .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  list-style: none;
  margin: 0;
  padding: 8px 0;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.06);
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 100;
}

.evo-header__menu > li:hover > .sub-menu,
.evo-header__menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.evo-header__menu > li > .sub-menu > li {
  margin: 0;
  padding: 0;
}

.evo-header__menu > li > .sub-menu > li > a {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #1d1d1f;
  text-decoration: none;
  padding: 10px 20px;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}

.evo-header__menu > li > .sub-menu > li > a:hover {
  background: #f5f5f7;
  color: #1d1d1f;
}

.evo-header__menu > li > .sub-menu > li.current-menu-item > a {
  font-weight: 600;
  color: #1d1d1f;
}

/* Arrow indicator for items with sub-menu */
.evo-header__menu > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* Right section: CTA + burger */
.evo-header__right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.evo-header__cta {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.15s;
}

.evo-header__cta:hover {
  opacity: 0.82;
  color: #ffffff;
  text-decoration: none;
}

/* Burger button */
.evo-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  border-radius: 50%;
  transition: background 0.15s;
}

.evo-header__burger:hover {
  background: rgba(0,0,0,0.04);
}

.evo-header__burger span {
  display: block;
  width: 18px;
  height: 2px;
  background: #1d1d1f;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.2s ease;
  position: absolute;
}

.evo-header__burger span:nth-child(1) { transform: translateY(-6px); }
.evo-header__burger span:nth-child(2) { transform: translateY(0); }
.evo-header__burger span:nth-child(3) { transform: translateY(6px); }

.evo-header__burger[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg);
}
.evo-header__burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.evo-header__burger[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg);
}

/* ============================================================
   SOCIAL ICONS IN MENU (auto-detected by URL)
   ============================================================ */
.evo-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 18px;
  color: #6e6e73;
  text-decoration: none;
  border-radius: 50%;
  transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.evo-social-icon:hover {
  color: #1d1d1f;
  background: rgba(0,0,0,0.04);
  transform: scale(1.1);
}

/* Brand colors on hover (optional — remove if you prefer monochrome) */
.evo-social-icon:hover .fa-facebook { color: #1877f2; }
.evo-social-icon:hover .fa-instagram { color: #e4405f; }
.evo-social-icon:hover .fa-x-twitter { color: #000000; }
.evo-social-icon:hover .fa-youtube { color: #ff0000; }
.evo-social-icon:hover .fa-telegram { color: #26a5e4; }
.evo-social-icon:hover .fa-tiktok { color: #000000; }
.evo-social-icon:hover .fa-viber { color: #7360f2; }
.evo-social-icon:hover .fa-linkedin { color: #0a66c2; }
.evo-social-icon:hover .fa-whatsapp { color: #25d366; }
.evo-social-icon:hover .fa-pinterest { color: #bd081c; }

/* Social icons inside mobile menu */
.evo-mmenu__list .evo-social-icon {
  width: 44px;
  height: 44px;
  font-size: 22px;
}

/* ============================================================
   MOBILE FULLSCREEN MENU
   ============================================================ */
.evo-mmenu {
  position: fixed;
  inset: 0;
  top: 56px;
  z-index: 9997;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  overflow: hidden;
}

.evo-mmenu[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.evo-mmenu__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 16px 24px 32px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.evo-mmenu__nav {
  flex: 1;
}

.evo-mmenu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.evo-mmenu__list > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.evo-mmenu__list > li > a {
  display: block;
  font-size: 17px;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  padding: 16px 0;
  transition: color 0.15s;
}

.evo-mmenu__list > li > a:hover {
  color: #6e6e73;
}

.evo-mmenu__list > li.current-menu-item > a,
.evo-mmenu__list > li.current-menu-ancestor > a {
  font-weight: 700;
}

/* Mobile submenu — accordion style */
.evo-mmenu__list > li.menu-item-has-children {
  position: relative;
}

.evo-mmenu__list > li.menu-item-has-children > a {
  padding-right: 44px;
}

/* Toggle arrow for mobile submenu */
.evo-mmenu__list > li.menu-item-has-children > .evo-mmenu-toggle {
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.evo-mmenu__list > li.menu-item-has-children > .evo-mmenu-toggle::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #6e6e73;
  border-bottom: 2px solid #6e6e73;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.evo-mmenu__list > li.menu-item-has-children.evo-mmenu--open > .evo-mmenu-toggle::after {
  transform: rotate(-135deg);
}

/* Submenu items */
.evo-mmenu__list > li > .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.evo-mmenu__list > li.evo-mmenu--open > .sub-menu {
  max-height: 500px;
}

.evo-mmenu__list > li > .sub-menu > li {
  margin: 0;
  padding: 0;
}

.evo-mmenu__list > li > .sub-menu > li > a {
  display: block;
  font-size: 15px;
  font-weight: 400;
  color: #6e6e73;
  text-decoration: none;
  padding: 12px 0 12px 16px;
  border-left: 2px solid rgba(0,0,0,0.06);
  margin-left: 4px;
  transition: color 0.15s, border-color 0.15s;
}

.evo-mmenu__list > li > .sub-menu > li > a:hover {
  color: #1d1d1f;
  border-left-color: #1d1d1f;
}

.evo-mmenu__list > li > .sub-menu > li.current-menu-item > a {
  color: #1d1d1f;
  font-weight: 600;
  border-left-color: #1d1d1f;
}

/* Footer inside mobile menu */
.evo-mmenu__footer {
  margin-top: auto;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.evo-mmenu__cta {
  display: block;
  background: #1d1d1f;
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  padding: 14px 24px;
  border-radius: 9999px;
  text-decoration: none;
  text-align: center;
  transition: opacity 0.15s;
}

.evo-mmenu__cta:hover {
  opacity: 0.82;
  color: #ffffff;
  text-decoration: none;
}

.evo-mmenu__phone {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #6e6e73;
  text-decoration: none;
  text-align: center;
  padding: 8px 0;
}

.evo-mmenu__phone:hover {
  color: #1d1d1f;
}

/* ============================================================
   HEADER RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  .evo-header__nav { display: none; }
  .evo-header__cta { display: none; }
  .evo-header__burger { display: flex; position: relative; }
}

@media (min-width: 769px) {
  .evo-mmenu { display: none !important; }
}

/* ============================================================
   3. HOME PAGE (prefix: .ehp-)
   ============================================================ */

/* ---------- Reset & base ---------- */
.ehp-page *,
.ehp-page *::before,
.ehp-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.ehp-page {
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  background: #f5f5f7;
  color: #1d1d1f;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}

/* ---------- Shared layout ---------- */
.ehp-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.ehp-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.ehp-section--white {
  background: #ffffff;
}

.ehp-section--gray {
  background: #f5f5f7;
}

.ehp-section-divider {
  border: none;
  border-top: 1px solid rgba(0,0,0,0.06);
  margin: 0;
}

/* ---------- Typography ---------- */
.ehp-section-title {
  font-size: 32px;
  font-weight: 600;
  color: #1d1d1f;
  letter-spacing: -0.5px;
  line-height: 1.15;
}

.ehp-section-intro {
  font-size: 16px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
  margin-top: 8px;
}

/* ---------- Tag / chip (light bg) ---------- */
.ehp-tag {
  display: inline-block;
  background: #f2f2f7;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #6e6e73;
  letter-spacing: 0.2px;
}

/* ---------- Buttons ---------- */
.ehp-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.ehp-btn-ghost {
  display: inline-block;
  background: transparent;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

/* ---------- Reveal animation ---------- */
.ehp-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.ehp-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* --- HERO --- */
.ehp-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
}

.ehp-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%);
  pointer-events: none;
}

.ehp-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 80px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  width: 100%;
}

.ehp-hero__left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ehp-hero__tag {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.2px;
}

.ehp-hero__headline {
  font-size: 72px;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: -2.52px;
  line-height: 1.0;
}

.ehp-hero__subtext {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  max-width: 440px;
}

.ehp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.ehp-hero__btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.ehp-hero__btn-ghost {
  display: inline-block;
  background: rgba(255,255,255,0.15);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.ehp-hero__right {
  display: flex;
  justify-content: center;
}

.ehp-schedule-card {
  background: rgba(255,255,255,0.18);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 24px;
  padding: 28px;
  width: 100%;
  max-width: 380px;
}

.ehp-schedule-card__header {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.35px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.ehp-schedule-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

.ehp-schedule-card__row:last-child {
  border-bottom: none;
}

.ehp-schedule-card__name {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}

.ehp-schedule-card__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.ehp-schedule-card__day {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
}

.ehp-schedule-card__time {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
}

/* --- STATS STRIP --- */
.ehp-stats {
  padding-top: 0;
  padding-bottom: 80px;
  background: #f5f5f7;
}

.ehp-stats__card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 32px 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.ehp-stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 24px;
  position: relative;
}

.ehp-stats__item + .ehp-stats__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 48px;
  width: 1px;
  background: rgba(0,0,0,0.08);
}

.ehp-stats__number {
  font-size: 48px;
  font-weight: 700;
  color: #1d1d1f;
  letter-spacing: -1px;
  line-height: 1.0;
}

.ehp-stats__label {
  font-size: 14px;
  font-weight: 500;
  color: #6e6e73;
  letter-spacing: 0.35px;
  margin-top: 6px;
}

/* --- SERVICE CARDS --- */
.ehp-services {
  background: #ffffff;
}

.ehp-services__head {
  margin-bottom: 40px;
}

.ehp-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ehp-service-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ehp-service-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06);
  transform: translateY(-4px);
}

.ehp-service-card__title {
  font-size: 20px;
  font-weight: 600;
  color: #1d1d1f;
}

.ehp-service-card__body {
  font-size: 14px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
  flex: 1;
}

.ehp-service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 8px 16px;
  margin-top: auto;
  align-self: flex-start;
  transition: background 0.2s ease;
}

.ehp-service-card__link:hover {
  background: rgba(0,0,0,0.04);
}

/* --- TOURNAMENT SERIES --- */
.ehp-tournaments {
  background: #f5f5f7;
}

.ehp-tournaments__head {
  margin-bottom: 40px;
}

.ehp-tournaments__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ehp-tournament-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ehp-tournament-card:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  transform: translateY(-4px);
}

.ehp-tournament-card__name {
  font-size: 20px;
  font-weight: 700;
  color: #1d1d1f;
}

.ehp-tournament-card__desc {
  font-size: 14px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
}

.ehp-tournaments__note {
  margin-top: 28px;
  font-size: 14px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
}

/* --- AUDIENCE --- */
.ehp-audience {
  background: #ffffff;
}

.ehp-audience__head {
  margin-bottom: 40px;
}

.ehp-audience__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ehp-audience-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ehp-audience-card:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  transform: translateY(-4px);
}

.ehp-audience-card__title {
  font-size: 20px;
  font-weight: 600;
  color: #1d1d1f;
}

.ehp-audience-card__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ehp-audience-card__list li {
  font-size: 14px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
}

/* --- SCHEDULE PLACEHOLDER --- */
.ehp-schedule-placeholder {
  background: #f5f5f7;
}

.ehp-schedule-placeholder__panel {
  background: #ffffff;
  border: 1px dashed rgba(0,0,0,0.1);
  border-radius: 24px;
  padding: 48px 40px;
  text-align: center;
}

.ehp-schedule-placeholder__title {
  font-size: 32px;
  font-weight: 600;
  color: #1d1d1f;
  margin-bottom: 12px;
}

.ehp-schedule-placeholder__sub {
  font-size: 16px;
  color: #6e6e73;
  margin-bottom: 20px;
}

.ehp-schedule-placeholder__note {
  font-size: 13px;
  color: #aeaeb2;
  font-style: italic;
}

/* --- FEES TEASER --- */
.ehp-fees {
  background: #ffffff;
}

.ehp-fees__head {
  margin-bottom: 40px;
}

.ehp-fees__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.ehp-fees__table {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ehp-fees__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  gap: 16px;
}

.ehp-fees__row:last-of-type {
  border-bottom: none;
}

.ehp-fees__row-label {
  font-size: 15px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.4;
}

.ehp-fees__row-price {
  font-size: 15px;
  font-weight: 700;
  color: #1d1d1f;
  white-space: nowrap;
  text-align: right;
}

.ehp-fees__link {
  display: inline-block;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  padding-bottom: 2px;
}

.ehp-fees__link:hover {
  border-bottom-color: rgba(0,0,0,0.5);
}

.ehp-fees__cta-box {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ehp-fees__cta-title {
  font-size: 20px;
  font-weight: 600;
  color: #1d1d1f;
}

.ehp-fees__cta-body {
  font-size: 14px;
  color: #6e6e73;
  line-height: 1.5;
}

/* --- LOCATION + CTA --- */
.ehp-location {
  background: #f5f5f7;
}

.ehp-location__card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  padding: 40px;
}

.ehp-location__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.ehp-location__label {
  font-size: 13px;
  font-weight: 500;
  color: #aeaeb2;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.ehp-location__value {
  font-size: 16px;
  font-weight: 400;
  color: #1d1d1f;
  margin-bottom: 20px;
  text-decoration: none;
  display: block;
}

a.ehp-location__value:hover {
  color: #6e6e73;
}

.ehp-location__cta {
  margin-top: 40px;
  text-align: center;
}

/* --- HOME RESPONSIVE --- */
@media (max-width: 900px) {
  .ehp-services__grid,
  .ehp-tournaments__grid,
  .ehp-audience__grid {
    grid-template-columns: 1fr;
  }

  .ehp-stats__card {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 24px;
  }

  .ehp-stats__item + .ehp-stats__item::before {
    display: none;
  }

  .ehp-fees__grid,
  .ehp-location__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ehp-hero__inner {
    grid-template-columns: 1fr;
    padding: 60px 20px;
    gap: 32px;
  }

  .ehp-hero__headline {
    font-size: 40px;
    letter-spacing: -1px;
  }

  .ehp-schedule-card {
    max-width: 100%;
  }

  .ehp-stats__card {
    grid-template-columns: repeat(2, 1fr);
    padding: 20px;
  }

  .ehp-stats__item {
    padding: 12px;
  }

  .ehp-stats__number {
    font-size: 36px;
  }

  .ehp-section-title {
    font-size: 26px;
  }

  .ehp-schedule-placeholder__panel {
    padding: 32px 20px;
  }

  .ehp-schedule-placeholder__title {
    font-size: 24px;
  }

  .ehp-location__card {
    padding: 24px 20px;
  }
}

/* ============================================================
   4. ABOUT PAGE (prefix: .eab-)
   ============================================================ */

/* ---------- Reset & base ---------- */
.eab-page *,
.eab-page *::before,
.eab-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.eab-page {
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  background: #f5f5f7;
  color: #1d1d1f;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}

.eab-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.eab-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.eab-section--white { background: #ffffff; }
.eab-section--gray { background: #f5f5f7; }

.eab-section-divider {
  border: none;
  border-top: 1px solid rgba(0,0,0,0.06);
  margin: 0;
}

.eab-section-title {
  font-size: 32px;
  font-weight: 600;
  color: #1d1d1f;
  letter-spacing: -0.5px;
  line-height: 1.15;
}

.eab-section-intro {
  font-size: 16px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
  margin-top: 8px;
}

.eab-tag {
  display: inline-block;
  background: #f2f2f7;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #6e6e73;
  letter-spacing: 0.2px;
}

.eab-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.eab-btn-ghost {
  display: inline-block;
  background: transparent;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.eab-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.eab-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* --- ABOUT HERO --- */
.eab-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
}

.eab-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%);
  pointer-events: none;
}

.eab-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 80px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  width: 100%;
}

.eab-hero__left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.eab-hero__tag {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.2px;
}

.eab-hero__headline {
  font-size: 48px;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: -1.5px;
  line-height: 1.05;
}

.eab-hero__subtext {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  max-width: 440px;
}

.eab-hero__right { display: flex; justify-content: center; }

.eab-hero-stats {
  background: rgba(255,255,255,0.18);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 24px;
  padding: 32px 28px;
  width: 100%;
  max-width: 360px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.eab-hero-stats__item { display: flex; flex-direction: column; gap: 4px; }

.eab-hero-stats__number {
  font-size: 40px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -1px;
  line-height: 1.0;
}

.eab-hero-stats__label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.2px;
}

/* --- ABOUT STATS BAR --- */
.eab-stats { padding-top: 0; padding-bottom: 80px; background: #f5f5f7; }

.eab-stats__card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 32px 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.eab-stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 24px;
  position: relative;
}

.eab-stats__item + .eab-stats__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 48px;
  width: 1px;
  background: rgba(0,0,0,0.08);
}

.eab-stats__number {
  font-size: 48px;
  font-weight: 700;
  color: #1d1d1f;
  letter-spacing: -1px;
  line-height: 1.0;
}

.eab-stats__label {
  font-size: 14px;
  font-weight: 500;
  color: #6e6e73;
  letter-spacing: 0.35px;
  margin-top: 6px;
}

/* --- ACHIEVEMENTS --- */
.eab-achievements__head { margin-bottom: 40px; }

.eab-achievements__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.eab-achievement-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: box-shadow 0.2s ease;
}

.eab-achievement-card:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
}

.eab-achievement-card__title { font-size: 20px; font-weight: 600; color: #1d1d1f; }
.eab-achievement-card__desc { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.5; }

.eab-achievements__feature {
  margin-top: 24px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.eab-achievements__feature-title { font-size: 18px; font-weight: 600; color: #1d1d1f; }
.eab-achievements__feature-desc { font-size: 14px; color: #6e6e73; }

/* --- GALLERY --- */
.eab-gallery__head { margin-bottom: 40px; }

.eab-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.eab-gallery__item {
  position: relative;
  overflow: hidden;
  background: #f2f2f7;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}

.eab-gallery__item:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.1); }

.eab-gallery__item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 15px;
}

.eab-gallery__item img[src=""] { display: none; }

.eab-gallery__ph {
  font-size: 12px;
  font-weight: 500;
  color: #aeaeb2;
  text-align: center;
  line-height: 1.5;
  pointer-events: none;
  padding: 0 8px;
}

/* --- TIMELINE --- */
.eab-timeline__head { margin-bottom: 40px; }

.eab-timeline { position: relative; padding-left: 32px; }

.eab-timeline::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: rgba(0,0,0,0.1);
}

.eab-tl-item {
  position: relative;
  padding: 0 0 32px 24px;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.eab-tl-item.is-visible { opacity: 1; transform: translateX(0); }

.eab-tl-item::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 8px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0,0,0,0.12);
  border: 2px solid rgba(0,0,0,0.08);
}

.eab-tl-item:last-child { padding-bottom: 0; }

.eab-tl-item__year {
  display: inline-block;
  background: #f2f2f7;
  border: none;
  border-radius: 9999px;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 500;
  color: #6e6e73;
  margin-bottom: 8px;
}

.eab-tl-item__text {
  font-size: 16px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
}

/* --- PILLARS --- */
.eab-pillars__head { margin-bottom: 40px; }

.eab-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.eab-pillar-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-bottom: 2px solid rgba(0,0,0,0.1);
}

.eab-pillar-card__title { font-size: 20px; font-weight: 700; color: #1d1d1f; }
.eab-pillar-card__body { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.5; }

/* --- FEDERATION --- */
.eab-federation { background: #f5f5f7; }

.eab-federation__band {
  background: #f2f2f7;
  border-radius: 16px;
  padding: 24px 40px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.eab-federation__title { font-size: 18px; font-weight: 600; color: #1d1d1f; }
.eab-federation__sub { font-size: 14px; font-weight: 400; color: #6e6e73; }

/* --- CTA --- */
.eab-cta { background: #f5f5f7; }

.eab-cta__card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  padding: 48px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
}

.eab-cta__title {
  font-size: 32px;
  font-weight: 600;
  color: #1d1d1f;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.eab-cta__sub { font-size: 16px; font-weight: 400; color: #6e6e73; line-height: 1.5; }

.eab-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  white-space: nowrap;
}

/* --- MAP --- */
.eab-map { background: #f5f5f7; }

.eab-map__address {
  font-size: 16px;
  font-weight: 400;
  color: #6e6e73;
  margin-bottom: 20px;
}

/* --- ABOUT RESPONSIVE --- */
@media (max-width: 900px) {
  .eab-achievements__grid,
  .eab-pillars__grid,
  .eab-gallery__grid {
    grid-template-columns: 1fr;
  }

  .eab-stats__card {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 24px;
  }

  .eab-stats__item + .eab-stats__item::before { display: none; }
  .eab-cta__card { grid-template-columns: 1fr; }
  .eab-cta__actions { flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 640px) {
  .eab-hero__inner {
    grid-template-columns: 1fr;
    padding: 60px 20px;
    gap: 32px;
  }

  .eab-hero__headline { font-size: 36px; letter-spacing: -0.5px; }
  .eab-hero-stats { max-width: 100%; }

  .eab-stats__card { grid-template-columns: repeat(2, 1fr); padding: 20px; }
  .eab-stats__item { padding: 12px; }
  .eab-stats__number { font-size: 36px; }
  .eab-section-title { font-size: 26px; }

  .eab-timeline { padding-left: 0; }
  .eab-timeline::before { display: none; }
  .eab-tl-item { padding-left: 0; }
  .eab-tl-item::before { display: none; }

  .eab-achievements__grid,
  .eab-pillars__grid { grid-template-columns: 1fr; }
  .eab-gallery__grid { grid-template-columns: repeat(2, 1fr); }
  .eab-federation__band { padding: 20px 24px; }
  .eab-cta__card { padding: 32px 24px; }
  .eab-cta__title { font-size: 24px; }
}

/* ============================================================
   5. TRAINING HUB (prefix: .etn-)
   ============================================================ */

.etn-page *,
.etn-page *::before,
.etn-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.etn-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.etn-reveal.is-visible { opacity: 1; transform: translateY(0); }

.etn-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.etn-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.etn-btn-dark:hover { background: #3a3a3c; color: #ffffff; text-decoration: none; }

.etn-btn-dark-sm {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  align-self: flex-start;
}
.etn-btn-dark-sm:hover { background: #3a3a3c; color: #ffffff; text-decoration: none; }

.etn-btn-ghost-light {
  display: inline-block;
  background: transparent;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.etn-btn-ghost-light:hover { background: rgba(0,0,0,0.05); color: #1d1d1f; text-decoration: none; }

.etn-btn-ghost-light-sm {
  display: inline-block;
  background: transparent;
  color: #6e6e73;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 9999px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.etn-btn-ghost-light-sm:hover { background: rgba(0,0,0,0.05); color: #1d1d1f; text-decoration: none; }

.etn-btn-ghost-hero {
  display: inline-block;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.etn-btn-ghost-hero:hover { background: rgba(255,255,255,0.12); color: #ffffff; text-decoration: none; }

.etn-hero-chip {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 20px;
}

.etn-section-chip {
  display: inline-block;
  background: #f2f2f7;
  color: #6e6e73;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.etn-hero {
  background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 40px;
  position: relative;
  overflow: hidden;
}

.etn-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%);
  pointer-events: none;
}

.etn-hero-inner {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.etn-hero-headline {
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -1.5px;
  color: #ffffff;
  line-height: 1.1;
  margin-bottom: 16px;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.etn-hero-sub {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  margin-bottom: 28px;
  max-width: 520px;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.etn-hero-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.etn-section-white { padding: 80px 0; background-color: #ffffff; }
.etn-section-gray { padding: 80px 0; background-color: #f5f5f7; }

.etn-section-title {
  font-size: 32px;
  font-weight: 700;
  color: #1d1d1f;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 32px;
  letter-spacing: -0.5px;
}

/* --- FORMAT CARDS --- */
.etn-formats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

.etn-format-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 32px;
  display: flex;
  flex-direction: column;
  color: #1d1d1f;
}

.etn-format-card-tag {
  display: inline-block;
  background: #f2f2f7;
  color: #6e6e73;
  border-radius: 9999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 18px;
  align-self: flex-start;
}

.etn-format-card-title {
  font-size: 24px;
  font-weight: 700;
  color: #1d1d1f;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 6px;
  letter-spacing: -0.3px;
}

.etn-format-schedule {
  font-size: 13px;
  font-weight: 500;
  color: #6e6e73;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 16px;
}

.etn-format-body {
  font-size: 15px;
  font-weight: 400;
  color: #6e6e73;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  line-height: 1.55;
  margin-bottom: 24px;
  flex: 1;
}

.etn-format-divider { height: 1px; background: rgba(0,0,0,0.07); margin-bottom: 16px; }

.etn-format-pricing {
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1f;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 20px;
  line-height: 1.5;
}

.etn-format-trainer {
  font-size: 13px;
  font-weight: 400;
  color: #aeaeb2;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-top: 14px;
}

/* --- WHY SPORT --- */
.etn-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.etn-why-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 28px;
  color: #1d1d1f;
}

.etn-why-title { font-size: 16px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 10px; }
.etn-why-desc { font-size: 14px; font-weight: 400; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.55; }

/* --- MEMBERSHIP NOTE --- */
.etn-membership-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 32px;
  color: #1d1d1f;
}

.etn-membership-title { font-size: 20px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 12px; }

.etn-legal-note {
  background: #fef9ee;
  border-left: 3px solid #e8a020;
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 13px;
  color: #6e6e73;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  line-height: 1.6;
  margin-bottom: 16px;
}

/* --- TOURNAMENTS STRIP --- */
.etn-tournaments-strip {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  color: #1d1d1f;
}

.etn-tournaments-title { font-size: 16px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 4px; }
.etn-tournaments-sub { font-size: 14px; font-weight: 400; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

/* --- CTA + MAP --- */
.etn-cta-map { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }

.etn-cta-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  color: #1d1d1f;
}

.etn-cta-headline { font-size: 24px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; letter-spacing: -0.3px; line-height: 1.2; }
.etn-cta-sub { font-size: 15px; font-weight: 400; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }
.etn-cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }

.etn-map-wrap {
  border-radius: 24px;
  overflow: hidden;
  min-height: 280px;
  position: relative;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.etn-map-wrap iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }

/* --- TRAINING RESPONSIVE --- */
@media (max-width: 900px) {
  .etn-hero { padding: 60px 24px; }
  .etn-hero-headline { font-size: 36px; letter-spacing: -1px; }
  .etn-formats-grid { grid-template-columns: 1fr; }
  .etn-why-grid { grid-template-columns: 1fr; }
  .etn-cta-map { grid-template-columns: 1fr; }
  .etn-tournaments-strip { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
  .etn-hero {
    min-height: auto;
    padding: 56px 20px;
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .etn-hero-inner { align-items: flex-start; text-align: left; }
  .etn-hero-headline { font-size: 32px; letter-spacing: -0.8px; }
  .etn-hero-buttons { justify-content: flex-start; }
  .etn-section-white,
  .etn-section-gray { padding: 60px 0; }
  .etn-section-title { font-size: 26px; }
  .etn-membership-card { padding: 24px 20px; }
  .etn-tournaments-strip { padding: 20px 24px; }
  .etn-cta-card { padding: 28px 24px; }
  .etn-cta-buttons { flex-direction: column; align-items: flex-start; }
  .etn-format-card { padding: 24px 20px; }
  .etn-why-card { padding: 24px 20px; }
}

/* ============================================================
   6. CHILDREN PAGE (prefix: .ekd-)
   ============================================================ */

.ekd-page *,
.ekd-page *::before,
.ekd-page *::after { box-sizing: border-box; margin: 0; padding: 0; }

.ekd-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.ekd-reveal.is-visible { opacity: 1; transform: translateY(0); }

.ekd-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }

.ekd-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.ekd-btn-dark:hover { background: #3a3a3c; color: #ffffff; text-decoration: none; }

.ekd-btn-ghost-light {
  display: inline-block;
  background: transparent;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ekd-btn-ghost-light:hover { background: rgba(0,0,0,0.05); color: #1d1d1f; text-decoration: none; }

.ekd-btn-ghost-hero {
  display: inline-block;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ekd-btn-ghost-hero:hover { background: rgba(255,255,255,0.12); color: #ffffff; text-decoration: none; }

.ekd-hero-chip {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  margin-bottom: 20px;
}

.ekd-section-chip {
  display: inline-block;
  background: #f2f2f7;
  color: #6e6e73;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.ekd-hero {
  background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
  min-height: 55vh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  position: relative;
}

.ekd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%);
  pointer-events: none;
}

.ekd-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.ekd-hero-headline {
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -1.5px;
  color: #ffffff;
  line-height: 1.1;
  margin-bottom: 20px;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.ekd-hero-sub {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  margin-bottom: 32px;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

.ekd-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.ekd-hero-card {
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 24px;
  padding: 32px;
  color: #ffffff;
}

.ekd-hero-day { font-size: 28px; font-weight: 700; color: #ffffff; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 8px; }
.ekd-hero-time { font-size: 18px; font-weight: 400; color: rgba(255,255,255,0.85); font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 16px; }
.ekd-hero-trainer { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.7); font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

.ekd-section-white { padding: 80px 0; background-color: #ffffff; }
.ekd-section-gray { padding: 80px 0; background-color: #f5f5f7; }
.ekd-section-title { font-size: 32px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 48px; }

.ekd-grid-2x2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

.ekd-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  color: #1d1d1f;
  transition: box-shadow 0.2s ease;
}
.ekd-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.1); }

.ekd-card-title { font-size: 18px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 10px; }
.ekd-card-desc { font-size: 14px; font-weight: 400; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }

/* --- SCHEDULE --- */
.ekd-schedule-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  color: #1d1d1f;
}

.ekd-schedule-col-title { font-size: 13px; font-weight: 500; color: #aeaeb2; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 16px; }

.ekd-day-pill { background: #f2f2f7; border-radius: 12px; padding: 14px 18px; margin-bottom: 10px; }
.ekd-day-pill-name { font-size: 15px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ekd-day-pill-time { font-size: 13px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-top: 2px; }

.ekd-detail-row { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
.ekd-detail-row:first-of-type { border-top: 1px solid rgba(0,0,0,0.06); }
.ekd-detail-label { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ekd-detail-value { font-size: 14px; font-weight: 500; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

/* --- PRICING --- */
.ekd-pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }

.ekd-price-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 32px; color: #1d1d1f; }
.ekd-price-label { font-size: 16px; font-weight: 500; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 16px; }
.ekd-price-amount { font-size: 40px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1; margin-bottom: 12px; }
.ekd-price-note { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; margin-bottom: 8px; }
.ekd-price-footnote { font-size: 12px; color: #aeaeb2; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

.ekd-legal-note {
  background: #fef9ee;
  border-left: 3px solid #e8a020;
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 13px;
  color: #6e6e73;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  line-height: 1.6;
  margin-bottom: 16px;
}

.ekd-trial-note { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

/* --- FAQ --- */
.ekd-faq-list { display: flex; flex-direction: column; gap: 8px; }
.ekd-faq-list details { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 12px; padding: 0; overflow: hidden; }
.ekd-faq-list summary { padding: 16px 20px; cursor: pointer; font-size: 15px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; list-style: none; display: flex; justify-content: space-between; align-items: center; user-select: none; }
.ekd-faq-list summary::-webkit-details-marker { display: none; }
.ekd-faq-list summary::marker { display: none; }
.ekd-faq-list summary::after { content: '+'; font-size: 18px; font-weight: 400; color: #aeaeb2; flex-shrink: 0; margin-left: 12px; }
.ekd-faq-list details[open] summary::after { content: '\2212'; }
.ekd-faq-answer { padding: 14px 20px 16px; font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.6; border-top: 1px solid rgba(0,0,0,0.06); }

/* --- CTA BLOCK --- */
.ekd-cta-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 40px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 56px 48px;
  text-align: center;
  color: #1d1d1f;
}

.ekd-cta-title { font-size: 28px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 12px; }
.ekd-cta-sub { font-size: 16px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 32px; line-height: 1.5; }
.ekd-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* --- MAP --- */
.ekd-map-label { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 12px; }

/* --- CHILDREN RESPONSIVE --- */
@media (max-width: 640px) {
  .ekd-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .ekd-hero-headline { font-size: 32px; letter-spacing: -1px; }
  .ekd-grid-2x2 { grid-template-columns: 1fr; }
  .ekd-schedule-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .ekd-pricing-grid { grid-template-columns: 1fr; }
  .ekd-cta-card { padding: 40px 24px; border-radius: 24px; }
}

/* ============================================================
   7. ADULTS PAGE (prefix: .ead-)
   ============================================================ */

.ead-page *,
.ead-page *::before,
.ead-page *::after { box-sizing: border-box; margin: 0; padding: 0; }

.ead-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.ead-reveal.is-visible { opacity: 1; transform: translateY(0); }

.ead-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }

.ead-btn-dark {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.ead-btn-dark:hover { background: #3a3a3c; color: #ffffff; text-decoration: none; }

.ead-btn-ghost-light {
  display: inline-block;
  background: transparent;
  color: #1d1d1f;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ead-btn-ghost-light:hover { background: rgba(0,0,0,0.05); color: #1d1d1f; text-decoration: none; }

.ead-btn-ghost-hero {
  display: inline-block;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ead-btn-ghost-hero:hover { background: rgba(255,255,255,0.12); color: #ffffff; text-decoration: none; }

.ead-pill-link {
  display: inline-block;
  background: #1d1d1f;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ead-pill-link:hover { background: #3a3a3c; color: #ffffff; text-decoration: none; }

.ead-hero-chip { display: inline-block; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #ffffff; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 20px; }
.ead-section-chip { display: inline-block; background: #f2f2f7; color: #6e6e73; border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 24px; }

.ead-hero {
  background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%);
  min-height: 55vh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  position: relative;
}

.ead-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%); pointer-events: none; }

.ead-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ead-hero-headline { font-size: 48px; font-weight: 400; letter-spacing: -1.5px; color: #ffffff; line-height: 1.1; margin-bottom: 20px; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ead-hero-sub { font-size: 16px; font-weight: 400; color: rgba(255,255,255,0.85); line-height: 1.5; margin-bottom: 32px; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ead-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.ead-hero-card { background: rgba(255,255,255,0.18); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.35); border-radius: 24px; padding: 32px; color: #ffffff; }
.ead-hero-card-label { font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.7); font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 16px; }

.ead-schedule-row { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
.ead-schedule-row:first-of-type { border-top: 1px solid rgba(255,255,255,0.2); }
.ead-schedule-day { font-size: 16px; font-weight: 600; color: #ffffff; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ead-schedule-time { font-size: 14px; color: rgba(255,255,255,0.8); font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }

.ead-section-white { padding: 80px 0; background-color: #ffffff; }
.ead-section-gray { padding: 80px 0; background-color: #f5f5f7; }
.ead-section-title { font-size: 32px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 48px; }

.ead-grid-2x2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.ead-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; padding: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); color: #1d1d1f; transition: box-shadow 0.2s ease; }
.ead-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.1); }
.ead-card-title { font-size: 18px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 10px; }
.ead-card-desc { font-size: 14px; font-weight: 400; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }

/* --- SCHEDULE BLOCK --- */
.ead-sched-block { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 40px; color: #1d1d1f; }
.ead-sched-chip-wrap { margin-bottom: 24px; }
.ead-sched-row { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
.ead-sched-row:first-of-type { border-top: 1px solid rgba(0,0,0,0.06); }
.ead-sched-day { font-size: 18px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ead-sched-time { font-size: 16px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.ead-sched-footer { font-size: 13px; color: #aeaeb2; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-top: 20px; }

/* --- PRICING --- */
.ead-pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.ead-price-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 32px; color: #1d1d1f; }
.ead-price-label { font-size: 16px; font-weight: 500; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 16px; }
.ead-price-amount { font-size: 40px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1; margin-bottom: 12px; }
.ead-price-note { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }

.ead-legal-note { background: #fef9ee; border-left: 3px solid #e8a020; border-radius: 12px; padding: 16px 20px; font-size: 13px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.6; margin-bottom: 16px; }
.ead-pricing-link { font-size: 14px; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; text-decoration: underline; }
.ead-pricing-link:hover { color: #3a3a3c; text-decoration: underline; }

/* --- TOURNAMENTS TEASER --- */
.ead-tournament-strip { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 32px 40px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; color: #1d1d1f; }
.ead-tournament-header { font-size: 20px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 8px; }
.ead-tournament-desc { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }

/* --- FAQ --- */
.ead-faq-list { display: flex; flex-direction: column; gap: 8px; }
.ead-faq-list details { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 12px; padding: 0; overflow: hidden; }
.ead-faq-list summary { padding: 16px 20px; cursor: pointer; font-size: 15px; font-weight: 600; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; list-style: none; display: flex; justify-content: space-between; align-items: center; user-select: none; }
.ead-faq-list summary::-webkit-details-marker { display: none; }
.ead-faq-list summary::marker { display: none; }
.ead-faq-list summary::after { content: '+'; font-size: 18px; font-weight: 400; color: #aeaeb2; flex-shrink: 0; margin-left: 12px; }
.ead-faq-list details[open] summary::after { content: '\2212'; }
.ead-faq-answer { padding: 14px 20px 16px; font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; line-height: 1.6; border-top: 1px solid rgba(0,0,0,0.06); }

/* --- CTA --- */
.ead-cta-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 40px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 56px 48px; text-align: center; color: #1d1d1f; }
.ead-cta-title { font-size: 28px; font-weight: 700; color: #1d1d1f; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 12px; }
.ead-cta-sub { font-size: 16px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 32px; line-height: 1.5; }
.ead-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* --- MAP --- */
.ead-map-label { font-size: 14px; color: #6e6e73; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; margin-bottom: 12px; }

/* --- ADULTS RESPONSIVE --- */
@media (max-width: 640px) {
  .ead-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .ead-hero-headline { font-size: 32px; letter-spacing: -1px; }
  .ead-grid-2x2 { grid-template-columns: 1fr; }
  .ead-pricing-grid { grid-template-columns: 1fr; }
  .ead-sched-block { padding: 24px; }
  .ead-tournament-strip { padding: 24px; flex-direction: column; align-items: flex-start; }
  .ead-cta-card { padding: 40px 24px; border-radius: 24px; }
}

/* ============================================================
   8. TOURNAMENT PAGE (prefix: .etp-)
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

.etp-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.etp-reveal.is-visible { opacity: 1; transform: translateY(0); }

.etp-tag-hero { display: inline-flex; align-items: center; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #ffffff; letter-spacing: 0.35px; margin-bottom: 20px; }
.etp-tag-section { display: inline-flex; align-items: center; background: #f2f2f7; border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #6e6e73; letter-spacing: 0.35px; }

.etp-btn-dark { display: inline-flex; align-items: center; gap: 6px; background: #1d1d1f; color: #ffffff; border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: opacity 0.2s ease; border: none; white-space: nowrap; }
.etp-btn-dark:hover { opacity: 0.82; }

.etp-btn-ghost-hero { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #ffffff; border: 1px solid rgba(255,255,255,0.35); border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: background 0.2s ease; white-space: nowrap; }
.etp-btn-ghost-hero:hover { background: rgba(255,255,255,0.12); }

.etp-btn-ghost-light { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #1d1d1f; border: 1px solid rgba(0,0,0,0.15); border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: border-color 0.2s ease, background 0.2s ease; white-space: nowrap; }
.etp-btn-ghost-light:hover { border-color: rgba(0,0,0,0.28); background: rgba(0,0,0,0.04); }

/* --- HERO --- */
.etp-hero { background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%); min-height: 55vh; padding: 72px 40px; position: relative; overflow: hidden; display: flex; align-items: center; }
.etp-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%); pointer-events: none; }
.etp-hero-inner { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.etp-hero-headline { font-size: 48px; font-weight: 400; letter-spacing: -1.5px; color: #ffffff; line-height: 1.1; margin-bottom: 16px; }
.etp-hero-sub { font-size: 16px; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,0.85); margin-bottom: 28px; max-width: 460px; }
.etp-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.etp-hero-card { background: rgba(255,255,255,0.18); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.35); border-radius: 24px; padding: 28px; color: #ffffff; }
.etp-hero-card-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.18); }
.etp-hero-card-row:first-child { padding-top: 0; }
.etp-hero-card-row:last-child { border-bottom: none; padding-bottom: 0; }
.etp-hero-card-name { font-size: 16px; font-weight: 600; color: #ffffff; }
.etp-hero-card-time { font-size: 14px; font-weight: 400; color: rgba(255,255,255,0.75); text-align: center; flex: 1; }
.etp-hero-card-price { font-size: 16px; font-weight: 700; color: #ffffff; text-align: right; white-space: nowrap; }
.etp-hero-card-footer { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.18); font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.7); text-align: center; }

/* --- STATS STRIP --- */
.etp-stats-wrap { background: #f5f5f7; padding: 60px 40px; }
.etp-stats-inner { max-width: 1200px; margin: 0 auto; }
.etp-stats-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; }
.etp-stat-item { padding: 32px 28px; border-right: 1px solid rgba(0,0,0,0.08); display: flex; flex-direction: column; gap: 6px; }
.etp-stat-item:last-child { border-right: none; }
.etp-stat-num { font-size: 48px; font-weight: 700; color: #1d1d1f; letter-spacing: -1px; line-height: 1; }
.etp-stat-num-static { font-size: 32px; font-weight: 700; color: #1d1d1f; letter-spacing: -0.5px; line-height: 1.1; }
.etp-stat-label { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.4; }

/* --- CONTENT AREA --- */
.etp-content { max-width: 1200px; margin: 0 auto; padding: 0 40px 80px; display: flex; flex-direction: column; gap: 80px; }
.etp-section-title { font-size: 32px; font-weight: 700; color: #1d1d1f; margin-bottom: 32px; letter-spacing: -0.5px; }
.etp-section-bg-light { background: #f5f5f7; padding: 80px 40px; }
.etp-section-bg-white { background: #ffffff; padding: 80px 40px; }

/* --- TOURNAMENT CARDS --- */
.etp-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.etp-t-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 24px; display: flex; flex-direction: column; color: #1d1d1f; transition: box-shadow 0.2s ease, transform 0.2s ease; }

.etp-t-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06); transform: translateY(-4px); }
.etp-t-card-tag { display: inline-flex; align-items: center; background: #f2f2f7; border-radius: 9999px; padding: 5px 12px; font-size: 12px; font-weight: 500; color: #6e6e73; margin-bottom: 16px; align-self: flex-start; }
.etp-t-card-title { font-size: 24px; font-weight: 700; color: #1d1d1f; margin-bottom: 12px; letter-spacing: -0.3px; }
.etp-t-card-body { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.55; margin-bottom: 20px; flex: 1; }
.etp-t-card-divider { height: 1px; background: rgba(0,0,0,0.08); margin-bottom: 14px; }
.etp-t-card-pricing { font-size: 14px; font-weight: 500; color: #1d1d1f; margin-bottom: 8px; }
.etp-t-card-legal { font-size: 12px; font-weight: 400; color: #aeaeb2; line-height: 1.4; }

/* --- SCHEDULE --- */
.etp-schedule-panel { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 40px; }
.etp-schedule-table { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.etp-schedule-table th { font-size: 11px; font-weight: 500; color: #6e6e73; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; padding: 12px 16px; background: #f2f2f7; }
.etp-schedule-table th:first-child { border-radius: 8px 0 0 8px; }
.etp-schedule-table th:last-child { border-radius: 0 8px 8px 0; }
.etp-schedule-table td { font-size: 15px; font-weight: 400; color: #1d1d1f; padding: 14px 16px; border-bottom: 1px solid rgba(0,0,0,0.06); vertical-align: middle; background: #ffffff; }
.etp-schedule-table tr:last-child td { border-bottom: none; }
.etp-schedule-table td:first-child { font-weight: 500; color: #1d1d1f; }
.etp-schedule-table td:nth-child(2) { font-weight: 600; color: #1d1d1f; }
.etp-schedule-note { font-size: 12px; font-weight: 400; color: #aeaeb2; margin-top: 8px; }

/* --- STEPS --- */
.etp-steps-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 40px; }
.etp-steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.etp-step { padding: 0 32px 0 0; border-right: 1px solid rgba(0,0,0,0.08); margin-right: 32px; }
.etp-step:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.etp-step-ordinal { font-size: 13px; font-weight: 500; color: #aeaeb2; letter-spacing: 0.5px; margin-bottom: 10px; display: block; }
.etp-step-title { font-size: 18px; font-weight: 600; color: #1d1d1f; margin-bottom: 8px; }
.etp-step-desc { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.55; }

/* --- LEGAL NOTE --- */
.etp-legal-panel { background: #fef9ee; border-left: 3px solid #e8a020; border-radius: 12px; padding: 16px 20px; }
.etp-legal-label { font-size: 12px; font-weight: 600; color: #e8a020; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 8px; }
.etp-legal-text { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.65; }

/* --- FAQ --- */
.etp-faq { display: flex; flex-direction: column; gap: 8px; }
.etp-faq details { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 12px; overflow: hidden; }
.etp-faq summary { list-style: none; cursor: pointer; padding: 16px 20px; font-size: 15px; font-weight: 600; color: #1d1d1f; display: flex; align-items: center; justify-content: space-between; gap: 16px; user-select: none; -webkit-user-select: none; }
.etp-faq summary::-webkit-details-marker { display: none; }
.etp-faq summary::after { content: '+'; font-size: 20px; font-weight: 300; color: #aeaeb2; flex-shrink: 0; line-height: 1; }
.etp-faq details[open] summary::after { content: '\2212'; }
.etp-faq-answer { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.6; padding: 0 20px 16px; }

/* --- CTA + MAP --- */
.etp-cta-map { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.etp-cta-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 40px 36px; display: flex; flex-direction: column; justify-content: center; gap: 16px; color: #1d1d1f; }
.etp-cta-headline { font-size: 24px; font-weight: 600; color: #1d1d1f; letter-spacing: -0.3px; line-height: 1.2; }
.etp-cta-sub { font-size: 15px; font-weight: 400; color: #6e6e73; line-height: 1.5; }
.etp-cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.etp-map-wrap { border-radius: 24px; overflow: hidden; min-height: 280px; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.etp-map-wrap iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }

/* --- TOURNAMENT RESPONSIVE --- */
@media (max-width: 1024px) {
  .etp-cards-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .etp-hero { padding: 60px 24px; }
  .etp-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .etp-hero-headline { font-size: 36px; letter-spacing: -1px; }
  .etp-stats-wrap { padding: 48px 24px; }
  .etp-stats-card { grid-template-columns: 1fr 1fr; }
  .etp-stat-item:nth-child(2) { border-right: none; }
  .etp-stat-item:nth-child(3) { border-top: 1px solid rgba(0,0,0,0.08); }
  .etp-stat-item:nth-child(4) { border-top: 1px solid rgba(0,0,0,0.08); }
  .etp-content { padding: 0 24px 60px; }
  .etp-section-bg-light { padding: 60px 24px; }
  .etp-section-bg-white { padding: 60px 24px; }
  .etp-cta-map { grid-template-columns: 1fr; }
  .etp-steps-grid { grid-template-columns: 1fr; gap: 28px; }
  .etp-step { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.08); margin-right: 0; padding-right: 0; padding-bottom: 28px; }
  .etp-step:last-child { border-bottom: none; padding-bottom: 0; }
  .etp-steps-card { padding: 28px 24px; }
  .etp-schedule-panel { padding: 28px 24px; }
}

@media (max-width: 640px) {
  .etp-hero { min-height: auto; padding: 48px 20px; }
  .etp-hero-headline { font-size: 32px; letter-spacing: -0.8px; }
  .etp-stats-wrap { padding: 40px 20px; }
  .etp-stat-num { font-size: 36px; }
  .etp-stat-num-static { font-size: 26px; }
  .etp-content { padding: 0 20px 48px; gap: 60px; }
  .etp-section-bg-light { padding: 48px 20px; }
  .etp-cards-grid { grid-template-columns: 1fr; }
  .etp-section-title { font-size: 26px; }
  .etp-schedule-table th, .etp-schedule-table td { font-size: 13px; padding: 10px 12px; }
  .etp-legal-panel { padding: 14px 16px; }
  .etp-cta-card { padding: 28px 24px; }
  .etp-cta-buttons { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   9. FEES PAGE (prefix: .efp-)
   ============================================================ */

.efp-page *,
.efp-page *::before,
.efp-page *::after { box-sizing: border-box; margin: 0; padding: 0; }

.efp-page { font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; background: #f5f5f7; color: #1d1d1f; -webkit-font-smoothing: antialiased; isolation: isolate; }

.efp-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.efp-reveal.is-visible { opacity: 1; transform: translateY(0); }

.efp-tag { display: inline-flex; align-items: center; background: #f2f2f7; border: 1px solid rgba(0,0,0,0.06); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #6e6e73; letter-spacing: 0.35px; }
.efp-hero-tag-pill { display: inline-flex; align-items: center; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #ffffff; letter-spacing: 0.35px; }
.efp-hero-chip { display: inline-flex; align-items: center; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.25); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #ffffff; }

.efp-btn-dark { display: inline-flex; align-items: center; gap: 6px; background: #1d1d1f; color: #ffffff; border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: opacity 0.2s ease; border: none; white-space: nowrap; }
.efp-btn-dark:hover { opacity: 0.85; }

.efp-btn-ghost { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #1d1d1f; border: 1px solid rgba(0,0,0,0.15); border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: background 0.2s ease; white-space: nowrap; }
.efp-btn-ghost:hover { background: rgba(0,0,0,0.04); }

.efp-btn-ghost-sm { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #6e6e73; border: 1px solid rgba(0,0,0,0.12); border-radius: 9999px; padding: 8px 16px; font-size: 13px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: color 0.2s ease, border-color 0.2s ease; }
.efp-btn-ghost-sm:hover { color: #1d1d1f; border-color: rgba(0,0,0,0.25); }

/* --- HERO --- */
.efp-hero { background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%); padding: 60px 40px; position: relative; overflow: hidden; }
.efp-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%); pointer-events: none; }
.efp-hero-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.efp-hero-tag { margin-bottom: 20px; }
.efp-hero-headline { font-size: 48px; font-weight: 400; letter-spacing: -1.5px; color: #ffffff; line-height: 1.1; margin-bottom: 20px; }
.efp-hero-sub { font-size: 16px; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,0.85); margin-bottom: 28px; max-width: 580px; }
.efp-hero-chips { display: flex; gap: 10px; flex-wrap: wrap; }

/* --- CONTENT --- */
.efp-content { max-width: 1200px; margin: 0 auto; padding: 80px 24px; display: flex; flex-direction: column; gap: 80px; }

/* --- TWO-COL --- */
.efp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }

.efp-fee-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04); padding: 32px 28px; display: flex; flex-direction: column; gap: 0; height: 100%; }
.efp-fee-eyebrow { margin-bottom: 12px; }
.efp-fee-card-title { font-size: 20px; font-weight: 600; color: #1d1d1f; margin-bottom: 24px; }
.efp-divider-label { font-size: 12px; font-weight: 500; color: #aeaeb2; letter-spacing: 0.5px; text-transform: uppercase; padding: 10px 0 8px; border-top: 1px solid rgba(0,0,0,0.06); margin-top: 8px; }

.efp-fee-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,0.05); }
.efp-fee-row:last-of-type { border-bottom: none; }
.efp-fee-label { font-size: 15px; font-weight: 400; color: #6e6e73; line-height: 1.4; flex: 1; }
.efp-fee-label small { display: block; font-size: 12px; color: #aeaeb2; margin-top: 2px; }
.efp-fee-price { display: flex; align-items: baseline; gap: 3px; flex-shrink: 0; }
.efp-price-num { font-size: 32px; font-weight: 700; color: #1d1d1f; letter-spacing: -0.5px; }
.efp-price-unit { font-size: 14px; font-weight: 400; color: #6e6e73; }

.efp-includes { margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(0,0,0,0.06); flex: 1; }
.efp-includes-label { font-size: 12px; font-weight: 500; color: #aeaeb2; letter-spacing: 0.35px; text-transform: uppercase; margin-bottom: 10px; }
.efp-includes-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.efp-includes-list li { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.4; padding-left: 16px; position: relative; }
.efp-includes-list li::before { content: '—'; position: absolute; left: 0; color: #aeaeb2; font-size: 12px; }
.efp-card-links { margin-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; }

/* --- WHY PANEL --- */
.efp-why-panel { background: #fef9ee; border-left: 3px solid #e8a020; border-radius: 12px; padding: 28px 32px; }
.efp-why-label { font-size: 12px; font-weight: 500; color: #e8a020; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 12px; }
.efp-why-text { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.6; }
.efp-why-text strong { font-weight: 600; color: #1d1d1f; }

/* --- PAYMENT --- */
.efp-payment-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04); padding: 32px 28px; }
.efp-payment-header { font-size: 16px; font-weight: 600; color: #1d1d1f; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,0.06); }
.efp-payment-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.efp-payment-col-title { font-size: 13px; font-weight: 500; color: #aeaeb2; letter-spacing: 0.35px; text-transform: uppercase; margin-bottom: 16px; }
.efp-bank-list { display: flex; flex-direction: column; gap: 10px; }
.efp-bank-row { display: flex; flex-direction: column; gap: 2px; }
.efp-bank-row-label { font-size: 12px; font-weight: 400; color: #aeaeb2; }
.efp-bank-row-value { font-size: 14px; font-weight: 500; color: #1d1d1f; line-height: 1.4; }
.efp-purpose-list { display: flex; flex-direction: column; gap: 14px; }
.efp-purpose-label { font-size: 12px; font-weight: 400; color: #6e6e73; margin-bottom: 6px; }
.efp-purpose-code { display: block; background: #f2f2f7; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; padding: 8px 12px; font-family: 'Courier New', Courier, monospace; font-size: 13px; color: #1d1d1f; line-height: 1.5; word-break: break-word; }

/* --- CTA --- */
.efp-cta { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.efp-cta-text-main { font-size: 20px; font-weight: 600; color: #1d1d1f; margin-bottom: 4px; }
.efp-cta-text-sub { font-size: 14px; font-weight: 400; color: #6e6e73; }
.efp-cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

/* --- FEES RESPONSIVE --- */
@media (max-width: 900px) {
  .efp-hero { padding: 60px 24px; }
  .efp-hero-headline { font-size: 36px; letter-spacing: -1px; }
  .efp-two-col { grid-template-columns: 1fr; }
  .efp-payment-cols { grid-template-columns: 1fr; gap: 28px; }
  .efp-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
  .efp-hero { padding: 48px 20px; }
  .efp-hero-headline { font-size: 32px; letter-spacing: -0.8px; }
  .efp-content { padding: 60px 20px; gap: 60px; }
  .efp-why-panel { padding: 24px 20px; }
  .efp-payment-card { padding: 24px 20px; }
  .efp-cta { padding: 24px 20px; }
  .efp-cta-buttons { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   10. FREEPLAY PAGE (prefix: .ert-)
   Combined from page-freeplay-block1.html & block3.html
   ============================================================ */

.ert-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.ert-reveal.is-visible { opacity: 1; transform: translateY(0); }

.ert-tag-hero { display: inline-flex; align-items: center; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3); border-radius: 9999px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #ffffff; letter-spacing: 0.35px; margin-bottom: 24px; }

.ert-btn-dark { display: inline-flex; align-items: center; gap: 6px; background: #1d1d1f; color: #ffffff; border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: opacity 0.2s ease; border: none; white-space: nowrap; }
.ert-btn-dark:hover { opacity: 0.82; }

.ert-btn-ghost-hero { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #ffffff; border: 1px solid rgba(255,255,255,0.35); border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: background 0.2s ease; white-space: nowrap; }
.ert-btn-ghost-hero:hover { background: rgba(255,255,255,0.12); }

.ert-btn-ghost-light { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #1d1d1f; border: 1px solid rgba(0,0,0,0.15); border-radius: 9999px; padding: 10px 20px; font-size: 15px; font-weight: 500; text-decoration: none; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; transition: border-color 0.2s ease, background 0.2s ease; white-space: nowrap; }
.ert-btn-ghost-light:hover { border-color: rgba(0,0,0,0.28); background: rgba(0,0,0,0.04); }

/* --- HERO --- */
.ert-hero { min-height: 55vh; padding: 80px 24px; background: linear-gradient(180deg, rgb(72,103,175) 0%, rgb(156,175,184) 50%, rgb(196,149,119) 100%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.ert-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 35%, rgba(107,98,242,0.565) 0%, transparent 100%); pointer-events: none; }
.ert-hero-inner { max-width: 1200px; width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; z-index: 1; }
.ert-hero-content { flex: 1; max-width: 600px; }
.ert-hero-headline { font-size: 48px; font-weight: 400; letter-spacing: -1.5px; color: #ffffff; line-height: 1.1; margin-bottom: 20px; }
.ert-hero-sub { font-size: 16px; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,0.85); margin-bottom: 32px; max-width: 480px; }
.ert-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.ert-hero-price { background: rgba(255,255,255,0.18); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.35); border-radius: 24px; padding: 32px 40px; text-align: center; flex-shrink: 0; min-width: 220px; color: #ffffff; }
.ert-price-amount { font-size: 56px; font-weight: 700; color: #ffffff; letter-spacing: -2px; line-height: 1; }
.ert-price-unit { font-size: 20px; font-weight: 400; color: rgba(255,255,255,0.85); margin-left: 4px; }
.ert-price-caption { font-size: 13px; font-weight: 400; color: rgba(255,255,255,0.7); margin-top: 12px; line-height: 1.4; }

/* --- STEPS --- */
.ert-steps-wrap { background: #ffffff; padding: 60px 24px; }
.ert-steps-inner { max-width: 1200px; margin: 0 auto; }
.ert-steps-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 32px 40px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; }

.ert-step { padding: 0 32px; position: relative; }
.ert-step:first-child { padding-left: 0; }
.ert-step:last-child { padding-right: 0; }
.ert-step + .ert-step::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: rgba(0,0,0,0.08); }
.ert-step-ordinal { font-size: 13px; font-weight: 500; color: #aeaeb2; letter-spacing: 0.35px; margin-bottom: 12px; display: block; }
.ert-step-title { font-size: 18px; font-weight: 600; color: #1d1d1f; margin-bottom: 8px; }
.ert-step-body { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.5; }

/* --- PHOTOS --- */
.ert-photos-wrap { background: #f5f5f7; padding: 60px 24px; }
.ert-photos-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.ert-photo-placeholder { position: relative; overflow: hidden; height: 220px; background: #f2f2f7; border-radius: 16px; border: 1px solid rgba(0,0,0,0.06); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: box-shadow 0.2s; }
.ert-photo-placeholder:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.1); }
.ert-photo-placeholder img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 15px; }
.ert-photo-placeholder img[src=""] { display: none; }
.ert-photo-ph { font-size: 12px; font-weight: 500; color: #aeaeb2; text-align: center; line-height: 1.5; pointer-events: none; }

/* --- SCHEDULE HEADER --- */
.ert-schedule-header { background: #ffffff; padding: 60px 24px 40px; }
.ert-schedule-inner { max-width: 1200px; margin: 0 auto; }
.ert-schedule-title { font-size: 32px; font-weight: 700; color: #1d1d1f; letter-spacing: -0.5px; margin-bottom: 12px; }
.ert-schedule-sub { font-size: 16px; font-weight: 400; color: #6e6e73; line-height: 1.5; margin-bottom: 12px; }
.ert-schedule-note { font-size: 14px; font-weight: 400; color: #aeaeb2; letter-spacing: 0.2px; }

/* --- INFO BAR (block3) --- */
.ert-infobar { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 24px 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.ert-info-col { padding: 0 24px; position: relative; }
.ert-info-col:first-child { padding-left: 0; }
.ert-info-col:last-child { padding-right: 0; }
.ert-info-col + .ert-info-col::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: rgba(0,0,0,0.08); }
.ert-info-icon { width: 28px; height: 28px; background: #e8e8ed; border-radius: 8px; margin-bottom: 12px; flex-shrink: 0; }
.ert-info-title { font-size: 14px; font-weight: 500; color: #1d1d1f; margin-bottom: 4px; }
.ert-info-note { font-size: 12px; font-weight: 400; color: #6e6e73; line-height: 1.4; }

/* --- CROSS-LINKS --- */
.ert-crosslinks-title { font-size: 32px; font-weight: 700; color: #1d1d1f; letter-spacing: -0.5px; margin-bottom: 24px; }
.ert-crosslinks-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ert-crosslink-card { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 28px 24px; display: flex; flex-direction: column; justify-content: space-between; min-height: 200px; transition: box-shadow 0.2s ease; color: #1d1d1f; }
.ert-crosslink-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.10); }
.ert-crosslink-card-name { font-size: 20px; font-weight: 600; color: #1d1d1f; margin-bottom: 10px; }
.ert-crosslink-card-body { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.5; }
.ert-crosslink-card-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: #aeaeb2; text-decoration: none; margin-top: 24px; transition: color 0.2s ease; }
.ert-crosslink-card-link:hover { color: #1d1d1f; }

/* --- CTA BAR --- */
.ert-ctabar { background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); padding: 32px 40px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.ert-ctabar-text-main { font-size: 20px; font-weight: 600; color: #1d1d1f; margin-bottom: 6px; }
.ert-ctabar-text-sub { font-size: 14px; font-weight: 400; color: #6e6e73; line-height: 1.5; }
.ert-ctabar-buttons { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* --- MAP --- */
.ert-map-label { font-size: 14px; font-weight: 400; color: #6e6e73; text-align: center; margin-bottom: 16px; }
.ert-map-frame { border-radius: 16px; overflow: hidden; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.ert-map-frame iframe { display: block; width: 100%; height: 280px; border: 0; }

/* --- FREEPLAY RESPONSIVE --- */
@media (max-width: 900px) {
  .ert-hero-inner { flex-direction: column; align-items: flex-start; }
  .ert-hero-price { width: 100%; min-width: 0; }
  .ert-steps-card { grid-template-columns: 1fr; gap: 28px; padding: 28px 24px; }
  .ert-step { padding: 0; }
  .ert-step + .ert-step::before { width: 100%; height: 1px; top: -14px; left: 0; bottom: auto; }
  .ert-photos-inner { grid-template-columns: 1fr; }
  .ert-infobar { grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; }
  .ert-info-col { padding: 0; }
  .ert-info-col + .ert-info-col::before { display: none; }
  .ert-crosslinks-grid { grid-template-columns: 1fr; }
  .ert-ctabar { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 600px) {
  .ert-hero-headline { font-size: 36px; letter-spacing: -1px; }
  .ert-hero { min-height: auto; padding: 60px 20px; }
  .ert-steps-wrap,
  .ert-photos-wrap,
  .ert-schedule-header { padding-left: 20px; padding-right: 20px; }
  .ert-schedule-title { font-size: 26px; }
  .ert-infobar { grid-template-columns: 1fr; gap: 20px; }
  .ert-crosslinks-title { font-size: 26px; }
  .ert-ctabar { padding: 24px 20px; }
  .ert-ctabar-text-main { font-size: 18px; }
  .ert-ctabar-buttons { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   11. EVOTT INTEGRATION — home/tournament rating teasers +
       theme-side re-theming of EvoTT's own plugin-rendered pages
       (/rating/, /tournaments/, /tournament/{slug}/, /player/{slug}/)
   ============================================================ */

/* --- Home page: EvoTT rating teaser (prefix .ehp-rating) --- */
.ehp-rating {
  background: #ffffff;
}

.ehp-rating__head {
  margin-bottom: 40px;
}

.ehp-rating__head .ehp-tag {
  display: inline-block;
  margin-bottom: 12px;
}

.ehp-rating-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ehp-rating-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06);
  transform: translateY(-4px);
}

.ehp-rating-card--solo {
  max-width: 640px;
  margin: 0 auto;
}

.ehp-rating-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 8px 16px;
  align-self: flex-start;
  transition: background 0.2s ease;
}

.ehp-rating-card__link:hover {
  background: rgba(0,0,0,0.04);
}

@media (max-width: 480px) {
  .ehp-rating-card {
    padding: 16px;
  }
}

/* --- Tournament page: EvoTT results teaser (prefix .etp-rating) --- */
.etp-rating__tag {
  display: inline-flex;
  align-items: center;
  background: #f2f2f7;
  border-radius: 9999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #6e6e73;
  margin-bottom: 16px;
}

.etp-rating__intro {
  font-size: 16px;
  font-weight: 400;
  color: #6e6e73;
  line-height: 1.5;
  max-width: 640px;
  margin-bottom: 32px;
}

.etp-rating__inline-link {
  color: #1d1d1f;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.25);
  transition: border-color 0.2s ease;
  white-space: nowrap;
}

.etp-rating__inline-link:hover {
  border-color: rgba(0,0,0,0.6);
}

.etp-rating-results {
  margin-bottom: 24px;
}

.etp-rating__all-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 9999px;
  padding: 8px 16px;
  transition: background 0.2s ease;
}

.etp-rating__all-link:hover {
  background: rgba(0,0,0,0.04);
}

/* --- EvoTT plugin re-theming ---
   evott-public.css's own header comment explicitly invites this:
   "override the --evott-* custom properties below (e.g. in a child
   theme's stylesheet)". !important is used throughout this whole
   block (variables AND selectors) because whether evott-public.css
   prints before or after this stylesheet depends on plugin/theme
   hook-registration order, which can't be controlled without editing
   the plugin's PHP (out of scope) — without !important, a request
   where evott-public.css happens to load after this file would
   silently undo every override below. Semantic success/danger/
   warning/neutral/win/loss/leader tokens are left untouched — they
   don't clash with the theme palette. Bracket/crosstable internals
   are left untouched by design — a full redesign is out of scope. */
:root {
  --evott-accent: #1d1d1f !important;
  --evott-accent-contrast: #ffffff !important;
  --evott-border: rgba(0,0,0,0.08) !important;
  --evott-border-soft: rgba(0,0,0,0.06) !important;
  --evott-bg-alt: #f5f5f7 !important;
  --evott-bg-zebra: #fafafa !important;
  --evott-text: #1d1d1f !important;
  --evott-text-muted: #6e6e73 !important;
  --evott-radius: 24px !important;
}

/* Base container / title / buttons */
.evott-container {
  padding: 48px 24px !important;
}

.evott-page-title {
  font-family: var(--evo-font-primary) !important;
  font-weight: 600 !important;
  letter-spacing: -0.5px !important;
  color: #1d1d1f !important;
}

.evott-btn {
  font-family: var(--evo-font-primary) !important;
  padding: 10px 20px !important;
  border-radius: var(--evo-radius-pill) !important;
  border-color: rgba(0,0,0,0.15) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  transition: background 0.2s ease !important;
}

.evott-btn:hover {
  background: rgba(0,0,0,0.04) !important;
  border-color: rgba(0,0,0,0.15) !important;
}

.evott-btn--secondary {
  background: #1d1d1f !important;
  color: #ffffff !important;
  border-color: #1d1d1f !important;
}

.evott-btn--secondary:hover {
  background: #3a3a3c !important;
  border-color: #3a3a3c !important;
}

/* Tournament cards — /tournaments/ archive + our tournament-page teaser */
.evott-tournament-cards {
  gap: 20px !important;
}

.evott-tournament-card {
  font-family: var(--evo-font-primary) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04) !important;
  padding: 24px !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.evott-tournament-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06) !important;
  transform: translateY(-4px) !important;
}

.evott-tournament-card__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
}

.evott-tournament-card__format-tag {
  font-weight: 500 !important;
}

.evott-status {
  letter-spacing: 0.3px !important;
}

/* Rating table — /rating/ page + home page's top-5 embed */
.evott-rating-table,
.evott-rating-table th,
.evott-rating-table td {
  font-family: var(--evo-font-primary) !important;
}

.evott-rating-table thead th {
  font-size: 12px !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  color: #6e6e73 !important;
}

.evott-player-avatar,
.evott-player-avatar--placeholder {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px rgba(0,0,0,0.08) !important;
}

.evott-col-name a {
  color: #1d1d1f !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color 0.2s ease !important;
}

.evott-col-name a:hover {
  border-bottom-color: rgba(0,0,0,0.3) !important;
}

.evott-change--positive,
.evott-change--negative {
  display: inline-block !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
}

.evott-change--positive {
  background: var(--evott-success-bg) !important;
}

.evott-change--negative {
  background: var(--evott-danger-bg) !important;
}

/* Top-3 rank highlight on the rating table */
.evott-rating-table tbody tr:nth-child(1) .evott-col-rank {
  color: #b8860b !important;
  font-weight: 700 !important;
}

.evott-rating-table tbody tr:nth-child(2) .evott-col-rank {
  color: #8a8a8e !important;
  font-weight: 700 !important;
}

.evott-rating-table tbody tr:nth-child(3) .evott-col-rank {
  color: #a9673a !important;
  font-weight: 700 !important;
}

/* Final placements list — individual /tournament/{slug}/ results page */
.evott-placements-list__item {
  padding: 10px 14px !important;
  margin-bottom: 6px !important;
  border-radius: 12px !important;
  font-family: var(--evo-font-primary) !important;
}

.evott-placements-list__item:nth-child(odd) {
  background: var(--evott-bg-zebra) !important;
}

.evott-placements-list__item a {
  color: #1d1d1f !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color 0.2s ease !important;
}

.evott-placements-list__item a:hover {
  border-bottom-color: rgba(0,0,0,0.3) !important;
}

.evott-placements-list__item:nth-child(1) {
  background: linear-gradient(90deg, rgba(184,134,11,0.14), transparent) !important;
  font-weight: 700 !important;
}

.evott-placements-list__item:nth-child(2) {
  background: linear-gradient(90deg, rgba(138,138,142,0.14), transparent) !important;
}

.evott-placements-list__item:nth-child(3) {
  background: linear-gradient(90deg, rgba(169,103,58,0.14), transparent) !important;
}

/* Mobile fixes for the plugin's own pages */
@media (max-width: 768px) {
  .evott-container {
    padding: 32px 20px !important;
  }
}

@media (max-width: 480px) {
  .evott-container {
    padding: 24px 16px !important;
  }

  .evott-col-matches {
    display: none !important;
  }

  .evott-placements-list__item {
    padding: 8px 10px !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   12. EVOTT INTEGRATION — series pages, points scheme, LIVE mode
       (/series/, /series/{slug}/, /tournament/{slug}/live/)

       Same override contract as section 11 above: !important
       throughout, because the load order of evott-public.css
       relative to this file isn't controllable from the theme.
       Semantic tokens (success/danger/warning/win/loss) are left
       alone — only layout, typography and surface treatment are
       re-themed here.
   ============================================================ */

/* ---------- Series cards (/series/ archive) ---------- */
.evott-series-cards {
  gap: 20px !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
}

.evott-series-card {
  font-family: var(--evo-font-primary) !important;
  padding: 24px !important;
  border-radius: var(--evo-radius-card) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.evott-series-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06) !important;
  transform: translateY(-4px) !important;
}

.evott-series-card__title {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.3px !important;
}

.evott-series-card__meta {
  color: var(--evo-color-text-secondary) !important;
  font-size: 14px !important;
}

.evott-series-card__cta {
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-color-text) !important;
  text-decoration: none !important;
  border: 1px solid rgba(0,0,0,0.15) !important;
  border-radius: var(--evo-radius-pill) !important;
  padding: 8px 16px !important;
  margin-top: 4px !important;
  transition: background 0.2s ease !important;
}

.evott-series-card:hover .evott-series-card__cta {
  background: rgba(0,0,0,0.04) !important;
}

/* ---------- Single series page (/series/{slug}/) ---------- */
.evott-series-page__back,
.evott-tournament-page__back,
.evott-tournament-live__back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--evo-color-text-secondary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.evott-series-page__back:hover,
.evott-tournament-page__back:hover,
.evott-tournament-live__back:hover {
  color: var(--evo-color-text) !important;
}

/* `.evott-series-standings` wraps the standings only in the shortcode/block
   path; templates/series-page.php prints the bare `.evott-table-responsive`,
   so both are given the same card surface. */
.evott-series-standings,
.evott-series-scheme,
.evott-series-page .evott-table-responsive {
  background: var(--evo-color-white) !important;
  border: 1px solid var(--evo-color-border) !important;
  border-radius: var(--evo-radius-card) !important;
  box-shadow: var(--evo-shadow-card) !important;
  padding: 20px 20px 8px !important;
  margin-bottom: 24px !important;
}

/* …but the points-scheme table sits inside its own card already, so its
   responsive wrapper must not become a second nested card. */
.evott-series-page .evott-series-scheme .evott-table-responsive {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.evott-series-standings__title,
.evott-series-scheme__title {
  font-family: var(--evo-font-primary) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.2px !important;
  margin-bottom: 12px !important;
}

.evott-series-table,
.evott-series-table th,
.evott-series-table td,
.evott-series-scheme__table,
.evott-series-scheme__table th,
.evott-series-scheme__table td {
  font-family: var(--evo-font-primary) !important;
}

.evott-series-table thead th,
.evott-series-scheme__table thead th {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  color: var(--evo-color-text-secondary) !important;
}

.evott-series-table .evott-col-total {
  font-weight: 700 !important;
}

/* Top-3 of a series get the same medal accents the rating table uses. */
.evott-series-table tbody tr:nth-child(1) .evott-col-rank { color: #b8860b !important; font-weight: 700 !important; }
.evott-series-table tbody tr:nth-child(2) .evott-col-rank { color: #8a8a8e !important; font-weight: 700 !important; }
.evott-series-table tbody tr:nth-child(3) .evott-col-rank { color: #a9673a !important; font-weight: 700 !important; }

.evott-series-page__status {
  display: inline-flex !important;
  align-items: center !important;
  background: #f2f2f7 !important;
  border-radius: var(--evo-radius-pill) !important;
  padding: 5px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--evo-color-text-secondary) !important;
}

.evott-series-scheme__note {
  color: var(--evo-color-text-secondary) !important;
  font-size: 13px !important;
}

/* ---------- LIVE page (/tournament/{slug}/live/) ----------
   Kept mobile-first and large-type as the plugin designed it — this page is
   read from across the hall. Only the surfaces are re-themed. */
.evott-tournament-live__section-title {
  font-family: var(--evo-font-primary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
  color: var(--evo-color-text-secondary) !important;
}

.evott-live-table {
  border-radius: var(--evo-radius-card) !important;
  border-width: 1px !important;
  box-shadow: var(--evo-shadow-card) !important;
  background: var(--evo-color-white) !important;
  padding: 18px 20px !important;
}

.evott-live-table.is-free {
  background: var(--evo-color-bg) !important;
  box-shadow: none !important;
  border-style: dashed !important;
}

/* A busy table is the thing to spot first: white glass card with the
   accent rail on the left, instead of a flat grey fill. */
.evott-live-table.is-busy {
  border-color: rgba(0,0,0,0.12) !important;
  border-left: 4px solid var(--evo-color-text) !important;
  background: var(--evo-color-white) !important;
}

.evott-live-table__no {
  font-family: var(--evo-font-primary) !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
  padding: 3px 12px !important;
}

.evott-live-table__players {
  font-size: 22px !important;
  letter-spacing: -0.3px !important;
}

.evott-live-queue,
.evott-live-results,
.evott-live-standings {
  background: var(--evo-color-white) !important;
  border: 1px solid var(--evo-color-border) !important;
  border-radius: var(--evo-radius-card) !important;
  box-shadow: var(--evo-shadow-card) !important;
  padding: 8px 16px !important;
}

.evott-live-queue__row,
.evott-live-results__row {
  padding: 12px 0 !important;
}

.evott-live-queue__planned {
  border-radius: var(--evo-radius-pill) !important;
  font-size: 12px !important;
}

.evott-live-results__score {
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
}

/* ---------- Player profile: highlights + stats ---------- */
.evott-highlight-card,
.evott-stats-grid__item,
.evott-player-profile__chart {
  border-radius: var(--evo-radius-card) !important;
  box-shadow: var(--evo-shadow-card) !important;
  border-color: var(--evo-color-border) !important;
}

.evott-highlight-card h3 {
  font-family: var(--evo-font-primary) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  color: var(--evo-color-text-secondary) !important;
}

.evott-stats-grid__item dt {
  font-size: 12px !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  color: var(--evo-color-text-secondary) !important;
}

.evott-stats-grid__item dd {
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
}

.evott-form-badge {
  border-radius: var(--evo-radius-xs) !important;
  font-weight: 700 !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 480px) {
  .evott-series-cards {
    grid-template-columns: 1fr !important;
  }

  .evott-series-card {
    padding: 18px !important;
  }

  .evott-series-standings,
  .evott-series-scheme,
  .evott-series-page .evott-table-responsive,
  .evott-live-queue,
  .evott-live-results,
  .evott-live-standings {
    padding: 14px 12px 4px !important;
    border-radius: var(--evo-radius-sm) !important;
  }

  .evott-live-table {
    padding: 14px 16px !important;
    border-radius: var(--evo-radius-sm) !important;
  }

  .evott-live-table__players {
    font-size: 19px !important;
  }
}

/* ============================================================
   13. GLOBAL FOOTER (prefix: .evo-footer)
   ============================================================ */

.evo-footer {
  background: var(--evo-color-white);
  border-top: 1px solid var(--evo-color-border-light);
  font-family: var(--evo-font-primary);
  color: var(--evo-color-text);
}

.evo-footer__inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-top: 56px;
  padding-bottom: 40px;
}

.evo-footer__logo {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.evo-footer__tagline {
  margin: 12px 0 20px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--evo-color-text-secondary);
  max-width: 320px;
}

.evo-footer__cta {
  display: inline-block;
  background: var(--evo-color-text);
  color: var(--evo-color-white);
  border-radius: var(--evo-radius-pill);
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.evo-footer__cta:hover {
  opacity: 0.85;
  color: var(--evo-color-white);
}

.evo-footer__heading {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--evo-color-text-secondary);
  margin: 0 0 14px;
}

.evo-footer__list,
.evo-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.evo-footer__list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  padding: 5px 0;
  color: var(--evo-color-text-secondary);
}

.evo-footer__list li span {
  color: var(--evo-color-text);
  font-weight: 500;
}

.evo-footer__links li {
  padding: 5px 0;
}

.evo-footer__links a {
  font-size: 14px;
  color: var(--evo-color-text-secondary);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.evo-footer__links a:hover {
  color: var(--evo-color-text);
  border-bottom-color: rgba(0,0,0,0.25);
}

.evo-footer__address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: var(--evo-color-text-secondary);
  margin-bottom: 10px;
}

.evo-footer__phone {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--evo-color-text);
  text-decoration: none;
  margin-bottom: 8px;
}

.evo-footer__maplink {
  font-size: 14px;
  color: var(--evo-color-text-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.evo-footer__maplink:hover {
  color: var(--evo-color-text);
}

.evo-footer__bar {
  border-top: 1px solid var(--evo-color-border-light);
  background: var(--evo-color-bg);
}

.evo-footer__bar-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding-top: 16px;
  /* The homepage's floating nav pill (.evo-fnav) is fixed 24px above the
     viewport bottom — keep the last footer line clear of it. */
  padding-bottom: 88px;
  font-size: 12px;
  color: var(--evo-color-text-tertiary);
}

@media (max-width: 900px) {
  .evo-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 560px) {
  .evo-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 40px;
    padding-bottom: 28px;
  }

  .evo-footer__list li {
    font-size: 13px;
  }
}
