.signup{justify-content:center;align-items:center;min-height:100vh;padding:80px 20px 40px;display:flex;position:relative}.signup__container{width:100%;max-width:520px;margin:0 auto;position:relative;overflow:hidden}.signup__step{opacity:0;transition:opacity .3s;display:none}.signup__step.is-active{opacity:1;display:block}.signup__step.is-exiting{opacity:0;pointer-events:none;width:100%;transition:opacity .2s;display:block;position:absolute;top:0;left:0}.signup__step-inner{flex-direction:column;display:flex}.signup__progress{background:var(--gray-200);border-radius:var(--radius-full);height:3px;margin-bottom:32px;overflow:hidden}.signup__progress:after{content:"";height:100%;width:calc(var(--progress) / 7 * 100%);background:var(--color-title-accent);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out);display:block}.signup__title{font-family:var(--font-heading);letter-spacing:var(--ls-heading);color:var(--color-black);margin:0 0 12px;font-size:26px;font-weight:500;line-height:1.15}.signup__subtitle{font-family:var(--font-body);color:var(--color-description);margin:0 0 32px;font-size:14px;line-height:1.5}.signup__field{margin-bottom:24px;position:relative}.signup__label{font-family:var(--font-body);color:var(--color-black);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.signup__input,.signup__select,.signup__textarea{width:100%;font-family:var(--font-body);color:var(--color-black);border:none;border-bottom:1px solid var(--gray-300);transition:border-color var(--duration-fast) var(--ease-out);appearance:none;background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:15px}.signup__input::placeholder,.signup__textarea::placeholder{color:var(--gray-400)}.signup__input:focus,.signup__select:focus,.signup__textarea:focus{border-bottom-color:var(--color-black)}.signup__input[aria-invalid=true],.signup__select[aria-invalid=true],.signup__textarea[aria-invalid=true]{border-bottom-color:var(--color-primary)}.signup__select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23828282' d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E");background-position:right 0 center;background-repeat:no-repeat;padding-right:20px}.signup__textarea{resize:vertical;border:1px solid var(--gray-300);border-radius:var(--radius-lg);min-height:80px;padding:12px}.signup__textarea:focus{border-color:var(--color-black)}.signup__char-count{text-align:right;font-family:var(--font-body);color:var(--gray-400);margin-top:4px;font-size:12px;display:block}.signup__field-error{font-family:var(--font-body);color:var(--color-primary);margin-top:6px;font-size:12px;display:block}.signup__btn-spinner{border:2px solid color-mix(in srgb, var(--color-white) 30%, transparent);border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite signup-spin;display:inline-block}.signup__btn-secondary .signup__btn-spinner,.signup__btn-text .signup__btn-spinner{border-color:color-mix(in srgb, var(--color-black) 15%, transparent);border-top-color:var(--color-black)}.signup__step-error{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-radius:var(--radius-lg);margin-bottom:20px;padding:12px 16px;font-size:13px}.signup__phone-row{align-items:flex-start;gap:12px;display:flex}.signup__phone-code{flex:0 0 80px}.signup__phone-number{flex:1}.signup__checkbox{align-items:flex-start;gap:10px;margin-bottom:24px;display:flex}.signup__checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-title-accent);cursor:pointer;flex-shrink:0;margin-top:2px}.signup__checkbox-label{font-family:var(--font-body);color:var(--color-description);font-size:13px;line-height:1.5}.signup__checkbox-label a{color:var(--color-black);text-underline-offset:2px;text-decoration:underline}.signup__checkbox-label a:hover{color:var(--color-primary)}.signup__actions{flex-direction:column;gap:12px;margin-top:8px;display:flex}.signup__btn-primary{width:100%;font-family:var(--font-body);color:var(--color-white);background:var(--color-black);border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);text-align:center;border:none;justify-content:center;align-items:center;padding:14px 24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.signup__btn-primary:hover{background:var(--gray-600)}.signup__btn-primary:disabled{opacity:.5;cursor:not-allowed}.signup__btn-secondary{width:100%;font-family:var(--font-body);color:var(--color-black);border:1px solid var(--gray-300);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);text-align:center;background:0 0;justify-content:center;align-items:center;padding:14px 24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.signup__btn-secondary:hover{border-color:var(--color-black)}.signup__btn-text{font-family:var(--font-body);color:var(--gray-500);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:10px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.signup__btn-text:hover{color:var(--color-black)}.signup__actions-row{gap:12px;display:flex}.signup__actions-row .signup__btn-secondary{flex:none;width:auto;padding:14px 20px}.signup__actions-row .signup__btn-primary{flex:1}.signup__pricing-card{background:var(--gray-100);border-radius:var(--radius-xl);margin-bottom:24px;padding:24px}.signup__pricing-today{font-family:var(--font-body);color:var(--color-description);margin:0 0 4px;font-size:13px}.signup__pricing-amount{font-family:var(--font-heading);color:var(--color-black);margin:0 0 4px;font-size:40px;font-weight:500;line-height:1}.signup__pricing-then{font-family:var(--font-body);color:var(--gray-400);margin:0;font-size:13px}.signup__benefits-list{margin:0 0 24px;padding:0;list-style:none}.signup__benefits-list li{font-family:var(--font-body);color:var(--color-black);align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;line-height:1.5;display:flex}.signup__benefits-list li:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4 9l3.5 3.5L14 5' stroke='%23354e41' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:18px;height:18px;margin-top:2px;display:block}.signup__expandable{margin-top:8px;margin-bottom:24px}.signup__expandable-trigger{font-family:var(--font-body);color:var(--gray-500);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:inline-flex}.signup__expandable-trigger:hover{color:var(--color-black)}.signup__expandable-trigger:after{content:"";width:10px;height:10px;transition:transform var(--duration-fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%236e6e6e' d='M5 7.5L0 2.5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;display:block}.signup__expandable.is-open .signup__expandable-trigger:after{transform:rotate(180deg)}.signup__expandable-content{font-family:var(--font-body);color:var(--color-description);padding-top:8px;font-size:13px;line-height:1.6;display:none}.signup__expandable.is-open .signup__expandable-content{display:block}.signup__confirm-card{background:var(--gray-100);border-radius:var(--radius-xl);text-align:center;margin-bottom:24px;padding:32px 24px}.signup__confirm-icon{margin-bottom:12px;font-size:40px;line-height:1}.signup__checkout-wrapper{border:1px solid var(--gray-200);border-radius:var(--radius-xl);margin:24px 0 16px;overflow:hidden}.signup__checkout-container{background-color:var(--gray-100);min-height:400px;position:relative}.signup__checkout-loading{font-family:var(--font-body);color:var(--gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 24px;font-size:14px;display:flex}.signup__checkout-loading.is-hidden{display:none}.signup__checkout-spinner{border:2px solid var(--gray-200);border-top-color:var(--color-black);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite signup-spin}@keyframes signup-spin{to{transform:rotate(360deg)}}#stripe-checkout{min-height:0}@media (min-width:768px){.signup{padding-top:80px;padding-bottom:40px}.signup__title{font-size:32px}.signup__subtitle{font-size:15px}.signup__actions{flex-direction:row;justify-content:flex-end}.signup__btn-primary,.signup__btn-secondary{width:auto}.signup__actions--stack{flex-direction:column}.signup__actions--stack .signup__btn-primary,.signup__actions--stack .signup__btn-secondary{width:100%}}@media (min-width:1200px){.signup__title{font-size:38px}}@media (prefers-reduced-motion:reduce){.signup__step,.signup__progress:after{transition:none}}.signup-calendar{margin:24px 0}.signup-calendar__days{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.signup-calendar__day{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background-color:var(--color-white);cursor:pointer;height:48px;font-family:var(--font-body);color:var(--color-black);flex-direction:column;justify-content:center;align-items:center;padding:0 4px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:flex;position:relative}.signup-calendar__day:hover{border-color:var(--color-black)}.signup-calendar__day:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.signup-calendar__day.is-selected{background-color:var(--color-black);border-color:var(--color-black);color:var(--color-white)}.signup-calendar__day.is-active{border-color:var(--color-black);border-width:2px}.signup-calendar__day-label{line-height:1.2}@media (max-width:480px){.signup-calendar__day{height:44px;font-size:11px}}.signup-calendar__times{border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);opacity:0;max-height:0;margin-bottom:16px;padding-top:0;padding-bottom:0;transition:max-height .4s,opacity .3s,padding .3s;overflow:hidden}.signup-calendar__times.is-open{opacity:1;max-height:300px;padding-top:16px;padding-bottom:16px}.signup-calendar__prompt{color:var(--color-black);margin:0 0 12px;font-size:14px}.signup-calendar__slots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (max-width:480px){.signup-calendar__slots{grid-template-columns:repeat(3,1fr)}}.signup-calendar__time{border:1px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--color-white);cursor:pointer;height:40px;font-family:var(--font-body);color:var(--color-black);justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:400;transition:background-color .2s,border-color .2s,color .2s;display:flex;position:relative}.signup-calendar__time:hover{border-color:var(--color-black)}.signup-calendar__time:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.signup-calendar__time.is-selected{background-color:var(--color-black);border-color:var(--color-black);color:var(--color-white)}.signup-calendar__selected{margin-top:8px}.signup-calendar__selected-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.signup-calendar__selected-title{text-transform:uppercase;letter-spacing:.02em;color:var(--gray-400);margin:0;font-size:12px;font-weight:500}.signup-calendar__slot-count{color:var(--gray-400);font-size:12px}.signup-calendar__clear{font-family:var(--font-body);color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline;transition:color .2s}.signup-calendar__clear:hover{color:var(--color-black)}.signup-calendar__clear:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.signup-calendar__selected-list{flex-wrap:wrap;gap:8px;display:flex}.signup-calendar__slot-pill{border-radius:var(--radius-full);background-color:var(--gray-100);color:var(--color-black);align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:13px;display:inline-flex}.signup-calendar__slot-pill-day{font-weight:500}.signup-calendar__slot-pill-remove{background-color:var(--gray-300);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:background-color .2s;display:flex}.signup-calendar__slot-pill-remove:hover{background-color:var(--gray-400)}.signup-calendar__slot-pill-remove:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.signup-calendar__slot-pill-remove:after{content:"";background-color:var(--color-white);width:8px;height:1px}.signup-calendar__error{color:var(--color-title-accent);margin-top:8px;font-size:12px;line-height:1.4;display:block}
