/* =========================================================
   DIGITAL MARKETING PAGE
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.dm-hero {

    position: relative;

    min-height: 680px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background: #05070c;

    isolation: isolate;
}


.dm-hero-grid {

    position: absolute;

    inset: 0;

    z-index: -3;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size: 70px 70px;

    mask-image:
        linear-gradient(
            to bottom,
            black 0%,
            rgba(0,0,0,.65) 65%,
            transparent 100%
        );
}


.dm-hero-glow {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(100px);

    z-index: -2;
}


.dm-hero-glow-one {

    width: 460px;
    height: 460px;

    top: -120px;
    right: 5%;

    background:
        rgba(80,124,255,.13);
}


.dm-hero-glow-two {

    width: 340px;
    height: 340px;

    bottom: -100px;
    left: 8%;

    background:
        rgba(109,146,255,.08);
}


.dm-hero > .container {

    width: 100%;
    max-width: var(--container-width,1320px);

    margin-left: auto;
    margin-right: auto;

    padding: 120px 24px;

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        340px;

    gap: 100px;

    align-items: center;

    box-sizing: border-box;
}


.dm-hero-content {

    max-width: 800px;
}


.dm-section-label {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 25px;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: .16em;

    color:
        rgba(255,255,255,.38);
}


.dm-section-label::before {

    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #6d92ff;

    box-shadow:
        0 0 12px rgba(109,146,255,.75);
}


.dm-hero-content h1 {

    margin: 0;

    max-width: 800px;

    font-size: clamp(52px,6vw,88px);

    line-height: .96;

    font-weight: 500;

    letter-spacing: -.05em;

    color: #ffffff;
}


.dm-hero-content h1 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-hero-content p {

    max-width: 650px;

    margin: 32px 0 0;

    font-size: 18px;

    line-height: 1.8;

    color:
        rgba(255,255,255,.55);
}


.dm-hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 35px;
}


.dm-hero-card {

    position: relative;

    min-height: 390px;

    padding: 28px;

    display: flex;

    flex-direction: column;

    border:
        1px solid rgba(255,255,255,.10);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.012)
        );

    backdrop-filter: blur(18px);

    -webkit-backdrop-filter: blur(18px);

    box-shadow:
        0 30px 80px rgba(0,0,0,.35);

    overflow: hidden;
}


.dm-hero-card-number {

    font-size: 10px;

    letter-spacing: .18em;

    color:
        rgba(255,255,255,.28);
}


.dm-hero-card h2 {

    position: relative;

    margin-top: 65px;

    margin-bottom: 0;

    font-size: 42px;

    line-height: 1.05;

    font-weight: 500;

    letter-spacing: -.035em;

    color: #ffffff;
}


.dm-hero-card h2 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-hero-card-line {

    width: 100%;

    height: 1px;

    margin: 32px 0 22px;

    background:
        linear-gradient(
            90deg,
            rgba(109,146,255,.55),
            rgba(255,255,255,.08),
            transparent
        );
}


.dm-hero-card-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


.dm-hero-card-tags span {

    padding: 7px 10px;

    border:
        1px solid rgba(255,255,255,.09);

    background:
        rgba(255,255,255,.025);

    font-size: 9px;

    letter-spacing: .12em;

    color:
        rgba(255,255,255,.45);
}


/* =========================================================
   INTRO
   ========================================================= */

.dm-intro {

    padding: 140px 0;

    background: #05070c;

    overflow: hidden;
}


.dm-intro-grid {

    display: grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap: 110px;

    align-items: start;
}


