/*
Theme Name: Estudio Perdomo
Theme URI: https://estudioperdomo.com
Author: Estudio Perdomo
Description: Tema propio de Estudio Perdomo (fotografía, vídeo y patrimonio). Sin dependencias de plugins de maquetación. Preparado para WooCommerce (inactivo por ahora).
Version: 1.9.367
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: estudio-perdomo
*/

        :root {
            --bg-color: #ffffff;
            --text-color: #111111;
            --gray-light: #f4f4f4;
            --gray-medium: #777777;
            --black: #000000;
            --transition: cubic-bezier(0.16, 1, 0.3, 1);
        }

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

        body {
            background-color: var(--bg-color);
            color: var(--text-color);
            font-family: 'Inter', sans-serif;
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
        }

        /* --- CABECERA FIJA MULTINIVEL --- */
        .site-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            width: 100%;
            z-index: 1000;
            background-color: var(--bg-color);
            border-bottom: 1px solid var(--gray-light);
        }

        /* 1. Barra superior de anuncios/mensajes (Negra) */
        .top-announcement-bar {
            background-color: var(--black);
            color: #ffffff;
            text-align: center;
            padding: 0.5rem 1rem;
            font-size: 0.8rem;
            letter-spacing: 0.02em;
        }

        .top-announcement-bar a {
            color: #ffffff;
            text-decoration: underline;
            font-weight: 500;
        }

        /* 2. Barra de enlaces secundarios y utilidades */
        .utility-nav {
            display: flex;
            justify-content: flex-end;
            gap: 1.5rem;
            padding: 0.4rem 4%;
            font-size: 0.75rem;
            border-bottom: 1px solid var(--gray-light);
            background-color: #fafafa;
        }

        .utility-nav a {
            text-decoration: none;
            color: var(--gray-medium);
            letter-spacing: 0.05em;
            text-transform: uppercase;
            transition: color 0.2s;
        }

        .utility-nav a:hover {
            color: var(--text-color);
        }

        /* 3. Menú principal de navegación */
        .main-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1.2rem 4%;
            background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(5px);
        }

        .logo {
            font-family: 'Playfair Display', serif;
            font-size: 1.8rem;
            font-weight: 600;
            letter-spacing: -0.03em;
            text-decoration: none;
            color: var(--text-color);
        }

        .main-nav ul {
            display: flex;
            list-style: none;
            gap: 2rem;
        }

        .main-nav a {
            text-decoration: none;
            color: var(--text-color);
            font-size: 0.95rem;
            font-weight: 400;
            transition: color 0.2s ease;
        }

        .main-nav a:hover {
            color: var(--gray-medium);
        }

        .header-actions {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .btn-subscribe {
            border: 1px solid var(--text-color);
            background: transparent;
            padding: 0.5rem 1.2rem;
            border-radius: 50px;
            font-size: 0.85rem;
            cursor: pointer;
            transition: all 0.2s ease;
            text-decoration: none;
            color: var(--text-color);
        }

        .btn-subscribe:hover {
            background: var(--text-color);
            color: #ffffff;
        }

        .search-icon {
            font-size: 1.1rem;
            cursor: pointer;
            text-decoration: none;
            color: var(--text-color);
        }

        /* --- CONTENIDO PRINCIPAL --- */
        .site-main {
            max-width: 1400px;
            margin: 0 auto;
            padding: 4rem 4%;
        }

        /* Sección Destacada (Hero) */
        .hero {
            margin-bottom: 6rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .hero-content h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3.2rem;
            line-height: 1.15;
            font-weight: 400;
            margin-bottom: 1.5rem;
            letter-spacing: -0.03em;
        }

        .hero-content p {
            font-size: 1.1rem;
            color: var(--gray-medium);
            margin-bottom: 2rem;
            max-width: 500px;
        }

        .hero-media {
            width: 100%;
            aspect-ratio: 16/10;
            background-color: var(--gray-light);
            overflow: hidden;
            position: relative;
        }

        .hero-media img, .hero-media video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Cuadrícula de Proyectos */
        .section-title {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--gray-medium);
            margin-bottom: 2rem;
            border-bottom: 1px solid var(--text-color);
            padding-bottom: 0.5rem;
        }

        .grid-projects {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3rem 2rem;
        }

        .project-card {
            text-decoration: none;
            color: inherit;
            display: block;
        }

        .project-image {
            width: 100%;
            aspect-ratio: 4/3;
            background-color: var(--gray-light);
            margin-bottom: 1rem;
            overflow: hidden;
        }

        .project-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s var(--transition);
        }

        .project-card:hover .project-image img {
            transform: scale(1.03);
        }

        .project-category {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--gray-medium);
            margin-bottom: 0.3rem;
        }

        .project-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.3rem;
            font-weight: 400;
        }

        /* --- VENTANA FLOTANTE DE SUSCRIPCIÓN (MODAL) --- */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 2000;
            opacity: 1;
            transition: opacity 0.3s ease;
        }

        .modal-card {
            background: #ffffff;
            padding: 2.5rem;
            width: 100%;
            max-width: 440px;
            position: relative;
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
            border: 1px solid #e0e0e0;
        }

        .modal-close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            background: none;
            border: none;
            font-size: 1.2rem;
            cursor: pointer;
            color: var(--gray-medium);
        }

        .modal-card h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.8rem;
            font-weight: 500;
            margin-bottom: 0.8rem;
        }

        .modal-card p {
            font-size: 0.85rem;
            color: var(--gray-medium);
            margin-bottom: 1.5rem;
            line-height: 1.5;
        }

        .modal-input {
            width: 100%;
            padding: 0.8rem 1rem;
            border: 1px solid #cccccc;
            font-size: 0.9rem;
            margin-bottom: 1rem;
            outline: none;
        }

        .modal-submit {
            width: 100%;
            background: var(--black);
            color: #ffffff;
            border: none;
            padding: 0.8rem;
            font-size: 0.9rem;
            font-weight: 500;
            cursor: pointer;
            margin-bottom: 1rem;
        }

        .modal-legal {
            font-size: 0.7rem;
            color: var(--gray-medium);
            line-height: 1.4;
        }

        .modal-legal a {
            color: var(--text-color);
            text-decoration: underline;
        }


        /* --- PIE DE PÁGINA (FOOTER) EN FONDO NEGRO --- */
        .site-footer {
            background-color: var(--black);
            color: #ffffff;
            padding: 6rem 4% 3rem;
            margin-top: 8rem;
        }

        .footer-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 4rem;
            border-bottom: 1px solid #333333;
            padding-bottom: 2rem;
        }

        .footer-logo {
            font-family: 'Playfair Display', serif;
            font-size: 2rem;
            font-weight: 600;
            color: #ffffff;
            text-decoration: none;
            letter-spacing: -0.03em;
        }

        .footer-socials {
            display: flex;
            gap: 1.5rem;
            font-size: 1rem;
            color: #ffffff;
        }

        .footer-socials a {
            color: #ffffff;
            text-decoration: none;
            opacity: 0.8;
            transition: opacity 0.2s;
        }

        .footer-socials a:hover {
            opacity: 1;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr;
            gap: 3rem;
            margin-bottom: 4rem;
        }

        .footer-col h4 {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 1.2rem;
            color: #ffffff;
            font-weight: 600;
        }

        .footer-col p, .footer-col ul {
            font-size: 0.85rem;
            color: #aaaaaa;
            line-height: 1.6;
        }

        .footer-col ul {
            list-style: none;
        }

        .footer-col ul li {
            margin-bottom: 0.6rem;
        }

        .footer-col ul li a {
            color: #aaaaaa;
            text-decoration: none;
            transition: color 0.2s;
        }

        .footer-col ul li a:hover {
            color: #ffffff;
        }

        .newsletter-box input {
            width: 100%;
            padding: 0.6rem 1rem;
            background: #1a1a1a;
            border: 1px solid #333333;
            color: #ffffff;
            font-size: 0.85rem;
            margin-bottom: 0.8rem;
            border-radius: 4px;
        }

        .newsletter-btn {
            background: #ffffff;
            color: #000000;
            border: none;
            padding: 0.5rem 1.2rem;
            font-size: 0.85rem;
            font-weight: 500;
            border-radius: 50px;
            cursor: pointer;
            transition: background 0.2s;
        }

        .newsletter-btn:hover {
            background: #dddddd;
        }

        .footer-bottom {
            border-top: 1px solid #333333;
            padding-top: 2rem;
            display: flex;
            justify-content: space-between;
            font-size: 0.75rem;
            color: #777777;
        }

        /* Ocultar elementos dinámicos al cerrar */
        .hidden {
            display: none !important;
        }

        /* Adaptabilidad móviles */
        @media (max-width: 900px) {
            .hero {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            .hero-content h1 {
                font-size: 2.3rem;
            }
            .grid-projects {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }
            .main-nav, .utility-nav {
                display: none; 
            }
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            .footer-top {
                flex-direction: column;
                gap: 1.5rem;
            }
        }

/* ===== Añadidos del tema ===== */
.menu-toggle { display: none; background: none; border: 1px solid var(--text-color); border-radius: 50px; padding: 0.4rem 0.9rem; font-size: 0.85rem; cursor: pointer; color: var(--text-color); }
.main-nav ul { list-style: none; }
.main-nav .current-menu-item > a, .main-nav .current_page_item > a { font-weight: 600; }
.utility-nav ul { display: flex; list-style: none; gap: 1.5rem; }
.hero-media--empty { background: var(--gray-light); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; background: #fff; padding: 0.5rem 1rem; z-index: 3000; }
.modal-card .modal-form { margin-bottom: 1rem; }
.footer-col ul ul { margin-left: 1rem; }

/* Contenido de páginas y entradas existentes */
.entry { max-width: 820px; margin: 0 auto; }
.entry-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.6rem; line-height: 1.15; letter-spacing: -0.03em; margin-bottom: 2rem; }
.entry-meta { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gray-medium); margin-bottom: 1rem; }
.entry-content { font-size: 1.05rem; line-height: 1.75; }
.entry-content > * + * { margin-top: 1.2rem; }
.entry-content h2, .entry-content h3 { font-family: 'Playfair Display', serif; font-weight: 400; line-height: 1.2; margin-top: 2.2rem; }
.entry-content a { text-decoration: underline; }
.entry-content img, .entry-content video, .entry-content iframe { max-width: 100%; height: auto; }
.entry-content .alignwide, .entry-content .alignfull { max-width: none; }
.entry-thumb { margin-bottom: 2rem; }
.entry-thumb img { width: 100%; height: auto; display: block; }
.archive-header { margin-bottom: 3rem; }
.pagination { margin-top: 3rem; display: flex; gap: 1rem; justify-content: center; font-size: 0.9rem; }
.empty-note { color: var(--gray-medium); }

@media (max-width: 900px) {
    .menu-toggle { display: inline-block; }
    .main-header { flex-wrap: wrap; gap: 1rem; }
    .main-nav { display: none; width: 100%; order: 3; }
    body.menu-open .main-nav { display: block; }
    body.menu-open .main-nav ul { display: flex; flex-direction: column; gap: 1rem; padding: 0.5rem 0 1rem; }
    .entry-title { font-size: 2rem; }
}

/* Cabecera fija junto a la barra de administración de WordPress */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Pie: si no hay newsletter o algún menú, la rejilla se reparte sola */
.footer-grid--no-news { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.footer-grid--no-news .footer-col:first-child { grid-column: span 2; }
@media (max-width: 900px) { .footer-grid--no-news .footer-col:first-child { grid-column: auto; } }

/* Cabecera fija de verdad: el contenido baja lo que mide la cabecera (lo calcula js/main.js) */
body { padding-top: var(--header-h, 7.5rem); }
html, body { overflow-x: clip; }

/* Barra de utilidades alineada a la derecha, como en el diseño original */
.utility-nav { justify-content: flex-end; }
.utility-nav ul { display: flex; list-style: none; gap: 1.5rem; }

/* Iconos de redes del pie */
.footer-socials a { display: inline-flex; align-items: center; }
.footer-socials svg { display: block; }

/* Enlace con aspecto de botón (Newsletter sin formulario) y botón de cabecera como enlace */
a.newsletter-btn { display: inline-block; text-decoration: none; }
a.btn-subscribe { display: inline-block; }
.footer-bottom a { color: #aaaaaa; text-decoration: underline; }
.footer-bottom a:hover { color: #ffffff; }

/* Formulario de suscripción */
.news-consent { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.78rem; line-height: 1.4; margin-bottom: 1rem; color: var(--gray-medium); }
.news-consent input { margin-top: 0.15rem; flex: none; }
.news-consent a, .news-info a { text-decoration: underline; color: inherit; }
.news-msg { margin: 0.8rem 0 0; font-size: 0.8rem; min-height: 1.2em; }
.news-info { margin: 0.8rem 0 0; font-size: 0.68rem; line-height: 1.4; color: var(--gray-medium); }
.modal-card .news-msg { color: var(--text-color); }
.newsletter-box input[type="checkbox"] { width: auto; margin: 0.15rem 0 0; padding: 0; background: transparent; border-radius: 0; }
.newsletter-box .news-consent, .newsletter-box .news-info, .newsletter-box .news-msg { color: #aaaaaa; }
.newsletter-box .news-consent a, .newsletter-box .news-info a { color: #ffffff; }
.footer-legal ul { display: flex; flex-wrap: wrap; gap: 1.5rem; list-style: none; }
@media (max-width: 900px) { .footer-bottom { flex-direction: column; gap: 1rem; } }

/* Logo (esfera) junto al nombre */
.logo, .footer-logo { display: inline-flex; align-items: center; gap: .6rem; }
.logo-mark { height: 1.9rem; width: auto; flex: none; display: block; }
.footer-logo .logo-mark { height: 2.1rem; }
@media (max-width: 600px) { .logo-mark { height: 1.6rem; } }

.modal-card .modal-form { margin-bottom: 0; }
.modal-card .news-msg { min-height: 0; margin-top: .5rem; }
.modal-card .news-info { margin-top: .6rem; }

/* ===== v1.6 Páginas con bloques (contenido de Colibri/editor): estilo limpio y minimalista ===== */
.page .entry, .single .entry { max-width: 1080px; }
.entry-content { color: var(--text-color); }
.entry-content > * { max-width: 1080px; margin-left: auto; margin-right: auto; }
.entry-content p { max-width: 680px; }
.entry-content > h1, .entry-content > h2, .entry-content > h3, .entry-content > p { max-width: 1080px; }
.entry-content > p { max-width: 680px; margin-left: 0; margin-right: auto; }
.entry-content h1 { margin-bottom: 1.4rem; }
.entry-content > .wp-block-columns, .entry-content > .wp-block-media-text, .entry-content > .wp-block-query,
.entry-content > .wp-block-group, .entry-content > .wp-block-cover, .entry-content > .wp-block-latest-posts,
.entry-content > .alignwide, .entry-content > .alignfull { max-width: 1080px; }
.entry-content > * + * { margin-top: 1.4rem; }
.entry-content h1, .entry-content h2, .entry-content h3 { font-family: 'Playfair Display', serif; font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; color: var(--text-color); }
.entry-content h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); margin-top: 0; }
.entry-content h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 4.5rem; }
.entry-content h3 { font-size: 1.35rem; margin-top: 2.5rem; }
.entry-content p { color: #444; }
.entry-content strong { color: var(--text-color); }

/* Columnas y imagen+texto: bien repartidas */
.entry-content .wp-block-columns { display: flex; flex-wrap: wrap; gap: 3rem 4rem; align-items: center; margin-top: 4.5rem; margin-bottom: 0; }
.entry-content .wp-block-column { flex: 1 1 320px; min-width: 0; }
.entry-content .wp-block-media-text { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; margin-top: 4.5rem; }
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.entry-content .wp-block-media-text__media img, .entry-content .wp-block-column img, .entry-content .wp-block-image img { width: 100%; height: auto; display: block; }
.entry-content .wp-block-media-text__content { padding: 0; }
.entry-content .wp-block-media-text__content > * + * { margin-top: 1rem; }
.entry-content .wp-block-image { margin-top: 3rem; }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content .wp-element-caption, .entry-content figcaption { font-size: .8rem; color: var(--gray-medium); margin-top: .5rem; }

/* Botones */
.entry-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.entry-content .wp-block-button__link, .entry-content a.button {
  display: inline-block; background: #000; color: #fff; text-decoration: none; padding: .8rem 1.8rem;
  font-size: .85rem; letter-spacing: .04em; border: 1px solid #000; border-radius: 0; transition: background .2s, color .2s; }
.entry-content .wp-block-button__link:hover { background: #fff; color: #000; }

/* Lista de entradas del blog (bloque Consulta / Últimas entradas): solo imagen, título y extracto, todo en negro */
.entry-content .wp-block-post-template, .entry-content .wp-block-latest-posts { list-style: none; padding: 0; margin: 2.5rem auto 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; }
.entry-content .wp-block-post-template > li, .entry-content .wp-block-latest-posts > li { margin: 0; padding: 0; }
.entry-content .wp-block-post-featured-image, .entry-content .wp-block-latest-posts__featured-image { margin: 0 0 1rem; }
.entry-content .wp-block-post-featured-image img, .entry-content .wp-block-latest-posts__featured-image img {
  width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.entry-content .wp-block-post-terms,
.entry-content .wp-block-post-author, .entry-content .wp-block-post-author-name,
.entry-content .wp-block-post-date, .entry-content .wp-block-latest-posts__post-date, .entry-content .wp-block-latest-posts__post-author { display: none !important; }
.entry-content .wp-block-post-title { font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 500; line-height: 1.25; margin: 0 0 .6rem; letter-spacing: -.01em; }
.entry-content .wp-block-post-title a, .entry-content .wp-block-latest-posts__post-title { color: var(--text-color); text-decoration: none; }
.entry-content .wp-block-post-title a:hover, .entry-content .wp-block-latest-posts__post-title:hover { opacity: .65; }
.entry-content .wp-block-post-excerpt, .entry-content .wp-block-latest-posts__post-excerpt { font-size: .92rem; line-height: 1.6; color: #555; margin: 0; }
.entry-content .wp-block-post-excerpt__more-link { color: var(--text-color); text-decoration: underline; }

@media (max-width: 860px) {
  .entry-content .wp-block-media-text { grid-template-columns: 1fr; gap: 2rem; }
  .entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
  .entry-content .wp-block-post-template, .entry-content .wp-block-latest-posts { grid-template-columns: 1fr; }
  .entry-content h2 { margin-top: 3rem; }
}

/* ===== v1.6.1 Mismo estilo que la portada: etiquetas con línea, fotos grandes, menos blanco ===== */
.entry-content > * + * { margin-top: 1.1rem; }
.entry-content h2 {
  font-family: 'Inter', sans-serif; font-size: .85rem; font-weight: 500; text-transform: uppercase; letter-spacing: .15em;
  color: var(--gray-medium); border-bottom: 1px solid var(--text-color); padding-bottom: .5rem;
  margin-top: 3.5rem; margin-bottom: 1.8rem; line-height: 1.4; }
.entry-content h2:first-child { margin-top: 0; }
.entry-content h3 { font-size: 1.6rem; margin-top: 0; }
.entry-content h1 { font-size: clamp(2.2rem, 4.5vw, 3.2rem); line-height: 1.15; font-weight: 400; letter-spacing: -0.03em; }

/* Bloques de texto + foto: mitad y mitad, foto grande en formato panorámico */
.entry-content .wp-block-columns, .entry-content .wp-block-media-text { margin-top: 3rem; gap: 3rem; align-items: center; }
.entry-content .wp-block-columns { flex-wrap: nowrap; }
.entry-content .wp-block-column { flex: 1 1 0% !important; min-width: 0; }
.entry-content .wp-block-media-text { grid-template-columns: 1fr 1fr !important; }
.entry-content .wp-block-columns img, .entry-content .wp-block-media-text img {
  width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.entry-content .wp-block-columns figure, .entry-content .wp-block-media-text figure { width: 100% !important; margin: 0; }
.entry-content > :first-child.wp-block-columns, .entry-content > :first-child.wp-block-media-text { margin-top: 0; }
@media (max-width: 860px) {
  .entry-content .wp-block-columns { flex-wrap: wrap; }
  .entry-content .wp-block-column { flex-basis: 100% !important; }
  .entry-content .wp-block-media-text { grid-template-columns: 1fr !important; }
}

/* v1.6.1b: ancho como la portada y títulos de entradas sin estilo de etiqueta */
.page .entry, .single .entry { max-width: 1300px; }
.entry-content > * { max-width: 1300px; }
.entry-content > .wp-block-columns, .entry-content > .wp-block-media-text, .entry-content > .wp-block-query,
.entry-content > .wp-block-group, .entry-content > .wp-block-cover, .entry-content > .wp-block-latest-posts,
.entry-content > .alignwide, .entry-content > .alignfull { max-width: 1300px; }
.entry-content > p { max-width: 680px; }
.entry-content h2.wp-block-post-title {
  font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 500; text-transform: none; letter-spacing: -.01em;
  color: var(--text-color); border: 0; padding: 0; margin: 0 0 .6rem; line-height: 1.25; }
.entry-content > h1, .entry-content > h2, .entry-content > h3 { max-width: 1300px; margin-left: 0; margin-right: 0; }
.entry-content > p, .entry-content > ul, .entry-content > ol { margin-left: 0; margin-right: auto; }

/* ===== v1.6.2 Tarjetas de eventos y contacto de la página Inicio ===== */
/* Fuera: foto de autor, iconos y líneas de Fecha / Ubicación */
.entry-content .wp-block-avatar,
.entry-content .wp-block-group.is-nowrap:has(figure.wp-block-image),
.entry-content .wp-block-group.is-nowrap:has(> figure.wp-block-image) { display: none !important; }

/* Todo alineado a la izquierda, como el resto */
.entry-content .has-text-align-center { text-align: left !important; }
.entry-content .wp-block-group__inner-container > * + * { margin-top: 1rem; }
.entry-content .wp-block-group[class*="item-card"] { padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; }
.entry-content .wp-block-group[class*="item-card"] img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; display: block; }
.entry-content .wp-block-group[class*="item-card"] h3 { font-size: 1.3rem; margin: 1rem 0 .5rem; }
.entry-content .wp-block-columns.alignwide { align-items: flex-start; margin-top: 2rem; }

/* Secciones de página: sin líneas extra ni rellenos de Colibri; solo la línea del título */
.entry-content .wp-block-group.alignfull { margin-top: 3rem !important; padding: 0 !important; background: none !important; border: 0 !important; max-width: 1300px; }
.entry-content .wp-block-group.alignfull:first-child { margin-top: 0 !important; }
/* Única línea extra: antes del bloque de contacto */
.entry-content #contacto.wp-block-group { border-top: 1px solid var(--text-color) !important; padding-top: 2rem !important; margin-top: 3.5rem !important; }
.entry-content #contacto .wp-block-media-text { margin-top: 0; background: none !important; }
.entry-content #contacto .wp-block-group { padding: 0 !important; }

/* Formulario de contacto (Contact Form 7) */
.entry-content .wpcf7 label { display: block; font-size: .85rem; color: var(--gray-medium); }
.entry-content .wpcf7 input[type=text], .entry-content .wpcf7 input[type=email], .entry-content .wpcf7 textarea {
  width: 100%; margin-top: .35rem; padding: .7rem .8rem; font: inherit; color: var(--text-color); background: #fff;
  border: 1px solid #cfcfcf; border-radius: 0; }
.entry-content .wpcf7 input:focus, .entry-content .wpcf7 textarea:focus { outline: none; border-color: #000; }
.entry-content .wpcf7 p { margin: 0 0 1rem; max-width: none; }
.entry-content .wpcf7 input[type=submit] { background: #000; color: #fff; border: 1px solid #000; padding: .8rem 1.8rem; font: inherit; font-size: .85rem; letter-spacing: .04em; cursor: pointer; border-radius: 0; }
.entry-content .wpcf7 input[type=submit]:hover { background: #fff; color: #000; }

/* ===== v1.6.3 Redes sociales fuera; página «El Estudio»: fichas en cuadrícula limpia ===== */
.entry-content .wp-block-social-links { display: none !important; }

/* Fichas de equipo: 2 columnas, foto arriba, texto debajo */
.entry-content .wp-block-columns.alignwide:has(.wp-block-columns) { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3.5rem 3rem; align-items: start; }
.entry-content .wp-block-columns.alignwide:has(.wp-block-columns) > .wp-block-column { flex: none !important; width: auto !important; min-width: 0; }
.entry-content .wp-block-column .wp-block-columns { display: block; margin: 0; }
.entry-content .wp-block-column .wp-block-columns > .wp-block-column { flex: none !important; width: 100% !important; margin: 0; }
.entry-content .wp-block-column .wp-block-columns > .wp-block-column + .wp-block-column { margin-top: 1.2rem; }
.entry-content .wp-block-group[class*="item-card"] { display: block !important; min-height: 0 !important; }
.entry-content .wp-block-cover { position: relative; display: block; min-height: 0 !important; aspect-ratio: 16 / 10; overflow: hidden; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; background: var(--gray-light); }
.entry-content .wp-block-cover img.wp-block-cover__image-background { position: absolute; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto; object-fit: cover; }
.entry-content .wp-block-cover__background, .entry-content .wp-block-cover .wp-block-spacer { display: none !important; }
.entry-content .wp-block-cover__inner-container { display: none; }
.entry-content .wp-block-group[class*="item-card"] .wp-block-group { padding: 0 !important; }
.entry-content .wp-block-group[class*="item-card"] p { margin-top: .4rem; font-size: .95rem; }
.entry-content .wp-block-group[class*="item-card"] h3 { font-size: 1.4rem !important; margin: .2rem 0 0; }
.entry-content .wp-block-spacer { height: 1rem !important; }

/* Galería */
.entry-content .wp-block-gallery { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.entry-content .wp-block-gallery figure { width: 100% !important; margin: 0 !important; }
.entry-content .wp-block-gallery img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
@media (max-width: 860px) {
  .entry-content .wp-block-columns.alignwide:has(.wp-block-columns) { grid-template-columns: 1fr; }
  .entry-content .wp-block-gallery { grid-template-columns: 1fr 1fr; }
}

/* ===== v1.6.4 Servicios: fichas compactas con foto grande; iconos SVG sueltos fuera; anclas suaves ===== */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h, 7.5rem) + 1rem); }
.entry-content img[src^="data:image/svg"] { display: none !important; }
.entry-content figure.wp-block-image:has(> img[src^="data:image/svg"]) { display: none; }

/* Ficha foto+texto dentro de una columna: foto arriba a todo el ancho, texto debajo */
.entry-content .wp-block-column .wp-block-media-text { grid-template-columns: 1fr !important; gap: 1rem; margin-top: 0; background: none !important; }
.entry-content .wp-block-column .wp-block-media-text .wp-block-media-text__media { order: 0 !important; }
.entry-content .wp-block-column .wp-block-media-text img { aspect-ratio: 4 / 3; position: static !important; }
.entry-content .wp-block-media-text__content .wp-block-group { padding: 0 !important; }
.entry-content .wp-block-media-text__content h3 { font-size: 1.4rem !important; margin: 0 0 .4rem; }
.entry-content .wp-block-media-text__content p { font-size: .95rem; margin: 0; }
.entry-content .wp-block-columns + .wp-block-columns { margin-top: 3rem !important; }
.entry-content .wp-block-columns.alignwide { align-items: flex-start; }
.entry-content .wp-block-column .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }

.entry-content .wp-block-image + h3, .entry-content .wp-block-image + h2 { margin-top: 1rem; }

/* Sin filtros de color (duotono) en las fotos de las páginas */
.entry-content [class*="wp-duotone"], .entry-content [class*="wp-duotone"] img { filter: none !important; }

/* ===== v1.6.6 Fotos de las fichas foto+texto siempre visibles; líneas de título a todo el ancho ===== */
.entry-content .wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {
  background-image: none !important; height: auto !important; min-height: 0 !important; margin: 0; }
.entry-content .wp-block-media-text img {
  position: static !important; clip: auto !important; clip-path: none !important; width: 100% !important; height: auto !important;
  max-width: 100% !important; aspect-ratio: 16 / 10; object-fit: cover; display: block; overflow: visible; }
.entry-content .wp-block-media-text__media { width: 100%; }
.entry-content .wp-block-media-text.alignwide { max-width: 1300px; padding: 0 !important; margin-top: 2rem; background: none !important; }
.entry-content .wp-block-media-text.alignwide + .wp-block-media-text.alignwide { margin-top: 2.5rem; }

/* Los bloques «constrained» de WordPress limitan el ancho: aquí no, para que la línea llegue al final */
.entry-content .is-layout-constrained > *, .entry-content .wp-block-group__inner-container > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.entry-content .is-layout-constrained > p, .entry-content .wp-block-group__inner-container > p { max-width: 680px; }
.entry-content .wp-block-group.alignwide, .entry-content .wp-block-group__inner-container { max-width: 1300px !important; width: 100%; }

/* ===== v1.7 Tienda (WooCommerce): limpia, con mucha foto ===== */
.shop-wrap { max-width: 1300px; margin: 0 auto; }
.woocommerce-breadcrumb, .woocommerce-result-count, .woocommerce-products-header .page-description { display: none; }
.woocommerce-products-header__title, .woocommerce-page .page-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.6rem; letter-spacing: -0.03em; margin-bottom: 2rem; }
.woocommerce-ordering { margin: 0 0 2rem; text-align: right; }
.woocommerce-ordering select { font: inherit; font-size: .85rem; padding: .5rem .7rem; border: 1px solid #cfcfcf; background: #fff; border-radius: 0; }

/* Listado: cuadrícula de 3, foto grande; con ratón se ve la foto en ambiente */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; margin: 0 0 3rem !important; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0; position: relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { position: relative; display: block; color: var(--text-color); text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; margin: 0 0 1rem !important; box-shadow: none; }
.woocommerce ul.products li.product img.shop-hover-img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity .35s ease; margin: 0 !important; }
.woocommerce ul.products li.product:hover img.shop-hover-img { opacity: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Playfair Display', serif; font-weight: 500; font-size: 1.2rem; line-height: 1.25; padding: 0; margin: 0 0 .3rem; color: var(--text-color); }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--gray-medium); font-size: .95rem; font-weight: 400; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product .price ins { text-decoration: none; background: none; color: var(--text-color); }
.woocommerce span.onsale { background: #000; color: #fff; border-radius: 0; min-height: 0; min-width: 0; line-height: 1; padding: .45rem .7rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; top: .8rem; left: .8rem; right: auto; margin: 0; z-index: 2; }

/* Botones */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background: #000; color: #fff; border: 1px solid #000; border-radius: 0; padding: .85rem 1.8rem; font: inherit; font-size: .85rem; font-weight: 400; letter-spacing: .04em; transition: background .2s, color .2s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: #fff; color: #000; }
.woocommerce ul.products li.product .button { margin-top: .8rem; }

/* Ficha de producto: galería grande a la izquierda, datos a la derecha */
.woocommerce div.product { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem 4rem; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: auto !important; margin: 0; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells, .woocommerce div.product > .onsale { grid-column: 1 / -1; }
.woocommerce div.product div.images img { width: 100%; height: auto; display: block; }
.woocommerce div.product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.woocommerce div.product .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; opacity: .6; cursor: pointer; transition: opacity .2s; }
.woocommerce div.product .flex-control-thumbs img.flex-active, .woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce div.product .product_title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.2rem; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: .8rem; }
.woocommerce div.product p.price { font-size: 1.2rem; margin-bottom: 1.2rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #444; line-height: 1.7; margin-bottom: 1.5rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin-bottom: 1.5rem; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .variations select { font: inherit; padding: .6rem; border: 1px solid #cfcfcf; border-radius: 0; background: #fff; max-width: 100%; }
.woocommerce .quantity .qty { font: inherit; padding: .75rem .5rem; width: 4.5rem; border: 1px solid #cfcfcf; border-radius: 0; }
.woocommerce div.product .product_meta { font-size: .8rem; color: var(--gray-medium); border-top: 1px solid #e5e5e5; padding-top: 1rem; }
.woocommerce div.product .product_meta a { color: inherit; }

/* Pestañas (Descripción, Información adicional…) sencillas */
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 2rem; padding: 0; margin: 0 0 1.5rem; list-style: none; border-bottom: 1px solid var(--text-color); overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; border-radius: 0; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .6rem 0; font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 400; color: var(--gray-medium); text-decoration: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--text-color); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-family: 'Inter', sans-serif; font-size: .85rem; font-weight: 500; text-transform: uppercase; letter-spacing: .15em; color: var(--gray-medium); border-bottom: 1px solid var(--text-color); padding-bottom: .5rem; margin: 2rem 0; }

/* Carrito, pago y Mi cuenta: formularios limpios */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text {
  font: inherit; padding: .7rem .8rem; border: 1px solid #cfcfcf; border-radius: 0; background: #fff; }
.woocommerce form .form-row label { font-size: .85rem; color: var(--gray-medium); }
.woocommerce table.shop_table { border-radius: 0; border-color: #e5e5e5; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: #000; background: #f6f6f6; color: var(--text-color); }
.woocommerce-message::before, .woocommerce-info::before { color: #000; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .5rem 0; color: var(--text-color); text-decoration: none; border-bottom: 1px solid #eee; }
.woocommerce-MyAccount-navigation li.is-active a { font-weight: 600; }

@media (max-width: 900px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
  .woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product .price { display: block; margin-bottom: .2rem; }
.woocommerce a.button, .woocommerce a.button.alt { text-decoration: none; display: inline-block; }

/* ==========================================================
   v1.7.2 · Formularios Forminator (contacto)
   ========================================================== */
.forminator-ui.forminator-custom-form .forminator-label,
.forminator-ui.forminator-custom-form label.forminator-label{
  font-family:var(--font-body,inherit)!important;
  font-size:.72rem!important;font-weight:500!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--text-color,#111)!important;margin-bottom:.4rem!important;
}
.forminator-ui.forminator-custom-form .forminator-required{color:var(--text-color,#111)!important}
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form input[type="text"],
.forminator-ui.forminator-custom-form input[type="email"],
.forminator-ui.forminator-custom-form textarea{
  background:transparent!important;border:0!important;
  border-bottom:1px solid var(--text-color,#111)!important;
  border-radius:0!important;box-shadow:none!important;
  padding:.6rem 0!important;font-size:1rem!important;
  color:var(--text-color,#111)!important;
}
.forminator-ui.forminator-custom-form .forminator-textarea{min-height:140px!important;resize:vertical}
.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus{
  outline:0!important;border-bottom-width:2px!important;box-shadow:none!important;
}
.forminator-ui.forminator-custom-form .forminator-button-submit,
.forminator-ui.forminator-custom-form button[type="submit"]{
  background:var(--text-color,#111)!important;color:#fff!important;
  border:1px solid var(--text-color,#111)!important;border-radius:999px!important;
  padding:.8rem 2.2rem!important;font-size:.78rem!important;font-weight:500!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  box-shadow:none!important;cursor:pointer;transition:background .2s,color .2s;
}
.forminator-ui.forminator-custom-form .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form button[type="submit"]:hover{
  background:transparent!important;color:var(--text-color,#111)!important;
}
.forminator-ui .forminator-error-message{
  color:#8a1f1f!important;font-size:.8rem!important;background:transparent!important;padding:.3rem 0 0!important;
}
.forminator-ui .forminator-response-message,
.forminator-response-message{
  background:transparent!important;border:0!important;
  border-left:2px solid var(--text-color,#111)!important;border-radius:0!important;
  color:var(--text-color,#111)!important;padding:.6rem 1rem!important;
}
.entry-content .forminator-edit-module,
.entry-content a.forminator-edit-module{font-size:.7rem;opacity:.6}

/* v1.7.3 · Contacto: foto alineada arriba con el formulario */
.entry-content .wp-block-media-text:has(.forminator-ui){
  align-items:start!important;
  margin-top:2.5rem;
}
.entry-content .wp-block-media-text:has(.forminator-ui) .wp-block-media-text__content{
  padding-top:0!important;align-self:start!important;
}
.entry-content .wp-block-media-text:has(.forminator-ui) .wp-block-media-text__media{
  align-self:start!important;margin:0!important;
}
.entry-content .wp-block-media-text:has(.forminator-ui) .forminator-ui,
.entry-content .wp-block-media-text:has(.forminator-ui) .forminator-ui .forminator-row:first-child{
  margin-top:0!important;padding-top:0!important;
}
.entry-content .wp-block-media-text:has(.forminator-ui) .forminator-label{margin-top:0!important}

/* ==========================================================
   v1.7.4 · Servicios: fotos de tarjetas, galería y eventos
   (arreglo robusto: ignora estilos inline / Extendify)
   ========================================================== */
/* Todas las fotos del contenido: normales, sin posición absoluta */
.entry-content .wp-block-media-text > .wp-block-media-text__media{
  position:relative!important;height:auto!important;min-height:0!important;
  width:100%!important;margin:0!important;overflow:hidden;align-self:start!important;
}
.entry-content .wp-block-media-text > .wp-block-media-text__media > img,
.entry-content .wp-block-media-text img{
  position:static!important;inset:auto!important;clip:auto!important;
  width:100%!important;height:auto!important;max-width:100%!important;
  aspect-ratio:4/3!important;object-fit:cover!important;display:block;
}
.entry-content figure.wp-block-image{
  position:static!important;height:auto!important;margin-left:0;margin-right:0;
}
.entry-content figure.wp-block-image img{
  position:static!important;width:100%!important;height:auto!important;
  max-width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;display:block;
}
.entry-content > figure.wp-block-image img,
.entry-content > .wp-block-image img{aspect-ratio:16/9!important}

/* Tarjetas de servicio (dentro de columnas): foto arriba, texto debajo */
.entry-content .wp-block-column > .wp-block-media-text{
  grid-template-columns:1fr!important;grid-template-rows:auto auto!important;
  gap:1rem!important;background:none!important;
}
.entry-content .wp-block-column > .wp-block-media-text > .wp-block-media-text__media{grid-column:1!important;grid-row:1!important}
.entry-content .wp-block-column > .wp-block-media-text > .wp-block-media-text__content{
  grid-column:1!important;grid-row:2!important;padding:0!important;
}

/* Eventos (media-text ancho con grid inline 35%/auto): foto a la izquierda */
.entry-content .wp-block-media-text.alignwide{
  grid-template-columns:minmax(120px,38%) 1fr!important;grid-template-rows:auto!important;
  gap:1.5rem!important;align-items:start!important;background:none!important;
}
.entry-content .wp-block-media-text.alignwide > .wp-block-media-text__media{grid-column:1!important;grid-row:1!important}
.entry-content .wp-block-media-text.alignwide > .wp-block-media-text__content{
  grid-column:2!important;grid-row:1!important;padding:0!important;align-self:center!important;
}
.entry-content .wp-block-media-text.alignwide .wp-block-group{min-height:0!important;padding:0!important}
@media (max-width:700px){
  .entry-content .wp-block-media-text.alignwide{grid-template-columns:1fr!important}
  .entry-content .wp-block-media-text.alignwide > .wp-block-media-text__content{grid-column:1!important;grid-row:2!important}
}

/* Columnas de fotos (galería): cuadrícula regular sin solapes */
.entry-content .wp-block-columns{align-items:start!important}
.entry-content .wp-block-column .wp-block-image{margin-top:0!important;margin-bottom:1rem!important}

/* ==========================================================
   v1.7.5 · Página El Estudio (diseño editorial)
   Clases usadas en el contenido: estudio-foto, estudio-quien, fila-area
   ========================================================== */
.entry-content .estudio-foto{margin:2.5rem 0 0!important}
.entry-content .estudio-foto img{aspect-ratio:16/9!important;object-fit:cover}

.entry-content .estudio-quien{
  grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important;gap:4rem!important;
  align-items:start!important;margin-top:3rem!important;
}
.entry-content .estudio-quien > .wp-block-media-text__media{grid-column:1!important;grid-row:1!important}
.entry-content .estudio-quien > .wp-block-media-text__content{grid-column:2!important;grid-row:1!important;padding:0!important}
.entry-content .estudio-quien img{aspect-ratio:4/5!important;object-fit:cover!important}
.entry-content .estudio-quien p{font-size:1.1rem;line-height:1.75;max-width:58ch}

.entry-content .fila-area{
  gap:4rem!important;padding:2.4rem 0!important;margin:0!important;
  border-top:1px solid var(--text-color);align-items:start!important;
}
.entry-content .fila-area + h2{margin-top:4rem}
.entry-content .fila-area.is-ultima{border-bottom:1px solid var(--text-color)}
.entry-content .fila-area h3{font-size:2rem!important;margin:0!important;line-height:1.1}
.entry-content .fila-area .rol{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:.7rem 0 0!important;
}
.entry-content .fila-area p{max-width:62ch;margin:0 0 1rem}
.entry-content .fila-area p:last-child{margin-bottom:0}

.entry-content .estudio-cta{margin-top:4rem}
@media (max-width:780px){
  .entry-content .estudio-quien{grid-template-columns:1fr!important;gap:1.5rem!important}
  .entry-content .estudio-quien > .wp-block-media-text__content{grid-column:1!important;grid-row:2!important}
  .entry-content .fila-area{gap:1rem!important}
}

/* ==========================================================
   v1.9.0 · Intro en vídeo 2:1 que sube y desaparece
   ========================================================== */
body.home main{padding-top:0!important}
.intro-band{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);
  aspect-ratio:2/1;max-height:calc(100svh - var(--header-h,7.5rem));
  background:#0b0b0b;overflow:hidden;
  transition:height 1s cubic-bezier(.77,0,.18,1);
}
.intro-band.is-done{height:0!important;aspect-ratio:auto}
.intro-band.is-skipped{display:none}
.intro-band__poster,.intro-band__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;
}
.intro-band__frame{
  inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);
  width:max(100%,calc(100svh * 2));height:max(100%,50vw);pointer-events:none;
}
.intro-band__skip{
  position:absolute;right:4%;bottom:1.4rem;z-index:3;cursor:pointer;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.7);color:#fff;
  padding:.55rem 1.2rem;border-radius:999px;font:inherit;font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;transition:background .2s,color .2s;
}
.intro-band__skip:hover{background:#fff;color:#111}
.home-content{padding-top:3rem}
@media (max-width:700px){.intro-band{aspect-ratio:16/9}.intro-band__frame{width:max(100%,calc(100svh * 1.7778));height:max(100%,56.25vw)}}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) .intro-band{display:none}}

/* ==========================================================
   v1.9.4 · Intro: fondo blanco hasta que arranca el vídeo + botón de sonido
   ========================================================== */
.intro-band{background:#fff}
.intro-band__video{opacity:0;transition:opacity .6s ease}
.intro-band.is-playing .intro-band__video{opacity:1}
.intro-band__frame{opacity:1}
.intro-band__skip,.intro-band__sound{opacity:0;transition:opacity .6s ease,background .2s,color .2s}
.intro-band.is-playing .intro-band__skip,.intro-band.is-playing .intro-band__sound{opacity:1}
.intro-band__sound{
  position:absolute;left:4%;bottom:1.4rem;z-index:3;cursor:pointer;
  width:2.6rem;height:2.6rem;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.7);color:#fff;
}
.intro-band__sound:hover{background:#fff;color:#111}
.intro-band__sound .ico-on{display:none}
.intro-band__sound.is-on .ico-on{display:block}
.intro-band__sound.is-on .ico-off{display:none}

/* ==========================================================
   v1.9.5 · Entrada animada del contenido de la home (columnas una tras otra)
   ========================================================== */
.home-content .ext-animate--on:not(.reveal){opacity:1!important;transform:none!important;animation:none!important}
.home-content .ext-animate--on.reveal{animation:none!important}
.js-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.7,.2,1)}
.js-reveal .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) .js-reveal .reveal{opacity:1;transform:none;transition:none}}

/* v1.9.6 · Animación más lenta y con la columna derecha entrando después */
.js-reveal .reveal{transform:translateY(48px);transition:opacity 1.5s ease,transform 1.6s cubic-bezier(.22,.7,.2,1)}

/* v1.9.7 · Columnas de la portada con botón: ambas columnas igual de altas y el botón alineado abajo */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column{
  display:flex;flex-direction:column;align-items:flex-start;align-self:stretch!important;
}
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-buttons{margin-top:auto;padding-top:1.75rem}
@media (max-width:781px){.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-buttons{margin-top:0}}

/* v1.9.8 · Portada en dos columnas: titular, párrafo y botón alineados fila a fila (sub-cuadrícula) */
@media (min-width:782px){
  .home-content .wp-block-columns:has(.wp-block-buttons){
    display:grid!important;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,5rem);row-gap:0;
  }
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column{
    display:grid;grid-row:span 3;grid-template-rows:subgrid;align-self:stretch!important;
    flex-basis:auto!important;min-width:0;
  }
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > *{margin-top:0;margin-bottom:0}
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > p{padding-top:1.25rem}
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > .wp-block-buttons{margin-top:0;padding-top:1.75rem;align-self:start}
}
/* v1.9.10 · el estado oculto inicial se aplica sin transición (evita el parpadeo al cargar) */
.js-reveal .reveal:not(.is-in){transition:none}

/* v1.9.11 · entrada más ágil */
.js-reveal .reveal{transition:opacity 1s ease,transform 1.1s cubic-bezier(.22,.7,.2,1)}
.js-reveal .reveal:not(.is-in){transition:none}

/* v1.9.15 · En las columnas de la portada, un bloque «Fondo/Portada» vacío (resto de la plantilla antigua) no ocupa fila */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > .wp-block-cover:not(:has(h1,h2,h3,h4,p,.wp-block-buttons)),
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > .wp-block-spacer{display:none!important}

/* v1.9.19 · Hojas laterales de la portada (la cabecera se queda fija encima) */
.side-panel{position:fixed;left:0;right:0;bottom:0;top:var(--panel-top,0);z-index:900;background:#0b0b0b;color:#f2f2f2;visibility:hidden;
  transform:translateX(100%);transition:transform .9s cubic-bezier(.65,.05,.2,1),visibility 0s linear .9s}
.side-panel[data-side="left"]{transform:translateX(-100%)}
.side-panel.is-open{transform:none;visibility:visible;transition:transform .9s cubic-bezier(.65,.05,.2,1),visibility 0s}
.side-panel.no-motion,.side-panel.no-motion.is-open{transition:none}
.side-panel__scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.side-panel__body{max-width:1000px;margin:0 auto;padding:clamp(2.5rem,7vh,4.5rem) clamp(4.5rem,9vw,8rem) 6rem;will-change:transform}
.side-panel__body :is(h1,h2,h3,h4,p,li,a,figcaption,.entry-title){color:inherit}
.side-panel__body .wp-block-button__link{background:#f2f2f2;color:#000}
.side-panel__body .wp-block-button__link:hover{background:transparent;color:#f2f2f2;box-shadow:inset 0 0 0 1px #f2f2f2}
.side-panel__body .reveal{opacity:1!important;transform:none!important}
.side-panel .side-panel__body,.side-panel .side-panel__body .entry-content *:not(.wp-block-button__link):not(svg):not(path){color:#f2f2f2}
.side-panel .side-panel__body .entry-content p{opacity:.85}
/* flechas tipo libro: una vuelve hacia la portada, la otra pasa a la siguiente hoja */
.side-panel__arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;
  background:none;border:0;color:#f2f2f2;cursor:pointer;padding:.5rem;font:500 .72rem/1.2 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;max-width:7rem;text-align:center}
.side-panel__arrow[hidden]{display:none}
.side-panel__arrow .ico{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .25s}
.side-panel__arrow:hover .ico,.side-panel__arrow:focus-visible .ico{background:#fff;color:#000}
.side-panel__arrow .lbl{opacity:.65;transition:opacity .2s}
.side-panel__arrow:hover .lbl{opacity:1}
.side-panel__arrow--home{left:clamp(.5rem,2vw,1.75rem)}
.side-panel__arrow--next{right:clamp(.5rem,2vw,1.75rem)}
.side-panel__arrow--next .ico{transform:scaleX(-1)}
.side-panel__arrow--next:hover .ico{transform:scaleX(-1) translateX(-3px)}
.side-panel__arrow--home:hover .ico{transform:translateX(-3px)}
/* hoja de la izquierda: la portada queda a la derecha, así que se invierten */
.side-panel.home-right .side-panel__arrow--home{left:auto;right:clamp(.5rem,2vw,1.75rem)}
.side-panel.home-right .side-panel__arrow--next{right:auto;left:clamp(.5rem,2vw,1.75rem)}
.side-panel.home-right .side-panel__arrow--home .ico{transform:scaleX(-1)}
.side-panel.home-right .side-panel__arrow--home:hover .ico{transform:scaleX(-1) translateX(-3px)}
.side-panel.home-right .side-panel__arrow--next .ico{transform:none}
.side-panel.home-right .side-panel__arrow--next:hover .ico{transform:translateX(-3px)}
@media (max-width:700px){
  .side-panel__arrow{top:auto;bottom:1rem;transform:none;flex-direction:row;background:rgba(0,0,0,.6);border-radius:2rem;padding:.3rem .8rem .3rem .3rem}
  .side-panel__arrow .ico{width:40px;height:40px}.side-panel__arrow .lbl{display:none}
  .side-panel__body{padding:2rem 1.25rem 6rem}
}
/* la portada se desplaza en sentido contrario mientras entra la hoja; la cabecera no se mueve */
#contenido{transition:transform .9s cubic-bezier(.65,.05,.2,1),opacity .9s ease}
html.panel-open{overflow:hidden}
html.panel-open[data-panel-side="right"] #contenido{transform:translateX(-30vw);opacity:.25}
html.panel-open[data-panel-side="left"] #contenido{transform:translateX(30vw);opacity:.25}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) #contenido{transition:none}}

/* v1.9.20 · Botones de la portada como enlace con flecha larga (insinúan que la hoja se desliza hacia ese lado) */
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link{
  background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  color:var(--text-color,#111)!important;padding:.35rem 0!important;display:inline-flex;align-items:center;gap:1rem;
  font-size:.82rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link::after{
  content:"";display:block;width:3.4rem;height:12px;background:currentColor;flex:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6H58M52 1l6 5-6 5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6H58M52 1l6 5-6 5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:width .35s cubic-bezier(.22,.7,.2,1)}
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link:hover::after,
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link:focus-visible::after{width:5.2rem}
/* columna izquierda: la hoja entra por ese lado, la flecha apunta a la izquierda */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link{flex-direction:row-reverse}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link::after{transform:scaleX(-1)}
/* invitación: la flecha se estira dos veces cuando el botón ya ha aparecido */
@keyframes perdomoArrowNudge{0%,100%{width:3.4rem}45%{width:5.4rem}}
.home-content .wp-block-buttons.is-in .wp-block-button__link::after{animation:perdomoArrowNudge 1.3s ease-in-out 2.4s 2}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) .home-content .wp-block-button__link::after{animation:none!important;transition:none}}

/* v1.9.20 · En móvil, los enlaces de la barra superior (Acerca de, Contacto…) van dentro del menú desplegable */
.main-nav__extra{display:none}
@media (max-width:900px){
  body.menu-open .main-nav__extra{display:block;border-top:1px solid var(--gray-light,#e5e5e5);margin-top:.5rem;padding-top:1rem}
  body.menu-open .main-nav__extra ul{display:flex;flex-direction:column;gap:.8rem;padding:0}
  body.menu-open .main-nav__extra a{font-size:.85rem;opacity:.75}
}

/* v1.9.22 · mientras carga una hoja que no estaba precargada, la flecha se estira y se encoge sin parar */
@keyframes perdomoArrowLoad{0%,100%{width:3.4rem}50%{width:6rem}}
.home-content .wp-block-button__link.is-loading::after{animation:perdomoArrowLoad .8s ease-in-out infinite!important}

/* v1.9.23 · Flechas simétricas: el texto no se mueve, solo se estira la flecha (hacia fuera en cada lado) */
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link::after{width:3.4rem}
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link:hover::after,
.home-content .wp-block-columns:has(.wp-block-buttons) .wp-block-button .wp-block-button__link:focus-visible::after{width:4.8rem}
@keyframes perdomoArrowNudge{0%,100%{width:3.4rem}45%{width:4.8rem}}
@keyframes perdomoArrowLoad{0%,100%{width:3.4rem}50%{width:5rem}}
/* columna izquierda: la flecha crece hacia la izquierda y el hueco que deja se compensa, así la palabra queda quieta */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link::after{width:3.4rem;margin-right:1.4rem;transition:width .35s cubic-bezier(.22,.7,.2,1),margin-right .35s cubic-bezier(.22,.7,.2,1)}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link:hover::after,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link:focus-visible::after{width:4.8rem;margin-right:0}
@keyframes perdomoArrowNudgeL{0%,100%{width:3.4rem;margin-right:1.4rem}45%{width:4.8rem;margin-right:0}}
@keyframes perdomoArrowLoadL{0%,100%{width:3.4rem;margin-right:1.4rem}50%{width:5rem;margin-right:-.2rem}}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-buttons.is-in .wp-block-button__link::after{animation:perdomoArrowNudgeL 1.3s ease-in-out 2.4s 2}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button__link.is-loading::after{animation:perdomoArrowLoadL .8s ease-in-out infinite!important}

/* v1.9.23 · «Ver más» de las tarjetas de servicios: mismo enlace con flecha larga */
.home-content .arrow-link{margin-top:1rem}
.home-content .arrow-link a{display:inline-flex;align-items:center;gap:1rem;color:var(--text-color,#111)!important;text-decoration:none!important;
  font-size:.82rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.35rem 0}
.home-content .arrow-link a::after{content:"";display:block;width:3.4rem;height:12px;background:currentColor;flex:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6H58M52 1l6 5-6 5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6H58M52 1l6 5-6 5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:width .35s cubic-bezier(.22,.7,.2,1)}
.home-content .arrow-link a:hover::after,.home-content .arrow-link a:focus-visible::after{width:4.8rem}
.home-content .arrow-link a.is-loading::after{animation:perdomoArrowLoad .8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) .home-content .arrow-link a::after{transition:none;animation:none!important}}

/* v1.9.23 · fotos de las tarjetas de servicios con la misma proporción, para que los títulos queden alineados */
.home-content .wp-block-columns:has(h3):not(:has(.wp-block-buttons)) .wp-block-image{margin:0 0 1rem}
.home-content .wp-block-columns:has(h3):not(:has(.wp-block-buttons)) .wp-block-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}

/* v1.9.24 · Botón flotante de contacto, en blanco y negro */
.contact-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:800;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.contact-fab__toggle,.contact-fab__list a{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:#0b0b0b;color:#fff;border:1px solid #0b0b0b;text-decoration:none;transition:background .2s,color .2s,transform .25s,opacity .25s}
.contact-fab__toggle:hover,.contact-fab__list a:hover,.contact-fab__toggle:focus-visible,.contact-fab__list a:focus-visible{background:#fff;color:#0b0b0b}
.contact-fab__toggle .i-x{display:none}
.contact-fab.is-open .contact-fab__toggle .i-x{display:block}
.contact-fab.is-open .contact-fab__toggle .i-chat{display:none}
.contact-fab__list{display:flex;flex-direction:column;gap:.6rem}
.contact-fab__list a{opacity:0;transform:translateY(10px) scale(.9);pointer-events:none}
.contact-fab.is-open .contact-fab__list a{opacity:1;transform:none;pointer-events:auto}
.contact-fab.is-open .contact-fab__list a:nth-child(3){transition-delay:.02s}
.contact-fab.is-open .contact-fab__list a:nth-child(2){transition-delay:.06s}
.contact-fab.is-open .contact-fab__list a:nth-child(1){transition-delay:.1s}
.contact-fab__list:empty{display:none}
html.panel-open .contact-fab{opacity:0;pointer-events:none;transition:opacity .3s}
@media (prefers-reduced-motion:reduce){html:not(.force-intro) .contact-fab *{transition:none!important}}

/* v1.9.25 · Columna derecha simétrica: "Descubre más" centrado en la columna, flecha al final apuntando a la derecha
   (la punta llega al borde de la foto y la flecha se estira hacia allí, igual que la izquierda hacia el otro lado) */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-buttons,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button{display:block;width:100%}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link{
  display:grid;grid-template-columns:1fr auto 1fr;width:100%;gap:0;text-align:center;justify-content:normal}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link::before{content:""}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link::after{
  justify-self:end;width:3.4rem;margin-right:1.4rem;transition:width .35s cubic-bezier(.22,.7,.2,1),margin-right .35s cubic-bezier(.22,.7,.2,1)}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link:hover::after,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link:focus-visible::after{width:4.8rem;margin-right:0}
@keyframes perdomoArrowNudgeR{0%,100%{width:3.4rem;margin-right:1.4rem}45%{width:4.8rem;margin-right:0}}
@keyframes perdomoArrowLoadR{0%,100%{width:3.4rem;margin-right:1.4rem}50%{width:5rem;margin-right:-.2rem}}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-buttons.is-in .wp-block-button__link::after{animation:perdomoArrowNudgeR 1.3s ease-in-out 2.4s 2}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button__link.is-loading::after{animation:perdomoArrowLoadR .8s ease-in-out infinite!important}

/* v1.9.26 · El texto de la derecha pegado a la flecha, con la misma separación que en la izquierda (espejo exacto) */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link{
  display:flex;justify-content:flex-end;gap:1rem;text-align:right}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link::before{content:none}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:last-child .wp-block-button .wp-block-button__link::after{justify-self:auto}

/* v1.9.27 · Izquierda: se mueve la punta (hacia el borde), la cola de la flecha se queda fija junto al texto */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link::after{
  margin-right:0;margin-left:1.4rem;transition:width .35s cubic-bezier(.22,.7,.2,1),margin-left .35s cubic-bezier(.22,.7,.2,1)}
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link:hover::after,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column:first-child .wp-block-button .wp-block-button__link:focus-visible::after{margin-right:0;margin-left:0}
@keyframes perdomoArrowNudgeL{0%,100%{width:3.4rem;margin-left:1.4rem;margin-right:0}45%{width:4.8rem;margin-left:0;margin-right:0}}
@keyframes perdomoArrowLoadL{0%,100%{width:3.4rem;margin-left:1.4rem;margin-right:0}50%{width:5rem;margin-left:-.2rem;margin-right:0}}

/* v1.9.28 · «Ver más» de los servicios: la flecha se estira en un gesto corto y descansa unos segundos (bucle) */
@keyframes perdomoArrowLoop{0%,40%,100%{width:3.4rem}18%{width:5.6rem}}
.home-content .arrow-link a::after{animation:perdomoArrowLoop 4s cubic-bezier(.45,0,.25,1) 1.2s infinite}
.home-content .arrow-link a:hover::after,.home-content .arrow-link a:focus-visible::after{animation:none}
.home-content .arrow-link a.is-loading::after{animation:perdomoArrowLoad .8s ease-in-out infinite}
html.panel-open .home-content .arrow-link a::after{animation-play-state:paused}

/* v1.9.30 · Botón de contacto: también redes (Instagram, Vimeo, Facebook) si tienen dirección */
.contact-fab.is-open .contact-fab__list a:nth-child(4){transition-delay:0s}

/* v1.9.32 · Sobre el pie negro, cada botón de contacto se invierte (blanco con icono negro) en cuanto el pie le roza el borde */
.contact-fab .is-dark{background:#fff;color:#0b0b0b;border-color:#fff}
.contact-fab .is-dark:hover,.contact-fab .is-dark:focus-visible{background:#0b0b0b;color:#fff;border-color:#fff}


/* v1.9.33 · Formulario de contacto */
.perdomo-contact-form { max-width: 720px; margin: 2rem auto 0; display: grid; gap: 1.4rem; }
.perdomo-contact-form .pcf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.perdomo-contact-form label { display: block; }
.perdomo-contact-form label > span { display: block; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray-medium); margin-bottom: 0.4rem; }
.perdomo-contact-form input[type="text"], .perdomo-contact-form input[type="email"], .perdomo-contact-form input[type="tel"], .perdomo-contact-form textarea {
    width: 100%; border: 0; border-bottom: 1px solid #0b0b0b; border-radius: 0; background: transparent; padding: 0.6rem 0; font: inherit; color: inherit; outline: none;
}
.perdomo-contact-form textarea { resize: vertical; }
.perdomo-contact-form input:focus, .perdomo-contact-form textarea:focus { border-bottom-width: 2px; }
.perdomo-contact-form .news-consent { display: flex; margin: 0; }
.perdomo-contact-form .news-consent input { width: auto; }
.perdomo-contact-form .pcf-submit { justify-self: start; background: #0b0b0b; color: #fff; border: 1px solid #0b0b0b; padding: 0.9rem 2.2rem; font: inherit; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.8rem; cursor: pointer; transition: background .25s, color .25s; }
.perdomo-contact-form .pcf-submit:hover { background: #fff; color: #0b0b0b; }
.perdomo-contact-form .news-msg { min-height: 1.2em; margin: 0; }
@media (max-width: 600px) { .perdomo-contact-form .pcf-row { grid-template-columns: 1fr; } }


/* v1.9.34 · Móvil vertical: mientras suena la intro, logo suave bajo el vídeo en vez de blanco vacío */
.intro-hold{display:none}
@media (max-width:700px){
  .intro-band:not(.is-skipped):not(.is-done) + .intro-hold,
  .intro-band.is-done + .intro-hold{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
    height:max(0px,calc(100svh - var(--header-h,7.5rem) - 56.25vw));
    overflow:hidden;color:#0b0b0b;opacity:.13;
    transition:height 1s cubic-bezier(.77,0,.18,1),opacity .8s ease;
  }
  .intro-hold svg{width:3.6rem;height:3.6rem}
  .intro-hold span{font-family:'Playfair Display',serif;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}
  .intro-band.is-done + .intro-hold{height:0;opacity:0}
}

/* v1.9.35 · Intro móvil: solo el símbolo, algo más presente */
@media (max-width:700px){
  .intro-band:not(.is-skipped):not(.is-done) + .intro-hold{opacity:.19}
  .intro-hold svg{width:4rem;height:4rem}
}

/* v1.9.36 · Formulario de contacto alineado a la izquierda, con el título y la foto */
.entry-content > .perdomo-contact-form, .perdomo-contact-form { margin-left: 0; margin-right: auto; }

/* v1.9.37 · Contacto en dos columnas: foto/texto a la izquierda, formulario a la derecha */
.contact-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 4rem; align-items: start; max-width: 1080px; margin: 2rem auto 0; }
.contact-layout .entry-content > * { max-width: none; margin-left: 0; margin-right: 0; }
.contact-layout .wp-block-column:empty, .contact-layout .wp-block-spacer { display: none; }
.contact-layout__media img { display: block; width: 100%; height: auto; }
.contact-layout .perdomo-contact-form { margin: 0; max-width: none; }
@media (max-width: 800px) { .contact-layout { grid-template-columns: 1fr; gap: 2.5rem; } }
.contact-layout__media > *, .contact-layout__media figure { margin-top: 0; margin-bottom: 0; }
.contact-layout__media > * + * { margin-top: 1.2rem; }

/* v1.9.38 · Contacto: foto vertical a todo el ancho de su columna (recorta por los lados) */
.contact-layout__media .wp-block-separator, .contact-layout__media hr { display: none; }
.contact-layout__media figure, .contact-layout__media .wp-block-image, .contact-layout__media .wp-block-image figure { width: 100% !important; max-width: none !important; margin: 0 !important; }
.contact-layout__media img {
  display: block; width: 100% !important; max-width: none !important; height: auto !important;
  aspect-ratio: 4 / 5; object-fit: cover; object-position: 38% 50%;
}
@media (max-width: 800px) { .contact-layout__media img { aspect-ratio: 4 / 3; } }

/* v1.9.42 · Portada: los textos cortos de los dos bloques se reparten por igual entre líneas (sin "(VHS" colgando al final) */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > p{ text-wrap: balance; }
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > h1,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > h2,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > h3{ text-wrap: balance; }

/* v1.9.43 · Portada: párrafos o títulos vacíos (o con solo un salto de línea) dentro de las columnas no ocupan fila, para que ambos bloques queden a la misma altura */
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > p:empty,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > p:has(> br:only-child),
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > :is(h1,h2,h3,h4):empty,
.home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > .wp-block-heading:empty{display:none!important}

/* v1.9.44 · Portada: si algún bloque de las columnas lleva márgenes o relleno propios puestos desde el editor (Dimensiones), no desalinean las filas */
@media (min-width:782px){
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > *{margin-top:0!important;margin-bottom:0!important}
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > :is(h1,h2,h3,h4){padding-top:0!important;padding-bottom:0!important}
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > p{padding-top:1.25rem!important;padding-bottom:0!important}
  .home-content .wp-block-columns:has(.wp-block-buttons) > .wp-block-column > .wp-block-buttons{padding-top:1.75rem!important}
}

/* v1.9.45 · Galería de la portada (columnas solo con imágenes): el mismo hueco entre fotos en horizontal y en vertical */
.home-content .wp-block-columns:not(:has(h1,h2,h3,h4,p,.wp-block-buttons)):has(> .wp-block-column > .wp-block-image){
  column-gap:3rem!important;row-gap:3rem!important;
}
.home-content .wp-block-columns:not(:has(h1,h2,h3,h4,p,.wp-block-buttons)) > .wp-block-column > .wp-block-image{margin-top:0!important;margin-bottom:3rem!important}
.home-content .wp-block-columns:not(:has(h1,h2,h3,h4,p,.wp-block-buttons)) > .wp-block-column > .wp-block-image:last-child{margin-bottom:0!important}
.home-content .wp-block-columns:not(:has(h1,h2,h3,h4,p,.wp-block-buttons)) > .wp-block-column > .wp-block-image figcaption{display:none}

/* v1.9.47 · Cabecera: logotipo a la izquierda y todo el menú a la derecha, un poco más grande.
   «Menú» abre un panel blanco que entra desde la derecha con el resto de enlaces. Sin lupa ni botón «Suscribir» */
.utility-nav, .header-actions{display:none!important}
.main-header{gap:2rem}
.header-right{display:flex;align-items:center;gap:2.4rem;margin-left:auto}
.main-nav{display:block!important}
.main-nav ul{display:flex;gap:2.2rem}
.main-nav a{font-size:1.05rem}
.menu-toggle{display:inline-block!important;border:0!important;border-radius:0!important;background:none!important;padding:.3rem 0!important;font:inherit;font-size:1.05rem;color:var(--text-color);cursor:pointer;border-bottom:1px solid transparent!important}
.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{border-bottom-color:var(--nav-underline-color)!important}
@media (max-width:900px){
  .main-nav{display:none!important}
  .main-header{flex-wrap:nowrap}
}

.nav-drawer-backdrop{position:fixed;inset:0;z-index:1250;background:transparent}
.nav-drawer-backdrop[hidden]{display:none}
.nav-drawer{position:fixed;top:calc(var(--header-h,7.5rem) + var(--wp-admin--admin-bar--height,0px));right:0;bottom:0;height:auto;width:min(24rem,100vw);z-index:1300;background:#fff;border-left:1px solid var(--gray-light,#e5e5e5);box-shadow:-18px 0 40px rgba(0,0,0,.05);
  display:flex;flex-direction:column;gap:2.5rem;overflow-y:auto;padding:1.6rem clamp(1.5rem,3vw,2.5rem) 2.5rem;
  transform:translateX(100%);visibility:hidden;transition:transform .7s cubic-bezier(.65,.05,.2,1),visibility 0s linear .7s}
.nav-drawer.is-open{transform:none;visibility:visible;transition:transform .7s cubic-bezier(.65,.05,.2,1),visibility 0s}
.nav-drawer__close{align-self:flex-end;background:none;border:0;font:inherit;font-size:.95rem;color:var(--gray-medium);cursor:pointer;padding:.3rem 0}
.nav-drawer__close:hover{color:var(--text-color)}
.nav-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nav-drawer a{text-decoration:none;color:var(--text-color);transition:opacity .2s}
.nav-drawer a:hover{opacity:.55}
.nav-drawer__main ul{gap:.9rem}
.nav-drawer__main a{font-family:'Playfair Display',serif;font-size:1.75rem;line-height:1.2;letter-spacing:-.02em}
.nav-drawer__main .current-menu-item > a,.nav-drawer__main .current_page_item > a,.nav-drawer__main a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:var(--nav-underline-w);text-decoration-color:var(--nav-underline-color);text-underline-offset:8px}
.nav-drawer__more ul{gap:.7rem}
.nav-drawer__more a,.nav-drawer__social a{font-size:.95rem;color:var(--gray-medium)}
.nav-drawer__more a:hover,.nav-drawer__social a:hover{color:var(--text-color);opacity:1}
.nav-drawer__social{margin-top:auto}
.nav-drawer__social ul{gap:.7rem}
@media (prefers-reduced-motion:reduce){.nav-drawer,.nav-drawer.is-open{transition:none!important}}


/* v1.9.48 Menú lateral: todos los enlaces del mismo tamaño, imagen suave en blanco y negro, redes abajo */
.nav-drawer{overflow-y:auto}
.nav-drawer__main ul,.nav-drawer__more ul,.nav-drawer__social ul{gap:.9rem}
.nav-drawer__more a,.nav-drawer__social a{font-family:'Playfair Display',serif;font-size:1.75rem;line-height:1.2;letter-spacing:-.02em;color:var(--text-color)}
.nav-drawer__more{margin-top:0}
.nav-drawer__image{margin-top:0;width:7.5rem}
.nav-drawer__image img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(.9);opacity:.5}
.nav-drawer__social{margin-top:auto;padding-top:2.4rem}


/* v1.9.49 Subrayado fino al pasar el ratón en todos los botones del menú superior */
.main-nav a{display:inline-block;padding:.3rem 0;border-bottom:var(--nav-underline-w) solid transparent;text-decoration:none!important;transition:border-color .2s}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{border-bottom-color:var(--nav-underline-color);opacity:1}


/* v1.9.50 Página Clientes (bloques .cl-*) */
.cl-intro{max-width:40rem;font-size:1.25rem;line-height:1.5;margin:0 0 3.5rem}
.cl-logos{list-style:none!important;margin:0 0 4.5rem!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:2.5rem 2rem}
.cl-logos li{display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0}
.cl-logos li::marker{content:""}
.cl-logos .cl-logo{height:5rem;display:flex;align-items:center}
.cl-logos img{max-height:100%;max-width:70%;width:auto;filter:grayscale(1);opacity:.85}
.cl-logos span{font-size:.9rem;color:#666}
.cl-group{display:grid;grid-template-columns:minmax(10rem,1fr) 3fr;gap:1rem 3rem;padding:2rem 0;border-top:1px solid #ddd}
.cl-group h2{font-size:1.1rem;font-weight:500;margin:0;padding:0}
.cl-group ul{list-style:none!important;margin:0!important;padding:0!important;columns:2;column-gap:3rem}
.cl-group li{padding:.25rem 0;margin:0;break-inside:avoid}
@media(max-width:700px){.cl-group{grid-template-columns:1fr}.cl-group ul{columns:1}}


/* v1.9.51 Subrayado compartido (menú superior y lateral) */
:root{--nav-underline-w:1px;--nav-underline-color:currentColor}

/* v1.9.51 Galería con lightbox ([galeria_perdomo]) */
.pg-galeria { --pg-accent: #1f3d2e; --pg-ease: cubic-bezier(.2,.8,.2,1); columns: 3; column-gap: 16px; }
@media (max-width: 800px) { .pg-galeria { columns: 2; column-gap: 10px; } }
.pg-item { position: relative; display: block; margin: 0 0 16px; break-inside: avoid; overflow: hidden;
  cursor: zoom-in; background: #eee; border: 0; border-radius: 0; padding: 0; width: 100%;
  color: inherit; -webkit-appearance: none; appearance: none; }
.pg-item img { display: block; width: 100%; height: auto; transition: transform .6s var(--pg-ease); }
.pg-item::before { content: ""; position: absolute; inset: 0; opacity: 0; z-index: 1;
  background: linear-gradient(135deg, var(--pg-accent) 0%, color-mix(in srgb, var(--pg-accent) 55%, #fff) 100%);
  transition: opacity .35s ease; }
.pg-item:hover::before, .pg-item:focus-visible::before { opacity: .88; }
.pg-item:hover img { transform: scale(1.04); }
.pg-info { position: absolute; left: 18px; top: 16px; z-index: 2; display: block; color: #fff; text-align: left;
  opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .45s var(--pg-ease); }
.pg-info b { display: block; font: 600 .78rem/1.3 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.pg-info span { display: block; font: .72rem/1.4 system-ui, sans-serif; opacity: .8; }
.pg-lupa { position: absolute; left: 50%; top: 50%; z-index: 2; width: 40px; height: 40px; margin: -20px 0 0 -20px;
  border-radius: 50%; background: rgba(0,0,0,.35); display: grid; place-items: center;
  opacity: 0; transform: scale(.6); transition: opacity .3s ease, transform .45s var(--pg-ease); }
.pg-lupa svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; }
.pg-item:hover .pg-info, .pg-item:focus-visible .pg-info,
.pg-item:hover .pg-lupa, .pg-item:focus-visible .pg-lupa { opacity: 1; transform: none; }
.pg-lb { position: fixed; inset: 0; z-index: 100000; display: none; }
.pg-lb.is-open { display: block; }
.pg-lb-bg { position: absolute; inset: 0; background: rgba(8,8,8,.94); opacity: 0; }
.pg-lb-img { position: fixed; transform-origin: 0 0; will-change: transform, opacity; user-select: none; -webkit-user-drag: none; }
.pg-lb-x, .pg-lb-nav { position: absolute; z-index: 2; background: none; border: 0; color: #fff; cursor: pointer;
  opacity: 0; transition: opacity .3s ease; font: 300 28px/1 system-ui, sans-serif; padding: 14px; box-shadow: none; }
.pg-lb.is-ready .pg-lb-x, .pg-lb.is-ready .pg-lb-nav { opacity: .75; }
.pg-lb-x:hover, .pg-lb-nav:hover { opacity: 1 !important; background: none; color: #fff; }
.pg-lb-x { top: 8px; right: 12px; font-size: 32px; }
.pg-lb-prev { left: 8px; top: 50%; margin-top: -28px; }
.pg-lb-next { right: 8px; top: 50%; margin-top: -28px; }
.pg-lb-cap { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; color: #fff;
  font: .8rem system-ui, sans-serif; letter-spacing: .06em; opacity: 0; transition: opacity .3s ease; }
.pg-lb.is-ready .pg-lb-cap { opacity: .7; }
body.pg-lock { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .pg-item img, .pg-info, .pg-lupa { transition: none; } }

/* v1.9.51 Vídeo Bunny ([video_bunny]) */
.pv-bunny{position:relative;aspect-ratio:16/9;background:#000;margin:0 0 2rem}
.pv-bunny iframe{position:absolute;inset:0;width:100%;height:100%;border:0}


/* v1.9.53 Panel lateral: nunca por encima de la barra negra (con o sin barra de administración) */
.admin-bar .nav-drawer{--wp-admin--admin-bar--height:32px}
@media (max-width:782px){.admin-bar .nav-drawer{--wp-admin--admin-bar--height:46px}}


/* v1.9.56 Menú lateral: línea fina al pasar el ratón (igual que el menú superior) */
.nav-drawer a:hover{opacity:1}
.nav-drawer__main a,.nav-drawer__more a,.nav-drawer__social a{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:var(--nav-underline-w);text-underline-offset:8px;transition:text-decoration-color .25s ease}
.nav-drawer__main a:hover,.nav-drawer__more a:hover,.nav-drawer__social a:hover,
.nav-drawer__main a:focus-visible,.nav-drawer__more a:focus-visible,.nav-drawer__social a:focus-visible{text-decoration-color:var(--nav-underline-color)}
.nav-drawer__main a[aria-current="page"]{text-decoration-color:var(--nav-underline-color)}

/* v1.9.56 Intro: los botones «Saltar» y altavoz desaparecen antes de que suba la banda */
.intro-band.is-closing .intro-band__skip,.intro-band.is-closing .intro-band__sound{opacity:0!important;pointer-events:none;transition:opacity .25s ease}


/* v1.9.57 Fotos de la página enlazadas a un proyecto (#proyecto-123): mismo velo verde y lupa, sin cambiar la maquetación */
a.pg-link{position:relative;display:block;overflow:hidden;cursor:zoom-in;text-decoration:none;--pg-accent:#1f3d2e;--pg-ease:cubic-bezier(.2,.8,.2,1)}
a.pg-link img{display:block;width:100%;height:auto;transition:transform .6s var(--pg-ease)}
a.pg-link::before{content:"";position:absolute;inset:0;opacity:0;z-index:1;background:linear-gradient(135deg,var(--pg-accent) 0%,color-mix(in srgb,var(--pg-accent) 55%,#fff) 100%);transition:opacity .35s ease}
a.pg-link:hover::before,a.pg-link:focus-visible::before{opacity:.88}
a.pg-link:hover img{transform:scale(1.04)}
a.pg-link .pg-info{position:absolute;left:18px;top:16px;z-index:2;display:block;color:#fff;text-align:left;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .45s var(--pg-ease)}
a.pg-link .pg-info b{display:block;font:600 .78rem/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
a.pg-link .pg-info span{display:block;font:.72rem/1.4 system-ui,sans-serif;opacity:.8}
a.pg-link .pg-lupa{position:absolute;left:50%;top:50%;z-index:2;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(0,0,0,.35);display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .3s ease,transform .45s var(--pg-ease)}
a.pg-link .pg-lupa svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
a.pg-link:hover .pg-info,a.pg-link:focus-visible .pg-info,a.pg-link:hover .pg-lupa,a.pg-link:focus-visible .pg-lupa{opacity:1;transform:none}


/* v1.9.58 Fotos con texto informativo al pasar el ratón (fecha + texto), mismo velo verde */
a.pg-link.pg-nolupa{cursor:default}
a.pg-link.pg-nolupa .pg-lupa{display:none}
a.pg-link .pg-info--text{left:0;right:0;top:0;bottom:0;padding:1.4rem 1.5rem;overflow:hidden;box-sizing:border-box}
a.pg-link .pg-info--text small{display:block;font:.7rem/1.3 system-ui,sans-serif;letter-spacing:.06em;opacity:.85;margin-bottom:.5rem}
a.pg-link .pg-info--text b{margin-bottom:.7rem}
a.pg-link .pg-info--text .pg-body{display:block;font:clamp(.78rem,1vw,.92rem)/1.5 system-ui,sans-serif;opacity:1}
a.pg-link.is-shown::before{opacity:.92}
a.pg-link.is-shown .pg-info,a.pg-link.is-shown .pg-lupa{opacity:1;transform:none}


/* v1.9.59 Fotos con texto: la foto se queda entera y un panel oscuro entra de izquierda a derecha (sin velo verde ni fundido) */
a.pg-link.pg-text::before{display:none}
a.pg-link.pg-text:hover img{transform:none}
a.pg-link.pg-text .pg-info--text{
  left:5%;top:8%;right:auto;bottom:auto;width:54%;max-height:84%;overflow:auto;scrollbar-width:none;
  background:rgba(22,20,21,.93);color:#fff;padding:1.3rem 1.4rem;box-sizing:border-box;
  opacity:1;transform:translateX(-120%);visibility:hidden;
  transition:transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s linear .6s}
a.pg-link.pg-text .pg-info--text::-webkit-scrollbar{display:none}
a.pg-link.pg-text:hover .pg-info--text,a.pg-link.pg-text:focus-visible .pg-info--text,a.pg-link.pg-text.is-shown .pg-info--text{
  transform:none;visibility:visible;transition:transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s}
a.pg-link.pg-text .pg-info--text .pg-body{font-size:clamp(.8rem,1.1vw,.98rem);line-height:1.45}
/* si además abre galería, la lupa pasa a la esquina para no tapar el panel */
a.pg-link.pg-text .pg-lupa{left:auto;top:auto;right:14px;bottom:14px;margin:0;width:34px;height:34px}
@media (max-width:700px){a.pg-link.pg-text .pg-info--text{left:4%;width:66%}}
@media (prefers-reduced-motion:reduce){a.pg-link.pg-text .pg-info--text{transition:none}}


/* v1.9.60 Enlace con «+» dentro del panel de texto */
a.pg-link .pg-more{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.1rem;color:#fff;cursor:pointer;
  font:600 .72rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  padding-bottom:.35rem;border-bottom:var(--nav-underline-w,1px) solid transparent;transition:border-color .25s ease}
a.pg-link .pg-more:hover,a.pg-link .pg-more:focus-visible{border-bottom-color:#fff;outline:none}
a.pg-link .pg-more svg{width:1.45rem;height:1.45rem;flex:none;fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round;transition:transform .35s ease}
a.pg-link .pg-more:hover svg{transform:rotate(90deg)}
a.pg-link.pg-text:focus-within .pg-info--text{transform:none;visibility:visible;transition:transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s}

a.pg-link .pg-info--text .pg-more{display:inline-flex;opacity:1;font:600 .72rem/1 system-ui,sans-serif}
a.pg-link .pg-info--text .pg-more > span{display:inline;opacity:1;font:inherit}


/* v1.9.63 «+» fijo en la esquina de la foto (móvil); en pantallas grandes se queda dentro del panel */
a.pg-link .pg-more--fuera{display:none}
@media (max-width:700px){
  a.pg-link .pg-info--text .pg-more{display:none}
  a.pg-link .pg-more--fuera{
    display:flex;align-items:center;justify-content:center;position:absolute;right:12px;bottom:12px;z-index:3;margin:0;padding:0;
    width:46px;height:46px;border:0;border-radius:50%;background:rgba(22,20,21,.93);-webkit-tap-highlight-color:transparent}
  a.pg-link .pg-more--fuera svg{width:1.6rem;height:1.6rem}
  a.pg-link .pg-more--fuera:active svg{transform:rotate(90deg)}
  a.pg-link.pg-text .pg-info--text{max-height:calc(100% - 8% - 70px)}
  a.pg-link.pg-text .pg-lupa{right:68px}
}


/* v1.9.64 Móvil: panel de texto con el mismo margen arriba y abajo, más aire y un pelín translúcido; «+» algo más pequeño */
a.pg-link.pg-text .pg-info--text{background:rgba(22,20,21,.88)}
@media (max-width:700px){
  a.pg-link.pg-text .pg-info--text{
    top:8%;bottom:8%;left:4%;width:74%;max-height:none;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding:1.7rem 1.6rem 2rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  a.pg-link.pg-text .pg-info--text small{margin-bottom:.7rem}
  a.pg-link.pg-text .pg-info--text b{margin-bottom:1.1rem;letter-spacing:.1em}
  a.pg-link.pg-text .pg-info--text .pg-body{font-size:.88rem;line-height:1.65;letter-spacing:.005em}
  a.pg-link .pg-more--fuera{width:40px;height:40px;right:12px;bottom:12px}
  a.pg-link .pg-more--fuera svg{width:1.45rem;height:1.45rem}
  a.pg-link.pg-text .pg-lupa{right:60px}
}


/* v1.9.65 Móvil: panel más ancho y compacto para que el texto quepa; la letra se autoajusta por JS */
@media (max-width:700px){
  a.pg-link.pg-text .pg-info--text{width:78%;padding:1.35rem 1.3rem 1.4rem}
  a.pg-link.pg-text .pg-info--text b{margin-bottom:.8rem}
  a.pg-link.pg-text .pg-info--text .pg-body{line-height:1.5}
}


/* v1.9.66 Anillo de fotos que gira con el scroll */
.anillo{position:relative;width:100vw;margin:4rem 0 4rem calc(50% - 50vw);height:175vh;--anillo-acento:#2a6347}
.anillo__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}
.anillo__pin::before{content:"";position:absolute;left:50%;top:50%;width:min(86vw,150vh);aspect-ratio:1;border:1px solid rgba(0,0,0,.16);border-radius:50%;transform:translate(-50%,-50%) scale(var(--anillo-aro,.85));opacity:var(--anillo-op,0)}
.anillo__texto{position:absolute;z-index:4;left:clamp(1.2rem,6vw,7rem);top:clamp(5rem,12vh,8rem);max-width:22rem;font:.9rem/1.5 system-ui,sans-serif;color:#111}
.anillo .anillo__titulo{margin:0;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:inherit;font-weight:600;font-size:min(19vw,25vh)!important;line-height:.9!important;letter-spacing:-.045em;color:#111;text-transform:none;border:0}
.anillo__l{display:block;position:relative;z-index:1;will-change:transform,opacity;transform:translateY(calc(var(--anillo-t,0) * 1px));opacity:var(--anillo-op,1)}
.anillo .anillo__l--acento{z-index:6;color:var(--anillo-acento)}
.anillo__aro{position:absolute;z-index:3;left:50%;top:50%;width:0;height:0;margin:0;padding:0;list-style:none;pointer-events:none;
  transform:translate(0,calc(var(--anillo-y,0) * 1px)) rotate(calc(var(--anillo-rot,0) * 1deg)) scale(var(--anillo-s,1))}
.anillo__card{position:absolute;left:0;top:0;width:var(--anillo-w,13vmin);margin:calc(var(--anillo-w,13vmin) * -.6) 0 0 calc(var(--anillo-w,13vmin) * -.5);
  transform:rotate(calc(360deg / var(--anillo-n,12) * var(--i))) translateY(calc(var(--anillo-r,26vmin) * -1)) rotate(8deg)}
.anillo__foto{display:block;background:#fff;padding:3% 3% 20%;box-shadow:0 .4rem 1.4rem rgba(0,0,0,.14)}
.anillo__foto img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.anillo__card em{position:absolute;left:9%;bottom:7%;font:normal .72rem/1 ui-monospace,Menlo,monospace;color:#555;letter-spacing:.06em}
.anillo[data-listo] .anillo__card{transition:none}
@media (max-width:700px){.anillo{height:165vh}.anillo__texto{max-width:15rem;font-size:.8rem}.anillo .anillo__titulo{font-size:min(25vw,15vh)!important}}
@media (prefers-reduced-motion:reduce){.anillo{height:auto}.anillo__pin{position:relative;height:100vh}}
.anillo__texto{max-width:18rem}
.anillo__titulo{margin-top:6vh}

/* v1.9.68 etiqueta pequeña + texto arriba a la izquierda */
.anillo__tag{display:inline-block;margin:0 0 .8rem;padding:.18rem .5rem;border:1px solid var(--anillo-acento);border-radius:.3rem;font:500 .68rem/1 ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--anillo-acento)}
.anillo__texto{margin:0}
.anillo .anillo__texto p{margin:0}


/* v1.9.70 Logo en el círculo fino (barras que se van con el scroll) y líneas horizontales finas */
.anillo__logo{position:absolute;z-index:0;left:50%;top:50%;width:min(86vw,150vh);height:auto;aspect-ratio:1;pointer-events:none;overflow:visible;
  transform:translate(-50%,-50%) scale(var(--anillo-aro,.85));opacity:var(--anillo-op,0);fill:var(--anillo-logo,rgba(0,0,0,.055))}
.anillo__hl{position:absolute;z-index:0;left:0;right:0;height:1px;background:rgba(0,0,0,.13);pointer-events:none;opacity:var(--anillo-op,0)}
.anillo__hl--1{top:49%}.anillo__hl--2{top:74%}

/* v1.9.73 el anillo ignora el ancho máximo del contenedor */
.anillo{max-width:none!important;margin-right:0!important}


/* v1.9.74 Frase grande sobre verde oscuro + fotos a la deriva */
.frase{position:relative;width:100vw;margin:0;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--frase-bg,#1f3d2e);color:#fff;padding:14vh 6vw;box-sizing:border-box;max-width:none!important}
.frase__texto{position:relative;z-index:1;margin:0;max-width:92vw;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:-.02em;line-height:1.04;font-size:min(5.2vw,10vh)}
.frase__l{display:block;overflow:hidden;padding:.06em 0}
.frase__l > span{display:block;transform:translateY(105%);opacity:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s ease;transition-delay:calc(var(--n) * .14s)}
.frase.is-in .frase__l > span{transform:none;opacity:1}
.frase__l--2{font-size:.72em;line-height:1.1}
.frase__l em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;color:var(--frase-acento,#9fd9b4)}
.frase__barras{position:absolute;right:0;bottom:11vh;display:flex;flex-direction:column;align-items:flex-end;gap:.7vh;pointer-events:none}
.frase__barras i{display:block;height:max(5px,.8vh);width:calc(var(--w) * 1vw);background:var(--frase-acento,#9fd9b4);opacity:.9;transform:translateX(105%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--n) * .07s + .3s)}
.frase.is-in .frase__barras i{transform:none}
@media (max-width:700px){.frase__texto{font-size:min(8.4vw,6.4vh)}.frase__barras i{width:calc(var(--w) * 1.5vw)}}
@media (prefers-reduced-motion:reduce){.frase__l > span,.frase__barras i{transition:none;transform:none;opacity:1}}

.deriva{position:relative;width:100vw;height:230vh;background:#fff}
.deriva__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.deriva__foto{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1vw);margin:0;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;
  transform:translate(-50%,-50%) translateX(calc(var(--dx,0) * var(--v) * 1px));will-change:transform}
.deriva__foto::before,.deriva__foto .pg-info,.deriva__foto .pg-lupa{display:none}
.deriva__foto img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.deriva__foto:hover img{transform:scale(1.04)}
.deriva__linea{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1vw);height:max(4px,.7vh);background:#2a6347;opacity:.85;pointer-events:none;
  transform:translateX(calc(var(--dx,0) * var(--v) * 1px));will-change:transform}
@media (max-width:700px){.deriva{height:200vh}.deriva__foto{width:calc(var(--w) * 2.1vw)}.deriva__linea{width:calc(var(--w) * 2vw)}}
@media (prefers-reduced-motion:reduce){.deriva{height:auto}.deriva__pin{position:relative;height:auto;min-height:100vh}.deriva__foto,.deriva__linea{transform:translate(-50%,-50%)}}

/* v1.9.75 etiqueta de sección pequeña (clase "etiqueta-seccion") */
.etiqueta-seccion,.wp-block-heading.etiqueta-seccion{display:flex;align-items:center;gap:.8em;margin:clamp(2.5rem,6vw,5rem) 0 1.2rem;font:600 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#2a6347}
.etiqueta-seccion::after{display:none!important}

/* v1.9.76 Frase: texto blanco y completo (ganando a ".entry-content p"), barras gruesas que desvelan cada línea; deriva con bandas verdes suaves */
.frase .frase__texto{max-width:94vw!important;width:auto;color:#fff!important}
.frase .frase__l,.frase .frase__l em{color:#fff}
.frase .frase__l{position:relative;display:block;overflow:visible;padding:0;margin:0 auto;width:fit-content;max-width:100%}
.frase .frase__l > span{display:block;transform:none;opacity:1;transition:none;visibility:hidden}
.frase .frase__l::after{content:"";position:absolute;left:0;right:0;top:.04em;bottom:.04em;background:var(--frase-barra,#3f8a63);transform:scaleX(0);transform-origin:left center;pointer-events:none}
.frase.is-in .frase__l > span{animation:frase-txt .95s steps(1,end) both;animation-delay:calc(var(--n) * .16s)}
.frase.is-in .frase__l::after{animation:frase-barra .95s cubic-bezier(.65,0,.25,1) both;animation-delay:calc(var(--n) * .16s)}
@keyframes frase-txt{0%,49.9%{visibility:hidden}50%,100%{visibility:visible}}
@keyframes frase-barra{0%{transform:scaleX(0);transform-origin:left center}50%{transform:scaleX(1);transform-origin:left center}50.1%{transform:scaleX(1);transform-origin:right center}100%{transform:scaleX(0);transform-origin:right center}}
.frase .frase__barras{display:none}
@media (prefers-reduced-motion:reduce){.frase .frase__l > span{visibility:visible;animation:none}.frase .frase__l::after{display:none}}

.deriva{max-width:none!important;margin-right:0!important}
.deriva__linea{height:max(36px,8vh);width:calc(var(--w) * 3.2vw);background:rgba(42,99,71,.11);opacity:1}
@media (max-width:700px){.deriva__linea{width:calc(var(--w) * 4.2vw);height:max(30px,6vh)}}

/* v1.9.77 Frase fijada con scroll: texto mucho más grande, barras que desvelan cada línea según scroll, y paso suave de verde a blanco */
.frase{display:block;height:310vh;min-height:0;padding:0;overflow:clip;max-width:none!important}
.frase__pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;padding:0 3vw;box-sizing:border-box;overflow:hidden}
.frase .frase__texto{font-size:min(10vw,15vh);line-height:1;max-width:96vw!important;opacity:calc(1 - var(--fade,0) * 1.5)}
.frase .frase__l--2{font-size:.4em;line-height:1.25;letter-spacing:0}
.frase .frase__l--2:first-of-type{margin-top:0}
.frase .frase__l--2 + .frase__l--2{margin-top:0}
.frase .frase__l:not(.frase__l--2) + .frase__l--2{margin-top:.5em}
.frase__velo{position:absolute;inset:0;background:#fff;opacity:var(--fade,0);pointer-events:none;z-index:2}
.frase .frase__l::after,.frase.is-in .frase__l::after{animation:none;transform:scaleX(var(--bs,0));transform-origin:var(--bo,left center)}
.frase.js .frase__l > span,.frase.js.is-in .frase__l > span{animation:none;visibility:hidden}
.frase.js .frase__l.on > span,.frase.js.is-in .frase__l.on > span{visibility:visible}
@media (max-width:700px){.frase{height:300vh}.frase .frase__texto{font-size:min(11.6vw,10.5vh)}}
@media (prefers-reduced-motion:reduce){.frase{height:auto}.frase__pin{position:relative;min-height:100vh}.frase__velo{display:none}}

/* v1.9.78 panel de texto con el mismo tamaño en todas las fotos; anillo oculto hasta que se hace scroll; la galería entra en verde y pasa a blanco */
@media (min-width:701px){a.pg-link.pg-text .pg-info--text{width:clamp(210px,17vw,300px);max-width:86%;min-height:min(62%,22rem)}}
.anillo{margin-top:clamp(120px,26vh,300px)!important}
.frase__velo{display:none}

/* v1.9.79 panel igual de alto en todas las fotos; frase empieza en cuanto asoma el verde; sin franja blanca entre secciones */
@media (min-width:701px){a.pg-link.pg-text .pg-info--text{top:7%;bottom:7%;height:auto;max-height:none;min-height:0;overflow-y:auto}}
.frase,.deriva{margin-top:0!important;margin-bottom:0!important}
.frase{margin-block:0!important}
.frase + .deriva,.frase + *{margin-top:0!important}
.deriva{margin-top:-1px!important;position:relative;z-index:1}

/* v1.9.82 menos scroll de espera tras la frase */
.frase{height:260vh}
@media (max-width:700px){.frase{height:240vh}}

/* v1.9.83 las bandas del logo de la galería aparecen más tarde, cuando el fondo ya se está aclarando */
.deriva__linea{opacity:var(--bandas,1)}

/* v1.9.84 Franja de clientes: logos fijos en gris suave */
.clientes{margin:clamp(3rem,7vw,6rem) auto;padding:clamp(1.8rem,3.5vw,3rem) 0;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);max-width:none}
.clientes .clientes__et{margin:0 0 clamp(1.4rem,2.6vw,2.2rem);max-width:none;text-align:center;font:600 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8a8a8a}
.clientes__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));justify-items:center;align-items:center;gap:1.8rem 1.4rem}
.clientes__lista li{margin:0;padding:0;display:flex;align-items:center;justify-content:center}
.clientes__lista a{display:flex;align-items:center}
.clientes__lista img{display:block;height:clamp(26px,3vw,42px);width:auto;max-width:116px;object-fit:contain;filter:grayscale(1);opacity:.5;transition:opacity .35s ease,filter .35s ease}
.clientes__lista li:hover img,.clientes__lista a:focus-visible img{filter:grayscale(0);opacity:1}
@media (max-width:700px){.clientes__lista{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;gap:1.6rem 1rem}.clientes__lista img{height:28px;max-width:26vw}}

/* v1.9.85 Franja de clientes a todo el ancho, pegada al pie, sobre gris claro y con logos más grandes */
.clientes{max-width:none!important;margin:clamp(3rem,7vw,6rem) 0 0!important;padding:clamp(3.5rem,8vw,7rem) 0;border:0;background:#e7e7e4;min-height:min(62vh,540px);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.clientes .clientes__et{margin:0 0 clamp(2rem,4vw,3.6rem);color:#7b7b78}
.clientes__lista{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,4vw,3.6rem) 0;max-width:1240px;margin:0 auto;padding:0 3vw;box-sizing:border-box;width:100%}
.clientes__lista li{flex:0 0 20%;justify-content:center;padding:0 1.2vw;box-sizing:border-box}
.clientes__lista img{height:clamp(38px,4.8vw,70px);max-width:100%;opacity:.72;filter:grayscale(1) contrast(1.1)}
.clientes__lista li:hover img,.clientes__lista a:focus-visible img{opacity:1;filter:grayscale(0)}
@media (max-width:700px){.clientes{min-height:0}.clientes__lista{display:flex}.clientes__lista li{flex:0 0 33.33%;padding:0 .8rem}.clientes__lista img{height:34px}}

/* v1.9.86 Clientes: una sola fila de lado a lado como el pie, y logos integrados en el fondo (sin recuadro blanco) */
.clientes{min-height:min(46vh,420px);padding:clamp(3rem,6vw,5.5rem) 0}
.clientes__lista{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0 1.5rem;max-width:none;width:100%;margin:0;padding:0 4%}
.clientes__lista li{flex:0 1 auto;min-width:0;padding:0;justify-content:center}
.clientes__lista img{height:clamp(24px,3.4vw,54px);width:auto;max-width:100%;mix-blend-mode:multiply;opacity:.85;filter:grayscale(1) contrast(1.15)}
.clientes .clientes__et{padding:0 4%;text-align:left}
.clientes__lista li:hover img,.clientes__lista a:focus-visible img{opacity:1;filter:grayscale(0) contrast(1)}
@media (max-width:700px){.clientes__lista{flex-wrap:wrap;justify-content:center;gap:1.8rem 0}.clientes__lista li{flex:0 0 33.33%;padding:0 .8rem}.clientes__lista img{height:30px;max-width:100%}.clientes .clientes__et{text-align:center}}

/* v1.9.87 Clientes: logos al menos el doble de grandes y franja mucho menos alta */
.clientes{min-height:0;padding:clamp(1.8rem,3vw,2.8rem) 0}
.clientes .clientes__et{margin:0 0 clamp(1rem,1.8vw,1.6rem)}
.clientes__lista{gap:0 clamp(.8rem,1.6vw,1.6rem)}
.clientes__lista li{flex:1 1 0}
.clientes__lista img{width:100%;height:auto;max-height:clamp(70px,9vw,130px);max-width:150px;object-fit:contain}
.clientes__lista a{width:100%;justify-content:center}
@media (max-width:700px){.clientes{padding:1.8rem 0}.clientes__lista{gap:1.2rem 0}.clientes__lista li{flex:0 0 33.33%}.clientes__lista img{width:100%;max-width:104px;max-height:86px}}

/* v1.9.88 Galería a la deriva: lugar y año encima de cada foto */
.deriva__foto{overflow:visible}
.deriva__img{display:block;overflow:hidden}
.deriva__cap{position:absolute;left:0;bottom:100%;margin-bottom:.7em;white-space:nowrap;text-align:left;font:600 clamp(.58rem,.72vw,.7rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cap,rgba(255,255,255,.85));pointer-events:none}
.deriva__foto img{width:100%}

/* v1.9.89 Textos de la deriva: más arriba, más discretos y, si no caben, siguen en vertical por el borde derecho */
.deriva__cap{margin-bottom:1.15em;opacity:.6}
.deriva__cap2{position:absolute;left:100%;top:0;margin-left:.7em;writing-mode:vertical-rl;white-space:nowrap;font:600 clamp(.58rem,.72vw,.7rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cap,rgba(255,255,255,.85));opacity:.6;pointer-events:none}

/* v1.9.90 Líneas de fondo de la deriva más suaves */
.deriva__linea{background:rgba(42,99,71,.06)}

/* v1.9.93 Portada: las tres tarjetas (Digitalización, Fotografía, Audiovisual) vuelven a tener hueco entre columnas */
.home-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column > h3){
  display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  column-gap:clamp(1.5rem,3.2vw,3.2rem)!important;row-gap:2.5rem!important;
}
.home-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column > h3) > .wp-block-column{flex:1 1 0!important;min-width:0!important;display:block!important}
@media (max-width:781px){
  .home-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column > h3){flex-wrap:wrap!important}
  .home-content .wp-block-columns:has(> .wp-block-column > .wp-block-image):has(> .wp-block-column > h3) > .wp-block-column{flex:1 1 100%!important}
}

/* v1.9.97 El anillo se va mostrando poco a poco según sube (--ve va de 0 a 1 con el scroll), sin aparecer de golpe abajo */
.anillo__pin::before{opacity:calc(var(--anillo-op,0) * var(--ve,0))}
.anillo__logo{opacity:calc(var(--anillo-op,0) * var(--ve,0))}
.anillo__hl{opacity:calc(var(--anillo-op,0) * var(--ve,0))}
.anillo .anillo__l{opacity:calc(var(--anillo-op,1) * var(--ve,0))}
.anillo__aro{opacity:var(--ve,0);scale:calc(.9 + .1 * var(--ve,0))}
.anillo .anillo__titulo{scale:calc(.94 + .06 * var(--ve,0))}
@media (prefers-reduced-motion:reduce){.anillo{--ve:1!important}}

/* v1.9.98 El anillo baja un poco para que arriba no choque con la cabecera: aro, título, logo y aro fino se desplazan juntos */
.anillo{--anillo-baja:calc(var(--header-h,6rem) * .4)}
.anillo__pin{padding-top:calc(var(--anillo-baja) * 2);box-sizing:border-box}
.anillo__aro{top:calc(50% + var(--anillo-baja))}
.anillo__pin::before,.anillo__logo{top:calc(50% + var(--anillo-baja))}

/* v1.9.100 Más recorrido para girar las fotos del anillo antes de que suba el texto */
.anillo{height:225vh}
@media (max-width:700px){.anillo{height:205vh}}
@media (prefers-reduced-motion:reduce){.anillo{height:auto}}

/* v1.9.102 Botón «Saltar» y altavoz más arriba (con la barra de WordPress la banda quedaba más baja de la pantalla) y banda ajustada a la altura visible */
.intro-band{max-height:calc(100svh - var(--header-h,7.5rem) - var(--wp-admin--admin-bar--height,0px))}
.intro-band__skip,.intro-band__sound{bottom:clamp(2.6rem,7vh,4.4rem)}
/* el anillo se prepara antes de que se vea (así la primera vez no da tirón) */
.anillo__card{will-change:transform}

/* v1.9.104 Vídeos a pantalla completa: uno por pantalla, cada uno cubre al anterior al bajar */
.vids{position:relative;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:0!important;background:#0c1511}
.vid{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff;background:#0c1511;box-sizing:border-box;border-top:1px solid rgba(255,255,255,.08)}
.vid:nth-child(1){z-index:1}.vid:nth-child(2){z-index:2}.vid:nth-child(3){z-index:3}.vid:nth-child(4){z-index:4}.vid:nth-child(5){z-index:5}.vid:nth-child(6){z-index:6}.vid:nth-child(7){z-index:7}.vid:nth-child(8){z-index:8}.vid:nth-child(9){z-index:9}.vid:nth-child(10){z-index:10}
.vid__fondo{position:absolute;inset:0;background:#0c1511 var(--vid-img,none) center/cover no-repeat}
.vid__fondo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.vid.is-on .vid__fondo video.is-play{opacity:1}
.vid__vela{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,12,8,.78) 0%,rgba(5,12,8,.28) 42%,rgba(5,12,8,.18) 100%);pointer-events:none}
.vid__cab{position:absolute;left:clamp(1.2rem,4vw,4.5rem);right:clamp(1.2rem,4vw,4.5rem);top:calc(var(--header-h,6rem) + 1.4rem);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font:600 clamp(.62rem,.78vw,.76rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.vid__num{color:rgba(255,255,255,.7)}
.vid__meta{color:#9fd9b4}
.vid__pie{position:absolute;left:clamp(1.2rem,4vw,4.5rem);right:clamp(1.2rem,4vw,4.5rem);bottom:clamp(2rem,7vh,5rem);max-width:min(1100px,92vw)}
.vid .vid__titulo{margin:0;padding:0;color:#fff;font:600 min(8vw,14vh)/.95 'Inter',system-ui,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.vid__frase{margin:clamp(.9rem,2vh,1.6rem) 0 0;max-width:46rem;font:400 clamp(.9rem,1.1vw,1.05rem)/1.5 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vid__cab,.vid__pie,.vid__ver{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,.7,.2,1)}
.vid.is-on .vid__cab,.vid.is-on .vid__pie,.vid.is-on .vid__ver{opacity:1;transform:none}
.vid.is-on .vid__pie{transition-delay:.12s}.vid.is-on .vid__ver{transition-delay:.3s}
.vid__ver{position:absolute;right:clamp(1.2rem,4vw,4.5rem);bottom:clamp(2rem,7vh,5rem);display:inline-flex;align-items:center;gap:.9rem;padding:.85rem 1.3rem .85rem 1.5rem;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(0,0,0,.28);color:#fff;font:600 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vid__ver i{width:0;height:0;border-left:.62rem solid currentColor;border-top:.4rem solid transparent;border-bottom:.4rem solid transparent}
.vid__ver:hover,.vid__ver:focus-visible{background:#fff;color:#0c1511;outline:0}
@media (max-width:700px){
  .vid .vid__titulo{font-size:min(12.5vw,9vh)}
  .vid__pie{bottom:5.2rem;right:1.2rem}
  .vid__ver{left:1.2rem;right:auto;bottom:1.6rem}
}
.vmodal{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);background:rgba(5,10,7,.94);opacity:0;transition:opacity .35s ease}
.vmodal.is-in{opacity:1}
.vmodal__marco{position:relative;width:min(1200px,100%);aspect-ratio:16/9;max-height:72vh;background:#000}
.vmodal__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vmodal__txt{width:min(1200px,100%);margin-top:1.2rem;color:#fff;font:400 .95rem/1.55 'Inter',system-ui,sans-serif;max-height:20vh;overflow:auto}
.vmodal__txt b{display:block;margin-bottom:.35rem;font:600 1.15rem/1.2 'Inter',system-ui,sans-serif;letter-spacing:-.01em}
.vmodal__txt em{display:block;margin-bottom:.5rem;font:600 .68rem/1 'Inter',system-ui,sans-serif;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:#9fd9b4}
.vmodal__x{position:absolute;top:clamp(.8rem,2vw,1.6rem);right:clamp(.8rem,2vw,1.6rem);width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer}
.vmodal__x:hover{background:#fff;color:#111}
@media (prefers-reduced-motion:reduce){.vid__cab,.vid__pie,.vid__ver{opacity:1;transform:none;transition:none}.vid__fondo video{display:none}}

/* v1.9.105 Vídeos: el número y el cliente quedan más abajo, fuera de la cabecera */
.vid__cab{top:calc(var(--header-h,6rem) + 2.6rem)}

/* v1.9.106 Entrada de la sección de vídeos: titular y texto sobre fondo claro; el primer vídeo asoma por abajo */
.vid:nth-child(1){z-index:2}.vid:nth-child(2){z-index:3}.vid:nth-child(3){z-index:4}.vid:nth-child(4){z-index:5}.vid:nth-child(5){z-index:6}.vid:nth-child(6){z-index:7}.vid:nth-child(7){z-index:8}.vid:nth-child(8){z-index:9}.vid:nth-child(9){z-index:10}.vid:nth-child(10){z-index:11}
.vids__intro{position:relative;z-index:1;box-sizing:border-box;min-height:calc(100svh - 24vh);padding:calc(var(--header-h,6rem) + clamp(2rem,6vh,4rem)) clamp(1.2rem,4vw,4.5rem) clamp(2.5rem,6vh,4rem);background:#fbfbf9;color:#111;display:flex;flex-direction:column;justify-content:flex-start}
.vids__titulo{margin:0 0 clamp(1.4rem,4vh,2.6rem);padding:0;color:#111;font:700 min(13.5vw,17vh)/.92 'Inter',system-ui,sans-serif;letter-spacing:-.045em;text-transform:uppercase;max-width:14ch}
.vids__l{display:block;overflow:hidden;padding-bottom:.06em}
.vids__l>span{display:block;transform:translateY(105%);transition:transform 1.1s cubic-bezier(.22,.7,.2,1)}
.vids__l:nth-child(2)>span{transition-delay:.12s}.vids__l:nth-child(3)>span{transition-delay:.24s}.vids__l:nth-child(4)>span{transition-delay:.36s}.vids__l:nth-child(5)>span{transition-delay:.48s}
.vids__intro.is-in .vids__l>span{transform:none}
.vids__titulo em{font-family:'Playfair Display',Georgia,serif;font-style:normal;font-weight:500;color:var(--vids-acento,#2a6347);text-transform:uppercase;letter-spacing:-.02em}
.vids__texto{max-width:36rem;padding-top:clamp(1rem,2.4vh,1.6rem);border-top:1px solid rgba(0,0,0,.18);font:400 clamp(1rem,1.5vw,1.3rem)/1.45 'Inter',system-ui,sans-serif;color:#222;opacity:0;transform:translateY(18px);transition:opacity .9s ease .6s,transform 1s cubic-bezier(.22,.7,.2,1) .6s}
.vids__intro.is-in .vids__texto{opacity:1;transform:none}
.vids__texto mark{background:linear-gradient(transparent 62%,#bfe3c9 62%) no-repeat 0 0/0% 100%;color:inherit;padding:0 .08em;transition:background-size .9s ease 1.3s}
.vids__intro.is-in .vids__texto mark{background-size:100% 100%}
.vids__flecha{position:absolute;right:clamp(1.2rem,4vw,4.5rem);bottom:clamp(1.6rem,4vh,2.6rem);width:1.3rem;height:1.3rem;border-right:2px solid #111;border-bottom:2px solid #111;transform:rotate(45deg);animation:vidsFlecha 1.8s ease-in-out infinite}
@keyframes vidsFlecha{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(.5rem) rotate(45deg)}}
@media (prefers-reduced-motion:reduce){.vids__l>span,.vids__texto{transform:none;opacity:1;transition:none}.vids__texto mark{background-size:100% 100%;transition:none}.vids__flecha{animation:none}}

/* v1.9.107 El titular de la entrada manda sobre las reglas de los títulos del tema */
.entry-content .vids .vids__intro .vids__titulo,.vids .vids__intro .vids__titulo{margin:0 0 clamp(1.4rem,4vh,2.6rem)!important;padding:0!important;color:#111!important;font:700 min(13.5vw,17vh)/.92 'Inter',system-ui,sans-serif!important;letter-spacing:-.045em!important;text-transform:uppercase!important;max-width:14ch!important;max-width:min(14ch,100%)!important}
.vids .vids__intro .vids__titulo em{font-family:'Playfair Display',Georgia,serif!important;font-style:normal!important;font-weight:500!important;color:var(--vids-acento,#2a6347)!important;letter-spacing:-.02em!important}
.entry-content .vids .vids__texto{max-width:36rem!important;color:#222!important}
.entry-content .vids .vid__titulo,.entry-content .vids .vid__frase{max-width:none}

/* v1.9.108 · el vídeo siguiente ya muestra su primer fotograma al montarse (sin negro) */
.vid__fondo video.is-play{opacity:1!important}
.vid__fondo video{transition:opacity .35s ease}

/* v1.9.111 · La sección de vídeos dentro de una hoja lateral de la portada */
.vid{height:var(--vids-h,100svh)}
.vids__intro{min-height:calc(var(--vids-h,100svh) - 24vh)}
.side-panel.has-vids .side-panel__body{max-width:none!important;padding:0!important}
.side-panel.has-vids .side-panel__body .entry-title{display:none}
.side-panel.has-vids .side-panel__body .entry-content{max-width:none!important;padding:0!important;margin:0!important}
.side-panel .vids{width:100%!important;margin:0!important}
.side-panel .vids__intro{padding-top:clamp(2rem,6vh,4rem)}
.side-panel .vid__cab{top:1.6rem}
.side-panel .vids__intro,.side-panel .vids__intro *{color:#111!important}
.side-panel .vids__intro .vids__texto,.side-panel .vids__intro .vids__texto *{color:#222!important}
.side-panel .vids__intro .vids__titulo em{color:var(--vids-acento,#2a6347)!important}
.side-panel .vid .vid__titulo,.side-panel .vid .vid__ver,.side-panel .vid .vid__ver *{color:#fff!important}
.side-panel .vid .vid__frase{color:rgba(255,255,255,.82)!important}
.side-panel .vid .vid__meta{color:#9fd9b4!important}
.side-panel .vid .vid__num{color:rgba(255,255,255,.7)!important}
.side-panel .vid .vid__ver:hover,.side-panel .vid .vid__ver:hover *,.side-panel .vid .vid__ver:focus-visible,.side-panel .vid .vid__ver:focus-visible *{color:#0c1511!important}
@media (max-width:700px){.side-panel .vid__pie{bottom:8.2rem}.side-panel .vid__ver{bottom:4.8rem}}
/* v1.9.111 · en la hoja lateral el titular es algo menor para caber sin cortarse bajo la cabecera */
.side-panel .vids .vids__intro .vids__titulo{font-size:min(13.5vw,11.5vh)!important}
.side-panel .vids__intro{justify-content:flex-start}

/* v1.9.113 · Pulsar en cualquier punto del vídeo lo abre (manita), formatos en rejilla y lista de servicios */
.vid{cursor:pointer}
.fmts,.svcs{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(3rem,9vh,6rem) clamp(1.2rem,4vw,4.5rem)!important;background:#fbfbf9;color:#111}
.fmts .fmts__h,.svcs .svcs__h{margin:0 0 clamp(1.2rem,3vh,2rem)!important;padding:0!important;font:500 .8rem/1 'Inter',system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;color:#111!important}
.fmts__rej{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem) clamp(1rem,2.4vw,2.2rem);align-items:stretch}
.fmt{display:flex;flex-direction:column;min-width:0}
.fmt--grande{grid-column:span 8}.fmt--vertical{grid-column:span 4}.fmt--medio{grid-column:span 6}
.fmts .fmt .fmt__titulo{margin:0 0 .8rem!important;padding:0!important;font:600 clamp(1.3rem,2.3vw,2.1rem)/1.1 'Inter',system-ui,sans-serif!important;letter-spacing:-.025em;color:#111!important}
.fmt__caja{position:relative;overflow:hidden;flex:1;background:#0c1511 var(--vid-img,none) center/cover no-repeat;color:#fff}
.fmt--grande .fmt__caja,.fmt--medio .fmt__caja{aspect-ratio:16/9;flex:none}
.fmt--vertical .fmt__caja{min-height:min(70vh,34rem)}
.fmt__caja video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease,transform 1.2s cubic-bezier(.22,.7,.2,1)}
.fmt__caja video.is-play{opacity:1}
.fmt--abre{cursor:pointer}
.fmt--abre:hover .fmt__caja video{transform:scale(1.035)}
.fmt__vela{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,12,8,.82) 0%,rgba(5,12,8,.3) 38%,rgba(5,12,8,0) 62%);pointer-events:none}
.fmts .fmt .fmt__texto{position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:clamp(1rem,2vw,1.6rem)!important;font:400 clamp(.88rem,1.1vw,1.05rem)/1.45 'Inter',system-ui,sans-serif!important;color:#fff!important;opacity:1!important}
.svcs__ul{list-style:none!important;margin:0!important;padding:0!important;border-top:1px solid #111}
.svcs .svcs__it{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);align-items:baseline;margin:0!important;padding:clamp(.8rem,2.2vh,1.5rem) 0!important;border-bottom:1px solid #111;list-style:none;opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.22,.7,.2,1)}
.svcs.is-in .svcs__it{opacity:1;transform:none}
.svcs.is-in .svcs__it:nth-child(2){transition-delay:.08s}.svcs.is-in .svcs__it:nth-child(3){transition-delay:.16s}.svcs.is-in .svcs__it:nth-child(4){transition-delay:.24s}.svcs.is-in .svcs__it:nth-child(5){transition-delay:.32s}.svcs.is-in .svcs__it:nth-child(6){transition-delay:.4s}.svcs.is-in .svcs__it:nth-child(7){transition-delay:.48s}
.svcs .svcs__n{font:600 clamp(1.9rem,4.4vw,4.2rem)/1.02 'Inter',system-ui,sans-serif!important;letter-spacing:-.04em;color:#111!important}
.svcs .svcs__d{font:400 clamp(.88rem,1.1vw,1.05rem)/1.5 'Inter',system-ui,sans-serif!important;color:#444!important}
@media (max-width:760px){
  .fmt--grande,.fmt--vertical,.fmt--medio{grid-column:1/-1}
  .fmt--vertical .fmt__caja{aspect-ratio:4/5;min-height:0;flex:none}
  .svcs .svcs__it{grid-template-columns:1fr;gap:.5rem}
}
@media (prefers-reduced-motion:reduce){.svcs .svcs__it{opacity:1;transform:none;transition:none}.fmt__caja video{display:none}}
/* dentro de la hoja lateral */
.side-panel .fmts,.side-panel .svcs{width:100%!important;margin:0!important}
.side-panel .fmts .fmts__h,.side-panel .fmts .fmt .fmt__titulo,.side-panel .svcs .svcs__h,.side-panel .svcs .svcs__n{color:#111!important}
.side-panel .svcs .svcs__d{color:#444!important}
.side-panel .fmts .fmt .fmt__texto{color:#fff!important;opacity:1!important}

/* v1.9.114 · el texto de cada formato va abajo, sobre el clip (el tema lo dejaba arriba) */
.entry-content .fmts .fmt .fmt__caja{position:relative!important}
.entry-content .fmts .fmt .fmt__texto,.fmts .fmt .fmt__texto{position:absolute!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;max-width:none!important}
.entry-content .fmts .fmt .fmt__vela{position:absolute!important;inset:0!important}

/* v1.9.115 · cada servicio entra al llegar a la pantalla: el nombre desde la izquierda y la explicación desde la derecha */
.svcs .svcs__it,.svcs.is-in .svcs__it{opacity:1;transform:none;transition:none}
.svcs .svcs__n{display:block;opacity:0;transform:translateX(-14vw);transition:opacity .8s ease,transform 1s cubic-bezier(.22,.7,.2,1)}
.svcs .svcs__d{display:block;opacity:0;transform:translateX(12vw);transition:opacity .8s ease .12s,transform 1s cubic-bezier(.22,.7,.2,1) .12s}
.svcs .svcs__it.is-in .svcs__n,.svcs .svcs__it.is-in .svcs__d{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.svcs .svcs__n,.svcs .svcs__d{opacity:1;transform:none;transition:none}}

/* v1.9.116 · servicios: barra de color que acompaña al scroll y «+» que despliega la explicación */
.svcs .svcs__it{position:relative;display:block;overflow:hidden;padding:0!important}
.svcs .svcs__it::before{content:"";position:absolute;inset:0;background:var(--svcs-marca,#bfe3c9);transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.22,.7,.2,1);z-index:0}
.svcs .svcs__it.is-hot::before,.svcs .svcs__it:hover::before,.svcs .svcs__it.is-open::before{transform:scaleX(1)}
.svcs .svcs__b{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;width:100%;box-sizing:border-box;margin:0;padding:clamp(.8rem,2.2vh,1.5rem) clamp(.2rem,.8vw,.8rem)!important;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:default}
.svcs button.svcs__b{cursor:pointer}
.svcs .svcs__n{display:block;flex:1;min-width:0}
.svcs .svcs__mas{position:relative;flex:none;width:clamp(1.3rem,2.2vw,2rem);height:clamp(1.3rem,2.2vw,2rem);opacity:0;transform:translateX(12vw);transition:opacity .8s ease .1s,transform 1s cubic-bezier(.22,.7,.2,1) .1s,rotate .35s ease}
.svcs .svcs__it.is-in .svcs__mas{opacity:1;transform:none}
.svcs .svcs__mas::before,.svcs .svcs__mas::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:#111}
.svcs .svcs__mas::after{transform:rotate(90deg)}
.svcs .svcs__it.is-open .svcs__mas{rotate:45deg}
.svcs .svcs__d{position:relative;z-index:1;display:grid;grid-template-rows:0fr;opacity:1!important;transform:none!important;transition:grid-template-rows .45s cubic-bezier(.22,.7,.2,1)!important}
.svcs .svcs__it.is-open .svcs__d{grid-template-rows:1fr}
.svcs .svcs__d>div{overflow:hidden;min-height:0}
.svcs .svcs__d p{margin:0!important;padding:0 clamp(.2rem,.8vw,.8rem) clamp(1rem,2.4vh,1.6rem)!important;max-width:44rem;font:400 clamp(.95rem,1.15vw,1.1rem)/1.5 'Inter',system-ui,sans-serif!important;color:#222!important;opacity:1!important}
@media (prefers-reduced-motion:reduce){.svcs .svcs__mas{opacity:1;transform:none;transition:none}.svcs .svcs__it::before{transition:none}}

/* v1.9.117 · la barra solo sigue al puntero (no hay nada marcado hasta que lo mueves) */
.svcs .svcs__it:not(.is-hot):not(.is-open):hover::before{transform:scaleX(0)}

/* v1.9.118 · en pantallas táctiles no hay marca por hover ni por scroll: solo la del servicio abierto */
@media (hover:none){.svcs .svcs__it:hover::before{transform:scaleX(0)}.svcs .svcs__it.is-open::before{transform:scaleX(1)}}

/* v1.9.120 · servicios: la barra cubre solo el título; el detalle va en dos columnas (subtítulo en verde + descripción) */
.svcs .svcs__it::before{display:none!important}
.svcs .svcs__b::before{content:"";position:absolute;inset:0;background:var(--svcs-marca,#bfe3c9);transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.22,.7,.2,1);z-index:-1}
.svcs .svcs__it.is-hot>.svcs__b::before,.svcs .svcs__it.is-open>.svcs__b::before{transform:scaleX(1)}
.svcs ul.svcs__sub{list-style:none!important;margin:0!important;padding:0 clamp(.2rem,.8vw,.8rem) clamp(1rem,2.6vh,1.8rem)!important}
.svcs .svcs__sub li{display:grid;grid-template-columns:minmax(8rem,15rem) minmax(0,1fr);gap:.4rem clamp(1rem,3vw,3rem);align-items:baseline;margin:0!important;padding:clamp(.7rem,1.8vh,1.1rem) 0!important;border-top:1px solid rgba(0,0,0,.14);list-style:none}
.svcs .svcs__sub li:first-child{border-top:0}
.svcs .svcs__st{font:600 clamp(.68rem,.8vw,.78rem)/1.3 'Inter',system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:var(--vids-acento,#2a6347)!important}
.svcs .svcs__sd{max-width:46ch;font:400 clamp(.95rem,1.12vw,1.08rem)/1.5 'Inter',system-ui,sans-serif!important;color:#2a2a2a!important}
.svcs .svcs__sd mark,.svcs .svcs__d p mark{background:linear-gradient(transparent 62%,rgba(42,99,71,.26) 62%);color:inherit!important;padding:0 .06em}
@media (max-width:760px){.svcs .svcs__sub li{grid-template-columns:1fr}}
.side-panel .svcs .svcs__st{color:var(--vids-acento,#2a6347)!important}
.side-panel .svcs .svcs__sd{color:#2a2a2a!important}

/* v1.9.121 · palabras clave de los servicios: cursiva serif verde que entra desenfocada y se enfoca al desplegar */
.svcs .svcs__sd mark,.svcs .svcs__d p mark{background:none!important;padding:0!important;font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important;font-weight:400!important;font-size:1.12em;letter-spacing:0;color:var(--vids-acento,#2a6347)!important;filter:blur(6px);opacity:.3;transition:filter 1s cubic-bezier(.22,.7,.2,1),opacity 1s ease}
.svcs .svcs__it.is-open .svcs__sd mark,.svcs .svcs__it.is-open .svcs__d p mark{filter:blur(0);opacity:1}
.svcs .svcs__it.is-open .svcs__sub li:nth-child(1) mark{transition-delay:.3s}.svcs .svcs__it.is-open .svcs__sub li:nth-child(2) mark{transition-delay:.5s}.svcs .svcs__it.is-open .svcs__sub li:nth-child(3) mark{transition-delay:.7s}.svcs .svcs__it.is-open .svcs__sub li:nth-child(4) mark{transition-delay:.9s}
@media (prefers-reduced-motion:reduce){.svcs .svcs__sd mark,.svcs .svcs__d p mark{filter:none;opacity:1;transition:none}}

/* v1.9.122 · la flecha de la presentación es un botón que baja al primer vídeo; las palabras marcadas de la presentación: cursiva serif verde, se enfocan y una línea fina baja y se coloca debajo */
.vids .vids__flecha{cursor:pointer;background:none;padding:0;border-top:0;border-left:0;border-right:2px solid #111;border-bottom:2px solid #111;outline-offset:10px}
.vids .vids__flecha::before{content:"";position:absolute;inset:-1.4rem}
.vids .vids__texto mark{position:relative;display:inline;background:none!important;font-family:'Playfair Display',Georgia,serif!important;font-style:italic!important;font-weight:400!important;font-size:1.1em;padding:0 .04em;color:var(--vids-acento,#2a6347)!important;filter:blur(6px);opacity:.3;transition:filter 1s cubic-bezier(.22,.7,.2,1) 1.2s,opacity 1s ease 1.2s}
.vids .vids__intro.is-in .vids__texto mark{filter:blur(0);opacity:1}
.vids .vids__texto mark{background:linear-gradient(currentColor,currentColor) no-repeat 0 -60%/100% 1.5px!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.vids .vids__intro.is-in .vids__texto mark{background-position:0 96%!important;transition:filter 1s cubic-bezier(.22,.7,.2,1) 1.2s,opacity 1s ease 1.2s,background-position .9s cubic-bezier(.3,1.25,.4,1) 1.9s}
.vids .vids__texto mark:nth-of-type(2){transition-delay:1.2s,1.2s,2.2s}
.side-panel .vids__intro .vids__texto mark{color:var(--vids-acento,#2a6347)!important}
@media (prefers-reduced-motion:reduce){.vids .vids__texto mark{filter:none;opacity:1;transition:none}.vids .vids__texto mark{background-position:0 96%!important;transition:none}}

/* v1.9.123 · presentación: sin línea gris intermedia y la línea negra llega hasta el margen derecho (igual que el izquierdo) */
.entry-content .vids .vids__intro .vids__titulo,.vids .vids__intro .vids__titulo,.side-panel .vids .vids__intro .vids__titulo{max-width:none!important;width:100%!important}
.entry-content .vids .vids__texto,.vids .vids__intro .vids__texto{border-top:0!important;padding-top:0!important}

/* v1.9.124 · titular: las dos primeras líneas entran desde la izquierda, una tras otra, y «Studio» sube desde detrás de la línea; después aparece el texto */
.vids .vids__l>span{display:block;width:max-content;transform:translateX(-104%);transition:transform 1.1s cubic-bezier(.22,.7,.2,1)}
.vids .vids__l:has(em)>span{transform:translateY(106%)}
.vids .vids__l:nth-child(1)>span{transition-delay:0s}
.vids .vids__l:nth-child(2)>span{transition-delay:.3s}
.vids .vids__l:nth-child(3)>span{transition-delay:.75s}
.vids .vids__l:nth-child(4)>span{transition-delay:1s}
.vids .vids__intro.is-in .vids__l>span{transform:none}
.vids .vids__intro .vids__texto{transition:opacity .9s ease 1.5s,transform 1s cubic-bezier(.22,.7,.2,1) 1.5s!important}
.vids .vids__intro.is-in .vids__texto mark{transition:filter 1s cubic-bezier(.22,.7,.2,1) 2.1s,opacity 1s ease 2.1s,background-position .9s cubic-bezier(.3,1.25,.4,1) 2.8s!important}
.vids .vids__intro.is-in .vids__texto mark:nth-of-type(2){transition-delay:2.1s,2.1s,3.1s!important}
@media (prefers-reduced-motion:reduce){.vids .vids__l>span,.vids .vids__l:has(em)>span{transform:none;transition:none}}

/* v1.9.125 · titular más lento; el texto baja desde detrás de la línea (espejo de «Studio») */
.vids .vids__l>span{transition-duration:1.7s!important}
.vids .vids__l:nth-child(1)>span{transition-delay:0s!important}
.vids .vids__l:nth-child(2)>span{transition-delay:.5s!important}
.vids .vids__l:nth-child(3)>span{transition-delay:1.2s!important;transition-duration:1.5s!important}
.vids .vids__l:nth-child(4)>span{transition-delay:1.5s!important}
.vids .vids__intro .vids__texto{overflow:hidden;opacity:1!important;transform:none!important;transition:none!important;padding-bottom:.35em!important;margin-bottom:-.35em}
.vids .vids__texto .vids__tin{display:block;transform:translateY(-115%);transition:transform 1.5s cubic-bezier(.22,.7,.2,1) 1.2s}
.vids .vids__intro.is-in .vids__texto .vids__tin{transform:none}
.vids .vids__intro.is-in .vids__texto mark{transition:filter 1s cubic-bezier(.22,.7,.2,1) 2.6s,opacity 1s ease 2.6s,background-position .9s cubic-bezier(.3,1.25,.4,1) 3.3s!important}
.vids .vids__intro.is-in .vids__texto mark:nth-of-type(2){transition-delay:2.6s,2.6s,3.6s!important}
@media (prefers-reduced-motion:reduce){.vids .vids__texto .vids__tin{transform:none;transition:none}}

/* v1.9.126 · solapado: «Studio» y el texto arrancan mientras «In motion» aún está entrando */
.vids .vids__l:nth-child(3)>span{transition-delay:.8s!important;transition-duration:1.4s!important}
.vids .vids__l:nth-child(4)>span{transition-delay:1s!important}
.vids .vids__texto .vids__tin{transition:transform 1.4s cubic-bezier(.22,.7,.2,1) .8s}
.vids .vids__intro.is-in .vids__texto mark{transition:filter 1s cubic-bezier(.22,.7,.2,1) 1.9s,opacity 1s ease 1.9s,background-position .9s cubic-bezier(.3,1.25,.4,1) 2.5s!important}
.vids .vids__intro.is-in .vids__texto mark:nth-of-type(2){transition-delay:1.9s,1.9s,2.8s!important}

/* v1.9.127 · sin línea fina bajo las palabras marcadas de la presentación: solo cursiva serif verde que se enfoca */
.vids .vids__texto mark,.vids .vids__intro.is-in .vids__texto mark{background:none!important;background-image:none!important}
.vids .vids__intro.is-in .vids__texto mark{transition:filter 1s cubic-bezier(.22,.7,.2,1) 1.7s,opacity 1s ease 1.7s!important}
.vids .vids__intro.is-in .vids__texto mark:nth-of-type(2){transition-delay:1.9s,1.9s!important}

/* v1.9.128 · botones de la hoja (Inicio / siguiente): contraste automático; se invierten según el fondo (blanco sobre negro, negro sobre blanco) */
.side-panel .side-panel__arrow{mix-blend-mode:difference;color:#fff}
.side-panel .side-panel__arrow .ico{border:1.5px solid #fff}
.side-panel .side-panel__arrow .lbl{opacity:1;color:#fff}
@media (max-width:700px){.side-panel .side-panel__arrow{mix-blend-mode:normal}.side-panel .side-panel__arrow .ico{border-color:rgba(255,255,255,.6)}}

/* v1.9.129 · la flecha de la presentación se aparta del botón «Inicio» de la hoja para que no se crucen al hacer scroll */
@media (min-width:701px){.vids .vids__intro .vids__flecha{right:clamp(5.5rem,9vw,9.5rem)}}

/* v1.9.130 · botones de la hoja: círculo relleno semitransparente con desenfoque (se ve sobre cualquier fondo), sin etiqueta; los «+» de servicios se apartan del botón */
.side-panel .side-panel__arrow{mix-blend-mode:normal}
.side-panel .side-panel__arrow .ico{background:rgba(12,12,12,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.55);color:#fff}
.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{background:#fff;color:#000;border-color:#fff}
.side-panel .side-panel__arrow .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:701px){.svcs .svcs__b{padding-right:clamp(5rem,7vw,6.5rem)!important}}

/* v1.9.131 · «+» más cerca del borde (sin tocar el botón) y círculo más transparente */
@media (min-width:701px){.svcs .svcs__b{padding-right:clamp(2.2rem,2.8vw,2.8rem)!important}}
.side-panel .side-panel__arrow .ico{background:rgba(12,12,12,.3)}

/* v1.9.132 · formatos con fotograma fijo: botón de play y ligero zoom al pasar el ratón */
.fmt--foto .fmt__caja::after{content:"";position:absolute;left:50%;top:50%;width:clamp(3rem,5vw,4.2rem);height:clamp(3rem,5vw,4.2rem);margin:calc(clamp(3rem,5vw,4.2rem)/-2) 0 0 calc(clamp(3rem,5vw,4.2rem)/-2);border-radius:50%;background:rgba(12,12,12,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 54% 50%/46% no-repeat;border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;transition:transform .35s ease,background-color .25s}
.fmt--foto:hover .fmt__caja::after{transform:scale(1.1);background-color:rgba(12,12,12,.55)}

/* v1.9.135 · cierre de Audiovisual: banda oscura con titular, frase y botón de contacto */
.cta{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(4rem,14vh,9rem) clamp(1.2rem,4vw,4.5rem)!important;background:#0c1511;color:#f2f2f2}
.side-panel .cta{width:100%!important;margin:0!important}
.cta .cta__t{margin:0 0 clamp(1rem,3vh,1.8rem)!important;padding:0!important;max-width:none!important;font:800 clamp(2.4rem,7.4vw,7rem)/.98 'Inter',system-ui,sans-serif!important;letter-spacing:-.035em;text-transform:uppercase;color:#f2f2f2!important}
.cta .cta__l{display:block;overflow:hidden;padding-bottom:.08em}
.cta .cta__l>span{display:block;transform:translateY(105%);transition:transform 1.2s cubic-bezier(.22,.7,.2,1)}
.cta .cta__l:nth-child(2)>span{transition-delay:.15s}
.cta .cta__t em{font-family:'Playfair Display',Georgia,serif!important;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:#8fd0aa!important}
.cta .cta__p{margin:0 0 clamp(1.6rem,4vh,2.6rem)!important;max-width:34ch;font:400 clamp(1rem,1.3vw,1.2rem)/1.5 'Inter',system-ui,sans-serif!important;color:#cfd6d2!important;opacity:0;transform:translateY(16px);transition:opacity .9s ease .5s,transform 1s cubic-bezier(.22,.7,.2,1) .5s}
.cta .cta__b{display:inline-flex;align-items:center;gap:.9rem;padding:1rem 1.6rem 1rem 1.9rem;border-radius:999px;background:#f2f2f2;color:#0c1511!important;font:600 .95rem/1 'Inter',system-ui,sans-serif!important;letter-spacing:.04em;text-decoration:none!important;opacity:0;transform:translateY(16px);transition:opacity .9s ease .7s,transform 1s cubic-bezier(.22,.7,.2,1) .7s,background-color .25s,color .25s}
.cta .cta__b span{color:inherit!important}
.cta .cta__b i{display:block;width:.8rem;height:.8rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .3s ease}
.cta .cta__b:hover,.cta .cta__b:focus-visible{background:#8fd0aa;color:#0c1511!important}
.cta .cta__b:hover i{transform:rotate(45deg) translate(3px,-3px)}
.cta.is-in .cta__l>span{transform:none}
.cta.is-in .cta__p,.cta.is-in .cta__b{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cta .cta__l>span,.cta .cta__p,.cta .cta__b{transform:none;opacity:1;transition:none}}

/* v1.9.136 · cierre: titular descolocado, marca de barras del logo que entran y se «descolocan» con el ratón, y pie sutil */
.cta{padding-bottom:clamp(1.4rem,3.5vh,2.2rem)!important}
.cta .cta__in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-areas:"t m" "p m" "b m";align-items:start;column-gap:clamp(1.5rem,5vw,6rem);margin-bottom:clamp(3.5rem,11vh,7rem)}
.cta .cta__t{grid-area:t}.cta .cta__p{grid-area:p}.cta .cta__b{grid-area:b;justify-self:start}
.cta .cta__l:nth-child(2){padding-left:clamp(2rem,13vw,15rem)}
.cta .cta__mark{grid-area:m;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:0;min-height:clamp(16rem,40vh,26rem);overflow:hidden}
.cta .cta__mark i{display:block;width:var(--w);height:clamp(.5rem,1.15vw,1rem);background:#f2f2f2;border-radius:0;transform:translateX(-115%);translate:var(--dx,0px) 0;transition:transform 1.3s cubic-bezier(.22,.7,.2,1) calc(.2s + var(--k)*.05s),translate .6s ease-out}
.cta.is-in .cta__mark i{transform:none}
.cta .cta__mark i:nth-child(7),.cta .cta__mark i:nth-child(8){background:#8fd0aa}
.cta .cta__pie{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid rgba(242,242,242,.14);font:400 .74rem/1.4 'Inter',system-ui,sans-serif;letter-spacing:.04em;color:#7f8b85}
.cta .cta__pie span,.cta .cta__pie a{color:#7f8b85!important}
.cta .cta__soc{display:flex;gap:1.2rem}
.cta .cta__pie a{text-decoration:none!important;transition:color .2s}
.cta .cta__pie a:hover{color:#f2f2f2!important}
@media (max-width:760px){
  .cta .cta__in{grid-template-columns:1fr;grid-template-areas:"t" "p" "b" "m"}
  .cta .cta__mark{min-height:8.5rem;margin-top:2.2rem}
  .cta .cta__mark i{height:.34rem}
  .cta .cta__l:nth-child(2){padding-left:2.2rem}
}
@media (prefers-reduced-motion:reduce){.cta .cta__mark i{transform:none;translate:none;transition:none}}

/* v1.9.137 · la marca respeta la proporción real del símbolo (media circunferencia: alto = 2 × ancho), así el borde derecho sale redondo */
.cta .cta__mark{height:clamp(18rem,56vh,36rem);aspect-ratio:530/1102;min-height:0;width:auto;justify-self:end;align-self:center;margin-right:clamp(0rem,4vw,5rem)}
.cta .cta__mark i{height:3.9%}
@media (max-width:760px){
  .cta .cta__mark{height:15rem;min-height:0;justify-self:start;margin:2.2rem 0 0}
  .cta .cta__mark i{height:3.9%}
}

/* v1.9.138 · titular desperdigado (3 líneas sueltas) y una línea finísima que cierra la circunferencia del logo */
.cta .cta__logo{grid-area:m;position:relative;height:clamp(18rem,56vh,36rem);aspect-ratio:564/1102;justify-self:end;align-self:center;margin-right:clamp(0rem,3vw,4rem)}
.cta .cta__logo .cta__mark{position:absolute;left:0;top:0;height:100%;width:94%;min-height:0;aspect-ratio:auto;margin:0;justify-self:auto;align-self:auto}
.cta .cta__arco{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cta .cta__arco path{stroke:#f2f2f2;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.5,.1,.2,1) 1.1s}
.cta.is-in .cta__arco path{stroke-dashoffset:0}
.cta .cta__t{font-size:clamp(2.3rem,6.3vw,6.2rem)!important}
.cta .cta__l:nth-child(2){padding-left:clamp(2rem,15vw,17rem)}
.cta .cta__l:nth-child(3){padding-left:clamp(1rem,6vw,7rem);margin-top:.12em}
.cta .cta__l:nth-child(3)>span{font:italic 400 .44em/1.2 'Playfair Display',Georgia,serif;text-transform:none;letter-spacing:0;color:#cfd6d2;transition-delay:.35s}
.cta .cta__l:nth-child(2)>span{transition-delay:.15s}
@media (max-width:760px){
  .cta .cta__logo{height:15rem;justify-self:start;margin:2.2rem 0 0}
  .cta .cta__l:nth-child(2){padding-left:2.2rem}
  .cta .cta__l:nth-child(3){padding-left:.8rem}
}
@media (prefers-reduced-motion:reduce){.cta .cta__arco path{stroke-dashoffset:0;transition:none}}

/* v1.9.140 · la circunferencia se dibuja entera (la mitad que falta del logo) y el titular se agranda y se reparte por el ancho */
.cta .cta__logo{height:clamp(17rem,50vh,32rem);aspect-ratio:1204/1200;margin-right:clamp(0rem,2vw,3rem)}
.cta .cta__logo .cta__mark{left:53.16%;top:4.08%;width:44.02%;height:91.83%}
.cta .cta__arco path{stroke-width:1.4px}
.cta .cta__t{width:max-content;max-width:none!important;font-size:clamp(2.5rem,7.8vw,8rem)!important}
.cta .cta__l>span{white-space:nowrap}
.cta .cta__l:nth-child(2){padding-left:clamp(2rem,17vw,20rem)}
.cta .cta__l:nth-child(3){padding-left:clamp(1rem,8vw,10rem)}
.cta .cta__l:nth-child(3)>span{font-size:.5em}
@media (max-width:760px){
  .cta .cta__logo{height:15rem;margin:2.2rem 0 0}
  .cta .cta__t{font-size:clamp(2.2rem,11vw,3.4rem)!important}
  .cta .cta__l:nth-child(2){padding-left:2.2rem}.cta .cta__l:nth-child(3){padding-left:.8rem}
}
@media (min-width:761px){.cta .cta__logo{height:clamp(15rem,min(50vh,26vw),32rem)}}

/* v1.9.142 · rollover del logo: al pasar el ratón las barras se van al lado izquierdo del círculo y al sacarlo vuelven a la derecha */
.cta .cta__logo{--h:clamp(15rem,min(50vh,26vw),32rem);cursor:pointer}
@media (max-width:760px){.cta .cta__logo{--h:15rem}}
.cta .cta__mark i{translate:var(--rx,0px) 0;transition:transform 1.3s cubic-bezier(.22,.7,.2,1) calc(.2s + var(--k)*.05s),translate .9s cubic-bezier(.65,0,.25,1) calc(var(--k)*.025s)}
.cta.is-done .cta__mark{overflow:visible}
.cta.is-done .cta__logo:hover .cta__mark i,.cta.is-done .cta__logo.is-flip .cta__mark i{--rx:calc(var(--h) / 1200 * var(--tx))}
@media (prefers-reduced-motion:reduce){.cta .cta__mark i{transition:none}}

/* v1.9.143 · el círculo, más sutil (la mitad de intensidad y más fino) */
.cta .cta__arco path{stroke:rgba(242,242,242,.45);stroke-width:1px}

/* v1.9.144 · en móvil el logo del cierre va centrado en la banda */
@media (max-width:760px){.cta .cta__logo{display:block;margin:2.2rem auto 0!important}}

/* v1.9.145 · en pantallas táctiles el :hover se queda pegado tras el toque; ahí manda solo el toque (cada toque alterna) */
@media (hover:none){
  .cta.is-done .cta__logo:hover .cta__mark i{--rx:0px}
  .cta.is-done .cta__logo.is-flip .cta__mark i,.cta.is-done .cta__logo.is-flip:hover .cta__mark i{--rx:calc(var(--h) / 1200 * var(--tx))}
}

/* v1.9.147 · iPhone: el modo de mezcla no funciona en una imagen que tiene a la vez filtro y transparencia (por eso el recuadro blanco se iba solo al tocar).
   Se mezcla el contenedor (li) y la imagen se queda con su gris y su opacidad sin mezcla propia. */
.clientes__lista li{mix-blend-mode:multiply}
.clientes__lista img{mix-blend-mode:normal!important}

/* v1.9.149 · pantallas táctiles: los logos usan siempre el aspecto que ya se veía bien al tocarlos (sin filtro ni transparencia propios, mezclados con el fondo) */
@media (hover:none){
  .clientes__lista li{mix-blend-mode:normal!important}
  .clientes__lista img{mix-blend-mode:multiply!important;filter:none!important;opacity:1!important;-webkit-filter:none!important}
}

/* v1.9.150 · Digitalización: fotos a pantalla completa, zoom a detalle y proceso */
.vid--foto{cursor:default}
.vid__fondo .vid__foto{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:scale(1.07);transition:transform 9s cubic-bezier(.2,.5,.2,1)}
.vid--foto.is-on .vid__foto{transform:scale(1)}
.vid__ver--fotos i{width:.75rem;height:.75rem;border:0;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat}
.vmodal--fotos .vmodal__marco--fotos{aspect-ratio:auto;background:transparent;width:min(1400px,100%);height:min(74vh,100%);max-height:none;display:flex;align-items:center;justify-content:center}
.vmodal--fotos .vmodal__marco--fotos img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:opacity .3s ease}
.vmodal__cuenta{position:absolute;top:clamp(1.1rem,2.4vw,1.9rem);left:clamp(1rem,3vw,2.4rem);color:rgba(255,255,255,.7);font:600 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.16em}
.vmodal__f{position:absolute;top:50%;width:3rem;height:3rem;margin-top:-1.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.25);cursor:pointer}
.vmodal__f::before{content:"";position:absolute;left:50%;top:50%;width:.7rem;height:.7rem;border-top:2px solid #fff;border-right:2px solid #fff}
.vmodal__f--ant{left:clamp(.6rem,2vw,1.6rem)}.vmodal__f--ant::before{transform:translate(-30%,-50%) rotate(-135deg)}
.vmodal__f--sig{right:clamp(.6rem,2vw,1.6rem)}.vmodal__f--sig::before{transform:translate(-70%,-50%) rotate(45deg)}
.vmodal__f:hover{background:#fff}.vmodal__f:hover::before{border-color:#111}
@media (max-width:700px){.vmodal__f{top:auto;bottom:1.1rem;margin:0}.vmodal--fotos .vmodal__marco--fotos{height:62vh}}

.det,.proc{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:0!important}
.side-panel .det,.side-panel .proc{width:100%!important;margin:0!important}
.det{height:calc(var(--det-h,100svh) * 3.6);background:#0c1511;color:#fff}
.det__pin{position:sticky;top:0;height:var(--det-h,100svh);overflow:hidden;background:#0c1511}
.det__caja{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(5rem,11vh,7rem) clamp(1.2rem,4vw,4.5rem) 29vh}
.det__img{position:relative;width:min(100%,calc((var(--det-h,100svh) * .6) * var(--ar)));aspect-ratio:var(--ar);will-change:transform;box-shadow:0 1.4rem 4rem rgba(0,0,0,.45)}
.det__img img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.det__cab{position:absolute;z-index:3;left:clamp(1.2rem,4vw,4.5rem);right:clamp(1.2rem,4vw,4.5rem);top:calc(var(--header-h,6rem) + 2.6rem);display:flex;justify-content:space-between;align-items:baseline;font:600 clamp(.62rem,.78vw,.76rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 12px rgba(0,0,0,.6)}
.det__est{position:relative;display:inline-block;min-width:9em;height:1em;color:#9fd9b4}
.det__est b{position:absolute;left:0;top:0;white-space:nowrap;font-weight:600;transition:opacity .5s ease,transform .6s cubic-bezier(.22,.7,.2,1)}
.det__b{opacity:0;transform:translateY(.7em)}
.det.is-zoom .det__a{opacity:0;transform:translateY(-.7em)}
.det.is-zoom .det__b{opacity:1;transform:none}
.det__x{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.85)}
.det__pie{position:absolute;z-index:3;left:clamp(1.2rem,4vw,4.5rem);right:clamp(1.2rem,4vw,4.5rem);bottom:clamp(2rem,7vh,5rem);max-width:min(900px,92vw);padding-top:2rem;background:none;text-shadow:0 0 22px rgba(0,0,0,.65)}
.det .det__t{margin:0;padding:0;color:#fff;font:600 min(4.8vw,7.6vh)/1 'Inter',system-ui,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.det__m{display:block;margin-top:.7rem;font:600 .68rem/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#9fd9b4}
.det .det__p{margin:.9rem 0 0;max-width:40rem;font:400 clamp(.9rem,1.1vw,1.05rem)/1.5 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.85);transition:opacity .6s ease}
.det__bar{position:absolute;z-index:3;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.det__bar i{display:block;height:100%;width:100%;background:#9fd9b4;transform-origin:0 50%;transform:scaleX(var(--det-p,0))}
@media (max-width:700px){.det__pie{bottom:1.4rem}.det__caja{padding-bottom:32vh}.det .det__t{font-size:min(8vw,6.4vh)}.det__img{width:min(100%,calc((var(--det-h,100svh) * .55) * var(--ar)))}}
@media (prefers-reduced-motion:reduce){.vid__fondo .vid__foto{transform:none;transition:none}}

.proc{background:#fbfbf9;color:#111;padding:clamp(3rem,9vh,6rem) clamp(1.2rem,4vw,4.5rem)!important}
.proc .proc__tit{margin:0 0 clamp(1.6rem,4vh,3rem);font:500 .8rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#111}
.proc .proc__l{list-style:none;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:clamp(1.2rem,2.6vw,2.6rem)}
.proc .proc__it{margin:0!important;padding:1.2rem 0 0!important;border-top:1px solid #111;list-style:none;opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,.7,.2,1)}
.proc .proc__it.is-in{opacity:1;transform:none}
.proc .proc__it:nth-child(2){transition-delay:.1s}.proc .proc__it:nth-child(3){transition-delay:.2s}.proc .proc__it:nth-child(4){transition-delay:.3s}.proc .proc__it:nth-child(5){transition-delay:.4s}.proc .proc__it:nth-child(6){transition-delay:.5s}
.proc .proc__n{display:block;margin-bottom:clamp(1.4rem,5vh,3.4rem);font:600 clamp(3rem,6.4vw,6.6rem)/.9 'Inter',system-ui,sans-serif;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px #111}
.proc .proc__h{margin:0 0 .7rem!important;padding:0!important;color:#111!important;font:600 clamp(1.15rem,1.7vw,1.6rem)/1.15 'Inter',system-ui,sans-serif!important;letter-spacing:-.02em}
.proc .proc__d{margin:0!important;font:400 clamp(.88rem,1.05vw,1rem)/1.5 'Inter',system-ui,sans-serif;color:#444}
@media (max-width:900px){.proc .proc__l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.proc .proc__l{grid-template-columns:1fr}.proc .proc__n{font-size:3.4rem;margin-bottom:.8rem}}
@media (prefers-reduced-motion:reduce){.proc .proc__it{opacity:1;transform:none;transition:none}}


/* v1.9.151 · comparativa fila a fila (escáner o cámara) */
.cmp{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(3rem,9vh,6rem) clamp(1.2rem,4vw,4.5rem)!important;background:#fbfbf9;color:#111}
.side-panel .cmp{width:100%!important;margin:0!important}
.cmp .cmp__tit{margin:0 0 clamp(1.2rem,3vh,2rem);font:500 .8rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#111}
.cmp .cmp__r{display:grid;grid-template-columns:minmax(7rem,.7fr) repeat(var(--n,2),minmax(0,1.3fr));gap:clamp(1rem,2.6vw,2.6rem);padding:clamp(.9rem,2.2vh,1.5rem) 0;border-bottom:1px solid #111;align-items:baseline}
.cmp .cmp__r:not(.cmp__r--h){opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.22,.7,.2,1)}
.cmp .cmp__r.is-in{opacity:1;transform:none}
.cmp .cmp__r--h{border-bottom-width:2px;padding-top:0}
.cmp .cmp__r--h .cmp__c{font:600 clamp(1.5rem,3.4vw,3.2rem)/1.02 'Inter',system-ui,sans-serif;letter-spacing:-.04em;color:#111}
.cmp .cmp__e{font:600 .72rem/1.3 'Inter',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#2a6347}
.cmp .cmp__c{font:400 clamp(.92rem,1.15vw,1.08rem)/1.5 'Inter',system-ui,sans-serif;color:#222}
@media (max-width:700px){
  .cmp .cmp__r{grid-template-columns:1fr;gap:.5rem}
  .cmp .cmp__r--h{display:none}
  .cmp .cmp__c[data-c]::before{content:attr(data-c);display:block;margin-bottom:.15rem;font:600 .66rem/1.2 'Inter',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#777}
}
@media (prefers-reduced-motion:reduce){.cmp .cmp__r:not(.cmp__r--h){opacity:1;transform:none;transition:none}}

/* v1.9.152 · Galería de rodajas */
.rod{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(3rem,9vh,6rem) clamp(1rem,3vw,3.5rem)!important;background:#0e0e0e;color:#fff;overflow:hidden}
.side-panel .rod{width:100%!important;margin:0!important}
.rod .rod__tit{margin:0 0 clamp(1.5rem,4vh,2.5rem);font:500 .8rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.rod .rod__stage{position:relative;height:clamp(300px,58vh,560px)}
.rod .rod__row{position:absolute;inset:0;display:flex;gap:clamp(3px,.5vw,8px)}
.rod .rod__s{all:unset;box-sizing:border-box;position:relative;flex:1 1 0;min-width:0;overflow:hidden;cursor:pointer;transition:flex-grow .9s cubic-bezier(.22,.7,.2,1);-webkit-tap-highlight-color:transparent}
.rod .rod__s.is-on{flex-grow:9}
.rod .rod__s img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1) brightness(.6);transition:filter .8s ease,transform 1.4s ease;transform:scale(1.08)}
.rod .rod__s:hover img{filter:grayscale(.4) brightness(.85)}
.rod .rod__s.is-on img{filter:none;transform:scale(1)}
.rod .rod__s:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.rod .rod__ts{position:absolute;inset:0;z-index:3;pointer-events:none}
.rod .rod__t{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 2%;font:800 clamp(2.6rem,10vw,9rem)/1 'Oswald','Anton','Arial Narrow',Impact,sans-serif;text-transform:uppercase;color:#fff;mix-blend-mode:difference;opacity:0;transition:opacity .4s ease}
.rod .rod__t.is-on{opacity:1}
.rod .rod__t span{display:block;opacity:0;transform:translateY(40%);transition:opacity .6s ease,transform .8s cubic-bezier(.22,.7,.2,1);transition-delay:calc(var(--k)*45ms)}
.rod .rod__t.is-on span{opacity:1;transform:none;transition-delay:calc(.25s + var(--k)*55ms)}
.rod .rod__txt{position:relative;display:grid;margin-top:clamp(1.2rem,3vh,2rem);min-height:9rem}
.rod .rod__x{grid-area:1/1;max-width:46rem;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .6s ease;pointer-events:none}
.rod .rod__x.is-on{opacity:1;transform:none;pointer-events:auto;transition-delay:.3s}
.rod .rod__x b{display:block;font:500 .75rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;color:#9a9a9a;margin-bottom:.8rem}
.rod .rod__x h3{margin:0 0 .5rem;font:600 clamp(1.2rem,2.2vw,1.7rem)/1.2 'Inter',system-ui,sans-serif;color:#fff}
.rod .rod__x p{margin:0;font:400 clamp(1rem,1.4vw,1.15rem)/1.55 'Inter',system-ui,sans-serif;color:#d8d8d8}
@media (max-width:760px){.rod .rod__s.is-on{flex-grow:6}.rod .rod__stage{height:clamp(280px,50vh,420px)}.rod .rod__t{font-size:clamp(1.5rem,8.5vw,3.4rem)}}
@media (prefers-reduced-motion:reduce){.rod *{transition:none!important}}

/* v1.9.153 · Rodajas a pantalla completa, fondo pastel cambiante */
.rod{display:flex!important;flex-direction:column;height:100vh;height:100svh;min-height:34rem;padding:clamp(1rem,3.5vh,2rem) clamp(.6rem,1.6vw,1.6rem) clamp(1rem,3vh,2rem)!important;background:var(--rod-bg,#e9e2d3);color:#161616;transition:background-color 1.3s ease}
.side-panel .rod{height:100%!important}
.rod .rod__tit{color:#161616;margin:0 0 clamp(.7rem,2vh,1.2rem)}
.rod .rod__stage{flex:1 1 auto;height:auto;min-height:0}
.rod .rod__s img{filter:grayscale(.9) opacity(.5)}
.rod .rod__s:hover img{filter:grayscale(.3) opacity(.85)}
.rod .rod__s.is-on img{filter:none}
.rod .rod__txt{flex:0 0 auto;min-height:7.2rem;margin-top:clamp(.8rem,2vh,1.4rem)}
.rod .rod__x b{color:#555}
.rod .rod__x h3{color:#161616}
.rod .rod__x p{color:#2b2b2b}
.rod .rod__t{font-size:clamp(3rem,12vw,11rem)}
@media (max-width:760px){.rod .rod__t{font-size:clamp(1.6rem,9vw,3.4rem)}.rod .rod__txt{min-height:8.5rem}}

/* v1.9.154 · Rodajas ancladas a pantalla completa (scroll) + frases debajo */
.rod{display:block!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important;background:var(--rod-bg,#e9e2d3)}
.rod .rod__track{position:relative;height:calc(100vh + (var(--n,4) - 1) * 70vh);height:calc(100svh + (var(--n,4) - 1) * 70svh)}
.rod .rod__pin{position:sticky;top:0;height:100vh;height:100svh;box-sizing:border-box;display:flex;flex-direction:column;padding:clamp(5.5rem,13vh,7.5rem) clamp(.5rem,1.2vw,1.2rem) clamp(.8rem,2.5vh,1.5rem)}
.side-panel .rod .rod__pin{height:100%}
.rod .rod__tit{margin:0 0 .8rem!important}
.rod .rod__txt{min-height:5.6rem;margin-top:.9rem}
.rod .rod__x p{max-width:40rem}
.rod .rod__all{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:clamp(1.2rem,3vw,3rem);padding:clamp(2.5rem,8vh,5rem) clamp(1.2rem,4vw,4.5rem);border-top:1px solid #161616}
.rod .rod__a b{display:block;font:500 .75rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;color:#555;margin-bottom:.8rem}
.rod .rod__a h3{margin:0 0 .5rem;font:600 clamp(1.1rem,1.8vw,1.4rem)/1.2 'Inter',system-ui,sans-serif;color:#161616}
.rod .rod__a p{margin:0;font:400 1rem/1.55 'Inter',system-ui,sans-serif;color:#2b2b2b}
@media (max-width:760px){.rod .rod__pin{padding-top:5rem}.rod .rod__txt{min-height:6.8rem}}

/* v1.9.155 · Altura medida con JS (--rvh), colores blindados */
.rod .rod__track{height:calc(var(--rvh,100svh) * (1 + (var(--n,4) - 1) * .7))}
.rod .rod__pin{height:var(--rvh,100svh)!important;padding-top:clamp(5rem,11vh,6.4rem)!important;padding-bottom:clamp(1.4rem,3vh,2rem)!important}
.rod .rod__txt{min-height:5.2rem!important}
.rod .rod__tit,.rod .rod__x h3,.rod .rod__a h3{color:#161616!important}
.rod .rod__x p,.rod .rod__a p{color:#2b2b2b!important}
.rod .rod__x b,.rod .rod__a b{color:#555!important}
.cmp .cmp__tit,.cmp .cmp__r--h .cmp__c{color:#111!important;opacity:1!important}
.cmp .cmp__c{color:#222!important}
.cmp .cmp__e{color:#2a6347!important}
.cmp .cmp__r.is-in .cmp__c,.cmp .cmp__r.is-in .cmp__e{opacity:1!important}
.proc .proc__h,.proc .proc__tit{color:#111!important}
.proc .proc__d{color:#444!important}

/* v1.9.156 · Visor a pantalla completa de rodajas */
.rod{margin-top:-4px!important}.side-panel .rod{margin-top:-4px!important}
.rod .rod__s{cursor:zoom-in}
html.rmodal-on{overflow:hidden!important}
.rmodal{position:fixed;inset:0;z-index:2147483000;box-sizing:border-box;background:var(--rm-bg,#e9e2d3);color:#161616;opacity:0;transition:opacity .45s ease,background-color 1s ease;overflow:hidden;overscroll-behavior:contain}
.rmodal.is-in{opacity:1}
.rmodal *{box-sizing:border-box}
.rmodal__top{position:absolute;z-index:6;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(.9rem,2.5vh,1.6rem) clamp(1rem,2.5vw,2.2rem)}
.rmodal__n{font:500 .75rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;color:#161616;min-width:4rem}
.rmodal__ticks{display:flex;align-items:center;gap:0;height:2.2rem;max-width:60vw;overflow:hidden}
.rmodal__tk{all:unset;box-sizing:border-box;cursor:pointer;width:clamp(8px,1.2vw,14px);height:2.2rem;display:flex;align-items:center;justify-content:center}
.rmodal__tk::before{content:"";display:block;width:1px;height:.9rem;background:#161616;opacity:.4;transition:height .35s ease,opacity .35s ease,width .35s ease}
.rmodal__tk:hover::before{opacity:.8;height:1.3rem}
.rmodal__tk.is-on::before{height:2rem;width:2px;opacity:1}
.rmodal__x{all:unset;cursor:pointer;font:300 2.2rem/1 'Inter',system-ui,sans-serif;color:#161616;width:2.6rem;height:2.6rem;text-align:center;border-radius:50%;transition:background .25s}
.rmodal__x:hover{background:rgba(0,0,0,.08)}
.rmodal__fig{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-52%);width:min(66vw,calc(62vh * 1.6));height:62vh;display:flex;align-items:center;justify-content:center}
.rmodal__fig img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.2s cubic-bezier(.22,.7,.2,1)}
.rmodal__fig img.is-in{opacity:1;transform:none}
.rmodal__t{position:absolute;z-index:4;left:0;right:0;top:50%;transform:translateY(-62%);display:flex;justify-content:space-between;padding:0 3%;font:800 clamp(3rem,13vw,12rem)/1 'Oswald','Anton','Arial Narrow',Impact,sans-serif;text-transform:uppercase;color:#fff;mix-blend-mode:difference;pointer-events:none}
.rmodal__t span{display:block;opacity:0;animation:rmodalL .9s cubic-bezier(.22,.7,.2,1) forwards;animation-delay:calc(.15s + var(--k)*55ms)}
@keyframes rmodalL{from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}
.rmodal__info{position:absolute;z-index:5;left:clamp(1rem,2.5vw,2.2rem);right:clamp(1rem,2.5vw,2.2rem);bottom:clamp(1rem,4vh,2.4rem);max-width:42rem}
.rmodal__info h3{margin:0 0 .45rem;font:600 clamp(1.15rem,2vw,1.6rem)/1.2 'Inter',system-ui,sans-serif;color:#161616}
.rmodal__info p{margin:0;font:400 clamp(.98rem,1.3vw,1.12rem)/1.55 'Inter',system-ui,sans-serif;color:#2b2b2b}
.rmodal__a{all:unset;cursor:pointer;position:absolute;z-index:6;top:50%;width:3rem;height:3rem;margin-top:-1.5rem;border-radius:50%;text-align:center;font:300 2rem/2.7rem 'Inter',system-ui,sans-serif;color:#161616;border:1px solid rgba(0,0,0,.35);transition:background .25s}
.rmodal__a:hover{background:rgba(0,0,0,.08)}
.rmodal__a--p{left:clamp(.6rem,1.6vw,1.6rem)}.rmodal__a--n{right:clamp(.6rem,1.6vw,1.6rem)}
@media (max-width:760px){.rmodal__fig{width:92vw;height:52vh;transform:translate(-50%,-58%)}.rmodal__t{font-size:clamp(1.8rem,10vw,3.6rem);transform:translateY(-110%)}.rmodal__a{display:none}.rmodal__ticks{max-width:50vw}.rmodal__info{bottom:1.2rem}}
@media (prefers-reduced-motion:reduce){.rmodal *{animation:none!important;transition:none!important}.rmodal__t span{opacity:1}}

/* v1.9.157 · Visor con desplazamiento lateral: anterior y siguiente asoman */
.rmodal{--sw:min(62vw,calc(60vh * 1.6));--gap:4vw}
.rmodal__track{position:absolute;z-index:2;left:50%;top:50%;display:flex;align-items:center;gap:var(--gap);height:60vh;transition:transform 1s cubic-bezier(.22,.7,.2,1);will-change:transform}
.rmodal__sl{flex:0 0 var(--sw);width:var(--sw);height:100%;overflow:hidden;cursor:default;opacity:.5;transform:scale(.92);filter:grayscale(.7);transition:opacity .9s ease,transform 1s cubic-bezier(.22,.7,.2,1),filter .9s ease}
.rmodal__sl.is-prev,.rmodal__sl.is-next{cursor:pointer}
.rmodal__sl.is-prev:hover,.rmodal__sl.is-next:hover{opacity:.75}
.rmodal__sl.is-on{opacity:1;transform:none;filter:none}
.rmodal__sl img{display:block;width:100%;height:100%;object-fit:cover}
.rmodal__t span{animation-name:rmodalL2}
@keyframes rmodalL2{from{opacity:0;transform:translateX(var(--dx,0)) translateY(var(--dy,40%))}to{opacity:1;transform:none}}
.rmodal__t{--dy:40%}
@media (max-width:760px){.rmodal{--sw:80vw;--gap:4vw}.rmodal__track{height:50vh}}

/* v1.9.158 · Visor: logo, deslizador tipo acordeón y flecha para seguir bajando */
.rmodal__logo{position:absolute;z-index:1;left:clamp(1rem,2.6vw,2.4rem);top:clamp(.9rem,2.6vh,1.8rem);width:clamp(4.6rem,7vw,6.6rem);aspect-ratio:1;color:rgba(22,22,22,.13);mix-blend-mode:multiply;pointer-events:none}
.rmodal__logo svg{display:block;width:100%;height:100%}
.rmodal__top{justify-content:center!important}
.rmodal__x{position:absolute;right:clamp(1rem,2.5vw,2.2rem);top:clamp(.7rem,2vh,1.3rem)}
.rmodal__ticks{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,1vw,.9rem);height:2.6rem;max-width:70vw;overflow:hidden}
.rmodal__tl,.rmodal__tr{display:flex;align-items:center;gap:clamp(5px,.7vw,9px)}
.rmodal__tg{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:2px;height:2.2rem;padding:0 1px}
.rmodal__tg i{display:block;width:1px;height:.8rem;background:#161616;opacity:.38;transition:height .3s ease,opacity .3s ease}
.rmodal__tg i:first-child{height:1.15rem;opacity:.55}
.rmodal__tg:hover i{opacity:.9;height:1.4rem}
.rmodal__tc{display:flex;align-items:center;gap:.55rem;font:500 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.1em;color:#161616}
.rmodal__tc b{font-weight:500}
.rmodal__tb{display:block;width:1.7rem;height:1.05rem;border:1.5px solid #161616;border-radius:2px}
.rmodal__down{all:unset;cursor:pointer;position:absolute;z-index:6;left:50%;bottom:clamp(.8rem,2.4vh,1.6rem);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;color:#161616;padding:.3rem .8rem}
.rmodal__dt{display:flex;font:500 .66rem/1 'Inter',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.rmodal__dt span{display:block;animation:rmodalTic 2.6s steps(1,end) infinite;animation-delay:calc(var(--k)*90ms)}
@keyframes rmodalTic{0%{transform:translateY(0);opacity:.5}6%{transform:translateY(-2px);opacity:1}12%,100%{transform:translateY(0);opacity:.5}}
.rmodal__dl{display:block;width:1px;height:1.6rem;background:rgba(22,22,22,.28);position:relative;overflow:hidden}
.rmodal__dl::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#161616;animation:rmodalLn 1.8s ease-in-out infinite}
@keyframes rmodalLn{0%{top:-40%}100%{top:110%}}
.rmodal__down svg{animation:rmodalFl 1.8s ease-in-out infinite}
@keyframes rmodalFl{0%,100%{transform:translateY(-2px);opacity:.6}50%{transform:translateY(3px);opacity:1}}
.rmodal__down:hover .rmodal__dt{letter-spacing:.26em}
@media (max-width:760px){.rmodal__info{bottom:6.6rem}.rmodal__logo{width:3.8rem}.rmodal__ticks{max-width:62vw}.rmodal__tg i:nth-child(n+3){display:none}}
@media (prefers-reduced-motion:reduce){.rmodal__dt span,.rmodal__dl::after,.rmodal__down svg{animation:none!important}}

/* v1.9.159 · Entrada con barrido de escáner (clac, clac) y franja de luz que sigue al ratón */
.rod .rod__s{clip-path:inset(0);transition:flex-grow .9s cubic-bezier(.22,.7,.2,1),clip-path .55s cubic-bezier(.7,0,.2,1)}
.rod.is-js .rod__s:not(.is-seen){clip-path:inset(0 0 100% 0)}
.rod.is-js:not(.is-seen) .rod__t{opacity:0!important}
.rod .rod__scan{position:absolute;z-index:5;top:-1.5%;bottom:-1.5%;left:0;width:clamp(34px,4.4vw,72px);pointer-events:none;opacity:0;transition:opacity .4s ease;will-change:transform;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 36%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.3) 64%,rgba(255,255,255,0) 100%);box-shadow:0 0 40px 10px rgba(255,255,255,.28)}
.rod .rod__scan::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;opacity:.95;box-shadow:0 0 12px 2px rgba(255,255,255,.9)}
.rod .rod__scan.is-on,.rod .rod__scan.is-hov{opacity:1}
@media (prefers-reduced-motion:reduce){.rod.is-js .rod__s:not(.is-seen){clip-path:inset(0)}.rod .rod__scan{display:none}}

/* v1.9.160 · Logo real discreto en el visor; preguntas frecuentes con la respuesta a la derecha */
.rmodal__logo{width:auto!important;aspect-ratio:auto!important;color:rgba(22,22,22,.34)!important;mix-blend-mode:normal!important;top:clamp(1rem,2.8vh,1.7rem)!important}
.rmodal__logo .rod__lg{display:inline-flex;align-items:center;gap:.5rem}
.rmodal__logo .logo-mark{height:1.25rem;width:auto;display:block;color:inherit}
.rmodal__logo .rod__lg>span{font:500 .82rem/1 'Playfair Display',Georgia,serif;letter-spacing:.06em;text-transform:uppercase;color:inherit}
@media (max-width:760px){.rmodal__logo .rod__lg>span{display:none}.rmodal__logo .logo-mark{height:1.15rem}}
.svcs .svcs__it--txt .svcs__n{font-size:clamp(1.2rem,2.2vw,2rem)!important;letter-spacing:-.02em;line-height:1.15}
.svcs .svcs__it--txt .svcs__d{width:calc(50% - 1rem);margin-left:auto}
.svcs .svcs__it--txt .svcs__d p{max-width:none;padding-left:0!important}
@media (max-width:760px){.svcs .svcs__it--txt .svcs__d{width:100%;margin-left:0}.svcs .svcs__it--txt .svcs__d p{padding-left:clamp(.2rem,.8vw,.8rem)!important}}

/* v1.9.161 · Un color de tinta por foto: letra grande, textos, deslizador, flecha y logo cambian con el fondo pastel */
.rod .rod__tit,.rod .rod__x b,.rod .rod__x h3,.rod .rod__x p,.rod .rod__a b,.rod .rod__a h3,.rod .rod__a p{transition:color 1.2s ease}
.rod .rod__t{color:var(--rod-ink,#c2603a)!important;mix-blend-mode:normal!important;transition:opacity .4s ease,color 1.2s ease}
.rod .rod__tit,.rod .rod__x h3,.rod .rod__a h3{color:var(--rod-ink,#161616)!important}
.rod .rod__x b,.rod .rod__a b{color:var(--rod-ink,#555)!important;opacity:.8}
.rod .rod__x p,.rod .rod__a p{color:color-mix(in srgb,var(--rod-ink,#2b2b2b) 62%,#000)!important}
.rod .rod__all{border-top-color:var(--rod-ink,#161616)!important;transition:border-color 1.2s ease}
.rmodal{color:var(--rm-ink,#161616)}
.rmodal__t{color:var(--rm-ink,#c2603a)!important;mix-blend-mode:normal!important;transition:color 1s ease}
.rmodal__tc,.rmodal__tc b,.rmodal__x,.rmodal__a,.rmodal__info h3,.rmodal__down{color:var(--rm-ink,#161616)!important;transition:color 1s ease}
.rmodal__info p{color:color-mix(in srgb,var(--rm-ink,#2b2b2b) 62%,#000)!important}
.rmodal__tg i,.rmodal__dl::after{background:var(--rm-ink,#161616)!important}
.rmodal__dl{background:color-mix(in srgb,var(--rm-ink,#161616) 30%,transparent)!important}
.rmodal__tb{border-color:var(--rm-ink,#161616)!important}
.rmodal__a{border-color:color-mix(in srgb,var(--rm-ink,#161616) 45%,transparent)!important}
.rmodal__a:hover,.rmodal__x:hover{background:color-mix(in srgb,var(--rm-ink,#161616) 12%,transparent)!important}
.rmodal__logo{color:color-mix(in srgb,var(--rm-ink,#161616) 55%,transparent)!important;transition:color 1s ease}

/* v1.9.162 · Títulos en Syne (ancha, digital), más grandes, con un tic suave; textos pequeños más discretos */
.rod .rod__t,.rmodal__t{font-family:'Syne','Unbounded','Arial Black',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:0!important;line-height:1!important;font-size:min(24vh,calc(96vw / (var(--len,7) * 1.4)))!important;padding:0 1.6%!important}
.rod .rod__t span,.rmodal__t span{will-change:transform,translate}
.rod .rod__t.is-on span{animation:rodTic 4.2s steps(1,end) infinite;animation-delay:calc(2s + var(--k)*170ms)}
.rmodal__t span{animation:rmodalL2 .9s cubic-bezier(.22,.7,.2,1) forwards,rodTic 4.2s steps(1,end) infinite;animation-delay:calc(.15s + var(--k)*55ms),calc(2.2s + var(--k)*170ms)}
@keyframes rodTic{0%{translate:0 0}2.5%{translate:0 -.045em}5%{translate:0 0}7.5%{translate:.012em .02em}10%,100%{translate:0 0}}
.rmodal__info{max-width:26rem!important}
.rmodal__info h3{font:600 .72rem/1.2 'Inter',system-ui,sans-serif!important;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem!important;opacity:.9}
.rmodal__info p{font:400 .82rem/1.5 'Inter',system-ui,sans-serif!important;opacity:.85}
.rmodal__dt{font-size:.58rem!important}
.rod .rod__x h3{font-size:clamp(.78rem,.95vw,.92rem)!important;letter-spacing:.14em;text-transform:uppercase}
.rod .rod__x p{font-size:clamp(.85rem,1vw,.95rem)!important}
@media (max-width:760px){.rod .rod__t,.rmodal__t{font-size:min(16vh,calc(96vw / (var(--len,7) * 1.4)))!important}}
@media (prefers-reduced-motion:reduce){.rod .rod__t span,.rmodal__t span{animation:none!important}.rmodal__t span{opacity:1}}

/* v1.9.163 · Doto (matriz de puntos, como si faltaran píxeles), letras descolocadas, fotos 4:3, tic ocasional solo en el texto pequeño */
.rod .rod__t,.rmodal__t{font-family:'Doto','Handjet','Courier New',monospace!important;font-weight:800!important;font-size:min(26vh,calc(96vw / (var(--len,7) * .8)))!important;padding:0 1.5%!important;align-items:center}
.rod .rod__t span,.rmodal__t span{position:relative;top:calc(var(--oy,0) * .55em);left:calc(var(--ox,0) * 1vw)}
.rod .rod__t.is-on span{animation:none!important}
.rmodal__t span{animation:rmodalL2 .9s cubic-bezier(.22,.7,.2,1) forwards!important;animation-delay:calc(.15s + var(--k)*55ms)!important}
.rmodal{--sw:min(58vw,calc(60vh * 1.3334))}
.rmodal__track{height:auto!important;align-items:center}
.rmodal__sl{height:auto!important;aspect-ratio:4/3}
.rod .rod__s img{object-fit:cover}
.rmodal__info .tw{display:inline-block;white-space:nowrap}
.rmodal__info .tc{display:inline-block;animation:rodTicI 7s steps(1,end) infinite;animation-delay:calc(2s + var(--k)*16ms)}
@keyframes rodTicI{0%{translate:0 0}.7%{translate:0 -.16em}1.6%,100%{translate:0 0}}
@media (max-width:760px){.rod .rod__t,.rmodal__t{font-size:min(20vh,calc(96vw / (var(--len,7) * .86)))!important}.rmodal{--sw:80vw}}
@media (prefers-reduced-motion:reduce){.rmodal__info .tc{animation:none!important}}

/* v1.9.164 · letras rayadas (como las barras del logo), logo del visor más grande, opaco y enlazado, fotos de igual altura */
.rod .rod__t,.rmodal__t{font-family:'Archivo Black','Arial Black',Impact,sans-serif!important;font-weight:400!important;letter-spacing:0!important;font-size:min(26vh,calc(96vw / (var(--len,7) * .92)))!important;
 -webkit-mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .036em,transparent .036em,transparent .054em);mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .036em,transparent .036em,transparent .054em)}
@media (max-width:760px){.rod .rod__t,.rmodal__t{font-size:min(20vh,calc(96vw / (var(--len,7) * .98)))!important}}
.rmodal__sl,.rmodal__sl.is-prev,.rmodal__sl.is-next,.rmodal__sl.is-on{transform:none!important}
.rmodal__logo{color:color-mix(in srgb,var(--rm-ink,#161616) 80%,transparent)!important;pointer-events:auto!important}
.rmodal__logo .rod__lg{text-decoration:none;color:inherit;cursor:pointer;gap:.6rem;transition:opacity .3s}
.rmodal__logo .rod__lg:hover{opacity:.7}
.rmodal__logo .logo-mark{height:1.55rem!important}
.rmodal__logo .rod__lg>span{font-size:.95rem!important}
@media (max-width:760px){.rmodal__logo .logo-mark{height:1.35rem!important}}

/* v1.9.165 · huecos de las rayas semitransparentes, luz de escáner que deja la letra limpia, logo clicable (estaba tapado por la barra superior) */
@property --sx{syntax:'<percentage>';inherits:false;initial-value:-40%}
.rmodal__logo{z-index:9!important}
.rod .rod__t,.rmodal__t{
 -webkit-mask-image:linear-gradient(90deg,transparent calc(var(--sx) - 14%),#000 calc(var(--sx) - 6%),#000 calc(var(--sx) + 6%),transparent calc(var(--sx) + 14%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em);
 mask-image:linear-gradient(90deg,transparent calc(var(--sx) - 14%),#000 calc(var(--sx) - 6%),#000 calc(var(--sx) + 6%),transparent calc(var(--sx) + 14%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em);
 -webkit-mask-composite:source-over;mask-composite:add;
 animation:rodSx 7s cubic-bezier(.45,.05,.4,1) 1.6s infinite}
@keyframes rodSx{0%{--sx:-30%}45%,100%{--sx:130%}}
@media (prefers-reduced-motion:reduce){.rod .rod__t,.rmodal__t{animation:none}}

/* v1.9.166 · la luz sigue al ratón (sin animación automática en ratón); en táctil, barrido periódico */
.rod .rod__t,.rmodal__t{animation:none!important}
@media (hover:none){.rod .rod__t,.rmodal__t{animation:rodSx 7s cubic-bezier(.45,.05,.4,1) 1.6s infinite!important}}

/* v1.9.167 · con ratón, la zona recorrida queda sólida (rango --lo/--hi); en táctil sigue el barrido automático */
@media (hover:hover){
.rod .rod__t,.rmodal__t{
 -webkit-mask-image:linear-gradient(90deg,transparent calc(var(--lo,-60%) - 12%),#000 calc(var(--lo,-60%) - 4%),#000 calc(var(--hi,-60%) + 4%),transparent calc(var(--hi,-60%) + 12%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em);
 mask-image:linear-gradient(90deg,transparent calc(var(--lo,-60%) - 12%),#000 calc(var(--lo,-60%) - 4%),#000 calc(var(--hi,-60%) + 4%),transparent calc(var(--hi,-60%) + 12%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em)}
}

/* v1.9.168 · tipografía condensada y mucho más alta (Anton), con las mismas rayas y la luz de escáner */
.rod .rod__t,.rmodal__t{font-family:'Anton','Impact','Arial Narrow',sans-serif!important;font-weight:400!important;letter-spacing:.01em!important;font-size:min(46vh,calc(97vw / (var(--len,7) * .52)))!important;line-height:1}
.rod .rod__t span,.rmodal__t span{top:calc(var(--oy,0) * .4em)}
@media (max-width:760px){.rod .rod__t,.rmodal__t{font-size:min(34vh,calc(97vw / (var(--len,7) * .56)))!important}}

/* v1.9.169 · sin huecos negros entre bloques de la página (saltos de línea y párrafos vacíos que añade WordPress) */
.side-panel.has-vids .entry-content>br,.side-panel.has-vids .entry-content>p:empty{display:none!important}
.side-panel.has-vids .entry-content>p{margin:0!important;padding:0!important}
.side-panel.has-vids .side-panel__body{background:#fbfbf9}

/* v1.9.171 · las descripciones de los apartados ocupan todo el ancho disponible (2 líneas en vez de 4-5) */
.svcs .svcs__sd{max-width:none!important}
.svcs .svcs__sub li{grid-template-columns:minmax(8rem,16rem) minmax(0,1fr)}

/* v1.9.172 · «En detalle» más editorial: índice numerado, títulos medianos, sin relleno de color, retícula única */
.svcs{--svc-ac:var(--vids-acento,#2a6347);--svc-num:3.4rem}
.svcs .svcs__ul{counter-reset:svc;border-top:1px solid rgba(17,17,17,.22)}
.svcs .svcs__it{counter-increment:svc;border-bottom:1px solid rgba(17,17,17,.22)!important;transition:border-color .4s ease!important}
.svcs .svcs__it.is-open{border-bottom-color:var(--svc-ac)!important}
.svcs .svcs__b{padding-top:clamp(1.1rem,2.8vh,1.8rem)!important;padding-bottom:clamp(1.1rem,2.8vh,1.8rem)!important}
.svcs .svcs__b::before{display:none!important}
.svcs .svcs__n{display:flex!important;align-items:baseline;font:500 clamp(1.3rem,2.1vw,2rem)/1.2 'Inter',system-ui,sans-serif!important;letter-spacing:-.02em;transition:opacity .8s ease,transform 1s cubic-bezier(.22,.7,.2,1),translate .45s cubic-bezier(.22,.7,.2,1),color .35s ease!important}
.svcs .svcs__n::before{content:counter(svc,decimal-leading-zero);flex:none;width:var(--svc-num);font:500 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;color:var(--svc-ac);opacity:.75}
.svcs .svcs__it.is-hot .svcs__n,.svcs .svcs__it.is-open .svcs__n,.svcs .svcs__it:hover .svcs__n{color:var(--svc-ac)!important;translate:.5rem 0}
.svcs .svcs__it:not(.is-hot):not(.is-open):hover .svcs__n{color:#111!important;translate:0 0}
.svcs .svcs__mas::before,.svcs .svcs__mas::after{height:1px;margin-top:-.5px;background:#111;transition:background .35s ease}
.svcs .svcs__it.is-open .svcs__mas::before,.svcs .svcs__it.is-open .svcs__mas::after{background:var(--svc-ac)}
.svcs .svcs__mas{width:1.3rem;height:1.3rem}
/* contenido: alineado bajo el título, etiqueta a la izquierda y texto a la derecha */
.svcs ul.svcs__sub{padding:0 clamp(.2rem,.8vw,.8rem) clamp(1.4rem,3.2vh,2.2rem) calc(clamp(.2rem,.8vw,.8rem) + var(--svc-num))!important}
.svcs .svcs__sub li{grid-template-columns:minmax(9rem,30%) minmax(0,1fr)!important;gap:.4rem clamp(1.2rem,3.5vw,3.5rem);padding:clamp(.9rem,2.2vh,1.3rem) 0!important;border-top-color:rgba(17,17,17,.12)}
.svcs .svcs__st{font:600 .95rem/1.4 'Inter',system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--svc-ac)!important}
.svcs .svcs__sd{max-width:92ch!important;font:400 1rem/1.6 'Inter',system-ui,sans-serif!important;color:#262626!important}
.svcs .svcs__d p{padding-left:calc(clamp(.2rem,.8vw,.8rem) + var(--svc-num))!important}
@media (max-width:760px){
  .svcs{--svc-num:2.3rem}
  .svcs ul.svcs__sub{padding-left:calc(clamp(.2rem,.8vw,.8rem) + var(--svc-num))!important}
  .svcs .svcs__sub li{grid-template-columns:1fr!important}
  .svcs .svcs__n{font-size:1.3rem!important}
}

/* v1.9.173 · el apartado abierto no se desplaza (queda alineado con su contenido) */
.svcs .svcs__it.is-open .svcs__n{translate:0 0!important}

/* v1.9.174 · el acento de «RESOLUCIÓN» asomaba por abajo antes de empezar la animación: sale más abajo y queda oculto hasta entrar */
.vids .vids__l:has(em)>span{transform:translateY(160%)}
.vids .vids__intro:not(.is-in) .vids__l:has(em)>span{visibility:hidden}
.vids .vids__intro.is-in .vids__l:has(em)>span{transform:none}
@media (prefers-reduced-motion:reduce){.vids .vids__l:has(em)>span{transform:none;visibility:visible}}

/* v1.9.175 · los acentos de las mayúsculas (Ó) ya no se cortan por arriba al entrar el titular */
.vids .vids__l{padding-top:.26em;margin-top:-.26em}

/* v1.9.176 · transición entre páginas desde el menú lateral: la actual sale hacia la derecha y la nueva aparece debajo */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.85s}
::view-transition-old(root){z-index:2;animation:perdomoVtOut .85s cubic-bezier(.65,.05,.2,1) both}
::view-transition-new(root){z-index:1;animation:perdomoVtIn .85s cubic-bezier(.65,.05,.2,1) both}
@keyframes perdomoVtOut{to{transform:translateX(100%)}}
@keyframes perdomoVtIn{from{transform:translateX(-22%);opacity:.6}to{transform:none;opacity:1}}
/* el título de la página sobra en las páginas con galería a pantalla completa (ya lo lleva el propio contenido) */
body:has(.entry-content .vids) h1.entry-title,body:has(.entry-content .rod) h1.entry-title{display:none!important}

/* v1.9.177 · en página completa el cuerpo ya deja el hueco de la cabecera: el titular no suma otro hueco igual (como en el panel lateral) */
body .vids__intro{padding-top:clamp(2rem,6vh,4rem)!important}

/* v1.9.178 · el hueco de arriba venía del margen de la zona principal (4rem) más el del titular: ahora el titular arranca justo bajo la línea de la cabecera */
body:has(.entry-content .vids) .site-main,body:has(.entry-content .rod) .site-main{padding-top:0!important}
body:has(.entry-content .vids) .entry,body:has(.entry-content .rod) .entry{margin-top:0!important;padding-top:0!important}
body:has(.entry-content .vids) .entry-content>*:first-child{margin-top:0!important}
body .vids__intro{padding-top:clamp(1.4rem,4.5vh,2.6rem)!important}

/* v1.9.179 · en táctil la luz sigue al dedo igual que al ratón (sin barrido automático) */
.rod .rod__t,.rmodal__t{
 -webkit-mask-image:linear-gradient(90deg,transparent calc(var(--lo,-60%) - 12%),#000 calc(var(--lo,-60%) - 4%),#000 calc(var(--hi,-60%) + 4%),transparent calc(var(--hi,-60%) + 12%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em)!important;
 mask-image:linear-gradient(90deg,transparent calc(var(--lo,-60%) - 12%),#000 calc(var(--lo,-60%) - 4%),#000 calc(var(--hi,-60%) + 4%),transparent calc(var(--hi,-60%) + 12%)),repeating-linear-gradient(to bottom,#000 0,#000 .036em,rgba(0,0,0,.3) .036em,rgba(0,0,0,.3) .054em)!important;
 animation:none!important}

/* v1.9.181 · visor: la rueda (o el botón de tiras / la tecla G) hace zoom out y muestra todas las fotos como tiras; al elegir una, vuelve a pantalla completa */
.rmodal__ov{position:absolute;inset:0;z-index:5;background:#111210;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2vh;opacity:0;visibility:hidden;transform:scale(1.35);transition:opacity .5s ease,transform .75s cubic-bezier(.22,.7,.2,1),visibility 0s .75s}
.rmodal.is-ov .rmodal__ov{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.rmodal__ovr{display:flex;gap:.45vw;width:min(94vw,1500px);height:min(54vh,560px)}
.rmodal__ovs{all:unset;box-sizing:border-box;flex:1 1 0;min-width:0;cursor:pointer;overflow:hidden;position:relative;filter:grayscale(1) brightness(.55);transition:filter .4s ease,flex-grow .5s cubic-bezier(.22,.7,.2,1)}
.rmodal__ovs img{display:block;width:100%;height:100%;object-fit:cover}
.rmodal__ovs.is-cur{flex-grow:2.4;filter:none}
.rmodal__ovs:focus-visible{outline:2px solid #fff;outline-offset:2px}
.rmodal__ovh{font:500 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.rmodal.is-ov .rmodal__ticks,.rmodal.is-ov .rmodal__a,.rmodal.is-ov .rmodal__t,.rmodal.is-ov .rmodal__info,.rmodal.is-ov .rmodal__down{opacity:0!important;pointer-events:none!important}
.rmodal.is-ov .rmodal__x,.rmodal.is-ov .rmodal__g{color:#f0f0f0}
.rmodal.is-ov .rmodal__logo{color:rgba(255,255,255,.85)!important}
.rmodal__g{all:unset;cursor:pointer;position:absolute;z-index:7;right:calc(clamp(1rem,2.5vw,2.2rem) + 3rem);top:clamp(.7rem,2vh,1.3rem);width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;color:var(--rm-ink,#161616);opacity:.85;transition:opacity .25s,color .4s}
.rmodal__g:hover{opacity:1}
.rmodal__x{z-index:7}
@media (max-width:760px){.rmodal__ovr{height:44vh;gap:1.2vw}.rmodal__g{right:calc(1rem + 2.8rem)}}
@media (prefers-reduced-motion:reduce){.rmodal__ov,.rmodal__ovs{transition:none}}

/* ===== v1.9.186 ===== */
/* cierre: la línea de título no deja ver nada (ni el acento) hasta que empieza la animación */
.cta .cta__l>span{visibility:hidden;transform:translateY(240%)}
.cta.is-in .cta__l>span{visibility:visible}
@media (prefers-reduced-motion:reduce){.cta .cta__l>span{visibility:visible;transform:none}}

/* flechas de la hoja lateral: en móvil se esconden cuando llega el cierre (contacto y redes) para no taparlo */
.side-panel__arrow{transition:opacity .3s ease}
.side-panel.arrows-off .side-panel__arrow{opacity:0;pointer-events:none}

/* titulares de las diapositivas de vídeo y foto: cada letra sube con retardo */
.vid .vid__titulo .vl{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .14em;margin:-.04em -.02em -.14em}
.vid .vid__titulo .vl i{display:inline-block;font-style:normal;transform:translateY(115%);transition:transform .95s cubic-bezier(.22,.7,.2,1);transition-delay:0s}
.vid.is-on .vid__titulo .vl i{transform:none;transition-delay:calc(.12s + var(--k)*26ms)}
@media (prefers-reduced-motion:reduce){.vid .vid__titulo .vl i{transform:none;transition:none}}

/* botón para bajar a la siguiente diapositiva sin usar el dedo */
.vid__sig{position:absolute;left:50%;bottom:clamp(.9rem,2.4vh,1.6rem);z-index:5;width:2.8rem;height:2.8rem;margin-left:-1.4rem;padding:0;background:none;border:0;cursor:pointer;color:#fff;opacity:0;transition:opacity .8s ease .6s}
.vid.is-on .vid__sig{opacity:.9}
.vid__sig::before{content:"";position:absolute;left:50%;top:50%;width:.9rem;height:.9rem;margin:-.7rem 0 0 -.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:vidsFlecha 1.8s ease-in-out infinite}
.vid__sig:hover,.vid__sig:focus-visible{opacity:1;outline:0}
@media (prefers-reduced-motion:reduce){.vid__sig::before{animation:none}}

/* página legal: mismo diseño de líneas que Contacto */
body:has(.legal-layout){--rail:clamp(3.5rem,13vw,12rem);--ln:rgba(0,0,0,.2)}
body:has(.legal-layout) .site-main{max-width:none!important;padding:0!important;overflow-x:clip}
body:has(.legal-layout) .entry{max-width:none;width:100%;position:relative;padding-left:var(--rail)}
body:has(.legal-layout) .entry::after{content:"";position:absolute;left:var(--rail);top:0;bottom:0;width:1px;background:var(--ln);z-index:1;pointer-events:none}
body:has(.legal-layout) h1.entry-title{font-family:'Inter',system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:.92;font-size:clamp(2.6rem,8.2vw,8rem);color:#0a0a0a;margin:0;padding:clamp(5rem,20vh,12rem) clamp(1.5rem,4vw,4rem) clamp(1.5rem,4vw,3rem);text-wrap:balance}
.legal-layout{position:relative;margin-left:calc(-1*var(--rail));padding-left:var(--rail);border-top:1px solid var(--ln)}
.legal-layout::before{content:"Legal";position:absolute;left:calc(var(--rail)/2);top:clamp(2rem,5vw,4rem);writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#777}
.legal-layout .legal__body{max-width:calc(76ch + 8rem);padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,4rem) clamp(3rem,8vw,6rem);font-size:1rem;line-height:1.75;color:#333}
.legal-layout .legal__body h2,.legal-layout .legal__body h3{font-family:'Inter',sans-serif;font-weight:700;color:#0a0a0a;letter-spacing:-.01em;margin:2.6rem 0 .8rem}
.legal-layout .legal__body h2{font-size:1.35rem}.legal-layout .legal__body h3{font-size:1.05rem}
.legal-layout .legal__body>h2:first-child,.legal-layout .legal__body>h3:first-child{margin-top:0}
.legal-layout .legal__body p,.legal-layout .legal__body ul,.legal-layout .legal__body ol{margin:0 0 1.1rem}
.legal-layout .legal__body ul,.legal-layout .legal__body ol{padding-left:1.2rem}
.legal-layout .legal__body strong{color:#0a0a0a}
.legal-layout .legal__body a{color:#0a0a0a;text-decoration:underline;text-underline-offset:.25em}
@media (max-width:800px){body:has(.legal-layout){--rail:0px}body:has(.legal-layout) .entry::after,.legal-layout::before{display:none}body:has(.legal-layout) h1.entry-title{font-size:clamp(2.2rem,11vw,4rem)}}
.legal-layout .legal__body h2,.legal-layout .legal__body h3{border:0!important;padding:0!important;text-transform:none}

/* v1.9.187 · flecha de «bajar» siempre centrada; en la última diapositiva lleva el texto «Seguir bajando» con una ola de letras y una pausa */
.vids .vids__intro .vids__flecha{left:50%!important;right:auto!important;margin-left:-.65rem}
.vid__sig--fin{left:50%;margin-left:0;transform:translateX(-50%);width:auto;height:auto;min-width:7rem;padding:0 .6rem 2.1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;bottom:clamp(.5rem,1.6vh,1rem)}
.vid__sig--fin::before{left:50%;top:auto;bottom:.55rem;margin:0 0 0 -.45rem}
.vid__sig__t{display:block;font:500 .62rem/1 'Inter',system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.vid__sig__t i{display:inline-block;font-style:normal;opacity:.4;animation:vidSigOla 5.2s ease-in-out infinite;animation-delay:calc(var(--k)*80ms)}
.vid__sig__l{display:block;width:1px;height:1.1rem;background:currentColor;opacity:.55}
@keyframes vidSigOla{0%,26%,100%{opacity:.4;transform:none}9%{opacity:1;transform:translateY(-.2em)}}
@media (prefers-reduced-motion:reduce){.vid__sig__t i{animation:none;opacity:.9}}

/* v1.9.188 · página completa (entrada desde el menú): las diapositivas miden exactamente lo que se ve en el móvil (la barra del navegador se encoge al bajar) */
.vid{height:var(--vids-h,100vh)}
.vids__intro{min-height:calc(var(--vids-h,100vh) - 24vh)}
@supports (height:100dvh){.vid{height:var(--vids-h,100dvh)}.vids__intro{min-height:calc(var(--vids-h,100dvh) - 24vh)}}

/* v1.9.190 · la última diapositiva también se queda fijada un rato (antes salía de pantalla al llegar y se comía el título y la flecha de abajo) */
.vids::after{content:"";display:block;height:calc(var(--vids-h,100vh) * .7);pointer-events:none}
@supports (height:100dvh){.vids::after{height:calc(var(--vids-h,100dvh) * .7)}}

/* v1.9.191 · las palabras del titular no se parten por la mitad cuando son más largas que el ancho */
.vid .vid__titulo .vl{white-space:nowrap}
.vid .vid__titulo{text-wrap:wrap!important}

/* v1.9.199: página legal — título gigante en gris suave, en vertical y en dos líneas, en el hueco de la derecha (la página crece lo que haga falta para que la palabra acabe) */
.legal-layout{display:grid;grid-template-columns:minmax(0,calc(76ch + 8rem)) minmax(0,1fr)}
.legal-layout .legal__body{position:relative;z-index:1;grid-column:1;grid-row:1}
.legal-layout .legal__ghost{grid-column:2;grid-row:1;align-self:start;justify-self:end;margin:clamp(1.5rem,3vw,3rem) clamp(1.5rem,5vw,7rem) clamp(2rem,4vw,4rem) 0;writing-mode:vertical-rl;font-family:'Inter',system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:.86;font-size:clamp(5rem,12.5vw,15rem);white-space:nowrap;color:rgba(0,0,0,.05);pointer-events:none;user-select:none;z-index:0}
.legal-layout .legal__ghost span{display:block}
@media (max-width:1280px){.legal-layout{display:block}.legal-layout .legal__ghost{display:none}}

/* v1.9.200 · Portada con foto a pantalla completa: pestañas laterales (Audiovisual / Digitalización) y flecha hacia abajo */
.hero-photo{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:calc(100svh - var(--header-h,7.5rem) - var(--wp-admin--admin-bar--height,0px));min-height:26rem;overflow:hidden;background:#0b0b0b;color:#fff}
.hero-photo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroIn 1.2s ease both}
@keyframes heroIn{from{opacity:0}to{opacity:1}}
.hero-photo__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,0) 26%,rgba(0,0,0,0) 74%,rgba(0,0,0,.42)),linear-gradient(0deg,rgba(0,0,0,.4),rgba(0,0,0,0) 34%)}
.hero-photo__tab,.hero-photo__down{position:absolute;z-index:2;display:flex;align-items:center;gap:.9rem;color:#fff;text-decoration:none;background:none;border:0;cursor:pointer;font:600 clamp(.68rem,.82vw,.8rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase;text-shadow:0 0 14px rgba(0,0,0,.45)}
.hero-photo__tab{top:50%;writing-mode:vertical-rl;padding:2.4rem clamp(1rem,2.2vw,2.2rem);transform:translateY(-50%)}
.hero-photo__tab--left{left:0;transform:translateY(-50%) rotate(180deg)}
.hero-photo__tab--right{right:0}
.hero-photo__tab::after{content:"";position:absolute;background:rgba(255,255,255,.55);transition:transform .5s cubic-bezier(.22,.7,.2,1)}
.hero-photo__tab--left::after,.hero-photo__tab--right::after{left:50%;top:-4.5rem;width:1px;height:4rem;transform-origin:bottom;transform:translateX(-50%) scaleY(.35)}
.hero-photo__tab:hover::after,.hero-photo__tab:focus-visible::after{transform:translateX(-50%) scaleY(1)}
.hero-photo__chev{display:inline-flex}
.hero-photo__chev svg{display:block}
/* las flechas apuntan hacia el borde de donde entrará la hoja */
.hero-photo__tab--left .hero-photo__chev svg,.hero-photo__tab--right .hero-photo__chev svg{transform:rotate(180deg)}
.hero-photo__tab--left::after{top:auto;bottom:-4.5rem;transform-origin:top}
.hero-photo__tab--left{animation:none}
.hero-photo__down{left:50%;bottom:clamp(1.2rem,4vh,2.4rem);transform:translateX(-50%);flex-direction:column;gap:.8rem;padding:.8rem 1.2rem}
.hero-photo__down .hero-photo__chev svg{transform:rotate(-90deg);animation:heroNudge 2.4s ease-in-out infinite}
@keyframes heroNudge{0%,60%,100%{translate:0 0}20%{translate:0 .45rem}40%{translate:0 0}}
.hero-photo__tab:hover .hero-photo__chev,.hero-photo__tab:focus-visible .hero-photo__chev{transform:translateY(-.35rem)}
.hero-photo__chev{transition:transform .4s cubic-bezier(.22,.7,.2,1)}
@media (max-width:700px){.hero-photo__tab{padding:2rem .7rem;letter-spacing:.28em}.hero-photo__tab::after{display:none}.hero-photo__down{bottom:1rem}}
@media (prefers-reduced-motion:reduce){.hero-photo__img{animation:none}.hero-photo__down .hero-photo__chev svg{animation:none}}

/* v1.9.202 · Portada: las letras hacen la misma «ola» que el «Seguir bajando» del acordeón (cada letra sube y se ilumina, una tras otra), en orden izquierda, centro, derecha; las flechas laterales también se mueven; la foto sigue un poco más al ratón */
.hero-photo__lbl .vl{display:inline-block;white-space:nowrap}
.hero-photo__lbl .vl i{display:inline-block;font-style:normal;opacity:.4;animation:heroOla 9s ease-in-out infinite;animation-delay:calc(var(--d,0s) + var(--k)*80ms)}
.hero-photo__tab--left .hero-photo__lbl{--d:.8s}
.hero-photo__down .hero-photo__lbl{--d:2.6s}
.hero-photo__tab--right .hero-photo__lbl{--d:4.4s}
.hero-photo__down .hero-photo__lbl .vl i{--pop:translateY(-.2em)}
.hero-photo__tab .hero-photo__lbl .vl i{--pop:translateX(-.2em)}
@keyframes heroOla{0%,15%,100%{opacity:.4;transform:none}5%{opacity:1;transform:var(--pop,none)}}
.hero-photo__tab--left .hero-photo__chev svg,.hero-photo__tab--right .hero-photo__chev svg{animation:heroNudgeX 2.4s ease-in-out infinite}
.hero-photo__tab--right .hero-photo__chev svg{animation-delay:.6s}
@keyframes heroNudgeX{0%,60%,100%{translate:0 0}20%{translate:.45rem 0}40%{translate:0 0}}
.hero-photo__img{transform:translate3d(calc(var(--px,0)*1%),calc(var(--py,0)*1%),0) scale(1.09);will-change:transform}
@media (hover:none),(pointer:coarse){.hero-photo__img{transform:none;will-change:auto}}
@media (prefers-reduced-motion:reduce){.hero-photo__img{transform:none}.hero-photo__lbl .vl i,.hero-photo__tab .hero-photo__chev svg{animation:none;opacity:1}}

/* v1.9.203 · «← Ver más»: la flecha va delante del texto y apunta a la izquierda (Audiovisual se abre por ese lado) */
.home-content .arrow-link--left a::after{order:-1;transform:scaleX(-1)}
.home-content .arrow-link--left a{gap:1rem}

/* v1.9.206 · Flechas de las hojas (Audiovisual, Digitalización…): mismas que las de la portada, chevron suelto sin círculo y con el mismo empujoncito hacia donde apunta */
.side-panel .side-panel__arrow .ico,.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{width:auto;height:auto;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff;padding:.5rem}
.side-panel .side-panel__arrow .ico svg{display:block;width:22px;height:22px;stroke-width:1.5;filter:drop-shadow(0 0 6px rgba(0,0,0,.55));animation:panelNudgeR 1.8s ease-in-out infinite}
@keyframes panelNudge{0%,60%,100%{translate:0 0}20%{translate:-.45rem 0}40%{translate:0 0}}
.side-panel .side-panel__arrow--next .ico svg{animation-delay:.6s}
@media (max-width:700px){.side-panel .side-panel__arrow{background:rgba(0,0,0,.45)}.side-panel .side-panel__arrow .ico{padding:.2rem .35rem}}
@media (prefers-reduced-motion:reduce){.side-panel .side-panel__arrow .ico svg{animation:none}}

/* v1.9.207 · Flechas de las hojas como las pestañas de la portada: etiqueta vertical (Inicio / nombre de la hoja), línea que crece al pasar el ratón, ola de letras y empujón de la flecha al pasar el ratón; se ven sobre fondo blanco o foto (se invierten solas) */
.side-panel .side-panel__arrow{mix-blend-mode:difference;color:#fff;writing-mode:vertical-rl;flex-direction:row;gap:.9rem;padding:2.4rem clamp(.8rem,1.6vw,1.5rem);background:none;top:50%;left:auto;right:auto;transform:translateY(-50%);font:600 clamp(.68rem,.82vw,.8rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase}
.side-panel .side-panel__arrow--home{left:0}
.side-panel .side-panel__arrow--next{right:0}
.side-panel.home-right .side-panel__arrow--home{left:auto;right:0}
.side-panel.home-right .side-panel__arrow--next{right:auto;left:0}
.side-panel .side-panel__arrow--home,.side-panel.home-right .side-panel__arrow--next{transform:translateY(-50%) rotate(180deg)}
.side-panel.home-right .side-panel__arrow--home{transform:translateY(-50%)}
.side-panel .side-panel__arrow .ico,.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{transform:none!important;padding:0}
.side-panel .side-panel__arrow .ico{order:2}
.side-panel .side-panel__arrow .ico svg{filter:none;transform:rotate(180deg)}
.side-panel .side-panel__arrow--home .ico,.side-panel.home-right .side-panel__arrow--next .ico{order:0}
.side-panel .side-panel__arrow--home .lbl,.side-panel.home-right .side-panel__arrow--next .lbl{order:1}
.side-panel.home-right .side-panel__arrow--home .ico{order:2}
.side-panel.home-right .side-panel__arrow--home .lbl{order:1}
.side-panel .side-panel__arrow .lbl{position:static;width:auto;height:auto;overflow:visible;clip:auto;opacity:.9;display:block;white-space:nowrap}
.side-panel .side-panel__arrow .lbl i{display:inline-block;font-style:normal}
.side-panel .side-panel__arrow:hover .lbl i,.side-panel .side-panel__arrow:focus-visible .lbl i{animation:panelOla 5.2s ease-in-out 1;animation-delay:calc(var(--k)*80ms);--pop:translateX(-.2em)}
@keyframes panelOla{0%,26%,100%{opacity:.5;transform:none}9%{opacity:1;transform:var(--pop,none)}}
.side-panel .side-panel__arrow:hover .ico svg{animation-duration:1.3s;animation-delay:0s}
.side-panel .side-panel__arrow::after{content:"";position:absolute;left:50%;top:-4.5rem;width:1px;height:4rem;background:currentColor;opacity:.7;transform-origin:bottom;transform:translateX(-50%) scaleY(.35);transition:transform .5s cubic-bezier(.22,.7,.2,1)}
.side-panel .side-panel__arrow--home::after,.side-panel.home-right .side-panel__arrow--next::after{top:auto;bottom:-4.5rem;transform-origin:top}
.side-panel.home-right .side-panel__arrow--home::after{top:-4.5rem;bottom:auto;transform-origin:bottom}
.side-panel .side-panel__arrow:hover::after,.side-panel .side-panel__arrow:focus-visible::after{transform:translateX(-50%) scaleY(1);opacity:1}
@media (prefers-reduced-motion:reduce){.side-panel .side-panel__arrow:hover .lbl i{animation:none}}

/* v1.9.208 · Portada: al pasar el ratón por una pestaña (o «Seguir bajando») las letras hacen la ola al momento, como en las flechas de las hojas, y la flecha se mueve más rápido */
@keyframes heroOlaHover{0%,26%,100%{opacity:.4;transform:none}9%{opacity:1;transform:var(--pop,none)}}
.hero-photo__tab:hover .hero-photo__lbl .vl i,.hero-photo__tab:focus-visible .hero-photo__lbl .vl i,.hero-photo__down:hover .hero-photo__lbl .vl i,.hero-photo__down:focus-visible .hero-photo__lbl .vl i{animation:heroOlaHover 5.2s ease-in-out 1;animation-delay:calc(var(--k)*80ms)}
.hero-photo__tab:hover .hero-photo__chev svg,.hero-photo__tab:focus-visible .hero-photo__chev svg,.hero-photo__down:hover .hero-photo__chev svg,.hero-photo__down:focus-visible .hero-photo__chev svg{animation-duration:.9s;animation-delay:0s}
@media (prefers-reduced-motion:reduce){.hero-photo__tab:hover .hero-photo__lbl .vl i,.hero-photo__down:hover .hero-photo__lbl .vl i{animation:none}}

/* v1.9.209 · El botón de contacto (WhatsApp, teléfono, redes) también se ve dentro de las hojas de Audiovisual y Digitalización; se aparta de las flechas en móvil y se esconde cuando aparece el cierre con contacto */
html.panel-open .contact-fab{opacity:1;pointer-events:auto;z-index:950}
html.panel-open .contact-fab__toggle,html.panel-open .contact-fab__list a{box-shadow:0 2px 12px rgba(0,0,0,.3)}
/* flechas de las hojas: la etiqueta descansa algo apagada y la ola solo la ilumina (sin saltos al empezar) */
.side-panel .side-panel__arrow .lbl i{opacity:.6}
@keyframes panelOla{0%,26%,100%{opacity:.6;transform:none}9%{opacity:1;transform:var(--pop,none)}}

/* v1.9.210 · Portada: al pasar el ratón por una pestaña, la foto se amplía un poco y se desplaza hacia donde irá la página al abrirse (derecha para Audiovisual, izquierda para Digitalización); «Seguir bajando» la sube un pelín */
.hero-photo__img{transition:translate 1s cubic-bezier(.22,.7,.2,1),scale 1s cubic-bezier(.22,.7,.2,1)}
.hero-photo:has(.hero-photo__tab--left:hover) .hero-photo__img,.hero-photo:has(.hero-photo__tab--left:focus-visible) .hero-photo__img{translate:2.4% 0;scale:1.045}
.hero-photo:has(.hero-photo__tab--right:hover) .hero-photo__img,.hero-photo:has(.hero-photo__tab--right:focus-visible) .hero-photo__img{translate:-2.4% 0;scale:1.045}
.hero-photo:has(.hero-photo__down:hover) .hero-photo__img,.hero-photo:has(.hero-photo__down:focus-visible) .hero-photo__img{translate:0 -1.4%;scale:1.03}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.hero-photo:has(.hero-photo__tab:hover) .hero-photo__img,.hero-photo:has(.hero-photo__down:hover) .hero-photo__img{translate:none;scale:none}}

/* v1.9.212 · iPhone: flecha sencilla (círculo con fondo, sin texto) a media altura en el borde de cada lado; el botón de contacto se queda siempre en su sitio y las flechas solo se apartan cuando llega el cierre con contacto y redes */
@media (max-width:700px){
.side-panel .side-panel__arrow{writing-mode:horizontal-tb;mix-blend-mode:normal;padding:0;background:none;gap:0;top:50%;bottom:auto;transform:translateY(-50%)!important;border-radius:0}
.side-panel .side-panel__arrow--home{left:.6rem;right:auto}
.side-panel .side-panel__arrow--next{right:.6rem;left:auto}
.side-panel.home-right .side-panel__arrow--home{right:.6rem;left:auto}
.side-panel.home-right .side-panel__arrow--next{left:.6rem;right:auto}
.side-panel .side-panel__arrow::after,.side-panel .side-panel__arrow .lbl{display:none}
.side-panel .side-panel__arrow .ico,.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;background:rgba(12,12,12,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.55);color:#fff}
.side-panel .side-panel__arrow .ico svg{width:20px;height:20px;transform:rotate(180deg);animation-name:heroNudgeX;filter:none}
.side-panel .side-panel__arrow--home .ico svg,.side-panel.home-right .side-panel__arrow--next .ico svg{transform:none;animation-name:panelNudge}
.side-panel.home-right .side-panel__arrow--home .ico svg{transform:rotate(180deg);animation-name:heroNudgeX}
}

/* v1.9.213 · iPhone: sin marco azul de foco al abrir la hoja; fondo de la flecha en el verde de la web, casi transparente */
@media (max-width:700px){
.side-panel .side-panel__arrow,.side-panel .side-panel__arrow:focus,.side-panel .side-panel__arrow:focus-visible{outline:0;-webkit-tap-highlight-color:transparent}
.side-panel .side-panel__arrow .ico,.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{background:rgba(42,99,71,.4);border-color:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.side-panel .side-panel__arrow .ico svg{filter:drop-shadow(0 0 3px rgba(0,0,0,.35))}
}

/* v1.9.214 · Flechas de las hojas: movimiento suave y continuo, como la flecha que invita a bajar (antes era un pulso rápido); también al tocar en el móvil */
@keyframes panelNudgeR{0%,100%{translate:0 0}50%{translate:.5rem 0}}
@keyframes panelNudgeL{0%,100%{translate:0 0}50%{translate:-.5rem 0}}
@media (max-width:700px){
.side-panel .side-panel__arrow .ico svg,.side-panel .side-panel__arrow:hover .ico svg,.side-panel .side-panel__arrow:focus-visible .ico svg{animation-name:panelNudgeR;animation-duration:1.8s;animation-delay:0s}
.side-panel .side-panel__arrow--home .ico svg,.side-panel.home-right .side-panel__arrow--next .ico svg,.side-panel .side-panel__arrow--home:hover .ico svg,.side-panel .side-panel__arrow--home:focus-visible .ico svg{animation-name:panelNudgeL}
.side-panel.home-right .side-panel__arrow--home .ico svg,.side-panel.home-right .side-panel__arrow--home:hover .ico svg,.side-panel.home-right .side-panel__arrow--home:focus-visible .ico svg{animation-name:panelNudgeR}
}

/* v1.9.215 · iPhone: la flecha de las hojas sin pastilla ni fondo, lo más pegada al borde que es seguro, y cambia de tono sola según lo que haya detrás (blanca sobre oscuro, negra sobre claro) */
@media (max-width:700px){
.side-panel .side-panel__arrow{mix-blend-mode:difference;color:#fff;width:34px;height:60px;display:flex;align-items:center;justify-content:center}
.side-panel .side-panel__arrow--home{left:max(0px,env(safe-area-inset-left));right:auto}
.side-panel .side-panel__arrow--next{right:max(0px,env(safe-area-inset-right));left:auto}
.side-panel.home-right .side-panel__arrow--home{right:max(0px,env(safe-area-inset-right));left:auto}
.side-panel.home-right .side-panel__arrow--next{left:max(0px,env(safe-area-inset-left));right:auto}
.side-panel .side-panel__arrow .ico,.side-panel .side-panel__arrow:hover .ico,.side-panel .side-panel__arrow:focus-visible .ico{width:auto;height:auto;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:#fff}
.side-panel .side-panel__arrow .ico svg{width:22px;height:22px;filter:none}
}

/* v1.9.216 · la flecha «siguiente» sigue oculta cuando no hay hoja siguiente (el estilo del móvil la hacía reaparecer) */
.side-panel .side-panel__arrow[hidden]{display:none!important}

/* v1.9.217 · iPhone: la flecha lateral de las hojas tiene el mismo tamaño y grosor que la flecha central de bajar */
@media (max-width:700px){
.side-panel .side-panel__arrow{width:44px;height:76px}
.side-panel .side-panel__arrow .ico svg{width:44px;height:44px;stroke-width:1.15;overflow:visible}
}

/* v1.9.219 · En el móvil, dentro de las hojas el botón de contacto se esconde (se solapaba con el texto); en el ordenador se mantiene */

/* v1.9.220 · iPhone: dentro de las hojas desaparece la flecha de volver al inicio (para eso está «Inicio» en el menú) y el botón de contacto vuelve a verse */
@media (max-width:700px){.side-panel .side-panel__arrow--home{display:none!important}}

/* v1.9.221 · Pie de las hojas en el móvil: «Inicio» y «Subir arriba» (la flecha lateral de volver ya no está en pantalla) */
.cta-nav{display:none}
@media (max-width:700px){
.cta-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.2rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.18)}
.cta-nav__b{display:inline-flex;align-items:center;gap:.7rem;background:none;border:0;padding:.7rem 0;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cta-nav__b svg{flex:none;display:block;width:22px;height:22px}
.cta-nav__t{display:block;font:500 .62rem/1 'Inter',system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.cta-nav__t i{display:inline-block;font-style:normal;opacity:.4;animation:vidSigOla 5.2s ease-in-out infinite;animation-delay:calc(var(--k)*80ms)}
.cta-nav [data-cta-top] .cta-nav__t i{animation-delay:calc(1.4s + var(--k)*80ms)}
}
@media (prefers-reduced-motion:reduce){.cta-nav__t i{animation:none;opacity:.9}}

/* v1.9.222 · Pie de las hojas en el móvil: «Inicio» a la izquierda y «Subir arriba» en el centro, con la flecha hacia arriba (el botón de contacto ocupa la derecha) */
@media (max-width:700px){
.cta-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}
.cta-nav [data-cta-home]{justify-self:start}
.cta-nav [data-cta-top]{grid-column:2;flex-direction:column-reverse;gap:.5rem;align-items:center}
}

/* v1.9.223 · «Inicio» del pie de la hoja: cuando la hoja entró por la izquierda (la portada queda a la derecha), la flecha va después de la palabra y apunta a la derecha */
@media (max-width:700px){
.side-panel.home-right .cta-nav [data-cta-home]{flex-direction:row-reverse}
.side-panel.home-right .cta-nav [data-cta-home] svg{transform:rotate(180deg)!important}
}

/* v1.9.224 · foto hero con versión móvil: <picture> transparente al layout + más sombra lateral en móvil para que las etiquetas blancas se lean sobre zonas claras */
.hero-photo__pic{display:contents}
@media (max-width:700px){
  .hero-photo__shade{background:
    linear-gradient(90deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.28) 22%,rgba(0,0,0,0) 40%,rgba(0,0,0,0) 60%,rgba(0,0,0,.28) 78%,rgba(0,0,0,.62) 100%),
    linear-gradient(0deg,rgba(0,0,0,.5) 0,rgba(0,0,0,0) 38%),
    linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,0) 22%)}
}

/* v1.9.225 · barra «Inicio / Subir arriba» del pie: etiquetas más legibles (base .7) y sin hueco ni segunda línea */
@keyframes ctaNavOla{0%,26%,100%{opacity:.72;transform:none}9%{opacity:1;transform:translateY(-.2em)}}
.cta-nav__t i{opacity:.72;animation-name:ctaNavOla}
.cta-nav{margin-top:.4rem;padding-top:0;border-top:0}

/* v1.9.226 · «Inicio» y «Subir arriba» también en el ordenador, al pie del bloque negro (las flechas laterales se ocultan al llegar ahí) */
@media (min-width:701px){
.cta-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;margin-top:1.2rem;padding:.4rem 0 .6rem}
.cta-nav__b{display:inline-flex;align-items:center;gap:.7rem;background:none;border:0;padding:.7rem 0;color:#fff;cursor:pointer}
.cta-nav__b svg{flex:none;display:block;width:22px;height:22px;transition:transform .25s}
.cta-nav__t{display:block;font:500 .66rem/1 'Inter',system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.cta-nav__t i{display:inline-block;font-style:normal;animation:ctaNavOla 5.2s ease-in-out infinite;animation-delay:calc(var(--k)*80ms)}
.cta-nav [data-cta-top] .cta-nav__t i{animation-delay:calc(1.4s + var(--k)*80ms)}
.cta-nav [data-cta-home]{justify-self:start}
.cta-nav [data-cta-top]{grid-column:2;flex-direction:column-reverse;gap:.5rem;align-items:center}
.cta-nav [data-cta-top]:hover svg{transform:translateY(-4px) rotate(90deg)!important}
.side-panel.home-right .cta-nav [data-cta-home]{flex-direction:row-reverse}
.side-panel.home-right .cta-nav [data-cta-home] svg{transform:rotate(180deg)!important}
}

/* v1.9.227 · «Inicio» como enlace en las páginas completas */
a.cta-nav__b{text-decoration:none}
a.cta-nav__b:hover{text-decoration:none}

/* v1.9.228 · Páginas completas que acaban en el bloque negro de cierre: sin franja blanca entre el bloque y el pie, y sin repetir «© año» y redes (el pie ya las tiene). En las hojas laterales se mantiene todo. */
body:has(.site-main .cta) .site-main{padding-bottom:0!important}
body:has(.site-main .cta) .site-footer{margin-top:0!important;border-top:1px solid rgba(242,242,242,.14)}
.site-main .cta .cta__pie{display:none}

/* v1.9.229 · Pie pegado al bloque de cierre: lo que WordPress deje detrás (párrafos vacíos, saltos, separadores) no debe abrir hueco blanco */
.entry-content > .cta ~ p,.entry-content > .cta ~ br,.entry-content > .cta ~ hr,.entry-content > .cta ~ .wp-block-spacer,.entry-content > .cta ~ .wp-block-separator,
.entry-content > :has(> .cta) ~ p,.entry-content > :has(> .cta) ~ br,.entry-content > :has(> .cta) ~ hr,.entry-content > :has(> .cta) ~ .wp-block-spacer{display:none!important}
.entry-content > .cta ~ *,.entry-content > :has(> .cta) ~ *{margin-top:0!important}
body:has(.site-main .cta) .site-main,body:has(.site-main .cta) .entry,body:has(.site-main .cta) .entry-content{padding-bottom:0!important;margin-bottom:0!important}
.site-main .entry-content .cta{margin-bottom:0!important}

/* v1.9.230 · mismo criterio en hoja lateral y página completa: bloque de cierre en el negro del pie, pie general también al final de la hoja, «Inicio / Subir arriba» al final del todo */
.cta{background:var(--black)!important}
.side-panel .cta .cta__pie{display:none}
.site-footer--sheet{margin:0!important;width:100%;box-sizing:border-box;border-top:1px solid rgba(242,242,242,.14);background:var(--black)}
.site-footer .cta-nav{margin-top:1.4rem;padding:.4rem 0 .2rem;border-top:0}

/* v1.9.231 · base negra más corta: fuera la franja del logo y de las redes del pie (el logo ya está en el bloque de cierre y las redes en el botón de contacto) y menos aire entre bloques */
.site-footer--sheet .footer-top,body:has(.site-main .cta) .site-footer .footer-top{display:none}
.site-footer--sheet,body:has(.site-main .cta) .site-footer{padding-top:clamp(2rem,5vh,3.2rem)!important}
.site-main .cta .cta__in,.side-panel .cta .cta__in{margin-bottom:clamp(1.2rem,4vh,2.4rem)}

/* v1.9.232 · transición hacia la página de la derecha (Digitalización): la actual sale hacia la izquierda y la nueva entra desde la derecha */
@keyframes perdomoVtOutL{to{transform:translateX(-100%)}}
@keyframes perdomoVtInL{from{transform:translateX(22%);opacity:.6}to{transform:none;opacity:1}}
html[data-vt="l"]::view-transition-old(root){animation-name:perdomoVtOutL}
html[data-vt="l"]::view-transition-new(root){animation-name:perdomoVtInL}

/* v1.9.234 · Audiovisual abierta desde el menú: flecha de «Inicio» hacia la derecha, como en la hoja */
.cta-nav--r [data-cta-home]{flex-direction:row-reverse}
.cta-nav--r [data-cta-home] svg{transform:rotate(180deg)!important}

/* v1.9.235 · flechas laterales en páginas completas (entrada por el menú) */
.side-panel.page-arrows{background:none!important;pointer-events:none;z-index:800;top:0!important;transform:none!important;visibility:visible!important;box-shadow:none;border:0}
.side-panel.page-arrows .side-panel__arrow{pointer-events:auto;text-decoration:none;mix-blend-mode:normal!important;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.6)}
.side-panel.page-arrows .lbl i{display:inline-block;font-style:normal}
html.nav-open .side-panel.page-arrows,body.nav-open .side-panel.page-arrows{opacity:0;pointer-events:none}
@media (max-width:700px){.side-panel.page-arrows .side-panel__arrow{position:fixed}}

/* v1.9.236 · las flechas se ven también sobre fondo blanco (mezcla «diferencia» sobre la página) */
.side-panel.page-arrows{position:static!important;z-index:auto!important;width:0;height:0;overflow:visible;pointer-events:none}
.side-panel.page-arrows .side-panel__arrow{position:fixed!important;z-index:800;top:50%;mix-blend-mode:difference!important;color:#fff;text-shadow:none}
.side-panel.page-arrows .side-panel__arrow .ico svg{filter:none}

/* v1.9.238 · Línea «De la captura a la copia» (portada, tras la foto) */
.linea{max-width:1500px;margin:0 auto;padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,5vw,4rem) clamp(3rem,6vw,5rem);color:var(--text-color,#111)}
.linea__t{margin:0 0 clamp(2.8rem,6vw,5.5rem);padding:0;display:flex;flex-direction:column;font-weight:400}
.linea__a{font:800 clamp(2.8rem,9.4vw,9.5rem)/.95 'Inter',system-ui,sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.linea__b{font:italic 400 clamp(2.6rem,8.6vw,8.8rem)/1 'Playfair Display',Georgia,serif;letter-spacing:0;text-transform:none;color:#2a6347;margin:.04em 0 0 clamp(2rem,17vw,16rem)}
.linea__c{font:italic 400 clamp(1.5rem,4.2vw,4.2rem)/1.1 'Playfair Display',Georgia,serif;margin:.5em 0 0 clamp(1rem,8vw,8rem)}
.linea__pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.linea__paso{position:relative;border-top:1px solid currentColor;padding:0 1.5rem 0 0}
.linea__paso::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:currentColor}
.linea__lk{display:flex;flex-direction:column;gap:.55rem;padding-top:1.3rem;color:inherit;text-decoration:none}
.linea__n{font:500 .66rem/1 'Inter',system-ui,sans-serif;letter-spacing:.24em;opacity:.55}
.linea__h{font:800 clamp(.95rem,1.35vw,1.2rem)/1.1 'Inter',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.linea__d{font:italic 400 clamp(1rem,1.3vw,1.2rem)/1.3 'Playfair Display',Georgia,serif;opacity:.7}
a.linea__lk:hover .linea__h,a.linea__lk:focus-visible .linea__h{color:#2a6347}
.linea__paso:has(a.linea__lk:hover)::before{background:#2a6347}
.linea__datos{margin:clamp(2.2rem,4vw,3.4rem) 0 0;display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;font:500 .68rem/1.4 'Inter',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;opacity:.62}
@media (max-width:780px){
  .linea__pasos{grid-template-columns:1fr;border-left:1px solid currentColor;margin-left:3px}
  .linea__paso{border-top:0;padding:0 0 1.6rem 1.4rem}
  .linea__paso::before{top:.2rem;left:-4px}
  .linea__lk{padding-top:0}
  .linea__b{margin-left:1.2rem}.linea__c{margin-left:.4rem}
  .linea__datos{flex-direction:column;gap:.5rem}
}

/* v1.9.239 · «Cuidamos las imágenes»: pantalla completa, solo el mensaje; datos a todo el ancho de la línea; números con marca de negativo */
.linea{position:relative;width:100vw;max-width:none;margin:0 0 0 calc(50% - 50vw);box-sizing:border-box;min-height:calc(100svh - var(--header-h,7.5rem) - var(--wp-admin--admin-bar--height,0px));min-height:max(26rem,calc(100svh - var(--header-h,7.5rem) - var(--wp-admin--admin-bar--height,0px)));display:flex;align-items:center;justify-content:center;padding:clamp(2.5rem,6vh,5rem) clamp(1.25rem,6vw,6rem)}
.linea__in{width:100%;max-width:1800px}
.linea__t{margin-bottom:clamp(2rem,6vh,5rem)}
.linea__a{font-size:clamp(3rem,12.5vw,13.5rem)}
.linea__b{font-size:clamp(2.8rem,11.5vw,12.5rem);margin-left:clamp(2rem,15vw,18rem)}
.linea__c{font-size:clamp(1.6rem,5.2vw,5.6rem);margin-left:clamp(1rem,7vw,9rem)}
.linea__datos{justify-content:space-between;gap:.6rem 1.5rem}
.linea__n{display:flex;align-items:center;gap:.7em}
.linea__n::before{content:"";flex:none;width:.7em;height:.7em;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
@media (max-width:780px){
  .linea{align-items:flex-start;padding-top:clamp(2.5rem,7vh,4rem)}
  .linea__a{font-size:clamp(2.6rem,14vw,5rem)}.linea__b{font-size:clamp(2.4rem,13vw,4.6rem)}.linea__c{font-size:clamp(1.4rem,6.4vw,2.4rem)}
  .linea__datos{justify-content:flex-start}
}

/* v1.9.241 · Línea de lectura: una flecha discreta recorre las paradas y se detiene justo antes de cada punto; la palabra activa pasa de gris suave a negro; debajo, una frase centrada cambia en cada parada. Termina en un punto abierto («esto sigue») */
.linea__pasos{position:relative}
.linea__pasos::after{content:"";position:absolute;right:0;top:-4px;width:6px;height:6px;border-radius:50%;border:1px solid currentColor;background:var(--bg-color,#fff)}
.linea__pasos::before{content:"";position:absolute;z-index:2;top:-5px;left:-14px;width:0;height:0;border-left:9px solid #111;border-top:5px solid transparent;border-bottom:5px solid transparent;opacity:0;pointer-events:none;transform-origin:100% 50%;animation:lineaFlecha 16s linear infinite,lineaPum 16s linear infinite}
@keyframes lineaFlecha{
  0%{left:-14px;opacity:0}3%{opacity:.9}8%{left:-14px}
  14%{left:calc(25% - 14px)}26%{left:calc(25% - 14px)}
  32%{left:calc(50% - 14px)}44%{left:calc(50% - 14px)}
  50%{left:calc(75% - 14px)}62%{left:calc(75% - 14px)}
  70%{left:calc(100% - 22px)}76%{left:calc(100% - 22px);opacity:.9}80%{left:calc(100% - 22px);opacity:0}100%{left:calc(100% - 22px);opacity:0}
}
@keyframes lineaPum{
  0%,2.5%,5%,13%,15.5%,18%,31%,33.5%,36%,49%,51.5%,54%,69%,71.5%,74%,100%{transform:scale(1)}
  3.5%,14.4%,32.4%,50.4%,70.4%{transform:scale(1.5)}
}
@keyframes lineaBrillo{0%{opacity:.5}3%{opacity:1}11%{opacity:1}16%,100%{opacity:.5}}
.linea__h{opacity:.5}
.linea__paso:nth-child(1) .linea__h{animation:lineaBrillo 16s ease-in-out .3s infinite}
.linea__paso:nth-child(2) .linea__h{animation:lineaBrillo 16s ease-in-out 2.2s infinite}
.linea__paso:nth-child(3) .linea__h{animation:lineaBrillo 16s ease-in-out 5.1s infinite}
.linea__paso:nth-child(4) .linea__h{animation:lineaBrillo 16s ease-in-out 8s infinite}
/* frase central que cambia con cada parada */
.linea__datos{display:grid;justify-content:center;justify-items:center;text-align:center;gap:0;margin-top:clamp(2.2rem,4.5vh,3.6rem);font-size:clamp(.7rem,.9vw,.85rem);opacity:1}
.linea__datos span{grid-area:1/1;opacity:0;letter-spacing:.2em;text-transform:uppercase;color:inherit}
.linea__datos span:nth-child(1){animation:lineaF1 16s ease infinite}
.linea__datos span:nth-child(2){animation:lineaF2 16s ease infinite}
.linea__datos span:nth-child(3){animation:lineaF3 16s ease infinite}
.linea__datos span:nth-child(4){animation:lineaF4 16s ease infinite}
@keyframes lineaF1{0%{opacity:0;transform:translateY(6px)}2%{opacity:.7;transform:none}11%{opacity:.7}13%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF2{0%,12%{opacity:0;transform:translateY(6px)}15%{opacity:.7;transform:none}29%{opacity:.7}31%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF3{0%,30%{opacity:0;transform:translateY(6px)}33%{opacity:.7;transform:none}47%{opacity:.7}49%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF4{0%,48%{opacity:0;transform:translateY(6px)}51%{opacity:.7;transform:none}93%{opacity:.7}97%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .linea__pasos::before{display:none}.linea__h{animation:none!important;opacity:1}
  .linea__datos{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem}
  .linea__datos span{animation:none!important;opacity:.7}
}
@media (max-width:780px){
  .linea__pasos::after{right:auto;left:-4px;top:auto;bottom:-3px}
  .linea__pasos::before{left:-9.5px;top:calc(.2rem - 10px);transform:rotate(90deg);animation:lineaFlechaV 16s linear infinite,lineaPumV 16s linear infinite}
  .linea__datos{min-height:2.6em}
}
@keyframes lineaFlechaV{
  0%{top:calc(.2rem - 10px);opacity:0}3%{opacity:.9}8%{top:calc(.2rem - 10px)}
  14%{top:calc(25% + .2rem - 10px)}26%{top:calc(25% + .2rem - 10px)}
  32%{top:calc(50% + .2rem - 10px)}44%{top:calc(50% + .2rem - 10px)}
  50%{top:calc(75% + .2rem - 10px)}62%{top:calc(75% + .2rem - 10px)}
  70%{top:calc(100% - 15px)}76%{top:calc(100% - 15px);opacity:.9}80%{top:calc(100% - 15px);opacity:0}100%{top:calc(100% - 15px);opacity:0}
}
@keyframes lineaPumV{
  0%,2.5%,5%,13%,15.5%,18%,31%,33.5%,36%,49%,51.5%,54%,69%,71.5%,74%,100%{transform:rotate(90deg) scale(1)}
  3.5%,14.4%,32.4%,50.4%,70.4%{transform:rotate(90deg) scale(1.5)}
}

/* v1.9.242 · Pantallas grandes: el bloque usa más ancho y los textos pequeños crecen con la pantalla */
.linea__in{max-width:2400px}
.linea__a{font-size:clamp(3rem,12.5vw,19rem)}
.linea__b{font-size:clamp(2.8rem,11.5vw,17.5rem)}
.linea__c{font-size:clamp(1.6rem,5.2vw,7.8rem)}
.linea__n{font-size:clamp(.66rem,.75vw,.95rem)}
.linea__h{font-size:clamp(.95rem,1.35vw,1.9rem)}
.linea__d{font-size:clamp(1rem,1.3vw,1.85rem)}
.linea__datos{font-size:clamp(.72rem,.95vw,1.25rem)}
@media (max-width:780px){.linea__a{font-size:clamp(2.6rem,14vw,5rem)}.linea__b{font-size:clamp(2.4rem,13vw,4.6rem)}.linea__c{font-size:clamp(1.4rem,6.4vw,2.4rem)}.linea__h{font-size:clamp(.95rem,1.35vw,1.2rem)}.linea__d{font-size:1rem}.linea__datos{font-size:.72rem}}

/* v1.9.243 · La frase que cambia se separa de la línea y pasa a cursiva serif, para que no se lea como pie de la última parada */
.linea__datos{margin-top:clamp(3.6rem,10vh,8rem);min-height:2.4em;align-items:start}
.linea__datos span{font:italic 400 clamp(1.25rem,2.1vw,3rem)/1.25 'Playfair Display',Georgia,serif;letter-spacing:0;text-transform:none}
@keyframes lineaF1{0%{opacity:0;transform:translateY(6px)}2%{opacity:.85;transform:none}11%{opacity:.85}13%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF2{0%,12%{opacity:0;transform:translateY(6px)}15%{opacity:.85;transform:none}29%{opacity:.85}31%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF3{0%,30%{opacity:0;transform:translateY(6px)}33%{opacity:.85;transform:none}47%{opacity:.85}49%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@keyframes lineaF4{0%,48%{opacity:0;transform:translateY(6px)}51%{opacity:.85;transform:none}93%{opacity:.85}97%{opacity:0;transform:translateY(-6px)}100%{opacity:0}}
@media (max-width:780px){.linea__datos{margin-top:2.4rem;min-height:3.2em}.linea__datos span{font-size:1.2rem}}
@media (prefers-reduced-motion:reduce){.linea__datos span{opacity:.85}}

/* v1.9.244 · Cada parada lleva su propia frase fija (sin texto cambiante aparte) */
.linea__t{margin-bottom:clamp(2.4rem,7vh,5.5rem)}
.linea__d{max-width:24em;line-height:1.35;opacity:.78}
.linea__lk{gap:.65rem}
@media (max-width:780px){.linea__d{max-width:none}}

/* v1.9.245 · El titular también se ajusta a la altura de la pantalla, para que con las frases de las paradas todo quepa sin bajar */
@media (min-width:781px){
  .linea__a{font-size:clamp(3rem,min(12.5vw,20svh),19rem)}
  .linea__b{font-size:clamp(2.8rem,min(11.5vw,18svh),17.5rem)}
  .linea__c{font-size:clamp(1.6rem,min(5.2vw,8svh),7.8rem)}
  .linea__t{margin-bottom:clamp(2rem,6svh,5rem)}
}

/* v1.9.246 · Portada más limpia: sin flecha ni brillo animados; palabras fijas en negro (verde al pasar el ratón) */
.linea__pasos::before{display:none!important}
.linea__h{animation:none!important;opacity:1!important}
.linea__d{white-space:nowrap;opacity:.7}
@media (max-width:780px){.linea__d{white-space:normal}}

/* v1.9.247 · «Seguir bajando» (igual que en la foto de portada, en oscuro) para que se sepa que la página continúa */
.linea{padding-bottom:clamp(5.5rem,13svh,8rem)}
.linea__down{position:absolute;left:50%;bottom:clamp(1.2rem,4svh,2.4rem);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:.8rem 1.2rem;background:none;border:0;cursor:pointer;color:#111;font:600 clamp(.68rem,.82vw,.8rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase}
.linea__lbl .vl{display:inline-block;white-space:nowrap}
.linea__lbl .vl i{display:inline-block;font-style:normal;opacity:.4;--pop:translateY(-.2em);animation:heroOla 9s ease-in-out infinite;animation-delay:calc(2.6s + var(--k)*80ms)}
.linea__chev{display:inline-flex}
.linea__chev svg{display:block;transform:rotate(-90deg);animation:heroNudge 2.4s ease-in-out infinite}
.linea__down:hover .linea__lbl .vl i,.linea__down:focus-visible .linea__lbl .vl i{animation:heroOlaHover 5.2s ease-in-out 1;animation-delay:calc(var(--k)*70ms)}
.linea__down:hover .linea__chev svg,.linea__down:focus-visible .linea__chev svg{animation-duration:.9s;animation-delay:0s}
@media (prefers-reduced-motion:reduce){.linea__lbl .vl i,.linea__chev svg{animation:none;opacity:.85}}
@media (max-width:780px){.linea{padding-bottom:5.8rem}.linea__down{bottom:.8rem}}

/* v1.9.248 · aire entre el último texto y «Seguir bajando» */
.linea{padding-bottom:clamp(6.5rem,17svh,9.5rem)}
@media (min-width:781px){
  .linea__a{font-size:clamp(3rem,min(12.5vw,18svh),19rem)}
  .linea__b{font-size:clamp(2.8rem,min(11.5vw,16.5svh),17.5rem)}
  .linea__c{font-size:clamp(1.6rem,min(5.2vw,7.2svh),7.8rem)}
}
@media (max-width:780px){.linea{padding-bottom:6.2rem}}

/* v1.9.249 · Tras «Seguir bajando»: el primer bloque baja un poco (menos aire blanco debajo) y el anillo de fotos entra con los bordes suaves, sin cortar el logo de fondo */
.home-content{padding-top:clamp(4rem,13svh,10rem)!important}
.anillo{margin-top:0!important}
.anillo__pin{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
@media (prefers-reduced-motion:reduce){.anillo__pin{-webkit-mask-image:none;mask-image:none}}

/* v1.9.251 · Portada, bloque Audiovisual / Digitalización: el enlace va debajo de la foto, en la esquina exterior (flecha hacia fuera + número); letras con la «ola» de la portada */
html body .home-content .wp-block-columns .duo-src{display:none!important}
html body .home-content .wp-block-columns .wp-block-column.duo > .duo-fig{margin-bottom:0!important;cursor:pointer}
@media (min-width:782px){html body .home-content .wp-block-columns.duo-same > .wp-block-column{grid-row:span 4}}
html body .home-content .wp-block-column.duo > .duo-cta{display:block;width:100%;margin:0;padding-top:clamp(.9rem,1.6vw,1.3rem)}
html body .home-content .duo-cta .duo-a{display:flex!important;flex-direction:row!important;align-items:center;gap:1rem;width:100%;box-sizing:border-box;padding:.4rem 0!important;margin:0;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--text-color,#111)!important;text-decoration:none!important;
  font:600 clamp(.68rem,.82vw,.8rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;text-align:left;justify-content:flex-start}
html body .home-content .duo--r .duo-cta .duo-a{justify-content:flex-end;text-align:right}
html body .home-content .duo-cta .duo-a::before,html body .home-content .duo-cta .duo-a::after{content:none!important;display:none!important}
.duo-n{font-weight:500;font-size:.68rem;letter-spacing:.2em;opacity:.55;font-variant-numeric:tabular-nums}
/* v1.9.255 · triángulo macizo como el de «La línea» (verde en reposo, negro al pasar), número al lado y la palabra aparece solo en el rollover */
.duo-ch{display:block;flex:none;width:.8rem;height:.8rem;background:#2a6347;clip-path:polygon(0 0,100% 50%,0 100%);transition:background .25s ease,transform .35s cubic-bezier(.22,.7,.2,1)}
.duo--l .duo-ch{transform:scaleX(-1)}
.duo-l{display:inline-block;white-space:nowrap;overflow:hidden;opacity:0;transition:clip-path .5s cubic-bezier(.22,.7,.2,1),opacity .3s ease,transform .5s cubic-bezier(.22,.7,.2,1)}
.duo--l .duo-l{clip-path:inset(0 100% 0 0);transform:translateX(-.8rem)}
.duo--r .duo-l{clip-path:inset(0 0 0 100%);transform:translateX(.8rem)}
.duo-l .vl{display:inline-block;white-space:nowrap}
.duo-l .vl i{font-style:normal}
.duo-cta .duo-a:hover .duo-l,.duo-cta .duo-a:focus-visible .duo-l,.duo:has(.duo-fig:hover) .duo-l{clip-path:inset(0 0 0 0);opacity:1;transform:none}
.duo-cta .duo-a:hover .duo-ch,.duo-cta .duo-a:focus-visible .duo-ch,.duo:has(.duo-fig:hover) .duo-ch{background:#111}
.duo--l .duo-cta .duo-a:hover .duo-ch,.duo--l .duo-cta .duo-a:focus-visible .duo-ch,.duo--l:has(.duo-fig:hover) .duo-ch{transform:scaleX(-1) translateX(.25rem)}
.duo--r .duo-cta .duo-a:hover .duo-ch,.duo--r .duo-cta .duo-a:focus-visible .duo-ch,.duo--r:has(.duo-fig:hover) .duo-ch{transform:translateX(.25rem)}
.duo-cta .duo-a.is-loading .duo-ch{background:#111}
/* en táctil no hay rollover: la palabra se ve siempre */
@media (hover:none),(pointer:coarse){.duo-l{opacity:1;clip-path:none!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){.duo-l,.duo-ch{transition:none}}

/* v1.9.257 · el bloque de fotos usa el mismo reparto y separación que el de textos (la columna derecha quedaba desplazada respecto a su foto) */
@media (min-width:782px){
  html body .home-content .wp-block-columns.duo-img.duo-img.duo-img.duo-img{display:grid!important;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,5rem)!important}
  html body .home-content .wp-block-columns.duo-img.duo-img.duo-img.duo-img > .wp-block-column{flex:none!important;width:auto!important;min-width:0}
}
/* número discreto sobre el titular */
.home-content .duo-k{font:500 .68rem/1 'Inter',system-ui,sans-serif;letter-spacing:.24em;opacity:.55;font-variant-numeric:tabular-nums;padding-bottom:1rem;align-self:start}

/* v1.9.259 · tarjetas de servicios: pegadas a los bordes del contenido (la primera a la izquierda, la última a la derecha), sin sangrías en columnas ni contenido */
html body .home-content .wp-block-columns.svc-cards{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;gap:clamp(1.5rem,3.5vw,3.5rem)}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column{flex:1 1 0!important;min-width:0;max-width:none;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column > *{max-width:none;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column .wp-block-image,
html body .home-content .wp-block-columns.svc-cards > .wp-block-column .wp-block-image img{width:100%!important;max-width:none}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column.duo > .duo-fig{margin-bottom:1rem!important;cursor:pointer}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column.duo > .duo-cta{padding-top:.4rem}
@media (max-width:781px){html body .home-content .wp-block-columns.svc-cards{flex-wrap:wrap}html body .home-content .wp-block-columns.svc-cards > .wp-block-column{flex:1 1 100%!important}}

/* v1.9.260 · tarjetas de servicios: cuadrícula de 3 columnas iguales (nada más participa en el reparto: la primera tarjeta queda en el borde izquierdo y la última en el derecho) */
html body .home-content .wp-block-columns.svc-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;column-gap:clamp(1.5rem,3.5vw,3.5rem);row-gap:2.5rem}
html body .home-content .wp-block-columns.svc-cards::before,html body .home-content .wp-block-columns.svc-cards::after{content:none!important;display:none!important}
html body .home-content .wp-block-columns.svc-cards > :not(.wp-block-column){display:none!important}
html body .home-content .wp-block-columns.svc-cards > .wp-block-column{width:auto!important;flex:none!important}
@media (max-width:781px){html body .home-content .wp-block-columns.svc-cards{grid-template-columns:minmax(0,1fr)}}

/* v1.9.261 · título de las tarjetas de servicios: misma etiqueta verde con línea que el resto de la portada; texto con ancho de lectura y sin palabras sueltas */
html body .home-content .svc-label{display:flex!important;align-items:center;gap:.8em;font:600 .78rem/1 'Inter',system-ui,sans-serif!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:#2a6347!important;
  border-bottom:1px solid var(--text-color)!important;padding-bottom:.5rem!important;margin:clamp(.75rem,1.6vw,1.5rem) 0 1.1rem!important}
html body .home-content .svc-label::after{content:none!important;display:none!important}
html body .home-content .svc-lead{max-width:74ch!important;text-wrap:balance;margin:0 0 clamp(1.8rem,3vw,2.6rem)!important}
html body .home-content .svc-gap{display:none!important}

/* v1.9.264 · Formatos como mosaicos de vídeo: título grande arriba, etiquetas abajo que filtran */
html body .fmts .fmt .fmt__cab{position:absolute;left:0;right:0;top:0;z-index:3;padding:clamp(1rem,2vw,1.7rem);pointer-events:none}
html body .fmts .fmt .fmt__cab .fmt__titulo{margin:0!important;padding:0!important;color:#fff!important;font:600 clamp(1.6rem,3.2vw,3rem)/1.02 'Inter',system-ui,sans-serif!important;letter-spacing:-.03em;text-shadow:0 1px 18px rgba(0,0,0,.25)}
html body .fmts .fmt .fmt__cab .fmt__sub{margin:.45rem 0 0!important;padding:0!important;color:rgba(255,255,255,.88)!important;font:400 clamp(.85rem,1.1vw,1rem)/1.3 'Inter',system-ui,sans-serif!important}
.fmt__vela{background:linear-gradient(to bottom,rgba(5,12,8,.55) 0%,rgba(5,12,8,0) 38%),linear-gradient(to top,rgba(5,12,8,.7) 0%,rgba(5,12,8,0) 34%)!important}
.fmts .fmt .fmt__tags{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;flex-wrap:wrap;gap:.5rem;padding:clamp(.9rem,1.8vw,1.5rem)}
html body .fmts .fmt .fmt__tag{appearance:none;cursor:pointer;margin:0;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(10,16,12,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font:500 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.02em;text-transform:none;transition:background .2s,border-color .2s,color .2s}
html body .fmts .fmt .fmt__tag:hover,html body .fmts .fmt .fmt__tag.is-on{background:#2a6347;border-color:#2a6347;color:#fff}
.fmts .fmt.is-off{display:none}
.fmts .fmt.is-pop{animation:fmtPop .5s cubic-bezier(.22,.7,.2,1) both}
@keyframes fmtPop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fmts__filtro{display:none;align-items:center;gap:.7rem;flex-wrap:wrap;margin:0 0 clamp(1rem,2.4vh,1.6rem);font:500 .8rem/1 'Inter',system-ui,sans-serif}
.fmts.is-filtro .fmts__filtro{display:flex}
.fmts__ver{letter-spacing:.1em;text-transform:uppercase;color:#555}
html body .fmts .fmts__quita,html body .fmts .fmts__todos{appearance:none;cursor:pointer;margin:0;padding:.5rem 1rem;border-radius:999px;font:500 .78rem/1 'Inter',system-ui,sans-serif;text-transform:none;letter-spacing:.02em}
html body .fmts .fmts__quita{border:1px solid #2a6347;background:#2a6347;color:#fff}
html body .fmts .fmts__todos{border:1px solid #111;background:transparent;color:#111}
html body .fmts .fmts__todos:hover{background:#111;color:#fff}
@media (prefers-reduced-motion:reduce){.fmts .fmt.is-pop{animation:none}}

/* v1.9.265 · mosaico a la manera de la referencia: rejilla apretada, título arriba a la izquierda, etiquetas pequeñas en mayúsculas, tipografía propia */
html body .fmts .fmts__rej{gap:clamp(4px,.5vw,8px)}
html body .fmts .fmt .fmt__cab .fmt__titulo{font:600 clamp(1.35rem,2.4vw,2.3rem)/1.04 'Bricolage Grotesque','Inter',system-ui,sans-serif!important;letter-spacing:-.025em}
html body .fmts .fmt .fmt__cab .fmt__sub{font:500 clamp(.85rem,1.05vw,1rem)/1.25 'Bricolage Grotesque','Inter',system-ui,sans-serif!important;margin-top:.3rem!important}
html body .fmts .fmt .fmt__cab{padding:clamp(.9rem,1.6vw,1.5rem)}
html body .fmts .fmt .fmt__tags{gap:.4rem;padding:clamp(.8rem,1.4vw,1.3rem)}
html body .fmts .fmt .fmt__tag{padding:.42rem .7rem;border-radius:3px;font:500 .64rem/1 'Inter',system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;border-color:rgba(255,255,255,.7)}
html body .fmts .fmt .fmt__tag:hover,html body .fmts .fmt .fmt__tag.is-on{background:#fff;border-color:#fff;color:#111}
html body .fmts .fmts__quita,html body .fmts .fmts__todos{border-radius:3px;padding:.5rem .8rem;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}

/* v1.9.266 · título al doble, subtítulo mayor, etiquetas en píldora más grandes con la tipografía del título */
html body .fmts .fmt .fmt__cab .fmt__titulo{font-size:clamp(2.2rem,4.8vw,4.6rem)!important;line-height:1!important;letter-spacing:-.035em}
html body .fmts .fmt .fmt__cab .fmt__sub{font-size:clamp(1rem,1.6vw,1.45rem)!important;margin-top:.45rem!important}
html body .fmts .fmt .fmt__cab{padding:clamp(1.1rem,2vw,2rem)}
html body .fmts .fmt .fmt__tags{gap:.55rem;padding:clamp(1rem,1.8vw,1.7rem)}
html body .fmts .fmt .fmt__tag{padding:.7rem 1.25rem;border-radius:999px;border-width:1.5px;font:500 clamp(.78rem,.95vw,.95rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif;letter-spacing:.06em}
@media (max-width:700px){html body .fmts .fmt .fmt__cab .fmt__titulo{font-size:clamp(1.9rem,9vw,2.6rem)!important}}

/* v1.9.267 · el vídeo de los formatos se abre a pantalla completa (sin texto) */
.vmodal.vmodal--full{padding:0;background:#000}
.vmodal--full .vmodal__marco{width:100vw;height:100vh;height:100dvh;max-height:none;aspect-ratio:auto}
.vmodal--full .vmodal__txt{display:none}
.vmodal--full .vmodal__x{background:rgba(0,0,0,.35);z-index:2}

/* v1.9.268 · visor de formatos con la estructura de la referencia: logo arriba, título/subtítulo/etiquetas abajo */
.vmodal.vmodal--full{justify-content:flex-start;align-items:stretch}
.vmodal--full .vmodal__top{flex:none;height:clamp(3.6rem,8vh,5rem);display:flex;align-items:center;padding:0 clamp(1rem,3vw,2.6rem)}
.vmodal--full .vmodal__logo{display:inline-flex;align-items:center;gap:.7rem;color:#fff;font:400 clamp(1.15rem,1.8vw,1.5rem)/1 'Playfair Display',Georgia,serif;text-transform:uppercase;pointer-events:none}
.vmodal--full .vmodal__logo .logo-mark{height:1.9rem;width:auto;color:#fff}
.vmodal--full .vmodal__marco{flex:1 1 auto;width:100%;height:auto;min-height:0}
.vmodal--full .vmodal__pie{flex:none;padding:clamp(.9rem,2vh,1.5rem) clamp(1rem,3vw,2.6rem) clamp(1rem,2.6vh,1.8rem);color:#fff}
.vmodal--full .vmodal__pie h3{margin:0;font:600 clamp(1.8rem,3.6vw,3.4rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif;letter-spacing:-.03em;color:#fff}
.vmodal--full .vmodal__pie p{margin:.35rem 0 0;font:500 clamp(.95rem,1.4vw,1.3rem)/1.25 'Bricolage Grotesque','Inter',system-ui,sans-serif;color:rgba(255,255,255,.75)}
.vmodal--full .vmodal__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.vmodal--full .vmodal__tag{appearance:none;cursor:pointer;padding:.6rem 1.1rem;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;background:transparent;color:#fff;font:500 clamp(.74rem,.9vw,.9rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,color .2s}
.vmodal--full .vmodal__tag:hover{background:#fff;color:#111}
.vmodal--full .vmodal__x{top:clamp(.7rem,1.8vh,1.2rem)}

/* v1.9.269 · visor a pantalla completa de verdad: el vídeo ocupa todo y el texto va encima, por encima de los controles */
.vmodal.vmodal--full{display:block}
.vmodal--full .vmodal__marco{position:absolute;inset:0;width:100%;height:100%;flex:none}
.vmodal--full .vmodal__top{position:absolute;left:0;top:0;right:0;z-index:3;pointer-events:none;height:auto;padding:clamp(1rem,2.4vh,1.8rem) clamp(1.2rem,3.4vw,3rem);background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0))}
.vmodal--full .vmodal__pie{position:absolute;left:0;right:0;bottom:clamp(3.6rem,8vh,5rem);z-index:3;pointer-events:none;padding:clamp(2rem,6vh,4rem) clamp(1.2rem,3.4vw,3rem) .6rem;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0))}
.vmodal--full .vmodal__pie .vmodal__tit{margin:0;font:600 clamp(2.3rem,5.2vw,5rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif;letter-spacing:-.035em;color:#fff}
.vmodal--full .vmodal__pie .vmodal__sub{margin:.5rem 0 0;font:500 clamp(1.05rem,1.9vw,1.8rem)/1.2 'Bricolage Grotesque','Inter',system-ui,sans-serif;color:rgba(255,255,255,.88)}
.vmodal--full .vmodal__tags{margin-top:1.1rem;pointer-events:auto}
.vmodal--full .vmodal__tag{padding:.75rem 1.4rem;font-size:clamp(.8rem,1vw,1rem);background:rgba(0,0,0,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vmodal--full .vmodal__tag:hover{background:#fff;color:#111}
.vmodal--full .vmodal__x{z-index:4}

/* v1.9.270 · el marco recorta lo que sobre del vídeo */
.vmodal--full .vmodal__marco{overflow:hidden}

/* v1.9.272 · reproductor propio: el vídeo cubre la ventana; controles y texto se ocultan juntos al estar quieto */
.vmodal__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;cursor:pointer}
.vmodal--full.is-nativo .vmodal__ctl{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;gap:1rem;padding:.9rem clamp(1.2rem,3.4vw,3rem) clamp(.9rem,2vh,1.4rem);color:#fff;font:500 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.04em;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0))}
.vmodal__bp,.vmodal__bm{appearance:none;flex:none;width:2.4rem;height:2.4rem;border:0;border-radius:50%;background:transparent;cursor:pointer;position:relative;color:#fff}
.vmodal__bp::before{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:.95rem;margin:-.48rem 0 0 -.4rem;background:linear-gradient(to right,#fff 0 36%,transparent 36% 64%,#fff 64%)}
.is-pausa .vmodal__bp::before{width:.8rem;height:.95rem;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%);margin-left:-.3rem}
.vmodal__bm::before{content:"";position:absolute;left:50%;top:50%;width:1.1rem;height:.8rem;margin:-.4rem 0 0 -.55rem;background:#fff;clip-path:polygon(0 30%,35% 30%,70% 0,70% 100%,35% 70%,0 70%)}
.vmodal__bm::after{content:"";position:absolute;left:50%;top:50%;width:1.3rem;height:2px;margin:-1px 0 0 -.65rem;background:#fff;transform:rotate(-45deg);opacity:0}
.is-mudo .vmodal__bm::after{opacity:1}
.vmodal__bar{flex:1;height:1.4rem;position:relative;cursor:pointer;touch-action:none}
.vmodal__bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:rgba(255,255,255,.3);border-radius:2px}
.vmodal__bar i{position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;width:0;background:#fff;border-radius:2px}
.vmodal__tm{flex:none;min-width:5.6rem;text-align:right;font-variant-numeric:tabular-nums}
.vmodal--full.is-nativo .vmodal__top,.vmodal--full.is-nativo .vmodal__pie,.vmodal--full.is-nativo .vmodal__ctl,.vmodal--full.is-nativo .vmodal__x{transition:opacity .5s ease}
.vmodal--full.is-nativo.is-quiet .vmodal__top,.vmodal--full.is-nativo.is-quiet .vmodal__pie,.vmodal--full.is-nativo.is-quiet .vmodal__ctl,.vmodal--full.is-nativo.is-quiet .vmodal__x{opacity:0;pointer-events:none}
.vmodal--full.is-nativo.is-quiet,.vmodal--full.is-nativo.is-quiet .vmodal__video{cursor:none}
@media (max-width:700px){.vmodal__tm{display:none}}
/* un único degradado inferior (sin escalón entre texto y controles) */
.vmodal--full.is-nativo .vmodal__pie,.vmodal--full.is-nativo .vmodal__ctl{background:none}
.vmodal--full.is-nativo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,0));pointer-events:none;z-index:2;transition:opacity .5s ease}
.vmodal--full.is-nativo.is-quiet::after{opacity:0}

/* v1.9.275 · botón de pantalla completa del reproductor */
.vmodal__bf{appearance:none;flex:none;width:2.4rem;height:2.4rem;border:0;border-radius:50%;background:transparent;cursor:pointer;position:relative}
.vmodal__bf::before{content:"";position:absolute;left:50%;top:50%;width:.95rem;height:.95rem;margin:-.475rem 0 0 -.475rem;background:linear-gradient(#fff,#fff) 0 0/.38rem 2px no-repeat,linear-gradient(#fff,#fff) 0 0/2px .38rem no-repeat,linear-gradient(#fff,#fff) 100% 0/.38rem 2px no-repeat,linear-gradient(#fff,#fff) 100% 0/2px .38rem no-repeat,linear-gradient(#fff,#fff) 0 100%/.38rem 2px no-repeat,linear-gradient(#fff,#fff) 0 100%/2px .38rem no-repeat,linear-gradient(#fff,#fff) 100% 100%/.38rem 2px no-repeat,linear-gradient(#fff,#fff) 100% 100%/2px .38rem no-repeat}
.vmodal.is-fs .vmodal__bf::before{transform:scale(.72)}
.vmodal.is-fs{width:100%;height:100%}

/* v1.9.276 zoom al pasar el ratón en todos los formatos, más marcado */
.fmt__caja{background-image:none}
.fmt__caja::before{content:"";position:absolute;inset:0;background:var(--vid-img,none) center/cover no-repeat;transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.fmt__caja video{transition:opacity .5s ease,transform 1s cubic-bezier(.22,.7,.2,1)}
.fmt:hover .fmt__caja::before,.fmt:hover .fmt__caja video{transform:scale(1.09)}
@media (hover:none){.fmt:hover .fmt__caja::before,.fmt:hover .fmt__caja video{transform:none}}

/* v1.9.277 velo verde al pasar el ratón (mismo verde que las fotos) */
.fmt__vela::after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(135deg,#1f3d2e 0%,color-mix(in srgb,#1f3d2e 55%,#fff) 100%);transition:opacity .5s ease}
@media (hover:hover){.fmt:hover .fmt__vela::after{opacity:.5}}

/* v1.9.279 subtítulo de formatos: algo más grande, más peso y sombra suave */
html body .fmts .fmt .fmt__cab .fmt__sub{font-weight:600!important;font-size:clamp(1rem,1.5vw,1.3rem)!important;color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.55),0 0 2px rgba(0,0,0,.4)}
html body .fmts .fmt .fmt__cab .fmt__titulo{text-shadow:0 2px 14px rgba(0,0,0,.35)}

/* v1.9.280 frase de apertura para páginas de texto (El Estudio) */
.entry .estudio-intro{margin:clamp(1.5rem,4vw,3rem) 0 clamp(1rem,2vw,1.6rem)!important;max-width:18em;font:600 clamp(2rem,5vw,4.6rem)/1.04 'Inter',system-ui,sans-serif!important;letter-spacing:-.035em;color:#0a0a0a!important}
.entry .estudio-intro em{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;letter-spacing:-.01em;color:#1f3d2e}
.entry .estudio-txt{max-width:44em;margin:0 0 clamp(2rem,5vw,4rem)!important;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:#222}

/* ===== v1.9.281 · Sábana de contactos ([sabana_perdomo]) ===== */
.pf{--pf-ink:#111;--pf-muted:#6b6b6b;--pf-faint:#b9b9b9;--pf-line:rgba(0,0,0,.14);--pf-bg:#fff;--pf-serif:"Playfair Display",Georgia,serif;--pf-sans:"Inter",system-ui,sans-serif;
  --pf-offset:calc(var(--header-h,7.5rem) + var(--wp-admin--admin-bar--height,0px));--pf-dur:1.05s;--pf-ease:cubic-bezier(.7,0,.2,1);--pf-rest-o:.78;--pf-rest-g:.3;--pf-dim-o:.12;--pf-pills-h:3.2rem;
  font-family:var(--pf-sans);color:var(--pf-ink);background:var(--pf-bg);
  position:relative;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:0!important}
body:has(.entry-content .pf) h1.entry-title{display:none!important}
body:has(.entry-content .pf) .site-main{padding:0!important;max-width:none!important;overflow-x:clip}
body:has(.entry-content .pf) .entry{margin-top:0!important;padding-top:0!important}
body:has(.entry-content .pf) .site-footer{margin-top:0!important}
.pf .pf-item{margin:0!important}
.pf .pf-item img,.pf .pf-rt img{max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.pf .pf-item img{width:100%!important;height:100%!important}
.pf .pf-rt img{width:100%!important;height:100%!important}
.pf .pf-vimg{max-width:none!important;border:0!important}
.pf button{font-family:var(--pf-sans);text-transform:none;border-radius:0;box-shadow:none}
.pf .pf-toggle button{background:none!important;border:0!important;padding:0!important;color:var(--pf-faint)}
.pf .pf-toggle button:hover,.pf .pf-toggle button[aria-pressed="true"]{color:var(--pf-ink)}
.pf .pf-rt{background:none!important;border:0!important;padding:0!important}
.pf .pf-close{background:none!important;border:0!important;border-bottom:1px solid var(--pf-ink)!important;color:var(--pf-ink)!important;padding:6px 0!important}
.pf .pf-name,.pf .pf-sub,.pf .pf-vmeta,.pf .pf-hint{margin:0}
  /* ---------- escenario ---------- */
  .pf-stage {
    position: relative; overflow: hidden;
    height: calc(100svh - var(--pf-offset)); min-height: 520px;
    user-select: none; -webkit-user-select: none;
    background: var(--pf-bg);
  }
  .pf-stage[data-view="strip"] { --pf-dim-o: .2; }
  .pf-stage::after {                    /* velo blanco para que se lea el título */
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
    height: min(38%, 260px); pointer-events: none;
    background: linear-gradient(to top, var(--pf-bg) 22%, rgba(255,255,255,0));
  }
  .pf-scroller {                        /* scroll NATIVO: encadena con la página en los extremos */
    position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto;
    scrollbar-width: none; -ms-overflow-style: none;
  }
  .pf-scroller::-webkit-scrollbar { display: none; }
  .pf-stage[data-view="strip"] .pf-scroller { overflow-x: auto; overflow-y: hidden; }
  .pf-canvas { position: relative; }

  /* ---------- fotos ---------- */
  .pf-item {
    position: absolute; left: 0; top: 0; margin: 0; cursor: pointer; outline: none;
    transform-origin: 0 0;
    opacity: var(--pf-rest-o); filter: grayscale(var(--pf-rest-g));
    transition:
      transform var(--pf-dur) var(--pf-ease) var(--d, 0s),
      opacity .5s ease, filter .5s ease;
  }
  .pf-item img {
    display: block; width: 100%; height: 100%; object-fit: cover;
    -webkit-user-drag: none; pointer-events: none;
    animation: pf-in 1.25s cubic-bezier(.45,.05,.15,1) both;
    animation-delay: var(--ad, 0s);
  }
  @keyframes pf-in { from { transform: translateX(calc(var(--fx, 600) * -1px)); } to { transform: none; } }
  .pf-stage.has-active .pf-item { opacity: var(--pf-dim-o); filter: grayscale(1); }
  .pf-stage.has-active .pf-item.is-on { opacity: 1; filter: none; }
  .pf-item.is-hidden { visibility: hidden; }
  .pf-item:focus-visible img { outline: 2px solid var(--pf-ink); outline-offset: 4px; }
  .pf.no-trans .pf-item { transition: none; }

  /* ---------- título de la serie ---------- */
  .pf-label {
    position: absolute; left: 0; right: 0; z-index: 2; pointer-events: none;
    bottom: clamp(18px, 4vh, 40px);
    height: calc(clamp(34px, 6.2vw, 100px) + 30px);
    text-align: center;
  }
  .pf-line { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 16px; }
  .pf-name {
    font-weight: 600; font-size: clamp(34px, 6.2vw, 100px); line-height: .98;
    letter-spacing: -.04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .pf-name sup {
    font-family: var(--pf-serif); font-style: italic; font-weight: 400;
    font-size: .28em; letter-spacing: 0; vertical-align: top; position: relative; top: .35em; margin-left: .25em;
    color: var(--pf-muted);
  }
  .pf-sub { margin-top: 8px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pf-muted); }
  .pf-line.is-rest .pf-name { color: var(--pf-faint); }

  /* ---------- pista ---------- */
  .pf-hint {
    position: absolute; left: clamp(20px, 5vw, 72px); bottom: clamp(24px, 4.6vh, 46px); z-index: 2;
    font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--pf-muted);
    transition: opacity .4s ease; pointer-events: none;
  }
  .pf-hint .touch { display: none; }
  @media (hover: none) { .pf-hint .touch { display: inline; } .pf-hint .mouse { display: none; } }
  .pf-stage.has-active .pf-hint { opacity: 0; }
  @media (max-width: 1180px) { .pf-hint { display: none; } }

  /* ---------- botones de vista ---------- */
  .pf-toggle {
    position: absolute; right: clamp(16px, 4vw, 56px); bottom: clamp(24px, 4.6vh, 46px); z-index: 3;
    display: flex; gap: 4px;
  }
  .pf-toggle button {
    width: 36px; height: 36px; padding: 0; display: grid; place-items: center;
    background: none; border: 0; cursor: pointer; color: var(--pf-faint); transition: color .25s;
  }
  .pf-toggle button:hover, .pf-toggle button[aria-pressed="true"] { color: var(--pf-ink); }
  .pf-toggle button:focus-visible { outline: 2px solid var(--pf-ink); outline-offset: 2px; }
  .pf-toggle svg { width: 20px; height: 20px; display: block; fill: currentColor; }

  /* ---------- visor ---------- */
  .pf-viewer { position: absolute; inset: 0; z-index: 10; pointer-events: none; visibility: hidden; }
  .pf-viewer.is-open { pointer-events: auto; visibility: visible; }
  .pf-vbg { position: absolute; inset: 0; background: var(--pf-bg); opacity: 0; transition: opacity .45s ease; }
  .pf-viewer.is-open .pf-vbg { opacity: 1; }
  .pf-vmain { position: absolute; inset: 0; overflow: hidden; cursor: pointer; }
  .pf-vmain[data-side="prev"] { cursor: w-resize; }
  .pf-vmain[data-side="next"] { cursor: e-resize; }
  .pf-vimg { position: absolute; transform-origin: 0 0; display: block; -webkit-user-drag: none; }
  .pf-chrome { opacity: 0; transition: opacity .35s ease; }
  .pf-viewer.is-open .pf-chrome { opacity: 1; transition-delay: .35s; }

  .pf-close {
    position: absolute; top: 20px; right: clamp(16px, 4vw, 56px); z-index: 2;
    background: none; border: 0; padding: 6px 0; cursor: pointer;
    font: 500 13px var(--pf-sans); letter-spacing: .06em; color: var(--pf-ink);
    border-bottom: 1px solid var(--pf-ink);
  }
  .pf-vmeta {
    position: absolute; left: clamp(16px, 4vw, 56px); bottom: 24px; z-index: 2; pointer-events: none;
    display: flex; gap: 14px; align-items: baseline; font-size: 13px;
  }
  .pf-vtitle { font-weight: 600; letter-spacing: -.01em; }
  .pf-vcount { font-family: var(--pf-serif); font-style: italic; color: var(--pf-muted); }

  .pf-rail {
    position: absolute; z-index: 2; right: clamp(16px, 3vw, 44px); top: 64px; bottom: 72px; width: 56px;
    overflow-y: auto; overflow-x: hidden; scrollbar-width: none; display: flex; flex-direction: column;
  }
  .pf-rail::-webkit-scrollbar { display: none; }
  .pf-rail-in { margin: auto 0; display: flex; flex-direction: column; gap: 8px; align-items: center; }
  .pf-rt { padding: 0; border: 0; background: none; cursor: pointer; opacity: .38; flex: none; transition: opacity .3s; }
  .pf-rt:hover { opacity: .8; }
  .pf-rt.is-cur { opacity: 1; }
  .pf-rt img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .pf-rt:focus-visible { outline: 2px solid var(--pf-ink); outline-offset: 2px; }

  @media (max-width: 720px) {
    .pf-name { font-size: clamp(24px, 7.4vw, 44px); }
    .pf-label { height: calc(clamp(24px, 7.4vw, 44px) + 30px); }
    .pf-toggle { top: 10px; bottom: auto; right: 12px; }
    .pf-rail { top: auto; left: 16px; right: 16px; bottom: 16px; width: auto; height: 64px; flex-direction: row; overflow-x: auto; overflow-y: hidden; }
    .pf-rail-in { margin: 0 auto; flex-direction: row; }
    .pf-vmeta { bottom: 92px; }
    .pf-close { top: 14px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .pf-item, .pf-vbg, .pf-chrome { transition-duration: .01s !important; transition-delay: 0s !important; }
    .pf-item img { animation: none; }
  }

/* v1.9.282 botones de vista: al lado del botón de contacto, mismo tamaño y a su altura */
@media (min-width:721px){
.pf .pf-toggle{right:calc(1.25rem + 48px + .6rem);bottom:1.25rem;gap:.3rem;align-items:center}
.pf .pf-toggle button{width:48px;height:48px}
.pf .pf-toggle svg{width:28px;height:28px}
}

/* v1.9.285 revelado de la foto señalada (emulsión que se extiende) y botón de contacto en gris en la sábana */
body:has(.pf) .contact-fab__toggle,body:has(.pf) .contact-fab__list a{background:#b9b9b9;border-color:#b9b9b9;color:#fff}
body:has(.pf) .contact-fab__toggle:hover,body:has(.pf) .contact-fab__list a:hover,body:has(.pf) .contact-fab__toggle:focus-visible,body:has(.pf) .contact-fab__list a:focus-visible,body:has(.pf) .contact-fab.is-open .contact-fab__toggle{background:#111;border-color:#111;color:#fff}

/* v1.9.287 capa de revelado: color completo encima de la foto atenuada */
.pf .pf-ov{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;z-index:2}
.pf .pf-ov img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border:0!important}
.pf-stage.has-active .pf-item.is-on.is-rev{opacity:var(--pf-rest-o);filter:grayscale(var(--pf-rest-g))}

/* v1.9.289 título de la serie: que no se corten las letras con rabillo (g, y, p, q) */
.pf .pf-name{padding:.06em 0 .2em;line-height:1}
.pf .pf-sub{margin-top:0}

/* v1.9.290 sábana: reposo más visible, gris con contraste, píldoras de series */
.pf .pf-toggle button{color:#8c8c8c}
.pf .pf-toggle button:hover,.pf .pf-toggle button[aria-pressed="true"]{color:var(--pf-ink)}
body:has(.pf) .contact-fab__toggle,body:has(.pf) .contact-fab__list a{background:#8c8c8c;border-color:#8c8c8c}
.pf .pf-line.is-rest .pf-name{color:#a8a8a8}
.pf .pf-stage{height:calc(100svh - var(--pf-offset) - var(--pf-pills-h))}
.pf .pf-pills{height:var(--pf-pills-h);box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:clamp(1.4rem,3vw,3rem);margin:0 clamp(16px,4vw,56px);border-top:1px solid #8c8c8c;overflow-x:auto;scrollbar-width:none}
.pf .pf-pills::-webkit-scrollbar{display:none}
.pf .pf-pill{flex:none;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;background:none!important;border:0!important;border-radius:0!important;padding:.4rem 0!important;color:#8c8c8c!important;font:500 clamp(.68rem,.8vw,.78rem)/1 'Inter',system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;transition:color .25s}
.pf .pf-tri{width:.55rem;height:.62rem;background:#b5b5b5;clip-path:polygon(0 0,100% 50%,0 100%);transition:background .25s}
.pf .pf-fr{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.pf .pf-pill:hover,.pf .pf-pill.is-on{color:#111!important}
.pf .pf-pill:hover .pf-tri,.pf .pf-pill.is-on .pf-tri{background:#111}
.pf .pf-pill:focus-visible{outline:2px solid #111;outline-offset:4px}

/* v1.9.291 página de la sábana: cabecera mínima (símbolo + tres líneas), sin barra negra ni menú horizontal */
body:has(.entry-content .pf) .top-announcement-bar,body:has(.entry-content .pf) .main-nav,body:has(.entry-content .pf) .logo>span{display:none!important}
body:has(.entry-content .pf) .site-header{border-bottom:0}
body:has(.entry-content .pf) .main-header{padding:.9rem clamp(16px,4vw,56px);background:#fff}
body:has(.entry-content .pf) .menu-toggle{font-size:0!important;width:30px;height:22px;padding:0!important;position:relative;border:0!important;background:linear-gradient(#111,#111) 0 0/100% 2px no-repeat,linear-gradient(#111,#111) 0 50%/100% 2px no-repeat,linear-gradient(#111,#111) 0 100%/100% 2px no-repeat!important;opacity:1;transition:opacity .25s}
body:has(.entry-content .pf) .menu-toggle:hover{opacity:.55}
body:has(.entry-content .pf) .menu-toggle:focus-visible{outline:2px solid #111;outline-offset:6px}
body:has(.entry-content .pf) .nav-drawer{top:0!important}

/* v1.9.293 móvil en vertical: botones de vista abajo a la izquierda (a la altura del botón de contacto) */
@media (max-width:720px){
.pf .pf-toggle{top:auto!important;right:auto!important;bottom:1.25rem!important;left:.9rem;gap:0;align-items:center}
.pf .pf-toggle button{width:40px;height:40px}
.pf .pf-toggle svg{width:24px;height:24px}
.pf .pf-sub{font-size:11px;letter-spacing:.06em}
}


/* v1.9.300 · lista animada de la cabecera de Servicios ([lista_perdomo]) */
.lst{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(1.5rem,5vh,3rem) clamp(1.2rem,4vw,4.5rem) clamp(2.5rem,7vh,4.5rem)!important;background:#fbfbf9;color:#111}
.lst *,.lst *::before,.lst *::after{box-sizing:border-box}
.lst .lst__list{border-top:1px solid rgba(17,17,17,.3)}
.lst .lst__r{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .26em;margin:0;padding:.07em .5rem .1em;border-bottom:1px solid rgba(17,17,17,.3);font:400 clamp(2.1rem,7.4vw,7.2rem)/1.08 'Playfair Display',Georgia,serif!important;letter-spacing:-.025em;color:#111!important;text-align:center;text-decoration:none!important;cursor:default;transition:color .25s ease}
.lst a.lst__r{cursor:pointer}
.lst .lst__r:hover,.lst .lst__r:focus-visible{color:#2a6347!important;outline:0}
.lst .lst__r--all::before,.lst .lst__r--all::after{content:"*";align-self:flex-start;margin-top:.12em;font-size:.62em;line-height:1;color:#2a6347}
.lst .lst__r--all::before{margin-right:.04em}
.lst .lst__r--all::after{margin-left:.04em}
.lst.js .lst__r{opacity:0}
.lst.js .lst__r.on{opacity:1}
.lst .lst__r .w{display:inline-block;white-space:nowrap;text-align:center}
.lst .lst__im{display:inline-block;flex:none;width:0;height:.78em;margin:0;border-radius:2px;background:#ddd center/cover no-repeat;opacity:0;transition:width .55s cubic-bezier(.22,.7,.2,1),margin .55s cubic-bezier(.22,.7,.2,1),opacity .4s ease}
.lst .lst__im.on{width:1.05em;margin:0 .06em;opacity:1}
.lst .lst__intro{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:0 clamp(1rem,3vw,3rem);padding-top:clamp(1.4rem,4vh,2.4rem)}
.lst .lst__lab{font:500 .72rem/1.6 ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#6f6f68}
.lst .lst__p{max-width:46ch;margin:0;font:400 clamp(1rem,1.3vw,1.2rem)/1.55 'Inter',system-ui,sans-serif;color:#222}
@media (max-width:820px){
.lst .lst__intro{grid-template-columns:minmax(0,1fr);gap:.6rem}
.lst .lst__r{font-size:clamp(1.9rem,9.4vw,3.4rem)}
}
@media (prefers-reduced-motion:reduce){.lst.js .lst__r{opacity:1}.lst .lst__im{transition:none}}
.side-panel .lst{width:100%!important;margin:0!important}


/* v1.9.301 · esquema animado de «El estudio» ([esquema_perdomo]) */
.esq{position:relative;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(2.5rem,8vh,5rem) clamp(1.2rem,4vw,4.5rem)!important;background:#fbfbf9;color:#111}
.esq *,.esq *::before,.esq *::after{box-sizing:border-box}
.esq .esq__ln{position:absolute;left:calc(clamp(1.2rem,4vw,4.5rem) + .4rem);top:calc(clamp(2.5rem,8vh,5rem) + 1.1rem);bottom:calc(clamp(2.5rem,8vh,5rem) + 1.1rem);width:1px;background:#111;transform-origin:top;transform:scaleY(var(--p,0));pointer-events:none}
.esq .esq__o,.esq .esq__m{position:relative;display:flex;align-items:center;gap:1.1rem;padding-left:0;min-height:2.2rem}
.esq .esq__dot{flex:none;width:.85rem;height:.85rem;margin-left:0;border-radius:50%;background:#111;transform:scale(0);transition:transform .5s cubic-bezier(.22,.7,.2,1),background .4s ease}
.esq .esq__dot--g{background:#2a6347}
.esq .esq__o.on .esq__dot,.esq .esq__m.on .esq__dot{transform:none}
.esq .esq__o:not(.on) .esq__ot,.esq .esq__m:not(.on) .esq__mt{opacity:0}
.esq .esq__ot{font:400 clamp(2rem,5.4vw,4.4rem)/1.05 'Playfair Display',Georgia,serif!important;letter-spacing:-.025em;color:#111!important}
.esq .esq__mt{font:italic 400 clamp(1.6rem,4.2vw,3.2rem)/1.1 'Playfair Display',Georgia,serif!important;letter-spacing:-.015em;color:#2a6347!important}
.esq .esq__tr{margin:clamp(1rem,3vh,1.6rem) 0}
.esq .esq__b{position:relative;margin:0;padding:clamp(1.2rem,3.4vh,2rem) 0 clamp(1.2rem,3.4vh,2rem) clamp(2.6rem,5vw,3.6rem)}
.esq .esq__bt{position:relative;display:flex;align-items:baseline;gap:.9rem;margin:0!important;padding:0!important;font:400 clamp(1.7rem,4vw,2.7rem)/1.1 'Playfair Display',Georgia,serif!important;letter-spacing:-.02em!important;text-transform:none!important;color:#111!important}
.esq .esq__bt::before{content:"";position:absolute;left:calc(-1 * clamp(2.6rem,5vw,3.6rem) + .4rem);top:.62em;width:calc(clamp(2.6rem,5vw,3.6rem) - .7rem);height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,.7,.2,1)}
.esq .esq__b.on .esq__bt::before{transform:none}
.esq .esq__bn{font:500 .72rem/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace!important;letter-spacing:.1em;color:#2a6347!important}
.esq .esq__b:not(.on) .esq__bt>span:last-child{opacity:0}
.esq .esq__st{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;margin:.9rem 0 0!important;padding:0!important;list-style:none!important}
.esq .esq__st li{position:relative;display:flex;align-items:center;gap:.7rem;margin:0!important;padding:0!important;font:400 .78rem/1.3 ui-monospace,'SF Mono',Menlo,Consolas,monospace!important;letter-spacing:.06em;text-transform:uppercase;color:#333!important;list-style:none!important;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .6s cubic-bezier(.22,.7,.2,1)}
.esq .esq__st li::before{content:"";flex:none;width:1.3rem;height:1px;background:#111;opacity:.6}
.esq .esq__b.on .esq__st li{opacity:1;transform:none}
.esq .esq__b.on .esq__st li:nth-child(1){transition-delay:.25s}
.esq .esq__b.on .esq__st li:nth-child(2){transition-delay:.4s}
.esq .esq__b.on .esq__st li:nth-child(3){transition-delay:.55s}
.esq .esq__b.on .esq__st li:nth-child(4){transition-delay:.7s}
.esq .esq__b.on .esq__st li:nth-child(5){transition-delay:.85s}
@media (max-width:560px){.esq .esq__st{flex-direction:column;gap:.5rem}}
@media (prefers-reduced-motion:reduce){.esq .esq__ln{transform:none}.esq .esq__dot,.esq .esq__st li,.esq .esq__bt::before{transition:none;opacity:1;transform:none}.esq .esq__o:not(.on) .esq__ot,.esq .esq__m:not(.on) .esq__mt,.esq .esq__b:not(.on) .esq__bt>span:last-child{opacity:1}}
.side-panel .esq{width:100%!important;margin:0!important}


/* v1.9.302 · desplegables ([servicios_perdomo]) con el mismo aspecto que los de Servicios: título grande, número en mono, verde al abrir, filas finas */
.svcs{--svc-num:clamp(3rem,6vw,6rem)}
.svcs .svcs__h,.side-panel .svcs .svcs__h{font:500 .72rem/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace!important;letter-spacing:.14em!important;text-transform:uppercase;color:#6f6f68!important;margin-bottom:1rem!important}
.svcs .svcs__ul{border-top:1px solid rgba(17,17,17,.85)!important}
.svcs .svcs__it{border-bottom-color:rgba(17,17,17,.85)!important}
.svcs .svcs__it.is-open{border-bottom-color:rgba(17,17,17,.85)!important}
.svcs .svcs__b{padding-top:clamp(1.1rem,3vh,1.9rem)!important;padding-bottom:clamp(1.1rem,3vh,1.9rem)!important}
.svcs .svcs__n,.side-panel .svcs .svcs__n{font:600 clamp(1.7rem,3.8vw,3.6rem)/1.04 'Inter',system-ui,sans-serif!important;letter-spacing:-.04em!important;color:#111!important;align-items:baseline}
.svcs .svcs__n::before{font:500 .8rem/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace!important;letter-spacing:.08em!important;color:#6f6f68!important;opacity:1!important}
.svcs .svcs__it.is-hot .svcs__n,.svcs .svcs__it.is-open .svcs__n,.svcs .svcs__it:hover .svcs__n,.side-panel .svcs .svcs__it.is-open .svcs__n,.side-panel .svcs .svcs__it:hover .svcs__n{color:#2a6347!important;translate:0 0!important}
.svcs .svcs__it:not(.is-hot):not(.is-open):hover .svcs__n{color:#2a6347!important}
@media (max-width:760px){.svcs .svcs__n{font-size:clamp(1.6rem,7.4vw,2.3rem)!important}.svcs{--svc-num:2.6rem}}
.svcs .svcs__it--txt .svcs__n{font-size:clamp(1.7rem,3.8vw,3.6rem)!important;letter-spacing:-.04em!important;line-height:1.04!important}
@media (max-width:760px){.svcs .svcs__it--txt .svcs__n{font-size:clamp(1.6rem,7.4vw,2.3rem)!important}}

/* v1.9.303 · en pantallas táctiles el «hover» se queda pegado tras tocar: solo el desplegable abierto se pone verde */
@media (hover:none){
.svcs .svcs__it:not(.is-open):not(.is-hot):hover .svcs__n,.side-panel .svcs .svcs__it:not(.is-open):not(.is-hot):hover .svcs__n{color:#111!important}
}

/* v1.9.304 · Árbol «Cuidamos las imágenes» que se dibuja al bajar + enlace de Fotografía en la tarjeta central */
.linea.is-draw .linea__paso{border-top-color:transparent}
.linea.is-draw .linea__paso::after{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:currentColor;transform:scaleX(var(--q,0));transform-origin:left center}
.linea.is-draw .linea__paso::before{opacity:0;transform:scale(.2);transition:opacity .35s ease,transform .45s cubic-bezier(.22,.7,.2,1),background .25s ease}
.linea.is-draw .linea__paso.is-on::before{opacity:1;transform:none}
.linea.is-draw .linea__lk{opacity:0;transform:translateY(12px);transition:opacity .6s ease .1s,transform .7s cubic-bezier(.22,.7,.2,1) .1s}
.linea.is-draw .linea__paso.is-on .linea__lk{opacity:1;transform:none}
.linea.is-draw .linea__pasos::after{opacity:0;transition:opacity .4s ease}
.linea.is-draw .linea__pasos.is-end::after{opacity:1}
@media (max-width:780px){
  .linea.is-draw .linea__pasos{border-left-color:transparent}
  .linea.is-draw .linea__paso::after{left:-1px;top:0;width:1px;height:100%;transform:scaleY(var(--q,0));transform-origin:center top}
}
html body .home-content .duo--c .duo-cta .duo-a{justify-content:center;text-align:center}
.duo--c .duo-l{clip-path:inset(0 50% 0 50%);transform:none}

/* v1.9.307 · Lista de disciplinas: etiqueta y frase centradas bajo la lista, frase en serif cursiva (como «de principio a fin» de la portada) */
.lst .lst__intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(.9rem,2vh,1.4rem);padding-top:clamp(2.4rem,7vh,4.5rem)}
.lst .lst__lab{order:-1;font-size:.7rem;letter-spacing:.16em}
.lst .lst__p{max-width:34em;font:italic 400 clamp(1.25rem,2.1vw,2rem)/1.35 'Playfair Display',Georgia,serif;letter-spacing:0;color:#222;text-wrap:balance}

/* v1.9.308 · [cartas_perdomo]: cuadrícula 2×2 de disciplinas, cada texto con su foto debajo (filas alineadas con subcuadrícula) */
html body .home-content .crt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,5vw,5rem);row-gap:0;width:100%;max-width:none;margin:0;padding:0}
html body .home-content .crt .crt__c{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;min-width:0;margin:0;padding:0;flex:none}
html body .home-content .crt .crt__c:nth-child(n+3){margin-top:clamp(3.5rem,8vw,7rem)}
html body .home-content .crt .duo-k{padding-bottom:1rem;align-self:start}
html body .home-content .crt h3{margin:0 0 1.1rem;padding:0;font:400 clamp(2rem,3.4vw,3.6rem)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.01em;text-transform:none;text-wrap:balance;color:var(--text-color,#111)}
html body .home-content .crt p{margin:0 0 1.6rem;padding:0;max-width:34em;font:400 clamp(.95rem,1.05vw,1.08rem)/1.6 'Inter',system-ui,sans-serif;color:#333}
html body .home-content .crt .duo-fig{margin:0 0 1rem;cursor:pointer;overflow:hidden;align-self:start}
html body .home-content .crt .duo-fig img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
html body .home-content .crt .duo-cta{padding-top:.4rem}
@media (max-width:781px){
  html body .home-content .crt{grid-template-columns:minmax(0,1fr)}
  html body .home-content .crt .crt__c{display:block;grid-row:auto}
  html body .home-content .crt .crt__c:nth-child(n+2){margin-top:3.2rem}
}

/* 1.9.319 · frase y deriva a ancho completo, centradas en pantalla pase lo que pase con su contenedor */
.frase,.deriva{width:100vw;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important}

/* 1.9.319 · titular de la Home descentrado, a la izquierda, con letras que aparecen una a una */
html body .home-content #galeria h2.etiqueta-seccion{display:block;position:relative;box-sizing:border-box;width:100vw;max-width:none;margin:clamp(6rem,14vw,12rem) 0 clamp(2.5rem,5vw,4.5rem) calc(50% - 50vw);padding:0 clamp(1.2rem,4vw,4.5rem);border:0;text-align:left;font:400 clamp(2.1rem,5.2vw,5.4rem)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.015em;text-transform:none;color:var(--text-color,#111)}
html body .home-content #galeria h2.etiqueta-seccion::before,html body .home-content #galeria h2.etiqueta-seccion::after{display:none!important;content:none!important}
.tp__l{display:block;position:relative;width:fit-content;max-width:100%}
.tp__l--2{margin-left:clamp(1.5rem,11vw,11rem)}
.tp__t{display:block;visibility:hidden}
.tp__l.on .tp__t{visibility:visible}
.tp__l::after{content:"";position:absolute;left:0;right:0;top:.06em;bottom:.06em;background:var(--frase-barra,#3f8a63);transform:scaleX(var(--bs,0));transform-origin:var(--bo,left center);pointer-events:none}
.tp.tp--sin .tp__t{visibility:visible}.tp.tp--sin .tp__l::after{display:none}
@media (prefers-reduced-motion:reduce){.tp .tp__t{visibility:visible}.tp__l::after{display:none}}

/* 1.9.319 · collage de la Home: fotos fijas repartidas por todo el ancho de la pantalla, descompuestas con orden */
@media (min-width:782px){
  html body .home-content #galeria ~ .wp-block-columns{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(.8rem,1.6vw,1.6rem);row-gap:0;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:0 clamp(1.2rem,4vw,4.5rem);box-sizing:border-box}
  html body .home-content #galeria ~ .wp-block-columns > .wp-block-column{display:contents!important}
  html body .home-content #galeria ~ .wp-block-columns .wp-block-image{margin:0!important;width:auto!important;max-width:none!important}
  html body .home-content #galeria ~ .wp-block-columns .wp-block-image img{display:block;width:100%!important;height:auto!important;aspect-ratio:var(--ar,4/3)!important;max-width:none!important;object-fit:cover}
  html body .home-content #galeria ~ .wp-block-columns > .wp-block-column:nth-child(1) > .wp-block-image:nth-child(1){grid-column:1/8;grid-row:1;--ar:4/3}
  html body .home-content #galeria ~ .wp-block-columns > .wp-block-column:nth-child(1) > .wp-block-image:nth-child(2){grid-column:9/13;grid-row:1;--ar:4/5;margin-top:clamp(3rem,7vw,7rem)!important}
  html body .home-content #galeria ~ .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-image:nth-child(1){grid-column:3/7;grid-row:2;--ar:1/1;margin-top:clamp(4rem,9vw,9rem)!important}
  html body .home-content #galeria ~ .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-image:nth-child(2){grid-column:8/13;grid-row:2;--ar:3/2;margin-top:clamp(2rem,3.5vw,3.5rem)!important;margin-bottom:clamp(3rem,7vw,7rem)!important}
}

/* 1.9.319 · las tarjetas 2×2 de la Home aparecen rápido */
.js-reveal .crt .reveal{transform:translateY(32px);transition:opacity .7s ease,transform .8s cubic-bezier(.22,.7,.2,1)}
.js-reveal .crt .reveal:not(.is-in){transition:none}

/* 1.9.319 · pies de foto del collage: título en gris y frase debajo */
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image{display:flex;flex-direction:column;align-self:start}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption{display:block!important;order:2;margin:1.1rem 0 0!important;padding:0;max-width:34ch;font:400 clamp(.95rem,1.05vw,1.1rem)/1.5 'Inter',system-ui,sans-serif;color:var(--text-color,#222);text-align:left}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption strong{display:block;margin:0 0 .35rem;font:500 .74rem/1.3 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8a918d}
html body .home-content #galeria ~ .wp-block-columns .wp-block-image img{flex:none}
@media (min-width:782px){
  html body .home-content #galeria ~ .wp-block-columns .wp-block-image > img,html body .home-content #galeria ~ .wp-block-columns .wp-block-image > a{display:block;width:100%}
  html body .home-content #galeria ~ .wp-block-columns .wp-block-image > a img{width:100%!important;height:auto!important}
}

/* 1.9.319 · pies de foto más finos (gris + frase), y preguntas frecuentes */
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption{max-width:32ch;font:300 clamp(1rem,1.1vw,1.15rem)/1.45 'Inter',system-ui,sans-serif;letter-spacing:-.005em;color:#1b1b1b}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption strong{display:block;margin:0 0 1rem;font:300 clamp(1rem,1.1vw,1.15rem)/1.4 'Inter',system-ui,sans-serif;letter-spacing:-.005em;text-transform:none;color:#8a8f8c}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption strong br{display:block}

.faq{position:relative;box-sizing:border-box;width:100vw;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;padding:clamp(4rem,10vw,9rem) clamp(1.2rem,4vw,4.5rem)!important;background:#fff;color:#111}
.faq__l{list-style:none;margin:0;padding:0}
.faq__f{position:relative;display:grid;grid-template-columns:minmax(3.5rem,22%) minmax(0,38rem);column-gap:clamp(1rem,6vw,8rem);padding:clamp(1.4rem,2.6vw,2.2rem) 0 clamp(2.4rem,5vw,4.5rem);margin:0}
.faq__f::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#111;opacity:.55;transform:scaleX(0);transform-origin:left center;transition:transform 1s cubic-bezier(.65,0,.25,1)}
.faq__f.is-in::before{transform:scaleX(1)}
.faq__n{font:300 1rem/1.4 'Inter',system-ui,sans-serif;color:#8a8f8c;font-variant-numeric:tabular-nums}
html body .faq h3.faq__q{margin:0 0 1.4rem;padding:0;font:400 clamp(1.25rem,1.9vw,1.7rem)/1.25 'Inter',system-ui,sans-serif;letter-spacing:-.015em;color:#111;text-transform:none}
.faq__a{margin:0;max-width:34rem;font:300 clamp(1rem,1.15vw,1.12rem)/1.55 'Inter',system-ui,sans-serif;color:#7d837f}
.faq__c > *{opacity:0;transform:translateY(14px);transition:opacity .8s ease .25s,transform .9s cubic-bezier(.22,.7,.2,1) .25s}
.faq__f.is-in .faq__c > *{opacity:1;transform:none}
.faq__f.is-in .faq__a{transition-delay:.4s}
@media (max-width:700px){.faq__f{grid-template-columns:2.8rem minmax(0,1fr);column-gap:.8rem}}
@media (prefers-reduced-motion:reduce){.faq__f::before{transform:none;transition:none}.faq__c > *{opacity:1;transform:none;transition:none}}

/* 1.9.319 · preguntas frecuentes más limpias: título a la izquierda, lista en la mitad derecha, líneas suaves y cortas */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(1.5rem,4vw,5rem);align-items:start}
.faq__t{font:300 1rem/1.4 'Inter',system-ui,sans-serif;color:#8a8f8c;padding-top:clamp(1.4rem,2.6vw,2.2rem)}
.faq__f{grid-template-columns:minmax(3rem,16%) minmax(0,1fr);column-gap:clamp(1rem,3vw,3.5rem)}
.faq__f::before{background:#111;opacity:.16}
.faq__q{font-size:clamp(1.15rem,1.55vw,1.4rem)}
@media (max-width:781px){.faq{grid-template-columns:1fr;row-gap:1rem}.faq__t{padding-top:0}}

/* 1.9.319 · Home más corta: el bloque verde dura menos y el titular del collage no suma relleno extra */
.frase{height:170vh}
@media (max-width:700px){.frase{height:160vh}}
html body .home-content #galeria{padding-top:0!important;padding-bottom:0!important}

/* 1.9.320 · titular más grande en tres líneas, con !important para ganar al ajuste centrado del bloque contenedor; la barra cubre también las colas de las letras */
html body .home-content #galeria h2.etiqueta-seccion{display:block!important;width:100vw!important;max-width:none!important;margin:clamp(5rem,11vw,10rem) 0 clamp(2.5rem,5vw,4.5rem) calc(50% - 50vw)!important;padding:0 clamp(1.2rem,4vw,4.5rem)!important;text-align:left!important;font-family:'Playfair Display',Georgia,serif!important;font-weight:400!important;font-size:clamp(2.3rem,6.2vw,7rem)!important;line-height:1!important;letter-spacing:-.02em!important}
.tp__l{padding:.08em 0 .16em}
.tp__l::after{top:0;bottom:0}
.tp__l--2{margin-left:clamp(1rem,6vw,7rem)}
.tp__l--3{margin-left:clamp(2rem,17vw,21rem)}
@media (max-width:781px){.tp__l--2,.tp__l--3{margin-left:0}}

/* 1.9.320 · pies de foto y preguntas: gris un poco más oscuro, y la lista alineada con la columna de la última foto */
html body .home-content #galeria ~ .wp-block-columns figcaption strong{color:#6f7572!important}
.faq__n,.faq__t{color:#6f7572}
@media (min-width:782px){
  .faq{grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:clamp(.8rem,1.6vw,1.6rem)!important;padding-left:clamp(1.2rem,4vw,4.5rem)!important;padding-right:clamp(1.2rem,4vw,4.5rem)!important}
  .faq__t{grid-column:1/6}
  .faq__l{grid-column:7/13;display:grid;grid-template-columns:subgrid}
  .faq__f{grid-column:1/-1;display:grid;grid-template-columns:subgrid!important;column-gap:clamp(.8rem,1.6vw,1.6rem)!important}
  .faq__n{grid-column:1}
  .faq__c{grid-column:2/-1}
}
@media (min-width:782px){html body .home-content #galeria ~ .wp-block-columns{column-gap:clamp(.8rem,1.6vw,1.6rem)!important;row-gap:0!important}}

/* 1.9.321 · las cuatro tarjetas dejan el mismo aire por debajo que entre filas, para que la flecha de la fila inferior no quede tapada por el bloque verde */
html body .home-content .crt{padding-bottom:clamp(4rem,8vw,7rem)!important;overflow:visible}
html body .home-content .crt + *{margin-top:0}

/* 1.9.322 · logos de clientes: todos recortados al borde y con la misma caja máxima, para que pesen igual; el gris lo da ya la imagen */
.clientes__lista img{width:auto!important;height:auto!important;max-width:clamp(70px,8vw,130px)!important;max-height:clamp(32px,3.8vw,58px)!important;object-fit:contain}
@media (max-width:700px){.clientes__lista img{max-width:96px!important;max-height:42px!important}}

/* 1.9.322 · el hueco entre el collage y las preguntas es un poco menor */
@media (min-width:782px){html body .home-content #galeria ~ .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-image:nth-child(2){margin-bottom:clamp(1.5rem,3.5vw,3.5rem)!important}}
html body .home-content .faq{padding-top:clamp(2.6rem,6vw,5.5rem)!important}

/* 1.9.323 · móvil: el titular va en cuatro líneas que caben enteras (sin palabra suelta) y con el tamaño justo */
@media (max-width:781px){html body .home-content #galeria h2.etiqueta-seccion{font-size:clamp(2rem,9.2vw,2.8rem)!important;line-height:1!important}.tp__l{white-space:nowrap}}

/* 1.9.324 · titular: sin barra verde; las letras se descifran como en la lista de Servicios */
.tp__l::after{display:none!important;content:none!important}
.tp__t{visibility:visible!important;opacity:0;transition:opacity .25s ease}
.tp__l.on .tp__t{opacity:1}
.tp__w{display:inline-block;white-space:nowrap;vertical-align:baseline}
.tp__l{white-space:nowrap}
.tp.tp--sin .tp__t{opacity:1}
@media (prefers-reduced-motion:reduce){.tp .tp__t{opacity:1}}

/* 1.9.325 · logos de clientes: caja máxima algo mayor ahora que cada logo llega recortado al borde */
.clientes__lista img{max-width:clamp(84px,9.4vw,150px)!important;max-height:clamp(38px,4.6vw,72px)!important}
@media (max-width:700px){.clientes__lista img{max-width:104px!important;max-height:48px!important}}

/* 1.9.326 · página provisional «Fine Art en construcción»: el bloque oscuro ocupa toda la pantalla */
body.page-construccion .site-main{max-width:none!important;padding:0!important}
body.page-construccion .cta{min-height:calc(100svh - 7rem);display:flex;align-items:center}
body.page-construccion .cta__in{width:100%}

/* 1.9.327 · logos de clientes: cada uno rellena una caja del mismo tamaño (se agranda hasta ocupar su ancho o su alto), y la franja gris vuelve a ser más alta */
.clientes__lista img{width:clamp(84px,9.4vw,150px)!important;height:clamp(40px,4.8vw,76px)!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
.clientes{padding:clamp(2.8rem,5vw,4.6rem) 0!important}
@media (max-width:700px){.clientes__lista img{width:104px!important;height:50px!important}.clientes{padding:2.2rem 0!important}}

/* 1.9.328 · logos: se ocultan solo el instante que tarda el navegador en recortarlos */
.clientes.js-lg .clientes__lista img:not([data-lg]){opacity:0!important}
.clientes__lista img[data-lg]{transition:opacity .3s ease}

/* 1.9.329 · ajuste de tamaño por logo (--s) para los que traen mucho margen en su imagen; escala sin alterar la altura de la franja */
.clientes__lista li{overflow:visible}
.clientes__lista img{width:clamp(84px,9.4vw,150px)!important;height:clamp(40px,4.8vw,76px)!important;max-width:none!important;pointer-events:none;transform:scale(var(--s,1));transform-origin:center}
@media (max-width:700px){.clientes__lista img{width:104px!important;height:50px!important}}

/* 1.9.330 · «Fine Art en construcción» en el móvil: el titular cabe entero (antes «oscuro» se salía por la derecha) */
@media (max-width:781px){
  body.page-construccion .cta .cta__t{font-size:clamp(1.7rem,7.4vw,2.6rem)!important;line-height:1.04!important}
  body.page-construccion .cta .cta__l:nth-child(2){padding-left:1rem!important}
  body.page-construccion .cta .cta__l:nth-child(3){padding-left:.4rem!important}
  body.page-construccion .cta .cta__l{padding-right:.2em}
}

/* 1.9.331 · «Fine Art en construcción»: la cabecera fija ya no tapa la primera línea del titular (se quitó el hueco superior de la página) */
body.page-construccion .cta{padding-top:clamp(9rem,26vh,13rem)!important;align-items:flex-start}
@media (min-width:782px){body.page-construccion .cta{align-items:center}}

/* 1.9.332 · collage con vídeo: el clip se superpone a la foto al pasar el ratón; botón de reproducir en la esquina */
.clg__v{cursor:pointer;outline:0}
.clg__m{position:relative;display:block;overflow:hidden}
.clg__m img{display:block}
.clg__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;pointer-events:none}
.clg__v.is-play .clg__vid{opacity:1}
.clg__play{position:absolute;right:clamp(.7rem,1.4vw,1.2rem);bottom:clamp(.7rem,1.4vw,1.2rem);width:clamp(2.8rem,3.4vw,3.6rem);height:clamp(2.8rem,3.4vw,3.6rem);border-radius:50%;background:rgba(63,138,99,.94);opacity:0;transform:scale(.85);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.clg__play::after{content:"";position:absolute;left:50%;top:50%;margin:-.5rem 0 0 -.28rem;border-left:.9rem solid #fff;border-top:.55rem solid transparent;border-bottom:.55rem solid transparent}
.clg__v:hover .clg__play,.clg__v:focus-visible .clg__play{opacity:1;transform:none}
@media (hover:none){.clg__play{opacity:1;transform:none}}
.clg__v:focus-visible .clg__m{outline:2px solid #3f8a63;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.clg__vid{display:none}}

/* 1.9.333 · el clip (16:9) va centrado y entero sobre la foto oscurecida, con el mismo margen arriba y abajo */
.clg__vid{object-fit:contain!important;z-index:2;background:transparent}
.clg__m::before{content:"";position:absolute;inset:0;background:rgba(8,8,8,.9);opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:1}
.clg__v.is-play .clg__m::before{opacity:1}
.clg__play{z-index:3}

/* 1.9.334 · el vídeo 16:9 se centra en vertical de verdad (mismo margen arriba y abajo) y la foto se oscurece más */
html body .clg__v .clg__vid{position:absolute!important;left:0!important;right:auto!important;top:50%!important;bottom:auto!important;inset:auto!important;left:0!important;top:50%!important;width:100%!important;height:auto!important;aspect-ratio:16/9;max-height:100%;transform:translateY(-50%)!important;object-fit:contain!important;object-position:center center!important}
.clg__m::before{background:rgba(6,6,6,.95)}

/* 1.9.335 · el clip rellena el recuadro de la foto (se recortan los bordes del vídeo), sin franjas negras */
html body .clg__v .clg__vid{position:absolute!important;inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;max-height:none!important;transform:none!important;object-fit:cover!important;object-position:center center!important}
.clg__v.is-play .clg__m::before{opacity:0!important}

/* 1.9.339 · Blog editorial: cabecera grande, entrada destacada y rejilla escalonada de 2 columnas */
body:has(.blog) .site-main{max-width:none!important;padding:0!important;overflow-x:clip}
.blog{--bp:clamp(1.2rem,4vw,4.5rem);--bg:clamp(.8rem,1.6vw,1.6rem);padding:clamp(9rem,17vw,13rem) var(--bp) clamp(4rem,8vw,7rem)}
.blog a{color:inherit;text-decoration:none}
.blog__cab{margin-bottom:clamp(2.2rem,5vw,4.5rem)}
.blog__t{margin:0;font:400 clamp(2.4rem,6.4vw,6.4rem)/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.015em;text-transform:none;color:var(--text-color,#111)}
.blog__s{margin:1.1rem 0 0;font:400 clamp(.95rem,1.2vw,1.1rem)/1.5 'Inter',system-ui,sans-serif;color:#6f7572}
.blog__foto{display:block;overflow:hidden;background:#ececea}
.blog__foto img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.blog a:hover .blog__foto img{transform:scale(1.035)}
.blog__meta{display:flex;align-items:center;gap:.9em;margin:1.1rem 0 .55rem;font:500 .72rem/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6f7572}
.blog__tag{color:#1f1f1f}
.blog__tag--oferta{color:#fff;background:#3f8a63;padding:.45em .8em;letter-spacing:.14em}
.blog__h{margin:0 0 .6rem;font:400 clamp(1.5rem,2.4vw,2.3rem)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.005em;text-transform:none;color:var(--text-color,#111);transition:color .3s}
.blog a:hover .blog__h{color:#2a6347}
.blog__ex{display:block;max-width:42ch;font:400 .98rem/1.6 'Inter',system-ui,sans-serif;color:#4d524f}
.blog__dest{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--bg);align-items:end;margin-bottom:clamp(3.5rem,8vw,8rem)}
.blog__dest .blog__foto{grid-column:1/9;aspect-ratio:16/10}
.blog__dest .blog__txt{grid-column:9/13;display:block;padding-bottom:.4rem}
.blog__dest .blog__h{font-size:clamp(1.8rem,3.2vw,3.2rem)}
.blog__mas{display:inline-block;margin-top:1.4rem;font:600 .74rem/1 'Inter',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#2a6347}
.blog__rej{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--bg);row-gap:clamp(3rem,6vw,6rem);align-items:start}
.blog__it{display:block}
.blog__it .blog__foto{aspect-ratio:4/3}
.blog__it:nth-child(odd){grid-column:1/7}
.blog__it:nth-child(even){grid-column:8/13;margin-top:clamp(3rem,9vw,9rem)}
.blog__it:nth-child(even) .blog__foto{aspect-ratio:4/5}
.blog__pag{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,6vw,5.5rem);font:600 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.blog__pag a{color:#2a6347;border-bottom:1px solid currentColor;padding-bottom:.35rem}
.blog__pag a:last-child:only-child{margin-left:auto}
.blog__vacio{max-width:36ch;font:400 clamp(1.3rem,2.2vw,1.9rem)/1.3 'Playfair Display',Georgia,serif;color:#6f7572}
@media (max-width:781px){
 .blog__dest{display:block}
 .blog__dest .blog__foto{aspect-ratio:4/3}
 .blog__rej{display:block}
 .blog__it,.blog__it:nth-child(even){margin:0 0 clamp(2.6rem,9vw,3.6rem)!important}
 .blog__it:nth-child(even) .blog__foto{aspect-ratio:4/3}
}

/* 1.9.341 · pies del collage más compactos + rótulo sobre el clip (título arriba a la izquierda, etiquetas abajo), como en Audiovisual */
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption{margin:.75rem 0 0!important;max-width:30ch!important;font-size:clamp(.92rem,1vw,1.04rem)!important;line-height:1.38!important}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image figcaption strong{margin:0 0 .45rem!important;line-height:1.3!important}
html body .home-content #galeria ~ .wp-block-columns{row-gap:clamp(1.6rem,3vw,3rem)!important}
html body .home-content #galeria ~ .wp-block-columns > .wp-block-column > .wp-block-image{margin-bottom:0!important}
.clg__ov{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(.9rem,1.8vw,1.7rem);color:#fff;opacity:0;transition:opacity .45s ease;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0,rgba(0,0,0,0) 38%,rgba(0,0,0,0) 62%,rgba(0,0,0,.55) 100%)}
.clg__v.is-play .clg__ov{opacity:1}
.clg__ov b{display:block;font:600 clamp(1.5rem,3.2vw,3.2rem)/1.02 'Inter',system-ui,sans-serif;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.clg__ov em{display:block;margin-top:.45rem;font:400 clamp(.78rem,1vw,1rem)/1.3 'Inter',system-ui,sans-serif;font-style:normal;opacity:.92}
.clg__ov i{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;font-style:normal}
.clg__ov i span{padding:.55em 1.1em;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;font:600 clamp(.66rem,.8vw,.8rem)/1 'Inter',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.18)}
.clg__ov>b,.clg__ov>em{align-self:flex-start}
.clg__ov{align-items:flex-start}
.clg__play{z-index:4}

/* 1.9.342 · el rótulo del clip del collage usa el mismo tamaño y tipografía que las tarjetas de «Más vídeos» (Audiovisual) */
html body .clg__ov{padding:clamp(1.1rem,2vw,2rem)}
html body .clg__ov b{font:600 clamp(2.2rem,4.8vw,4.6rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif!important;letter-spacing:-.035em}
html body .clg__ov em{font:400 clamp(1rem,1.6vw,1.45rem)/1.3 'Inter',system-ui,sans-serif!important;margin-top:.45rem}
html body .clg__ov i{gap:.55rem}
html body .clg__ov i span{padding:.7rem 1.25rem;border-width:1.5px;font:500 clamp(.78rem,.95vw,.95rem)/1 'Bricolage Grotesque','Inter',system-ui,sans-serif;letter-spacing:.06em}
@media (max-width:700px){html body .clg__ov b{font-size:clamp(1.9rem,9vw,2.6rem)!important}}

/* 1.9.343 · «Menú» → tres rayas finas en toda la web (la inferior algo más corta); gesto suave al pasar el ratón */
html body .menu-toggle{display:inline-block!important;font-size:0!important;line-height:0;width:30px;height:20px;padding:0!important;margin-left:clamp(.6rem,1.4vw,1.4rem);position:relative;border:0!important;border-bottom:0!important;border-radius:0!important;cursor:pointer;
background:linear-gradient(#111,#111) 0 0/100% 1.5px no-repeat,linear-gradient(#111,#111) 0 50%/100% 1.5px no-repeat,linear-gradient(#111,#111) 0 100%/68% 1.5px no-repeat!important;transition:background-size .3s ease,opacity .25s}
html body .menu-toggle:hover,html body .menu-toggle[aria-expanded="true"]{border-bottom:0!important;background-size:100% 1.5px,100% 1.5px,100% 1.5px!important}
html body .menu-toggle:focus-visible{outline:2px solid #111;outline-offset:6px}
html body .menu-toggle .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:781px){html body .menu-toggle{margin-left:0}}

/* 1.9.344 · Entrada tipo reportaje ([reportaje_perdomo]): vídeo grande arriba, fotos repartidas y algo desordenadas, texto en columna estrecha */
body:has(.rp) .site-main{max-width:none!important;padding:0!important;overflow-x:clip}
body:has(.rp) .entry{max-width:none;padding:clamp(9rem,17vw,12rem) 0 0}
body:has(.rp) .entry-meta,body:has(.rp) .entry-title{padding:0 clamp(1.2rem,4vw,4.5rem);max-width:none}
body:has(.rp) .entry-meta{font:500 .74rem/1 'Inter',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6f7572;margin-bottom:1.2rem}
body:has(.rp) .entry-title{font:400 clamp(2.3rem,6vw,6rem)/1.03 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:0 0 clamp(2rem,4vw,3.5rem);max-width:18ch}
body:has(.rp) .entry-thumb{display:none}
body:has(.rp) .entry-content>.rp{max-width:none;margin:0}
.rp{--bp:clamp(1.2rem,4vw,4.5rem);--bg:clamp(.8rem,1.6vw,1.6rem);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--bg);row-gap:clamp(2.6rem,6vw,6rem);padding:0 var(--bp) clamp(4rem,8vw,8rem);font:400 clamp(1rem,1.1vw,1.12rem)/1.7 'Inter',system-ui,sans-serif;color:#222}
.rp>*{margin:0!important;max-width:none}
.rp__m{position:relative;display:block;overflow:hidden;background:#17171a}
.rp__m img{display:block;width:100%;height:100%;object-fit:cover}
.rp figcaption{margin-top:.7rem;font:400 .86rem/1.4 'Inter',system-ui,sans-serif;color:#6f7572}
.rp__aviso{position:absolute;inset:0;display:grid;place-items:center;font:600 .74rem/1 'Inter',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.rp__vw,.rp__video--vacio{grid-column:1/-1}
.rp__video{margin:0;cursor:pointer;outline:0}
.rp__video .rp__m{aspect-ratio:16/9}
.rp__video--vacio{cursor:default}
.rp__video .clg__play{opacity:1;transform:none;width:clamp(3.6rem,5vw,5.2rem);height:clamp(3.6rem,5vw,5.2rem);right:50%;bottom:50%;margin:0 -2.5rem -2.5rem 0}
.rp__video .clg__play::after{margin:-.8rem 0 0 -.4rem;border-left-width:1.3rem;border-top-width:.8rem;border-bottom-width:.8rem}
.rp p{grid-column:5/12;max-width:62ch}
.rp p:nth-of-type(even){grid-column:3/10}
.rp p:first-of-type{font-size:clamp(1.2rem,1.9vw,1.7rem);line-height:1.45;grid-column:3/11;font-family:'Playfair Display',Georgia,serif;color:#111}
.rp p em,.rp p i{color:#6f7572}
.rp__f{margin:0}
.rp__f--a{grid-column:1/6}.rp__f--a .rp__m{aspect-ratio:4/5}
.rp__f--b{grid-column:7/13;margin-top:clamp(2rem,8vw,8rem)!important}.rp__f--b .rp__m{aspect-ratio:3/2}
.rp__f--c{grid-column:2/12}.rp__f--c .rp__m{aspect-ratio:16/9}
.rp__f--d{grid-column:8/12}.rp__f--d .rp__m{aspect-ratio:1/1}
.rp__f--vacia .rp__m{background:#e4e4e1}
.rp__f--vacia .rp__aviso{color:#8a8f8c}
.rp__eq{grid-column:3/12;border-top:1px solid rgba(0,0,0,.18);padding-top:clamp(1.4rem,3vw,2.4rem)}
.rp__eq h2{margin:0 0 1.4rem;font:400 clamp(1.5rem,2.4vw,2.3rem)/1.1 'Playfair Display',Georgia,serif}
.rp__eq ul{list-style:none;margin:0;padding:0;columns:2;column-gap:var(--bg)}
.rp__eq li{break-inside:avoid;padding:.55rem 0;border-bottom:1px solid rgba(0,0,0,.08)}
.rp__eq b{display:block;font-weight:500}
.rp__eq span{display:block;font-size:.88rem;color:#6f7572}
@media (max-width:781px){
 .rp{display:block}
 .rp>*{margin:0 0 clamp(2rem,8vw,3rem)!important}
 .rp p,.rp p:nth-of-type(even),.rp p:first-of-type{max-width:none}
 .rp__f--a,.rp__f--d{width:84%}
 .rp__f--b{width:92%;margin-left:auto!important}
 .rp__f--c{width:100%}
 .rp__eq ul{columns:1}
}

/* 1.9.347 · en el blog (y archivos/búsqueda) el pie negro ocupa todo el ancho de la pantalla y se pega al contenido */
html body:has(.blog) .site-footer{width:100vw!important;max-width:none!important;margin:0 0 0 calc(50% - 50vw)!important;box-sizing:border-box;border-radius:0!important;border-top:1px solid rgba(242,242,242,.14)}
html body:has(.blog){overflow-x:clip}
body:has(.blog) .blog{padding-bottom:clamp(3rem,6vw,5rem)}

/* 1.9.349 · blog: fondo blanco en toda la página (sin barras negras a los lados ni franja negra); el pie sigue a todo el ancho */
html body:has(.blog){background:var(--bg-color,#fff)}

/* 1.9.350 · blog: el negro del pie se prolonga hacia abajo (sombra negra del mismo ancho), así no puede quedar franja blanca bajo él, sin tocar los lados */
html body:has(.blog) .site-footer{position:relative;z-index:2;box-shadow:0 160px 0 0 #000;margin-bottom:0!important}

/* 1.9.351 · Blog: cabecera animada al estilo de Audiovisual («Novedades desde el Estudio») */
body:has(.bhero) .site-main{max-width:none!important;padding:0!important}
.bhero{position:relative;width:100%;box-sizing:border-box;min-height:calc(100svh - 18vh);padding:calc(var(--header-h,6rem) + clamp(2rem,6vh,4rem)) clamp(1.2rem,4vw,4.5rem) clamp(2.5rem,6vh,4rem);background:transparent;color:#111;display:flex;flex-direction:column;justify-content:flex-start}
html body .bhero .bhero__t{margin:0 0 clamp(1.4rem,4vh,2.6rem)!important;padding:0!important;color:#111!important;font:700 min(12.2vw,16vh)/.92 'Inter',system-ui,sans-serif!important;letter-spacing:-.045em!important;text-transform:uppercase!important;max-width:none!important}
.bhero__l{display:block;overflow:hidden;padding-top:.26em;margin-top:-.26em;padding-bottom:.06em}
.bhero__l>span{display:block;width:max-content;transform:translateX(-104%);transition:transform 1.7s cubic-bezier(.22,.7,.2,1)}
.bhero__l:nth-child(2)>span{transition-delay:.5s}
.bhero__l--em>span{transform:translateY(160%);transition-delay:1s;transition-duration:1.5s}
.bhero.is-in .bhero__l>span{transform:none}
html body .bhero .bhero__t em{font-family:'Playfair Display',Georgia,serif!important;font-style:normal!important;font-weight:500!important;color:var(--vids-acento,#2a6347)!important;letter-spacing:-.02em!important}
.bhero__p{margin:0;max-width:36rem;overflow:hidden;padding-bottom:.35em;font:400 clamp(1rem,1.5vw,1.3rem)/1.45 'Inter',system-ui,sans-serif;color:#222}
.bhero__pin{display:block;transform:translateY(-115%);transition:transform 1.4s cubic-bezier(.22,.7,.2,1) .9s}
.bhero.is-in .bhero__pin{transform:none}
.bhero__p mark{background:none;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;font-size:1.1em;color:var(--vids-acento,#2a6347);filter:blur(6px);opacity:.3;transition:filter 1s cubic-bezier(.22,.7,.2,1) 1.9s,opacity 1s ease 1.9s}
.bhero.is-in .bhero__p mark{filter:blur(0);opacity:1}
.bhero__flecha{position:absolute;left:50%;margin-left:-.65rem;bottom:clamp(1.6rem,4vh,2.6rem);width:1.3rem;height:1.3rem;padding:0;background:none;border:0;border-right:2px solid #111;border-bottom:2px solid #111;transform:rotate(45deg);cursor:pointer;animation:vidsFlecha 1.8s ease-in-out infinite;outline-offset:10px}
.bhero__flecha::before{content:"";position:absolute;inset:-1.4rem}
.blog--hero{padding-top:clamp(2.5rem,6vw,5rem)}
@media (prefers-reduced-motion:reduce){.bhero__l>span,.bhero__l--em>span,.bhero__pin{transform:none;transition:none}.bhero__p mark{filter:none;opacity:1;transition:none}.bhero__flecha{animation:none}}

/* 1.9.354 · fotos del anillo que enlazan a su entrada (solo con el anillo formado) */
a.anillo__foto{text-decoration:none;color:inherit}
.anillo__card--enl .anillo__foto{pointer-events:none;transition:transform .35s cubic-bezier(.22,.7,.2,1),box-shadow .35s ease}
.anillo.is-clic .anillo__card--enl .anillo__foto{pointer-events:auto;cursor:pointer}
.anillo.is-clic .anillo__card--enl .anillo__foto:hover,.anillo.is-clic .anillo__card--enl .anillo__foto:focus-visible{transform:translateY(-.5rem) scale(1.05);box-shadow:0 .9rem 2rem rgba(0,0,0,.22)}

/* 1.9.355 · selector de idioma (CA | ES) y textos en catalán */
.lang-sw{display:inline-flex;align-items:center;gap:.5em;font:500 .78rem/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.lang-sw a{color:inherit;text-decoration:none;opacity:.55;padding:.4em .1em;transition:opacity .25s}
.lang-sw a:hover,.lang-sw a.is-cur,.lang-sw a[aria-current="true"]{opacity:1}
.lang-sw a.is-cur{border-bottom:1px solid currentColor}
.lang-sw__sep{opacity:.35}
.lang-sw--top{margin-right:clamp(.8rem,1.6vw,1.6rem)}
.lang-sw--drawer{margin:1.6rem 0 0;display:flex}
@media (max-width:700px){.lang-sw--top{display:none}}
html[lang^="ca"] .contact-layout::before{content:"Informació"}
