/* ── lazer.css ── */

.lazer-intro-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 6rem; align-items: center; }
.lazer-intro-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.lazer-intro-mosaic img { width: 100%; object-fit: cover; }
.lazer-intro-mosaic img:first-child { grid-column: 1/-1; aspect-ratio: 16/7; }
.lazer-intro-mosaic img:nth-child(2),
.lazer-intro-mosaic img:nth-child(3) { aspect-ratio: 1; }

.attractions-sec { background: var(--claret); }
.attractions-inner { max-width: 1200px; margin: 0 auto; }
.attractions-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 3.5rem; }
.attraction-card { position: relative; overflow: hidden; aspect-ratio: 4/3; }
.attraction-img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease, filter .4s; filter: brightness(.65); }
.attraction-card:hover .attraction-img { transform: scale(1.05); filter: brightness(.45); }
.attraction-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,5,10,.95) 0%, transparent 60%); }
.attraction-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.8rem; }
.attraction-icon { font-size: 2rem; margin-bottom: .5rem; display: block; }
.attraction-name { font-family: var(--serif); font-size: 1.3rem; color: var(--cream); font-weight: 700; }
.attraction-desc { font-size: .78rem; color: rgba(247,243,236,.5); margin-top: .3rem; line-height: 1.5; }

.amenities-sec { background: var(--sand); }
.amenities-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; }
.amenity-list { margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; }
.amenity-item { display: flex; align-items: baseline; gap: .7rem; font-size: .85rem; color: var(--text-mid); padding: .6rem 0; border-bottom: 1px solid rgba(61,12,31,.08); }
.amenity-item::before { content: '—'; color: var(--gold); font-size: .7rem; flex-shrink: 0; }
.amenities-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.amenities-mosaic img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.amenities-mosaic img:first-child { grid-column: 1/-1; aspect-ratio: 16/7; }

@media (max-width: 960px) {
  .lazer-intro-wrap, .amenities-inner { grid-template-columns: 1fr; gap: 3rem; }
  .attractions-grid { grid-template-columns: 1fr 1fr; }
  .amenity-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) { .attractions-grid { grid-template-columns: 1fr; } }
