.signup{padding:clamp(2.5rem, 6vw, 4.5rem) 0 var(--sp);background:var(--bg);min-height:calc(100vh - var(--total-nav))}.signup__shell{max-width:780px}.signup__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}.signup__head .section-sub{margin:0 auto}.signup__form{background:var(--white);border:1px solid var(--grey-1);border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.75rem);box-shadow:0 2px 24px #0000000d}.signup__viewport{transition:height .42s var(--ease);position:relative;overflow:hidden}.signup__actions{border-top:1px solid var(--grey-1);align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.signup__actions [data-next],.signup__actions [data-submit]{margin-left:auto}@media (width<=520px){.signup__actions{flex-direction:column-reverse;align-items:stretch}.signup__actions .btn{justify-content:center;width:100%}.signup__actions [data-next],.signup__actions [data-submit]{margin-left:0}}.signup__legal{color:var(--text-muted);text-align:center;margin-top:1.5rem;max-width:540px;margin-inline:auto;font-size:.78rem;line-height:1.6}.signup-progress{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.signup-progress__bar{padding:0 clamp(0rem,4vw,2rem);position:relative}.signup-progress__track{background:var(--grey-1);border-radius:999px;height:3px;position:absolute;top:21px;left:calc(clamp(0rem,4vw,2rem) + 22px);right:calc(clamp(0rem,4vw,2rem) + 22px);overflow:hidden}.signup-progress__fill{height:100%;width:var(--signup-fill,0%);background:linear-gradient(90deg, var(--green) 0%, var(--green-mid) 100%);transition:width .42s var(--ease);border-radius:999px;display:block}.signup-progress__list{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.signup-progress__item{text-align:center;flex-direction:column;flex:none;align-items:center;gap:.55rem;display:flex}.signup-progress__dot{background:var(--white);border:2px solid var(--grey-1);width:44px;height:44px;color:var(--grey-2);font-family:var(--font);cursor:default;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex;position:relative}.signup-progress__dot:focus-visible{outline:2px solid var(--green);outline-offset:3px}.signup-progress__num,.signup-progress__check{transition:opacity .18s var(--ease), transform .18s var(--ease);position:absolute}.signup-progress__check{opacity:0;transform:scale(.5)}.signup-progress__label{color:var(--grey-3);letter-spacing:.01em;transition:color var(--dur) var(--ease);font-size:.78rem;font-weight:600}@media (width<=420px){.signup-progress__label{font-size:.7rem}}.signup-progress__item.is-active .signup-progress__dot{background:var(--green);border-color:var(--green);color:var(--white);animation:signup-dot-pop .42s var(--ease);box-shadow:0 0 0 5px #006d3b1f}.signup-progress__item.is-active .signup-progress__label{color:var(--green)}.signup-progress__item.is-done .signup-progress__dot{background:var(--green-light);border-color:var(--green);color:var(--green);cursor:pointer}.signup-progress__item.is-done .signup-progress__dot:hover{background:var(--white)}.signup-progress__item.is-done .signup-progress__num{opacity:0;transform:scale(.5)}.signup-progress__item.is-done .signup-progress__check{opacity:1;transform:scale(1)}.signup-progress__item.is-done .signup-progress__label{color:var(--charcoal)}.signup-progress__status{color:var(--text-muted);text-align:center;margin-top:1.1rem;font-size:.78rem}.signup-step{border:none;margin:0;padding:0;display:none}.signup-step.is-active{display:block}.signup-step.is-leaving{pointer-events:none;width:100%;display:block;position:absolute;top:0;left:0}.signup-step__legend{width:100%;margin-bottom:1.75rem;padding:0;display:block}.signup-step__kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.signup-step__title{font-family:var(--font-serif);color:var(--charcoal);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:300;line-height:1.25;display:block}.signup-step__hint{color:var(--text-muted);margin-top:.35rem;font-size:.85rem;display:block}.signup-grid{grid-template-columns:1fr 1fr;gap:1.15rem 1.25rem;display:grid}@media (width<=620px){.signup-grid{grid-template-columns:1fr}}.signup-field{flex-direction:column;min-width:0;display:flex}.signup-field--full{grid-column:1/-1}.signup-field__label{color:var(--charcoal);margin-bottom:.45rem;font-size:.82rem;font-weight:600}.signup-field__input{width:100%;font-family:var(--font);color:var(--text);background:var(--white);border:1.5px solid var(--grey-1);border-radius:var(--r);transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);padding:.75rem .9rem;font-size:.95rem}.signup-field__input::placeholder{color:var(--grey-2)}.signup-field__input:hover{border-color:var(--grey-2)}.signup-field__input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #006d3b1f}.signup-field__select{position:relative}.signup-field__select select{appearance:none;cursor:pointer;padding-right:2.4rem}.signup-field__caret{color:var(--grey-3);pointer-events:none;position:absolute;top:50%;right:.95rem;transform:translateY(-50%)}.signup-field__help{color:var(--text-muted);order:3;margin-top:.4rem;font-size:.76rem;line-height:1.5}.signup-field__error{color:#c0392b;opacity:0;max-height:0;transition:max-height .2s var(--ease), opacity .2s var(--ease), margin-top .2s var(--ease);order:4;font-size:.76rem;font-weight:500;line-height:1.45;overflow:hidden}.signup-field.has-error .signup-field__input{background:#fdf6f5;border-color:#c0392b}.signup-field.has-error .signup-field__input:focus{box-shadow:0 0 0 3px #c0392b1f}.signup-field.has-error .signup-field__error{opacity:1;max-height:4rem;animation:signup-shake .38s var(--ease);margin-top:.4rem}.signup-field.has-error .signup-field__help{display:none}.signup-field.has-error .signup-choice__box,.signup-field.has-error .signup-cards__box,.signup-field.has-error .signup-consent__box{border-color:#c0392b}.signup-choice{gap:.65rem;display:flex}.signup-choice__item{cursor:pointer;flex:1 1 0}.signup-choice__item input{opacity:0;width:0;height:0;position:absolute}.signup-choice__box{color:var(--text-muted);background:var(--white);border:1.5px solid var(--grey-1);border-radius:var(--r);transition:all .18s var(--ease);justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.9rem;font-weight:500;display:flex}.signup-choice__item:hover .signup-choice__box{border-color:var(--grey-2)}input:checked+.signup-choice__box{background:var(--green-light);border-color:var(--green);color:var(--green);font-weight:600}input:focus-visible+.signup-choice__box{outline:2px solid var(--green);outline-offset:2px}.signup-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-top:.55rem;display:grid}.signup-cards__item{cursor:pointer}.signup-cards__item input{opacity:0;width:0;height:0;position:absolute}.signup-cards__box{height:100%;color:var(--text-muted);background:var(--white);border:1.5px solid var(--grey-1);border-radius:var(--r);transition:all .18s var(--ease);align-items:center;gap:.6rem;padding:.75rem .85rem;font-size:.875rem;display:flex}.signup-cards__mark{border:1.5px solid var(--grey-2);width:16px;height:16px;transition:all .18s var(--ease);border-radius:50%;flex-shrink:0;position:relative}.signup-cards__mark:after{content:"";background:var(--green);transition:transform .18s var(--ease);border-radius:50%;position:absolute;inset:3px;transform:scale(0)}.signup-cards__item:hover .signup-cards__box{border-color:var(--grey-2)}input:checked+.signup-cards__box{background:var(--green-light);border-color:var(--green);color:var(--green);font-weight:600}input:checked+.signup-cards__box .signup-cards__mark{border-color:var(--green)}input:checked+.signup-cards__box .signup-cards__mark:after{transform:scale(1)}input:focus-visible+.signup-cards__box{outline:2px solid var(--green);outline-offset:2px}.signup-consent{cursor:pointer;background:var(--bg);border-radius:var(--r);align-items:flex-start;gap:.7rem;padding:.9rem 1rem;display:flex}.signup-consent input{opacity:0;width:0;height:0;position:absolute}.signup-consent__box{border:1.5px solid var(--grey-2);background:var(--white);width:20px;height:20px;color:var(--white);transition:all .18s var(--ease);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.signup-consent__box svg{opacity:0;transition:all .18s var(--ease);transform:scale(.5)}.signup-consent__text{color:var(--text-muted);font-size:.85rem;line-height:1.55}input:checked+.signup-consent__box{background:var(--green);border-color:var(--green)}input:checked+.signup-consent__box svg{opacity:1;transform:scale(1)}input:focus-visible+.signup-consent__box{outline:2px solid var(--green);outline-offset:2px}.signup-alert{border-radius:var(--r);color:#96281b;animation:signup-alert-in .32s var(--ease) both;background:#fdf2f0;border:1px solid #c0392b40;border-left:3px solid #c0392b;align-items:flex-start;gap:.65rem;margin-bottom:1.5rem;padding:.85rem 1rem;display:flex}.signup-alert[hidden]{display:none}.signup-alert__icon{flex-shrink:0;margin-top:2px}.signup-alert__text{font-size:.85rem;line-height:1.55}.signup-alert--info{background:var(--green-light);border-color:#006d3b40;border-left-color:var(--green);color:var(--green-dark)}.signup-submit{position:relative}.signup-submit__spinner{border:2px solid #ffffff59;border-top-color:var(--white);opacity:0;border-radius:50%;width:16px;height:16px;animation:.72s linear infinite signup-spin;position:absolute}.signup-submit[aria-busy=true]{cursor:wait;pointer-events:none}.signup-submit[aria-busy=true] .signup-submit__label,.signup-submit[aria-busy=true] .signup-submit__icon{opacity:0}.signup-submit[aria-busy=true] .signup-submit__spinner{opacity:1}.signup-submit__label,.signup-submit__icon{transition:opacity .16s var(--ease)}.signup__form.is-busy .signup__viewport,.signup__form.is-busy [data-prev]{opacity:.55;pointer-events:none;transition:opacity .2s var(--ease)}.signup-done{text-align:center;background:var(--white);border:1px solid var(--grey-1);border-radius:var(--r-lg);animation:signup-done-in .52s var(--ease) both;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,4vw,2.75rem);box-shadow:0 2px 24px #0000000d}.signup-done[hidden]{display:none}.signup-done__badge{background:var(--green-light);width:72px;height:72px;color:var(--green);animation:signup-badge-pop .62s var(--ease) .12s both;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;display:inline-flex}.signup-done__title{font-family:var(--font-serif);color:var(--charcoal);margin-bottom:.7rem;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:300}.signup-done__text{color:var(--text-muted);max-width:440px;margin:0 auto 1.75rem;font-size:.92rem;line-height:1.65}@keyframes signup-spin{to{transform:rotate(360deg)}}@keyframes signup-alert-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes signup-done-in{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes signup-badge-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}[data-viewport][data-direction=next] .signup-step.is-entering{animation:signup-in-from-right .42s var(--ease) both}[data-viewport][data-direction=next] .signup-step.is-leaving{animation:signup-out-to-left .24s var(--ease) both}[data-viewport][data-direction=prev] .signup-step.is-entering{animation:signup-in-from-left .42s var(--ease) both}[data-viewport][data-direction=prev] .signup-step.is-leaving{animation:signup-out-to-right .24s var(--ease) both}.signup-step.is-entering .signup-step__legend,.signup-step.is-entering .signup-field{animation:signup-field-in .48s var(--ease) both}.signup-step.is-entering .signup-step__legend{animation-delay:60ms}.signup-step.is-entering .signup-field:first-child{animation-delay:.135s}.signup-step.is-entering .signup-field:nth-child(2){animation-delay:.19s}.signup-step.is-entering .signup-field:nth-child(3){animation-delay:.245s}.signup-step.is-entering .signup-field:nth-child(4){animation-delay:.3s}.signup-step.is-entering .signup-field:nth-child(5){animation-delay:.355s}.signup-step.is-entering .signup-field:nth-child(6){animation-delay:.41s}@keyframes signup-in-from-right{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}@keyframes signup-in-from-left{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:translate(0)}}@keyframes signup-out-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-28px)}}@keyframes signup-out-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(28px)}}@keyframes signup-field-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes signup-dot-pop{0%{transform:scale(1)}45%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes signup-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.signup__viewport,.signup-progress__fill{transition:none}.signup-step.is-entering,.signup-step.is-leaving,.signup-step.is-entering .signup-field,.signup-step.is-entering .signup-step__legend,.signup-progress__item.is-active .signup-progress__dot,.signup-field.has-error .signup-field__error,.signup-alert,.signup-done,.signup-done__badge{animation:none}.signup-submit__spinner{animation-duration:1.2s}}
