/* ═══ V2 DESIGN SYSTEM - Run4Zones ═══ */
/* Import centralized Brand Design Tokens */
@import url('/css/design-tokens.css');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {
  /* ─── Aliases (map V2 names → Brand Tokens) ─── */
  --v2-black:    var(--r4z-midnight);
  --v2-dark:     var(--r4z-navy);
  --v2-card:     var(--r4z-card);
  --v2-border:   var(--r4z-border);
  --v2-text:     var(--r4z-text-primary);
  --v2-muted:    var(--r4z-text-secondary);
  --v2-accent:   var(--r4z-green);
  --v2-glow:     var(--r4z-neon);
  --v2-blue:     var(--r4z-blue);
  --v2-gradient: var(--r4z-gradient-accent);
  --v2-radius:   var(--r4z-radius-lg);
  --v2-gradient-blue: var(--r4z-gradient-blue);
}

/* Reset */
.v2 * { margin:0; padding:0; box-sizing:border-box; }
html.v2-html { overflow-x:hidden; }
.v2 { font-family:var(--r4z-font-primary); background:var(--v2-black); color:var(--v2-text); overflow-x:hidden; scroll-behavior:smooth; position:relative; width:100%; }
.v2 a { color:inherit; text-decoration:none; }

/* ─── Blue Accent Utilities ─── */
.v2-blue-text { color: var(--v2-blue) !important; }
.v2-blue-gradient { background: var(--v2-gradient-blue); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.v2-feature-icon.blue { background: rgba(41,121,255,.12); }
.v2-feature-icon.blue svg { stroke: var(--v2-blue); }
.v2-feature:hover .v2-feature-icon.blue { background: rgba(41,121,255,.25); }
.v2-card-icon.blue { background: rgba(41,121,255,.12); }
.v2-card-icon.blue svg { stroke: var(--v2-blue); }
.v2-step:hover .v2-step-num.blue { background: var(--v2-blue); box-shadow: 0 0 30px rgba(41,121,255,.35); }
.v2-step-num.blue { border-color: rgba(41,121,255,.25); color: var(--v2-blue); background: rgba(41,121,255,.08); }
.v2-section-label.blue { color: var(--v2-blue); }
.v2-section-label.blue::before { background: var(--v2-gradient-blue); }
.v2-btn-blue { background: var(--v2-gradient-blue); color: #fff !important; -webkit-text-fill-color: #fff; }
.v2-btn-blue:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(41,121,255,.35); }
.v2-btn-outline-blue { border-color: rgba(41,121,255,.3); }
.v2-btn-outline-blue:hover { border-color: var(--v2-blue); color: var(--v2-blue); }
/* ─── Particle Canvas ─── */
#v2-particles { position:fixed; inset:0; z-index:0; pointer-events:none; }

/* ─── Nav ─── */
.v2-nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:var(--r4z-space-md) var(--r4z-space-xl); display:flex; align-items:center; justify-content:space-between; backdrop-filter:blur(20px); background:rgba(12,23,48,0.85); border-bottom:1px solid var(--v2-border); transition:all var(--r4z-duration-normal); }
.v2-nav.scrolled { padding:.6rem 2rem; background:rgba(12,23,48,0.95); }
.v2-logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.v2-logo-hex { flex-shrink:0; filter:drop-shadow(0 0 6px rgba(41,121,255,.25)); transition:filter .3s; }
.v2-logo:hover .v2-logo-hex { filter:drop-shadow(0 0 12px rgba(41,121,255,.45)); }
.v2-logo-text { font-weight:900; font-size:1.25rem; font-style:italic; letter-spacing:.04em; line-height:1; }
.v2-logo-text .run { color:var(--v2-text); -webkit-text-fill-color:var(--v2-text); }
.v2-logo-text .four { background:var(--v2-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.v2-logo-text .zones { color:var(--v2-blue); -webkit-text-fill-color:var(--v2-blue); }
.v2-nav-links { display:flex; gap:2rem; align-items:center; }
.v2-nav-links a { font-size:.85rem; font-weight:600; color:var(--v2-muted); transition:color .3s; position:relative; }
.v2-nav-links a:not(.v2-btn):hover { color:var(--v2-text); }
.v2-nav-links a:not(.v2-btn)::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--v2-gradient); transition:width .3s; }
.v2-nav-links a:not(.v2-btn):hover::after { width:100%; }

