/* ============================================
   GAMEON — HOME PAGE STYLES
   ============================================ */

/* ══ HERO ══════════════════════════════════════════
   Figma: 1440×900px canvas
   Rect 78: base #D9D9D9
   Rect 79: hero image (Rectangle 79.png)
   Rect 94: gradient linear-gradient(180deg, rgba(0,0,0,0) -11.57%, #000 100%)
   ═══════════════════════════════════════════════ */
.hero {
  position: relative;
  width: 100%;
  height: 56.25rem;
  /* 900px ÷ 16 = 56.25rem — scales with viewport */
  overflow: hidden;
  background: #D9D9D9;
}

/* Background image — fills 1440×900 */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Gradient overlay — Figma Rectangle 94 */
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) -11.57%, #000000 100%);
}

/* Content container */
.hero-content {
  position: absolute;
  z-index: 2;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  max-width: 90rem;
  /* 1440px */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 17.3125rem 4.375rem 0;
  /* 277px top, 70px sides (matches header) */
}

/* Heading — Figma: Bebas Neue 106.062px / 106px lh */
.hero h1 {
  font-family: var(--font-display) !important;
  font-size: 6.625rem !important;
  /* 106px ÷ 16 */
  font-weight: 400 !important;
  line-height: 6.625rem !important;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0;
  max-width: 63.375rem;
  /* 1014px ÷ 16 */
}

/* Subtitle — Urbanist 20px / 23px lh */
.hero-sub {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.25rem;
  /* 20px ÷ 16 */
  font-weight: 400;
  line-height: 1.4375rem;
  /* 23px ÷ 16 */
  color: #FFFFFF;
  max-width: 42.3125rem;
  /* 677px ÷ 16 */
  margin-top: 2.6875rem;
  /* 43px ÷ 16 */
  margin-bottom: 0;
}

/* CTA Button — 235×56px, border-radius 76px */
.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14.6875rem;
  /* 235px ÷ 16 */
  height: 3.5rem;
  /* 56px ÷ 16 */
  background: #FEFEFE;
  border-radius: 4.75rem;
  /* 76px ÷ 16 */
  margin-top: 2.75rem;
  /* 44px ÷ 16 */
  font-family: var(--font-display);
  font-size: 1.25rem;
  /* 20px ÷ 16 */
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #000000;
  text-decoration: none;
  transition: background var(--t-fast), transform var(--t-fast);
  white-space: nowrap;
}

.hero-cta:hover {
  background: var(--white);
  transform: scale(1.03);
}

/* ══ TICKER ════════════════════════════════════════
   Figma: Rectangle 80 — bg #DE0B1B, height 69px
   ═══════════════════════════════════════════════ */
.ticker-wrap {
  background: #DE0B1B;
  height: 4.3125rem;
  /* 69px ÷ 16 */
  overflow: hidden;
  display: flex;
  align-items: center;
}

.ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  /* 32px ÷ 16 */
  white-space: nowrap;
  animation: tick 40s linear infinite;
  will-change: transform;
}

.ti {
  font-family: var(--font-display);
  font-size: 1.9375rem;
  /* 31px ÷ 16 */
  font-weight: 400;
  line-height: 1.5rem;
  /* 24px ÷ 16 */
  text-transform: uppercase;
  color: #FFFFFF;
  letter-spacing: 0.02em;
}

/* Bullet separator */
.td {
  color: rgba(255, 255, 255, 0.65);
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}

