*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;font-size:16px;line-height:1.7;color:#fff;background:#000;overflow-x:hidden;cursor:none}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;line-height:1.3;color:#fff}
a{text-decoration:none;color:inherit;transition:all .3s ease}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}

.cursor{width:10px;height:10px;background:#fff;border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:transform .15s ease;mix-blend-mode:difference}
.cursor-follower{width:40px;height:40px;border:2px solid #fff;border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transition:all .2s ease;mix-blend-mode:difference}
.cursor.expand{transform:scale(2)}
.cursor-follower.expand{width:60px;height:60px;border-color:#fff;background:rgba(255,255,255,.1)}

.container{max-width:1200px;margin:0 auto;padding:0 40px}
.section-padding{padding:100px 0;position:relative}
.section-padding::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;transition:all .5s cubic-bezier(.23,1,.32,1)}
.header.scrolled{background:rgba(0,0,0,.9);backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.5);transform:translateY(0)}
.header.scrolled .nav a{transform:scale(.95)}
.header.scrolled .nav a:hover{transform:translateY(-3px) scale(1.05)}
.header-container{max-width:1400px;margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:50px;width:auto}
.nav{display:flex;gap:40px}
.nav a{color:rgba(255,255,255,.7);font-weight:400;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;position:relative;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);padding:8px 16px;overflow:hidden}
.nav a::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.5),#fff);transform:translateX(-100%);transition:transform .6s cubic-bezier(.68,-.55,.265,1.55)}
.nav a::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3),transparent);border-radius:50%;transform:translate(-50%,-50%);transition:all .6s cubic-bezier(.68,-.55,.265,1.55)}
.nav a span{display:inline-block;transition:transform .5s cubic-bezier(.68,-.55,.265,1.55)}
.nav a:hover{color:#fff;transform:translateY(-3px) scale(1.05);letter-spacing:2px;text-shadow:0 0 20px rgba(255,255,255,.5)}
.nav a:hover::before{transform:translateX(0);animation:shimmer 1.5s ease-in-out infinite}
.nav a:hover::after{width:200%;height:200%;opacity:0}
.nav a:hover span{transform:rotateY(360deg)}
.nav a.active{color:#fff;background:rgba(255,255,255,.1);border-radius:8px}
.nav a.active::before{transform:translateX(0)}
@keyframes shimmer{0%,100%{opacity:1}50%{opacity:.5}}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.8rem;cursor:none;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);position:relative}
.menu-toggle::before{content:'';position:absolute;inset:-10px;background:rgba(255,255,255,.1);border-radius:50%;opacity:0;transform:scale(0);transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}
.menu-toggle:hover{transform:scale(1.2) rotate(180deg)}
.menu-toggle:hover::before{opacity:1;transform:scale(1);animation:pulse 1.5s ease-in-out infinite}
.menu-toggle.active{transform:rotate(90deg) scale(.9)}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.5}}

