/* Marina Guesthouse — shared styles */
body { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; color:#1A1A1A; background:#fff; }
.font-display { font-family: 'Cormorant Garamond', Georgia, serif; letter-spacing: -0.01em; }
.italic-subtitle { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; color: #2DC4CC; }
.hero-overlay { background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0.62) 100%); }
.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-4px; height:2px; width:0; background:#2DC4CC; transition: width .25s ease; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.room-card img, .gallery-item img { transition: transform .55s ease; }
.room-card:hover img, .gallery-item:hover img { transform: scale(1.06); }
.hero-slide { position:absolute; inset:0; opacity:0; transition: opacity 1.5s ease-in-out; }
.hero-slide.is-active { opacity:1; }
.page-title-banner { background: linear-gradient(180deg, #FAF7F2 0%, #F2EDE5 100%); }
.btn-primary { background:#2DC4CC; color:#fff; padding:.9rem 1.75rem; border-radius:9999px; font-weight:600; transition:background .2s; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; }
.btn-primary:hover { background:#1E8E96; }
.btn-secondary { background:transparent; color:#2DC4CC; padding:.85rem 1.7rem; border:1.5px solid #2DC4CC; border-radius:9999px; font-weight:600; transition: all .2s; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; }
.btn-secondary:hover { background:#2DC4CC; color:#fff; }
.section-heading { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; color:#1A1A1A; }
.eyebrow { font-size:.7rem; letter-spacing: .3em; text-transform: uppercase; color:#1E8E96; font-weight:600; }
input:focus, select:focus, textarea:focus { outline: none; border-color:#2DC4CC; box-shadow: 0 0 0 3px rgba(45,196,204,0.15); }
.mobile-menu.open { transform: translateX(0); }
.mobile-menu { transform: translateX(100%); transition: transform .3s ease; }
@media (max-width: 1023px) {
  .desktop-nav { display:none; }
}
