@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&family=Playfair+Display:wght@700&display=swap');

body { font-family: 'Montserrat', sans-serif; scroll-behavior: smooth; overflow-x: hidden; color: #1f2937; }
.font-serif-logo { font-family: 'Playfair Display', serif; }

/* Page Transitions */
.page-view { animation: fadeIn 0.4s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Hero/Slideshow */
.hero-bg { position: relative; overflow: hidden; background-color: #333; }
.hero-slideshow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.hero-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.5s ease-in-out; }
.hero-slide.active { opacity: 1; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.55); z-index: 1; }
.hero-content { position: relative; z-index: 10; }

/* FAQ Accordion */
.faq-answer { transition: all 0.3s ease; max-height: 0; overflow: hidden; opacity: 0; }
.faq-item.active .faq-answer { max-height: 500px; opacity: 1; padding-top: 1rem; }
.faq-item.active .faq-icon { transform: rotate(180deg); }

/* Gallery Labels */
.ba-container { position: relative; overflow: hidden; border-radius: 1.5rem; background: #f3f4f6; border: 1px solid #e5e7eb; }
.ba-label { position: absolute; top: 1rem; background: rgba(0,0,0,0.7); color: white; padding: 4px 12px; border-radius: 6px; font-size: 11px; font-weight: 800; text-transform: uppercase; z-index: 10; letter-spacing: 0.05em; }
.ba-label-before { left: 1rem; }
.ba-label-after { right: 1rem; background: #15803d; }
