/* RallyResults Hub — One Page */
:root{
  --bg:#070b0a;
  --panel:#0d1211;
  --text:#e7fff2;
  --muted:#9eeec6;
  --accent:#11ff6a;
  --accent-2:#17c46a;
  --glass: rgba(255,255,255,.06);
  --ring: rgba(17,255,106,.35);
  --max:1200px;
  --radius:18px;
  --shadow: 0 10px 40px rgba(0,0,0,.45), 0 0 40px rgba(17,255,106,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 600px at 70% -10%, rgba(17,255,106,.10), transparent 60%),
              radial-gradient(800px 600px at 10% 10%, rgba(17,255,106,.06), transparent 60%),
              var(--bg);
  line-height:1.6;
}

img{max-width:100%;display:block}

.container{max-width:var(--max);margin:0 auto;padding:0 24px}

a{color:var(--text);text-decoration:none}
a:hover{opacity:.9}

/* Header */
.site-header{
  position:sticky;top:0;z-index:40;
  background:linear-gradient(to bottom, rgba(7,11,10,.85), rgba(7,11,10,.35), transparent);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.site-header .brand{
  display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:.2px
}
.site-header .brand img{width:40px;height:40px;filter:drop-shadow(0 0 24px var(--ring))}
.site-header .brand span{font-size:1.05rem}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.nav-toggle{display:none;background:var(--glass);border:1px solid rgba(255,255,255,.1);color:var(--text);padding:10px 12px;border-radius:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:var(--glass);box-shadow:var(--shadow);font-weight:600}
.btn--small{padding:10px 12px}
.btn--primary{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#001a0b;border:none;box-shadow:0 6px 30px var(--ring)}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.18)}

/* Hero */
.hero{position:relative;padding:80px 0 40px}
.hero__bg::before{
  content:"";position:absolute;inset:-2px;
  background: radial-gradient(800px 400px at 15% 0%, rgba(17,255,106,.15), transparent 60%);
  pointer-events:none;z-index:-1
}
.hero__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.4rem, 4.5vw, 4rem);line-height:1.1;margin:0 0 12px}
.hero .accent{color:var(--accent);text-shadow:0 0 30px var(--ring)}
.hero p{color:#c9ffe2;margin:0 0 22px;max-width:55ch}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.trust-list{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.95rem}
.hero__shot{justify-self:end;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:16px;box-shadow:var(--shadow)}
.hero__shot figcaption{color:#a7d9bc;font-size:.85rem;margin-top:8px;opacity:.85}

/* Sections */
.section{padding:70px 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00))}
.section__head{margin-bottom:28px}
.section__head h2{font-size:clamp(1.8rem, 3.2vw, 2.4rem);margin:0 0 6px}
.section__head p{color:#bdf7d6;margin:0}

/* Cards */
.grid{display:grid;gap:18px}
.cards{grid-template-columns:repeat(4,1fr)}
.card{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));padding:24px;border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.card__icon{font-size:1.6rem;margin-bottom:10px}
.card h3{margin:0 0 8px}
.card p{color:#c9ffe2;margin:0}

/* Screenshots grid */
.shots{grid-template-columns:repeat(3,1fr)}
.shot{position:relative;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.shot img{width:100%;height:auto;display:block}
.shot button{position:absolute;inset:0;background:transparent;border:none}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none}
.steps li{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));padding:22px;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.steps strong{color:var(--accent)}

/* CTA */
.cta{text-align:center}
.store-badges{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.store{display:flex;gap:10px;align-items:center;background:var(--glass);border:1px solid rgba(255,255,255,.12);padding:12px 16px;border-radius:12px}
.store svg{width:22px;height:22px;fill:var(--text);opacity:.95}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:28px 0;background:linear-gradient(to top, rgba(0,0,0,.25), transparent)}
.footer__grid{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.brand--footer img{width:28px;height:28px}
.footer__grid .links{display:grid;gap:8px}
.small{font-size:.9rem;color:#a7d9bc}

/* Responsive */
@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr}
  .hero__shot{justify-self:stretch}
  .cards{grid-template-columns:repeat(2,1fr)}
  .shots{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
}
@media (max-width: 600px){
  .nav ul{display:none;position:absolute;right:24px;top:64px;background:var(--panel);border:1px solid rgba(255,255,255,.12);padding:12px 14px;border-radius:12px;box-shadow:var(--shadow)}
  .nav ul.show{display:grid;gap:10px}
  .nav-toggle{display:inline-flex}
  .cards{grid-template-columns:1fr}
  .shots{grid-template-columns:1fr}
}
