/* Template 01 - Modern Tropical: full-bleed photography, bold display type, soft motion. */
:root { --r: 22px; }
body { background: var(--paper); }
.site-header { background: color-mix(in srgb, var(--paper) 82%, transparent); }
.page-home .site-header { position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: transparent; color: #fff; }
.page-home .site-header.is-solid { background: color-mix(in srgb, var(--paper) 86%, transparent); color: var(--ink); border-bottom-color: var(--line); }
.page-home .lang-switch label { border-color: color-mix(in srgb, currentColor 35%, transparent); }

.mt-hero { min-height: 100dvh; }
.mt-hero .hero-slide.is-on img { animation: mt-drift 12s ease-out both; }
@keyframes mt-drift { from { transform: scale(1.12); } to { transform: scale(1.02); } }
.mt-hero .hero-copy { padding-bottom: 150px; }
.mt-hero .hero-title { font-weight: 800; letter-spacing: -.035em; line-height: .98; animation: mt-rise 1s var(--ease) both .15s; }
.mt-hero .hero-sub, .mt-hero .hero-ctas { animation: mt-rise 1s var(--ease) both .45s; }
@keyframes mt-rise { from { opacity: 0; transform: translateY(24px); } }
.mt-hello { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: 999px; margin-bottom: 18px;
  background: rgb(255 255 255 / .16); border: 1px solid rgb(255 255 255 / .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-weight: 600; }
.mt-hello i { color: #ffd27a; font-size: 19px; }
.mt-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: 80px; background: var(--paper);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C200 0 400 0 600 40 C800 80 1000 80 1200 40 L1200 80 L0 80 Z'/%3E%3C/svg%3E") 0 100% / 1200px 100% repeat-x;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C200 0 400 0 600 40 C800 80 1000 80 1200 40 L1200 80 L0 80 Z'/%3E%3C/svg%3E") 0 100% / 1200px 100% repeat-x;
  animation: mt-swell 22s linear infinite; }
@keyframes mt-swell { to { -webkit-mask-position: 1200px 100%; mask-position: 1200px 100%; } }

.section-head h2 { font-weight: 800; letter-spacing: -.03em; }
.tour-card { border: 0; box-shadow: 0 20px 44px -32px rgb(15 59 64 / .55); }
.tour-card-media { aspect-ratio: 4 / 5; }
.why-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.why-item:nth-child(1) { background: var(--accent); color: var(--accent-ink); border: 0; }
.why-item:nth-child(1) i, .why-item:nth-child(1) p { color: inherit; }
.why-item:nth-child(4n+2) { background: var(--brand); color: var(--brand-ink); border: 0; }
.why-item:nth-child(4n+2) i, .why-item:nth-child(4n+2) p { color: inherit; opacity: .92; }
.dest { aspect-ratio: 4 / 5; }
.cta-band { background: linear-gradient(120deg, var(--brand), color-mix(in srgb, var(--brand) 70%, var(--accent))); }

@media (max-width: 860px) {
  .tour-grid { grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory;
    padding-bottom: 8px; scrollbar-width: none; }
  .tour-grid::-webkit-scrollbar { display: none; }
  .tour-card { scroll-snap-align: center; }
  .page-home .main-nav { color: var(--ink); }
}