/* ─── Buttons ─── */
.v2-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 1.75rem; border-radius:50px; font-weight:700; font-size:.85rem; border:none; cursor:pointer; transition:all .3s; font-family:inherit; }
.v2-btn-primary { background:var(--v2-gradient); color:var(--r4z-text-inverse) !important; position:relative; overflow:hidden; -webkit-text-fill-color:var(--r4z-text-inverse); }
.v2-btn-primary::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transform:translateX(-100%); transition:transform .6s; }
.v2-btn-primary:hover::before { transform:translateX(100%); }
.v2-btn-primary:hover { transform:translateY(-2px); box-shadow:var(--r4z-shadow-md); }
.v2-btn-outline { background:transparent; border:2px solid rgba(157,252,82,.25); color:var(--v2-text); }
.v2-btn-outline:hover { border-color:var(--v2-accent); color:var(--v2-accent); transform:translateY(-2px); }

/* ─── Hero ─── */
.v2-hero { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.v2-hero::before { content:''; position:absolute; top:-30%; right:-15%; width:70%; height:160%; background:radial-gradient(ellipse,rgba(157,252,82,.06) 0%,transparent 55%); pointer-events:none; animation:heroGlow 6s ease-in-out infinite alternate; }
@keyframes heroGlow { 0%{opacity:.5;transform:scale(1)} 100%{opacity:1;transform:scale(1.1)} }
.v2-hero-inner { max-width:1320px; margin:0 auto; padding:8rem 2rem 4rem; display:grid; grid-template-columns:1.3fr 1fr; gap:3rem; align-items:center; width:100%; position:relative; z-index:1; }

/* Hero Tag */
.v2-hero-tag { display:inline-flex; align-items:center; gap:.5rem; background:rgba(157,252,82,.08); border:1px solid rgba(157,252,82,.2); border-radius:50px; padding:.4rem 1rem; font-size:.7rem; font-weight:700; color:var(--v2-accent); text-transform:uppercase; letter-spacing:.12em; margin-bottom:1.5rem; }
.v2-hero-tag .dot { width:6px; height:6px; border-radius:50%; background:var(--v2-accent); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.6)} }

/* Hero Title with word animation */
.v2-hero h1 { font-size:clamp(2.8rem,5.5vw,5rem); font-weight:900; line-height:1.05; letter-spacing:-.03em; margin-bottom:1.5rem; }
.v2-hero h1 .word { display:inline-block; opacity:0; transform:translateY(40px) rotateX(-15deg); }
.v2-hero h1 em { font-style:normal; background:var(--v2-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; position:relative; }
.v2-hero h1 em::after { content:''; position:absolute; bottom:-4px; left:0; width:5.5em; height:3px; background:var(--v2-gradient); border-radius:2px; transform:scaleX(0); transform-origin:left; animation:underlineIn .8s 1.5s forwards; }
@keyframes underlineIn { to{transform:scaleX(1)} }

.v2-hero-sub { font-size:1.1rem; color:var(--v2-muted); line-height:1.7; max-width:480px; margin-bottom:2rem; opacity:0; transform:translateY(20px); }
.v2-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; opacity:0; transform:translateY(20px); }

/* Rotating Word */
.v2-rotating-word { display:inline-block; position:relative; overflow:hidden; vertical-align:bottom; height:1.15em; line-height:1.15; min-width:5.5em; }
.v2-rotating-word-inner { display:inline-block; transition:transform .5s cubic-bezier(.4,0,.2,1), opacity .5s ease; background:var(--v2-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.v2-rotating-word-inner.out { transform:translateY(-110%); opacity:0; position:absolute; left:0; top:0; }
.v2-rotating-word-inner.in { transform:translateY(0); opacity:1; }


/* Hero Image */
.v2-hero-img { position:relative; opacity:0; transform:translateX(60px) scale(.95); }
.v2-hero-img img { width:100%; border-radius:var(--v2-radius); object-fit:cover; aspect-ratio:4/5; }
.v2-hero-img::after { content:''; position:absolute; inset:0; border-radius:var(--v2-radius); background:linear-gradient(to top,var(--v2-black),transparent 40%); }
.v2-hero-img::before { content:''; position:absolute; inset:-3px; border-radius:calc(var(--v2-radius) + 3px); background:linear-gradient(135deg, var(--v2-blue), var(--v2-accent)); opacity:.2; z-index:-1; animation:borderPulse 3s ease-in-out infinite; }
@keyframes borderPulse { 0%,100%{opacity:.1} 50%{opacity:.35} }

/* Countdown */
.v2-hero-countdown { margin-top:2rem; padding:1.25rem 1.5rem; background:rgba(30,47,84,.6); border:1px solid var(--v2-border); border-radius:var(--v2-radius); display:inline-flex; flex-direction:column; gap:.75rem; backdrop-filter:blur(10px); opacity:0; transform:translateY(20px); }
.v2-cd-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--v2-accent); }
.v2-cd-timer { display:flex; gap:.75rem; align-items:center; }
.v2-cd-unit { text-align:center; }
.v2-cd-val { font-size:1.75rem; font-weight:900; font-variant-numeric:tabular-nums; line-height:1; }
.v2-cd-desc { font-size:.6rem; text-transform:uppercase; color:var(--v2-muted); font-weight:600; letter-spacing:.05em; }
.v2-cd-sep { font-size:1.2rem; font-weight:900; color:var(--v2-muted); margin-top:-.5rem; animation:blink 1s steps(1) infinite; }
@keyframes blink { 50%{opacity:0} }

