/* =========================================================
   HERO — MARCA, REDES Y CAMPAÑAS DIGITALES
========================================================= */

.dmxBrandHero {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 920px;
    padding: 150px 0 110px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #ffffff 48%,
            #f3f7ff 100%
        );

    isolation: isolate;
}


.dmxBrandHeroBackground {
    position: absolute;
    inset: 0;

    z-index: -2;

    overflow: hidden;

    pointer-events: none;
}


.dmxBrandHeroGridPattern {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(25, 52, 94, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(25, 52, 94, 0.045) 1px,
            transparent 1px
        );

    background-size: 58px 58px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.8),
            transparent 90%
        );
}


.dmxBrandHeroGlow {
    position: absolute;

    border-radius: 50%;

    filter: blur(25px);

    opacity: 0.8;
}


.dmxBrandHeroGlowOne {
    top: -220px;
    right: -180px;

    width: 620px;
    height: 620px;

    background:
        radial-gradient(
            circle,
            rgba(85, 121, 255, 0.19) 0%,
            rgba(85, 121, 255, 0) 70%
        );
}


.dmxBrandHeroGlowTwo {
    bottom: -260px;
    left: -220px;

    width: 680px;
    height: 680px;

    background:
        radial-gradient(
            circle,
            rgba(43, 204, 153, 0.14) 0%,
            rgba(43, 204, 153, 0) 72%
        );
}


/* =========================================================
   LAYOUT
========================================================= */

.dmxBrandHeroLayout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.88fr)
        minmax(560px, 1.12fr);
    align-items: center;
    gap: clamp(70px, 8vw, 130px);
}


/* =========================================================
   CONTENIDO
========================================================= */

.dmxBrandHeroContent {
    position: relative;

    z-index: 3;
}


.dmxBrandHeroEyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 24px;
}


.dmxBrandHeroEyebrow > span {
    position: relative;

    width: 42px;
    height: 2px;

    overflow: hidden;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #315de8,
            #36c99a
        );
}


.dmxBrandHeroEyebrow > span::after {
    content: "";

    position: absolute;
    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background: #ffffff;

    animation:
        dmxBrandEyebrowSweep 3.2s ease-in-out infinite;
}


.dmxBrandHeroEyebrow small {
    color: #315de8;

    font-size: 0.77rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}


.dmxBrandHero h1 {
    max-width: 720px;
    margin: 0;

    color: #111b2d;

    font-size: clamp(3.25rem, 5.2vw, 5.85rem);
    font-weight: 730;
    line-height: 0.98;
    letter-spacing: -0.065em;

    text-wrap: balance;
}


.dmxBrandHero h1 > span,
.dmxBrandHero h1 > strong {
    display: block;
}


.dmxBrandHero h1 > span {
    color: #8e98aa;

    font-weight: 520;
}


.dmxBrandHero h1 > strong {
    margin-top: 10px;

    color: transparent;

    font-weight: 760;

    background:
        linear-gradient(
            110deg,
            #315de8 0%,
            #4f7df8 42%,
            #27bb8d 100%
        );

    background-clip: text;
    -webkit-background-clip: text;
}


.dmxBrandHeroDescription {
    max-width: 650px;
    margin: 30px 0 0;

    color: #5c687b;

    font-size: clamp(1.02rem, 1.25vw, 1.16rem);
    line-height: 1.82;
}


.dmxBrandHeroActions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;

    margin-top: 38px;
}


.dmxBrandHeroActions .dmxPrimaryButton,
.dmxBrandHeroActions .dmxSecondaryButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 58px;
    padding: 0 25px;

    border-radius: 17px;

    font-size: 0.96rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease,
        background-color 0.3s ease,
        color 0.3s ease;
}


