/* =========================
   RESET / BASE
========================= */

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

body {
    margin: 0;
    font-family: 'Raleway', sans-serif !important;
    overflow-x: hidden;
}

:root {
    --wp--preset--color--black: #1E1E1E !important;
    --wp--preset--color--white: #EFEFEF !important;
    --wp--preset--color--gray: #f5f5f5 !important;

    --color-black-rgb: 30, 30, 30 !important;

    --header-height: 100px;

    --form-text: #1E1E1E;
    --form-border: rgba(0, 0, 0, 1);
    --form-placeholder: rgba(0, 0, 0, 0.5);
    --form-check: #1E1E1E;
    --form-button-bg: #1E1E1E;
    --form-button-text: #f5f5f5;
    --form-check-icon: url("/wp-content/uploads/2026/04/arrow-check.svg");
}

@media (max-width: 923px) {
    :root {
        --header-height: 80px;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: 2rem !important;
}


p {
    line-height: 1.6;
    margin-bottom: 2rem;
}

.desktop-break {
    display: inline;
}

@media (max-width: 900px) {
    .desktop-break {
        display: none;
    }
}

::selection {
    background: #fff;
    color: #000;
}

::-moz-selection {
    background: #fff;
    color: #000;
}

/* =========================
   GENERATEPRESS PAGE RESET
========================= */

body.page .site-content {
    padding: 0;
}

body.page .content-area,
body.page .site-main {
    margin: 0;
    width: 100%;
}

body.page .inside-article {
    padding: 0;
}

body.page .entry-content {
    margin: 0;
}

body.page .site-content,
body.page .site-content.grid-container,
body.page .container.grid-container,
body.page .content-area,
body.page .site-main,
body.page article,
body.page .inside-article,
body.page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.page .inside-article,
body.page article {
    background: transparent !important;
    box-shadow: none !important;
}

body.page .content-area {
    float: none !important;
}


body.single-casos .site-content,
body.single-casos .site-content.grid-container,
body.single-casos .container.grid-container,
body.single-casos .content-area,
body.single-casos .site-main,
body.single-casos article,
body.single-casos .inside-article,
body.single-casos .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.single-casos .inside-article,
body.single-casos article {
    background: transparent !important;
    box-shadow: none !important;
}

body.single-casos .content-area {
    float: none !important;
}

/* =========================
   LAYOUT
========================= */

.section {
    padding: 4rem 0 6rem 0;
    background-color: #EFEFEF;
}

@media (max-width: 800px) {
    .section {
        padding: 4rem 0 3rem 0;
    }
}

.container {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.container.politicas {
    padding-top: 7rem;
}

.pl-0 {
    padding-left: 0 !important;
}

@media(max-width: 1400px) {
    .pl-0 {
        padding-left: 1.5rem !important;
    }
}


.section--dark {
    background: #1E1E1E;
    color: #EFEFEF;
    --form-text: #EFEFEF;
    --form-border: rgba(255, 255, 255, 0.4);
    --form-placeholder: rgba(255, 255, 255, 0.6);
    --form-check: #EFEFEF;
    --form-button-bg: #EFEFEF;
    --form-button-text: #000;
    --form-check-icon: url("/wp-content/uploads/2026/04/arrow-check-black.svg");

}

/* =========================
   HOME LOADER
========================= */


#loader {
    position: fixed;
    inset: 0;

    width: 100vw;
    height: 100vh;

    background-color: #efefef;
    z-index: 999999;

    clip-path: circle(140% at 50% 50%);

    transition:
        clip-path 0.9s cubic-bezier(0.76, 0, 0.24, 1),
        opacity 0.3s ease 0.65s;
}

body.loaded #loader {
    clip-path: circle(24px at var(--loader-x, 80px) var(--loader-y, 50px));
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px), (hover: none), (pointer: coarse) {
    #loader {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body {
        overflow: auto !important;
    }
}
/* =========================
   CURSOR
========================= */

@media (min-width: 769px) {

    body,
    body a,
    body button {
        cursor: none;
    }

    input,
    textarea,
    select {
        cursor: text;
    }
}

body>.custom-cursor {
    position: fixed !important;
    top: 0;
    left: 0;

    width: 16px;
    height: 16px;

    background: #fff;
    border-radius: 50%;

    pointer-events: none !important;
    z-index: 2147483647 !important;

    transform: translate(-50%, -50%);
    mix-blend-mode: difference;

    transition:
        width 0.2s ease,
        height 0.2s ease,
        opacity 0.2s ease;
}

body>.custom-cursor.hover {
    width: 44px;
    height: 44px;
}

@media (max-width: 768px) {
    body>.custom-cursor {
        display: none !important;
    }
}

/* =========================
   REVEAL ANIMATIONS
========================= */

.reveal {
    opacity: 0;
    transform: translateY(10px);

    transition:
        opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);

    will-change: opacity, transform;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* =========================
   TYPO SCALE
========================= */

@media (max-width: 900px) {

    h1,
    h2,
    h3,
    h4 {
        font-size: 28px !important;
    }

}

@media (max-width: 923px) {

    .text-center-mb {
        text-align: center;
    }

    .text-md {
        font-size: 16px !important;
    }
}



.heading-xl {
    font-size: 58px;
}

.heading-nosotros {
    font-size: 54px;
}

.heading-lg {
    font-size: 45px;
}

.heading-m {
    font-size: 32px;
}


.heading-raleway {
    font-family: 'Raleway', sans-serif !important;
}

.heading-md {
    font-size: 38px;
    line-height: 1.2;
}

.text-center {
    text-align: center;
}

.text-black {
    color: var(--wp--preset--color--black) !important;
}

.w-500 {
    font-weight: 500;
}

.text-md {
    font-size: 20px;
}

.text-mg {
    font-size: 16px !important;
}

.text-sm {
    font-size: 14px;
}


/* =========================
   UTILITIES
========================= */

.mt-0 {
    margin-top: 0;
}


.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mt-3 {
    margin-top: 3rem;
}

.mt-5 {
    margin-top: 5rem;
}


.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mb-3 {
    margin-bottom: 3rem;
}

