﻿@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

:root {
    /* Colors */
    --brand-primary    : #1f4586;
    --brand-secondary  : #134074;
    --brand-accent     : #1d4ed8;
    --brand-accent-glow: #38bdf8;

    --neutral-light-100: #ffffff;
    --neutral-light-200: #f8fafc;
    --neutral-light-300: #e2e8f0;
    --neutral-dark-100 : #0f172a;
    --neutral-dark-200 : #334155;
    --neutral-dark-300 : #64748b;

    --status-success   : #22c55e;
    --status-warning   : #eab308;
    --status-danger    : #ef4444;

    /* Typography */
    --font-primary     : 'Plus Jakarta Sans', sans-serif;
    --font-secondary   : 'Plus Jakarta Sans', sans-serif;
    --weight-regular   : 400;
    --weight-medium    : 500;
    --weight-semibold  : 600;
    --weight-bold      : 700;

    --text-xs          : 0.75rem;
    --text-sm          : 0.875rem;
    --text-base        : 0.95rem;
    --text-md          : 1.155rem;
    --text-lg          : 1.35rem;
    --text-xl          : 1.65rem;
    --text-2xl         : 2.2rem;
    --text-hero        : 2.6rem;

    --body-font-size   : var(--text-base);

    /* UI */
    --radius-sm        : 4px;
    --radius-md        : 8px;
    --radius-lg        : 12px;
    --shadow-sm        : 0 1px 3px rgba(15, 23, 42, 0.06);
    --shadow-md        : 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.04);
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Responsive type scale */
@media (max-width: 767px) {
    :root {
        --text-xs  : 0.75rem;
        --text-sm  : 0.875rem;
        --text-base: 1rem;
        --text-md  : 1.063rem;
        --text-lg  : 1.2rem;
        --text-xl  : 1.5rem;
        --text-2xl : 1.85rem;
        --text-hero: 2.4rem;
    }
}

/* Responsive type scale */
@media (max-width: 480px) {
    :root {
        --text-xs  : 0.7rem;
        --text-sm  : 0.85rem;
        --text-base: .9rem;
        --text-md  : 1rem;
        --text-lg  : 1.15rem;
        --text-xl  : 1.3rem;
        --text-2xl : 1.6rem;
        --text-hero: 2rem;
    }
}


/* ==========================================================================
   Utilities
   ========================================================================== */

/* Backgrounds */
.bg-brand-primary { background-color: var(--brand-primary); }
.bg-brand-secondary { background-color: var(--brand-secondary); }
.bg-brand-accent { background-color: var(--brand-accent); }
.bg-brand-accent-glow { background-color: var(--brand-accent-glow); }

/* Text colors */
.text-brand-primary { color: var(--brand-primary); }
.text-brand-secondary { color: var(--brand-secondary); }
.text-brand-accent { color: var(--brand-accent); }
.text-brand-accent-glow { color: var(--brand-accent-glow); }

/* Neutral backgrounds */
.bg-neutral-light-100 { background-color: var(--neutral-light-100); }
.bg-neutral-light-200 { background-color: var(--neutral-light-200); }
.bg-neutral-light-300 { background-color: var(--neutral-light-300); }
.bg-neutral-dark-100 { background-color: var(--neutral-dark-100); }
.bg-neutral-dark-200 { background-color: var(--neutral-dark-200); }
.bg-neutral-dark-300 { background-color: var(--neutral-dark-300); }

/* Neutral text colors */
.text-neutral-light-100 { color: var(--neutral-light-100); }
.text-neutral-light-200 { color: var(--neutral-light-200); }
.text-neutral-light-300 { color: var(--neutral-light-300); }
.text-neutral-dark-100 { color: var(--neutral-dark-100); }
.text-neutral-dark-200 { color: var(--neutral-dark-200); }
.text-neutral-dark-300 { color: var(--neutral-dark-300); }

/* Status backgrounds */
.bg-status-success { background-color: var(--status-success); }
.bg-status-warning { background-color: var(--status-warning); }
.bg-status-danger { background-color: var(--status-danger); }

/* Status text colors */
.text-status-success { color: var(--status-success); }
.text-status-warning { color: var(--status-warning); }
.text-status-danger { color: var(--status-danger); }

/* Status borders */
.border-status-success { border: 2px solid var(--status-success); }
.border-status-warning { border: 2px solid var(--status-warning); }
.border-status-danger { border: 2px solid var(--status-danger); }

/* Font families and weights */
.font-primary { font-family: var(--font-primary); }
.font-secondary { font-family: var(--font-secondary); }

.weight-regular { font-weight: var(--weight-regular); }
.weight-medium { font-weight: var(--weight-medium); }
.weight-semibold { font-weight: var(--weight-semibold); }
.weight-bold { font-weight: var(--weight-bold); }

/* Text sizes */
.text-xs { font-size: var(--text-xs); }
.text-sm { font-size: var(--text-sm); }
.text-base { font-size: var(--text-base); }
.text-md { font-size: var(--text-md); }
.text-lg { font-size: var(--text-lg); }
.text-xl { font-size: var(--text-xl); }
.text-2xl { font-size: var(--text-2xl); }
.text-hero { font-size: var(--text-hero); line-height: 1.2; }

/* ==========================================================================
   Header
   ========================================================================== */
.cont--header {
    padding-top: 15px;
    padding-bottom: 15px;
} 

header.smaller {
    background: var(--brand-primary) !important;
}

.cont--header .col--btn-menu {
    display: none;
} 


/* ==========================================================================
   Cabezales
   ========================================================================== */

