/* ================================================================
   HOMEPAGE SECTIONS
   ================================================================ */

/* --- HERO --- */
.hero{position:relative;min-height:100vh;min-height:100dvh;background:#0a0a0a;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 1.25rem 2rem}

/* Field-style background - full pitch */
.hero-grid{display:none}
.field-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:900px;aspect-ratio:1.5/1;z-index:0;opacity:.12}
.field{position:relative;width:100%;height:100%;background:repeating-linear-gradient(90deg,rgba(46,107,46,.3) 0px,rgba(46,107,46,.3) 60px,rgba(60,140,60,.3) 60px,rgba(60,140,60,.3) 120px);border-radius:8px}
.f-outer{position:absolute;top:5%;left:3%;width:94%;height:90%;border:2px solid rgba(255,255,255,.9);border-radius:4px}
.f-half{position:absolute;top:5%;left:50%;width:2px;height:90%;background:rgba(255,255,255,.9)}
.f-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20%;aspect-ratio:1;border:2px solid rgba(255,255,255,.9);border-radius:50%}
.f-spot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:rgba(255,255,255,.9);border-radius:50%}
.f-pen-l{position:absolute;top:22%;left:3%;width:16%;height:56%;border:2px solid rgba(255,255,255,.9);border-left:none}
.f-pen-r{position:absolute;top:22%;right:3%;width:16%;height:56%;border:2px solid rgba(255,255,255,.9);border-right:none}
.f-goal-l{position:absolute;top:35%;left:3%;width:7%;height:30%;border:2px solid rgba(255,255,255,.9);border-left:none}
.f-goal-r{position:absolute;top:35%;right:3%;width:7%;height:30%;border:2px solid rgba(255,255,255,.9);border-right:none}
.f-arc-l{position:absolute;top:38%;left:14%;width:10%;height:24%;border:2px solid rgba(255,255,255,.9);border-radius:0 50% 50% 0;border-left:none}
.f-arc-r{position:absolute;top:38%;right:14%;width:10%;height:24%;border:2px solid rgba(255,255,255,.9);border-radius:50% 0 0 50%;border-right:none}
.f-c{position:absolute;width:3%;aspect-ratio:1;border:2px solid rgba(255,255,255,.9)}
.f-c-tl{top:5%;left:3%;border-radius:0 0 100% 0;border-top:none;border-left:none}
.f-c-tr{top:5%;right:3%;border-radius:0 0 0 100%;border-top:none;border-right:none}
.f-c-bl{bottom:5%;left:3%;border-radius:0 100% 0 0;border-bottom:none;border-left:none}
.f-c-br{bottom:5%;right:3%;border-radius:100% 0 0 0;border-bottom:none;border-right:none}

/* Particles - refined with green accents */
.particles{position:absolute;inset:0;pointer-events:none;z-index:1}
.p{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:fl 30s infinite;will-change:transform}
.p:nth-child(3n){background:rgba(74,222,128,.5);width:3px;height:3px}
.p:nth-child(5n){background:rgba(74,222,128,.3);width:4px;height:4px;filter:blur(1px)}
@keyframes fl{0%,100%{transform:translateY(0) translateX(0);opacity:.12}25%{transform:translateY(-100px) translateX(50px);opacity:.3}50%{transform:translateY(-60px) translateX(-40px);opacity:.18}75%{transform:translateY(-140px) translateX(30px);opacity:.25}}

/* Stadium atmosphere glow */
.hero-glow{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.1) 0%,rgba(34,197,94,.03) 40%,transparent 65%);z-index:0;pointer-events:none;animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}