.mb-5 {
    margin-bottom: 5rem;
}

.mb-6 {
    margin-bottom: 6rem;
}

.pb-0 {
    padding-bottom: 0;
}

.pb-3 {
    padding-bottom: 3rem !important;
}

.pt-3 {
    padding-top: 3rem !important;
}

.pt-6 {
    padding-top: 6rem !important;
}

.text-links-white a {
    color: var(--wp--preset--color--white) !important;
}

.text-links-white a:hover {
    color: var(--wp--preset--color--white);
    opacity: 0.8;
}

/* =========================
   BUTTONS
========================= */
/* base */
.btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 30rem;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn--primary {
    background: var(--wp--preset--color--white) !important;
    color: var(--wp--preset--color--black) !important;
    width: 272px;
    height: 54px;
    justify-content: center;
    cursor: pointer;
    font-weight: 700;
}

.btn--primary-black {
    background: var(--wp--preset--color--black) !important;
    color: var(--wp--preset--color--white) !important;
    width: 272px;
    height: 54px;
    justify-content: center;
    cursor: pointer;
    font-weight: 700;
}

.btn--secondary {
    background-color: transparent !important;
    border: 1px solid #EFEFEF;
    color: var(--wp--preset--color--white) !important;
    width: 272px;
    height: 54px;
    justify-content: center;
    cursor: pointer;
    font-weight: 700;
}

/* hover */
.btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}


.btn--link {
    background-color: transparent !important;
    font-size: 14px;
    color: var(--wp--preset--color--black) !important;
    text-decoration: underline !important;
    font-weight: 700;
    padding: 0 !important;
    border: none;
    display: inline-block;
    transition: all 0.2s ease;
    font-size: 14px;
    margin-top: auto;
}

/* hover */
.btn--link:hover {
    opacity: 0.7;
}

@media (max-width: 923px) {

    .btn--primary,
    .btn--secondary,
    .btn--primary-black {
        width: 100% !important;
    }
}

/* =========================
   BACK TO TOP
========================= */

.back-to-top {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;

    width: 56px;
    height: 56px;

    border-radius: 50%;
    border: 1px solid var(--wp--preset--color--white);
    background: var(--wp--preset--color--black);

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top img {
    width: 15px;
    min-width: 15px;
    height: auto;

    transform: rotate(90deg);
}

.back-to-top:hover {
    transform: translateY(-2px);
}

.back-to-top.is-visible:hover {
    transform: translateY(-2px);
}


@media (max-width: 768px) {
    .back-to-top {
        width: 48px;
        height: 48px;
        right: 1rem;
        bottom: 1rem;
    }

    .back-to-top img {
        width: 16px;
    }
}

/* =========================
   FIXED HEADER
========================= */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;

    background: var(--wp--preset--color--black) !important;
}

.site-header,
.site-header .inside-header,
#site-navigation,
#site-navigation .inside-navigation,
#mobile-menu-control-wrapper,
.main-navigation,
.main-nav ul {
    background: var(--wp--preset--color--black) !important;
}



/* =========================
   HEADER
========================= */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: var(--wp--preset--color--black) !important;
}

.site-header,
.site-header .inside-header,
#site-navigation,
#site-navigation .inside-navigation,
#mobile-menu-control-wrapper,
.main-navigation,
.main-nav ul {
    background: var(--wp--preset--color--black) !important;
}

.inside-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: space-between;

    min-height: 100px;
    height: 100px;
    padding: 0 1.5rem !important;
}

.site-header .header-image {
    width: 130px;
}

@media (max-width: 923px) {
    .inside-header {
        min-height: 80px;
        height: 80px;
    }

    .site-header .header-image {
        width: 120px;
    }
}



@media (min-width: 924px) {

    .main-nav ul {
        display: flex;
        align-items: center;
        gap: 2rem;
    }

    .main-navigation .main-nav ul li a {
        padding: 0 !important;
    }

}


.main-nav ul li a {
    color: #EFEFEF !important;
    font-size: 15px;
    opacity: 0.8;
}

.main-nav ul li a:hover {
    opacity: 1;
}

.main-nav ul li a:hover,
.main-nav ul li.current-menu-item>a,
.main-nav ul li.current_page_item>a,
.main-nav ul li.current-menu-ancestor>a {
    opacity: 1 !important;
}

.header-widget {
    justify-self: end;
}

a.menu-cta {
    font-size: 15px;
    display: flex;
    justify-content: center;
    background: #fff !important;
    color: #000 !important;
    border-radius: 999px;
    font-weight: 600;
    opacity: 1 !important;
    height: 46px;
    width: 158px;
}

.menu-cta:hover {
    transform: translateY(-2px);
    opacity: 0.9 !important;
    transition: all 0.3s ease;
}

.menu-cta-mb {
    display: none;
}

@media (max-width: 923px) {

    .header-widget {
        display: none;
    }

    .menu-cta-mb {
        display: block;
        margin-top: 15px;
    }

    .menu-cta-mb a {
        background: #fff;
        color: #000 !important;
        padding: 12px;
        border-radius: 999px;
        text-align: center;
        display: block;
    }

    .inside-header {
        height: auto;
        padding: 15px 0;
    }
}


.main-navigation {
    background: transparent !important;
}

.nav-float-right #site-navigation {
    margin-left: 0 !important;
}

/* TOGGLE */

.menu-toggle {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0;
    box-shadow: none !important;
}

.menu-toggle .gp-icon {
    color: #fff;
    fill: #fff;
}

.menu-toggle svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.menu-toggle:hover,
.menu-toggle:focus {
    background: none !important;
    outline: none;
}

.menu-toggle:focus-visible {
    outline: none;
}

/* =========================
   MOBILE HEADER
========================= */