.about-hero {
    padding-top: 14%;
    text-align : center;
    position   : relative;
    overflow   : hidden;
    background : linear-gradient(135deg, #1f4586, #11264b);
}
.about-hero:before {
    content            : '';
    width              : 100%;
    height             : 100%;
    position           : absolute;
    top                : 0;
    left               : 0;
    z-index            : 1;

    background-size    : cover;
    background-position: center bottom;
    background-repeat  : no-repeat;
    background-image   : url(../images/cab.svg);
    opacity            : .6
}

    .about-hero h1 {
        margin         : 0;
        color          : #fff;
        font-family    : var(--font-primary);
        font-size      : 42px;
        font-weight    : var(--weight-regular);
        line-height    : 1.2;
        z-index        : 10;

        width          : 100%;
        height         : 100%;
        position       : absolute;
        top            : 0;
        left           : 0;
        display        : flex;
        align-items    : end;
        justify-content: center;
        transform      : translateY(-75px);
    }



/* ==========================================================================
   Home
   ========================================================================== */

/* Slide */
.sec--slide {
    height: 82vh;
    width: 100%;
    padding: 0;
    background-color: var(--brand-primary);
}

.sec--slide .swiper {
    width: 100%;
    height: 100%;
}

.sec--slide .swiper-slide {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden !important;
}

.sec--slide .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff !important;
}

.sec--slide .slide-bg {
    transform: scale(1.12);
    will-change: transform;
    transition: transform 6000ms cubic-bezier(0.25, 1, 0.5, 1);
}

.sec--slide .swiper-slide-active .slide-bg,
.sec--slide .swiper-slide-duplicate-active .slide-bg {
    transform: scale(1);
}

.sec--slide .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) .slide-bg {
    transform: scale(1.12);
    transition: transform 0s 1500ms;
}

.sec--slide h1 {
    font-size: var(--text-hero);
    font-weight: 400;
}
.sec--slide h2 {
    font-size: var(--text-xl);
    font-weight: 300;
}


/* Intro */
.sec--intro {
    padding: 60px 0 40px;
    background: var(--neutral-light-100);
}

.sec--intro__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 90px;
}

.sec--intro__text {
    font-family: var(--font-secondary);
    font-size: var(--text-lg);
    font-weight: var(--weight-regular);
    color: var(--neutral-dark-200);
    line-height: 1.6;
    margin: 0;
    max-width: inherit;
}

.btn--intro {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 28px;
    background: var(--brand-primary);
    color: var(--neutral-light-100);
    border: 2px solid var(--brand-primary);
    border-radius: var(--radius-md);
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: var(--transition-smooth);
}

.btn--intro svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.btn--intro:hover {
    background: transparent;
    color: var(--brand-primary);
}

.btn--intro:hover svg {
    transform: translateX(4px);
}

/* Blocks */
.sec--bloques {
    padding-top: 0;
}

.sec--bloques p {
    color: var(--brand-primary);
    text-align: center;
}

/* Computer vision cards */
.sec--computer {
    padding: 80px 0 90px;
    background: var(--neutral-light-100);
}

.sec--computer .sec--computer__header {
    margin-bottom: 52px;
}

.sec--computer .sec--computer__title {
    font-family: var(--font-primary);
    font-size: var(--text-2xl);
    font-weight: var(--weight-regular);
    margin-bottom: 14px;
    line-height: 1.2;
    letter-spacing: 0;
}

.sec--computer .sec--computer__subtitle {
    font-family: var(--font-secondary);
    font-size: var(--text-md);
    font-weight: var(--weight-regular);
    margin: 0;
}

.sec--computer .sec--computer__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.sec--computer .cv-card {
    background: linear-gradient(135deg, #1f4586, #11264b);
    border-radius: var(--radius-md);
    padding: 40px 30px 36px;
    text-align: center;
    transition: var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.sec--computer .cv-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--brand-accent) 0%, transparent 60%);
    opacity: 0;
    transition: var(--transition-smooth);
    border-radius: var(--radius-md);
}

.sec--computer .cv-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(11, 37, 69, 0.28);
}

.sec--computer .cv-card:hover::before {
    opacity: 0.12;
}

.sec--computer .cv-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 22px;
    color: var(--brand-accent-glow);
    position: relative;
    z-index: 1;
}

.sec--computer .cv-card__icon svg {
    width: 100%;
    height: 100%;
}

.sec--computer .cv-card__title {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    color: var(--neutral-light-100);
    margin-bottom: 12px;
    line-height: 1.3;
    position: relative;
    z-index: 1;
}

.sec--computer .cv-card__divider {
    width: 36px;
    height: 2px;
    background: var(--brand-accent-glow);
    margin: 0 auto 16px;
    border-radius: 2px;
    opacity: 0.6;
    position: relative;
    z-index: 1;
}

.sec--computer .cv-card__text {
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.65;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Why */
.sec--why {
    padding: 80px 0 90px;
    background: var(--neutral-light-100);
}

.sec--why__header {
    margin-bottom: 52px;
}

.sec--why__title {
    font-family: var(--font-primary);
    font-size: var(--text-2xl);
    font-weight: var(--weight-regular);
    margin-bottom: 14px;
    line-height: 1.2;
    letter-spacing: 0;
}

.sec--why__subtitle {
    font-family: var(--font-secondary);
    font-size: var(--text-md);
    font-weight: var(--weight-regular);
    color: var(--neutral-dark-300);
    margin: 0;
}

.sec--why__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    align-items: start;
}

.why-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.why-accordion {
    border: 1.5px solid var(--neutral-light-300);
    border-radius: var(--radius-md);
    background: var(--neutral-light-200);
    overflow: hidden;
    transition: var(--transition-smooth);
}

