/* NoBill prelander — dark palette, fox accent. Mirrors the product's design tokens. */
:root{
  --nb-canvas:#0c0d0e; --nb-card:#151618; --nb-sunken:#1c1d20; --nb-hairline:#2a2c30;
  --nb-ink:#f5f4f1; --nb-muted:#9c9ea4;
  --nb-fox:#ff6b1f; --nb-fox-deep:#e0560c; --nb-fox-soft:#2b1a10;
  --nb-save:#34d583; --nb-danger:#ff5a4f;
}
.nb-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.95rem 1.6rem; border:0; border-radius:12px; cursor:pointer;
  font:600 1rem/1.2 inherit; text-decoration:none; transition:background .15s,transform .1s;
}
.nb-btn--primary{ background:var(--nb-fox); color:#140b05; }
.nb-btn--primary:hover{ background:var(--nb-fox-deep); color:#140b05; }
.nb-btn--ghost{ background:transparent; color:var(--nb-ink); box-shadow:inset 0 0 0 1px var(--nb-hairline); }
.nb-btn--ghost:hover{ background:var(--nb-sunken); }
.nb-btn:active{ transform:translateY(1px); }
.nb-btn--wide{ width:100%; }
.nb-btn:focus-visible{ outline:2px solid var(--nb-fox); outline-offset:3px; }

.nb-cta{ margin:1.75rem 0; display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; }
.nb-cta__sub{ color:var(--nb-muted); font-size:.875rem; }

/* quiz */
.nb-quiz{ max-width:34rem; margin:0 auto; }
.nb-q{ border:0; margin:0; padding:1.75rem; background:var(--nb-card); border-radius:16px;
       box-shadow:inset 0 0 0 1px var(--nb-hairline); }
.nb-q__progress{ margin:0 0 .75rem; color:var(--nb-muted); font-size:.8125rem; letter-spacing:.04em; text-transform:uppercase; }
.nb-q__eyebrow{ margin:0 0 .35rem; color:var(--nb-fox); font-size:.8125rem; letter-spacing:.04em; text-transform:uppercase; }
.nb-q__title{ margin:0 0 .75rem; padding:0; font-size:1.375rem; font-weight:700; line-height:1.25; color:var(--nb-ink); }
.nb-q__hint{ margin:0 0 1rem; color:var(--nb-muted); font-size:.9375rem; }
.nb-q__opts{ display:grid; gap:.5rem; }
.nb-opt{ display:flex; align-items:center; gap:.75rem; padding:.9rem 1rem; border-radius:12px;
         background:var(--nb-sunken); box-shadow:inset 0 0 0 1px var(--nb-hairline);
         cursor:pointer; color:var(--nb-ink); }
.nb-opt:hover{ box-shadow:inset 0 0 0 1px var(--nb-muted); }
.nb-opt input{ accent-color:var(--nb-fox); width:1.15rem; height:1.15rem; flex:0 0 auto; }
.nb-opt:has(input:checked){ background:var(--nb-fox-soft); box-shadow:inset 0 0 0 2px var(--nb-fox); }
.nb-q__nav{ display:flex; gap:.75rem; margin-top:1.25rem; }
.nb-q__nav:empty{ display:none; }

.nb-result__text{ color:var(--nb-muted); margin:0 0 1rem; }
.nb-result__list{ margin:0 0 1.5rem; padding:0; list-style:none; display:grid; gap:.6rem; }
.nb-result__list li{ position:relative; padding-left:1.6rem; color:var(--nb-ink); }
.nb-result__list li::before{ content:""; position:absolute; left:0; top:.45em; width:.7rem; height:.7rem;
  border-radius:50%; background:var(--nb-save); }
.nb-result__legal{ margin:1rem 0 0; color:var(--nb-muted); font-size:.8125rem; line-height:1.5; }
.nb-result__legal a{ color:var(--nb-muted); text-decoration:underline; }

@media (max-width:30rem){
  .nb-q{ padding:1.25rem; }
  .nb-q__title{ font-size:1.1875rem; }
  .nb-q__nav{ flex-direction:column-reverse; }
  .nb-q__nav .nb-btn{ width:100%; }
}

/* ---- site shell: works on top of any theme, keeps the NoBill look ---- */
body{ background:var(--nb-canvas); color:var(--nb-ink);
      font:400 1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      -webkit-font-smoothing:antialiased; }
body a{ color:var(--nb-fox); }
.nb-wrap{ max-width:46rem; margin:0 auto; padding:3rem 1.25rem 0; }
.nb-wrap h1{ font-size:clamp(1.9rem,5vw,2.75rem); line-height:1.12; letter-spacing:-.02em;
             margin:0 0 1rem; font-weight:800; text-wrap:balance; }
.nb-wrap h2{ font-size:clamp(1.35rem,3.4vw,1.75rem); line-height:1.2; letter-spacing:-.01em;
             margin:2.75rem 0 .85rem; font-weight:700; text-wrap:balance; }
.nb-wrap h3{ font-size:1.0625rem; margin:1.75rem 0 .4rem; font-weight:700; }
.nb-wrap p{ margin:0 0 1rem; }
.nb-lede{ font-size:1.1875rem; color:var(--nb-muted); margin-bottom:1.75rem; }
.nb-eyebrow{ color:var(--nb-fox); font-size:.8125rem; letter-spacing:.06em;
             text-transform:uppercase; font-weight:600; margin:0 0 .5rem; }

.nb-card{ background:var(--nb-card); border-radius:16px; padding:1.5rem;
          box-shadow:inset 0 0 0 1px var(--nb-hairline); margin:1.5rem 0; }
.nb-does, .nb-doesnt{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.nb-does li, .nb-doesnt li{ position:relative; padding-left:1.9rem; }
.nb-does li::before{ content:"✓"; position:absolute; left:0; color:var(--nb-save); font-weight:700; }
.nb-doesnt li::before{ content:"✗"; position:absolute; left:0; color:var(--nb-danger); font-weight:700; }
.nb-stat{ display:flex; gap:1rem; align-items:flex-start; }
.nb-stat__big{ font-size:2.75rem; font-weight:800; line-height:1; color:var(--nb-fox); letter-spacing:-.03em; }
.nb-stat__txt{ margin:0; }
.nb-src{ color:var(--nb-muted); font-size:.8125rem; margin:.5rem 0 0; }
.nb-src a{ color:var(--nb-muted); }
.nb-faq dt{ font-weight:700; margin:1.4rem 0 .3rem; }
.nb-faq dd{ margin:0; color:var(--nb-muted); }

.nb-foot{ margin-top:4rem; border-top:1px solid var(--nb-hairline); background:var(--nb-canvas); }
.nb-foot__in{ max-width:46rem; margin:0 auto; padding:1.75rem 1.25rem 2.5rem; }
.nb-foot__note{ color:var(--nb-muted); font-size:.8125rem; margin:0 0 .5rem; }
.nb-foot__links{ font-size:.875rem; margin:0 0 .75rem; }
.nb-foot__links a{ color:var(--nb-ink); text-decoration:none; }
.nb-foot__links a:hover{ text-decoration:underline; }
