/* Landing page (public, indexable). Standalone from app.css: the app's stylesheet
   assumes the dashboard's chrome and carries a JS-driven [data-theme] switch, while
   this page is static and follows the OS theme. Palette is copied from app.css
   :root so the two pages read as one product. */
:root{
  --bg:#eef1f6;--card:#ffffff;--head1:#0d2a4d;--head2:#12467a;
  --tx:#1c2733;--tx2:#6b7684;--line:#e7ecf2;--onDark:#ffffff;
  --accent:#12467a;--accent2:#3d7fc4;--radius:12px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f1620;--card:#18222f;--head1:#0a1f38;--head2:#0e3157;
    --tx:#e6edf3;--tx2:#9fb0c0;--line:#26313f;--accent:#3d7fc4;
  }
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--tx);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}

/* ---- header ---- */
.lnav{
  background:linear-gradient(135deg,var(--head1),var(--head2));
  color:var(--onDark);padding:14px 0;
}
.lnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px}
.brand svg{flex:none}
.navcta{
  padding:7px 15px;border:1px solid rgba(255,255,255,.3);border-radius:7px;
  background:rgba(255,255,255,.12);color:#fff;text-decoration:none;
  font-size:13.5px;white-space:nowrap;transition:.15s;
}
.navcta:hover{background:rgba(255,255,255,.24)}

/* ---- hero ---- */
.hero{padding:64px 0 52px;text-align:center}
.hero h1{font-size:38px;line-height:1.2;font-weight:700;letter-spacing:-.4px;margin-bottom:16px}
.hero p.lede{font-size:18px;color:var(--tx2);max-width:640px;margin:0 auto 28px}
.btn{
  display:inline-block;padding:12px 26px;border-radius:9px;text-decoration:none;
  font-size:15px;font-weight:600;transition:.15s;border:1px solid transparent;
}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--head1);}
@media (prefers-color-scheme:dark){.btn.primary:hover{background:var(--accent2)}}
.herofoot{font-size:13px;color:var(--tx2);margin-top:14px}

/* ---- sections ---- */
section{padding:44px 0;border-top:1px solid var(--line)}
section h2{font-size:24px;font-weight:700;letter-spacing:-.2px;margin-bottom:8px}
section .ssub{color:var(--tx2);margin-bottom:26px;max-width:660px}

/* Explicit 3-up rather than auto-fit: each section holds exactly three cards, and
   auto-fit's intermediate 2-column band would strand one card on a row of its own. */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:800px){.grid{grid-template-columns:1fr}}
.feat{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;min-width:0;
}
.feat h3{font-size:15px;font-weight:650;margin-bottom:6px}
.feat p{font-size:14px;color:var(--tx2)}

/* ---- steps ---- */
ol.steps{list-style:none;counter-reset:s;display:grid;gap:18px}
ol.steps li{counter-increment:s;display:flex;gap:15px;align-items:flex-start}
ol.steps li::before{
  content:counter(s);flex:none;width:29px;height:29px;border-radius:50%;
  background:var(--accent);color:#fff;font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
ol.steps h3{font-size:15px;font-weight:650;margin-bottom:3px}
ol.steps p{font-size:14px;color:var(--tx2)}

/* ---- privacy ---- */
.privacy{
  background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px;
}
.privacy ul{list-style:none;display:grid;gap:10px;margin-top:14px}
.privacy li{display:flex;gap:10px;font-size:14.5px;color:var(--tx2);align-items:flex-start}
.privacy li b{color:var(--tx);font-weight:600}
.check{flex:none;color:#1a9c53;font-weight:700;margin-top:1px}

/* ---- closing cta + footer ---- */
.endcta{text-align:center;padding:52px 0}
.endcta h2{margin-bottom:10px}
.endcta p{color:var(--tx2);margin-bottom:22px}
footer.lfoot{
  border-top:1px solid var(--line);padding:26px 0 40px;
  font-size:13px;color:var(--tx2);text-align:center;
}
footer.lfoot a{color:var(--tx2)}

@media (max-width:600px){
  .hero{padding:44px 0 36px}
  .hero h1{font-size:29px}
  .hero p.lede{font-size:16px}
  section{padding:34px 0}
}
