/* =========================================================
   PORTADA · acceso a los trabajos reales
   Cuatro fotos pequeñas + una frase, debajo de los botones.
   Al pulsar baja a la sección "Trabajos".
   Las fotos son images/mini-trabajo-1..4.webp (cámbialas por otras
   cuadradas de 160x160 si quieres, mismo nombre).
   ========================================================= */

.hero .hero-works {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 18px;
    margin-top: 34px;
    text-decoration: none;
    color: #12304a;
    border-radius: 14px;
}

.hero-works-fotos {
    display: flex;
    gap: 8px;
}

.hero-works-fotos img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 13px;
    box-shadow: 0 6px 18px rgba(18, 48, 74, 0.2);
    transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease;
}

.hero-works-texto {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.hero-works-texto strong {
    font-size: 15px;
    font-weight: 700;
    color: #12304a;
}

.hero-works-texto em {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
    color: #206e95;
}

.hero-works-texto svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}

/* al pasar el ratón: las fotos se levantan una tras otra y la flecha baja */
.hero-works:hover .hero-works-fotos img,
.hero-works:focus-visible .hero-works-fotos img {
    transform: translateY(-4px);
    box-shadow: 0 10px 22px rgba(18, 48, 74, 0.24);
}
.hero-works:hover .hero-works-fotos img:nth-child(2) { transition-delay: 0.04s; }
.hero-works:hover .hero-works-fotos img:nth-child(3) { transition-delay: 0.08s; }
.hero-works:hover .hero-works-fotos img:nth-child(4) { transition-delay: 0.12s; }
.hero-works:hover .hero-works-texto svg,
.hero-works:focus-visible .hero-works-texto svg {
    transform: translateY(3px);
}

.hero-works:focus-visible {
    outline: 2px solid #206e95;
    outline-offset: 6px;
}

/* móvil: fotos algo más pequeñas y el texto debajo si no cabe */
@media (max-width: 600px) {
    .hero .hero-works { margin-top: 28px; }
    .hero-works-fotos { gap: 6px; }
    .hero-works-fotos img { width: 48px; height: 48px; border-radius: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-works-fotos img,
    .hero-works-texto svg { transition: none; }
    .hero-works:hover .hero-works-fotos img,
    .hero-works:hover .hero-works-texto svg { transform: none; }
}


/* =========================================================
   AJUSTES DE LA PORTADA
   · Logo un poco más pequeño.
   · Más hueco entre el logo y el texto de debajo (el texto baja un poco).
   · Botones "Pide presupuesto" y "WhatsApp" un poco más pequeños.
   · Sin la frase "Instalación, mantenimiento…" bajo el título (quitada del index.html).
   Para volver a como estaba: borra este bloque.
   ========================================================= */

@media (min-width: 901px) {
    .hero .logo { width: 246px; }
    .hero .hero-main { margin-top: -100px; }
}

@media (min-width: 601px) and (max-width: 900px) {
    .hero .logo { width: 198px; }
}

@media (max-width: 600px) {
    .hero .logo { width: 188px; }
}

/* Botones de la portada, un pelín más pequeños (antes: padding 15px 28px y letra de 15px) */
/* Más aire entre el título y los botones (el margen del título es 24px; este valor manda si es mayor) */
.hero .hero-buttons { margin-top: 42px; }
@media (max-width: 600px) { .hero .hero-buttons { margin-top: 32px; } }
.hero .button { padding: 13px 24px; font-size: 14px; gap: 10px; }


/* =========================================================
   VERSIÓN MÓVIL (portada y servicios)
   · Sin la foto del instalador debajo de "Trabajos reales".
   · Sin el logo (ni el hueco enorme) antes de las tarjetas de servicios.
   · Tarjetas de servicios en formato compacto: icono + título + frase + flecha.
   · Sin el azul que se quedaba pegado al tocar una tarjeta.
   Para volver a como estaba: borra este bloque.
   ========================================================= */

@media (max-width: 900px) {

    /* Foto del instalador: ya no se muestra en móvil ni tablet */
    .hero .hero-image { display: none !important; }

    /* Antes de los servicios: fuera el logo y el hueco */
    img.services-logo,
    #servicios > .section-intro:has(.services-logo) img.services-logo {
        display: none !important;
    }

    #servicios > .section-intro,
    #servicios > .section-intro:has(.services-logo) {
        margin-bottom: 26px;
    }

    /* El texto de la introducción tenía una altura fija de 650px en móvil
       (era el hueco enorme); ahora mide lo que mide su contenido */
    #servicios > .section-intro:has(.services-logo) .section-intro-text,
    #servicios .section-intro-text {
        flex: 0 0 auto;
    }

    #servicios { padding-top: 56px; }

    /* El título y la frase se acomodan solos al ancho del móvil */
    #servicios .section-intro-text h2 br { display: none; }
    #servicios .section-intro-text p { text-wrap: pretty; }

    /* La frase de debajo del título llevaba un salto de línea que en móvil
       dejaba una línea cortada a media frase */
    #servicios .section-intro-text p br { display: none; }

    /* Tarjetas de servicios en formato compacto */
    .services-grid { gap: 10px; }

    .services-grid .service-card {
        display: grid;
        grid-template-columns: 46px 1fr 20px;
        grid-template-areas:
            "icono titulo flecha"
            "icono texto  flecha";
        align-items: center;
        column-gap: 14px;
        row-gap: 2px;
        min-height: 0;
        padding: 15px 16px;
        border-radius: 14px;
        -webkit-tap-highlight-color: transparent;
    }

    .services-grid .service-card::before,
    .services-grid .service-card::after { display: none; }

    .services-grid .service-card .service-number { display: none; }

    .services-grid .service-card h3 {
        grid-area: titulo;
        margin: 0;
        font-size: 17px;
        line-height: 1.25;
    }

    .services-grid .service-card p {
        grid-area: texto;
        margin: 0;
        font-size: 12.5px;
        line-height: 1.45;
    }

    .services-grid .service-card .service-icon {
        grid-area: icono;
        position: static;
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    /* "Conoce el servicio →" pasa a ser solo la flecha */
    .services-grid .service-card .service-link {
        grid-area: flecha;
        justify-self: end;
        margin: 0;
        padding: 0;
        font-size: 0;
    }

    .services-grid .service-card .service-link span {
        font-size: 20px;
        line-height: 1;
    }
}

/* En pantallas táctiles no hay "pasar el ratón": al tocar una tarjeta no se
   queda en azul ni se levanta; solo se oscurece un poco mientras se pulsa. */
@media (hover: none) {
    .services-grid .service-card:hover {
        transform: none;
        background-color: #f3f8fa;
        border-color: #e2edf1;
        box-shadow: 0 4px 14px rgba(13, 56, 88, 0.04);
    }

    .services-grid .service-card:hover .service-icon {
        transform: none;
        background-color: #e1f0f8;
    }

    .services-grid .service-card:hover .service-link span { transform: none; }

    .services-grid .service-card:active {
        background-color: #e8f2f6;
    }
}


/* =========================================================
   MENÚ EN MÓVIL: "SERVICIOS" ABRE LA LISTA CON LOS 4 SERVICIOS
   Al tocar "Servicios" se despliegan debajo los 4 servicios (en lugar de
   saltar a la sección de la portada); al volver a tocarlo se pliegan.
   Va junto con el cambio de script.js. Para volver a como estaba:
   borra este bloque y pon el script.js anterior.
   ========================================================= */

/* Lista abierta (también en tablets táctiles, donde no hay "pasar el ratón") */
.menu .dropdown.open .dropdown-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.menu .dropdown.open .dropdown-menu a {
    opacity: 1;
    transform: translateY(0);
}

.menu .dropdown .dropdown-arrow {
    transition: transform 0.25s ease;
}

