/* =========================================================
   INDUSTRIES PAGE
   WebClinicHQ
========================================================= */

:root {

    --industry-dark: #171720;
    --industry-text: #24232b;
    --industry-muted: #646477;
    --industry-border: #e8e5f0;
    --industry-white: #ffffff;

    --industry-purple: #8054f6;
    --industry-pink: #d36b91;

    --industry-gradient:
        linear-gradient(
            90deg,
            #7b4cff 0%,
            #b75db8 52%,
            #e17a7c 100%
        );
}


/* =========================================================
   BASE
========================================================= */

.industries-page {

    width: 100%;

    overflow: hidden;

    background: #ffffff;

    color: var(--industry-text);
}


.industries-page *,
.industries-page *::before,
.industries-page *::after {

    box-sizing: border-box;
}


.industries-page a {

    color: inherit;

    text-decoration: none;
}


.industries-container {

    width:
        min(
            1320px,
            calc(100% - 48px)
        );

    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.industries-hero {

    position: relative;

    min-height: 330px;

    padding: 22px 0 38px;

    display: flex;

    align-items: center;

    background:

        radial-gradient(
            circle at 88% 40%,
            rgba(145, 103, 255, 0.10),
            transparent 34%
        ),

        radial-gradient(
            circle at 15% 70%,
            rgba(222, 112, 154, 0.06),
            transparent 32%
        ),

        #ffffff;

    border-bottom: 1px solid #ece8f4;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.industries-breadcrumb {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    line-height: 1;

    color: #898796;
}


.industries-breadcrumb a {

    color: #6f6d7c;

    transition:
        color 0.25s ease;
}


.industries-breadcrumb a:hover {

    color: #7954ed;
}


.industries-breadcrumb > span:not(
    .breadcrumb-current
) {

    color: #b3afbd;
}


.industries-breadcrumb
.breadcrumb-current {

    color: #7954ed;

    font-weight: 600;
}


/* =========================================================
   HERO GRID
========================================================= */

.industries-hero-grid {

    display: grid;

    grid-template-columns:
        minmax(430px, 0.82fr)
        minmax(560px, 1.18fr);

    align-items: center;

    gap: 55px;
}


/* =========================================================
   HERO COPY
========================================================= */

.industries-hero-copy {

    position: relative;

    z-index: 2;
}


.industries-hero-copy h1 {

    max-width: 600px;

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            52px,
            5vw,
            76px
        );

    line-height: 0.88;

    font-weight: 700;

    letter-spacing: -3.5px;

    color: #17171f;
}


.industries-hero-copy h1 span {

    display: block;

    margin-top: 4px;

    background:
        linear-gradient(
            90deg,
            #7b4cff 0%,
            #b75db8 52%,
            #e17a7c 100%
        );

    -webkit-background-clip: text;

    background-clip: text;

    -webkit-text-fill-color: transparent;
}


.hero-heading-line {

    width: 62px;

    height: 3px;

    margin-top: 25px;

    border-radius: 50px;

    background:
        linear-gradient(
            90deg,
            #7b4cff,
            #d97891
        );
}


.industries-hero-copy p {

    max-width: 590px;

    margin: 14px 0 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 15.5px;

    line-height: 1.75;

    color: #334155;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.industries-hero-media {

    position: relative;

    height: 300px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: visible;
}


.industries-hero-media::before {

    content: "";

    position: absolute;

    width: 72%;

    height: 70%;

    top: 15%;

    left: 14%;

    background:
        radial-gradient(
            circle,
            rgba(128, 84, 246, 0.12),
            transparent 68%
        );

    filter: blur(35px);

    z-index: 0;
}


.industries-hero-media img {

    position: relative;

    z-index: 1;

    display: block;

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

    border-radius: 22px;

    filter:
        drop-shadow(
            0 18px 30px
            rgba(85, 68, 150, 0.08)
        );
}