@media (max-width: 923px) {

    .site-header .inside-header {
        min-height: 80px;
        padding: 0 1.5rem;
        grid-template-columns: auto 1fr auto;
    }

    .site-header .header-image {
        width: 120px;
    }

    .header-widget {
        display: none !important;
    }

    #mobile-menu-control-wrapper {
        display: flex !important;
        justify-self: end;
        background: transparent !important;
    }

    #mobile-menu-control-wrapper .menu-toggle {
        display: flex !important;
    }

    .menu-toggle {
        background: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        line-height: 1;
        color: #fff !important;
    }

    .menu-toggle .gp-icon {
        color: #fff !important;
        fill: #fff !important;
    }

    .menu-toggle svg {
        width: 26px;
        height: 26px;
        fill: currentColor !important;
    }

    .menu-toggle:hover,
    .menu-toggle:focus {
        background: none !important;
        outline: none !important;
    }


    /* =========================
       MOBILE MENU PANEL
    ========================= */

    .has-inline-mobile-toggle #site-navigation.toggled {
        margin-top: 0 !important;
    }


    #site-navigation {
        position: fixed !important;
        top: 80px;
        left: 0;
        right: 0;

        width: 100%;
        height: calc(100svh - 80px);

        background: var(--wp--preset--color--black) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.45);

        z-index: 99998;

        overflow-y: auto;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(0);

        transition:
            opacity 0.12s ease,
            visibility 0s linear 0.12s,
            transform 0.12s ease;
    }

    #site-navigation.toggled {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);

        /* al abrir, más suave */
        transition:
            opacity 0.28s ease,
            visibility 0s linear 0s,
            transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #site-navigation .inside-navigation {
        background: transparent !important;
        padding: 2rem 1.25rem;
        max-width: none;
        width: 100%;
    }

    #site-navigation .main-nav ul {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;

        width: 100%;
        margin: 0;
        padding: 0;

        background: transparent !important;
    }

    #site-navigation .main-nav ul li {
        width: 100%;
    }

    #site-navigation .menu-cta-mb a {
        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 54px;

        color: var(--wp--preset--color--black) !important;

        border-radius: 999px;

        font-size: 20px !important;
        font-weight: 700 !important;
        text-align: center;
        opacity: 1 !important;
    }

    #site-navigation .menu-cta-mb {
        display: block !important;
        margin-top: 1.25rem;
        background-color: var(--wp--preset--color--white);
        border-radius: 99px;
        height: 50px;

    }

    #site-navigation .main-nav ul li a {
        display: block;

        padding: 0.55rem 0 !important;

        color: #EFEFEF;
        font-size: 24px;
        line-height: 1.25;
        font-weight: 400;

        opacity: 1 !important;
        text-decoration: none;
        background: transparent !important;
    }



}



/* =========================
   FOOTER 
========================= */

footer.custom-footer {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 4rem 0 2rem;
}


/* =========================
   FOOTER TOP
========================= */

.footer-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
    width: 100%;
}

.footer-brand {
    flex-shrink: 0;
}

.footer-logo {
    width: 20rem;
    max-width: 100%;
    height: auto;
}


/* =========================
   FOOTER RIGHT
========================= */

.footer-right {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;

    width: 100%;
    max-width: 680px;
}

.footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-col a {
    display: block;
    margin-bottom: 0.5rem;
    color: #ffffff;
    font-size: 14px;
    text-decoration: none;
}

.footer-col a:hover {
    color: #fff;
}

.footer-title {
    font-size: 14px;
    margin-bottom: 10px;
    color: #C0D8D899;
}


/* =========================
   SOCIAL
========================= */

.footer-col.social {
    align-items: flex-end;
}

.social-icons {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}

.social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    flex-shrink: 0;
}


/* =========================
   FOOTER BOTTOM
========================= */

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;

    width: 100%;
    font-size: 0.75rem;
    color: #C0D8D899;
}

.footer-bottom .legal {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.footer-bottom .legal a {
    color: #C0D8D899 !important;
    text-decoration: none;
}

.footer-bottom .lang a {
    color: var(--wp--preset--color--white) !important;
    text-decoration: none;
}

.footer-bottom .lang {
    text-align: right;
    flex-shrink: 0;
}

@media (max-width: 924px) {

    .site-footer {
        min-height: auto;
        padding: 4rem 0 3rem;
    }

    footer.custom-footer {
        padding: 0;
    }

    .footer-top {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
        text-align: center;
    }

    .footer-brand {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .footer-logo {
        width: 225px;
    }

    .footer-right {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;

        width: 100%;
        max-width: none;
    }

    .footer-col {
        align-items: center;
        text-align: center;
    }

    .footer-col.social {
        align-items: center;
    }

    .social-icons {
        justify-content: center;
        margin-top: 0.5rem;
    }

    .footer-bottom {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
        gap: 3rem;
        margin-top: 2rem !important;
    }

    .footer-bottom .legal {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    .footer-bottom .lang {
        text-align: center;
        font-size: 15px;
        color: white;
    }
}


/* =========================
   HERO
========================= */

.container.grid-container {
    padding: 0;
}

.grid-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1350px !important;
}

.hero--home {
    margin-top: 4rem;
}

.hero {
    position: relative;
    overflow: hidden;
    color: #fff;

    height: 100svh;
    min-height: 620px;

    padding-top: 0 !important;
}

.hero__bg video,
.hero__bg img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    display: block;
}

.hero__bg.hero__bg--mobile {
    display: none;
}

@media (max-width: 990px) {
    .hero__bg.hero__bg--desktop {
        display: none;
    }

    .hero__bg.hero__bg--mobile {
        display: block;
    }
}

.hero .wp-block-image {
    margin: 0 !important;
}

/* fondo animado */
.hero__bg {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.hero__bg img {
    height: 100%;
}

.hero__row {
    overflow: hidden;
}

.hero__track {
    display: flex;
    gap: 6px;
    width: max-content;
}

.hero__track .wp-block-image {
    flex: 0 0 auto;
}

.hero__track img {
    width: 325px;
    height: 500px;
    object-fit: cover;
}

.hero__row .hero__track {
    animation: scrollLeft 80s linear infinite;
}

.hero__row--reverse .hero__track {
    animation: scrollRight 80s linear infinite;
}

@keyframes scrollLeft {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes scrollRight {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    background: linear-gradient(90deg,
            rgba(var(--color-black-rgb), 1) 0%,
            rgba(var(--color-black-rgb), 0.75) 30%,
            rgba(var(--color-black-rgb), 0.4) 60%,
            rgba(var(--color-black-rgb), 0.15) 100%);
}

.hero__content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;

    width: 100%;
    max-width: 1350px;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 1024px) {
    .hero__track img {
        width: 260px;
        height: 400px;
    }
}

@media (max-width: 768px) {


    .hero--home {
        margin-top: 1rem;
    }

    .hero__overlay {

        background: linear-gradient(180deg,
                rgba(var(--color-black-rgb), 0.85) 0%,
                rgba(var(--color-black-rgb), 0.72) 45%,
                rgba(var(--color-black-rgb), 0.55) 100%);
    }


    .hero {
        height: 95vh;
    }

.hero.section.section--dark.hero--home.reveal.is-visible {
    height: 77vh;
}
    .hero__track img {
        width: 200px;
        height: 300px;
    }

    .hero__content {
        top: 50%;
    }

    .hero__content.container.nosotros {
        top: 30%;
    }
}


/* LOGOS GRID */

/* logos grid */

.logos-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    align-items: center;
}

figure.wp-block-image.size-full.reveal.is-visible {
    width: 100%;
}

.wp-block-image.size-full.reveal.is-visible img {
    width: 100%;
}


@media (min-width: 800px) {
    .logos-grid-mb {
        display: none;
    }
}

@media (max-width: 800px) {
    .logos-grid {
        display: none;
    }

    .logos-grid-mb {
        display: block;
    }
}

/* services grid */

.service-card {
    min-width: 0;
    background-color: #FFFFFF;
    border-radius: 14px;
    transition: all 0.3s ease;
    height: 100%;
}

.service-card:hover {
    transform: translateY(-5px);
}


/* =========================
   CLEAN LIST
========================= */

.list-clean {
    margin: 0;
    padding: 0;
    list-style: none;
}

.list-clean li {
    margin-bottom: 1rem;
    font-size: 14px;
    color: var(--wp--preset--color--black) !important;
    line-height: 1.5;
    position: relative;
    padding-left: 16px;
}

.list-clean li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-size: 24px;
    line-height: 1;
    top: -1px;
    color: var(--wp--preset--color--black);
}


