:root{
    --bg:#0b1220;--panel:#141c2e;--fg:#eef2f8;--mut:#9aa7bd;--line:#26324a;
    --brand:#2f86e0;--brand2:#1e63b8;--ok:#2ea44f;--warn:#e0a83a;--bad:#e05d44;
    color-scheme:dark light;
  }
  @media (prefers-color-scheme: light){
    :root:not([data-theme="dark"]){--bg:#f5f7fb;--panel:#fff;--fg:#0f172a;--mut:#5b6b85;--line:#e4e9f2}
  }
  :root[data-theme="light"]{--bg:#f5f7fb;--panel:#fff;--fg:#0f172a;--mut:#5b6b85;--line:#e4e9f2}
  :root[data-theme="dark"]{--bg:#0b1220;--panel:#141c2e;--fg:#eef2f8;--mut:#9aa7bd;--line:#26324a}
  .themebtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;background:transparent;border:1px solid var(--line);color:var(--fg);cursor:pointer;font-size:1.1rem;line-height:1}
  .themebtn:hover{border-color:var(--brand)}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.55}
  a{color:var(--brand);text-decoration:none}
  .wrap{max-width:1040px;margin:0 auto;padding:0 20px}
  header{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}
  .nav{display:flex;align-items:center;gap:10px;height:60px}
  .brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.05rem}
  .brand svg{width:26px;height:26px}
  .nav .sp{flex:1}
  .btn{display:inline-block;background:var(--brand);color:#fff;padding:11px 18px;border-radius:9px;font-weight:700;border:0;cursor:pointer}
  .btn:hover{background:var(--brand2)}
  .btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
  .hero{padding:72px 0 40px;text-align:center}
  .hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.1;margin:0 0 16px;letter-spacing:-.02em}
  .hero p.lead{font-size:1.2rem;color:var(--mut);max-width:640px;margin:0 auto 26px}
  .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .badgewrap{margin:34px auto 0;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
  .badgewrap .note{color:var(--mut);font-size:.85rem}
  .kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
  section{padding:52px 0;border-top:1px solid var(--line)}
  h2{font-size:clamp(1.5rem,3.5vw,2.1rem);margin:0 0 8px;letter-spacing:-.01em}
  .sub{color:var(--mut);max-width:640px;margin:0 0 30px}
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
  .step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
  .step .n{width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
  .feat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
  .feat h3{margin:0 0 6px;font-size:1.05rem}
  .feat p{margin:0;color:var(--mut);font-size:.93rem}
  .feat .ic{font-size:1.4rem;margin-bottom:8px}
  .callout{background:color-mix(in srgb,var(--brand) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);border-radius:14px;padding:22px 24px}
  .callout b{color:var(--fg)}
  .price{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
  .tier{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column}
  .tier.feature{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
  .tier h3{margin:0 0 2px;font-size:1.15rem}
  .tier .p{font-size:2rem;font-weight:800;margin:10px 0 2px}
  .tier .p small{font-size:.9rem;color:var(--mut);font-weight:500}
  .tier ul{list-style:none;padding:0;margin:16px 0 20px;flex:1}
  .tier li{padding:6px 0 6px 24px;position:relative;font-size:.92rem;color:var(--fg)}
  .tier li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
  .tier li.off{color:var(--mut)}
  .tier li.off::before{content:"–";color:var(--mut)}
  footer{border-top:1px solid var(--line);padding:30px 0;color:var(--mut);font-size:.88rem;text-align:center}
  .badges-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;color:var(--mut);font-size:.85rem;margin-top:18px}
  .pill{border:1px solid var(--line);border-radius:999px;padding:5px 12px}

/* utility classes (moved from inline style= so the CSP can be style-src 'self') */
.bt0{border-top:0}
.fs95{font-size:.95rem}
.mt14{margin-top:14px}
.mt18{margin-top:18px}
.mt20{margin-top:20px}
.mt22{margin-top:22px}
.mt26{margin-top:26px}
.mt48{margin-top:48px}
.fw400{font-weight:400}
.privnote{display:block;margin-top:8px;font-size:.9rem}
.tag-badge{font-size:.7rem;color:var(--brand);font-weight:700}