/* =========================================================
   INDUSTRIES LIST
========================================================= */

.industries-list {

    padding: 70px 0 40px;

    background: #ffffff;
}


/* =========================================================
   INDUSTRY SECTION
========================================================= */

.industry-section {

    position: relative;

    padding: 60px 0 75px;

    border-bottom: 1px solid #ebe8f0;
}


.industry-section:first-child {

    padding-top: 0;
}


.industry-section:last-child {

    border-bottom: 0;
}


/* ALTERNATE */

.industry-section-alt {

    padding-left: 34px;

    padding-right: 34px;

    margin-left: -34px;

    margin-right: -34px;

    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            #faf9fd 0%,
            #ffffff 100%
        );
}


/* =========================================================
   INDUSTRY HEADING
========================================================= */

.industry-section-heading {

    display: grid;

    grid-template-columns:
        minmax(400px, 0.85fr)
        minmax(450px, 1.15fr);

    align-items: end;

    gap: 70px;

    margin-bottom: 38px;
}


.industry-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 15px;
}


.industry-label span {

    width: 34px;

    height: 24px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    background: #f0eaff;

    color: #7953ee;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;

    font-weight: 700;
}


.industry-label small {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.4px;

    color: #6f7185;

    text-transform: uppercase;
}


.industry-title-area h2 {

    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            48px,
            5vw,
            72px
        );

    line-height: 0.92;

    letter-spacing: -3px;

    font-weight: 700;

    color: #181820;
}


.industry-description {

    padding-bottom: 5px;
}


.industry-description p {

    max-width: 690px;

    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 17px;

    line-height: 1.75;

    color: #34445c;
}


/* =========================================================
   SLIDER
========================================================= */

.industry-services-slider {

    position: relative;

    width: 100%;
}


/* =========================================================
   SLIDER HEADER
========================================================= */

.industry-slider-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding-bottom: 15px;

    border-bottom: 1px solid #e9e6ef;
}


.industry-slider-title {

    display: flex;

    align-items: center;

    gap: 18px;
}


.industry-slider-title > span {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #858597;
}


.industry-slider-title strong {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 11px;

    font-weight: 700;

    color: #252531;
}


/* =========================================================
   SLIDER CONTROLS
========================================================= */

.industry-slider-controls {

    display: flex;

    align-items: center;

    gap: 10px;
}


.industry-slider-arrow {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

    border: 1px solid #e3dfeb;

    border-radius: 50%;

    background: #ffffff;

    color: #403d4c;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 16px;

    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.industry-slider-arrow:hover {

    background: #1d1c25;

    color: #ffffff;

    border-color: #1d1c25;

    transform:
        translateY(-2px);
}


/* =========================================================
   DOTS
========================================================= */

.industry-slider-dots {

    display: flex;

    align-items: center;

    gap: 6px;

    margin: 0 4px;
}


.industry-slider-dot {

    width: 7px;

    height: 7px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #d8d4df;

    cursor: pointer;

    transition:
        width 0.3s ease,
        background 0.3s ease;
}


.industry-slider-dot.active {

    width: 22px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #7b4cff,
            #d97891
        );
}


/* =========================================================
   VIEWPORT

   THIS IS THE IMPORTANT PART.

   The viewport only displays ONE complete
   slide at a time.

   Each slide contains exactly THREE cards.
========================================================= */

.industry-slider-viewport {

    width: 100%;

    overflow: hidden;

    padding: 22px 1px 10px;

    position: relative;
}


/* =========================================================
   TRACK

   The track contains:

   [ SLIDE 1 ][ SLIDE 2 ][ SLIDE 3 ]

   Each slide is exactly 100% wide.
========================================================= */

.industry-slider-track {

    display: flex;

    flex-wrap: nowrap;

    width: 100%;

    transition:
        transform 0.7s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

    will-change: transform;
}


