*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f1e9;color:#1e2929;font-family:Inter,sans-serif;font-weight:300}a{text-decoration:none;color:inherit}img{display:block;width:100%}:root{--ink:#1e2929;--green:#173638;--cream:#f5f1e9;--muted:#697471;--white:#fff}header{position:absolute;z-index:20;width:100%;padding:24px 6vw;display:flex;justify-content:space-between;align-items:center;color:#fff;transition:.3s}.logo{display:flex;flex-direction:column}.logo strong{font-size:17px;letter-spacing:.25em}.logo small{font-size:8px;letter-spacing:.28em;margin-top:7px}nav{display:flex;align-items:center;gap:28px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.reserve{border:1px solid rgba(255,255,255,.8);padding:11px 17px}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:100vh;min-height:720px;background:url('images/1.png') center/cover;display:flex;align-items:flex-end;position:relative}.overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,29,31,.8),rgba(9,29,31,.04) 67%)}.hero-copy{position:relative;color:#fff;padding:0 7vw 10vh;max-width:1100px}.kicker{font-size:10px;letter-spacing:.24em;font-weight:500;margin:0 0 20px}.dark{color:var(--muted)}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:.96;margin:0}h1{font-size:clamp(64px,8.6vw,126px)}h2{font-size:clamp(48px,6vw,82px)}h3{font-size:38px}.hero-text{font-size:19px;max-width:650px;line-height:1.7}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:16px 24px;border:1px solid;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.light{background:#fff;color:var(--green);border-color:#fff}.ghost{color:#fff;border-color:#fff}.scroll{position:absolute;right:5vw;bottom:4vh;color:#fff;font-size:30px}.intro{padding:130px 7vw;text-align:center;max-width:1160px;margin:auto}.lead{font-size:17px;line-height:1.9;color:var(--muted);max-width:800px;margin:36px auto 0}.moment{display:grid;grid-template-columns:1.25fr .75fr;min-height:690px;background:#fff}.moment.reverse{grid-template-columns:.75fr 1.25fr}.moment.reverse .moment-photo{order:2}.moment-photo img{height:100%;min-height:690px;object-fit:cover}.moment-copy{padding:80px;align-self:center}.moment-copy p:last-child{font-size:16px;line-height:1.9;color:var(--muted)}.moment-number{font-family:'Cormorant Garamond';font-size:54px;color:#d1c7b6;display:block;margin-bottom:30px}.quote-band{padding:70px 7vw;background:#e9e0d2;text-align:center}.quote-band p{font-family:'Cormorant Garamond';font-size:clamp(34px,4vw,58px);margin:0}.cinematic-grid{padding:14px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:330px 330px;gap:14px;background:#fff}.cinematic-grid figure{margin:0;overflow:hidden}.cinematic-grid img{height:100%;object-fit:cover;transition:transform .5s}.cinematic-grid figure:hover img{transform:scale(1.02)}.cinematic-grid .hero-tile{grid-row:1/3}.villa-summary{padding:120px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.summary-copy>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:600px}.facts{display:flex;gap:45px;flex-wrap:wrap;margin-top:38px}.facts span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.facts b{font-family:'Cormorant Garamond';font-size:36px;display:block;font-weight:500}.rooms{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;padding:0 7vw 120px}.rooms article{position:relative;min-height:520px;overflow:hidden}.rooms img{height:100%;object-fit:cover;filter:brightness(.9)}.rooms article>div{position:absolute;left:0;right:0;bottom:0;padding:28px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.5))}.rooms .kicker{margin-bottom:10px}.details-strip{padding:120px 7vw;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.details-strip article{margin:0}.details-strip img{height:380px;object-fit:cover}.details-strip span{font-family:'Cormorant Garamond';font-size:24px;display:block;margin-top:14px}.night{height:780px;background:linear-gradient(rgba(8,29,31,.12),rgba(8,29,31,.72)),url('images/2.jpeg') center/cover;display:flex;align-items:flex-end;padding:8vw;color:#fff}.night-copy{max-width:760px}.night-copy p:last-child{font-size:17px;line-height:1.8}.gallery,.island{padding:120px 7vw}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:58px}.section-heading>p{line-height:1.8;color:var(--muted);max-width:500px}.gallery-grid{columns:4 260px;column-gap:12px}.gallery-grid img{width:100%;height:auto;margin:0 0 12px;break-inside:avoid;transition:transform .3s}.gallery-grid img:hover{transform:scale(1.01)}.island-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.island-grid figure{margin:0;position:relative;overflow:hidden}.island-grid img{height:390px;object-fit:cover}.island-big{grid-row:span 2}.island-big img{height:794px}.island-grid figcaption{position:absolute;bottom:0;left:0;color:#fff;padding:24px;font-family:'Cormorant Garamond';font-size:29px;text-shadow:0 2px 14px #000}.final-book{padding:130px 7vw;background:var(--green);color:#fff;text-align:center}.final-book p:not(.kicker){line-height:1.8;margin:28px auto;max-width:560px}.floating-book{position:fixed;z-index:30;right:24px;bottom:24px;background:#fff;color:var(--green);padding:14px 19px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;box-shadow:0 10px 35px rgba(0,0,0,.18)}footer{padding:45px 7vw;background:#0e1c1d;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:30px;font-size:11px}footer p{opacity:.65}@media(max-width:900px){header{padding:20px 5vw}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#102a2c;padding:26px 7vw;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{min-height:660px}.hero-copy{padding:0 7vw 9vh}.hero-text{font-size:17px}.actions{flex-wrap:wrap}.intro{padding:90px 7vw}.moment,.moment.reverse{grid-template-columns:1fr}.moment.reverse .moment-photo{order:0}.moment-photo img{min-height:430px;height:430px}.moment-copy{padding:60px 7vw}.moment-number{font-size:44px}.cinematic-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.cinematic-grid figure,.cinematic-grid .hero-tile{height:260px;grid-row:auto}.cinematic-grid .hero-tile{grid-column:span 2;height:360px}.villa-summary{grid-template-columns:1fr;gap:30px;padding:90px 7vw}.rooms{grid-template-columns:1fr;padding-bottom:85px}.rooms article{min-height:480px}.details-strip{grid-template-columns:1fr 1fr;padding:85px 7vw}.details-strip img{height:300px}.gallery,.island{padding:90px 7vw}.section-heading{grid-template-columns:1fr;gap:25px}.island-grid{grid-template-columns:1fr}.island-big{grid-row:auto}.island-grid img,.island-big img{height:390px}.final-book{padding:90px 7vw}footer{flex-direction:column;align-items:flex-start}.floating-book{right:14px;bottom:14px}}