.why-accordion:hover {
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-md);
}

.why-accordion--active {
    background: var(--brand-secondary);
    border-color: var(--brand-secondary);
}

.why-accordion--active:hover {
    border-color: var(--brand-accent);
}

.why-accordion__trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 30px 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: var(--transition-smooth);
}

.why-accordion__trigger span {
    font-family: var(--font-secondary);
    font-size: var(--text-md);
    font-weight: var(--weight-semibold);
    color: var(--brand-secondary);
    line-height: 1.3;
    transition: var(--transition-smooth);
}

.why-accordion--active .why-accordion__trigger span {
    color: var(--neutral-light-100);
}

.why-accordion__chevron {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: var(--brand-secondary);
    transition: transform 0.3s ease, color 0.3s ease;
}

.why-accordion--active .why-accordion__chevron {
    color: var(--neutral-light-100);
    transform: rotate(180deg);
}

.why-accordion__body {
    display: none;
    padding: 0 24px 22px;
}

.why-accordion--active .why-accordion__body {
    display: block;
}

.why-accordion__body p {
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    color: var(--neutral-dark-200);
    line-height: 1.65;
    margin: 0;
}

.why-accordion--active .why-accordion__body p {
    color: rgba(255, 255, 255, 0.80);
}

/* Value */
.sec--value {
    padding: 60px 0;
    background: linear-gradient(135deg, #1f4586, #11264b);
}

.sec--value__inner {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    min-height: 600px;
}

.sec--value__left {
    display: flex;
    align-items: flex-start;
    padding: 80px 60px 80px 0;
}

.sec--value__title {
    font-family: var(--font-primary);
    font-size: 3rem;
    font-weight: var(--weight-regular);
    color: var(--neutral-light-100);
    line-height: normal;
    margin: 0;
    letter-spacing: 0;
}

.sec--value__right {
    padding: 60px 0 60px 60px;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.btn--aco-value {
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-md);
    background: transparent;
    overflow: hidden;
    margin-bottom: 14px;
    transition: var(--transition-smooth);
}

.btn--aco-value:last-child {
    margin-bottom: 0;
}

.btn--aco-value:hover {
    border-color: rgba(56, 189, 248, 0.45);
}

.btn--aco-value.activo {
    background: var(--neutral-light-100);
    border-color: var(--neutral-light-100);
}

.value-accordion__trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 30px 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: var(--transition-smooth);
}

.value-accordion__trigger span {
    font-family: var(--font-secondary);
    font-size: var(--text-md);
    font-weight: var(--weight-semibold);
    color: var(--neutral-light-100);
    line-height: 1.3;
    transition: color 0.3s ease;
}

.btn--aco-value.activo .value-accordion__trigger span {
    color: var(--brand-secondary);
}

.value-accordion__chevron {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: var(--neutral-light-100);
    transition: transform 0.3s ease, color 0.3s ease;
}

.btn--aco-value.activo .value-accordion__chevron {
    color: var(--brand-secondary);
    transform: rotate(180deg);
}

.value-accordion__body {
    display: none;
    padding: 0 24px 22px;
}

.btn--aco-value.activo .value-accordion__body {
    display: block;
}

.value-accordion__body p {
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    color: var(--neutral-dark-200);
    line-height: 1.65;
    margin: 0;
}

/* Highlight box */
.sec--box-destacado {
    padding: 40px 0 60px;
    background: var(--neutral-light-100);
}

.box-destacado {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 52px 60px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: #1f4586;
    background: linear-gradient(to right, #1f4586, #0e2246) !important;
}

.box-destacado:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
    background-image: url(../images/textura.png);
}


.box-destacado__content {
    position: relative;
    z-index: 1;
    flex: 1;
}

.box-destacado__title {
    font-family: var(--font-primary);
    font-size: var(--text-2xl);
    font-weight: var(--weight-regular);
    color: var(--neutral-light-100);
    line-height: 1.2;
    margin: 0 0 10px;
}

.box-destacado__text {
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.6;
    margin: 0;
}

.box-destacado__cta {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

.btn--destacado {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    background: var(--neutral-light-100);
    color: var(--brand-secondary);
    border: 2px solid var(--neutral-light-100);
    border-radius: var(--radius-md);
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    text-decoration: none;
    transition: var(--transition-smooth);
    white-space: nowrap;
}

.btn--destacado svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.btn--destacado:hover {
    background: transparent;
    color: var(--neutral-light-100);
    border-color: var(--neutral-light-100);
}

.btn--destacado:hover svg {
    transform: translateX(4px);
}

/* Services */
.sec--services {
    padding: 80px 0 90px;
    background: linear-gradient(
        180deg,
        #eef4fb 0%,
        var(--neutral-light-100) 18%,
        var(--neutral-light-100) 82%,
        #eef4fb 100%
    );
}

.sec--services .sec--services__header {
    margin-bottom: 52px;
}

.sec--services .sec--services__title {
    font-family: var(--font-primary);
    font-size  : var(--text-2xl);
    font-weight: var(--weight-regular);
    margin     : 0;
    line-height: 1.2;
}

.sec--services .sec--services__grid {
    display              : grid;
    grid-template-columns: repeat(4, 1fr);
    gap                  : 20px;
    align-items          : stretch;
}

.sec--services .service-card {
    background   : var(--neutral-light-100);
    border       : 1px solid rgba(226, 232, 240, 0.9);
    border-radius: var(--radius-lg);
    padding      : 30px;
    text-align   : center;
    box-shadow   : var(--shadow-sm);
    transition   : var(--transition-smooth);
}

.sec--services .service-card__title {
    font-family   : var(--font-primary);
    font-size     : var(--text-lg);
    font-weight   : var(--weight-semibold);
    color         : var(--brand-primary);
    margin        : 0 0 20px;
    line-height   : 1.35;
    padding-bottom: 20px;
    position      : relative;
}

.sec--services .service-card__title:after {
    content   : '';
    width     : 50%;
    height    : 1px;
    background: var(--brand-primary);
    position  : absolute;
    right     : 0;
    bottom    : 0;
    left      : 0;
    margin    : auto;
}


.sec--services .service-card__text {
    font-family: var(--font-secondary);
    font-size  : var(--text-base);
    font-weight: var(--weight-regular);
    color      : var(--neutral-dark-200);
    line-height: 1.65;
    margin     : 0;
}

/* FAQ */
.sec--faq {
    padding: 80px 0 90px;
    background: var(--neutral-light-200);
}

.sec--faq__inner {
    display: grid;
    grid-template-columns: 0.9fr 1.4fr;
    gap: 40px 60px;
    align-items: start;
}

.sec--faq__left {
    padding-top: 8px;
}

.sec--faq__title {
    font-family   : var(--font-primary);
    font-size     : 3rem;
    font-weight   : var(--weight-regular);
    color         : var(--brand-primary);
    line-height   : normal;
    margin        : 0;
    letter-spacing: 0;
}

.sec--faq__right {
    min-width: 0;
}

#aco-faq {
    display       : flex;
    flex-direction: column;
    gap           : 14px;
}

