/* ══════════════════════════════════════
   ZEKTRIX v3 – style.css
   Luxury Dark · Neon Pink · SEO Optimized
══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --pink:#ff2d78; --pink-bright:#ff5fa0; --pink-glow:rgba(255,45,120,.55);
  --pink-soft:rgba(255,45,120,.1); --bg:#06060c; --bg2:#080810;
  --glass:rgba(255,255,255,.04); --glass2:rgba(255,255,255,.07);
  --glass-border:rgba(255,255,255,.09); --white:#ffffff; --grey:#8a8a9a; --grey2:#4a4a5a;
}

html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--white); font-family:'Montserrat',sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; cursor:none; }
body::before { content:''; position:fixed; inset:0; z-index:1; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); opacity:.28; }

#particles { position:fixed; inset:0; z-index:0; pointer-events:none; }

.skip-link { position:absolute; top:-100px; left:1rem; background:var(--pink); color:#fff; padding:.5rem 1rem; border-radius:4px; font-size:.8rem; font-weight:700; text-decoration:none; z-index:9999; transition:top .3s; }
.skip-link:focus { top:1rem; }

/* ── CURSOR ── */
#cursor { position:fixed; z-index:9999; pointer-events:none; width:10px; height:10px; border-radius:50%; background:var(--pink); box-shadow:0 0 14px 4px var(--pink-glow); transform:translate(-50%,-50%); transition:width .2s,height .2s; }
#cursor-ring { position:fixed; z-index:9998; pointer-events:none; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,45,120,.5); transform:translate(-50%,-50%); transition:width .25s,height .25s; }
#cursor.big { width:18px; height:18px; }
#cursor-ring.big { width:58px; height:58px; }

/* ── NAV ── */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 3rem; transition:background .3s,border-color .3s; }
.nav.scrolled { background:rgba(6,6,12,.92); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-border); }
.nav-logo { font-family:'Orbitron',sans-serif; font-size:1.3rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--pink)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; text-decoration:none; cursor:none; }
.nav-links { display:flex; align-items:center; gap:1.8rem; }
.nav-links a { font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--grey); text-decoration:none; transition:color .25s; cursor:none; }
.nav-links a:hover { color:var(--white); }
.nav-cta { padding:.42rem 1rem !important; border:1px solid rgba(255,45,120,.4) !important; border-radius:4px !important; color:var(--pink-bright) !important; }
.nav-cta:hover { background:var(--pink-soft) !important; color:var(--white) !important; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:none; padding:4px; }
.nav-burger span { display:block; width:22px; height:2px; background:var(--grey); transition:.3s; }
.nav-burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.mobile-menu { position:fixed; top:0; left:0; right:0; z-index:99; background:rgba(6,6,12,.98); backdrop-filter:blur(20px); padding:5rem 2rem 2rem; display:flex; flex-direction:column; gap:.8rem; transform:translateY(-100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
.mobile-menu.open { transform:translateY(0); }
.mm-link { font-size:.95rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grey); text-decoration:none; padding:.75rem 0; border-bottom:1px solid var(--glass-border); transition:color .25s; }
.mm-link:hover,.mm-wa { color:var(--pink-bright) !important; }

/* ── HERO ── */
.hero { position:relative; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:8rem 1.5rem 5rem; overflow:hidden; text-align:center; z-index:1; }
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(to bottom, rgba(6,6,12,.72) 0%, rgba(6,6,12,.1) 28%, rgba(6,6,12,.1) 55%, rgba(6,6,12,.95) 85%, rgba(6,6,12,1) 100%),
    linear-gradient(to right, rgba(6,6,12,.7) 0%, transparent 35%, transparent 65%, rgba(6,6,12,.7) 100%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(255,45,120,.28) 0%, transparent 70%),
    url("https://images.unsplash.com/photo-1544636331-e26879cd4d9b?w=1920&q=85&auto=format&fit=crop");
  background-size: cover;
  background-position: center 45%;
  background-repeat: no-repeat;
}
.hero-grid { position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(255,45,120,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,45,120,.055) 1px,transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 80%); -webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 80%); }
.orb { position:absolute; border-radius:50%; pointer-events:none; z-index:0; filter:blur(80px); animation:orbFloat 10s ease-in-out infinite; }
.orb-1 { width:600px; height:600px; background:radial-gradient(circle,rgba(255,45,120,.2),transparent 70%); top:-150px; left:-150px; }
.orb-2 { width:450px; height:450px; background:radial-gradient(circle,rgba(140,0,255,.15),transparent 70%); bottom:-100px; right:-100px; animation-delay:-5s; }
.orb-3 { width:350px; height:350px; background:radial-gradient(circle,rgba(255,45,120,.12),transparent 70%); top:50%; left:50%; animation-delay:-2.5s; animation-name:orbFloat3; }
@keyframes orbFloat { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-30px) scale(1.06)} }
@keyframes orbFloat3 { 0%,100%{transform:translate(-50%,-50%) scale(1)} 50%{transform:translate(-50%,-60%) scale(1.08)} }
.speed-lines { position:absolute; bottom:0; left:0; right:0; height:180px; z-index:0; overflow:hidden; }
.speed-lines::after { content:''; position:absolute; bottom:30px; left:-10%; width:120%; height:1px; background:linear-gradient(90deg,transparent 0%,var(--pink) 30%,rgba(255,255,255,.9) 50%,var(--pink) 70%,transparent 100%); box-shadow:0 0 18px 2px var(--pink-glow); animation:speedLine 3.5s linear infinite; }
@keyframes speedLine { 0%{transform:translateX(-100%);opacity:0} 5%{opacity:1} 95%{opacity:1} 100%{transform:translateX(100%);opacity:0} }

