
    :root {
      --cream:    #F5F0E4;
      --sand:     #D4C5A9;
      --pink:     #C47A8A;
      --burgundy: #8B3A52;
      --olive:    #7A7A28;
      --dark:     #3A2030;
      --white:    #FDFAF4;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background-color: var(--cream);
      color: var(--dark);
      font-family: 'Cormorant Garamond', serif;
      overflow-x: hidden;
    }
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-size: cover;
      background-position: center;
      pointer-events: none;
      z-index: 9999;
    }
    

    /* ── NAV ── */
    nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 200;
      display: flex;
      justify-content: center;
      gap: 2rem;
      padding: 1rem 2rem;
      background: rgba(245,240,228,0.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(139,58,82,0.18);
      font-family: 'Cinzel', serif;
      font-size: 0.6rem;
      letter-spacing: 0.2em;
    }
    nav a { color: var(--burgundy); text-decoration: none; transition: color 0.3s; white-space: nowrap; }
    nav a:hover { color: var(--olive); }

    /* ── HERO ── */
    #hero {
      height: 180vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      text-align: center;
      padding: 3.5rem 2rem 2.5rem;
      position: relative;
      overflow: hidden;
    }
        /* Background photo — fixed on desktop, scroll on mobile */
#hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden; /* 🔥 importante */
}