/* =========================================================
   SLIDE

   EACH SLIDE = EXACTLY 3 CARDS
========================================================= */

.industry-slider-slide {

    flex:
        0 0 100%;

    width: 100%;

    min-width: 100%;

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap: 18px;

    padding:
        0 1px;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.industry-service-card {

    position: relative;

    min-width: 0;

    min-height: 270px;

    display: flex;

    flex-direction: column;

    padding:
        25px
        25px
        21px;

    background: #ffffff;

    border:
        1px solid
        #e8e5ef;

    border-radius: 18px;

    box-shadow:
        0 8px 25px
        rgba(
            32,
            27,
            56,
            0.035
        );

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;

    overflow: hidden;
}


/* CARD DECORATION */

.industry-service-card::before {

    content: "";

    position: absolute;

    width: 130px;

    height: 130px;

    top: -65px;

    right: -65px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(
                128,
                84,
                246,
                0.08
            ),
            transparent 70%
        );

    pointer-events: none;
}


/* CARD HOVER */

.industry-service-card:hover {

    transform:
        translateY(-5px);

    border-color: #d8cff4;

    box-shadow:
        0 18px 38px
        rgba(
            57,
            42,
            100,
            0.09
        );
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.industry-service-card-placeholder {

    min-width: 0;

    min-height: 270px;

    visibility: hidden;
}


/* =========================================================
   CARD TOP
========================================================= */

.service-card-top {

    display: flex;

    align-items: center;

    min-height: 44px;

    margin-bottom: 22px;
}


.service-icon {

    width: 46px;

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #f1eaff,
            #fff0f5
        );

    color: #7954ed;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 21px;

    font-weight: 700;
}


.service-number {

    margin-left: auto;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    color: #a5a3b0;
}


.service-arrow {

    margin-left: 15px;

    font-size: 20px;

    color: #7665a6;

    transition:
        transform 0.3s ease,
        color 0.3s ease;
}


.industry-service-card:hover
.service-arrow {

    transform:
        translate(
            3px,
            -3px
        );

    color: #7954ed;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.service-card-content {

    flex: 1;
}


.service-card-content h3 {

    margin:
        0 0 13px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 23px;

    line-height: 1.25;

    font-weight: 700;

    letter-spacing: -0.4px;

    color: #20202a;
}


.service-card-content p {

    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 16px;

    line-height: 1.7;

    color: #46546a;
}


/* =========================================================
   CARD FOOTER
========================================================= */

.service-card-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 24px;

    padding-top: 15px;

    border-top:
        1px solid
        #eeecf2;
}


.service-card-footer span {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    font-weight: 700;

    color: #696878;
}


.service-card-footer b {

    font-size: 18px;

    font-weight: 400;

    color: #7655dc;

    transition:
        transform 0.3s ease;
}


.industry-service-card:hover
.service-card-footer b {

    transform:
        translateX(5px);
}


/* =========================================================
   CTA
========================================================= */

.industries-cta {

    padding:
        55px 0 80px;

    background: #ffffff;
}


.industries-cta-box {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    padding:
        45px 50px;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #f5f0ff 0%,
            #fff4f7 100%
        );

    border:
        1px solid
        #ebe3f7;

    overflow: hidden;
}


.industries-cta-box::after {

    content: "";

    position: absolute;

    width: 280px;

    height: 280px;

    right: -100px;

    bottom: -150px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(
                129,
                87,
                243,
                0.13
            ),
            transparent 70%
        );
}


.industries-cta-box > div {

    position: relative;

    z-index: 1;
}


.industries-cta-box > div > span {

    display: block;

    margin-bottom: 12px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #7c61c9;
}


.industries-cta-box h2 {

    margin:
        0 0 10px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            35px,
            4vw,
            50px
        );

    line-height: 1;

    letter-spacing: -1.8px;

    color: #1b1a22;
}


.industries-cta-box p {

    max-width: 600px;

    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 15.5px;

    line-height: 1.7;

    color: #4b5567;
}


