    :root {
      --vanilla: #f5eee6;
      --vanilla-ice: #faf6f0;
      --petal-pink: #f5e6a8;
      --petal-pink-deep: #c9b86a;
      --parchment: #f0e8dc;
      --envelope-edge: #d4c4a8;
      --olive-dark: #5a5c38;
      --olive: #6a6c42;
      --ink: #2f372e;
      --dorado: #58503c;
      --texto: #333;
      --line: rgba(47, 55, 46, 0.15);
      --hayden: url('https://royal-invite.com/wp-content/uploads/2025/02/hayden.webp');
      --font-ui: 'DM Sans', system-ui, sans-serif;
      --didone: 'Antic Didone', Georgia, serif;
      --script: 'Pinyon Script', cursive;
      --sans: 'Manrope', var(--font-ui);
      --flourish: "p22-zaner-pro-three", 'Pinyon Script', cursive;
        }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html {
      font-size: 16px;
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
      touch-action: pan-y pinch-zoom;
    }

    body {
      font-family: var(--font-ui);
      font-weight: 300;
      color: #494d3e;
      background: var(--parchment);
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
      touch-action: pan-y pinch-zoom;
      min-height: 100vh;
    }

    body.invite-locked {
      overflow: hidden;
      position: fixed;
      inset: 0;
      width: 100%;
    }

    body.modal-open {
      overflow: hidden;
    }

    .elementor,
    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap,
    .elementor-widget-html,
    .elementor-widget-container {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    /* ---------- Gate ---------- */
    .gate {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      background: rgba(236, 228, 218, 0.52);
      backdrop-filter: blur(5px) saturate(105%);
      -webkit-backdrop-filter: blur(5px) saturate(105%);
      transition: opacity 0.45s ease, visibility 0.45s ease;
    }

    .gate.is-open {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .gate-backdrop {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 78% 44%;
      z-index: 0;
      pointer-events: none;
      opacity: 0.26;
    }

    .gate-card {
      position: relative;
      z-index: 1;
      width: min(100%, 300px);
      padding: 2.75rem 1.35rem 2.25rem;
      background: linear-gradient(180deg, rgba(248, 242, 238, 0.84) 0%, rgba(233, 220, 203, 0.76) 100%);
      border: 1px solid rgba(255, 255, 255, 0.45);
      border-radius: 10px;
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset, 0 18px 40px rgba(0, 0, 0, 0.16);
      text-align: center;
    }

    .gate-card.sobre {
      --sobre-claro: rgba(250, 245, 240, 0.96);
      --sobre-medio: rgba(240, 231, 219, 0.96);
      --sobre-oscuro: rgba(228, 215, 197, 0.97);
      --sobre-interior: #d6c7b0;
      --sobre-punta: 60%;
      --sobre-grano: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E");
      --sobre-fibras:
        radial-gradient(1.1px 1px at 7% 14%, rgba(98, 76, 50, 0.42) 50%, transparent 51%),
        radial-gradient(1px 1.4px at 19% 62%, rgba(88, 68, 45, 0.38) 50%, transparent 51%),
        radial-gradient(1.2px 1px at 31% 28%, rgba(105, 82, 55, 0.35) 50%, transparent 51%),
        radial-gradient(1px 1px at 44% 78%, rgba(92, 72, 48, 0.4) 50%, transparent 51%),
        radial-gradient(1.3px 1.1px at 56% 11%, rgba(110, 86, 58, 0.32) 50%, transparent 51%),
        radial-gradient(1px 1.2px at 68% 45%, rgba(95, 74, 50, 0.36) 50%, transparent 51%),
        radial-gradient(1.1px 1px at 79% 71%, rgba(102, 80, 54, 0.34) 50%, transparent 51%),
        radial-gradient(1px 1px at 91% 22%, rgba(90, 70, 46, 0.38) 50%, transparent 51%),
        radial-gradient(1.2px 1px at 15% 88%, rgba(85, 65, 42, 0.3) 50%, transparent 51%),
        radial-gradient(1px 1.3px at 52% 52%, rgba(100, 78, 52, 0.22) 50%, transparent 51%),
        radial-gradient(ellipse 130% 90% at 50% 8%, rgba(255, 252, 247, 0.55) 0%, transparent 58%);
      --sobre-textura-size: 100% 100%, 100% 100%, 100% 100%;
      position: relative;
      width: min(88vw, 340px);
      aspect-ratio: 1 / 1.08;
      padding: 0;
      background: none;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      text-align: center;
      perspective: 1400px;
    }

    .sobre__fondo {
      position: absolute;
      inset: 0;
      border-radius: 6px;
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(180deg, var(--sobre-interior) 0%, #c9b89e 100%);
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      box-shadow:
        0 24px 50px rgba(0, 0, 0, 0.26),
        0 0 0 1px rgba(255, 255, 255, 0.35) inset;
    }

    .sobre__carta {
      position: absolute;
      left: 7%;
      right: 7%;
      top: 5%;
      bottom: 7%;
      z-index: 1;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      padding-top: 9%;
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(180deg, #fdfaf5 0%, #f3ebdf 100%);
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      border-radius: 3px;
      box-shadow: 0 2px 10px rgba(60, 45, 30, 0.14);
      transition: transform 0.75s cubic-bezier(0.2, 0.75, 0.25, 1) 0.8s;
    }

    .sobre__carta::before {
      content: "";
      position: absolute;
      inset: 8px;
      border: 1px solid rgba(120, 105, 80, 0.28);
      pointer-events: none;
    }

    .sobre__carta img {
      width: 30%;
      height: auto;
      filter: brightness(0);
      opacity: 0.5;
    }

    .sobre__solapa {
      position: absolute;
      inset: 0;
      pointer-events: none;
      filter: drop-shadow(0 1px 1.5px rgba(80, 65, 45, 0.25));
    }

    .sobre__solapa::before {
      content: "";
      position: absolute;
      inset: 0;
    }

    .sobre__solapa--izq { z-index: 3; }
    .sobre__solapa--izq::before {
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(90deg, var(--sobre-medio), var(--sobre-claro));
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      clip-path: polygon(0 0, 53% 55%, 0 100%);
      border-radius: 6px 0 0 6px;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.25);
    }

    .sobre__solapa--der { z-index: 3; }
    .sobre__solapa--der::before {
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(270deg, var(--sobre-medio), var(--sobre-claro));
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      clip-path: polygon(100% 0, 47% 55%, 100% 100%);
      border-radius: 0 6px 6px 0;
      box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.22);
    }

    .sobre__solapa--abajo { z-index: 4; }
    .sobre__solapa--abajo::before {
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(0deg, var(--sobre-oscuro), var(--sobre-claro));
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      clip-path: polygon(0 100%, 50% 46%, 100% 100%);
      border-radius: 0 0 6px 6px;
    }

    .sobre__solapa--arriba {
      z-index: 5;
      transform-origin: 50% 0;
      transform-style: preserve-3d;
      filter: drop-shadow(0 3px 4px rgba(80, 65, 45, 0.28));
      transition: transform 0.7s cubic-bezier(0.45, 0.05, 0.35, 1) 0.25s, z-index 0s linear 0.6s;
    }

    .sobre__solapa--arriba::before {
      background:
        var(--sobre-grano),
        var(--sobre-fibras),
        linear-gradient(180deg, var(--sobre-claro) 0%, var(--sobre-medio) 100%);
      background-size: var(--sobre-textura-size);
      background-repeat: no-repeat;
      clip-path: polygon(0 0, 100% 0, 56% calc(var(--sobre-punta) - 4%), 50% var(--sobre-punta), 44% calc(var(--sobre-punta) - 4%));
      border-radius: 6px 6px 0 0;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
    }

    .sobre__contenido {
      position: absolute;
      inset: 0;
      z-index: 6;
      pointer-events: none;
      transition: opacity 0.35s ease;
    }

    .gate-card.sobre h2 {
      position: absolute;
      top: 12%;
      left: 0;
      right: 0;
      margin: 0;
    }

    .gate-card.sobre .gate-seal-wrap {
      position: absolute;
      left: 50%;
      top: var(--sobre-punta);
      width: 210px;
      height: 118px;
      margin: 0;
      transform: translate(-50%, -34%);
      pointer-events: auto;
    }

    .gate-card.sobre .gate-lazo {
      left: 50%;
      top: -18%;
      width: 167%;
      max-width: none;
      height: auto;
      transform: translate(-50%, -50%) scale(1.08);
    }

    .gate-card.sobre .gate-seal-wrap .wax-seal {
      left: 50%;
      top: 50%;
      margin: 0;
      width: 82px;
      height: 82px;
      border: none;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      transform: translate(-50%, -50%);
      animation: none;
    }

    .gate-card.sobre .gate-seal-wrap .wax-seal img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      animation: waxHeartbeat 1.35s ease-in-out infinite;
      transform-origin: center center;
    }

    .gate-card.sobre .gate-seal-wrap .wax-seal:hover img {
      animation-play-state: paused;
      transform: scale(1.06);
    }

    .gate-card.sobre .gate-seal-wrap .wax-seal:hover {
      transform: translate(-50%, -50%);
    }

    .gate-card.sobre .wax-hint {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 7%;
      margin: 0;
    }

    .gate.is-opening .sobre__contenido {
      opacity: 0;
    }

    .gate.is-opening .wax-seal {
      animation: none;
    }

    .gate.is-opening .gate-card.sobre .wax-seal img {
      animation: none;
    }

    .gate.is-opening .sobre__solapa--arriba {
      transform: rotateX(180deg);
      z-index: 0;
    }

    .gate.is-opening .sobre__carta {
      transform: translateY(-38%);
    }

    /* Gate — sobre Marcela & Mateo (capas alineadas; bisagra medida al cargar) */
    .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .gate-card.sobre.sobre--png {
      aspect-ratio: 1920 / 1451;
      --sobre-punta: 58%;
      --sobre-bisagra-y: 0.5%;
      --sobre-flap-open: 148deg; /* cuánto se abre (más grados = más hacia atrás) */
      --sobre-abierta-y: 0px;    /* mueve la solapa YA ABIERTA: negativo sube, positivo baja */
      --carta-sube: -46%;
      filter: drop-shadow(0 22px 44px rgba(0, 0, 0, 0.24));
      overflow: visible;
    }

    .gate-card.sobre.sobre--png .sobre__contenido {
      z-index: 10;
    }

    .sobre-png {
      position: absolute;
      inset: 0;
      perspective: 1600px;
      perspective-origin: 50% var(--sobre-bisagra-y);
      overflow: visible;
    }

    .sobre-png__layer {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      pointer-events: none;
      user-select: none;
      -webkit-user-drag: none;
    }

    .sobre-png__interior {
      position: absolute;
      inset: 0;
    }

    .sobre-png__fondo     { z-index: 1; }
    .sobre-png__carta     { z-index: 3; }
    .sobre-png__delantero { z-index: 4; }

    /* Como Josh: una bisagra, dos caras, un giro a 148°. No se oculta. */
    .sobre-png__bisagra {
      position: absolute;
      inset: 0;
      z-index: 12;
      transform-origin: 50% var(--sobre-bisagra-y);
      transform-style: preserve-3d;
      transform: translateZ(3.6px) rotateX(0deg);
      pointer-events: none;
      will-change: transform;
    }

    .sobre-png__cara {
      position: absolute;
      inset: 0;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
    }

    .sobre-png__cara--in {
      transform: rotateX(180deg) translateZ(0.1px);
    }

    .sobre-png__cara .sobre-png__layer {
      position: absolute;
      inset: 0;
    }

    .sobre-png__carta {
      position: absolute;
      left: 9%;
      right: 9%;
      top: calc(var(--sobre-bisagra-y) + 1.5%);
      bottom: 20%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      padding-top: 9%;
      background: linear-gradient(180deg, #fdfaf5 0%, #f3ebdf 100%);
      border-radius: 3px;
      box-shadow: 0 2px 12px rgba(60, 45, 30, 0.16);
      will-change: transform;
    }

    .sobre-png__carta::before {
      content: "";
      position: absolute;
      inset: 8px;
      border: 1px solid rgba(120, 105, 80, 0.28);
      pointer-events: none;
    }

    .sobre-png__carta img {
      position: relative;
      z-index: 1;
      width: 32%;
      height: auto;
      flex-shrink: 0;
      filter: brightness(0);
      opacity: 0.5;
    }

    .sobre-png__carta-fecha {
      position: relative;
      z-index: 1;
      margin: clamp(0.3rem, 1.8vw, 0.5rem) 0 0;
      padding: 0 0.25rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.54rem, 2.5vw, 0.66rem);
      font-weight: 400;
      letter-spacing: 0.26em;
      line-height: 1.35;
      text-transform: uppercase;
      color: rgba(95, 95, 56, 0.72);
      white-space: nowrap;
    }

    .gate.is-opening .sobre-png__bisagra {
      transform: translateY(var(--sobre-abierta-y)) rotateX(var(--sobre-flap-open));
      transition: transform 0.7s linear 0.22s;
      animation: mm-bisagra-z 0.01s linear 0.92s forwards;
    }

    @keyframes mm-bisagra-z {
      to { z-index: 2; }
    }

    .gate.is-open .sobre-png__bisagra {
      transform: translateY(var(--sobre-abierta-y)) rotateX(var(--sobre-flap-open));
      z-index: 2;
      transform-style: preserve-3d;
    }

    .gate.is-opening .sobre-png__delantero {
      z-index: 8;
    }

    .gate.is-opening .sobre-png__carta {
      z-index: 3;
      transform: translateY(var(--carta-sube));
      transition: transform 1.7s cubic-bezier(0.4, 0.05, 0.25, 1) 1.4s;
      animation: mm-carta-frente 0.01s linear 0.95s forwards;
    }

    @keyframes mm-carta-frente {
      to { z-index: 5; }
    }

    @media (prefers-reduced-motion: reduce) {
      .gate.is-opening .sobre__solapa--arriba,
      .gate.is-opening .sobre__carta,
      .sobre__contenido,
      .gate.is-opening .sobre-png__bisagra,
      .gate.is-opening .sobre-png__carta {
        transition: none !important;
      }
      .gate.is-opening .sobre-png__bisagra {
        transform: translateY(var(--sobre-abierta-y)) rotateX(var(--sobre-flap-open));
        z-index: 2;
      }
      .gate.is-opening .sobre-png__carta {
        z-index: 5;
        transform: translateY(var(--carta-sube));
      }
      .wax-seal {
        animation: none;
      }
      .gate-card.sobre .wax-seal img {
        animation: none;
      }
    }

    .gate-card h2 {
      font-family: 'Pinyon Script', cursive;
      font-weight: 400;
      font-style: italic;
      font-size: clamp(1.85rem, 8vw, 2.35rem);
      color: var(--dorado);
      line-height: 1.1;
      white-space: nowrap;
    }

    .gate-card.sobre .sobre__contenido h2 {
      font-family: 'Antic Didone', 'Cormorant Garamond', Georgia, serif;
      font-style: normal;
      font-size: clamp(0.78rem, 3.6vw, 1.02rem);
      letter-spacing: 0.24em;
      text-transform: uppercase;
      line-height: 1.4;
      white-space: normal;
      color: #b8a995;
      text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72),
        0 -1px 0 rgba(92, 78, 62, 0.28),
        0 2px 4px rgba(70, 58, 45, 0.12),
        1px 1px 1px rgba(255, 255, 255, 0.35);
    }

    .gate-card.sobre .sobre__contenido h2 .gate-amp {
      letter-spacing: 0.12em;
      font-size: 0.92em;
    }

    .gate-card .gate-sub {
      margin-top: 0.5rem;
      font-size: 0.58rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .wax-seal {
      margin: 1.85rem auto 0;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 84px;
      height: 84px;
      padding: 0;
      border-radius: 50%;
      cursor: pointer;
      background: transparent;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
      border: 1px solid rgba(40, 10, 14, 0.2);
      overflow: hidden;
      animation: waxHeartbeat 1.35s ease-in-out infinite;
    }

    .gate-card.sobre .wax-seal {
      margin: 0;
    }

    .wax-seal:hover { animation-play-state: paused; transform: scale(1.06); }
    .wax-seal img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    @keyframes waxHeartbeat {
      0%, 100% { transform: scale(1); }
      12% { transform: scale(1.09); }
      24% { transform: scale(1); }
      36% { transform: scale(1.12); }
      55% { transform: scale(1); }
    }
    .wax-hint {
      display: block;
      position: relative;
      z-index: 5;
      margin-top: 0.35rem;
      font-size: 0.58rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .gate-seal-wrap {
      position: relative;
      width: 210px;
      height: 118px;
      margin: 0.85rem auto 0;
      overflow: visible;
    }

    .gate-lazo {
      position: absolute;
      left: 55%;
      top: 34%;
      width: 220%;
      max-width: none;
      transform: translate(-50%, -50%);
      pointer-events: none;
      z-index: 1;
    }

    .gate-seal-wrap .wax-seal {
      position: absolute;
      left: 50%;
      top: 34%;
      margin: -42px 0 0 -42px;
      z-index: 2;
    }

    .gate-seal-wrap .wax-seal:hover {
      animation-play-state: paused;
      transform: scale(1.06);
    }

    /* ---------- Fondo página + foto ---------- */
    .wrap {
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
    }

    .invite-one {
      --mm-itinerario-plate: url("https://pub-a65601eb9ffe4b62a9bcbf111a23ee8c.r2.dev/invitations/custom-orders/marce%20%26%20Mateo/fofno%20itrinerario.webp");
      position: relative;
      width: 100%;
      max-width: none;
      margin: 0;
      overflow: visible;
      border-radius: 0;
      border: 0;
      box-shadow: none;
      background-color: #d8d2c8;
      background-image: var(--hayden);
      background-size: cover;
      background-position: bottom center;
    }

    @media (max-width: 768px) {
      .wrap,
      .invite-one {
        max-width: none;
      }
    }

    .invite-one::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 0;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(245, 238, 230, 0.38) 100%);
      pointer-events: none;
      z-index: 0;
    }

    .invite-main-header {
      position: relative;
      z-index: 10;
      width: 100%;
      overflow: visible;
    }

    .hero-strip {
      position: relative;
      z-index: 3;
      height: clamp(360px, 75vh, 620px);
      min-height: 320px;
      overflow: hidden;
      border-radius: 0;
      margin-top: 0.35rem;
      margin-bottom: 0;
    }

    .hero-strip--lead {
      margin-top: 0;
      width: 100%;
      height: 100dvh;
      min-height: 100dvh;
      max-height: none;
      background: #2c2a28;
      z-index: 1;
    }

    .invite-guest-block--lead {
      position: relative;
      isolation: isolate;
      padding-top: 1rem;
      padding-bottom: 1.25rem;
      overflow: hidden;
    }

    /* Papel blanco con textura fija (estilo Josh, sin animación) */
    .mm-paper-bg {
      --mm-paper-base:
        radial-gradient(120% 90% at 100% 0%, rgba(220, 213, 205, 0.28) 0%, transparent 58%),
        linear-gradient(200deg, #f0ece6 0%, #f8f6f3 42%, #ffffff 76%);
      --mm-paper-grain:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .35 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
        repeating-linear-gradient(60deg, rgba(150, 142, 135, 0.04) 0 1px, transparent 1px 4px),
        repeating-linear-gradient(-60deg, rgba(150, 142, 135, 0.04) 0 1px, transparent 1px 4px);
      background: var(--mm-paper-base);
    }

    .mm-paper-bg__textura {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      background-image: var(--mm-paper-grain);
      opacity: 0.32;
      mix-blend-mode: multiply;
    }

    .mm-paper-bg__textura--block {
      z-index: 0;
    }

    .invite-guest-block--lead > *:not(.mm-paper-bg__textura) {
      position: relative;
      z-index: 1;
    }

    .mm-guest-welcome__rule {
      width: min(76%, 15.5rem);
      margin: 0.4rem auto;
      height: 7px;
    }

    .mm-guest-welcome {
      --mm-guest-plate: url("https://pub-a65601eb9ffe4b62a9bcbf111a23ee8c.r2.dev/invitations/custom-orders/marce%20%26%20Mateo/invita.webp");
      position: relative;
      z-index: 25;
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-top: clamp(-5.75rem, -17vw, -2.85rem);
      margin-bottom: clamp(-4.25rem, -14vw, -2.35rem);
      padding: 0;
      overflow: visible;
      text-align: center;
      background: transparent;
      opacity: 1;
      transform: none;
      pointer-events: none;
    }

    .mm-guest-welcome__plate {
      position: relative;
      width: 100%;
      aspect-ratio: 3240 / 1800;
      background-color: transparent;
      background-image: var(--mm-guest-plate);
      background-repeat: no-repeat;
      background-position: center top;
      background-size: 100% 100%;
      filter: drop-shadow(0 16px 32px rgba(45, 40, 32, 0.1));
      pointer-events: none;
    }

    .mm-guest-welcome__copy {
      pointer-events: auto;
      position: absolute;
      left: 50%;
      top: 54%;
      z-index: 1;
      width: 82%;
      max-width: 20rem;
      transform: translate(-50%, -50%) translateY(10px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      padding: 0 0.35rem;
      opacity: 0;
      transition: opacity 0.65s ease, transform 0.65s ease;
    }

    .mm-guest-welcome__copy.is-on {
      opacity: 1;
      transform: translate(-50%, -50%);
    }

    @media (prefers-reduced-motion: reduce) {
      .mm-guest-welcome__copy {
        opacity: 1;
        transform: translate(-50%, -50%);
        transition: none;
      }
    }

    .mm-guest-welcome__inner {
      position: absolute;
      left: 50%;
      top: 54%;
      z-index: 1;
      width: 78%;
      max-width: 19.5rem;
      transform: translate(-50%, -50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      padding: 0 0.25rem;
    }

    .mm-guest-welcome__paper {
      display: none;
    }

    .mm-guest-welcome > * {
      position: relative;
      z-index: 1;
    }

    @media (prefers-reduced-motion: reduce) {
      .seda-pantalla .seda__tela,
      .seda-pantalla .seda::before,
      .seda-pantalla .seda::after,
      .seda-pantalla .seda__bordes::before,
      .seda-pantalla .seda__bordes::after {
        animation: none;
      }
    }

    /* Seda pantalla completa — bloque sobre + hoja */
    .mm-sobre-seda.seda-pantalla {
      position: relative;
      z-index: 5;
      overflow: hidden;
      isolation: isolate;
      width: 100%;
      height: auto;
      min-height: 0;
      max-height: none;
      padding: 0;
      background: var(--seda-base, #f3f1ee);
      --seda-base: #f3f1ee;
      --seda-velocidad: 1;
      --seda-pliegues: 0.7;
      --centro-libre: 28%;
      --bordes-fuerza: 0.95;
      --seda-img: url("https://pub-a65601eb9ffe4b62a9bcbf111a23ee8c.r2.dev/invitations/custom-orders/marce%20%26%20Mateo/seda.jpg");
    }

    .seda-pantalla > *:not(.seda) {
      position: relative;
      z-index: 1;
    }

    .mm-sobre-seda__content {
      position: relative;
      z-index: 1;
    }

    .seda-pantalla .seda {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }

    .seda-pantalla .seda__tela {
      position: absolute;
      inset: -30%;
      background: var(--seda-img) center/cover no-repeat, #f3f1ee;
      will-change: transform, opacity;
      backface-visibility: hidden;
    }

    .seda-pantalla .seda__tela--1 {
      animation: sp-viento-1 calc(6s * var(--seda-velocidad)) ease-in-out infinite alternate;
    }

    .seda-pantalla .seda__tela--2 {
      mix-blend-mode: multiply;
      opacity: 0;
      animation:
        sp-viento-2 calc(7.5s * var(--seda-velocidad)) ease-in-out infinite alternate,
        sp-pliegue calc(4s * var(--seda-velocidad)) ease-in-out infinite alternate;
    }

    .seda-pantalla .seda__tela--3 {
      mix-blend-mode: multiply;
      opacity: 0;
      animation:
        sp-viento-3 calc(9s * var(--seda-velocidad)) ease-in-out infinite alternate,
        sp-pliegue calc(5s * var(--seda-velocidad)) ease-in-out infinite alternate-reverse;
    }

    .seda-pantalla .seda::before {
      content: "";
      position: absolute;
      inset: -80%;
      background: repeating-linear-gradient(118deg,
        transparent 0%, transparent 7%,
        rgba(255, 255, 255, 0.85) 11%,
        transparent 15%, transparent 22%);
      mix-blend-mode: soft-light;
      animation: sp-brillo calc(5s * var(--seda-velocidad)) ease-in-out infinite alternate;
      z-index: 2;
    }

    .seda-pantalla .seda::after {
      content: "";
      position: absolute;
      inset: -80%;
      background: repeating-linear-gradient(-28deg,
        transparent 0%, transparent 9%,
        rgba(110, 105, 100, 0.24) 14%,
        transparent 19%);
      mix-blend-mode: multiply;
      animation: sp-sombra calc(7s * var(--seda-velocidad)) ease-in-out infinite alternate;
      z-index: 2;
    }

    .seda-pantalla .seda__bordes {
      position: absolute;
      inset: 0;
      z-index: 3;
      -webkit-mask-image: radial-gradient(ellipse 60% 48% at 50% 50%,
        transparent var(--centro-libre), #000 calc(var(--centro-libre) + 45%));
      mask-image: radial-gradient(ellipse 60% 48% at 50% 50%,
        transparent var(--centro-libre), #000 calc(var(--centro-libre) + 45%));
    }

    .seda-pantalla .seda__bordes .seda__tela {
      mix-blend-mode: multiply;
      opacity: 0;
    }

    .seda-pantalla .seda__tela--4 {
      animation:
        sp-borde-1 calc(4.5s * var(--seda-velocidad)) ease-in-out infinite alternate,
        sp-borde-op calc(3s * var(--seda-velocidad)) ease-in-out infinite alternate;
    }

    .seda-pantalla .seda__tela--5 {
      animation:
        sp-borde-2 calc(5.5s * var(--seda-velocidad)) ease-in-out infinite alternate,
        sp-borde-op calc(3.6s * var(--seda-velocidad)) ease-in-out infinite alternate-reverse;
    }

    .seda-pantalla .seda__bordes::before {
      content: "";
      position: absolute;
      inset: -80%;
      background: repeating-linear-gradient(105deg,
        transparent 0%, transparent 5%,
        rgba(255, 255, 255, 1) 8%,
        transparent 11%, transparent 16%);
      mix-blend-mode: soft-light;
      animation: sp-brillo calc(3.5s * var(--seda-velocidad)) ease-in-out infinite alternate-reverse;
    }

    .seda-pantalla .seda__bordes::after {
      content: "";
      position: absolute;
      inset: -80%;
      background: repeating-linear-gradient(-40deg,
        transparent 0%, transparent 6%,
        rgba(95, 90, 85, 0.38) 10%,
        transparent 14%);
      mix-blend-mode: multiply;
      animation: sp-sombra calc(4.5s * var(--seda-velocidad)) ease-in-out infinite alternate-reverse;
    }

    @keyframes sp-viento-1 {
      0%   { transform: translate(0, 0) scale(1) rotate(0) skew(0, 0); }
      25%  { transform: translate(-9%, 5%) scale(1.14) rotate(-5deg) skew(6deg, -3deg); }
      50%  { transform: translate(7%, -4%) scale(1.06) rotate(4deg) skew(-5deg, 4deg); }
      75%  { transform: translate(-5%, -6%) scale(1.16) rotate(-3deg) skew(3deg, 3deg); }
      100% { transform: translate(8%, 4%) scale(1.08) rotate(5deg) skew(-6deg, -2deg); }
    }

    @keyframes sp-viento-2 {
      0%   { transform: scaleX(-1) translate(8%, -5%) scale(1.1) rotate(9deg); }
      50%  { transform: scaleX(-1) translate(-9%, 6%) scale(1.2) rotate(-6deg) skew(7deg, 0); }
      100% { transform: scaleX(-1) translate(6%, 7%) scale(1.12) rotate(11deg); }
    }

    @keyframes sp-viento-3 {
      0%   { transform: scaleY(-1) translate(-8%, 4%) scale(1.16) rotate(-11deg); }
      50%  { transform: scaleY(-1) translate(9%, -5%) scale(1.08) rotate(6deg) skew(0, 6deg); }
      100% { transform: scaleY(-1) translate(-5%, -7%) scale(1.18) rotate(-7deg); }
    }

    @keyframes sp-pliegue {
      0%   { opacity: 0; }
      100% { opacity: var(--seda-pliegues); }
    }

    @keyframes sp-brillo {
      0%   { transform: translate(-22%, -12%) rotate(0); opacity: 0.5; }
      50%  { opacity: 1; }
      100% { transform: translate(22%, 12%) rotate(7deg); opacity: 0.6; }
    }

    @keyframes sp-sombra {
      0%   { transform: translate(18%, -10%); }
      100% { transform: translate(-18%, 10%); }
    }

    @keyframes sp-borde-1 {
      0%   { transform: rotate(90deg) translate(10%, -8%) scale(1.15) skew(8deg, 0); }
      50%  { transform: rotate(80deg) translate(-12%, 9%) scale(1.28) skew(-6deg, 5deg); }
      100% { transform: rotate(98deg) translate(8%, 10%) scale(1.18) skew(4deg, -6deg); }
    }

    @keyframes sp-borde-2 {
      0%   { transform: rotate(180deg) scaleX(-1) translate(-10%, 8%) scale(1.22) skew(0, 7deg); }
      50%  { transform: rotate(172deg) scaleX(-1) translate(12%, -10%) scale(1.12) skew(-7deg, 0); }
      100% { transform: rotate(188deg) scaleX(-1) translate(-7%, -9%) scale(1.26) skew(5deg, -4deg); }
    }

    @keyframes sp-borde-op {
      0%   { opacity: 0.1; }
      100% { opacity: var(--bordes-fuerza); }
    }

    .mm-sobre-seda .mm-acciones {
      background: transparent;
    }

    .mm-sobre-seda .inv-container--abierto {
      aspect-ratio: 480 / 800;
      margin-top: clamp(0.65rem, 3.2vw, 1.25rem);
      margin-bottom: clamp(0.4rem, 2.2vw, 0.85rem);
    }

    /* ——— Cuenta regresiva (encima de ubicación) ——— */
    .mm-countdown {
      position: relative;
      z-index: 8;
      width: 100%;
      max-width: 430px;
      margin: 0 auto;
      padding: clamp(0.45rem, 2.2vw, 0.75rem) 1rem clamp(1.35rem, 5.5vw, 2rem);
      text-align: center;
    }

    .mm-sobre-seda__content > .mm-countdown {
      margin-top: clamp(0.85rem, 4vw, 1.5rem);
      padding-bottom: clamp(1.65rem, 6vw, 2.35rem);
    }

    .mm-sobre-seda__content > .mm-acciones {
      padding-top: clamp(1.75rem, 6.5vw, 2.35rem);
      padding-bottom: clamp(0.85rem, 3.5vw, 1.25rem);
    }

    .mm-countdown__title {
      margin: 0 0 0.25rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.95rem, 4vw, 1.15rem);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--olive-dark, #5a5c38);
    }

    .mm-countdown__sub {
      margin: 0 0 1rem;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(0.92rem, 3.6vw, 1.05rem);
      color: #6a6358;
    }

    .mm-countdown__grid {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      gap: clamp(0.65rem, 4vw, 1.15rem);
      margin: 0 auto 1rem;
      max-width: 18rem;
    }

    .mm-countdown__item {
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.35rem;
    }

    .mm-countdown__digits {
      display: block;
      font-family: 'Antic Didone', serif;
      font-size: clamp(1.35rem, 5.8vw, 1.75rem);
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.06em;
      line-height: 1;
      color: #3f3a32;
    }

    .mm-countdown__label {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(0.72rem, 2.8vw, 0.82rem);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #8a8276;
    }

    .mm-countdown__cal {
      display: inline-block;
      margin: 0;
      padding: 0.55rem 0.85rem;
      border: 1px solid rgba(95, 95, 56, 0.35);
      border-radius: 999px;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.62rem, 2.5vw, 0.68rem);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--olive-dark, #5a5c38);
      background: rgba(255, 252, 246, 0.45);
      transition: background 0.25s ease, border-color 0.25s ease;
    }

    .mm-countdown__cal:hover,
    .mm-countdown__cal:focus-visible {
      background: rgba(255, 252, 246, 0.85);
      border-color: rgba(95, 95, 56, 0.55);
      outline: none;
    }

    /* ——— Acciones: collage flip + óvalo (estilo Daniela Sofía) ——— */
    .mm-acciones {
      position: relative;
      z-index: 6;
      width: 100%;
      padding: 0.5rem 0 clamp(2rem, 7.5vw, 2.85rem);
      /* Flor bajo ubicación (flro 2.webp): mueve y rota — detrás de la tarjeta */
      --mm-flor-ubic-offset-x: -10px;
      --mm-flor-ubic-offset-y: 23.2rem;
      --mm-flor-ubic-rotate: 180deg;
      --mm-flor-ubic-width: min(167%, 99px);
      --mm-flor-ubic-scale: 1;
    }

    .mm-acciones__duo {
      position: relative;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      gap: 0.4rem;
      width: min(100%, 430px);
      min-height: 360px;
      margin: 0.35rem auto 0;
      padding: 0 0.35rem clamp(0.5rem, 2vw, 0.85rem);
    }

    .mm-acciones__map-col {
      flex: 0 0 46%;
      max-width: 46%;
      min-height: 0;
      margin-top: clamp(-0.65rem, -2.5vw, -0.35rem);
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      z-index: 0;
    }

    .mm-acciones__flor-deco {
      position: absolute;
      left: calc(50% + var(--mm-flor-ubic-offset-x));
      top: var(--mm-flor-ubic-offset-y);
      z-index: 0;
      display: block;
      width: var(--mm-flor-ubic-width);
      height: auto;
      margin: 0;
      transform: translateX(-50%) rotate(var(--mm-flor-ubic-rotate)) scale(var(--mm-flor-ubic-scale));
      transform-origin: center top;
      opacity: 0.92;
      filter: drop-shadow(0 4px 10px rgba(45, 38, 30, 0.1));
      pointer-events: none;
    }

    .mm-acciones__flip--map {
      position: relative;
      z-index: 2;
      flex: none;
      width: 100%;
      max-width: 100%;
      aspect-ratio: 3 / 4.05;
      min-height: 0;
      margin-top: 0;
    }

    .mm-acciones__oval-static {
      position: relative;
      flex: 0 0 52%;
      max-width: 52%;
      aspect-ratio: 190 / 272;
      margin-top: clamp(3.15rem, 14.5vw, 4.25rem);
      margin-bottom: clamp(0.65rem, 3vw, 1.05rem);
      filter: drop-shadow(0 10px 22px rgba(45, 38, 30, 0.12));
    }

    .mm-acciones__oval-text {
      position: absolute;
      left: 50%;
      top: 51%;
      z-index: 2;
      width: 54%;
      transform: translate(-50%, -50%);
      text-align: center;
      pointer-events: auto;
    }

    .mm-acciones__oval-kicker {
      margin: 0 0 0.4rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.62rem, 2.6vw, 0.68rem);
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .mm-acciones__oval-text .mm-acciones__back-lead {
      font-size: clamp(0.68rem, 2.8vw, 0.76rem);
      margin-bottom: 0.45rem;
      line-height: 1.4;
    }

    .mm-acciones__oval-text .mm-acciones__back-sub {
      font-size: clamp(0.5rem, 2.1vw, 0.56rem);
      letter-spacing: 0.12em;
      margin-bottom: 0.2rem;
    }

    .mm-acciones__oval-text .mm-acciones__back-line {
      font-size: clamp(0.56rem, 2.3vw, 0.62rem);
      line-height: 1.35;
    }

    .mm-acciones__gift-note {
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(0.58rem, 2.35vw, 0.64rem);
      line-height: 1.4;
      color: var(--olive-dark);
      margin: 0 0 0.35rem;
    }

    .mm-acciones__account-line {
      color: #1a1814;
    }

    .mm-acciones__acct-label {
      font-weight: 600;
      color: #1a1814;
    }

    .mm-acciones__acct-num {
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.04em;
      color: #1a1814;
      -webkit-text-fill-color: #1a1814;
    }

    .mm-acciones__oval-text .mm-acciones__btn-copy {
      margin-top: 0.4rem;
      padding: 0.28rem 0.5rem;
      font-size: clamp(0.42rem, 1.75vw, 0.48rem);
      letter-spacing: 0.12em;
      background: rgba(255, 252, 248, 0.55);
    }

    .mm-acciones__flip {
      perspective: 1200px;
      -webkit-perspective: 1200px;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      outline: none;
      transform: translateZ(0);
    }

    .mm-acciones__flip-inner {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 100%;
      transform-style: preserve-3d;
      -webkit-transform-style: preserve-3d;
      transition: transform 0.75s cubic-bezier(0.4, 0.2, 0.2, 1);
      border-radius: 12px;
      overflow: visible;
      box-shadow: 0 12px 28px rgba(45, 38, 30, 0.16);
      transform: translate3d(0, 0, 0);
    }

    .mm-acciones__flip.is-flipped .mm-acciones__flip-inner {
      transform: rotateY(180deg);
    }

    .mm-acciones__face {
      position: absolute;
      inset: 0;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      border-radius: 12px;
      overflow: hidden;
      transform-style: preserve-3d;
      -webkit-transform-style: preserve-3d;
    }

    .mm-acciones__face--photo {
      transform: rotateY(0deg) translateZ(1px);
      z-index: 2;
    }

    .mm-acciones__flip.is-flipped .mm-acciones__face--photo {
      visibility: hidden;
    }

    .mm-acciones__face--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 28%;
      display: block;
    }

    .mm-acciones__face-cap {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding: 0 0.5rem 0.85rem;
      background: linear-gradient(180deg, transparent 42%, rgba(35, 30, 25, 0.62) 100%);
      pointer-events: none;
    }

    .mm-acciones__label {
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.95rem, 4vw, 1.15rem);
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: #fff;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    }

    .mm-acciones__hint {
      margin-top: 0.3rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.52rem, 2.2vw, 0.58rem);
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.95);
    }

    .mm-acciones__face--info {
      transform: rotateY(180deg) translateZ(1px);
      z-index: 1;
      background: linear-gradient(165deg, #faf6ef 0%, #efe6d8 100%);
      border: 1px solid rgba(120, 105, 80, 0.28);
      padding: 0.85rem 0.75rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      box-sizing: border-box;
    }

    .mm-acciones__flip:not(.is-flipped) .mm-acciones__face--info {
      visibility: hidden;
    }

    .mm-acciones__flip.is-flipped .mm-acciones__face--info {
      visibility: visible;
      z-index: 3;
    }

    .mm-acciones__face--info .mm-acciones__link {
      position: relative;
      z-index: 2;
      pointer-events: auto;
    }

    .mm-acciones__back-title {
      margin: 0 0 0.35rem;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(1.35rem, 5vw, 1.65rem);
      color: var(--dorado);
      font-weight: 400;
    }

    .mm-acciones__back-lead {
      margin: 0 0 0.5rem;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: 0.82rem;
      line-height: 1.45;
      color: var(--olive-dark);
    }

    .mm-acciones__back-sub {
      margin: 0 0 0.35rem;
      font-family: 'Antic Didone', serif;
      font-size: 0.62rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #6a6358;
    }

    .mm-acciones__back-line {
      margin: 0.2rem 0;
      font-family: 'Antic Didone', serif;
      font-size: 0.72rem;
      line-height: 1.45;
      color: #3f3a32;
    }

    .mm-acciones__back-line--soft {
      font-style: italic;
      color: #5c554a;
    }

    .mm-acciones__link {
      display: inline-block;
      margin-top: 0.65rem;
      padding: 0.45rem 0.85rem;
      border: 1px solid rgba(88, 80, 60, 0.45);
      border-radius: 999px;
      font-family: 'Antic Didone', serif;
      font-size: 0.62rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      color: #4d4635;
      background: rgba(255, 252, 246, 0.85);
    }

    .mm-acciones__oval-lace {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
      z-index: 0;
      transform: scale(1.2);
      transform-origin: center center;
      filter: sepia(0.38) saturate(0.72) brightness(1.06) contrast(0.96) hue-rotate(-8deg);
    }

    .mm-acciones__btn-copy,
    .mm-acciones__btn-send {
      margin-top: 0.55rem;
      padding: 0.45rem 0.75rem;
      border: 1px solid rgba(95, 95, 56, 0.55);
      border-radius: 999px;
      background: rgba(95, 95, 56, 0.12);
      font-family: 'Antic Didone', serif;
      font-size: 0.58rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #4d4635;
      cursor: pointer;
    }

    .mm-acciones__form {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      text-align: left;
    }

    .mm-acciones__field {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .mm-acciones__field > span {
      font-family: 'Antic Didone', serif;
      font-size: 0.55rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .mm-acciones__field-hint {
      margin: 0;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(0.72rem, 3vw, 0.82rem);
      line-height: 1.45;
      color: #454038;
      letter-spacing: 0.01em;
      text-transform: none;
    }

    .mm-acciones__input {
      width: 100%;
      padding: 0.35rem 0.45rem;
      border: 1px solid rgba(120, 105, 80, 0.35);
      border-radius: 3px;
      background: rgba(255, 252, 246, 0.9);
      font-family: 'DM Sans', sans-serif;
      font-size: 0.72rem;
      color: #3a3530;
      box-sizing: border-box;
    }

    .mm-acciones__textarea {
      resize: vertical;
      min-height: 2.5rem;
    }

    .mm-itinerario {
      position: relative;
      z-index: 22;
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-top: clamp(-2.5rem, -7.5vw, -1.1rem);
      margin-bottom: clamp(-1.25rem, -4.5vw, -0.35rem);
      padding: 0;
      text-align: center;
      overflow: visible;
      background: transparent;
      pointer-events: none;
    }

    .mm-itinerario__plate {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      background-image: var(--mm-itinerario-plate);
      background-repeat: no-repeat;
      background-position: center top;
      background-size: 100% 100%;
      filter: drop-shadow(0 14px 30px rgba(45, 40, 32, 0.09));
      pointer-events: none;
    }

    .mm-itinerario__panel {
      position: absolute;
      left: 50%;
      top: 47%;
      z-index: 1;
      width: 84%;
      max-width: 21.5rem;
      max-height: 56%;
      margin: 0;
      padding: 0 0.35rem 0.25rem;
      transform: translate(-50%, -50%);
      border: none;
      outline: none;
      box-shadow: none;
      overflow: visible;
      pointer-events: auto;
    }

    .mm-itinerario__panel > * {
      position: relative;
      z-index: 1;
    }

    .mm-itinerario__title {
      margin: 0 0 0.35rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(1.05rem, 4.5vw, 1.35rem);
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-weight: 400;
      color: var(--olive-dark);
    }

    .mm-itinerario__date {
      margin: 0 0 0.75rem;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(0.88rem, 3.5vw, 1rem);
      color: #6a6358;
    }

    .mm-itinerario__track {
      position: relative;
      max-width: 16.5rem;
      margin: 0 auto;
    }

    .mm-itinerario__line {
      position: absolute;
      left: 4.05rem;
      width: 1px;
      background: rgba(120, 105, 80, 0.2);
      pointer-events: none;
      z-index: 0;
    }

    .mm-itinerario__line-progress {
      width: 100%;
      height: 0;
      background: linear-gradient(180deg, #b8a068 0%, var(--dorado, #c4a962) 100%);
      transform-origin: top center;
      will-change: height;
    }

    .mm-itinerario__list {
      list-style: none;
      margin: 0;
      padding: 0;
      text-align: left;
      position: relative;
      z-index: 1;
    }

    .mm-itinerario__list li {
      display: grid;
      grid-template-columns: 4.25rem 1fr;
      gap: 0.5rem;
      align-items: baseline;
      padding: 0.42rem 0;
      border-bottom: 1px solid rgba(120, 105, 80, 0.22);
      opacity: 0.42;
      transform: translateY(10px);
      transition:
        opacity 0.55s ease,
        transform 0.55s ease,
        border-color 0.45s ease;
    }

    .mm-itinerario__list li.is-active {
      opacity: 1;
      transform: none;
      border-bottom-color: rgba(120, 105, 80, 0.32);
    }

    .mm-itinerario__list li.is-active time {
      color: var(--olive-dark);
    }

    .mm-itinerario__list li:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    .mm-itinerario__list time {
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.78rem, 3.2vw, 0.88rem);
      letter-spacing: 0.08em;
      font-variant-numeric: tabular-nums;
      color: var(--olive-dark);
    }

    .mm-itinerario__list span {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1rem, 3.8vw, 1.12rem);
      line-height: 1.35;
      color: #3f3a32;
    }

    .mm-itinerario__fin {
      margin: 0.65rem 0 0;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(1.25rem, 5vw, 1.55rem);
      line-height: 1.2;
      color: var(--dorado);
    }

    .mm-rsvp {
      position: relative;
      z-index: 5;
      width: min(100%, 400px);
      margin: clamp(4rem, 15vw, 5.75rem) auto 0;
      padding: clamp(0.75rem, 3vw, 1.1rem) 1rem clamp(2rem, 7vw, 2.75rem);
      text-align: center;
    }

    .mm-rsvp__adults {
      margin: 0 auto 1.15rem;
      max-width: 22rem;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(0.92rem, 3.8vw, 1.05rem);
      line-height: 1.55;
      color: #5a5348;
    }

    .mm-rsvp__title {
      margin: 0 0 1rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(1.05rem, 4.5vw, 1.35rem);
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-weight: 400;
      color: var(--olive-dark);
    }

    .mm-rsvp__form {
      padding: 0;
      border: none;
      background: transparent;
      box-shadow: none;
    }

    .mm-rsvp__form.mm-acciones__form {
      gap: 0.65rem;
    }

    .mm-rsvp__form .mm-acciones__input {
      padding: 0.45rem 0 0.4rem;
      border: none;
      border-bottom: 1px solid rgba(95, 90, 78, 0.5);
      border-radius: 0;
      background: transparent;
    }

    .mm-rsvp__form .mm-acciones__input:focus {
      outline: none;
      border-bottom-color: rgba(95, 95, 56, 0.75);
    }

    .mm-rsvp__form select.mm-acciones__input {
      appearance: none;
      -webkit-appearance: none;
      background-color: transparent;
      background-image: linear-gradient(45deg, transparent 50%, rgba(95, 90, 78, 0.55) 50%),
        linear-gradient(135deg, rgba(95, 90, 78, 0.55) 50%, transparent 50%);
      background-position: calc(100% - 0.35rem) calc(50% + 0.15rem), calc(100% - 0.15rem) calc(50% + 0.15rem);
      background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
      background-repeat: no-repeat;
      padding-right: 1.25rem;
    }

    .mm-rsvp__form .mm-acciones__btn-send {
      align-self: center;
      margin-top: 0.75rem;
      margin-bottom: 0.35rem;
      background: transparent;
    }

    @media (prefers-reduced-motion: reduce) {
      .mm-acciones__flip-inner {
        transition: none;
      }
    }

    .mm-sobre-seda .inv-paper-card {
      background:
        linear-gradient(165deg, rgba(255, 252, 246, 0.88) 0%, rgba(245, 237, 224, 0.92) 48%, rgba(235, 226, 210, 0.94) 100%);
    }

    .mm-sobre-seda .inv-container {
      background: transparent !important;
    }

    .mm-guest-welcome__marco {
      max-width: 26rem;
      margin: 0 auto;
      background: transparent;
      border: none;
      outline: none;
      box-shadow: none;
      padding: clamp(0.35rem, 2vw, 0.65rem) clamp(0.75rem, 3.2vw, 1.1rem) clamp(0.5rem, 2.5vw, 0.85rem);
    }

    .mm-guest-welcome__lead {
      margin: 0 0 0.35rem;
      font-family: 'Cormorant Garamond', 'Antic Didone', serif;
      font-size: clamp(1.35rem, 5.2vw, 1.85rem);
      font-style: italic;
      font-weight: 400;
      letter-spacing: 0.02em;
      color: #4b4339;
    }

    .mm-guest-welcome__sub {
      margin: 0 0 1rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.78rem, 3.2vw, 0.95rem);
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--olive);
      font-weight: 500;
    }

    .mm-guest-welcome__frame {
      margin: 0;
      padding: 0;
      max-width: 100%;
      background: transparent;
      border: none;
      box-shadow: none;
      opacity: 1;
      transform: none;
    }

    .mm-guest-welcome__frame.is-on {
      opacity: 1;
      transform: none;
    }

    .mm-guest-name {
      margin: 0;
    }

    .mm-guest-name.hidden {
      display: none;
    }

    #nombreInvitado {
      margin: 0;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(1.55rem, 6.8vw, 2.15rem);
      line-height: 1.14;
      font-weight: 400;
      color: #5a5348;
    }

    .mm-guest-passes {
      margin: 0.1rem 0 0;
      font-family: 'Cormorant Garamond', 'Antic Didone', serif;
      font-size: clamp(0.72rem, 2.9vw, 0.82rem);
      letter-spacing: 0.06em;
      color: #6a6358;
      opacity: 1;
    }

    .mm-guest-passes.hidden {
      display: none;
    }

    .mm-guest-passes.is-on {
      opacity: 1;
    }

    .mm-guest-passes strong {
      font-weight: 600;
      color: var(--olive-dark);
    }

    /* Solo la foto de fondo (no el monograma dentro del header) */
    .hero-strip > img.hero-strip__bg,
    .hero-strip > #heroPhoto {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .hero-strip--lead > img.hero-strip__bg,
    .hero-strip--lead > #heroPhoto {
      object-fit: cover;
      object-position: 78% 44%;
      width: 100%;
      height: 100%;
      min-height: 100%;
      transform: none;
    }

    .hero-strip::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(20, 18, 16, 0.28) 0%, transparent 28%, transparent 55%, rgba(30, 28, 24, 0.28) 100%);
      pointer-events: none;
    }

    .hero-caption {
      position: absolute;
      left: 0;
      right: 0;
      top: 6%;
      transform: none;
      z-index: 2;
      text-align: center;
      color: #fff;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
      padding: 0 0.75rem;
    }

    .hero-caption .hero-names {
      display: block;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(2rem, 9vw, 3.25rem);
      line-height: 0.95;
      font-weight: 400;
    }

    .hero-caption .hero-years {
      display: block;
      margin-top: 0.25rem;
      font-family: 'Antic Didone', serif;
      font-size: clamp(0.85rem, 3.2vw, 1.1rem);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 700;
    }

    .invite-intro {
      position: relative;
      z-index: 1;
      text-align: center;
      padding: 0.9rem 0.75rem 0.7rem;
      color: var(--olive-dark);
      font-family: 'Antic Didone', serif;
      font-style: italic;
      font-size: clamp(0.9rem, 3.8vw, 1rem);
      line-height: 1.35;
    }

    .invite-guest-block {
      position: relative;
      z-index: 1;
      background: #f8f8f6;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 1.55rem 0.75rem 1.55rem;
    }

    .verse-block {
      position: relative;
      z-index: 1;
      max-width: 420px;
      margin: 0.55rem auto;
      padding: 0 1.1rem;
      text-align: center;
    }

    .verse-block p {
      font-family: 'Antic Didone', serif;
      font-style: italic;
      font-size: clamp(0.92rem, 3.85vw, 1.08rem);
      line-height: 1.45;
      color: var(--olive-dark);
      font-weight: 500;
    }

    .verse-block cite {
      display: block;
      margin-top: 0.45rem;
      font-family: 'Antic Didone', serif;
      font-style: normal;
      font-size: clamp(0.66rem, 2.8vw, 0.72rem);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .invite-separator-double {
      position: relative;
      z-index: 1;
      width: min(92%, 480px);
      margin: 0.25rem auto;
      height: 8px;
      border-top: 1px solid rgba(92, 93, 56, 0.45);
      border-bottom: 1px solid rgba(92, 93, 56, 0.45);
    }

    .renewal-title-band {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 1.15rem 0.75rem 0.85rem;
      margin: 0.15rem 0 0.4rem;
      border-top: 1px solid rgba(138, 145, 116, 0.45);
      border-bottom: 1px solid rgba(138, 145, 116, 0.45);
      background: transparent;
    }

    .renewal-title-band--verse {
      border-top: none;
      border-bottom: none;
      padding: clamp(1.35rem, 5.5vw, 2rem) 0.85rem clamp(1.05rem, 4.2vw, 1.45rem);
      margin: clamp(2rem, 8vw, 3.25rem) auto clamp(1.35rem, 5.5vw, 2rem);
      max-width: 430px;
      position: relative;
      z-index: 1;
    }

    .renewal-title-band--verse .verse-block {
      margin: 0 auto;
      padding: 0 clamp(0.85rem, 4.5vw, 1.25rem);
      max-width: 22.5rem;
    }

    .renewal-title-band--verse .verse-block p {
      line-height: 1.52;
    }

    .renewal-title-band--verse .verse-block cite {
      margin-top: 0.65rem;
    }

    .renewal-title-band h2 {
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(2rem, 8vw, 3.1rem);
      line-height: 1;
      font-weight: 400;
      color: var(--dorado);
      letter-spacing: 0.01em;
    }

    .inv-container {
      position: relative;
      width: 92%;
      max-width: 480px;
      margin: 0 auto;
      min-height: 840px;
      height: auto;
      background: transparent !important;
      display: block;
      overflow: visible;
      touch-action: pan-y pinch-zoom;
    }

    .inv-container--abierto {
      width: 100%;
      max-width: 480px;
      margin: 0 auto clamp(0.5rem, 2vw, 1rem);
      min-height: 0;
      aspect-ratio: 480 / 900;
      /* Fecha junto a la flor (6.webp): mueve % y rota */
      --mm-fecha-flor-left: 69%;
      --mm-fecha-flor-top: 26%;
      --mm-fecha-flor-rotate: 14deg;
      --mm-fecha-flor-size: clamp(0.48rem, 4.1vw, 1.62rem);
      --mm-fecha-flor-tracking: 0.18em;
    }

    @media (max-width: 480px) {
      .inv-container {
        width: 92%;
        min-height: 175vw;
      }

      .inv-container--abierto {
        width: 100%;
        min-height: 0;
        aspect-ratio: 480 / 900;
      }
    }

    .inv-container--abierto .layer {
      width: 100%;
      height: auto;
      top: 28px;
      left: 0;
      z-index: 2;
    }

    .inv-container--abierto .sobre-abierto-arte {
      z-index: 25;
    }

    .inv-container--abierto #foto-animada {
      width: 22%;
      left: 50%;
      top: 34%;
      transform: translateX(-50%);
      object-fit: contain;
      pointer-events: none;
      z-index: 26;
      opacity: 1;
    }

    .inv-container--abierto .mm-sobre-fecha {
      width: 100%;
      left: 0;
      top: 0;
      object-fit: contain;
      pointer-events: none;
      opacity: 1;
    }

    .inv-container--abierto .mm-sobre-fecha-text {
      position: absolute;
      left: var(--mm-fecha-flor-left);
      top: var(--mm-fecha-flor-top);
      z-index: 27;
      margin: 0;
      padding: 0;
      font-family: 'Antic Didone', serif;
      font-size: var(--mm-fecha-flor-size);
      font-weight: 400;
      letter-spacing: var(--mm-fecha-flor-tracking);
      line-height: 1;
      text-transform: uppercase;
      color: rgba(78, 72, 58, 0.88);
      white-space: nowrap;
      pointer-events: none;
      transform: translate(-50%, -50%) rotate(var(--mm-fecha-flor-rotate));
      transform-origin: center center;
      text-shadow: 0 1px 0 rgba(255, 252, 246, 0.65);
      opacity: 1;
    }

    /* Solo 8.webp (fotos / lazo) sale del sobre — no mueve plata (6) ni solapa */
    .inv-container--abierto .mm-sobre-fotos-emerge {
      opacity: 0;
    }

    .inv-container--abierto.is-sobre-emerged .mm-sobre-fotos-emerge {
      opacity: 1;
    }

    .inv-container--abierto.is-sobre-emerging .mm-sobre-fotos-emerge {
      animation: mmSobreFotos8Emerge 2.5s cubic-bezier(0.28, 0.85, 0.32, 1) forwards;
    }

    @keyframes mmSobreFotos8Emerge {
      0% {
        opacity: 0;
        transform: translateY(28%);
      }
      100% {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .inv-container--abierto.is-sobre-emerging .mm-sobre-fotos-emerge {
        animation: none;
        opacity: 1;
        transform: none;
      }
    }

    .inv-container--abierto .sobre-abierto-frente,
    .inv-container--abierto .z4 {
      width: 40%;
      left: 61.5%;
      top: 4.3%;
      pointer-events: none;
      z-index: 22;
    }

    .inv-container--abierto .paper-wrapper,
    .inv-container--abierto .hoja-textos {
      position: absolute;
      left: 50%;
      top: 48%;
      width: 79%;
      transform: translateX(-50%);
    }

    .inv-container--abierto .paper-wrapper {
      z-index: 24;
    }

    .inv-container--abierto .hoja-textos {
      z-index: 26;
      pointer-events: none;
      overflow: visible;
    }

    .inv-paper-card {
      width: 100%;
      min-height: 0;
      aspect-ratio: 4 / 4.05;
      background:
        linear-gradient(165deg, rgba(255, 252, 246, 0.92) 0%, rgba(245, 237, 224, 0.98) 42%, rgba(235, 226, 210, 1) 100%);
      border: 1px solid rgba(110, 100, 82, 0.38);
      box-shadow:
        0 10px 22px rgba(55, 45, 35, 0.12),
        inset 0 0 0 1px rgba(255, 255, 255, 0.45);
      border-radius: 2px;
      position: relative;
      box-sizing: border-box;
    }

    .inv-paper-card::before {
      content: '';
      position: absolute;
      inset: 9px;
      border: 1px solid rgba(95, 88, 72, 0.28);
      pointer-events: none;
    }

    .inv-paper-card::after {
      content: '';
      position: absolute;
      inset: 14px;
      border: 1px solid rgba(95, 88, 72, 0.16);
      pointer-events: none;
    }

    .inv-paper-card--ghost {
      visibility: hidden;
      pointer-events: none;
    }

    .inv-container--abierto .paper-wrapper .inv-paper-card {
      filter: drop-shadow(0 9px 15px rgba(0, 0, 0, 0.1));
    }

    .inv-container--abierto .hoja-textos .content-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2;
      padding: 6% 6.5% 6%;
      pointer-events: none;
      overflow: hidden;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
    }

    .content-overlay--formal {
      gap: 0.22em;
      width: 100%;
      max-width: 100%;
      max-height: 100%;
      font-style: normal;
      color: #3a3a38;
      padding: 0;
      margin: 0;
      flex-shrink: 1;
      justify-content: center;
      transform-origin: center center;
    }

    .content-overlay--formal .hoja-parents-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 0.2rem 0.45rem;
      width: 100%;
      max-width: 17.5rem;
      margin: 0 auto 0.22em;
      justify-items: center;
      align-items: start;
    }

    .content-overlay--formal .hoja-parents-col {
      text-align: center;
      font-family: 'Cormorant Garamond', 'Antic Didone', serif;
      font-size: clamp(8.5px, 2.35vw, 11px);
      line-height: 1.24;
      letter-spacing: 0.045em;
      text-transform: uppercase;
      font-weight: 500;
    }

    .content-overlay--formal .hoja-parent-line {
      margin: 0;
      line-height: 1.2;
    }

    .content-overlay--formal .hoja-parent-line--spaced {
      margin-top: 0.28em;
    }

    .content-overlay--formal .hoja-intro {
      margin: 0.22em auto 0.18em;
      max-width: 16.5rem;
      font-family: 'Cormorant Garamond', 'Antic Didone', serif;
      font-size: clamp(8.5px, 2.45vw, 11.5px);
      letter-spacing: 0.08em;
      line-height: 1.45;
      text-transform: uppercase;
      font-weight: 500;
    }

    .content-overlay--formal .hoja-couple-script {
      margin: 0.12em 0 0.32em;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(21px, 6.2vw, 30px);
      line-height: 1.12;
      color: var(--olive, #6a6c42);
      font-weight: 400;
      white-space: nowrap;
      max-width: 100%;
    }

    .content-overlay--formal .hoja-nombres {
      margin: 0.1em auto 0.22em;
      width: 100%;
      max-width: 16.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: var(--olive, #6a6c42);
      font-family: 'Pinyon Script', cursive;
      font-weight: 400;
      line-height: 1.06;
    }

    .content-overlay--formal .hoja-nombres__name,
    .content-overlay--formal .hoja-nombres__amp {
      display: block;
      margin: 0;
      width: 100%;
      font-family: inherit;
      font-weight: 400;
      font-style: normal;
      text-align: center;
    }

    .content-overlay--formal .hoja-nombres__name {
      font-size: clamp(19px, 5.6vw, 28px);
      line-height: 1.04;
    }

    .content-overlay--formal .hoja-nombres__amp {
      font-size: clamp(13px, 3.6vw, 18px);
      line-height: 1;
      margin: 0.04em 0;
    }

    .content-overlay--formal .hoja-body {
      margin: 0 auto;
      max-width: 17rem;
      font-family: 'Cormorant Garamond', 'Antic Didone', serif;
      font-size: clamp(7.5px, 2.1vw, 10px);
      line-height: 1.38;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      font-weight: 500;
      text-align: center;
    }

    .content-overlay--formal .hoja-city-script {
      margin: 0.35em 0 0.08em;
      font-family: 'Pinyon Script', cursive;
      font-size: clamp(17px, 5.1vw, 25px);
      color: var(--olive, #6a6c42);
      line-height: 1.2;
    }

    .content-overlay--formal .hoja-year {
      margin: 0;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(10px, 2.85vw, 13px);
      letter-spacing: 0.2em;
      color: #444;
    }

    .content-overlay--formal .hoja-extra-block {
      width: 100%;
      margin-top: 0.35em;
      padding-top: 0.45em;
      border-top: 1px solid rgba(128, 128, 74, 0.35);
    }

    .content-overlay--formal .hoja-extra-block .names-row {
      margin: 0.15em 0 0.35em;
    }

    .content-overlay--formal .hoja-extra-block .names-slight {
      font-size: clamp(16px, 5vw, 24px);
      color: var(--olive, #6a6c42);
    }

    .content-overlay--formal .hoja-extra-block .blessing {
      font-size: clamp(8px, 2.35vw, 11px);
      margin: 0 0 0.35em;
      font-style: italic;
    }

    .content-overlay--formal .hoja-extra-block .txt-small {
      font-size: clamp(6.5px, 1.85vw, 9px);
      line-height: 1.35;
      margin: 0 0 0.35em;
      font-style: normal;
    }

    .content-overlay--formal .hoja-extra-block .hoja-extra-times {
      margin-top: 0;
    }

    .content-overlay--formal .hoja-extra-block .event-date {
      font-size: clamp(7px, 2.1vw, 10px);
      margin: 0.2em 0;
    }

    .content-overlay--formal .hoja-extra-block .section-title {
      font-size: clamp(7px, 2.15vw, 10px);
      margin: 0.35em 0 0.25em;
      font-style: normal;
    }

    .content-overlay--formal .hoja-extra-block .count-paper {
      margin: 0.25em 0 0.35em;
      gap: 0.2rem;
    }

    .content-overlay--formal .hoja-extra-block .count-paper div {
      min-width: 2.4em;
      padding: 0.12rem 0.1rem;
    }

    .content-overlay--formal .hoja-extra-block .count-paper b {
      font-size: clamp(9px, 2.5vw, 12px);
    }

    .content-overlay--formal .hoja-extra-block .count-paper span {
      font-size: clamp(6px, 1.7vw, 8px);
    }

    .content-overlay--formal .hoja-extra-block .btn-nadim {
      font-size: clamp(7px, 2vw, 9px) !important;
      padding: 0.35em 0.5em !important;
      font-style: normal;
    }

    .content-overlay--formal .hoja-extra-block .btn-row--paper {
      margin-top: 0.35em;
      gap: 0.35rem;
    }

    @media (max-width: 390px), (max-height: 740px) {
      .inv-container--abierto .hoja-textos .content-overlay.content-overlay--formal {
        transform: scale(0.92);
      }
    }

    @media (max-width: 340px), (max-height: 680px) {
      .inv-container--abierto .hoja-textos .content-overlay.content-overlay--formal {
        transform: scale(0.86);
      }
    }

    .inv-container--abierto .hoja-sizer {
      visibility: hidden;
      filter: none;
    }

    .inv-container--abierto .sello-mm {
      width: 100%;
      left: 0%;
      top: 0%;
      pointer-events: none;
      animation: none;
      transform: none;
      z-index: 3;
    }

    .inv-container--abierto .lazo-mm {
      width: 92%;
      left: 4%;
      top: -2%;
      pointer-events: none;
      z-index: 2;
    }

    .layer { position: absolute; width: 100%; height: auto; top: 0; left: 0; background: none; pointer-events: none; }
    .z1 { z-index: 1; }
    .z8 { z-index: 8; }
    .z9 { z-index: 9; }
    .z10 { z-index: 10; }

    .inv-container--abierto .layer.sello-mm {
      z-index: 3;
    }

    .inv-container--abierto .layer.sobre-abierto-arte {
      z-index: 25;
    }

    .inv-container--abierto .layer#foto-animada {
      z-index: 26;
    }

    .inv-container--abierto .layer.lazo-mm {
      z-index: 2;
    }

    .inv-container--abierto .paper-wrapper {
      z-index: 24;
    }

    .inv-container--abierto .hoja-textos {
      z-index: 26;
    }

    .flor-esquina {
      left: 75%;
      top: -10%;
      width: 29%;
      height: auto;
      z-index: 50;
      transform-origin: 20% 90%;
      animation: breezeEsquina 5.5s ease-in-out infinite;
    }

    .lazo {
      width: 100%;
      left: 0;
      top: 0;
    }
    .sello {
      width: 22%;
      left: 38%;
      top: 12%;
      transform-origin: 50% 50%;
      animation: waxHeartbeat 1.35s ease-in-out infinite;
    }

    .plantita {
      width: 76px;
      top: 10%;
      left: 42%;
      transform-origin: 96% 90%;
      animation: breezePlantita 6.2s ease-in-out infinite;
    }

    .hortensia {
      position: absolute;
      z-index: 7;
      width: 28%;
      left: 86%;
      top: 89%;
      opacity: 0.62;
      pointer-events: none;
      filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.12));
      transform-origin: 35% 100%;
      animation: breezeHortensia 6.8s ease-in-out infinite;
    }

    @keyframes breezePlantita {
      0%, 100% { transform: rotate(0deg); }
      50% { transform: rotate(-5deg); }
    }

    @keyframes breezeEsquina {
      0%, 100% { transform: rotate(-2deg); }
      50% { transform: rotate(3deg); }
    }

    @keyframes breezeHortensia {
      0%, 100% { transform: rotate(-12deg) translate(0, 0); }
      50% { transform: rotate(-6deg) translate(-4px, -6px); }
    }

    .paper-wrapper {
      position: absolute;
      top: 28%;
      left: 50%;
      width: 86%;
      transform: translateX(-50%);
      z-index: 5;
      background: transparent;
    }

    .paper-img { width: 100%; filter: drop-shadow(0 9px 15px rgba(0,0,0,0.1)); }

    .content-overlay {
      position: absolute; top: 0; left: 0; width: 100%; height: 100%;
      padding: 20% 10% 5% 10%;
      display: flex; flex-direction: column;
      align-items: center; text-align: center; box-sizing: border-box;
      font-family: 'Antic Didone', serif; font-style: italic;
      background: transparent;
    }

    .names-row { margin-bottom: 5%; width: 100%; display: flex; justify-content: center; }

    .names-slight {
      font-family: 'Pinyon Script', cursive;
      font-size: 6.3vw;
      color: var(--olive);
      white-space: nowrap;
      line-height: 1.1;
    }

    .txt-small { font-size: max(12px, 3.5vw); line-height: 1.25; margin-bottom: 4%; color: #000; text-transform: uppercase; }
    .section-title { font-size: max(12px, 3.8vw); letter-spacing: 2px; margin: 2% 0; color: #222; }

    .blessing {
      font-size: max(13px, 3.7vw);
      color: var(--dorado);
      margin-bottom: 3%;
      font-weight: bold;
      line-height: 1.25;
    }

    .city {
      font-size: 3vw;
      letter-spacing:1px;
      margin-top: 10%;
      padding-bottom: 5%;
    }

    .event-date {
      font-size: max(12px, 3.4vw);
      color: var(--dorado);
      margin-bottom: 2%;
      text-transform: uppercase;
      font-style: normal;
      letter-spacing: 0.04em;
    }

    .count-paper {
      display: flex;
      justify-content: center;
      gap: 0.35rem;
      width: 100%;
      margin: 1% 0 3%;
      flex-wrap: wrap;
    }

    .count-paper div {
      min-width: 3.05em;
      padding: 0.2rem 0.15rem;
      background: rgba(248, 242, 238, 0.85);
      border: 1px solid rgba(92, 93, 56, 0.55);
      border-radius: 2px;
      font-style: normal;
    }

    .count-paper b {
      font-size: max(14px, 3.8vw);
      color: var(--olive);
      font-weight: 500;
    }
    .count-paper span {
      display: block;
      font-size: max(9px, 2.4vw);
      letter-spacing: 0.06em;
      color: var(--olive);
      text-transform: uppercase;
    }

    .invite-actions-below {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.5rem;
      width: 92%;
      max-width: 480px;
      margin: 0.75rem auto 1.25rem;
      padding: 0 0.25rem;
    }

    .invite-actions-below .btn-nadim,
    .invite-actions-below .btn-venue {
      width: auto;
      flex: 1 1 7.5rem;
      max-width: 100%;
      margin: 0;
    }

    .btn-row--paper {
      margin-top: 2%;
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.35rem;
    }

    .btn-venue {
      margin-top: 3%;
      margin-bottom: 1%;
      width: 100%;
      font-size: max(12px, 3.3vw);
    }

    .btn-nadim {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      width: 100%;
      padding: 0.4rem 0.5rem;
      border-radius: 999px;
      border: 1px solid rgba(138, 145, 116, 0.75);
      background: linear-gradient(180deg, rgba(248, 242, 238, 0.96) 0%, rgba(245, 238, 230, 0.86) 100%);
      color: #4d4635;
      text-decoration: none;
      font-size: max(11px, 3.1vw);
      font-style: normal;
      cursor: pointer;
    }

    .btn-ico {
      width: 0.95em;
      height: 0.95em;
      display: inline-flex;
      color: currentColor;
      flex-shrink: 0;
    }

    .btn-ico svg {
      width: 100%;
      height: 100%;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    @media (min-width: 480px) {
      .names-slight { font-size: 35px; }
      .txt-small { font-size: 13px; }
      .blessing { font-size: 14px; }
      .city { font-size: 14px; }
      .event-date { font-size: 13px; }
      .count-paper b { font-size: 17px; }
      .count-paper span { font-size: 10px; }
      .btn-nadim { font-size: 12px; }
      .btn-venue { font-size: 13px; }
      .inv-container { min-height: 840px; }
    }

    /* ---------- Modales ---------- */
    .modal-backdrop {
      position: fixed;
      inset: 0;
      z-index: 10060;
      background: rgba(0, 0, 0, 0.78);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.25s ease, visibility 0.25s ease;
    }

    .modal-backdrop.is-open { opacity: 1; visibility: visible; }

    .modal {
      width: 100%;
      max-width: 400px;
      max-height: min(88vh, 640px);
      background: #ebe2d3;
      border-radius: 6px;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid rgba(0, 0, 0, 0.08);
    }

    .modal--wide { max-width: min(100%, 420px); }
    .modal--assist { max-height: min(94vh, 760px); }

    .modal-h {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.65rem 0.85rem;
      background: rgba(255, 255, 255, 0.55);
      border-bottom: 1px solid var(--line);
    }

    .modal-h h3 {
      font-family: 'Antic Didone', Georgia, serif;
      font-size: 1.05rem;
      font-weight: 400;
      font-style: italic;
      color: var(--ink);
    }

    .modal-close {
      width: 36px;
      height: 36px;
      border: none;
      border-radius: 50%;
      background: var(--olive-dark);
      color: #fff;
      font-size: 1.25rem;
      cursor: pointer;
    }

    .modal-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }

    .modal-map { height: min(52vh, 360px); background: #ddd; }

    .modal-map iframe { width: 100%; height: 100%; border: 0; display: block; }

    .modal-footer-link {
      padding: 0.65rem 0.85rem;
      text-align: center;
      font-size: 0.72rem;
      border-top: 1px solid var(--line);
    }

    .modal-footer-link a { color: var(--olive-dark); font-weight: 500; }

    .modal-note {
      padding: 1.4rem 1.1rem;
      text-align: center;
      font-family: 'Antic Didone', serif;
      font-style: italic;
      font-size: 0.95rem;
      line-height: 1.45;
      color: var(--ink);
    }

    .modal-gift-inner {
      padding: 0.8rem 0.8rem 0.9rem;
      background-image: var(--hayden);
      background-size: cover;
    }

    .modal-gift-text {
      background: rgba(255, 255, 255, 0.9);
      padding: 1rem 0.85rem;
      border-radius: 4px;
      font-size: 0.84rem;
      line-height: 1.45;
      text-align: center;
    }

    .gift-line {
      margin-top: 0.35rem;
      font-size: 0.84rem;
      line-height: 1.35;
    }

    .modal-gift-text .acct {
      font-family: 'Antic Didone', serif;
      font-size: 0.95rem;
      margin: 0.35rem 0 0.1rem;
      color: var(--ink);
      font-weight: 700;
    }

    .modal-gift-cap {
      margin-top: 0.65rem;
      font-size: 0.62rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--olive-dark);
    }

    .gift-copy-btn {
      margin-top: 0.55rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(138, 145, 116, 0.8);
      border-radius: 999px;
      padding: 0.35rem 0.75rem;
      color: var(--olive-dark);
      text-decoration: none;
      font-size: 0.68rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: linear-gradient(180deg, rgba(248, 242, 238, 0.96) 0%, rgba(245, 238, 230, 0.9) 100%);
      cursor: pointer;
    }

    .modal-gallery-wrap {
      margin-top: 0.85rem;
      background: rgba(255, 255, 255, 0.9);
      border-radius: 4px;
      padding: 0.55rem;
    }

    .modal-gallery {
      display: grid;
      grid-template-columns: 1fr;
      gap: 5px;
    }

    .modal-gallery img {
      width: 100%;
      max-width: 240px;
      margin: 0 auto;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 6px;
      display: block;
    }

    .assist-note {
      background: rgba(255, 255, 255, 0.9);
      border-radius: 4px;
      padding: 0.75rem 0.72rem;
      font-size: 0.82rem;
      line-height: 1.35;
      text-align: center;
    }

    .royal-inv-main-wrapper {
      --r-dorado: #6F5300;
      --r-texto: #333;
      --r-verde: #494d3e;
      width: 100%;
      margin-top: 0.8rem;
      font-family: 'Antic Didone', serif;
      font-style: italic;
    }

    .royal-inv-form-inner { width: 100%; text-align: left; }
    .royal-inv-form-header { text-align: center; margin-bottom: 0.5rem; }
    .royal-inv-form-subtitle { font-size: 0.72rem; color: #555; margin: 0; line-height: 1.2; text-align: center; }
    .royal-inv-form-intro { margin: 0 0 0.35rem 0; font-size: 0.74rem; line-height: 1.25; color: #444; text-align: center; }
    .royal-inv-form-group { margin-bottom: 0.5rem; }
    .royal-inv-form-group label { display: block; font-weight: 700; font-size: 0.65rem; margin-bottom: 0.2rem; text-transform: uppercase; color: var(--r-texto); letter-spacing: 0.5px; }
    .royal-inv-form-input {
      width: 100%;
      padding: 0.45rem;
      border: 1px solid rgba(0, 0, 0, 0.15);
      background: rgba(255, 255, 255, 0.6);
      box-sizing: border-box;
      font-family: 'Antic Didone', serif;
      font-size: 0.86rem;
      border-radius: 4px;
      margin: 0;
    }
    .royal-inv-textarea { height: 50px; resize: none; }
    .royal-inv-form-help { font-size: 0.68rem; color: #666; font-style: italic; margin-top: 0.2rem; margin-bottom: 0; }
    .royal-inv-submit-btn {
      width: 100%;
      background: var(--r-verde);
      color: #fff;
      padding: 0.65rem;
      border: none;
      cursor: pointer;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 1px;
      border-radius: 4px;
      margin-top: 0.5rem;
      text-transform: uppercase;
    }

    .final-closing {
      position: relative;
      z-index: 5;
      width: 100vw;
      max-width: 100vw;
      margin: 0 calc(50% - 50vw);
      padding: 0;
      border: 0;
    }

    .final-closing__plate {
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding: clamp(1.35rem, 5vw, 2rem) clamp(0.85rem, 3.5vw, 1.25rem) clamp(1.5rem, 5.5vw, 2.15rem);
      background-color: var(--seda-base, #f3f1ee);
      background-image: var(--mm-itinerario-plate);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 136% 136%;
      filter: drop-shadow(0 12px 26px rgba(45, 40, 32, 0.08));
      overflow: hidden;
    }

    .final-closing__photo {
      margin: 0 auto;
      width: calc(100% - 1.2rem);
      max-width: 680px;
      height: clamp(220px, 38vh, 320px);
      border-radius: 18px;
      overflow: hidden;
    }

    .final-closing__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .final-closing .final-message {
      position: relative;
      z-index: 1;
      text-align: center;
      margin-top: 0.85rem;
      padding: 0.2rem 0.8rem 0.1rem;
      color: var(--olive);
      font-family: 'Antic Didone', serif;
      font-weight: 500;
      font-size: 0.86rem;
      line-height: 1.45;
      font-style: italic;
    }

    .final-closing .final-love {
      display: block;
      margin-top: 0.7rem;
      font-style: italic;
    }

    .final-closing .final-message strong {
      display: block;
      margin-top: 0.25rem;
      font-family: 'Pinyon Script', cursive;
      font-weight: 400;
      font-size: 2rem;
      letter-spacing: 0;
      color: var(--olive);
      line-height: 1;
      font-style: italic;
    }

    .final-closing .tiny-credits {
      position: relative;
      z-index: 1;
      text-align: center;
      margin-top: 1.35rem;
      margin-bottom: 0;
      padding-bottom: 0.25rem;
      font-size: 0.52rem;
      letter-spacing: 0.08em;
      color: rgba(73, 77, 62, 0.42);
      text-transform: uppercase;
    }

    .final-closing .tiny-credits a {
      color: inherit;
      text-decoration: none;
    }

    #floatingButton {
      position: fixed;
      bottom: 18px;
      right: 18px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: var(--olive-dark);
      border: 2px solid rgba(255, 255, 255, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 10100;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
    }

    #floatingButton svg { width: 20px; height: 20px; fill: var(--vanilla); }

    @media (prefers-reduced-motion: reduce) {
      .gate, .modal-backdrop { transition: none; }
      .wax-seal, .sello, .flor-esquina, .plantita, .hortensia { animation: none; }
      .hero-caption { animation: none; }
      .js-reveal { opacity: 1; transform: none; transition: none; }
    }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(16px); }
      to { opacity: 1; transform: none; }
    }

    .hero-caption { animation: fadeUp 1.1s ease 0.15s both; }

    .js-reveal {
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .js-reveal.is-in {
      opacity: 1;
      transform: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .mm-itinerario__list li {
        opacity: 1;
        transform: none;
        transition: none;
      }
      .mm-itinerario__line-progress {
        height: 100% !important;
      }
    }

    .desktop-notice {
      display: none;
    }

    @media (min-width: 768px) {
      .desktop-notice {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: fixed;
        inset: 0;
        z-index: 30000;
        padding: 2rem 1.5rem;
        text-align: center;
        background: #ebe2d3;
        background-image: var(--hayden);
        background-size: cover;
      }
      .desktop-notice img {
        width: min(280px, 42vw);
        border-radius: 8px;
        margin-bottom: 1.4rem;
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
      }
      .desktop-notice p {
        max-width: 420px;
        font-family: 'Antic Didone', serif;
        font-style: italic;
        font-size: 1.15rem;
        line-height: 1.4;
        color: var(--ink);
      }
      .desktop-notice p + p { margin-top: 0.45rem; }
      .desktop-notice span {
        display: block;
        margin-top: 1.1rem;
        font-family: 'Antic Didone', serif;
        font-style: italic;
        font-size: 0.95rem;
      }
      .desktop-notice strong {
        display: block;
        margin-top: 0.25rem;
        font-family: 'Pinyon Script', cursive;
        font-size: 2.4rem;
        font-weight: 400;
        color: var(--dorado);
      }
    }

    /* —— Hero estilo Josh & Juan Diego —— */
    .hero-strip--lead .hero-titles {
      position: absolute;
      left: 0;
      right: 0;
      bottom: calc(env(safe-area-inset-bottom, 0px) + 4.75rem);
      z-index: 28;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 0 20px 0;
      color: #fff;
      text-shadow: 0 3px 28px rgba(0, 0, 0, 0.45);
      pointer-events: none;
    }

    .hero-titles__logo-wrap {
      position: relative;
      display: block;
      width: min(17vw, 72px);
      aspect-ratio: 11 / 20;
      margin: 0 auto 10px;
      border-radius: 9999px;
      border: 0.85px solid rgba(255, 255, 255, 0.92);
      box-sizing: border-box;
    }

    .hero-titles__logo-wrap::after {
      content: "";
      position: absolute;
      inset: 4px;
      border-radius: 9999px;
      border: 0.75px solid rgba(255, 255, 255, 0.88);
      pointer-events: none;
    }

    .hero-titles__logo-wrap .hero-titles__logo {
      position: absolute;
      left: 50%;
      top: 63px;
      transform: translate(-50%, -50%);
      display: block;
      width: 143% !important;
      height: 63% !important;
      max-width: none;
      object-fit: contain;
      filter: brightness(0) invert(1);
      z-index: 1;
    }

    .hero-h1.hero-names-script {
      margin: 0;
      font-family: 'Pinyon Script', cursive;
      font-weight: 300;
      font-style: normal;
      font-size: clamp(2rem, 10vw, 3.05rem);
      line-height: 1.08;
      letter-spacing: 0.06em;
      text-transform: none;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: baseline;
      justify-content: center;
      gap: 0.2em;
      white-space: nowrap;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
    }

    .hero-h1.hero-names-script .hero-amp {
      font-family: 'Pinyon Script', cursive;
      font-size: 0.78em;
      font-weight: 300;
      opacity: 0.92;
      margin: 0 0.05em;
    }

    .hero-names-script--closing {
      display: block;
      margin-top: 0.35rem;
      font-family: 'Pinyon Script', cursive;
      font-weight: 400;
      font-style: normal;
      font-size: clamp(2rem, 9vw, 2.75rem);
      line-height: 1.1;
      letter-spacing: 0.02em;
      color: var(--olive);
    }

    .hero-h2 {
      margin: 12px 0 0;
      font-family: var(--sans);
      font-weight: 300;
      font-size: 10px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      opacity: 0.9;
    }

    .hero-strip--lead .hero-h2 {
      margin: 5px 0 0;
      font-size: clamp(10px, 2.75vw, 12px);
      letter-spacing: 0.34em;
      opacity: 0.92;
    }

    .hero-strip--lead .hero-titles #heroScrollHint {
      position: relative;
      left: auto;
      bottom: auto;
      transform: none;
      flex-shrink: 0;
      width: clamp(38px, 10.5vw, 46px);
      margin: clamp(0.75rem, 3.2vw, 1rem) auto 0;
      z-index: 1;
      pointer-events: none;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.55s ease, visibility 0.55s ease;
    }

    .hero-strip--lead .hero-titles #heroScrollHint.is-on {
      opacity: 1;
      visibility: visible;
    }

    .hero-strip--lead .hero-titles #heroScrollHint.is-out,
    .hero-strip--lead .hero-titles #heroScrollHint.is-hidden {
      opacity: 0;
      visibility: hidden;
    }

    .hero-date {
      margin: 8px 0 0;
      font-family: var(--didone);
      font-size: clamp(0.8rem, 3vw, 0.95rem);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 400;
      opacity: 0.92;
    }

    .mouse-scroll-hint__svg {
      width: 100%;
      height: auto;
      display: block;
      overflow: visible;
      filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.55));
    }

    .mouse-scroll-hint__dot {
      animation: mouseDotDrop 1.6s cubic-bezier(.45, 0, .55, 1) infinite;
      transform-box: fill-box;
      transform-origin: center;
    }

    .mouse-scroll-hint__chevron {
      animation: mouseChevFade 1.6s cubic-bezier(.45, 0, .55, 1) infinite;
      transform-box: fill-box;
      transform-origin: center;
    }

    .mouse-scroll-hint__chevron--2 {
      animation-delay: 0.25s;
    }

    @keyframes mouseDotDrop {
      0%   { transform: translateY(0); opacity: 1; }
      70%  { transform: translateY(24px); opacity: 0; }
      71%  { transform: translateY(-2px); opacity: 0; }
      100% { transform: translateY(0); opacity: 1; }
    }

    @keyframes mouseChevFade {
      0%   { opacity: 0.2; transform: translateY(-4px); }
      50%  { opacity: 1; transform: translateY(0); }
      100% { opacity: 0.2; transform: translateY(4px); }
    }

    .final-message strong.hero-names-script--closing {
      font-family: 'Pinyon Script', cursive;
      font-weight: 400;
      font-style: normal;
      font-size: clamp(2rem, 9vw, 2.75rem);
    }