.dmxBrandHeroActions .dmxPrimaryButton {
    color: #ffffff;

    border: 1px solid #315de8;

    background:
        linear-gradient(
            135deg,
            #315de8,
            #4979f5
        );

    box-shadow:
        0 18px 35px rgba(49, 93, 232, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}


.dmxBrandHeroActions .dmxPrimaryButton span {
    font-size: 1.15rem;

    transition:
        transform 0.3s ease;
}


.dmxBrandHeroActions .dmxSecondaryButton {
    color: #1d2a3d;

    border: 1px solid rgba(31, 50, 79, 0.13);

    background: rgba(255, 255, 255, 0.78);

    box-shadow:
        0 12px 28px rgba(24, 40, 66, 0.06);

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}


.dmxBrandHeroActions .dmxPrimaryButton:hover,
.dmxBrandHeroActions .dmxPrimaryButton:focus-visible {
    transform: translateY(-3px);

    box-shadow:
        0 23px 42px rgba(49, 93, 232, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}


.dmxBrandHeroActions .dmxPrimaryButton:hover span,
.dmxBrandHeroActions .dmxPrimaryButton:focus-visible span {
    transform: translateX(4px);
}


.dmxBrandHeroActions .dmxSecondaryButton:hover,
.dmxBrandHeroActions .dmxSecondaryButton:focus-visible {
    color: #315de8;

    border-color: rgba(49, 93, 232, 0.25);

    transform: translateY(-3px);
}


.dmxBrandHeroActions a:focus-visible {
    outline: 3px solid rgba(49, 93, 232, 0.24);
    outline-offset: 4px;
}


/* =========================================================
   BENEFICIOS
========================================================= */

.dmxBrandHeroBenefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;

    max-width: 700px;
    margin-top: 44px;
}


.dmxBrandHeroBenefit {
    position: relative;

    min-height: 102px;
    padding: 17px 17px 16px;

    overflow: hidden;

    border: 1px solid rgba(31, 50, 79, 0.09);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.66);

    box-shadow:
        0 13px 30px rgba(20, 39, 67, 0.045);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.dmxBrandHeroBenefit::before {
    content: "";

    position: absolute;
    inset: auto 0 0;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            #315de8,
            #30c494
        );

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform 0.4s ease;
}


.dmxBrandHeroBenefit:hover {
    border-color: rgba(49, 93, 232, 0.17);

    transform: translateY(-4px);

    box-shadow:
        0 18px 35px rgba(20, 39, 67, 0.075);
}


.dmxBrandHeroBenefit:hover::before {
    transform: scaleX(1);
}


.dmxBrandHeroBenefit > span {
    display: block;

    margin-bottom: 10px;

    color: #315de8;

    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}


.dmxBrandHeroBenefit p {
    margin: 0;

    color: #28364b;

    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.45;
}


/* =========================================================
   VISUAL GENERAL
========================================================= */

.dmxBrandHeroVisual {
    position: relative;

    width: 100%;
    max-width: 760px;
    min-height: 670px;
    margin-left: auto;

    perspective: 1500px;
}


.dmxBrandGrowthDashboard {
    position: relative;
    z-index: 3;

    width: calc(100% - 34px);
    margin: 36px 0 0 34px;
    padding: 24px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.76);
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(246, 249, 255, 0.88)
        );

    box-shadow:
        0 40px 90px rgba(29, 51, 88, 0.16),
        0 15px 35px rgba(34, 67, 121, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);

    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);

    transform:
        rotateY(-5deg)
        rotateX(2deg);

    transform-style: preserve-3d;

    animation:
        dmxBrandDashboardFloat 7s ease-in-out infinite;
}


.dmxBrandGrowthDashboard::before {
    content: "";

    position: absolute;
    top: -180px;
    right: -140px;

    width: 360px;
    height: 360px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(49, 93, 232, 0.13),
            rgba(49, 93, 232, 0) 70%
        );

    pointer-events: none;
}


.dmxBrandGrowthDashboard::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(49, 93, 232, 0.35),
            transparent
        );
}


/* =========================================================
   ENCABEZADO DEL PANEL
========================================================= */

.dmxBrandGrowthHeader {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding-bottom: 20px;

    border-bottom: 1px solid rgba(31, 50, 79, 0.08);
}


.dmxBrandGrowthHeaderInfo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}