@keyframes tick {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* ══ RESPONSIVE ══
   NOTE: 1200px-1440px range is handled by html font-size proportional scaling.
   These breakpoints handle LAYOUT changes only (not font sizes above 768px).  */

@media (max-width: 1200px) {
  .hero-content {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

@media (max-width: 1024px) {
  .hero {
    height: 50rem;
  }
}

/* ── TABLET & MOBILE (768px) ── */
@media (max-width: 768px) {

  /* Prevent horizontal overflow globally on mobile */
  html,
  body {
    overflow-x: hidden !important;
    width: 100% !important;
  }

  section,
  .section,
  .hero,
  [class*="section-"],
  [class*="-container"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .hero {
    height: auto;
    min-height: 80svh;
    display: flex;
    align-items: center;
    /* Center vertically */
    justify-content: center;
  }

  .hero-content {
    left: auto;
    width: 100%;
    padding: calc(var(--nav-h) + 1.5rem) 1.5rem 2rem;
    position: relative;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center horizontally */
    text-align: center;
    /* Center text */
  }

  .hero h1 {
    font-size: clamp(3.2rem, 11vw, 4.8rem) !important;
    line-height: 1.1 !important;
  }

  .hero-sub {
    font-size: 1.1rem;
    line-height: 1.4;
    max-width: 100%;
    margin-top: 1.25rem;
  }

  .hero-cta {
    margin-top: 1.75rem;
    width: 14rem;
    height: 3.5rem;
    font-size: 1.1rem;
  }

  /* ticker: 52px height, 22px font */
  .ticker-wrap {
    height: 5.2rem;
  }

  .ti {
    font-size: 2.2rem;
  }

  /* Story Section (Mobile Stack) */
  .story-section {
    padding: 3rem 1.5rem !important;
    /* Force side padding */
    background: #000000;
  }

  .story-grid {
    height: auto !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center items horizontally */
    gap: 1.5rem;
  }

  .story-left {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
  }

  .story-img-left {
    border-radius: 1.25rem;
    width: 100%;
    height: auto;
    display: block;
  }

  .story-img-right {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 1.25rem;
    display: block !important;
    /* Unhide */
  }

  .story-watermark {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    font-size: 4rem !important;
    /* Scaled down for mobile */
    line-height: 1 !important;
    text-align: center !important;
    display: block !important;
    /* Unhide */
    opacity: 0.05;
    /* Very faint */
    margin-bottom: -1rem;
  }

  .story-heading {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    font-size: 2.2rem !important;
    /* Slightly smaller to fit better */
    line-height: 1.1 !important;
    text-align: center !important;
    /* Center align */
    margin: 0;
  }

  .story-body {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    font-size: 1.1rem;
    line-height: 1.4;
    text-align: center !important;
    /* Center align */
    color: rgba(255, 255, 255, 0.8);
    /* Softer white */
  }

  /* Stats Section (2x2 Grid on Mobile) */
  .stats-section {
    padding: 2rem 1rem !important;
  }

  .stats-card {
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 2.5rem 1.5rem !important;
    gap: 2rem !important;
    border-radius: 1.875rem !important;
  }

  .stat-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .stat-value {
    font-size: 2.8rem !important;
    /* Slightly smaller to fit 2 columns */
    line-height: 1 !important;
  }

  .stat-label {
    font-size: 1rem !important;
    max-width: 100% !important;
  }

  /* Platform Section (Mobile Stack) */
  .platform-section {
    padding: 4rem 0 !important;
  }

  .platform-container {
    padding: 0 1.5rem !important;
  }

  .platform-header {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.5rem !important;
    margin-bottom: 3rem !important;
    text-align: center !important;
  }

  .platform-heading {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .platform-body {
    max-width: 100% !important;
    padding-top: 0 !important;
    text-align: center !important;
  }

  .platform-cards {
    grid-template-columns: 1fr !important;
    /* Stack cards */
    gap: 2rem !important;
  }

  .platform-card {
    width: 100% !important;
    height: auto !important;
  }

  .pcard-img {
    height: 12rem !important;
    /* Controlled height for card images */
  }

  .pcard-body {
    text-align: left !important;
    align-items: flex-start !important;
  }

  .pcard-title {
    text-align: left !important;
  }

  /* Hide the large decorative watermark behind the text on mobile */
  [class*="platform-watermark"],
  .platform-watermark {
    display: none !important;
  }

  /* Live Environment Section */
  .live-env-inner {
    /* padding: 5rem 1.5rem !important; */
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    /* Center elements horizontally as blocks */
    justify-content: center !important;
    gap: 2rem !important;
  }

  .live-env-heading {
    width: 100% !important;
    max-width: 28rem !important;
    text-align: center !important;
    font-size: 2.8rem !important;
    line-height: 1.1 !important;
  }

  .live-env-heading br {
    display: none !important;
  }

  .live-env-heading br::after {
    content: " " !important;
    display: inline !important;
  }

  .live-env-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    /* Center items inside the centered bottom block */
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 28rem !important;
  }

  .live-env-body {
    width: 100% !important;
    text-align: center !important;
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
  }

  .live-env-btn {
    width: 100% !important;
    max-width: 20rem !important;
    align-self: center !important;
    /* Align button to center within its block */
  }

  /* Showcase Section (Premium Card Layout for Mobile) */
  .showcase-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    /* Gap between cards */
    padding: 1.5rem !important;
    /* Padding around the grid */
    background: #000000;
  }

  .showcase-cell {
    min-height: auto !important;
    border-radius: 1.5rem !important;
    /* Rounded cards */
    overflow: hidden !important;
    padding: 2.5rem 1.5rem !important;
    /* Add padding to ALL cells to prevent cut-offs */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center;
  }

  /* Alternating order for a better visual rhythm */
  #showcase-left {
    order: 1 !important;
  }

  #showcase-img-top {
    order: 2 !important;
  }

  #showcase-right {
    order: 3 !important;
  }

  #showcase-img-bottom {
    order: 4 !important;
  }

  .showcase-list--left,
  .showcase-list--right {
    padding: 0 !important;
    gap: 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .showcase-content-right {
    padding: 0 !important;
    /* Reset this since cell has padding now */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .sc-item {
    gap: 1.25rem !important;
  }

  .sc-text {
    font-size: 1.4rem !important;
    /* Slightly smaller for better fit */
    line-height: 1.2 !important;
  }

  .showcase-cell--img {
    padding: 0 !important;
    /* Ensure images stay edge-to-edge inside the cards */
  }

  .showcase-cell--img img {
    height: 20rem !important;
    /* Give images a fixed height in card mode */
    object-fit: cover !important;
  }

  /* Accordion Section (Built For) */
  .for-section {
    padding: 1rem 1.5rem !important;
  }

  .for-heading {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    padding: 0 !important;
  }

  .for-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Hide the top global images block on mobile */
  .for-images {
    display: none !important;
  }

  /* Allow the accordion body to expand completely on mobile to fit the image and text */
  .fa-item.is-open .fa-body {
    max-height: 35rem !important;
    opacity: 1 !important;
  }

  /* Show the mobile image inside active accordion item's collapsible pane */
  .fa-body .fa-mobile-img {
    display: block !important;
    width: 100% !important;
    max-width: 28rem !important;
    height: 14rem !important;
    /* Elegant compact height */
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    margin: 0 auto 1.25rem !important;
    /* Center horizontally */
  }

  .fa-body .fa-mobile-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .for-accordion {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .fa-label {
    font-size: 1.8rem !important;
    /* Scale down the huge accordion titles */
    text-align: center !important;
    /* Center text */
    width: 100%;
  }

  .fa-desc {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
    /* Center text */
    margin-top: 0.5rem !important;
  }

  .fa-trigger {
    justify-content: center !important;
    /* Center items in trigger */
  }

  /* Founding Partners Section */
  .partners-section {
    padding: 4rem 0 !important;
  }

  .partners-inner {
    flex-direction: column !important;
    padding: 0 1.5rem !important;
    gap: 2.5rem !important;
    text-align: center;
  }

  .partners-left {
    width: 100% !important;
    align-items: center !important;
  }

  .partners-heading {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  .partners-desc {
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  .partners-list {
    align-self: flex-start !important;
    /* Keep list left-aligned for readability */
    text-align: left !important;
    margin: 0 0 2rem 1.5rem !important;
    /* Add some left margin for bullets */
  }

  .partners-btn {
    align-self: center !important;
    /* Center button */
  }

  .partners-right {
    width: 100% !important;
  }

  .partners-img {
    width: 100% !important;
    height: auto !important;
    border-radius: 1.25rem !important;
  }

  /* Beyond Section */
  .beyond-section {
    padding: 1rem 0 !important;
  }

  .beyond-inner {
    flex-direction: column !important;
    padding: 0 1.5rem !important;
    gap: 2.5rem !important;
  }

  .beyond-left {
    width: 100% !important;
  }

  .beyond-img {
    width: 100% !important;
    height: auto !important;
    border-radius: 1.25rem !important;
  }

  .beyond-right {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 0 !important;
    /* Reset desktop offset */
    text-align: center;
  }

  .beyond-heading {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
    max-width: 100% !important;
    margin-bottom: 1.5rem !important;
  }

  .beyond-desc {
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  /* Founders Section */
  .founders-section {
    padding: 1rem 1.5rem !important;
  }

  .founders-featured-card {
    flex-direction: column !important;
    height: auto !important;
    border-radius: 1.5rem !important;
    margin-bottom: 2rem !important;
  }

  .founders-card-left {
    width: 100% !important;
    height: 18rem !important;
  }

  .founders-card-img {
    border-radius: 1.5rem 1.5rem 0 0 !important;
    /* Top corners rounded */
    object-position: center top !important;
  }

  .founders-card-right {
    padding: 2rem 1.5rem !important;
    text-align: center !important;
  }

  .founders-card-heading {
    font-size: 2.2rem !important;
    line-height: 1.1 !important;
    max-width: 100% !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
  }

  .founders-card-desc {
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  /* Invitation Section */
  .invite-section {
    padding: 4rem 1.5rem !important;
  }

  .invite-card {
    padding: 2rem 1.5rem !important;
    border-radius: 1.5rem !important;
  }

  .invite-card h2 {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 1rem !important;
  }

  .invite-desc {
    font-size: 1.1rem !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
  }

  .inv-form {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .inv-col-right {
    height: auto !important;
    justify-content: flex-start !important;
    gap: 1.5rem !important;
  }

  .inv-field label {
    font-size: 1.2rem !important;
  }

  .inv-submit-wrap {
    justify-content: center !important;
  }
}


/* ── SMALL MOBILE (480px) ── */
@media (max-width: 480px) {
  /* Commented out for fluid scaling
  .hero h1 { font-size: clamp(2.4rem, 9vw, 3.8rem) !important; }
  .hero-sub { font-size: 1.4rem; }
  */
}

.story-section {
  background: var(--black);
  padding: 6.5rem 0 5rem;
  /* removed side padding from section */
}

.story-grid {
  position: relative;
  width: 100%;
  height: 47.125rem;
  /* 754px */
  max-width: 90rem;
  /* 1440px */
  margin: 0 auto;
}

/* LEFT: Sports shows collage */
.story-left {
  position: absolute;
  left: 4.25rem;
  /* 68px */
  top: 0;
  width: 41.5rem;
  /* 664px */
  height: 47.125rem;
  /* 754px */
}

.story-img-left {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.875rem;
  /* 30px */
  display: block;
}

/* RIGHT column (acting as a static container or ignored due to absolute children) */
.story-right {
  position: static;
}

/* Stadium image: 473×280px */
.story-img-right {
  position: absolute;
  left: 56.1875rem;
  /* 899px */
  top: 0;
  width: 29.5625rem;
  /* 473px */
  height: 17.5rem;
  /* 280px */
  object-fit: cover;
  border-radius: 1.875rem;
  display: block;
}

/* ABOUT watermark */
.story-watermark {
  position: absolute;
  left: 48.75rem;
  /* 780px (calc(50% - 650/2 + 385) on 1440) */
  top: 6.75rem;
  /* 108px */
  width: 40.625rem;
  /* 650px */
  height: 27.3125rem;
  /* 437px */
  font-family: 'Urbanist', sans-serif;
  font-weight: 900;
  font-size: 11.984rem;
  /* 191.749px */
  line-height: 27.3125rem;
  text-align: right;
  text-transform: uppercase;
  color: #FFFFFF;
  opacity: 0.12;
  pointer-events: none;
  white-space: nowrap;
}

/* Heading: Bebas Neue 78px / 82px lh */
.story-heading {
  position: absolute;
  left: 37.5rem;
  /* 600px (calc(50% - 768/2 + 264) on 1440) */
  top: 28.3125rem;
  /* 453px */
  width: 48rem;
  /* 768px */
  height: 10.25rem;
  /* 164px */
  font-family: var(--font-display) !important;
  font-size: 4.875rem !important;
  /* 78px */
  font-weight: 400 !important;
  line-height: 5.125rem !important;
  /* 82px */
  text-align: right;
  color: #FFFFFF;
  text-transform: uppercase;
  margin: 0;
}

/* Body: Urbanist 19px / 22px lh */
.story-body {
  position: absolute;
  left: 48.5rem;
  /* 792px */
  top: 40.25rem;
  /* 644px */
  width: 36rem;
  /* 576px */
  height: 6.875rem;
  /* 110px */
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #FFFFFF;
  text-align: left;
  margin: 0;
}


/* Commented out for fluid scaling as requested by user
@media (max-width: 1200px) {
  .story-section  { padding: 5rem 3rem; }
  .story-grid     { grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
  .story-img-left { width: 100%; height: 36.25rem; }
  .story-watermark { font-size: 8.125rem; left: 0; line-height: 1; }
}
@media (max-width: 900px) {
  .story-grid     { grid-template-columns: 1fr; }
  .story-img-left { width: 100%; height: 25rem; }
  .story-right    { align-items: flex-start; }
  .story-heading  { text-align: left; margin-top: 2.5rem; font-size: 3.25rem !important; }
  .story-watermark { display: none; }
  .story-img-right { width: 100%; height: 13.75rem; }
}
*/


/* ══ STATS CARD ════════════════════════════════════════
   Figma Rectangle 86: 1394×308px, centered on 1440px,
   bg #DE0B1B, border-radius 50px
   Gap after story section: 1875-(1010+754+80) ≈ 31px visible margin
   ═══════════════════════════════════════════════════ */
.stats-section {
  background: var(--black);
  padding: 3.5rem 1.4375rem;
  /* 56÷16 23÷16 */
}

.stats-card {
  width: 100%;
  max-width: 87.125rem;
  /* 1394÷16 */
  height: 19.25rem;
  /* 308÷16 */
  margin: 0 auto;
  background: #DE0B1B;
  border-radius: 3.125rem;
  /* 50÷16 */
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  padding: 0 3.75rem;
  /* 60÷16 */
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  /* 8÷16 */
  flex: 1;
}

.stat-label {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.3125rem;
  /* 21px ÷ 16 */
  font-weight: 500;
  line-height: 1.25rem;
  /* 20px ÷ 16 */
  color: #FFFFFF;
  max-width: 12.875rem;
  /* 206px ÷ 16 */
  height: 3.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
}

.stat-value {
  font-family: var(--font-display);
  font-size: 5.645rem;
  /* 90.3332px ÷ 16 */
  font-weight: 400;
  line-height: 5.625rem;
  /* 90px ÷ 16 */
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}

.stat-cat {
  font-family: var(--font-display);
  font-size: 1.579rem;
  /* 25.2718px ÷ 16 */
  font-weight: 400;
  line-height: 1.5625rem;
  /* 25px ÷ 16 */
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  letter-spacing: 0.12em !important;
  margin: 0;
}

/* Commented out for fluid scaling as requested by user
@media (max-width: 1200px) {
  .stats-section { padding: 3rem 1.25rem; }
  .stats-card    { height: auto; padding: 3rem 2.5rem; border-radius: 2.25rem; }
  .stat-value    { font-size: 3.25rem; }
}
@media (max-width: 768px) {
  .stats-card    { flex-direction: column; height: auto; padding: 2.5rem 2rem; gap: 2rem; border-radius: 1.75rem; }
  .stat-divider  { width: 80%; height: 1px; }
  .stat-value    { font-size: 3rem; }
}
*/


/* ══ PLATFORM SECTION (Think SXSW / THREE WAYS) ════════════
   Figma: heading left ~69px, body left 808px
   Cards: 361×414px each, 75px gap, group starts at left 103px
   ═══════════════════════════════════════════════════════════ */
.platform-section {
  background: var(--black);
  padding: 5.625rem 4.375rem 6.25rem;
  /* 90÷16 70÷16 100÷16 */
  position: relative;
  overflow: hidden;
}

.platform-watermark {
  position: absolute;
  width: 260.125rem;
  /* 4162÷16 */
  height: 37.5625rem;
  /* 601÷16 */
  left: calc(50% - 260.125rem/2 - 81.125rem);
  /* 898÷16 */
  top: 0;
  /* Kept at 0 relative to section to avoid shooting down the page */
  font-family: 'Urbanist', sans-serif;
  font-weight: 900;
  font-size: 16.466rem;
  /* 263.47÷16 */
  line-height: 37.5rem;
  /* 600px ÷ 16 */
  text-align: right;
  text-transform: uppercase;
  color: #FFFFFF;
  opacity: 0.12;
  pointer-events: none;
  white-space: nowrap;
  z-index: 0;
}

.platform-container {
  max-width: 77.0625rem;
  /* 1233px */
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.platform-header {
  display: flex;
  align-items: flex-start;
  gap: 6.125rem;
  /* Reduced gap to 98px to fit 1233px width */
  margin-bottom: 7.125rem;
}

.platform-heading {
  font-family: var(--font-display) !important;
  font-size: 4.875rem !important;
  /* 78÷16 */
  font-weight: 400 !important;
  line-height: 5.1875rem !important;
  /* 83÷16 */
  color: #FFFFFF;
  text-transform: uppercase;
  max-width: 34.9375rem;
  /* 559÷16 */
  flex-shrink: 0;
  margin: 0;
}

.platform-body {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19÷16 */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22÷16 */
  color: #FFFFFF;
  max-width: 36rem;
  /* 576÷16 */
  padding-top: 0.625rem;
  /* 10÷16 */
}

.platform-cards {
  display: grid;
  grid-template-columns: repeat(3, 22.5625rem);
  /* 361÷16 */
  gap: 4.6875rem;
  /* 75÷16 */
}

.platform-card {
  width: 22.5625rem;
  /* 361÷16 */
  height: 25.875rem;
  /* 414÷16 */
  border-radius: 1.25rem;
  /* 20÷16 */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #444444;
  /* Default grey for all cards */
  transition: background 0.3s ease, transform 0.3s ease;
  /* Smooth transition */
}

/* Hover effect: turn red and lift up 7px */
.platform-card:hover {
  background: #DE0B1B;
  transform: translateY(-0.4375rem);
}

/* Remove static colors and transforms from specific classes */
.platform-card--dark {}

.platform-card--red {}

.pcard-img {
  width: 100%;
  height: 10.4375rem;
  /* 167÷16 */
  background-size: cover;
  background-position: center;
  border-radius: 1.25rem 1.25rem 0 0;
  flex-shrink: 0;
}

.pcard-body {
  padding: 1.75rem 1.5rem 1.5rem;
  /* 28÷16 24÷16 */
  display: flex;
  flex-direction: column;
  flex: 1;
}

.pcard-title {
  font-family: var(--font-display) !important;
  font-size: 2rem !important;
  /* 32÷16 */
  font-weight: 400 !important;
  line-height: 2rem !important;
  color: #FEFEFE;
  text-transform: uppercase;
  margin: 0 0 0.875rem 0;
  /* 14÷16 */
}

.pcard-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.125rem;
  /* 18÷16 */
  font-weight: 400;
  line-height: 1.1875rem;
  /* 19÷16 */
  color: #FEFEFE;
  flex: 1;
}

.pcard-link {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  /* 14÷16 */
  font-family: var(--font-display);
  font-size: 1.5rem;
  /* 24÷16 */
  font-weight: 400;
  line-height: 1.125rem;
  /* 18÷16 */
  color: #FEFEFE;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: 1.125rem;
  /* 18÷16 */
  transition: gap var(--t-fast);
}

.pcard-link:hover {
  gap: 1.25rem;
}

.pcard-arrow {
  font-size: 1.125rem;
}

/* Commented out for fluid scaling as requested by user
@media (max-width: 1200px) {
  .platform-section { padding: 5rem 3rem; }
  .platform-header  { gap: 5rem; margin-bottom: 5rem; }
  .platform-cards   { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-left: 0; }
  .platform-card    { width: 100%; }
  .platform-watermark { font-size: 11.25rem; }
}
@media (max-width: 900px) {
  .platform-header  { flex-direction: column; gap: 1.5rem; }
  .platform-heading { font-size: 3.5rem !important; }
  .platform-watermark { font-size: 7.5rem; }
}
@media (max-width: 768px) {
  .platform-cards { grid-template-columns: 1fr; gap: 1.25rem; }
  .platform-card  { width: 100%; height: auto; }
  .pcard-img      { height: 12.5rem; }
}
*/


/* ══ LIVE ENVIRONMENT BANNER ════════════════════════════
   Figma: Rectangle 86 — 1440×800px, top 3125px
   bg: 19100.png + rgba(122,0,9,0.92) overlay
   Heading: Bebas Neue 78px / 82px lh | left 69px | top offset 210px
   Body:    Urbanist 19px / 22px lh   | left 69px | top offset 586px
   Button:  361×56px, bg #DE0B1B, radius 76px, left 1011px, top offset 614px
   ══════════════════════════════════════════════════════ */
.live-env-section {
  position: relative;
  width: 100%;
  height: 50rem;
  /* 800px ÷ 16 */
  overflow: hidden;
  margin-top: 5.6875rem;
  /* 91px gap to match Figma spacing (total ~191px) */
}

/* Photo + crimson overlay — path relative to assets/css/ so ../images/ */
.live-env-bg {
  position: absolute;
  inset: 0;
  background: url('../images/19100.png') center / cover no-repeat;
  z-index: 0;
}

/* Inner: flex column — heading top, body+button bottom; no overlap at any width
   padding-top  13.125rem = 210px (Figma heading top offset)
   padding-side  4.3125rem =  69px (Figma left gutter)
   padding-bot   8.125rem = 130px (800 − 614 − 56 = 130px from section bottom) */
.live-env-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 13.125rem 4.3125rem 8.125rem;
}

/* ── Heading ──────────────────────────────────────────
   Figma: Bebas Neue 78px / 82px lh | width 548px
   Target wrap: line2="BUILT FOR" | line3="CONNECTION, CONTENT,"
   "CONNECTION, CONTENT," needs ~564px → fits at 576px ✓
   "BUILT FOR CONNECTION," needs ~604px → breaks at 576px ✓
   40vw = 576px at 1440px is the exact sweet spot                */
.live-env-heading {
  width: 100%;
  max-width: 37.5rem;
  /* 600px ÷ 16 — allows long lines to fit */
  font-family: var(--font-display) !important;
  font-size: clamp(2.5rem, 5.42vw, 4.875rem) !important;
  /* 78px at 1440px */
  font-weight: 400 !important;
  line-height: 1.052 !important;
  color: #FFFFFF;
  text-transform: uppercase;
  margin: 0;
}

/* ── Bottom row: body + button ───────────────────────
   Sits at the bottom of the flex column (space-between)
   Padding already set on .live-env-inner               */
.live-env-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ── Body paragraph ──────────────────────────────────
   Figma: Urbanist 19px / 22px lh | width 491px        */
.live-env-body {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px ÷ 16 */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px ÷ 16 */
  color: #FFFFFF;
  max-width: 30.6875rem;
  /* 491px ÷ 16 */
  margin: 0;
}

/* ── JOIN NOW button ─────────────────────────────────
   Figma Rectangle 87: 361×56px, bg #DE0B1B, radius 76px
   Text "Join Now": Bebas Neue 27px
   Arrow: 56px wide SVG line + arrowhead                */
.live-env-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 22.5625rem;
  /* 361px ÷ 16 */
  height: 3.5rem;
  /* 56px  ÷ 16 */
  background: #DE0B1B;
  border-radius: 4.75rem;
  /* 76px  ÷ 16 */
  padding: 0 2.1875rem;
  /* 35px  ÷ 16 — Group 143 left offset from button */
  text-decoration: none;
  flex-shrink: 0;
  transition: background var(--t-fast), transform var(--t-fast);
}

.live-env-btn:hover {
  background: #c00918;
  transform: scale(1.03);
}

/* "Join Now" label — Bebas Neue 27px */
.live-env-btn-text {
  font-family: var(--font-display);
  font-size: 1.6875rem;
  /* 27px ÷ 16 */
  font-weight: 400;
  line-height: 1.25rem;
  /* 20px ÷ 16 */
  text-transform: uppercase;
  color: #FFFFFF;
  letter-spacing: 0.03em;
}

/* Arrow — SVG line + arrowhead, 56×12px */
.live-env-btn-arrow {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.live-env-btn-arrow svg {
  display: block;
}

/* ── Responsive ──────────────────────────────────────*/
/* Commented out for fluid scaling as requested by user
@media (max-width: 1200px) {
  .live-env-section { height: 44rem; }
  .live-env-inner   { padding: 10rem 3.5rem 6rem; }
  .live-env-heading { font-size: 4rem !important; width: 30rem; }
  .live-env-btn     { width: 20rem; }
}

@media (max-width: 900px) {
  .live-env-section { height: auto; min-height: 36rem; }
  .live-env-inner   { padding: 6rem 3rem 5rem; gap: 3rem; }
  .live-env-heading { width: 100%; font-size: 3.5rem !important; }
  .live-env-bottom  { flex-direction: column; align-items: flex-start; gap: 2rem; }
}

@media (max-width: 768px) {
  .live-env-section   { height: auto; }
  .live-env-inner     { padding: 5rem 2.4rem 4.5rem; gap: 2.5rem; }
  .live-env-heading   { font-size: 4.2rem !important; line-height: 1.05 !important; width: 100%; }
  .live-env-bottom    { flex-direction: column; align-items: flex-start; gap: 2.8rem; }
  .live-env-body      { font-size: 1.5rem; line-height: 1.65; max-width: 100%; }
  .live-env-btn       { width: 100%; max-width: 32rem; }
  .live-env-btn-text  { font-size: 2rem; }
}

@media (max-width: 480px) {
  .live-env-inner   { padding: 4rem 2rem 4rem; }
  .live-env-heading { font-size: 3.6rem !important; }
  .live-env-body    { font-size: 1.4rem; }
}
*/



/* ══ SHOWCASE CHECKERBOARD ══════════════════════════════
   Figma: 2×2 grid, each cell 720×616px
   Row 1: Red+list | Image
   Row 2: Dark     | Red+list
   ══════════════════════════════════════════════════════ */
.showcase-section {
  width: 100%;
}

.showcase-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* 720px each at 1440px */
  grid-template-rows: auto auto;
}

/* ── Each cell ───────────────────────────────────────── */
.showcase-cell {
  min-height: 38.5rem;
  /* 616px ÷ 16 */
  display: flex;
  align-items: flex-start;
  /* Changed from center to respect Figma top offsets */
}

/* Red panels */
.showcase-cell--red {
  background: #DE0B1B;
}

/* Image panel — object-fit cover */
.showcase-cell--img {
  background: #111;
  overflow: hidden;
  padding: 0;
}

.showcase-cell--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Dark panel (Row 2 Left — no Figma content specified) */
.showcase-cell--dark {
  background: #0a0000;
}

/* ── Checklist ───────────────────────────────────────── */
.showcase-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

/* Left panel: Figma gutter 74px, top offset 120px, item spacing 78px */
.showcase-list--left {
  padding: 7.5rem 4.625rem 0;
  /* 120px top, 74px side */
  gap: 2.625rem;
  /* 42px gap (78-36) ÷ 16 */
}

/* Right panel: Figma gutter 70px, top offset 72px, item spacing 55px */
.showcase-list--right {
  padding: 4.5rem 0 0;
  /* 72px top, 0 side (handled by wrapper) */
  gap: 1.1875rem;
  /* 19px gap (55-36) ÷ 16 */
}

/* Wrapper for right side content to handle alignment */
.showcase-content-right {
  padding-left: 4.375rem;
  /* 70px side padding */
  display: flex;
  flex-direction: column;
}

/* ── Single checklist item ─────────────────────────────
   Figma: icon 24×24px black circle + text Bebas Neue 28.09px / 36px lh */
.sc-item {
  display: flex;
  align-items: center;
  gap: 2.71875rem;
  /* 43.5px — icon left 74px, text left 117px → 43px gap */
}

/* Black circle icon — 24px diameter, border-radius 109px (fully round) */
.sc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  /* 24px ÷ 16 */
  height: 1.5rem;
  /* 24px ÷ 16 */
  background: #000000;
  border-radius: 50%;
}

.sc-icon svg {
  display: block;
  flex-shrink: 0;
}

/* Text — Bebas Neue 28.09px / 36px lh */
.sc-text {
  font-family: var(--font-display);
  font-size: 1.756rem;
  /* 28.09px ÷ 16 */
  font-weight: 400;
  line-height: 2.25rem;
  /* 36px ÷ 16 */
  color: #FFFFFF;
  text-transform: uppercase;
}

/* ── Extra Elements Row 2 Right ──────────────────────── */
.showcase-divider {
  width: 19.25rem;
  /* 308px */
  height: 1px;
  background: #FFFFFF;
  margin-top: 3.5rem;
  /* 56px */
}

.showcase-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #FFFFFF;
  max-width: 18.875rem;
  /* 302px */
  margin-top: 2.3125rem;
  /* 37px */
}

.showcase-watermark-logo {
  width: 35.1rem;
  /* 561.59px */
  height: auto;
  opacity: 0.15;
  margin-top: 0.875rem;
  /* 14px */
}

.showcase-watermark-logo img {
  width: 100%;
  display: block;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1200px) {
  .showcase-list--left {
    padding: 0 3rem;
  }

  .showcase-list--right {
    padding: 0 3rem;
  }

  .sc-text {
    font-size: 1.5rem;
  }
}

@media (max-width: 900px) {
  .showcase-grid {
    grid-template-columns: 1fr;
  }

  .showcase-cell {
    min-height: 28rem;
  }

  .showcase-cell--dark {
    display: none;
  }

  /* hide empty dark cell on mobile */
  .showcase-list--left,
  .showcase-list--right {
    padding: 0 3rem;
    gap: 2rem;
  }
}

@media (max-width: 768px) {
  .showcase-cell {
    min-height: 0;
    padding: 5rem 0;
  }

  .sc-text {
    font-size: 1.8rem;
    line-height: 1.3;
  }

  .sc-icon {
    width: 2rem;
    height: 2rem;
  }

  .showcase-list--left,
  .showcase-list--right {
    padding: 0 2.4rem;
    gap: 2rem;
  }

  .sc-item {
    gap: 1.5rem;
  }
}


/* ══ BUILT FOR — ACCORDION ══════════════════════════════
   Figma: Black bg | heading 78px/74px lh Bebas
   Left: stacked 535×118px images (190px when open)
   Right: accordion labels 45px/66px lh Bebas
   ═════════════════════════════════════════════════════ */
.for-section {
  background: #000;
  padding-bottom: 7.5rem;
  border-top: 1px solid #1a1a1a;
  /* visual separator from dark showcase above */
}

/* Heading — Figma: 681px wide, left ~69px, Bebas 78px/74px lh */
.for-heading {
  font-family: var(--font-display);
  font-size: 4.875rem;
  /* 78px */
  font-weight: 400;
  line-height: 4.625rem;
  /* 74px */
  color: #fff;
  text-transform: uppercase;
  max-width: 42.5625rem;
  /* 681px */
  padding: 7.1875rem 0 4.5rem 4.3125rem;
  /* top offset from prev section, left 69px */
  margin: 0;
}

/* Two-column layout: images left, accordion right */
.for-layout {
  display: grid;
  grid-template-columns: 33.4375rem 1fr;
  /* 535px | remaining */
  gap: 3rem;
  /* Reduced from 117px to 48px */
  padding-left: 4.25rem;
  /* 68px left gutter */
  padding-right: 4.25rem;
  /* right breathing room */
}

/* ── Use display: contents to place children in the same grid ── */
.for-images,
.for-accordion {
  display: contents;
}

/* Map specific items to grid rows */
#fi-brands {
  grid-row: 1;
  grid-column: 1;
}

[data-target="fi-brands"] {
  grid-row: 1;
  grid-column: 2;
}

#fi-media {
  grid-row: 2;
  grid-column: 1;
}

[data-target="fi-media"] {
  grid-row: 2;
  grid-column: 2;
}

#fi-athletes {
  grid-row: 3;
  grid-column: 1;
}

