@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes floatIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes successPulse{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}.waitlist-page{min-height:100vh;background:var(--bg-dark);padding:4rem 1rem;position:relative;overflow:hidden}.waitlist-page:after,.waitlist-page:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:var(--accent-purple-subtle);filter:blur(80px);z-index:0}.waitlist-page:before{top:-200px;right:-100px}.waitlist-page:after{bottom:-200px;left:-100px;background:rgba(139,92,246,.05)}.waitlist-form-container{background:hsla(0,0%,100%,.03);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:24px;padding:3.5rem;position:relative;z-index:1;animation:floatIn .8s ease-out}@media(max-width:768px){.waitlist-form-container{padding:2rem}}.waitlist-header{text-align:center;margin-bottom:3rem}.waitlist-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradientFlow 8s ease infinite}.waitlist-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.waitlist-description p{margin-bottom:.75rem}.waitlist-description p:last-child{margin-bottom:0}.waitlist-form .form-group{margin-bottom:2rem;position:relative}.waitlist-form .form-group:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--gradient-accent);transition:width .3s ease}.waitlist-form .form-group:focus-within:after{width:100%}.waitlist-form label{display:block;margin-bottom:.75rem;color:var(--text-secondary);font-weight:500;font-size:.95rem;letter-spacing:.5px}.waitlist-form label .required{color:#ff4365;margin-left:.25rem}.waitlist-form input{width:100%;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:1rem;color:var(--text-primary);transition:all .3s ease}.waitlist-form input:focus{outline:none;border-color:rgba(139,92,246,.5);box-shadow:0 0 0 4px var(--accent-purple-subtle)}.waitlist-form input::placeholder{color:var(--text-muted)}.waitlist-form input:disabled{opacity:.7;cursor:not-allowed}.submit-button{width:100%;padding:1.25rem;border:none;cursor:pointer;position:relative;overflow:hidden}.submit-button:hover:before{left:100%}.error-message{background:rgba(255,67,101,.1);color:#ff4365;padding:1rem 1.25rem;border-radius:12px;margin-bottom:2rem;font-size:.95rem;border:1px solid rgba(255,67,101,.2);display:flex;align-items:center;gap:.5rem}.error-message:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ff4365;border-radius:50%;color:#fff;font-weight:700;font-size:.875rem}.success-message{text-align:center;animation:floatIn .5s ease-out}.success-message .success-icon{width:64px;height:64px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:#fff;animation:successPulse .5s ease-out}.success-message h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:1rem}.success-message p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.form-footer{margin-top:2rem;text-align:center;color:var(--text-secondary);font-size:.85rem;opacity:.8}.book-page{min-height:100vh;padding:4rem 1rem;position:relative;overflow:hidden}@media(max-width:768px){.book-page{padding:2rem 1rem}}.booking-form-container{border-radius:24px;padding:3rem;position:relative;animation:fadeIn .8s ease-out}@media(max-width:768px){.booking-form-container{padding:2rem}}.booking-title{margin-bottom:1rem;text-align:center}@media(max-width:768px){.booking-title{font-size:2rem}}.booking-description{text-align:center;color:var(--text-secondary);margin-bottom:3rem;font-size:1.1rem;line-height:1.6}.booking-form .form-group{margin-bottom:2rem;position:relative}.booking-form .form-group:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--gradient-accent);transition:width .3s ease}.booking-form .form-group:focus-within:after{width:100%}.booking-form label{display:block;margin-bottom:.75rem;color:var(--text-secondary);font-weight:500;font-size:.95rem;letter-spacing:.5px}.booking-form label .required{color:#ff4365;margin-left:.25rem}.booking-form input{width:100%;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;font-size:1rem;color:var(--text-primary);transition:all .3s ease}.booking-form input:focus{outline:none;border-color:rgba(139,92,246,.5);box-shadow:0 0 0 4px var(--accent-purple-subtle)}.booking-form input::placeholder{color:var(--text-muted)}