.dmxBrandGrowthStatus {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #198d69;

    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


.dmxBrandGrowthStatus i {
    position: relative;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #27c38e;

    box-shadow:
        0 0 0 5px rgba(39, 195, 142, 0.12);
}


.dmxBrandGrowthStatus i::after {
    content: "";

    position: absolute;
    inset: -5px;

    border: 1px solid rgba(39, 195, 142, 0.4);
    border-radius: 50%;

    animation:
        dmxBrandStatusPulse 2s ease-out infinite;
}


.dmxBrandGrowthHeaderInfo > strong {
    color: #17243a;

    font-size: 1.08rem;
    font-weight: 800;
}


.dmxBrandGrowthPeriod {
    padding: 10px 13px;

    color: #667287;

    border: 1px solid rgba(31, 50, 79, 0.08);
    border-radius: 12px;

    background: rgba(248, 250, 255, 0.88);

    font-size: 0.69rem;
    font-weight: 700;
}


/* =========================================================
   MÉTRICAS
========================================================= */

.dmxBrandGrowthMetrics {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;

    margin-top: 18px;
}


.dmxBrandGrowthMetric {
    position: relative;

    min-height: 112px;
    padding: 17px;

    overflow: hidden;

    border: 1px solid rgba(31, 50, 79, 0.075);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.76);

    box-shadow:
        0 10px 24px rgba(30, 48, 78, 0.045);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.dmxBrandGrowthMetric:hover {
    transform: translateY(-3px);

    box-shadow:
        0 16px 30px rgba(30, 48, 78, 0.08);
}


.dmxBrandGrowthMetric::after {
    content: "";

    position: absolute;
    top: -40px;
    right: -35px;

    width: 100px;
    height: 100px;

    border-radius: 50%;
}


.dmxBrandGrowthMetricInvestment::after {
    background:
        radial-gradient(
            circle,
            rgba(49, 93, 232, 0.15),
            transparent 70%
        );
}


.dmxBrandGrowthMetricLeads::after {
    background:
        radial-gradient(
            circle,
            rgba(128, 90, 213, 0.14),
            transparent 70%
        );
}


.dmxBrandGrowthMetricRevenue {
    border-color: rgba(39, 195, 142, 0.16);

    background:
        linear-gradient(
            145deg,
            rgba(239, 255, 249, 0.92),
            rgba(255, 255, 255, 0.92)
        );
}


.dmxBrandGrowthMetricRevenue::after {
    background:
        radial-gradient(
            circle,
            rgba(39, 195, 142, 0.2),
            transparent 70%
        );
}


.dmxBrandGrowthMetric small,
.dmxBrandGrowthMetric strong,
.dmxBrandGrowthMetric span {
    position: relative;
    z-index: 2;

    display: block;
}


.dmxBrandGrowthMetric small {
    margin-bottom: 11px;

    color: #738096;

    font-size: 0.66rem;
    font-weight: 760;
    letter-spacing: 0.04em;
}


.dmxBrandGrowthMetric strong {
    color: #142138;

    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -0.04em;
}


.dmxBrandGrowthMetric span {
    margin-top: 11px;

    color: #6d798d;

    font-size: 0.65rem;
    font-weight: 700;
}


.dmxBrandGrowthMetricLeads span,
.dmxBrandGrowthMetricRevenue span {
    color: #188c68;
}


/* =========================================================
   GRÁFICA
========================================================= */

.dmxBrandGrowthChart {
    position: relative;
    z-index: 2;

    margin-top: 14px;
    padding: 18px;

    overflow: hidden;

    border: 1px solid rgba(31, 50, 79, 0.075);
    border-radius: 20px;

    background:
        linear-gradient(
            150deg,
            rgba(255, 255, 255, 0.92),
            rgba(246, 249, 255, 0.9)
        );
}


.dmxBrandGrowthChartTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}


.dmxBrandGrowthChartTop > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 5px;
}