/* =========================
   TESTIMONIALS FULL WIDTH
========================= */
.testimonials-slider-wrapper {
    width: 100%;
    padding-left: calc((100vw - 1350px) / 2 + 1.1rem);
    margin-top: 3rem;
    /* padding-right: 1.5rem; */
}

.testimonials-slider {
    position: relative;
}

.swiper-wrapper {
    align-items: stretch;
    margin-bottom: 4rem;
}

.swiper-slide {
    height: auto;
    cursor: grab;
}

.testimonial-card {
    height: 500px;
    border-radius: 18px;
    overflow: hidden;
}

.testimonial-bg {
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    background-color: transparent;
}

.testimonial-content {
    padding: 1.5rem;
    color: #fff;
    width: 100%;
}

.testimonial-content p {
    font-size: 17px;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.testimonial-content h5 {
    margin: 0;
    font-weight: 700;
    font-size: 25px;
    margin-bottom: 8px !important;
}

.testimonial-content span {
    font-size: 15px;
    opacity: 0.8;
}

.stars {
    width: 110px;
    margin-bottom: 0.8rem;
}

/* =========================
   ARROWS (RIGHT)
========================= */

.swiper-button-prev::after,
.swiper-button-next::after {
    display: none !important;
}

.testimonials-bottom {
    display: flex;
    justify-content: flex-end;
    margin-top: 2rem;
}

.testimonials-arrows .swiper-button-prev img {
    transform: scaleX(-1);
}

.testimonials-arrows {
    display: flex;
    gap: 1rem;
}

.testimonials-arrows .swiper-button-prev,
.testimonials-arrows .swiper-button-next {
    position: static !important;

    width: 60px;
    height: 60px;

    border-radius: 50%;
    border: 1px solid var(--wp--preset--color--black);
    background: transparent;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.2s ease;
}

.testimonials-arrows img {
    width: 20px;
    height: auto;
    filter: none;
    transition: filter 0.25s ease;
}

/* Hover y click */
.testimonials-arrows .swiper-button-prev:hover,
.testimonials-arrows .swiper-button-next:hover,
.testimonials-arrows .swiper-button-prev:active,
.testimonials-arrows .swiper-button-next:active {
    background: var(--wp--preset--color--black);
    border-color: var(--wp--preset--color--black);
}

.testimonials-arrows .swiper-button-prev:hover img,
.testimonials-arrows .swiper-button-next:hover img,
.testimonials-arrows .swiper-button-prev:active img,
.testimonials-arrows .swiper-button-next:active img {
    filter: invert(1);
}

/* Pequeño feedback al clicar */
.testimonials-arrows .swiper-button-prev:active,
.testimonials-arrows .swiper-button-next:active {
    transform: scale(0.96);
}


@media (max-width: 768px) {
    .testimonials-bottom {
        justify-content: center;
        margin-top: 0rem;
    }

    .swiper-wrapper {
        margin-bottom: 2rem;
    }

    .testimonials-slider-wrapper {
        margin-top: 1rem !important;
    }
}


@media (max-width: 1350px) {

    .testimonials-slider-wrapper {
        padding: 1.5rem;
    }

    .testimonials-slider {
        padding-bottom: 60px;
    }

    .testimonials-slider .swiper-button-prev {
        left: 50%;
        transform: translateX(-60px);
        right: auto;
    }

    .testimonials-slider .swiper-button-next {
        left: 50%;
        transform: translateX(10px);
        right: auto;
    }
}




/* =========================
   ABOUT LOGOS
========================= */

.about__content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between !important;
}


.about__image img {
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
    border-radius: 18px;
    max-height: 500px;
    height: 500px;
}

.about__image {
    height: 500px;
}

@media (max-width: 923px) {
    .about__image img {
        margin-bottom: 2.5rem;
        height: 255px;
    }

    .about__image {
        height: auto;
    }

    .about__content {
        gap: 2rem;
    }
}


.section--about {
    margin-top: 4rem;
}

