/* Cheaper by AI: "Do it for me" wizards. Uses the Ledger tokens from style.css (with fallbacks so it
   also works standalone). Mobile-first. Loaded only on wizard pages. */
.wz{--wz-ink:var(--c-ink,#1C1B18);--wz-ink2:var(--c-ink-2,#4A463D);--wz-muted:var(--c-muted,#665F52);--wz-paper:var(--c-paper,#F7F3EA);
  --wz-card:var(--c-card,#FFFDF8);--wz-sunk:var(--c-sunk,#EFE7D6);--wz-rule:var(--c-rule,#E0D6C2);--wz-rule2:var(--c-rule-2,#CFC3AA);
  --wz-green:var(--c-green,#1E5631);--wz-green-d:var(--c-green-d,#143D22);--wz-green-t:var(--c-green-t,#E4EEDF);
  --wz-saffron:var(--c-saffron,#E3A008);--wz-saffron-t:var(--c-saffron-t,#FBEFC9);--wz-saffron-d:var(--c-saffron-d,#7A5200);
  --wz-rust:var(--c-rust,#9A3412);--wz-rust-t:var(--c-rust-t,#FBE7DA);--wz-blue:var(--c-blue,#1F4E79);--wz-blue-t:var(--c-blue-t,#E2ECF5);
  --wz-display:var(--font-display,"Fraunces",Georgia,serif);--wz-ui:var(--font-ui,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif);
  --wz-r:var(--r-md,10px);--wz-rl:var(--r-lg,16px);
  position:relative;background:var(--wz-card);color:var(--wz-ink);font-family:var(--wz-ui);border:2px solid var(--wz-ink);border-radius:var(--wz-rl);
  box-shadow:3px 3px 0 var(--wz-saffron);margin:var(--sp-5,24px) 0;max-width:780px;scroll-margin-top:12px}
@media (min-width:600px){.wz{box-shadow:6px 6px 0 var(--wz-saffron)}}
.wz *,.wz *::before,.wz *::after{box-sizing:border-box}
.wz [hidden]{display:none!important}
.wz .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wz :focus-visible{outline:3px solid var(--c-focus,#E3A008);outline-offset:2px}
.wz h2:focus,.wz h3:focus{outline:none}

/* header + progress */
.wz-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:14px 16px 12px;border-bottom:1px solid var(--wz-rule);background:var(--wz-paper);border-radius:calc(var(--wz-rl) - 2px) calc(var(--wz-rl) - 2px) 0 0}
.wz-kicker{margin:0;display:inline-flex;align-items:center;gap:7px;font:800 .7rem/1 var(--wz-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--wz-green)}
.wz-kdot{width:9px;height:9px;border-radius:50%;background:var(--wz-saffron);box-shadow:0 0 0 2px var(--wz-ink)}
.wz-title{margin:0;font:650 1rem/1.25 var(--wz-display);color:var(--wz-ink);flex:1 1 220px}
.wz-progress{display:flex;gap:4px;flex:1 1 100%;margin-top:4px}
.wz-progress span{flex:1;height:6px;border-radius:3px;background:var(--wz-sunk);box-shadow:inset 0 0 0 1px var(--wz-rule2)}
.wz-progress span.on{background:var(--wz-green);box-shadow:none}
.wz-done-badge{margin:0;font:800 .72rem/1 var(--wz-ui);letter-spacing:.08em;text-transform:uppercase;background:var(--wz-green);color:#FFFDF8;border-radius:999px;padding:6px 10px}
.wz-body{padding:6px 16px 18px}
@media (min-width:600px){.wz-head{padding:16px 24px 14px}.wz-body{padding:8px 24px 24px}}
.wz h2{font:650 var(--fs-xl,clamp(1.45rem,3.2vw,1.85rem))/1.2 var(--wz-display);margin:14px 0 6px;letter-spacing:-.01em;color:var(--wz-ink)}
.wz h3{font:650 1.12rem/1.3 var(--wz-display);margin:22px 0 8px;color:var(--wz-ink)}
.wz-stepno{margin:14px 0 0;font:800 .72rem/1 var(--wz-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--wz-muted)}
.wz-stepno+h2{margin-top:6px}
.wz-lead{font-size:1.08rem;color:var(--wz-ink2);margin:6px 0 12px;max-width:62ch}
.wz-intro{color:var(--wz-ink2);margin:4px 0 14px;max-width:62ch}
.wz-muted{color:var(--wz-muted)}.wz-small{font-size:.86rem}
.wz-meta{list-style:none;padding:0;margin:8px 0 14px;display:flex;flex-wrap:wrap;gap:8px}
.wz-meta li{background:var(--wz-paper);border:1px solid var(--wz-rule);border-radius:999px;padding:6px 12px;font-size:.9rem}
.wz-mk{font:800 .66rem/1 var(--wz-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--wz-green);margin-right:4px}
.wz-needs,.wz-bullets{padding-left:1.25em;margin:6px 0}.wz-needs li,.wz-bullets li{margin:.35em 0}
.wz-privacy{background:var(--wz-green-t);border-radius:var(--wz-r);padding:10px 14px 4px;margin:18px 0 6px}
.wz-privacy p{margin:.2em 0 .6em}
.wz-foot{margin:0;padding:10px 16px 12px;border-top:1px dashed var(--wz-rule2);font-size:.8rem;color:var(--wz-ink2);background:var(--wz-paper);border-radius:0 0 calc(var(--wz-rl) - 2px) calc(var(--wz-rl) - 2px)}
@media (min-width:600px){.wz-foot{padding:10px 24px 12px}}

/* notices */
.wz-note{border-radius:var(--wz-r);padding:10px 14px;margin:10px 0;border-left:4px solid var(--wz-blue);background:var(--wz-blue-t);color:#123150;font-size:.95rem}
.wz-note p{margin:.3em 0}.wz-note-t{font-weight:800}
.wz-note a{color:inherit;font-weight:700}
.wz-note-warn{background:var(--wz-saffron-t);border-left-color:var(--wz-saffron);color:#4A3500}
.wz-note-danger{background:var(--wz-rust-t);border-left-color:var(--wz-rust);color:#6B230B}
.wz-note-ok{background:var(--wz-green-t);border-left-color:var(--wz-green);color:#123D1F}

/* fields */
.wz-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 14px}
.wz-field{grid-column:1/-1;min-width:0}
@media (min-width:600px){.wz-w-half{grid-column:span 2}.wz-w-quarter{grid-column:span 1}}
@media (max-width:599px){.wz-w-quarter{grid-column:span 2}}
.wz-field>label,.wz-fs>legend{display:block;font-weight:700;font-size:.97rem;margin:0 0 4px;color:var(--wz-ink);padding:0}
.wz-opt{font-weight:500;color:var(--wz-muted);font-size:.88rem}
.wz-hint{margin:0 0 6px;color:var(--wz-ink2);font-size:.88rem;line-height:1.45}
.wz-hint code,.wz code{background:var(--wz-sunk);border-radius:4px;padding:0 4px;font-size:.85em}
.wz input[type=text],.wz input[type=email],.wz input[type=tel],.wz input[type=date],.wz select,.wz textarea{width:100%;font:inherit;font-size:1rem;color:var(--wz-ink);background:#FFFFFF;
  border:1.5px solid var(--wz-rule2);border-radius:var(--wz-r);padding:11px 12px;min-height:48px;transition:border-color .15s,box-shadow .15s}
.wz textarea{resize:vertical;line-height:1.5}
.wz input:hover,.wz select:hover,.wz textarea:hover{border-color:var(--wz-ink2)}
.wz input:focus,.wz select:focus,.wz textarea:focus{outline:none;border-color:var(--wz-ink);box-shadow:0 0 0 3px var(--wz-saffron-t),0 0 0 5px var(--wz-saffron)}
.wz-affix{display:flex;align-items:stretch}
.wz-pre{display:flex;align-items:center;padding:0 10px;border:1.5px solid var(--wz-rule2);border-right:0;border-radius:var(--wz-r) 0 0 var(--wz-r);background:var(--wz-sunk);color:var(--wz-ink2);font-weight:700;letter-spacing:.06em}
.wz-affix input{border-radius:0 var(--wz-r) var(--wz-r) 0!important;max-width:220px}
.wz-t-last4 .wz-affix input{max-width:120px;letter-spacing:.2em;font-variant-numeric:tabular-nums}
.wz-fs{border:0;margin:0;padding:0;min-width:0}
.wz-choices{display:grid;gap:8px;margin-top:6px}
@media (min-width:600px){.wz-choices.wz-inline{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
.wz-choice{position:relative;display:flex;align-items:flex-start;gap:12px;background:#FFFFFF;border:1.5px solid var(--wz-rule2);border-radius:var(--wz-r);padding:12px 14px;min-height:48px;cursor:pointer;transition:border-color .15s,background .15s}
.wz-choice:hover{border-color:var(--wz-ink2)}
.wz-choice input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--wz-green);cursor:pointer}
.wz-choice label{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.wz-choice label::after{content:"";position:absolute;inset:0}
.wz-choice:has(input:checked){border-color:var(--wz-green);background:var(--wz-green-t);box-shadow:inset 0 0 0 1px var(--wz-green)}
.wz-choice:has(input:focus-visible){outline:3px solid var(--c-focus,#E3A008);outline-offset:2px}
.wz-cl{font-weight:650;line-height:1.35}.wz-ch{font-size:.87rem;color:var(--wz-ink2);line-height:1.4}
.wz-single{background:transparent}
.wz-remember{background:#FFFFFF}
.wz-err{margin:2px 0 6px;color:var(--wz-rust);font-weight:700;font-size:.9rem}
.wz-err::before{content:"! ";font-weight:900}
.has-error input,.has-error select,.has-error textarea{border-color:var(--wz-rust)!important;border-width:2px}
.has-error .wz-choice{border-color:#E9B49A}
.wz-errors{border:2px solid var(--wz-rust);border-radius:var(--wz-r);background:var(--wz-rust-t);padding:10px 14px;margin:10px 0 16px}
.wz-errors:focus{outline:3px solid var(--c-focus,#E3A008);outline-offset:2px}
.wz-errors-h{margin:0 0 4px;font-weight:800;color:var(--wz-rust)}
.wz-errors ul{margin:0;padding-left:1.2em}.wz-errors a{color:var(--wz-rust);font-weight:700}
.wz-repeat{display:grid;gap:10px}
.wz-item{border:1px solid var(--wz-rule);border-left:4px solid var(--wz-saffron);border-radius:var(--wz-r);background:var(--wz-paper);padding:8px 12px 14px}
.wz-item-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wz-item-t{margin:4px 0 8px;font:800 .72rem/1 var(--wz-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--wz-ink2)}
.wz-add{justify-self:start}

/* buttons */
.wz-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px;align-items:center}
.wz-nav{flex-direction:row-reverse;justify-content:flex-end}
.wz-btn,.wz-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:1rem;border-radius:var(--wz-r);padding:12px 20px;min-height:48px;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.wz-btn{background:var(--wz-green);color:#FFFDF8;border:2px solid var(--wz-green)}
.wz-btn:hover{background:var(--wz-green-d);border-color:var(--wz-green-d)}
.wz-btn-lg{font-size:1.06rem;padding:14px 28px}
.wz-btn-ghost{background:transparent;color:var(--wz-ink);border:1.5px solid var(--wz-ink)}
.wz-btn-ghost:hover,.wz-btn-ghost[aria-pressed=true]{background:var(--wz-ink);color:var(--wz-paper)}
.wz-link{background:none;border:0;padding:6px 2px;font:inherit;font-weight:700;color:var(--wz-green);text-decoration:underline;text-underline-offset:.18em;cursor:pointer;min-height:36px}
.wz-link:hover{color:var(--wz-green-d)}
.wz-danger{color:var(--wz-rust)}
@media (max-width:599px){.wz-nav .wz-btn{flex:1 1 100%}.wz-nav .wz-btn-ghost{flex:1 1 auto}}

/* review */
.wz-review{border-top:2px solid var(--wz-ink);margin-top:14px}
.wz-review-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.wz-review-h h3{margin:10px 0 4px}
.wz-dl{margin:0}
.wz-dl>div{display:grid;grid-template-columns:1fr;gap:2px 16px;padding:8px 0;border-bottom:1px solid var(--wz-rule)}
@media (min-width:600px){.wz-dl>div{grid-template-columns:minmax(160px,38%) 1fr}}
.wz-dl dt{color:var(--wz-ink2);font-size:.9rem}.wz-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}

/* output */
.wz-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.wz-tab{font:inherit;font-weight:700;font-size:.92rem;background:var(--wz-paper);border:1.5px solid var(--wz-rule2);border-radius:999px;padding:8px 14px;min-height:42px;cursor:pointer;color:var(--wz-ink)}
.wz-tab[aria-pressed=true]{background:var(--wz-ink);border-color:var(--wz-ink);color:var(--wz-paper)}
.wz-out-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
@media (max-width:599px){.wz-out-actions>*{flex:1 1 calc(50% - 8px)}}
.wz-paper{background:#FFFFFF;color:#111;border:1px solid var(--wz-rule2);border-radius:4px;box-shadow:0 1px 0 rgba(28,27,24,.05),0 14px 30px -18px rgba(28,27,24,.45);
  padding:28px 22px;font:15.5px/1.5 "Times New Roman",Times,Georgia,serif;max-height:640px;overflow:auto;position:relative}
@media (min-width:600px){.wz-paper{padding:44px 52px}}
.wz-paper::before{content:"Preview";position:sticky;top:-28px;float:right;margin:-18px -10px 0 0;font:800 .62rem/1 var(--wz-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--wz-muted);background:#FFFFFF;padding:4px 6px;border:1px solid var(--wz-rule);border-radius:4px}
.wz-paper .wz-l{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.wz-paper .wz-b{font-weight:700}
.wz-paper .wz-gap{height:.85em}
.wz-paper ul{margin:0 0 0 1.3em;padding:0}.wz-paper li{margin:0 0 .15em}
.wz-edit{font:14.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;min-height:420px}
.wz-sec{margin-top:22px;border-top:2px solid var(--wz-ink);padding-top:2px}
.wz-dates{list-style:none;padding:0;margin:8px 0 12px;position:relative}
.wz-date{position:relative;padding:4px 0 12px 26px;border-left:2px solid var(--wz-rule2);margin-left:7px}
.wz-date:last-child{border-left-color:transparent}
.wz-date::before{content:"";position:absolute;left:-9px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--wz-card);border:3px solid var(--wz-green)}
.wz-who-you::before{border-color:var(--wz-saffron);background:var(--wz-saffron-t)}
.wz-past{opacity:.75}.wz-past::before{border-color:var(--wz-rule2)}
.wz-date p{margin:0}.wz-date-d{font-size:.95rem}.wz-date-t{font-weight:700;margin-top:2px!important}.wz-date-x{color:var(--wz-ink2);font-size:.9rem;margin-top:2px!important}
.wz-who{display:inline-block;font:800 .62rem/1 var(--wz-ui);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:4px;padding:3px 5px;color:var(--wz-green);vertical-align:2px;margin-left:4px}
.wz-who-you .wz-who{color:var(--wz-saffron-d)}
.wz-checklist{list-style:none;padding:0;margin:8px 0}
.wz-checklist li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--wz-rule)}
.wz-checklist input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--wz-green)}
.wz-checklist input:checked+label{color:var(--wz-muted);text-decoration:line-through}
.wz-checklist label{cursor:pointer}
@media (prefers-reduced-motion:reduce){.wz *{transition:none!important}}

/* print: only the generated documents */
.wz-print{display:none}
@media print{
  html.wz-printing body>*:not(.wz-print){display:none!important}
  html.wz-printing .wz-print{display:block!important}
  html.wz-printing body{background:#fff!important;margin:0!important;padding:0!important}
  .wz-print-doc{font:12pt/1.45 "Times New Roman",Times,serif;color:#000;page-break-after:always;break-after:page}
  .wz-print-doc:last-child{page-break-after:auto;break-after:auto}
  .wz-print-doc .wz-l{margin:0;white-space:pre-wrap}.wz-print-doc .wz-b{font-weight:700}.wz-print-doc .wz-gap{height:.9em}
  .wz-print-doc ul{margin:0 0 0 1.3em;padding:0}
  @page{margin:1in}
}

/* ------------------------------------------------------------------
   Page shell for /do-it/ pages (server-rendered around the widget)
   ------------------------------------------------------------------ */
.wz-crumbs { font-size: var(--fs-sm, .875rem); color: var(--c-muted, #6b675e); margin: var(--sp-4, 1rem) 0 0; }
.wz-crumbs a { color: inherit; }
.wz-page { margin: var(--sp-5, 1.5rem) 0 var(--sp-7, 3rem); }
.wz-page-head { max-width: 46rem; margin-bottom: var(--sp-5, 1.5rem); }
.wz-kicker { font-family: var(--font-ui, system-ui, sans-serif); font-size: var(--fs-xs, .75rem); letter-spacing: .08em; text-transform: uppercase; color: var(--c-green, #1E5631); font-weight: 700; margin: 0 0 var(--sp-2, .5rem); }
.wz-page-head h1 { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.75rem, 4.5vw, 2.6rem); line-height: 1.1; margin: 0 0 var(--sp-3, .75rem); color: var(--c-ink, #1C1B18); }
.wz-lead { font-size: var(--fs-lg, 1.125rem); line-height: 1.55; color: var(--c-ink-2, #3a3833); margin: 0; }
.wz-page-grid { display: grid; gap: var(--sp-5, 1.5rem); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 64rem) { .wz-page-grid { grid-template-columns: minmax(0, 1fr) 18rem; } }
.wz-page-aside { display: grid; gap: var(--sp-3, .75rem); }
.wz-aside-block { background: var(--c-card, #FFFDF8); border: 1px solid var(--c-rule, #ddd5c3); border-radius: var(--r-md, 10px); padding: var(--sp-4, 1rem); }
.wz-aside-block h2 { font-family: var(--font-display, Georgia, serif); font-size: var(--fs-md, 1rem); margin: 0 0 var(--sp-2, .5rem); }
.wz-aside-block ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .35rem; }
.wz-aside-block p { margin: var(--sp-2, .5rem) 0 0; }
.wz-aside-small { font-size: var(--fs-sm, .875rem); color: var(--c-ink-2, #3a3833); }
.wz-aside-small a { word-break: break-word; }
.wz-noscript { padding: var(--sp-4, 1rem); border: 2px solid var(--c-ink, #1C1B18); border-radius: var(--r-md, 10px); background: var(--c-card, #FFFDF8); }
.wz-index { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3, .75rem); grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.wz-index-card a { display: grid; gap: .35rem; height: 100%; padding: var(--sp-4, 1rem); background: var(--c-card, #FFFDF8); border: 2px solid var(--c-ink, #1C1B18); border-radius: var(--r-md, 10px); box-shadow: 4px 4px 0 var(--c-saffron, #E3A008); color: var(--c-ink, #1C1B18); text-decoration: none; transition: transform .12s ease, box-shadow .12s ease; }
.wz-index-card a:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--c-saffron, #E3A008); }
.wz-index-card a:focus-visible { outline: 3px solid var(--c-focus, #2563eb); outline-offset: 3px; }
.wz-index-title { font-family: var(--font-display, Georgia, serif); font-size: var(--fs-lg, 1.125rem); font-weight: 700; line-height: 1.25; }
.wz-index-sub { font-size: var(--fs-sm, .875rem); color: var(--c-ink-2, #3a3833); }
.wz-index-time { font-size: var(--fs-xs, .75rem); color: var(--c-green, #1E5631); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.wz-cta { display: flex; flex-wrap: wrap; gap: var(--sp-3, .75rem); align-items: center; justify-content: space-between; margin: var(--sp-5, 1.5rem) 0; padding: var(--sp-4, 1rem); background: var(--c-green-t, #e3eee6); border: 2px solid var(--c-green, #1E5631); border-radius: var(--r-md, 10px); }
.wz-cta p { margin: 0; flex: 1 1 16rem; }
.wz-cta a.wz-cta-btn { display: inline-block; padding: .7rem 1.1rem; background: var(--c-green, #1E5631); color: #fff; border-radius: var(--r-sm, 6px); font-weight: 700; text-decoration: none; }
.wz-cta a.wz-cta-btn:hover { background: var(--c-green-d, #143d22); }
@media print { .wz-page-aside, .wz-crumbs, .wz-page-head { display: none !important; } }

/* The site header is sticky on wider screens: keep the wizard's top (scrolled to on every step) clear of it. */
.wz, .wz-errors, .wz [id] { scroll-margin-top: 88px; }