/* Bottom fog */
.fog{position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to top,#0a0a0a,transparent);z-index:2;pointer-events:none}

/* Hero content */
.hero-text{text-align:center;z-index:5;margin-bottom:1.5rem}
.hero-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.75rem}
.hero-text h1{font-size:clamp(2.2rem,6vw,4.5rem);font-weight:900;letter-spacing:-1px;line-height:1.05;margin-bottom:.75rem}
.hero-text h1 span{display:block;background:linear-gradient(135deg,#4ade80,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-text .hero-sub{font-size:clamp(.9rem,1.6vw,1.05rem);color:rgba(255,255,255,.45);max-width:500px;margin:0 auto;line-height:1.6}

/* Stadium lights - glowing orbs with beams */
.lights{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:500px;width:100%;z-index:5;margin-top:1rem;padding:0 .5rem}
@media(min-width:500px){.lights{grid-template-columns:repeat(4,1fr);max-width:780px;gap:1.25rem}}
@media(min-width:768px){.lights{max-width:950px;gap:1.5rem 2.5rem;margin-top:1.5rem}}

.lt{display:flex;flex-direction:column;align-items:center;color:#fff;cursor:pointer;position:relative;transition:transform .3s var(--ease);padding:.25rem 0}
.lt:hover{transform:translateY(-6px)}
.lt:hover .lt-orb{box-shadow:0 0 35px rgba(74,222,128,.45),0 0 70px rgba(74,222,128,.15);border-color:rgba(74,222,128,.6)}
.lt:hover .lt-beam{opacity:.5}
.lt:hover .lt-name{color:#4ade80}

.lt-pole{width:2px;height:16px;background:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,.05))}
@media(min-width:768px){.lt-pole{height:22px}}

.lt-beam{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:2px;height:120px;background:linear-gradient(to bottom,rgba(74,222,128,.3),transparent);opacity:.12;transition:opacity .4s;pointer-events:none}
@media(min-width:768px){.lt-beam{top:22px;height:160px}}

.lt-orb{width:68px;height:68px;border-radius:50%;border:2px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,rgba(74,222,128,.1),rgba(0,0,0,.4));transition:all .35s;box-shadow:0 0 18px rgba(74,222,128,.08);animation:glow 4s ease-in-out infinite}
@media(min-width:768px){.lt-orb{width:95px;height:95px;border-width:2px}}
@keyframes glow{0%,100%{box-shadow:0 0 18px rgba(74,222,128,.08)}50%{box-shadow:0 0 30px rgba(74,222,128,.18)}}

.lt-icon{font-size:1.6rem}
@media(min-width:768px){.lt-icon{font-size:2.2rem}}

.lt-name{margin-top:.4rem;font-size:.65rem;font-weight:700;letter-spacing:1.5px;transition:color .3s;color:rgba(255,255,255,.55)}
@media(min-width:768px){.lt-name{font-size:.78rem;margin-top:.5rem}}

.lt-desc{font-size:.62rem;color:rgba(255,255,255,.3);margin-top:.1rem;text-align:center}
@media(max-width:600px){.lt-desc{display:none}}

/* Bottom CTA */
.hero-cta{text-align:center;z-index:5;margin-top:2rem;padding:1rem 0}
.hero-cta>p{display:none}
.hero-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* --- FEATURED WORK --- */
.featured{padding:60px 0;background:#fff}
@media(min-width:768px){.featured{padding:80px 0}}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.feat-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.feat-item{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;cursor:pointer}
.feat-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.feat-item:hover img{transform:scale(1.05)}
.feat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 50%);display:flex;align-items:flex-end;padding:1.25rem;opacity:0;transition:opacity .3s}
.feat-item:hover .feat-overlay{opacity:1}
.feat-overlay strong{color:#fff;font-size:.85rem;display:block}
.feat-overlay span{color:rgba(255,255,255,.6);font-size:.72rem}
.feat-tag{position:absolute;top:10px;right:10px;padding:3px 10px;background:rgba(0,0,0,.55);color:#fff;font-size:.6rem;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;backdrop-filter:blur(4px)}
.feat-cta{text-align:center;margin-top:2rem}

/* --- STATS BAR --- */
.stats{padding:40px 0;background:var(--dark);color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}
.stats-grid{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}
@media(min-width:768px){.stats-grid{gap:4rem}}
.stat{text-align:center}
.stat-num{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;color:#4ade80;line-height:1}
.stat-label{font-size:.72rem;font-weight:600;letter-spacing:1.5px;color:rgba(255,255,255,.4);margin-top:.3rem;text-transform:uppercase}

/* --- HOW IT WORKS --- */
.how{padding:60px 0;background:#fff}
@media(min-width:768px){.how{padding:80px 0}}
.how-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:900px;margin:0 auto}
@media(min-width:768px){.how-grid{grid-template-columns:1fr 1fr 1fr}}
.how-step{text-align:center;padding:1.5rem 1rem}
.how-num{font-size:2.5rem;font-weight:900;color:var(--green);line-height:1;margin-bottom:.75rem}
.how-step h3{font-size:1rem;font-weight:800;margin-bottom:.4rem}
.how-step p{font-size:.88rem;color:var(--text2);line-height:1.5}

/* --- PRICING CTA --- */
.pricing{padding:60px 0;background:var(--light-bg)}
@media(min-width:768px){.pricing{padding:80px 0}}
.pricing-inner{max-width:600px;margin:0 auto;text-align:center}
.pricing-inner h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;margin-bottom:.5rem}
.pricing-inner>p{font-size:1rem;color:var(--text2);line-height:1.6;margin-bottom:2rem}
