/* AP Neural Web — Responsive Foundation V1 */

@media (max-width: 767px) {
    :root {
        --gutter: 1.1rem;
        --section-space: clamp(4.5rem, 16vw, 7rem);
    }

    .ap-button {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .ap-button {
        width: auto;
    }
}

@media (min-width: 1200px) {
    .ap-section-number {
        margin-bottom: 2rem;
    }
}


/* ================================================================
   AP NEURAL WEB — HEADER RESPONSIVE V2 / MOBILE UX POLISH
================================================================ */

@media (max-width: 1099px) {

    .site-header__inner {
        grid-template-columns: auto 1fr auto;

        min-height: 4.45rem;
    }

    .desktop-nav,
    .site-header__cta {
        display: none;
    }

    .menu-toggle {
        display: inline-flex;
    }

    .site-header.is-compact .site-header__inner {
        min-height: 3.85rem;
        margin-top: .45rem;
        border-radius: 12px;
    }
}

@media (min-width: 1100px) {

    .mobile-menu,
    .menu-toggle {
        display: none !important;
    }
}

@media (max-width: 767px) {

    .site-header__inner {
        min-height: 4.15rem;
    }

    .site-header.is-compact .site-header__inner {
        min-height: 3.65rem;
        padding-inline: .65rem;
    }

    .site-brand__mark {
        width: 2.3rem;
        min-width: 2.3rem;
        flex-basis: 2.3rem;
    }

    .mobile-menu {
        padding-top: 4.6rem;
    }

    .mobile-menu__inner {
        width: min(91vw, 23rem);
        max-height: calc(100svh - 5.25rem);
    }
}

@media (max-width: 479px) {

    .site-brand__name {
        display: none;
    }

    .menu-toggle {
        width: 2.75rem;
        min-width: 2.75rem;
        height: 2.75rem;
        min-height: 2.75rem;
        padding: .32rem;
        border-radius: 50%;
    }

    .menu-toggle__label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .menu-toggle__icon {
        width: 100%;
        height: 100%;
    }

    .mobile-menu {
        padding:
            4.25rem
            .45rem
            .45rem;
    }

    .mobile-menu__inner {
        width: calc(100vw - .9rem);
        max-height: calc(100svh - 4.7rem);
        padding: .85rem .85rem .9rem;
        border-radius: 15px;
    }

    .mobile-nav__list a {
        min-height: 2.9rem;
        grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    }

    .mobile-nav__list strong {
        font-size: 1.02rem;
    }

    .mobile-menu__signature {
        margin-top: .7rem;
        padding-top: .7rem;
    }
}

@media (max-width: 359px) {

    .mobile-menu__inner {
        padding-inline: .72rem;
    }

    .mobile-nav__list a {
        min-height: 2.72rem;
    }

    .mobile-nav__list strong {
        font-size: .96rem;
    }
}



/* === AP MOBILE HARDENING V6 20260829 === */

@media (max-width: 767px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    body {
        overscroll-behavior-x: none;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    .site-main,
    main,
    section,
    article,
    .ap-container,
    .ap-grid {
        min-width: 0;
        max-width: 100%;
    }

    .ap-container {
        width: min(
            calc(100% - 2rem),
            var(--container)
        );
    }

    img,
    video,
    canvas,
    iframe {
        max-width: 100%;
        height: auto;
    }

    .site-main h1,
    .site-main h2,
    .site-main h3,
    .site-main h4,
    .site-main p,
    .site-main li,
    .mobile-menu {
        overflow-wrap: anywhere;
    }

    .ap-button,
    button,
    input,
    select,
    textarea {
        min-width: 0;
        max-width: 100%;
    }

    input,
    select,
    textarea {
        font-size: 16px;
    }

    table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    pre,
    code {
        max-width: 100%;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }


    /* ============================================================
       CABECERA MÓVIL FIJA Y ESTABLE
    ============================================================ */

    .site-header {
        position: fixed !important;

        top: 0 !important;
        left: 0 !important;
        right: 0 !important;

        width: auto !important;

        transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden;

        visibility: visible !important;
        opacity: 1 !important;

        z-index: 9999 !important;

        pointer-events: none;
    }

    .site-header__inner,
    .site-header.is-compact .site-header__inner {
        width: 100% !important;
        max-width: none !important;

        min-height: 4rem !important;

        margin-top: 0 !important;
        margin-inline: 0 !important;

        padding-inline: 1rem !important;

        background:
            rgba(8, 9, 11, .97) !important;

        border-color:
            transparent
            transparent
            rgba(151, 154, 162, .17)
            transparent !important;

        border-radius: 0 !important;

        box-shadow:
            0 .55rem 1.55rem
            rgba(0, 0, 0, .20) !important;

        transition: none !important;

        transform: translateZ(0);
        pointer-events: auto;
    }

    .site-brand {
        min-width: 0;
    }

    .site-brand__mark {
        width: 2.3rem;
        min-width: 2.3rem;
        flex: 0 0 2.3rem;
    }

    .menu-toggle {
        flex: 0 0 auto;
    }


    /* ============================================================
       MENÚ MÓVIL
    ============================================================ */

    .mobile-menu {
        inset: 0 !important;

        width: 100% !important;
        height: 100dvh;
        max-height: 100dvh;

        padding:
            4.35rem
            .5rem
            .5rem !important;

        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .mobile-menu__inner {
        width: 100% !important;
        max-width: none !important;

        max-height:
            calc(100dvh - 4.85rem) !important;

        overflow-y: auto;
        overflow-x: hidden;

        overscroll-behavior: contain;

        -webkit-overflow-scrolling: touch;
    }

    .mobile-nav__list a {
        min-width: 0;
    }

    .mobile-nav__list strong,
    .mobile-nav__list span {
        min-width: 0;
    }


    /* ============================================================
       MODO MÓVIL LIGERO

       Los fondos siguen visibles pero se eliminan animaciones
       continuas costosas en teléfonos.
    ============================================================ */

    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    ),
    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    ) *,
    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    )::before,
    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    )::after,
    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    ) *::before,
    :is(
        .ap-story-map,
        .solutions-field,
        .solution-logo-field,
        .sector-logo-field,
        .projects-field,
        .company-field,
        .contact-field,
        .web-field,
        .systems-field,
        .saas-field,
        .automation-field,
        .maintenance-field,
        .legal-field
    ) *::after {
        will-change: auto !important;
    }


    /* ============================================================
       SOLUCIONES — CORRECCIÓN DE DESBORDE MÓVIL
    ============================================================ */

    .page-solutions .solutions-main,
    .page-solutions .solution-section,
    .page-solutions .solutions-hero {
        min-width: 0;
        max-width: 100%;
        overflow-x: clip;
    }

    .page-solutions .solutions-hero {
        min-height: auto;

        padding-top: 6rem;
        padding-bottom: 3.5rem;
    }

    .page-solutions .solutions-hero__grid {
        width: 100%;
        min-width: 0;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 2.25rem;
    }

    .page-solutions .solutions-hero__copy {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .page-solutions .solutions-hero__title {
        max-width: 100%;
    }


    /* Router */

    .page-solutions .decision-router {
        justify-self: center !important;

        width:
            min(100%, 22rem) !important;

        max-width: 100% !important;

        margin:
            1.25rem
            auto
            0 !important;

        transform: none !important;
    }

    .page-solutions .decision-router__input {
        left: 0 !important;
    }

    .page-solutions .decision-router__input::after {
        width: 3.25rem;
    }

    .page-solutions .decision-router__route {
        min-width: 6.45rem;
        max-width: 7.25rem;

        padding:
            .5rem
            .55rem;
    }

    .page-solutions
    .decision-router__route--web,

    .page-solutions
    .decision-router__route--system,

    .page-solutions
    .decision-router__route--automation,

    .page-solutions
    .decision-router__route--product {
        right: 0 !important;
    }

    .page-solutions
    .decision-router__route--evolution {
        right: 28% !important;
        bottom: 0 !important;
    }

    .page-solutions[data-solutions-mode="web"]
    [data-router-route="web"],

    .page-solutions[data-solutions-mode="system"]
    [data-router-route="system"],

    .page-solutions[data-solutions-mode="automation"]
    [data-router-route="automation"],

    .page-solutions[data-solutions-mode="product"]
    [data-router-route="product"],

    .page-solutions[data-solutions-mode="evolution"]
    [data-router-route="evolution"] {
        transform: none !important;
    }


    /* Fondo Soluciones menos pesado */

    .page-solutions .solutions-field__svg {
        width: 135% !important;
        max-width: none !important;

        left: -17.5% !important;
    }

    .page-solutions .solution-orbit,
    .page-solutions .solutions-field__refraction,
    .page-solutions .solution-logo-field__glint {
        display: none !important;
    }

    .page-solutions .solutions-field__grid,
    .page-solutions .solutions-field__weave {
        will-change: auto !important;
    }


    /* Tarjetas Soluciones */

    .page-solutions .solution-signal-grid,
    .page-solutions .solution-routes,
    .page-solutions .criteria-list,
    .page-solutions .result-statements {
        min-width: 0;
        max-width: 100%;
    }

    .page-solutions .solution-signal,
    .page-solutions .solution-route,
    .page-solutions .criteria-list article,
    .page-solutions .buildable-rail li,
    .page-solutions .result-statements p,
    .page-solutions .response-stage,
    .page-solutions .solution-cta {
        min-width: 0;
        max-width: 100%;

        filter: none !important;
        will-change: auto !important;
    }

    .page-solutions .solution-route {
        width: 100%;
    }

    .page-solutions .solution-route__body {
        min-width: 0;
    }

    .page-solutions .solution-route__body h3,
    .page-solutions .solution-route__body p,
    .page-solutions .solution-route__body span {
        max-width: 100%;
    }

    .page-solutions .response-stage {
        width: 100%;
    }

    .page-solutions .response-stage__body > * {
        min-width: 0;
        max-width: 100%;
    }


    /* ============================================================
       INTERACCIÓN TÁCTIL
    ============================================================ */

    @media (pointer: coarse) {

        a,
        button,
        .menu-toggle {
            touch-action: manipulation;
        }

        .ap-button,
        .mobile-nav__list a {
            -webkit-tap-highlight-color:
                rgba(181, 32, 74, .15);
        }
    }
}