/* ─── Section ─── */
.v2-section { padding:7rem 2rem; max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.v2-section-label { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.2em; color:var(--v2-accent); margin-bottom:.75rem; display:flex; align-items:center; gap:.75rem; }
.v2-section-label::before { content:''; width:30px; height:2px; background:var(--v2-gradient); }
.v2-section h2 { font-size:clamp(2rem,4vw,3.2rem); font-weight:900; line-height:1.1; letter-spacing:-.02em; margin-bottom:1rem; }
.v2-section h2 em { font-style:normal; background:var(--v2-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.v2-section h2 em.blue { background:var(--v2-gradient-blue); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.v2-section-sub { color:var(--v2-muted); font-size:1rem; max-width:560px; line-height:1.7; margin-bottom:3.5rem; }

/* ─── Divider ─── */
.v2-divider { height:1px; background:linear-gradient(90deg,transparent,var(--v2-accent),transparent); max-width:1200px; margin:0 auto; opacity:.15; }
.v2-divider.blue { background:linear-gradient(90deg,transparent,var(--v2-blue),transparent); }

/* ─── Feature Grid ─── */
.v2-features { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.v2-feature { background:rgba(30,47,84,.5); border:1px solid var(--v2-border); border-radius:var(--v2-radius); padding:2rem; transition:all .4s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; cursor:pointer; backdrop-filter:blur(5px); }
.v2-feature::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--v2-gradient); transform:scaleX(0); transition:transform .4s; }
.v2-feature:hover::before { transform:scaleX(1); }
.v2-feature:hover { border-color:rgba(157,252,82,.25); transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.3),0 0 30px rgba(157,252,82,.05); }
.v2-feature-icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; background:rgba(157,252,82,.1); transition:all .3s; }
.v2-feature:hover .v2-feature-icon { background:rgba(157,252,82,.2); transform:scale(1.1); }
.v2-feature-icon svg { width:24px; height:24px; stroke:var(--v2-accent); stroke-width:2; fill:none; }
.v2-feature h3 { font-size:1.05rem; font-weight:800; margin-bottom:.5rem; }
.v2-feature p { font-size:.85rem; color:var(--v2-muted); line-height:1.65; }

/* ─── How It Works ─── */
.v2-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; position:relative; }
.v2-steps::before { content:''; position:absolute; top:40px; left:10%; right:10%; height:2px; background:linear-gradient(90deg,transparent,rgba(157,252,82,.2),rgba(157,252,82,.2),transparent); }
.v2-step { position:relative; text-align:center; padding-top:1rem; }
.v2-step-num { width:56px; height:56px; border-radius:50%; background:rgba(157,252,82,.08); border:2px solid rgba(157,252,82,.2); display:flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:900; color:var(--v2-accent); margin:0 auto 1.5rem; transition:all .4s; position:relative; z-index:1; }
.v2-step:hover .v2-step-num { background:var(--v2-accent); color:var(--v2-black); transform:scale(1.15); box-shadow:0 0 30px rgba(157,252,82,.3); }
.v2-step h4 { font-size:1rem; font-weight:800; margin-bottom:.5rem; }
.v2-step p { font-size:.85rem; color:var(--v2-muted); line-height:1.6; }