[data-target="fi-athletes"] {
  grid-row: 3;
  grid-column: 2;
}

#fi-leagues {
  grid-row: 4;
  grid-column: 1;
}

[data-target="fi-leagues"] {
  grid-row: 4;
  grid-column: 2;
}

#fi-investors {
  grid-row: 5;
  grid-column: 1;
}

[data-target="fi-investors"] {
  grid-row: 5;
  grid-column: 2;
}

.for-img-wrap {
  overflow: hidden;
  border-radius: 1.25rem;
  /* 20px */
  height: 9.375rem;
  /* 150px closed (increased from 118px) */
  transition: height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  align-self: center;
  /* Center image vertically in row */
}

.for-img-wrap.is-open {
  height: 21.875rem;
  /* 350px open (increased from 250px to show full image) */
}

.for-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

#fi-athletes img {
  object-position: center top;
  /* Show top part with heads */
}

/* Single accordion item
   border-top on ALL items = single clean line between each */
.fa-item {
  border-top: 1px solid #DE0B1B;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* Center content vertically between lines */
}

.fa-item:last-child {
  border-bottom: 1px solid #DE0B1B;
}

/* Trigger button */
.fa-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.75rem 0;
  /* reduced gap to make it more compact */
  gap: 1rem;
}

/* Label — Bebas Neue 45px / 66px lh */
.fa-label {
  font-family: var(--font-display);
  font-size: 2.8125rem;
  /* 45px */
  font-weight: 400;
  line-height: 1.2;
  /* natural for display font; no extra vertical space */
  color: #fff;
  text-transform: uppercase;
  text-align: left;
}

