:root{
  --gold:#c9a33a; --teal:#0f6571; --aqua:#20a6b0; --ink:#082f38; --cream:#fbf5e9; --white:#fff; --muted:#5f7074; --shadow:0 24px 70px rgba(8,47,56,.16);
  --radius:24px; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#f8f1e4 100%);line-height:1.6;overflow-x:hidden}.wrap{width:min(var(--max),92vw);margin-inline:auto}.skip{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:99}.skip:focus{left:10px}a{color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,101,113,.12)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand img{width:128px;height:58px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:22px;font-weight:700}.nav-links a{text-decoration:none;font-size:.92rem}.pill,.btn{border:0;text-decoration:none;border-radius:999px;padding:12px 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.25s ease}.pill{background:var(--teal);color:white}.lang-toggle,.menu-toggle{border:0;background:var(--gold);color:white;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.menu-toggle{display:none;font-size:1.2rem;background:var(--teal)}.hero{min-height:100svh;position:relative;display:grid;place-items:center;isolation:isolate;padding:120px 0 70px}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,47,56,.88),rgba(8,47,56,.47),rgba(8,47,56,.08));z-index:-1}.hero-content{color:white;max-width:850px;margin-left:calc((100vw - min(var(--max),92vw))/2)}.hero-logo{width:min(260px,62vw);background:rgba(255,255,255,.94);border-radius:22px;padding:14px;margin-bottom:20px;box-shadow:var(--shadow)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--gold);font-size:.82rem}.hero h1,h2{font-family:Cinzel,serif;line-height:1.06;margin:10px 0 18px}.hero h1{font-size:clamp(2.35rem,7vw,5.9rem);max-width:850px}.hero-text{font-size:clamp(1.05rem,2vw,1.35rem);max-width:690px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.primary{background:linear-gradient(135deg,var(--gold),#e5c45c);color:#092f38;box-shadow:0 12px 30px rgba(201,163,58,.32)}.secondary{background:rgba(255,255,255,.14);color:white;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(10px)}.small{background:var(--teal);color:white;margin-top:14px}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-42px;position:relative;z-index:5}.quick-info article{background:rgba(255,255,255,.92);border:1px solid rgba(15,101,113,.12);box-shadow:var(--shadow);border-radius:var(--radius);padding:26px}.quick-info span{color:var(--gold);font-weight:900}.quick-info strong{display:block;font-size:1.15rem;margin:4px 0}.quick-info p{margin:0;color:var(--muted)}section{padding:88px 0}.split{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:56px}.reverse{grid-template-columns:.92fr 1fr}.intro h2,.rooms h2,.beach h2,.gallery-section h2,.media h2,.location h2,.contact h2{font-size:clamp(2rem,4vw,3.6rem)}.intro p,.beach p,.social-box p,.location p,.contact p{color:var(--muted);font-size:1.03rem}.features{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.features span{background:#fff;border:1px solid rgba(15,101,113,.12);padding:10px 14px;border-radius:999px;font-weight:800;color:var(--teal)}.photo-card{position:relative}.photo-card:before{content:"";position:absolute;inset:28px -18px -18px 28px;background:var(--gold);border-radius:var(--radius);z-index:-1}.photo-card img,.photo-stack img,.card img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:var(--shadow)}.rooms{background:linear-gradient(135deg,rgba(15,101,113,.08),rgba(201,163,58,.11))}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.card{background:white;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(15,101,113,.1)}.card img{border-radius:0;height:260px;object-fit:cover}.card div{padding:24px}.card h3{font-size:1.25rem;margin:0 0 10px}.card p{color:var(--muted);margin:0}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.photo-stack img:first-child{transform:translateY(-24px)}.gallery-section{background:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.gallery-item{border:0;padding:0;background:transparent;cursor:pointer;border-radius:18px;overflow:hidden;box-shadow:0 16px 42px rgba(8,47,56,.12)}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.06)}.media{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.video-box,.social-box{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;border:1px solid rgba(15,101,113,.1)}.video-box iframe{width:100%;aspect-ratio:9/16;max-height:620px;border:0;border-radius:18px;background:#000}.fb-embed iframe{width:100%;max-width:100%;border-radius:18px}.location{background:linear-gradient(135deg,var(--ink),#0f6571);color:white}.location p{color:rgba(255,255,255,.8)}.location-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:36px;align-items:center}.contact-list{display:grid;gap:12px;margin-top:24px}.contact-list a{color:white;text-decoration:none;background:rgba(255,255,255,.12);padding:13px 16px;border-radius:14px}.map{width:100%;height:430px;border:0;border-radius:var(--radius);box-shadow:0 24px 70px rgba(0,0,0,.24)}.contact-card{display:grid;grid-template-columns:.8fr 1fr;gap:34px;background:white;border-radius:32px;box-shadow:var(--shadow);padding:34px;border:1px solid rgba(15,101,113,.1)}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:800;color:var(--ink)}input,textarea{width:100%;border:1px solid rgba(15,101,113,.18);border-radius:16px;padding:14px 16px;font:inherit;background:#fbfbfb}textarea{resize:vertical}.footer{background:#05262d;color:white;padding:32px 0;text-align:center}.footer-inner{display:grid;place-items:center;gap:10px}.footer img{width:150px;background:white;border-radius:18px;padding:8px}.footer p{margin:0;color:rgba(255,255,255,.78)}.footer a{color:#e5c45c;font-weight:800}.wa-float{position:fixed;right:18px;bottom:18px;width:62px;height:62px;border-radius:50%;background:#25d366;color:white;text-decoration:none;display:grid;place-items:center;font-size:1.7rem;box-shadow:0 16px 40px rgba(0,0,0,.28);z-index:60}.wa-float::before{content:"☎"}.wa-float{font-size:0}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:100;padding:22px}.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:90vh;border-radius:18px}.lightbox-close{position:absolute;top:16px;right:16px;border:0;background:white;color:#111;width:44px;height:44px;border-radius:50%;font-size:2rem;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .75s ease}.reveal.show{opacity:1;transform:none}@media (max-width:900px){.menu-toggle{display:block}.nav-links{position:absolute;top:78px;left:4vw;right:4vw;display:none;flex-direction:column;align-items:stretch;background:white;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a,.nav-links button{text-align:center}.hero-content{margin-left:auto}.hero-overlay{background:linear-gradient(180deg,rgba(8,47,56,.9),rgba(8,47,56,.52))}.quick-info,.split,.reverse,.cards,.media,.location-grid,.contact-card{grid-template-columns:1fr}.quick-info{margin-top:20px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-item:first-child{grid-column:span 2;grid-row:auto}.card img{height:220px}.photo-stack img:first-child{transform:none}.contact-card{padding:24px}section{padding:64px 0}}@media (max-width:560px){.nav{height:70px}.brand img{width:112px}.hero{padding-top:112px}.hero-logo{width:210px}.hero-actions .btn{width:100%}.quick-info article{padding:20px}.gallery{grid-template-columns:1fr}.gallery-item:first-child{grid-column:auto}.photo-stack{grid-template-columns:1fr}.map{height:340px}.wa-float{width:56px;height:56px}}