/* ─── Leaderboard / Competition ─── */
.v2-competition { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.v2-leaderboard { background:rgba(30,47,84,.4); border:1px solid var(--v2-border); border-radius:var(--v2-radius); overflow:hidden; backdrop-filter:blur(10px); }
.v2-lb-header { padding:1.25rem 1.5rem; border-bottom:1px solid var(--v2-border); display:flex; justify-content:space-between; align-items:center; }
.v2-lb-title { font-weight:800; font-size:.9rem; display:flex; align-items:center; gap:.5rem; }
.v2-lb-badge { font-size:.65rem; background:rgba(41,121,255,.15); color:var(--v2-blue); padding:.2rem .6rem; border-radius:50px; font-weight:700; }
.v2-lb-row { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:1rem; padding:.85rem 1.5rem; border-bottom:1px solid rgba(157,252,82,.04); transition:background .3s; }
.v2-lb-row:hover { background:rgba(157,252,82,.03); }
.v2-lb-rank { font-weight:900; font-size:.85rem; color:var(--v2-muted); }
.v2-lb-row:nth-child(2) .v2-lb-rank { color:var(--r4z-league-gold); }
.v2-lb-row:nth-child(3) .v2-lb-rank { color:var(--r4z-league-silver); }
.v2-lb-row:nth-child(4) .v2-lb-rank { color:var(--r4z-league-bronze); }
.v2-lb-name { font-weight:600; font-size:.85rem; }
.v2-lb-name small { display:block; font-size:.7rem; color:var(--v2-muted); font-weight:400; }
.v2-lb-xp { font-weight:800; font-size:.8rem; color:var(--v2-accent); }
.v2-comp-text h3 { font-size:1.8rem; font-weight:900; margin-bottom:1rem; line-height:1.2; }
.v2-comp-text h3 em { font-style:normal; background:var(--v2-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.v2-comp-text p { color:var(--v2-muted); line-height:1.7; margin-bottom:1.5rem; }
.v2-league-badges { display:flex; gap:.5rem; flex-wrap:wrap; }
.v2-league-badge { padding:.4rem .8rem; border-radius:50px; font-size:.7rem; font-weight:700; border:1px solid rgba(157,252,82,.15); background:rgba(157,252,82,.05); color:var(--v2-muted); transition:all .3s; cursor:default; }
.v2-league-badge:hover { border-color:var(--v2-accent); color:var(--v2-accent); transform:translateY(-2px); }

/* ─── Stats Marquee ─── */
.v2-marquee-wrap { overflow:hidden; padding:3rem 0; position:relative; z-index:1; width:100%; max-width:100vw; }
.v2-marquee-wrap::before,.v2-marquee-wrap::after { content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2; }
.v2-marquee-wrap::before { left:0; background:linear-gradient(90deg,var(--v2-black),transparent); }
.v2-marquee-wrap::after { right:0; background:linear-gradient(270deg,var(--v2-black),transparent); }
.v2-marquee { display:flex; gap:3rem; animation:marquee 25s linear infinite; width:max-content; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.v2-marquee-item { display:flex; align-items:center; gap:.75rem; white-space:nowrap; font-weight:700; font-size:1.1rem; color:var(--v2-muted); }
.v2-marquee-item svg { width:20px; height:20px; stroke:var(--v2-accent); stroke-width:2; fill:none; }

/* ─── CTA ─── */
.v2-cta { margin:4rem 2rem; max-width:1200px; margin-left:auto; margin-right:auto; background:var(--v2-gradient); border-radius:var(--v2-radius); padding:5rem 4rem; text-align:center; position:relative; overflow:hidden; z-index:1; }
.v2-cta::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); animation:patternMove 20s linear infinite; }
@keyframes patternMove { 0%{transform:translateX(0)} 100%{transform:translateX(60px)} }
.v2-cta h2 { font-size:var(--r4z-text-2xl); font-weight:var(--r4z-weight-black); margin-bottom:var(--r4z-space-md); position:relative; color:var(--r4z-text-inverse); }
.v2-cta p { font-size:var(--r4z-text-lg); max-width:500px; margin:0 auto var(--r4z-space-2xl); position:relative; color:rgba(12,23,48,.7); }
.v2-cta .v2-btn { background:var(--r4z-midnight); color:var(--r4z-green) !important; -webkit-text-fill-color:var(--r4z-green); font-weight:var(--r4z-weight-extrabold); position:relative; font-size:.95rem; padding:.9rem 2.5rem; }
.v2-cta .v2-btn:hover { transform:translateY(-3px); box-shadow:var(--r4z-shadow-lg); }
.v2-cta input,.v2-cta .v2-input { background:rgba(12,23,48,.85); color:var(--r4z-text-primary); -webkit-text-fill-color:var(--r4z-text-primary); border:2px solid rgba(12,23,48,.3); }
.v2-cta input::placeholder { color:rgba(245,245,247,.5); -webkit-text-fill-color:rgba(245,245,247,.5); }

/* ─── Footer ─── */
.v2-footer { border-top:1px solid var(--v2-border); padding:3rem 2rem 2rem; max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; position:relative; z-index:1; }
.v2-footer-links { display:flex; gap:1.5rem; }
.v2-footer-links a { font-size:.8rem; color:var(--v2-muted); transition:color .3s; }
.v2-footer-links a:hover { color:var(--v2-accent); }
.v2-footer-copy { font-size:.75rem; color:var(--v2-muted); }

/* ─── Scroll Reveal ─── */
.v2-reveal { opacity:0; transform:translateY(40px); }
.v2-reveal.visible { opacity:1; transform:translateY(0); transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1); }
.v2-reveal-left { opacity:0; transform:translateX(-50px); }
.v2-reveal-left.visible { opacity:1; transform:translateX(0); transition:opacity .7s,transform .7s cubic-bezier(.4,0,.2,1); }
.v2-reveal-right { opacity:0; transform:translateX(50px); }
.v2-reveal-right.visible { opacity:1; transform:translateX(0); transition:opacity .7s,transform .7s cubic-bezier(.4,0,.2,1); }
.v2-reveal-scale { opacity:0; transform:scale(.85); }
.v2-reveal-scale.visible { opacity:1; transform:scale(1); transition:opacity .6s,transform .6s cubic-bezier(.34,1.56,.64,1); }

/* Stagger children */
.v2-stagger .v2-reveal:nth-child(1) { transition-delay:.05s; }
.v2-stagger .v2-reveal:nth-child(2) { transition-delay:.12s; }
.v2-stagger .v2-reveal:nth-child(3) { transition-delay:.19s; }
.v2-stagger .v2-reveal:nth-child(4) { transition-delay:.26s; }
.v2-stagger .v2-reveal:nth-child(5) { transition-delay:.33s; }
.v2-stagger .v2-reveal:nth-child(6) { transition-delay:.40s; }

/* ═══════════════════════════════════════════════ */
/* ═══ SUBPAGE STYLES ═══ */
/* ═══════════════════════════════════════════════ */

/* ─── Page Hero ─── */
.v2-page-hero { min-height: 40vh; display: flex; align-items: flex-end; position: relative; padding: 8rem 2rem 3rem; }
.v2-page-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 100%, rgba(157,252,82,.06) 0%, transparent 60%); pointer-events: none; }
.v2-page-hero-inner { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }
.v2-page-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; line-height: 1.1; letter-spacing: -.02em; margin-bottom: .75rem; }
.v2-page-hero h1 em { font-style: normal; background: var(--v2-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* ─── Back Link ─── */
.v2-back-link { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 600; color: var(--v2-muted); transition: color .3s; }
.v2-back-link:hover { color: var(--v2-accent); }

/* ─── Card (reusable glass card) ─── */
.v2-card { background: rgba(30,47,84,.5); border: 1px solid var(--v2-border); border-radius: var(--v2-radius); padding: 2rem; backdrop-filter: blur(5px); transition: all .4s cubic-bezier(.4,0,.2,1); }
.v2-card:hover { border-color: rgba(157,252,82,.2); }
.v2-card h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: .5rem; }
.v2-card p { font-size: .85rem; color: var(--v2-muted); line-height: 1.7; }
.v2-card a { color: var(--v2-accent); }

/* Card Icon */
.v2-card-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(157,252,82,.1); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.v2-card-icon svg { width: 22px; height: 22px; stroke: var(--v2-accent); stroke-width: 2; fill: none; }

/* ─── Form System ─── */
.v2-form { display: flex; flex-direction: column; gap: 1.25rem; }
.v2-form-group { display: flex; flex-direction: column; gap: .4rem; }
.v2-form-group label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--v2-muted); }
.v2-input,
.v2-form-group input,
.v2-form-group select,
.v2-form-group textarea {
  padding: .85rem 1rem;
  background: rgba(12,23,48,.6);
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  color: var(--v2-text);
  font-family: inherit;
  font-size: .9rem;
  outline: none;
  transition: border-color .3s, box-shadow .3s;
  resize: vertical;
}
.v2-form-group input:focus,
.v2-form-group select:focus,
.v2-form-group textarea:focus,
.v2-input:focus {
  border-color: var(--v2-accent);
  box-shadow: 0 0 0 3px rgba(157,252,82,.1);
}
.v2-form-group select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238892a4' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; }
.v2-form-icon { width: 56px; height: 56px; border-radius: 16px; background: rgba(157,252,82,.1); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.v2-form-icon svg { width: 28px; height: 28px; stroke: var(--v2-accent); stroke-width: 2; fill: none; }
.v2-btn-full { width: 100%; justify-content: center; }

/* ─── Link ─── */
.v2-link { font-size: .8rem; font-weight: 700; color: var(--v2-accent); transition: opacity .3s; }
.v2-link:hover { opacity: .7; }

/* ─── Beta Grid ─── */
.v2-beta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 1200px; margin: 0 auto; }
.v2-beta-form-card { align-self: start; position: sticky; top: 6rem; }
.v2-perks-grid { display: flex; flex-direction: column; gap: 1rem; }
.v2-perk { display: flex; gap: 1rem; align-items: flex-start; }
.v2-perk .v2-card-icon { flex-shrink: 0; margin-bottom: 0; }
.v2-perk strong { display: block; margin-bottom: .25rem; font-size: .9rem; }
.v2-perk p { font-size: .8rem; }