.dmxBrandGrowthChartTop small {
    color: #7b8799;

    font-size: 0.64rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


.dmxBrandGrowthChartTop strong {
    color: #1a283e;

    font-size: 0.85rem;
    font-weight: 800;
}


.dmxBrandGrowthRoas {
    display: flex;
    align-items: center;
    gap: 9px;

    padding: 9px 11px;

    border: 1px solid rgba(39, 195, 142, 0.18);
    border-radius: 12px;

    background: rgba(234, 255, 247, 0.8);
}


.dmxBrandGrowthRoas span {
    color: #5e6b7e;

    font-size: 0.6rem;
    font-weight: 800;
}


.dmxBrandGrowthRoas strong {
    color: #11845f;

    font-size: 0.87rem;
    font-weight: 900;
}


.dmxBrandGrowthChartCanvas {
    position: relative;

    height: 205px;
    margin-top: 12px;
}


.dmxBrandGrowthChartLines {
    position: absolute;
    inset: 10px 0 24px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.dmxBrandGrowthChartLines span {
    display: block;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(40, 60, 93, 0.025),
            rgba(40, 60, 93, 0.09),
            rgba(40, 60, 93, 0.025)
        );
}


.dmxBrandGrowthChartSvg {
    position: absolute;
    inset: 4px 0 24px;

    width: 100%;
    height: calc(100% - 28px);

    overflow: visible;

    color: #315de8;
}


.dmxBrandGrowthChartPath {
    stroke: currentColor;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 6px 7px rgba(49, 93, 232, 0.2)
        );

    stroke-dasharray: 900;
    stroke-dashoffset: 900;
}


.dmxBrandGrowthChartArea {
    opacity: 0;
}


.dmxBrandGrowthChartPoint {
    fill: #ffffff;
    stroke: #315de8;
    stroke-width: 4;

    opacity: 0;

    filter:
        drop-shadow(
            0 4px 7px rgba(49, 93, 232, 0.32)
        );
}


.dmxBrandHeroVisual.is-active .dmxBrandGrowthChartPath {
    animation:
        dmxBrandChartDraw 2.3s
        cubic-bezier(0.4, 0, 0.2, 1)
        0.5s
        forwards;
}


.dmxBrandHeroVisual.is-active .dmxBrandGrowthChartArea {
    animation:
        dmxBrandChartAreaReveal 1.2s ease 1.55s forwards;
}


.dmxBrandHeroVisual.is-active .dmxBrandGrowthChartPoint {
    animation:
        dmxBrandChartPointReveal 0.6s ease 2.35s forwards,
        dmxBrandChartPointPulse 2s ease-in-out 2.9s infinite;
}


.dmxBrandGrowthChartLabel {
    position: absolute;
    bottom: 0;

    color: #8994a5;

    font-size: 0.58rem;
    font-weight: 700;
}


.dmxBrandGrowthChartLabelStart {
    left: 0;
}


.dmxBrandGrowthChartLabelEnd {
    right: 0;

    color: #315de8;
}


/* =========================================================
   PLATAFORMAS
========================================================= */

.dmxBrandGrowthPlatforms {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;

    margin-top: 14px;
}


.dmxBrandGrowthPlatform {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;

    min-height: 66px;
    padding: 10px;

    border: 1px solid rgba(31, 50, 79, 0.07);
    border-radius: 15px;

    background: rgba(255, 255, 255, 0.76);

    box-shadow:
        0 8px 20px rgba(28, 48, 78, 0.035);

    opacity: 0;
    transform: translateY(15px);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.dmxBrandHeroVisual.is-active
.dmxBrandGrowthPlatform:nth-child(1) {
    animation:
        dmxBrandPlatformReveal 0.6s ease 1.3s forwards;
}


.dmxBrandHeroVisual.is-active
.dmxBrandGrowthPlatform:nth-child(2) {
    animation:
        dmxBrandPlatformReveal 0.6s ease 1.5s forwards;
}


.dmxBrandHeroVisual.is-active
.dmxBrandGrowthPlatform:nth-child(3) {
    animation:
        dmxBrandPlatformReveal 0.6s ease 1.7s forwards;
}


.dmxBrandGrowthPlatform:hover {
    border-color: rgba(49, 93, 232, 0.14);

    transform: translateY(-3px);

    box-shadow:
        0 13px 25px rgba(28, 48, 78, 0.075);
}


.dmxBrandGrowthPlatformIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;

    color: #ffffff;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #315de8,
            #5d86f7
        );

    box-shadow:
        0 8px 16px rgba(49, 93, 232, 0.2);

    font-size: 0.74rem;
    font-weight: 900;
}


