:root{
  --nz-crimson:#BB261B;--nz-pink:#F42D6A;--nz-pink-deep:#D50235;--nz-blush:#FECFD8;--nz-wash:#FCEDF2;--nz-cream:#FFF8F5;
  --nz-ink:#1A1114;--nz-ink-soft:#5C4A50;--nz-line:#F0D6DE;
  --nz-sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--nz-serif:'Fraunces',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none!important;}
html{background:var(--nz-wash);-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--nz-sans);font-size:1rem;line-height:1.5;color:var(--nz-ink);background:var(--nz-wash);min-height:100svh;display:flex;flex-direction:column;}
a{color:inherit;text-decoration:none;}

.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1.25rem,5vw,4rem);max-width:54rem;margin:0 auto;width:100%;}
.logo{display:block;width:clamp(96px,8vw,124px);height:auto;overflow:visible;}
.logo__reg,.logo__tag{fill:var(--nz-crimson);font-family:var(--nz-sans);font-weight:700;}

.wrap{flex:1;width:100%;max-width:46rem;margin:0 auto;padding:.5rem clamp(1.25rem,5vw,2rem) 7rem;}
.sheet,.done{animation:in .5s cubic-bezier(.16,1,.3,1);}
.sub{display:flex;align-items:center;gap:.6rem;margin:1.8rem 0 .8rem;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;}
.sub span{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--nz-crimson);color:#fff;font-size:.78rem;}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem;padding:.3rem;border-radius:14px;background:#fff;border:1.5px solid var(--nz-line);}
.seg label{position:relative;display:block;padding:.7rem;border-radius:10px;text-align:center;font-weight:700;cursor:pointer;color:var(--nz-ink-soft);transition:background .2s ease,color .2s ease;}
.seg input{position:absolute;opacity:0;pointer-events:none;}
.seg label.is-on{background:var(--nz-pink);color:#fff;}
.f > span i{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;opacity:.7;margin-left:.3rem;}
.notes{margin-top:.2rem;}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1.25rem,5vw,2rem) calc(.8rem + env(safe-area-inset-bottom));background:rgba(255,248,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--nz-line);}
.bar__sum{display:flex;flex-direction:column;min-width:0;font-size:.85rem;color:var(--nz-ink-soft);}
.bar__sum b{color:var(--nz-ink);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bar .btn{flex-shrink:0;}
.bar__actions{display:flex;gap:.5rem;flex-shrink:0;}
@keyframes in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.h{margin:.5rem 0 .4rem;font-size:clamp(2rem,5vw,3rem);line-height:1;letter-spacing:-.03em;font-weight:900;}
.h em{display:block;font-family:var(--nz-serif);font-weight:300;font-style:italic;color:var(--nz-crimson);letter-spacing:-.01em;}
.lead{margin:0 0 1rem;color:var(--nz-ink-soft);}
.lead b{color:var(--nz-crimson);}
.promise{list-style:none;margin:0 0 .5rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.promise li{display:flex;gap:.55rem;align-items:flex-start;padding:.7rem .8rem;border-radius:14px;background:#fff;border:1px solid var(--nz-line);font-size:.8rem;line-height:1.3;font-weight:600;}
.promise b{flex-shrink:0;display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--nz-pink);color:#fff;font-size:.7rem;}
.eyebrow{margin:0 0 .6rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--nz-pink);}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;margin-bottom:1rem;}
.f{display:flex;flex-direction:column;gap:.35rem;}
.f--full{grid-column:1 / -1;}
.f > span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nz-ink-soft);}
.f input,.f select,.f textarea{
  width:100%;font:inherit;padding:.8rem .95rem;border-radius:12px;border:1.5px solid var(--nz-line);background:#fff;color:var(--nz-ink);outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--nz-pink);box-shadow:0 0 0 4px rgba(244,45,106,.12);}
.f input.is-bad,.f select.is-bad{border-color:var(--nz-pink-deep);}
.phone{display:flex;align-items:stretch;border:1.5px solid var(--nz-line);border-radius:12px;background:#fff;overflow:hidden;}
.phone b{display:grid;place-items:center;padding:0 .9rem;background:var(--nz-cream);color:var(--nz-ink-soft);font-weight:700;border-right:1.5px solid var(--nz-line);}
.phone input{border:0!important;border-radius:0!important;}
.phone:focus-within{border-color:var(--nz-pink);box-shadow:0 0 0 4px rgba(244,45,106,.12);}

.packs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.2rem;}
.pack{position:relative;display:block;padding:1.1rem 1.1rem 1rem;border-radius:18px;border:1.5px solid var(--nz-line);background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.pack:hover{transform:translateY(-2px);}
.pack input{position:absolute;opacity:0;pointer-events:none;}
.pack.is-on{border-color:var(--nz-pink);box-shadow:0 0 0 4px rgba(244,45,106,.12);}
.pack__tag{position:absolute;top:-.6rem;right:1rem;padding:.25rem .6rem;border-radius:999px;background:var(--nz-pink);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.pack__name{display:block;font-size:1.25rem;font-weight:900;letter-spacing:-.02em;}
.pack__qty{display:block;margin:.15rem 0 .4rem;color:var(--nz-crimson);font-weight:700;font-size:.85rem;}
.pack__blurb{display:block;font-size:.85rem;color:var(--nz-ink-soft);}
.pack__price{display:block;margin-top:.6rem;font-weight:800;}
.pack__price small{display:block;font-weight:500;font-size:.72rem;color:var(--nz-ink-soft);}

.fine{margin:1rem 0 0;font-size:.82rem;color:var(--nz-ink-soft);}
.err{margin:0 0 1rem;padding:.75rem 1rem;border-radius:12px;background:#FFE3EA;color:var(--nz-pink-deep);font-weight:600;font-size:.9rem;}

.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem;}
.btn{
  display:inline-block;padding:.95rem 1.6rem;border-radius:999px;border:0;cursor:pointer;font:inherit;font-weight:700;letter-spacing:.02em;
  background:var(--nz-pink);color:#fff;box-shadow:0 18px 48px -18px rgba(244,45,106,.6);transition:transform .2s ease,filter .2s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(.96);}
.btn:disabled{opacity:.6;cursor:wait;transform:none;}
.btn--ghost{background:#fff;color:var(--nz-ink);border:1.5px solid var(--nz-line);box-shadow:none;}

.done{text-align:center;padding:2rem 0;}
.done .h em{display:inline;}
.done .lead b{color:var(--nz-crimson);}
.done .actions{justify-content:center;}

.foot{padding:1rem clamp(1.25rem,5vw,4rem) 1.5rem;font-size:.72rem;color:var(--nz-ink-soft);text-align:center;}

@media (max-width:640px){
  .promise{grid-template-columns:1fr;gap:.4rem;}
  .promise li{padding:.55rem .7rem;}
  .grid{grid-template-columns:1fr;}
  .f--full{grid-column:auto;}
  .packs{grid-template-columns:1fr 1fr;gap:.6rem;}
  .pack{padding:.9rem .8rem .8rem;}
  .pack__name{font-size:1.05rem;}
  .pack__blurb{display:none;}
  .bar{padding-left:1rem;padding-right:1rem;flex-wrap:wrap;gap:.6rem;}
  .bar__sum{flex:1 1 100%;}
  .bar__actions{flex:1 1 100%;gap:.5rem;}
  .bar__actions .btn{flex:1;padding:.85rem .6rem;text-align:center;}
}

.back{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nz-ink-soft);}
.back:hover{color:var(--nz-crimson);}
.confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99;}
.code-msg{display:block;margin-top:.35rem;font-size:.85rem;color:var(--nz-crimson,#BB261B);}
.code-msg.is-good{color:var(--nz-leaf,#2E7D5B);}