#hero-bg img {
  width: 100%;
  height: 140%; /* 🔥 clave */
  object-fit: cover;
  object-position: center 40%;
  transform: translateY(0); /* importante */
  will-change: transform; /* mejora rendimiento */
}
    #hero-bg-overlay {
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: -1;
      background: linear-gradient(
        to bottom,
        rgba(20,8,16,0.55) 0%,
        rgba(20,8,16,0.08) 30%,
        rgba(20,8,16,0.05) 55%,
        rgba(20,8,16,0.5) 85%,
        rgba(20,8,16,0.7) 100%
      );
    }
     /*Stop fixed bg when hero is out of view */
    body.hero-passed #hero-bg,
    body.hero-passed #hero-bg-overlay {
      position: absolute;
      bottom: auto;
    }
      .nombres {
        font-size: 16px;
        display: grid;
        grid-template-columns: 1fr 1fr; /* dos columnas */
        column-gap: 10px; /* 👉 controla la separación horizontal */
        row-gap: 10px;
        align-items: start;
        color: var(--cream);
      }

      .papa {
        grid-column: 1;
      }

      .mama {
        grid-column: 2;
        margin-left: 0; /* quitamos sangría */
      }

    /* .indent {
      display: inline-block;
      width: 50px;  espacio inicial 
    }

    .espacio {
      display: inline-block;
      width: 50px;  espacio estándar 
    }

    .espacio.grande {
      width: 80px;  espacio más grande 
    } */
    /* Estilos específicos para Ceremonia y Hospedaje */
    #ceremonia .event-card.beige,
    #hospedaje .event-card.beige {
      color: var(--cream); /* Cambia el color de todos los textos generales */
    }

    #ceremonia .event-card.beige .divider,
    #hospedaje .event-card.beige .divider {
      background-color: var(--cream); /* Cambia el color de la línea divisora */
    }

    #ceremonia .event-card.beige .cinzel,
    #hospedaje .event-card.beige .cinzel,
    #ceremonia .event-card.beige h3,
    #hospedaje .event-card.beige h3,
    #hospedaje .section-label,
    #ceremonia * {
      color: var(--cream); 
    }

    #ceremonia .event-card.beige i,
    #hospedaje .event-card.beige i {
      color: var(--burgundy);
    }
    #ceremonia .event-card.beige .card-link,
    #hospedaje .event-card.beige .card-link {
      color: var(--cream);
      border-color: var(--cream); 
    }

    .section-rule2 {
      display: flex; align-items: center; justify-content: center;
      gap: 1rem; margin-bottom: 2.8rem;
    }
    .section-rule2::before, .section-rule2::after {
      content: ''; flex: 1; max-width: 70px; height: 1px; background: var(--cream);
    }
    .section-rule2 .diamond2 {
      width: 6px; height: 6px; background: var(--cream);
      transform: rotate(45deg); flex-shrink: 0;
    }


    .hero-top {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.6rem;
      margin-top: 0;
      height: 700px;
    }
    .hero-monogram {
      background: rgba(20,8,16,0.25);
      border-radius: 50%;
      padding: 1.2rem;
      backdrop-filter: blur(3px);
      border: 1px solid rgba(196,122,138,0.3);
    }
    .hero-monogram img {
      width: clamp(100px, 18vw, 150px);
      height: auto;
      filter: drop-shadow(0 3px 16px rgba(0,0,0,0.55));
      opacity: 0;
      animation: fadeUp 1s ease forwards 0.2s;
    }
    .hero-names {
      font-family: 'Great Vibes', cursive;
      font-size: clamp(3.2rem, 10vw, 7rem);
      color: var(--cream);
      line-height: 1;
      text-shadow: 0 3px 20px rgba(0,0,0,0.5);
      opacity: 0;
      animation: fadeUp 1.2s ease forwards 0.45s;
    }

    .hero-bottom {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.2rem;
      padding-bottom: 1rem;
    }
    /* ── HERO DATE STYLE (imagen estilohorario) ── */
    .hero-date {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      opacity: 0;
      animation: fadeUp-desktop 1s ease forwards;
      font-family: 'Cinzel', serif;
      color: var(--cream);
    }
    .hero-date .hd-side {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
    }
    .hero-date .hd-line-h {
      width: 50px;
      height: 1px;
      background: var(--cream);
    }
    .hero-date .hd-text-side {
      font-size: clamp(1.0rem, 1.5vw, 1.0rem);
      letter-spacing: 0.28em;
      color: var(--cream);
      padding: 0px;
      white-space: nowrap;
    }
    .hero-date .hd-divider {
      width: 1px;
      height: 40px;
      background: var(--cream);
      margin: 0 0.6rem;
    }
    .hero-date .hd-center {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 1 .5rem;
    }
    .hero-date .hd-month {
      font-size: clamp(0.44rem, 1.2vw, 0.55rem);
      letter-spacing: 0.3em;
      color: var(--cream);
    }
    .hero-date .hd-day {
      font-size: clamp(2.2rem, 5vw, 3rem);
      font-weight: 500;
      line-height: 1;
      color: var(--cream);
    }
    .hero-date .hd-year {
      font-size: clamp(0.44rem, 1.2vw, 0.55rem);
      letter-spacing: 0.3em;
      color: var(--cream);
    }
    .hero-city {
      font-family: 'Cinzel', serif;
      font-size: 0.55rem;
      letter-spacing: 0.4em;
      color: var(--cream);
      opacity: 0;
      animation: fadeUp 1s ease forwards 1.05s;
    }
    .hero-scroll {
      opacity: 0;
      animation: fadeUp 1s ease forwards 1.3s;
    }
    .hero-scroll span {
      display: block;
      width: 1px;
      height: 36px;
      background: linear-gradient(to bottom, transparent, #5e0f27ff);
      margin: 0 auto;
      animation: scrollPulse 2s ease infinite;
    }
    @keyframes scrollPulse {
      0%,100% { opacity:0.3; transform:scaleY(0.7); }
      50%      { opacity:1;   transform:scaleY(1); }
    }

    /* ── TEXTO PADRES / BANNER ── */
    #padres-banner {
      position: relative;
      z-index: 1;
      background: linear-gradient(135deg, rgba(139,58,82,0.92) 0%, rgba(58,32,48,0.96) 100%);
      padding: 4rem 2rem;
      text-align: center;
    }
    .foto-parents {
      font-family: 'Cinzel', serif;
      font-size: clamp(0.48rem, 1.3vw, 0.6rem);
      letter-spacing: 0.2em;
      color: rgba(245,240,228,0.85);
      line-height: 2.4;
      margin-bottom: 1rem;
    }
    .foto-parents .hr-line {
      display: block; width: 45px; height: 1px;
      background: var(--pink); margin: 0.5rem auto;
    }
    .foto-invite {
      font-family: 'Cinzel', serif;
      font-size: clamp(0.48rem, 1.3vw, 0.6rem);
      letter-spacing: 0.18em;
      color: #F5F0E4;
      line-height: 2.2;
      margin-bottom: 2rem;
    }
    .foto-hr {
      display: flex; align-items: center; justify-content: center;
      gap: 1rem; margin: 0 auto 1.5rem; max-width: 180px;
    }
    .foto-hr::before, .foto-hr::after {
      content: ''; flex: 1; height: 1px; background: var(--burgundy);
    }
    .foto-hr .diamond { width:5px; height:5px; background:var(--pink); transform:rotate(45deg); }
    .foto-text {
      font-family: 'Great Vibes', cursive;
      font-size: clamp(2.2rem, 6vw, 3.5rem);
      color: var(--cream);
      text-shadow: 0 2px 14px rgba(0,0,0,0.3);
    }

    /* ── SECTION BASE ── */
    section {
      position: relative;
      z-index: 1;
      padding: 5rem 1.5rem;
      max-width: 860px;
      margin: 0 auto;
      text-align: center;
      background: transparent;
    }
    .section-label {
      font-family: 'Great Vibes', cursive;
      font-size: 3.2rem;
      color: var(--cream);
      margin-bottom: 0.4rem;
    }
    .section-rule {
      display: flex; align-items: center; justify-content: center;
      gap: 1rem; margin-bottom: 2.8rem;
    }
    .section-rule::before, .section-rule::after {
      content: ''; flex: 1; max-width: 70px; height: 1px; background: var(--cream);
    }
    
    
    .section-rule .diamond {
      width: 6px; height: 6px; background: var(--cream);
      transform: rotate(45deg); flex-shrink: 0;
    }

    
    /* full-width section wrappers */
    .section-wrapper {
      position: relative; z-index: 1;
      background: var(--cream);
    }
    .section-wrapper.sand { background: rgba(212,197,169,0.3); }

    /* ── CARDS ── */
    .event-card {
      background: var(--white);
      border: 1px solid rgba(139,58,82,0.2);
      padding: 3rem 2.5rem;
      margin: 1.5rem auto;
      max-width: 440px;
      box-shadow: 5px 5px 0 rgba(139,58,82,0.07);
      transition: transform 0.35s, box-shadow 0.35s;
    }
    .event-card:hover { transform: translateY(-5px); box-shadow: 7px 10px 0 rgba(139,58,82,0.12); }
    .event-card.beige  { background: var(--olive); border-color: rgba(139,58,82,0.22); }
    .event-card.rosa   { background: #C47A8A; color: var(--white); border-color: transparent; }
    .event-card.bordo  { background: var(--burgundy); color: var(--white); border-color: transparent; }
    .card-title {
      font-family: 'Great Vibes', cursive; font-size: 2.5rem;
      color: var(--burgundy); margin-bottom: 1rem;
    }
    .event-card.rosa  .card-title,
    .event-card.bordo .card-title { color: var(--white); }
    .card-body {
      font-family: 'Cinzel', serif; font-size: 0.6rem;
      letter-spacing: 0.22em; line-height: 2.2; color: var(--cream);
    }
    .event-card.rosa  .card-body { color: rgba(253,250,244,0.9); }
    .event-card.bordo .card-body { color: rgba(253,250,244,0.85); }
    .card-time {
      font-family: 'Cinzel', serif; font-size: 0.8rem;
      letter-spacing: 0.15em; color: var(--cream);
      margin-top: 1.2rem; font-weight: 500;
    }
    .event-card.rosa  .card-time,
    .event-card.bordo .card-time { color: var(--white); }
    .card-link {
      display: inline-block; margin-top: 1.4rem;
      font-family: 'Cinzel', serif; font-size: 0.52rem;
      letter-spacing: 0.28em; color: var(--cream);
      text-decoration: none; border: 1px solid var(--cream);
      padding: 0.6rem 1.4rem; transition: background 0.3s, color 0.3s;
    }
    .card-link:hover { background: var(--burgundy); color: var(--white); }
    .event-card.rosa  .card-link { color:var(--white); border-color:rgba(255,255,255,0.5); }
    .event-card.rosa  .card-link:hover { background:rgba(255,255,255,0.2); }
    .event-card.bordo .card-link { color:var(--white); border-color:rgba(255,255,255,0.4); }
    .event-card.bordo .card-link:hover { background:rgba(255,255,255,0.1); }
    .building-img {
      width: 100%; max-width: 300px; height: auto;
      display: block; margin: 0 auto 1.3rem; opacity: 0.9;
    }

    /* ── COUNTDOWN ── */
    #countdown-section {
      position: relative; z-index: 1;
      background: var(--sand);
      padding: 4.5rem 2rem; text-align: center;
    }
    .countdown-grid {
      display: flex; justify-content: center;
      align-items: flex-start; gap: 1.5rem;
      margin-top: 1.5rem; flex-wrap: wrap;
    }
    .countdown-unit { text-align: center; }
    .countdown-number {
      font-family: 'Cinzel', serif;
      font-size: clamp(2rem, 6vw, 3.5rem);
      font-weight: 500; color: var(--burgundy); line-height: 1;
    }
    .countdown-label {
      font-family: 'Cinzel', serif; font-size: 0.48rem;
      letter-spacing: 0.25em; color: var(--pink); margin-top: 0.4rem;
    }
    .countdown-sep {
      font-family: 'Cinzel', serif; font-size: 2.5rem;
      color: var(--pink); line-height: 1; padding-top: 0.1rem;
    }
    #palabras-section .palabras-p {
      font-family: 'Cinzel', serif; font-size: 14px;
      text-align: center;
      letter-spacing: 0.2em; 
      color: var(--burgundy);
      line-height: 1.8; max-width: 700px;
      margin: 2rem auto 0;
    }

    /* ── HOTELS ── */
    .hotel-list { list-style: none; }
    .hotel-list li {
      padding: 1.1rem 0; border-bottom: 1px solid rgba(139,58,82,0.18);
      font-family: 'Cinzel', serif; font-size: 0.62rem;
      letter-spacing: 0.2em; color: var(--cream);
    }
    .hotel-list li:last-of-type { border-bottom: none; }
    .hotel-list a {
      display: block; font-size: 0.5rem; letter-spacing: 0.2em;
      color: var(--cream); text-decoration: none; margin-top: 0.3rem;
    }
    .hotel-list a:hover { color: var(--olive); }
    .hotel-note {
      margin-top: 1.5rem; font-size: 0.7rem; font-style: italic;
      letter-spacing: 0.05em; color: var(--cream); line-height: 1.7;
    }

    /* ── GALERÍA ── */
    #galeria {
      position: relative; z-index: 1;
      background: var(--dark); padding: 0;
    }
    .galeria-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 320px 320px;
      gap: 4px;
    }
    .galeria-item {
      overflow: hidden; position: relative;
    }
    .galeria-item img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.6s ease, filter 0.6s ease;
      filter: sepia(5%) saturate(90%);
    }
    .galeria-item:hover img {
      transform: scale(1.05); filter: sepia(0%) saturate(100%);
    }
    .galeria-item:nth-child(1) { grid-column: 1; grid-row: 1; }
    .galeria-item:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
    .galeria-item:nth-child(3) { grid-column: 1; grid-row: 2; }

    #restaurantes .rest-card:nth-last-child(-n+2){
      transform: translateX(150px);
    }

    #descubreMorelia {
      position: relative; z-index: 1;
      max-width: 100%; padding: 5rem 0 0; text-align: center;
      background: var(--white);
      
    }

    #moreliaContigo .rest-card:nth-last-child(-n+2),
    #cafe .rest-card:nth-last-child(-n+2) {
      transform: translateX(150px);
      background-color: var(--cream);
    }

    /* ── RESTAURANTES ── */
    #restaurantes {
      position: relative; z-index: 1;
      max-width: 100%; padding: 5rem 0 0; text-align: center;
      background: var(--sand);
      
    }
    #restaurantes > .section-label,
    #restaurantes > .section-rule,
    #restaurantes > .section-intro {
      max-width: 700px; margin-left: auto; margin-right: auto;
      padding-left: 1.5rem; padding-right: 1.5rem;
    }
    .section-intro {
      font-size: 1.05rem; font-style: italic;
      color: var(--burgundy); line-height: 1.85;
      margin-bottom: 3rem; opacity: 0.85;
    }
    .rest-category { padding: 4rem 1.5rem; text-align: center; }
    .rest-category:nth-child(even) { background: rgba(212,197,169,0.25); }
    .rest-category-label {
      font-family: 'Cinzel', serif; font-size: 0.58rem;
      letter-spacing: 0.35em; color: var(--pink); margin-bottom: 0.4rem;
    }
    .rest-category-title {
      font-family: 'Great Vibes', cursive; font-size: 2.8rem;
      color: var(--burgundy); margin-bottom: 0.3rem;
    }
    .rest-divider {
      display: flex; align-items: center; justify-content: center;
      gap: 0.8rem; margin: 0 auto 2.8rem; max-width: 200px;
    }
    .rest-divider::before, .rest-divider::after {
      content: ''; flex: 1; height: 1px; background: var(--cream);
    }
    .rest-divider .diamond { width:5px; height:5px; background:var(--cream); transform:rotate(45deg); flex-shrink:0; }
    .rest-grid {
      /*display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1.5rem; max-width: 900px; margin: 0 auto;
      */
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 260px));
        gap: 1.5rem;
        max-width: 900px;
        margin: 0 auto;
    }
    .rest-card {
      background: var(--white); border: 1px solid rgba(139,58,82,0.15);
      overflow: hidden; box-shadow: 3px 3px 0 rgba(139,58,82,0.06);
      transition: transform 0.35s, box-shadow 0.35s; text-align: left;
    }
    .rest-card:hover { transform: translateY(-5px); box-shadow: 5px 8px 0 rgba(139,58,82,0.11); }
    .rest-card-img {
      width: 100%; height: 180px; object-fit: cover; display: block;
      filter: sepia(6%) saturate(90%); background: var(--sand);
      transition: filter 0.4s;
    }
    .rest-card:hover .rest-card-img { filter: sepia(0%) saturate(100%); }
    .rest-card-body { padding: 1.3rem 1.4rem; }
    .rest-card-name {
      font-family: 'Cinzel', serif; font-size: 0.7rem;
      font-weight: 500; letter-spacing: 0.12em;
      color: var(--burgundy); margin-bottom: 0.35rem;
    }
    .rest-card-addr {
      font-family: 'Cormorant Garamond', serif; font-size: 0.85rem;
      font-style: italic; color: rgba(58,32,48,0.65);
      line-height: 1.5; margin-bottom: 1rem;
    }
    .rest-card-link {
      display: inline-block; font-family: 'Cinzel', serif;
      font-size: 0.5rem; letter-spacing: 0.25em; color: var(--burgundy);
      text-decoration: none; border: 1px solid var(--burgundy);
      padding: 0.45rem 1rem; transition: background 0.3s, color 0.3s;
    }
    .rest-card-link:hover { background: var(--burgundy); color: var(--white); }

    /*descubre morelia*/
    /* CONTENEDOR DE CADA ITEM */