.faq-accordion {
    border       : 1.5px solid var(--neutral-light-300);
    border-radius: var(--radius-md);
    background   : linear-gradient(180deg, #f4f8fc 0%, var(--neutral-light-100) 100%);
    overflow     : hidden;
    transition   : var(--transition-smooth);
}

.faq-accordion:hover {
    border-color: rgba(19, 64, 116, 0.35);
    box-shadow: var(--shadow-sm);
}

.faq-accordion--active {
    background: #fff;
    box-shadow: var(--shadow-md);
}

.faq-accordion__trigger {
    width          : 100%;
    display        : flex;
    align-items    : center;
    justify-content: space-between;
    gap            : 16px;
    padding        : 30px 25px;
    background     : transparent;
    border         : none;
    cursor         : pointer;
    text-align     : left;
    transition     : var(--transition-smooth);
}

.faq-accordion__trigger span {
    font-family: var(--font-secondary);
    font-size  : var(--text-md);
    font-weight: var(--weight-semibold);
    color      : var(--brand-primary);
    line-height: 1.35;
}

.faq-accordion__chevron {
    width      : 22px;
    height     : 22px;
    flex-shrink: 0;
    color      : var(--brand-secondary);
    transition : transform 0.3s ease, color 0.3s ease;
}

.faq-accordion--active .faq-accordion__chevron {
    color    : var(--brand-accent);
    transform: rotate(180deg);
}

.faq-accordion__body {
    display: none;
    padding: 0 24px 22px;
}

.faq-accordion--active .faq-accordion__body {
    display: block;
}

.faq-accordion__body p {
    font-family: var(--font-secondary);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    color: var(--neutral-dark-200);
    line-height: 1.65;
    margin: 0 0 14px;
}

.faq-accordion__body p:last-child {
    margin-bottom: 0;
}

.faq-accordion__body strong {
    font-weight: var(--weight-semibold);
    color: var(--neutral-dark-100);
}


/* ==========================================================================
   Automated Document Processing
   ========================================================================== */

.adp-page {
    background: var(--neutral-light-100);
    color: var(--brand-primary);
    font-family: var(--font-primary);
}

.adp-page h1,
.adp-page h2,
.adp-page h3,
.adp-page p {
    letter-spacing: 0;
}

.adp-hero {
    padding: 145px 0 90px;
    background: linear-gradient(90deg, #234f95 0%, #122a52 100%);
    color: var(--neutral-light-100);
}

.adp-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    align-items: center;
    gap: 72px;
}

.adp-eyebrow {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
}

.adp-hero h1 {
    margin: 0 0 24px;
    color: var(--neutral-light-100);
    font-size: clamp(2.4rem, 4.8vw, 4.9rem);
    line-height: 1.05;
    font-weight: var(--weight-regular);
}

.adp-hero p {
    max-width: 560px;
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--text-md);
    line-height: 1.7;
}

.adp-hero__visual {
    position: relative;
    min-height: 470px;
}

.adp-doc-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: 0 24px 70px rgba(3, 12, 30, 0.3);
}

.adp-doc-card--main {
    width: min(420px, 78%);
    height: 470px;
}

.adp-doc-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.adp-entity-panel {
    position: absolute;
    right: 0;
    bottom: 28px;
    width: min(360px, 62%);
    padding: 22px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.96);
    color: var(--neutral-dark-100);
    box-shadow: 0 22px 60px rgba(3, 12, 30, 0.24);
}

.adp-entity-panel__label {
    display: block;
    margin-bottom: 14px;
    color: var(--brand-primary);
    font-size: var(--text-sm);
    font-weight: var(--weight-bold);
}

.adp-entity-panel div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid var(--neutral-light-300);
    font-size: var(--text-sm);
}

.adp-entity-panel strong {
    color: var(--neutral-dark-300);
    font-weight: var(--weight-semibold);
}

.adp-service {
    padding: 66px 0;
    background: var(--brand-secondary);
    color: var(--neutral-light-100);
    text-align: center;
}

.adp-service__inner {
    max-width: 900px;
    margin: 0 auto;
}