@media (max-width: 923px) {
    .section--about {
        margin-top: 0;
    }

}


.section--about .logos {
    position: relative;
    overflow: hidden;
}

.section--about .logos__track {
    display: flex;
    gap: 3rem;
    width: max-content;
    align-items: center;
    animation: scrollLogos 45s linear infinite;
}

.section--about .logos__track>* {
    flex: 0 0 auto;
}

.section--about .logos__track img {
    height: 30px;
    opacity: 0.7;
}

.logo--sony {
    height: 60px !important;
}

.section--about .logos__fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}

.section--about .logos__fade--left {
    left: 0;
    background: linear-gradient(to right,
            var(--wp--preset--color--black),
            transparent);
}

.section--about .logos__fade--right {
    right: 0;
    background: linear-gradient(to left,
            var(--wp--preset--color--black),
            transparent);
}

@keyframes scrollLogos {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}


/* =========================
   GRID PORTFOLIO
========================= */

.work__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 400px;
    gap: 1.5rem;
}

.span-3 {
    grid-column: span 3;
}

.span-6 {
    grid-column: span 6;
}

.work__item {
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}

.work__item img,
.work__item video {
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    display: block !important;
}

.work__cta {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    width: 100%;
}

.work__item>a {
    display: block;
    overflow: hidden;
    border-radius: 18px;
}

.work__item>a img {
    display: block;
    width: 100%;
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease;
}

.work__item>a:hover img {
    transform: scale(1.04);
    opacity: 0.85;
}

@media (min-width: 769px) {
    .kumara-card video {
        object-position: center 36%;
    }
}

@media (max-width: 768px) {

    .work__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
        column-gap: 0.5rem !important;
        gap: 0.5rem !important;
    }

    .work__item img {
        height: auto !important;
    }

    .kumara-card video {
        height: 260px !important;
    }

    .work__item {
        display: none;
    }

    .item-3,
    .item-5,
    .item-6 {
        display: block;
    }

    .item-3 {
        grid-column: span 2;
    }

    .item-5,
    .item-6 {
        grid-column: span 1;
    }
}



/* =========================
   FEATURES SECTION
========================= */

.section--features {
    position: relative;
}

.features__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
    margin-top: 4rem;
    align-items: start;
}

.feature {
    text-align: center;
    max-width: 260px;
    margin: 0 auto;
}


.feature__icon {
    width: 72px;
    height: 72px;

    margin: 0 auto 1.5rem;

    border-radius: 50%;
    background: rgba(247, 233, 233, 0.05);

    display: flex;
    align-items: center;
    justify-content: center;
}

.feature__icon svg {
    width: 28px;
    height: 28px;
    fill: var(--wp--preset--color--white);
}


.feature__title {
    font-size: 28px !important;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1rem;
    color: var(--wp--preset--color--white);
}

.feature__text {
    font-size: 15px !important;
    line-height: 1.6;
    opacity: 0.7;
    color: var(--wp--preset--color--white);
}


@media (max-width: 1024px) {
    .features__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .features__grid {
        grid-template-columns: 1fr;
        margin-top: 3rem;
    }

    .feature {
        max-width: 100%;
    }
}



/* =========================
   FORM SYSTEM
========================= */

.form {
    width: 100%;
}

.form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 768px) {
    .form__row {
        grid-template-columns: 1fr;
        gap: 0 !important;
    }
}

.fluentform .ff-el-is-error .text-danger {
    color: var(--fluentform-danger) !important;
}

.form__field .ff-el-form-control {
    width: 100% !important;
    border: none !important;
    border-bottom: 1px solid var(--form-border) !important;
    background: transparent !important;
    padding: 12px 0 !important;
    font-size: 16px;
    color: var(--form-text) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-family: 'raleway' !important;
    margin-bottom: 0;
}

.form__field .ff-el-form-control::placeholder {
    color: var(--form-placeholder);
}

.form__field .ff-el-form-control:focus {
    outline: none;
    border-bottom: 1px solid var(--form-text) !important;
}


.ff-el-group.form__group.form__checkbox,
.ff-el-group.form__group.form__radio {
    border-bottom: 1px solid var(--form-border);
}


.form .ff-el-input--label {
    display: none !important;
}


.form__checkbox .ff-el-form-check,
.form__radio .ff-el-form-check,
.ff-el-input--label {
    margin-bottom: 10px !important;
}

.form .ff-el-form-check-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    cursor: pointer;
    color: var(--form-text);
}

.form .ff-el-form-check-input {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid var(--form-check);
    display: inline-block;
    position: relative;
}

.form .ff-el-form-check-input:checked {
    background: var(--form-check);
}

.form__radio .ff-el-form-check-input {
    border-radius: 50%;
}


.form__checkbox .ff-el-form-check-input.ff-el-form-check-checkbox,
.fluentform .ff-el-form-check-label .ff-el-form-check-input {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 1.5px solid var(--form-check) !important;
    border-radius: 5px !important;
    background: transparent !important;
    position: relative !important;
    cursor: pointer !important;
    display: inline-block !important;
    margin-right: 6px;
}

.form__checkbox .ff-el-form-check-input.ff-el-form-check-checkbox:checked,
.fluentform .ff-el-form-check-label .ff-el-form-check-input:checked {
    background: var(--form-check) !important;
    border-color: var(--form-check) !important;
}