.dmxBrandGrowthPlatform:nth-child(2)
.dmxBrandGrowthPlatformIcon {
    background:
        linear-gradient(
            135deg,
            #7651d2,
            #9a6ee9
        );

    box-shadow:
        0 8px 16px rgba(118, 81, 210, 0.2);
}


.dmxBrandGrowthPlatform:nth-child(3)
.dmxBrandGrowthPlatformIcon {
    background:
        linear-gradient(
            135deg,
            #1eae83,
            #45d4aa
        );

    box-shadow:
        0 8px 16px rgba(30, 174, 131, 0.2);
}


.dmxBrandGrowthPlatform > div {
    min-width: 0;
}


.dmxBrandGrowthPlatform small,
.dmxBrandGrowthPlatform strong {
    display: block;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}


.dmxBrandGrowthPlatform small {
    color: #7b8799;

    font-size: 0.57rem;
    font-weight: 700;
}


.dmxBrandGrowthPlatform strong {
    margin-top: 4px;

    color: #26344a;

    font-size: 0.66rem;
    font-weight: 800;
}


.dmxBrandGrowthPlatformResult {
    color: #168b66;

    font-size: 0.64rem;
    font-weight: 850;
}


/* =========================================================
   FLUJO DE CONVERSIÓN
========================================================= */

.dmxBrandConversionFlow {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;

    margin-top: 14px;
    padding: 14px 15px;

    border: 1px solid rgba(31, 50, 79, 0.07);
    border-radius: 16px;

    background:
        linear-gradient(
            90deg,
            rgba(249, 251, 255, 0.94),
            rgba(241, 255, 249, 0.76)
        );
}


.dmxBrandConversionStep {
    display: flex;
    align-items: center;
    gap: 8px;

    min-width: 0;

    opacity: 0.55;

    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}


.dmxBrandConversionStep span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    flex: 0 0 27px;

    color: #758195;

    border: 1px solid rgba(31, 50, 79, 0.1);
    border-radius: 9px;

    background: #ffffff;

    font-size: 0.55rem;
    font-weight: 850;
}


.dmxBrandConversionStep small {
    color: #6f7a8c;

    font-size: 0.59rem;
    font-weight: 750;
    white-space: nowrap;
}


.dmxBrandConversionStepActive {
    opacity: 1;
}


.dmxBrandConversionStepActive span {
    color: #ffffff;

    border-color: #22b785;

    background:
        linear-gradient(
            135deg,
            #1fae80,
            #45d6aa
        );

    box-shadow:
        0 8px 18px rgba(31, 174, 128, 0.22);
}


.dmxBrandConversionStepActive small {
    color: #168660;
}


.dmxBrandConversionFlow > i {
    position: relative;

    display: block;

    width: 28px;
    height: 1px;

    flex: 1;

    overflow: hidden;

    background: rgba(31, 50, 79, 0.11);
}


.dmxBrandConversionFlow > i::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            transparent,
            #31c495,
            transparent
        );

    transform: translateX(-120%);

    animation:
        dmxBrandFlowMove 2.8s ease-in-out infinite;
}


/* =========================================================
   TARJETAS FLOTANTES
========================================================= */

.dmxBrandHeroFloatingCard {
    position: absolute;
    z-index: 5;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 13px 15px;

    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.9);

    box-shadow:
        0 20px 45px rgba(25, 45, 76, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}


.dmxBrandHeroFloatingCardReturn {
    top: 6px;
    right: -10px;

    animation:
        dmxBrandFloatingReturn 5.4s ease-in-out infinite;
}


.dmxBrandHeroFloatingCardLead {
    right: -25px;
    bottom: 102px;

    animation:
        dmxBrandFloatingLead 6s ease-in-out infinite;
}


.dmxBrandHeroFloatingIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 39px;
    height: 39px;

    color: #ffffff;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #1eae82,
            #45d5aa
        );

    box-shadow:
        0 9px 18px rgba(30, 174, 130, 0.24);

    font-size: 1.05rem;
    font-weight: 900;
}


.dmxBrandHeroFloatingCard small,
.dmxBrandHeroFloatingCard strong {
    display: block;
}


.dmxBrandHeroFloatingCard small {
    color: #7a8699;

    font-size: 0.61rem;
    font-weight: 700;
}


.dmxBrandHeroFloatingCard strong {
    margin-top: 4px;

    color: #16243a;

    font-size: 0.83rem;
    font-weight: 850;
}


.dmxBrandHeroFloatingPulse {
    position: relative;

    width: 12px;
    height: 12px;

    flex: 0 0 12px;

    border-radius: 50%;

    background: #2bc896;

    box-shadow:
        0 0 0 6px rgba(43, 200, 150, 0.12);
}


.dmxBrandHeroFloatingPulse::after {
    content: "";

    position: absolute;
    inset: -7px;

    border: 1px solid rgba(43, 200, 150, 0.38);
    border-radius: 50%;

    animation:
        dmxBrandStatusPulse 1.8s ease-out infinite;
}


/* =========================================================
   MENSAJE DE INVERSIÓN
========================================================= */

.dmxBrandHeroInvestmentMessage {
    position: absolute;
    left: 0;
    bottom: 24px;
    z-index: 6;

    display: flex;
    align-items: center;
    gap: 12px;

    max-width: 290px;
    padding: 15px 17px;

    border: 1px solid rgba(49, 93, 232, 0.14);
    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(239, 244, 255, 0.94),
            rgba(255, 255, 255, 0.94)
        );

    box-shadow:
        0 22px 48px rgba(27, 49, 84, 0.13);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    animation:
        dmxBrandInvestmentFloat 6.4s ease-in-out infinite;
}


.dmxBrandHeroInvestmentMessage > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    color: #ffffff;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #315de8,
            #5f88f8
        );

    box-shadow:
        0 10px 21px rgba(49, 93, 232, 0.24);

    font-size: 1rem;
    font-weight: 900;
}


.dmxBrandHeroInvestmentMessage p {
    margin: 0;

    color: #59667a;

    font-size: 0.69rem;
    font-weight: 650;
    line-height: 1.46;
}


.dmxBrandHeroInvestmentMessage strong {
    display: block;

    margin-top: 2px;

    color: #1a283e;

    font-size: 0.77rem;
    font-weight: 850;
}


/* =========================================================
   ACTIVACIÓN INICIAL
========================================================= */

.dmxBrandHeroContent,
.dmxBrandHeroVisual {
    opacity: 0;
    transform: translateY(28px);
}


.dmxBrandHero.is-active .dmxBrandHeroContent {
    animation:
        dmxBrandHeroContentReveal 0.9s ease forwards;
}


.dmxBrandHero.is-active .dmxBrandHeroVisual {
    animation:
        dmxBrandHeroVisualReveal 1s ease 0.18s forwards;
}


/* =========================================================
   ANIMACIONES
========================================================= */

@keyframes dmxBrandEyebrowSweep {

    0%,
    30% {
        left: -100%;
    }

    60%,
    100% {
        left: 120%;
    }

}


@keyframes dmxBrandDashboardFloat {

    0%,
    100% {
        transform:
            rotateY(-5deg)
            rotateX(2deg)
            translateY(0);
    }

    50% {
        transform:
            rotateY(-3deg)
            rotateX(1deg)
            translateY(-9px);
    }

}


@keyframes dmxBrandStatusPulse {

    0% {
        opacity: 0.8;
        transform: scale(0.75);
    }

    100% {
        opacity: 0;
        transform: scale(1.45);
    }

}


@keyframes dmxBrandChartDraw {

    from {
        stroke-dashoffset: 900;
    }

    to {
        stroke-dashoffset: 0;
    }

}


@keyframes dmxBrandChartAreaReveal {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}


