:root{--gold: #C9A84C;--gold-light: #E8C97A;--gold-dim: #8a6f2e;--cream: #F7F0E6;--sand: #E8DCC8;--dark: #0A0A0A;--deep: #111118;--glass: rgba(255, 255, 255, .06);--border: rgba(201, 168, 76, .25)}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;width:100%;max-width:100vw;position:relative}html{scroll-behavior:smooth}body{background:var(--dark);color:var(--cream);font-family:Montserrat,sans-serif;cursor:none}#cursor{position:fixed;width:12px;height:12px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s ease,width .3s ease,height .3s ease,background .3s ease;mix-blend-mode:difference}#cursor-ring{position:fixed;width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s ease;opacity:.6}body:hover #cursor{opacity:1}#loader{position:fixed;inset:0;background:var(--dark);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s ease}#loader.hidden{opacity:0;visibility:hidden}.loader-brand{font-family:Cormorant Garamond,serif;font-size:3rem;letter-spacing:.4em;color:var(--gold);animation:fadeInUp 1s ease forwards;opacity:0}.loader-bar{width:200px;height:1px;background:#c9a84c33;margin-top:2rem;position:relative;overflow:hidden}.loader-bar:after{content:"";position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--gold);animation:loadBar 1.8s ease forwards .5s}@keyframes loadBar{to{left:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;transition:all .5s ease}nav.scrolled{background:#0a0a0af2;backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1rem 2rem}.nav-brand{font-family:Cormorant Garamond,serif;font-size:1.8rem;letter-spacing:.3em;color:var(--gold);font-weight:300}.nav-links{display:flex;gap:2.5rem;align-items:center}.nav-links a{color:#f7f0e6b3;text-decoration:none;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;transition:color .3s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s ease}.nav-links a:hover{color:var(--gold)}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{background:transparent;border:1px solid var(--gold);color:var(--gold)!important;padding:.6rem 1.5rem;transition:all .3s ease!important}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--gold)!important;color:var(--dark)!important}#hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(201,168,76,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(201,168,76,.05) 0%,transparent 50%),linear-gradient(180deg,#0a0a0a,#0d0d15,#0a0a0a)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);background-size:80px 80px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translateY(0)}to{transform:translateY(80px)}}.orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orbFloat 8s ease-in-out infinite}.orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.12),transparent);top:-100px;right:-50px;animation-delay:0s}.orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(201,168,76,.08),transparent);bottom:100px;left:-80px;animation-delay:3s}@keyframes orbFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}.hero-content{position:relative;z-index:2;text-align:center;padding:0 2rem}.hero-label{font-size:.7rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;opacity:0;animation:fadeInUp 1s ease forwards 1.2s;display:flex;align-items:center;justify-content:center;gap:1rem}.hero-label:before,.hero-label:after{content:"";width:40px;height:1px;background:var(--gold);opacity:.5}.hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,10vw,8rem);font-weight:300;line-height:.95;letter-spacing:-.02em;margin-bottom:1.5rem;opacity:0;animation:fadeInUp 1s ease forwards 1.4s}.hero-title em{font-style:italic;color:var(--gold);display:block}.hero-sub{font-size:.85rem;letter-spacing:.15em;color:#f7f0e680;max-width:450px;margin:0 auto 3rem;line-height:1.8;opacity:0;animation:fadeInUp 1s ease forwards 1.6s}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;opacity:0;animation:fadeInUp 1s ease forwards 1.8s}.btn-primary{background:var(--gold);color:var(--dark);padding:1rem 3rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:none;font-family:Montserrat,sans-serif;font-weight:500;transition:all .4s ease;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.btn-primary:hover:before{transform:scaleX(1)}.btn-primary span{position:relative;z-index:1}.btn-ghost{background:transparent;color:var(--cream);padding:1rem 3rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(247,240,230,.3);cursor:none;font-family:Montserrat,sans-serif;font-weight:400;transition:all .4s ease}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeInUp 1s ease forwards 2.2s;z-index:2}.scroll-indicator span{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:#f7f0e666}.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}#stats{padding:4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);background:#c9a84c08}.stat-item{text-align:center;padding:2rem;border-right:1px solid var(--border);position:relative;overflow:hidden}.stat-item:last-child{border-right:none}.stat-number{font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:300;color:var(--gold);line-height:1;display:block}.stat-label{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:#f7f0e666;margin-top:.5rem;display:block}#hoteles{padding:8rem 4rem;position:relative}.section-header{text-align:center;margin-bottom:5rem}.section-tag{font-size:.7rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.section-tag:before,.section-tag:after{content:"";width:30px;height:1px;background:var(--gold);opacity:.5}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;line-height:1.1;margin-bottom:1.5rem}.section-title em{font-style:italic;color:var(--gold)}.section-desc{font-size:.85rem;color:#f7f0e680;letter-spacing:.05em;line-height:1.8;max-width:500px;margin:0 auto}.hotels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1400px;margin:0 auto}.hotel-card{position:relative;height:480px;overflow:hidden;cursor:none}.hotel-card:nth-child(1){grid-column:span 2}.hotel-card:nth-child(4){grid-column:span 2}.hotel-card:nth-child(7){grid-column:span 1}.hotel-bg{position:absolute;inset:0;transition:transform .8s cubic-bezier(.25,.46,.45,.94);background-size:cover;background-position:center}.hotel-card:hover .hotel-bg{transform:scale(1.08)}.hotel-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000eb,#0000004d,#0000001a);transition:background .5s ease}.hotel-card:hover .hotel-overlay{background:linear-gradient(to top,#000000f2,#0006,#00000026)}.hotel-content{position:absolute;bottom:0;left:0;right:0;padding:2.5rem;transform:translateY(20px);transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.hotel-card:hover .hotel-content{transform:translateY(0)}.hotel-location{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;opacity:.85}.hotel-name{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:300;line-height:1.2;margin-bottom:1rem;color:var(--cream)}.hotel-price-row{display:flex;align-items:flex-end;justify-content:space-between}.hotel-price-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#f7f0e680;display:block;margin-bottom:.2rem}.hotel-price{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--gold);font-weight:300;line-height:1}.hotel-price-currency{font-size:1rem;vertical-align:super;font-family:Montserrat,sans-serif;font-weight:300}.hotel-btn{display:inline-block;text-decoration:none;background:transparent;border:1px solid rgba(201,168,76,.5);color:var(--gold);padding:.6rem 1.5rem;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;font-family:Montserrat,sans-serif;cursor:none;opacity:0;transform:translateY(10px);transition:all .4s ease}.hotel-card:hover .hotel-btn{opacity:1;transform:translateY(0)}.hotel-btn:hover{background:var(--gold);color:var(--dark)}.bg-cancun-riu{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/01-Cancun/01-Hotel-Riu-Cancun/Imagenes/Habitaciones/DBSB.jpg) center/cover no-repeat,linear-gradient(135deg,#0d4f6b,#1a7a9a,#0a3d54 60%,#072b3d)}.bg-cancun-caribe{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/01-Cancun/02-Hotel-Riu-Caribe/Imagenes/Habitaciones/DBSB.jpg) center/cover no-repeat,linear-gradient(135deg,#2d6a4f,#1b4332,#074b3d 60%,#052e20)}.bg-palace-americas{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/01-Cancun/03-Hotel-Riu-Palace-Las-Americas/Imagenes/Habitaciones/SJSB.jpg) center/cover no-repeat,linear-gradient(135deg,#7b2d8b,#4a1560,#2d0a45 60%,#1a0030)}.bg-dunamar{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/01-Cancun/05-Hotel-Riu-Dunamar/Imagenes/real-rooms/room-hotel-riu-dunamar-DDSB.jpg) center/cover no-repeat,linear-gradient(135deg,#1a5276,#0e3c5a,#0a2840 60%,#061828)}.bg-palace-costa{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/01-Cancun/06-Hotel-Riu-Palace-Costa-Mujeres/Imagenes/Habitaciones/SJSB.jpg) center/cover no-repeat,linear-gradient(135deg,#5d4037,#3e2723,#2e1503 60%,#1a0c00)}.bg-vallarta{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/05-Riviera-Nayarit-Nuevo-Vallarta/03-Hotel-Riu-Vallarta/Imagenes/Habitaciones/DBSB.jpg) center/cover no-repeat,linear-gradient(135deg,#1a6b4a,#0d4a2e,#063320 60%,#031a10)}.bg-santa-fe{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/02-Los-Cabos/02-Hotel-Riu-Santa-Fe/Imagenes/Habitaciones/DBLB.jpg) center/cover no-repeat,linear-gradient(135deg,#8b6914,#6b4f0e,#4a3508 60%,#2d1f03)}.bg-cabo-palace{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/02-Los-Cabos/01-Hotel-Riu-Palace-Cabo-San-Lucas/Imagenes/Habitaciones/DBEB.jpg) center/cover no-repeat,linear-gradient(135deg,#8b1a1a,#5d0e0e,#3d0808 60%,#200303)}.bg-emerald{background:url(https://www.riu.com/dam/02-RIU-Espanol/Building-Blocks/04-Paises/13-Mexico/03-Mazatlan/01-Hotel-Riu-Emerald-Bay/Imagenes/Habitaciones/DBEB0.jpg) center/cover no-repeat,linear-gradient(135deg,#1b5e20,#0d3b12,#062910 60%,#02150a)}#destinos{padding:8rem 4rem;background:linear-gradient(180deg,transparent,rgba(201,168,76,.03),transparent);position:relative}.destinos-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1200px;margin:0 auto;align-items:center}.destinos-map{position:relative;height:500px;background:#c9a84c0d;border:1px solid var(--border);overflow:hidden}.destino-pin{position:absolute;cursor:none;transition:transform .3s ease}.destino-pin:hover{transform:scale(1.2)}.pin-dot{width:12px;height:12px;background:var(--gold);border-radius:50%;position:relative}.pin-dot:after{content:"";position:absolute;inset:-4px;border:1px solid var(--gold);border-radius:50%;animation:pinPulse 2s ease-in-out infinite}@keyframes pinPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.8);opacity:0}}.pin-label{position:absolute;left:20px;top:-8px;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);white-space:nowrap;background:#0a0a0acc;padding:.2rem .5rem}.destinos-content{padding-left:2rem}.destino-list{list-style:none;margin-top:3rem}.destino-list li{display:flex;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border);font-size:.85rem;color:#f7f0e6b3;letter-spacing:.05em;transition:all .3s ease;cursor:none}.destino-list li:hover{color:var(--gold);padding-left:.5rem}.destino-list li:before{content:"";width:6px;height:1px;background:var(--gold);flex-shrink:0}#experiencia{padding:8rem 4rem;position:relative;overflow:hidden}.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1200px;margin:0 auto}.exp-card{padding:3rem;border:1px solid var(--border);position:relative;transition:all .4s ease;overflow:hidden}.exp-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .4s ease}.exp-card:hover{border-color:#c9a84c80;background:#c9a84c08}.exp-card:hover:before{transform:scaleX(1)}.exp-icon{width:50px;height:50px;margin-bottom:2rem;color:var(--gold);opacity:.8}.exp-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:300;margin-bottom:1rem}.exp-desc{font-size:.8rem;color:#f7f0e680;line-height:1.9;letter-spacing:.03em}.exp-number{position:absolute;top:2rem;right:2rem;font-family:Cormorant Garamond,serif;font-size:4rem;color:#c9a84c0f;font-weight:300;line-height:1;pointer-events:none}#contacto{padding:8rem 4rem;background:linear-gradient(180deg,transparent,rgba(201,168,76,.05),transparent);position:relative}.cta-container{max-width:900px;margin:0 auto;text-align:center;position:relative}.cta-deco{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold))}.cta-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:300;margin-bottom:1.5rem;line-height:1.1}.cta-title em{font-style:italic;color:var(--gold)}.cta-desc{font-size:.85rem;color:#f7f0e680;letter-spacing:.05em;line-height:1.8;max-width:500px;margin:0 auto 3rem}.phone-display{display:inline-flex;align-items:center;gap:1.5rem;border:1px solid var(--border);padding:1.5rem 3rem;margin-bottom:3rem;position:relative;overflow:hidden;cursor:none;transition:all .4s ease}.phone-display:before{content:"";position:absolute;inset:0;background:#c9a84c0d;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.phone-display:hover:before{transform:scaleX(1)}.phone-display:hover{border-color:var(--gold)}.phone-icon{color:var(--gold);width:24px;height:24px;position:relative;z-index:1}.phone-number{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--cream);letter-spacing:.1em;font-weight:300;position:relative;z-index:1}.cta-form{display:flex;gap:0;max-width:500px;margin:0 auto;border:1px solid var(--border)}.cta-input{flex:1;background:transparent;border:none;padding:1rem 1.5rem;color:var(--cream);font-family:Montserrat,sans-serif;font-size:.8rem;outline:none;letter-spacing:.05em}.cta-input::placeholder{color:#f7f0e64d}.cta-submit{background:var(--gold);color:var(--dark);border:none;padding:1rem 2rem;font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;cursor:none;transition:background .3s ease;flex-shrink:0}.cta-submit:hover{background:var(--gold-light)}footer{padding:4rem;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.footer-brand{font-family:Cormorant Garamond,serif;font-size:1.5rem;letter-spacing:.3em;color:var(--gold)}.footer-center{text-align:center}.footer-copy{font-size:.65rem;letter-spacing:.15em;color:#f7f0e640;text-transform:uppercase}.footer-links{display:flex;gap:2rem;justify-content:flex-end}.footer-links a{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#f7f0e666;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--gold)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.25,.46,.45,.94)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.particle{position:fixed;width:2px;height:2px;background:var(--gold);border-radius:50%;pointer-events:none;opacity:0;animation:particleFloat linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) translate(100px);opacity:0}}.gold-shine{background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));background-size:200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shine 3s linear infinite}@keyframes shine{0%{background-position:200%}to{background-position:-200%}}@media(max-width:768px){nav{padding:1rem}nav.scrolled{padding:.8rem 1rem}.nav-links{display:none}#hero{height:100svh}.hero-label{letter-spacing:.2rem;font-size:.6rem}.hero-label:before,.hero-label:after{width:20px;display:none}.hero-title{font-size:clamp(2.5rem,8vw,3.5rem)}.hero-buttons{flex-direction:column;gap:1rem}.btn-primary,.btn-ghost{width:100%;padding:1rem}#stats{grid-template-columns:repeat(2,1fr);padding:2rem 1rem}.stat-item{padding:1rem}#hoteles,#destinos,#experiencia,#contacto{padding:4rem 1.2rem}.hotels-grid{grid-template-columns:1fr;gap:2px}.hotel-card{height:350px;grid-column:span 1!important}.hotel-btn{opacity:1;transform:translateY(0)}.destinos-grid{grid-template-columns:1fr}.destinos-map{height:250px}.destinos-content{padding-left:0}.exp-grid{grid-template-columns:1fr}.phone-display{padding:1.2rem;gap:1rem;flex-direction:column;margin-bottom:2rem}.phone-number{font-size:1.4rem}.cta-form{flex-direction:column;border:none;gap:1rem}.cta-input,.cta-submit{width:100%;border:1px solid var(--border)}footer{grid-template-columns:1fr;text-align:center;gap:1.5rem;padding:2rem 1rem}.footer-links{justify-content:center;flex-wrap:wrap}}
