:root{--green:#12382a;--gold:#c9a24f;--cream:#f5efe3;--ink:#142019;--muted:#6a766f}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}img{display:block;width:100%;height:100%;object-fit:cover}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font-weight:900}.brand img{width:48px;height:48px;object-fit:contain}.topbar nav{display:flex;gap:22px;align-items:center}.topbar a{color:var(--ink);text-decoration:none;font-weight:800;font-size:14px}.cta{background:var(--green);color:#fff!important;padding:12px 18px;border-radius:999px}.menuBtn{display:none}.hero{height:100vh;min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden}.heroImg,.veil{position:absolute;inset:0}.veil{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.34),rgba(0,0,0,.04))}.heroText{position:relative;color:#fff;max-width:820px;margin-left:5vw;padding-top:80px}.over{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:12px;font-weight:900;margin:0 0 14px}.hero h1{font-family:Georgia,serif;font-size:clamp(70px,11vw,150px);line-height:.85;margin:0 0 24px}.hero p:not(.over){font-size:clamp(21px,2.5vw,32px);line-height:1.4;max-width:720px}.btn{display:inline-flex;justify-content:center;border:0;text-decoration:none;border-radius:999px;padding:15px 23px;margin:10px 10px 0 0;font-weight:900;cursor:pointer}.gold{background:var(--gold);color:#1d1608}.ghost{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.12)}.section{padding:95px 5vw}.intro,.two{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}.beige{background:var(--cream)}.dark{background:var(--green);color:#fff}h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,70px);line-height:1;margin:0 0 20px}p{line-height:1.7}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.rooms article{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.14)}.rooms article>img{height:310px}.rooms article div:not(.mini){padding:24px}.rooms h3{font-size:24px;margin:0 0 8px}.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.mini img{height:68px;border-radius:10px}.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mosaic figure{margin:0;position:relative}.mosaic img,.mosaic figure{height:190px;border-radius:22px;overflow:hidden}.mosaic figure:first-child{grid-column:span 2;grid-row:span 2}.mosaic figure:first-child,.mosaic figure:first-child img{height:392px}.mosaic figcaption{padding:8px 2px;font-weight:800}.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.strip img{height:270px;border-radius:24px}.reverse{grid-template-columns:1.15fr .85fr}.booking{background:#f9f6ef}.booking form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;background:#fff;border-radius:30px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.12)}label{display:grid;gap:8px;font-weight:900;color:var(--green)}input,select,textarea{border:1px solid #d9ded9;border-radius:14px;padding:13px;font:inherit}.wide{grid-column:1/-1}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.filters button{border:1px solid #d9ded9;background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.filters .active{background:var(--green);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08)}.card img{height:235px}.card p{margin:0;padding:12px 14px;font-weight:800;font-size:13px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px 5vw;background:#0e1711;color:#fff}.credit{font-weight:900;background:#fff;color:#12382a;border-radius:999px;padding:10px 16px}@media(max-width:950px){.menuBtn{display:block;background:none;border:0;font-size:28px}.topbar nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 5vw;flex-direction:column;align-items:flex-start}.topbar nav.open{display:flex}.intro,.two,.reverse,.rooms,.booking form{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.section{padding:70px 6vw}.gallery,.strip{grid-template-columns:1fr}.heroText{margin:0 6vw}.hero h1{font-size:64px}}
.clickable-photo,.photoBox{cursor:zoom-in}.photoBox{transition:transform .18s ease,box-shadow .18s ease}.photoBox:hover{transform:translateY(-2px)}.noScroll{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:28px}.lightbox.open{display:flex}.lbFigure{margin:0;max-width:min(96vw,1400px);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lbFigure img{width:auto;height:auto;max-width:96vw;max-height:84vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.55)}.lbFigure figcaption{color:#fff;font-weight:800;text-align:center}.lbClose,.lbPrev,.lbNext{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.lbClose{top:22px;right:24px;width:48px;height:48px;border-radius:999px;font-size:34px;line-height:1}.lbPrev,.lbNext{top:50%;transform:translateY(-50%);width:58px;height:78px;border-radius:18px;font-size:58px;line-height:.6}.lbPrev{left:24px}.lbNext{right:24px}@media(max-width:700px){.lightbox{padding:14px}.lbPrev,.lbNext{width:44px;height:60px;font-size:42px}.lbPrev{left:8px}.lbNext{right:8px}.lbClose{top:10px;right:10px}.lbFigure img{max-width:98vw;max-height:78vh}}

.credit-logo{display:flex;align-items:center;gap:12px;background:#fff;color:#152018;padding:10px 14px;border-radius:18px}
.credit-logo img{width:54px;height:54px;object-fit:contain;display:block}
.credit-logo strong{font-weight:900;letter-spacing:.08em}
.credit-logo span{font-size:12px;color:#5e665f}
@media(max-width:640px){.credit-logo{align-items:flex-start}.credit-logo img{width:46px;height:46px}}




.footer-whatsapp{
  color:#25D366 !important;
  font-weight:700;
  text-decoration:none;
}
.footer-whatsapp:hover,
.footer-whatsapp:focus{
  color:#34eb7a !important;
  text-decoration:underline;
}


.section-description{
  max-width: 760px;
  font-size: 1.05rem;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: normal;
}
