
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] {
            --color-primary: #B98A8E;
            --color-secondary: #EFE8DE;
            --color-accent: #8A9A7B;
            --color-background: #F6F1EA;
            --color-text: #5A4A48;
            --color-heading: #4E403E;

            --font-heading: 'Playfair Display', serif;
            --font-body: 'Montserrat', sans-serif;
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] {
            font-family: var(--font-body);
            color: var(--color-text);
            background-color: var(--color-background);
            line-height: 1.6;
            overflow-x: hidden;
        }

                    /* Preview/iframe contexts: hide scrollbar for a cleaner showcase look.
               Scrolling still works (touch + wheel), only the visual bar is hidden. */
            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"],.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] { scrollbar-width: none; -ms-overflow-style: none; }
            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"]::-webkit-scrollbar,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"]::-webkit-scrollbar { display: none; width: 0; height: 0; }
        
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h1,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h2,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h3,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h4,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h5,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] h6 {
            font-family: var(--font-heading);
            color: var(--color-heading);
            line-height: 1.2;
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .section {
            padding: 50px 0;
        }

        @container archive (max-width: 768px) {
            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .section {
                padding: 30px 0;
            }
        }

        /* Smooth scroll */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] {
            scroll-behavior: smooth;
        }

        /* Loading animation */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .fade-in {
            animation: fadeIn 1s ease-in !important;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Alpine.js cloak */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] [x-cloak] {
            display: none !important;
        }

        /* ===== Scroll Reveal Animations ===== */

        /* Base reveal states - elementos ocultos por defecto */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-scale,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-zoom {
            opacity: 0;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
        }

        /* Fade Up - elemento sube desde abajo */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up {
            transform: translateY(40px);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up.reveal-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Fade Down - elemento baja desde arriba */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down {
            transform: translateY(-40px);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down.reveal-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Fade Left - elemento viene desde la derecha */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left {
            transform: translateX(40px);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left.reveal-visible {
            opacity: 1;
            transform: translateX(0);
        }

        /* Fade Right - elemento viene desde la izquierda */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right {
            transform: translateX(-40px);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right.reveal-visible {
            opacity: 1;
            transform: translateX(0);
        }

        /* Scale - elemento crece */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-scale {
            transform: scale(0.9);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-scale.reveal-visible {
            opacity: 1;
            transform: scale(1);
        }

        /* Zoom - elemento hace zoom in */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-zoom {
            transform: scale(1.1);
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-zoom.reveal-visible {
            opacity: 1;
            transform: scale(1);
        }

        /* Delays para animar elementos secuencialmente */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-delay-100 { transition-delay: 100ms !important; }
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-delay-200 { transition-delay: 200ms !important; }
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-delay-300 { transition-delay: 300ms !important; }
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-delay-400 { transition-delay: 400ms !important; }
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-delay-500 { transition-delay: 500ms !important; }

        /* Duración de animaciones */
        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-duration-slow {
            transition-duration: 1.2s !important;
        }

        .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-duration-fast {
            transition-duration: 0.5s !important;
        }

        /* Responsive - reducir movimiento en móviles */
        @container archive (max-width: 768px) {
            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down {
                transform: translateY(20px);
            }

            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right {
                transform: translateX(20px);
            }

            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up.reveal-visible,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down.reveal-visible,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left.reveal-visible,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right.reveal-visible {
                transform: translate(0, 0);
            }
        }

        /* Respetar preferencias de accesibilidad */
        @media (prefers-reduced-motion: reduce) {
            .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-down,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-left,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-fade-right,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-scale,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .reveal-zoom {
                opacity: 1;
                transform: none;
                transition: none !important;
            }
        }

        /* Music animations */
        @keyframes musicIconPulse {
            0%, 100% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.08); opacity: 0.85; }
        }

        @keyframes musicBtnPulse {
            0%, 100% { box-shadow: 0 4px 16px rgba(0,0,0,0.25); }
            50% { box-shadow: 0 4px 24px rgba(122,46,58,0.5); }
        }
    

/* ══════════════════════════════════════════════════════════════
   FLORENTIA — atardecer toscano + verde oliva · prefijo fl
   ══════════════════════════════════════════════════════════════ */

/* Swarsh Daisy (fuente exclusiva de Jardin, de Andrés: Regular + Italic, subset woff2
   latin + tildes + Ñ). Licencia: MarvaDesign / Febrie Setiawan, documentar origen. */



/* Sloop Script: acento caligráfico PROVISIONAL (reusa el subset de Perle) hasta que
   Andrés entregue la script propia de Jardin. */


/* Satoshi (complementaria de Jardin, variable 300-900, Fontshare Free Font License:
   ver public/fonts/jardin/LICENSE-Satoshi-FFL.txt) */


/* La intro de video toma la fuente exclusiva para el monograma del centro de la corona */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] { --vei-mono-font: 'Cormorant Garamond', 'Cormorant Garamond', serif; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap {
    container-type: inline-size;
    position: relative;

    /* ── Tokens de paleta (de $colors) ── */
    --jd-sunset:       #B98A8E;
    --jd-sunset-dim:   rgba(185,138,142,0.10);
    --jd-sunset-soft:  rgba(185,138,142,0.16);
    --jd-sunset-border:rgba(185,138,142,0.30);
    --jd-cream:        #EFE8DE;
    --jd-olive:        #8A9A7B;
    --jd-olive-dim:    rgba(138,154,123,0.12);
    --jd-olive-soft:   rgba(138,154,123,0.20);
    --jd-olive-border: rgba(138,154,123,0.32);
    --jd-bg:           #F6F1EA;
    --jd-text:         #5A4A48;
    --jd-heading:      #4E403E;
    --jd-head-soft:    rgba(78,64,62,0.14);
    /* Superficies (tokenizadas para soportar paletas claras y oscuras) */
    --jd-paper:        #F3EDE4;
    --jd-paper-feat:   #F5F0E8;
    --jd-card:         #FCF9F4;
    --jd-surface:      #F3EEE6;
    --jd-keyline:      rgba(138, 154, 123, 0.38);
    --jd-btn-hover:    #4A5741;
    --jd-btn-bg:       #56654B;      /* fondo de botón: bronce, blanco encima pasa AA */
    --jd-ink-gold:     #56654B;    /* tinta bronce del texto pequeño informativo */
    --jd-on-accent:    #FFFFFF;
    --jd-frame:        #FFFFFF;
    --jd-ph-fill:      linear-gradient(160deg, #F5F0E8 0%, #E6DED0 100%);
    --jd-amp:          rgba(138, 154, 123, 0.16);
    --jd-hero-bg:      radial-gradient(92% 55% at 50% -6%, rgba(232,196,196,0.16), transparent 60%), linear-gradient(165deg, #FAF6F1 0%, #F6F1EA 55%, #EFE8DE 100%);
    --jd-hero-ink:     #5A4A48;
    --jd-hero-heading: #8E5A5E;
    --jd-hero-accent:  #8A9A7B;
    --jd-hero-line:    rgba(138, 154, 123, 0.55);
    /* Relieve de foil: el texto dorado va estampado en caliente sobre el papel, así
       que capta luz arriba-izquierda (misma dirección que el estampado y la seda) y
       deja una sombra corta y CÁLIDA abajo-derecha. Nunca gris ni negra: sobre crema
       eso ensucia. --jd-foil para display, --jd-foil-sm para versalitas pequeñas. */
    --jd-foil:    -0.5px -0.5px 0 rgba(255,253,248,0.85),
                   0.7px 1.1px 1.6px rgba(92,76,68,0.30),
                   0 2px 7px rgba(92,76,68,0.10);
    --jd-foil-sm: -0.4px -0.4px 0 rgba(255,253,248,0.7),
                   0.4px 0.7px 1px rgba(92,76,68,0.24);
    /* Velo sobre la seda y halo tras los títulos: el crema del PAPEL en rgba, así
       cada paleta empalma seda↔papel sola (si el papel cambia y esto no, escalón) */
    --jd-veil-rgb: 243,237,228;
    /* Sombra de "papel sobre papel" para todo lo que se apoya en la mesa (tarjetas,
       hoja del calendario, nota, fotos): amplia y suave + contacto corto, siempre cálida */
    --jd-paper-shadow: drop-shadow(0 16px 26px rgba(90,70,60,0.20)) drop-shadow(0 2px 3px rgba(90,70,60,0.16));
    /* Capullo blush (sustituye a la perla de Perle): día del calendario */
    --jd-bud: radial-gradient(circle at 36% 32%, #FDF3F1 0%, #F0D3D2 45%, #D9A9AC 100%);
    /* Cinta washi blush translúcida: sujeta las fotos (gesto del flat-lay botánico) */
    --jd-tape: linear-gradient(180deg, rgba(232,196,196,0.82), rgba(222,180,182,0.82));
    /* Botánica protagonista (portada y secciones protagonista), dos cortes */
    --jd-botanic:        url('/media/archive/nupcii.com/images/templates/jardin/botanic-desktop.webp');
    --jd-botanic-mobile: url('/media/archive/nupcii.com/images/templates/jardin/botanic-mobile.webp');
    /* Papel de algodón con grano, sin motivo (secciones del cuerpo) */
    --jd-paper-tex:      url('/media/archive/nupcii.com/images/templates/jardin/paper-grain.webp');

    /* ── Tokens estructurales (hardcoded) ── */
    /* Swarsh Daisy = la voz principal de Jardin (fuente exclusiva); Sloop = acento caligráfico;
       el cuerpo usa la complementaria (Jost provisional hasta definir el par definitivo C4) */
    --font-jd-display: 'Cormorant Garamond', 'Cormorant Garamond', serif;
    --font-jd-name:    'Cormorant Garamond', 'Playfair Display', serif;        /* nombres del hero */
    --font-jd-script:  'Great Vibes', 'Great Vibes', cursive;     /* acento caligráfico */
    --font-jd-body:    'Montserrat', 'Jost', 'Montserrat', sans-serif;
    --jd-radius:       3px;
    --jd-maxw:         1080px;
    /* Onda (wave) usada como transición entre secciones */
    --jd-wave-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,80 L0,46 C200,8 400,8 600,40 C800,72 1000,72 1200,40 L1200,80 Z' fill='%23000'/%3E%3C/svg%3E");
    --jd-shadow:       0 24px 60px -28px rgba(61,46,32,0.45);
    --jd-shadow-sm:    0 12px 36px -20px rgba(61,46,32,0.35);

    /* Campo cálido CONTINUO para toda la página: atardecer arriba → crema → durazno abajo.
       Las secciones son transparentes y dejan fluir este campo, sin líneas duras entre ellas. */
    background:
        radial-gradient(125% 55% at 50% 0%, rgba(185,138,142,0.16) 0%, transparent 46%),
        linear-gradient(180deg, #EFE8DE 0%, #F6F1EA 15%, #F6F1EA 66%, #EFE8DE 100%);
    background-color: #F6F1EA;
    color: var(--jd-text);
    font-family: var(--font-jd-body);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.3px;
    overflow-x: hidden;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap * { box-sizing: border-box; }
/* Resets con :where() → especificidad 0 para que las reglas de cada componente
   (márgenes de párrafos, títulos) ganen siempre por orden de aparición. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap :where(h1, h2, h3) { margin: 0; font-weight: 400; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap :where(p) { margin: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap :where(a) { color: inherit; }

/* ── Textura de papel (grano procedural SVG) sobre toda la página ──
   soft-light = añade textura sin oscurecer ni teñir; no requiere imagen externa. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap::after {
    content: "";
    position: absolute; inset: 0; z-index: 40;
    pointer-events: none;
    opacity: 0.55;
    mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
    background-size: 300px 300px;
}

/* ── Entrada cinematográfica (auto-play, escalonada con --d) ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap .jd-rise {
    opacity: 0;
    transform: translateY(28px);
    animation: jdRise 1s cubic-bezier(.2,.7,.2,1) both !important;
    animation-delay: var(--d, 0s) !important;
}
@keyframes jdRise { to { opacity: 1; transform: none; } }
/* Coordinación con el intro del sobre: mientras está abierto, el hero retiene su entrada;
   al cerrarse el sobre, la dispara escalonada (reveal). En el customizer (sin intro) anima al cargar. */
@media (prefers-reduced-motion: no-preference) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"].fl-intro-pending .jd-wrap .jd-rise { animation: none !important; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"].fl-intro-done .jd-wrap .jd-rise {
        animation: jdRise 1s cubic-bezier(.2,.7,.2,1) both !important;
        animation-delay: var(--d, 0s) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap .jd-rise { animation: none !important; opacity: 1; transform: none; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-arch-photo,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-embers span { animation: none !important; }
}

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-container {
    max-width: var(--jd-maxw);
    margin: 0 auto;
    padding: 0 28px;
    position: relative;
    z-index: 2;
}

/* The polaroid carousel sizes its slides from 100vw and reserves ~20px per side.
   The 28px container padding was clipping the card on mobile; trim it for the
   gallery section so it fits like the other templates (Velvet Rose, Oasis). */
@container archive (max-width: 768px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-sec:has(.jd-gallery-host) .jd-container { padding-left: 12px; padding-right: 12px; }
}

/* ─────────── Secciones + transición tipo onda (wave) ─────────── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-sec {
    padding: clamp(72px, 11cqw, 130px) 0;
    position: relative;
    z-index: 0;
}
/* Cuerpo "papel claro": UN SOLO tono uniforme para todo el cuerpo (la única transición de
   color es portada-oliva → cuerpo-papel). Las secciones se separan por aire y ornamentos,
   no por bandas de color. Textura de papel global (.jd-wrap::after). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-bg,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-cream { background: var(--jd-paper); }  /* papel crema cálido, uniforme en todo el cuerpo */

/* PAPEL DE ALGODÓN CON GRANO, sin motivo: el mismo papel sobre el que vive la
   corona del intro continúa en las secciones del cuerpo. A diferencia de Perle
   (donde el papel estampado "habla" y la seda calla), en Jardin el papel calla y
   hablan la botánica a sangre de las secciones protagonista y los ornamentos.
   Asset: panel generado por Andrés (1448x1086), tono medio llevado al token
   --jd-paper (#F2E7E4) y fusionado consigo mismo desplazado media tesela para que
   repita sin costura (en gbrp: ver PERLE-ESTAMPADO-PAPEL.md, mismo pipeline). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-bg::before,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-cream::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: var(--jd-paper-tex);
    background-repeat: repeat;
    /* A escala real (1448px): encogerla convierte la fibra en ruido fino */
    background-size: 1000px;
    background-position: center;
    /* Como --jd-paper es EXACTAMENTE el tono medio del papel, la opacidad comprime
       la fibra contra ese tono sin desplazar el color: controla la presencia del grano */
    opacity: 0.7;
}
@container archive (min-width: 768px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-bg::before,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-cream::before { background-size: 1448px; }
}
/* El estampado no debe arrancar de golpe contra la seda: donde la sección vecina
   es de seda (portada, itinerario, regalos, footer) la textura entra o sale con un
   degradado largo, y el papel liso hace de bisagra. Entre dos secciones de papel
   NO se desvanece: ahí el estampado es continuo. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap {
    --jd-fade: clamp(90px, 14cqw, 190px);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] :is(.jd-hero, .jd-bg-olive) + :is(.jd-bg-bg, .jd-bg-cream)::before {
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--jd-fade));
            mask-image: linear-gradient(to bottom, transparent, #000 var(--jd-fade));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] :is(.jd-bg-bg, .jd-bg-cream):has(+ :is(.jd-bg-olive, .jd-footer))::before {
    -webkit-mask-image: linear-gradient(to top, transparent, #000 var(--jd-fade));
            mask-image: linear-gradient(to top, transparent, #000 var(--jd-fade));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] :is(.jd-hero, .jd-bg-olive) + :is(.jd-bg-bg, .jd-bg-cream):has(+ :is(.jd-bg-olive, .jd-footer))::before {
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--jd-fade), #000 calc(100% - var(--jd-fade)), transparent);
            mask-image: linear-gradient(to bottom, transparent, #000 var(--jd-fade), #000 calc(100% - var(--jd-fade)), transparent);
}
/* Save-Data / reduced-motion no aplican aquí, pero sí conviene bajar el estampado
   cuando el usuario pide menos estímulo visual */
@media (prefers-reduced-transparency: reduce) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-bg::before,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-cream::before { opacity: 0.45; }
}

/* "Cinta": banda de imagen a ancho completo, muy horizontal, debajo de /guest */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ribbon {
    width: 100%;
    height: clamp(120px, 20cqw, 260px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* Teléfono: la guirnalda que sigue a la cinta (media altura ≈ 24.4cqw) la tapaba casi
   entera (la cinta mide 120px). Margen bajo la cinta para que la guirnalda baje y
   solo monte ~56px sobre su borde inferior; en escritorio (cinta 260px) no hace falta. */
@container archive (max-width: 767px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ribbon:has(+ .jd-divide--garland) { margin-bottom: calc(24.4cqw - 56px); }
}
/* Sección protagonista: vuelve la SEDA bajo un velo de champán (el mismo material
   de la portada), para que el cuerpo respire entre papel y tela. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive {
    padding: clamp(104px, 14cqw, 168px) 0;  /* más aire: deja el contenido fuera de las curvas */
    background-color: var(--jd-paper-feat);
    background-image:
        linear-gradient(rgba(var(--jd-veil-rgb),0.76), rgba(var(--jd-veil-rgb),0.80)),
        var(--jd-botanic-mobile);
    background-size: cover;
    background-position: center;
}
@container archive (min-width: 768px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive {
        background-image:
            linear-gradient(rgba(var(--jd-veil-rgb),0.76), rgba(var(--jd-veil-rgb),0.80)),
            var(--jd-botanic);
    }
}
/* Junta papel ↔ botánica: fundido RECTO y corto (la transición visible la hace el
   divisor de guirnalda o la liana; las curvas emplumadas eran el gesto de Perle). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive::before,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive::after {
    content: ""; position: absolute; left: 0; right: 0;
    height: clamp(48px, 6cqw, 90px); z-index: 1; pointer-events: none;
    background: var(--jd-paper);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive::before {
    top: -1px;
    -webkit-mask: linear-gradient(to bottom, #000, rgba(0,0,0,0));
            mask: linear-gradient(to bottom, #000, rgba(0,0,0,0));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-olive::after {
    bottom: -1px;
    -webkit-mask: linear-gradient(to top, #000, rgba(0,0,0,0));
            mask: linear-gradient(to top, #000, rgba(0,0,0,0));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-container { z-index: 2; }

/* ─────────── Divisores entre secciones (sistema de dos ritmos) ───────────
   En un flat-lay lo que separa zonas de la mesa es un objeto, no una línea: la
   junta entre secciones la hace un recurso puesto SOBRE ella, pisando ambas.
   - Guirnalda fotográfica (garland.webp, las mismas flores de la corona del intro)
     en las juntas fuertes: portada→cuerpo, →itinerario, →regalos, →footer.
   - Liana de eucalipto en silueta (hairline + ramita) entre secciones de papel.
   Los divisores son hermanos de las secciones con altura 0: el recurso se centra en
   la junta con translateY(-50%) y pinta por encima de ambas (z-index 3; cada
   sección es su propio contexto con z 0). Las secciones vecinas ganan padding. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide { position: relative; height: 0; z-index: 3; pointer-events: none; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-garland {
    position: absolute; left: 50%; top: 0;
    transform: translate(-50%, -50%);
    width: min(100%, 1040px); aspect-ratio: 1916 / 420;
    background: url('/media/archive/nupcii.com/images/templates/jardin/garland.webp') center / contain no-repeat;
    /* Sombra corta y cálida: la guirnalda está apoyada en el papel, no pegada */
    filter: drop-shadow(0 5px 9px rgba(90,70,60,0.16)) drop-shadow(0 1px 2px rgba(90,70,60,0.10));
}
@container archive (max-width: 767px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-garland {
        width: 100%; aspect-ratio: 860 / 420;
        background-image: url('/media/archive/nupcii.com/images/templates/jardin/garland-mobile.webp');   /* tramo central, el denso */
    }
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide--vine {
    display: flex; align-items: center; justify-content: center; gap: 14px;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-line { display: block; width: clamp(56px, 12cqw, 150px); height: 1px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-line:first-child { background: linear-gradient(to right, transparent, var(--jd-olive-border)); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-line:last-child  { background: linear-gradient(to left,  transparent, var(--jd-olive-border)); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide-sprig {
    flex: none; width: 104px; height: 60px;
    background: url('/media/archive/nupcii.com/images/templates/jardin/divider-sprig.webp') center / contain no-repeat;
    filter: drop-shadow(0 2px 2px rgba(90,70,60,0.18));
}
/* Aire alrededor de cada junta, según el peso del divisor. La portada no es .jd-sec:
   su padding inferior crece para que la guirnalda no pise la sede ni la fecha. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero:has(+ .jd-divide--garland) { padding-bottom: clamp(180px, calc(var(--archive-vh, 1svh) * 24), 260px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide--garland + :is(.jd-sec, .jd-footer) { padding-top: clamp(150px, 20cqw, 220px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-sec:has(+ .jd-divide--garland) { padding-bottom: clamp(150px, 20cqw, 220px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide--vine + .jd-sec { padding-top: clamp(88px, 12cqw, 140px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-sec:has(+ .jd-divide--vine) { padding-bottom: clamp(88px, 12cqw, 140px); }
@container archive (max-width: 767px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divide--garland + :is(.jd-sec, .jd-footer) { padding-top: clamp(130px, 36cqw, 170px); }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-sec:has(+ .jd-divide--garland) { padding-bottom: clamp(130px, 36cqw, 170px); }
}
/* Solo escritorio y solo esta junta: la nota de invitados deja colgar el eucalipto
   prensado sobre la guirnalda; se separan con aire extra */
@container (min-width: 900px) {
    /* El dúo de fotos (oculto en escritorio) puede quedar entre la nota y la
       guirnalda como hermano en el DOM: se cubren los dos casos */
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-sec:has(+ .jd-divide--garland),.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-sec:has(+ .jd-duo-sec + .jd-divide--garland) { padding-bottom: clamp(250px, 24cqw, 300px); }
}


/* ─────────── Cabecera de sección ─────────── */
/* El encabezado se reserva su claro: en una plancha de imprenta el dibujo deja
   sitio al texto. Halo del MISMO tono del papel (#EFEAE1 = tono medio del
   estampado), así no se ve como una mancha, solo alisa el relieve bajo el título.
   Solo en las secciones de papel; las de seda no lo necesitan. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-bg .jd-head::before,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-bg-cream .jd-head::before {
    content: ""; position: absolute; z-index: -1; pointer-events: none;
    left: 50%; top: 46%; transform: translate(-50%, -50%);
    width: min(124%, 940px); height: 190%;
    background: radial-gradient(ellipse at center,
        var(--jd-paper) 0%,
        rgba(var(--jd-veil-rgb),0.86) 40%,
        rgba(var(--jd-veil-rgb),0) 72%);
}

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-head { text-align: center; margin-bottom: clamp(44px, 6cqw, 70px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-head-title {
    font-family: var(--font-jd-display);
    font-size: clamp(34px, 6cqw, 56px);
    font-style: italic;
    font-weight: 500;
    color: var(--jd-heading);
    line-height: 1.08;
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-head-sub {
    font-family: var(--font-jd-body);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--jd-ink-gold);   /* AA: en oro quedaba <3:1 sobre el papel */
    margin-top: 14px;
    text-shadow: var(--jd-foil-sm);
}
/* Separador ornamental: hairline que se desvanece hacia los lados + detalle central (hojita) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider {
    display: flex; align-items: center; justify-content: center;
    gap: clamp(14px, 2.4cqw, 22px);
    width: clamp(180px, 36cqw, 300px);
    margin: clamp(20px, calc(var(--archive-vh, 1svh) * 3), 30px) auto 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider-line { height: 1px; flex: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider-line:first-child { background: linear-gradient(to right, transparent, var(--jd-olive-border)); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider-line:last-child  { background: linear-gradient(to left,  transparent, var(--jd-olive-border)); }
/* Divisor de cabeceras y tarjetas: SOLO la hairline que se desvanece (las dos
   mitades se unen en el centro). El eucalipto prensado queda reservado a la liana
   entre secciones: tres ramas seguidas (liana, cabecera, tarjeta) era demasiado. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider { gap: 0; width: clamp(140px, 30cqw, 220px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-divider-mark { display: none; }

/* ─────────── Flora de Perle ───────────
   Botánica dibujada a mano (PNG con alpha) aplicada como MÁSCARA CSS: la tinta
   sale de var(--jd-olive), así el ornamento sigue la paleta que elija la pareja. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-botanical {
    display: inline-block;
    background-color: var(--jd-olive);
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center;  mask-position: center;
    -webkit-mask-size: contain;     mask-size: contain;
}
/* Marca de agua en tarjetas de papelería (dedicada, regalos): rama en las esquinas.
   El selector va con .jd-wrap delante a propósito: `.jd-dedicated > *` (más abajo)
   fija position:relative a los hijos y con igual especificidad ganaría por orden. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap .jd-card-branch {
    position: absolute; z-index: 0; pointer-events: none;
    bottom: clamp(10px, 2cqw, 20px);
    width: clamp(44px, 6cqw, 66px); height: clamp(88px, 12cqw, 132px);
    opacity: 0.17;
    background-color: var(--jd-olive);
    -webkit-mask: var(--offline-mask-cc0bc6d0083c) bottom center / contain no-repeat;
            mask: var(--offline-mask-cc0bc6d0083c) bottom center / contain no-repeat;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap .jd-card-branch-l { left: clamp(12px, 2.4cqw, 24px);  transform: scaleX(-1); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wrap .jd-card-branch-r { right: clamp(12px, 2.4cqw, 24px); }

/* ─────────── Mini corona con monograma (el "sello" de Jardin) ───────────
   Eco de la corona del intro: ramas de eucalipto en silueta (máscara, tinta
   salvia) y las iniciales en Swarsh Daisy en el hueco central, como en el video. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wreath-seal { display: flex; align-items: center; justify-content: center; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-wreath-img {
    position: absolute; inset: 0;
    background-color: var(--jd-olive);
    -webkit-mask: var(--offline-mask-973812214110) center / contain no-repeat;
            mask: var(--offline-mask-973812214110) center / contain no-repeat;
    opacity: 0.92;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-seal-initials {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-jd-name);
    font-style: normal; font-weight: 400;
    font-size: clamp(15px, 2.2cqw, 22px);
    color: var(--jd-heading);
    letter-spacing: 0.5px;
    text-shadow: var(--jd-foil-sm);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-seal-initials i { font-family: var(--font-jd-script); font-style: normal; font-size: .72em; color: var(--jd-olive); margin: 0 .05em; }

/* ═══════════════ HERO — ARCO SOBRE EL PAPEL ═══════════════
   La foto en arco de medio punto, puesta sobre el papel con la botánica del flat-lay
   alrededor; ramitas en silueta montan el borde, filete de tinta y cinta washi.
   Escritorio: arco a la izquierda y textos a la derecha (asimétrico). Móvil: arco
   centrado arriba y textos debajo. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero {
    position: relative;
    min-height: calc(var(--archive-vh, 1svh) * 100);
    display: flex; flex-direction: row; align-items: center; justify-content: center;
    overflow: hidden; isolation: isolate;
    color: var(--jd-hero-ink);
    background: var(--jd-hero-bg);
    padding: clamp(56px, calc(var(--archive-vh, 1svh) * 8), 110px) clamp(20px, 5cqw, 80px) clamp(88px, calc(var(--archive-vh, 1svh) * 12), 150px);
    /* Arco y textos se centran como GRUPO (no arco a la izquierda y media pantalla
       vacía): el hueco entre ambos es fijo y el conjunto flota en el centro */
    gap: clamp(40px, 6cqw, 96px);
}

/* Transición al cuerpo: fundido recto y corto hacia el papel; la guirnalda que
   sigue a la portada es la que hace la junta visible */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px;
    height: clamp(120px, 16cqw, 220px); z-index: 5; pointer-events: none;   /* largo: a los lados de la guirnalda la junta botánica↔papel debe disolverse sola */
    background: var(--jd-paper);
    -webkit-mask: linear-gradient(to top, #000, rgba(0,0,0,0));
            mask: linear-gradient(to top, #000, rgba(0,0,0,0));
}

/* Fondo: botánica protagonista bajo velo (el mismo papel del intro con los pétalos) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-silk {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: var(--jd-botanic-mobile);
    background-size: cover; background-position: center;
}
@container archive (min-width: 768px) { .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-silk { background-image: var(--jd-botanic); } }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-veil {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background:
        radial-gradient(70% 60% at 50% 50%, rgba(var(--jd-veil-rgb),0.62) 0%, rgba(var(--jd-veil-rgb),0.40) 60%, rgba(var(--jd-veil-rgb),0.22) 100%),
        linear-gradient(180deg, rgba(var(--jd-veil-rgb),0.30) 0%, rgba(var(--jd-veil-rgb),0.08) 40%, rgba(var(--jd-veil-rgb),0.30) 100%);
}

/* ── Columna del arco ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch-col {
    position: relative; z-index: 2;
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch-wrap {
    position: relative;
    width: min(34cqw, 440px, calc(var(--archive-vh, 1svh) * 48));
    aspect-ratio: 3 / 4.15;
}
/* La foto, recortada en arco. El encuadre lo elige la pareja en el customizer
   (posición superior / centro / inferior), como en el resto de plantillas. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch {
    position: absolute; inset: 0; margin: 0; overflow: hidden;
    border-radius: 999px 999px 6px 6px;
    box-shadow: 0 30px 60px -34px rgba(90,70,60,0.55), 0 8px 20px -12px rgba(90,70,60,0.25);
    background: var(--jd-ph-fill);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-photo-img {
    position: absolute; inset: 0; display: block;
    width: 100%; height: 100%; object-fit: cover;
    animation: jdKen 36s ease-in-out infinite alternate !important;
}
@keyframes jdKen { from { transform: scale(1.015); } to { transform: scale(1.075); } }
/* Filete de tinta siguiendo el arco, a unos píxeles del borde (papelería impresa) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch-line {
    position: absolute; inset: -11px; z-index: 0; pointer-events: none;
    border: 1px solid var(--jd-hero-line);
    border-radius: 999px 999px 8px 8px;
}
/* (Las ramitas en silueta que montaban el arco se retiraron: la botánica del
   fondo ya pone suficientes flores en la portada; decisión de Andrés.) */
/* Cinta washi blush sujetando la base del arco (mismo gesto que la foto de la fecha) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-tape {
    position: absolute; z-index: 4; left: 50%; bottom: -12px;
    width: clamp(72px, 30%, 110px); height: 24px; border-radius: 1px;
    transform: translateX(-50%) rotate(-2.5deg);
    background: var(--jd-tape);
    box-shadow: 0 1px 2px rgba(90,70,60,0.18);
    -webkit-mask: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
            mask: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
}

/* ── Panel de textos, directamente sobre el papel ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-panel {
    position: relative; z-index: 2; flex: 0 1 auto;
    display: flex; align-items: center; justify-content: flex-start;
    text-align: left;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-panel-inner { position: relative; z-index: 3; width: 100%; max-width: 520px; }

/* ── Textos ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-eyebrow {
    font-family: var(--font-jd-body);
    font-size: clamp(10px, 1.1cqw, 12.5px); font-weight: 400;
    letter-spacing: 0.34em; text-transform: uppercase; color: var(--jd-hero-heading);
    margin-bottom: clamp(14px, calc(var(--archive-vh, 1svh) * 2.2), 26px);
    line-height: 1.9;
    text-shadow: var(--jd-foil-sm);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-name {
    font-family: var(--font-jd-name); font-weight: 400; font-style: normal;
    font-size: clamp(30px, 4.4cqw, 78px); line-height: 1.04; color: var(--jd-hero-heading);
    letter-spacing: 0.01em;
    text-shadow: var(--jd-foil);
    margin: 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-amp {
    display: block;
    font-family: var(--font-jd-script);
    font-size: clamp(22px, 2.6cqw, 40px); line-height: 0.9;
    color: var(--jd-hero-accent);
    margin: clamp(2px, calc(var(--archive-vh, 1svh) * 0.5), 8px) 0 clamp(2px, calc(var(--archive-vh, 1svh) * 0.5), 8px) 0.15em;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-meta {
    display: flex; align-items: center; justify-content: flex-start; gap: 14px;
    margin-top: clamp(20px, calc(var(--archive-vh, 1svh) * 3), 34px);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hm-line { display: block; width: clamp(22px, 3cqw, 44px); height: 1px; background: var(--jd-hero-line); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hm-text {
    font-family: var(--font-jd-body);
    font-size: clamp(11px, 1.15cqw, 13px); letter-spacing: 3px; text-transform: uppercase;
    color: var(--jd-hero-ink);
    text-shadow: var(--jd-foil-sm);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-place {
    font-family: var(--font-jd-display); font-style: italic;
    font-size: clamp(15px, 1.7cqw, 21px); color: var(--jd-ink-gold); margin-top: 12px;
    text-shadow: var(--jd-foil-sm);
}

/* ── Indicador de scroll, al pie de la portada ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-scroll {
    position: absolute; left: 50%; bottom: clamp(14px, calc(var(--archive-vh, 1svh) * 2.4), 30px); transform: translateX(-50%);
    z-index: 6;
    background: none; border: 0; padding: 8px; cursor: pointer;
    display: inline-flex; align-items: flex-start; justify-content: center;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-scroll-track {
    position: relative; display: block; width: 1px; height: 52px;
    background: linear-gradient(var(--jd-hero-line), rgba(0,0,0,0));
    overflow: hidden;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-scroll-dot {
    position: absolute; left: -1.5px; top: 0;
    width: 4px; height: 4px; border-radius: 50%;
    background: var(--jd-hero-accent);
    animation: jdScrollDot 2s ease-in-out infinite !important;
}
@keyframes jdScrollDot {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateY(46px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-scroll-dot { animation: none !important; top: 46%; opacity: .85; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-photo-img { animation: none !important; }
}

/* ── Móvil y tablet: arco centrado arriba, textos centrados debajo ── */
@container (max-width: 899px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero {
        flex-direction: column; justify-content: center;
        padding: clamp(64px, calc(var(--archive-vh, 1svh) * 9), 100px) 22px clamp(96px, calc(var(--archive-vh, 1svh) * 13), 140px);
        gap: clamp(28px, calc(var(--archive-vh, 1svh) * 4.5), 44px);
    }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch-col { flex: 0 0 auto; width: 100%; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-arch-wrap { width: min(66%, 300px, calc(var(--archive-vh, 1svh) * 42)); }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-panel { flex: 0 0 auto; justify-content: center; text-align: center; width: 100%; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-panel-inner { max-width: none; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-meta { justify-content: center; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-amp { margin-left: 0; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-hero-name { font-size: clamp(34px, 9.5cqw, 68px); }
}

/* ═══════════════ COUNTDOWN — TARJETITAS DE PAPEL (cantos limpios) ═══════════════
   Cuatro place cards de papel de algodón sobre la mesa, cada una con su giro y su
   trozo de cinta washi; el número en Swarsh Daisy tinta. (Perle: cifras con hairlines.) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-sec::after { display: none; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd { display: flex; align-items: flex-start; justify-content: center; gap: clamp(16px, 4.6cqw, 44px); flex-wrap: nowrap; padding-top: 12px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-tag {
    position: relative;
    width: clamp(60px, 16cqw, 118px); aspect-ratio: 3 / 3.9;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    transform: rotate(var(--r, 0deg));
    /* Tarjetas pequeñas y juntas: sombra CORTA y nítida (la amplia de la hoja y la
       nota, repetida cuatro veces a 16px de distancia, se fundía en una mancha) */
    filter: drop-shadow(0 5px 8px rgba(90,70,60,0.13)) drop-shadow(0 1px 1px rgba(90,70,60,0.14));
}
/* El papel va en un pseudo-elemento (canto limpio; la cinta asoma por encima) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-tag::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background: var(--jd-card);
    border-radius: 2px;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-tag > * { position: relative; z-index: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-num {
    font-family: var(--font-jd-display);
    font-size: clamp(34px, 8.6cqw, 64px);
    font-weight: 400; line-height: 1;
    color: var(--jd-heading);
    font-variant-numeric: tabular-nums;
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-lbl {
    font-family: var(--font-jd-body);
    font-size: clamp(8.5px, 1.1cqw, 10.5px); font-weight: 500;
    letter-spacing: 0.26em; text-transform: uppercase;
    color: var(--jd-ink-gold);
    padding-left: 0.26em;
}
/* Cinta washi blush: sujeta tarjetas y fotos (un solo gesto para toda la plantilla) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tape {
    /* Translúcida de verdad (multiply: deja ver el papel o la foto de debajo),
       brillo en el canto superior y sombra corta bajo el canto inferior */
    position: absolute; z-index: 3; left: 50%;
    width: 58%; max-width: 64px; height: 16px; border-radius: 1px;
    background: var(--jd-tape);
    mix-blend-mode: multiply; opacity: 0.92;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), inset 0 -1px 0 rgba(120,80,85,0.12), 0 1px 2px rgba(90,70,60,0.22);
    -webkit-mask: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
            mask: linear-gradient(90deg, transparent 0, #000 3px, #000 calc(100% - 3px), transparent 100%);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tape--tag   { top: -6px; width: 46%; max-width: 44px; height: 12px; transform: translateX(-50%) rotate(-4deg); }   /* tarjetas pequeñas: cinta pequeña */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tape--photo { top: -9px; width: 64px; height: 18px; transform: translateX(-50%) rotate(-3deg); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-caption {
    text-align: center;
    margin-top: clamp(28px, 4.5cqw, 48px);
    font-family: var(--font-jd-script);
    font-size: clamp(34px, 5cqw, 58px);
    line-height: 1;
    color: var(--jd-heading);
}

/* ═══════════════ CALENDARIO — PÁGINA DE AGENDA ═══════════════
   Cuadrícula del mes arriba y zona de notas rayada abajo; el día de la boda rodeado
   a bolígrafo; la foto destacada va ENCIMA, pegada con washi sobre el borde derecho
   de la hoja (visible entera), y una peonía prensada cruza la esquina superior
   izquierda. Cantos limpios: todo el relieve lo hacen la sombra y las capas. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date {
    position: relative;
    width: min(340px, 86%);
    margin: clamp(44px, 6.5cqw, 78px) auto 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date:has(.jd-date-photo) { margin-bottom: clamp(52px, 8cqw, 80px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal {
    position: relative; z-index: 1;
    width: 100%;
    padding: clamp(18px, 2.6cqw, 26px) clamp(16px, 2.4cqw, 24px) 0;
    background: var(--jd-card);
    border-radius: 2px;
    filter: var(--jd-paper-shadow);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-month {
    font-family: var(--font-jd-display); font-style: italic;
    font-size: clamp(19px, 2.4cqw, 25px); line-height: 1.1;
    color: var(--jd-heading); text-align: center; text-transform: capitalize;
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-grid {
    display: grid; grid-template-columns: repeat(7, 1fr);
    margin-top: clamp(12px, 1.8cqw, 18px);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-dow {
    font-family: var(--font-jd-body);
    font-size: 9.5px; font-weight: 500; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--jd-ink-gold);
    text-align: center; padding-bottom: 9px;
    border-bottom: 1px solid var(--jd-keyline);
    margin-bottom: 7px;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-day {
    position: relative;
    font-family: var(--font-jd-body); font-size: 12.5px;
    color: var(--jd-text); text-align: center;
    padding: 6px 0; z-index: 1;
    font-variant-numeric: tabular-nums;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-day.is-out { opacity: 0.24; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-day.is-day { color: var(--jd-heading); font-weight: 600; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-ring {
    position: absolute; left: 50%; top: 50%;
    width: 34px; height: 34px; transform: translate(-50%, -50%) rotate(-12deg);
    color: var(--jd-hero-heading);
    opacity: 0.9; pointer-events: none;
}
/* Pie de la hoja: el día de la semana. La zona de notas rayada (el toque de
   agenda) solo existe en escritorio cuando la instantánea va pegada sobre ella;
   sin foto, o en móvil (donde la foto vive en el dúo), sería un hueco vacío. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-foot {
    position: relative;
    margin: clamp(10px, 1.6cqw, 16px) calc(-1 * clamp(16px, 2.4cqw, 24px)) 0;
    padding: 4px clamp(16px, 2.4cqw, 24px) clamp(14px, 2cqw, 20px);
}
@container (min-width: 900px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date:has(.jd-date-photo) .jd-cal-foot {
        padding-top: 6px;
        min-height: clamp(118px, 17cqw, 150px);
        background: repeating-linear-gradient(to bottom, transparent 0 27px, var(--jd-keyline) 27px 28px);
        background-origin: content-box;
    }
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-weekday {
    font-family: var(--font-jd-display); font-style: italic;
    font-size: clamp(18px, 2.2cqw, 22px); line-height: 28px;
    color: var(--jd-heading); text-align: center;
    text-transform: capitalize;
    text-shadow: var(--jd-foil);
    margin: 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date:has(.jd-date-photo) .jd-cal-weekday { text-align: left; padding-left: 2px; max-width: 52%; }
/* Foto instantánea ENCIMA de la hoja, pegada con washi, montando el borde derecho */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date-photo {
    position: absolute; z-index: 3; margin: 0;
    right: clamp(-46px, -12%, -22px); bottom: clamp(-44px, -10%, -18px);
    width: 44%; aspect-ratio: 3 / 3.8;
    padding: 7px 7px 20px;
    background: var(--jd-frame);
    border-radius: 1px;
    transform: rotate(5deg);
    filter: var(--jd-paper-shadow);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date-photo-img { width: 100%; height: 100%; background-size: cover; background-position: center; }
/* Peonía prensada cruzando la esquina superior izquierda de la hoja */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cal-flower {
    position: absolute; z-index: 4; pointer-events: none;
    left: -9%; top: -8%;
    width: 32%; aspect-ratio: 1;
    background: url('/media/archive/nupcii.com/images/templates/jardin/pressed-peony.webp') center / contain no-repeat;
    transform: rotate(-14deg);
    filter: drop-shadow(0 6px 10px rgba(90,70,60,0.18)) drop-shadow(0 1px 1px rgba(90,70,60,0.12));
}
@container (max-width: 620px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date { width: min(330px, 82%); }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date-photo { width: 46%; right: -10%; }
}

/* ═══════════════ INVITACIÓN DEDICADA — NOTA DE PAPEL ═══════════════
   Una nota de papel de algodón con borde deckle, la mini corona arriba, el nombre del
   invitado en Swarsh Daisy y el cupo como sello de tinta (Perle: tarjeta con doble filete). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dedicated {
    position: relative;
    max-width: 620px; margin: 0 auto; text-align: center;
    padding: clamp(56px, 7.5cqw, 88px) clamp(34px, 6cqw, 70px) clamp(48px, 6.5cqw, 76px);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-note-paper {
    position: absolute; inset: 0; z-index: 0;
    background: var(--jd-card);
    border-radius: 2px;
    filter: var(--jd-paper-shadow);
    transform: rotate(-0.6deg);
}
/* Eucalipto prensado (herbario de Andrés) cruzando la esquina inferior izquierda */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-note-pressed {
    position: absolute; z-index: 1; pointer-events: none;
    left: -7%; bottom: -9%;
    width: clamp(110px, 20cqw, 180px); aspect-ratio: 640 / 614;
    background: url('/media/archive/nupcii.com/images/templates/jardin/pressed-eucalyptus.webp') center / contain no-repeat;
    transform: rotate(18deg);
    filter: drop-shadow(0 6px 10px rgba(90,70,60,0.16)) drop-shadow(0 1px 1px rgba(90,70,60,0.10));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dedicated > :not(.jd-note-paper):not(.jd-note-pressed) { position: relative; z-index: 2; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-seal {
    position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
    width: clamp(76px, 12cqw, 104px); aspect-ratio: 1; z-index: 3;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-eyebrow {
    font-family: var(--font-jd-name);
    font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase;
    color: var(--jd-ink-gold);
    margin: clamp(10px, calc(var(--archive-vh, 1svh) * 1.6), 18px) 0 clamp(14px, calc(var(--archive-vh, 1svh) * 2.2), 24px);
    padding-left: 0.3em;
    text-shadow: var(--jd-foil-sm);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-names { display: flex; flex-direction: column; align-items: center; gap: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-name {
    font-family: var(--font-jd-name); font-weight: 400;
    font-size: clamp(34px, 5.6cqw, 70px); line-height: 1.12;
    letter-spacing: 0.02em;
    color: var(--jd-hero-heading);   /* el nombre del invitado, como los de la pareja, en palo de rosa */
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-name--compact { font-size: clamp(28px, 3.9cqw, 48px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-amp {
    font-family: var(--font-jd-script);
    font-size: clamp(24px, 3.4cqw, 42px); line-height: 1;
    color: var(--jd-olive);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-sep {
    display: block; width: clamp(20px, 2.6cqw, 30px); height: 1px;
    background: var(--jd-olive-border);
    margin: clamp(8px, 1.2cqw, 14px) auto;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-meta {
    font-family: var(--font-jd-name);
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--jd-ink-gold); margin-top: 16px;
}
/* Cupos (p. ej. "5 personas" / "+2 acompañantes"): etiqueta tradicional bajo el
   nombre, como en el resto de plantillas (el sello redondo competía con la corona) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-count {
    display: inline-flex; align-items: baseline; gap: 8px;
    margin: 18px auto 0; padding: 7px 16px;
    border: 1px solid var(--jd-olive-border);
    border-radius: 999px;
    background: rgba(var(--jd-veil-rgb), 0.5);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-count-n {
    font-family: var(--font-jd-display); font-weight: 400;
    font-size: clamp(20px, 2.8cqw, 26px); line-height: 1; color: var(--jd-heading);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-count-l {
    font-family: var(--font-jd-body); font-weight: 500;
    font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--jd-ink-gold);
}
/* Filete suave bajo el nombre: hairline que se desvanece hacia los extremos, como
   las líneas de los divisores (el subrayado ondulado a mano se retiró) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-rule {
    display: block; width: clamp(120px, 30%, 180px); height: 1px;
    margin: clamp(22px, calc(var(--archive-vh, 1svh) * 3), 32px) auto;
    background: linear-gradient(to right, transparent, var(--jd-olive-border) 30%, var(--jd-olive-border) 70%, transparent);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-msg {
    font-family: var(--font-jd-display); font-style: italic;
    font-size: clamp(17px, 2.2cqw, 22px); line-height: 1.6;
    color: var(--jd-text); max-width: 32ch; margin: 0 auto;
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-ded-sec::after { display: none; }

/* ═══════════════ LAS DOS FOTOS DESTACADAS, JUNTAS (móvil y tablet) ═══════════════
   Dos instantáneas dejadas sobre la mesa: la de la fecha grande y girada a la
   izquierda, la del itinerario solapando su esquina inferior derecha con el giro
   contrario, cada una con cinta washi, y la paniculata prensada entre ambas. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-sec { padding: clamp(44px, 9cqw, 80px) 0 clamp(72px, 12cqw, 110px); }   /* aire con la nota de invitados y con la guirnalda */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo {
    position: relative;
    width: min(380px, 90%); aspect-ratio: 1 / 1.34;   /* más alto: la 2ª foto baja y tapa solo la esquina de la 1ª */
    margin: 0 auto;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-photo {
    position: absolute; margin: 0;
    padding: 8px 8px 24px;
    background: var(--jd-frame); border-radius: 1px;
    filter: var(--jd-paper-shadow);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-img { width: 100%; aspect-ratio: 3 / 4; background-size: cover; background-position: center; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-photo--a { left: 0; top: 0; width: 60%; transform: rotate(-4deg); z-index: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-photo--b { right: 0; bottom: 0; width: 56%; transform: rotate(5deg); z-index: 3; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-flower {
    position: absolute; z-index: 2; pointer-events: none;
    right: -4%; top: 22%; width: 40%; aspect-ratio: 1;   /* asoma por detrás de la esquina superior de la 2ª foto */
    background: url('/media/archive/nupcii.com/images/templates/jardin/pressed-babys.webp') center / contain no-repeat;
    transform: rotate(-12deg);
    filter: drop-shadow(0 5px 8px rgba(90,70,60,0.16));
}
/* Una sola foto subida: centrada, sin solape */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo--one { aspect-ratio: 3 / 3.9; width: min(300px, 72%); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo--one .jd-duo-photo { left: 0; right: 0; top: 0; width: 100%; transform: rotate(-2deg); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo--one .jd-duo-flower { left: auto; right: -16%; top: auto; bottom: -8%; width: 44%; }
/* Escritorio: el bloque no existe; cada foto vuelve a la agenda y al programa */
@container (min-width: 900px) { .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-duo-sec { display: none; } }
/* Móvil y tablet: la agenda y el programa no muestran su foto (ya está en el dúo) */
@container (max-width: 899px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date-photo,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-photo { display: none; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date:has(.jd-date-photo) .jd-cal-weekday { text-align: center; max-width: none; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-date:has(.jd-date-photo) { margin-bottom: 0; }
}

/* ═══════════════ ITINERARIO — EL PROGRAMA DEL DÍA ═══════════════ */

/* ── Divisor con corazón de la cabecera del itinerario ── */
/* Divisor: filete · corazón · filete */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rule-heart {
    display: flex; align-items: center; justify-content: center;
    gap: clamp(14px, 2.2cqw, 20px);
    width: clamp(200px, 34cqw, 300px);
    margin: clamp(18px, calc(var(--archive-vh, 1svh) * 2.6), 28px) auto 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rule-line { height: 1px; flex: 1; background: var(--jd-olive-border); opacity: 0.75; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rule-icon {
    flex: none; width: clamp(17px, 2.2cqw, 21px); height: auto;
    color: var(--jd-olive);
}

/* ── El programa del día: tarjeta impresa + instantánea ──
   Una sola tarjeta de papel con los momentos en filas (hora grande a la izquierda,
   rótulo/sede/dirección a la derecha) separadas por filetes; la rosa prensada asoma
   por la esquina superior y la foto destacada va pegada con washi. Móvil: la foto
   sobre la esquina inferior derecha de la tarjeta; escritorio: al lado, montando su
   borde. (Perle: línea vertical con medallones y tarjetas redondeadas.) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl {
    position: relative;
    max-width: 560px; margin: 0 auto;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-card {
    position: relative; z-index: 1;
    padding: clamp(30px, 4.4cqw, 52px) clamp(24px, 3.6cqw, 44px) clamp(26px, 3.6cqw, 44px);
    background: var(--jd-card);
    border-radius: 2px;
    transform: rotate(-0.4deg);
    filter: var(--jd-paper-shadow);
}
/* Rosa prensada asomando por la esquina superior derecha */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-flower {
    position: absolute; z-index: 3; pointer-events: none;
    top: -8%; right: -9%;
    width: clamp(84px, 22%, 130px); aspect-ratio: 614 / 640;
    background: url('/media/archive/nupcii.com/images/templates/jardin/pressed-rose.webp') center / contain no-repeat;
    transform: rotate(14deg);
    filter: drop-shadow(0 6px 10px rgba(90,70,60,0.18)) drop-shadow(0 1px 1px rgba(90,70,60,0.12));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-list { list-style: none; margin: 0; padding: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-item {
    display: grid; grid-template-columns: auto 1fr;
    column-gap: clamp(18px, 3cqw, 32px);
    align-items: start;
    padding: clamp(20px, 2.8cqw, 30px) 0;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-item + .jd-program-item { border-top: 1px solid var(--jd-keyline); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-item:first-child { padding-top: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-item:last-child  { padding-bottom: 0; }
/* Hora: grande, en Swarsh Daisy, alineada al borde izquierdo del texto */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-time {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px;
    min-width: clamp(62px, 9cqw, 96px);
    padding-top: 2px;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-h {
    font-family: var(--font-jd-display);
    font-size: clamp(30px, 4.2cqw, 44px); line-height: 1;
    color: var(--jd-heading);
    font-variant-numeric: tabular-nums;
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ampm {
    font-family: var(--font-jd-body);
    font-size: clamp(9px, 1.1cqw, 11px); font-weight: 500; letter-spacing: 0.18em;
    color: var(--jd-ink-gold);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-body { min-width: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-label {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--font-jd-body);
    font-size: clamp(10px, 1.2cqw, 12px); font-weight: 500;
    letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--jd-ink-gold);
    margin-bottom: 6px;
}
/* Iconos de los momentos en tinta salvia con flor prensada (recursos propios),
   bajo la hora: a 16px en la línea del rótulo la flor era una mancha. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ico {
    display: block; margin-top: clamp(8px, 1.4cqw, 14px);
    height: clamp(42px, 5.6cqw, 58px);
    background: center / contain no-repeat;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ico--church  { width: clamp(30px, 4.0cqw, 40px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-church.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ico--glasses { width: clamp(31px, 4.2cqw, 42px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-toast.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ico--rings   { width: clamp(52px, 7.0cqw, 70px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-rings.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-ico--cake    { width: clamp(35px, 4.7cqw, 47px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-cake.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-venue {
    font-family: var(--font-jd-display);
    font-size: clamp(20px, 2.8cqw, 30px); line-height: 1.16;
    color: var(--jd-heading);
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-addr {
    display: flex; align-items: center; gap: 7px;
    font-family: var(--font-jd-body); font-size: clamp(12.5px, 1.4cqw, 14px);
    color: var(--jd-text); opacity: 0.82; margin-top: 8px;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-pin { flex: none; width: 15px; height: 15px; color: var(--jd-olive); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-map {
    display: inline-flex; align-items: center; gap: clamp(10px, 1.6cqw, 18px);
    margin-top: clamp(10px, 1.4cqw, 14px);
    font-family: var(--font-jd-body); font-size: clamp(10px, 1.15cqw, 11.5px);
    font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase;
    text-decoration: none; color: var(--jd-ink-gold);
    transition: color .3s ease !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-map span { flex: none; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-arrow { width: 34px; height: 8px; color: currentColor; transition: transform .3s ease !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-map:hover { color: var(--jd-heading); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-map:hover .jd-tl-arrow { transform: translateX(4px); }

/* Instantánea pegada con washi. Móvil: cuelga del borde inferior de la tarjeta
   (monta 24px sobre su canto, nunca sobre el texto), alineada a la derecha */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-photo {
    position: relative; z-index: 4;
    width: 40%; max-width: 200px;
    margin: -24px 5% 0 auto;
    padding: 7px 7px 20px;
    background: var(--jd-frame);
    border-radius: 1px;
    transform: rotate(5deg);
    filter: var(--jd-paper-shadow);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-photo-img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

/* Escritorio: tarjeta + instantánea lado a lado, la foto montando el borde */
@container (min-width: 900px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl { max-width: 960px; display: grid; grid-template-columns: minmax(420px, 560px) 1fr; align-items: center; column-gap: 0; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl-photo {
        width: min(100%, 320px); max-width: none;
        margin: 0 0 0 -16px; justify-self: start;
        transform: rotate(3deg);
    }
    /* Con la foto a la derecha, la rosa pasa a la esquina superior izquierda */
    /* En px: con porcentajes de una tarjeta ancha la rosa se alejaba de la esquina */
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-program-flower { right: auto; left: -46px; top: -58px; width: 118px; transform: rotate(-14deg); }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-tl--nophoto { grid-template-columns: 1fr; max-width: 620px; }
}

/* ═══════════════ GALERÍA ═══════════════ */
/* Puente de variables para los layouts de galería compartidos (incl. Polaroid):
   look premium → sin inclinación + controles sutiles en oliva (no el coral de la paleta). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gallery-host {
    position: relative;
    max-width: 1100px; margin: 0 auto;
    --gallery-primary: var(--jd-olive);
    --gallery-accent:  var(--jd-olive);
    --gallery-text:    var(--jd-text);
    --gallery-heading: var(--jd-heading);
    --gallery-font-script: var(--font-jd-display);
    --gallery-polaroid-tilt: 0;                 /* fotos rectas (como las demás premium) */
    /* La tarjeta Polaroid es SIEMPRE blanca, así que la leyenda debe ser oscura en todas las
       paletas (con --jd-text claro de los temas joya quedaba invisible). Sobreescribible por
       paleta vía --jd-polaroid-ink si alguna quisiera otro tono. */
    --gallery-polaroid-text: var(--jd-polaroid-ink, #34302a);
}

/* ═══════════════ DRESS CODE ═══════════════ */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 3cqw, 32px); max-width: 760px; margin: 0 auto; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-card {
    position: relative;
    text-align: center;
    padding: clamp(38px, 4.5cqw, 56px) clamp(24px, 3cqw, 36px);
    background: var(--jd-card);
    border: 1px solid var(--jd-olive-border);
    border-radius: var(--jd-radius);
    box-shadow: 0 26px 56px -34px rgba(95,75,40,0.20), 0 2px 8px -6px rgba(95,75,40,0.10);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-card::before {  /* doble filete interior (como la tarjeta dedicada) */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--jd-keyline);
}
/* Iconos de vestimenta (recursos propios): vestido y chaqueta */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-icon {
    display: block;
    height: clamp(56px, 7.4cqw, 82px);
    margin: 0 auto clamp(14px, 2cqw, 20px);
    background: center / contain no-repeat;
    
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-icon--dress { width: clamp(50px, 6.7cqw, 67px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-dress.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-icon--suit  { width: clamp(47px, 6.4cqw, 64px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-suit.webp'); }

/* Rol = etiqueta pequeña (solo clasifica) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-name {
    font-family: var(--font-jd-name); font-weight: 500;
    font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--jd-ink-gold); margin-bottom: clamp(14px, calc(var(--archive-vh, 1svh) * 2), 20px);   /* AA */
    text-shadow: var(--jd-foil-sm);
}
/* Código de vestimenta = protagonista (lo que el invitado debe saber) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-code { font-family: var(--font-jd-display); font-style: italic; font-size: clamp(30px, 4.4cqw, 44px); color: var(--jd-heading); line-height: 1.12; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc .jd-divider { width: clamp(120px, 55%, 170px); margin: clamp(18px, calc(var(--archive-vh, 1svh) * 2.6), 26px) auto clamp(16px, calc(var(--archive-vh, 1svh) * 2.2), 22px); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc-notes { font-family: var(--font-jd-body); font-size: 13.5px; color: var(--jd-text); opacity: 0.78; margin-top: 12px; }

/* ═══════════════ REGALOS ═══════════════ */
/* Tarjeta de papelería (como la dedicada): marfil + doble filete + watermark de laurel */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift {
    position: relative;
    max-width: 600px; margin: 0 auto; text-align: center;
    padding: clamp(54px, 7cqw, 84px) clamp(34px, 6cqw, 70px);
    background: var(--jd-card);
    border: 1px solid var(--jd-olive-border);
    border-radius: var(--jd-radius);
    box-shadow: 0 34px 70px -36px rgba(95,75,40,0.22), 0 2px 10px -6px rgba(95,75,40,0.10);
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift::before {  /* doble filete interior */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--jd-keyline);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift > * { position: relative; z-index: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift .jd-card-calla { opacity: 0.14; }
/* Más aire en la sección de regalos, sobre todo en la parte inferior */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] #gifts { padding-top: clamp(112px, 15cqw, 184px); padding-bottom: clamp(144px, 19cqw, 224px); }
/* Iconos de la mesa de regalos (recursos propios): sobre, caja y corazón */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-icon {
    display: block; margin: 0 auto clamp(16px, calc(var(--archive-vh, 1svh) * 2.4), 24px);
    height: clamp(52px, 7cqw, 74px);
    background: center / contain no-repeat;
    
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-icon--envelope { width: clamp(89px, 12.0cqw, 120px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-envelope.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-icon--box      { width: clamp(52px, 7.0cqw, 70px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-gift.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-icon--heart    { width: clamp(59px, 8.0cqw, 80px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-heart.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-title { font-family: var(--font-jd-display); font-style: italic; font-size: clamp(28px, 4.4cqw, 42px); color: var(--jd-heading); margin-bottom: 18px; text-shadow: var(--jd-foil); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-text { font-family: var(--font-jd-display); font-size: clamp(17px, 2.4cqw, 21px); line-height: 1.6; color: var(--jd-text); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-list { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-direction: column; gap: 12px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-list li {
    font-family: var(--font-jd-body); font-size: 15px; color: var(--jd-text);
    padding-bottom: 12px; border-bottom: 1px solid var(--jd-olive-dim);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-gift-list li:last-child { border-bottom: none; }

/* ═══════════════ LOGÍSTICA ═══════════════ */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 3cqw, 28px); max-width: 900px; margin: 0 auto; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-card--full { grid-column: 1 / -1; }
/* Tres tarjetas en la fila de abajo (Transporte + Alojamiento + Niños): tres columnas.
   :where() conserva la especificidad del grid para que el 1fr del @container móvil siga ganando. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info:where(:has(> :nth-child(4)), :not(:has(.jd-info-card--full)):has(> :nth-child(3))) { grid-template-columns: repeat(3, 1fr); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info:not(:has(.jd-info-card--full)) .jd-info-card:only-child {
    grid-column: 1 / -1;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info:has(.jd-info-card--full) .jd-info-card:not(.jd-info-card--full):last-child:nth-child(2) {
    grid-column: 1 / -1;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
}
@container (max-width: 560px) { .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info { grid-template-columns: 1fr; } }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-card {
    position: relative;
    text-align: center; padding: clamp(34px, 4cqw, 48px) clamp(22px, 3cqw, 30px);
    background: var(--jd-card);
    border: 1px solid var(--jd-olive-border);
    border-radius: var(--jd-radius);
    box-shadow: 0 26px 56px -34px rgba(95,75,40,0.20), 0 2px 8px -6px rgba(95,75,40,0.10);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-card::before {  /* doble filete interior */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--jd-keyline);
}
/* Iconos de información (recursos propios): nota, coche, hotel y globos */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-icon {
    display: block; margin: 0 auto 14px;
    height: clamp(46px, 6cqw, 62px);
    background: center / contain no-repeat;
    
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-icon--note    { width: clamp(62px, 8.4cqw, 84px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-note.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-icon--car     { width: clamp(104px, 14.1cqw, 141px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-car.webp'); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-icon--hotel   { width: clamp(50px, 6.7cqw, 67px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-hotel.webp'); }
/* Los globos son altos y estrechos: con la misma altura que el coche perdían masa */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-icon--balloon { height: clamp(56px, 7.3cqw, 76px); width: clamp(34px, 4.6cqw, 46px); background-image: url('/media/archive/nupcii.com/images/templates/jardin/ico-balloon.webp'); }
/* Tarjetas lado a lado (>560 de container): caja de altura común con el icono
   apoyado en la base para que los títulos alineen (la height pisa la del globo a propósito) */
@container (min-width: 561px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-card:not(.jd-info-card--full) .jd-info-icon {
        height: clamp(64px, 8.4cqw, 88px);
        background-position: bottom center;
    }
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-title { font-family: var(--font-jd-display); font-style: italic; font-size: clamp(22px, 3cqw, 28px); color: var(--jd-heading); margin-bottom: 12px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-info-text { font-family: var(--font-jd-body); font-size: 14.5px; color: var(--jd-text); opacity: 0.85; }

/* ═══════════════ RSVP ═══════════════ */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp {
    position: relative;
    max-width: 600px; margin: 0 auto;
    padding: clamp(60px, 7cqw, 80px) clamp(28px, 5cqw, 56px) clamp(40px, 5cqw, 56px);
    background: var(--jd-card);
    border: 1px solid var(--jd-olive-border);
    border-radius: var(--jd-radius);
    box-shadow: 0 34px 70px -36px rgba(95,75,40,0.22), 0 2px 10px -6px rgba(95,75,40,0.10);
    text-align: center;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp::before {  /* doble filete interior (como las demás tarjetas) */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--jd-keyline);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp-intro { font-family: var(--font-jd-display); font-size: clamp(18px, 2.6cqw, 23px); color: var(--jd-text); line-height: 1.55; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp-intro strong { color: var(--jd-heading); font-weight: 500; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp-deadline {
    font-family: var(--font-jd-body); font-size: clamp(14px, 1.9cqw, 16.5px); letter-spacing: 0.5px;
    color: var(--jd-ink-gold); margin-top: 18px; margin-bottom: 30px; line-height: 1.5;   /* AA: en oro (sunset) daba ~3.1 */
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp-empty {
    margin-top: 26px; padding: 28px;
    border: 1px dashed var(--jd-olive-border); border-radius: var(--jd-radius);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp-empty p { font-family: var(--font-jd-body); font-size: 14px; color: var(--jd-text); opacity: 0.8; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp :is(form, .rsvp-form) { margin-top: 28px; }

/* ── Formulario RSVP: estiliza el componente compartido public.rsvp-form ── */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .rsvp-form-container { padding: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .rsvp-response-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 26px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .response-option {
    cursor: pointer; padding: 16px; margin: 0;
    border: 1px solid var(--jd-olive-border) !important; border-radius: var(--jd-radius) !important;
    background: var(--jd-surface) !important; transition: all .3s ease !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .response-option:hover { border-color: var(--jd-olive) !important; background: var(--jd-olive-dim) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .response-option.selected { border-color: var(--jd-olive) !important; background: var(--jd-olive-dim) !important; box-shadow: inset 0 0 0 1px var(--jd-olive-border) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .option-content { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--jd-text) !important; font-family: var(--font-jd-body); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .response-option.selected .option-content { color: var(--jd-olive) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .option-icon { color: var(--jd-olive); }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .section-label { display: block; font-size: 10px !important; font-weight: 400 !important; color: var(--jd-olive) !important; letter-spacing: 3px !important; text-transform: uppercase; font-family: var(--font-jd-body) !important; margin-bottom: 14px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .optional-label { font-size: 11px; opacity: .55; margin-left: 4px; letter-spacing: 0; text-transform: none; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .section-divider { height: 1px; background: var(--jd-olive-border) !important; margin: 22px 0; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-group,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-group-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-item,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .event-checkbox {
    display: flex; align-items: center; gap: 9px; padding: 11px 13px; cursor: pointer;
    border: 1px solid var(--jd-olive-border) !important; background: var(--jd-surface) !important;
    border-radius: var(--jd-radius) !important; transition: all .2s !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-item:hover,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .event-checkbox:hover { border-color: var(--jd-olive) !important; background: var(--jd-olive-dim) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .event-checkbox { flex-direction: column; align-items: flex-start; gap: 3px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-input { accent-color: var(--jd-olive) !important; width: 16px; height: 16px; flex-shrink: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-label,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .event-name { font-size: 14px; color: var(--jd-text) !important; font-family: var(--font-jd-body); cursor: pointer; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .event-time { font-size: 14px; color: var(--jd-text) !important; opacity: 0.75; display: block; font-family: var(--font-jd-body); }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .number-input-wrapper { display: flex; align-items: center; gap: 16px; justify-content: center; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .count-button { width: 38px; height: 38px; border-radius: 50% !important; background: var(--jd-btn-bg) !important; color: var(--jd-on-accent) !important; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .2s !important; flex-shrink: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .count-button:hover:not(:disabled) { background: var(--jd-btn-hover) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .count-button:disabled { opacity: .3; cursor: not-allowed; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .count-input { width: 64px; text-align: center; font-family: var(--font-jd-display) !important; font-size: 30px; font-style: italic; background: var(--jd-surface) !important; border: 1px solid var(--jd-olive-border) !important; border-radius: var(--jd-radius) !important; padding: 4px; color: var(--jd-heading) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .helper-text { display: block; text-align: center; font-size: 13px; color: var(--jd-text) !important; opacity: 0.55; margin-top: 8px; letter-spacing: 1px; font-family: var(--font-jd-body); }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .dietary-textarea { width: 100%; padding: 12px 14px; background: var(--jd-surface) !important; border: 1px solid var(--jd-olive-border) !important; border-radius: var(--jd-radius) !important; font-family: var(--font-jd-body); font-size: 14px; color: var(--jd-text) !important; resize: vertical; transition: border-color .2s !important; min-height: 72px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .dietary-textarea:focus { outline: none; border-color: var(--jd-olive) !important; box-shadow: 0 0 0 3px var(--jd-olive-dim); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .dietary-textarea::placeholder { color: var(--jd-text) !important; opacity: 0.5; font-style: italic; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-info-message { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: rgba(192,57,43,0.05) !important; border: 1px solid rgba(192,57,43,0.18) !important; border-radius: var(--jd-radius) !important; margin-top: 20px; text-align: left; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-icon-small { flex-shrink: 0; color: #c0392b; margin-top: 2px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-info-text { flex: 1; font-size: 14px; line-height: 1.6; color: var(--jd-text) !important; margin: 0; font-family: var(--font-jd-body); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-info-text strong { color: #c0392b !important; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .submit-button { width: 100%; padding: 16px 28px; background: var(--jd-btn-bg) !important; color: var(--jd-on-accent) !important; border: none !important; border-radius: var(--jd-radius) !important; font-family: var(--font-jd-body); font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; cursor: pointer; transition: all .3s ease !important; margin-top: 26px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .submit-button:hover:not(:disabled) { background: var(--jd-btn-hover) !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .submit-button:disabled { opacity: .4; cursor: not-allowed; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .error-message { display: block; margin-top: 6px; font-size: 14px; color: #c0392b; font-family: var(--font-jd-body); }

/* Resumen de confirmación */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .confirmation-summary { text-align: center; padding: 8px 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .success-icon { width: 76px; height: 76px; border-radius: 50%; background: var(--jd-olive-dim); border: 1px solid var(--jd-olive-border); box-shadow: 0 0 0 6px var(--jd-olive-dim); display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: var(--jd-olive); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-icon { width: 76px; height: 76px; border-radius: 50%; background: rgba(192,57,43,0.08); border: 1px solid rgba(192,57,43,0.25); display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: #c0392b; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .success-heading { font-family: var(--font-jd-display); font-size: clamp(26px,4cqw,34px); font-style: italic; font-weight: 500; color: var(--jd-heading); margin-bottom: 14px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-heading { font-family: var(--font-jd-display); font-size: clamp(24px,3.6cqw,30px); font-style: italic; font-weight: 500; color: #c0392b; margin-bottom: 14px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .confirmation-message,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .decline-message { font-family: var(--font-jd-body); font-size: 14px; line-height: 1.6; color: var(--jd-text); opacity: .85; margin-bottom: 20px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .confirmation-details { background: var(--jd-surface); border: 1px solid var(--jd-olive-border); border-radius: var(--jd-radius); padding: 22px 26px; display: flex; flex-direction: column; gap: 16px; text-align: left; margin: 0 auto 20px; max-width: 420px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .detail-item { display: flex; flex-direction: column; gap: 6px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .detail-item strong { font-family: var(--font-jd-body); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--jd-olive); font-weight: 500; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .names-list,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .events-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; font-family: var(--font-jd-body); font-size: 14px; color: var(--jd-text); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .dietary-text { font-family: var(--font-jd-body); font-size: 14px; color: var(--jd-text); }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .edit-button { display: inline-block; margin-top: 4px; font-family: var(--font-jd-body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--jd-heading); background: none; border: none; border-bottom: 1px solid var(--jd-sunset-border); padding-bottom: 3px; cursor: pointer; transition: color .3s, border-color .3s !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .edit-button:hover { color: var(--jd-sunset); border-color: var(--jd-sunset); }

@container (max-width: 600px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .rsvp-response-buttons { grid-template-columns: 1fr; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-group,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-rsvp .checkbox-group-grid { grid-template-columns: 1fr; }
}

/* ═══════════════ FOOTER ═══════════════ */
/* El cierre vuelve al material de la portada: seda bajo velo de champán, de modo
   que la invitación empieza y termina sobre la misma tela. La onda de Florentia se
   sustituye por la misma curva emplumada que usan las secciones protagonista. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer {
    position: relative;
    padding: clamp(56px, 7cqw, 88px) 24px clamp(34px, 4cqw, 50px);
    text-align: center;
    background-color: var(--jd-paper-feat);
    background-image:
        linear-gradient(rgba(var(--jd-veil-rgb),0.70), rgba(var(--jd-veil-rgb),0.76)),
        var(--jd-botanic-mobile);
    background-size: cover;
    background-position: center;
}
@container archive (min-width: 768px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer {
        background-image:
            linear-gradient(rgba(var(--jd-veil-rgb),0.70), rgba(var(--jd-veil-rgb),0.76)),
            var(--jd-botanic);
    }
}
/* Junta con el footer: fundido recto y corto (la guirnalda hace la transición) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer::before {
    content: ""; position: absolute; left: 0; right: 0; top: -1px;
    height: clamp(48px, 6cqw, 90px); z-index: 1; pointer-events: none;
    background: var(--jd-paper);
    -webkit-mask: linear-gradient(to bottom, #000, rgba(0,0,0,0));
            mask: linear-gradient(to bottom, #000, rgba(0,0,0,0));
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-inner { position: relative; z-index: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-inner { max-width: 780px; margin: 0 auto; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-seal { position: relative; width: clamp(96px, 15cqw, 128px); aspect-ratio: 1; margin: 0 auto 16px; }
/* Monograma del footer: más grande dentro de la corona */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-seal .jd-seal-initials {
    font-size: clamp(20px, 4cqw, 28px);
}
/* Nombres en Swarsh Daisy, como en la portada (la caligrafía queda solo en el &) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-names {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline;
    column-gap: 0.34em; row-gap: 0;
    font-family: var(--font-jd-name); font-style: normal;
    font-size: clamp(26px, 3.4cqw, 42px); line-height: 1.14;
    letter-spacing: 0.02em; color: var(--jd-heading);
    text-shadow: var(--jd-foil);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-names .jd-foot-name { white-space: nowrap; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-names .jd-foot-amp {
    font-family: var(--font-jd-script);
    font-size: 0.72em; line-height: 1;
    color: var(--jd-sunset);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-date {
    font-family: var(--font-jd-body); font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--jd-ink-gold); margin-top: 10px;   /* AA: el oro daba 2.7:1 sobre el velo de seda */
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-credit { font-family: var(--font-jd-body); font-size: 12px; color: var(--jd-text); opacity: 0.7; margin-top: 22px; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-link { color: var(--jd-ink-gold); text-decoration: none; border-bottom: 1px solid var(--jd-sunset-border); }   /* AA: heading daba 4.1 sobre el velo */

/* ═══════════════ RESPONSIVE ═══════════════ */
@container (max-width: 600px) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-dc { grid-template-columns: 1fr; max-width: 380px; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-sep { display: none; }
    /* Tarjetitas: en pantallas estrechas se encogen, pero NUNCA se pegan (aire mínimo 12px) */
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd { gap: clamp(12px, 3.4cqw, 20px); }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-cd-tag { width: clamp(58px, 17cqw, 84px); }
    /* Footer: nombres apilados (primero / & / segundo) cuando no hay ancho */
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .jd-footer-names { flex-direction: column; align-items: center; }
}


/* ══════════════ VIDEO ENVELOPE INTRO (.vei-*) ══════════════ */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage {
    position: fixed; inset: 0; z-index: 10000;
    overflow: hidden;
    font-family: 'Jost', sans-serif;
    background: #F5EFE4;   /* pinta antes de que llegue el primer frame */
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.vei-contained { position: absolute; z-index: 30; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-media { position: absolute; inset: 0; z-index: 0; }
/* La caja del video la fija layout() (left/top/width/height); sin JS aún, cover */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video {
    position: absolute; inset: 0; width: 100%; height: 100%;
    max-width: none;   /* el preflight de Tailwind (customizer) capa img,video a max-width:100% y aplastaba el video cuando el cover lo hace más ancho que el stage */
    object-fit: cover; object-position: center;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video[style*="width"] { object-fit: fill; }
/* Relleno tras el video cuando no cubre el marco: color plano del papel del borde.
   (Se probó el póster desenfocado: a 25px los pétalos quedaban como manchas y a
   70px el promedio de las flores salía más oscuro que el papel; el plano empalma.) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-backdrop { position: absolute; inset: 0; }
/* Bordes del video emplumados (5%) SOLO contra el relleno, por eje: el borde que
   coincide con la pantalla se queda nítido (al abrir, las flores llegan limpias) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x:not(.vei-pad-y) .vei-video,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x:not(.vei-pad-y) .vei-poster,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x:not(.vei-pad-y) .vei-static {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
            mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-y:not(.vei-pad-x) .vei-video,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-y:not(.vei-pad-x) .vei-poster,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-y:not(.vei-pad-x) .vei-static {
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 5%, #000 95%, transparent);
            mask-image: linear-gradient(to bottom, transparent, #000 5%, #000 95%, transparent);
}
/* Relleno en los dos ejes (escritorio con aire: el video 16:9 y la pantalla tienen
   casi la misma proporción): fundido en los cuatro bordes pero CORTO (3%), para que
   al abrir no se lea como viñeta */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x.vei-pad-y .vei-video,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x.vei-pad-y .vei-poster,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-fitted.vei-pad-x.vei-pad-y .vei-static {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent),
                        linear-gradient(to bottom, transparent, #000 3%, #000 97%, transparent);
            mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent),
                        linear-gradient(to bottom, transparent, #000 3%, #000 97%, transparent);
    -webkit-mask-composite: source-in;
            mask-composite: intersect;
}
/* iOS pinta un botón de play nativo sobre el video cuando bloquea el autoplay
   (Ahorro de Energía; Chrome iOS lo muestra, cae justo sobre el sello). El tap
   del sello es nuestro control: el del sistema se oculta. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video::-webkit-media-controls,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video::-webkit-media-controls-start-playback-button,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video::-webkit-media-controls-overlay-play-button {
    display: none !important;
    -webkit-appearance: none !important;
    opacity: 0 !important;
}
/* Micro-crossfade al entrar la apertura: amortigua cualquier reencuadre mínimo
   entre el loop y la apertura cuando vienen de herramientas distintas */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video-open { opacity: 0; transition: opacity .25s ease !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-video-open.is-live { opacity: 1; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-static { position: absolute; inset: 0; background-size: cover; background-position: center; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-static[style*="width"] { background-size: 100% 100%; }
/* Póster propio bajo los videos (mismo primer frame): da la cara cuando el
   autoplay está bloqueado y hay que esconder los <video> con su botón nativo */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-poster {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-poster[style*="width"] { background-size: 100% 100%; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-poster-only .vei-video { opacity: 0 !important; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-skip {
    position: absolute; top: clamp(16px, calc(var(--archive-vh, 1svh) * 3), 28px); right: clamp(16px, 3cqw, 28px); z-index: 5;
    background: rgba(255,253,248,0.55); border: 1px solid rgba(90, 74, 72, 0.38);
    color: #7A6663; font-family: 'Jost', sans-serif;
    font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
    padding: 7px 16px; border-radius: 999px; cursor: pointer;
    backdrop-filter: blur(4px); transition: background .25s ease, opacity .4s ease !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-skip:hover { background: rgba(90, 74, 72, 0.08); }


.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-seal {
    position: absolute; z-index: 4;
    border-radius: 50%; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    -webkit-tap-highlight-color: transparent;
    animation: veiSealPulse 2.8s ease-in-out infinite !important;
    transition: opacity .3s ease !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-seal:focus-visible { outline: 2px solid #7A6663; outline-offset: 4px; }
/* Etiqueta rectangular (sealMap con dw): la zona de tap es toda la etiqueta.
   Sin pulso de respiración: sobre una etiqueta cosida el latido se veía raro
   (el hint ya invita al tap); el pulso queda solo para sellos circulares. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-seal--rect { border-radius: 12px; animation: none !important; }
/* Zona de tap del nudo: invisible, solo captura el gesto */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-knot-tap { position: absolute; z-index: 4; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.is-opening .vei-knot-tap { pointer-events: none; }

/* Host del monograma bordado (threadtext): la librería fija la ALTURA del host al
   bloque de la palabra y lo dibuja con aire de descendentes abajo, así que el
   centrado va por transform (top 50% + -40%: -50% óptico corregido por ese aire),
   no por insets. Laterales 8% para no besar el pespunte. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-mono-thread { position: absolute; left: 8%; right: 8%; top: 50%; transform: translateY(-40%); pointer-events: none; }
@keyframes veiSealPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.045); } }

/* Monograma "grabado" en el lacre: tinta bronce con doble sombra de relieve.
   Tamaño = 38% del diámetro del sello (.vei-seal mide d x d px y es container). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-seal { container-type: size; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-monogram {
    font-family: var(--vei-mono-font, 'Cormorant Garamond', 'Playfair Display', serif);
    font-weight: 400;
    font-size: 22px;        /* fallback sin container queries */
    font-size: 32cqh;
    color: #6A5856;
    letter-spacing: 1px;
    text-shadow: 0.5px 0.9px 0.7px rgba(255,252,246,0.72), -0.6px -0.9px 1px rgba(50,38,35,0.5), 0 0 1.6px rgba(90,74,72,0.22);
    mix-blend-mode: multiply;
    line-height: 1;
    user-select: none;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-monogram i { font-size: .58em; opacity: .8; margin: 0 .06em; font-style: normal; }
/* El sello desktop tiene el borde perlado proporcionalmente más grueso: medallón interior menor */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage[data-variant='desktop'] .vei-monogram { font-size: 17px; font-size: 32cqh; }

.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-hint {
    position: absolute; bottom: clamp(5%, calc(var(--archive-vh, 1svh) * 7), 10%); left: 50%; transform: translateX(-50%); z-index: 4;
    margin: 0; text-align: center; width: 90%;
    font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
    color: #7A6663;
    animation: veiHintFade 2.6s ease-in-out 1.2s infinite !important;
    transition: opacity .45s ease !important;
}
@keyframes veiHintFade { 0%,100% { opacity: 0.55; } 50% { opacity: 1; } }
/* Píldora translúcida tras el hint (opt-in): legible sobre flores o detalle */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-hint--pill {
    /* Centrado por márgenes y no por left:50% + transform: a un absoluto con
       width:auto el left:50% le deja solo media pantalla y partía en 3 líneas */
    left: 0; right: 0; transform: none; margin: 0 auto;
    width: max-content; max-width: min(90%, 480px);
    padding: 8px 18px; border-radius: 999px;
    background: rgba(255,253,248,0.55); border: 1px solid rgba(90, 74, 72, 0.38);
    backdrop-filter: blur(4px);
}

/* Apertura: los overlays HTML se retiran. El monograma espera y se funde según la
   plantilla (Perle: con el destello inicial; Jardin: se queda mientras el centro de
   la corona sigue vacío). */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.is-opening .vei-seal {
    opacity: 0; animation: none !important; pointer-events: none;
    transition: opacity 900ms ease 2800ms !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage[data-variant='desktop'].is-opening .vei-seal {
    transition: opacity 900ms ease 2200ms !important;
}
/* El hint tiene una animación infinita sobre opacity (veiHintFade): hay que cortarla
   o gana siempre sobre el opacity:0 y el texto seguía a la vista durante la apertura */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.is-opening .vei-hint { animation: none !important; opacity: 0; pointer-events: none; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.is-opening .vei-skip { opacity: 0; pointer-events: none; }

/* Bloom final (fade sobre el tramo final del video de apertura) */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-bloom {
    position: absolute; inset: 0; z-index: 6; pointer-events: none;
    opacity: 0; background: radial-gradient(circle at 50% 52%, #FFFDF9 0%, #FBF5EE 45%, #F3E9E2 100%);
    transition: opacity .8s ease !important;
}
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-stage.vei-blooming .vei-bloom { opacity: 1; }

/* Salida del overlay completo */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-leave { transition: opacity .85s ease !important; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-leave-end { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-seal,.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-hint { animation: none !important; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-bloom { transition: opacity .2s ease !important; }
    .archive-sheet[data-archive="jardin"][data-archive-locale="ru"] .vei-leave { transition: opacity .25s ease !important; }
}

/* Allow longer localized labels to wrap within the original layout. */
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] { -webkit-text-size-adjust: 100%; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] [class$='cal-dow'] { letter-spacing: 0; }
.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] [class*='guest-names'],.archive-sheet[data-archive="jardin"][data-archive-locale="ru"] [class$='env-guests'] { overflow-wrap: anywhere; }