.menu .dropdown.open .dropdown-arrow {
    transform: rotate(180deg);
}

@media (max-width: 600px) {
    :is(.hero, .site-header) .menu .dropdown {
        width: 100%;
    }

    /* En móvil la lista no flota: se despliega dentro del propio menú */
    :is(.hero, .site-header) .menu .dropdown .dropdown-menu {
        position: static;
        display: none;
        visibility: visible;
        opacity: 1;
        transform: none;
        pointer-events: auto;
        min-width: 0;
        margin: 0 0 6px 4px;
        padding: 2px 0 2px 14px;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        border-left: 2px solid #d7ebfa;
    }

    :is(.hero, .site-header) .menu .dropdown.open .dropdown-menu {
        display: block;
    }

    :is(.hero, .site-header) .menu .dropdown .dropdown-menu a {
        opacity: 1;
        transform: none;
        transition-delay: 0s;
        padding: 10px 6px;
        font-size: 14px;
        color: #206e95;
        white-space: normal;
    }
}


/* =========================================================
   CASITA: EL BOCADILLO SIEMPRE POR ENCIMA DEL TEXTO
   El texto "Pulsa los puntos de la casa…" quedaba por encima de la casa y se
   colaba por detrás del bocadillo al pulsar un "+". Ahora, mientras hay un
   bocadillo abierto, la casa pasa por delante del texto.
   ========================================================= */

.house-section .house-services:has(.house-point:hover),
.house-section .house-services:has(.house-point:focus-within) {
    z-index: 5;
}

/* En móvil, los bocadillos de los puntos de los extremos (climatización a la
   izquierda y cargador a la derecha) se salían un poco de la pantalla:
   ahora se alinean con su punto hacia el lado de dentro. */
@media (max-width: 600px) {
    .house-services .point-climatizacion .house-tooltip {
        left: -6px;
        transform: none;
    }

    .house-services .point-cargador .house-tooltip {
        left: auto;
        right: -6px;
        transform: none;
    }
}


/* =========================================================
   PORTADA EN MÓVIL: logo más pequeño y menos hueco abajo
   Para volver a como estaba: borra este bloque.
   ========================================================= */

@media (max-width: 600px) {
    .hero .logo { width: 150px; }
    .hero .hero-main { padding-bottom: 40px; }
}

/* En móvil y tablet la portada no muestra "Trabajos reales en Navarra" */
@media (max-width: 900px) {
    .hero .hero-works { display: none; }
}


/* =========================================================
   "CÓMO TRABAJAMOS" EN MÓVIL: EL INSTALADOR SE DESCUELGA POR LOS NÚMEROS
   Una cuerda cuelga junto a los 4 números y el instalador (de espaldas)
   baja por ella: se para sobre cada número, que se enciende y deja ver su
   texto, y sigue bajando hasta el 04. Solo móvil (ordenador y tablet no
   cambian). script.js calcula la altura de cada número (--y1 ... --y4).
   El dibujo va incluido en este archivo (no necesita nada más). Para volver a como estaba:
   borra este bloque.
   ========================================================= */

