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

        .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] {
            --color-primary: #A87F35;
            --color-secondary: #0C3A2D;
            --color-accent: #C9A24B;
            --color-background: #0A2E25;
            --color-text: #E7EFE6;
            --color-heading: #C9A24B;

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

        .archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"],.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] { scrollbar-width: none; -ms-overflow-style: none; }
            .archive-sheet[data-archive="florentia"][data-archive-locale="ru"]::-webkit-scrollbar,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"]::-webkit-scrollbar { display: none; width: 0; height: 0; }
        
        .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h1,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h2,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h3,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h4,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h5,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] h6 {
            font-family: var(--font-heading);
            color: var(--color-heading);
            line-height: 1.2;
        }

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

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

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

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

        /* Loading animation */
        .archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] [x-cloak] {
            display: none !important;
        }

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

        /* Base reveal states - elementos ocultos por defecto */
        .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-down,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-left,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-right,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-scale,.archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] .reveal-fade-up {
            transform: translateY(40px);
        }

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

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

        .archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] .reveal-fade-left {
            transform: translateX(40px);
        }

        .archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] .reveal-fade-right {
            transform: translateX(-40px);
        }

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

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

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

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

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

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

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

        .archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-down {
                transform: translateY(20px);
            }

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

            .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-up.reveal-visible,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-down.reveal-visible,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-left.reveal-visible,.archive-sheet[data-archive="florentia"][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="florentia"][data-archive-locale="ru"] .reveal-fade-up,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-down,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-left,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-fade-right,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .reveal-scale,.archive-sheet[data-archive="florentia"][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
   ══════════════════════════════════════════════════════════════ */

/* Sloop Script (self-host · Sloop Script Three, el corte más florido). */


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

    /* ── Tokens de paleta (de $colors) ── */
    --fl-sunset:       #A87F35;
    --fl-sunset-dim:   rgba(168,127,53,0.10);
    --fl-sunset-soft:  rgba(168,127,53,0.16);
    --fl-sunset-border:rgba(168,127,53,0.30);
    --fl-cream:        #0C3A2D;
    --fl-olive:        #C9A24B;
    --fl-olive-dim:    rgba(201,162,75,0.12);
    --fl-olive-soft:   rgba(201,162,75,0.20);
    --fl-olive-border: rgba(201,162,75,0.32);
    --fl-bg:           #0A2E25;
    --fl-text:         #E7EFE6;
    --fl-heading:      #C9A24B;
    --fl-head-soft:    rgba(201,162,75,0.14);
    /* Superficies (tokenizadas para soportar paletas claras y oscuras) */
    --fl-paper:        #0C3A2D;
    --fl-paper-feat:   #0F4435;
    --fl-card:         #103E30;
    --fl-surface:      #15493A;
    --fl-keyline:      rgba(201, 162, 75, 0.30);
    --fl-btn-hover:    #A87F35;
    --fl-on-accent:    #0A2E25;
    --fl-frame:        #143E31;
    --fl-ph-fill:      linear-gradient(160deg, #143E31 0%, #0C3024 100%);
    --fl-amp:          rgba(201,162,75,0.12);
    --fl-hero-bg:      radial-gradient(95% 60% at 50% -8%, rgba(0,123,93,0.30), transparent 60%), linear-gradient(165deg, #0C5642 0%, #0A3C30 60%, #0E5040 100%);
    --fl-hero-ink:     #E7EFE6;
    --fl-hero-heading: #C9A24B;
    --fl-hero-accent:  #C9A24B;
    --fl-hero-line:    rgba(201,162,75,0.42);

    /* ── Tokens estructurales (hardcoded) ── */
    --font-fl-display: 'Cormorant Garamond', 'Playfair Display', serif;
    --font-fl-name:    'Playfair Display', 'Cormorant Garamond', serif;  /* nombres del hero */
    --font-fl-script:  'Great Vibes', 'Great Vibes', cursive;     /* acento caligráfico */
    --font-fl-body:    'Jost', 'Montserrat', sans-serif;
    --fl-radius:       3px;
    --fl-maxw:         1080px;
    /* Onda (wave) usada como transición entre secciones */
    --fl-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");
    --fl-shadow:       0 24px 60px -28px rgba(61,46,32,0.45);
    --fl-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(168,127,53,0.16) 0%, transparent 46%),
        linear-gradient(180deg, #0C3A2D 0%, #0A2E25 15%, #0A2E25 66%, #0C3A2D 100%);
    background-color: #0A2E25;
    color: var(--fl-text);
    font-family: var(--font-fl-body);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.3px;
    overflow-x: hidden;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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="florentia"][data-archive-locale="ru"] .fl-wrap :where(h1, h2, h3) { margin: 0; font-weight: 400; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-wrap :where(p) { margin: 0; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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="florentia"][data-archive-locale="ru"] .fl-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="florentia"][data-archive-locale="ru"] .fl-wrap .fl-rise {
    opacity: 0;
    transform: translateY(28px);
    animation: flRise 1s cubic-bezier(.2,.7,.2,1) both !important;
    animation-delay: var(--d, 0s) !important;
}
@keyframes flRise { 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="florentia"][data-archive-locale="ru"].fl-intro-pending .fl-wrap .fl-rise { animation: none !important; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"].fl-intro-done .fl-wrap .fl-rise {
        animation: flRise 1s cubic-bezier(.2,.7,.2,1) both !important;
        animation-delay: var(--d, 0s) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-wrap .fl-rise { animation: none !important; opacity: 1; transform: none; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-arch-photo,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-embers span { animation: none !important; }
}

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-container {
    max-width: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-sec:has(.fl-gallery-host) .fl-container { padding-left: 12px; padding-right: 12px; }
}

/* ─────────── Secciones + transición tipo onda (wave) ─────────── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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 (.fl-wrap::after). */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-bg,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-cream { background: var(--fl-paper); }  /* papel crema cálido, uniforme en todo el cuerpo */

/* "Cinta": banda de imagen a ancho completo, muy horizontal, debajo de /guest */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ribbon {
    width: 100%;
    height: clamp(120px, 20cqw, 260px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* Sección protagonista en oliva (como la portada), para romper el ritmo del papel */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-olive {
    padding: clamp(104px, 14cqw, 168px) 0;  /* más aire: deja el contenido fuera de las curvas */
    background: var(--fl-paper-feat);  /* tono cálido (mismo del footer) para las secciones protagonista */
}
/* Transición suave papel ↔ oliva: el papel del cuerpo se cuela por arriba y por abajo de la
   sección oliva en curvas orgánicas asimétricas con filo difuminado (no bandas duras). */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-olive::before,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-olive::after {
    content: ""; position: absolute; left: 0; right: 0;
    height: clamp(72px, 11cqw, 150px); z-index: 1; pointer-events: none;
    background: var(--fl-paper);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-olive::before {
    top: -1px;
    -webkit-mask: radial-gradient(160% 100% at 58% -34%, #000 48%, rgba(0,0,0,0) 80%);
            mask: radial-gradient(160% 100% at 58% -34%, #000 48%, rgba(0,0,0,0) 80%);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-bg-olive::after {
    bottom: -1px;
    -webkit-mask: radial-gradient(160% 100% at 42% 134%, #000 48%, rgba(0,0,0,0) 80%);
            mask: radial-gradient(160% 100% at 42% 134%, #000 48%, rgba(0,0,0,0) 80%);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-container { z-index: 2; }

/* ─────────── Cabecera de sección ─────────── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-head { text-align: center; margin-bottom: clamp(44px, 6cqw, 70px); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-head-sun { display: block; margin: 0 auto 16px; color: var(--fl-sunset); opacity: 0.9; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-head-title {
    font-family: var(--font-fl-display);
    font-size: clamp(34px, 6cqw, 56px);
    font-style: italic;
    font-weight: 500;
    color: var(--fl-heading);
    line-height: 1.08;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-head-sub {
    font-family: var(--font-fl-body);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: var(--fl-olive);
    margin-top: 14px;
}
/* Separador ornamental: hairline que se desvanece hacia los lados + detalle central (hojita) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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="florentia"][data-archive-locale="ru"] .fl-divider-line { height: 1px; flex: 1; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-divider-line:first-child { background: linear-gradient(to right, transparent, var(--fl-olive-border)); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-divider-line:last-child  { background: linear-gradient(to left,  transparent, var(--fl-olive-border)); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-divider-mark {
    flex: none; width: 7px; height: 7px;
    transform: rotate(45deg);
    background: var(--fl-olive); opacity: 0.65;
}

/* ─────────── Divisor de laurel ─────────── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-laurel-div { display: block; margin: 0 auto; color: var(--fl-olive); opacity: 0.85; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-laurel-sm  { opacity: 0.7; }

/* ─────────── Sello de cera ─────────── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-seal-img { display: block; width: 100%; height: 100%; object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(61,46,32,0.35)); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-seal-initials {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-fl-display);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(15px, 2.2cqw, 22px);
    color: #FBE9D2;
    letter-spacing: 1px;
    text-shadow: 0 1px 2px rgba(80,30,10,0.55);
    padding-bottom: 4%;
}

/* ═══════════════ HERO — TRÍPTICO EDITORIAL (sin arco) ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero {
    position: relative;
    min-height: calc(var(--archive-vh, 1svh) * 100);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    gap: clamp(24px, calc(var(--archive-vh, 1svh) * 3.6), 52px);
    padding: clamp(38px, calc(var(--archive-vh, 1svh) * 5), 76px) clamp(20px, 4cqw, 64px);
    overflow: hidden; isolation: isolate;
    color: var(--fl-hero-ink);
    background: var(--fl-hero-bg);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-sky {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(60% 45% at 50% 16%, rgba(122,140,60,0.12), transparent 64%);
}
/* Transición hero → cuerpo: el papel sube hacia el oliva en una curva orgánica asimétrica,
   con el filo difuminado (máscara radial emplumada). No es una onda nítida → no se nota la
   división, solo un degradado suave de color con una curva sutil. */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero::before {
    content: ""; position: absolute; left: -3%; right: -3%; bottom: -1px;
    height: clamp(190px, 30cqw, 420px); z-index: 1; pointer-events: none;
    background: var(--fl-paper);
    -webkit-mask: radial-gradient(170% 135% at 46% 150%, #000 26%, rgba(0,0,0,0) 96%);
            mask: radial-gradient(170% 135% at 46% 150%, #000 26%, rgba(0,0,0,0) 96%);
}
/* Textura de papel */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    opacity: 0.4; mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");
    background-size: cover; background-repeat: no-repeat;
}

/* ── Bloques arriba / abajo ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-top,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-bottom {
    position: relative; z-index: 3;
    display: flex; flex-direction: column; align-items: center; width: 100%;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-eyebrow {
    font-family: var(--font-fl-name);
    font-size: clamp(11px, 1.3cqw, 14px); font-weight: 500;
    letter-spacing: 0.3em; text-transform: uppercase; color: var(--fl-hero-accent);
    margin-bottom: clamp(12px, calc(var(--archive-vh, 1svh) * 2), 24px);
    max-width: clamp(260px, 42cqw, 520px); line-height: 1.7;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-name {
    font-family: var(--font-fl-script); font-weight: 400; font-style: normal;
    font-size: clamp(52px, 7.2cqw, 150px); line-height: 0.9; color: var(--fl-hero-heading);
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
    margin: 0;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-bottom .fl-hero-name { margin-bottom: clamp(12px, calc(var(--archive-vh, 1svh) * 2), 24px); }

/* ── Galería escalonada ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-gallery {
    position: relative; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    gap: clamp(12px, 1.6cqw, 26px); width: 100%;
}
/* Laureles del hero: salen desde las esquinas (sup-der e inf-izq) con animación de entrada */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel {
    position: absolute; z-index: 1; pointer-events: none;
    width: clamp(180px, 24cqw, 380px); aspect-ratio: 5 / 6;
    opacity: 0;
    background: var(--fl-olive);
    -webkit-mask: var(--offline-mask-f4b42c41024d) center / contain no-repeat;
            mask: var(--offline-mask-f4b42c41024d) center / contain no-repeat;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel-tr { top: -3%; right: -3%; transform: rotate(180deg); animation: flLaurelTR 1.4s cubic-bezier(.2,.7,.2,1) .35s both !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel-bl { bottom: -3%; left: -3%; animation: flLaurelBL 1.4s cubic-bezier(.2,.7,.2,1) .5s both !important; }
@keyframes flLaurelTR {
    from { opacity: 0; transform: translate(70px, -70px) rotate(180deg); }
    to   { opacity: 0.55; transform: translate(0, 0) rotate(180deg); }
}
@keyframes flLaurelBL {
    from { opacity: 0; transform: translate(-70px, 70px); }
    to   { opacity: 0.55; transform: translate(0, 0); }
}
/* Coordinación con el intro: retiene mientras el sobre está abierto, dispara al cerrarse */
@media (prefers-reduced-motion: no-preference) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"].fl-intro-pending .fl-hero-laurel { animation: none !important; opacity: 0; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"].fl-intro-done .fl-hero-laurel-tr { animation: flLaurelTR 1.4s cubic-bezier(.2,.7,.2,1) .35s both !important; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"].fl-intro-done .fl-hero-laurel-bl { animation: flLaurelBL 1.4s cubic-bezier(.2,.7,.2,1) .5s both !important; }
}
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel { animation: none !important; opacity: 0.5; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel-tr { transform: rotate(180deg); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel-bl { transform: none; }
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph {
    position: relative; overflow: hidden; flex: 0 0 auto;
    background: var(--fl-frame);
    border: clamp(5px, 0.55cqw, 9px) solid var(--fl-frame);
    box-shadow: 0 28px 54px -20px rgba(60,50,28,0.5), 0 5px 14px rgba(60,50,28,0.16);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-c { width: clamp(200px, 23cqw, 380px); aspect-ratio: 3 / 4; max-height: calc(var(--archive-vh, 1svh) * 50); z-index: 2; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-l,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-r { width: clamp(140px, 16cqw, 270px); aspect-ratio: 3 / 4.1; max-height: calc(var(--archive-vh, 1svh) * 44); z-index: 1; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-l { transform: translateY(-13%); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-r { transform: translateY(13%); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-img {
    position: absolute; inset: 0; background-size: cover; background-position: center;
    transform: scale(1.03); animation: flKen 24s ease-in-out infinite alternate !important;
}
@keyframes flKen { from { transform: scale(1.03); } to { transform: scale(1.13); } }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-fill {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px;
    background: var(--fl-ph-fill);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-leaf {
    width: 26px; height: 42px; opacity: 0.5; background-color: var(--fl-olive);
    -webkit-mask: var(--offline-mask-b58b9f0729e4) center / contain no-repeat;
            mask: var(--offline-mask-b58b9f0729e4) center / contain no-repeat;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-txt {
    font-family: var(--font-fl-body); font-size: 9.5px; letter-spacing: 3px;
    text-transform: uppercase; color: rgba(60,69,36,0.6);
}

/* ── Fecha · lugar · CTA ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-meta { display: flex; align-items: center; gap: 16px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hm-line { display: block; width: clamp(28px, 4cqw, 56px); height: 1px; background: var(--fl-hero-line); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hm-text {
    font-family: var(--font-fl-body);
    font-size: clamp(13px, 1.4cqw, 15px); letter-spacing: 3px; text-transform: uppercase;
    color: var(--fl-hero-ink);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-place {
    font-family: var(--font-fl-display); font-style: italic;
    font-size: clamp(17px, 1.8cqw, 22px); color: var(--fl-hero-accent); margin-top: 12px;
}
/* Indicador de scroll: fijo al borde inferior del hero (fuera del flujo, para no descentrar el contenido) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-scroll {
    position: absolute; left: 50%; bottom: clamp(14px, calc(var(--archive-vh, 1svh) * 2.4), 28px); transform: translateX(-50%);
    z-index: 3;
    background: none; border: 0; padding: 8px; cursor: pointer;
    display: inline-flex; align-items: flex-start; justify-content: center;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-scroll-track {
    position: relative; display: block; width: 1px; height: 58px;
    background: linear-gradient(var(--fl-hero-line), rgba(0,0,0,0));
    overflow: hidden;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-scroll-dot {
    position: absolute; left: -1.5px; top: 0;
    width: 4px; height: 4px; border-radius: 50%;
    background: var(--fl-hero-accent);
    animation: flScrollDot 2s ease-in-out infinite !important;
}
@keyframes flScrollDot {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateY(52px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-scroll-dot { animation: none !important; top: 46%; opacity: .85; }
}

/* Responsive */
@container (max-width: 880px) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero { padding: clamp(34px, calc(var(--archive-vh, 1svh) * 4.5), 60px) 14px; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-name { font-size: clamp(46px, 13.5cqw, 100px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-laurel { width: clamp(140px, 38cqw, 240px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-c { width: min(46cqw, 270px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-l,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ph-r { width: min(30cqw, 178px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-hero-gallery { gap: clamp(14px, 4cqw, 26px); }
}

/* ═══════════════ COUNTDOWN ═══════════════ */
/* Sección papel limpia: sin onda ni nube sunset; solo textura global + mucho aire. */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-sec::before,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-sec::after { display: none; }


.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd { display: flex; align-items: stretch; justify-content: center; gap: clamp(14px, 5cqw, 48px); flex-wrap: nowrap; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-unit { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: clamp(52px, 14cqw, 92px); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-num {
    font-family: var(--font-fl-display);
    font-size: clamp(46px, 11cqw, 92px);
    font-weight: 500;
    line-height: 0.95;
    color: var(--fl-heading);
    font-variant-numeric: tabular-nums;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-lbl {
    font-family: var(--font-fl-body);
    font-size: 10.5px; font-weight: 400;
    letter-spacing: 0.32em; text-transform: uppercase;
    color: var(--fl-olive);
    margin-top: 16px;
    padding-left: 0.32em;
}
/* Separador = hairline vertical fino (sin cajitas, sin dos puntos), desvanecido en extremos */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-sep {
    align-self: center;
    width: 1px;
    height: clamp(44px, 9cqw, 76px);
    background: var(--fl-olive-border);
    -webkit-mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent);
            mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-caption {
    text-align: center;
    margin-top: clamp(28px, 4.5cqw, 48px);
    font-family: var(--font-fl-script);
    font-size: clamp(34px, 5cqw, 58px);
    line-height: 1;
    color: var(--fl-heading);
}

/* ═══════════════ INVITACIÓN DEDICADA ═══════════════ */
/* Invitación dedicada: marco passe-partout + nombre del invitado en Sloop (momento de reconocimiento) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dedicated {
    position: relative;
    max-width: 620px; margin: 0 auto; text-align: center;
    padding: clamp(56px, 7.5cqw, 88px) clamp(34px, 6cqw, 70px);
    background: var(--fl-card);                 /* marfil más claro que el papel del cuerpo */
    border: 1px solid var(--fl-olive-border);
    box-shadow: 0 34px 70px -36px rgba(95,75,40,0.22), 0 2px 10px -6px rgba(95,75,40,0.10);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dedicated::before {  /* doble filete interior */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--fl-keyline);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dedicated > * { position: relative; z-index: 1; }
/* Laurel de olivo muy tenue en la base (par espejado), como marca de agua de papelería */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-laurel {
    position: absolute; z-index: 0; pointer-events: none;
    bottom: clamp(14px, 3cqw, 30px);
    width: clamp(96px, 16cqw, 158px); aspect-ratio: 5 / 6;
    opacity: 0.10;
    background: var(--fl-olive);
    -webkit-mask: var(--offline-mask-f4b42c41024d) bottom center / contain no-repeat;
            mask: var(--offline-mask-f4b42c41024d) bottom center / contain no-repeat;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-laurel-l { left: 50%;  transform: translateX(-108%) scaleX(-1); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-laurel-r { right: 50%; transform: translateX(108%); }
/* Sello de cera sobre el filete superior */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-seal {
    position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
    width: clamp(58px, 9cqw, 78px); aspect-ratio: 1; z-index: 2;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-eyebrow {
    font-family: var(--font-fl-name);
    font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase;
    color: var(--fl-olive);
    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;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-names { display: flex; flex-direction: column; align-items: center; gap: 0; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-name {
    font-family: var(--font-fl-script);
    /* 1.35: la caligrafía tiene ascendentes/descendentes muy largos; con menos
       interlínea los trazos se solapan en cuanto el nombre ocupa 2+ líneas */
    font-size: clamp(46px, 7.4cqw, 92px); line-height: 1.35;
    color: var(--fl-heading);
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
/* Nombres largos (varios invitados o tratamientos extensos): cuerpo menor
   para no estirar la sección; hereda la interlínea 1.35 de la base */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-name--compact { font-size: clamp(38px, 5cqw, 62px); }
/* Separadores entre nombres apilados. Con 2 invitados (pareja, el caso
   común) va un "&" en caligrafía; con 3+ una hairline como .fl-ded-rule
   en miniatura, para no leerse como cadena "A & B & C" */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-amp {
    font-family: var(--font-fl-script);
    font-size: clamp(24px, 3.4cqw, 42px); line-height: 1;
    color: var(--fl-sunset);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-sep {
    display: block; width: clamp(20px, 2.6cqw, 30px); height: 1px;
    background: var(--fl-sunset-border);
    margin: clamp(8px, 1.2cqw, 14px) auto;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-meta {
    font-family: var(--font-fl-name);
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--fl-olive); margin-top: 16px;
}
/* Cupos (p. ej. "4 personas" / "+3 acompañantes"): dato importante → etiqueta con número realzado */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-count {
    display: inline-flex; align-items: baseline; gap: 8px;
    margin: 18px auto 0; padding: 8px 18px;
    background: var(--fl-olive-dim);
    border: 1px solid var(--fl-olive-border);
    border-radius: var(--fl-radius);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-count-n {
    font-family: var(--font-fl-display); font-style: italic; font-weight: 600;
    font-size: clamp(22px, 3cqw, 28px); line-height: 1; color: var(--fl-heading);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-count-l {
    font-family: var(--font-fl-name); font-weight: 500;
    font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fl-olive);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-rule { display: block; width: 56px; height: 1px; background: var(--fl-olive-border); margin: clamp(22px, calc(var(--archive-vh, 1svh) * 3), 32px) auto; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-msg {
    font-family: var(--font-fl-display); font-style: italic;
    font-size: clamp(17px, 2.2cqw, 22px); line-height: 1.6;
    color: var(--fl-text); max-width: 32ch; margin: 0 auto;
}
/* Esta sección no necesita el "even glow" (ya no hay glows, pero por si acaso) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-ded-sec::after { display: none; }

/* ═══════════════ ITINERARIO ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-row {
    display: grid;
    grid-template-columns: clamp(96px, 22cqw, 150px) 1fr;
    gap: clamp(18px, 4cqw, 40px);
    align-items: start;
    padding: clamp(38px, 5.5cqw, 62px) 0;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-row + .fl-tl-row { border-top: 1px solid var(--fl-olive-border); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-time { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-hour {
    font-family: var(--font-fl-display);
    font-size: clamp(26px, 4.4cqw, 40px);
    font-weight: 500; font-style: italic;
    color: var(--fl-sunset); line-height: 1;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-icon { display: block; color: var(--fl-olive); margin-bottom: 12px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-label {
    font-family: var(--font-fl-body);
    font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--fl-olive); margin-bottom: 8px;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-venue { font-family: var(--font-fl-display); font-size: clamp(22px, 3.4cqw, 32px); color: var(--fl-heading); line-height: 1.15; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-addr { font-family: var(--font-fl-body); font-size: 14px; color: var(--fl-text); opacity: 0.8; margin-top: 6px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-map {
    display: inline-block; margin-top: 16px;
    font-family: var(--font-fl-body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    text-decoration: none; color: var(--fl-heading);
    padding-bottom: 3px; border-bottom: 1px solid var(--fl-sunset-border);
    transition: color .3s ease, border-color .3s ease !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-map:hover { color: var(--fl-sunset); border-color: var(--fl-sunset); }

/* ═══════════════ 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="florentia"][data-archive-locale="ru"] .fl-gallery-host {
    position: relative;
    max-width: 1100px; margin: 0 auto;
    --gallery-primary: var(--fl-olive);
    --gallery-accent:  var(--fl-olive);
    --gallery-text:    var(--fl-text);
    --gallery-heading: var(--fl-heading);
    --gallery-font-script: var(--font-fl-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 --fl-text claro de los temas joya quedaba invisible). Sobreescribible por
       paleta vía --fl-polaroid-ink si alguna quisiera otro tono. */
    --gallery-polaroid-text: var(--fl-polaroid-ink, #34302a);
}

/* ═══════════════ DRESS CODE ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 3cqw, 32px); max-width: 760px; margin: 0 auto; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc-card {
    position: relative;
    text-align: center;
    padding: clamp(38px, 4.5cqw, 56px) clamp(24px, 3cqw, 36px);
    background: var(--fl-card);
    border: 1px solid var(--fl-olive-border);
    border-radius: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-dc-card::before {  /* doble filete interior (como la tarjeta dedicada) */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--fl-keyline);
}
/* Rol = etiqueta pequeña (solo clasifica) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc-name {
    font-family: var(--font-fl-name); font-weight: 500;
    font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--fl-olive); margin-bottom: clamp(14px, calc(var(--archive-vh, 1svh) * 2), 20px);
}
/* Código de vestimenta = protagonista (lo que el invitado debe saber) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc-code { font-family: var(--font-fl-display); font-style: italic; font-size: clamp(30px, 4.4cqw, 44px); color: var(--fl-heading); line-height: 1.12; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc .fl-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="florentia"][data-archive-locale="ru"] .fl-dc-notes { font-family: var(--font-fl-body); font-size: 13.5px; color: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-gift {
    position: relative;
    max-width: 600px; margin: 0 auto; text-align: center;
    padding: clamp(54px, 7cqw, 84px) clamp(34px, 6cqw, 70px);
    background: var(--fl-card);
    border: 1px solid var(--fl-olive-border);
    border-radius: var(--fl-radius);
    box-shadow: 0 34px 70px -36px rgba(95,75,40,0.22), 0 2px 10px -6px rgba(95,75,40,0.10);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift::before {  /* doble filete interior */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--fl-keyline);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift > * { position: relative; z-index: 1; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift .fl-ded-laurel { position: absolute; z-index: 0; opacity: 0.16; }
/* Más aire en la sección de regalos, sobre todo en la parte inferior */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] #gifts { padding-top: clamp(112px, 15cqw, 184px); padding-bottom: clamp(144px, 19cqw, 224px); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-icon { display: block; color: var(--fl-olive); margin-bottom: clamp(16px, calc(var(--archive-vh, 1svh) * 2.4), 24px); line-height: 0; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-icon svg { display: inline-block; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-title { font-family: var(--font-fl-display); font-style: italic; font-size: clamp(28px, 4.4cqw, 42px); color: var(--fl-heading); margin-bottom: 18px; text-shadow: 0 2px 6px rgba(0,0,0,0.4); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-text { font-family: var(--font-fl-display); font-size: clamp(17px, 2.4cqw, 21px); line-height: 1.6; color: var(--fl-text); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-list { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-direction: column; gap: 12px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-list li {
    font-family: var(--font-fl-body); font-size: 15px; color: var(--fl-text);
    padding-bottom: 12px; border-bottom: 1px solid var(--fl-olive-dim);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-gift-list li:last-child { border-bottom: none; }

/* ═══════════════ LOGÍSTICA ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 3cqw, 28px); max-width: 900px; margin: 0 auto; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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 móvil siga ganando. */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info:where(:has(> :nth-child(4)), :not(:has(.fl-info-card--full)):has(> :nth-child(3))) { grid-template-columns: repeat(3, 1fr); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info:not(:has(.fl-info-card--full)) .fl-info-card:only-child {
    grid-column: 1 / -1;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info:has(.fl-info-card--full) .fl-info-card:not(.fl-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="florentia"][data-archive-locale="ru"] .fl-info { grid-template-columns: 1fr; } }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info-card {
    position: relative;
    text-align: center; padding: clamp(34px, 4cqw, 48px) clamp(22px, 3cqw, 30px);
    background: var(--fl-card);
    border: 1px solid var(--fl-olive-border);
    border-radius: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-info-card::before {  /* doble filete interior */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--fl-keyline);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info-icon { display: block; color: var(--fl-olive); margin-bottom: 14px; line-height: 0; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info-icon svg { display: inline-block; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info-title { font-family: var(--font-fl-display); font-style: italic; font-size: clamp(22px, 3cqw, 28px); color: var(--fl-heading); margin-bottom: 12px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-info-text { font-family: var(--font-fl-body); font-size: 14.5px; color: var(--fl-text); opacity: 0.85; }

/* ═══════════════ RSVP ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp {
    position: relative;
    max-width: 600px; margin: 0 auto;
    padding: clamp(60px, 7cqw, 80px) clamp(28px, 5cqw, 56px) clamp(40px, 5cqw, 56px);
    background: var(--fl-card);
    border: 1px solid var(--fl-olive-border);
    border-radius: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-rsvp::before {  /* doble filete interior (como las demás tarjetas) */
    content: ""; position: absolute; inset: 7px; pointer-events: none;
    border: 1px solid var(--fl-keyline);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp-intro { font-family: var(--font-fl-display); font-size: clamp(18px, 2.6cqw, 23px); color: var(--fl-text); line-height: 1.55; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp-intro strong { color: var(--fl-heading); font-weight: 500; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp-deadline {
    font-family: var(--font-fl-body); font-size: clamp(14px, 1.9cqw, 16.5px); letter-spacing: 0.5px;
    color: var(--fl-sunset); margin-top: 18px; margin-bottom: 30px; line-height: 1.5;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp-empty {
    margin-top: 26px; padding: 28px;
    border: 1px dashed var(--fl-olive-border); border-radius: var(--fl-radius);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp-empty p { font-family: var(--font-fl-body); font-size: 14px; color: var(--fl-text); opacity: 0.8; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp :is(form, .rsvp-form) { margin-top: 28px; }

/* ── Formulario RSVP: estiliza el componente compartido public.rsvp-form ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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="florentia"][data-archive-locale="ru"] .fl-rsvp .rsvp-form-container { padding: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; }

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

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

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

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .number-input-wrapper { display: flex; align-items: center; gap: 16px; justify-content: center; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .count-button { width: 38px; height: 38px; border-radius: 50% !important; background: var(--fl-olive) !important; color: var(--fl-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="florentia"][data-archive-locale="ru"] .fl-rsvp .count-button:hover:not(:disabled) { background: var(--fl-btn-hover) !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .count-button:disabled { opacity: .3; cursor: not-allowed; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .count-input { width: 64px; text-align: center; font-family: var(--font-fl-display) !important; font-size: 30px; font-style: italic; background: var(--fl-surface) !important; border: 1px solid var(--fl-olive-border) !important; border-radius: var(--fl-radius) !important; padding: 4px; color: var(--fl-heading) !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .helper-text { display: block; text-align: center; font-size: 13px; color: var(--fl-text) !important; opacity: 0.55; margin-top: 8px; letter-spacing: 1px; font-family: var(--font-fl-body); }

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

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-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(--fl-radius) !important; margin-top: 20px; text-align: left; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .decline-icon-small { flex-shrink: 0; color: #c0392b; margin-top: 2px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .decline-info-text { flex: 1; font-size: 14px; line-height: 1.6; color: var(--fl-text) !important; margin: 0; font-family: var(--font-fl-body); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .decline-info-text strong { color: #c0392b !important; }

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .submit-button { width: 100%; padding: 16px 28px; background: var(--fl-olive) !important; color: var(--fl-on-accent) !important; border: none !important; border-radius: var(--fl-radius) !important; font-family: var(--font-fl-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="florentia"][data-archive-locale="ru"] .fl-rsvp .submit-button:hover:not(:disabled) { background: var(--fl-btn-hover) !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .submit-button:disabled { opacity: .4; cursor: not-allowed; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-rsvp .error-message { display: block; margin-top: 6px; font-size: 14px; color: #c0392b; font-family: var(--font-fl-body); }

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

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

/* ═══════════════ FOOTER ═══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer {
    position: relative;
    background: #0B3429;
    padding: clamp(48px, 6cqw, 76px) 24px clamp(34px, 4cqw, 50px);
    text-align: center;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer::before {
    content: ""; position: absolute; left: 0; right: 0; bottom: 100%;
    height: clamp(38px, 5.5cqw, 84px);
    background: #0B3429;
    -webkit-mask: var(--fl-wave-mask) bottom / 100% 100% no-repeat;
            mask: var(--fl-wave-mask) bottom / 100% 100% no-repeat;
    pointer-events: none;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(ellipse 95% 75% at 50% 125%, var(--fl-olive-soft), transparent 72%);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-inner { position: relative; z-index: 1; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-inner { max-width: 780px; margin: 0 auto; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-seal { position: relative; width: clamp(78px, 12cqw, 102px); aspect-ratio: 1; margin: 0 auto 16px; }
/* Monograma del footer: mismo color crema del intro */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-seal .fl-seal-initials {
    font-family: var(--font-fl-name);
    font-weight: 600; font-style: italic;
    font-size: clamp(22px, 4.4cqw, 31px); letter-spacing: 1px;
    color: #FBE9D2;
    text-shadow: 0 1px 2px rgba(80,30,10,0.6);
    padding-bottom: 5%;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-names {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline;
    column-gap: 0.3em; row-gap: 0;
    font-family: var(--font-fl-script); font-style: normal;
    font-size: clamp(30px, 4cqw, 46px); line-height: 1.1; color: var(--fl-heading);
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-names .fl-foot-name { white-space: nowrap; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-names .fl-foot-amp { color: var(--fl-sunset); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-date {
    font-family: var(--font-fl-body); font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--fl-olive); margin-top: 10px;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-credit { font-family: var(--font-fl-body); font-size: 12px; color: var(--fl-text); opacity: 0.7; margin-top: 22px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-link { color: var(--fl-heading); text-decoration: none; border-bottom: 1px solid var(--fl-sunset-border); }

/* ═══════════════ RESPONSIVE ═══════════════ */
@container (max-width: 600px) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-dc { grid-template-columns: 1fr; max-width: 380px; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-sep { display: none; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd { gap: 4px; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-cd-unit { min-width: 0; flex: 1; }
    /* Timeline en móvil: apilado y centrado para alinear con la cabecera */
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-row { grid-template-columns: 1fr; gap: 4px; justify-items: center; text-align: center; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-time { flex-direction: row; align-items: baseline; justify-content: center; text-align: center; margin-bottom: 10px; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-map { margin-left: auto; margin-right: auto; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-tl-icon { margin-left: auto; margin-right: auto; }
    /* Footer: nombres apilados (primero / & / segundo) cuando no hay ancho */
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-footer-names { flex-direction: column; align-items: center; }
}


/* ══════════════ ENVELOPE INTRO (.fl-env-*) ══════════════ */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage {
    position: fixed; inset: 0; z-index: 10000; container-type: inline-size;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: clamp(20px, calc(var(--archive-vh, 1svh) * 4), 40px);
    padding: clamp(28px, calc(var(--archive-vh, 1svh) * 6), 64px) 20px;
    overflow: hidden;
    font-family: 'Jost', sans-serif;
}
/* En el customizer: contenida dentro del marco del dispositivo (no overlay de viewport) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.fl-env-contained { position: absolute; z-index: 30; }
/* Fondo ambiente cálido oscuro + grano de papel */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-ambient {
    position: absolute; inset: 0; z-index: -2;
    background: radial-gradient(95% 60% at 50% -8%, rgba(0,123,93,0.28), transparent 58%), radial-gradient(80% 50% at 50% 110%, rgba(0,60,48,0.45), transparent 62%), linear-gradient(165deg, #0C5642 0%, #0A3C30 55%, #082E25 100%);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-ambient::after {
    content: ""; position: absolute; inset: 0; opacity: 0.4; 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='e'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23e)'/%3E%3C/svg%3E");
    background-size: 300px 300px;
}

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-skip {
    position: absolute; top: clamp(16px, calc(var(--archive-vh, 1svh) * 3), 28px); right: clamp(16px, 3cqw, 28px); z-index: 5;
    background: transparent; border: 1px solid rgba(60,69,36,0.38);
    color: #CFE0CC; font-family: 'Jost', sans-serif; font-size: 11px;
    letter-spacing: 2px; text-transform: uppercase; padding: 8px 18px;
    border-radius: 999px; cursor: pointer; transition: background .3s, border-color .3s !important;
    animation: flEnvIn .6s ease .85s backwards !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-skip:hover { background: rgba(60,69,36,0.08); border-color: #CFE0CC; }

.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-title {
    font-family: 'Great Vibes', 'Great Vibes', cursive;
    font-size: clamp(40px, 6cqw, 64px); line-height: 1;
    color: #C9A24B; text-align: center;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    transition: opacity .6s ease, transform .6s ease !important;
    animation: flEnvIn .85s cubic-bezier(.2,.7,.2,1) .15s backwards !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-title i { font-style: normal; color: #A87F35; }

/* Entrada escalonada de los elementos al cargar */
@keyframes flEnvIn { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }

/* ── Área del sobre (centrada) ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-area {
    position: relative;
    display: grid; place-items: center;
    width: 100%;
}

/* Laurel de olivo que emerge desde detrás del sobre */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-laurel {
    position: absolute; z-index: 0; pointer-events: none;
    width: clamp(150px, 23cqw, 300px); height: clamp(250px, 36cqw, 460px);
    background-color: #C9A24B; opacity: 0.55;
    -webkit-mask: var(--offline-mask-f4b42c41024d) bottom center / contain no-repeat;
            mask: var(--offline-mask-f4b42c41024d) bottom center / contain no-repeat;
    transform-origin: bottom center;
    animation: flLaurelIn 1.1s cubic-bezier(.2,.7,.2,1) .55s backwards !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-laurel-l { left: 50%;  bottom: -20%; --tx: -90%; --r: -26deg; --sx: -1; transform: translateX(var(--tx)) rotate(var(--r)) scaleX(var(--sx)); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-laurel-r { right: 50%; bottom: -10%; --tx: 90%;  --r: 26deg;  --sx: 1;  transform: translateX(var(--tx)) rotate(var(--r)) scaleX(var(--sx)); }
@keyframes flLaurelIn {
    from { opacity: 0; transform: translateX(var(--tx)) rotate(var(--r)) scaleX(var(--sx)) scale(.5); }
    to   { opacity: 0.5; transform: translateX(var(--tx)) rotate(var(--r)) scaleX(var(--sx)) scale(1); }
}

/* Sobre cerrado (foto real) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env {
    position: relative; z-index: 2;
    width: clamp(300px, 84cqw, 450px);
    aspect-ratio: 1366 / 768;
    cursor: pointer;
    transition: opacity .55s ease, transform .7s cubic-bezier(.2,.7,.2,1) !important;
    animation: flEnvIn 1s cubic-bezier(.2,.7,.2,1) .35s backwards !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-closed {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 26px 36px rgba(0,0,0,0.55));
}

/* Sobre abierto (foto real) — centrado en el área, oculto hasta abrir */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-open {
    position: absolute; left: 50%; top: 50%; z-index: 1;
    transform: translate(-50%, -48%) scale(0.96);
    max-height: calc(var(--archive-vh, 1svh) * 80); width: auto; max-width: 92cqw;
    opacity: 0;
    filter: drop-shadow(0 30px 44px rgba(0,0,0,0.6));
    transition: opacity .7s ease .2s, transform .9s cubic-bezier(.2,.7,.2,1) .2s !important;
    pointer-events: none;
}

/* Tarjeta interior (sube al abrir) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card {
    position: absolute; left: 50%; top: 50%; z-index: 3;
    width: 64%; max-width: 300px; aspect-ratio: 7 / 5.4;
    transform: translate(-50%, -34%) scale(0.9);
    opacity: 0; pointer-events: none;
    padding: clamp(14px, 2.4cqw, 24px);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(8px, 1.4cqw, 13px);
    background: linear-gradient(165deg, #FFFDF7 0%, #FBEEDA 55%, #F6E6CC 100%);
    border-radius: 2px;
    box-shadow:
        0 24px 48px -14px rgba(0,0,0,0.45),
        0 5px 12px rgba(0,0,0,0.2),
        inset 0 1px 0 rgba(255,255,255,0.8);
    overflow: hidden;
    transition: transform 1s cubic-bezier(.2,.7,.2,1) .55s, opacity .55s ease .55s !important;
}
/* textura de papel del naipe */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card::before {
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    opacity:0.5; mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='cp'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cp)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
}
/* doble filete interior (papelería fina) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card::after {
    content:""; position:absolute; inset:7px; z-index:1; pointer-events:none;
    border: 1px solid rgba(142,58,29,0.22);
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card > * { position: relative; z-index: 2; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card-mono {
    font-family: 'Playfair Display', serif; font-weight: 600;
    font-size: clamp(28px, 4.6cqw, 44px); color: #C9A24B; line-height: 1;
    display: flex; align-items: center; gap: 8px;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card-mono i { font-family: 'Great Vibes','Great Vibes',cursive; font-style: normal; color: #A87F35; font-size: 0.82em; }
/* Ornamento: rama real (flor-5.png) en horizontal, coloreada en oliva con mask */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card-orn { display: flex; align-items: center; justify-content: center; gap: 2px; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-orn { position: relative; width: 54px; height: 24px; display: block; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-orn-leaf {
    position: absolute; left: 50%; top: 50%;
    width: 28px; height: 52px; opacity: 0.9;
    background-color: #C9A24B;
    -webkit-mask: var(--offline-mask-b58b9f0729e4) center / contain no-repeat;
            mask: var(--offline-mask-b58b9f0729e4) center / contain no-repeat;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-orn-l { transform: translate(-50%, -50%) rotate(90deg); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-orn-r { transform: translate(-50%, -50%) rotate(-90deg) scaleX(-1); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card-text {
    font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 4px;
    text-transform: uppercase; color: #A87F35;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-card-date {
    font-family: 'Playfair Display', serif; font-style: italic;
    font-size: clamp(11px, 1.6cqw, 14px); color: rgba(61,46,32,0.72); letter-spacing: 0.4px;
}

/* Sello de cera (sobre la punta de la solapa) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal {
    position: absolute; left: 50%; top: 60%; z-index: 4;
    width: clamp(64px, 17%, 96px); aspect-ratio: 1;
    transform: translate(-50%, -50%);
    transition: transform .65s cubic-bezier(.4,0,.2,1), opacity .65s ease !important;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,0.4));
    animation: flSealPulse 2.6s ease-in-out infinite !important;
}
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal-initials {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif; font-weight: 600; font-style: italic;
    font-size: clamp(15px, 4cqw, 22px); color: #FBE9D2; letter-spacing: 1px;
    text-shadow: 0 1px 2px rgba(80,30,10,0.6); padding-bottom: 4%;
}
@keyframes flSealPulse { 0%,100% { transform: translate(-50%,-50%) scale(1); } 50% { transform: translate(-50%,-50%) scale(1.05); } }

/* Pie: hint */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-foot { text-align: center; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-hint {
    font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
    color: #CFE0CC; margin: 0; text-align: center;
    transition: opacity .5s ease !important;
    animation: flEnvIn .8s cubic-bezier(.2,.7,.2,1) .6s backwards, flHintFade 2.6s ease-in-out 1.5s infinite !important;
}
@keyframes flHintFade { 0%,100% { opacity: 0.55; } 50% { opacity: 1; } }

/* Resplandor que se funde a blanco desde el sobre y da paso a la invitación */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-bloom {
    position: absolute; inset: 0; z-index: 50; pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle at 50% 52%, #0F5C47 0%, #0A3C30 55%, #082E25 100%);
    transition: opacity .95s ease .05s !important;
}

/* ── Estado: abriendo ── */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-closed { opacity: 0; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env { transform: translateY(6px); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-open { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-seal { transform: translate(-50%, -240%) scale(0.5) rotate(-12deg); opacity: 0; animation: none !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-bloom { opacity: 0.9; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-title,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-hint { opacity: 0; }

/* Salida (fade del overlay completo) */
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-leave { transition: opacity .9s ease !important; }
.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-leave-end { opacity: 0; }

/* Reduce motion: sin transforms, entrada directa */
@media (prefers-reduced-motion: reduce) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-hint,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-title,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-skip,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-laurel { animation: none !important; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-closed,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-open,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal,.archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-bloom { transition: opacity .2s ease !important; }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-open { transform: translate(-50%, -50%); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-stage.is-opening .fl-env-bloom { opacity: 1; transition: none !important; }
}

@container (max-width: 600px) {
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-title { font-size: clamp(34px, 11cqw, 52px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-open { max-height: calc(var(--archive-vh, 1svh) * 72); }
    /* Solo en el demo preview (/welcome, /templates): sobre más pequeño en mobile */
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-preview .fl-env { width: clamp(220px, 68cqw, 330px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-preview .fl-env-open { max-width: 78cqw; }
    /* El piso de 64px del sello lo dejaba en ~25% del sobre en mobile (sobre de
       ~255px en el mockup); piso más bajo para que conserve su 17% proporcional,
       y las iniciales acompañan la reducción del medallón. */
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal { width: clamp(44px, 17%, 96px); }
    .archive-sheet[data-archive="florentia"][data-archive-locale="ru"] .fl-env-seal-initials { font-size: clamp(10px, 3.4cqw, 22px); }
}

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