@media (max-width: 479px) {

    .ap-container {
        width:
            min(
                calc(100% - 1.5rem),
                var(--container)
            );
    }

    .site-header__inner,
    .site-header.is-compact .site-header__inner {
        min-height: 3.9rem !important;

        padding-inline:
            .75rem !important;
    }

    .mobile-menu {
        padding-top:
            4.2rem !important;
    }

    .page-solutions .decision-router {
        width:
            min(100%, 20.5rem) !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }

    .page-solutions .decision-router__route {
        min-width: 5.9rem;
        max-width: 6.6rem;
    }

    .page-solutions
    .decision-router__route strong {
        font-size: .54rem;
        letter-spacing: .055em;
    }
}


@media (max-width: 359px) {

    .ap-container {
        width:
            calc(100% - 1.2rem);
    }

    .site-header__inner,
    .site-header.is-compact .site-header__inner {
        padding-inline:
            .6rem !important;
    }

    .page-solutions .decision-router {
        width: 100% !important;
        transform: none !important;
    }

    .page-solutions .decision-router__route {
        min-width: 5.4rem;
        max-width: 6rem;

        padding:
            .45rem
            .45rem;
    }
}

/* === AP MOBILE BALANCED EFFECTS V7 20260829 === */


/* ================================================================
   MÓVIL
   Mantiene efectos visuales pero evita motion pesado por scroll
================================================================ */

