:root {
  --sea-50: #f7fbff;
  --sea-300: #8fd3f4;
  --sea-500: #3ea6d8;
  --sea-700: #0a4d68;
  --sea-900: #06283d;
}
html { scroll-behavior: smooth; }
body { background: #f8fafc; }
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(6,40,61,.78) 0%, rgba(6,40,61,.58) 42%, rgba(6,40,61,.38) 100%),
    linear-gradient(180deg, rgba(6,40,61,.18) 0%, rgba(6,40,61,.55) 100%);
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.02) brightness(.72);
}
.wave-divider::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 130px;
  background: linear-gradient(to bottom, rgba(248,250,252,0) 0%, rgba(248,250,252,0.92) 70%, rgba(248,250,252,1) 100%);
  pointer-events: none;
}
.card-hover,
.gallery-tile,
.boat-card {
  transition: transform .25s ease, box-shadow .25s ease;
}
.card-hover:hover,
.gallery-tile:hover,
.boat-card:hover {
  transform: translateY(-6px);
}
.gallery-tile {
  overflow: hidden;
  position: relative;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
}
.gallery-tile img {
  transition: transform .35s ease;
}
.gallery-tile:hover img {
  transform: scale(1.04);
}
.gallery-tile .caption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  border-radius: 999px;
  background: rgba(6, 40, 61, .7);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: .8rem 1rem;
  font-size: .95rem;
}
.lang-active {
  background: rgba(255,255,255,.12);
  color: #8fd3f4;
}
.video-badge {
  backdrop-filter: blur(10px);
}