/* Mini Timeline */
.v2-timeline-mini { display: flex; flex-direction: column; gap: .75rem; }
.v2-timeline-item { display: flex; gap: 1rem; align-items: start; }
.v2-timeline-date { color: var(--v2-accent); font-weight: 800; min-width: 80px; font-size: .85rem; }
.v2-timeline-item span:last-child { font-size: .85rem; color: var(--v2-muted); }

/* ─── Contact Grid ─── */
.v2-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; max-width: 1200px; margin: 0 auto; }

/* ─── Blog ─── */
.v2-blog-featured { margin-bottom: 3rem; }
.v2-blog-featured-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.v2-blog-featured-image { position: relative; border-radius: 12px; overflow: hidden; }
.v2-blog-featured-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.v2-blog-tag { position: absolute; top: .75rem; left: .75rem; background: var(--v2-accent); color: var(--v2-black); padding: .25rem .75rem; border-radius: 50px; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.v2-blog-featured-content h2 { font-size: 1.5rem; font-weight: 800; margin: .5rem 0 .75rem; line-height: 1.3; }
.v2-blog-featured-content p { font-size: .95rem; color: var(--v2-muted); line-height: 1.7; margin-bottom: 1.5rem; }

.v2-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.v2-blog-card { padding: 0; overflow: hidden; }
.v2-blog-card-image { position: relative; }
.v2-blog-card-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.v2-blog-card-body { padding: 1.5rem; }
.v2-blog-card-body h3 { font-size: 1rem; font-weight: 700; margin: .4rem 0 .5rem; line-height: 1.4; }
.v2-blog-card-body p { font-size: .82rem; color: var(--v2-muted); line-height: 1.6; margin-bottom: .75rem; }

/* Article */
.v2-article { max-width: 800px; margin: 0 auto; }
.v2-article-hero { border-radius: var(--v2-radius); overflow: hidden; margin-bottom: 2.5rem; }
.v2-article-hero img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.v2-article-body h2 { font-size: 1.4rem; font-weight: 800; margin: 2rem 0 .75rem; }
.v2-article-body p { font-size: .95rem; color: var(--v2-muted); line-height: 1.8; margin-bottom: 1rem; }
.v2-article-body ul { list-style: none; padding: 0; margin-bottom: 1.5rem; }
.v2-article-body ul li { padding: .5rem 0 .5rem 1.5rem; font-size: .9rem; color: var(--v2-muted); line-height: 1.6; position: relative; }
.v2-article-body ul li::before { content: ''; position: absolute; left: 0; top: 1rem; width: 6px; height: 6px; border-radius: 50%; background: var(--v2-accent); }

/* ─── FAQ ─── */
.v2-faq-item { cursor: pointer; }
.v2-faq-item:hover { border-color: rgba(157,252,82,.2); }

/* ─── About Timeline ─── */
.v2-timeline { max-width: 700px; margin: 0 auto 4rem; position: relative; padding-left: 2rem; }
.v2-timeline::before { content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, rgba(157,252,82,.3), rgba(157,252,82,.05)); }
.v2-timeline-entry { position: relative; margin-bottom: 2rem; }
.v2-timeline-marker { position: absolute; left: -2rem; top: 1.5rem; width: 18px; height: 18px; border-radius: 50%; background: rgba(30,47,84,.8); border: 3px solid rgba(157,252,82,.3); z-index: 1; }
.v2-timeline-marker.active { background: var(--v2-accent); border-color: var(--v2-accent); box-shadow: 0 0 15px rgba(157,252,82,.4); }
.v2-timeline-entry .v2-card { margin-left: .5rem; }

