:root,[data-palette=club],[data-palette=club-skyline]{--c-bg:#060810;--c-bg2:#0a0d18;--c-bg3:#0f1220;--c-primary:#c9a96e;--c-primary-rgb:201, 169, 110;--c-secondary:#4f6fbf;--c-secondary-rgb:79, 111, 191;--c-accent:#7b97d4;--c-text:#ffffffe6;--c-text-md:#ffffff73;--c-border:#c9a96e1f;--c-border-blue:#4f6fbf26}[data-palette=club-roja]{--c-bg:#0c0608;--c-bg2:#150a0c;--c-bg3:#1c0e10;--c-primary:silver;--c-primary-rgb:192, 192, 192;--c-secondary:#8b1a2c;--c-secondary-rgb:139, 26, 44;--c-accent:#d4829a;--c-text:#ffffffe6;--c-text-md:#ffffff73;--c-border:#c0c0c01f;--c-border-blue:#8b1a2c33}[data-palette=club-smoke]{--c-bg:#080808;--c-bg2:#0e0e0e;--c-bg3:#141414;--c-primary:#22d3ee;--c-primary-rgb:34, 211, 238;--c-secondary:#6b7280;--c-secondary-rgb:107, 114, 128;--c-accent:#a5f3fc;--c-text:#ffffffe6;--c-text-md:#fff6;--c-border:#22d3ee1a;--c-border-blue:#22d3ee14}button.music-control-btn{background:var(--c-bg3)!important;border:1px solid rgba(var(--c-primary-rgb), .35)!important;box-shadow:0 4px 20px rgba(var(--c-primary-rgb), .15)!important}button.music-control-btn i{color:var(--c-primary)!important}button.music-control-btn:hover{box-shadow:0 8px 30px rgba(var(--c-primary-rgb), .3)!important}button.music-control-btn.playing:after{border-color:rgba(var(--c-primary-rgb), .35)!important}.navbar-demo{backdrop-filter:blur(20px);z-index:1000;border-bottom:1px solid var(--c-border);background:#060810e0;padding:1rem 0;transition:transform .4s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.navbar-demo.visible{transform:translateY(0)}.nav-demo-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-demo-left{align-items:center;gap:1.2rem;display:flex}.back-link{color:var(--c-text-md);letter-spacing:.5px;align-items:center;gap:6px;padding:.5rem 1rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:300;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{color:var(--c-primary)}.back-link svg{width:14px;height:14px}.demo-badge{color:var(--c-primary);letter-spacing:4px;text-transform:uppercase;border:1px solid rgba(var(--c-primary-rgb), .25);padding:.3rem .9rem;font-family:DM Sans,sans-serif;font-size:.6rem;font-weight:500}.nav-cta-demo{color:var(--c-primary);border:1px solid rgba(var(--c-primary-rgb), .5);letter-spacing:1px;background:0 0;align-items:center;gap:7px;padding:.65rem 1.8rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:400;text-decoration:none;transition:all .3s;display:inline-flex}.nav-cta-demo:hover{background:rgba(var(--c-primary-rgb), .08);border-color:var(--c-primary);box-shadow:0 0 20px rgba(var(--c-primary-rgb), .15)}.nav-cta-demo svg{width:14px;height:14px}@media (width<=600px){.back-link span,.demo-badge{display:none}.back-link{padding:.5rem}.nav-cta-demo span{display:none}.nav-cta-demo{padding:.65rem 1rem}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--c-bg);color:var(--c-text);font-family:DM Sans,sans-serif;overflow-x:hidden}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{filter:saturate(.3)brightness(.35);z-index:0;background-image:url(https://res.cloudinary.com/dtqj6adlq/image/upload/v1773422888/club-men-6_ucfh0i.jpg);background-position:50%;background-size:cover;transition:filter .5s;position:absolute;inset:0}.hero-overlay{z-index:1;background:radial-gradient(ellipse at 50% 0%, rgba(var(--c-secondary-rgb),.12) 0%, transparent 60%), linear-gradient(to bottom, #06081033 0%, #06081080 60%, var(--c-bg) 100%);position:absolute;inset:0}#cityCanvas{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.horizon-line{background:linear-gradient(to right, transparent, rgba(var(--c-primary-rgb),.2), transparent);z-index:2;height:1px;position:absolute;top:55%;left:0;right:0}.hero-content{z-index:3;opacity:0;max-width:800px;padding:2rem;animation:1.2s cubic-bezier(.16,1,.3,1) .5s forwards heroIn;position:relative}@keyframes heroIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-location{letter-spacing:6px;text-transform:uppercase;color:var(--c-primary);border:1px solid rgba(var(--c-primary-rgb), .2);background:rgba(var(--c-primary-rgb), .04);align-items:center;gap:.6rem;margin-bottom:2.5rem;padding:.5rem 1.4rem;font-family:DM Sans,sans-serif;font-size:.6rem;font-weight:400;display:inline-flex}.hero-location svg{width:10px;height:10px}.hero-name{color:#fff;letter-spacing:-2px;margin-bottom:1rem;font-family:DM Serif Display,serif;font-size:clamp(5rem,14vw,11rem);font-weight:400;line-height:.9;display:block}.hero-age{letter-spacing:10px;text-transform:uppercase;color:var(--c-text-md);margin-bottom:3rem;font-family:DM Sans,sans-serif;font-size:clamp(.75rem,2vw,.95rem);font-weight:300;display:block}.hero-age span{color:var(--c-primary);font-weight:400}.hero-divider{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2.5rem;display:flex}.hd-line{background:linear-gradient(to right, transparent, rgba(var(--c-primary-rgb),.4));flex:1;max-width:80px;height:1px}.hd-line.r{background:linear-gradient(to left, transparent, rgba(var(--c-primary-rgb),.4))}.hd-dot{background:var(--c-primary);width:4px;height:4px;box-shadow:0 0 8px rgba(var(--c-primary-rgb),.6);border-radius:50%}.hero-date{color:#ffffffb3;letter-spacing:1px;font-family:DM Serif Display,serif;font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;display:block}.scroll-down{z-index:3;cursor:pointer;opacity:0;flex-direction:column;align-items:center;gap:.5rem;animation:1s 1.8s forwards fadeIn;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}@keyframes fadeIn{to{opacity:1}}.scroll-down span{letter-spacing:4px;text-transform:uppercase;color:var(--c-text-md);font-family:DM Sans,sans-serif;font-size:.55rem}.scroll-down-line{background:linear-gradient(to bottom, var(--c-primary), transparent);width:1px;height:35px;animation:2s ease-in-out infinite lineDown}@keyframes lineDown{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.7)}}section:not(.hero){padding:90px 20px}.container{max-width:1040px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-label{letter-spacing:6px;text-transform:uppercase;color:var(--c-primary);margin-bottom:.8rem;font-family:DM Sans,sans-serif;font-size:.58rem;font-weight:400;display:block}.section-title{color:#fff;font-family:DM Serif Display,serif;font-size:clamp(2.5rem,5vw,4rem);font-style:italic;font-weight:400;line-height:1;display:block}.gold-rule{justify-content:center;align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.gr-line{background:rgba(var(--c-primary-rgb),.35);flex:1;max-width:50px;height:1px}.gr-diamond{background:var(--c-primary);opacity:.7;width:5px;height:5px;transform:rotate(45deg)}.countdown-section{background:var(--c-bg2);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.countdown{background:var(--c-border);border:1px solid var(--c-border);grid-template-columns:repeat(4,1fr);gap:1px;max-width:700px;margin:0 auto;display:grid}.countdown-item{background:var(--c-bg3);text-align:center;padding:3rem 1rem;transition:background .3s;position:relative;overflow:hidden}.countdown-item:hover{background:rgba(var(--c-primary-rgb),.04)}.countdown-item:before{content:"";background:linear-gradient(to right, transparent, var(--c-primary), transparent);opacity:.4;height:1px;position:absolute;top:0;left:20%;right:20%}.countdown-number{color:var(--c-primary);font-family:DM Serif Display,serif;font-size:4rem;font-style:italic;line-height:1;display:block}.countdown-label{letter-spacing:4px;text-transform:uppercase;color:var(--c-text-md);margin-top:.5rem;font-family:DM Sans,sans-serif;font-size:.55rem;display:block}@media (width<=600px){.countdown{grid-template-columns:repeat(2,1fr)}}.info-section{background:var(--c-bg)}.info-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:860px;margin:0 auto;display:grid}.info-card{background:var(--c-bg3);border:1px solid var(--c-border);text-align:center;padding:3rem 2rem;transition:all .4s;position:relative;overflow:hidden}.info-card:after{content:"";background:linear-gradient(to right, transparent, var(--c-primary), transparent);height:1px;transition:transform .4s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.info-card:hover:after{transform:scaleX(1)}.info-card:hover{border-color:rgba(var(--c-primary-rgb),.25);transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.info-icon-c{border:1px solid rgba(var(--c-primary-rgb),.2);background:rgba(var(--c-primary-rgb),.04);justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 1.5rem;display:flex}.info-icon-c svg{width:20px;height:20px;color:var(--c-primary)}.info-card h3{color:#fff;margin-bottom:1rem;font-family:DM Serif Display,serif;font-size:1.3rem;font-style:italic;font-weight:400}.info-card p{color:var(--c-text-md);font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:300;line-height:2}.info-card p strong{color:var(--c-text);font-weight:400}@media (width<=768px){.info-grid{grid-template-columns:1fr;max-width:380px}}.gallery-section{background:var(--c-bg2);border-top:1px solid var(--c-border)}.gallery-mosaic{grid-template-rows:260px 260px;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:3rem;display:grid}.gm-1{grid-area:1/1/3/6}.gm-2{grid-area:1/6/2/9}.gm-3{grid-area:1/9/2/13}.gm-4{grid-area:2/6/3/8}.gm-5{grid-area:2/8/3/10}.gm-6{grid-area:2/10/3/13}.gm-item{cursor:pointer;background:var(--c-bg3);position:relative;overflow:hidden}.gm-item img{object-fit:cover;filter:saturate(.7)brightness(.8);width:100%;height:100%;transition:transform .6s,filter .4s;display:block}.gm-item:hover img{filter:saturate(.9)brightness(.9);transform:scale(1.05)}.gm-item:before{content:"";background:rgba(var(--c-primary-rgb), 0);z-index:1;mix-blend-mode:overlay;transition:background .4s;position:absolute;inset:0}.gm-item:hover:before{background:rgba(var(--c-primary-rgb), .1)}.gm-item:after{content:"";border:1px solid rgba(var(--c-primary-rgb), 0);z-index:2;pointer-events:none;transition:border-color .3s;position:absolute;inset:0}.gm-item:hover:after{border-color:rgba(var(--c-primary-rgb), .4)}@media (width<=768px){.gallery-mosaic{grid-template-rows:auto;grid-template-columns:1fr 1fr}.gm-1,.gm-2,.gm-3,.gm-4,.gm-5,.gm-6{aspect-ratio:4/3;grid-area:auto}.gm-1{grid-column:span 2}}@media (width<=480px){.gallery-mosaic{grid-template-columns:1fr}.gm-1{grid-column:span 1}}.lightbox{z-index:9999;backdrop-filter:blur(16px);background:#060810f7;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.active{display:flex}.lightbox-img{object-fit:contain;max-width:90vw;max-height:88vh;box-shadow:0 0 80px rgba(var(--c-primary-rgb), .1);animation:.35s lbIn}@keyframes lbIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lightbox-close{border:1px solid rgba(var(--c-primary-rgb),.2);color:var(--c-primary);cursor:pointer;background:#ffffff0d;justify-content:center;align-items:center;width:40px;height:40px;font-size:.9rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:rgba(var(--c-primary-rgb),.1)}.lightbox-nav{border:1px solid rgba(var(--c-primary-rgb),.15);color:var(--c-primary);cursor:pointer;background:#ffffff0a;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:rgba(var(--c-primary-rgb),.1)}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{letter-spacing:4px;color:rgba(var(--c-primary-rgb),.4);font-family:DM Sans,sans-serif;font-size:.7rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.rsvp-section{background:var(--c-bg);border-top:1px solid var(--c-border)}.rsvp-form{background:var(--c-bg3);border:1px solid var(--c-border);max-width:500px;margin:0 auto;padding:3.5rem 3rem;position:relative}.rsvp-form:before{content:"";background:linear-gradient(to right, transparent, var(--c-primary), transparent);opacity:.6;height:1px;position:absolute;top:0;left:15%;right:15%}.form-group{margin-bottom:1.4rem}.form-group label{letter-spacing:5px;text-transform:uppercase;color:var(--c-primary);margin-bottom:.45rem;font-family:DM Sans,sans-serif;font-size:.58rem;font-weight:400;display:block}.form-group input,.form-group select{border:1px solid var(--c-border);background:rgba(var(--c-primary-rgb),.02);width:100%;color:var(--c-text);outline:none;padding:.9rem 1.1rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:300;transition:all .3s}.form-group select option{background:var(--c-bg3)}.form-group input:focus,.form-group select:focus{border-color:rgba(var(--c-primary-rgb),.4);background:rgba(var(--c-primary-rgb),.04);box-shadow:0 0 0 3px rgba(var(--c-primary-rgb),.05)}.form-group input::placeholder{color:#ffffff26}.submit-btn{width:100%;color:var(--c-primary);border:1px solid rgba(var(--c-primary-rgb),.5);letter-spacing:5px;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:.5rem;padding:1.05rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:400;transition:all .3s}.submit-btn:hover{background:rgba(var(--c-primary-rgb),.08);border-color:var(--c-primary);box-shadow:0 0 25px rgba(var(--c-primary-rgb),.15);transform:translateY(-2px)}.footer{background:var(--c-bg2);text-align:center;border-top:1px solid var(--c-border);padding:6rem 2rem 3.5rem;position:relative;overflow:hidden}.footer:before{content:"";background:radial-gradient(ellipse, rgba(var(--c-primary-rgb),.05), transparent 70%);pointer-events:none;width:500px;height:300px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.footer-eyebrow{letter-spacing:6px;text-transform:uppercase;color:var(--c-primary);opacity:.7;margin-bottom:1rem;font-family:DM Sans,sans-serif;font-size:.58rem;display:block}.footer-name{color:#fff;letter-spacing:-1px;text-shadow:0 0 60px rgba(var(--c-primary-rgb),.15);font-family:DM Serif Display,serif;font-size:clamp(3.5rem,9vw,7rem);font-style:italic;font-weight:400;line-height:1;display:block}.footer-age{letter-spacing:8px;text-transform:uppercase;color:var(--c-primary);margin-top:1rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:300;display:block}.powered{border-top:1px solid var(--c-border);color:var(--c-text-md);opacity:.5;margin-top:4rem;padding-top:2rem;font-family:DM Sans,sans-serif;font-size:.7rem}.powered a{color:var(--c-primary);text-decoration:none}