.dm-intro-heading h2 {

    margin: 0;

    font-size: clamp(44px,5vw,72px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -.045em;

    color: #ffffff;
}


.dm-intro-heading h2 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-intro-content {

    max-width: 700px;
}


.dm-intro-content p {

    margin: 0 0 28px;

    font-size: 18px;

    line-height: 1.85;

    color:
        rgba(255,255,255,.54);
}


.dm-intro-content p:last-child {

    margin-bottom: 0;
}


.dm-intro-lead {

    font-size: 21px !important;

    color:
        rgba(255,255,255,.68) !important;
}


/* =========================================================
   SERVICES
   ========================================================= */

.dm-services {

    padding: 130px 0;

    background: #070910;

    overflow: hidden;
}


.dm-services > .container,
.dm-process > .container,
.dm-benefits > .container {

    width: 100%;

    max-width: var(--container-width,1320px);

    margin-left: auto;
    margin-right: auto;

    padding-left: 24px;
    padding-right: 24px;

    box-sizing: border-box;
}


.dm-section-heading {

    display: grid;

    grid-template-columns:
        1fr
        .65fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 60px;

    padding-bottom: 30px;

    border-bottom:
        1px solid rgba(255,255,255,.09);
}


.dm-section-heading h2 {

    margin: 0;

    font-size: clamp(42px,5vw,68px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -.045em;

    color: #ffffff;
}


.dm-section-heading h2 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-section-heading > p {

    max-width: 440px;

    margin: 0;

    font-size: 15px;

    line-height: 1.8;

    color:
        rgba(255,255,255,.43);
}


/* =========================================================
   SERVICES GRID
   ========================================================= */

.dm-services-grid {

    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 22px;
}


.dm-service-card {

    position: relative;

    min-height: 350px;

    padding: 30px;

    display: flex;

    flex-direction: column;

    text-decoration: none;

    border:
        1px solid rgba(255,255,255,.08);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.012)
        );

    overflow: hidden;

    transition:
        transform .35s ease,
        border-color .35s ease,
        background .35s ease;
}


.dm-service-card:hover {

    transform: translateY(-7px);

    text-decoration: none;

    border-color:
        rgba(109,146,255,.30);

    background:
        linear-gradient(
            145deg,
            rgba(109,146,255,.065),
            rgba(255,255,255,.012)
        );
}


.dm-service-number {

    position: absolute;

    top: 22px;
    right: 22px;

    font-size: 10px;

    letter-spacing: .18em;

    color:
        rgba(255,255,255,.25);
}


.dm-service-icon {

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(109,146,255,.20);

    background:
        rgba(109,146,255,.05);

    color:
        rgba(255,255,255,.70);

    font-size: 20px;

    margin-bottom: 45px;
}


.dm-service-card h3 {

    margin: 0;

    max-width: 280px;

    font-size: 24px;

    line-height: 1.15;

    font-weight: 500;

    letter-spacing: -.025em;

    color: #ffffff;
}


.dm-service-card p {

    margin: 15px 0 0;

    font-size: 14px;

    line-height: 1.75;

    color:
        rgba(255,255,255,.42);
}


.dm-service-link {

    margin-top: auto;

    padding-top: 25px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-size: 10px;

    letter-spacing: .10em;

    text-transform: uppercase;

    color:
        rgba(255,255,255,.45);

    transition:
        color .25s ease;
}


.dm-service-link i {

    transition:
        transform .25s ease;
}


.dm-service-card:hover .dm-service-link {

    color: #ffffff;
}


.dm-service-card:hover .dm-service-link i {

    transform:
        translate(3px,-3px);
}


/* =========================================================
   PROCESS
   ========================================================= */

.dm-process {

    padding: 130px 0;

    background: #05070c;
}


.dm-process-grid {

    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    border-top:
        1px solid rgba(255,255,255,.08);

    border-left:
        1px solid rgba(255,255,255,.08);
}


.dm-process-item {

    min-height: 260px;

    padding: 28px;

    border-right:
        1px solid rgba(255,255,255,.08);

    border-bottom:
        1px solid rgba(255,255,255,.08);
}


.dm-process-number {

    display: block;

    margin-bottom: 60px;

    font-size: 10px;

    letter-spacing: .18em;

    color:
        rgba(255,255,255,.25);
}


.dm-process-item h3 {

    margin: 0;

    font-size: 22px;

    font-weight: 500;

    color: #ffffff;
}


.dm-process-item p {

    margin: 14px 0 0;

    font-size: 14px;

    line-height: 1.75;

    color:
        rgba(255,255,255,.42);
}


/* =========================================================
   BENEFITS
   ========================================================= */

.dm-benefits {

    padding: 140px 0;

    background: #070910;
}


.dm-benefits-grid {

    display: grid;

    grid-template-columns:
        .85fr
        1.15fr;

    gap: 110px;

    align-items: start;
}


