.signup-open{overflow:hidden}
.signup-modal{overscroll-behavior:contain;scrollbar-gutter:stable;position:fixed;inset:0;margin:auto;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:29px 36px 30px;border:1px solid #d1dfd3;border-radius:25px;background:#fff;color:#142d29;box-shadow:0 28px 100px #0b261d38;text-align:center;overflow:auto}
.signup-modal::backdrop{background:#112b2360;backdrop-filter:blur(5px)}
.signup-modal[open]{animation:signup-arrive .22s ease-out}
.signup-modal [hidden]{display:none!important}
.modal-close{position:absolute;right:11px;top:11px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#587060;background:#f0f5f0}
.modal-close:hover{background:#e1ebe1}.modal-close svg{width:18px;height:18px}
.signup-mascot{display:block;width:124px;height:124px;object-fit:contain;margin:0 auto 12px}
.signup-modal[open] .signup-mascot{transform-origin:50% 90%;animation:mascot-hello 1.35s .45s cubic-bezier(.4,0,.25,1) both}
.signup-modal[open][data-step=success] .signup-mascot{animation:mascot-happy 1s .15s ease-in-out both}
.signup-modal h2{font-size:32px;letter-spacing:-1.1px;line-height:1.2}
.signup-modal>p{font-size:16px;line-height:1.55;font-weight:500;color:#486051;margin:12px auto 0;overflow-wrap:anywhere}
.signup-offer{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;border:1px solid #d2e2d1;background:#f0f6ed;border-radius:13px;padding:16px 18px;margin:23px 0}
.signup-offer>span:first-child{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.signup-offer>span>strong{font:750 29px/1.1 Manrope,sans-serif;letter-spacing:-1px;color:#1b4a30}
.signup-billing{font-size:14px;font-weight:500;color:#416047}
.signup-payment-note{font-size:14px;line-height:1.5;color:#486051}
.signup-payment-note strong{display:block;font-size:15px;font-weight:650;color:#264b34}
.signup-modal form{text-align:left}.signup-modal label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#2c4a36}
.signup-modal input[type=email]{display:block;width:100%;height:55px;border:1px solid #adc4b2;border-radius:10px;background:white;color:#193b2b;padding:0 15px;font:500 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:border-color .15s,box-shadow .15s;scroll-margin:20px}
.signup-modal input[type=email]::placeholder{color:#73877a;font-weight:400}
.signup-modal input[type=email]:focus{outline:none;border-color:#35694a;box-shadow:0 0 0 3px #4882581c}
.signup-modal input[type=email]:autofill{box-shadow:0 0 0 1000px #f1f8ef inset;color:#193b2b}
.signup-modal input[type=email]:-webkit-autofill{-webkit-text-fill-color:#193b2b;-webkit-box-shadow:0 0 0 1000px #f1f8ef inset}
.signup-submit{width:100%;min-height:55px;font-size:16px;font-weight:650;margin-top:16px;background:linear-gradient(180deg,#24553e,#143b2b);box-shadow:0 3px 9px #123b2a1c,inset 0 1px 0 #ffffff24}
.signup-submit:disabled{opacity:.7;cursor:wait}
.signup-modal .signup-submit{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
@media(hover:hover) and (pointer:fine){.signup-modal .signup-submit:not(:disabled):hover{transform:translateY(-2px);background:linear-gradient(180deg,#2b6047,#1a4432);box-shadow:0 6px 14px #123b2a28,inset 0 1px 0 #ffffff24}}
.signup-modal .signup-submit:not(:disabled):active{transform:translateY(1px) scale(.985);box-shadow:0 1px 3px #123b2a18,inset 0 1px 0 #ffffff18}
.signup-error{background:#fff0e7;border:1px solid #ebcdb8;color:#85411e;border-radius:9px;padding:11px 13px;font-size:14px;line-height:1.5;margin-top:14px}
#signup-success .signup-submit{margin-top:25px}
@keyframes signup-arrive{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes mascot-hello{0%,100%{transform:none}22%{transform:translateY(-10px) rotate(-10deg) scale(1.05)}44%{transform:translateY(-5px) rotate(9deg) scale(1.07)}66%{transform:translateY(-8px) rotate(-5deg) scale(1.04)}84%{transform:translateY(-2px) rotate(3deg)}}
@keyframes mascot-happy{0%,100%{transform:none}16%{transform:translateY(4px) scale(1.045,.955)}38%{transform:translateY(-18px) rotate(-6deg) scale(1.04)}60%{transform:translateY(2px) scale(1.025,.98)}78%{transform:translateY(-7px) rotate(4deg)}92%{transform:translateY(1px)}}
@media(max-width:480px){.signup-modal{padding:25px 24px}.signup-modal h2{font-size:29px}.signup-mascot{width:108px;height:108px}.signup-offer{padding:15px 14px}.signup-billing{font-size:13px}}
@media(max-height:650px){.signup-modal{padding-top:17px;padding-bottom:22px}.signup-mascot{width:84px;height:84px;margin-bottom:8px}.signup-modal h2{font-size:27px}.signup-modal>p{margin-top:8px}.signup-offer{margin:17px 0;padding:13px 15px;gap:8px}}
@media(prefers-reduced-motion:reduce){.signup-modal[open],.signup-modal[open] .signup-mascot,.signup-modal[open][data-step=success] .signup-mascot{animation:none}.signup-modal input,.signup-modal .signup-submit{transition:none}.signup-modal .signup-submit:not(:disabled):hover,.signup-modal .signup-submit:not(:disabled):active{transform:none}}

.signup-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.footer-links{display:flex;gap:22px;align-items:center;font-size:13px;color:#526e60}
.footer-links button{font:inherit;color:inherit;background:none;padding:8px 0}
.measurement-choice{position:fixed;bottom:20px;left:20px;z-index:30;max-width:440px;padding:20px;background:#fff;border:1px solid #cbdcd0;border-radius:16px;box-shadow:0 8px 38px #142d2920}
.measurement-choice[hidden],.footer-links [hidden]{display:none}
.measurement-choice p{font-size:14px;line-height:1.5;font-weight:500;color:#345344}
.measurement-choice a{text-decoration:underline}
.measurement-choice>div{display:flex;gap:10px;margin-top:14px}
.measurement-choice button{flex:1;padding:12px 10px;border-radius:9px;background:#edf4ee;color:#183e2d;font-size:13px;font-weight:600;min-height:44px}
.measurement-choice button:last-child{background:#153b2d;color:#fff}
@media(max-width:560px){.measurement-choice{left:12px;right:12px;bottom:12px;max-width:none}.footer-links{gap:16px;flex-wrap:wrap}}