@media (max-width: 767px) {


    /* ============================================================
       REVEAL / ENTRADAS

       IntersectionObserver continúa funcionando.
       Son animaciones de una sola ejecución, no por cada scroll.
    ============================================================ */

    .js.ap-reveal-ready [data-ap-reveal] {
        transition:
            opacity 520ms var(--ease-ap),
            transform 520ms var(--ease-ap);
    }


    /* ============================================================
       MENÚ — FONDO GENERAL

       El overlay ocupa pantalla porque debe bloquear el contenido,
       PERO la ventana visual será mucho más pequeña.
    ============================================================ */

    .mobile-menu {
        padding:
            4.35rem
            .75rem
            .75rem !important;

        background:
            rgba(8, 9, 11, .36) !important;

        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }


    /* ============================================================
       VENTANA DEL MENÚ

       Antes podía ocupar casi todo el teléfono.
       Ahora queda como panel flotante compacto.
    ============================================================ */

    .mobile-menu__inner {
        width:
            min(
                84vw,
                20rem
            ) !important;

        max-width:
            20rem !important;

        max-height:
            min(
                72dvh,
                31rem
            ) !important;

        padding:
            .78rem
            .8rem
            .82rem !important;

        border-radius:
            14px !important;

        opacity: 0;

        transform:
            translate3d(
                .8rem,
                -.18rem,
                0
            )
            scale(.965);

        transform-origin:
            top right;

        transition:
            opacity
            220ms
            var(--ease-ap),

            transform
            340ms
            var(--ease-ap),

            border-color
            240ms
            var(--ease-ap),

            box-shadow
            240ms
            var(--ease-ap)
            !important;
    }


    /* ============================================================
       ENTRADA DEL PANEL
    ============================================================ */

    .mobile-menu.is-open
    .mobile-menu__inner {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }


    /* ============================================================
       CABECERA INTERNA DEL MENÚ
    ============================================================ */

    .mobile-menu__meta {
        min-height:
            1.7rem;

        padding:
            0
            .05rem
            .5rem;

        font-size:
            .54rem;
    }


    /* ============================================================
       NAVEGACIÓN MÁS COMPACTA
    ============================================================ */

    .mobile-nav {
        margin-top:
            .35rem;
    }


    /* ============================================================
       ANIMACIÓN DE CADA OPCIÓN

       Se mueve únicamente al abrir/cerrar.
       No consume recursos continuamente.
    ============================================================ */

    .mobile-nav__list li {
        opacity: 0;

        transform:
            translate3d(
                .55rem,
                0,
                0
            )
            scale(.99);

        transition:
            opacity
            220ms
            var(--ease-ap),

            transform
            300ms
            var(--ease-ap),

            border-color
            200ms
            ease;
    }


    .mobile-menu.is-open
    .mobile-nav__list li {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }


    /* ============================================================
       OPCIONES MENÚ MÁS BAJAS
    ============================================================ */

    .mobile-nav__list a {
        min-height:
            2.68rem !important;

        grid-template-columns:
            1.55rem
            minmax(0, 1fr)
            auto;

        gap:
            .22rem;

        padding-inline:
            .08rem
            .12rem;
    }


    .mobile-nav__list strong {
        font-size:
            clamp(
                .94rem,
                4vw,
                1.06rem
            );

        line-height:
            1.08;
    }


    /* ============================================================
       BOTÓN DEL MENÚ / CTA
    ============================================================ */

    .mobile-menu__action {
        display:
            flex;

        margin-top:
            .58rem;
    }


    .mobile-menu__action
    .ap-button {
        width:
            fit-content !important;

        max-width:
            100%;

        min-height:
            2.58rem;

        padding:
            .58rem
            .72rem;

        gap:
            .58rem;

        font-size:
            .62rem;

        line-height:
            1.15;

        white-space:
            normal;

        text-align:
            center;
    }


    /* ============================================================
       FIRMA INFERIOR MÁS COMPACTA
    ============================================================ */

    .mobile-menu__signature {
        margin-top:
            .58rem;

        padding-top:
            .58rem;

        gap:
            .55rem;

        font-size:
            .51rem;
    }


    /* ============================================================
       BOTÓN HAMBURGUESA

       Efecto al abrir/cerrar.
    ============================================================ */

    .menu-toggle {
        transform:
            translateZ(0);
    }


    .menu-toggle[aria-expanded="true"] {
        transform:
            scale(.97);

        box-shadow:
            inset
            0
            1px
            0
            rgba(243,243,241,.05),

            0
            .6rem
            1.6rem
            rgba(0,0,0,.22),

            0
            0
            0
            1px
            rgba(181,32,74,.10);
    }


    /* ============================================================
       EL CÍRCULO DEL MENÚ ROTA Y SE CONVIERTE EN CERRAR
    ============================================================ */

    .menu-toggle[aria-expanded="true"]
    .menu-toggle__icon {
        transform:
            rotate(135deg)
            scale(.94);
    }


    .menu-toggle:active {
        transform:
            scale(.955);
    }


    /* ============================================================
       BOTONES GENERALES

       Antes responsive.css tenía:
           width: 100%

       Ahora el botón utiliza solamente el espacio necesario.
    ============================================================ */

    .site-main
    .ap-button {
        width:
            fit-content !important;

        max-width:
            100%;

        min-height:
            2.72rem;

        padding:
            .62rem
            .82rem;

        gap:
            .68rem;

        justify-content:
            center;

        white-space:
            normal;

        text-align:
            center;

        line-height:
            1.16;
    }


    /* Flecha nunca aplasta el texto */

    .site-main
    .ap-button::after {
        flex:
            0
            0
            auto;
    }


    /* ============================================================
       MICRO EFECTO AL TOCAR BOTONES
    ============================================================ */

    .site-main
    .ap-button:active {
        transform:
            translateY(1px)
            scale(.975);
    }


    .site-main
    .ap-button:active::after {
        transform:
            translateX(.24rem);
    }


    /* ============================================================
       SOLUCIONES

       Recuperamos el pequeño brillo.
       NO recuperamos las órbitas grandes que son más pesadas.
    ============================================================ */

    .solution-logo-field__glint {
        display:
            block !important;
    }


}