.hero-content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.badge { display:inline-flex; align-items:center; gap:.5rem; padding:.4rem 1.2rem; border:1px solid var(--glass-border); border-radius:100px; background:var(--glass); backdrop-filter:blur(12px); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-bright); margin-bottom:2rem; animation:fadeUp .9s ease both; }
.badge-dot { width:6px; height:6px; border-radius:50%; background:var(--pink); box-shadow:0 0 8px 2px var(--pink-glow); animation:pulseDot 1.5s ease infinite; }
@keyframes pulseDot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }

.title { position:relative; font-family:'Orbitron',sans-serif; font-size:clamp(4.5rem,18vw,12rem); font-weight:900; line-height:.9; margin-bottom:.5rem; animation:fadeUp .9s .15s ease both; }
.title-main { position:relative; z-index:1; background:linear-gradient(135deg,#fff 0%,#ffd6e8 40%,var(--pink) 70%,#ff0055 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:drop-shadow(0 0 40px rgba(255,45,120,.45)); }
.title-glow { position:absolute; inset:0; z-index:0; font-family:'Orbitron',sans-serif; font-weight:900; line-height:.9; background:linear-gradient(135deg,var(--pink),#ff0055); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:blur(28px); opacity:.4; }
.subtitle { font-family:'Bebas Neue',sans-serif; font-size:clamp(1rem,4vw,1.8rem); letter-spacing:.55em; text-transform:uppercase; color:var(--grey); margin-bottom:2rem; animation:fadeUp .9s .3s ease both; }
.divider-line { width:100px; height:1px; background:linear-gradient(90deg,transparent,var(--pink),transparent); box-shadow:0 0 12px 1px var(--pink-glow); margin-bottom:1.8rem; animation:fadeUp .9s .38s ease both; }
.hero-desc { font-size:.9rem; line-height:1.7; color:var(--grey); margin-bottom:2.5rem; max-width:480px; animation:fadeUp .9s .45s ease both; }
.hero-desc strong { color:var(--white); }

/* BUTTONS */
.btn-group { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; animation:fadeUp .9s .55s ease both; }
.btn { position:relative; display:inline-flex; align-items:center; gap:.65rem; padding:1rem 2.2rem; border-radius:6px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; overflow:hidden; transition:transform .25s,box-shadow .25s; cursor:none; }
.btn-large { padding:1.1rem 2.8rem; font-size:.88rem; }
.btn::before { content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s; }
.btn:hover { transform:translateY(-3px) scale(1.03); }
.btn:active { transform:translateY(0) scale(.98); }
.btn>* { position:relative; z-index:1; }
.btn-primary { background:linear-gradient(135deg,var(--pink) 0%,#ff0055 100%); color:#fff; box-shadow:0 8px 32px rgba(255,45,120,.45),inset 0 1px 0 rgba(255,255,255,.2); }
.btn-primary::before { background:linear-gradient(135deg,#ff5fa0,var(--pink)); }
.btn-primary:hover { box-shadow:0 14px 50px rgba(255,45,120,.7),0 0 70px rgba(255,45,120,.25),inset 0 1px 0 rgba(255,255,255,.2); }
.btn-primary:hover::before { opacity:1; }
.btn-secondary { background:var(--glass); color:#fff; border:1px solid var(--glass-border); backdrop-filter:blur(12px); box-shadow:0 4px 16px rgba(0,0,0,.3); }
.btn-secondary::before { background:rgba(255,255,255,.06); }
.btn-secondary:hover { border-color:rgba(255,45,120,.5); box-shadow:0 8px 32px rgba(0,0,0,.4),0 0 28px rgba(255,45,120,.2); }
.btn-secondary:hover::before { opacity:1; }
.btn-icon { width:17px; height:17px; flex-shrink:0; }

/* SOCIAL */
.social-section { display:flex; flex-direction:column; align-items:center; gap:1rem; margin-top:3rem; animation:fadeUp .9s .68s ease both; }
.social-label { font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--grey); opacity:.65; }
.social-links { display:flex; gap:.7rem; flex-wrap:wrap; justify-content:center; }
.social-btn { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(10px); color:var(--grey); transition:transform .25s,box-shadow .25s,border-color .25s,color .25s; cursor:none; text-decoration:none; }
.social-btn svg { width:17px; height:17px; fill:currentColor; }
.social-btn:hover { transform:translateY(-4px) scale(1.1); color:var(--pink-bright); border-color:rgba(255,45,120,.5); box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 18px rgba(255,45,120,.3); }
.social-handle { font-size:.73rem; letter-spacing:.12em; color:var(--grey); }
.social-handle span { color:var(--pink-bright); }

.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:.4rem; opacity:.35; animation:fadeUp .9s .9s ease both; }
.scroll-hint span { font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); }
.scroll-arrow { width:1px; height:28px; background:linear-gradient(to bottom,var(--pink),transparent); animation:scrollBob 1.8s ease-in-out infinite; }
@keyframes scrollBob { 0%,100%{opacity:.5;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.3)} }

/* STATS */
.stats-section { position:relative; z-index:2; border-top:1px solid var(--glass-border); border-bottom:1px solid var(--glass-border); background:rgba(6,6,12,.8); backdrop-filter:blur(20px); }
.stats-grid { display:flex; flex-wrap:wrap; }
.stat-card { flex:1; min-width:130px; padding:2rem 1.5rem; text-align:center; border-right:1px solid var(--glass-border); transition:background .3s; }
.stat-card:last-child { border-right:none; }
.stat-card:hover { background:var(--pink-soft); }
.stat-icon { font-size:1.8rem; margin-bottom:.6rem; }
.stat-num { font-family:'Orbitron',sans-serif; font-size:2rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--pink)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; }
.stat-label { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); margin-top:.4rem; }

/* ══ COMPETITIONS ══ */
.competitions-section { position:relative; z-index:2; padding:7rem 2rem 5rem; background:linear-gradient(180deg,#06060c 0%,#07070f 100%); }
.section-header { text-align:center; margin-bottom:3rem; }
.section-tag { display:inline-block; font-size:.68rem; letter-spacing:.25em; text-transform:uppercase; color:var(--pink-bright); background:var(--pink-soft); padding:.35rem 1rem; border-radius:100px; border:1px solid rgba(255,45,120,.25); }
.section-title { font-family:'Orbitron',sans-serif; font-size:clamp(2rem,6vw,3rem); font-weight:900; margin-top:1rem; background:linear-gradient(135deg,#fff,#ccc); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.section-sub { font-size:.83rem; color:var(--grey); margin-top:.6rem; }

.comp-filters { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-bottom:3rem; }
.filter-btn { padding:.45rem 1.1rem; border-radius:100px; background:var(--glass); border:1px solid var(--glass-border); color:var(--grey); font-family:'Montserrat',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.08em; cursor:none; transition:all .25s; }
.filter-btn:hover,.filter-btn.active { background:var(--pink-soft); border-color:rgba(255,45,120,.4); color:var(--pink-bright); }

.comp-loading { display:flex; flex-direction:column; align-items:center; gap:1rem; padding:4rem; color:var(--grey); font-size:.85rem; grid-column:1/-1; }
.spinner { width:36px; height:36px; border-radius:50%; border:2px solid var(--glass-border); border-top-color:var(--pink); animation:spin .8s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }

.comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; max-width:1200px; margin:0 auto; }

.comp-card { background:var(--glass); border:1px solid var(--glass-border); border-radius:16px; overflow:hidden; transition:transform .3s,border-color .3s,box-shadow .3s; cursor:none; animation:fadeUp .5s ease both; }
.comp-card:hover { transform:translateY(-8px); border-color:rgba(255,45,120,.35); box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 40px rgba(255,45,120,.1); }

.comp-img-wrap { position:relative; height:200px; overflow:hidden; }
.comp-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; filter:brightness(.8) saturate(1.15); }
.comp-card:hover .comp-img-wrap img { transform:scale(1.07); }
.comp-img-placeholder { width:100%; height:100%; background:linear-gradient(135deg,#1a0a20,#0a0a1a); display:flex; align-items:center; justify-content:center; font-size:3rem; }

.comp-tag { position:absolute; top:12px; left:12px; padding:.28rem .8rem; border-radius:100px; font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; backdrop-filter:blur(8px); }
.comp-type-badge { position:absolute; top:12px; right:12px; padding:.28rem .7rem; border-radius:6px; background:rgba(0,0,0,.65); backdrop-filter:blur(8px); border:1px solid var(--glass-border); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--grey); }
.comp-countdown { position:absolute; bottom:12px; right:12px; padding:.28rem .8rem; border-radius:6px; background:rgba(0,0,0,.75); backdrop-filter:blur(8px); border:1px solid var(--glass-border); font-size:.62rem; color:var(--white); }
.comp-countdown .cd { color:var(--pink-bright); font-family:'Orbitron',sans-serif; font-size:.65rem; }

.comp-body { padding:1.4rem; }
.comp-title { font-size:1rem; font-weight:800; margin-bottom:.2rem; line-height:1.3; }
.comp-subtitle { font-size:.73rem; color:var(--grey); margin-bottom:1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.comp-progress { margin-bottom:1rem; }
.comp-progress-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:.4rem; }
.comp-progress-label { font-size:.62rem; color:var(--grey); }
.comp-progress-pct { font-size:.62rem; font-weight:700; color:var(--pink-bright); }
.comp-bar-bg { height:4px; background:var(--glass2); border-radius:100px; overflow:hidden; }
.comp-bar-fill { height:100%; border-radius:100px; background:linear-gradient(90deg,var(--pink),#ff0055); box-shadow:0 0 8px var(--pink-glow); transition:width 1.4s cubic-bezier(.4,0,.2,1); width:0%; }
.comp-bar-fill.urgent { background:linear-gradient(90deg,#ef4444,#ff6b6b); }
.comp-bar-fill.fresh { background:linear-gradient(90deg,#10b981,#34d399); }

.comp-footer { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--glass-border); gap:.5rem; }
.comp-price-wrap { display:flex; flex-direction:column; }
.comp-price-label { font-size:.58rem; color:var(--grey); letter-spacing:.1em; text-transform:uppercase; }
.comp-price { font-family:'Orbitron',sans-serif; font-size:1.2rem; font-weight:900; color:var(--white); }
.comp-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 1.2rem; border-radius:6px; background:linear-gradient(135deg,var(--pink),#ff0055); color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; transition:box-shadow .25s,transform .2s; box-shadow:0 4px 16px rgba(255,45,120,.4); cursor:none; white-space:nowrap; }
.comp-btn:hover { box-shadow:0 8px 28px rgba(255,45,120,.65); transform:scale(1.04); }
.comp-btn svg { width:13px; height:13px; }

.api-status { text-align:center; font-size:.72rem; color:var(--grey); padding:.5rem; margin-top:1rem; max-width:600px; margin-left:auto; margin-right:auto; }
.api-status.error { color:#ef4444; }
.api-status.success { color:#10b981; }
.comp-cta { text-align:center; margin-top:3.5rem; }

/* HOW IT WORKS */
.how-section { position:relative; z-index:2; padding:6rem 2rem; background:linear-gradient(180deg,#07070f 0%,#06060c 100%); }
.steps-grid { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; max-width:900px; margin:2rem auto 0; }
.step-card { flex:1; min-width:220px; max-width:280px; background:var(--glass); border:1px solid var(--glass-border); border-radius:16px; padding:2.2rem 1.8rem; transition:transform .3s,border-color .3s,box-shadow .3s; }
.step-card:hover { transform:translateY(-6px); border-color:rgba(255,45,120,.35); box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 30px rgba(255,45,120,.1); }
.step-num { font-family:'Orbitron',sans-serif; font-size:3rem; font-weight:900; background:linear-gradient(135deg,var(--pink),#ff0055); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; opacity:.4; margin-bottom:1rem; }
.step-card h3 { font-size:1rem; font-weight:700; margin-bottom:.6rem; }
.step-card p { font-size:.82rem; color:var(--grey); line-height:1.7; }

/* FAQ */
.faq-section { position:relative; z-index:2; padding:6rem 2rem; background:#06060c; }
.faq-list { max-width:780px; margin:2rem auto 0; display:flex; flex-direction:column; gap:.7rem; }
.faq-item { background:var(--glass); border:1px solid var(--glass-border); border-radius:12px; overflow:hidden; transition:border-color .3s; }
.faq-item:hover { border-color:rgba(255,45,120,.25); }
.faq-q { width:100%; text-align:left; padding:1.2rem 1.5rem; background:none; border:none; color:var(--white); font-family:'Montserrat',sans-serif; font-size:.9rem; font-weight:700; cursor:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq-q::after { content:'＋'; font-size:1.2rem; color:var(--pink); transition:transform .3s; flex-shrink:0; }
.faq-q[aria-expanded="true"]::after { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-a p { padding:0 1.5rem 1.2rem; font-size:.83rem; color:var(--grey); line-height:1.7; }
.faq-item.open .faq-a { max-height:200px; }

/* FOOTER */
footer { position:relative; z-index:2; background:#030308; border-top:1px solid var(--glass-border); padding:3rem 2rem; }
.footer-inner { text-align:center; display:flex; flex-direction:column; align-items:center; gap:.8rem; }
.footer-logo { font-family:'Orbitron',sans-serif; font-size:2rem; font-weight:900; background:linear-gradient(135deg,#fff,var(--pink)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.footer-sub { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--grey2); }
.footer-address { font-size:.65rem; color:var(--grey2); font-style:normal; max-width:400px; line-height:1.5; }
.footer-links { display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center; margin:.5rem 0; }
.footer-links a { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--grey); text-decoration:none; transition:color .25s; cursor:none; }
.footer-links a:hover { color:var(--pink-bright); }
.footer-copy { font-size:.62rem; color:rgba(255,255,255,.18); }
.footer-copy a { color:var(--pink); text-decoration:none; cursor:none; }

@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* RESPONSIVE */
@media (max-width:900px) { .comp-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); } }
@media (max-width:768px) {
  .nav { padding:1.2rem 1.5rem; }
  .nav-links { display:none; }
  .nav-burger { display:flex; }
  .hero { padding:7rem 1rem 4rem; }
  .stat-card { min-width:110px; padding:1.4rem .8rem; }
  .stat-num { font-size:1.5rem; }
  .competitions-section,.how-section,.faq-section { padding:4rem 1.2rem; }
  .step-card { max-width:100%; }
  .btn { padding:.9rem 1.6rem; font-size:.78rem; }
  body { cursor:auto; }
  #cursor,#cursor-ring { display:none; }
}
@media (max-width:480px) {
  .title { font-size:clamp(3.5rem,22vw,5rem); }
  .comp-grid { grid-template-columns:1fr; }
  .nav-logo { font-size:1.1rem; }
}
