/* HerLo landing styles */
:root{
  --bg: #0b0e13;
  --bg-elev: #121722;
  --text: #e7eef7;
  --muted: #97a3b6;
  --brand-a: #7c3aed;
  --brand-b: #22d3ee;
  --card: #10151f;
  --ring: #3b82f6;
}
:root.light{
  --bg: #f7f8fb;
  --bg-elev: #ffffff;
  --text: #0b1220;
  --muted: #516079;
  --card: #ffffff;
}

*{box-sizing:border-box}
html,body{height:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
  background: radial-gradient(1200px 800px at 20% -10%, rgba(124,58,237,.25), transparent 60%),
              radial-gradient(900px 600px at 120% 10%, rgba(34,211,238,.18), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;background:color-mix(in oklab, var(--bg), transparent 30%);
  backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid color-mix(in oklab, var(--text), transparent 92%);
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:700}
.brand-mark{border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.brand-text{letter-spacing:.4px}
.nav{display:flex;gap:.5rem;align-items:center}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:.8rem;
  background:var(--bg-elev);color:var(--text);text-decoration:none;border:1px solid color-mix(in oklab, var(--text), transparent 90%);
}
.btn:hover{border-color:color-mix(in oklab, var(--text), transparent 75%)}
.btn-primary{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));border:0;color:white}
.btn-ghost{background:transparent;border-color:transparent}

.hero{position:relative;padding:96px 18px 54px;display:grid;place-items:center;overflow:hidden}
.hero .hero-inner{max-width:960px;text-align:center}
.hero .hero-logo{width:96px;height:96px;margin:0 auto 14px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
.hero h1{font-size:clamp(1.8rem,2.8vw,3rem);margin:.2rem 0 .4rem;letter-spacing:.4px}
.lead{color:var(--muted);max-width:720px;margin:0 auto 1rem}
.cta{display:flex;justify-content:center;gap:.8rem;margin-top:.6rem}
.backdrop{
  position:absolute;inset:-10%;z-index:-1;
  background:
    radial-gradient(320px 220px at 20% 30%, rgba(124,58,237,.35), transparent 65%),
    radial-gradient(400px 260px at 80% 20%, rgba(34,211,238,.28), transparent 70%);
  filter:blur(30px) saturate(120%);
  opacity:.8;
}

.section{padding:36px 18px}
.section h2{margin:0 auto 10px;max-width:1100px;font-size:1.5rem}
.section .muted{color:var(--muted);margin:0 auto 18px;max-width:1100px}

.grid{
  display:grid;gap:14px;margin:0 auto;max-width:1100px;
  grid-template-columns:repeat( auto-fill, minmax(220px, 1fr) );
}
.card{
  background:linear-gradient(180deg, color-mix(in oklab, var(--card), white 1%), var(--card));
  border:1px solid color-mix(in oklab, var(--text), transparent 90%);
  border-radius:16px;padding:16px 14px;text-decoration:none;color:var(--text);
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  transition:transform .12s ease, border-color .12s ease;
}
.card:hover{transform:translateY(-2px);border-color:color-mix(in oklab, var(--text), transparent 75%)}
.card-title{font-weight:700;letter-spacing:.2px}
.card-sub{color:var(--muted);font-size:.95rem;margin-top:2px}

.site-footer{padding:30px 18px;color:var(--muted);text-align:center;border-top:1px solid color-mix(in oklab, var(--text), transparent 90%)}

@media (prefers-color-scheme: light){
  :root:not(.dark){color-scheme:light}
}