/* ================================================================
   TELÉFONOS PEQUEÑOS
================================================================ */

@media (max-width: 479px) {

    .mobile-menu {
        padding:
            4.2rem
            .8rem
            .7rem !important;
    }


    .mobile-menu__inner {
        width:
            min(
                calc(100vw - 1.6rem),
                19rem
            ) !important;

        max-width:
            19rem !important;

        max-height:
            min(
                74dvh,
                30rem
            ) !important;

        padding:
            .72rem
            .74rem
            .76rem !important;
    }


    .mobile-nav__list a {
        min-height:
            2.58rem !important;

        grid-template-columns:
            1.45rem
            minmax(0,1fr)
            auto;
    }


    .mobile-nav__list strong {
        font-size:
            .96rem;
    }


    .site-main
    .ap-button {
        max-width:
            min(
                100%,
                20rem
            );

        padding:
            .6rem
            .76rem;

        font-size:
            .64rem;
    }

}


/* ================================================================
   320–359 PX
================================================================ */

@media (max-width: 359px) {

    .mobile-menu__inner {
        width:
            calc(
                100vw - 1.2rem
            ) !important;

        max-width:
            none !important;

        max-height:
            76dvh !important;
    }


    .mobile-nav__list a {
        min-height:
            2.5rem !important;
    }


    .site-main
    .ap-button {
        max-width:
            100%;
    }

}


/* === AP MOBILE INTERACTION V8 20260829 === */

@property --ap-menu-trace-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}


@keyframes apMenuBorderTraceV8 {

    to {
        --ap-menu-trace-angle: 360deg;
    }

}


@keyframes apMenuTapRightV8 {

    0% {
        transform:
            translateX(0)
            scale(1);

        opacity: 1;
    }

    52% {
        transform:
            translateX(.8rem)
            scale(.985);
    }

    100% {
        transform:
            translateX(1.5rem)
            scale(.975);

        opacity: .15;
    }

}


@keyframes apMenuTapLeftV8 {

    0% {
        transform:
            translateX(0)
            scale(1);

        opacity: 1;
    }

    52% {
        transform:
            translateX(-.8rem)
            scale(.985);
    }

    100% {
        transform:
            translateX(-1.5rem)
            scale(.975);

        opacity: .15;
    }

}


@keyframes apMenuArrowRightV8 {

    0% {
        opacity: 0;

        transform:
            translateX(-.4rem);
    }

    35% {
        opacity: 1;
    }

    100% {
        opacity: 0;

        transform:
            translateX(.8rem);
    }

}


@keyframes apMenuArrowLeftV8 {

    0% {
        opacity: 0;

        transform:
            translateX(.4rem);
    }

    35% {
        opacity: 1;
    }

    100% {
        opacity: 0;

        transform:
            translateX(-.8rem);
    }

}


@media (max-width: 767px) {

    /* ============================================================
       VENTANA DEL MENÚ
    ============================================================ */

    .mobile-menu__inner {

        position: relative;

        isolation: isolate;

        border-color:
            rgba(181,32,74,.28)
            !important;
    }


    /* ============================================================
       LÍNEA ROJA QUE RECORRE EL CONTORNO
    ============================================================ */

    .mobile-menu__inner::before {

        content: "" !important;

        position:
            absolute !important;

        inset:
            0 !important;

        z-index:
            6 !important;

        width:
            auto !important;

        height:
            auto !important;

        padding:
            1px;

        border-radius:
            inherit;

        box-sizing:
            border-box;

        pointer-events:
            none;

        opacity:
            1 !important;

        background:

            conic-gradient(

                from
                var(--ap-menu-trace-angle),

                transparent
                0deg
                274deg,

                rgba(181,32,74,.12)
                292deg,

                #8B1538
                308deg,

                #B5204A
                322deg,

                #F3F3F1
                330deg,

                #B5204A
                339deg,

                transparent
                360deg

            ) !important;

        -webkit-mask:

            linear-gradient(
                #000 0 0
            )
            content-box,

            linear-gradient(
                #000 0 0
            );

        -webkit-mask-composite:
            xor;

        mask-composite:
            exclude;

        animation:

            apMenuBorderTraceV8
            3.2s
            linear
            infinite;
    }


    /* ============================================================
       PESTAÑAS ENTRANDO INTERCALADAS

       01 izquierda
       02 derecha
       03 izquierda
       04 derecha
       ...
    ============================================================ */

    .mobile-nav__list
    li:nth-child(odd) {

        transform:

            translate3d(
                -.6rem,
                0,
                0
            )

            scale(.99)
            !important;

        transform-origin:
            left center;
    }


    .mobile-nav__list
    li:nth-child(even) {

        transform:

            translate3d(
                .6rem,
                0,
                0
            )

            scale(.99)
            !important;

        transform-origin:
            right center;
    }


    .mobile-menu.is-open
    .mobile-nav__list li {

        transform:

            translate3d(
                0,
                0,
                0
            )

            scale(1)
            !important;
    }


    /* ============================================================
       CUANDO SE TOCA UNA PESTAÑA
    ============================================================ */

    .mobile-menu.is-navigating
    .mobile-nav__list
    li:not(.is-menu-leaving-right)
    :not(.is-menu-leaving-left) {

        opacity:
            .38;

        transition-delay:
            0ms !important;
    }


    .mobile-nav__list
    li.is-menu-leaving-right,

    .mobile-nav__list
    li.is-menu-leaving-left {

        transition-delay:
            0ms !important;
    }


    /* 02 SOLUCIONES, 04 DIAGNÓSTICO, 06 EMPRESA */

    .mobile-nav__list
    li.is-menu-leaving-right > a {

        animation:

            apMenuTapRightV8
            260ms
            cubic-bezier(.22,1,.36,1)
            both;

        background:

            linear-gradient(
                90deg,
                rgba(181,32,74,.04),
                rgba(181,32,74,.16)
            );
    }


    /* 01 INICIO, 03 SECTORES, 05 PROYECTOS, 07 CONTACTO */

    .mobile-nav__list
    li.is-menu-leaving-left > a {

        animation:

            apMenuTapLeftV8
            260ms
            cubic-bezier(.22,1,.36,1)
            both;

        background:

            linear-gradient(
                270deg,
                rgba(181,32,74,.04),
                rgba(181,32,74,.16)
            );
    }


    .mobile-nav__list
    li.is-menu-leaving-right
    > a::before,

    .mobile-nav__list
    li.is-menu-leaving-left
    > a::before {

        height:
            1.25rem !important;

        box-shadow:

            0 0 .85rem
            rgba(181,32,74,.34);
    }


    /* Flecha derecha */

    .mobile-nav__list
    li.is-menu-leaving-right
    > a::after {

        content:
            "→" !important;

        opacity:
            1 !important;

        animation:

            apMenuArrowRightV8
            260ms
            ease-out
            both;
    }


    /* Flecha izquierda */

    .mobile-nav__list
    li.is-menu-leaving-left
    > a::after {

        content:
            "←" !important;

        opacity:
            1 !important;

        animation:

            apMenuArrowLeftV8
            260ms
            ease-out
            both;
    }

}