.cta-btn{display:inline-block;padding:18px 40px;background:#fff;color:#000;font-size:1.05rem;font-weight:600;border-radius:50px;transition:all .4s ease;cursor:none;border:none;text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden}
.cta-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:#000;transition:left .4s ease;z-index:-1}
.cta-btn:hover{color:#fff;transform:scale(1.05)}
.cta-btn:hover::before{left:0}
.cta-btn.secondary{background:transparent;color:#fff;border:2px solid #fff}
.cta-btn.secondary::before{background:#fff}
.cta-btn.secondary:hover{color:#000}

.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#000;position:relative;padding:0;overflow:hidden}
.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:0;filter:brightness(.5)}
.hero-slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;filter:brightness(.5);opacity:0;transition:opacity 2s ease}
.hero-slide.active{opacity:1}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.7) 100%);z-index:1}
.hero-content-center{position:relative;z-index:2;text-align:center;padding:0 40px}
.hero-title{font-size:8rem;font-weight:700;letter-spacing:20px;margin-bottom:30px;overflow:hidden;position:relative}
.hero-title .word{display:inline-block;opacity:0;transform:translateY(100px);animation:slideUp 1.5s cubic-bezier(.23,1,.32,1) forwards;background:linear-gradient(90deg,#fff 0%,#fff 40%,rgba(255,255,255,.5) 50%,#fff 60%,#fff 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:slideUp 1.5s cubic-bezier(.23,1,.32,1) forwards,shine 3s linear infinite 1.5s}
@keyframes slideUp{to{opacity:1;transform:translateY(0)}}
@keyframes shine{0%{background-position:200% center}100%{background-position:-200% center}}
.hero-tagline{font-size:1.2rem;color:rgba(255,255,255,.9);letter-spacing:3px;text-transform:uppercase;margin-bottom:15px;opacity:0;animation:fadeIn 1s ease 1s forwards}
.hero-subtitle{font-size:1.1rem;color:rgba(255,255,255,.6);letter-spacing:1px;margin-bottom:50px;opacity:0;animation:fadeIn 1s ease 1.3s forwards}
@keyframes fadeIn{to{opacity:1}}
.hero-content-center .cta-btn{opacity:0;animation:fadeIn 1s ease 1.6s forwards}
.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);color:#fff;font-size:2rem;z-index:3;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}



.section-label{display:inline-block;padding:8px 20px;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:50px;font-size:.8rem;font-weight:600;color:#fff;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px}
.section-heading{font-size:3rem;text-align:center;margin-bottom:60px;letter-spacing:-1px;text-transform:uppercase;font-weight:700}

.highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.room-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;padding:60px;background:rgba(255,255,255,.02);border-radius:30px;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;transition:all .6s cubic-bezier(.68,-.55,.265,1.55);cursor:pointer}
.room-section::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.1),transparent);opacity:0;transition:all .8s ease;animation:rotate 8s linear infinite;pointer-events:none}
.room-section:hover{transform:translateY(-20px) scale(1.02);border-color:rgba(255,255,255,.4);box-shadow:0 40px 100px rgba(0,0,0,.8);background:rgba(255,255,255,.05)}
.room-section:hover::before{opacity:1}
.room-section.reverse{direction:rtl}
.room-section.reverse>*{direction:ltr}
.room-slider{position:relative;width:100%;height:400px;border-radius:25px;overflow:hidden;border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 60px rgba(0,0,0,.5);z-index:2;transition:all .6s cubic-bezier(.68,-.55,.265,1.55)}
.room-section:hover .room-slider{transform:scale(1.05);border-color:#fff;box-shadow:0 40px 100px rgba(0,0,0,.8)}
.room-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:scale(1.3) rotate(10deg);transition:all 1.2s cubic-bezier(.68,-.55,.265,1.55)}
.room-slide.active{opacity:1;transform:scale(1) rotate(0deg)}
.room-slide.exit{opacity:0;transform:scale(.7) rotate(-10deg)}
.room-slide img{width:100%;height:100%;object-fit:cover}
.room-content{position:relative;z-index:2;transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}
.room-section:hover .room-content{transform:translateX(10px)}
.room-content h3{font-size:2.2rem;margin-bottom:20px;color:#fff;text-transform:uppercase;letter-spacing:-1px;position:relative;display:inline-block;transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}
.room-content h3::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:3px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.3));transition:width .6s cubic-bezier(.68,-.55,.265,1.55)}
.room-section:hover .room-content h3{transform:scale(1.1);text-shadow:0 0 30px rgba(255,255,255,.5)}
.room-section:hover .room-content h3::after{width:100%}
.room-content p{color:rgba(255,255,255,.8);line-height:1.8;margin-bottom:15px;font-size:1.05rem;transition:all .4s ease}
.room-section:hover .room-content p{color:rgba(255,255,255,.95);transform:translateX(5px)}
.room-content p strong{color:#fff;font-weight:600;background:linear-gradient(90deg,#fff,rgba(255,255,255,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.highlight-card{background:rgba(255,255,255,.03);backdrop-filter:blur(10px);border-radius:25px;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:all .6s cubic-bezier(.23,1,.32,1);position:relative;transform-style:preserve-3d}
.highlight-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .6s ease;z-index:1;pointer-events:none}
.highlight-card:hover{transform:translateY(-20px) rotateX(5deg);border-color:rgba(255,255,255,.5);box-shadow:0 30px 60px rgba(0,0,0,.8)}
.highlight-card:hover::before{opacity:1}
.highlight-image{aspect-ratio:4/3;overflow:hidden;position:relative}
.highlight-image::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:randomShine 8s ease-in-out infinite;mix-blend-mode:overlay}
@keyframes randomShine{0%,100%{left:-100%}50%{left:100%}}
.highlight-card:nth-child(1) .highlight-image::after{animation-delay:0s}
.highlight-card:nth-child(2) .highlight-image::after{animation-delay:2s}
.highlight-card:nth-child(3) .highlight-image::after{animation-delay:4s}
.highlight-image img{width:100%;height:100%;object-fit:cover;transition:all .6s ease;filter:grayscale(0%) contrast(1)}
.highlight-card:hover .highlight-image img{transform:scale(1.15) rotate(2deg)}
.highlight-card h3{padding:25px 25px 10px;color:#fff;font-size:1.4rem;transition:all .3s ease;position:relative;z-index:2}
.highlight-card:hover h3{transform:translateX(10px)}
.highlight-card p{padding:0 25px 25px;color:rgba(255,255,255,.7);position:relative;z-index:2;transition:all .3s ease}
.highlight-card:hover p{color:rgba(255,255,255,.9)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;padding:60px 0}
.col-text h2{font-size:2.8rem;margin-bottom:30px;color:#fff;letter-spacing:-2px;text-transform:uppercase;font-weight:700;position:relative;display:inline-block}
.col-text h2::after{content:'';position:absolute;bottom:-10px;left:0;width:100%;height:3px;background:#fff}
.split-text{overflow:hidden}
.split-text .char{display:inline-block;opacity:0;transform:translateY(100px) rotate(10deg);animation:charSlide .8s cubic-bezier(.23,1,.32,1) forwards}
@keyframes charSlide{to{opacity:1;transform:translateY(0) rotate(0)}}
.col-text p{margin-bottom:20px;color:rgba(255,255,255,.75);line-height:1.9;font-size:1.1rem}
.col-text .cta-btn{margin-top:25px}
.col-image img{border-radius:25px;border:1px solid rgba(255,255,255,.15);width:100%;filter:grayscale(0%) contrast(1);transition:all .6s ease;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.col-image:hover img{transform:scale(1.05);box-shadow:0 30px 80px rgba(0,0,0,.7)}
.col-image-slider{position:relative;border-radius:25px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.slider-wrapper{position:relative;width:100%;aspect-ratio:3/4}
.slide-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:scale(1.2) rotate(5deg);transition:all 1.2s cubic-bezier(.23,1,.32,1)}
.slide-item.active{opacity:1;transform:scale(1) rotate(0)}
.slide-item.exit{opacity:0;transform:scale(.8) rotate(-5deg)}
.slide-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(0%) contrast(1)}

.floating-icon{position:absolute;opacity:.05;pointer-events:none;width:180px;height:180px}
.icon-1{bottom:5%;left:3%}

.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:60px 0;perspective:1000px}
.pillar-card{background:rgba(255,255,255,.03);backdrop-filter:blur(20px);padding:45px 35px;border-radius:25px;border:1px solid rgba(255,255,255,.15);text-align:center;transition:all .6s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;transform-style:preserve-3d}
.pillar-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .6s ease;transform:rotate(45deg)}
.pillar-card:hover{transform:translateY(-15px) rotateY(5deg);border-color:rgba(255,255,255,.6);box-shadow:0 25px 50px rgba(0,0,0,.6)}
.pillar-card:hover::before{opacity:1}
.pillar-number{width:70px;height:70px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#000;margin:0 auto 25px;transition:all .6s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 10px 30px rgba(255,255,255,.2)}
.pillar-card:hover .pillar-number{transform:scale(1.2) rotate(360deg);box-shadow:0 15px 40px rgba(255,255,255,.4)}
.pillar-card h3{color:#fff;font-size:1.4rem;margin-bottom:18px;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease}
.pillar-card:hover h3{transform:scale(1.05)}
.pillar-card p{color:rgba(255,255,255,.85);line-height:1.8;font-size:1.05rem}

.instagram-wrapper{text-align:center;padding:80px 60px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));backdrop-filter:blur(20px);border-radius:30px;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}
.instagram-wrapper::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.1),transparent);animation:rotate 8s linear infinite;pointer-events:none}
@keyframes rotate{to{transform:rotate(360deg)}}
.instagram-icon{width:100px;height:100px;margin:0 auto 30px;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-radius:25px;display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite;box-shadow:0 20px 60px rgba(220,39,67,.4)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.instagram-icon svg{width:60px;height:60px;color:#fff}
.instagram-title{font-size:2.5rem;margin-bottom:20px;letter-spacing:-1px}
.instagram-handle{display:inline-block;font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:20px;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.instagram-desc{font-size:1.1rem;color:rgba(255,255,255,.7);margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}
.instagram-cta{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);background-size:200% 200%;animation:gradientShift 3s ease infinite;border:none}
.instagram-cta::before{background:rgba(0,0,0,.8)}
.instagram-cta:hover{transform:scale(1.1);box-shadow:0 20px 60px rgba(220,39,67,.6)}

.cta-content{text-align:center;padding:70px 50px;background:rgba(255,255,255,.03);backdrop-filter:blur(20px);border-radius:30px;border:1px solid rgba(255,255,255,.15);transition:all .6s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}
.cta-content::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent);opacity:0;transition:opacity .6s ease;animation:rotate 20s linear infinite}
@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.cta-content:hover{border-color:rgba(255,255,255,.5);box-shadow:0 30px 70px rgba(0,0,0,.6);transform:scale(1.02)}
.cta-content:hover::before{opacity:1}
.cta-content h2{font-size:2.5rem;margin-bottom:20px}
.cta-content p{font-size:1.2rem;color:rgba(255,255,255,.8);margin-bottom:30px}
.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

