/* ============================================================
   QAPixel — qapixel.com
   Shared styles for landing + legal pages
   ============================================================ */
:root{
  --bg:#0b0c10;
  --bg-2:#0f1014;
  --panel:#15171d;
  --panel-2:#1b1d25;
  --line:#282b34;
  --text:#e7e9ee;
  --muted:#8b909c;
  --muted-2:#6b7180;
  --accent:#ff2d86;      /* magenta */
  --accent-2:#12a150;    /* teal/green */
  --ok:#2dd4bf;
  --warn:#ffce6b;
  --err:#ff6b9d;
  --radius:14px;
  --maxw:1120px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ok);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---- Header ---- */
header.site{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--text)}
.brand:hover{text-decoration:none}
.brand .qa{color:#fff}.brand .pixel{color:var(--accent)}
.brand svg{width:28px;height:28px}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{color:var(--muted);font-size:15px;font-weight:500}
.nav-links a:hover{color:var(--text);text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;border-radius:10px;padding:10px 18px;border:1px solid var(--line);cursor:pointer;transition:.15s;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--text)}
.btn.ghost:hover{border-color:var(--muted)}
.btn.lg{padding:14px 26px;font-size:16px}

/* ---- Hero ---- */
.hero{position:relative;overflow:hidden;padding:88px 0 64px}
.hero::before{content:"";position:absolute;top:-30%;right:-10%;width:60%;height:120%;background:radial-gradient(circle at center,rgba(255,45,134,.14),transparent 60%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 14px}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,45,134,.18)}
h1{font-size:clamp(38px,5.4vw,60px);line-height:1.04;letter-spacing:-.03em;margin:22px 0 0;font-weight:800}
.hero .sub{color:var(--muted);font-size:clamp(17px,2.2vw,21px);margin:18px 0 0;max-width:30ch}
.rule{width:64px;height:4px;background:var(--accent);border-radius:2px;margin:26px 0}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.cta-note{color:var(--muted-2);font-size:13px;margin-top:14px}
.checks{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.checks li{display:flex;align-items:flex-start;gap:12px;color:var(--text);font-size:16px}
.checks .ck{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-size:12px;margin-top:1px}

/* ---- Report mockup ---- */
.mock{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8);overflow:hidden}
.mock-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.mock-title{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px}
.mock-title .dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.pro-badge{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 7px}
.mock-x{color:var(--muted-2)}
.mock-body{padding:16px 18px}
.mock-layer{font-weight:600;font-size:14px}
.mock-layer small{display:block;color:var(--muted-2);font-weight:400;margin-top:2px}
table.specs{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}
table.specs th{text-align:left;color:var(--muted-2);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:0 0 8px}
table.specs td{padding:9px 0;border-top:1px solid var(--line)}
.st{font-size:11px;font-weight:700;padding:2px 9px;border-radius:6px}
.st.ok{background:rgba(45,212,191,.14);color:var(--ok)}
.st.err{background:rgba(255,107,157,.14);color:var(--err)}
.st.warn{background:rgba(255,206,107,.16);color:var(--warn)}
.mock-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--line)}
.tally{font-size:13px;font-weight:600}
.tally .p{color:var(--ok)}.tally .e{color:var(--err)}.tally .w{color:var(--warn)}
.mini-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit}