/* Chevron arrow
   Layer_1.svg draws an arrow pointing UP at 0°, so:
   Closed = 180° → points DOWN ↓ (click to expand)
   Open   = 0°   → points UP ↑ (click to collapse) */
.fa-chevron {
  width: 2.25rem;
  /* 36px */
  height: 1.25rem;
  /* 20px */
  flex-shrink: 0;
  transform: rotate(180deg);
  /* ↓ closed */
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.fa-item.is-open .fa-chevron {
  transform: rotate(0deg);
  /* ↑ open */
}


/* Body — slides in/out */
.fa-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.35s ease;
  opacity: 0;
}

.fa-item.is-open .fa-body {
  max-height: 12rem;
  opacity: 1;
}

.fa-mobile-img {
  display: none !important;
}

/* Description — Urbanist 19px / 22px lh
   padding-top gives breathing room below the title
   padding-bottom gives space before the next item’s border */
.fa-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #fff;
  max-width: 40.0625rem;
  /* 641px */
  padding-top: 0.25rem;
  /* small gap below title line */
  padding-bottom: 0.75rem;
  /* matched to top padding for perfect centering of line */
}

/* fa-rule removed: the border-top on each .fa-item already
   provides the red divider line. Adding a second one inside
   the body creates a double-line bug when an item is open.
   If you need a separator inside, use padding-bottom on .fa-desc instead. */

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1100px) {
  .for-heading {
    font-size: 4rem;
  }

  .fa-label {
    font-size: 2.25rem;
  }

  .for-layout {
    gap: 4rem;
  }

  .for-images {
    width: 28rem;
  }
}