@media (prefers-reduced-motion: reduce) {

    .mobile-menu__inner::before {

        animation:
            none !important;

        background:
            transparent !important;
    }

}

/* === AP MOBILE PERFORMANCE SERVICES V9 20260830 === */


@media (max-width: 767px) {


    /* ============================================================
       SAAS
       SVG visible igual, pero versión móvil sin movimiento interno.
    ============================================================ */

    .page-service-saas
    .saas-field__picture {

        display:
            contents;
    }


    .page-service-saas
    .saas-field__art,

    .page-service-saas
    .saas-field::before {

        animation:
            none !important;

        will-change:
            auto !important;
    }


    .page-service-saas
    .saas-field__art {

        filter:
            none !important;
    }


    /* ============================================================
       MANTENIMIENTO
       Conserva la red original.
       Detiene los filtros sobre las 100+ formas.
    ============================================================ */

    .page-service-maintenance
    .maintenance-field__inline,

    .page-service-maintenance
    .maintenance-network__path,

    .page-service-maintenance
    .maintenance-network__energy,

    .page-service-maintenance
    .maintenance-field::before {

        animation:
            none !important;

        will-change:
            auto !important;
    }


    .page-service-maintenance
    .maintenance-network__path--medium,

    .page-service-maintenance
    .maintenance-network__path--signal,

    .page-service-maintenance
    .maintenance-network__path--hot,

    .page-service-maintenance
    .maintenance-network__energy {

        filter:
            none !important;
    }


    /*
    La red base sigue visible.
    Solo desaparecen los recorridos energéticos
    que constantemente se estaban recalculando.
    */

    .page-service-maintenance
    .maintenance-network__energy-layer {

        display:
            none !important;
    }


    /* ============================================================
       PANELES CON BLUR
       Se reemplaza blur por fondo sólido semitransparente.
    ============================================================ */

    .page-service-saas
    .saas-release,

    .page-service-saas
    .saas-service-nav,

    .page-service-maintenance
    .maintenance-status,

    .page-service-maintenance
    .maintenance-service-nav {

        backdrop-filter:
            none !important;

        -webkit-backdrop-filter:
            none !important;
    }


    .page-service-saas
    .saas-release,

    .page-service-maintenance
    .maintenance-status {

        background:
            rgba(
                10,
                11,
                14,
                .94
            )
            !important;
    }


    .page-service-saas
    .saas-service-nav,

    .page-service-maintenance
    .maintenance-service-nav {

        background:
            rgba(
                8,
                9,
                11,
                .96
            )
            !important;
    }


    /* ============================================================
       ANIMACIONES CONTINUAS SECUNDARIAS

       Se congelan solamente las que nunca paran.
       Los cambios cuando el usuario toca una opción siguen activos.
    ============================================================ */

    .page-service-saas
    .saas-release__scan,

    .page-service-saas
    .saas-release__progress i,

    .page-service-saas
    .saas-stack__version i::after,

    .page-service-maintenance
    .maintenance-status__signal i,

    .page-service-maintenance
    .maintenance-map__status i::after {

        animation:
            none !important;
    }


    /* ============================================================
       MENÚ

       Esta es una de las mejoras más importantes.

       Cuando abres el menú:
       el fondo tecnológico deja de pintarse temporalmente.

       Al cerrar:
       reaparece inmediatamente.
    ============================================================ */

    body.page-service-saas.menu-open
    .saas-field,

    body.page-service-maintenance.menu-open
    .maintenance-field {

        visibility:
            hidden !important;
    }


    /*
    No hacemos blur de toda la pantalla detrás del menú.
    El panel conserva su diseño y animaciones.
    */

    body.page-service-saas
    .mobile-menu,

    body.page-service-maintenance
    .mobile-menu {

        backdrop-filter:
            none !important;

        -webkit-backdrop-filter:
            none !important;

        background:

            rgba(
                8,
                9,
                11,
                .72
            )
            !important;
    }


    /* ============================================================
       AISLAMIENTO DE RENDERIZADO
    ============================================================ */

    .page-service-saas
    .saas-field,

    .page-service-maintenance
    .maintenance-field {

        contain:
            paint;
    }

}

/* === AP MOBILE SERVICE DETAILS V10 20260830 === */


/* ================================================================
   ANIMACIONES LIGERAS
   Solo se ejecutan una vez al entrar al viewport.
================================================================ */

@keyframes apMobileCardBorderV10 {

    0% {
        border-color:
            rgba(151,154,162,.11);

        background:
            rgba(12,13,16,.68);
    }

    42% {
        border-color:
            rgba(181,32,74,.30);

        background:
            rgba(139,21,56,.055);
    }

    100% {
        border-color:
            rgba(151,154,162,.15);

        background:
            rgba(12,13,16,.72);
    }

}


