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

    /* ── Bodas hero override ─────────────────────────────── */
    .bodas-hero {
      height: 100vh;
      min-height: 650px;
    }

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

    .bodas-intro-inner {
      max-width: 1400px;
      margin: 0 auto;
      text-align: center;
      max-width: 800px;
    }

    .bodas-intro-inner .label { margin-bottom: 1.5rem; }
    .bodas-intro-inner .display-lg { color: #f5f2ee; margin-bottom: 1.5rem; }
    .bodas-intro-inner .divider { margin: 0 auto 1.5rem; }

    .bodas-intro-inner .body-text {
      font-size: clamp(.95rem,1.3vw,1.1rem);
      text-align: center;
      max-width: 620px;
      margin: 0 auto 1.25rem;
    }

    /* ── Propuesta bodas ────────────────────────────────── */
    .bodas-propuesta {
      padding: clamp(5rem,10vh,9rem) clamp(1.5rem,5vw,4rem);
      background: #f5f2ee;
    }

    .bodas-propuesta-inner {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: clamp(3rem,6vw,7rem);
      align-items: center;
    }

    /* ── Galería bodas (editorial) ──────────────────────── */
    .bodas-galeria {
      padding: 0;
      background: #080808;
    }

    .bodas-galeria-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: 38vh;
      gap: 3px;
    }

    .bodas-gal-item {
      overflow: hidden;
      position: relative;
    }

    .bodas-gal-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      filter: brightness(.78);
      transition: transform .9s cubic-bezier(.22,1,.36,1), filter .9s;
    }

    .bodas-gal-item:hover img {
      transform: scale(1.05);
      filter: brightness(.92);
    }

    .bodas-gal-caption {
      position: absolute;
      bottom: 1.5rem; left: 1.5rem;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1rem,1.8vw,1.5rem);
      font-weight: 300;
      font-style: italic;
      color: rgba(245,242,238,.7);
      pointer-events: none;
    }

    /* ── Servicios bodas ────────────────────────────────── */
    .bodas-servicios {
      padding: clamp(5rem,10vh,9rem) clamp(1.5rem,5vw,4rem);
      background: #0e0c0a;
    }

    .bodas-servicios-grid {
      max-width: 1400px;
      margin: 3rem auto 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.5rem;
    }

    .servicio-card {
      padding: 2.5rem 2rem;
      border: 1px solid rgba(184,147,86,.15);
      transition: border-color .4s, background .4s;
    }

    .servicio-card:hover {
      border-color: rgba(184,147,86,.4);
      background: rgba(184,147,86,.04);
    }

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

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

    .servicio-desc {
      font-size: .8rem;
      font-weight: 300;
      line-height: 1.85;
      color: rgba(245,242,238,.5);
    }

    /* ── Testimonios ────────────────────────────────────── */
    .testimonios {
      padding: clamp(5rem,10vh,9rem) clamp(1.5rem,5vw,4rem);
      background: #f5f2ee;
    }

    .testimonios-grid {
      max-width: 1400px;
      margin: 3rem auto 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }

    .testimonio-card {
      padding: 2.5rem;
      background: #fff;
      border-top: 2px solid rgba(138,109,63,.25);
      transition: border-top-color 0.3s, box-shadow 0.3s;
    }

    .testimonio-card:hover {
      border-top-color: #b89356;
      box-shadow: 0 8px 40px rgba(0,0,0,0.1);
    }

    .testimonio-quote {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1rem,1.5vw,1.2rem);
      font-weight: 300;
      font-style: italic;
      color: rgba(0,0,0,.7);
      line-height: 1.8;
      margin-bottom: 1.5rem;
    }

    .testimonio-author {
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: #8a6d3f;
    }

    .testimonio-event {
      font-size: .7rem;
      font-weight: 300;
      color: rgba(0,0,0,.4);
      margin-top: .2rem;
    }

    @media (max-width: 1000px) {
      .bodas-propuesta-inner { grid-template-columns: 1fr; }
      .bodas-galeria-grid { grid-template-rows: 40vw 40vw; }
      .bodas-servicios-grid { grid-template-columns: 1fr 1fr; }
      .testimonios-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 600px) {
      .bodas-galeria-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 30vw; }
      .bodas-servicios-grid { grid-template-columns: 1fr; }
      .testimonios-grid { grid-template-columns: 1fr; }
    }