/* ---- Sections ---- */
section{padding:74px 0}
.section-tag{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
h2{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.02em;margin:10px 0 0;font-weight:800;line-height:1.12}
.lead{color:var(--muted);font-size:18px;margin:16px 0 0;max-width:60ch}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card .ico{width:42px;height:42px;border-radius:11px;background:rgba(255,45,134,.12);display:grid;place-items:center;color:var(--accent);margin-bottom:16px}
.card h3{font-size:18px;margin:0 0 8px;font-weight:700}
.card p{color:var(--muted);font-size:15px;margin:0}

/* ---- Video ---- */
.video-wrap{margin-top:44px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.video-wrap iframe{width:100%;height:100%;border:0;display:block}
.yt-play{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.yt-play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86;transition:.2s}
.yt-play:hover img{opacity:1}
.yt-btn{position:absolute;inset:0;margin:auto;width:78px;height:54px;border-radius:14px;background:var(--accent);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(255,45,134,.6);transition:.2s}
.yt-play:hover .yt-btn{transform:scale(1.06)}
.yt-btn::after{content:"";border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;margin-left:4px}

/* ---- How it works ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;counter-reset:step}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}
.step .n{width:34px;height:34px;border-radius:9px;background:var(--bg-2);border:1px solid var(--line);color:var(--accent);font-weight:800;display:grid;place-items:center;margin-bottom:14px}
.step h4{margin:0 0 6px;font-size:16px}
.step p{color:var(--muted);font-size:14px;margin:0}

/* ---- Pricing ---- */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px;max-width:820px}
.tier{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;display:flex;flex-direction:column}
.tier.pro{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 20px 60px -30px rgba(255,45,134,.5)}
.tier h3{margin:0;font-size:20px}
.tier .price{font-size:34px;font-weight:800;margin:12px 0 4px;letter-spacing:-.02em}
.tier .price small{font-size:15px;color:var(--muted);font-weight:500}
.tier ul{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:11px}
.tier li{display:flex;gap:10px;color:var(--text);font-size:15px}
.tier li .ck{color:var(--accent-2);font-weight:800}
.tier li.off{color:var(--muted-2)}
.tier .btn{margin-top:auto;justify-content:center}

/* ---- FAQ ---- */
.faq{margin-top:40px;max-width:820px}
details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:12px}
details summary{cursor:pointer;padding:18px 22px;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--accent);font-size:22px;line-height:1}
details[open] summary::after{content:"\2013"}
details .a{padding:0 22px 20px;color:var(--muted);font-size:15px}

/* ---- CTA band ---- */
.band{background:linear-gradient(135deg,rgba(255,45,134,.1),rgba(18,161,80,.08));border:1px solid var(--line);border-radius:20px;padding:52px;text-align:center;margin:20px 0}
.band h2{margin:0}
.band .cta-row{justify-content:center;margin-top:26px}

/* ---- Footer ---- */
footer.site{border-top:1px solid var(--line);padding:56px 0 40px;margin-top:40px;background:var(--bg-2)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px}
.foot-brand p{color:var(--muted);font-size:14px;margin:14px 0 0;max-width:38ch}
.foot-col h5{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin:0 0 14px}
.foot-col a{display:block;color:var(--muted);font-size:14px;margin-bottom:10px}
.foot-col a:hover{color:var(--text);text-decoration:none}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px;color:var(--muted-2);font-size:13px}

/* ---- Legal pages ---- */
.legal{padding:60px 0 40px;max-width:840px}
.legal h1{font-size:clamp(30px,4vw,42px)}
.legal .updated{color:var(--muted-2);font-size:14px;margin-top:8px}
.legal h2{font-size:23px;margin-top:40px}
.legal h3{font-size:18px;margin-top:26px}
.legal p,.legal li{color:#c9cdd6;font-size:15.5px}
.legal ul{padding-left:22px}
.legal a{color:var(--ok)}
.legal .box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:22px 0}
.back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;margin-bottom:8px}

/* ---- Cookie banner ---- */
#cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:560px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 20px 60px -20px rgba(0,0,0,.9);display:none}
#cookie-banner.show{display:block}
#cookie-banner p{margin:0 0 16px;font-size:14px;color:var(--muted)}
#cookie-banner .row{display:flex;gap:10px;flex-wrap:wrap}
#cookie-banner .btn{font-size:14px;padding:9px 16px}

/* ---- Responsive ---- */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .features{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .tiers{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links a:not(.btn){display:none}
}
@media(max-width:560px){
  .steps{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .band{padding:36px 22px}
}