.adp-service h2 {
    margin: 0 0 18px;
    color: var(--neutral-light-100);
    font-size: var(--text-2xl);
    font-weight: var(--weight-regular);
}

.adp-service p {
    max-width: 760px;
    margin: 0 auto 26px;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
}

.adp-service__highlight {
    padding: 20px 28px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-size: var(--text-base);
    line-height: 1.55;
}

.adp-intro {
    padding: 76px 0 30px;
}

.adp-section-heading {
    max-width: 780px;
    margin: 0 auto 74px;
    text-align: center;
}

.adp-section-heading h2 {
    margin: 0 0 20px;
    color: var(--brand-primary);
    font-size: var(--text-2xl);
    font-weight: var(--weight-regular);
}

.adp-section-heading p {
    margin: 0;
    color: var(--brand-primary);
    font-size: var(--text-base);
    line-height: 1.65;
}

.adp-feature-grid {
    display: grid;
    gap: 86px;
}

.adp-feature {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    align-items: center;
    gap: 74px;
}

.adp-feature--reverse .adp-feature__content {
    order: 2;
}

.adp-feature__content h3 {
    margin: 0 0 22px;
    color: var(--brand-primary);
    font-size: var(--text-2xl);
    line-height: 1.15;
    font-weight: var(--weight-regular);
}

.adp-feature__content p {
    margin: 0 0 16px;
    color: var(--brand-primary);
    font-size: var(--text-base);
    line-height: 1.7;
}

.adp-feature__media {
    overflow: hidden;
    min-height: 360px;
    border-radius: var(--radius-sm);
    background: var(--neutral-light-200);
    box-shadow: var(--shadow-md);
}

.adp-feature__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: top center;
}

.adp-feature__media--interface {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 44px;
    background: linear-gradient(135deg, #eef4ff, #ffffff);
}

.adp-routing-card {
    width: 100%;
    max-width: 440px;
    overflow: hidden;
    border: 1px solid var(--neutral-light-300);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: 0 18px 45px rgba(31, 69, 134, 0.12);
}

.adp-routing-card__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 26px;
    background: var(--brand-primary);
    color: #fff;
}

.adp-routing-card__top span {
    font-weight: var(--weight-semibold);
}

.adp-routing-card__top strong {
    color: var(--status-success);
    font-size: var(--text-xl);
}

.adp-routing-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.adp-routing-card li {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 26px;
    border-top: 1px solid var(--neutral-light-300);
    color: var(--neutral-dark-200);
}

.adp-routing-card li strong {
    color: var(--brand-primary);
    font-weight: var(--weight-semibold);
    white-space: nowrap;
}

.adp-benefits {
    padding: 82px 0;
    background: var(--neutral-light-200);
}

.adp-benefits__grid {
    display: grid;
    grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
    gap: 66px;
}

.adp-benefits h2 {
    margin: 0 0 20px;
    color: var(--brand-primary);
    font-size: var(--text-2xl);
    line-height: 1.15;
    font-weight: var(--weight-regular);
}

.adp-benefits p {
    color: var(--brand-primary);
    line-height: 1.65;
}

.adp-benefit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.adp-benefit {
    padding: 30px;
    border: 1px solid rgba(31, 69, 134, 0.1);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.adp-benefit span {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--brand-accent);
    font-size: var(--text-sm);
    font-weight: var(--weight-bold);
}

.adp-benefit h3 {
    margin: 0 0 12px;
    color: var(--brand-primary);
    font-size: var(--text-lg);
}

.adp-benefit p {
    margin: 0;
    color: var(--neutral-dark-200);
    font-size: var(--text-sm);
}

.adp-journey {
    padding: 92px 0 110px;
}

.adp-journey__grid {
    display: grid;
    grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
    gap: 72px;
}

.adp-journey__title h2 {
    position: sticky;
    top: 120px;
    margin: 0;
    color: var(--brand-primary);
    font-size: var(--text-2xl);
    line-height: 1.15;
    font-weight: var(--weight-regular);
}

.adp-timeline {
    position: relative;
    display: grid;
    gap: 34px;
}

.adp-timeline:before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 18px;
    width: 1px;
    background: rgba(31, 69, 134, 0.28);
}

.adp-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 26px;
}

.adp-timeline__item > span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--brand-primary);
    color: #fff;
    font-size: var(--text-sm);
    font-weight: var(--weight-bold);
}

.adp-timeline__item h3 {
    margin: 0 0 8px;
    color: var(--brand-primary);
    font-size: var(--text-base);
    font-weight: var(--weight-bold);
}

.adp-timeline__item p {
    margin: 0;
    color: var(--brand-primary);
    line-height: 1.65;
}

@media (max-width: 991px) {
    .adp-hero {
        padding: 130px 0 74px;
    }

    .adp-hero__inner,
    .adp-feature,
    .adp-benefits__grid,
    .adp-journey__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .adp-hero__visual {
        min-height: 410px;
    }

    .adp-doc-card--main {
        height: 410px;
    }

    .adp-feature--reverse .adp-feature__content {
        order: 0;
    }

    .adp-journey__title h2 {
        position: static;
    }
}