/* ===== V4 RESPONSIVE REFINEMENT ===== */

/* DESKTOP / LARGE SCREENS */
@media (min-width: 1200px){
  header{padding-left:5.5vw;padding-right:5.5vw}
  .hero-copy{padding-left:6.5vw;max-width:1150px}
  .hero h1{max-width:1050px}
  .intro{max-width:1220px}
  .moment-copy{padding:90px}
  .moment-photo img{min-height:760px}
  .cinematic-grid{grid-template-rows:380px 380px}
  .rooms article{min-height:590px}
  .details-strip img{height:420px}
  .night{height:840px}
  .gallery-grid{columns:4 300px}
}

/* LAPTOP */
@media (min-width: 901px) and (max-width: 1199px){
  header{padding-left:4vw;padding-right:4vw}
  nav{gap:20px}
  .hero-copy{padding-left:6vw}
  .moment-copy{padding:60px}
  .rooms{grid-template-columns:1.3fr 1fr 1fr}
  .details-strip img{height:340px}
}

/* MOBILE / TABLET PORTRAIT */
@media (max-width: 900px){
  body{background:#f7f3ec}
  header{
    position:absolute;
    padding:18px 18px;
  }
  .logo strong{font-size:14px;letter-spacing:.2em}
  .logo small{font-size:7px;letter-spacing:.22em}
  .hero{
    height:92svh;
    min-height:620px;
    background-position:58% center;
  }
  .hero-copy{
    padding:0 20px 52px;
    max-width:none;
  }
  .hero h1{
    font-size:54px;
    line-height:.93;
    max-width:92%;
  }
  .hero-text{
    font-size:15px;
    line-height:1.6;
    max-width:92%;
    margin-top:20px;
  }
  .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    max-width:330px;
  }
  .actions .btn{
    text-align:center;
  }
  .scroll{display:none}

  .intro{
    padding:72px 22px;
    text-align:left;
  }
  .intro h2{
    font-size:49px;
  }
  .lead{
    margin-left:0;
    font-size:15px;
    line-height:1.8;
  }

  .quote-band{
    padding:52px 22px;
  }
  .quote-band p{
    font-size:36px;
    line-height:1.08;
  }

  .moment,
  .moment.reverse{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .moment-photo,
  .moment.reverse .moment-photo{
    order:0;
  }
  .moment-photo img{
    height:58svh;
    min-height:420px;
    max-height:620px;
    object-fit:cover;
  }
  .moment-copy{
    padding:52px 22px 64px;
  }
  .moment-copy h2{
    font-size:48px;
  }
  .moment-number{
    font-size:42px;
    margin-bottom:20px;
  }

  .cinematic-grid{
    padding:8px;
    gap:8px;
    grid-template-columns:1fr 1fr;
  }
  .cinematic-grid .hero-tile{
    grid-column:1/3;
    height:54svh;
  }
  .cinematic-grid figure:not(.hero-tile){
    height:230px;
  }

  .villa-summary{
    padding:74px 22px;
    grid-template-columns:1fr;
  }
  .villa-summary h2{font-size:50px}
  .facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px 18px;
  }

  .rooms{
    padding:0 10px 70px;
    gap:10px;
  }
  .rooms article{
    min-height:70svh;
  }
  .rooms article>div{
    padding:24px 18px;
  }
  .rooms h3{
    font-size:34px;
  }

  .details-strip{
    padding:70px 10px;
    gap:10px;
  }
  .details-strip img{
    height:240px;
  }
  .details-strip span{
    font-size:20px;
  }

  .night{
    height:84svh;
    min-height:620px;
    padding:0 22px 58px;
    background-position:54% center;
  }
  .night h2{
    font-size:52px;
  }

  .gallery,
  .island{
    padding:76px 14px;
  }
  .section-heading{
    padding:0 8px;
  }
  .section-heading h2{
    font-size:50px;
  }
  .gallery-grid{
    columns:2 150px;
    column-gap:8px;
  }
  .gallery-grid img{
    margin-bottom:8px;
  }

  .island-grid{
    gap:8px;
  }
  .island-grid img,
  .island-big img{
    height:62svh;
    min-height:420px;
  }
  .island-grid figcaption{
    font-size:25px;
    padding:18px;
  }

  .final-book{
    padding:82px 22px 100px;
  }
  .final-book h2{
    font-size:54px;
  }
  .final-book .btn{
    width:100%;
    max-width:330px;
  }

  .floating-book{
    left:14px;
    right:14px;
    bottom:12px;
    text-align:center;
    padding:15px 18px;
  }

  footer{
    padding:45px 22px 85px;
  }
}