.industries-cta-box > a {

    position: relative;

    z-index: 2;

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;

    gap: 18px;

    padding:
        15px 22px;

    border-radius: 50px;

    background: #1d1c25;

    color: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    font-weight: 700;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}


.industries-cta-box > a:hover {

    transform:
        translateY(-3px);

    background: #7954ed;
}


.industries-cta-box > a b {

    font-size: 17px;

    font-weight: 400;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {


    .industries-container {

        width:
            min(
                calc(100% - 40px),
                1000px
            );
    }


    .industries-hero-grid {

        grid-template-columns:
            minmax(360px, 0.9fr)
            minmax(430px, 1.1fr);

        gap: 35px;
    }


    .industries-hero-copy h1 {

        font-size: 56px;
    }


    .industries-hero-media {

        height: 270px;
    }


    .industry-section-heading {

        grid-template-columns:
            1fr 1fr;

        gap: 40px;
    }


    .industry-title-area h2 {

        font-size: 55px;
    }


    .industry-service-card {

        min-height: 260px;

        padding: 22px;
    }


    .service-card-content h3 {

        font-size: 21px;
    }


    .service-card-content p {

        font-size: 15px;

        line-height: 1.65;

        color: #46546a;
    }

}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 900px) {


    .industries-hero {

        padding:
            35px 0 50px;
    }


    .industries-hero-grid {

        grid-template-columns: 1fr;

        gap: 35px;
    }


    .industries-hero-copy h1 {

        max-width: 700px;

        font-size: 62px;
    }


    .industries-hero-media {

        width: 100%;

        height: 310px;
    }


    .industry-section-heading {

        grid-template-columns: 1fr;

        gap: 22px;
    }


    .industry-description {

        max-width: 750px;
    }


    .industry-section-alt {

        padding-left: 25px;

        padding-right: 25px;

        margin-left: -25px;

        margin-right: -25px;
    }


}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {


    .industries-container {

        width:
            calc(
                100% - 32px
            );
    }


    .industries-hero {

        min-height: auto;

        padding:
            28px 0 42px;
    }


    .industries-breadcrumb {

        margin-bottom: 24px;

        font-size: 11px;
    }


    .industries-hero-grid {

        display: flex;

        flex-direction: column;

        gap: 28px;
    }


    .industries-hero-copy h1 {

        font-size:
            clamp(
                44px,
                12vw,
                58px
            );

        line-height: 0.9;

        letter-spacing: -2.5px;
    }


    .industries-hero-media {

        width: 100%;

        height: 245px;
    }


    .industries-hero-media img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        border-radius: 17px;
    }


    .industries-list {

        padding:
            50px 0 25px;
    }


    .industry-section {

        padding:
            45px 0 55px;
    }


    .industry-section-heading {

        display: block;

        margin-bottom: 28px;
    }


    .industry-title-area h2 {

        font-size: 48px;

        letter-spacing: -2px;
    }


    .industry-description {

        margin-top: 18px;
    }


    .industry-description p {

        font-size: 15px;

        line-height: 1.7;

        color: #34445c;
    }


    /* SLIDER HEADER */

    .industry-slider-header {

        gap: 10px;
    }


    .industry-slider-title {

        display: block;
    }


    .industry-slider-title > span {

        display: block;

        margin-bottom: 5px;

        font-size: 8px;
    }


    .industry-slider-title strong {

        font-size: 10px;
    }


    .industry-slider-controls {

        gap: 6px;
    }


    .industry-slider-arrow {

        width: 32px;

        height: 32px;

        font-size: 14px;
    }


    .industry-slider-dots {

        gap: 5px;
    }


    .industry-slider-dot {

        width: 6px;

        height: 6px;
    }


    .industry-slider-dot.active {

        width: 18px;
    }


    /* =====================================================
       MOBILE:
       STILL EXACTLY 3 CARDS
    ====================================================== */

    .industry-slider-slide {

        gap: 10px;
    }


    .industry-service-card {

        min-height: 220px;

        padding:
            16px 13px 14px;

        border-radius: 14px;
    }


    .service-card-top {

        min-height: 35px;

        margin-bottom: 13px;
    }


    .service-icon {

        width: 34px;

        height: 34px;

        border-radius: 9px;

        font-size: 15px;
    }


    .service-number {

        display: none;
    }


    .service-arrow {

        margin-left: auto;

        font-size: 15px;
    }


    .service-card-content h3 {

        font-size: 15px;

        line-height: 1.25;

        margin-bottom: 8px;
    }


    .service-card-content p {

        font-size: 12px;

        line-height: 1.55;

        color: #46546a;
    }


    .service-card-footer {

        margin-top: 14px;

        padding-top: 9px;
    }


    .service-card-footer span {

        font-size: 9px;
    }


    .service-card-footer b {

        font-size: 14px;
    }


    .industry-service-card-placeholder {

        min-height: 220px;
    }


    /* CTA */

    .industries-cta {

        padding:
            35px 0 55px;
    }


    .industries-cta-box {

        display: block;

        padding:
            32px 25px;

        border-radius: 20px;
    }


    .industries-cta-box h2 {

        font-size: 36px;
    }


    .industries-cta-box p {

        font-size: 14px;

        line-height: 1.65;

        color: #4b5567;
    }


    .industries-cta-box > a {

        margin-top: 25px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {


    .industries-container {

        width:
            calc(
                100% - 24px
            );
    }


    .industries-hero {

        padding:
            25px 0 35px;
    }


    .industries-breadcrumb {

        margin-bottom: 21px;

        font-size: 10px;
    }


    .industries-hero-copy h1 {

        font-size: 43px;

        letter-spacing: -2px;
    }


    .industries-hero-media {

        height: 205px;
    }


    .industry-section {

        padding:
            38px 0 48px;
    }


    .industry-title-area h2 {

        font-size: 42px;

        letter-spacing: -1.8px;
    }


    .industry-description p {

        font-size: 14px;

        line-height: 1.65;

        color: #34445c;
    }


    /*
     * Three cards continue to be visible.
     */

    .industry-slider-slide {

        gap: 7px;
    }


    .industry-service-card {

        min-height: 205px;

        padding:
            13px 10px;
    }


    .service-icon {

        width: 30px;

        height: 30px;

        font-size: 13px;
    }


    .service-card-content h3 {

        font-size: 13px;
    }


    .service-card-content p {

        font-size: 11px;

        line-height: 1.5;

        color: #46546a;
    }


    .service-card-footer span {

        font-size: 8px;
    }


    .industry-service-card-placeholder {

        min-height: 205px;
    }


    .industries-cta-box {

        padding:
            28px 21px;
    }


    .industries-cta-box h2 {

        font-size: 32px;
    }

}


/* =========================================================
   CONTENT READABILITY
   Darker, larger body copy across the complete page.
========================================================= */

.industries-page p {
    color: #46546a;
}

.industries-page .industry-description p {
    color: #34445c;
    font-size: 17px;
    line-height: 1.75;
}

.industries-page .service-card-content p {
    color: #46546a;
    font-size: 16px;
    line-height: 1.7;
}

.industries-page .industries-hero-copy p {
    color: #334155;
    font-size: 15.5px;
    line-height: 1.75;
}

.industries-page .industries-cta-box p {
    color: #4b5567;
    font-size: 15.5px;
    line-height: 1.7;
}

@media (max-width: 767px) {
    .industries-page .industry-description p {
        font-size: 15px;
        line-height: 1.7;
    }

    .industries-page .service-card-content p {
        font-size: 12px;
        line-height: 1.55;
    }

    .industries-page .industries-hero-copy p {
        font-size: 14px;
        line-height: 1.65;
    }

    .industries-page .industries-cta-box p {
        font-size: 14px;
        line-height: 1.65;
    }
}

@media (max-width: 480px) {
    .industries-page .industry-description p {
        font-size: 14px;
    }

    .industries-page .service-card-content p {
        font-size: 11px;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.industry-service-card:focus-visible,
.industry-slider-arrow:focus-visible,
.industry-slider-dot:focus-visible,
.industries-cta-box > a:focus-visible,
.industries-breadcrumb a:focus-visible {

    outline:
        3px solid
        rgba(
            121,
            84,
            237,
            0.35
        );

    outline-offset: 4px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .industry-slider-track {

        transition: none !important;
    }


    .industry-service-card,
    .service-arrow,
    .service-card-footer b,
    .industry-slider-arrow,
    .industry-slider-dot,
    .industries-cta-box > a,
    .industries-breadcrumb a {

        transition: none !important;
    }

}
/* =========================================================
   FINAL PRODUCTION SAFETY / RESPONSIVE POLISH
========================================================= */

.industries-page {
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.industries-page img {
    max-width: 100%;
}

.industries-page button,
.industries-page a {
    -webkit-tap-highlight-color: transparent;
}

.industry-section {
    scroll-margin-top: 100px;
}

.industry-slider-viewport {
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

.industry-slider-arrow,
.industry-slider-dot {
    -webkit-appearance: none;
    appearance: none;
    user-select: none;
    -webkit-user-select: none;
}

@media (max-width: 767px) {
    .industries-page {
        overflow-x: clip;
    }

    .industries-hero-copy p,
    .industry-description p,
    .service-card-content p,
    .industries-cta-box p {
        overflow-wrap: anywhere;
    }

    .industry-slider-header {
        align-items: center;
    }

    .industry-slider-controls {
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .industries-breadcrumb {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .industry-slider-header {
        align-items: flex-end;
    }

    .industry-slider-title {
        min-width: 0;
    }

    .industry-slider-title strong {
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .industry-slider-track {
        will-change: auto;
    }
}

/* =========================================================
   MOBILE REDESIGN — PRODUCTION OVERRIDE
   Purpose:
   - Remove the cramped 3-card mobile layout.
   - Keep the 3-card carousel on desktop/tablet.
   - On phones, show every service as a clean single-column list.
   - Disable the carousel controls on mobile because all services
     are visible and directly accessible.
========================================================= */

@media (max-width: 767px) {

    /* ---------- PAGE / CONTAINER ---------- */

    .industries-page {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    .industries-container {
        width: calc(100% - 32px);
        max-width: none;
    }

    /* ---------- HERO ---------- */

    .industries-hero {
        padding: 26px 0 40px;
        min-height: auto;
    }

    .industries-breadcrumb {
        width: 100%;
        margin-bottom: 24px;
        gap: 8px;
        font-size: 10px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .industries-hero-grid {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .industries-hero-copy {
        width: 100%;
        min-width: 0;
    }

    .industries-hero-copy h1 {
        width: 100%;
        max-width: none;
        font-size: clamp(44px, 13vw, 58px);
        line-height: .9;
        letter-spacing: -2.6px;
    }

    .hero-heading-line {
        width: 48px;
        height: 3px;
        margin-top: 20px;
    }

    .industries-hero-copy p {
        max-width: 100%;
        margin-top: 15px;
        font-size: 14px;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }

    .industries-hero-media {
        width: 100%;
        height: 210px;
        min-height: 0;
    }

    .industries-hero-media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 16px;
    }

    /* ---------- INDUSTRY LIST ---------- */

    .industries-list {
        padding: 38px 0 20px;
    }

    .industry-section,
    .industry-section:first-child,
    .industry-section:last-child {
        width: 100%;
        padding: 42px 0 52px;
        margin: 0;
        border-radius: 0;
    }

    /* Remove the desktop negative-margin treatment from alternating sections. */
    .industry-section-alt {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        border-radius: 18px;
        background: linear-gradient(135deg, #faf9fd 0%, #ffffff 100%);
    }

    .industry-section-heading {
        display: block;
        width: 100%;
        margin: 0 0 26px;
    }

    .industry-title-area,
    .industry-description {
        width: 100%;
        min-width: 0;
    }

    .industry-label {
        gap: 9px;
        margin-bottom: 13px;
    }

    .industry-label span {
        width: 31px;
        height: 22px;
        border-radius: 6px;
        font-size: 9px;
    }

    .industry-label small {
        font-size: 9px;
        letter-spacing: 1.25px;
    }

    .industry-title-area h2 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(40px, 12vw, 52px);
        line-height: .94;
        letter-spacing: -2px;
        overflow-wrap: normal;
        word-break: normal;
    }

    .industry-description {
        margin-top: 17px;
        padding: 0;
    }

    .industry-description p,
    .industries-page .industry-description p {
        width: 100%;
        max-width: none;
        margin: 0;
        font-size: 15px;
        line-height: 1.7;
        color: #34445c;
        overflow-wrap: anywhere;
    }

    /* ---------- SERVICE HEADER ---------- */

    .industry-services-slider {
        width: 100%;
        min-width: 0;
    }

    .industry-slider-header {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0 0 13px;
        border-bottom: 1px solid #e9e6ef;
    }

    .industry-slider-title {
        min-width: 0;
        display: flex;
        align-items: baseline;
        gap: 10px;
    }

    .industry-slider-title > span {
        flex: 0 0 auto;
        font-size: 9px;
        letter-spacing: 1.25px;
    }

    .industry-slider-title strong {
        flex: 0 0 auto;
        font-size: 11px;
        white-space: nowrap;
    }

    /* The mobile layout shows every service, so carousel controls are unnecessary. */
    .industry-slider-controls {
        display: none !important;
    }

    /* ---------- MOBILE SERVICE LIST ---------- */

    .industry-slider-viewport {
        width: 100%;
        height: auto;
        overflow: visible;
        padding: 16px 0 0;
        touch-action: auto;
    }

    .industry-slider-track {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto;
    }

    .industry-slider-slide {
        width: 100% !important;
        min-width: 0 !important;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        padding: 0;
        margin: 0 0 14px;
    }

    .industry-slider-slide:last-child {
        margin-bottom: 0;
    }

    .industry-service-card {
        width: 100%;
        min-width: 0;
        min-height: 0;
        height: auto;
        padding: 18px 17px 16px;
        border-radius: 16px;
        box-shadow: 0 7px 22px rgba(32, 27, 56, .045);
    }

    .industry-service-card:hover {
        transform: none;
    }

    .industry-service-card-placeholder {
        display: none !important;
    }

    .service-card-top {
        min-height: 38px;
        margin-bottom: 15px;
    }

    .service-icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        font-size: 16px;
    }

    .service-number {
        display: inline-block;
        margin-left: auto;
        font-size: 10px;
    }

    .service-arrow {
        margin-left: 12px;
        font-size: 17px;
    }

    .service-card-content {
        min-width: 0;
    }

    .service-card-content h3,
    .industries-page .service-card-content h3 {
        margin: 0 0 8px;
        font-size: 18px;
        line-height: 1.28;
        letter-spacing: -.25px;
        overflow-wrap: anywhere;
    }

    .service-card-content p,
    .industries-page .service-card-content p {
        margin: 0;
        font-size: 14px;
        line-height: 1.6;
        color: #46546a;
        overflow-wrap: anywhere;
    }

    .service-card-footer {
        margin-top: 18px;
        padding-top: 11px;
    }

    .service-card-footer span {
        font-size: 10px;
    }

    .service-card-footer b {
        font-size: 16px;
    }

    /* ---------- CTA ---------- */

    .industries-cta {
        padding: 38px 0 56px;
    }

    .industries-cta-box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding: 30px 22px;
        border-radius: 20px;
    }

    .industries-cta-box > div {
        width: 100%;
    }

    .industries-cta-box > div > span {
        margin-bottom: 10px;
        font-size: 9px;
        letter-spacing: 1.3px;
    }

    .industries-cta-box h2 {
        font-size: clamp(32px, 9vw, 40px);
        line-height: 1.02;
        letter-spacing: -1.4px;
    }

    .industries-cta-box p,
    .industries-page .industries-cta-box p {
        max-width: 100%;
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.65;
    }

    .industries-cta-box > a {
        width: 100%;
        justify-content: center;
        padding: 14px 18px;
        gap: 14px;
        font-size: 12px;
    }
}

/* =========================================================
   EXTRA-SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .industries-container {
        width: calc(100% - 24px);
    }

    .industries-hero {
        padding-top: 22px;
        padding-bottom: 34px;
    }

    .industries-breadcrumb {
        margin-bottom: 20px;
        font-size: 9px;
    }

    .industries-hero-copy h1 {
        font-size: 43px;
        letter-spacing: -2.1px;
    }

    .industries-hero-copy p {
        font-size: 13.5px;
        line-height: 1.65;
    }

    .industries-hero-media {
        height: 185px;
    }

    .industries-list {
        padding-top: 30px;
    }

    .industry-section {
        padding-top: 36px;
        padding-bottom: 44px;
    }

    .industry-title-area h2 {
        font-size: 40px;
        letter-spacing: -1.7px;
    }

    .industry-description p,
    .industries-page .industry-description p {
        font-size: 14px;
        line-height: 1.65;
    }

    .industry-slider-header {
        gap: 8px;
    }

    .industry-slider-title {
        gap: 8px;
    }

    .industry-slider-title > span {
        font-size: 8px;
        letter-spacing: 1.1px;
    }

    .industry-slider-title strong {
        font-size: 10px;
    }

    .industry-slider-viewport {
        padding-top: 14px;
    }

    .industry-slider-slide {
        gap: 12px;
        margin-bottom: 12px;
    }

    .industry-service-card {
        padding: 16px 15px 15px;
        border-radius: 15px;
    }

    .service-card-top {
        min-height: 34px;
        margin-bottom: 13px;
    }

    .service-icon {
        width: 34px;
        height: 34px;
        border-radius: 9px;
        font-size: 14px;
    }

    .service-number {
        font-size: 9px;
    }

    .service-arrow {
        font-size: 15px;
    }

    .service-card-content h3,
    .industries-page .service-card-content h3 {
        font-size: 17px;
        line-height: 1.28;
    }

    .service-card-content p,
    .industries-page .service-card-content p {
        font-size: 13px;
        line-height: 1.55;
    }

    .service-card-footer {
        margin-top: 16px;
        padding-top: 10px;
    }

    .service-card-footer span {
        font-size: 9px;
    }

    .industries-cta {
        padding-top: 30px;
        padding-bottom: 46px;
    }

    .industries-cta-box {
        padding: 26px 19px;
        border-radius: 18px;
    }

    .industries-cta-box h2 {
        font-size: 31px;
    }
}

/* =========================================================
   MOBILE HEADING ALIGNMENT — FINAL
   Center the main page heading and industry headings on phones.
========================================================= */
@media (max-width: 767px) {
    .industries-hero-copy {
        text-align: center;
    }

    .industries-hero-copy h1 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-heading-line {
        margin-left: auto;
        margin-right: auto;
    }

    .industry-title-area {
        text-align: center;
    }

    .industry-label {
        justify-content: center;
    }

    .industry-title-area h2 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 480px) {
    .industries-hero-copy h1 {
        text-align: center;
    }

    .industry-title-area h2 {
        text-align: center;
    }
}