/* ─── Values Grid ─── */
.v2-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

/* ─── Podium ─── */
.v2-podium { display: flex; justify-content: center; gap: 1.5rem; align-items: flex-end; margin-bottom: 2rem; }
.v2-podium-card { text-align: center; padding: 2rem 1.5rem; flex: 1; max-width: 220px; background: rgba(30,47,84,.5); border: 1px solid var(--v2-border); border-radius: var(--v2-radius); backdrop-filter: blur(5px); }
.v2-podium-1 { padding: 2.5rem 1.5rem; max-width: 240px; border-color: rgba(255,215,0,.2); }
.v2-podium-medal { font-size: 2rem; margin-bottom: .5rem; }
.v2-podium-avatar { width: 64px; height: 64px; border-radius: 50%; background: rgba(157,252,82,.1); margin: 0 auto .75rem; display: flex; align-items: center; justify-content: center; }
.v2-podium-avatar.gold { background: rgba(255,215,0,.12); width: 72px; height: 72px; }
.v2-podium-avatar svg { width: 28px; height: 28px; stroke: var(--v2-muted); stroke-width: 1.5; fill: none; }
.v2-podium-zones { display: block; margin-top: .25rem; color: var(--v2-accent); font-weight: 700; font-size: .85rem; }
.v2-podium-zones.gold { color: var(--r4z-league-gold); }