/* VERY SMALL PHONES */
@media (max-width: 430px){
  .hero h1{font-size:48px}
  .intro h2,
  .moment-copy h2,
  .villa-summary h2,
  .section-heading h2,
  .night h2,
  .final-book h2{font-size:44px}
  .details-strip{
    grid-template-columns:1fr 1fr;
  }
  .details-strip img{height:210px}
  .gallery-grid{columns:2 140px}
}


/* V8 — REAL GUEST REVIEWS */
.reviews{padding:120px 7vw;background:#eee7dc}
.reviews .section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:55px}
.reviews .section-head>p{color:#697471;line-height:1.8;max-width:520px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-card{background:#fff;padding:34px;min-height:315px;display:flex;flex-direction:column;justify-content:space-between}
.review-score{font:500 42px 'Cormorant Garamond',serif;color:#173638}
.review-card blockquote{font:500 27px/1.18 'Cormorant Garamond',serif;margin:22px 0;color:#263333}
.review-card .meta{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#75807c;line-height:1.7}
.review-card .platform{margin-top:8px;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.review-note{font-size:10px;color:#7a827f;margin-top:25px}
@media(max-width:900px){
 .reviews{padding:80px 14px}
 .reviews .section-head{grid-template-columns:1fr;gap:24px;padding:0 8px}
 .review-grid{grid-template-columns:1fr}
 .review-card{min-height:0;padding:28px 24px}
 .review-card blockquote{font-size:25px}
}


/* ===== V9: SOCIAL + LANGUAGE UX ===== */
.utility-bar{position:absolute;z-index:25;top:82px;right:6vw;display:flex;align-items:center;gap:14px;color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.lang-switch{display:flex;gap:7px;align-items:center}
.lang-switch button{appearance:none;border:0;background:transparent;color:inherit;padding:3px 1px;font:inherit;cursor:pointer;opacity:.62}
.lang-switch button.active,.lang-switch button:hover{opacity:1;border-bottom:1px solid currentColor}
.social-mini{display:flex;gap:10px;border-left:1px solid rgba(255,255,255,.45);padding-left:14px}
.social-mini a{opacity:.75}.social-mini a:hover{opacity:1}
.whatsapp-float{position:fixed;z-index:35;right:24px;bottom:76px;width:48px;height:48px;border-radius:50%;background:#fff;color:#173638;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:17px;box-shadow:0 10px 35px rgba(0,0,0,.18)}
.social-section{padding:105px 7vw;background:#fff;text-align:center}
.social-section h2{margin-bottom:24px}
.social-section>p{max-width:650px;margin:0 auto 30px;color:#697471;line-height:1.8}
.social-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.social-btn{display:inline-block;padding:15px 22px;border:1px solid #173638;color:#173638;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.social-btn:hover{background:#173638;color:#fff}
.lang-note{font-size:10px;color:#7c8581;margin-top:22px}
@media(max-width:900px){
 .utility-bar{top:70px;left:18px;right:auto;gap:10px}
 .social-mini{display:none}
 .whatsapp-float{right:14px;bottom:68px;width:45px;height:45px}
 .social-section{padding:75px 22px}
 .social-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:330px;margin:auto}
}


/* ===== V10: DECISION + EXPERIENCE ===== */
.compare,.day,.amenities,.faq{padding:115px 7vw}
.compare{background:#f5f1e9}
.compare-head,.day-head,.amenities-head,.faq-head{max-width:850px;margin-bottom:52px}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compare-card{background:#fff;padding:42px}
.compare-card h3{font-size:40px;margin-bottom:25px}
.compare-list{display:grid;gap:0;border-top:1px solid #d9d4ca}
.compare-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e3ded5;font-size:12px}
.compare-row span:last-child{text-align:right;font-weight:500}
.compare-card .btn{margin-top:28px;border-color:#173638;color:#173638}
.day{background:#173638;color:#fff}
.day-head p:last-child{line-height:1.8;opacity:.78}
.day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.day-card{position:relative;min-height:460px;overflow:hidden}
.day-card img{height:100%;object-fit:cover;filter:brightness(.72)}
.day-copy{position:absolute;inset:auto 0 0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.day-time{font:500 32px 'Cormorant Garamond',serif}
.day-copy h3{font-size:30px;margin-top:8px}
.amenities{background:#fff}
.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.amenity{padding:27px 22px;border:1px solid #dedbd4;min-height:130px}
.amenity .ico{font-size:25px;display:block;margin-bottom:18px}
.amenity strong{display:block;font:500 24px 'Cormorant Garamond',serif;margin-bottom:7px}
.amenity small{color:#697471;line-height:1.5}
.faq{background:#eee7dc}
.faq-list{max-width:980px}
.faq details{border-top:1px solid #cfc7bb;padding:22px 0}
.faq details:last-child{border-bottom:1px solid #cfc7bb}
.faq summary{cursor:pointer;font:500 27px 'Cormorant Garamond',serif;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary:after{content:"+";font-family:Inter;font-size:20px;font-weight:300}
.faq details[open] summary:after{content:"–"}
.faq details p{max-width:780px;color:#65716d;line-height:1.8;font-size:14px}
.direct-note{text-align:center;padding:85px 7vw;background:#e5dccf}
.direct-note h2{max-width:1000px;margin:auto}
.direct-note p{margin:28px auto 0;color:#697471;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
@media(max-width:900px){
 .compare,.day,.amenities,.faq{padding:78px 18px}
 .compare-grid{grid-template-columns:1fr}
 .compare-card{padding:28px 22px}
 .day-grid{grid-template-columns:1fr}
 .day-card{min-height:62svh}
 .amenities-grid{grid-template-columns:1fr 1fr}
 .amenity{padding:22px 16px}
 .faq summary{font-size:24px}
 .direct-note{padding:70px 22px}
}
