body.np-waitlist-page{
  margin:0;
  background:#f3f5f2;
}
body.np-waitlist-page > .wp-site-blocks > header,
body.np-waitlist-page > .wp-site-blocks > footer{
  display:none!important;
}
body.np-waitlist-page .wp-site-blocks,
body.np-waitlist-page main,
body.np-waitlist-page .entry-content,
body.np-waitlist-page .wp-block-post-content{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  width:100%!important;
}
.np-app-stage{
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:34px 20px;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,106,91,.10), transparent 24rem),
    radial-gradient(circle at 88% 90%, rgba(126,160,139,.14), transparent 26rem),
    #f3f5f2;
  font-family:inherit;
}
.np-phone-shell{
  width:min(430px,100%);
  min-height:780px;
  max-height:880px;
  overflow:auto;
  box-sizing:border-box;
  background:#fff;
  color:#101a2f;
  border:10px solid #111827;
  border-radius:46px;
  box-shadow:0 28px 80px rgba(15,23,42,.18);
  position:relative;
  scrollbar-width:none;
}
.np-phone-shell::-webkit-scrollbar{display:none}
.np-app-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 24px 14px;
}
.np-app-brand{
  display:flex;
  align-items:center;
  gap:9px;
  color:#101a2f;
  text-decoration:none;
  font-size:23px;
  letter-spacing:-.04em;
}
.np-app-brand img{display:block}
.np-app-beta{
  font-size:12px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#667085;
  background:#f2f4f7;
  border-radius:999px;
  padding:7px 10px;
}
.np-app-progress{
  display:flex;
  gap:6px;
  padding:0 24px 6px;
}
.np-app-progress span{
  height:4px;
  flex:1;
  border-radius:999px;
  background:#e5e9ef;
}
.np-app-progress span.is-active{background:#ff695b}
.np-app-screen{padding:20px 24px 32px}
.np-app-step{display:none}
.np-app-step.is-active{display:block}
.np-app-kicker{
  margin:8px 0 10px!important;
  font-size:13px!important;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#ff695b;
}
.np-app-step h1,
.np-app-step h2{
  margin:0 0 16px!important;
  color:#101a2f!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  line-height:1.06!important;
}
.np-app-step h1{font-size:42px!important}
.np-app-step h2{font-size:34px!important}
.np-app-lead,
.np-app-copy{
  color:#566173;
  font-size:17px!important;
  line-height:1.55!important;
  margin:0 0 22px!important;
}
.np-founder-offer,
.np-launch-card,
.np-share-card,
.np-app-note{
  border-radius:20px;
  padding:18px;
  margin:18px 0;
}
.np-founder-offer{
  background:#fff3f0;
  border:1px solid #ffd3cc;
}
.np-founder-pill{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#9f3d32;
  margin-bottom:8px;
}
.np-founder-offer strong,
.np-launch-card strong,
.np-share-card strong{
  display:block;
  font-size:21px;
  line-height:1.2;
  margin-bottom:7px;
}
.np-founder-offer p,
.np-launch-card p,
.np-share-card small{
  margin:0!important;
  color:#667085;
  line-height:1.48;
}
.np-app-note{
  background:#f5f7f9;
  border:1px solid #e4e8ee;
}
.np-app-note strong,
.np-app-note span{display:block}
.np-app-note span{color:#667085;margin-top:4px;line-height:1.45}
.np-app-primary{
  display:block;
  width:100%;
  box-sizing:border-box;
  border:0;
  border-radius:16px;
  background:#ff695b;
  color:#101a2f!important;
  padding:16px 18px;
  font:inherit;
  font-size:17px;
  font-weight:800;
  text-align:center;
  text-decoration:none!important;
  cursor:pointer;
  margin-top:22px;
}
.np-app-primary:hover{filter:brightness(.98)}
.np-app-primary:disabled{opacity:.6;cursor:wait}
.np-app-secondary-link{
  display:block;
  text-align:center;
  margin:14px 0 0;
  color:#667085!important;
  font-size:14px;
  text-decoration:none!important;
}
.np-app-back{
  appearance:none;
  border:0;
  background:#f2f4f7;
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:20px;
  cursor:pointer;
  margin-bottom:16px;
}
#np-registration-form label:not(.np-honeypot){
  display:block;
  margin:0 0 16px;
}
#np-registration-form label > span{
  display:block;
  font-size:14px;
  font-weight:750;
  margin:0 0 7px;
}
#np-registration-form input,
#np-email-entry-form input[type=email]{
  width:100%;
  min-height:54px;
  box-sizing:border-box;
  border:1px solid #ccd3dd;
  border-radius:14px;
  padding:13px 15px;
  background:#fff;
  color:#101a2f;
  font:inherit;
  font-size:17px;
}
#np-registration-form input:focus,
#np-email-entry-form input[type=email]:focus{
  outline:3px solid rgba(255,105,91,.18);
  border-color:#ff695b;
}
.np-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.np-check-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid #dde2e9;
  border-radius:16px;
  margin:0 0 12px;
  cursor:pointer;
}
.np-check-card input{
  width:20px;
  height:20px;
  margin:2px 0 0;
  accent-color:#ff695b;
}
.np-check-card span{flex:1}
.np-check-card strong,
.np-check-card small{display:block}
.np-check-card strong{font-size:15px}
.np-check-card small{color:#667085;line-height:1.45;margin-top:3px}
.np-privacy-copy{
  color:#667085;
  font-size:13px!important;
  line-height:1.5!important;
  margin:16px 2px 0!important;
}
.np-privacy-copy a{color:#344054}
.np-app-error{
  background:#fff1f0;
  border:1px solid #ffcdc7;
  color:#8f2e26;
  border-radius:12px;
  padding:11px 13px;
  margin-top:16px;
  font-size:14px;
}
.np-success-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e7f6ec;
  color:#19703b;
  font-size:30px;
  font-weight:800;
  margin:10px 0 20px;
}
.np-launch-card{
  background:#f6f7fb;
  border:1px solid #e2e5ec;
}
.np-launch-card > span,
.np-share-card > span{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#667085;
  margin-bottom:7px;
}
.np-share-card{
  border:1px solid #dce4df;
  background:#f4faf6;
}
.np-share-row{
  display:flex;
  gap:8px;
  margin:12px 0 8px;
}
.np-share-row input{
  min-width:0;
  flex:1;
  border:1px solid #ccd5ce;
  border-radius:11px;
  padding:10px;
  font-size:12px;
  background:#fff;
}
.np-share-row button{
  border:0;
  border-radius:11px;
  padding:0 14px;
  font-weight:750;
  background:#101a2f;
  color:#fff;
  cursor:pointer;
}
.np-app-bottom-safe{height:12px}
.np-privacy-page{
  max-width:820px!important;
  padding-top:56px!important;
  padding-bottom:72px!important;
}
@media (max-width:600px){
  body.np-waitlist-page{background:#fff}
  .np-app-stage{
    min-height:100svh;
    padding:0;
    align-items:stretch;
    background:#fff;
  }
  .np-phone-shell{
    width:100%;
    max-height:none;
    min-height:100svh;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .np-app-topbar{
    padding-top:max(18px, env(safe-area-inset-top));
  }
  .np-app-screen{padding-bottom:max(32px, env(safe-area-inset-bottom))}
  .np-app-step h1{font-size:38px!important}
}
/* Accessible additions for self-declared matching preferences. */
[data-np-registration] [hidden]{display:none!important}
.np-screen-reader{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.np-app-step h1:focus,.np-app-step h2:focus{outline:none}
.np-app-kicker{color:#a9382d!important}
.np-text-button{border:0;background:none;padding:8px 0;font:inherit;width:100%;cursor:pointer;line-height:1.4}
.np-field{display:block!important;margin:16px 0 7px!important;font-size:14px;font-weight:750}
.np-field-help{display:block;color:#566173;font-size:13px;line-height:1.5;margin:8px 0 16px}
#np-registration-form input[type=checkbox],#np-registration-form input[type=radio]{width:20px!important;min-height:20px!important;height:20px;padding:0;margin:2px 0 0;flex:0 0 20px;accent-color:#aa392e}
.np-adult-check{margin-top:20px}
.np-choice-group{border:0;padding:0;margin:22px 0}
.np-choice-group legend{font-weight:750;font-size:16px;margin-bottom:10px}
.np-choice-list{display:flex;flex-direction:column;gap:8px}
#np-registration-form .np-choice-list label{display:flex!important;align-items:center;gap:12px;margin:0!important;border:1px solid #ccd3dd;border-radius:14px;padding:13px 14px;cursor:pointer;min-height:48px;box-sizing:border-box}
#np-registration-form .np-choice-list label:has(input:checked){background:#fff3f0;border-color:#ad493d;box-shadow:inset 0 0 0 1px #ad493d}
#np-registration-form .np-choice-list label>span{font-weight:600;font-size:15px;margin:0;line-height:1.4}
#np-registration-form .np-check-card{display:flex!important;gap:12px;align-items:flex-start;min-height:48px}
#np-registration-form .np-check-card>span{display:block;font-weight:400;margin:0}
.np-check-card small{font-size:13px}
.np-manage-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.np-manage-actions button{border:1px solid #ccd3dd;background:white;padding:12px;border-radius:12px;min-height:44px;color:#344054;cursor:pointer;font:inherit;font-size:14px}
.np-registration-privacy-v2{max-width:820px!important;padding:24px 24px 48px}
.np-app-stage :is(button,a,input):focus-visible{outline:3px solid #354f83;outline-offset:3px}
.np-app-back{min-width:44px;min-height:44px}
.np-app-secondary-link{min-height:44px;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.np-app-stage *{scroll-behavior:auto!important;transition:none!important}}

#np-manage-email{width:100%;box-sizing:border-box;padding:13px 15px;min-height:54px;border:1px solid #ccd3dd;border-radius:14px;font:inherit;font-size:17px}
/* 1.2.0: the welcome is now the real form, not an extra marketing screen. */
.np-founder-compact{margin:16px 0;border:1px solid #ffd3cc;border-radius:14px;background:#fff5f2;padding:12px 14px}
.np-founder-compact summary{cursor:pointer;font-size:14px;line-height:1.4;min-height:36px}
.np-founder-compact summary span{display:block;color:#6a5661;font-size:12px;margin-top:2px}
.np-founder-compact p{font-size:13px;line-height:1.5;color:#566173;margin:10px 0 0}
.np-invitation-note{border-left:3px solid #aa392e;padding:3px 0 3px 14px;margin:20px 0;color:#101a2f}
.np-invitation-note strong{font-size:16px;line-height:1.4}
.np-invitation-note p{font-size:14px;line-height:1.5;margin:8px 0 0;color:#566173}
.np-email-status{background:#f5f7f9;padding:12px 16px;border-radius:14px;margin-top:20px}
.np-email-status p{font-size:14px;line-height:1.45;margin:6px 0}
.np-registration-privacy-v3{max-width:820px!important;padding:24px 24px 48px}
.np-founder-compact summary:focus-visible{outline:3px solid #354f83;outline-offset:3px}

/* Hidden controls must stay hidden even under the form's more-specific flex rule. */
#np-registration-form [hidden],#np-registration-form .np-check-card[hidden]{display:none!important}
[data-screen="basics"] h1{font-size:36px!important;line-height:1.1!important}
[data-screen="basics"] .np-app-copy{font-size:16px!important;line-height:1.5!important;margin-bottom:16px!important}
[data-screen="basics"] .np-founder-compact{margin:12px 0;padding:10px 12px}
#np-registration-form [data-screen="basics"] .np-field{margin:12px 0 6px!important}
[data-screen="basics"] .np-field-help{font-size:12px;margin:6px 0 10px}
#np-registration-form .np-adult-check{padding:12px;margin-top:14px;min-height:48px;align-items:center}
[data-continue-basics]{margin-top:16px}

/* 1.3.0: area-only location, shared by signup and private editing. */
#np-registration-form #np-postcode-area{width:8rem;max-width:100%;min-height:54px;text-transform:uppercase;letter-spacing:.06em;font-weight:650}
#np-registration-form #np-postcode-area::placeholder{text-transform:none;letter-spacing:normal;font-weight:400}
.np-area-result{font-size:13px;line-height:1.5;color:#344054;padding:10px 12px;border-left:3px solid #506a59;background:#f2f7f4;border-radius:6px;margin:10px 0 8px}
.np-area-result strong,.np-area-result span{display:block}
.np-area-result span{margin-top:3px}
.np-area-error{color:#982b20;font-weight:650;font-size:13px;line-height:1.5;margin:8px 0}
.np-area-help{margin:8px 0 12px;font-size:13px;line-height:1.5;color:#566173}
.np-area-help summary{cursor:pointer;padding:8px 0;min-height:24px;text-decoration:underline;text-underline-offset:3px;color:#344054}
.np-area-help p{font-size:13px;line-height:1.5;margin:8px 0}
.np-launch-area{border:1px solid #dce4df;background:#f4faf6;border-radius:16px;padding:16px;margin:18px 0}
.np-launch-area span{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#566173;margin-bottom:6px}
.np-launch-area strong{font-size:18px;line-height:1.4;display:block}
.np-launch-area p{font-size:13px;line-height:1.5;color:#566173;margin:8px 0 0}
.np-registration-privacy-v4,.np-registration-privacy-v5,.np-registration-privacy-v7{max-width:820px!important;padding:24px 24px 48px}

/* One short celebration; no motion when the visitor requests reduced motion. */
.np-app-step{position:relative}
.np-confetti{position:absolute;inset:0 0 auto;height:280px;overflow:hidden;pointer-events:none;z-index:2}
.np-confetti i{position:absolute;top:-16px;width:8px;height:13px;border-radius:2px;animation:np-celebrate 2.1s var(--np-delay) ease-out both}
.np-confetti i:nth-child(3n){border-radius:50%;width:10px;height:10px}
@keyframes np-celebrate{0%{transform:translate(0,-12px) rotate(0deg);opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translate(var(--np-drift),280px) rotate(400deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.np-confetti{display:none}.np-confetti i{animation:none}}

/* Compact final step, with readable consent and no decorative spacer. */
[data-screen="consent"] #np-consent-heading{font-size:clamp(26px,5vw,32px);line-height:1.2;margin:14px 0 20px}
[data-screen="consent"] .np-check-card{padding:14px;margin:12px 0;gap:12px}
[data-screen="consent"] .np-check-card strong{font-size:16px;line-height:1.4}
[data-screen="consent"] .np-check-card small{font-size:15px;line-height:1.5;margin-top:6px}
[data-screen="consent"] .np-field-help{font-size:14px;line-height:1.5;margin:8px 0 16px}
[data-screen="consent"] .np-choice-tag{font-size:13px;font-weight:600;color:#5b6472;white-space:nowrap;margin-left:5px}
[data-screen="consent"] .np-privacy-copy{margin:8px 0;font-size:14px}
[data-screen="consent"] #np-new-invitation{margin:12px 0 8px}
