
  :root { --ink:#0B0C0E; --sub:#5A6069; --faint:#9AA1AB; --line:#E7E9EE; --accent:#2F6BFF; --bg:#FFFFFF; }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; }
  .wrap { max-width:720px; margin:0 auto; padding:48px 24px 96px; }
  header.site { display:flex; align-items:center; gap:10px; margin-bottom:44px; }
  .orb { width:26px; height:26px; border-radius:50%; border:2px solid transparent; background:
    linear-gradient(var(--bg),var(--bg)) padding-box,
    linear-gradient(135deg,#0FB5E8,#2F6BFF) border-box; position:relative; flex:none; }
  .orb::after { content:"/\\"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:800; letter-spacing:-1px; color:var(--ink); }
  .wordmark { font-size:15px; font-weight:600; letter-spacing:0.18em; }
  .site-logo { height:20px; width:auto; display:block; }
  a.home { color:inherit; text-decoration:none; display:flex; align-items:center; gap:10px; }
  h1 { font-size:34px; letter-spacing:-0.02em; line-height:1.15; margin-bottom:10px; }
  .updated { color:var(--faint); font-size:14px; margin-bottom:18px; }
  .intro { color:var(--sub); font-size:16.5px; margin-bottom:36px; }
  h2 { font-size:20px; letter-spacing:-0.01em; margin:36px 0 10px; }
  p.body { color:var(--sub); font-size:15.5px; margin-bottom:12px; }
  ul.body-list { color:var(--sub); font-size:15.5px; margin:0 0 12px 20px; }
  ul.body-list li { margin-bottom:6px; }
  table.legal-table { width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:14.5px; }
  table.legal-table th, table.legal-table td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; color:var(--sub); }
  table.legal-table th { color:var(--faint); font-weight:600; }
  p.body a, ul.body-list a, table.legal-table a { color:var(--accent); }
  .doclist { list-style:none; margin-top:8px; }
  .doclist li { border-top:1px solid var(--line); }
  .doclist a { display:block; padding:18px 2px; color:inherit; text-decoration:none; }
  .doclist a:hover .t { color:var(--accent); }
  .doclist .t { font-weight:600; font-size:17px; }
  .doclist .s { color:var(--sub); font-size:14px; margin-top:2px; }
  footer.site { border-top:1px solid var(--line); margin-top:72px; padding-top:28px; display:flex; flex-wrap:wrap; gap:10px 26px; align-items:center; justify-content:center; }
  footer.site a, footer.site button { color:var(--faint); font-size:14.5px; text-decoration:none; background:none; border:none; cursor:pointer; font-family:inherit; padding:0; }
  footer.site a:hover, footer.site button:hover { color:var(--ink); }
  .entity { width:100%; text-align:center; color:var(--faint); font-size:13px; margin-top:14px; }
  /* ── Dark homepage (coming soon) ── */
  body.home { background:#070809; color:#F2F4F7; }
  .hero { max-width:720px; margin:0 auto; padding:13vh 24px 40px; min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; }
  .hero-lockup { width:264px; max-width:70vw; height:auto; margin-bottom:30px; }
  .hero h1 { font-size:clamp(26px,7vw,38px); font-weight:700; letter-spacing:-0.02em; line-height:1.14; margin-bottom:18px; }
  .hero .accent { background:linear-gradient(120deg,#0FB5E8,#2F6BFF); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .hero p { color:rgba(242,244,247,0.66); font-size:17px; max-width:34ch; margin-bottom:14px; }
  .hero p strong { color:#F2F4F7; font-weight:600; }
  .hero p s { color:rgba(242,244,247,0.45); }
  .hero .soon { margin-top:30px; font-size:13px; letter-spacing:0.16em; text-transform:uppercase; color:rgba(242,244,247,0.5); border:1px solid rgba(242,244,247,0.18); border-radius:999px; padding:9px 18px; }
  body.home footer.site { border-top-color:rgba(242,244,247,0.1); max-width:720px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; margin-top:0; }
  body.home footer.site a, body.home footer.site button { color:rgba(242,244,247,0.5); }
  body.home footer.site a:hover, body.home footer.site button:hover { color:#fff; }
  body.home .entity { color:rgba(242,244,247,0.38); }
  @media (max-width:520px){ .hero h1 { font-size:30px; } }
  /* ── Marketing site (LIGHT premium — mostly white/black) ── */
  /* --cta-red = the deep blood red used on "Become a member" CTAs and the
     uppercase section eyebrows / new-member pill. --accent stays Aurora blue
     for checks, comparison highlights and links. */
  body.site { background:#FFFFFF; color:#0B0C0E; --ink:#0B0C0E; --sub:#565B63; --faint:#8B909A; --line:rgba(0,0,0,0.09); --soft:#F5F6F8; --accent:#2F6BFF; --cta-red:#8B131A; -webkit-font-smoothing:antialiased; }
  .mkt section { padding:96px 0; }
  .mkt .container { max-width:1120px; margin:0 auto; padding:0 24px; }
  .mkt h2 { font-size:clamp(28px,4.2vw,44px); font-weight:800; letter-spacing:-0.03em; line-height:1.08; margin-bottom:14px; }
  .mkt .eyebrow { font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--cta-red); margin-bottom:14px; }
  .mkt .section-lede { color:var(--sub); font-size:clamp(16px,1.8vw,18.5px); max-width:60ch; line-height:1.55; }
  .mkt .center { text-align:center; }
  .mkt .center .section-lede { margin-left:auto; margin-right:auto; }
  .mkt .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; padding:13px 24px; font-size:15.5px; font-weight:650; text-decoration:none; cursor:pointer; white-space:nowrap; transition:transform .12s ease, background .12s ease, opacity .12s; }
  .mkt .btn:hover { transform:translateY(-1px); }
  .mkt .btn.dark { color:#fff; background:var(--ink); }
  .mkt .btn.dark:hover { background:#23262b; }
  .mkt .btn.white { color:var(--ink); background:#fff; }
  /* CTA red (pre-Aurora blood red) — "Become a member" buttons + eyebrows */
  .mkt .btn.primary { color:#fff; background:var(--cta-red); }
  .mkt .btn.primary:hover { filter:brightness(0.88); }
  .mkt .btn.outline { color:var(--ink); border:1px solid var(--line); background:transparent; }
  .mkt .btn.outline.on-dark { color:#fff; border-color:rgba(255,255,255,0.55); }
  .mkt .btn.lg { padding:16px 30px; font-size:16.5px; }
  .mkt .btn.full { width:100%; }
  /* promo bar */
  .promo { background:var(--ink); color:#fff; text-align:center; font-size:13.5px; padding:9px 16px; letter-spacing:0.01em; }
  .promo strong { font-weight:700; }
  /* nav — transparent over the video hero, solid white on scroll */
  .nav { position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; gap:22px; padding:18px 32px; transition:background .25s ease, border-color .25s ease, padding .2s ease; border-bottom:1px solid transparent; }
  .nav .brand { display:flex; align-items:center; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
  .nav .brand img { height:17px; width:auto; }
  .nav .logo-light { display:block; }
  .nav .logo-dark { display:none; }
  .nav-links { display:flex; gap:28px; }
  .nav-links a { color:rgba(255,255,255,0.82); text-decoration:none; font-size:15px; font-weight:500; }
  .nav-links a:hover { color:#fff; }
  .nav-cta { margin-left:auto; display:flex; gap:12px; align-items:center; }
  .nav .link-login { color:#fff; text-decoration:none; font-size:15px; font-weight:600; }
  .nav.scrolled { background:rgba(255,255,255,0.86); backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px); border-bottom-color:var(--line); padding-top:14px; padding-bottom:14px; }
  .nav.scrolled .logo-light { display:none; }
  .nav.scrolled .logo-dark { display:block; }
  .nav.scrolled .nav-links a { color:var(--sub); }
  .nav.scrolled .nav-links a:hover { color:var(--ink); }
  .nav.scrolled .link-login { color:var(--ink); }
  .nav .nav-join { color:var(--ink); background:#fff; padding:10px 20px; font-size:14.5px; }
  .nav.scrolled .nav-join { color:#fff; background:var(--ink); }
  /* HERO with video background */
  .mkt .hero { position:relative; max-width:none; margin:0; min-height:92vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 24px 90px; overflow:hidden; }
  .hero video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .hero .scrim { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(6,6,9,0.80) 0%,rgba(6,6,9,0.70) 42%,rgba(6,6,9,0.92) 100%); }
  .hero-content { position:relative; z-index:2; max-width:860px; color:#fff; }
  .hero .eyebrow { color:#fff; }
  .hero h1 { font-size:clamp(40px,7vw,74px); font-weight:800; letter-spacing:-0.035em; line-height:1.02; margin-bottom:22px; color:#fff; }
  .hero h1 .accent { color:#fff; -webkit-text-fill-color:#fff; background:none; }
  .hero .lede { color:rgba(255,255,255,0.9); font-size:clamp(17px,2.2vw,21px); max-width:46ch; margin:0 auto 30px; line-height:1.5; }
  .hero .lede strong { color:#fff; font-weight:700; }
  .hero .lede s { color:rgba(255,255,255,0.5); text-decoration-thickness:1px; }
  .cta-row { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-bottom:20px; }
  .hero .trust { color:rgba(255,255,255,0.72); font-size:13.5px; }
  /* trust strip */
  .strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .strip .mkt-inner, .strip-inner { max-width:1120px; margin:0 auto; padding:26px 24px; display:flex; flex-wrap:wrap; gap:14px 40px; align-items:center; justify-content:center; }
  .strip-item { display:flex; align-items:center; gap:9px; color:var(--sub); font-size:14.5px; font-weight:600; }
  .strip-item b { color:var(--ink); font-weight:800; }
  /* how it works */
  .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
  .step { border:1px solid var(--line); border-radius:20px; padding:30px; background:#fff; }
  .step .num { width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; color:#fff; background:var(--ink); margin-bottom:18px; }
  .step .st { font-size:19px; font-weight:750; margin-bottom:8px; letter-spacing:-0.01em; }
  .step p { color:var(--sub); font-size:15px; line-height:1.55; }
  /* Media-led "How it works" cards (real app screens + lifestyle photo) */
  .how .steps { grid-template-columns:repeat(4,1fr); }
  .how .step { text-align:left; border:none; background:none; padding:0; border-radius:0; }
  .hiw-media { position:relative; aspect-ratio:4/5; border-radius:22px; overflow:hidden; background:#0A0B0E; margin-bottom:18px; box-shadow:0 20px 48px rgba(11,12,14,0.16); border:1px solid var(--line); }
  .hiw-media img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
  /* App-screen cards: inset the screen so its header row breathes (no top clip); screen bleeds off the bottom */
  .hiw-media.app { background:#EEF1F5; padding:16px 13px 0; }
  .hiw-media.app img { height:auto; object-fit:unset; border-radius:15px 15px 0 0; box-shadow:0 8px 22px rgba(11,12,14,0.12); }
  .how .step .st { display:flex; align-items:center; gap:10px; }
  .stnum { flex:none; width:26px; height:26px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; color:#fff; background:var(--ink); }
  /* systems grid */
  .systems { background:var(--soft); max-width:none; }
  .systems .systems-inner { max-width:1120px; margin:0 auto; }
  .grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
  .cell { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; }
  .cell .ct { font-weight:750; font-size:16px; margin-bottom:6px; letter-spacing:-0.01em; }
  .cell .cd { color:var(--sub); font-size:13.5px; line-height:1.45; }
  /* product showcase */
  .showcase-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
  .showcase-copy h2 { margin-bottom:16px; }
  .showcase-copy .section-lede { margin-bottom:22px; }
  .showcase-list { list-style:none; }
  .showcase-list li { position:relative; padding-left:30px; margin-bottom:14px; color:var(--ink); font-size:16px; line-height:1.45; }
  .showcase-list li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--accent); font-weight:800; }
  /* Coded iPhone frame wrapping a real app screenshot (no notch overlap — clean bezel) */
  .iphone { position:relative; width:100%; max-width:300px; margin:0 auto; aspect-ratio:1179/2556; background:#0A0B0E; border-radius:46px; padding:9px; box-shadow:0 44px 96px rgba(11,12,14,0.26), 0 12px 30px rgba(11,12,14,0.14); }
  .iphone::after { content:""; position:absolute; inset:0; border-radius:46px; border:1px solid rgba(255,255,255,0.10); pointer-events:none; }
  .iphone .screen { position:relative; width:100%; height:100%; border-radius:38px; overflow:hidden; background:#050506; }
  .iphone .screen::after { content:""; position:absolute; top:12px; left:50%; transform:translateX(-50%); width:32%; height:22px; background:#0A0B0E; border-radius:12px; z-index:2; }
  .iphone .screen img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
  /* comparison */
  .compare .container { max-width:900px; }
  .compare-table { margin-top:40px; border:1px solid var(--line); border-radius:22px; overflow:hidden; }
  .compare-row { display:grid; grid-template-columns:1.3fr 1fr 1fr; }
  .compare-row > div { padding:18px 20px; border-bottom:1px solid var(--line); font-size:15px; }
  .compare-row:last-child > div { border-bottom:none; }
  .compare-row .rl { color:var(--sub); font-weight:600; }
  .compare-row .std { color:var(--faint); text-align:center; }
  .compare-row .act { text-align:center; font-weight:700; color:var(--ink); background:rgba(47,107,255,0.05); }
  .compare-head .rl, .compare-head .std, .compare-head .act { font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; color:var(--faint); }
  .compare-head .act { color:var(--cta-red); }
  /* story band */
  .mkt .story { background:var(--ink); color:#fff; max-width:none; padding:0; }
  .story-inner { max-width:1120px; margin:0 auto; display:flex; align-items:stretch; min-height:540px; }
  .story-photo { position:relative; flex:0 0 42%; background:#0B0C0E url(/brand/activated-portrait.jpg?v=1) 50% 40% / cover; }
  .story-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(47,107,255,0.24) 0%, rgba(47,107,255,0) 44%, rgba(11,12,14,0.5) 84%, var(--ink) 100%); }
  .story-copy { flex:1; padding:64px clamp(28px,4vw,64px); display:flex; flex-direction:column; justify-content:center; text-align:left; }
  .story-copy h2 { color:#fff; margin-bottom:16px; }
  .story-copy p { color:rgba(255,255,255,0.72); font-size:clamp(17px,2vw,20px); line-height:1.6; max-width:52ch; }
  /* pricing */
  .price-card { max-width:480px; margin:48px auto 0; background:#fff; border:1px solid var(--line); border-radius:26px; padding:38px; text-align:center; box-shadow:0 24px 70px rgba(11,12,14,0.07); }
  .price-badge { display:inline-block; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--cta-red); background:rgba(139,19,26,0.10); border-radius:999px; padding:6px 14px; font-weight:700; margin-bottom:18px; }
  .price { margin-bottom:22px; } .price s { color:var(--faint); font-size:22px; } .price strong { font-size:52px; font-weight:800; letter-spacing:-0.03em; } .price span { color:var(--sub); font-size:18px; }
  .incl { list-style:none; text-align:left; margin:0 auto 26px; max-width:340px; }
  .incl li { position:relative; padding-left:28px; margin-bottom:13px; color:var(--ink); font-size:15.5px; line-height:1.4; }
  .incl li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:800; }
  .price-card .fine { color:var(--faint); font-size:13px; margin-top:16px; }
  /* faq */
  .faqs { max-width:820px; margin:44px auto 0; }
  .faq-item { border-top:1px solid var(--line); }
  .faq-item:last-child { border-bottom:1px solid var(--line); }
  .faq-item summary { cursor:pointer; list-style:none; padding:22px 2px; font-size:18px; font-weight:700; letter-spacing:-0.01em; display:flex; justify-content:space-between; align-items:center; gap:20px; }
  .faq-item summary::-webkit-details-marker { display:none; }
  .faq-item summary::after { content:"+"; color:var(--faint); font-size:24px; font-weight:300; }
  .faq-item[open] summary::after { content:"–"; }
  .faq-item p { color:var(--sub); font-size:15.5px; line-height:1.65; padding:0 2px 24px; max-width:70ch; }
  /* get app / cta band */
  .getapp { text-align:center; }
  .badges { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
  .store { display:inline-flex; align-items:center; gap:11px; background:var(--ink); border-radius:13px; padding:11px 20px; text-decoration:none; color:#fff; transition:transform .12s ease; }
  .store:hover { transform:translateY(-1px); }
  .store span { display:flex; flex-direction:column; line-height:1.12; text-align:left; }
  .store small { font-size:10.5px; letter-spacing:0.04em; opacity:0.85; }
  .store strong { font-size:17px; font-weight:600; }
  @media (max-width:900px){
    .nav-links { display:none; }
    .nav .brand { position:static; transform:none; }
    .mkt section { padding:72px 22px; }
    .how .steps, .grid { grid-template-columns:repeat(2,1fr); }
    .showcase-grid { grid-template-columns:1fr; gap:32px; }
    .compare-row { grid-template-columns:1.2fr 0.9fr 0.9fr; }
    .story-inner { flex-direction:column; min-height:0; }
    .story-photo { flex:none; height:280px; }
    .story-photo::after { background:linear-gradient(180deg, rgba(47,107,255,0.2) 0%, rgba(11,12,14,0) 50%, var(--ink) 100%); }
    .story-copy { padding:36px 22px 44px; }
  }
  @media (max-width:520px){
    .nav { padding:12px 14px; gap:8px; }
    .nav .brand img { height:14px; }
    .nav-cta { gap:10px; }
    .nav-cta .link-login { font-size:13px; }
    .nav .nav-join { padding:8px 13px; font-size:12.5px; }
    .grid { grid-template-columns:1fr; }
    .how .steps { grid-template-columns:1fr; }
    .promo { font-size:12px; }
    .hero .btn.outline { display:none; }
  }
  @media (max-width:380px){
    .nav { padding:11px 12px; gap:7px; }
    .nav .brand img { height:13px; }
    .nav-cta { gap:8px; }
    .nav-cta .link-login { font-size:12.5px; }
    .nav .nav-join { padding:7px 11px; font-size:12px; }
  }
  /* ── Checkout (activated.app/checkout — Eclipse "Lab" LIGHT, mirrors the in-app checkout) ── */
  body.checkout { background:#FFFFFF; color:#0B0C0E; --ink:#0B0C0E; --sub:#565B63; --faint:#9BA1A9; --line:rgba(0,0,0,0.10); --accent:#2F6BFF; --surface:#F5F6F8; }
  .co-wrap { max-width:560px; margin:0 auto; padding:22px 22px 90px; }
  .co-back { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--surface); border:1px solid var(--line); color:var(--ink); text-decoration:none; font-size:22px; line-height:1; margin-bottom:20px; }
  .co-brand img { height:18px; width:auto; display:block; margin-bottom:22px; }
  .co-pill { display:inline-block; font-size:12.5px; font-weight:600; color:var(--accent); background:rgba(47,107,255,0.12); border-radius:999px; padding:6px 12px; margin-bottom:14px; }
  .co-h1 { font-size:30px; font-weight:800; letter-spacing:-0.02em; line-height:1.12; margin-bottom:12px; color:var(--ink); }
  .co-sub { color:var(--sub); font-size:16px; line-height:1.5; margin-bottom:20px; }
  .co-sub strong { color:var(--ink); font-weight:700; }
  .co-divider { height:1px; background:var(--line); margin:20px 0 22px; }
  .co-card { display:flex; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; }
  .co-vial { width:44px; height:44px; border-radius:22px; flex:none; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0FB5E8,#2F6BFF); }
  .co-card-main { flex:1; }
  .co-card-title { font-weight:700; font-size:16px; color:var(--ink); margin-bottom:3px; }
  .co-card-desc { color:var(--sub); font-size:12.5px; line-height:1.4; }
  .co-price { text-align:right; flex:none; }
  .co-price s { color:var(--faint); font-size:13px; }
  .co-now { font-size:22px; font-weight:800; color:var(--ink); }
  .co-now span { font-size:13px; font-weight:400; color:var(--sub); }
  .co-caption { color:var(--faint); font-size:12.5px; margin:12px 0 28px; }
  .co-step { display:flex; align-items:center; gap:12px; margin:0 0 16px; }
  .co-num { width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
  .co-num.on { color:#fff; background:var(--accent); }
  .co-num.off { color:var(--faint); background:var(--surface); }
  .co-step-label { font-size:17px; font-weight:700; color:var(--ink); }
  .co-step.locked .co-step-label { color:var(--faint); }
  .co-field-label { font-size:13px; font-weight:600; color:var(--sub); margin-bottom:7px; display:block; }
  .co-input, .co-select { width:100%; height:54px; border-radius:14px; background:var(--surface); border:1px solid var(--line); color:var(--ink); padding:0 16px; font-size:16px; font-family:inherit; margin-bottom:14px; }
  .co-input::placeholder { color:var(--faint); }
  .co-input:focus, .co-select:focus { outline:none; border-color:var(--accent); }
  .co-select { -webkit-appearance:none; appearance:none; }
  .co-dob { display:flex; gap:8px; align-items:center; }
  .co-dob .co-input { text-align:center; }
  .co-btn { width:100%; border:none; border-radius:14px; padding:16px; font-size:16px; font-weight:700; cursor:pointer; font-family:inherit; }
  .co-btn.dark { background:var(--ink); color:#fff; }
  .co-btn.accent { color:#fff; background:linear-gradient(90deg,#0FB5E8,#2F6BFF); }
  .co-btn:disabled { opacity:0.4; cursor:not-allowed; }
  .co-check { display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; }
  .co-check input { margin-top:3px; width:18px; height:18px; flex:none; accent-color:var(--accent); }
  .co-check label { font-size:12.5px; line-height:1.45; color:var(--sub); }
  .co-check a { color:var(--accent); }
  .co-locked-box { display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; color:var(--sub); font-size:14.5px; }
  .co-loginrow { text-align:center; color:var(--sub); font-size:13.5px; margin-top:14px; }
  .co-loginrow a { color:var(--accent); font-weight:600; }
  .co-hide { display:none; }
  .co-methods { display:flex; flex-direction:column; gap:10px; margin:14px 0; }
  .co-method { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; padding:15px 16px; cursor:pointer; font-size:15px; font-weight:600; color:var(--ink); }
  .co-method.on { border-color:var(--accent); background:rgba(47,107,255,0.05); }
  .co-method .badge5 { margin-left:auto; font-size:11px; color:#0FA958; font-weight:700; }
  .co-accesscode { display:flex; gap:8px; margin:14px 0; }
  .co-accesscode .co-input { margin-bottom:0; }
  .co-accesscode button { flex:none; padding:0 18px; border-radius:14px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-weight:600; cursor:pointer; font-family:inherit; }
  #co-embed { min-height:60px; margin:12px 0; }
  .co-fine { color:var(--faint); font-size:11.5px; line-height:1.5; margin-top:14px; }
  .co-err { color:#D8422C; font-size:13.5px; margin:8px 0; }
  .co-step2 { margin-top:30px; }
  @media (max-width:520px){ .co-h1 { font-size:27px; } }
  /* ── Cookie Privacy Preference Center ── */
  .cc-backdrop { position:fixed; inset:0; background:rgba(11,12,14,0.55); display:none; align-items:center; justify-content:center; padding:20px; z-index:50; }
  .cc-backdrop.open { display:flex; }
  .cc-modal { background:#fff; color:var(--ink); border-radius:16px; max-width:640px; width:100%; max-height:86vh; overflow-y:auto; padding:34px; position:relative; }
  .cc-x { position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:16px; cursor:pointer; color:var(--ink); }
  .cc-modal h3 { font-size:24px; letter-spacing:-0.01em; margin-bottom:12px; }
  .cc-modal .cc-desc { color:var(--sub); font-size:14.5px; margin-bottom:20px; }
  .cc-actions { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; }
  .cc-btn { border-radius:999px; padding:11px 20px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; }
  .cc-btn.ghost { background:#fff; border:1px solid var(--line); color:var(--ink); }
  .cc-btn.solid { border:none; color:#fff; background:linear-gradient(90deg,#0FB5E8,#2F6BFF); }
  .cc-modal h4 { font-size:19px; margin-bottom:6px; }
  .cc-cat { border-top:1px solid var(--line); padding:16px 0; }
  .cc-cat-row { display:flex; align-items:center; justify-content:space-between; gap:14px; }
  .cc-cat-row .name { font-weight:600; font-size:16px; }
  .cc-cat-row .always { color:var(--faint); font-size:14px; }
  .cc-cat p { color:var(--sub); font-size:13.5px; margin-top:6px; }
  .cc-toggle { position:relative; width:46px; height:26px; border-radius:999px; background:#D7DBE2; border:none; cursor:pointer; transition:background .15s; flex:none; }
  .cc-toggle::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
  .cc-toggle.on { background:var(--accent); }
  .cc-toggle.on::after { left:23px; }
  .cc-save { margin-top:22px; }
  /* ── Small cookie banner (bottom-left; the default first-visit prompt) ── */
  .cc-banner { position:fixed; left:20px; bottom:20px; max-width:440px; background:#fff; color:var(--ink); border-radius:16px; padding:22px 22px 20px; box-shadow:0 12px 44px rgba(0,0,0,0.20); display:none; z-index:49; }
  .cc-banner.open { display:block; }
  .cc-banner p { font-size:14.5px; color:var(--ink); line-height:1.55; margin-bottom:16px; }
  .cc-banner a { color:var(--ink); text-decoration:underline; }
  .cc-brow { display:flex; gap:10px; }
  .cc-banner .b-accept { background:#0B0C0E; color:#fff; border:none; border-radius:999px; padding:11px 26px; font-weight:600; font-size:15px; cursor:pointer; font-family:inherit; }
  .cc-banner .b-more { background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:999px; padding:11px 22px; font-weight:600; font-size:15px; cursor:pointer; font-family:inherit; }
  @media (max-width:520px){ .cc-banner { left:12px; right:12px; bottom:12px; max-width:none; } }
