
    :root{
      --pxc-bg:#f6f7f8;
      --pxc-border:#d8dadd;
      --pxc-muted:#666666;
      --pxc-primary:#3D91A6;
      --pxc-primary-600:#0E8088;
      --pxc-success:#00c8c4;
      --pxc-note:#fff9e6;
      --pxc-note-border:#ffdbaf;
      --pxc-radius:12px;
      --pxc-gap:16px;
      --pxc-shadow:0 1px 2px rgba(0,0,0,.05), 0 6px 20px rgba(0,0,0,.06);
    }

    .wizard { max-width: 980px; margin: 0 auto; }
    .wizard-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; gap:8px; }
    .wizard-title { font-size:1.35rem; margin:0; line-height:1.2; }
    .wizard-subtitle { color:var(--pxc-muted); font-size:.95rem; margin:.25rem 0 0; }

    /* progress bar + counters */
    .wizard-meter-wrap { width:100%; background:#eef1f4; border-radius:999px; height:8px; overflow:hidden; }
    .wizard-meter { height:100%; width:0%; background:var(--pxc-primary); transition: width .22s ease; }
    .wizard-progress { font-size:.9rem; color:var(--pxc-muted); white-space:nowrap; }

    /* frame with caption */
    .wizard-frame { background:var(--pxc-bg); border:1px solid var(--pxc-border); border-radius:var(--pxc-radius); min-height:360px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:var(--pxc-shadow); }
    .wizard-frame img { width:100%; height:100%; object-fit:contain; display:block; }
    figure.frame { margin:0; }
    figcaption { text-align:center; font-size:.9rem; color:var(--pxc-muted); padding:10px 8px 0; }

    /* step panes */
    .wizard-step { display:none; }
    .wizard-step[aria-hidden="false"] { display:block; }
    .wizard-explainer { text-align:center; margin:14px auto 8px; max-width:72ch; color:var(--pxc-muted); }
    .wizard-bullets { margin:10px auto 0; max-width:78ch; padding-left:1.2rem; }
    .wizard-bullets li { margin:.4rem 0; line-height:1.65; }

    /* sticky actions */
    .wizard-actions-sticky {
      position:sticky; bottom:0; background:#fff; padding:10px 12px; border-top:1px solid var(--pxc-border);
      display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; z-index:5;
    }
    .wizard-actions .btn { padding:10px 16px; border-radius:8px; border:1px solid #c9ccd1; background:#fff; cursor:pointer; font-weight:600; }
    .wizard-actions .btn:hover { border-color:#b6bac0; }
    .wizard-actions .btn.primary { background:var(--pxc-primary); color:#fff; border-color:var(--pxc-primary); }
    .wizard-actions .btn.primary:hover { background:var(--pxc-primary-600); border-color:var(--pxc-primary-600); }
    .wizard-actions .btn[disabled] { opacity:.5; cursor:not-allowed; }

    /* dots -> labeled tabs */
    .wizard-dots { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:center; padding:8px 0; }
    .wizard-dots button {
      --size: 11px;
      width:var(--size); height:var(--size); border-radius:50%; border:0; background:#d7dbe0; cursor:pointer; position:relative;
    }
    .wizard-dots button[aria-current="step"] { background:var(--pxc-primary); transform:scale(1.05); }
    .wizard-dots button:focus-visible { outline:2px solid var(--pxc-primary); outline-offset:2px; border-radius:999px; }
    .wizard-dots button[data-label]::after{
      content:attr(data-label); position:absolute; left:50%; transform:translateX(-50%);
      bottom:140%; white-space:nowrap; background:#111; color:#fff; font-size:.75rem; padding:.25rem .45rem; border-radius:6px; opacity:0; pointer-events:none;
      transition:opacity .12s ease;
    }
    .wizard-dots button:hover::after{ opacity:.95; }

    /* callouts */
    .callout { margin-top:24px; padding:12px 14px; border:1px solid var(--pxc-border); border-radius:10px; background:#f9fafb; display:flex; gap:10px; align-items:center; }
    .callout strong { margin-right:4px; }
    .note {
      margin:12px auto; max-width:78ch; padding:12px 14px; background:var(--pxc-note); border:1px solid var(--pxc-note-border); border-radius:10px;
    }

    /* compact hero */
    .hero.hero-compact .page-title { margin-bottom:.25rem; }
    .lead { max-width:72ch; }

    /* finish row with subtle success accent */
    #finish-cta[hidden]{ display:none !important; }
    #finish-cta strong { color:var(--pxc-success); }

    /* motion */
    @media (prefers-reduced-motion:no-preference){
      .fade { animation: fade .18s ease-in; }
      @keyframes fade { from {opacity:.82} to {opacity:1} }
    }

    /* print: show all steps sequenced, hide controls */
    @media print{
      .wizard-actions-sticky, .wizard-dots, .topnav, .site-footer, .wizard-progressbar { display:none !important; }
      .wizard-step { display:block !important; break-inside:avoid; margin-bottom:28px; }
      .wizard-title::after { content: " (Printed flow)"; color:var(--pxc-muted); font-weight:400; }
    }