
.wiz *{margin:0;padding:0;box-sizing:border-box}
:root{--pink:#EB2D84;--blue:#2790E0;--yellow:#F2B12A;--lilac:#BF9BDE;
--navy:#131A3A;--navy2:#0E1430;--ink:#17182B;--muted:#6A6E82;--soft:#F6F5F2;--line:#E4E2DC;
--f:'Hanken Grotesk',system-ui,sans-serif;--fx:'Fraunces',Georgia,serif;--fd:'Bricolage Grotesque',sans-serif;
--ease:cubic-bezier(.2,.7,.3,1)}

.wiz .ans{font-family:var(--fx);font-style:italic;font-weight:600;color:var(--pink)}
/* Scoped to the modal. Unscoped, .btn{border:0} here outranked
   location.css's .btn-ghost{border:1.5px} — same specificity, loaded later —
   and quietly removed the outline from buttons on the page itself. Anything
   generic in this file has to stay inside .wiz. */
.wiz .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f);font-weight:800;font-size:16px;border:0;border-radius:999px;padding:15px 26px;cursor:pointer;text-decoration:none;transition:transform .16s var(--ease),opacity .16s}
.wiz .btn:hover{transform:translateY(-2px)}.wiz .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.wiz .btn-p{background:var(--pink);color:#fff}.wiz .btn-g{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 2px var(--line)}

/* shell */
.wiz{position:relative;max-width:560px;margin:0 auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(19,26,58,.45)}
/* Brand strip across the top edge. It runs the full palette left to right so
   the card is unmistakably SayNinja before a word is read — and it is NOT the
   progress bar, which sits lower and only fills as steps complete. */
.wiz::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:3;
  background:linear-gradient(90deg,var(--pink) 0%,var(--lilac) 42%,var(--blue) 100%)}
.wiz-head{background:#fff;padding:26px 28px 4px;position:relative}
.wiz-head .close{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;
  background:var(--soft);border:0;color:var(--muted);font-size:17px;cursor:pointer;line-height:1;transition:background .15s}
.wiz-head .close:hover{background:#EDEAE4;color:var(--ink)}
.wiz-chip{display:inline-block;font-family:var(--f);font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pink);background:rgba(235,45,132,.10);padding:6px 12px;border-radius:999px}
/* One filled segment per completed step. A bar answers "how much is left"
   at a glance; dots make you count them. */
.wiz .bar{margin-top:18px;display:flex;gap:6px}
.wiz .bar i{flex:1;height:5px;border-radius:99px;background:var(--line);transition:background .3s var(--ease)}
.wiz .bar i.on{background:var(--pink)}
.wiz-meta{margin-top:14px;font-family:var(--f);font-size:11px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted)}
/* Hanken, not --fd. Bricolage Grotesque is declared in the token list but
   never embedded in the theme, so every var(--fd) falls back to a system sans
   and the heading rendered in whatever the browser chose. */
.wiz-title{margin-top:9px;font-family:var(--f);font-size:25px;font-weight:800;letter-spacing:-.025em;
  line-height:1.14;color:var(--ink)}
.wiz-sub{margin-top:7px;font-size:14.5px;color:var(--muted)}
.wiz .node{flex:none;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.22);transition:all .3s var(--ease)}
.wiz .node.done{background:var(--yellow)}
.wiz .node.now{background:var(--pink);box-shadow:0 0 0 5px rgba(235,45,132,.25)}
.wiz .seg{flex:1;height:2px;background:rgba(255,255,255,.16)}
.wiz .seg.done{background:var(--yellow)}