.descubre-list {
  list-style: none;
  padding: 0;
  margin: 2rem auto 0;
  max-width: 420px; /* 🔥 controla ancho total */
  text-align: center;
}

/* CADA CARD */
.descubre-img img {
  width: 100%;
  height: auto;
  display: block;
}

.descubre-list li {
  background: var(--white);
  border: 1px solid rgba(139,58,82,0.15);
  box-shadow: 3px 3px 0 rgba(139,58,82,0.06);
  padding: 1rem 1.2rem; /* 🔥 más compacto */
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column; /* 🔥 centrado vertical */
  align-items: center;
  justify-content: center;
  transition: transform 0.35s, box-shadow 0.35s;
}

/* HOVER */
.descubre-list li:hover {
  transform: translateY(-4px);
  box-shadow: 5px 8px 0 rgba(139,58,82,0.11);
}

/* NÚMERO */
.descubre-list li * {
  font-family: 'Cinzel', serif;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  color: var(--burgundy);
  margin-bottom: 0.3rem;
  display: block;
}

/* TÍTULO */
.descubre-list strong {
  font-family: 'Cinzel', serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--burgundy);
  display: block;
  margin-bottom: 0.2rem;
}

/* TEXTO */
.descubre-list div {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.85rem;
  font-style: italic;
  color: rgba(58,32,48,0.65);
  line-height: 1.4;
}
    /* ── REGALOS ── */
    #regalos { position: relative; z-index: 1; background: var(--cream); }

    /* ── FOOTER ── */
    footer {
      position: relative; z-index: 1;
      background: var(--dark); color: rgba(245,240,228,0.38);
      text-align: center; padding: 2.8rem 1rem;
      font-family: 'Cinzel', serif; font-size: 0.5rem; letter-spacing: 0.28em;
    }
    footer .footer-monogram {
      font-family: 'Great Vibes', cursive; font-size: 2.8rem;
      color: var(--pink); display: block; margin-bottom: 0.6rem;
    }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp-desktop {
      from { opacity: 0; transform: translateY(-40px); }
      to   { opacity: 1; transform: translateY(0px); } /* 👈 0 desktop  -80 movil*/
    }

    @keyframes fadeUp-mobile {
    from { opacity: 0; transform: translateY(-40px); }
    to   { opacity: 1; transform: translateY(0px); }
    }
    .reveal {
      opacity: 0; transform: translateY(30px);
      transition: opacity 0.85s ease, transform 0.85s ease;
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
      #hero-bg { position: absolute; }
      #hero-bg-overlay { position: absolute; }
      nav {
        gap: 1rem; font-size: 0.5rem; padding: 0.7rem 0.8rem;
        overflow-x: auto; justify-content: flex-start;
        flex-wrap: nowrap; -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }

      .nombres {
        font-size: 8px;
        display: grid;
        grid-template-columns: 1fr 1fr; /* dos columnas */
        column-gap: 10px; /* 👉 controla la separación horizontal */
        row-gap: 10px;
        align-items: start;
      }

      .papa {
        grid-column: 1;
      }

      .mama {
        grid-column: 2;
        margin-left: 0; /* quitamos sangría */
      }



      nav::-webkit-scrollbar { display: none; }
      nav a { flex-shrink: 0; }
      #hero { height: 100svh; padding: 2rem 1rem 2rem; }
      .rr-svg { width: 100px; height: 180px; transform: translateY(40px); }
      /*.rr-svg { width: 10px; height: 180px; }*/
      .hero-names { font-size: clamp(2.8rem,12vw, 5rem); }
      
      .hero-date { 
        font-size: 3px; 
        gap: 0; 
        transform: translateY(10px); 
        animation: fadeUp-mobile 1s ease forwards;
      }

      .hero-date .hd-text-side { 
        font-size: 9px; 
        padding: 0; 
      }

      .hero-date .hd-line-h { 
        width: 20px; 
      }

      .hero-date .hd-day { 
        font-size: 20px; 
      }

      .hero-date .hd-divider { 
        height: 30px; 
        margin: 5px;
      }
      .hero-city {
            transform: translateY(80px); /* 👈 bájalo */
            animation: none; /* 👈 evita que la animación lo regrese */
            opacity: 1;
       }
      section { padding: 3rem 1rem; }
      .section-label { font-size: 2.5rem; }
      .event-card { padding: 2rem 1.5rem; }
      .galeria-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 200px 200px;
      }
      .rest-grid { grid-template-columns: 1fr; max-width: 380px; }
      .rest-category { padding: 2.5rem 1rem; }
      #padres-banner { padding: 3rem 1.5rem; }
      .countdown-grid { gap: 0.8rem; }
      .countdown-sep { font-size: 1.8rem; }
      #restaurantes .rest-card:nth-last-child(-n+2),
       #moreliaContigo .rest-card:nth-last-child(-n+2),
       #cafe .rest-card:nth-last-child(-n+2) {
        transform: none;
       }
    }
    @media (max-width: 400px) {
      .galeria-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
      .galeria-item:nth-child(2) { grid-column: 1; grid-row: auto; }
    }
  