@media (max-width: 767px) {
    .adp-hero {
        padding: 112px 0 58px;
    }

    .adp-hero h1 {
        font-size: var(--text-hero);
    }

    .adp-hero__visual {
        min-height: auto;
    }

    .adp-doc-card--main {
        width: 100%;
        height: 360px;
    }

    .adp-entity-panel {
        position: static;
        width: 100%;
        margin-top: 18px;
    }

    .adp-service,
    .adp-intro,
    .adp-benefits,
    .adp-journey {
        padding: 58px 0;
    }

    .adp-section-heading {
        margin-bottom: 48px;
    }

    .adp-feature-grid {
        gap: 58px;
    }

    .adp-feature {
        gap: 26px;
    }

    .adp-feature__media,
    .adp-feature__media img {
        min-height: 280px;
    }

    .adp-benefit-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .adp-hero h1,
    .adp-service h2,
    .adp-section-heading h2,
    .adp-feature__content h3,
    .adp-benefits h2,
    .adp-journey__title h2 {
        font-size: var(--text-xl);
    }

    .adp-feature__media--interface {
        padding: 24px;
    }

    .adp-routing-card li {
        flex-direction: column;
        gap: 6px;
    }
}

/* Reference-layout correction for automated-document.php */
.adp-page--reference {
    background: #fff;
}

.adp-page--reference .container {
    max-width: 1040px;
}

.adp-reference-top {
    padding: 142px 0 58px;
    background: linear-gradient(90deg, #244f93 0%, #112a52 100%);
    text-align: center;
    color: #fff;
}

.adp-reference-top h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 24px;
    font-weight: var(--weight-semibold);
    line-height: 1.25;
}

.adp-reference-top p {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
}

.adp-reference-hero {
    padding: 72px 0 82px;
    background: #fff;
}

.adp-reference-split,
.adp-reference-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
    align-items: start;
    gap: 72px;
}

.adp-reference-row {
    margin-bottom: 92px;
}

.adp-reference-row--reverse .adp-reference-copy {
    order: 2;
}

.adp-reference-copy h2,
.adp-reference-copy h3,
.adp-reference-heading h2,
.adp-reference-journey__title h2 {
    margin: 0 0 28px;
    color: var(--brand-primary);
    font-weight: var(--weight-regular);
    line-height: 1.12;
}

.adp-reference-copy h2 {
    font-size: 44px;
}

.adp-reference-copy h3,
.adp-reference-heading h2,
.adp-reference-journey__title h2 {
    font-size: 40px;
}

.adp-reference-copy p,
.adp-reference-heading p {
    margin     : 0 0 15px;
    color      : var(--brand-primary);
    font-size  : 1rem;
    line-height: 1.65;
}

.adp-reference-media {
    overflow  : hidden;
    width: 100%;
    float: left;
    height: 0;
    padding-top: 81%;
    position: relative;
}

.adp-reference-media img {
    display        : block;
    width          : 100% !important;
    border-radius  : 8px;
    object-fit     : cover;
    object-position: top center;
    height: 100% !Important;

    position: absolute;
    top: 0;
    left: 0;
}

.adp-reference-hero .adp-reference-media {
    min-height: inherit;
}

.adp-reference-hero .adp-reference-media img {
    height: auto;
}

.adp-reference-service {
    padding: 58px 0 66px;
    background: #173d79;
    color: #fff;
    text-align: center;
}

.adp-reference-service__inner {
    max-width: 760px;
    margin: 0 auto;
}

.adp-reference-service.fix  {
    padding: 58px 0;
}
.adp-reference-service.fix .container {
    padding: 0 90px;
    width  : 100%;
    max-width: inherit !important;
}
.adp-reference-service.fix .adp-reference-service__inner {
    margin: 0;
    width: 100%;
    max-width: inherit;
    display: contents;
}

.adp-reference-service.fix .adp-reference-service__inner > div {
    padding    : 18px 34px;
    background : rgba(255, 255, 255, 0.09);
    color      : rgba(255, 255, 255, 0.92);
    font-size  : 14px;
    line-height: 1.45;
}

.adp-reference-content {
    padding: 74px 0 10px;
}

.adp-reference-heading {
    max-width : 720px;
    margin    : 0 auto 92px;
    text-align: center;
}

.adp-reference-heading h2 {
    margin-bottom: 18px;
}

.adp-reference-media--panel {
    display        : flex;
    align-items    : center;
    justify-content: center;
    padding        : 36px;
    background     : #f6f8fc;
}

.adp-reference-panel {
    width     : 100%;
    max-width : 390px;
    border    : 1px solid #dfe5ef;
    background: #fff;
    box-shadow: 0 18px 42px rgba(31, 69, 134, 0.12);
}

.adp-reference-panel__header,
.adp-reference-panel__row {
    display        : flex;
    justify-content: space-between;
    gap            : 20px;
    padding        : 18px 22px;
}

.adp-reference-panel__header {
    background : var(--brand-primary);
    color      : #fff;
    font-weight: var(--weight-semibold);
}

.adp-reference-panel__header strong {
    color: var(--status-success);
}

.adp-reference-panel__row {
    border-top: 1px solid #edf1f6;
    color: var(--neutral-dark-200);
    font-size: 14px;
}

.adp-reference-panel__row strong {
    color: var(--brand-primary);
}

.adp-reference-journey {
    padding: 26px 0 112px;
}

.adp-reference-journey__grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    gap: 64px;
}

.adp-reference-timeline {
    position: relative;
    display: grid;
    gap: 30px;
}

.adp-reference-timeline:before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 22px;
    left: 18px;
    width: 1px;
    background: rgba(31, 69, 134, 0.35);
}

.adp-reference-timeline article {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 24px;
}

.adp-reference-timeline article > span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: var(--brand-primary);
    color: #fff;
    font-size: 14px;
    font-weight: var(--weight-bold);
}

.adp-reference-timeline h3 {
    margin: 0 0 8px;
    color: var(--brand-primary);
    font-size: 15px;
    font-weight: var(--weight-bold);
}