@media (max-width: 900px) {
  .for-layout {
    flex-direction: column;
    align-items: stretch;
    padding-left: 2rem;
    padding-right: 2rem;
    gap: 3rem;
  }

  .for-images {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .for-img-wrap {
    width: calc(50% - 0.25rem);
    flex: none;
  }
}

@media (max-width: 768px) {
  .for-heading {
    font-size: 3rem;
    line-height: 1.1;
    padding-left: 0.4rem;
  }

  .fa-label {
    font-size: 1.8rem;
    line-height: 1.2;
  }

  .for-img-wrap {
    width: 100%;
  }
}



/* ══ FOUNDING PARTNERS: FULLY INTEGRATED ═══════════════
   Figma: black bg | flex row | left text 562px | right img 647×488px
   Left gutter: 68px | gap: 95px | section padding top: ~7rem
   ══════════════════════════════════════════════════════ */
.partners-section {
  background: #000;
  padding: 6.5rem 0 6.5rem;
}

/* Two-column flex container */
.partners-inner {
  display: flex;
  align-items: center;
  max-width: 90rem;
  /* 1440px */
  margin: 0 auto;
  /* Center the container */
  padding: 0 4.25rem;
  /* 68px gutter on both sides */
  gap: 5.9375rem;
  /* 95px gap between cols */
}

/* ── Left column ──────────────────────────────────────── */
.partners-left {
  flex-shrink: 0;
  width: 35.125rem;
  /* 562px */
  display: flex;
  flex-direction: column;
}

/* Heading: Bebas Neue 65px / 69px lh */
.partners-heading {
  font-family: var(--font-display);
  font-size: 4.0625rem;
  /* 65px */
  font-weight: 400;
  line-height: 4.3125rem;
  /* 69px */
  color: #fff;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
  /* 24px gap to description */
}

.partners-heading-red {
  color: #DE0B1B;
}

/* Description: Urbanist 19px / 22px lh */
.partners-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #fff;
  margin: 0 0 1.3125rem;
  /* 21px gap to bullet list */
}

