:root{
      --zd-red:#DD4A2F;
      --zd-ink:#232323;
      --zd-muted:#6F6F6F;
      --zd-bg:#FAF9F7;           /* default canvas */
      --zd-line:#ECE9E6;
      --zd-green:#2ECC71;

      /* NEW: contrast bands (accessible) */
      --band-brand:#FFF9C4;      /* soft brand tint */
      --band-brand-border:#F9D0C6;
      --band-dark:#1F1F1F;       /* near-black */
      --band-dark-ink:#FFFFFF;
      --band-light:#FFFFFF;      /* crisp white section */
    }

    html, body { background: var(--zd-bg); color: var(--zd-ink); overflow-x: hidden; }

    section, div, img {
      max-width: 100%;
    }

    /* Buttons / tokens */
    .is-zd { background: var(--zd-red)!important; color:#fff!important; }
    .is-zd-outline { border:2px solid var(--zd-red); color:var(--zd-red); background:transparent; }
    .is-muted { color: var(--zd-muted); }

    /* Spacing helpers */
    .section-tight { padding-top:5rem; padding-bottom:6rem; }
    .hero-min { padding-top:3.5rem; padding-bottom:3.5rem; }
    .divider { height:1px; background:var(--zd-line); margin:0; }

    /* NEW: alternating background bands */
    .band-brand   { background: var(--band-brand); }
    .band-brand .box, .band-brand .flow-step { border-color: var(--band-brand-border); background:#fff; }
    .band-light   { background: var(--band-light); }
    .band-dark    { background: var(--band-dark); color: var(--band-dark-ink); }
    .band-dark .is-muted, .band-dark .copy-muted { color: #D5D5D5; }
    .band-dark .pill, .band-dark .feature-icon { background:#2A2A2A; border-color:#3A3A3A; color:#fff; }
    .band-dark .flow-step { background:#2A2A2A; border-color:#3A3A3A; }
    .band-dark .flow-arrow { color:#B5B5B5; }
    .band-dark .is-zd-outline { border-color:#fff; color:#fff; }
    .band-dark .divider { background:#2D2D2D; }

    /* Pills / feature icons */
    .pill { display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .75rem; border-radius:999px; font-size:.9rem; background:#fff; border:1px solid var(--zd-line); }
    .feature-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:#fff; border:1px solid var(--zd-line); }

    /* --- Typo: larger, clearer body copy --- */
    .copy-lg { font-size: 1.125rem; line-height: 1.85; color: inherit; }   /* ~18px */
    .copy-xl { font-size: 1.25rem;  line-height: 1.9;  color: inherit; }   /* ~20px */
    .copy-muted { color: var(--zd-muted); }
    .subtitle.is-5 { font-size: 1.25rem; line-height: 1.85; }
    body, p { font-size: 1.0625rem; line-height: 1.8; } /* global bump */

    /* Video helpers */
    .ratio { position: relative; width: 100%; padding-bottom: 56.25%; border-radius:16px; overflow: hidden; background: #fff; border:1px solid var(--zd-line); }
    .ratio iframe, .ratio video { position:absolute; inset:0; width:100%; height:100%; border:0; }
    .video-thumb { position:relative; width:100%; padding-bottom:56.25%; border-radius:16px; overflow:hidden; background:#fff; border:1px solid var(--zd-line); cursor:pointer; }
    .video-thumb .overlay { position:absolute; inset:0; display:grid; place-items:center; background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.2)); }
    .play-btn { width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--zd-ink); border:1px solid var(--zd-line); }

    /* Flow stepper */
    .flow { display: grid; gap: 1.25rem; }
    @media (min-width: 769px) {
      .flow { grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; }
    }
    .flow-step {
      background:#fff; border:1px solid var(--zd-line); border-radius:14px; padding:1rem 1.25rem;
      display:flex; gap:.875rem; align-items:center;
    }
    .flow-step .ico {
      width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
      background:#fff; border:1px solid var(--zd-line);
    }
    .flow-arrow { display:none; }
    @media (min-width: 769px) {
      .flow-arrow { display:flex; align-items:center; justify-content:center; color:var(--zd-muted); }
    }
    .flow-meta { margin-top:.9rem; color:var(--zd-muted); font-size:1rem; }

    /* Lists */
    .list-clean li { display:flex; align-items:flex-start; gap:.75rem; margin:.5rem 0; }
    .list-clean li i { margin-top:.2rem; color: var(--zd-red); }

    /* Verification tag */
    .tag-verified { background: rgba(46,204,113,.1); color:#176C3A; border:1px solid rgba(46,204,113,.25); }

    /* Navbar minimal */
    .navbar.is-transparent { background:transparent; }
    .navbar-item, .navbar-link { color: inherit; }
    .navbar-item img {
      max-height: 4rem;
    }