/* ---------- PAIN-POINT SLIDESHOW ---------- */
.pain-slider{
  width:100%; align-self:stretch; margin:28px 0 20px; padding:18px 20px 16px;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card);
}
.pain-eyebrow{
  font-family:'Spline Sans Mono', monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin:0 0 12px; text-align:center;
}
.pain-viewport{ overflow:hidden; }
.pain-track{ display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); }
.pain-slide{
  flex:0 0 100%; min-width:0; margin:0; padding:0 6px;
  display:flex; flex-direction:column; align-items:center; gap:10px; min-height:84px; justify-content:center;
  text-align:center;
}
.pain-slide p{
  font-family:'Archivo', sans-serif; font-size:16px; font-weight:600; line-height:1.45; color:var(--text); margin:0; max-width:520px;
}
.pain-slide cite{
  font-family:'Spline Sans Mono', monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--badge-color, var(--acid)); font-style:normal;
}
.pain-dots{ display:flex; justify-content:center; gap:6px; margin-top:14px; }
.pain-dot{
  width:6px; height:6px; border-radius:50%; border:none; padding:0; background:var(--line);
  cursor:pointer; transition:background .2s ease, transform .2s ease;
}
.pain-dot.active{ background:var(--acid); transform:scale(1.3); }

/* ---------- HERO CTAs ---------- */
.hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-top:10px; }
.hero-cta{
  font-family:'Archivo', sans-serif; font-weight:700; font-size:14px; letter-spacing:.02em;
  color:var(--bg); background:var(--acid); border-radius:9px; padding:14px 30px;
  text-decoration:none; display:inline-block;
}
.hero-cta:hover{ background:var(--acid-dim); }

/* ---------- FLOATING CTA ---------- */
.floating-cta-wrap{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:flex; justify-content:center; pointer-events:none;
  padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));
}
.floating-cta{
  transform:translateY(16px); opacity:0; pointer-events:none;
  font-family:'Archivo', sans-serif; font-weight:700; font-size:13.5px; letter-spacing:.02em;
  color:var(--bg); background:var(--acid); border-radius:100px;
  padding:13px 28px;
  text-decoration:none; box-shadow:0 14px 32px -10px rgba(0,0,0,0.65);
  transition:opacity .25s ease, transform .25s ease;
}
.floating-cta.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.floating-cta:hover{ background:var(--acid-dim); }

body.game-active{ overflow:hidden; }
body.game-active .floating-cta-wrap{ display:none; }

/* ---------- SHARED SECTION HEAD ---------- */
.section-head{ text-align:center; margin:0 0 22px; }
.section-head .eyebrow{ margin:0 auto 14px; }
.section-head h2{
  font-family:'Anton', sans-serif; font-weight:400; font-size:clamp(22px,5vw,32px);
  letter-spacing:.01em; text-transform:uppercase; margin:0 0 8px; line-height:1.05;
}
.section-head h2 .hl{ color:var(--acid); }
.section-head p{
  font-family:'Archivo', sans-serif; font-size:13px; color:var(--muted); max-width:440px; margin:0 auto; line-height:1.55;
}
.personas, .features, .sports-strip{ margin:46px 0; }

/* ---------- PERSONAS ---------- */
.persona-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
@media (max-width:720px){ .persona-grid{ grid-template-columns:1fr; } }
.persona-card{
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:24px 20px; text-align:left;
}
.persona-icon{
  width:46px; height:46px; display:flex; align-items:center; justify-content:center; font-size:22px;
  border-radius:10px; background:var(--card-2); border:1px solid var(--line); margin-bottom:14px; transform:skewX(-5deg);
}
.persona-icon span{ display:block; transform:skewX(5deg); }
.persona-card h3{
  font-family:'Anton', sans-serif; font-weight:400; font-size:17px; text-transform:uppercase; margin:0 0 8px; letter-spacing:.01em;
}
.persona-card p{ font-family:'Archivo', sans-serif; font-size:13px; line-height:1.6; color:var(--muted); margin:0; }

/* ---------- FEATURES ---------- */
.feature-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
@media (max-width:720px){ .feature-grid{ grid-template-columns:1fr; } }
.feature-card{ border:1px solid var(--line); border-radius:12px; background:var(--card); padding:18px 16px; }
.feature-icon{ font-size:20px; margin-bottom:10px; }
.feature-card h3{
  font-family:'Anton', sans-serif; font-weight:400; font-size:14.5px; text-transform:uppercase; margin:0 0 6px; letter-spacing:.01em;
}
.feature-card p{ font-family:'Archivo', sans-serif; font-size:12.5px; line-height:1.55; color:var(--muted); margin:0; }
.features-more{
  text-align:center; margin:16px 0 0; font-family:'Spline Sans Mono', monospace; font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}

/* ---------- SPORTS STRIP ---------- */
.sports-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.sport-badge{
  display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:100px;
  padding:9px 16px 9px 12px; background:var(--card); color:var(--badge-color, var(--acid));
}
.sport-badge svg{ width:20px; height:20px; display:block; }
.sport-badge span{
  font-family:'Spline Sans Mono', monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text);
}

/* ---------- CLUB CONTACT ---------- */
.club-contact{ margin:46px 0 46px; }
.club-form{
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:26px 24px;
}

/* ---------- FOOTER ---------- */
.site-footer{ margin-top:50px; padding-top:30px; border-top:1px solid var(--line); }
.footer-top{ display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; margin-bottom:24px; }
.footer-brand{ max-width:300px; }
.footer-brand p{ font-family:'Archivo', sans-serif; font-size:12.5px; color:var(--muted); line-height:1.6; margin:10px 0 0; }
.footer-col{ display:flex; flex-direction:column; gap:9px; min-width:140px; }
.footer-col-title{
  font-family:'Spline Sans Mono', monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted-2); margin:0 0 4px;
}
.footer-col a{ font-family:'Archivo', sans-serif; font-size:12.5px; color:var(--muted); text-decoration:none; }
.footer-col a:not(.footer-social-icon):hover{ color:var(--acid); }
.footer-social-row{ display:flex; gap:10px; }
.footer-social-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border:1px solid var(--line); border-radius:50%;
  color:var(--muted); text-decoration:none;
  transition:background .14s ease, color .14s ease, border-color .14s ease;
}
.footer-social-icon svg{ width:17px; height:17px; display:block; }
.footer-social-icon:hover{ background:var(--acid); color:var(--bg); border-color:var(--acid); }
.footer-bottom{
  display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between;
  font-family:'Spline Sans Mono', monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted-2); padding-top:18px; border-top:1px solid var(--line-soft); margin-bottom:24px;
}
.footer-bottom a{ color:var(--muted-2); text-decoration:none; }
.footer-bottom a:hover{ color:var(--acid); }
