@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--color-background:#000;--color-surface:#0a0a0a;--color-surface-light:#151515;--color-text:#fff;--color-text-muted:#888;--color-gold:#c5a059;--color-gold-light:#dfbc77;--color-gold-dark:#917135;--color-border:#ffffff14;--color-overlay:#000000d9;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Playfair Display", serif;--shadow-sm:0 4px 20px #0000004d;--shadow-md:0 8px 30px #0006;--shadow-lg:0 15px 40px #00000080;--shadow-gold:0 0 20px #c5a05926;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.4s cubic-bezier(.4, 0, .2, 1);--transition-slow:.8s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-text);margin-bottom:1rem;font-weight:400;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}a{color:inherit;transition:var(--transition-normal);text-decoration:none}button{cursor:pointer;font-family:var(--font-primary);background:0 0;border:none}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 2rem}.glass-panel{-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);background:#14141466;border-radius:16px}.btn-primary{background-color:var(--color-gold);color:#000;border:1px solid var(--color-gold);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all var(--transition-normal);border-radius:2px;padding:.75rem 2rem;font-size:.9rem;font-weight:500}.btn-primary:hover{color:var(--color-gold);background-color:#0000;transform:translateY(-2px)scale(1.02);box-shadow:0 0 25px #c5a05966}.btn-secondary{color:#fff;border:1px solid var(--color-border);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all var(--transition-normal);background-color:#0000;border-radius:2px;padding:.75rem 2rem;font-size:.9rem;font-weight:500}.btn-secondary:hover{background-color:#ffffff0d;border-color:#fff;transform:translateY(-2px)scale(1.02)}.text-gold{color:var(--accent-gold)}.text-gradient{background:linear-gradient(135deg,#fff 0%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.fade-in{animation:.8s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{display:none}@media (width<=768px){.bottom-nav{z-index:150;-webkit-backdrop-filter:blur(20px);padding:.5rem 0 max(.5rem, env(safe-area-inset-bottom));background:#0a0a0af2;border-top:1px solid #ffffff14;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:#fff6;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.3rem 0;text-decoration:none;transition:color .15s;display:flex}.bottom-nav-item.active{color:var(--color-gold)}.bottom-nav-label{letter-spacing:.02em;font-size:.62rem;font-family:var(--font-primary)}main{padding-bottom:70px!important}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-shimmer{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff17 50%,#ffffff0a 100%) 0 0/800px 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:9999;opacity:0;visibility:hidden;background-color:#000000bf;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{opacity:0;background:#141414d9;border:1px solid #d4af374d;border-radius:12px;width:90%;max-width:500px;padding:2.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;transform:translateY(20px);box-shadow:0 25px 50px -12px #00000080}.modal-overlay.open .modal-content{opacity:1;transform:translateY(0)}.modal-close{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:0;transition:color .3s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--color-gold)}.modal-header{text-align:center;margin-bottom:2rem}.modal-header h2{color:var(--color-gold);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.8rem}.modal-header p{color:#ffffffb3;font-size:.95rem}.concierge-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{text-transform:uppercase;letter-spacing:1px;color:#fffc;font-size:.85rem}.form-input,.form-textarea{color:var(--color-text);background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:.8rem 1rem;font-size:1rem;transition:all .3s}.form-input:focus,.form-textarea:focus{border-color:var(--color-gold);background:#00000080;outline:none}.form-textarea{resize:vertical;min-height:100px}.modal-submit{background-color:var(--color-gold);color:var(--color-background);text-transform:uppercase;letter-spacing:2px;cursor:pointer;border:none;border-radius:4px;margin-top:1rem;padding:1rem;font-weight:600;transition:all .3s}.modal-submit:hover{background-color:#f3cf4a;transform:translateY(-2px);box-shadow:0 5px 15px #d4af374d}.success-message{text-align:center;padding:2rem 0}.success-message h3{color:var(--color-gold);margin:1rem 0}.navbar{z-index:100;width:100%;transition:all var(--transition-normal);padding:1.5rem 0;padding-top:calc(1.5rem + env(safe-area-inset-top));background:linear-gradient(#000c 0%,#0000 100%);position:fixed;top:0;left:0}.navbar.scrolled{padding:1rem 0;padding-top:calc(1rem + env(safe-area-inset-top));-webkit-backdrop-filter:blur(20px);background:#0a0a0ad9;border-bottom:1px solid #ffffff0d;box-shadow:0 10px 30px #00000080}.navbar-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 2rem;display:flex}.navbar-logo{font-family:var(--font-serif);letter-spacing:4px;color:#fff;z-index:101;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;text-decoration:none;display:flex}.navbar-links{gap:3rem;display:flex}.nav-link{color:#fff9;text-transform:uppercase;letter-spacing:2px;transition:all var(--transition-normal);font-size:.85rem;font-weight:500;text-decoration:none;position:relative}.nav-link:hover,.nav-link.active{color:#fff}.nav-link:after{content:"";background-color:var(--color-gold);width:0;height:1px;transition:width var(--transition-normal);position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.nav-link:hover:after,.nav-link.active:after{width:100%}.navbar-actions{align-items:center;gap:1.5rem;display:flex}.profile-btn{color:var(--color-gold);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.profile-btn:hover{color:#fff;transform:translateY(-1px)}.mobile-menu-btn{color:#fff;cursor:pointer;z-index:101;background:0 0;border:none;display:none}.mobile-menu{display:none}@media (width<=768px){.desktop-only{display:none}.mobile-menu-btn{display:block}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;height:100vh;padding-top:calc(6rem + env(safe-area-inset-top));opacity:0;pointer-events:none;transition:all var(--transition-normal);z-index:100;background:#0a0a0afa;flex-direction:column;justify-content:flex-start;align-items:center;gap:1.5rem;padding-bottom:4rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu .nav-link{font-size:1.25rem}}.footer{background-color:var(--bg-primary);border-top:1px solid var(--glass-border);margin-top:auto;padding-top:4rem}.footer-content{grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:4rem;display:grid}.footer-brand{max-width:300px}.social-links{gap:1rem;margin-top:1.5rem;display:flex}.social-link{background:var(--glass-bg);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link:hover{background:var(--accent-gold);color:var(--bg-primary);border-color:var(--accent-gold)}.footer-links{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.link-column{flex-direction:column;gap:1rem;display:flex}.link-column h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem}.link-column a{color:var(--text-secondary);font-size:.95rem}.link-column a:hover{color:var(--accent-gold)}.footer-bottom{border-top:1px solid var(--glass-border);text-align:center;color:var(--text-secondary);padding:1.5rem 0;font-size:.875rem}@media (width<=768px){.footer-content{grid-template-columns:1fr;gap:3rem}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.footer-links{grid-template-columns:1fr}}.invitation-page{background-color:#000;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.invitation-video-bg{object-fit:cover;z-index:1;opacity:.6;filter:contrast(1.2)grayscale(.2);width:100vw;height:100vh;position:absolute;top:0;left:0}.invitation-overlay{z-index:2;pointer-events:none;background:linear-gradient(#0000004d 0%,#000c 100%);width:100%;height:100%;position:absolute;top:0;left:0}.invitation-content{z-index:10;text-align:center;flex-direction:column;justify-content:space-between;width:100%;max-width:400px;height:85vh;padding:2rem;display:flex;position:relative}.invitation-header{margin-top:10vh}.invitation-logo{color:#fff;letter-spacing:6px;margin:0;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400}.invitation-body{flex-direction:column;justify-content:flex-end;min-height:200px;margin-bottom:5vh;display:flex}.invitation-view{width:100%}.main-actions{flex-direction:column;gap:1.5rem;display:flex}.invitation-text-btn{color:#fff;text-transform:uppercase;letter-spacing:4px;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1rem;transition:opacity .3s}.invitation-text-btn:hover{opacity:.7}.invitation-form{flex-direction:column;align-items:center;display:flex}.apply-form{gap:1rem}.input-group{width:100%;margin-bottom:2rem;position:relative}.invitation-input{color:#fff;text-align:center;letter-spacing:4px;background:0 0;border:none;border-bottom:1px solid #ffffff4d;width:100%;padding:1rem 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.2rem;transition:border-color .4s}.invitation-input.small-input{letter-spacing:2px;padding:.8rem 0;font-size:.9rem}.invitation-input::placeholder{color:#fff6;letter-spacing:2px;text-transform:uppercase;font-size:.8rem}.invitation-input:focus{border-bottom:1px solid #fff;outline:none}.invitation-input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 30px #0000!important}.invitation-input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 30px #0000!important}.invitation-input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 30px #0000!important}.invitation-input:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 30px #0000!important}.invitation-submit-btn{color:#fff;text-transform:uppercase;letter-spacing:3px;cursor:pointer;background:0 0;border:none;margin:0 auto;padding:1rem;font-size:.85rem;display:block}.invitation-back-btn{color:#ffffff80;text-transform:uppercase;letter-spacing:2px;cursor:pointer;background:0 0;border:none;margin:0 auto;padding:.5rem;font-size:.7rem;display:block}.invitation-back-btn:hover{color:#fff}.invitation-error{color:#fff;text-transform:uppercase;letter-spacing:2px;opacity:.7;min-height:20px;margin-top:1rem;font-size:.8rem}.pending-title{color:var(--color-gold);letter-spacing:1px;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.5rem}.pending-text{color:#ffffffb3;max-width:300px;margin:0 auto;font-size:.95rem;line-height:1.6}.fade-in-slow{animation:3s forwards slowFadeIn}.fade-in-fast{animation:.8s forwards slowFadeIn}.shake{animation:.4s ease-in-out subtleShake}@keyframes slowFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes subtleShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-3px)}}.onboarding-page{color:#fff;min-height:100vh;font-family:var(--font-sans);background:radial-gradient(circle at 50% 0,#1a1a1a 0%,#000 100%);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.onboarding-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141414b3;border:1px solid #ffffff0d;border-radius:16px;width:100%;max-width:500px;padding:3rem;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.onboarding-progress{justify-content:center;gap:.5rem;margin-bottom:3rem;display:flex}.progress-dot{background:#fff3;border-radius:50%;width:8px;height:8px;transition:all .3s}.progress-dot.active{background:var(--color-gold);transform:scale(1.2);box-shadow:0 0 10px #d4af3780}.onboarding-header{text-align:center;margin-bottom:2.5rem}.onboarding-title{font-family:var(--font-serif);color:var(--color-gold);margin-bottom:.5rem;font-size:2rem}.onboarding-subtitle{color:#fff9;font-size:.9rem}.onboarding-step{flex-direction:column;gap:2rem;display:flex}.avatar-upload-container{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.avatar-preview-box{cursor:pointer;background:#d4af370d;border:2px dashed #d4af3780;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;transition:all .3s;display:flex;position:relative;overflow:hidden}.avatar-preview-box:hover{border-color:var(--color-gold);background:#d4af371a}.avatar-preview-image{object-fit:cover;width:100%;height:100%}.onboarding-actions{gap:1rem;margin-top:1rem;display:flex}.onboarding-actions button{flex:1}.city-selection-page{color:#fff;min-height:100vh;font-family:var(--font-sans);background:radial-gradient(circle at 50% 0,#1a1a1a 0%,#000 100%);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;overflow:hidden}.city-selection-header{text-align:center;z-index:10;margin-bottom:4rem}.city-selection-title{font-family:var(--font-serif);color:var(--color-gold);letter-spacing:2px;margin-bottom:.5rem;font-size:2.5rem}.city-selection-subtitle{color:#fff9;text-transform:uppercase;letter-spacing:3px;font-size:1rem}.wheel-container{perspective:1000px;touch-action:none;justify-content:center;align-items:center;width:100%;max-width:400px;height:300px;display:flex;position:relative}.wheel-highlight{pointer-events:none;z-index:0;background:#d4af371a;border-top:1px solid #d4af374d;border-bottom:1px solid #d4af374d;border-radius:8px;width:100%;height:60px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.wheel{width:100%;height:100%;transform-style:preserve-3d;transition:transform .1s;position:relative}.wheel.is-snapping{transition:transform .8s cubic-bezier(.1,1,.2,1)}.wheel-item{width:100%;height:60px;font-family:var(--font-serif);color:#ffffff4d;backface-visibility:hidden;pointer-events:none;justify-content:center;align-items:center;margin-top:-30px;font-size:2.5rem;transition:color .3s,opacity .3s;display:flex;position:absolute;top:50%;left:0}.wheel-item.active{color:#fff;text-shadow:0 0 20px #d4af3780}.city-selection-actions{z-index:10;margin-top:4rem}.btn-enter-city{background:linear-gradient(135deg, var(--color-gold) 0%, #b8860b 100%);color:#000;font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:30px;align-items:center;gap:.5rem;padding:1rem 4rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 10px 20px -10px #d4af3780}.btn-enter-city:hover{transform:translateY(-2px);box-shadow:0 15px 25px -10px #d4af37b3}.btn-enter-city:active{transform:translateY(0)}