.dm-benefits-heading h2 {

    margin: 0;

    font-size: clamp(44px,5vw,72px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -.045em;

    color: #ffffff;
}


.dm-benefits-heading h2 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-benefits-list {

    border-top:
        1px solid rgba(255,255,255,.09);
}


.dm-benefit-item {

    display: grid;

    grid-template-columns:
        45px 1fr;

    gap: 25px;

    padding: 28px 0;

    border-bottom:
        1px solid rgba(255,255,255,.09);
}


.dm-benefit-item > span {

    font-size: 10px;

    letter-spacing: .16em;

    color:
        rgba(255,255,255,.25);
}


.dm-benefit-item h3 {

    margin: 0;

    font-size: 20px;

    font-weight: 500;

    color: #ffffff;
}


.dm-benefit-item p {

    margin: 10px 0 0;

    font-size: 14px;

    line-height: 1.7;

    color:
        rgba(255,255,255,.42);
}


/* =========================================================
   CTA
   ========================================================= */

.dm-cta {

    position: relative;

    padding: 150px 0;

    background: #05070c;

    overflow: hidden;
}


.dm-cta-glow {

    position: absolute;

    width: 500px;
    height: 500px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    border-radius: 50%;

    background:
        rgba(80,124,255,.08);

    filter: blur(120px);

    pointer-events: none;
}


.dm-cta .container {

    position: relative;

    width: 100%;

    max-width: var(--container-width,1320px);

    margin-left: auto;
    margin-right: auto;

    padding: 0 24px;

    box-sizing: border-box;
}


.dm-cta-inner {

    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}


.dm-cta-inner h2 {

    margin: 0;

    font-size: clamp(44px,5vw,72px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -.045em;

    color: #ffffff;
}


.dm-cta-inner h2 span {

    display: block;

    color:
        rgba(255,255,255,.35);
}


.dm-cta-inner p {

    max-width: 580px;

    margin: 28px auto 35px;

    font-size: 17px;

    line-height: 1.8;

    color:
        rgba(255,255,255,.48);
}


/* =========================================================
   LIGHT THEME
   ========================================================= */

html[data-theme="light"] .dm-hero,
html[data-theme="light"] .dm-intro,
html[data-theme="light"] .dm-process,
html[data-theme="light"] .dm-cta {

    background: #f5f7fb;

    color: #111827;
}


html[data-theme="light"] .dm-services,
html[data-theme="light"] .dm-benefits {

    background: #eef2f7;

    color: #111827;
}


html[data-theme="light"] .dm-hero-grid {

    opacity: .55;

    background-image:
        linear-gradient(
            rgba(15,23,42,.055) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(15,23,42,.055) 1px,
            transparent 1px
        );
}


html[data-theme="light"] .dm-section-label {

    color: #596579;
}


html[data-theme="light"] .dm-hero-content h1,
html[data-theme="light"] .dm-intro-heading h2,
html[data-theme="light"] .dm-section-heading h2,
html[data-theme="light"] .dm-benefits-heading h2,
html[data-theme="light"] .dm-cta-inner h2 {

    color: #111827;
}


html[data-theme="light"] .dm-hero-content h1 span,
html[data-theme="light"] .dm-intro-heading h2 span,
html[data-theme="light"] .dm-section-heading h2 span,
html[data-theme="light"] .dm-benefits-heading h2 span,
html[data-theme="light"] .dm-cta-inner h2 span {

    color: #687386;
}


html[data-theme="light"] .dm-hero-content p,
html[data-theme="light"] .dm-intro-content p,
html[data-theme="light"] .dm-section-heading > p,
html[data-theme="light"] .dm-benefit-item p,
html[data-theme="light"] .dm-cta-inner p {

    color: #64748b;
}


html[data-theme="light"] .dm-intro-lead {

    color: #334155 !important;
}


/* HERO CARD */

html[data-theme="light"] .dm-hero-card {

    border-color:
        rgba(15,23,42,.10);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.96),
            rgba(245,247,251,.88)
        );

    box-shadow:
        0 30px 70px rgba(15,23,42,.12);
}


html[data-theme="light"] .dm-hero-card-number {

    color: #8a94a6;
}


html[data-theme="light"] .dm-hero-card h2 {

    color: #111827;
}


html[data-theme="light"] .dm-hero-card h2 span {

    color: #687386;
}


html[data-theme="light"] .dm-hero-card-tags span {

    border-color:
        rgba(15,23,42,.10);

    background:
        rgba(255,255,255,.65);

    color: #596579;
}


/* SERVICE CARDS */

html[data-theme="light"] .dm-service-card {

    border-color:
        rgba(15,23,42,.09);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.96),
            rgba(245,247,251,.90)
        );

    box-shadow:
        0 20px 50px rgba(15,23,42,.06);
}


html[data-theme="light"] .dm-service-card:hover {

    border-color:
        rgba(80,124,255,.35);

    background:
        #ffffff;
}


