:root { color-scheme: light; }
body { margin: 0; min-height: 100vh; background-color: #f8f9fa; color: #1f2937; font-family: "Inter", sans-serif; }
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
.hero-overlay { background: linear-gradient(to right, rgba(0, 27, 61, 0.85), rgba(0, 27, 61, 0.2)); }
.hero-carousel { overflow: hidden; }
.hero-carousel-track {
  display: flex;
  width: 200%;
  height: 100%;
  transition: transform 0.9s ease-in-out;
  will-change: transform;
}
.hero-carousel-track.is-slide-1 { transform: translateX(0); }
.hero-carousel-track.is-slide-2 { transform: translateX(-50%); }
.hero-carousel-slide {
  width: 50%;
  height: 100%;
  flex-shrink: 0;
}
.hero-carousel-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .hero-carousel-track { transition: none; }
}
.masonry-item:nth-child(even) { margin-top: 40px; }
@media (max-width: 768px) { .masonry-item:nth-child(even) { margin-top: 0; } }
.gallery-grid-landscape { grid-column: span 2; }
@media (max-width: 768px) { .gallery-grid-landscape { grid-column: span 1; } }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }

.navbar-enter { animation: slideDown 0.5s ease forwards; }
@keyframes slideDown { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.hero-stagger > * { opacity: 0; transform: translateY(30px); animation: fadeUp 0.6s ease forwards; }
.hero-stagger > *:nth-child(1) { animation-delay: 0.1s; }
.hero-stagger > *:nth-child(2) { animation-delay: 0.3s; }
.hero-stagger > *:nth-child(3) { animation-delay: 0.5s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }

.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }

.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 0.6s ease; }
.img-zoom:hover img { transform: scale(1.08); }

.btn-glow { transition: all 0.3s ease; }
.btn-glow:hover { box-shadow: 0 0 20px rgba(0, 79, 156, 0.3); }

.check-list-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.check-list-item > .material-symbols-outlined {
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
