:root{
  --ink:#0e1418; --muted:#6a7785; --brand:#13795b; --gold:#c8a654;
  --bg:#f7f9fb; --card:#ffffff; --border:#e8eef4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#0d2c2f;border-bottom:1px solid #0f3a3f}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand img{width:40px;height:40px;display:block}
.brand span{font-weight:800;letter-spacing:.3px;color:#fff}
.links{display:flex;gap:18px;align-items:center}
.links a{color:#fff;text-decoration:none;opacity:.95}
.links a:hover{opacity:1}
.links .cta{background:#13795b;padding:10px 14px;border-radius:10px;font-weight:700}

/* Hero */
.hero-img{position:relative;min-height:82vh;overflow:hidden}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 36%;filter:brightness(.88)}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16) 0%, rgba(0,0,0,.70) 85%, rgba(0,0,0,.90) 100%)}
.hero-img .inner{position:relative;z-index:1}
.hero-img .copy{max-width:820px;margin:0 auto;padding:18px 20px 16px;color:#fff;text-align:center;transform:translateY(52vh)}
.hero-img h1{font-size:26px;line-height:1.18;margin:0 0 10px}
.hero-img .sub{font-size:16px;color:#e6eef2;margin:6px 0 14px}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:800;border:2px solid transparent}
.btn.secondary{background:transparent;border-color:#ffffff85}

/* Amenities */
.whats-coming{padding:70px 20px;background:#fff}
.whats-coming h2{text-align:center;font-size:28px;margin:0 0 24px}
.grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}
.card{border-radius:18px;overflow:hidden;border:1px solid rgba(200,166,84,.25);box-shadow:0 14px 42px rgba(12,26,34,.12)}
.card img{width:100%;height:100%;aspect-ratio:16/11;object-fit:cover;display:block}
.card:hover{transform:translateY(-3px);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 18px 54px rgba(12,26,34,.18)}

/* Join/Plans */
.section.join{padding:70px 20px;background:#fff}
.section.join h2{text-align:center;font-size:28px;margin:0 0 6px}
.section.join .sub{text-align:center;color:var(--muted);margin:0 0 26px}
.plans{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin:0 auto}
@media(max-width:780px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 10px 34px rgba(10,30,40,.06)}
.plan h3{margin:0 0 10px;font-size:18px}
.price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.price{font-size:34px;font-weight:800}
.price .per{font-size:16px;margin-left:2px}
.compare{text-decoration:line-through;color:var(--muted)}
.tag{background:#0f827a20;color:#0f827a;font-weight:700;padding:4px 8px;border-radius:999px;font-size:12px}
.btn-primary{display:inline-block;background:var(--brand);color:#fff;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:800;border:2px solid transparent}
.btn-primary:hover{filter:brightness(.95)}
.details {  font-size: 14px;  color: var(--muted);  margin: 8px 0 0;  line-height: 1.4;}

/* Contact */
.section.contact{background:var(--bg);padding:70px 20px}
.contact-wrapper{display:grid;gap:28px;grid-template-columns:1.1fr .9fr}
@media (max-width:980px){.contact-wrapper{grid-template-columns:1fr}}
.contact-form{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 10px 34px rgba(10,30,40,.06)}
.input,.textarea{width:100%;padding:14px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:15px;margin-bottom:12px}
.site-footer{padding:30px 0;color:#5e6a78;border-top:1px solid var(--border)}
/* Responsive hero cropping */
@media (max-width:1024px){.hero-img img{object-position:50% 40%}.hero-img{min-height:78vh}.hero-img .copy{transform:translateY(50vh)}}
@media (max-width:640px){.hero-img img{object-position:50% 46%}.hero-img{min-height:72vh}.hero-img h1{font-size:22px}}