@keyframes dmxBrandChartPointReveal {

    from {
        opacity: 0;
        transform: scale(0.4);
        transform-origin: center;
    }

    to {
        opacity: 1;
        transform: scale(1);
        transform-origin: center;
    }

}


@keyframes dmxBrandChartPointPulse {

    0%,
    100% {
        stroke-width: 4;
    }

    50% {
        stroke-width: 7;
    }

}


@keyframes dmxBrandPlatformReveal {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes dmxBrandFlowMove {

    0% {
        transform: translateX(-120%);
    }

    65%,
    100% {
        transform: translateX(120%);
    }

}


@keyframes dmxBrandFloatingReturn {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(1deg);
    }

    50% {
        transform:
            translate3d(-5px, -9px, 0)
            rotate(-1deg);
    }

}


@keyframes dmxBrandFloatingLead {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(-1deg);
    }

    50% {
        transform:
            translate3d(-4px, 10px, 0)
            rotate(1deg);
    }

}


@keyframes dmxBrandInvestmentFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

}


@keyframes dmxBrandHeroContentReveal {

    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes dmxBrandHeroVisualReveal {

    from {
        opacity: 0;
        transform:
            translateY(34px)
            scale(0.97);
    }

    to {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }

}


/* =========================================================
   RESPONSIVE — LAPTOP
========================================================= */

@media (max-width: 1320px) {

    .dmxBrandHero {
        min-height: 850px;
    }


    .dmxBrandHeroLayout {
        grid-template-columns:
            minmax(0, 0.88fr)
            minmax(510px, 1.12fr);
        gap: 60px;
    }


    .dmxBrandHeroVisual {
        min-height: 630px;
    }


    .dmxBrandGrowthDashboard {
        margin-left: 20px;
    }


    .dmxBrandHeroFloatingCardLead {
        right: -8px;
    }

}


/* =========================================================
   RESPONSIVE — TABLET HORIZONTAL
========================================================= */

@media (max-width: 1120px) {

    .dmxBrandHero {
        min-height: auto;
        padding: 140px 0 90px;
    }


    .dmxBrandHeroLayout {
        grid-template-columns: 1fr;
        gap: 70px;
    }


    .dmxBrandHeroContent {
        max-width: 810px;
    }


    .dmxBrandHero h1 {
        max-width: 800px;
    }


    .dmxBrandHeroVisual {
        width: min(100%, 790px);
        min-height: 660px;
        margin: 0 auto;
    }


    .dmxBrandGrowthDashboard {
        width: calc(100% - 50px);
        margin-left: 30px;
    }

}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 820px) {

    .dmxBrandHero {
        padding: 125px 0 80px;
    }


    .dmxBrandHero h1 {
        font-size: clamp(3rem, 10vw, 4.7rem);
    }


    .dmxBrandHeroBenefits {
        grid-template-columns: 1fr;
        max-width: 580px;
    }


    .dmxBrandHeroBenefit {
        min-height: 0;
    }


    .dmxBrandHeroVisual {
        min-height: 720px;
    }


    .dmxBrandGrowthDashboard {
        width: calc(100% - 20px);
        margin: 30px 0 0 10px;
        padding: 19px;

        transform: none;

        animation:
            dmxBrandDashboardFloatMobile
            7s
            ease-in-out
            infinite;
    }


    .dmxBrandGrowthMetrics {
        grid-template-columns: 1fr 1fr;
    }


    .dmxBrandGrowthMetricRevenue {
        grid-column: 1 / -1;
    }


    .dmxBrandGrowthPlatforms {
        grid-template-columns: 1fr;
    }


    .dmxBrandConversionStep small {
        display: none;
    }


    .dmxBrandConversionFlow {
        justify-content: center;
    }


    .dmxBrandHeroFloatingCardReturn {
        top: 0;
        right: 0;
    }


    .dmxBrandHeroFloatingCardLead {
        right: 0;
        bottom: 75px;
    }


    .dmxBrandHeroInvestmentMessage {
        left: 0;
        bottom: 0;
    }

}


/* =========================================================
   RESPONSIVE — MÓVIL
========================================================= */