/* Bullet list: same Urbanist 19px / 22px lh, custom dot markers */
.partners-list {
  list-style: none;
  padding: 0;
  margin: 0 0 3.5rem;
  /* 56px gap to button */
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  /* tight line spacing */
}

.partners-list li {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #fff;
  padding-left: 1rem;
  position: relative;
}

.partners-list li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.375rem;
}

/* CTA Button: 213×48px, bg #DE0B1B, radius 100px, Bebas Neue 18px */
.partners-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 13.3125rem;
  /* 213px */
  height: 3rem;
  /* 48px */
  background: #DE0B1B;
  border-radius: 6.25rem;
  /* 100px — fully pill */
  font-family: var(--font-display);
  font-size: 1.125rem;
  /* 18px */
  font-weight: 400;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #FEFEFE;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  align-self: flex-start;
  transition: background 0.2s ease, transform 0.2s ease;
}

.partners-btn:hover {
  background: #c00918;
  transform: scale(1.03);
}

/* ── Right column ─────────────────────────────────────── */
.partners-right {
  flex: 1;
  max-width: 40.4375rem;
  /* 647px */
}

.partners-img {
  width: 100%;
  height: 30.5rem;
  /* 488px */
  object-fit: cover;
  object-position: center;
  border-radius: 1.1875rem;
  /* 19px */
  display: block;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1100px) {
  .partners-inner {
    gap: 3rem;
  }

  .partners-heading {
    font-size: 3.5rem;
  }
}