.page-hero{min-height:60vh;display:flex;align-items:center;justify-content:center;background:#000;position:relative;padding:140px 0 80px;overflow:hidden}
.page-hero .container{text-align:center;max-width:100%}
.page-hero h1{font-size:3rem;margin-bottom:15px;word-wrap:break-word}
.page-hero .hero-title{font-size:3rem;word-wrap:break-word}
.page-hero .section-label{font-size:.75rem;padding:6px 15px}
.page-hero .hero-tagline{font-size:1rem;padding:0 20px}

.formules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px;perspective:1500px}
.formule-card{background:rgba(255,255,255,.02);backdrop-filter:blur(20px);padding:45px 35px;border-radius:25px;border:1px solid rgba(255,255,255,.15);position:relative;transition:all .6s cubic-bezier(.23,1,.32,1);transform-style:preserve-3d;overflow:visible}
.formule-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent);opacity:0;transition:opacity .6s ease;pointer-events:none}
.formule-card:hover{transform:translateY(-20px) scale(1.02);border-color:rgba(255,255,255,.5);box-shadow:0 30px 70px rgba(0,0,0,.7)}
.formule-card:hover::after{opacity:1}
.formule-card.featured{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.formule-card.featured:hover{border-color:#fff;box-shadow:0 35px 80px rgba(0,0,0,.8)}
.popular-badge{position:absolute;top:-12px;right:20px;background:#fff;color:#000;padding:8px 20px;border-radius:50px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;z-index:10;box-shadow:0 4px 15px rgba(0,0,0,.3)}
.formule-header{text-align:center;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.1)}
.formule-header h3{font-size:1.8rem;margin-bottom:10px;color:#fff;text-transform:uppercase;letter-spacing:1px}
.formule-subtitle{color:rgba(255,255,255,.7);font-size:.95rem}
.formule-benefits{margin-bottom:30px}
.formule-benefits li{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px;color:rgba(255,255,255,.85);line-height:1.6}
.benefit-icon{color:#fff;font-weight:bold;font-size:1.2rem;flex-shrink:0}
.formule-price{text-align:center;margin-bottom:25px;padding:20px;background:rgba(255,255,255,.05);border-radius:15px}
.formule-price p{color:#fff;font-weight:600;font-size:1.1rem}
.formule-card .cta-btn{width:100%}

.info-box{background:transparent;backdrop-filter:blur(20px);padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.3)}
.info-box h3{color:#fff;margin-bottom:20px;font-size:1.5rem;text-transform:uppercase;letter-spacing:1px}
.info-box ul{margin-left:25px}
.info-box li{list-style:disc;margin-bottom:12px;color:rgba(255,255,255,.85);line-height:1.7}

.space-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:60px;position:relative}
.space-images img{border-radius:20px;width:100%;filter:grayscale(0%) contrast(1);transition:all .5s ease}
.space-images:hover img{transform:scale(1.05)}
.space-content h2{font-size:2.2rem;margin-bottom:20px;color:#fff;text-transform:uppercase;letter-spacing:-1px}
.space-content p{color:rgba(255,255,255,.8);line-height:1.8;font-size:1.1rem}

.planning-intro{text-align:center;max-width:800px;margin:0 auto 50px}
.planning-intro p{font-size:1.2rem;color:rgba(255,255,255,.8);line-height:1.8}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.schedule-card{background:rgba(255,255,255,.03);backdrop-filter:blur(20px);padding:35px 30px;border-radius:25px;border:1px solid rgba(255,255,255,.15);transition:all .6s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;cursor:pointer}
.schedule-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:0;background:linear-gradient(180deg,rgba(255,255,255,.95),#fff);transition:height .6s cubic-bezier(.23,1,.32,1);z-index:0}
.schedule-card::after{content:'→';position:absolute;top:30px;right:30px;font-size:1.5rem;color:#fff;opacity:0;transform:translateX(-10px);transition:all .4s ease;z-index:2}
.schedule-card>*{position:relative;z-index:1;transition:color .4s ease}
.schedule-card:hover{transform:translateY(-15px) scale(1.02);border-color:rgba(255,255,255,.6);box-shadow:0 25px 60px rgba(0,0,0,.6)}
.schedule-card:hover::before{height:100%}
.schedule-card:hover::after{opacity:1;transform:translateX(0);color:#000}
.schedule-card:hover h3,.schedule-card:hover .schedule-time,.schedule-card:hover p{color:#000}
.schedule-card h3{color:#fff;font-size:1.4rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.schedule-time{color:rgba(255,255,255,.7);font-weight:600;margin-bottom:15px;font-size:.95rem}
.schedule-card p{color:rgba(255,255,255,.75);line-height:1.6}

.contact-wrapper{display:grid;grid-template-columns:400px 1fr;gap:40px;align-items:start}
.contact-info{background:transparent;backdrop-filter:blur(20px);padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}
.contact-info h3{color:#fff;font-size:1.5rem;margin-bottom:30px;text-transform:uppercase;letter-spacing:1px}
.info-item{margin-bottom:25px}
.info-item h4{color:#fff;font-size:1.1rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}
.info-item p{color:rgba(255,255,255,.8);line-height:1.7}
.info-item a{color:#fff;border-bottom:1px solid #fff;padding-bottom:2px}
.contact-form-container{background:transparent;backdrop-filter:blur(20px);padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}
.contact-form-container h3{color:#fff;font-size:1.5rem;margin-bottom:30px;text-transform:uppercase;letter-spacing:1px}
.form-group{margin-bottom:20px}
.form-group label{display:block;color:rgba(255,255,255,.9);margin-bottom:8px;font-weight:500}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-family:inherit;font-size:1rem}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.12)}
.form-group textarea{resize:vertical}
.contact-form .cta-btn{width:100%;margin-top:10px}
.map-container{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.2)}
.map-container iframe{filter:invert(1) contrast(1.2)}

footer{background:#0a0a0a;padding:60px 0 30px;border-top:1px solid rgba(255,255,255,.1)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-logo{height:50px;width:auto;margin-bottom:15px}
.footer-col h4{color:#fff;margin-bottom:15px;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px}
.footer-col p{color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:10px}
.footer-col a{color:rgba(255,255,255,.7);display:block;margin-bottom:8px}
.footer-col a:hover{color:#fff}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom p{color:rgba(255,255,255,.6);margin-bottom:10px}
.footer-bottom .legal a{margin:0 8px;color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}
.footer-bottom .legal a:hover{border-bottom-color:#fff}

.accordion-item{margin-bottom:15px;border:1px solid rgba(255,255,255,.15);border-radius:15px;overflow:hidden;background:rgba(255,255,255,.02);backdrop-filter:blur(10px);transition:all .3s ease}
.accordion-item:hover{border-color:rgba(255,255,255,.3)}
.accordion-header{width:100%;padding:20px 25px;background:transparent;border:none;color:#fff;font-size:1.1rem;font-weight:600;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}
.accordion-header:hover{background:rgba(255,255,255,.05)}
.accordion-icon{font-size:1.5rem;font-weight:300;transition:transform .3s ease}
.accordion-item.active .accordion-icon{transform:rotate(45deg)}
.accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease}
.accordion-item.active .accordion-content{max-height:5000px}
.accordion-content .legal-section{padding:0 25px 25px}

@media(max-width:1024px){
.hero-title{font-size:5rem;letter-spacing:10px}
.two-col,.space-section,.room-section{grid-template-columns:1fr;gap:40px}
.room-section{padding:40px 30px}
.room-section.reverse{direction:ltr}
.room-slider{height:350px}
.room-content h3{font-size:1.8rem}
.highlights-grid,.pillars-grid,.formules-grid,.schedule-grid{grid-template-columns:repeat(2,1fr)}
.contact-wrapper{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.instagram-wrapper{padding:60px 40px}
.instagram-title{font-size:2rem}
.instagram-handle{font-size:1.5rem}
.cta-content{padding:50px 30px}
.cta-content h2{font-size:2rem}
}

@media(max-width:768px){
.header-container{padding:15px 20px}
.logo img{height:40px}
.nav{display:none}
.nav.active{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(0,0,0,.98);backdrop-filter:blur(20px);padding:20px;gap:15px;border-top:1px solid rgba(255,255,255,.2);animation:slideDown .4s cubic-bezier(.23,1,.32,1)}
.nav.active a{opacity:0;transform:translateX(-30px) rotateY(-90deg);animation:slideInLeft .6s cubic-bezier(.68,-.55,.265,1.55) forwards}
.nav.active a:nth-child(1){animation-delay:.08s}
.nav.active a:nth-child(2){animation-delay:.16s}
.nav.active a:nth-child(3){animation-delay:.24s}
.nav.active a:nth-child(4){animation-delay:.32s}
.nav.active a:nth-child(5){animation-delay:.4s}
.nav.active a:nth-child(6){animation-delay:.48s}
@keyframes slideDown{from{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes slideInLeft{to{opacity:1;transform:translateX(0) rotateY(0)}}
.menu-toggle{display:block}
.hero-title{font-size:3.5rem;letter-spacing:8px}
.hero-tagline{font-size:1rem}
.container{padding:0 20px}
.section-padding{padding:50px 0}
.page-hero{padding:120px 0 50px;min-height:50vh}
.page-hero h1{font-size:2.5rem;line-height:1.2;padding:0 10px}
.page-hero .hero-title{font-size:2.5rem !important;line-height:1.2;padding:0 10px}
.page-hero .section-label{font-size:.7rem;padding:5px 12px}
.page-hero .hero-tagline{font-size:.9rem;padding:0 15px;line-height:1.5}
.room-section{padding:30px 20px;margin-bottom:40px}
.room-slider{height:280px}
.room-content h3{font-size:1.6rem}
.room-content p{font-size:1rem}
.section-heading{font-size:2rem}
.highlights-grid,.pillars-grid,.formules-grid,.schedule-grid{grid-template-columns:1fr}
.cta-btn{padding:15px 35px;font-size:1rem}
.instagram-wrapper{padding:40px 20px}
.instagram-icon{width:80px;height:80px}
.instagram-icon svg{width:50px;height:50px}
.instagram-title{font-size:1.8rem}
.instagram-handle{font-size:1.3rem}
.instagram-desc{font-size:1rem}
.cta-content{padding:40px 20px}
.cta-content h2{font-size:1.8rem}
.cta-content p{font-size:1rem}
.cta-buttons{flex-direction:column}
.col-text h2{font-size:2rem}
.col-text p{font-size:1rem}
.pillar-card{padding:35px 25px}
.pillar-number{width:60px;height:60px;font-size:1.5rem}
.formule-card{padding:35px 25px}
.formule-header h3{font-size:1.5rem}
.formule-price p{font-size:2rem !important}
.schedule-card{padding:25px 20px}
.contact-info,.contact-form-container{padding:30px 20px}
.info-box{padding:30px 20px}
.accordion-header{padding:15px 20px;font-size:1rem}
.accordion-content .legal-section{padding:0 20px 20px}
.footer-grid{gap:30px}
}

@media(max-width:480px){
.hero-title{font-size:2.5rem;letter-spacing:5px}
.hero-tagline{font-size:.9rem}
.hero-subtitle{font-size:.95rem}
.page-hero h1{font-size:1.8rem;line-height:1.3;padding:0 5px}
.page-hero{padding:100px 0 40px;min-height:45vh}
.page-hero .hero-title{font-size:1.8rem !important;line-height:1.3;padding:0 5px;letter-spacing:2px}
.page-hero .section-label{font-size:.65rem;padding:4px 10px;letter-spacing:1px}
.page-hero .hero-tagline{font-size:.85rem;padding:0 10px;line-height:1.4}
.room-section{padding:20px 15px;margin-bottom:30px}
.room-slider{height:240px}
.room-content h3{font-size:1.4rem}
.room-content p{font-size:.95rem;margin-bottom:10px}
.section-heading{font-size:1.8rem;margin-bottom:40px}
.container{padding:0 15px}
.section-padding{padding:40px 0}
.cta-btn{padding:12px 25px;font-size:.9rem;letter-spacing:1px}
.instagram-wrapper{padding:30px 15px}
.instagram-icon{width:70px;height:70px}
.instagram-icon svg{width:40px;height:40px}
.instagram-title{font-size:1.5rem}
.instagram-handle{font-size:1.1rem}
.instagram-desc{font-size:.9rem}
.cta-content{padding:30px 15px}
.cta-content h2{font-size:1.5rem}
.cta-content p{font-size:.9rem}
.col-text h2{font-size:1.6rem}
.col-text p{font-size:.9rem}
.pillar-card{padding:25px 20px}
.pillar-number{width:50px;height:50px;font-size:1.3rem}
.pillar-card h3{font-size:1.2rem}
.pillar-card p{font-size:.95rem}
.formule-card{padding:25px 20px}
.formule-header h3{font-size:1.3rem}
.formule-price p{font-size:1.8rem !important}
.formule-benefits li{font-size:.9rem}
.popular-badge{font-size:.7rem;padding:6px 15px;top:-10px;right:15px}
.schedule-card{padding:20px 15px}
.schedule-card h3{font-size:1.2rem}
.schedule-time{font-size:.85rem}
.schedule-card p{font-size:.9rem}
.contact-info,.contact-form-container{padding:25px 15px}
.contact-info h3,.contact-form-container h3{font-size:1.3rem}
.info-item h4{font-size:1rem}
.info-box{padding:25px 15px}
.info-box h3{font-size:1.3rem}
.info-box li{font-size:.9rem}
.accordion-header{padding:12px 15px;font-size:.9rem}
.accordion-icon{font-size:1.3rem}
.footer-grid{gap:25px}
.footer-col h4{font-size:1rem}
.footer-col p,.footer-col a{font-size:.9rem}
.footer-bottom p{font-size:.85rem}
}