@keyframes apMobileSaasShelfV10 {

    0% {
        transform:
            translateX(-120%);

        opacity:
            0;
    }

    55% {
        transform:
            translateX(0);

        opacity:
            .92;
    }

    100% {
        transform:
            translateX(0);

        opacity:
            .34;
    }

}


@keyframes apMobileMaintenanceLineV10 {

    0% {
        transform:
            scaleX(.14);

        background:
            rgba(151,154,162,.10);
    }

    55% {
        transform:
            scaleX(1);

        background:
            #B5204A;
    }

    100% {
        transform:
            scaleX(.38);

        background:
            rgba(181,32,74,.48);
    }

}


@keyframes apMobileListLineV10 {

    0% {
        width:
            0;
    }

    58% {
        width:
            44%;
    }

    100% {
        width:
            18%;
    }

}


/* ================================================================
   BOTONES SAAS
================================================================ */

@keyframes apSaasButtonReleaseBarV10 {

    0% {
        opacity:
            0;
    }

    20%,
    78% {
        opacity:
            .9;
    }

    100% {
        opacity:
            .30;
    }

}


@keyframes apSaasButtonReleaseMoveV10 {

    0% {
        left:
            -35%;
    }

    100% {
        left:
            103%;
    }

}


@keyframes apSaasButtonTrackV10 {

    0% {
        clip-path:
            inset(0 100% 0 0);

        border-color:
            transparent;
    }

    70% {
        clip-path:
            inset(0 0 0 0);

        border-color:
            rgba(181,32,74,.42);
    }

    100% {
        clip-path:
            inset(0 0 0 0);

        border-color:
            rgba(181,32,74,.20);
    }

}


/* ================================================================
   BOTONES MANTENIMIENTO
================================================================ */

@keyframes apMaintenanceButtonCheckV10 {

    0% {
        opacity:
            0;
    }

    18%,
    78% {
        opacity:
            1;
    }

    100% {
        opacity:
            .26;
    }

}


@keyframes apMaintenanceButtonCheckMoveV10 {

    0% {
        left:
            -18%;
    }

    100% {
        left:
            103%;
    }

}


@keyframes apMaintenanceButtonLineV10 {

    0% {
        width:
            0;
    }

    62% {
        width:
            calc(100% - 1.4rem);
    }

    100% {
        width:
            32%;
    }

}


/* ================================================================
   LOGO MANTENIMIENTO
================================================================ */

@keyframes apMaintenanceLogoOuterV10 {

    0% {
        transform:
            translate(-50%,-50%)
            rotate(45deg);
    }

    58% {
        transform:
            translate(-50%,-50%)
            rotate(135deg);

        border-color:
            rgba(181,32,74,.30);
    }

    100% {
        transform:
            translate(-50%,-50%)
            rotate(135deg);

        border-color:
            rgba(181,32,74,.22);
    }

}


@keyframes apMaintenanceLogoInnerV10 {

    0% {
        transform:
            translate(-50%,-50%)
            rotate(45deg);

        border-color:
            rgba(181,32,74,.34);
    }

    58% {
        transform:
            translate(-50%,-50%)
            rotate(-45deg);

        border-color:
            rgba(181,32,74,.55);
    }

    100% {
        transform:
            translate(-50%,-50%)
            rotate(-45deg);

        border-color:
            rgba(181,32,74,.42);
    }

}


@keyframes apMaintenanceLogoArtV10 {

    0% {
        transform:
            scale(1);

        filter:
            drop-shadow(
                0 0 8px
                rgba(181,32,74,.20)
            );
    }

    55% {
        transform:
            scale(1.075);

        filter:
            drop-shadow(
                0 0 10px
                rgba(181,32,74,.30)
            );
    }

    100% {
        transform:
            scale(1.025);

        filter:
            drop-shadow(
                0 0 8px
                rgba(181,32,74,.22)
            );
    }

}