@media (max-width: 900px) {
  .partners-inner {
    flex-direction: column;
    padding: 0 3rem;
  }

  .partners-left {
    width: 100%;
  }

  .partners-right {
    width: 100%;
    max-width: 100%;
  }

  .partners-img {
    height: 22rem;
  }
}

@media (max-width: 768px) {
  .partners-section {
    padding: 4.5rem 0;
  }

  .partners-inner {
    padding: 0 2.4rem;
    gap: 2.5rem;
  }

  .partners-heading {
    font-size: 2.8rem;
    line-height: 1.1;
    text-align: center;
  }

  .partners-img {
    height: 18rem;
  }

  .partners-left {
    text-align: center;
    align-items: center;
  }

  .partners-list li {
    padding-left: 0;
    text-align: center;
  }

  .partners-list li::before {
    position: relative;
    left: auto;
    margin-right: 0.5rem;
  }

  .partners-btn {
    align-self: center;
  }
}


/* ══ BUILT TO LIVE BEYOND THE EVENT ═════════════════════
   Figma: black bg | image left (647×351px) | text right (562px)
   Left gutter: 67px | gap: ~95px | right col starts at 809px
   ══════════════════════════════════════════════════════ */
.beyond-section {
  background: #000;
  padding: 6.5rem 0;
}

.beyond-inner {
  display: flex;
  align-items: flex-start;
  /* top-align so text padding-top controls offset */
  max-width: 90rem;
  /* 1440px */
  margin: 0 auto;
  /* Center the container */
  padding: 0 4.1875rem;
  /* 67px gutter on both sides */
  gap: 5.9375rem;
  /* 95px gap between cols */
}

/* ── Left: image ─────────────────────────────────────── */
.beyond-left {
  flex-shrink: 0;
  width: 40.4375rem;
  /* 647px */
}

.beyond-img {
  width: 100%;
  height: 21.9375rem;
  /* 351px */
  object-fit: cover;
  object-position: center;
  border-radius: 1.1875rem;
  /* 19px */
  display: block;
}

/* ── Right: text ─────────────────────────────────────── */
.beyond-right {
  flex: 1;
  max-width: 35.125rem;
  /* 562px */
  padding-top: 3.25rem;
  /* 52px — Figma heading offset from section top */
}

/* Heading: Bebas Neue 65px / 69px lh, max-width 406px */
.beyond-heading {
  font-family: var(--font-display);
  font-size: 4.0625rem;
  /* 65px */
  font-weight: 400;
  line-height: 4.3125rem;
  /* 69px */
  color: #fff;
  text-transform: uppercase;
  max-width: 25.375rem;
  /* 406px */
  margin: 0 0 2.125rem;
  /* 34px gap to description */
}

/* Description: Urbanist 19px / 22px lh */
.beyond-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22px */
  color: #fff;
  margin: 0;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1100px) {
  .beyond-inner {
    gap: 3rem;
  }

  .beyond-heading {
    font-size: 3.5rem;
  }
}

@media (max-width: 900px) {
  .beyond-inner {
    flex-direction: column;
    padding: 0 3rem;
  }

  .beyond-left {
    width: 100%;
  }

  .beyond-img {
    height: 18rem;
  }

  .beyond-right {
    padding-top: 0;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .beyond-section {
    padding: 4.5rem 0;
  }

  .beyond-inner {
    padding: 0 2.4rem;
    gap: 2.5rem;
  }

  .beyond-heading {
    font-size: 2.8rem;
    line-height: 1.1;
  }
}


/* ══ FOUNDERS ══ */
.founders-section {
  background: #000;
  padding: 6.5rem 0;
}

.founders-featured-card {
  display: flex;
  background: #FFFFFF;
  border-radius: 3.125rem;
  /* 50px */
  max-width: 87.125rem;
  /* 1394px */
  margin: 0 auto 3rem;
  /* 3rem bottom margin before CTA */
  overflow: hidden;
  height: 25rem;
  /* 400px */
}

.founders-card-left {
  width: 32.625rem;
  /* 522px (matches Rectangle 96 spec) */
  height: 100%;
}

.founders-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
  /* Matrix(-1,0,0,1,0,0) is flip horizontal */
  border-radius: 0 3.125rem 3.125rem 0;
  /* 0 50px 50px 0 */
  object-position: center top;
}

.founders-card-right {
  flex: 1;
  padding: 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.founders-card-heading {
  font-family: var(--font-display);
  font-size: 4rem;
  /* 64px */
  font-weight: 400;
  line-height: 4.0625rem;
  /* 65px */
  color: #DE0B1B;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  max-width: 36.1875rem;
  /* 579px */
}

.founders-card-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 400;
  line-height: 1.5rem;
  /* 24px */
  color: #000000;
  margin: 0;
  max-width: 36.1875rem;
  /* 579px */
}

