/* Sticky "Free to apply" banner, the timed app popup and its waitlist form (see "App popup" and "Waitlist form" below). Loaded after launch.css, whose older .consumer-bar rules it supersedes.
   Visibility is unchanged: home shows it (launch.js toggles [hidden]); other consumer pages show it below 768px.
   One compact row (about 96px on desktop, 64px on phones) so it never covers much of the page: wallet tile, two-line offer, mint CTA. */
.launch-page .consumer-bar{--bar-mint:#6fe7cb;--bar-navy:#0a2549;--bar-ink:#fff;position:fixed;inset:auto 0 0;z-index:35;display:none;overflow:hidden;isolation:isolate;padding:0;border:0;border-top:1px solid rgba(111,231,203,.18);background:var(--bar-navy);color:var(--bar-ink);box-shadow:0 -10px 30px rgba(6,20,40,.22)}
.home-page .consumer-bar:not([hidden]){display:block;animation:consumer-bar-in .55s cubic-bezier(.22,1,.36,1) both}
@media(max-width:767px){.consumer-bar:not([hidden]){display:block;animation:consumer-bar-in .55s cubic-bezier(.22,1,.36,1) both}}
/* Docked bar (home, personal-loan pages, eligibility checker). The bar sits in the page flow just before the footer and is sticky to the viewport bottom,
   so it rides along while the visitor reads and stops at the top of the footer instead of covering it. launch.js adds .is-ready (hidden) / .is-shown once the
   first screen has scrolled past; without JS it simply stays visible. It keeps its height at the end of the page so nothing jumps when it docks. */
.launch-page .consumer-bar.consumer-bar--dock{position:sticky;inset:auto 0 0;display:block;animation:none;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s}
.launch-page .consumer-bar.consumer-bar--dock.is-ready:not(.is-shown){visibility:hidden;opacity:0;transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s .4s}
.launch-page:has(.consumer-bar--dock) .site-footer{padding-bottom:0}
@media(prefers-reduced-motion:reduce){.launch-page .consumer-bar.consumer-bar--dock,.launch-page .consumer-bar.consumer-bar--dock.is-ready:not(.is-shown){transition:none}}
.consumer-bar-arcs{position:absolute;z-index:-1;top:0;right:0;width:min(34%,420px);height:100%;pointer-events:none}
.consumer-bar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 32px;max-width:1360px;margin:0 auto;padding:14px clamp(24px,5vw,80px)}
.consumer-bar-offer{display:flex;align-items:center;gap:18px;min-width:0;margin:0}
.consumer-bar-icon{display:grid;flex:none;place-items:center;width:60px;height:60px;border-radius:15px;background:rgba(111,231,203,.1);color:var(--bar-mint)}
.consumer-bar-wallet{width:34px;height:34px}
.consumer-bar-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.consumer-bar-headline{font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.consumer-bar-accent{padding-inline:2px;color:var(--bar-mint);background:linear-gradient(transparent 66%,rgba(111,231,203,.2) 66%);white-space:nowrap}
.consumer-bar-range{font-size:clamp(16px,1.5vw,20px);font-weight:600;line-height:1.25;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.consumer-bar .consumer-bar-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:8px 10px 8px 28px;border:0;border-radius:12px;background:var(--bar-mint);color:var(--bar-navy);font-size:clamp(17px,1.4vw,19px);font-weight:700;letter-spacing:-.01em;text-decoration:none;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}
.consumer-bar .consumer-bar-cta:hover{transform:translateY(-2px);background:#86f0d7;box-shadow:0 14px 24px -14px rgba(0,0,0,.6)}
.consumer-bar .consumer-bar-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.consumer-bar-arrow{display:grid;flex:none;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bar-navy);color:#fff;transition:transform .22s ease}
.consumer-bar .consumer-bar-arrow-icon{width:20px;height:20px;transition:transform .22s ease}
.consumer-bar-cta:hover .consumer-bar-arrow-icon{transform:translateX(3px)}

@keyframes consumer-bar-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:1023px){
  .consumer-bar-inner{padding:12px 28px;gap:0 20px}
  .consumer-bar .consumer-bar-cta{gap:18px;padding-left:22px}
}
@media(max-width:767px){
  .consumer-bar-inner{gap:0 12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .consumer-bar-offer{gap:12px}
  .consumer-bar-icon{width:44px;height:44px;border-radius:12px}
  .consumer-bar-wallet{width:26px;height:26px}
  .consumer-bar-headline{font-size:20px}
  .consumer-bar-range{font-size:14px}
  .consumer-bar .consumer-bar-cta{min-width:0;min-height:48px;gap:10px;padding:6px 7px 6px 16px;font-size:15px}
  .consumer-bar-arrow{width:34px;height:34px}
  .consumer-bar .consumer-bar-arrow-icon{width:17px;height:17px}
}
@media(max-width:479px){
  .consumer-bar-icon{display:none}
  .consumer-bar .consumer-bar-cta{gap:8px;padding-left:13px;font-size:14px}
  .consumer-bar-arcs{width:60%;opacity:.7}
}
@media(max-width:379px){
  .consumer-bar-headline{font-size:18px}
  .consumer-bar-range{font-size:12.5px;white-space:nowrap}
  .consumer-bar .consumer-bar-cta{gap:6px;padding-left:11px;font-size:13px}
  .consumer-bar-arrow{width:30px;height:30px}
}
@media(prefers-reduced-motion:reduce){
  .home-page .consumer-bar:not([hidden]),.consumer-bar:not([hidden]){animation:none}
  .consumer-bar .consumer-bar-cta,.consumer-bar-arrow,.consumer-bar-arrow-icon{transition:none}
  .consumer-bar .consumer-bar-cta:hover{transform:none}
}
@media print{.consumer-bar{display:none!important}}

/* ---------- App popup ----------
   Timed "Coming soon in November 2026" dialog (markup: build/lib/app-popup.cjs, behaviour: launch.js). Native <dialog>, so the
   backdrop, focus trap and Esc come from the browser. Same mint/navy palette as the bar above. */
.app-popup{--pop-mint:#6fe7cb;--pop-pale:#d6fbee;--pop-navy:#0a2549;position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden auto;padding:0;border:1px solid rgba(111,231,203,.16);border-radius:28px;background:linear-gradient(172deg,#0e2447 0%,#0c2c47 46%,#0d4a46 100%);color:#fff;box-shadow:0 40px 90px -20px rgba(3,12,26,.7);overscroll-behavior:contain;isolation:isolate}
.app-popup__body:focus{outline:0}
.app-popup:not([open]){display:none}
html:has(.app-popup[open]){overflow:hidden}
.app-popup[open]{animation:app-popup-in .5s cubic-bezier(.22,1,.36,1) both}
.app-popup::backdrop{background:rgba(6,20,40,.62);backdrop-filter:blur(3px);animation:app-popup-fade .4s ease both}
.app-popup__arcs{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}
.app-popup__close{position:absolute;top:14px;right:14px;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background-color .2s ease}
.app-popup__close:hover{background:rgba(255,255,255,.12)}
.app-popup__close:focus-visible,.app-popup__cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.app-popup__body{display:flex;flex-direction:column;align-items:center;padding:44px 28px 26px;text-align:center}
.app-popup__logo{width:190px;height:auto}
.app-popup__title{margin:26px 0 0;font-size:clamp(28px,8vw,34px);font-weight:700;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.app-popup__title-line{display:block}
.app-popup__title-accent{width:fit-content;margin-inline:auto;padding-inline:4px;color:var(--pop-mint);background:linear-gradient(transparent 66%,rgba(111,231,203,.2) 66%)}
.app-popup__lead{margin:18px 0 0;color:#c4d3ee;font-size:17px;line-height:1.3}
.app-popup__amount{margin:2px 0 0;color:var(--pop-pale);font-size:clamp(46px,14vw,60px);font-weight:700;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.app-popup__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:22px 0 0;padding:0;list-style:none}
.app-popup__feature{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px 12px;border:1px solid rgba(111,231,203,.14);border-radius:18px;background:rgba(255,255,255,.05);font-size:12.5px;line-height:1.3}
.app-popup__feature strong{font-size:14px;font-weight:700;letter-spacing:-.01em}
.app-popup__feature span:last-child{margin-top:auto;color:#c4d3ee}
.app-popup__feature-badge{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:50%;background:linear-gradient(145deg,#2aa89b,#0f6b5c);color:var(--pop-pale)}
.app-popup__feature-icon{width:24px;height:24px}
.app-popup__actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;width:100%;margin-top:22px}
.app-popup__cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:10px 14px;border:0;border-radius:16px;background:var(--pop-pale);color:var(--pop-navy);font:inherit;font-size:18px;font-weight:700;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}
.app-popup__cta:hover{transform:translateY(-2px);background:#e6fdf5;box-shadow:0 14px 26px -14px rgba(0,0,0,.6)}
.app-popup__arrow{width:22px;height:22px;transition:transform .22s ease}
.app-popup__cta:hover .app-popup__arrow{transform:translateX(3px)}
.app-popup__soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;margin:0;padding:8px 12px;border:1.5px solid rgba(111,231,203,.75);border-radius:16px;background:rgba(42,168,155,.12);color:var(--pop-pale);font-size:16px;font-weight:700;line-height:1.2;text-align:center}
.app-popup__platform{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;color:#dbe6f5;font-size:14px}
.app-popup__legal{margin:14px 0 0;color:#9fb3d1;font-size:12px;line-height:1.5}
@keyframes app-popup-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes app-popup-fade{from{opacity:0}to{opacity:1}}
@media(max-width:480px){
  .app-popup__feature strong{font-size:13px}
  .app-popup__actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px}
  .app-popup__cta{gap:6px;padding-inline:8px;font-size:15px;line-height:1.2}
  .app-popup__cta .app-popup__arrow{flex:none;width:18px;height:18px}
  .app-popup__soon{padding-inline:6px;font-size:13px}
}
@media(max-width:379px){
  .app-popup__body{padding:40px 18px 22px}
  .app-popup__logo{width:160px}
  .app-popup__features{gap:8px}
  .app-popup__feature{padding-inline:4px;font-size:11.5px}
  .app-popup__feature strong{font-size:12.5px}
  .app-popup__cta{font-size:14px}
  .app-popup__soon{font-size:12.5px}
}
@media(max-height:640px){
  .app-popup__body{padding-top:36px}
  .app-popup__title{margin-top:16px}
  .app-popup__lead{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .app-popup[open],.app-popup::backdrop{animation:none}
  .app-popup__cta,.app-popup__arrow{transition:none}
  .app-popup__cta:hover{transform:none}
}
@media print{.app-popup,.waitlist-popup{display:none!important}}

/* ---------- Waitlist form ----------
   "Join the waitlist" dialog opened by the popup's button (markup: build/lib/app-popup.cjs, behaviour: launch.js,
   endpoint: /forms/waitlist). Navy story panel on the left, white form panel on the right; below 820px the story
   shrinks to a header and the illustration and steps are dropped. Thank-you state: .form-success in launch.css. */
.waitlist-popup{--wl-mint:#6fe7cb;--wl-pale:#d6fbee;--wl-error:#9a3029;position:fixed;inset:0;margin:auto;width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden auto;padding:0;border:0;border-radius:24px;background:#fff;color:var(--navy);box-shadow:0 40px 90px -20px rgba(3,12,26,.7);overscroll-behavior:contain;scrollbar-width:none}
.waitlist-popup::-webkit-scrollbar{display:none}
.waitlist-popup:not([open]){display:none}
.waitlist-popup[open]{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);animation:app-popup-in .5s cubic-bezier(.22,1,.36,1) both}
html:has(.waitlist-popup[open]){overflow:hidden}
.waitlist-popup::backdrop{background:rgba(6,20,40,.62);backdrop-filter:blur(3px);animation:app-popup-fade .4s ease both}
.waitlist-popup__story{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:44px 40px 34px;background:radial-gradient(120% 70% at 100% 100%,#08534b 0%,rgba(8,83,75,0) 62%),linear-gradient(170deg,#10243a 0%,#0f2237 55%,#0a2236 100%);color:#fff}
.waitlist-popup__arcs{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}
.waitlist-popup__logo{width:180px;height:auto;margin-inline:auto}
/* Shrink-wrapped and centred, so "2026" sits on its own line in the middle of "Coming soon" above it. Sized to the
   story panel's width (cqi) so "Coming soon" never breaks onto two lines. */
.waitlist-popup__story{container-type:inline-size}
.waitlist-popup__headline{width:fit-content;margin:30px auto 0;font-size:clamp(32px,13cqi,56px);font-weight:800;line-height:.98;letter-spacing:-.02em;text-align:center;text-transform:uppercase}
.waitlist-popup__headline span{display:block;color:var(--wl-pale)}
.waitlist-popup__tagline{margin:14px 0 0;color:#dbe6f5;font-size:17px;line-height:1.4;text-align:center}
.waitlist-popup__art{display:block;width:100%;max-width:400px;height:auto;margin:38px auto 0;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.waitlist-popup__steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:auto 0 0;padding:18px 0 0;list-style:none}
.waitlist-popup__steps::before{content:"";position:absolute;top:42px;left:calc(100% / 6 + 30px);right:calc(100% / 6 + 30px);border-top:1px solid rgba(111,231,203,.4)}
.waitlist-popup__step{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;color:#dbe6f5;font-size:14px;text-align:center}
.waitlist-popup__step-badge{display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--wl-mint);border-radius:50%;background:#0f2338;color:var(--wl-mint)}
.waitlist-popup__step-icon{width:22px;height:22px}
.waitlist-popup__panel{padding:44px 44px 30px}
.waitlist-popup__intro:focus{outline:0}
.waitlist-popup__close{position:absolute;top:16px;right:16px;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer;transition:background-color .2s ease}
.waitlist-popup__close:hover{background:var(--mist)}
.waitlist-popup__close:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.waitlist-popup__eyebrow{margin:0;color:var(--forest);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.waitlist-popup__title{margin:10px 0 0;font-size:clamp(30px,4vw,42px);font-weight:800;line-height:1.05;letter-spacing:-.035em}
.waitlist-popup__lead{margin:10px 0 0;color:var(--muted);font-size:17px;line-height:1.45}
.waitlist-form{margin-top:6px}
.waitlist-form[hidden]{display:none}
.waitlist-form__field{margin-top:18px}
.waitlist-form__field>label{display:block;margin-bottom:8px;font-size:15px;font-weight:700;line-height:1.4}
.waitlist-form__input{display:flex;align-items:center;height:56px;border:1px solid var(--line);border-radius:10px;background:#fbfcfc;transition:border-color .2s ease,box-shadow .2s ease}
.waitlist-form__input:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,168,155,.18)}
.waitlist-form__input.is-invalid{border-color:var(--wl-error)}
.waitlist-form__icon{flex:none;box-sizing:content-box;width:22px;height:22px;padding:0 14px 0 16px;border-right:1px solid var(--line);color:var(--muted)}
.waitlist-form__prefix{flex:none;padding:0 14px;border-right:1px solid var(--line);font-size:16px;font-weight:700;line-height:28px}
.waitlist-form__input input{flex:1;min-width:0;height:100%;padding:0 16px;border:0;border-radius:0 10px 10px 0;background:transparent;color:var(--navy);font:inherit;font-size:16px;outline:0}
.waitlist-form__input input::placeholder{color:#7b8794}
#waitlist-pan:not(:placeholder-shown){text-transform:uppercase;letter-spacing:.06em}
.waitlist-form__consent{margin-top:20px;padding:16px 18px;border-radius:12px;background:var(--teal-wash)}
.waitlist-form__check{display:flex;align-items:flex-start;gap:14px;color:var(--ink-body);font-size:15px;line-height:1.55;cursor:pointer}
.waitlist-form__check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--forest);cursor:pointer}
.waitlist-form__check input:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.waitlist-form__links{display:flex;flex-wrap:wrap;gap:6px 28px;margin:6px 0 0 36px;font-size:15px}
.waitlist-form__links a{color:var(--forest);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.waitlist-form__links a:hover{color:var(--navy)}
.waitlist-form__error{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;color:var(--wl-error);font-size:14px;font-weight:600;line-height:1.45}
.waitlist-form__error[hidden]{display:none}
.waitlist-form__error svg{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.waitlist-form__submit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:18px;padding:10px 56px;border:0;border-radius:10px;background:var(--forest);color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer;transition:background-color .2s ease}
.waitlist-form__submit:hover{background:#0b4a37}
.waitlist-form__submit:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.waitlist-form__submit[disabled]{cursor:progress;opacity:.75}
.waitlist-form__submit .app-popup__arrow{position:absolute;right:22px}
.waitlist-form__submit:hover .app-popup__arrow{transform:translateX(3px)}
.waitlist-form__note{margin:12px 0 0;color:var(--muted);font-size:14px;text-align:center}
.waitlist-popup__panel .form-success{margin-top:22px}
/* Entrance animation, replayed on every opening (a closed dialog is display:none): the story panel rises in, the art
   pops and then floats, the steps' connector draws across, the first step pulses, and the form fields follow. */
@keyframes wl-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes wl-pop{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}
@keyframes wl-float{0%,100%{transform:none}50%{transform:translateY(-10px)}}
@keyframes wl-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes wl-ring{0%{box-shadow:0 0 0 0 rgba(111,231,203,.5)}70%,100%{box-shadow:0 0 0 14px rgba(111,231,203,0)}}
@keyframes wl-breathe{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
@keyframes wl-shine{0%,60%{background-position:100% 0}100%{background-position:-50% 0}}
.waitlist-popup[open] .waitlist-popup__arcs{transform-origin:50% 50%;animation:wl-breathe 8s ease-in-out infinite}
.waitlist-popup[open] .waitlist-popup__logo,.waitlist-popup[open] .waitlist-popup__headline,.waitlist-popup[open] .waitlist-popup__tagline,.waitlist-popup[open] .waitlist-popup__step,.waitlist-popup[open] .waitlist-popup__intro,.waitlist-popup[open] .waitlist-form>*{animation:wl-rise .6s cubic-bezier(.22,1,.36,1) both}
.waitlist-popup[open] .waitlist-popup__logo{animation-delay:.1s}
.waitlist-popup[open] .waitlist-popup__headline{animation-delay:.18s}
.waitlist-popup[open] .waitlist-popup__tagline{animation-delay:.28s}
.waitlist-popup__headline span{background:linear-gradient(100deg,var(--wl-pale) 42%,#fff 50%,var(--wl-pale) 58%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.waitlist-popup[open] .waitlist-popup__headline span{animation:wl-shine 4.5s ease-in-out 1.2s infinite}
.waitlist-popup[open] .waitlist-popup__art{animation:wl-pop .8s cubic-bezier(.22,1,.36,1) .35s both,wl-float 6s ease-in-out 1.2s infinite}
.waitlist-popup[open] .waitlist-popup__steps::before{transform-origin:left center;animation:wl-draw .9s cubic-bezier(.22,1,.36,1) .85s both}
.waitlist-popup[open] .waitlist-popup__step:nth-child(1){animation-delay:.6s}
.waitlist-popup[open] .waitlist-popup__step:nth-child(2){animation-delay:.75s}
.waitlist-popup[open] .waitlist-popup__step:nth-child(3){animation-delay:.9s}
.waitlist-popup[open] .waitlist-popup__step:first-child .waitlist-popup__step-badge{animation:wl-ring 2.4s ease-out 1.6s infinite}
.waitlist-popup[open] .waitlist-popup__intro{animation-delay:.12s}
.waitlist-popup[open] .waitlist-form>:nth-child(1){animation-delay:.2s}
.waitlist-popup[open] .waitlist-form>:nth-child(2){animation-delay:.27s}
.waitlist-popup[open] .waitlist-form>:nth-child(3){animation-delay:.34s}
.waitlist-popup[open] .waitlist-form>:nth-child(4){animation-delay:.41s}
.waitlist-popup[open] .waitlist-form>:nth-child(n+5){animation-delay:.48s}
/* Laptop-height screens: tighter spacing so the two-panel dialog fits without scrolling. */
@media(min-width:820px) and (max-height:880px){
  .waitlist-popup__story{padding:32px 36px 26px}
  .waitlist-popup__headline{margin-top:22px;font-size:clamp(32px,12cqi,50px)}
  .waitlist-popup__art{max-width:320px;margin-top:24px}
  .waitlist-popup__panel{padding:32px 40px 22px}
  .waitlist-popup__title{margin-top:6px;font-size:clamp(28px,3.4vw,36px)}
  .waitlist-popup__lead{margin-top:6px;font-size:16px}
  .waitlist-form__field{margin-top:12px}
  .waitlist-form__field>label{margin-bottom:6px}
  .waitlist-form__input{height:50px}
  .waitlist-form__consent{margin-top:14px;padding:12px 16px}
  .waitlist-form__submit{min-height:52px;margin-top:14px}
  .waitlist-form__note{margin-top:8px}
}
@media(max-width:819px){
  .waitlist-popup{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:20px}
  .waitlist-popup[open]{grid-template-columns:minmax(0,1fr)}
  .waitlist-popup__story{padding:24px 22px 22px}
  .waitlist-popup__logo{width:150px}
  .waitlist-popup__headline{margin-top:18px;font-size:clamp(28px,8vw,36px)}
  .waitlist-popup__tagline{margin-top:8px;font-size:15px}
  .waitlist-popup__art,.waitlist-popup__steps{display:none}
  .waitlist-popup__close{top:10px;right:10px;color:#fff}
  .waitlist-popup__close:hover{background:rgba(255,255,255,.12)}
  .waitlist-popup__panel{padding:24px 22px 22px}
  .waitlist-popup__title{font-size:30px}
  .waitlist-popup__lead{font-size:15px}
  .waitlist-form__field{margin-top:14px}
  .waitlist-form__icon{padding:0 10px 0 12px}
  .waitlist-form__prefix{padding:0 10px}
  .waitlist-form__input input{padding:0 12px}
}
@media(prefers-reduced-motion:reduce){
  .waitlist-popup[open],.waitlist-popup::backdrop{animation:none}
  .waitlist-popup[open] *,.waitlist-popup[open] ::before{animation:none!important}
  .waitlist-form__submit .app-popup__arrow{transition:none}
}
