body { animation: pageIn 0.5s ease forwards; }
    @keyframes pageIn { from { opacity: 0; } to { opacity: 1; } }

    /* ── Intro texto gastro ─────────────────────────────── */
    .gastro-intro {
      padding: clamp(5rem, 9vh, 8rem) clamp(1.5rem, 5vw, 4rem);
      background: #080808;
    }

    .gastro-intro-inner {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: clamp(4rem, 7vw, 8rem);
      align-items: start;
    }

    .gastro-intro-left .label { margin-bottom: 1.5rem; }
    .gastro-intro-left .display-lg { color: #f5f2ee; margin-bottom: 1rem; }

    .gastro-intro-right {
      padding-top: clamp(1rem, 3vw, 3rem);
    }

    .gastro-intro-right .body-text {
      font-size: clamp(0.95rem, 1.3vw, 1.1rem);
      margin-bottom: 1.25rem;
    }

    /* ── Filosofía ──────────────────────────────────────── */
    .filosofia-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: rgba(184,147,86,0.12);
    }

    .filosofia-item {
      background: #0e0c0a;
      padding: clamp(2.5rem, 4vw, 3.5rem);
    }

    .filosofia-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 4rem;
      font-weight: 300;
      color: rgba(184,147,86,0.15);
      line-height: 1;
      margin-bottom: 1rem;
    }

    .filosofia-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem;
      font-weight: 400;
      color: #f5f2ee;
      margin-bottom: 0.75rem;
    }

    .filosofia-desc {
      font-size: 0.82rem;
      font-weight: 300;
      line-height: 1.8;
      color: rgba(245,242,238,0.55);
    }

    /* ── Menu categories ────────────────────────────────── */
    .menu-section {
      padding: clamp(5rem, 10vh, 9rem) clamp(1.5rem, 5vw, 4rem);
      background: #f5f2ee;
    }

    .menu-categories {
      max-width: 1400px;
      margin: 0 auto;
    }

    .menu-category {
      border-top: 1px solid rgba(0,0,0,0.1);
      padding: clamp(2rem, 4vh, 3.5rem) 0;
      display: grid;
      grid-template-columns: 1fr 2fr 1fr;
      gap: clamp(2rem, 4vw, 4rem);
      align-items: center;
    }

    .menu-category:last-child {
      border-bottom: 1px solid rgba(0,0,0,0.1);
    }

    .menu-cat-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.8rem, 2.8vw, 2.5rem);
      font-weight: 300;
      color: #0a0908;
    }

    .menu-cat-items {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
    }

    .menu-cat-tag {
      font-size: 0.65rem;
      font-weight: 400;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      padding: 0.3rem 0.9rem;
      border: 1px solid rgba(0,0,0,0.18);
      color: rgba(0,0,0,0.55);
    }

    .menu-cat-image {
      overflow: hidden;
      aspect-ratio: 4/3;
    }

    .menu-cat-image img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform 0.8s cubic-bezier(0.22,1,0.36,1);
      filter: brightness(0.9);
    }

    .menu-category:hover .menu-cat-image img {
      transform: scale(1.04);
      filter: brightness(1);
    }

    /* ── Galería ────────────────────────────────────────── */
    .galeria-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 3px;
    }

    .galeria-item {
      overflow: hidden;
      position: relative;
      aspect-ratio: 4/3;
    }

    .galeria-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      filter: brightness(0.8);
      transition: transform 0.8s cubic-bezier(0.22,1,0.36,1), filter 0.6s;
    }

    .galeria-item:hover img {
      transform: scale(1.05);
      filter: brightness(0.95);
    }

    .gi-large, .gi-med, .gi-sm { /* all equal — uniform grid */ }

    /* ── Proceso ────────────────────────────────────────── */
    .proceso-section {
      padding: clamp(5rem, 10vh, 9rem) clamp(1.5rem, 5vw, 4rem);
      background: #111010;
    }

    .proceso-steps {
      max-width: 1400px;
      margin: 3rem auto 0;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      position: relative;
    }

    .proceso-steps::before {
      content: '';
      position: absolute;
      top: 2rem;
      left: calc(12.5% + 1rem);
      right: calc(12.5% + 1rem);
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(184,147,86,0.35), transparent);
    }

    .proceso-step {
      padding: clamp(1.5rem, 3vw, 2.5rem);
      text-align: center;
    }

    .proceso-num {
      width: 4rem; height: 4rem;
      border-radius: 50%;
      border: 1px solid rgba(184,147,86,0.35);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.4rem;
      font-weight: 300;
      color: #b89356;
      margin: 0 auto 1.5rem;
      background: #111010;
    }

    .proceso-step-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem;
      font-weight: 400;
      color: #f5f2ee;
      margin-bottom: 0.75rem;
    }

    .proceso-step-desc {
      font-size: 0.78rem;
      font-weight: 300;
      line-height: 1.85;
      color: rgba(245,242,238,0.5);
    }

    @media (max-width: 1000px) {
      .gastro-intro-inner { grid-template-columns: 1fr; }
      .filosofia-grid { grid-template-columns: 1fr; }
      .menu-category { grid-template-columns: 1fr 1fr; }
      .menu-cat-image { grid-column: span 2; }
      .galeria-grid { grid-template-columns: repeat(4, 1fr); }
      .proceso-steps { grid-template-columns: repeat(2, 1fr); }
      .proceso-steps::before { display: none; }
    }

    @media (max-width: 600px) {
      .menu-category { grid-template-columns: 1fr; }
      .menu-cat-image { grid-column: auto; }
      .galeria-grid { grid-template-columns: 1fr 1fr; }
      .proceso-steps { grid-template-columns: 1fr; }
    }
