:root {
  --navy: #070B1F; --navy-2: #0E1534; --line: rgba(140,170,255,.16);
  --text: #E9EDFF; --muted: #A3ADD6; --blue: #4C8DFF; --gold: #F5C451;
  --max: 1100px; --gutter: clamp(20px, 5vw, 56px); --measure: 68ch;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }
body {
  margin: 0; color: var(--text); overflow-x: hidden;
  font: 17px/1.6 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background:
    radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 68% 9%, rgba(255,255,255,.45), transparent 60%),
    radial-gradient(1.5px 1.5px at 84% 34%, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(1px 1px at 33% 62%, rgba(255,255,255,.35), transparent 60%),
    radial-gradient(1px 1px at 91% 78%, rgba(255,255,255,.4), transparent 60%),
    radial-gradient(1.5px 1.5px at 6% 88%, rgba(255,255,255,.35), transparent 60%),
    radial-gradient(1200px 600px at 80% -10%, rgba(76,141,255,.22), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(245,196,81,.08), transparent 60%), var(--navy);
  background-attachment: fixed;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
p, li, dd, .provider span, .tile span { overflow-wrap: anywhere; }

/* Shell */
header.top, main { width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
header.top { padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
main { padding-top: 12px; padding-bottom: 64px; }
nav.links { display: flex; gap: 4px; flex-wrap: wrap; }
nav.links a { color: var(--muted); text-decoration: none; font-size: 15px; font-weight: 600; padding: 10px 12px; border-radius: 10px; }
nav.links a[aria-current="page"], nav.links a:hover { color: var(--text); background: rgba(140,170,255,.10); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); min-height: 44px; }
.mark { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-weight: 900;
        background: linear-gradient(145deg, var(--blue), #1D3FA8); box-shadow: 0 0 24px rgba(76,141,255,.45); }
.brand b { font-size: 20px; font-weight: 900; letter-spacing: -.01em; }

/* Type */
.eyebrow { margin: 28px 0 6px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(32px, 8vw, 48px); line-height: 1.1; font-weight: 900; letter-spacing: -.02em; }
.lede { color: #CFD8FF; font-size: clamp(18px, 1.6vw, 21px); margin: 14px 0 0; max-width: 34em; }
.meta { color: var(--muted); margin: 10px 0 0; font-size: 15px; }
h2 { margin: 40px 0 10px; font-size: clamp(22px, 2vw, 26px); font-weight: 800; letter-spacing: -.01em; }
h3 { margin: 22px 0 6px; font-size: 17px; font-weight: 700; color: #CFD8FF; }
ul, ol { padding-left: 22px; margin: 8px 0; }
li { margin: 6px 0; }
li::marker { color: var(--blue); }
a { color: #8DB4FF; text-underline-offset: 3px; }
code { background: rgba(140,170,255,.14); padding: 1px 6px; border-radius: 6px; font-size: .92em; }

/* Surfaces */
.card { background: linear-gradient(180deg, rgba(20,30,72,.75), rgba(14,21,52,.75)); border: 1px solid var(--line);
        border-radius: 18px; padding: 6px 20px 12px; margin-top: 24px; }
.card > h2:first-child, .card > h3:first-child { margin-top: 18px; }
.grid { display: grid; gap: 12px; margin-top: 24px; grid-template-columns: 1fr; }
.tile { display: block; text-decoration: none; color: var(--text); border: 1px solid var(--line); border-radius: 16px;
        padding: 16px 18px; background: rgba(14,21,52,.6); min-height: 44px; transition: border-color .2s, transform .2s, box-shadow .2s; }
.tile b { display: block; font-size: 17px; }
.tile span { display: block; color: var(--muted); font-size: 15px; }
.tile:hover { border-color: rgba(76,141,255,.5); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,.25), 0 0 24px rgba(76,141,255,.12); }
.stats { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.pill { border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 700; color: #CFD8FF; background: rgba(14,21,52,.6); }
.pill.gold { color: var(--gold); border-color: rgba(245,196,81,.35); }
.providers { display: grid; gap: 12px; margin-top: 12px; }
.provider { border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; background: rgba(14,21,52,.6); }
.provider b { display: block; font-size: 16px; }
.provider span { display: block; color: var(--muted); font-size: 15px; }
.cta { display: inline-block; margin-top: 18px; padding: 12px 20px; border-radius: 14px; font-weight: 800; text-decoration: none;
       color: #fff; background: linear-gradient(145deg, var(--blue), #1D3FA8); box-shadow: 0 0 24px rgba(76,141,255,.35); }
footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
footer a { color: var(--muted); margin-right: 14px; display: inline-block; padding: 4px 0; }
.meta.note { margin-top: 24px; max-width: var(--measure); }

/* Home: hero */
.hero { display: grid; gap: 32px; align-items: center; padding: 8px 0 8px; }
.hero h1 { font-size: clamp(40px, 5.2vw + 14px, 76px); line-height: 1.04; }
.hero-art { position: relative; }
.panel { position: relative; overflow: hidden; border-radius: 26px; padding: 26px 26px 30px; border: 1px solid rgba(140,170,255,.22);
         background: linear-gradient(160deg, #1B2E5C, #14244A 55%, #0E1A3A);
         box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 60px rgba(76,141,255,.18); }
.panel::after { content: ""; position: absolute; right: -62%; bottom: -112%; width: 150%; aspect-ratio: 1; border-radius: 50%;
                background: radial-gradient(closest-side, rgba(76,141,255,.0) 88%, rgba(106,150,255,.75) 95%, rgba(76,141,255,.0) 100%),
                            radial-gradient(closest-side, rgba(29,63,168,.55), rgba(7,11,31,0) 100%);
                filter: blur(.5px); pointer-events: none; }
.panel > * { position: relative; z-index: 1; }
.panel-eyebrow { margin: 0; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.panel-title { margin: 6px 0 0; font-size: 26px; font-weight: 900; letter-spacing: -.01em; }
.nodes { display: flex; gap: 10px; margin-top: 22px; }
.nodes span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 15px;
              color: #CFD8FF; border: 1px solid rgba(140,170,255,.28); background: rgba(7,11,31,.45); font-variant-numeric: tabular-nums; }
.nodes span.on { color: #1B1300; border-color: transparent; background: linear-gradient(145deg, #FFE3A6, var(--gold));
                 box-shadow: 0 0 22px rgba(245,196,81,.55); animation: pulse 2.4s ease-in-out infinite; }
.panel-score { display: flex; align-items: baseline; gap: 10px; margin-top: 26px; }
.panel-score b { font-size: 64px; line-height: 1; font-weight: 900; color: var(--gold); letter-spacing: -.03em; font-variant-numeric: tabular-nums;
                 text-shadow: 0 0 30px rgba(245,196,81,.35); }
.panel-score span { color: var(--muted); font-weight: 700; }
.panel-foot { margin: 18px 0 0; display: inline-block; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700;
              color: #CFD8FF; background: rgba(139,92,246,.18); border: 1px solid rgba(139,92,246,.35); }
@keyframes pulse { 50% { box-shadow: 0 0 34px rgba(245,196,81,.85); transform: scale(1.06); } }

/* Home: features */
.features { margin-top: 56px; }
.features > h2 { margin-top: 0; }
.feature-grid { display: grid; gap: 14px; grid-template-columns: 1fr; margin-top: 18px; }
.feature { position: relative; border: 1px solid var(--line); border-radius: 20px; padding: 20px 22px 22px;
           background: linear-gradient(180deg, rgba(20,30,72,.75), rgba(14,21,52,.75)); }
.feature-num { display: inline-block; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.feature h3 { margin: 8px 0 6px; font-size: 19px; color: var(--text); }
.feature p { margin: 0; color: #CFD8FF; }
.promise { margin: 14px 0 0; padding: 14px 20px; border-radius: 16px; text-align: center; font-weight: 800; color: var(--gold);
           border: 1px solid rgba(245,196,81,.35); background: rgba(245,196,81,.06); }

/* Document pages (privacy, support, delete account) */
.doc-head { padding-bottom: 6px; }
.doc-body > p, .doc-body > ul, .doc-body > ol, .doc-body > h2, .doc-body > h3 { max-width: var(--measure); }
.doc-body .card > p, .doc-body .card > ul, .doc-body .card > ol { max-width: var(--measure); }
.toc { margin-top: 24px; border: 1px solid var(--line); border-radius: 16px; padding: 14px 18px; background: rgba(14,21,52,.6); }
.toc p { margin: 0 0 6px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.toc ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.toc li { margin: 0; }
.toc a { display: block; padding: 7px 0; color: var(--muted); text-decoration: none; font-size: 15px; font-weight: 600; }
.toc a:hover { color: var(--text); }
.split, .faq { display: grid; gap: 14px; grid-template-columns: 1fr; }
.split > section:not(.card) > h2:first-child { margin-top: 32px; }
.split > .card { margin-top: 24px; }
.faq { margin-top: 8px; }
.qa { border: 1px solid var(--line); border-radius: 16px; padding: 4px 18px 10px; background: rgba(14,21,52,.5); }
.qa h3 { margin-top: 14px; }
.qa p, .qa ul { margin-top: 6px; }

/* Tablet */
@media (min-width: 560px) {
  .grid { grid-template-columns: 1fr 1fr; }
  .toc ol { grid-template-columns: 1fr 1fr 1fr; }
}
@media (min-width: 720px) {
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature-grid .feature:last-child { grid-column: 1 / -1; }
  .faq { grid-template-columns: 1fr 1fr; }
  .split { grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
  .providers { grid-template-columns: 1fr 1fr; }
}

/* Laptop and desktop */
@media (min-width: 960px) {
  header.top { padding-top: 28px; }
  .hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 56px; padding: 48px 0 24px; min-height: 440px; }
  .hero .eyebrow { margin-top: 0; }
  .grid { grid-template-columns: repeat(4, 1fr); }
  .feature-grid { grid-template-columns: repeat(3, 1fr); }
  .feature-grid .feature:last-child { grid-column: auto; }
  .doc-head { padding-top: 24px; }
  .doc-head h1 { font-size: clamp(44px, 4vw, 56px); }
  main.doc-toc { display: grid; grid-template-columns: 230px minmax(0, 1fr); column-gap: 56px; align-items: start; }
  main.doc-toc > .doc-head, main.doc-toc > footer { grid-column: 1 / -1; }
  main.doc-toc .toc { position: sticky; top: 24px; margin-top: 40px; padding: 16px 18px; }
  main.doc-toc .toc ol { grid-template-columns: 1fr; }
  main.doc-toc .toc a { padding: 6px 0; font-size: 14px; }
  main.doc-toc .doc-body { min-width: 0; }
}
@media (max-width: 359px) { .toc ol { grid-template-columns: 1fr; } .nodes { gap: 6px; } .nodes span { width: 38px; height: 38px; } }
@media (prefers-reduced-motion: reduce) { .nodes span.on { animation: none; } .tile { transition: none; } .tile:hover { transform: none; } }
