*{box-sizing:border-box;margin:0;padding:0}
:root{--black:#0b0c0a;--black2:#11130f;--cream:#eee7da;--ivory:#f7f2e9;--text:#f6f1e8;--muted:#999d92;--gold:#cbb58a;--line:rgba(255,255,255,.12);--dark:#151712}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}
.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:300;width:0}
.header{position:fixed;z-index:200;top:0;left:0;width:100%;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(to bottom,rgba(7,8,7,.75),rgba(7,8,7,.12));backdrop-filter:blur(9px)}
.logo{display:flex;align-items:center;gap:12px}.logo-monogram{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-family:Georgia,serif;font-size:18px}
.logo-copy{display:flex;flex-direction:column;gap:3px}.logo-copy b{font-size:11px;letter-spacing:.2em}.logo-copy small{font-size:8px;letter-spacing:.22em;color:#aaa}
.nav{display:flex;align-items:center;gap:28px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.nav a{opacity:.82}.nav a:hover{opacity:1}.nav-book{border:1px solid rgba(255,255,255,.4);padding:12px 18px}.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.menu-btn span{display:block;background:#fff;width:25px;height:1px;margin:6px auto}

.hero{position:relative;height:100vh;min-height:760px;overflow:hidden;display:flex;align-items:flex-end;padding:130px 6vw 9vh}.hero-img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 62%;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.84) 0%,rgba(7,8,7,.4) 48%,rgba(7,8,7,.12) 100%),linear-gradient(0deg,rgba(7,8,7,.76),transparent 55%)}
.hero-grid{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.4fr .6fr;gap:6vw;align-items:end}.micro,.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#d0cbc1;font-weight:700}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(64px,8vw,132px);line-height:.76;letter-spacing:-.055em;margin-top:25px}.hero h1 em,.manifest h2 em,.signature-copy h2 em,.section-heading h2 em,.cinema-copy h2 em,.gallery-head h2 em,.landscape-content h2 em,.quote em,.booking-copy h2 em,.final-copy h2 em{color:var(--gold);font-style:italic;font-weight:500}.hero-main>p{max-width:600px;margin-top:32px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.65}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}.button{min-height:54px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.15em;font-weight:800;text-transform:uppercase;border:1px solid transparent}.button-light{background:#f2ede4;color:#141611}.button-light:hover{background:#fff}.link-arrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:7px}.link-arrow span{margin-left:8px}
.hero-card{background:rgba(15,17,14,.62);border:1px solid rgba(255,255,255,.14);padding:30px;backdrop-filter:blur(12px);max-width:420px}.card-kicker{font-size:9px;letter-spacing:.2em;color:#aaa}.hero-card strong{display:block;font-family:Georgia,serif;font-size:31px;line-height:1.02;margin-top:46px;font-weight:500}.hero-card p{color:#aaa;font-size:13px;line-height:1.55;margin-top:15px}.card-line{height:1px;background:rgba(255,255,255,.13);margin:28px 0 20px}.card-stats{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#aaa}.card-stats b{font-size:18px;color:#fff;font-family:Georgia,serif;font-weight:500}.scroll-note{position:absolute;right:4vw;bottom:26px;z-index:3;font-size:8px;letter-spacing:.18em;color:#aaa}.scroll-note span{margin-left:8px}

.ticker{overflow:hidden;background:var(--gold);color:#111;padding:16px 0}.ticker-track{display:flex;width:max-content;gap:28px;align-items:center;animation:ticker 30s linear infinite;font-size:10px;letter-spacing:.18em;font-weight:800}.ticker-track i{font-style:normal;font-size:10px}@keyframes ticker{to{transform:translateX(-50%)}}

.manifest{padding:140px 6vw 110px}.section-no{font-size:9px;letter-spacing:.18em;color:#777d72;margin-bottom:28px}.manifest-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.manifest h2,.signature-copy h2,.section-heading h2,.gallery-head h2,.landscape-content h2,.booking-copy h2{font-family:Georgia,serif;font-size:clamp(52px,6vw,96px);line-height:.84;letter-spacing:-.05em;font-weight:500}.manifest-copy{font-size:16px;line-height:1.7;color:#9da096}.manifest-copy p+p{margin-top:18px}.underline{display:inline-block;margin-top:30px;color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:7px}.manifest-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifest-stats div{padding:30px 18px 30px 0;border-right:1px solid var(--line)}.manifest-stats div:last-child{border-right:0}.manifest-stats b{display:block;font-family:Georgia,serif;font-size:40px;font-weight:500}.manifest-stats span{display:block;margin-top:8px;font-size:8px;letter-spacing:.16em;color:#7f8479}

.signature{background:var(--cream);color:var(--dark);display:grid;grid-template-columns:1.1fr .9fr;min-height:900px}.signature-photo{position:relative;overflow:hidden}.signature-photo img{height:100%;object-fit:cover;object-position:center}.image-tag{position:absolute;bottom:20px;left:20px;background:#0d0f0c;color:#fff;font-size:9px;letter-spacing:.16em;padding:12px 15px}.signature-copy{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}.dark-no,.eyebrow.dark{color:#676b61}.signature-copy>p:not(.eyebrow){color:#5e6258;line-height:1.7;font-size:16px;max-width:560px;margin-top:30px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:38px;border-top:1px solid rgba(0,0,0,.16)}.feature-grid span{padding:15px 0;border-bottom:1px solid rgba(0,0,0,.16);font-size:9px;letter-spacing:.13em}

.spaces{padding:140px 6vw}.section-heading{max-width:1050px;margin-bottom:80px}.section-heading .eyebrow,.gallery-head .eyebrow{margin-bottom:23px}.space-row{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center;padding:65px 0;border-top:1px solid var(--line)}.space-row.reverse{grid-template-columns:1.28fr .72fr}.space-text{max-width:430px}.space-num{font-size:9px;color:#74786f;letter-spacing:.16em}.space-text h3{font-family:Georgia,serif;font-size:48px;line-height:.95;margin-top:55px;font-weight:500}.space-text p{margin-top:20px;color:#91958b;line-height:1.7;font-size:15px}.space-pic{overflow:hidden}.space-pic img{height:620px;object-fit:cover;transition:transform .6s ease}.space-pic:hover img{transform:scale(1.025)}

.cinema{position:relative;height:86vh;min-height:650px;overflow:hidden}.cinema>img{position:absolute;inset:0;height:100%;object-fit:cover}.cinema-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.78),rgba(7,8,7,.15))}.cinema-copy{position:absolute;z-index:2;left:6vw;bottom:9vh}.cinema-copy>span{font-size:9px;letter-spacing:.2em}.cinema-copy h2{font-family:Georgia,serif;font-size:clamp(54px,6.8vw,108px);line-height:.84;font-weight:500;margin-top:22px}

.gallery{padding:140px 4vw;background:var(--cream);color:var(--dark)}.gallery-head{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;padding:0 2vw 50px}.gallery-head>p{color:#666b61;line-height:1.6;max-width:400px}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:12px}.photo{position:relative;border:0;padding:0;background:#111;overflow:hidden;cursor:pointer}.photo img{height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.photo:hover img{transform:scale(1.03);filter:brightness(.82)}.photo span{position:absolute;left:15px;bottom:13px;color:#fff;font-size:8px;letter-spacing:.15em;opacity:0;transform:translateY(5px);transition:.3s}.photo:hover span{opacity:1;transform:none}.photo.big{grid-column:span 2;grid-row:span 2}.photo.tall{grid-row:span 2}

.amenities{padding:140px 6vw}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity-grid>div{min-height:220px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.amenity-grid b{font-size:8px;letter-spacing:.14em;color:#777d72}.amenity-grid strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:500;margin-top:70px}.amenity-grid p{margin-top:8px;color:#858a80;font-size:13px}

.landscape{position:relative;height:90vh;min-height:700px;display:grid;place-items:center;overflow:hidden}.landscape>img{position:absolute;inset:0;height:100%;object-fit:cover}.landscape-shade{position:absolute;inset:0;background:rgba(7,8,7,.55)}.landscape-content{position:relative;z-index:2;text-align:center;max-width:1100px;padding:0 5vw}.landscape-content .section-no{color:#c8c8c0}.landscape-content>p:last-child{max-width:640px;margin:30px auto 0;color:rgba(255,255,255,.78);line-height:1.7}

.quote{padding:130px 6vw;text-align:center;background:#11130f}.quote-mark{height:70px;font-family:Georgia,serif;font-size:100px;color:var(--gold)}.quote p{font-family:Georgia,serif;font-size:clamp(38px,5vw,78px);line-height:.98}

.booking{padding:140px 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.booking-copy>p:last-child{color:#969a90;line-height:1.7;max-width:500px;margin-top:28px}.booking-card{border-top:1px solid var(--line)}.booking-row{display:flex;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.booking-row span{font-size:8px;letter-spacing:.15em;color:#777c72}.booking-row strong{font-size:14px;font-weight:500;text-align:right}.full{width:100%;margin-top:30px}

.final{position:relative;height:86vh;min-height:680px;display:grid;place-items:center;overflow:hidden;text-align:center}.final>img{position:absolute;inset:0;height:100%;object-fit:cover}.final-shade{position:absolute;inset:0;background:rgba(7,8,7,.58)}.final-copy{position:relative;z-index:2}.final-copy h2{font-family:Georgia,serif;font-size:clamp(64px,8vw,126px);line-height:.78;font-weight:500;margin:25px 0 40px}

footer{padding:55px 5vw;background:#080907;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:35px;color:#777d72;font-size:10px;letter-spacing:.08em}.footer-brand{display:flex;align-items:center;gap:12px;color:#fff}.footer-brand div{display:flex;flex-direction:column;gap:5px}.footer-brand b{font-size:10px;letter-spacing:.16em}.footer-brand small{font-size:8px;color:#777}.footer-links{display:flex;flex-direction:column;gap:8px;text-transform:uppercase}.footer-small{line-height:1.7}

.floating-book{position:fixed;z-index:180;right:24px;bottom:24px;background:#f1ece3;color:#131510;padding:14px 16px 14px 18px;display:flex;align-items:center;gap:15px;box-shadow:0 10px 40px rgba(0,0,0,.25);font-size:9px;letter-spacing:.13em;font-weight:800}.floating-book b{font-size:18px}

.lightbox{position:fixed;z-index:500;inset:0;background:rgba(5,6,5,.96);display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}.close{position:absolute;top:22px;right:28px;color:#fff;background:transparent;border:0;font-size:40px;font-weight:200;cursor:pointer}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.14s}

@media(max-width:1050px){
 .hero-grid,.manifest-grid,.signature,.gallery-head,.booking{grid-template-columns:1fr}
 .hero-card{display:none}
 .signature-photo{min-height:62vh}
 .space-row,.space-row.reverse{grid-template-columns:1fr;gap:35px}
 .space-row.reverse .space-pic{order:2}.space-row.reverse .space-text{order:1}
 .space-pic img{height:70vh;max-height:680px}
 .mosaic{grid-template-columns:repeat(3,1fr)}
 .amenity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
 .nav{position:fixed;right:-100%;top:0;width:min(84vw,420px);height:100vh;background:#0c0e0b;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px;transition:.35s;font-size:12px}.nav.open{right:0}.menu-btn{display:block;z-index:220}
 .hero{padding:130px 22px 80px;min-height:760px}.hero h1{font-size:clamp(56px,16vw,86px)}.hero-main>p{font-size:15px}.scroll-note{display:none}
 .manifest,.spaces,.amenities,.booking,.quote{padding:100px 22px}
 .manifest-stats{grid-template-columns:1fr 1fr}.manifest-stats div:nth-child(2){border-right:0}
 .signature-copy{padding:100px 22px}
 .gallery{padding:100px 16px}.gallery-head{padding:0 6px 35px}
 .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.photo.big{grid-column:span 2}.photo.tall{grid-row:span 2}
 .amenity-grid{grid-template-columns:1fr}
 .cinema-copy{left:22px;bottom:70px}.cinema{height:75vh}
 footer{grid-template-columns:1fr 1fr}
 .floating-book{right:12px;bottom:12px}
}
@media(max-width:520px){
 .logo-copy{display:none}
 .hero{min-height:720px}.hero h1{font-size:55px}.hero-actions{align-items:flex-start;flex-direction:column}
 .manifest h2,.signature-copy h2,.section-heading h2,.gallery-head h2,.landscape-content h2,.booking-copy h2{font-size:50px}
 .manifest-stats{grid-template-columns:1fr 1fr}.manifest-stats b{font-size:34px}
 .mosaic{grid-template-columns:1fr;grid-auto-rows:270px}.photo.big,.photo.tall{grid-column:auto;grid-row:auto}
 .feature-grid{grid-template-columns:1fr}
 .space-text h3{font-size:42px}
 .space-pic img{height:58vh}
 .landscape{min-height:740px}
 footer{grid-template-columns:1fr}
 .floating-book span{display:none}
}


/* ===== RESERVAS: BOOKING + WHATSAPP ===== */
.reservation-actions,
.booking-actions,
.final-actions{
  display:flex;
  align-items:stretch;
  gap:14px;
  flex-wrap:wrap;
}
.booking-actions{
  margin-top:30px;
}
.final-actions{
  justify-content:center;
}
.button-stack{
  height:auto;
  min-height:58px;
  flex-direction:column;
  gap:2px;
  line-height:1.05;
  padding-top:11px;
  padding-bottom:10px;
}
.button-main{
  display:block;
  font-size:10px;
  letter-spacing:.15em;
}
.button-sub{
  display:block;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:none;
  font-weight:500;
  opacity:.62;
}
.booking-button{
  min-width:210px;
}
.button-whatsapp{
  min-height:58px;
  background:#1f6a4a;
  color:#fff;
  border-color:#2f805d;
  gap:9px;
  padding-left:22px;
  padding-right:22px;
}
.button-whatsapp:hover{
  background:#267b57;
  border-color:#3c936d;
  transform:translateY(-2px);
}
.wa-icon{
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  font-size:13px;
  line-height:1;
}
.booking-actions .button{
  flex:1 1 220px;
}
.final-actions .button{
  min-width:220px;
}
.floating-whatsapp{
  background:#1f6a4a;
  color:#fff;
}
.floating-whatsapp:hover{
  background:#267b57;
}
.floating-whatsapp b{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  font-size:13px;
}
@media(max-width:640px){
  .reservation-actions,
  .booking-actions,
  .final-actions{
    width:100%;
    flex-direction:column;
  }
  .reservation-actions .button,
  .booking-actions .button,
  .final-actions .button{
    width:100%;
    min-width:0;
  }
  .hero-actions.reservation-actions{
    align-items:stretch;
  }
}