/* ─── Table ─── */
.v2-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.v2-table thead { border-bottom: 2px solid var(--v2-border); }
.v2-table th { padding: .75rem 1rem; text-align: left; font-weight: 700; color: var(--v2-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.v2-table td { padding: .75rem 1rem; border-bottom: 1px solid rgba(157,252,82,.04); }
.v2-table tr:hover { background: rgba(157,252,82,.03); }

/* ─── Teams Grid ─── */
.v2-teams-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.v2-team-card { transition: all .4s; }
.v2-team-card:hover { transform: translateY(-4px); border-color: rgba(157,252,82,.25); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.v2-team-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.v2-team-icon { width: 48px; height: 48px; border-radius: 12px; border: 2px solid; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-team-icon svg { width: 22px; height: 22px; stroke-width: 1.5; fill: none; }
.v2-team-stats { display: flex; gap: 1.5rem; }

/* ─── Legal ─── */
.v2-legal { max-width: 800px; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; gap: 1.25rem; }
.v2-legal .v2-card h2 { font-size: 1.05rem; font-weight: 800; margin-bottom: .75rem; color: var(--v2-text); background: none; -webkit-text-fill-color: inherit; }
.v2-legal .v2-card p { font-size: .88rem; color: var(--v2-muted); line-height: 1.8; }
.v2-legal .v2-card ul { list-style: none; padding: 0; margin-top: .5rem; }
.v2-legal .v2-card ul li { padding: .35rem 0 .35rem 1.25rem; font-size: .85rem; color: var(--v2-muted); position: relative; }
.v2-legal .v2-card ul li::before { content: ''; position: absolute; left: 0; top: .7rem; width: 5px; height: 5px; border-radius: 50%; background: var(--v2-accent); }
.v2-legal .v2-card a { color: var(--v2-accent); border-bottom: 1px dashed rgba(157,252,82,.3); transition: opacity .3s; }
.v2-legal .v2-card a:hover { opacity: .7; }

/* ─── Partnership Models ─── */
.v2-partner-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 4rem; }
.v2-partner-card { text-align: center; display: flex; flex-direction: column; align-items: center; }
.v2-partner-tier { font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; color: var(--v2-accent); background: rgba(157,252,82,.08); border: 1px solid rgba(157,252,82,.15); padding: .3rem 1rem; border-radius: 50px; margin-bottom: 1rem; }
.v2-partner-card h3 { font-size: 1.2rem; font-weight: 900; margin-bottom: 1.25rem; }
.v2-partner-card ul { list-style: none; padding: 0; margin-bottom: 1.5rem; flex: 1; text-align: left; width: 100%; }
.v2-partner-card ul li { padding: .4rem 0 .4rem 1.25rem; font-size: .85rem; color: var(--v2-muted); position: relative; line-height: 1.5; }
.v2-partner-card ul li::before { content: '✓'; position: absolute; left: 0; color: var(--v2-accent); font-weight: 800; font-size: .8rem; }
.v2-partner-price { font-weight: 800; font-size: .9rem; color: var(--v2-text); margin-top: auto; }
.v2-partner-featured { border-color: rgba(157,252,82,.3); transform: scale(1.03); box-shadow: 0 0 40px rgba(157,252,82,.08); }
.v2-partner-featured .v2-partner-tier { background: var(--v2-accent); color: var(--v2-black); border-color: var(--v2-accent); }

/* ─── Mobile Nav Hamburger ─── */
.v2-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; z-index:1002; background:none; border:none; position:relative; }
.v2-hamburger span { display:block; width:24px; height:2px; background:var(--v2-text); border-radius:2px; transition:all .3s ease; }
.v2-hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.v2-hamburger.active span:nth-child(2) { opacity:0; }
.v2-hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ─── Responsive ─── */
@media(max-width:900px){
  /* Nav */
  .v2-hamburger { display:flex; }
  .v2-nav { padding:.75rem 1.25rem; }
  .v2-nav.scrolled { padding:.6rem 1.25rem; }
  .v2-nav-links {
    position:fixed; top:0; right:-100%; width:min(320px,85vw); height:100vh;
    flex-direction:column; gap:0; align-items:stretch;
    background:rgba(12,23,48,0.98); backdrop-filter:blur(30px);
    padding:5rem 2rem 2rem; transition:right .35s ease;
    border-left:1px solid var(--v2-border); z-index:1001;
  }
  .v2-nav-links.open { right:0; }
  .v2-nav-links a { font-size:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.06); color:var(--v2-muted); }
  .v2-nav-links a:not(.v2-btn)::after { display:none; }
  .v2-nav-links .v2-btn { margin-top:1rem; text-align:center; justify-content:center; }
  .v2-mobile-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:998; }
  .v2-mobile-overlay.active { display:block; }

  /* Hero */
  .v2-hero-inner { grid-template-columns:1fr; text-align:center; padding:7rem 1.5rem 3rem; gap:2rem; }
  .v2-hero h1 { font-size:clamp(2rem, 7vw, 3.2rem); }
  .v2-hero-sub { margin-left:auto; margin-right:auto; font-size:1rem; }
  .v2-hero-actions { justify-content:center; flex-wrap:wrap; }
  .v2-hero-img { max-width:320px; margin:0 auto; }

  /* Grids → single/double col */
  .v2-features { grid-template-columns:1fr 1fr; }
  .v2-steps { grid-template-columns:1fr 1fr; }
  .v2-steps::before { display:none; }
  .v2-competition { grid-template-columns:1fr; }
  .v2-beta-grid { grid-template-columns:1fr; }
  .v2-beta-form-card { position:static; }
  .v2-contact-grid { grid-template-columns:1fr; }
  .v2-blog-featured-grid { grid-template-columns:1fr; }
  .v2-blog-grid { grid-template-columns:1fr 1fr; }
  .v2-values-grid { grid-template-columns:1fr; }
  .v2-partner-models { grid-template-columns:1fr; }
  .v2-partner-featured { transform:none; }
  .v2-podium { flex-direction:column; align-items:center; }
  .v2-podium-card { max-width:100%; }

  /* Sections */
  .v2-section { padding:4rem 1.5rem; }
  .v2-section h2 { font-size:clamp(1.6rem, 5vw, 2.5rem); }
  .v2-page-hero { padding:5rem 1.5rem 2.5rem; min-height:auto; }
  .v2-page-hero h1 { font-size:clamp(1.8rem, 6vw, 2.8rem); }

  /* Footer */
  .v2-footer { flex-direction:column; text-align:center; gap:1rem; padding:2rem 1.5rem; }
  .v2-footer-links { justify-content:center; flex-wrap:wrap; gap:.75rem 1.25rem; }
}