@media (max-width: 600px) {

    /* sitio arriba para el instalador y su anclaje */
    .process-steps {
        padding-top: 88px;
        /* el dibujo del instalador va dentro de este archivo (así no depende de que
           images/instalador-cuerda.webp esté subido) */
        --instalador-img: url("data:image/webp;base64,UklGRgYzAABXRUJQVlA4WAoAAAAQAAAAyQAAJAEAQUxQSNcZAAABDAdtI0lSzB/2fL13BCJiAvpZRixNwBA1Vew8WYf6IqoM7ftZlf3bZa8+qA80t5+gcvxC5dj2Ap0tXcl25vgUDkcUbawvbbW31rLldMQuuOuLaz3ioEG7Qebqi/wB/ab3/79VW+n/b/wDdDcIBhYIL8WXYnd7RLC7i5eC3Z0v7JYSfb2wFbtF7E5KTOJQRzhnx1pzjjHmfF7Y++w912Kt7dWImAC72bartrX8RRDRAG2QeQOEpBYREdGCSwtcpC6RRu7uELmcc+YY3/u8cwQ+xvzJI2ICKJcPkKiAE+kf4R42LuK0fwY7xaaE8/4ZbFq0ZUz+J9Bt7GWGY1z1D+CKPxii4pbeO7bRmw7PrOoU0Ie6NnT7o2xVRVUlZvywWSP3yP1StKWr/PKNDdwL5eoBV/lsA/dQwx3yvX/jdgQJYdutMrdx2zWHcBcI3bthu6G8GrFJmN6obHRLp6Tuvq8hCL+4U0Oxyz7tjP0J1yd1XnkZGhLbHRuJSeajah+6nFf0rtj5sGCDl4hVbQfA4KT863llhyq7fAT+rQe99tpbv17i1eX2IKLBi9sGhaLrEYtobbfk3ujvoiFENPxxi5Jb0m2rD377LleOhCaiCb953BNsImJR0RoNns6749aD9yK6pg1i2P/5VlxKTiEhB4+bBxj/e8dQu0TMWjPj3Zy7HBph9xFfw1lVFcDlLACbvwAR9XZkKHrRm3q+yLezEMdafrgFsbhKZaHrIOycU79XsAvRjt36Idd2ZROzMJwVrVLZsJ26SsVhNGlymC0LsO24MT/Pui52EbMoi4oLrthx4+I7YehEA1HFHbdqixy7CWUW0VzGXT5lIZYODEM7fOq4mkEZS4bl0zCiwWvFSjXvjCPYaOtAdD5MO0bV4KVcamrZm26BERG8GVXDsm2oSbVYVSQelUdTsGiz77xVVe8TFrNNqPNhVANqMC6PHnD8+RovLoWoim/ZOAGBnmhpmzy6BAWvqilhLO4UanIdynpSHm1nrBWXSlQt3qbQlyIWdZwTiyVdcohmwWg6rGpwQwKRxIBTi4vyZ6er5jk67BO/W7BLUDahASd+ac+cGfiyBaAHmyy+oeAXomxSMOAYl+ZLr+8hLO5rF4vuE+4ClEwKMaD+tx658jSsq3mb6IUU/gwUTQpGnMXEPDkZhTan7YDZlPEMJXhqAPYLOuXIw9ft9xO4HdvgrZHMya4YX3nMWZybI13pKLDWspmM+5I4xRWjKzTGfn6H/KCO34Xx3odAgcOTOA3F+MoTjjE+Rw4Eq0sPumMS56IQXyHPvJ4j98C4MF5z25FJTEYhSsGEc3ZMfrwUaLVus1USl6AQX3MW9+THB96miNsMSeICFOM0J/6v7rnxCdJk/FnJlEzSlGMcmxvzX/8OkiLBRQnl8ILnc+POYfPSZFazZUKaU7+yX14QvQFODxrj5nCTULIh5hjj8uM2GOUc6+eGOx8lmxc4xoP5sZ9nhWMYS7sHmxhKMD8/Ov7sGXGK+DV9g52FklnilHfJDboARgchgTNQsjlgzuKq/Og536WTfu+aQNmmrAWMt/KDHsAlOMT6eRT8TJRNyhJTgt+65saA31w+J8IV4c5CqYI5dWa73NjDGUniBDMWdAt3NsrmerXCMSbkxv7OsIimAv/+phT+XJT5X7+5tcDistzYwbIVVdXkKCu6U4KTUNa/f3PRrNzo3+wsV2hiUV6jJC9GLOnfsIAxNzfoWUQsFcqmfP83kcsRC/eib/NjZ4ltO7AlyuGJTEasCDwv+Ck/6GaUjChbBe3g/tuARG6H0XrJtzlC0wFVwAJiCWBH+QwleUEsol7LeCNP6MzvLX55CxlYhuW3JNB/FpyoW2xxe64QjRzbm2bAqEoAmhbvUuCOR058/59LlpeL2z1nqk6FVdEAUhVmOzZMx1MXAKVkvJzxGeXyTFhVrYeaY9xIIcdcuwCwJssbBRPyid6DDWTxFNXde9yj8y1gWRVvZLxFOT2mpKK6gHUa1TnstOeXA1DLqio7VMvb5hX9CK5LIK64SU0Dj3lhHeCtZVFVFfVGgxspt1+GrQsQxhHt9N510pyVgDOGRauKuo2MTym/b4FRZcy2GtzbbcTmB14547s1DoC1Itq+S1KkbescOx5GAhj/+w/XVWpygOl7r8VZlOP7qhWFKfsuJq4UgeuON1s8Tnk+piSieCEhSeDuEYxPOuTaZi2Ow5h270TxzRtTro9a70TW2JUPFuG9Kc8Pe3axiIiPBdYp43TK727HfQhAVN3BG9TiEsrtbab8DrARVZeFanEd5fWuz8SAsaIuG9ViCuXzkImfeKhhVc0IZdxFedz5mBdaADZa1WWiWtxCOTzmpkWAi41ohojgBsrdra//IgKMZdVqLhNV3OWUt6NnFgGOrVa6DBV/KeVs13vK0NiKiqjLVGW/a86MnQ8xoqoqLlvV+uJW+fLeVK4QVTOGnRlHufqBoiQql7WC+DDK1aaSA8BZCyLrx1GubtuiAOQTOYja4AHK1cF/IAN47921zVn35MsbMAA+pD4DiOqhXDkaRsG771mzDcjlVozH8qTbEseKT7vNHgG5/PyfjjA9T26AUfUwy2x74PZWoWIwd+QyX8K0HNnob2WpjUW2sXHPWwViMKfzgFVaxGM58hisq5V6WbvlrYAsphIN+dMVMC0//hWr1kItDvBWgOSnElHPJb6AJ/LjIVhXI93n6cKZ1JG6zUcbnsqNfqu9BIEN9sB9L4sLF1IH6vQN2vBCbpwHdkE23/d971Krw+dow5zc+MJvKHfDe4g6fYU2vJoX+xBe4c33oFcPdPkKBbyVF0+XNGbA2+9Bb+DCxUTU+VMUMDcnNmmzJo4cMBt04TIiondRwOc5MRmJx9jraFxd8QJK+C4nPkZ+hlvLWzdXPImSX9ghF7Y1qgdwe5cbd1RMRdn91jUXboDhATbY7BEX7ql4DGW3rGcedF7s+RkHogv3VzyEsq7omwenwYq6zHq44j6UtLl/HrwPqy67plXchZKsGpADW5SchOF14nGijnQ9irJ6YA78B0ZdGF4fnqYORI/6sm0blQOvgl1YPY/qVaKtXzOxMbzksswb0uI1DMDrQMJHHZtWIzLGGsHbXTNuEqwLx7NofNe0QIrlyBgTteH/GbfVYqfhxMMUGQumlQpl0bJ1xpTcLtlGl8ImIDxOV/wUr3fzf+bS9eeggLsz7vlAKiqqAjyJCFssls2SMSMOHUX0k3MfZFufVZAwqsrTW4seZFDYOCrjPqo6G2Zht0wbD3YhVZT90iE/lYBHybKNcEm1R1D+a1CmzYIJZXAX3VbSk4wQ5gg3VJuC0ophWdZvtdcQUmVt2YRGvLD8ZKTMBnOq3Yziqs2y7CRYFxLVGNOJ6CslP8qosMXPHatcj7bVW2bZbJgQoDa2OxPRe56nwq5l4ypXoW3N1hnW4y/PYRiYS0Q0eK2XDcoV1o2rMglt60Zn2CHeagBVwbdzD62gJ2E2NJUYt1Y5FW2FHTLsbpgg4lo2pep7q+gG5VTV4vUqR/lC2/YZ9g04hLO4g9r/CJwK1jlR4WjGkVsTXYPC2i2ya7RRdQHVrR5YwxmwaQDWqSoLSguPOGB1LJ9Tdt8MdiEZt1KNvZd62eCETcwr10kBk7Nr0FqVEOpW9auF7oZNDOOdFcLGlIv4sXN23QITxOJGqnmMdZqUD2DhqMDNO1Jmd1nqgzkV19ynNvoI7IA9m0ESMfH6Eyi7x4GZU7WYRHVOgtWHqWa7/tdZgzJrJswCsfiK6t204OVpoMqxieIfRmdU16VgPMf+4LroFdhH0S21rFu2+s9R2bSvF1lg8S7Vf4BjPUqVsBQXLv9zzYLemXQTjC5gPyEAzUUCngOSqLN+2d0/LuNZmfQebADxK3uFOExCTxIK81eLRph26toVbTtlUN9VXgIwPqGQIwuMwWGgbN+ftcKawklPWfefDDpArainLR4JchjSDByX/vq1H+VUvnnyfZeeu3uvzLkJRoOcEORAn2NMZxlFTtfL/14R/P7SbR+Wl3z19tMP3zQkQ16HVTeLXHmrICNameMsRU4phxQAOBYPAAuGZMdPYFcvBH6moCPXKTTjo5AiRyVrjDVxHEVRCa9nxpB1Xuoy2U8P02fVnM+WFBEhgagIW2uZxeDGTTJirBMNEDghSJ9HijkkegbOAqEmVaWqMtZ/cMXOWXAIOMTdMjBEj68R5whGzgchwIiI1sgeMD/dv3/HDe102PpI5TkKORVlm3KDpxhA2HZau9jYAlh0957PuhImgMX4EJuv9U+8fF9ZFZxD3TOAbeO6IQBFvlIp5efbttuA/gtbn/hfOoU4zsqEB8vLHLLtXVBBj16XVpO2FDkFYN8Zv8HMDGFxHYU82/Hhd5QXWbAPoQYYIzUYEnNIIDYCfH3yBvIyTF3q2oYGOVkw/uzyIgXAJrpC2EY02mADAwwAdirWAl/sv0G8C+vqZcykoAdHOOXg+8UVot5it2hQDyDaLcbdVjbAXRvC3PpUzegwW7fg0u2vl1fECe6A7Zl+g2EPqlqLGRvAJ+B6GK9S2M4/48Wm/726InSCt6jygDrQc04lxlXp+7Q+wSGBaIZv/fPFlULLGGHMxmO1R0ZHnDKbf6fuS0gdjC8odBOiOI4NcxVWAB3bY8Oo8ohXqcWHqfuiLsHhwei2QqkcGxNbFoA1TIkhbBsNuaEOY2pxbNo+q0fwHYXv+ZuU4xiAYx3DWJPmgMG2Kw9X+TJtH9fDmJjAyJKJyvrjg2+3cJYqWozAjBdiGzo2bnheRXS3lH1Qh/o1/RM4zpeiKN6T6OBCDmHUgDH39wxSe62qwd0pe6sOi5mU4HQUy/zXIKJevymDLdlGGtCQx8CskoAlThnzO5z1AmxN6vZK4iuUy/Jrf6LO3ziLuqptAIFneza9SWqJJU5VdzlrVm3Cj5Rg/+VcLslfg4now5IRoEoDXo+NV9Ncompwx1l31ZZxQxI7lMtROVq9KRHNLUmAhG0a3uMN4JXUooyfO6TqWpgasBmRRBNHC5+MSicS0QeVAWzU0abV4JV0RXXnVJ0Ho+2Qy4uU5PlR/Mb2K6PFp+58wGfOYINt03omm9TimlTdUMe7idxbLM+h9yRqXda86gq5D34saNu8NO0XidRA4IAkZreZ2TQLJatsckDPp7AGARvElzZJ0cswWoOyPymJN0r8JD2EkjGxregAj8Cmv04tTknRp97WFNgvgc5fFt10ugBlYy3HE6aH3KW2GTV4OkWvoRbH/UevBLr9UPAP0M6RsVz5LBizTYVaHmG/snd6roGpJZcbKcFeC9swhfr/5g0LSwBPAmxXrkaaAwJgHJSeTdZ6qQH+3D2BPksKuIPoPRgRjoe5wmyRGga3p2dQS00WWv+dzO1E0ypEAO7is5mtxQ2oFC3G5+lpAmstNvi1V7Aei0q4h2gy4vr20wAq5p1TrWYDdkWIWtSOSs1VMKpag8Z4NFiH7yJMI9pfLTOfwuCY1MnXZYy1VkQ7NjYgaoEYXJuaZ2DrEClvHoreUX2NaOByZ5hDR9CWEO1KdFW6TmSgTdNGGYs6peWbutTismAzYH7oQPQqipYVU9hUAB2hHDnlkBigUhXl+x/+xO1T7r5napvnqVFlNKWkyxJwTagy3gt2KcqFEUTj4WIbAhjDNt0KgW6XUiICsHFNVxHvfK09SZJwBk+kZKMWL+1opQhr66ahDvJFTCaiiUsK1rKoqrYHZrxS1cLCP3//8reSqdZFCFWLd6j9x5E3sG/uk44RVkVdVVVlZpYYJ4fqu0L8F0RE268W0w4NAQINoKLK+KnfoH6d+52sVsbaMR6o4aJE1OLUdGzvxbWrqoC1HGF6KJqNEs4movN8ObJVtKIWCwULqfJAmJroGpxTw35ee+alYwcv2h7j/xchtrH7tWOovV2ZC6cOO2NtXPJc11LG21VORBxCLParYeM1N+tExO2Rin9xTX4PegclG2lTKJqDgmIdTJt7dqVKcgaPVbkEURAtjqyBPi9apapq8VwqhpedaDXxbVvRVmt9sYBjgg3+HaWyKRYwl+5FJCK6l/F5lbsR8wr80b2WR0vsUFfa/IRuS8Gq7awbTrTXamB+12A0fB4qX+xFvT6CYRE1vEiwdmjFVESsOYuPqNZTNxlcfwLNhVXVCnXRKCLaaNLVwyjJ8VNfevhwIqIuH3pTzbYXKY+tmFaFBqhl8FBNI16YRa6CseiIu6qoc6oWx1Cqd1Fbm200Y3FExUPVaFUVtZhYE30NCWWAKOPS0AQWrW7xXrroc28EPD6hMa6uuAFllqhVTUTF7VbbFNhEUnk6Dd2XeW5HLS5N19mI6/OEwZMV+/jIhlS1RcS6ZT1q20NFk4h7dd8U0F0w7bF1TanqtdxZTXnM4pMK+gTFHBIgFhZmNjEuoDq/hw1EMzAhDYP/VltFRGJ8kSq6HfECA3ZLsKxHxZgWvHiVcs4hZhvHRoB7qN5rYDWJ5KemgU6AsVLJYmVZr1QNL4i8Etuuii9uUkG7fFuaEWwB4O95x1Ldw9Y70RCgKrAgFXQ5NGKOjTUGcyndLyGtc6qq4navQp3e/enPf+s7P3gVMc+fdc3hm1DIqbCBQCBntk0FnbAOooCgNGerlB3s8pKuqlocV636m/6lEk6m0NtEIiFM2+KkdNCWL65Z/fQ3y389mo7/1EsyBpfWtnGrlHFsMHoSJpANGFyfEqKhQ4gGdKH0nwJO6p461nGEceFGRSK6wBjA4tHUbLBdlnhJxOK5OlpsSfYLRzNggpj/E3QNOKFPattklSnx/glsVZAEGF9m3qA1XpNgLK5t8zWmJAcnQA/ArFPG8bX02WzTntlDD8Am4loG1bTFalPUw5PYaI2ywg2LL9rZ8Z7Plhda/3r7xMwZEalqOGHeoabNVpqSPyYJug2xxJUyjqzY/QUG4ByAJ7KGnoRR1WUGE2oa3mxK/rhEhqwz6yzeJ+o1TSGWRUXY4OKsGVkWCceFybWtiIt6RCL0AGwQV5S/v+HNvyrKgGvRNQMzhh5GrMq6u+owRTcumeFF1WC+X37uZbkEuM2YnTUbrxcOYyBjdm0rTdE1JUOPwAYxEqIoU3fEYnzG0AOIZY2rD2vafHUKNis4UQ3RzKJ2Vy3eyZrNy8JiiR2YX9OWa+OCOywhmgqjEkpiRlzL4IyhR2BYJTR3qGXrv+OiG5fUmLKKaH02gx5hv13WTIBBsMTizqhl5Pqo4A5KihaAVXSBOx7NpIsQi3qFavTvGka1lQtuv6S6LIFVDeKGJ3zLoKx5CFG1yhnH+KGGMeVSUfdMqusf3orKkoVq/TzK2md8nIAzOK+9naJiye6WFL2BWFQ5w+CizLkfxSTELe3ezr62UDK7JjY25gpgn7iV/TJnxN8w1dxSi6vaOUQLpeIuidEsxNXYpRanUfbu/hc4AXFLu1cb7wulwo7JbR+xpEBFLV6gLB76m+NwjnFxtQkoRm3bJUcfOCPbUGVZt2km0fuwCYj/pUM7pbh1dAouQmRC2gKqMc6nbP4MnIATNLVTjFtHpaD7m4I7QmIZoDFepoyeW8WFtni+yngUo79Hp4Bo9xO/9pZVQqmqRJjbI6teg1VVDaV+/ZCKCb5QWr9dKogehWFVDWYZc3pQVj8Gk4RjTKwYr23l9WNScgdillBsYtgbKLsnIpYkBPMqmritVNwuJWcjFg0jCmDx3pThY4UTcWq3I6KDuFCK0rK3sxwECzx+3k09KMs7/QJOhDGFiA7mYtlsn5Iha10QAj8fRpn/BEwi6n/pSDReC+VodEroc5gQumd3puw/EjYRxxhPdLxvKxe2TssdiAMQ926Ug72We07oZaIz0FZu2SwtOwpLXaoxzs4DegwmEdXiCDoXreVVw9JC78PUI2rQuk0ubG9EknAG99JEtMYrh6TmIGZVHRE1aN2D8vElmETEtfY6FwXbPCg120YiNanEWL0b5eTuyqIbnMUlp6Moy/qnZlRJtCZmfLIl5eabMImI/+42lHVpv9TQN55VRUMW/lbK0V0sJ+Ict7DRpX3TcwlirbRCBd/vQ7k6C3aLimPjlvdLT59mH9mUkkopP5pEOTu8qJoIIrvmvumh4wRV/5h5KOXvLbDJQPjVA1JEY2/73//uPW/3rpTH3f90kpB8y+A05fu5sAnYRq51aKNE34CTKg5vmMbELJqA5cobNUx0J4xqAoie1Dj1+MvZZFhPb5joJBjVBJTxa+eGid6ESUSZ92icRhRFEjF4sXGi22ETEesObZx6LnViYJnBF40TnQNGwAqrihh/YONE3yJTLxHhGLc1UHtojtAa51Ri3NpA0YOIRdSFMmhqpDr/6GwYVJX97z0bKXoYcRBqiznUUN+PSIOJa928obrNx+HUYnZDdQ5iEa3PDbU4qpHqtcjZIFZRVXZ/9m6g6HzEGsRppcHdjVS/FcphbEBaN7CBoptgEiDjf43UwGYR51QDYXBdA0WXwqmIioZhWTO4gaJZbQJIKDW4pZGizfY+8BlvQ4lr7tdIEdF1iEOpxbkN1sUwoqH8nAbryETeb7AmVGhtdGNc2mCdjrgutQwWd2uwrkNUF6pilHakBvt1GK3HQCSs3Z8a7OFtyvXZlPLqcGq0pyCWAPhX76KGu+Niz6rq6gS9+bXGe38XAhhTEd2lAbsbiX5HVS2ub8DeRZ7SKs83YF+1I9ytMP7hBuxjpAaewLEN2BtIWmDwU6cG7MEQEuPvf1EDfgxyqMIGKotVO1EjPmiZt+1opVPFW8OpMX/Gm2qqKqLOmTOpUb8aMYuqijUWUMWqLg3bxmvUMLN4AM1rHKO5Z8NG5znDoqZ53l3HbvwGYizvlj0AVlA4IAgZAABwcACdASrKACUBPikSh0MhoQkdLs4MAUJY278PpsgvwAiDcD7MTifjvx2/MP5x69/efwRyttaeaT5L+n/4H8z/7J83v9p6tv0z/yPcC/TL/f/3P1ufVr+4HqN/n3+F/Z73cfRl/c/8j7AH8b/qXpkexp/c/877AH86/uX/x9b39qPgt/az9o/gQ/nX+D/9HsAf//1AOB4/EvxR/wX4+eJn69/C/kz+6HAMZmfvN+K/Jv8vegf1geoL+P/zn/A/k5+XHqAd77a/0FPWj5//o/yX/u37j+jz6Y/YX0Zf0f/Lfmlzj337/k+wH/MP7p/vP8h+2X+A+lr/C/73+U/LX3MfVH/U/zfwB/yL+mf6L+8/ur/gv/19VXsK9F/9kiyIwj2MLPOYtl+sbEQepwd0Dlu66/y7nMJnY6oDnXjLw3jxWZcqJCcxNkPnwQG3ddIXAOd1ny0xHOXiBANT4qPNXEqRKiX5NfG3cxzTiUY2ydN4lmQhDUwU2cdI+BhD0vzvwzEtU/5pMZduzzSj9Cz7WJmJhHv/yM8Hmh0OdQciuJeQ7zx7B4axPVownaQRONevvlsmorZ+TIW8i2R8VbKrwgTZlzXWOs4dybfuD8gMCeQ3Luze6Zwl1l7u46UJCO1fw8fII+izCNdAaApZKP4BpVRUrQTcBRR9mL9LjkAjaXFzQ8FQJL5rN2n2GW5VqNFL1PwUkFj/vPAQOft1nV3gsgTuiQiiuyIVhZ36Xu+YKzQqZZdc0YFay4Pjw46oRxsALSD01UjNtmEOsxdlk10D5ag3l71xWbpttqIs/ZNC0XZUtDa2vSbNWL5OkIcz5NhSz/BtDlzQEZTd3+hLURUofZBfv9ySW2DOoZp+6dPSrvIXgDKBP0Pz71cWMIJTxmc+xfEiY/EGpgUBHIgXGna8Ah1ijhlbwUNdWbpae8q8IREW1REBK7+j2PmelwVag+Xy1X5CkX1IvOEXkA/EGoqhq5snnLPHAKVTeVNqu5xWS+Qng9O78S5SabzVd0QWmrKHn7yDHwRtcrFIEzVIrqWG1WybNr/fNQ5bcyGiMxG0XMkjUdSM+KB8OvuR02OcbnCEoPDjF2VE0okYZVloxGHq0XKuMkLVgXCyPnFGMaJ70OioQeAya7COCUDtP9/uJkgy/xUY38o2QvCRXsgRvgHPdSPdIAVWIofYyoHJhinxL9kCN7M0noSDnXnn8IzvAAD+95D/6G/n/+/1uT+ZJh3vqGMgLsQxKoDWNZkjlqfw9BTrmnuRpT7Df0ShgOAQkyhoCmUVmWMh///dtf/vAb//e3/eGb/WAHa/bRPvYz9lTt18IePPvyCM/EOtCgezVf7chQ4y7MISoF4X4CTLm3ZHCB+L7+IkElw9GQKidO/IhbOoF6lyt8YIwrvsXMG4nzRDTa5H4Afd0bHRSpCyb/axVN/RIFC6mUXYIXB+rJdNBoAUkopAwGkHDV61ktV/Ba4Yo49SKUVawA0TG/dz3P0O3ihG3vPDttwZ3bwtS3Lf8bNSC8O3G1FdUp/lS9WZbdPhdsRk8orV5Pj2i1wlt3UANOBYjY3Lqfnp2yStnWYg9TxcEG/wWAt0mfVY9ZwzKqdbuAyynR0BfVD2GKwLP0TLCmu/8HrjFeenVbe/UzrwGcDpln/mBzjkYOkmYWOfkvz2MAHOw//zxv8hqYVspShF4oDXlUW7P+lMFoSS8AcBkhLref+vvakZ9e9KpoUNLxEze9oHjszqOcATOZNO6TmepjisJ/MOMmYUe2FApReYozkl0fiTOcRQseFRT3ohtr7219ecEaCeW4izzkHEjOousnZvKHMaK49z2fyKLaFoOe/2+v37l/BQcgDrpHj6S2v/k1NGME6OO3//XHBB1cJfSkZJD/wmlOBoHJs+a183r4KLsn54we8Q0V8D+sK5/xsdXCwRvKPi4iw6l31JzioA9syEfZeh8rpoOjqHRdDkxXujMcsCT3hlj84EnMI2tfPtzkBupPPo3LvWwjNNL1gM4Zx7bApBV9wRU1d8bOc4hHS33xNPbgDWm95y04ChPj9S506SUQ0AbxuBMXcbm0YeJU5AiCw3ILtkghQj3PPvrgyAVqMJjK5Yg0xJ7jiahqzkxM5H2Y/M+YzXE1+sOGE+LBy5oGXtV5/k35fgsKg1A9mFvAtEqtms9pqEGk/dXgjrlqBHlC93BE/EFrvq6K4wXgvVhvvBiSZgmC2VkZynWNkGy6TJaf97ceDY0eL6jXa/8UPHLazRU1DIhk1FcVew4kdJT7GO5qzBgj4CSqYkWyizygYBKj2zvdw5HsUn2dfUdjwCLrrK21pw5zzyurpWpJ86piNpyTdGVWNyolJj5dicvZN6iG88mVP9OdTXZs15R7Or4T2DM+kgd1ocZ9iuNzMBJRj5WcKv4Yz/y334HMPhomt86SFkImakCQW9TMzFjIfCCsEEgVUG8pIAXcMialrrWCKbQZU687l6BfM5av5ma4iCvYH4q/hkQlzkFHQLQKkRJJ0iAq6gk2+vJp9EHp5Fzp+HuS/NHrAbl+y8k+MjQ/zLWS6V7o6a0Yll6ApBFqKUG0nknzDfLURhEXfLx4Yqbv0q5lcIzdod50Czonpzs7zgBAXkqkbxyiU/TFrhyySHhY/9dAZR6SK8Cs8kbPrlwi5uYG/MMJoJnq39J3tPSh5BN0eih0kpT5467DBFNHVVDyG9riLm/y522ajC04g5Ip6+07dIqDiGLZJD8/SqK/5hC0CoIqPyoaiNfU/dgq6TgdY/AEAiTMBz+welfxTKXOx2wGy4fwcCcF7v5Zk4X3qI+gWUtnkumDfQxiyRM8wDI6gOiYyEfqJBr2zONWbF8/G7tf2sWd//5tprRdvOp+lxYHNd3xQNWWLkxCZpsTT0GFxXVIk6ROCG88sCiIrGDs8c21+EbCVSK80hCRXVkKgTnnHXoYDtgSMTrWj6PCYUoNpnN87zZh6JWB4ktUrvcyXtx79LbazyGwxn0yYC8PJ5EyrhORTjmiViXqNz5ZwNSBCSwV0mmYhQBMo/plyrS24Pmwzsky7IT5E/h8iEyIDVjapzlsfxkhT2Nf2nNdrTAse+LXK2/P9R5/932RByZ/HiTs/7RPE9IfOhRKR/vwOcxi5T/dbJRhsMZ12t7w+0+C5bZsuO4uzqH/vRms3SZElzX2zWY2F1G1b0Pb0Jcsg3vRdMhpaR9dHis8U/7rBslDfy6JekP44kIV9r9G+UrhH+NHRwIghqLL648AEHZAJOxImxIzonb8GlqomVVfPXhFrPLFANnTsPHALyZ5ZcO3fCkKpBGViKNpP4fLnIvpurCOzv0mDEP/BcjCX4Htlzzp9PXSDk0llhLnUc7IxkAomjp0Plio260XxxEAXLmKtk1MM8X/Z5FgSj//Gf//+ulf/65Q//+t9m3G6Fff4EfsMs6R1BN8kYvK9BmhnegE0gGmP73KSQdWlkzjTnskKczFyj7xw9OqL6gGSg5ooABT7bvwvp5cT/d3+ghyLUfp+yR+Tf/9ZvB4Ygn5TvDZcEOoNbP7YTDa67bYrWpnM1Cj4XnJnT1+UGmikTBg1rYj4tB56bGWOhUBs9Yfd2nX4izZ/tIpDqFaSWnxFsDPgqT8D8YxqCwZePxVcraqQ2oYnqNfUl0Yl4zlj5TC9MUrHi5YlL9fi4AmTXE+L1EoOh0J+UVTiktyG8Xy7//OpgkW81dUJ1TleGGHqw2iJFW0aFRrSGbkJRW2rKKbqQ2KslHSlOwVGXWCL1tHET3IYdul9aclF7/0WumivHGWb6rYu3XkoQfSSxqNh6Vden0zr/0Jz1ygdrMo+5seLhNBBQUx4r5A83jLWWEgarHF33kXiK4fHVlsMZybm3jbRcK1Antc8pn/any8mY1VU0oN26dOxHYZcK7iiCudD1r/60HwuEq0mqv5zfj1/+YcWaAP8qeHgJz9ESWVB+lYvBTsaDDrsX+2bubphWPbFAO8L7xFFZfN5QJ6EvvR/fL+ji3yOdQwnzvMloKeGp3wup4OljSGBHItG5pXJltJVyVjn8vpTVdQrQZq+99n09/H+FLksFw5j1JatOIvjSUNRb20HAjjCH/cIeDYBH4imPoj99q3PPuG7k/zkoxqWol1ZhjzeTdJeHwGdzuHtfSthNp24yRSMhIvv5FVifgmLQyXe2o+QgX2EvVNgUjoRXtp/pVpg4BDlQuj1aWBnK6nUnxMvLvixjLZt5AXNoIV5/dk4Wk12bBM+FlBAPPVffYzp/vQwPZ//rn28210X1DZIQxEd5LExeYxBKGgaH0lVoR3dA8drwHxhCv/3B4GZQbikfOJAAUvi8C+tuflTvlwMFtf72qojn9vKZrDNPuR+qIvQX+3cd6EGWq6znakeIz6AQpfLRvRfgbknIskfqif68jBrhN7HTEzBK5OVf+f7xwkYczeO9FROgiy7nZKH0uYYxcTrwHYY6KnJgDSTir5JCwP3a+g9r/J0Zs491R+pZk6Lkdujv45yB8Jkk6jA5UPzYWCrqxtNNoJ01TaRlFTxzOnLfA+DJFtN0wdksGp6dLrvkwxXR6SMkB+Npb51oOjZ5KMGNxImymwkb8aYnPODJlcoF/n6ybEpEIqzk7q21hcMwEWG/8ijlSvOeuvx7T3kT+8l/nOvJvuD9UBcMZ+S8ucSzZrGFGuImSaoNyF//uRxgpDshgd5CJVuIzZUxW7yN4LG6sCW9RxU1eKT/6nTLl8iVz7UcJLpIh2EI92BMJuRYtXfQqeIOu57O5mf34sUhKSGCo/Z9F0KruH2/WH2bIDQ1PwGc5++W41mE6Scj9Y83GkRjrLp1ssGGf4A9LOEOdQFEBCLvbI2/PNMGBbl03BPVTauQobyk7HLwJtD9Q0FbOeVO+CfwyxX+D34KE8zJ4POPCqvaRFjNZYqDREVK5/29rrtOXBkyKVZDI9RZgTKmmmQ5r/+zy2HFGsfKDwqqdgakO/Wb+eE0dP9Umb7wX+iunlcTtdRyuqBLI2rdYfbNHsuq6j0Pkf58Kr8eV7Cp0ICXWepE1dyeh+BFmskGUc/PTbcYjEY4qDjYb/ZCfS26VnR4TvGcVI4JgpFlcLN+CiIdCC/Ho3124SD/vyk3I0Gw5yo/r1wIpJQAqJ6N3R1QIfqlnnBJ9pssmYl8DKi9/Vux2gvzOVXCi6VvDENH+Hy4nZ84HfXeh9vkM9vVt5EeDv2LbhtpGcAXzzkHCZiyKlSoEVUelGoIBQngCNyGblN7xoF7OC6TpTwuIGgZovtcIEQZwAbgAMjcn0Ook+6MyvwYXMJBdg/uoCceVatVs0MvXmXIjLPAxrc5VnLlH7+aVceYQwx1agW7RkSwkcle5RHIC/4OuwlBSRvTDptJk7W2ug4St2tJqdPH6zna9sc20MRzOjseIJMi2IyphQaufX92qRYdBTfrBva8l54yneXS6YCR5sN/Xe3jpKQyzaCnaXSf4sTCv1i7omKRc9Neaylp0FZm59U1MrSDrQ420x47BBpGluX88RnDKlSAEY+zzq4Vto4uNTxJNwSqwxN48zadPczNIcka3AhBERAp7OkNCi60mrS4LfnIeteAczJuwy02CqLAY3sYPWUKYU1Wb++mVZmW5GE1O1LPQ1SpmaY7rgcxyIKHM8tFzBf/HvwuL5YQVxOM9a5x6ve7f2OxSsVnzhZbKBZx8dx/kkxICVz2rNTb6qeT133sJZCblYXxxB4dQMvUP7osFloARTdrRqBvGoaYzif6Gis98r9HzC7o3Xsy0VkgDrn92pbrPolAiM3fs7n9v+Bke2STu6uwF+i7M/xrh0NLu/1Obs0wJosYZJB02PmGxm4SBsAcd70FiVHt+FS7CVkdZ5CpGx2UuXc7vcBkV5p4bLz5KpK0V/qYPxRBRdbaPo0LKu+przuRf5FfP2CN2GIX9x9edMHXMgaij+lFt+IOwnvmL8IhLFBg43IOGrJ1OYZ8C/9oF03GUCnS+OliTD2XA65lNIaH0A/i+hPubgSh1M4I5bEatZPv/uQARWXBxmhcBrjvJsKBe8HU1SMAb9o3fDXPmd6MnlViKx4D1mH/nhONzOiIbdbRtWD54Mp7PXREGmYz+qgKhN+eOYK257Wn12V8I6W6fqArnG2x7B1xv9p95JowePfcHE+Z98BT1hGbgmgketVUGMm3cyp6OQtpFcOtoc08DU835jhG6ghD92mkGUYf88LA/+n6fndbh60kQqm8dUQjZHg7s2OkGGZVIprl5kjDVwruviG1AUnoitHd0g9L3O4YUeptRvXzGS/g8+2+S5CmpkzRhoHDZg5PpB1wMyUzWQABXnayK4S1/j/W8wt0NV6VI4fjHM8o4TDHf6LaYYOE315L3ohSBSdfRP2zj4/q+Si2sujLFRH+oO4Kgm36YaHitB669J35TFElPtoRg9axvDUU0ruf36hMZjJcRwhLTJZaHgr3dBLxqPUrGenz2xt6yaBLdxuYjcmGKzFvPSl3FETCCLUcDBArfxGsFgqiL5imNMBV7Bo36o4LNqFf3+ChtCwZRFQrWvSKKra4jGGPYhEPbhuxbusCcWp46E4quOiERM8szNq58N/1JLU9DUpS4MEFCnz8VEVFtQVuzdDpCqDJ71PfV3cXYwnn27++VBU4I0IsC1zDD1nuY4blfE4TZLIfYwytr9NRGKX7x65benAB5TDF4xP+szg1CrUnLPAL4eqUdV6eDOSQavs/CUHhsIcbg8MG7TYCOzUuyqq5lcriUUzsNpHbYHq1ggr9V6bVmse2xILDQtbkCL2i0eIKcKJSpHiNQYG3Qo4ePurJCGYvD3Xh8yhC6/qP5/B518m+wFc7AiSsAOV3jLMCimtCR7PTUiDltTWXW7q5hHYmN60FhLiuPdnXfle77L53TyyOX/D74Ow4oExpoYpa163m0HtjzWkm7TofnDs6LzSfS9knNi3b/UOH2djjHnPNvDPFWgTFpjS4qUrNBElttPJzz5xULb455z7UFoJRjLTS36+dxm3KqNb8kygKqISkKaWfdbDUtfCprYPOWZJUic9OVHT0jOUSvGxdT5xcvopSZNHg53QtwuTz93Wn6dWtBMlmNy3EvFqovA9bj5psfJ++BcGf5r1dfn8s0O8zGLtWYuXq/jL5uIFDmvowuCv+zv6kCcCwBI7P7PF/vBFG9+end+TZkLMkUz1lP+bSEdfB+lTFxK0cT3wBL3iefEDItAK8vStI7ilK2NGHrWiWJPnKUa6SR+A8+TVs3THjaBzRJb24la0rMB8Mc/Re3YZhhT2sFsOJ/vGwwTTDIjQ4T3I7wLYIRB6Qa//5S55f6qY6N4dtC+RNniVi8iZXbBHgHzsNnqjqakta1Q/xfjhmTFwlA6b6afKs2mWWw7bCgtbPRW29gjFw2KKIEkkv4LLo5JLrw8Bx6mVGDJNJ7qJEEKi1RwkysKmJ1q4gUFIyOyJhjJS2TvuASDCg+LCSWac8bWfr7EG+y2G6ZI7k9OsbI4Znfrtl4kDigeB3OVnQBrcsv2Gs4vs0Pwfnl5oQoob9skt5eFqGWk5tPx5zhvf19BjkSgmQSn7cbnxOeeFCg2/RmMX0zDTfud5EJ/ll+CwZxrW78MPqCOWue28F+0LHarXyjWy4CIw96uj/KuSl6jDcYg+qKXNg0j4/PN4/ShA8daBE6ki0C2682xxdk6Wc+yniCKAf8LiBhvEfdQAiEY2PNN+QlhRz8IXlWnXkLg0DKtocuq38ORTwo+3l0SIrO2SlIYq0qElA1Tdp9VJAA5zNWUDQtdxpsu8QavRCIjs/SvEIkt8aL9XB8glDABSINA1Ozbpu7eHXMBbmfXrKixL2oO5GYi9ODiLIGP/BIFXzOo9MT36aljkWQ21SGnXG5bfDkUxfLubUYvy3l7aYf4nn+cLR1DtM9T38EBzhVQI/1/6eJQZKx8gYen2tu9St05VsutVPZoyAhVDOf33JOOe9CVdIdgHnVqaOuX5LHqhVPD+LrSzJ8YOVM/JzSEYw86dpNejc75Gw26v+y8lgbq6tdg3zeJA8hAII3qbqQyEYH6xosYTZGR8DMbLKyKa6CxjqkTBiwJC+mXRQ9TJ560Srhk5UrOmEP95f6ra0T1tXD0RdbjA/WLRdc8x1z5yZfy//vkUCeND8ffrEaZ1uxTM2WFWGzz8wJi45WUljjbRRhDT5BvQlV79U10ByE1DUrMHGkllcmuhr1TST02IoOeZhKySE5ml24RewwVV/KtQ9TQREnxE+Ng6guZEAsSLI3MH5IoCbY/6ipGQhHatRy5M3MGMk8jZroPgcl2zYEpNfsNS/WkWxfu8DLpyYieF2oQ9//yUG7jlRBkVgOOlPcElPZFsCOeuBor8vAvc9gN8/3Fr9doJoHg0PRUCsXZiqwk8BI0oNRp18rKz6ASczXi8yYpxzHZRstcDUUmya9qOyzdM1QLmj/Q0Ya2yxHUZ71VXvzi1INVrEvLfwACZOkUtU0ssLy/Q5apJ90FTpAN5WDW9cPyVH7hVKoYcCgC3712sqVmAIaWuwCdMobKoukzWJp+2LuFVMfFc8fMFvh76Z2mFjTjse8/KAAAA=");
    }

    /* la cuerda: un anillo de anclaje arriba y el cabo bajando por detrás de los círculos */
    .process-steps::before {
        display: block;
        top: 0;
        bottom: auto;
        left: 16px;
        right: auto;
        width: 12px;
        height: var(--cuerda, 100%);
        background:
            radial-gradient(circle at 50% 6px, transparent 2.2px, #3a3d43 2.7px, #3a3d43 4.6px, transparent 5.1px) 0 0 / 12px 12px no-repeat,
            linear-gradient(#3a3d43, #3a3d43) 5px 10px / 2px calc(100% - 10px) no-repeat;
        transform: none;
        transition: none;
    }

    /* los pasos no se desvanecen todos a la vez: cada uno aparece cuando llega el instalador */
    .process-step {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {

    /* la cuerda se desenrolla desde el anclaje */
    .process-steps::before {
        clip-path: inset(0 0 100% 0);
        transition: clip-path 1.1s cubic-bezier(0.3, 0.6, 0.3, 1) 0.1s;
    }

    .process-steps.is-in::before { clip-path: inset(0 0 0 0); }

    /* el instalador: cuelga de la cuerda y se apoya en cada número */
    .process-steps::after {
        display: block;
        content: "";
        position: absolute;
        z-index: 2;
        top: 0;
        left: -12px;                   /* su cuerda queda justo sobre la del anclaje */
        width: 58px;
        height: 84px;
        --h: 81px;                     /* las botas pisan el borde de arriba del círculo */
        background: var(--instalador-img) 0 0 / 100% 100% no-repeat;
        transform-origin: 59% 3%;      /* gira desde la mano que agarra la cuerda */
        translate: 0 calc(var(--y1, 98px) - var(--h) - 38px);
        opacity: 0;
        pointer-events: none;
    }

    .process-steps.is-in::after {
        animation:
            rapelBaja 6.7s linear both,
            rapelBalanceo 6.7s ease-in-out both;
    }

    /* cada número se enciende cuando el instalador llega */
    .process-steps.is-in .process-step:nth-child(1) .process-step-number { transition-delay: 1.15s; }
    .process-steps.is-in .process-step:nth-child(2) .process-step-number { transition-delay: 2.95s; }
    .process-steps.is-in .process-step:nth-child(3) .process-step-number { transition-delay: 4.75s; }
    .process-steps.is-in .process-step:nth-child(4) .process-step-number { transition-delay: 6.55s; }

    /* y su texto aparece a la vez */
    .process-step h3,
    .process-step p {
        opacity: 0;
    }

    .process-steps.is-in .process-step h3,
    .process-steps.is-in .process-step p {
        animation: pasoMovilEntra 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
    }

    .process-steps.is-in .process-step:nth-child(1) h3 { animation-delay: 1.20s; }
    .process-steps.is-in .process-step:nth-child(1) p  { animation-delay: 1.30s; }
    .process-steps.is-in .process-step:nth-child(2) h3 { animation-delay: 3.00s; }
    .process-steps.is-in .process-step:nth-child(2) p  { animation-delay: 3.10s; }
    .process-steps.is-in .process-step:nth-child(3) h3 { animation-delay: 4.80s; }
    .process-steps.is-in .process-step:nth-child(3) p  { animation-delay: 4.90s; }
    .process-steps.is-in .process-step:nth-child(4) h3 { animation-delay: 6.60s; }
    .process-steps.is-in .process-step:nth-child(4) p  { animation-delay: 6.70s; }
}

/* Con "reducir movimiento" activado en el móvil no hay animación, pero el
   instalador sale igualmente, quieto y colgado junto al 04 (como al acabar de bajar) */
@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
    .process-steps::after {
        display: block;
        content: "";
        position: absolute;
        z-index: 2;
        top: 0;
        left: -12px;
        width: 58px;
        height: 84px;
        --h: 81px;
        background: var(--instalador-img) 0 0 / 100% 100% no-repeat;
        translate: 0 calc(var(--y4, 98px) - var(--h));
        pointer-events: none;
    }
}

/* al reiniciar la animación (cambio de idioma) todo vuelve al principio sin transiciones */
.process-steps.reiniciando,
.process-steps.reiniciando *,
.process-steps.reiniciando::before,
.process-steps.reiniciando::after {
    transition: none !important;
    animation: none !important;
}

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

@keyframes rapelBaja {
    0%, 7.46% { translate: 0 calc(var(--y1) - var(--h) - 38px); opacity: 0; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
    11.19% { opacity: 1; }
    19.4%, 34.33% { translate: 0 calc(var(--y1) - var(--h)); opacity: 1; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
    46.27%, 61.19% { translate: 0 calc(var(--y2) - var(--h)); animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
    73.13%, 88.06% { translate: 0 calc(var(--y3) - var(--h)); animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
    100% { translate: 0 calc(var(--y4) - var(--h)); opacity: 1; }
}

@keyframes rapelBalanceo {
    0% { rotate: 0deg; }
    7.46% { rotate: 0deg; }
    13.43% { rotate: -1.3deg; }
    19.4% { rotate: 0deg; }
    22.69% { rotate: 1.4deg; }
    26.87% { rotate: -0.8deg; }
    30.75% { rotate: 0.35deg; }
    34.33% { rotate: 0deg; }
    40.3% { rotate: -1.3deg; }
    46.27% { rotate: 0deg; }
    49.55% { rotate: 1.4deg; }
    53.73% { rotate: -0.8deg; }
    57.61% { rotate: 0.35deg; }
    61.19% { rotate: 0deg; }
    67.16% { rotate: -1.3deg; }
    73.13% { rotate: 0deg; }
    76.42% { rotate: 1.4deg; }
    80.6% { rotate: -0.8deg; }
    84.48% { rotate: 0.35deg; }
    88.06% { rotate: 0deg; }
    94.03% { rotate: -1.3deg; }
    100% { rotate: 0deg; }
}


/* =========================================================
   "NUESTRA ZONA DE TRABAJO" EN MÓVIL: MENOS HUECO ENTRE EL TEXTO Y EL MAPA
   Había 190px de altura fija en el texto de la zona (por si cambia entre
   Estella, Pamplona y Navarra) y 50px de separación con el mapa.
   Ahora la altura es la del texto más largo (no salta al cambiar de zona)
   y el mapa queda más cerca. Para volver a como estaba: borra este bloque.
   ========================================================= */

@media (max-width: 900px) {
    .locations-content { gap: 22px; }
    .location-description-box { min-height: 112px; }
}

@media (max-width: 600px) {
    .location-description-box { min-height: 136px; margin-top: 22px; }
}

/* menos espacio entre el mapa y la sección de contacto */
@media (max-width: 900px) {
    .locations { padding-bottom: 40px; }
    .contact { padding-top: 48px; }
}


/* =========================================================
   PORTADA EN MÓVIL: TÍTULO, BOTONES Y LA CASITA
   Solo móvil en vertical (ordenador y tablet no cambian).
   Sin fotos ni vídeo: el título arriba, los botones y debajo la casita
   con sus puntos "+" (script.js la sube aquí y deja de salir más abajo).
   Para volver a como estaba: borra este bloque y el de "PORTADA EN MÓVIL"
   de script.js y portada-video.js.
   ========================================================= */

@media (max-width: 600px) and (max-aspect-ratio: 1/1) {

    /* ni vídeo ni foto: solo el contenido */
    html.hvm .hero-video { display: none; }

    html.hvm .hero .navbar {
        height: 100px;
        min-height: 0;
        align-items: flex-start;
    }

    html.hvm .hero .hero-main {
        margin-top: 10px;
        padding-bottom: 30px;
        z-index: auto;
    }

    /* sin capas propias, para que la casita se funda con el fondo azulito */
    html.hvm .hero .hero-content { z-index: auto; }

    html.hvm .hero .hero-label { margin-bottom: 12px; }
    html.hvm .hero .hero-content h1 { margin-bottom: 6px; }

    /* frase de debajo del título: fuera (menos letra) */
    html.hvm .hero .hero-description { display: none; }

    /* botones: un poco más pequeños y justo debajo del título */
    html.hvm .hero .hero-buttons { margin: 18px 0 10px; }
    html.hvm .hero .hero-buttons .button { --h: 42px; gap: 12px; }
    html.hvm .hero .hero-buttons .button span.bt-ico { font-size: 16px; }
    html.hvm .hero .hero-buttons .button span.bt-ico svg { width: 17px; height: 17px; }

    /* la casita (la sube script.js): sin su texto, solo la indicación */
    .hero .hero-content > .house-section {
        animation: none;
        transform: none;
        opacity: 1;
        padding: 0;
        margin: 2px -10px 0;
        border-top: 0;
    }

    /* la casita primero y la indicación debajo; el cuadro con la explicación
       sale por debajo de la portada, así que esta no recorta nada */
    html.hvm .hero { overflow: visible; }

    .hero .house-section {
        display: flex;
        flex-direction: column-reverse;
    }

    .hero .house-section-text {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .hero .house-section-text > *:not(.house-section-hint) { display: none !important; }

    .hero .house-section-hint {
        margin: 0 10px 18px;
        font-size: 12.5px;
    }

    .hero .house-section .house-services {
        margin-top: -26px;
        margin-bottom: -16px;
        /* la parte de arriba de la casita (vacía) se mete un poco bajo los botones:
           que no tape su zona pulsable; solo los "+" responden */
        pointer-events: none;
    }

    .hero .house-section .house-services .house-point {
        pointer-events: auto;
    }

    /* la casita ya no tiene fondo (el PNG es transparente): se ve sobre el azulito de la portada */
    .hero .house-services-image {
        clip-path: inset(3px 0 0 0);
    }
}
