/* ===========================================
   RESPONSIVE — ECOLUXE
   =========================================== */

@media (max-width: 1080px) {
  .container { padding: 0 24px; }
  .section { padding: 90px 0; }

  .card-grid,
  .card-grid.three { grid-template-columns: repeat(2, 1fr); }

  .dest-grid { grid-template-columns: repeat(2, 1fr); }

  .values-grid { grid-template-columns: repeat(2, 1fr); }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }

  .sustain-grid,
  .two-col,
  .contact-layout,
  .dest-full { grid-template-columns: 1fr; gap: 50px; }

  .dest-full.reverse { direction: ltr; }
  .dest-full img { height: 380px; }
  .soft-img, .sustain-visual img { height: 400px; }
}

@media (max-width: 768px) {
  .container { padding: 0 16px; }
  .section { padding: 70px 0; }

  /* Nav */
  .nav-links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 360px;
    height: 100vh;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    padding: 80px 40px;
    background: rgba(7, 26, 20, 0.97);
    backdrop-filter: blur(20px);
    border-left: 1px solid var(--border-soft);
    transition: right 0.4s var(--ease);
    z-index: 99;
  }

  .nav-links.open { right: 0; }
  .nav-links a { font-size: 1.3rem; font-family: var(--font-display); }

  .nav-toggle { display: flex; z-index: 101; }
  .nav-toggle.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity: 0; }
  .nav-toggle.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .nav-cta { display: none; }

  /* Hero */
  .hero { padding: 120px 0 80px; min-height: 90vh; }
  .hero-desc { font-size: 1.05rem; }
  .hero-meta { gap: 30px; }
  .hero-meta strong { font-size: 1.5rem; }

  .page-hero { padding: 140px 0 70px; min-height: 55vh; }
  .page-hero.small { min-height: 40vh; padding: 130px 0 60px; }

  /* Grids */
  .card-grid,
  .card-grid.three,
  .dest-grid,
  .values-grid,
  .pillars { grid-template-columns: 1fr; }

  .dest-grid { grid-auto-rows: 260px; }
  .dest-card.tall { grid-row: span 1; }

  /* Sections */
  .section-head { margin-bottom: 50px; }
  .cta-inner { padding: 50px 26px; }
  .quote { padding: 40px 24px; }

  .pillar, .value-card { padding: 36px 26px; }

  .dest-full img { height: 280px; }
  .soft-img, .sustain-visual img { height: 320px; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }

  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { width: 100%; }
}

@media (max-width: 460px) {
  .logo-text { font-size: 1.15rem; }
  .hero-meta { gap: 20px; }
  .hero-meta > div { flex: 1 1 40%; }
  .dest-full-body h3 { font-size: 1.75rem; }
}