/* ============================================================
   BigBlog TV — "Electric Violet" design system
   Paper #F4F2FF · Ink #14102B · Violet #6C3BFF · Lime #C8FF3D
   Editorial: hairline borders, 12px radii, lime rules, no gloss.
   ============================================================ */
:root{
  --paper:#F4F2FF;
  --paper-2:#EDE9FF;
  --ink:#14102B;
  --ink-soft:#2A2346;
  --violet:#6C3BFF;
  --violet-deep:#4B21CC;
  --violet-soft:#E7E0FF;
  --lime:#C8FF3D;
  --lime-soft:#EEFFC2;
  --rose:#FF3D6E;
  --muted:#655E85;
  --line:#D9D2F2;
  --radius:12px;
  --radius-sm:9px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Segoe UI","Helvetica Neue",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline}
section{scroll-margin-top:84px}
h1,h2,h3,h4{letter-spacing:-.025em;line-height:1.16;font-weight:800}
strong{font-weight:700}

/* ---------------- shell ---------------- */
.shell{max-width:1160px;margin:0 auto;padding:0 20px}
main{display:block}
.section{padding:46px 0}
.section--tight{padding:26px 0}
.section--line{border-top:1px solid var(--line)}
.section--violet{background:linear-gradient(180deg,#EFEAFF 0%,var(--paper) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--ink{background:var(--ink);color:#fff}
.section--ink h2,.section--ink h3{color:#fff}

/* ---------------- ticker ---------------- */
.ribbon{background:var(--violet);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.03em;overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--violet-deep)}
.ribbon__track{display:inline-flex;gap:30px;padding:9px 0;animation:crawl 42s linear infinite}
.ribbon__track span{display:inline-flex;align-items:center;gap:8px}
.ribbon b{color:var(--lime)}
@keyframes crawl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ribbon__track{animation:none}}

/* ---------------- top bar ---------------- */
.topbar{position:sticky;top:0;z-index:60;background:rgba(244,242,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar__in{max-width:1160px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;gap:18px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo:hover{text-decoration:none}
.logo__mark{
  width:32px;height:32px;border-radius:8px;background:var(--violet);color:#fff;display:grid;place-items:center;
  font-size:16px;font-weight:800;letter-spacing:-.04em;transform:rotate(-4deg);
}
.logo__txt{display:flex;flex-direction:column;line-height:1.05}
.logo__name{font-size:20px;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.logo__name i{font-style:normal;color:var(--violet)}
.logo__sub{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.topnav{display:none;gap:2px;margin-left:auto}
.topnav a{padding:8px 13px;border-radius:8px;font-size:14px;font-weight:700;color:var(--ink-soft);border:1px solid transparent}
.topnav a:hover{background:#fff;border-color:var(--line);text-decoration:none}
.topnav a.on{background:#fff;border-color:var(--ink);color:var(--ink)}
@media(min-width:880px){.topnav{display:flex}}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 24px;
  border-radius:10px;border:1px solid var(--violet-deep);background:var(--violet);color:#fff;
  font-family:inherit;font-size:15.5px;font-weight:800;cursor:pointer;text-align:center;
  transition:transform .07s ease,filter .15s ease;
}
.btn:hover{text-decoration:none;filter:brightness(1.08);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--ink{background:var(--ink);border-color:var(--ink)}
.btn--line{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn--sm{min-height:40px;font-size:13.5px;padding:0 16px;border-radius:8px}
.btn--block{display:flex;width:100%}
.topbar .btn{margin-left:auto;white-space:nowrap}
.topnav + .btn{margin-left:0}

/* ---------------- hero ---------------- */
.hero{padding:36px 0 12px}
.hero__grid{display:grid;gap:26px;align-items:center}
@media(min-width:940px){.hero__grid{grid-template-columns:.92fr 1.08fr;gap:44px}}
@media(min-width:940px){.hero__art{order:1}.hero__copy{order:2}}
.hero__art{margin:0;order:2;border:1px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--ink)}
.hero__copy{order:1}
.hero__art img{width:100%;height:auto}
.hero__art figcaption{font-size:11.5px;font-weight:600;color:rgba(255,255,255,.6);padding:8px 14px;border-top:1px solid #2c2545}
.tag{
  display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ink);border-radius:6px;
  padding:5px 11px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.tag::before{content:"";width:7px;height:7px;background:var(--lime);border:1px solid var(--ink);border-radius:2px}
.hero h1{font-size:clamp(31px,4.2vw,48px);margin:16px 0 14px;letter-spacing:-.035em}
.hero h1 u{text-decoration:none;background:linear-gradient(180deg,transparent 68%,var(--lime) 68%);padding:0 2px}
.lede{font-size:16.5px;color:var(--ink-soft);max-width:54ch}

/* ticket-style price */
.ticket{
  position:relative;margin:22px 0 18px;background:#fff;border:1px solid var(--ink);border-radius:var(--radius);
  padding:18px 20px 16px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;
}
.ticket::after{
  content:"";position:absolute;right:14px;top:14px;width:74px;height:22px;background:var(--lime);
  border:1px solid var(--ink);transform:rotate(6deg);
}
.ticket__label{position:absolute;left:20px;top:-11px;background:var(--ink);color:var(--lime);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:4px}
.ticket__price{display:flex;align-items:baseline;gap:6px}
.ticket__price b{font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:.95}
.ticket__price span{font-size:14px;font-weight:700;color:var(--muted)}
.ticket__meta{flex:1 1 210px;font-size:13px;font-weight:600;color:var(--muted);line-height:1.45}
.ticket__meta b{color:var(--ink)}
.hero__cta{display:flex;flex-wrap:wrap;gap:10px}
.hero__cta .btn{flex:1 1 210px}
.proof{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:12.5px;font-weight:700;color:var(--muted)}
.proof span{display:inline-flex;align-items:center;gap:6px}
.proof span::before{content:"✓";color:var(--violet);font-weight:800}

/* ---------------- headings ---------------- */
.sec-head{margin-bottom:22px}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.kicker::before{content:"";width:16px;height:2px;background:var(--violet)}
.sec-head h2{font-size:clamp(24px,2.6vw,32px);margin:8px 0 0}
.sec-head .lede{margin-top:8px;font-size:15.5px}
.rule{height:3px;background:linear-gradient(90deg,var(--violet),var(--lime));border-radius:2px;margin:14px 0 0;max-width:120px}
.note{font-size:12.5px;color:var(--muted);margin-top:14px;max-width:78ch}
.note a{font-weight:700;text-decoration:underline}

/* ---------------- stats band ---------------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2b2450;border:1px solid #2b2450;border-radius:var(--radius);overflow:hidden}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--ink);padding:20px 18px}
.stat b{display:block;font-size:30px;font-weight:800;color:var(--lime);letter-spacing:-.03em;line-height:1}
.stat span{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.62)}

/* ---------------- plan rows ---------------- */
.terms{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 18px;scrollbar-width:none}
.terms::-webkit-scrollbar{display:none}
.term{
  flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;
  font-family:inherit;font-size:13.5px;font-weight:800;color:var(--ink);cursor:pointer;line-height:1.2;text-align:left;
}
.term small{display:block;font-size:10.5px;font-weight:700;color:var(--muted);margin-top:2px}
.term.on{background:var(--ink);border-color:var(--ink);color:#fff}
.term.on small{color:var(--lime)}
.term--deal{border-color:var(--violet);box-shadow:inset 0 -3px 0 var(--violet)}
.plans{display:grid;gap:14px}
.plan{
  position:relative;display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  cursor:pointer;overflow:hidden;
}
@media(min-width:820px){.plan{grid-template-columns:270px 1fr}}
.plan input{position:absolute;opacity:0;pointer-events:none}
.plan:hover{border-color:var(--ink)}
.plan.on{border-color:var(--ink);box-shadow:0 0 0 3px var(--violet-soft)}
.plan__left{padding:20px 20px 18px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
@media(min-width:820px){.plan__left{border-bottom:0;border-right:1px solid var(--line);justify-content:space-between}}
.plan__flag{align-self:flex-start;background:var(--lime);border:1px solid var(--ink);border-radius:4px;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px}
.plan h3{font-size:22px;margin-top:2px}
.plan__desc{font-size:13.5px;color:var(--muted);margin:0}
.plan__price{margin-top:10px}
.plan__price b{display:block;font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1}
.plan__price span{font-size:12.5px;font-weight:700;color:var(--muted)}
.plan__was{font-size:12.5px;font-weight:700;color:var(--muted)}
.plan__was s{color:#9b93bb}
.plan__save{display:inline-block;margin-top:6px;background:var(--violet-soft);border:1px solid var(--violet);color:var(--violet-deep);font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:5px;align-self:flex-start}
.plan__right{padding:18px 20px}
.plan ul{list-style:none;display:grid;gap:8px}
.plan li{display:flex;gap:9px;font-size:14.5px;align-items:flex-start;line-height:1.45}
.plan li::before{content:"";flex:0 0 auto;width:14px;height:14px;margin-top:5px;border-radius:3px;background:var(--lime-soft);border:1px solid var(--violet)}
.plan li span{flex:1}
.badge18{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:10px;font-weight:800;padding:0 5px;margin-left:5px;vertical-align:1px;line-height:1.6}

/* ---------------- category grid ---------------- */
.cats{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(min-width:720px){.cats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.cats{grid-template-columns:repeat(4,1fr)}}
.cat{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;cursor:pointer;font-size:13.5px;font-weight:700}
.cat input{position:absolute;opacity:0;pointer-events:none}
.cat i{width:20px;height:20px;flex:0 0 auto;border-radius:5px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;color:transparent}
.cat.on{border-color:var(--violet);background:var(--violet-soft)}
.cat.on i{background:var(--violet);border-color:var(--violet);color:#fff}
.cat small{display:block;font-size:11px;font-weight:600;color:var(--muted)}

/* ---------------- cards / grids ---------------- */
.cards{display:grid;gap:14px}
@media(min-width:720px){.cards--2{grid-template-columns:1fr 1fr}}
@media(min-width:920px){.cards--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:720px){.cards--4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.cards--4{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;border-top:3px solid var(--violet)}
.card h3{font-size:17px;margin-bottom:6px}
.card p{font-size:14.5px;color:var(--ink-soft)}
.card--lime{border-top-color:var(--lime)}
.card--ink{background:var(--ink);border-color:var(--ink);border-top-color:var(--lime);color:#fff}
.card--ink p{color:rgba(255,255,255,.72)}
.card .big{font-size:25px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:6px}
.mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--violet);color:#fff;font-size:12px;font-weight:800;margin-right:8px;vertical-align:1px}
.card--ink .mark{background:var(--lime);color:var(--ink)}

/* ---------------- numbered steps (vertical) ---------------- */
.steps{display:grid;gap:0;border-left:2px dashed var(--line);margin-left:13px}
@media(min-width:820px){.steps{grid-template-columns:1fr 1fr;border-left:0;margin-left:0;border-top:2px dashed var(--line)}}
.step{position:relative;padding:0 0 22px 26px}
@media(min-width:820px){.step{padding:22px 22px 0 0}
  .step:nth-child(even){padding-left:26px;border-left:2px dashed var(--line)}}
.step::before{
  content:attr(data-n);position:absolute;left:-14px;top:0;width:26px;height:26px;border-radius:50%;
  background:var(--violet);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid var(--paper);
}
@media(min-width:820px){.step::before{top:20px}}
.step h3{font-size:16.5px;margin-bottom:4px}
.step p{font-size:14.5px;color:var(--ink-soft)}

/* ---------------- tables ---------------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
th{background:var(--violet);color:#fff;text-align:left;padding:12px 14px;font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;line-height:1.5}
td:first-child{font-weight:700}
tr:nth-child(even) td{background:#FBFAFF}
.hi{background:var(--lime-soft)!important;font-weight:700}
.swipe{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;background:var(--ink);color:var(--lime);border-radius:4px;padding:3px 8px;margin-left:8px;vertical-align:middle}

/* ---------------- chips ---------------- */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px 13px;font-size:13px;font-weight:700}
.dot{width:8px;height:8px;border-radius:2px;flex:0 0 auto}

/* ---------------- devices ---------------- */
.devices{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(min-width:760px){.devices{grid-template-columns:repeat(3,1fr)}}
.device{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:700}
.device span{display:block;font-size:11.5px;font-weight:600;color:var(--muted)}

/* ---------------- reviews ---------------- */
.reviews{display:grid;gap:14px}
@media(min-width:780px){.reviews{grid-template-columns:1fr 1fr}}
@media(min-width:1060px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}
.review::before{content:"“";position:absolute;right:14px;top:2px;font-size:46px;font-weight:800;color:var(--violet-soft);line-height:1}
.review__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ava{width:38px;height:38px;border-radius:9px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:13px;font-weight:800;flex:0 0 auto}
.review__head b{display:block;font-size:14px;line-height:1.2}
.review__head span{font-size:11.5px;font-weight:600;color:var(--muted)}
.review p{font-size:14.5px;color:var(--ink-soft);position:relative;z-index:1}
.stars{display:inline-flex;gap:2px;margin-top:3px}
.stars svg{width:12px;height:12px;fill:var(--violet)}
.stars svg.off{fill:#D8D2ED}

/* ---------------- FAQ ---------------- */
.faq{display:grid;gap:9px;max-width:920px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
details[open]{border-color:var(--violet)}
summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 18px;font-weight:700;font-size:15.5px;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary::after{content:"▾";font-size:14px;color:var(--violet);flex:0 0 auto;transition:transform .15s ease}
details[open] summary::after{transform:rotate(180deg)}
details .a{padding:0 18px 16px;font-size:15px;color:var(--ink-soft)}
details .a p+p{margin-top:9px}
details .a a{font-weight:700;text-decoration:underline}

/* ---------------- prose ---------------- */
.prose{max-width:80ch}
.prose p{margin:15px 0;font-size:16px}
.prose h3{margin:26px 0 8px;font-size:19.5px}
.prose h4{margin:20px 0 6px;font-size:16.5px}
.prose ul,.prose ol{margin:14px 0 14px 22px}
.prose li{margin:8px 0;font-size:16px}
.prose a{font-weight:700;text-decoration:underline;text-decoration-color:var(--violet);text-decoration-thickness:2px}
.prose strong{background:linear-gradient(180deg,transparent 66%,var(--lime) 66%);font-weight:700}
.prose hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.glossary p{border-left:3px solid var(--violet-soft);padding-left:14px;margin:10px 0}

/* ---------------- timeline ---------------- */
.timeline{display:grid;gap:14px}
.tlitem{display:grid;gap:4px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid var(--line)}
.tlitem b{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}
.tlitem h3{font-size:17.5px}
.tlitem p{font-size:14.5px;color:var(--ink-soft)}
.tlitem--pivot{border-left-color:var(--violet);background:linear-gradient(180deg,#F7F4FF,#fff)}
.tlitem--now{border-left-color:var(--lime);background:var(--lime-soft)}

/* ---------------- callouts ---------------- */
.callout{border:1px solid var(--violet);border-radius:var(--radius);background:var(--violet-soft);padding:20px}
.callout h3{font-size:17px;margin-bottom:6px}
.callout p{font-size:15px;color:var(--ink-soft)}
.callout--lime{background:var(--lime-soft);border-color:#9BC613}
.callout--ink{background:var(--ink);border-color:var(--ink);color:#fff}
.callout--ink h3{color:var(--lime)}
.callout--ink p{color:rgba(255,255,255,.76)}

/* ---------------- score table (mega guide) ---------------- */
.score{display:grid;gap:10px;max-width:900px}
.scorerow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 16px}
.scorerow b{font-size:14.5px}
.scorerow small{display:block;font-size:12.5px;color:var(--muted);font-weight:600}
.scorebar{display:flex;gap:3px}
.scorebar i{width:22px;height:8px;border-radius:2px;background:var(--line)}
.scorebar i.full{background:var(--violet)}
.scorebar i.half{background:var(--violet-soft)}

/* ---------------- forms ---------------- */
.formcard{background:#fff;border:1px solid var(--ink);border-radius:var(--radius);padding:22px;max-width:560px;box-shadow:0 10px 0 -4px var(--violet-soft)}
.field{margin-bottom:16px}
.field label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.field input{width:100%;height:52px;border:1px solid var(--line);border-radius:9px;padding:0 14px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.err{display:none;color:var(--rose);font-size:13.5px;font-weight:700;margin:0 0 12px}
.err.show{display:block}
.sum-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.sum{background:var(--violet-soft);border:1px solid var(--violet);border-radius:5px;padding:5px 10px;font-size:12px;font-weight:800}

/* ---------------- modal ---------------- */
.modal{position:fixed;inset:0;z-index:200;background:var(--paper);display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 22px}
.modal.show{display:flex}
.modal .tick{width:78px;height:78px;border-radius:16px;background:var(--lime);border:2px solid var(--ink);display:grid;place-items:center;margin-bottom:20px;transform:rotate(-6deg)}
.modal .tick svg{width:38px;height:38px;stroke:var(--ink);stroke-width:3;fill:none}
.modal h2{font-size:25px;margin-bottom:8px}
.modal p{font-size:15px;color:var(--muted);max-width:360px}
.modal .btn{margin:20px 0 10px}
.mono{font-size:11.5px;color:var(--muted);word-break:break-all;max-width:360px}
.count{font-size:12.5px;color:var(--muted);margin-top:14px}

/* ---------------- final CTA ---------------- */
.cta-final{background:var(--ink);color:#fff;border-radius:16px;padding:32px 26px;text-align:center}
.cta-final h2{font-size:clamp(23px,2.6vw,30px);color:#fff}
.cta-final p{color:rgba(255,255,255,.74);font-size:15.5px;margin:10px auto 20px;max-width:58ch}
.cta-final .btn{background:var(--lime);border-color:var(--lime);color:var(--ink)}

/* ---------------- sticky mobile CTA ---------------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:70;
  display:flex;align-items:center;gap:10px;padding:9px 12px;
  background:rgba(244,242,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);
}
.sticky-cta .btn{flex:1;min-height:46px;font-size:14.5px}
.sticky-cta__note{font-size:11px;font-weight:700;color:var(--muted);line-height:1.3;max-width:42%}
@media(min-width:880px){.sticky-cta{display:none}}

/* ---------------- bottom nav ---------------- */
.bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(244,242,255,.98);backdrop-filter:blur(14px);border-top:1px solid var(--line);
  padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));
}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0 3px;font-size:10px;font-weight:800;color:var(--muted);border-radius:8px}
.bottom-nav a:hover{text-decoration:none}
.bottom-nav a svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav a.on{color:var(--violet)}
.bottom-nav a.on svg{stroke-width:2.4}
@media(min-width:880px){.bottom-nav{display:none}}
body{padding-bottom:150px}
body[data-page="home"]{padding-bottom:196px}
@media(min-width:880px){body,body[data-page="home"]{padding-bottom:0}}

/* ---------------- footer ---------------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.74);padding:40px 0 26px;margin-top:24px}
.site-footer .shell{display:grid;gap:24px}
@media(min-width:780px){.site-footer .shell{grid-template-columns:repeat(4,1fr);gap:22px}}
.site-footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.site-footer ul{list-style:none;display:grid;gap:7px}
.site-footer a{color:rgba(255,255,255,.78);font-size:14px;font-weight:600}
.site-footer a:hover{color:var(--lime)}
.fineprint{grid-column:1/-1;border-top:1px solid #2c2545;padding-top:18px;margin-top:6px;font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.48)}
.fineprint strong{color:rgba(255,255,255,.7)}

/* ---------------- keep reading ---------------- */
.more{display:grid;gap:8px;max-width:840px}
.more a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px 16px;font-weight:700;font-size:15px}
.more a::after{content:"→";color:var(--violet);font-weight:800}
.more a:hover{border-color:var(--violet);text-decoration:none}

/* ---------------- admin ---------------- */
.adm{max-width:1040px;margin:0 auto;padding:26px 20px 80px}
.adm h1{font-size:23px}
.adm-login{max-width:410px;margin:9vh auto 0;background:#fff;border:1px solid var(--ink);border-radius:14px;padding:26px 22px}
.adm-login input{width:100%;height:50px;border:1px solid var(--line);border-radius:9px;padding:0 14px;font-size:18px;letter-spacing:.14em;margin:14px 0;font-family:inherit}
.adm-login button{width:100%;min-height:50px;border-radius:9px;border:1px solid var(--violet-deep);background:var(--violet);color:#fff;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.adm-stats div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.adm-stats b{display:block;font-size:21px;font-weight:800}
.adm-stats span{font-size:11.5px;font-weight:700;color:var(--muted)}
.adm-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.adm-actions a,.adm-actions button{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;color:var(--ink)}
.adm-actions .danger{color:var(--rose);border-color:#F3C3D2}
.adm-msg{background:var(--lime-soft);border:1px solid #9BC613;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;margin-bottom:14px}
.adm-empty{color:var(--muted);padding:26px 0;text-align:center}
.leads{width:100%;min-width:780px}