.form__checkbox .ff-el-form-check-input.ff-el-form-check-checkbox:checked::after,
.fluentform .ff-el-form-check-label .ff-el-form-check-input:checked::after {
    content: "";
    position: absolute;

    width: 12px;
    height: 12px;

    background-image: var(--form-check-icon);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.form__legal {
    font-size: 16px;
    color: var(--form-text);
}

.form__legal a {
    text-decoration: underline;
    color: var(--form-text);
}


.form__submit .ff-btn {
    background: var(--form-button-bg) !important;
    color: var(--form-button-text) !important;
    border: none !important;
    padding: 14px 32px !important;
    border-radius: 999px !important;
    margin-top: 1.5rem;
    cursor: pointer !important;
    width: 272px;
    height: 54px;
    transition: all 0.3s ease !important;
}

.form__submit .ff-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

@media (max-width: 924px) {
    .form__submit .ff-btn {
        width: 100%;
    }

}

/* =========================
   FORCE FORM COLORS (FIX FLUENT)
========================= */

.section--dark .fluentform,
.section--dark .fluentform * {
    color: var(--form-text);
}


.section--dark .fluentform .ff-el-form-control {
    color: var(--form-text) !important;
    border-bottom: 1px solid var(--form-border) !important;
}


.section--dark .fluentform .ff-el-form-control::placeholder {
    color: var(--form-placeholder) !important;
}


.section--dark .fluentform .ff-el-form-check-label span,
.section--dark .fluentform label {
    color: var(--form-text) !important;
}


.section--dark .fluentform .ff-el-form-check-input {
    border-color: var(--form-check) !important;
}


.section--dark .fluentform .ff-el-form-check-input:checked {
    background: var(--form-check) !important;
}


.section--dark .fluentform .ff-el-group {
    border-color: var(--form-border) !important;
}



.cta__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

@media (max-width: 768px) {
    .cta__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}




/* =========================
   BRANDING
========================= */

.services-detail__bullets {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;

    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.services-detail__bullets li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px !important;
    font-weight: 700;
}

.services-detail__bullets li::before {
    content: "";
    width: 25px;
    height: 25px;

    background: url("/wp-content/uploads/2026/04/bullet-branding.svg") no-repeat center;
    background-size: contain;

    flex-shrink: 0;
}

.services__list {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.service__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

.service__image {
    width: 100% !important;
    height: 100% !important;
    border-radius: 18px;
    display: block;
    max-height: 458px;
    height: 458px !important;
}

.service__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: flex-start;
    margin-top: 4rem;
}

.service__row.center.reveal.is-visible {
    align-items: center;
}

@media (max-width: 923px) {
    .service__row {
        grid-template-columns: 1fr;
        margin-top: 0;
        gap: 2rem;
    }

    .service__content>h2.gb-text.heading-lg {
        margin-bottom: 0rem !important;
    }

    .service__image {
        height: 200px !important;
    }
    
    .services-detail__bullets {
     gap: 0.5rem;
     flex-direction: column;
}

.services-detail__bullets li {
    justify-content: center;
}

}

.service__row--reverse {
    direction: rtl;
}

.service__row--reverse>* {
    direction: ltr;
}

/* =========================
   ACCORDION BASE
========================= */

.wp-block-accordion {
    border-top: 1px solid #EFEFEF;
    margin-top: 1.5rem;
}

.wp-block-accordion-heading__toggle {
    position: relative;

    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 1rem 40px 1rem 0;

    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #EFEFEF !important;

    color: #EFEFEF;
    cursor: pointer;
}

.wp-block-accordion-heading__toggle:not(:focus-visible) {
    outline: none;
    text-decoration: none !important;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

.wp-block-accordion-heading__toggle-icon {
    display: none;
}

.wp-block-accordion-heading__toggle::after {
    content: "";
    width: 20px;
    height: 20px;

    position: absolute;
    right: 0;
    top: 50%;

    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;

    background: url("/wp-content/uploads/2026/04/arrow-accordion.svg") no-repeat center;
    background-size: contain;

    transition: transform 0.3s ease;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
    transform: translateY(-50%) rotate(90deg);
}


/* =========================
   PROCESS
========================= */

.process__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Línea vertical central */
.process__grid::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    left: 50%;
    top: 0;
    background: rgba(255, 255, 255, 0.1);
}

/* Quitamos la línea horizontal antigua */
.process__grid::after {
    display: none;
}


/* =========================
   PROCESS ITEM
========================= */

.process__item {
    padding: 3rem 2.4rem;
    position: relative;
}

/* Líneas horizontales entre filas */
/* En un grid de 2 columnas:
   item 3 y 4 empiezan fila 2
   item 5 y 6 empiezan fila 3
*/
.process__item:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}


/* =========================
   PROCESS HEADER
========================= */

.process__header {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
    margin-bottom: 2.3rem;
}

.process__number {
    font-size: 120px;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
}

.process__title {
    font-size: 26px;
    position: relative;
    padding-bottom: 15px;
    width: 100%;
}

.process__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
}



@media (max-width: 987px) {

    .process__grid {
        grid-template-columns: 1fr;
    }

    .process__grid::before,
    .process__grid::after {
        display: none;
    }

    .process__item {
        padding: 2rem 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .process__item:first-child {
        border-top: none;
    }

    .process__header {
        gap: 1rem;
        align-items: flex-start !important;
    }

    .process__number {
        font-size: 80px;
        line-height: 0.5;
    }

    .process__title {
        font-size: 22px !important;
    }
}



/* =========================
   FAQ SECTION
========================= */

.section--faq {
    background: var(--wp--preset--color--gray);
    color: var(--wp--preset--color--black);
}


.faq__header {
    max-width: 995px;
    margin: 0 auto 3rem;
}



.faq__header p {
    margin-bottom: 0;
    font-weight: 500;
}


.faq__accordion {
    max-width: 995px;
    margin: 0 auto;
}


.faq__accordion .wp-block-accordion {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.faq__accordion .wp-block-accordion-item {
    background: white;
    border-radius: 8px;
    overflow: hidden;
}


.faq__accordion .wp-block-accordion-heading {
    margin: 0;
    height: 60px;
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
}


.faq__accordion .wp-block-accordion-heading__toggle {
    width: 100%;
    min-height: 54px;
    border: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 1.5rem;

    background: transparent;
    border: none;

    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--wp--preset--color--black);

    cursor: pointer;
    text-align: left;
}


.faq__accordion .wp-block-accordion-heading__toggle-title {
    display: block;
    padding-right: 2rem;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}


.faq__accordion .wp-block-accordion-heading__toggle-icon {
    display: none;
}


.faq__accordion .wp-block-accordion-heading__toggle::after {
    content: "+";

    display: inline-block;
    font-family: auto;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;

    color: var(--wp--preset--color--black);
    background: white !important;

    width: 30px !important;
    height: auto !important;

    transform-origin: 50% 50%;
    transition: transform 0.16s ease-out;
    will-change: transform;
}



.faq__accordion .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
    transform: translateY(-12px) rotate(45deg);
}