html[data-theme="light"] .dm-service-number {

    color: #8a94a6;
}


html[data-theme="light"] .dm-service-icon {

    border-color:
        rgba(80,124,255,.20);

    background:
        rgba(80,124,255,.06);

    color: #475569;
}


html[data-theme="light"] .dm-service-card h3 {

    color: #111827;
}


html[data-theme="light"] .dm-service-card p {

    color: #64748b;
}


html[data-theme="light"] .dm-service-link {

    color: #596579;
}


html[data-theme="light"] .dm-service-card:hover .dm-service-link {

    color: #111827;
}


/* PROCESS */

html[data-theme="light"] .dm-process-grid {

    border-color:
        rgba(15,23,42,.09);
}


html[data-theme="light"] .dm-process-item {

    border-color:
        rgba(15,23,42,.09);
}


html[data-theme="light"] .dm-process-number {

    color: #8a94a6;
}


html[data-theme="light"] .dm-process-item h3 {

    color: #111827;
}


html[data-theme="light"] .dm-process-item p {

    color: #64748b;
}


/* BENEFITS */

html[data-theme="light"] .dm-benefits-list {

    border-color:
        rgba(15,23,42,.09);
}


html[data-theme="light"] .dm-benefit-item {

    border-color:
        rgba(15,23,42,.09);
}


html[data-theme="light"] .dm-benefit-item > span {

    color: #8a94a6;
}


html[data-theme="light"] .dm-benefit-item h3 {

    color: #111827;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:991px) {

    .dm-hero {

        min-height: auto;
    }


    .dm-hero > .container {

        grid-template-columns: 1fr;

        gap: 65px;

        padding-top: 110px;

        padding-bottom: 100px;
    }


    .dm-hero-card {

        max-width: 400px;
    }


    .dm-intro {

        padding: 100px 0;
    }


    .dm-intro-grid,
    .dm-benefits-grid {

        grid-template-columns: 1fr;

        gap: 60px;
    }


    .dm-services,
    .dm-process {

        padding: 100px 0;
    }


    .dm-section-heading {

        grid-template-columns: 1fr;

        gap: 25px;
    }


    .dm-services-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .dm-process-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .dm-cta {

        padding: 110px 0;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:575px) {

    .dm-hero > .container {

        padding:
            90px 16px 85px;

        gap: 50px;
    }


    .dm-hero-content h1 {

        font-size: 46px;

        line-height: 1;
    }


    .dm-hero-content p {

        margin-top: 25px;

        font-size: 16px;

        line-height: 1.7;
    }


    .dm-hero-actions {

        flex-direction: column;

        align-items: stretch;
    }


    .dm-hero-card {

        min-height: 340px;

        padding: 22px;
    }


    .dm-hero-card h2 {

        margin-top: 55px;

        font-size: 36px;
    }


    .dm-intro,
    .dm-services,
    .dm-process,
    .dm-benefits {

        padding: 80px 0;
    }


    .dm-intro-grid,
    .dm-benefits-grid {

        gap: 40px;
    }


    .dm-intro-heading h2,
    .dm-benefits-heading h2 {

        font-size: 42px;
    }


    .dm-intro-content p {

        font-size: 16px;

        line-height: 1.75;
    }


    .dm-intro-lead {

        font-size: 18px !important;
    }


    .dm-services > .container,
    .dm-process > .container,
    .dm-benefits > .container,
    .dm-cta .container {

        padding-left: 16px;
        padding-right: 16px;
    }


    .dm-section-heading {

        margin-bottom: 40px;

        padding-bottom: 25px;
    }


    .dm-section-heading h2 {

        font-size: 42px;
    }


    .dm-section-heading > p {

        font-size: 14px;
    }


    .dm-services-grid {

        grid-template-columns: 1fr;

        gap: 16px;
    }


    .dm-service-card {

        min-height: 330px;

        padding: 25px;
    }


    .dm-process-grid {

        grid-template-columns: 1fr;
    }


    .dm-process-item {

        min-height: 220px;
    }


    .dm-process-number {

        margin-bottom: 45px;
    }


    .dm-benefit-item {

        grid-template-columns:
            35px 1fr;

        gap: 15px;
    }


    .dm-cta {

        padding: 90px 0;
    }


    .dm-cta-inner h2 {

        font-size: 42px;
    }


    .dm-cta-inner p {

        font-size: 15px;

        line-height: 1.7;
    }

}