
/* ===== Mobile-safe baseline: no sideways scroll ===== */
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto;display:block}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
:root{
  --bg:#070A12;
  --card:#0F162B;
  --card2:#0B1022;
  --text:#EAF0FF;
  --muted:#B7C0D9;
  --line:rgba(255,255,255,.12);
  --accent:#6D5EF6;
  --accent2:#19D3FF;
  --good:#2CE59E;
  --shadow:0 16px 50px rgba(0,0,0,.45);
  --radius:18px;
}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:radial-gradient(1200px 700px at 10% 0%, rgba(109,94,246,.35), transparent 55%),
             radial-gradient(900px 600px at 95% 15%, rgba(25,211,255,.22), transparent 60%),
             var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
.container{width:min(1120px, 92vw); margin-inline:auto; overflow-x:clip}
.skipLink{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skipLink:focus{left:12px; top:12px; width:auto; height:auto; padding:10px 12px; background:#111; border:1px solid var(--line); border-radius:12px; z-index:9999}

.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(150%) blur(10px);
  background:rgba(7,10,18,.62);
  border-bottom:1px solid var(--line);
}
.topbarInner{
  display:flex; align-items:center; gap:18px;
  padding:14px 0;
  flex-wrap:wrap;
}
.brand{display:flex; align-items:center}
.brandLogo{
  width:260px; /* bigger logo */
  max-width:70vw;
  height:auto;
}
.topnav{
  display:flex; align-items:center; gap:14px;
  flex-wrap:wrap;
  color:var(--muted);
  font-weight:600;
}
.topnav a{padding:8px 10px; border-radius:12px}
.topnav a:hover{background:rgba(255,255,255,.06); color:var(--text)}
.topbarCta{margin-left:auto}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  transition:transform .08s ease, background .2s ease, border-color .2s ease;
  user-select:none;
  max-width:100%;
}
.btn:active{transform:translateY(1px)}
.btnLg{padding:14px 18px; border-radius:16px}
.btnPrimary{
  border-color:rgba(109,94,246,.55);
  background:linear-gradient(135deg, rgba(109,94,246,.95), rgba(25,211,255,.85));
  color:#050713;
  box-shadow:0 14px 40px rgba(109,94,246,.25);
}
.btnGhost{
  background:rgba(255,255,255,.06);
  color:var(--text);
}
.hero{
  position:relative;
  padding:34px 0 22px;
}
.heroGrid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:26px;
  align-items:start;
}
.pill{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  color:var(--muted);
  font-weight:700;
}
h1{font-size:clamp(30px, 3.2vw, 46px); line-height:1.1; margin:12px 0 12px}
h2{font-size:clamp(22px, 2.4vw, 30px); margin:0 0 10px}
h3{margin:0 0 8px}
.lead{font-size:1.06rem; color:rgba(234,240,255,.92); margin:0 0 14px}
.kpiRow{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0}
.kpi{
  flex:1 1 140px;
  min-width:140px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
}
.kpiBig{font-size:1.35rem; font-weight:900}
.kpiSmall{display:block; color:var(--muted); font-weight:700; margin-top:2px}
.summaryBox{
  background:linear-gradient(180deg, rgba(15,22,43,.92), rgba(11,16,34,.92));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 16px;
  box-shadow:var(--shadow);
}
.summaryBox ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.heroActions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
.note{margin-top:12px; color:var(--muted); font-size:.95rem}

.heroMedia{position:relative}
.mediaCard{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  box-shadow:var(--shadow);
}
.mediaImg{width:100%}
.mediaLabel{
  position:absolute;
  left:14px; bottom:14px;
  max-width:calc(100% - 28px);
  padding:10px 12px;
  border-radius:14px;
  background:rgba(7,10,18,.68);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  font-weight:800;
}
.hookStack{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.hookCard{
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px 14px;
}
.hookCard p{margin:0; color:var(--muted)}
.heroGlow{
  position:absolute; inset:auto 0 -120px 0;
  height:240px;
  background:radial-gradient(450px 140px at 30% 30%, rgba(109,94,246,.25), transparent 70%),
             radial-gradient(450px 160px at 70% 30%, rgba(25,211,255,.18), transparent 72%);
  pointer-events:none;
}

.section{padding:34px 0}
.section.alt{background:rgba(255,255,255,.03); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.grid2{display:grid; grid-template-columns:repeat(2, 1fr); gap:14px}
.grid3{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.card{
  background:linear-gradient(180deg, rgba(15,22,43,.92), rgba(11,16,34,.92));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card p{color:var(--muted); margin:0 0 10px}
.checklist{margin:0 0 14px; padding-left:0; list-style:none; color:var(--muted)}
.checklist li{margin:8px 0; padding-left:26px; position:relative}
.checklist li:before{
  content:"✓";
  position:absolute; left:0; top:0;
  color:var(--good);
  font-weight:900;
}
.dotlist{margin:0; padding-left:18px; color:var(--muted)}
.callout{
  margin-top:16px;
  padding:16px;
  border-radius:var(--radius);
  border:1px solid rgba(25,211,255,.22);
  background:linear-gradient(135deg, rgba(25,211,255,.08), rgba(109,94,246,.10));
}
.callout p{margin:8px 0 0; color:rgba(234,240,255,.88)}
.miniCard{
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 14px;
}
.miniCard p{margin:0; color:var(--muted)}

.tableWrap{
  margin-top:14px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  background:rgba(255,255,255,.04);
}
table{border-collapse:collapse; width:100%; min-width:560px}
th,td{padding:12px 12px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap}
th{background:rgba(255,255,255,.06)}
.smallPrint{color:var(--muted); font-size:.93rem}
.reviewGrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin-top:14px;
}
.review{
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
}
.reviewTop{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px}
.stars{color:#FFD56A; letter-spacing:1px}
.review p{margin:0; color:var(--muted)}
.faq details{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.05);
  padding:12px 14px;
  margin:10px 0;
}
.faq summary{
  cursor:pointer;
  font-weight:900;
}
.faq p{margin:10px 0 0; color:var(--muted)}
.ctaBand{
  margin-top:18px;
  border:1px solid rgba(109,94,246,.35);
  background:linear-gradient(135deg, rgba(109,94,246,.14), rgba(25,211,255,.10));
  border-radius:var(--radius);
  padding:18px;
}
.ctaBand p{color:rgba(234,240,255,.88); margin:6px 0 14px}
.footer{
  padding:26px 0;
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.12);
}
.footerInner{color:var(--muted)}
.footerInner p{margin:6px 0}

/* ===== Modal ===== */
.modal{position:fixed; inset:0; display:none; z-index:100}
.modal.isOpen{display:block}
.modalBackdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.62);
}
.modalPanel{
  position:relative;
  width:min(560px, 92vw);
  margin:10vh auto 0;
  background:linear-gradient(180deg, rgba(15,22,43,.98), rgba(11,16,34,.98));
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  padding:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.modalClose{
  position:absolute; right:12px; top:12px;
  width:42px; height:42px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:var(--text);
  font-size:22px;
  cursor:pointer;
}
.modalActions{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px}

/* Lock background scroll when modal open */
html.modalOpen, body.modalOpen{overflow:hidden; touch-action:none}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr; }
  .topbarCta{margin-left:0}
  .reviewGrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .brandLogo{width:220px}
  .topnav{display:none}
  .kpi{min-width:140px}
}
