.elementor-3038 .elementor-element.elementor-element-3fbd8c5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-3038 .elementor-element.elementor-element-149bd59{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3038 .elementor-element.elementor-element-149bd59:not(.elementor-motion-effects-element-type-background), .elementor-3038 .elementor-element.elementor-element-149bd59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3038 .elementor-element.elementor-element-69952bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3038 .elementor-element.elementor-element-69952bd:not(.elementor-motion-effects-element-type-background), .elementor-3038 .elementor-element.elementor-element-69952bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3038 .elementor-element.elementor-element-50a0f60{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3038 .elementor-element.elementor-element-cfe593f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3038 .elementor-element.elementor-element-505f424{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-3038 .elementor-element.elementor-element-69952bd{--width:50%;}.elementor-3038 .elementor-element.elementor-element-50a0f60{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3038 .elementor-element.elementor-element-149bd59{--content-width:100%;}.elementor-3038 .elementor-element.elementor-element-69952bd{--width:100%;}.elementor-3038 .elementor-element.elementor-element-50a0f60{--width:100%;}}/* Start custom CSS */:root {
        --ce-navy-950: #06162A;
        --ce-navy-900: #08213D;
        --ce-navy-800: #0C2D52;
        --ce-blue-700: #0A4FA3;
        --ce-blue-600: #1265C8;
        --ce-blue-500: #1F7CFF;
        --ce-orange-600: #FF6B00;
        --ce-orange-500: #FF7A1A;
        --ce-orange-100: #FFF1E6;
        --ce-white: #FFFFFF;
        --ce-soft: #F7FAFF;
        --ce-soft-blue: #F2F7FD;
        --ce-text-dark: #071B35;
        --ce-text-medium: #40516B;
        --ce-text-light: #EAF2FF;
        --ce-border: #E5ECF5;
        --ce-shadow: 0 14px 35px rgba(7, 27, 53, 0.08);
        --ce-shadow-hover: 0 18px 45px rgba(7, 27, 53, 0.12);
        --ce-success: #19A66A;
        --ce-warning: #FFB020;
        --ce-danger: #E5484D;
        --ce-radius-sm: 12px;
        --ce-radius-md: 18px;
        --ce-radius-lg: 24px;
        --ce-font: Manrope, Inter, Arial, sans-serif;
    }

    * {
        box-sizing: border-box;
    }

    html,
    body {
        margin: 0;
        font-family: var(--ce-font);
        background: var(--ce-white);
        color: var(--ce-text-dark);
    }

    body {
        line-height: 1.55;
    }

    a {
        color: inherit;
        text-decoration: none;
    }

    .ce-page {
        overflow: hidden;
        background: var(--ce-white);
    }

    .ce-container {
        width: min(1240px, calc(100% - 42px));
        margin: 0 auto;
    }

    .ce-hero {
        position: relative;
        min-height: 760px;
        color: var(--ce-text-light);
        overflow: hidden;
        background:
            linear-gradient(90deg, rgba(6, 22, 42, 0.96) 0%, rgba(8, 33, 61, 0.82) 42%, rgba(12, 45, 82, 0.35) 100%),
            url("https://fibraconecta.com/wp-content/uploads/2026/06/hero-contacto-empresas-1920x900-v1.png");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .ce-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
        background-size: 46px 46px;
        opacity: .26;
        pointer-events: none;
    }

    .ce-header {
        position: relative;
        z-index: 2;
        height: 74px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .ce-logo {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-weight: 950;
        line-height: 1;
    }

    .ce-logo-mark {
        width: 36px;
        height: 36px;
        border-radius: var(--ce-radius-sm);
        background: linear-gradient(135deg, var(--ce-orange-600), var(--ce-orange-500));
        position: relative;
        box-shadow: 0 12px 30px rgba(255, 107, 0, .35);
    }

    .ce-logo-mark::before,
    .ce-logo-mark::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        background: var(--ce-white);
        border-radius: 20px;
        transform: translate(-50%, -50%);
    }

    .ce-logo-mark::before {
        width: 18px;
        height: 4px;
    }

    .ce-logo-mark::after {
        width: 4px;
        height: 18px;
    }

    .ce-logo-text strong,
    .ce-logo-text span {
        display: block;
    }

    .ce-logo-text strong {
        font-size: 17px;
        color: var(--ce-white);
    }

    .ce-logo-text span {
        font-size: 16px;
        color: var(--ce-orange-500);
    }

    .ce-logo-img {
        display: block;
        width: 178px;
        height: auto;
        max-height: 48px;
        object-fit: contain;
        filter: none;
    }

    .ce-footer-logo-img {
        display: block;
        width: 178px;
        height: auto;
        max-height: 48px;
        object-fit: contain;
        filter: none;
    }

    .ce-nav {
        display: flex;
        align-items: center;
        gap: 24px;
        font-size: 13px;
        font-weight: 800;
        color: rgba(234, 242, 255, .9);
    }

    .ce-nav a:hover {
        color: var(--ce-orange-500);
    }

    .ce-quote-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: 0 18px;
        border-radius: 999px;
        color: var(--ce-white);
        background: rgba(255, 255, 255, .1);
        border: 1px solid rgba(255, 255, 255, .18);
        font-size: 13px;
        font-weight: 900;
        transition: background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
    }

    .ce-quote-btn:hover,
    .ce-quote-btn:focus-visible {
        background: var(--ce-orange-600);
        border-color: var(--ce-orange-600);
        color: var(--ce-white);
        box-shadow: 0 14px 32px rgba(255, 107, 0, .32);
        transform: translateY(-1px);
        outline: none;
    }

    .ce-mobile-menu {
        display: none;
        width: 44px;
        height: 44px;
        border: 1px solid rgba(255, 255, 255, .18);
        background: rgba(255, 255, 255, .08);
        color: var(--ce-white);
        border-radius: 10px;
        font-size: 13px;
        font-weight: 900;
    }

    .ce-hero-content {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: .95fr 1.05fr;
        align-items: center;
        min-height: 686px;
        gap: 40px;
        padding: 46px 0 120px;
    }

    .ce-eyebrow,
    .ce-section-label {
        color: var(--ce-orange-600);
        font-size: 13px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ce-eyebrow {
        margin-bottom: 15px;
    }

    .ce-hero h1 {
        margin: 0;
        max-width: 720px;
        font-size: clamp(42px, 5.2vw, 78px);
        line-height: .96;
        letter-spacing: 0;
        color: var(--ce-white);
    }

    .ce-hero-subtitle {
        margin-top: 22px;
        max-width: 650px;
        color: rgba(234, 242, 255, .92);
        font-size: 21px;
        font-weight: 800;
        line-height: 1.34;
    }

    .ce-hero-copy {
        max-width: 680px;
        margin: 18px 0 0;
        color: rgba(234, 242, 255, .78);
        font-size: 16px;
        line-height: 1.8;
    }

    .ce-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 30px;
    }

    .ce-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 22px;
        border-radius: 999px;
        font-size: 14px;
        font-weight: 950;
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .ce-btn:hover {
        transform: translateY(-2px);
    }

    .ce-btn-primary {
        color: var(--ce-white);
        background: var(--ce-orange-600);
        box-shadow: 0 16px 32px rgba(255, 107, 0, .25);
    }

    .ce-btn-secondary {
        color: var(--ce-white);
        border: 1px solid rgba(255, 255, 255, .24);
        background: rgba(255, 255, 255, .08);
    }

    .ce-hero-tags {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        max-width: 680px;
        margin-top: 28px;
        margin-bottom: 24px;
    }

    .ce-tag {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        padding: 0 12px;
        border-radius: 999px;
        color: var(--ce-text-light);
        background: rgba(255, 255, 255, .1);
        border: 1px solid rgba(255, 255, 255, .14);
        font-size: 12px;
        font-weight: 850;
        line-height: 1.2;
    }

    .ce-hero-panel {
        justify-self: end;
        width: min(100%, 460px);
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: var(--ce-radius-lg);
        padding: 24px;
        background: rgba(6, 22, 42, .52);
        backdrop-filter: blur(12px);
        box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
    }

    .ce-hero-panel h2 {
        margin: 0 0 12px;
        color: var(--ce-white);
        font-size: 22px;
    }

    .ce-hero-panel p {
        margin: 0 0 18px;
        color: rgba(234, 242, 255, .76);
    }

    .ce-panel-list {
        display: grid;
        gap: 12px;
    }

    .ce-panel-item {
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--ce-white);
        font-size: 14px;
        font-weight: 850;
    }

    .ce-panel-item img {
        width: 30px;
        height: 30px;
        filter: brightness(0) invert(1);
        opacity: .95;
    }

    .ce-main {
        background: var(--ce-white);
    }

    .ce-section {
        padding: 92px 0;
    }

    .ce-section-soft {
        background: var(--ce-soft);
    }

    .ce-section-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 46px;
        align-items: end;
        margin-top: 12px;
        margin-bottom: 34px;
    }

    .ce-section-title {
        margin: 0;
        color: var(--ce-text-dark);
        font-size: clamp(30px, 3.4vw, 48px);
        line-height: 1.05;
        letter-spacing: 0;
    }

    .ce-section-copy {
        margin: 0;
        color: var(--ce-text-medium);
        font-size: 17px;
        line-height: 1.75;
    }

    .ce-card-grid-3,
    .ce-card-grid-4,
    .ce-card-grid-5,
    .ce-case-grid,
    .ce-complement-grid,
    .ce-credibility-grid {
        display: grid;
        gap: 18px;
    }

    .ce-card-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ce-card-grid-4,
    .ce-complement-grid,
    .ce-credibility-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ce-card-grid-5,
    .ce-case-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .ce-card,
    .ce-case,
    .ce-complement,
    .ce-step,
    .ce-credibility-item {
        background: var(--ce-white);
        border: 1px solid var(--ce-border);
        border-radius: var(--ce-radius-md);
        box-shadow: var(--ce-shadow);
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .ce-card:hover,
    .ce-case:hover,
    .ce-complement:hover,
    .ce-step:hover,
    .ce-credibility-item:hover {
        transform: scale(1.05);
        box-shadow: var(--ce-shadow-hover);
        border-color: rgba(18, 101, 200, .18);
    }

    .ce-card {
        padding: 24px 18px;
        text-align: center;
    }

    .ce-icon-circle,
    .ce-card-icon,
    .ce-benefit-icon,
    .ce-problem-icon {
        display: grid;
        place-items: center;
        width: 88px;
        height: 88px;
        min-width: 88px;
        min-height: 88px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: var(--ce-orange-100);
    }

    .ce-icon-circle img,
    .ce-card-icon img,
    .ce-benefit-icon img,
    .ce-problem-icon img {
        width: 54px;
        height: 54px;
        object-fit: contain;
    }

    .ce-credibility-icon,
    .ce-step-icon,
    .ce-complement-icon {
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: var(--ce-soft-blue);
    }

    .ce-credibility-icon {
        width: 64px;
        height: 64px;
        min-width: 64px;
    }

    .ce-credibility-icon img {
        width: 42px;
        height: 42px;
        object-fit: contain;
    }

    .ce-step-icon {
        width: 72px;
        height: 72px;
        min-width: 72px;
    }

    .ce-step-icon img {
        width: 44px;
        height: 44px;
        object-fit: contain;
    }

    .ce-complement-icon {
        width: 64px;
        height: 64px;
        min-width: 64px;
    }

    .ce-complement-icon img {
        width: 46px;
        height: 46px;
        object-fit: contain;
    }

    .ce-card h3,
    .ce-case h3,
    .ce-complement h3,
    .ce-step h3,
    .ce-credibility-item h3 {
        margin: 0 0 8px;
        color: var(--ce-text-dark);
        font-size: 17px;
        line-height: 1.25;
    }

    .ce-card p,
    .ce-case p,
    .ce-complement p,
    .ce-step p,
    .ce-credibility-item p {
        margin: 0;
        color: var(--ce-text-medium);
        font-size: 14px;
        line-height: 1.65;
    }

    .ce-solution-grid {
        display: grid;
        grid-template-columns: .82fr 1.18fr .52fr;
        gap: 24px;
        align-items: stretch;
    }

    .ce-solution-text,
    .ce-offer,
    .ce-credibility {
        background: var(--ce-white);
        border: 1px solid var(--ce-border);
        border-radius: var(--ce-radius-lg);
        box-shadow: var(--ce-shadow);
        padding: 34px;
    }

    .ce-solution-text h2,
    .ce-offer h2,
    .ce-credibility h2 {
        margin: 0 0 16px;
        color: var(--ce-text-dark);
        font-size: 34px;
        line-height: 1.12;
    }

    .ce-solution-text p {
        margin: 0 0 16px;
        color: var(--ce-text-medium);
        line-height: 1.76;
    }

    .ce-quote-box {
        align-self: stretch;
        display: grid;
        align-content: center;
        min-height: 220px;
        padding: 24px;
        border-radius: var(--ce-radius-md);
        background: var(--ce-orange-100);
        color: var(--ce-text-dark);
        font-weight: 950;
        border-left: 5px solid var(--ce-orange-600);
    }

    .ce-quote-mark {
        color: var(--ce-orange-600);
        font-size: 44px;
        line-height: .75;
        font-weight: 950;
    }

    .ce-quote-box strong {
        display: block;
        margin-top: 8px;
        color: var(--ce-text-dark);
        font-size: 18px;
        line-height: 1.3;
    }

    .ce-diagram {
        min-height: 390px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        align-items: center;
        padding: 28px;
        border-radius: var(--ce-radius-lg);
        background: radial-gradient(circle at 50% 42%, rgba(31, 124, 255, .22), transparent 28%), linear-gradient(135deg, var(--ce-navy-950), var(--ce-navy-800));
        color: var(--ce-white);
        box-shadow: var(--ce-shadow);
    }

    .ce-diagram-node {
        display: grid;
        gap: 12px;
        justify-items: center;
        text-align: center;
        font-weight: 900;
    }

    .ce-diagram-visual,
    .ce-diagram-center {
        display: grid;
        place-items: center;
        border-radius: 22px;
        background: rgba(255, 255, 255, .1);
        border: 1px solid rgba(255, 255, 255, .16);
    }

    .ce-diagram-visual {
        width: 104px;
        height: 104px;
    }

    .ce-diagram-center {
        width: 136px;
        height: 136px;
        background: rgba(255, 107, 0, .18);
    }

    .ce-diagram img {
        width: 58px;
        height: 58px;
        filter: brightness(0) invert(1);
    }

    .ce-case {
        overflow: hidden;
    }

    .ce-case-top {
        position: relative;
        width: 100%;
        height: 154px;
        margin: 0;
        overflow: hidden;
        border-radius: var(--ce-radius-md) var(--ce-radius-md) 0 0;
        background: linear-gradient(135deg, rgba(6, 22, 42, .94), rgba(18, 101, 200, .78)), radial-gradient(circle at 76% 28%, rgba(255, 107, 0, .36), transparent 24%);
    }

    .ce-case-top::before {
        content: "";
        position: absolute;
        inset: 18px;
        border: 1px solid rgba(255, 255, 255, .22);
        border-radius: 14px;
        background: linear-gradient(rgba(255, 255, 255, .10) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .10) 1px, transparent 1px);
        background-size: 22px 22px;
        opacity: .8;
    }

    .ce-case-top::after {
        content: "";
        position: absolute;
        right: 22px;
        bottom: 22px;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        border: 2px solid rgba(255, 255, 255, .75);
        box-shadow: 0 0 0 12px rgba(31, 124, 255, .16);
    }

    .ce-case-top img {
        display: none;
    }

    .ce-case-body {
        padding: 20px;
    }

    .ce-credibility {
        display: grid;
        grid-template-columns: .65fr 1.35fr;
        gap: 28px;
        align-items: start;
    }

    .ce-credibility-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ce-credibility-item {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 14px;
        padding: 20px;
    }

    .ce-credibility-icon {
        margin: 0;
        width: 64px;
        height: 64px;
        min-width: 64px;
    }

    .ce-check-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .ce-check-item {
        display: grid;
        grid-template-columns: 34px 1fr;
        align-items: center;
        gap: 12px;
        min-height: 58px;
        padding: 12px 16px;
        border-radius: var(--ce-radius-sm);
        background: var(--ce-white);
        color: var(--ce-text-dark);
        font-weight: 850;
        border: 1px solid var(--ce-border);
        box-shadow: 0 10px 24px rgba(7, 27, 53, 0.05);
    }

    .ce-check-item::before {
        content: "";
        display: block;
        width: 28px;
        height: 28px;
        margin: 0;
        border-radius: 50%;
        background: radial-gradient(circle at center, var(--ce-orange-600) 0 3px, transparent 4px), var(--ce-orange-100);
        border: 1px solid rgba(255, 107, 0, .22);
        box-shadow: inset 0 0 0 7px rgba(255, 255, 255, .72);
    }

    .ce-process {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }

    .ce-step {
        position: relative;
        padding: 26px;
    }

    .ce-step-number {
        position: absolute;
        top: 18px;
        right: 18px;
        color: var(--ce-orange-600);
        font-size: 36px;
        font-weight: 950;
        line-height: 1;
        opacity: .28;
    }

    .ce-step-icon {
        margin: 0 0 16px;
    }

    .ce-complement {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 14px;
        align-items: center;
        padding: 20px;
    }

    .ce-complement-icon {
        margin: 0;
        width: 64px;
        height: 64px;
        min-width: 64px;
    }

    .ce-complement-arrow {
        color: var(--ce-orange-600);
        font-weight: 950;
        font-size: 22px;
    }

    .ce-final {
        background: var(--ce-navy-950);
        color: var(--ce-text-light);
        padding: 76px 0 26px;
    }

    .ce-final-cta {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 24px;
        align-items: center;
        padding: 34px;
        border-radius: var(--ce-radius-lg);
        background: linear-gradient(135deg, var(--ce-navy-900), var(--ce-navy-800));
        border: 1px solid rgba(255, 255, 255, .12);
    }

    .ce-final-icon {
        display: grid;
        place-items: center;
        width: 66px;
        height: 66px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0C2D52, #08213D);
        border: 1.5px solid rgba(31, 124, 255, .28);
        box-shadow: 0 0 0 5px rgba(31, 124, 255, .07);
        position: relative;
        overflow: hidden;
        flex: 0 0 auto;
        animation: cfiBreathe 4s ease-in-out infinite;
    }

    .ce-final-icon::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 50% 65%, rgba(31, 124, 255, .18), transparent 62%);
        pointer-events: none;
    }

    .ce-final-icon svg {
        position: relative;
        z-index: 1;
    }

    @keyframes cfiBreathe {

        0%,
        100% {
            transform: scale(1)
        }

        50% {
            transform: scale(1.04)
        }
    }

    @keyframes cfiPulse {

        0%,
        100% {
            opacity: 1
        }

        50% {
            opacity: .25
        }
    }

    @keyframes cfiDash {
        to {
            stroke-dashoffset: -160
        }
    }

    @keyframes cfiSpin {
        to {
            transform: rotate(360deg)
        }
    }

    @keyframes cfiFloat {

        0%,
        100% {
            transform: translateY(0)
        }

        50% {
            transform: translateY(-3px)
        }
    }

    @keyframes cfiGlow {

        0%,
        100% {
            opacity: .15
        }

        50% {
            opacity: .4
        }
    }

    @keyframes cfiEkg {
        0% {
            stroke-dashoffset: 160
        }

        60% {
            stroke-dashoffset: 0
        }

        100% {
            stroke-dashoffset: -160
        }
    }

    .cfi-pulse {
        animation: cfiPulse 1.6s ease-in-out infinite;
    }

    .cfi-pulse2 {
        animation: cfiPulse 1.6s ease-in-out infinite .55s;
    }

    .cfi-pulse3 {
        animation: cfiPulse 1.6s ease-in-out infinite 1.1s;
    }

    .cfi-dash {
        stroke-dasharray: 160;
        stroke-dashoffset: 0;
        animation: cfiDash 8s linear infinite;
    }

    .cfi-spin {
        transform-origin: 36px 36px;
        animation: cfiSpin 8s linear infinite;
    }

    .cfi-float {
        animation: cfiFloat 3s ease-in-out infinite;
    }

    .cfi-glow {
        animation: cfiGlow 2.8s ease-in-out infinite;
    }

    .cfi-ekg {
        stroke-dasharray: 160;
        stroke-dashoffset: 160;
        animation: cfiEkg 2.8s ease-in-out infinite;
    }

    .ce-final h2 {
        margin: 6px 0 10px;
        color: var(--ce-white);
        font-size: 34px;
        line-height: 1.12;
    }

    .ce-final p {
        margin: 0;
        color: rgba(234, 242, 255, .72);
    }

    @media (max-width: 1080px) {

        .ce-nav,
        .ce-quote-btn {
            display: none;
        }

        .ce-mobile-menu {
            display: block;
        }

        .ce-hero-content,
        .ce-section-head,
        .ce-solution-grid,
        .ce-credibility {
            grid-template-columns: 1fr;
        }

        .ce-hero-panel {
            justify-self: start;
        }

        .ce-hero {
            min-height: auto;
        }

        .ce-hero-content {
            min-height: auto;
            padding: 100px 0 110px;
        }

        .ce-card-grid-5,
        .ce-case-grid,
        .ce-card-grid-4,
        .ce-complement-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 720px) {
        .ce-container {
            width: min(100% - 28px, 1240px);
        }

        .ce-hero {
            min-height: auto;
        }

        .ce-hero-content {
            min-height: auto;
            padding: 92px 0 120px;
        }

        .ce-hero-tags {
            max-width: none;
            margin-bottom: 36px;
        }

        .ce-hero h1 {
            font-size: 40px;
        }

        .ce-hero-subtitle {
            font-size: 18px;
        }

        .ce-hero-panel {
            display: none;
        }

        .ce-section {
            padding: 68px 0;
        }

        .ce-card-grid-5,
        .ce-case-grid,
        .ce-card-grid-4,
        .ce-card-grid-3,
        .ce-complement-grid,
        .ce-credibility-grid,
        .ce-check-grid,
        .ce-process {
            grid-template-columns: 1fr;
        }

        .ce-diagram {
            grid-template-columns: 1fr;
        }

        .ce-final-cta {
            grid-template-columns: 1fr;
        }
    }

    .ce-form-shell {
        display: grid;
        grid-template-columns: 1.1fr .9fr;
        gap: 24px;
        align-items: start;
    }

    .ce-form-card {
        background: var(--ce-white);
        border: 1px solid var(--ce-border);
        border-radius: var(--ce-radius-lg);
        box-shadow: var(--ce-shadow);
        padding: 30px;
    }

    .ce-form-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .ce-field {
        display: grid;
        gap: 7px;
    }

    .ce-field label {
        color: var(--ce-text-dark);
        font-size: 13px;
        font-weight: 900;
    }

    .ce-field input,
    .ce-field select,
    .ce-field textarea {
        width: 100%;
        min-height: 48px;
        border: 1px solid var(--ce-border);
        border-radius: 12px;
        background: var(--ce-soft);
        color: var(--ce-text-dark);
        padding: 0 14px;
        font: inherit;
        font-size: 14px;
        outline: none;
    }

    .ce-field textarea {
        min-height: 132px;
        padding: 14px;
        resize: vertical;
    }

    .ce-field-full {
        grid-column: 1 / -1;
    }

    .ce-form-note {
        margin: 14px 0 0;
        color: var(--ce-text-medium);
        font-size: 13px;
        line-height: 1.6;
    }

    .ce-contact-aside {
        display: grid;
        gap: 16px;
    }

    .ce-contact-tile {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 14px;
        align-items: start;
        background: var(--ce-white);
        border: 1px solid var(--ce-border);
        border-radius: var(--ce-radius-md);
        box-shadow: var(--ce-shadow);
        padding: 20px;
    }

    .ce-contact-tile img {
        width: 54px;
        height: 54px;
    }

    .ce-contact-tile h3 {
        margin: 0 0 6px;
        color: var(--ce-text-dark);
        font-size: 16px;
    }

    .ce-contact-tile p {
        margin: 0;
        color: var(--ce-text-medium);
        font-size: 14px;
        line-height: 1.6;
    }

    @media (max-width: 1080px) {
        .ce-form-shell {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 680px) {
        .ce-form-grid {
            grid-template-columns: 1fr;
        }
    }

    /* Correccion global V2: proporcion real de iconos y cards */
    .ce-card,
    .ce-benefit-card,
    .ce-problem-card {
        min-height: 190px;
        padding: 28px 22px;
    }

    .ce-icon-circle,
    .ce-card-icon,
    .ce-problem-icon,
    .ce-benefit-icon {
        width: 88px !important;
        height: 88px !important;
        min-width: 88px !important;
        min-height: 88px !important;
        border-radius: 50% !important;
        background: var(--ce-orange-100) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto 18px !important;
    }

    .ce-icon-circle img,
    .ce-card-icon img,
    .ce-problem-icon img,
    .ce-benefit-icon img,
    .ce-icon-circle svg,
    .ce-card-icon svg,
    .ce-problem-icon svg,
    .ce-benefit-icon svg {
        width: 54px !important;
        height: 54px !important;
        display: block !important;
        object-fit: contain;
    }

    .ce-credibility-item {
        min-height: 118px;
        grid-template-columns: 64px 1fr !important;
        gap: 16px !important;
        padding: 22px !important;
        align-items: center;
    }

    .ce-credibility-icon,
    .ce-trust-icon {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        border-radius: 18px !important;
        background: var(--ce-orange-100) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .ce-credibility-icon img,
    .ce-trust-icon img,
    .ce-credibility-icon svg,
    .ce-trust-icon svg {
        width: 40px !important;
        height: 40px !important;
        display: block !important;
        object-fit: contain;
    }

    .ce-step,
    .ce-process-card,
    .ce-step-card {
        min-height: 150px;
        padding: 24px !important;
        display: grid !important;
        grid-template-columns: 72px 1fr !important;
        gap: 18px !important;
        align-items: center !important;
    }

    .ce-step-icon {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        min-height: 72px !important;
        border-radius: 50% !important;
        background: var(--ce-orange-100) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .ce-step-icon img,
    .ce-step-icon svg {
        width: 44px !important;
        height: 44px !important;
        display: block !important;
        object-fit: contain;
    }

    .ce-step-number {
        z-index: 2;
    }

    .ce-complement,
    .ce-complement-card,
    .ce-service-card {
        min-height: 118px;
        padding: 22px !important;
        display: grid !important;
        grid-template-columns: 64px 1fr auto !important;
        gap: 16px !important;
        align-items: center !important;
    }

    .ce-complement-icon,
    .ce-service-card-icon {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        border-radius: 18px !important;
        background: var(--ce-orange-100) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .ce-complement-icon img,
    .ce-service-card-icon img,
    .ce-complement-icon svg,
    .ce-service-card-icon svg {
        width: 44px !important;
        height: 44px !important;
        display: block !important;
        object-fit: contain;
    }

    .ce-check-item {
        grid-template-columns: 28px 1fr !important;
        min-height: 52px;
        padding: 12px 16px !important;
    }

    .ce-check-item::before {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
    }

    .ce-sector-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .ce-sector-card {
        min-height: 86px;
        padding: 16px 18px;
        border-radius: var(--ce-radius-sm);
        background: var(--ce-white);
        border: 1px solid var(--ce-border);
        box-shadow: 0 10px 24px rgba(7, 27, 53, 0.05);
        color: var(--ce-text-dark);
        font-weight: 850;
        display: grid;
        grid-template-columns: 56px 1fr;
        gap: 14px;
        align-items: center;
    }

    .ce-sector-card::before {
        content: "";
        width: 56px;
        height: 56px;
        min-width: 56px;
        min-height: 56px;
        border-radius: 16px;
        background:
            radial-gradient(circle at center, var(--ce-orange-600) 0 4px, transparent 5px),
            var(--ce-orange-100);
        border: 1px solid rgba(255, 107, 0, .22);
        box-shadow: inset 0 0 0 13px rgba(255, 255, 255, .72);
    }

    .ce-case-card,
    .ce-case {
        overflow: hidden;
    }

    .ce-case-image,
    .ce-case-img,
    .ce-case-top {
        height: 150px !important;
        width: 100%;
        border-radius: 16px 16px 0 0;
        position: relative;
        overflow: hidden;
    }

    @media (max-width: 680px) {

        .ce-icon-circle,
        .ce-card-icon,
        .ce-problem-icon,
        .ce-benefit-icon {
            width: 76px !important;
            height: 76px !important;
            min-width: 76px !important;
            min-height: 76px !important;
        }

        .ce-icon-circle img,
        .ce-card-icon img,
        .ce-problem-icon img,
        .ce-benefit-icon img,
        .ce-icon-circle svg,
        .ce-card-icon svg,
        .ce-problem-icon svg,
        .ce-benefit-icon svg {
            width: 46px !important;
            height: 46px !important;
        }

        .ce-step,
        .ce-process-card,
        .ce-step-card,
        .ce-complement,
        .ce-complement-card,
        .ce-service-card,
        .ce-sector-card {
            grid-template-columns: 1fr !important;
        }

        .ce-sector-grid {
            grid-template-columns: 1fr;
        }
    }

    /* Preparacion V2: imagenes reales para casos de uso */
    .ce-case-card {
        overflow: hidden;
    }

    .ce-case-image {
        height: 150px;
        width: 100%;
        overflow: hidden;
        border-radius: 16px 16px 0 0;
        background: linear-gradient(135deg, #0C2D52, #1265C8);
        position: relative;
    }

    .ce-case-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .ce-case-placeholder {
        background: linear-gradient(135deg, rgba(12, 45, 82, .95), rgba(18, 101, 200, .85));
    }

    .ce-case-placeholder::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .10) 1px, transparent 1px);
        background-size: 28px 28px;
        opacity: .35;
    }

    /* Animacion V2: health dots secuenciales en card lateral del hero */
    .ce-hero-health-list {
        list-style: none;
        padding: 0;
        margin: 26px 0 0;
        display: grid;
        gap: 18px;
    }

    .ce-hero-health-item {
        display: flex;
        align-items: center;
        gap: 16px;
        color: #FFFFFF;
        font-weight: 900;
        font-size: 16px;
    }

    .ce-hero-health-dot {
        position: relative;
        width: 34px;
        height: 34px;
        min-width: 34px;
        min-height: 34px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
    }

    .ce-hero-health-dot::after {
        content: "";
        position: absolute;
        inset: 8px;
        border-radius: 50%;
        background: #22C55E;
        opacity: 0;
        transform: scale(0.45);
        box-shadow:
            0 0 0 0 rgba(34, 197, 94, 0.45),
            0 0 18px rgba(34, 197, 94, 0.75);
        animation: ceHealthPulse 5.4s infinite;
    }

    .ce-hero-health-item:nth-child(1) .ce-hero-health-dot::after {
        animation-delay: 0s;
    }

    .ce-hero-health-item:nth-child(2) .ce-hero-health-dot::after {
        animation-delay: 1.8s;
    }

    .ce-hero-health-item:nth-child(3) .ce-hero-health-dot::after {
        animation-delay: 3.6s;
    }

    @keyframes ceHealthPulse {
        0% {
            opacity: 0;
            transform: scale(0.45);
            box-shadow:
                0 0 0 0 rgba(34, 197, 94, 0),
                0 0 0 rgba(34, 197, 94, 0);
        }

        8% {
            opacity: 1;
            transform: scale(1);
            box-shadow:
                0 0 0 6px rgba(34, 197, 94, 0.20),
                0 0 18px rgba(34, 197, 94, 0.85);
        }

        22% {
            opacity: 1;
            transform: scale(1);
            box-shadow:
                0 0 0 10px rgba(34, 197, 94, 0.08),
                0 0 22px rgba(34, 197, 94, 0.65);
        }

        30% {
            opacity: 0;
            transform: scale(0.55);
            box-shadow:
                0 0 0 14px rgba(34, 197, 94, 0),
                0 0 0 rgba(34, 197, 94, 0);
        }

        100% {
            opacity: 0;
            transform: scale(0.45);
            box-shadow:
                0 0 0 0 rgba(34, 197, 94, 0),
                0 0 0 rgba(34, 197, 94, 0);
        }
    }

    @media (max-width: 680px) {
        .ce-hero-health-dot {
            width: 28px;
            height: 28px;
            min-width: 28px;
            min-height: 28px;
        }

        .ce-hero-health-dot::after {
            inset: 7px;
        }

        .ce-hero-health-list {
            gap: 14px;
        }
    }

    /* UX Titulos V2 aprobado: reveal de hero y acento activo en secciones */
    .ce-hero-title,
    .ce-hero h1 {
        line-height: 1.06;
        overflow: visible;
    }

    .ce-title-line {
        display: block;
        overflow: hidden;
        padding-bottom: .08em;
        margin-bottom: -.06em;
    }

    .ce-title-line>span {
        display: block;
        transform: translateY(115%);
        animation: ceTitleReveal .92s cubic-bezier(.2, .82, .2, 1) both;
    }

    .ce-title-line:nth-child(2)>span {
        animation-delay: .12s;
    }

    .ce-title-line:nth-child(3)>span {
        animation-delay: .24s;
    }

    .ce-title-line:nth-child(4)>span {
        animation-delay: .36s;
    }

    .ce-title-line:nth-child(5)>span {
        animation-delay: .48s;
    }

    .ce-section-label {
        animation: ceFadeUp .65s ease both;
    }

    .ce-section-title {
        position: relative;
    }

    .ce-section-title::after {
        content: "";
        display: block;
        width: 84px;
        height: 5px;
        margin-top: 18px;
        border-radius: 999px;
        background: linear-gradient(90deg, var(--ce-orange-600), var(--ce-blue-500));
        transform-origin: left;
        animation: ceLinePulse 3.8s ease-in-out infinite;
    }

    @keyframes ceTitleReveal {
        to {
            transform: translateY(0);
        }
    }

    @keyframes ceFadeUp {
        0% {
            opacity: 0;
            transform: translateY(18px);
        }

        22%,
        78% {
            opacity: 1;
            transform: translateY(0);
        }

        100% {
            opacity: .92;
            transform: translateY(0);
        }
    }

    @keyframes ceLinePulse {

        0%,
        100% {
            transform: scaleX(.42);
            opacity: .72;
        }

        45%,
        60% {
            transform: scaleX(1);
            opacity: 1;
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .ce-title-line>span,
        .ce-section-label,
        .ce-section-title::after {
            animation: none !important;
            transform: none !important;
        }
    }

    /* ════════════════════════════════════════════════════════════
       SCROLL_REVEAL_V1 — animación al hacer scroll
       Aparece label → título → párrafo en cascada cuando la
       sección entra al viewport. Sin JS: todo permanece visible.
       ════════════════════════════════════════════════════════════ */
    .js-loaded .ce-section-label,
    .js-loaded .ce-section-title,
    .js-loaded .ce-section-copy {
        opacity: 0;
        will-change: opacity, transform;
        transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1);
    }

    .js-loaded .ce-section-label {
        transform: translateX(-18px);
        transition-delay: 0s;
        animation: none !important;
    }

    .js-loaded .ce-section-title {
        transform: translateY(30px);
        transition-delay: .1s;
    }

    .js-loaded .ce-section-copy {
        transform: translateY(20px);
        transition-delay: .2s;
    }

    .ce-section-label.sr-in,
    .ce-section-title.sr-in,
    .ce-section-copy.sr-in {
        opacity: 1 !important;
        transform: none !important;
    }

    @media (prefers-reduced-motion: reduce) {

        .js-loaded .ce-section-label,
        .js-loaded .ce-section-title,
        .js-loaded .ce-section-copy {
            opacity: 1 !important;
            transform: none !important;
            transition: none !important;
        }
    }/* End custom CSS */