:root{--sand:#f5efe7;--coral:#d95d3f;--blue:#56aebd;--ink:#201f1d;--muted:#6d6861;--white:#fffdf9;--space:clamp(105px,12vw,185px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:"Open Sauce","Helvetica Neue",Arial,sans-serif;font-weight:300;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{text-decoration:none;color:inherit}button{font:inherit}
.header{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;color:#fff;background:linear-gradient(rgba(0,0,0,.58),transparent)}
.logo{display:flex;flex-direction:column;font-weight:800;text-transform:uppercase;line-height:.9}.logo small{font-size:.62rem;letter-spacing:.18em;margin-top:8px}
nav{display:flex;gap:26px;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em}.langs{display:flex;gap:5px}.langs button{color:#fff;border:1px solid rgba(255,255,255,.55);background:transparent;padding:5px 8px;cursor:pointer}.langs button.active{background:#fff;color:#222}.menu-btn{display:none;border:0;background:transparent;color:#fff;font-size:1.6rem}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;background:url("assets/hero.jpg") center/cover no-repeat}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.12) 68%,rgba(0,0,0,.3))}
.hero-copy{position:relative;z-index:2;color:#fff;max-width:850px;padding:130px 7vw 80px}.overline{text-transform:uppercase;font-weight:800;letter-spacing:.19em;font-size:.76rem;color:var(--coral);margin:0 0 18px}.hero .overline{color:#fff}
h1,h2,h3{font-weight:800;line-height:1.02;margin:0 0 24px}h1{font-size:clamp(3.6rem,8.3vw,8rem)}h2{font-size:clamp(2.5rem,5.3vw,5.2rem)}h3{font-size:1.65rem}.script{font-family:"Breathing","Brush Script MT",cursive;font-size:clamp(2rem,4vw,4rem);line-height:1;color:var(--coral);margin:-12px 0 25px}.hero .script{color:#fff}.lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:630px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;text-transform:uppercase;font-size:.76rem;font-weight:800;letter-spacing:.09em;transition:.25s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--coral);color:#fff}.secondary{background:var(--blue);color:#fff}.outline{border:1px solid #fff;color:#fff}
.section{padding:var(--space) 7vw}.section-title{max-width:860px;text-align:center;margin:0 auto 78px}.section-title>p:last-child{font-size:1.12rem;color:var(--muted)}
.duo{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.duo>img{height:720px}.duo-copy p{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.chips span{border:1px solid #d9d0c7;padding:10px 14px;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.menu-section{background:var(--sand)}.split-title{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;margin-bottom:72px}.split-title>p{font-size:1.12rem;color:var(--muted)}
.carousel-shell{position:relative}.carousel{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.carousel::-webkit-scrollbar{display:none}.carousel img{flex:0 0 clamp(270px,29vw,430px);height:540px;scroll-snap-align:start}.car-btn{position:absolute;top:45%;z-index:2;width:52px;height:52px;border-radius:50%;border:0;background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.15);font-size:2rem;cursor:pointer}.prev{left:-26px}.next{right:-26px}.center{text-align:center;margin-top:48px}
.beach-section{display:grid;grid-template-columns:1.08fr .92fr;padding-left:0;padding-right:0}.beach-photo{min-height:760px}.beach-copy{padding:80px 9vw;display:flex;flex-direction:column;justify-content:center}.beach-copy p:not(.overline,.script){color:var(--muted);margin-bottom:34px}
.music-section{background:#fff}.mosaic{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:300px;gap:22px}.mosaic .tall{grid-row:span 2}
.gallery-section{background:var(--sand)}.gallery{columns:4 250px;column-gap:18px}.gallery img{height:auto;margin:0 0 18px;break-inside:avoid}
.booking-section{background:#fff}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;max-width:1050px;margin:auto}.booking-card{padding:58px 45px;text-align:center;background:var(--sand)}.booking-card>span{font-size:3rem;display:block;margin-bottom:20px}.booking-card p{color:var(--muted);margin-bottom:28px}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.contact-section>img{height:650px}.contact-copy{display:flex;flex-direction:column;align-items:flex-start}.contact-copy>a{font-weight:800;margin-top:12px}
footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 7vw;background:#1f1e1c;color:#fff;font-size:.8rem}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(28px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){nav{display:none;position:absolute;top:72px;left:4vw;right:4vw;padding:25px;background:#222;flex-direction:column}nav.open{display:flex}.menu-btn{display:block}.duo,.split-title,.beach-section,.contact-section{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr}.mosaic .tall{grid-row:span 1}.duo>img,.contact-section>img{height:520px}.beach-photo{min-height:560px}}
@media(max-width:600px){:root{--space:95px}.header{padding:14px 18px}.logo{font-size:.95rem}.hero-copy{padding:115px 22px 100px}h1{font-size:3.55rem}.actions{flex-direction:column}.section{padding-left:22px;padding-right:22px}.duo>img{height:450px}.carousel img{flex-basis:82vw;height:440px}.car-btn{display:none}.beach-section{padding-top:0;padding-bottom:0}.beach-copy{padding:90px 22px}.mosaic{grid-template-columns:1fr;grid-auto-rows:420px}.booking-card{padding:42px 24px}.contact-section{padding-bottom:110px}.contact-section>img{height:430px}footer{padding-bottom:95px;flex-direction:column;text-align:center}.mobile-bar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:35;color:#fff}.mobile-bar a{padding:16px 8px;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800}.mobile-bar a:nth-child(1){background:var(--coral)}.mobile-bar a:nth-child(2){background:var(--blue)}.mobile-bar a:nth-child(3){background:#222}}

/* Official branding */
.logo-header{display:block;width:clamp(150px,15vw,225px);line-height:0}
.logo-header img,.logo-footer img{width:100%;height:auto;object-fit:contain}
.header-actions{display:flex;align-items:center;gap:16px}
.instagram-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px}
.instagram-link svg,.instagram-contact svg,.footer-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.instagram-contact{display:inline-flex;align-items:center;gap:10px}
.logo-footer{display:block;width:210px;line-height:0}
footer{display:block;padding:0;background:#1f1e1c;color:#fff}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 7vw 35px}
.footer-links{display:flex;align-items:center;gap:24px;font-size:.8rem}
.footer-links>a:first-child{display:flex;align-items:center}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.16);padding:20px 7vw;font-size:.76rem;color:rgba(255,255,255,.72)}
.footer-bottom p{margin:0}
.footer-bottom a{color:#fff;font-weight:700}
@media(max-width:900px){
  .header-actions{gap:9px}
  .logo-header{width:155px}
}
@media(max-width:600px){
  .logo-header{width:128px}
  .instagram-link{width:29px;height:29px}
  .instagram-link svg{width:19px;height:19px}
  .langs button{padding:4px 6px;font-size:.68rem}
  .footer-main,.footer-bottom{flex-direction:column;text-align:center}
  .footer-main{padding-bottom:28px}
  .footer-bottom{padding-bottom:94px}
  .logo-footer{width:190px}
}

/* V4 refinements */
:root{--brand-blue:#72b7c8}
.blue-label{color:var(--brand-blue)!important}

.hero{background:none;overflow:hidden}
.hero-slider{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity 1.2s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1.08)}
.hero-copy{max-width:760px}
.hero h1{font-size:clamp(3.1rem,6.3vw,6rem);line-height:.88;max-width:760px;letter-spacing:-.035em}
.hero .script{margin-top:8px}
.experience-slider{position:relative;height:720px;overflow:hidden}
.experience-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
.experience-slide.active{opacity:1}
.duo-copy>p:not(.overline){font-size:1.08rem}
.contact-location-image{object-position:center}

@media(max-width:900px){
  .experience-slider{height:520px}
  .hero h1{font-size:clamp(3rem,9vw,5rem);line-height:.92}
}
@media(max-width:600px){
  .hero h1{font-size:3.2rem;line-height:.9}
  .hero-copy{max-width:100%}
  .experience-slider{height:450px}
}

/* V5 booking cards with photography */
.booking-card-photo{
  padding:0;
  overflow:hidden;
  background:var(--sand);
  text-align:left;
}
.booking-card-photo>img{
  width:100%;
  height:380px;
  object-fit:cover;
}
.booking-card-content{
  padding:38px 38px 42px;
}
.booking-card-content h3{
  margin-bottom:14px;
}
.booking-card-content p{
  margin-bottom:26px;
}
@media(max-width:900px){
  .booking-card-photo>img{height:340px}
}
@media(max-width:600px){
  .booking-card-photo>img{height:300px}
  .booking-card-content{padding:30px 24px 34px}
}

.events-feature-section,.private-events-section{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}.private-events-section{background:var(--sand)}.events-feature-image,.private-events-image{height:690px}.events-feature-copy>p:not(.overline),.private-events-copy>p:not(.overline){font-size:1.08rem;color:var(--muted);margin-bottom:32px}.private-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 34px}.private-highlights span{border:1px solid #d7cec4;padding:10px 13px;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.private-actions{display:flex;gap:12px;flex-wrap:wrap}.pdf-btn{background:#201f1d;color:#fff}.parking-strip{padding:0 7vw 110px;background:var(--sand)}.parking-inner{max-width:1200px;margin:auto;border-top:1px solid #d9d0c7;border-bottom:1px solid #d9d0c7;padding:48px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.parking-inner h3{margin:0}.parking-inner>p{color:var(--muted);font-size:1.05rem;margin:0}.parking-note{color:var(--brand-blue)!important;font-weight:700;margin-top:8px}@media(max-width:900px){.events-feature-section,.private-events-section,.parking-inner{grid-template-columns:1fr}.events-feature-image,.private-events-image{height:540px}.private-events-copy{order:2}.private-events-image{order:1}}@media(max-width:600px){.events-feature-image,.private-events-image{height:430px}.private-actions{flex-direction:column;align-items:stretch}.parking-strip{padding:0 22px 95px}}

/* V7 — hero slider with the new location/beach photographs */
.hero{background:none;overflow:hidden}
.hero-slider{position:absolute;inset:0;z-index:0;background:#111}
.hero-slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.02);
  transition:opacity 1.25s ease,transform 7s ease;
}
.hero-slide.active{opacity:1;transform:scale(1.07)}
.hero .shade{z-index:1}
.hero .hero-copy{z-index:2}
@media(max-width:600px){
  .hero-slide{object-position:center center}
}

/* V8 — video reale nella sezione Eventos */
.events-feature-video{overflow:hidden;background:#111}
.events-feature-video video{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
}

/* V9 — cartel Música en Vivo */
.music-poster{
  width:min(520px,100%);
  margin:0 auto 48px;
}
.music-poster img{
  display:block;
  width:100%;
  height:auto;
  border-radius:2px;
}
@media (max-width:700px){
  .music-poster{margin-bottom:30px}
}

/* V10 — remove gallery, music slider, full eclipse video, wedding slider */

/* Music slider */
.music-slider-shell{position:relative}
.music-slider{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:4px 0 16px;
}
.music-slider::-webkit-scrollbar{display:none}
.music-slider figure{
  margin:0;
  flex:0 0 clamp(300px,38vw,560px);
  height:520px;
  scroll-snap-align:start;
  overflow:hidden;
}
.music-slider figure img{
  width:100%;height:100%;object-fit:cover;
}
.music-slider .music-poster-slide{
  flex-basis:clamp(280px,29vw,430px);
}
.music-slider .music-poster-slide img{object-fit:contain;background:var(--sand)}
.music-slider-btn{
  position:absolute;top:46%;z-index:3;
  width:52px;height:52px;border:0;border-radius:50%;
  background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.16);
  font-size:2rem;cursor:pointer;
}
.music-prev{left:-26px}.music-next{right:-26px}

/* Show the full vertical Eclipse video, without cropping */
.events-feature-video{
  height:auto !important;
  max-width:440px;
  width:100%;
  justify-self:center;
  background:#111;
  aspect-ratio:9 / 16;
}
.events-feature-video video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center;
  background:#111;
}

/* Wedding/private-event slider */
.private-events-slider{
  position:relative;
  height:690px;
  overflow:hidden;
  background:#eee7de;
}
.private-event-slide{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1s ease;
}
.private-event-slide.active{opacity:1}

/* Gallery was intentionally removed */
.gallery-section{display:none!important}

@media(max-width:900px){
  .private-events-slider{height:560px}
  .events-feature-video{max-width:390px}
}
@media(max-width:600px){
  .music-slider figure{flex-basis:84vw;height:430px}
  .music-slider-btn{display:none}
  .private-events-slider{height:500px}
  .events-feature-video{max-width:100%}
}