/* ================================================================
   MÓVIL
================================================================ */

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


    /* ============================================================
       SAAS — TARJETAS

       El propio reveal ya usa IntersectionObserver.
       No añadimos ningún listener de scroll.
    ============================================================ */

    .page-service-saas
    .saas-part[data-ap-reveal].is-visible {

        animation:
            apMobileCardBorderV10
            820ms
            cubic-bezier(.22,1,.36,1)
            180ms
            1
            both;
    }


    .page-service-saas
    .saas-part.is-visible
    .saas-part__shelves i {

        animation:
            apMobileSaasShelfV10
            850ms
            cubic-bezier(.22,1,.36,1)
            360ms
            1
            both;
    }


    .page-service-saas
    .saas-part.is-visible
    .saas-part__shelves i:nth-child(2) {

        animation-delay:
            430ms;
    }


    .page-service-saas
    .saas-part.is-visible
    .saas-part__shelves i:nth-child(3) {

        animation-delay:
            500ms;
    }


    /* Al tocar tarjeta */

    .page-service-saas
    .saas-part:active {

        transform:
            translateY(-3px);

        border-color:
            rgba(181,32,74,.32);

        background:
            rgba(139,21,56,.055);
    }


    .page-service-saas
    .saas-part:active
    .saas-part__shelves i {

        transform:
            translateX(0);

        opacity:
            .9;
    }


    /* ============================================================
       SAAS — LÍNEAS DE DECISIÓN
    ============================================================ */

    .page-service-saas
    .saas-decision__list
    article.is-visible > i {

        animation:
            apMobileListLineV10
            760ms
            cubic-bezier(.22,1,.36,1)
            320ms
            1
            both;
    }


    .page-service-saas
    .saas-decision__list
    article:active {

        padding-left:
            1rem;

        background:
            rgba(139,21,56,.04);
    }


    .page-service-saas
    .saas-decision__list
    article:active > i {

        width:
            44%;
    }


    /* ============================================================
       SAAS — EFECTOS DE BOTONES
    ============================================================ */

    .page-service-saas
    [data-ap-reveal].is-visible
    .saas-button--release > i {

        animation:
            apSaasButtonReleaseBarV10
            760ms
            ease
            420ms
            1
            both;
    }


    .page-service-saas
    [data-ap-reveal].is-visible
    .saas-button--release > i::after {

        animation:
            apSaasButtonReleaseMoveV10
            680ms
            cubic-bezier(.22,1,.36,1)
            470ms
            1
            both;
    }


    .page-service-saas
    [data-ap-reveal].is-visible
    .saas-button--track > i {

        animation:
            apSaasButtonTrackV10
            720ms
            cubic-bezier(.22,1,.36,1)
            500ms
            1
            both;
    }


    .page-service-saas
    .saas-button--release:active > i {

        opacity:
            1;
    }


    .page-service-saas
    .saas-button--release:active > i::after {

        left:
            103%;
    }


    .page-service-saas
    .saas-button--track:active > i {

        clip-path:
            inset(0 0 0 0);

        border-color:
            rgba(181,32,74,.42);
    }


    /* ============================================================
       MANTENIMIENTO — TARJETAS
    ============================================================ */

    .page-service-maintenance
    .maintenance-work-card[data-ap-reveal].is-visible {

        animation:
            apMobileCardBorderV10
            820ms
            cubic-bezier(.22,1,.36,1)
            180ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-work-card.is-visible
    .maintenance-work-card__state i {

        animation:
            apMobileMaintenanceLineV10
            850ms
            cubic-bezier(.22,1,.36,1)
            340ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-work-card:active {

        transform:
            translateY(-3px);

        border-color:
            rgba(181,32,74,.32);

        background:
            rgba(139,21,56,.055);
    }


    .page-service-maintenance
    .maintenance-work-card:active
    .maintenance-work-card__state i {

        transform:
            scaleX(1);

        background:
            #B5204A;
    }


    /* ============================================================
       MANTENIMIENTO — LÍNEAS DE COBERTURA
    ============================================================ */

    .page-service-maintenance
    .maintenance-coverage__list
    article.is-visible > i {

        animation:
            apMobileListLineV10
            760ms
            cubic-bezier(.22,1,.36,1)
            320ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-coverage__list
    article:active {

        padding-left:
            1rem;

        background:
            rgba(139,21,56,.04);
    }


    .page-service-maintenance
    .maintenance-coverage__list
    article:active > i {

        width:
            40%;
    }


    /* ============================================================
       MANTENIMIENTO — BOTONES
    ============================================================ */

    .page-service-maintenance
    [data-ap-reveal].is-visible
    .maintenance-button--check > i {

        animation:
            apMaintenanceButtonCheckV10
            760ms
            ease
            420ms
            1
            both;
    }


    .page-service-maintenance
    [data-ap-reveal].is-visible
    .maintenance-button--check > i::after {

        animation:
            apMaintenanceButtonCheckMoveV10
            650ms
            cubic-bezier(.22,1,.36,1)
            470ms
            1
            both;
    }


    .page-service-maintenance
    [data-ap-reveal].is-visible
    .maintenance-button--line > i {

        animation:
            apMaintenanceButtonLineV10
            700ms
            cubic-bezier(.22,1,.36,1)
            500ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-button--check:active > i {

        opacity:
            1;
    }


    .page-service-maintenance
    .maintenance-button--check:active > i::after {

        left:
            103%;
    }


    .page-service-maintenance
    .maintenance-button--line:active > i {

        width:
            calc(100% - 1.4rem);
    }


    /* ============================================================
       LOGO MANTENIMIENTO

       Replica el lenguaje del hover de PC una sola vez.
    ============================================================ */

    .page-service-maintenance
    .maintenance-brandflow__center.is-visible
    .maintenance-brandflow__diamond--outer {

        animation:
            apMaintenanceLogoOuterV10
            980ms
            cubic-bezier(.22,1,.36,1)
            280ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-brandflow__center.is-visible
    .maintenance-brandflow__diamond--inner {

        animation:
            apMaintenanceLogoInnerV10
            980ms
            cubic-bezier(.22,1,.36,1)
            340ms
            1
            both;
    }


    .page-service-maintenance
    .maintenance-brandflow__center.is-visible
    .maintenance-brandflow__logo-art {

        animation:
            apMaintenanceLogoArtV10
            900ms
            cubic-bezier(.22,1,.36,1)
            410ms
            1
            both;
    }


    /* Al tocar el logo conserva feedback tipo PC */

    .page-service-maintenance
    .maintenance-brandflow__logo:active
    .maintenance-brandflow__diamond--outer {

        transform:
            translate(-50%,-50%)
            rotate(135deg);
    }


    .page-service-maintenance
    .maintenance-brandflow__logo:active
    .maintenance-brandflow__diamond--inner {

        transform:
            translate(-50%,-50%)
            rotate(-45deg);

        border-color:
            rgba(181,32,74,.55);
    }


    .page-service-maintenance
    .maintenance-brandflow__logo:active
    .maintenance-brandflow__logo-art {

        transform:
            scale(1.075);
    }

}


/* ================================================================
   BOTONES MÓVILES GENERALES

   No cambia estructura de la página.
   Solo corrige:
   texto + espacio + flecha.
================================================================ */

@media (max-width: 767px) {

    .ap-button {

        column-gap:
            .72rem !important;

        padding-left:
            .88rem;

        padding-right:
            .88rem;

        line-height:
            1.22;
    }


    /*
    Si el botón tiene <span>,
    el texto ocupa solamente el espacio disponible.
    */

    .ap-button > span {

        width:
            auto !important;

        min-width:
            0;

        flex:
            1 1 auto;

        white-space:
            normal !important;

        word-break:
            normal;

        overflow-wrap:
            normal;

        hyphens:
            none;

        text-wrap:
            balance;

        line-height:
            1.22;
    }


    /*
    Flecha independiente.
    Nunca se pega a la última palabra.
    Nunca se comprime.
    */

    .ap-button::after {

        flex:
            0 0 auto;

        min-width:
            1rem;

        margin-left:
            .28rem;

        text-align:
            center;

        line-height:
            1;
    }


    /* ============================================================
       SOLO SAAS Y MANTENIMIENTO:
       evitar botones excesivamente largos.
    ============================================================ */

    .page-service-saas
    .saas-hero__actions .ap-button,

    .page-service-saas
    .saas-cta__actions .ap-button,

    .page-service-maintenance
    .maintenance-hero__actions .ap-button,

    .page-service-maintenance
    .maintenance-cta__actions .ap-button {

        width:
            fit-content !important;

        max-width:
            min(
                100%,
                22rem
            );

        min-width:
            min(
                100%,
                12rem
            );

        justify-self:
            start;

        justify-content:
            center;
    }

}


/* ================================================================
   TELÉFONOS MUY PEQUEÑOS
================================================================ */

@media (max-width: 399px) {

    .ap-button {

        column-gap:
            .55rem !important;

        padding-left:
            .72rem;

        padding-right:
            .72rem;

        font-size:
            clamp(
                .64rem,
                3vw,
                .75rem
            );
    }


    .ap-button::after {

        margin-left:
            .18rem;
    }


    .page-service-saas
    .saas-hero__actions .ap-button,

    .page-service-saas
    .saas-cta__actions .ap-button,

    .page-service-maintenance
    .maintenance-hero__actions .ap-button,

    .page-service-maintenance
    .maintenance-cta__actions .ap-button {

        min-width:
            0;

        max-width:
            100%;
    }

}


/* AP MOBILE MENU FINAL WITHOUT NUMBERS START */

@media (max-width: 767px) {

    /*
     * Ya no existen 01, 02, 03...
     *
     * Por lo tanto abandonamos por completo
     * la cuadrícula de tres columnas:
     *
     * número | texto | flecha
     *
     * y usamos:
     *
     * texto | flecha
     */

    .mobile-menu
    .mobile-nav__list > li > a {

        display: flex !important;

        grid-template-columns: none !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-width: 0 !important;

        gap: .6rem !important;
    }


    /*
     * El nombre dispone ahora de todo el ancho.
     *
     * También anulamos cualquier regla global
     * que pudiera partir palabras.
     */

    .mobile-menu
    .mobile-nav__list > li > a > strong {

        display: block !important;

        flex:
            1
            1
            auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        grid-column: auto !important;

        white-space: nowrap !important;

        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }


    /*
     * Flecha original.
     * Sigue funcionando con hover/focus.
     */

    .mobile-menu
    .mobile-nav__list > li > a::after {

        flex:
            0
            0
            auto !important;

        grid-column: auto !important;

        margin-left: auto !important;

        justify-self: auto !important;
    }


    /*
     * AP / MENU queda solo a la izquierda.
     */

    .mobile-menu
    .mobile-menu__meta {

        justify-content:
            flex-start !important;
    }


    /*
     * Antes :last-child era el círculo "01".
     *
     * Ahora el único span es AP / MENU,
     * por eso anulamos totalmente aquel diseño.
     */

    .mobile-menu
    .mobile-menu__meta > span:last-child {

        display:
            inline-block !important;

        width:
            auto !important;

        min-width:
            0 !important;

        height:
            auto !important;

        aspect-ratio:
            auto !important;

        padding:
            0 !important;

        color:
            inherit !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        background:
            none !important;

        box-shadow:
            none !important;

        place-items:
            initial !important;
    }


    /*
     * El <ol> no debe generar numeración propia.
     */

    .mobile-menu
    .mobile-nav__list {

        list-style:
            none !important;

        padding-left:
            0 !important;
    }

}


/*
 * Los teléfonos más pequeños conservan
 * exactamente la misma estructura.
 */

@media (max-width: 479px) {

    .mobile-menu
    .mobile-nav__list > li > a {

        display:
            flex !important;

        grid-template-columns:
            none !important;
    }


    .mobile-menu
    .mobile-nav__list > li > a > strong {

        white-space:
            nowrap !important;
    }

}

/* AP MOBILE MENU FINAL WITHOUT NUMBERS END */


/* AP MOBILE SOCIAL HEADER CLEARANCE START */


/* ================================================================
   CABECERA SOCIAL — ESPACIO REAL EN LAS PRIMERAS CUATRO PÁGINAS

   La cabecera móvil fija + la fila social ocupan más altura que
   antes. Únicamente estos cuatro heroes tenían un padding superior
   menor que el resto del sitio.
================================================================ */

@media (max-width: 1099px) {

    .page-home .home-hero,
    .page-solutions .solutions-hero,
    .page-sectors .sectors-hero,
    .page-diagnostic .diagnostic-hero {

        /*
         * 4rem aprox. de header
         * + fila social
         * + espacio visual de respiración.
         */

        padding-top:
            clamp(
                8.55rem,
                16vw,
                9.25rem
            ) !important;
    }


    /*
     * Evita que títulos o elementos gráficos
     * puedan entrar debajo de la barra fija.
     */

    .page-home .home-hero__grid,
    .page-solutions .solutions-hero__grid,
    .page-sectors .sectors-hero__grid,
    .page-diagnostic .diagnostic-hero__grid {

        position: relative;

        z-index: 1;
    }

}


/* Teléfonos estrechos */

@media (max-width: 479px) {

    .page-home .home-hero,
    .page-solutions .solutions-hero,
    .page-sectors .sectors-hero,
    .page-diagnostic .diagnostic-hero {

        padding-top:
            8.25rem !important;
    }

}


/*
 * Cuando el menú se abre la barra social se recoge,
 * pero NO reducimos el padding del hero.
 *
 * Así el contenido no salta hacia arriba/abajo.
 */


/* AP MOBILE SOCIAL HEADER CLEARANCE END */