.founders-cta {
  text-align: center;
}

.invite-section {
  background: var(--black);
  padding: 5rem 4.375rem 6.25rem;
  /* 80÷16 70÷16 100÷16 */
}

.invite-card {
  background: #171717;
  border-radius: 3.75rem;
  /* 60÷16 */
  max-width: 81.375rem;
  /* 1302÷16 */
  margin: 0 auto;
  padding: 4.8125rem 4.3125rem 5rem;
  /* 77÷16 69÷16 80÷16 */
}

.invite-card h2 {
  font-family: var(--font-display);
  font-size: 4.875rem;
  /* 78÷16 */
  font-weight: 400;
  line-height: 4.625rem;
  /* 74÷16 */
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  max-width: 50.75rem;
  /* 812÷16 */
  margin-bottom: 2.6875rem;
  /* 43÷16 */
}

.invite-desc {
  font-family: 'Urbanist', var(--font-body);
  font-size: 1.1875rem;
  /* 19÷16 */
  font-weight: 400;
  line-height: 1.375rem;
  /* 22÷16 */
  color: var(--white);
  max-width: 27.5625rem;
  /* 441÷16 */
  margin-bottom: 3.6875rem;
  /* 59÷16 */
}

.inv-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3rem;
  /* 48÷16 */
  align-items: stretch;
}

.inv-col-left {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.inv-col-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.inv-field {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-bottom: 2.5rem;
  /* 40÷16 */
}

.inv-field:last-child {
  padding-bottom: 0;
}

.inv-field label {
  font-family: var(--font-display);
  font-size: 1.25rem;
  /* 20÷16 */
  font-weight: 400;
  line-height: 1.875rem;
  /* 30÷16 */
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 0.25rem;
  /* 4÷16 */
}

.req {
  color: var(--white);
  opacity: 0.7;
}

.opt {
  font-family: var(--font-display);
  font-size: 1rem;
  /* 16÷16 */
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.inv-field input,
.inv-field select,
.inv-field textarea {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  color: var(--white);
  font-family: 'Urbanist', var(--font-body);
  font-size: 1rem;
  /* 16÷16 */
  font-weight: 400;
  padding: 0.625rem 0;
  /* 10÷16 */
  outline: none;
  width: 100%;
  transition: border-color var(--t-fast);
  -webkit-appearance: none;
  border-radius: 0;
}

.inv-field input:focus,
.inv-field select:focus,
.inv-field textarea:focus {
  border-bottom-color: var(--white);
}

.inv-field input::placeholder,
.inv-field textarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.inv-field select option {
  background: #171717;
  color: var(--white);
}

.inv-submit-wrap {
  display: flex;
  align-items: center;
  padding-top: 1rem;
  /* 16÷16 */
}

.inv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8.375rem;
  /* 134÷16 */
  height: 2.875rem;
  /* 46÷16 */
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 10.875rem;
  /* 174÷16 */
  background: transparent;
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast);
}

.inv-btn span {
  font-family: var(--font-display);
  font-size: 1.75rem;
  /* 28÷16 */
  font-weight: 400;
  line-height: 1.5rem;
  /* 24÷16 */
  text-align: center;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.inv-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.85);
}


/* ══ GLOBAL SECTION RESPONSIVE ══
   At 768px and below: html font-size = 10px, so 1rem = 10px.
   Values here are sized for comfortable mobile reading.           */

@media (max-width: 1024px) {
  .for-body {
    padding: 4.8rem 4rem;
  }
}

@media (max-width: 768px) {

  /* Sections: single column, reduced padding */
  .invite-section {
    padding: 4rem 2rem 6rem;
  }

  .invite-card {
    padding: 4rem 3rem;
    border-radius: 3rem;
  }

  .invite-card h2 {
    font-size: 3.5rem !important;
    line-height: 1;
    margin-bottom: 2rem;
  }

  .invite-desc {
    font-size: 1.5rem;
    line-height: 1.6;
    margin-bottom: 3rem;
  }

  .inv-form {
    grid-template-columns: 1fr;
  }

  .inv-field label {
    font-size: 1.6rem;
  }

  .inv-field input,
  .inv-field textarea {
    font-size: 1.5rem;
    padding: 0.8rem 0;
  }

  .inv-btn {
    width: 12rem;
    height: 4.5rem;
  }

  .inv-btn span {
    font-size: 2rem;
  }

  /* For section */
  .for-row {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .for-img {
    min-height: 26rem;
  }

  .for-body {
    padding: 4rem 2rem;
  }

  .for-row:nth-child(even) .for-img {
    order: 0;
  }

  .for-row:nth-child(even) .for-body {
    order: 0;
  }

  .for-header {
    padding: 0 2rem 5.2rem;
  }

  /* Founders */
  .founders-grid {
    grid-template-columns: 1fr;
  }

  .founder-card {
    aspect-ratio: 4/3;
  }

  /* Stats card: stack vertically */
  .stats-section {
    padding: 4rem 1.5rem;
  }

  .stats-card {
    padding: 3rem 2rem;
    gap: 2.5rem;
  }

  .stat-value {
    font-size: 4.5rem;
  }

  .stat-label {
    font-size: 1.3rem;
  }

  .stat-cat {
    font-size: 1.2rem;
  }

  /* Story section headings */
  .story-heading {
    font-size: 3.5rem !important;
    line-height: 1.1 !important;
  }

  .story-body {
    font-size: 1.5rem;
    line-height: 1.6;
  }

  /* Platform section */
  .platform-section {
    padding: 5rem 2rem 6rem;
  }

  .platform-heading {
    font-size: 3.5rem !important;
    line-height: 1.1 !important;
  }

  .platform-body {
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .pcard-title {
    font-size: 2.4rem !important;
  }

  .pcard-desc {
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .pcard-link {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .for-body {
    padding: 3.6rem 1.6rem;
  }

  .invite-card {
    padding: 3rem 2rem;
  }

  .invite-card h2 {
    font-size: 2.8rem !important;
  }

  .story-heading {
    font-size: 2.8rem !important;
  }

  .platform-heading {
    font-size: 2.8rem !important;
  }
}

/* ══ ANIMATIONS & EFFECTS ══════════════════════════════ */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

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

/* Stagger delays for lists */
.reveal-stagger>.reveal {
  transition-delay: 0.1s;
}

.reveal-stagger>.reveal:nth-child(2) {
  transition-delay: 0.2s;
}

.reveal-stagger>.reveal:nth-child(3) {
  transition-delay: 0.3s;
}

.reveal-stagger>.reveal:nth-child(4) {
  transition-delay: 0.4s;
}

.reveal-stagger>.reveal:nth-child(5) {
  transition-delay: 0.5s;
}