.adp-reference-timeline p {
    margin: 0;
    color: var(--brand-primary);
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 991px) {
    .adp-reference-split,
    .adp-reference-row,
    .adp-reference-journey__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .adp-reference-row--reverse .adp-reference-copy {
        order: 0;
    }

    .adp-reference-row {
        margin-bottom: 64px;
    }
}

@media (max-width: 767px) {
    .adp-reference-top {
        padding: 116px 0 44px;
    }

    .adp-reference-hero,
    .adp-reference-content,
    .adp-reference-service,
    .adp-reference-journey {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .adp-reference-copy h2,
    .adp-reference-copy h3,
    .adp-reference-heading h2,
    .adp-reference-journey__title h2 {
        font-size: 30px;
    }

    .adp-reference-heading {
        margin-bottom: 58px;
    }

    .adp-reference-media,
    .adp-reference-hero .adp-reference-media {
        min-height: 280px;
    }

    .adp-reference-media img,
    .adp-reference-hero .adp-reference-media img {
        height: 280px;
    }
}


/* ==========================================================================
   ABOUT US
   ========================================================================== */

.about-page {
    background: #fff;
    color: var(--brand-primary);
}


/* Intro */
.about-intro {
    padding: 92px 0 54px;
}

.about-intro__header,
.about-team__header {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.about-intro__header h2,
.about-story h2,
.about-team__header h2 {
    margin: 0 0 22px;
    color: var(--brand-primary);
    font-family: var(--font-primary);
    font-size: 52px;
    font-weight: var(--weight-regular);
    line-height: 1.12;
}

.about-intro__header p,
.about-team__header p,
.about-timeline__item p,
.about-member p {
    color: var(--brand-primary);
    font-family: var(--font-secondary);
    font-size: 17px;
    font-weight: var(--weight-regular);
    line-height: 1.45;
}

.about-intro__header p {
    margin: 0 auto;
}

.about-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 72px;
}

.about-gallery figure,
.about-member figure {
    margin: 0;
    overflow: hidden;
    border-radius: 3px;
    background: #eef2f7;
}

.about-gallery img,
.about-member img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-gallery figure {
    aspect-ratio: 1.22 / 1;
}

.about-story {
    padding: 52px 0 56px;
    text-align: center;
}

.about-story h2 {
    margin-bottom: 58px;
}

.about-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}

.about-timeline:before {
    content: "";
    position: absolute;
    top: 52px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(31, 69, 134, 0.65);
}

.about-timeline__item {
    position: relative;
    z-index: 1;
}

.about-timeline__year {
    margin-bottom: 18px;
    color: var(--brand-primary);
    font-family: var(--font-primary);
    font-size: 28px;
    font-weight: var(--weight-regular);
    line-height: 1;
}

.about-timeline__dot {
    width: 22px;
    height: 22px;
    margin: 0 auto 26px;
    border-radius: 999px;
    background: var(--brand-primary);
}

.about-timeline__item h3,
.about-member h3 {
    margin: 0 0 18px;
    color: var(--brand-primary);
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: var(--weight-bold);
    line-height: 1.25;
}

.about-timeline__item p {
    max-width: 330px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.65;
}

.about-team {
    padding: 48px 0 104px;
}

.about-team__header {
    margin-bottom: 68px;
}

.about-team__header h2 {
    margin-bottom: 18px;
}

.about-team__header p {
    margin: 0;
}

.about-team__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.about-member {
    text-align: center;
}

.about-member figure {
    aspect-ratio: 1.22 / 1;
    margin-bottom: 34px;
}

.about-member h3 {
    margin-bottom: 12px;
}

.about-member p {
    margin: 0;
    font-size: 17px;
}

@media (max-width: 991px) {
    .about-intro__header h2,
    .about-story h2,
    .about-team__header h2 {
        font-size: 40px;
    }

    .about-gallery,
    .about-team__grid {
        gap: 24px;
    }

    .about-timeline {
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .about-hero {
        padding: 118px 0 48px;
    }

    .about-intro,
    .about-story,
    .about-team {
        padding: 54px 0;
    }

    .about-intro__header h2,
    .about-story h2,
    .about-team__header h2 {
        font-size: 32px;
    }

    .about-intro__header p,
    .about-team__header p,
    .about-member p {
        font-size: 15px;
    }

    .about-gallery,
    .about-team__grid,
    .about-timeline {
        grid-template-columns: 1fr;
    }

    .about-gallery {
        margin-top: 42px;
    }

    .about-story h2 {
        margin-bottom: 38px;
    }

    .about-timeline {
        gap: 42px;
    }

    .about-timeline:before {
        top: 0;
        bottom: 0;
        left: 50%;
        right: auto;
        width: 1px;
        height: auto;
        transform: translateX(-50%);
        opacity: 0.25;
    }

    .about-timeline__item {
        background: #fff;
    }

    .about-team__header {
        margin-bottom: 42px;
    }
}









.adp-reference-service.fix .d--grid {
    display    : flex;
    align-items: center;
    justify-content: center;
    gap        : 20px; /* Espaciado entre cajas */
    align-items: stretch; /* Fuerza a que todas las .box tengan el mismo alto */
    padding    : 0;
}
.adp-reference-service.fix .d--grid.grid--4 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); /* Columnas responsivas */
}
.adp-reference-service.fix .d--grid.grid--5 {
    grid-template-columns: repeat(5, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Columnas responsivas */
}
.adp-reference-service.fix .d--grid.grid--6 {
    grid-template-columns: repeat(6, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(auto, 1fr)); /* Columnas responsivas */
}
.adp-reference-service.fix .d--grid.grid--3 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Columnas responsivas */
}