@media(max-width:600px){
  /* Nav tighter */
  .v2-nav { padding:.6rem 1rem; }
  .v2-logo-text { font-size:1.05rem; }
  .v2-logo-hex { width:28px !important; height:31px !important; }

  /* Hero */
  .v2-hero-inner { padding:6rem 1rem 2.5rem; }
  .v2-hero h1 { font-size:clamp(1.6rem, 8vw, 2.5rem); }
  .v2-hero-sub { font-size:.9rem; }
  .v2-hero-img { max-width:260px; }

  /* Grids single col */
  .v2-features { grid-template-columns:1fr; }
  .v2-steps { grid-template-columns:1fr; }
  .v2-blog-grid { grid-template-columns:1fr; }
  .v2-teams-grid { grid-template-columns:1fr; }

  /* Cards */
  .v2-card { padding:1.5rem; }

  /* Sections */
  .v2-section { padding:3rem 1rem; }
  .v2-section h2 { font-size:1.5rem; }
  .v2-section-sub { font-size:.9rem; }
  .v2-page-hero { padding:5rem 1rem 2rem; }
  .v2-page-hero h1 { font-size:1.6rem; }

  /* CTA */
  .v2-cta { margin:2rem .75rem; padding:2.5rem 1.25rem; }
  .v2-cta h2 { font-size:1.5rem; }
  .v2-cta p { font-size:.9rem; }

  /* Buttons */
  .v2-btn { padding:.65rem 1.25rem; font-size:.8rem; }

  /* Countdown */
  .v2-hero-countdown { width:100%; }
  .v2-cd-timer { justify-content:center; }

  /* Table */
  .v2-table { font-size:.75rem; }
  .v2-table th, .v2-table td { padding:.5rem .6rem; }

  /* Newsletter */
  .v2-newsletter-form { flex-direction:column; }
  .v2-newsletter-form input { width:100%; }
  .v2-newsletter-form .v2-btn { width:100%; justify-content:center; }

  /* Footer */
  .v2-footer-copy { font-size:.75rem; }
  .v2-footer-links a { font-size:.8rem; }
}

@media(max-width:380px){
  .v2-hero h1 { font-size:1.4rem; }
  .v2-logo-text { font-size:.95rem; }
  .v2-section h2 { font-size:1.3rem; }
  .v2-btn { padding:.55rem 1rem; font-size:.75rem; }
}

/* ─── Reduced Motion ─── */
@media(prefers-reduced-motion:reduce){
  .v2-reveal,.v2-reveal-left,.v2-reveal-right,.v2-reveal-scale{opacity:1;transform:none;transition:none}
  .v2-marquee{animation:none}
  .v2-hero h1 .word{opacity:1;transform:none}
  #v2-particles{display:none}
}