.wiz-body{padding:26px}
.wiz .step{display:none}.wiz .step.active{display:block;animation:in .32s var(--ease) both}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wiz .q{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.wiz .qs{margin-top:6px;font-size:14.5px;color:var(--muted)}
.wiz .fields{margin-top:18px;display:grid;gap:11px}
.wiz .two{display:grid;grid-template-columns:1fr 1fr;gap:11px}
/* City / State / ZIP. State and ZIP are fixed-width by nature, so they get
   fixed columns and the city takes the rest - a 2-character state field the
   width of a city field invites someone to type "New York" into it. */
.wiz .three{display:grid;grid-template-columns:1fr 78px 110px;gap:11px}
.wiz .addr-manual{margin-top:11px}
.wiz label.fl{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.wiz input.f, .wiz select.f{width:100%;font-family:var(--f);font-size:16px;font-weight:600;color:var(--ink);padding:14px 15px;border:2px solid var(--line);border-radius:11px;background:#fff;transition:border-color .16s}
.wiz input.f:focus, .wiz select.f:focus{outline:0;border-color:var(--blue)}
.wiz input.f.bad, .wiz select.f.bad{border-color:var(--pink)}
.wiz .dobdd{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px}
.wiz .dobpill{display:flex;align-items:center;gap:8px;padding:11px 13px;border:2px solid var(--line);border-radius:11px;background:#fff;text-align:left;font-family:var(--f);cursor:pointer;transition:border-color .16s}
.wiz .dobpill .doblab{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
.wiz .dobpill .dobval{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wiz .dobpill .dobchev{flex:0 0 auto;width:7px;height:7px;border-right:2.2px solid var(--muted);border-bottom:2.2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s}
.wiz .dobpill:hover:not([disabled]){border-color:var(--lilac)}
.wiz .dobpill[aria-expanded="true"]{border-color:var(--blue)}
.wiz .dobpill[aria-expanded="true"] .dobchev{transform:rotate(-135deg) translate(-3px,-3px);border-color:var(--blue)}
.wiz .dobpill.set{border-color:var(--ink)}
.wiz .dobpill[disabled]{opacity:.45;cursor:not-allowed}
.wiz .dobdd.bad .dobpill{border-color:var(--pink)}
.wiz .dobpanel{margin-top:9px;border:2px solid var(--line);border-radius:13px;background:var(--soft);padding:13px}
.wiz .dobgrid{display:grid;gap:6px}
.wiz .dobgrid.months{grid-template-columns:repeat(4,1fr)}
.wiz .dobgrid.days{grid-template-columns:repeat(7,1fr)}
.wiz .dobgrid.years{grid-template-columns:1fr}
.wiz .dobcell{padding:10px 4px;border-radius:9px;background:#fff;border:1.5px solid transparent;font-family:var(--f);font-size:14px;font-weight:800;letter-spacing:-.02em;text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .13s}
.wiz .dobcell:hover:not([disabled]){border-color:var(--lilac)}
.wiz .dobcell[disabled]{opacity:.3;cursor:not-allowed}
.wiz .dobcell.on{background:var(--navy);color:#fff}
.wiz .dobyr{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:10px;background:#fff;border:1.5px solid transparent;text-align:left;font-family:var(--f);cursor:pointer;transition:border-color .13s}
.wiz .dobyr:hover:not([disabled]){border-color:var(--lilac)}
.wiz .dobyr[disabled]{opacity:.32;cursor:not-allowed}
.wiz .dobyr b{font-size:16px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex:0 0 52px}
.wiz .dobyr span{font-size:13px;font-weight:600;color:var(--muted)}
.wiz .dobyr .dobage{margin-left:auto;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--ink)}
.wiz .dobyr.on{background:var(--navy)}
.wiz .dobyr.on b,.wiz .dobyr.on span{color:#fff}
.wiz .dobyr.on .dobage{background:var(--yellow);color:var(--navy)}
.wiz .dobhint{margin:11px 0 0;font-size:12px;font-weight:600;color:var(--muted);text-align:center}
.wiz .dobhint a{color:var(--pink);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.wiz .dobecho{margin:11px 0 0;font-size:12.5px;font-weight:600;color:var(--muted);min-height:18px}
.wiz .dobecho.good{color:var(--ink)}
.wiz .dobecho.good b{color:var(--pink);font-weight:800}
.wiz .dobecho.warn{color:var(--pink);font-weight:700}
.wiz .dobecho .kid{font-family:var(--fx);font-style:italic;font-weight:600;color:var(--pink)}
@media(max-width:520px){
.wiz .dobdd{grid-template-columns:1fr 1fr}
.wiz .dobpill.dobwide{grid-column:1 / -1}
.wiz .dobgrid.months{grid-template-columns:repeat(3,1fr)}
}
.wiz .cwho{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--muted)}
.wiz .cwho b{color:var(--ink);font-weight:800}
.wiz .crail{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch}
.wiz .cday{flex:0 0 auto;min-width:58px;display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:9px 11px 8px;border:2px solid var(--line);border-radius:13px;background:#fff;
  font-family:var(--f);cursor:pointer;transition:border-color .15s,background .15s}
.wiz .cday .cdw{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.wiz .cday .cdn{font-size:18px;font-weight:800;letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.wiz .cday .cdm{font-size:10px;font-weight:700;color:var(--muted)}
.wiz .cday:hover{border-color:var(--lilac)}
.wiz .cday.on{background:var(--navy);border-color:var(--navy)}
.wiz .cday.on .cdw,.wiz .cday.on .cdm{color:rgba(255,255,255,.65)}
.wiz .cday.on .cdn{color:#fff}
.wiz .classes{display:grid;gap:7px;margin-top:4px}
.wiz .cls{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;text-align:left;
  border:2px solid var(--line);border-radius:13px;background:#fff;font-family:var(--f);cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.wiz .cls:hover:not([disabled]){border-color:var(--lilac);transform:translateY(-1px)}
.wiz .cls[aria-pressed="true"]{border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(235,45,132,.13)}
.wiz .cls[disabled]{opacity:.45;cursor:not-allowed}
.wiz .ctime{flex:0 0 68px;font-size:15px;font-weight:800;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.wiz .cmid{flex:1;min-width:0}
.wiz .cmid .p{display:block;font-size:14px;font-weight:800;letter-spacing:-.02em}
.wiz .cmid .t{display:block;margin-top:1px;font-size:12px;font-weight:600;color:var(--muted)}
.wiz .cfree{flex:none;font-size:11px;font-weight:800;color:var(--pink)}
.wiz .cfull{flex:none;font-size:11px;font-weight:800;color:var(--muted)}
.wiz .done-wrap .fine{font-size:13px;color:var(--muted);font-weight:600}

/* An explicit display beats the hidden attribute, and .wiz-chip sets one - so
   anything that relies on [hidden] inside the wizard needs this. That is exactly
   how a switch meant for one entry point ended up on every one of them. */
.wiz [hidden]{display:none!important}

.wiz .wantpick{display:grid;gap:10px}
.wiz .want{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;
  padding:20px 22px;text-align:left;border:2px solid var(--line);border-radius:16px;background:#fff;
  font-family:var(--f);cursor:pointer;position:relative;
  transition:border-color .15s,transform .15s,box-shadow .15s}
.wiz .want:hover{border-color:var(--pink);transform:translateY(-2px);
  box-shadow:0 14px 28px -18px rgba(235,45,132,.6)}
.wiz .want b{font-size:19px;font-weight:800;letter-spacing:-.03em}
.wiz .want .wsub{font-size:13.5px;font-weight:500;color:var(--muted);line-height:1.5}
.wiz .want .wgo{margin-top:7px;font-size:13.5px;font-weight:800;color:var(--pink)}
.wiz .want .wtag{position:absolute;top:-10px;left:20px;background:var(--pink);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 10px;border-radius:999px}
.wiz .want:first-child{border-color:var(--pink)}

.wiz .ppace{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.wiz .pp{padding:9px 16px;border:2px solid var(--line);border-radius:999px;background:#fff;
  font-family:var(--f);font-size:13.5px;font-weight:800;cursor:pointer;transition:all .15s}
.wiz .pp:hover{border-color:var(--lilac)}
.wiz .pp.on{background:var(--navy);border-color:var(--navy);color:#fff}
.wiz .pterms{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}
.wiz .pt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:13px 14px;
  border:2px solid var(--line);border-radius:13px;background:#fff;font-family:var(--f);
  text-align:left;cursor:pointer;transition:all .15s}
.wiz .pt:hover:not([disabled]){border-color:var(--lilac);transform:translateY(-1px)}
.wiz .pt.on{border-color:var(--pink);box-shadow:0 0 0 3px rgba(235,45,132,.13)}
.wiz .pt[disabled]{opacity:.5;cursor:not-allowed}
.wiz .ptn{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wiz .ptp{font-size:20px;font-weight:800;letter-spacing:-.04em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.wiz .ptp em{font-style:normal;font-size:11px;font-weight:700;color:var(--muted);margin-left:2px}
.wiz .ptt{font-size:11.5px;font-weight:600;color:var(--muted)}
.wiz .ptx{margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--pink)}
.wiz .err{font-size:12.5px;font-weight:700;color:var(--pink);margin-top:5px;display:none}
.wiz .err.on{display:block}

/* class picker */
.wiz .filters{margin-top:16px;display:flex;gap:7px;flex-wrap:wrap}
.wiz .chip{font-size:13px;font-weight:800;padding:8px 14px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 2px var(--line);color:var(--muted);cursor:pointer}
.wiz .chip[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:none}
.wiz .classes{margin-top:14px;display:grid;gap:9px;max-height:290px;overflow-y:auto;padding-right:4px}
.wiz .cls{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;text-align:left;padding:14px 15px;border-radius:12px;border:0;background:#fff;box-shadow:inset 0 0 0 2px var(--line);cursor:pointer;transition:box-shadow .16s}
.wiz .cls:hover{box-shadow:inset 0 0 0 2px var(--lilac)}
.wiz .cls[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--pink)}
.wiz .cls .p{font-size:15.5px;font-weight:800;letter-spacing:-.01em}
.wiz .cls .t{margin-top:3px;font-size:13.5px;color:var(--muted)}
.wiz .cls .band{font-family:var(--f);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);white-space:nowrap}
.wiz .empty{padding:24px;text-align:center;font-size:14.5px;color:var(--muted);background:var(--soft);border-radius:12px}

/* summary */
.wiz .sum{margin-top:18px;border:2px solid var(--line);border-radius:14px;overflow:hidden}
.wiz .srow{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;font-size:15px;border-bottom:1px solid var(--line)}
.wiz .srow .k{color:var(--muted);font-weight:600}.wiz .srow .v{font-weight:800}
/* Due today. Green rather than pink: it reads as confirmed-and-safe on a
   total, and it stops the row competing with the pink Pay button sitting
   directly beneath it. Green is NOT in the locked brand palette — it earns
   its place here as a status colour, not a brand one, which is why it appears
   nowhere else.
   The mid green (#12B76A) is only 2.5:1 on this tint, so the amount uses the
   deeper #067647 at 5.4:1 — readable for a parent checking what they are
   about to be charged. */
.wiz .srow.total{background:#F2FBF6;border-bottom:0;border-top:2px solid rgba(6,118,71,.16)}
.wiz .srow.total .k{color:var(--ink);font-weight:800}
.wiz .srow.total .v{font-size:21px;letter-spacing:-.02em;color:#067647}
.wiz .promo{margin-top:12px;display:flex;gap:8px}
.wiz .promo input{flex:1}
.wiz .note{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5}
.wiz .recap{margin-top:16px;background:var(--soft);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.7}
.wiz .recap b{font-weight:800}.wiz .recap span{color:var(--muted)}

/* payment */
.wiz .pay-note{margin-top:14px;display:flex;align-items:center;gap:9px;background:rgba(39,144,224,.08);border-radius:11px;padding:12px 14px;font-size:13.5px;color:var(--ink);font-weight:600}
.wiz .mb-badge{margin-top:14px;font-size:11.5px;color:var(--muted);text-align:center}

.wiz-foot{padding:18px 26px 24px;display:flex;gap:10px;align-items:center;border-top:1px solid var(--line)}
.wiz-foot .btn-p{flex:1}
.wiz .pin{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}

/* done */
.wiz .done-wrap{text-align:center;padding:12px 0 6px}
.wiz .buzz{width:66px;height:66px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.wiz .buzz span{width:24px;height:24px;border-radius:50%;background:#fff}
.wiz .done-wrap h2{font-size:26px;font-weight:800;letter-spacing:-.025em}
.wiz .done-wrap p{margin-top:10px;font-size:15px;color:var(--muted);line-height:1.55}

@media(max-width:520px){.wiz .two{grid-template-columns:1fr}.wiz .three{grid-template-columns:1fr 70px 96px}.wiz-body{padding:22px 18px}.wiz-foot{padding:16px 18px 20px}}
@media(prefers-reduced-motion:reduce){.wiz .step.active{animation:none}.wiz .btn:hover{transform:none}}

/* modal shell */
.wiz-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(14,20,48,.55)}
.wiz-modal.open{display:flex}
.wiz-modal .wiz{width:100%;max-height:92vh;overflow-y:auto}

/* ---- Stripe payment step (v126) ---- */
.wiz .pay{padding:4px 0}
.wiz .pay-sum{border:2px solid var(--line,#E7E4EC);border-radius:14px;overflow:hidden;margin-bottom:18px}
.wiz .pay-sum .row{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;font-size:15.5px}
.wiz .pay-sum .row b{font-weight:800}
/* Same treatment as the summary step's total — this block is built separately
   in payStep(), which is why it kept the navy after the other one changed. */
.wiz .pay-sum .due{background:#F2FBF6;color:var(--ink);font-size:17px;border-top:2px solid rgba(6,118,71,.16)}
.wiz .pay-sum .due b{color:#067647;font-size:19px;letter-spacing:-.02em}
.wiz #payEl{margin:6px 0 14px;min-height:200px}
.wiz .pay-err{color:#C4123F;font-size:14.5px;margin:0 0 12px;min-height:1px;font-weight:600}
.wiz .pay-go{width:100%;text-align:center;font-size:17px}
.wiz .pay-go[disabled]{opacity:.6;cursor:default}
.wiz .pay-note{color:var(--muted,#6A6E82);font-size:13px;margin:12px 0 0;text-align:center;line-height:1.5}
.wiz .pay-wait{text-align:center;padding:44px 16px}
.wiz .pay-wait p{color:var(--muted,#6A6E82);font-size:16px;margin:18px 0 0}
.wiz .spin{width:34px;height:34px;margin:0 auto;border-radius:50%;
  border:3px solid rgba(235,45,132,.2);border-top-color:#EB2D84;animation:snspin .8s linear infinite}
@keyframes snspin{to{transform:rotate(360deg)}}
.wiz .done-next{color:var(--muted,#6A6E82);font-size:15px;margin-top:14px}
@media(prefers-reduced-motion:reduce){.wiz .spin{animation:none}}

/* ---- result screen mark (v127) ---- */
.wiz .done-logo{width:96px;height:auto;margin:0 auto 20px;display:block}
.wiz .done-go{margin-top:22px}

/* ---- kill the ring around the question heading (v128) ----
   Chrome makes scrollable containers keyboard-focusable and draws a focus
   ring on them, which lands around the top of .wiz-body and reads as a border
   drawn around the heading. The modal has real focusable controls, so nothing
   is lost by suppressing it here. The .q rules are belt-and-braces against a
   stray heading style from elsewhere in the theme. */
.wiz-body:focus, .wiz-body:focus-visible{outline:none}
/* The .q/.qs reset that used to live here has been removed. .q is the FAQ
   accordion item in location.css, and because wizard.css loads afterwards the
   reset stripped the border and white background off every FAQ card on the
   page. The wizard's own .q headings no longer exist anyway — they went when
   the heading moved into the head. */


/* ---- v3 shell ---- */
.wiz-body{padding-top:20px}
.wiz-foot{display:block}
.wiz .foot-row{display:flex;gap:12px;align-items:center}
.wiz .foot-row .btn-p{margin-left:auto}
.wiz-escape{margin:14px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.wiz-escape a{color:var(--pink);font-weight:700;text-decoration:underline;text-underline-offset:2px}


/* ---- address + waiver (v129) ---- */
/* Google's element renders its own input, so it has to inherit our field
   styling rather than arrive looking like someone else's form. */
.wiz .addr-wrap{position:relative}
.wiz .addr-wrap gmp-place-autocomplete{display:block;width:100%}
.wiz .addr-picked{margin:7px 2px 0;font-size:13px;color:var(--muted)}
.wiz .addr-picked b{color:var(--ink);font-weight:700}
.wiz .waiver{display:flex;gap:11px;align-items:flex-start;margin-top:4px;padding:13px 14px;
  border:2px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s}
.wiz .waiver:hover{border-color:var(--pink)}
.wiz .waiver input{width:19px;height:19px;flex:0 0 auto;margin-top:1px;accent-color:var(--pink);cursor:pointer}
.wiz .waiver span{font-size:13.5px;line-height:1.5;color:var(--ink)}
.wiz .waiver a{color:var(--pink);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.wiz .waiver em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:3px}
.wiz .waiver.bad{border-color:#C4123F;background:rgba(196,18,63,.04)}