@media (max-width: 580px) {

    .dmxBrandHero {
        padding: 110px 0 65px;
    }


    .dmxBrandHeroGridPattern {
        background-size: 42px 42px;
    }


    .dmxBrandHeroEyebrow {
        margin-bottom: 19px;
    }


    .dmxBrandHeroEyebrow > span {
        width: 29px;
    }


    .dmxBrandHeroEyebrow small {
        font-size: 0.67rem;
        letter-spacing: 0.11em;
    }


    .dmxBrandHero h1 {
        font-size: clamp(2.65rem, 13vw, 3.8rem);
        line-height: 1.01;
    }


    .dmxBrandHeroDescription {
        margin-top: 24px;

        font-size: 0.98rem;
        line-height: 1.72;
    }


    .dmxBrandHeroActions {
        align-items: stretch;
        flex-direction: column;

        margin-top: 31px;
    }


    .dmxBrandHeroActions .dmxPrimaryButton,
    .dmxBrandHeroActions .dmxSecondaryButton {
        width: 100%;
    }


    .dmxBrandHeroBenefits {
        margin-top: 34px;
    }


    .dmxBrandHeroVisual {
        min-height: 850px;
    }


    .dmxBrandGrowthDashboard {
        width: 100%;
        margin: 0;
        padding: 15px;

        border-radius: 23px;
    }


    .dmxBrandGrowthHeader {
        align-items: flex-start;
    }


    .dmxBrandGrowthPeriod {
        padding: 8px 9px;

        font-size: 0.59rem;
    }


    .dmxBrandGrowthMetrics {
        grid-template-columns: 1fr;
    }


    .dmxBrandGrowthMetricRevenue {
        grid-column: auto;
    }


    .dmxBrandGrowthMetric {
        min-height: 96px;
    }


    .dmxBrandGrowthChart {
        padding: 14px;
    }


    .dmxBrandGrowthChartCanvas {
        height: 180px;
    }


    .dmxBrandGrowthRoas {
        flex-direction: column;
        gap: 2px;

        padding: 7px 9px;
    }


    .dmxBrandGrowthPlatforms {
        gap: 8px;
    }


    .dmxBrandConversionFlow {
        padding: 12px 10px;
    }


    .dmxBrandConversionStep span {
        width: 25px;
        height: 25px;

        flex-basis: 25px;
    }


    .dmxBrandConversionFlow > i {
        width: 15px;
    }


    .dmxBrandHeroFloatingCardReturn {
        top: -22px;
        right: -4px;

        transform: scale(0.88);
        transform-origin: top right;
    }


    .dmxBrandHeroFloatingCardLead {
        right: -3px;
        bottom: 72px;

        transform: scale(0.88);
        transform-origin: bottom right;
    }


    .dmxBrandHeroInvestmentMessage {
        right: 12px;
        bottom: 0;
        left: 12px;

        max-width: none;
    }

}


/* =========================================================
   RESPONSIVE — MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .dmxBrandHero h1 {
        font-size: 2.55rem;
    }


    .dmxBrandGrowthHeaderInfo > strong {
        font-size: 0.92rem;
    }


    .dmxBrandGrowthChartTop strong {
        font-size: 0.75rem;
    }


    .dmxBrandHeroFloatingCardReturn {
        display: none;
    }


    .dmxBrandHeroVisual {
        min-height: 825px;
    }

}


/* =========================================================
   MOVIMIENTO REDUCIDO
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .dmxBrandHero *,
    .dmxBrandHero *::before,
    .dmxBrandHero *::after {
        scroll-behavior: auto !important;

        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }


    .dmxBrandHeroContent,
    .dmxBrandHeroVisual,
    .dmxBrandGrowthPlatform,
    .dmxBrandGrowthChartArea,
    .dmxBrandGrowthChartPoint {
        opacity: 1;
        transform: none;
    }


    .dmxBrandGrowthChartPath {
        stroke-dashoffset: 0;
    }

}


/* =========================================================
   ANIMACIÓN RESPONSIVE DEL PANEL
========================================================= */

@keyframes dmxBrandDashboardFloatMobile {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }

}