
.hero-media {
  background: #14241c;
}

.hero-media img {
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  transform: scale(1.01);
  transform-origin: center center;
}

.team-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.team-card {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 30px;
  border-radius: 28px;
  background: radial-gradient(circle at top left, rgba(184,148,77,.14), transparent 34%), linear-gradient(145deg,#14251c 0%,#1F3328 54%,#122219 100%);
  border: 1px solid rgba(184,148,77,.34);
  box-shadow: 0 24px 70px rgba(14,28,21,.24);
}

.team-card img {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px;
  margin-top: 36px;
  border-radius: 999px;
  object-fit: cover;
  object-position: center top;
  box-shadow: 0 16px 36px rgba(0,0,0,.30), 0 0 0 6px rgba(244,239,227,.05);
  border: 3px solid rgba(214,180,99,.72);
}

.team-card div { min-width: 0; }
.team-card span { color:#D6B463; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.76rem; }
.team-card h3 { margin-top:6px; color:#F7F0E3; }
.team-card p { font-size:.95rem; line-height:1.65; color:rgba(244,239,227,.78); }

.intro-strip {
  background: radial-gradient(circle at top left,rgba(184,148,77,.10),transparent 32%),linear-gradient(135deg,#0F1F17 0%,#172A20 48%,#102118 100%) !important;
  border-top:1px solid rgba(184,148,77,.18);
  border-bottom:1px solid rgba(184,148,77,.14);
}

.intro-strip .strip-item { background:rgba(244,239,227,.025); border-color:rgba(244,239,227,.09); }
.intro-strip .strip-item span { color:#D6B463; }
.intro-strip .strip-item strong { color:#F7F0E3; }
.intro-strip .strip-item p { color:rgba(244,239,227,.78); }

.map-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.map-caption { grid-template-columns:repeat(3,minmax(0,1fr)); }
.contact-actions { align-items:stretch; }

.attraction-card-hidden { display:none !important; }
.attractions-more-wrap { display:flex; justify-content:center; margin-top:34px; }
.attractions-more-wrap[hidden] { display:none; }
.attractions-more-button { min-width:190px; }

.resort-showcase.resort-showcase-three {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,.82fr) minmax(340px,1.1fr);
  gap:18px;
  align-items:stretch;
}

.showcase-image-card {
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(31,51,40,.08);
  box-shadow:0 20px 60px rgba(31,51,40,.12);
  display:flex;
  flex-direction:column;
}

.showcase-image-card img {
  width:100%;
  min-height:430px;
  height:100%;
  object-fit:cover;
}

.showcase-image-card div { padding:20px 22px; }
.showcase-image-card .zoom-hint { padding:8px 0 0; }
.showcase-image-card span { color:#B8944D; font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.showcase-image-card h3 { margin:7px 0 0; font-family:"Marcellus",Georgia,serif; font-size:25px; font-weight:400; color:#24332A; }
.resort-showcase-three .showcase-copy { min-width:0; padding:38px; }

.plans-grid.render-grid {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px;
}

.render-grid .plan-card img {
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  background:#101A14;
}

.zoom-trigger { appearance:none; border:0; background:transparent; padding:0; width:100%; cursor:zoom-in; display:block; }
.zoom-trigger:focus-visible { outline:3px solid #B8944D; outline-offset:-3px; }
.zoom-hint {
  display:block;
  padding:0 22px 18px;
  color:#B8944D;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}

.image-lightbox { position:fixed; inset:0; z-index:140; display:none; align-items:center; justify-content:center; padding:28px; }
.image-lightbox.active { display:flex; }
.image-lightbox-backdrop { position:absolute; inset:0; background:rgba(3,8,5,.88); backdrop-filter:blur(12px); }
.image-lightbox-panel {
  position:relative;
  width:min(1400px,96vw);
  max-height:92vh;
  z-index:1;
  overflow:auto;
  border-radius:20px;
}
.image-lightbox-panel img {
  width:100%;
  max-height:88vh;
  object-fit:contain;
  border-radius:20px;
  box-shadow:0 30px 100px rgba(0,0,0,.55);
  cursor:zoom-in;
  transform-origin:center center;
  transition:transform 180ms ease;
}
.image-lightbox-close { position:absolute; right:12px; top:12px; width:46px; height:46px; border:1px solid rgba(244,239,227,.3); border-radius:50%; background:rgba(16,26,20,.9); color:#F4EFE3; font-size:28px; cursor:pointer; z-index:2; }

.financial-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.download-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }

@media (max-width:1180px) {
  .resort-showcase.resort-showcase-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resort-showcase-three .showcase-copy { grid-column:1/-1; }
  .download-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .team-grid { grid-template-columns:1fr; }
  .plans-grid.render-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .map-stats,.map-caption { grid-template-columns:1fr; }
  .financial-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .resort-showcase.resort-showcase-three { grid-template-columns:1fr; }
  .resort-showcase-three .showcase-copy { grid-column:auto; }
  .plans-grid.render-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .render-grid .site-plan-card { grid-column:span 2; }
  .download-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .team-card { flex-direction:column; }
  .team-card img { width:84px !important; height:84px !important; min-width:84px; margin-top:10px; }
  .plans-grid.render-grid,.download-grid,.financial-metrics { grid-template-columns:1fr !important; }
  .render-grid .site-plan-card { grid-column:auto; }
  .showcase-image-card img {
  width:100%;
  min-height:430px;
  height:100%;
  object-fit:cover;
}
}

.image-lightbox-panel.zoom-enabled img { max-height:none; cursor:zoom-in; }
.image-lightbox-panel.zoom-enabled img.is-zoomed { transform:scale(2.1); cursor:zoom-out; }
.image-lightbox-caption { margin-top:12px; text-align:center; color:#F4EFE3; font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }

.resort-section .plans-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.resort-section .plan-card {
  min-width: 0;
  height: 100%;
}

.resort-section .plan-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 980px) {
  .resort-section .plans-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .resort-section .plans-grid {
    grid-template-columns: 1fr !important;
  }
}