.faq__accordion .wp-block-accordion-panel {
    padding: 0 1.5rem 1.5rem;
}


.faq__accordion .wp-block-accordion-panel p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
    opacity: 0.8;
}



@media (max-width: 768px) {

    .faq__accordion .wp-block-accordion-heading {
        height: 80px !important;
    }


    .faq__header {
        margin-bottom: 2rem;
    }

    .faq__header p {
        font-size: 16px;
    }

    .faq__accordion .wp-block-accordion-heading__toggle {
        min-height: 56px;
        padding: 0 1rem;
        font-size: 14px;
    }

    .faq__accordion .wp-block-accordion-panel {
        padding: 0 1rem 1.25rem;
    }
}





/* =========================
   FORMACIÓN
========================= */

.hero__bg.hero__bg--mobile.formacion {
    height: 116vh;
    background: #efefef;
}

.formacion .hero__bg img {
    object-fit: contain;
}

.training-detail__bullets {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.training-detail__bullets li {
    display: flex;
    align-items: center;
    gap: 10px;

    font-size: 20px;
    font-weight: 700;
    color: var(--wp--preset--color--black)
}

.training-detail__bullets li:last-child {
    margin-bottom: 0;
}

.training-detail__bullets li::before {
    content: "";
    width: 35px;
    height: 35px;

    background: url("/wp-content/uploads/2026/05/cross-bullet.svg") no-repeat center;
    background-size: contain;

    flex-shrink: 0;
}


.target__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.75rem;
    margin: 3rem 0 5rem;
}

.target__card {
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 22px;
    padding: 1.5rem;
    min-height: 130px;

    display: flex;
    align-items: center;
}

.target__card p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 0;
}

.target__card strong {
    font-weight: 700;
    color: var(--wp--preset--color--white);
}


.training-target__row {
    margin-top: 2rem;
}

.training-target__row .service__content {
    max-width: 560px;
}

.training-target__row .service__content p {
    max-width: 520px;
}

.training-target__row .service__image {
    border-radius: 18px;
}