/* Cada una de las cajas */
.adp-reference-service.fix .box {
    display        : flex;
    flex-direction : column; /* Alinea los elementos verticalmente (Icono arriba, texto abajo) */
    align-items    : center;    /* Centra el icono y el texto horizontalmente */
    justify-content: flex-start; /* Deja todo el contenido arriba */
    text-align     : center;     /* Centra el texto por si ocupa varias líneas */
    padding        : 24px;
    background     : linear-gradient(135deg, #1f4586, #11264b) !important;
    border         : 1px solid #4A90E2; /* Ejemplo de borde */
    border-radius  : 8px;
    width          : 100%;
    float          : left;
    text-align     : center;
    font-size      : 1rem;

    max-width: 330px !important;
}

    .adp-reference-service.fix .box p {
         margin     : 0;
         font-weight: 600;
         color      : #eee;
         font-size  : .95rem;
         line-height: 1.5;
    }

    .adp-reference-service.fix  .adp-reference-service h2 {
        margin     : 0 0 18px;
        color      : #eee;
        font-size  : 38px;
        font-weight: var(--weight-regular);
    }

    .adp-reference-service.fix .box .box-icon {
        width        : 45px;         /* Ancho del icono */
        height       : 45px;        /* Alto del icono */
        margin-bottom: 16px; /* Separación con el texto */
        stroke       : #4A90E2;     /* Color de las líneas del icono */
        flex-shrink  : 0;      /* Evita que el icono se deforme */
    }



/* ==========================================================================
   MOBILE
   ========================================================================== */


@media (max-width: 1440px) {

   .adp-reference-service.fix .container {
        padding: 0 60px;
    }

    .adp-reference-service.fix .d--grid.grid--6,
    .adp-reference-service.fix .d--grid.grid--5 {
        flex-wrap: wrap;
    }

}

@media (max-width: 1199px) {
    .sec--services .sec--services__grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .cont--header .col--btn-menu {
        display: block;
    }



    .adp-reference-service.fix .d--grid.grid--5 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Columnas responsivas */
    }
    .adp-reference-service.fix .d--grid.grid--6 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-columns: repeat(auto-fit, minmax(auto, 1fr)); /* Columnas responsivas */
    }
    .adp-reference-service.fix .d--grid.grid--3 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Columnas responsivas */
    }




    .adp-reference-service.fix .container {
        padding: 0 30px;
    }


}


@media (max-width: 991px) {
    .sec--computer .sec--computer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sec--computer .sec--computer__title {
        font-size: var(--text-xl); /* Enlazado a la escala responsiva */
    }

    .sec--value__inner {
        grid-template-columns: 1fr;
    }

    .sec--value__left {
        padding: 60px 0 0;
        justify-content: center;
        text-align: center;
    }

    .sec--value__title {
        font-size: var(--text-2xl);
        font-weight: var(--weight-regular);
        line-height: normal;
    }

    .sec--value__right {
        padding: 40px 0 60px;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .sec--faq__inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .sec--faq__left {
        text-align: center;
        padding-top: 0;
    }

    .sec--faq__title {
        font-size: var(--text-2xl); 
    }
    


    .adp-reference-service.fix .box {
        max-width: inherit !important;
    }
        
    
    .about-hero h1 {
        font-size: 38px;
    }
}

@media (max-width: 767px) {
    .sec--slide {
        height: 60vh; 
    }

    .sec--intro {
        padding: 32px 0;
    }

    .sec--intro__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .sec--intro__text {
        font-size: var(--text-base);
    }

    .btn--intro {
        width: 100%;
        justify-content: center;
    }

    .sec--why__grid {
        grid-template-columns: 1fr;
    }

    .sec--why__title {
        font-size: var(--text-xl); 
    }

    .why-accordion__trigger, .value-accordion__trigger {
        padding: 18px 20px;
    }

    .why-accordion__body, .value-accordion__body {
        padding: 0 20px 18px;
    }

    .box-destacado {
        flex-direction: column;
        align-items: flex-start;
        padding: 40px 32px;
        gap: 28px;
    }

    .box-destacado__title {
        font-size: var(--text-xl);
        font-weight: var(--weight-regular);
    }

    .box-destacado__circles {
        top: auto;
        bottom: -60px;
        right: -60px;
        transform: none;
    }

    .btn--destacado {
        width: 100%;
        justify-content: center;
    }

    .sec--services {
        padding: 60px 0 70px;
    }

    .sec--services .sec--services__title {
        font-size: var(--text-xl); 
    }

    .sec--services .sec--services__grid {
        grid-template-columns: 1fr;
    }

    .sec--services .service-card {
        padding: 25px;
    }





    .adp-reference-service.fix .d--grid.grid--5 {
        grid-template-columns: 1fr;

    }
    .adp-reference-service.fix .d--grid.grid--6 {
        grid-template-columns: 1fr;
    }
    .adp-reference-service.fix .d--grid.grid--3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .sec--computer {
        padding: 60px 0 70px;
    }

    .sec--computer .sec--computer__grid {
        grid-template-columns: 1fr;
    }

    .sec--computer .sec--computer__title {
        font-size: var(--text-xl); 
    }

    .sec--value__title, .sec--faq__title {
        font-size: var(--text-xl); 
    }

    .sec--faq {
        padding: 60px 0 70px;
    }

    .faq-accordion__trigger {
        padding: 18px 20px;
    }

    .faq-accordion__body {
        padding: 0 20px 18px;
    }
    
    
    
    .about-hero h1 {
        font-size: 32px;
        transform: translateY(-35px);
    }
}
.link--mail a {font-weight: 400 !important;}

.link--mail a:hover {color: #fff !important; text-decoration: underline !Important; }