@media (max-width: 1024px) {

    .target__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (max-width: 768px) {
    .hero-formacion {
        height: 110vh;
        padding-top: 62rem;
    }

    .hero__content.container.formacion {
        top: 43% !important;
    }

    .hero__content.container.diseno-web {
        top: 33%;
    }

    .training-detail__bullets li {
        justify-content: center;
    }
    
    .hero-formacion h2.wp-block-heading.heading-xl.mb-2.text-black.text-center-mb {
    margin-bottom: 10px !important;
}

    .target__grid {
        grid-template-columns: 1fr;
        margin: 2.5rem 0 4rem;
    }

    .target__card {
        min-height: auto;
        padding: 1.25rem;
        border-radius: 18px;
    }

    .target__card p {
        font-size: 15px;
    }
}



/* =========================
    EL EQUIPO
========================= */



.team__featured {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    margin-bottom: 5rem;
    margin-top: 5rem;
}

.team__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.team__row--reverse {
    direction: rtl;
}

.team__row--reverse>* {
    direction: ltr;
}



.team__image-card {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.team__image-card img {
    width: 100%;
    display: block;
    border-radius: 10px;
    height: 475px;
    max-height: 475px;
}



.team__linkedin {
    position: absolute;
    left: 1.5rem;
    bottom: 1.5rem;


    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.team__linkedin::before {
    content: "";
    width: 40px;
    height: 40px;

    background-image: url("/wp-content/uploads/2026/04/linkedin-icon.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.team__linkedin:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

.team__content h3 {
    margin-bottom: 1.5rem;
    font-size: 36px;
}

.team__content p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.team__content p:last-child {
    margin-bottom: 0;
}



.team__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 500px));
    justify-content: center;
    gap: 1rem;
}

.team__card {
    width: 100%;
    color: var(--wp--preset--color--black);
    border-radius: 8px;
    overflow: hidden;
}

.team__card-text {
    width: 100%;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.team__card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    height: 400px;
}


.team__card-content h4 {
    font-family: 'Raleway', sans-serif !important;
    font-size: 20px !important;
    line-height: 1.2;
    padding: 1rem 1rem 0;
    margin-bottom: 0.25rem !important;
    color: var(--wp--preset--color--black);
}

.team__card-content p {
    font-size: 16px;
    font-family: 'Raleway', sans-serif;
    line-height: 1.4;
    padding: 0 1rem 1rem;
    margin-bottom: 0;
    color: var(--wp--preset--color--black);
}



@media (max-width: 1024px) {
    .team__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    .team__featured {
        margin-top: 3rem;
    }

    .team__featured {
        gap: 4rem;
        margin-bottom: 4rem;
    }

    .team__row,
    .team__row--reverse {
        grid-template-columns: 1fr;
        direction: ltr;
        gap: 2rem;
    }

    .team__grid {
        grid-template-columns: 1fr;
    }
}



/* =========================
   SINGLE CASE - CASOS
========================= */

.case-gallery__video {
    width: 100%;
    height: 840px;
    display: block;
    object-fit: cover;
    border-radius: 18px;
}

.case-single__back::before {
    content: "";
    width: 12px;
    height: auto;

    background-image: url("/wp-content/uploads/2026/04/arrow-prev-.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.case-single__back:hover::before {
    transform: translateX(-3px);
}

.site-content {
    display: block !important;
}

.case-single {
    background: var(--wp--preset--color--black);
    color: var(--wp--preset--color--white);
}


.case-hero {
    width: 100%;
    padding-top: 2rem;
    background: var(--wp--preset--color--gray);
}

.case-hero__image {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    display: block;
    padding-top: 1rem;
}

.section--case-single {
    padding-top: 4rem;
}

.case-single__back {
    display: inline-flex;
    margin-bottom: 2rem;
    gap: 10px;
    font-size: 14px;
    color: var(--wp--preset--color--white);
    opacity: 0.7;
    text-decoration: none;
}

.case-single__back:hover {
    opacity: 1;
    color: var(--wp--preset--color--white) !important;
}

.case-single__tags {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.case-single__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 1.8rem;
    border: 1px solid var(--wp--preset--color--white);
    border-radius: 999px;
    font-size: 14px;
    color: var(--wp--preset--color--white);
    font-weight: 700;
}

.case-single__header {
    margin-bottom: 2.5rem;
}

.case-single__title {
    margin-bottom: 0.75rem;
}

.case-single__subtitle {
    margin-bottom: 0;
    font-size: 28px;
}

.case-single__intro {
    max-width: 720px;
    margin-bottom: 4rem;
}

.case-single__block {
    margin-bottom: 2rem;
}

.case-single__block h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.case-single__text p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

.case-single__website {
    display: inline-block;
    margin-top: 1rem;

    color: var(--wp--preset--color--white);
    font-size: 16px;
    text-decoration: underline;
    opacity: 0.8;
}

.case-single__website:hover {
    opacity: 1;
    color: var(--wp--preset--color--white) !important;
}



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

.case-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.case-gallery__item--wide {
    grid-column: 1 / -1;
}

.case-gallery__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 18px;
}

.case-gallery__video-label {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;

    font-size: 22px;
    font-weight: 700;
    color: #ff3b30;
    text-transform: uppercase;
}



@media (max-width: 768px) {

    .case-hero__image {
        height: 60vh;
    }
    
    body.postid-1055 .case-hero__image {
        height: 36vh;
    }

    .section--case-single {
        padding-top: 3rem;
    }

    .case-gallery {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .case-gallery__item--wide {
        grid-column: auto;
    }

    .case-single__intro {
        margin-bottom: 3rem;
    }

    .case-gallery__video-label {
        right: 1rem;
        bottom: 1rem;
        font-size: 18px;
    }
    
    .case-gallery__video {
    height: 440px;
}
}





/* =========================
   CASES PAGE
========================= */

.section--cases {
    background: var(--wp--preset--color--black);
    color: var(--wp--preset--color--white);
}


.cases__header {
    max-width: 760px;
    margin-bottom: 2rem;
}

.cases__header h1 {
    margin-bottom: 1rem;
}

.cases__header p {
    margin-bottom: 0;
}


.cases__filters {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;

    margin-bottom: 3rem;
}

.cases__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    padding: 0 1.25rem;

    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 999px;

    color: var(--wp--preset--color--white);
    font-size: 14px;
    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.cases__filter:hover,
.cases__filter.is-active {
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
}

.cases__filter:hover {
    transform: translateY(-2px);
}


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


.case-card {
    display: block;
    color: var(--wp--preset--color--white);
    text-decoration: none;
    opacity: 1;
}

.case-card:hover {
    opacity: 1;
}


.case-card__image-wrap {
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
}


.case-card__image {
    width: 100%;
    height: 550px;
    border-radius: 18px;
    object-fit: cover;
    display: block;
    opacity: 1;

    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease;
}


.case-card:hover .case-card__image {
    transform: scale(1.04);
    opacity: 0.85;
}


.case-card__content {
    margin-top: 0.85rem;
    opacity: 1;
}

.case-card__types {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;

    margin-bottom: 0.35rem;

    font-size: 12px;
    opacity: 0.65;
}

.case-card__title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    line-height: 1.15;
    margin-bottom: 0;

    color: var(--wp--preset--color--white);
}

.cases__empty {
    opacity: 0.75;
}



@media (max-width: 1024px) {
    .cases__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .case-card__image {
        height: 480px;
    }
}

@media (max-width: 768px) {
    .cases__header {
        margin-bottom: 2rem;
    }

    .cases__filters {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.75rem;

        overflow: visible;
        padding-bottom: 0;
        margin-bottom: 2rem;
    }

    .cases__filter {
        width: auto;
        flex-shrink: 0;
        min-height: 36px;
    }

    .cases__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .case-card__image {
        height: auto;
        aspect-ratio: 1 / 1.22;
    }

    .case-card__title {
        font-size: 22px;
    }
}


.section.section--cta.hablemos {
    padding-top: 8rem;
}

@media (max-width: 768px) {
    .section.section--cta.hablemos {
        padding-top: 6rem !important;
    }
}


/* =========================
   SEARCH / 404
========================= */

.search-page,
.error-page {
    min-height: 80vh;
    padding-top: 12rem;
    padding-bottom: 8rem;
}

.search-page__header,
.error-page__content {
    max-width: 900px;
}

.search-page__form,
.error-page__form {
    margin-top: 2rem;
    max-width: 520px;
}

.search-page__form form,
.error-page__form form {
    display: flex;
    gap: 0.75rem;
}

.search-page__form input[type="search"],
.error-page__form input[type="search"] {
    width: 100%;
    padding: 1rem 1.25rem;
    border: 1px solid var(--wp--preset--color--white);
    border-radius: 999px;
    background: transparent;
    color: var(--wp--preset--color--white);
}

.search-page__form input[type="submit"],
.error-page__form input[type="submit"] {
    padding: 1rem 1.5rem;
    border-radius: 999px;
    border: 1px solid var(--wp--preset--color--white);
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    cursor: pointer;
}

.search-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 4rem;
}

.search-card {
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.search-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.search-card__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.search-card__content {
    padding: 1.5rem;
}

.search-card__type {
    display: block;
    font-size: 0.8rem;
    opacity: 0.6;
    margin-bottom: 0.5rem;
}

.search-card h2 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.search-card p {
    opacity: 0.75;
    margin-bottom: 0;
}

.search-page__actions,
.error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.search-page__pagination {
    margin-top: 3rem;
}

@media (max-width: 923px) {
    .search-page,
    .error-page {
        padding-top: 8rem;
        padding-bottom: 5rem;
    }

    .search-page__grid {
        grid-template-columns: 1fr;
    }

    .search-page__form form,
    .error-page__form form {
        flex-direction: column;
    }
}


 /* =========================
     COOKIES
  ========================= */
  
.cky-btn-customize {
    color: #1863dc;
    background: #fff0;
    border: 2px solid #efefef !important;
    border-radius: 50px !important;
}