/* SSF Tech: brand red, graphite and warm white. */
.ssf-modern {
    --red: #e40914;
    --red-dark: #b90710;
    --black: #14171d;
    --ink: #14171d;
    --muted: #72747a;
    --line: #e7e3e0;
    --section-space: 110px;
    font-family: 'DM Sans', sans-serif;
    background: #f6f4f2;
    color: var(--ink)
}

/* Keep every service-detail hero centered on mobile and tablet. */
@media (max-width:991px) {
    body.ssf-modern.is-inner .single-service-hero-copy {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
        align-items: center;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .blog-breadcrumb {
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
        justify-content: center;
    }

    body.ssf-modern.is-inner .single-service-hero-copy > .eyebrow {
        width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero h1,
    body.ssf-modern.is-inner .single-service-hero-copy > p:not(.eyebrow) {
        max-width: 720px;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .services-page-hero-actions {
        width: 100%;
        justify-content: center;
    }
}

/* Final tablet treatment for all newly added services pages. */
@media (min-width:576px) and (max-width:991px) {
     .ssf-modern.is-inner .blog-list {
        grid-template-columns: 1fr 1fr;
    }
    .ssf-modern.is-inner .blog-list-card {
        grid-template-columns: 1fr!important;
    }
    body.ssf-modern.is-inner .services-page-hero,
    body.ssf-modern.is-inner .service-detail-hero,
    body.ssf-modern.is-inner .single-service-hero {
        padding:130px 0 58px;
    }

    body.ssf-modern.is-inner .services-page-hero-grid,
    body.ssf-modern.is-inner .service-detail-hero-grid,
    body.ssf-modern.is-inner .single-service-hero-grid {
        grid-template-columns:1fr;
        gap:34px;
    }

    body.ssf-modern.is-inner .services-page-hero-copy,
    body.ssf-modern.is-inner .service-detail-hero-copy,
    body.ssf-modern.is-inner .single-service-hero-copy {
        display:flex;
        width:100%;
        max-width:720px;
        min-width:0;
        margin-inline:auto;
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    body.ssf-modern.is-inner :is(.services-page-hero,.service-detail-hero,.single-service-hero) .blog-breadcrumb {
        width:max-content;
        max-width:100%;
        margin:0 auto 28px;
        justify-content:center;
    }

    body.ssf-modern.is-inner :is(.services-page-hero-copy,.service-detail-hero-copy,.single-service-hero-copy)>.eyebrow {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner :is(.services-page-hero,.service-detail-hero,.single-service-hero) h1 {
        width:100%;
        max-width:720px;
        margin-inline:auto;
        font-size:clamp(48px,7vw,62px);
        line-height:1.03;
        text-align:center;
        white-space:normal;
        overflow-wrap:break-word;
        text-wrap:balance;
    }

    body.ssf-modern.is-inner :is(.services-page-hero-copy,.service-detail-hero-copy,.single-service-hero-copy)>p:not(.eyebrow) {
        max-width:620px;
        margin-inline:auto;
        text-align:center;
    }

    body.ssf-modern.is-inner :is(.services-page-hero,.service-detail-hero,.single-service-hero) .services-page-hero-actions {
        justify-content:center;
    }

    body.ssf-modern.is-inner .services-page-hero-visual,
    body.ssf-modern.is-inner .service-detail-hero-visual,
    body.ssf-modern.is-inner .single-service-hero-visual {
        width:100%;
        max-width:680px;
        height:400px;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .services-page-overview,
    body.ssf-modern.is-inner .service-detail-list,
    body.ssf-modern.is-inner .single-service-overview,
    body.ssf-modern.is-inner .single-service-feature,
    body.ssf-modern.is-inner .single-service-related {
        padding:56px 0;
    }

    body.ssf-modern.is-inner .services-page-overview .services-section-heading,
    body.ssf-modern.is-inner .service-detail-list .services-section-heading {
        width:100%;
        max-width:720px;
        margin:0 auto 36px;
        padding-inline:12px;
        text-align:center;
    }

    body.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title,
    body.ssf-modern.is-inner .service-detail-list .services-section-heading .section-title {
        max-width:100%;
        font-size:clamp(38px,6vw,52px);
        white-space:normal!important;
        text-wrap:balance;
    }

    body.ssf-modern.is-inner .services-page-main-grid {
        /* grid-template-columns:1fr; */
        grid-template-columns:1fr 1fr;
        max-width:760px;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .services-page-hero-visual-copy strong br {
        display: none;
    }

    body.ssf-modern.is-inner .services-page-main-card {
        /* grid-template-columns:38% minmax(0,1fr); */
        grid-template-columns: 1fr;
        min-height:330px;
    }

    body.ssf-modern.is-inner .service-detail-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    body.ssf-modern.is-inner .single-service-overview-grid,
    body.ssf-modern.is-inner .single-service-feature-grid {
        grid-template-columns:1fr;
        gap:36px;
    }

    body.ssf-modern.is-inner .single-service-overview-grid {
        max-width:760px;
        margin-inline:auto;
        padding:38px;
    }

    body.ssf-modern.is-inner .single-service-overview-copy,
    body.ssf-modern.is-inner .single-service-feature-copy {
        padding:0;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-overview-copy>.eyebrow,
    body.ssf-modern.is-inner .single-service-feature-copy>.eyebrow {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-overview-copy h2,
    body.ssf-modern.is-inner .single-service-feature-copy h2,
    body.ssf-modern.is-inner .single-service-overview-copy>p,
    body.ssf-modern.is-inner .single-service-feature-copy>p {
        margin-inline:auto;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-feature-visual {
        width:100%;
        max-width:680px;
        height:420px;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-feature-copy ul {
        max-width:680px;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-feature-copy>.btn {
        display:flex;
        width:max-content;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-related-head {
        align-items:center;
        text-align:center;
        flex-direction:column;
    }

    body.ssf-modern.is-inner .single-service-related-head .eyebrow,
    body.ssf-modern.is-inner .single-service-related-head>.single-service-related-cta {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-related-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.ssf-modern.is-inner .services-page-cta,
    body.ssf-modern.is-inner .service-detail-cta {
        padding:56px 0;
    }

    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background,
    body.ssf-modern.is-inner .service-detail-cta-inner {
        padding:34px;
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .service-detail-hero-copy {
        display: flex;
        width: 100%;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    body.ssf-modern.is-inner .service-detail-hero .blog-breadcrumb {
        width: max-content;
        max-width: 100%;
        margin: 0 auto 26px;
        justify-content: center;
    }

    body.ssf-modern.is-inner .service-detail-hero-copy>.eyebrow {
        display: inline-flex;
        width: auto;
        margin: 0 auto 17px;
    }

    body.ssf-modern.is-inner .service-detail-hero h1 {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        font-size: clamp(39px, 11vw, 48px);
        line-height: 1.04;
        text-align: center;
        white-space: normal;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    body.ssf-modern.is-inner .service-detail-hero-copy>p:not(.eyebrow) {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .service-detail-hero .services-page-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 14px;
    }

    body.ssf-modern.is-inner .service-detail-hero .services-page-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    body.ssf-modern.is-inner .service-detail-list .services-section-heading .section-title {
        width: 100%;
        max-width: 100%;
        font-size: 32px;
        line-height: 1.1;
        white-space: normal !important;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    body.ssf-modern.is-inner .service-detail-list .services-section-heading .section-title span {
        white-space: normal !important;
    }
}

/* Visual hero card for the main services listing. */
body.ssf-modern.is-inner .services-page-hero-visual {
    position: relative;
    height: 440px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 25px;
    background: #101620;
    box-shadow: 0 30px 75px rgba(0, 0, 0, .3)
}

body.ssf-modern.is-inner .services-page-hero-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 9, 16, .12) 8%, rgba(5, 9, 16, .55) 48%, rgba(5, 9, 16, .96) 100%)
}

body.ssf-modern.is-inner .services-page-hero-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.22, 1, .36, 1)
}

body.ssf-modern.is-inner .services-page-hero-visual:hover>img {
    transform: scale(1.045)
}

body.ssf-modern.is-inner .services-page-hero-visual-icon {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 55px;
    height: 55px;
    border-radius: 16px;
    background: #e40914;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 14px 32px rgba(228, 9, 20, .34)
}

body.ssf-modern.is-inner .services-page-hero-visual-copy {
    position: absolute;
    right: 18px;
    bottom: 100px;
    left: 18px;
    z-index: 2;
    display: grid;
    gap: 6px;
    padding: 17px 18px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;
    background: rgba(7, 11, 18, .82);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .28);
    backdrop-filter: blur(12px)
}

body.ssf-modern.is-inner .services-page-hero-visual-copy small {
    color: #ff737b;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase
}

body.ssf-modern.is-inner .services-page-hero-visual-copy strong {
    color: #fff;
    font: 600 24px/1.18 var(--display-font);
    letter-spacing: -.02em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .32)
}

body.ssf-modern.is-inner .services-page-hero-tags {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    overflow: visible
}

body.ssf-modern.is-inner .services-page-hero-tags::-webkit-scrollbar {
    display: none
}

body.ssf-modern.is-inner .services-page-hero-tags a {
    display: flex;
    min-width: 0;
    min-height: 34px;
    padding: 8px 10px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 7px;
    background: rgba(7, 11, 18, .9);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
    backdrop-filter: blur(10px)
}

body.ssf-modern.is-inner .services-page-hero-tags a:hover {
    border-color: #e40914;
    background: #e40914;
    color: #fff
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .services-page-hero-visual {
        width: 100%;
        max-width: 680px;
        height: 390px
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .services-page-hero-visual {
        height: 330px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .services-page-hero-visual-copy {
        right: 14px;
        bottom: 108px;
        left: 14px
    }

    body.ssf-modern.is-inner .services-page-hero-visual-copy strong {
        font-size: 21px
    }

    body.ssf-modern.is-inner .services-page-hero-tags {
        right: 14px;
        bottom: 14px;
        left: 14px
    }

    body.ssf-modern.is-inner .services-page-hero-tags a {
        padding-inline: 7px;
        font-size: 9px
    }
}

/* Keep individual service pages on the same homepage design system. */
body.ssf-modern.is-inner .single-service-overview .eyebrow,
body.ssf-modern.is-inner .single-service-feature-copy>.eyebrow,
body.ssf-modern.is-inner .single-service-related-head .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

body.ssf-modern.is-inner .single-service-overview .eyebrow::before,
body.ssf-modern.is-inner .single-service-feature-copy>.eyebrow::before,
body.ssf-modern.is-inner .single-service-related-head .eyebrow::before {
    content: '';
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

body.ssf-modern.is-inner .single-service-main .btn,
body.ssf-modern.is-inner .single-service-hero .btn {
    border-radius: 7px;
}

body.ssf-modern.is-inner .single-service-main .button-orb,
body.ssf-modern.is-inner .single-service-hero .button-orb {
    border-radius: 6px;
}

/* Individual service detail pages. */
body.ssf-modern.is-inner .single-service-hero {
    position: relative;
    padding: 150px 0 78px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(circle at 82% 18%, rgba(228, 9, 20, .24), transparent 29%), linear-gradient(118deg, #050912, #0b101a 62%, #21070b)
}

body.ssf-modern.is-inner .single-service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    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: 44px 44px;
    mask-image: linear-gradient(90deg, #000, transparent 88%)
}

body.ssf-modern.is-inner .single-service-hero>.container {
    position: relative;
    z-index: 1
}

body.ssf-modern.is-inner .single-service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: 70px;
    align-items: center
}

body.ssf-modern.is-inner .single-service-hero-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start
}

body.ssf-modern.is-inner .single-service-hero .blog-breadcrumb {
    display: flex;
    width: max-content;
    max-width: 100%;
    justify-content: flex-start;
    margin: 0 0 30px
}

body.ssf-modern.is-inner .single-service-hero-copy>.eyebrow {
    display: inline-flex;
    width: auto;
    margin: 0 0 17px;
    color: #ff6971
}

body.ssf-modern.is-inner .single-service-hero h1 {
    max-width: 780px;
    margin: 17px 0 23px;
    font: 600 clamp(48px, 5.2vw, 78px)/1.01 var(--display-font);
    letter-spacing: -.055em;
    overflow-wrap: break-word
}

body.ssf-modern.is-inner .single-service-hero-copy>p:not(.eyebrow) {
    max-width: 660px;
    color: #b7bfcc;
    font-size: 15px;
    line-height: 1.8
}

body.ssf-modern.is-inner .single-service-hero-visual {
    position: relative;
    height: 455px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 26px;
    background: #111722;
    box-shadow: 0 30px 75px rgba(0, 0, 0, .3)
}

body.ssf-modern.is-inner .single-service-hero-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(5, 9, 16, .8))
}

body.ssf-modern.is-inner .single-service-hero-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

body.ssf-modern.is-inner .single-service-hero-icon {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: #e40914;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 14px 32px rgba(228, 9, 20, .34)
}

body.ssf-modern.is-inner .single-service-hero-label {
    position: absolute;
    right: 25px;
    bottom: 25px;
    left: 25px;
    z-index: 2;
    display: grid;
    gap: 4px
}

body.ssf-modern.is-inner .single-service-hero-label small {
    color: #ff6971;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase
}

body.ssf-modern.is-inner .single-service-hero-label strong {
    color: #fff;
    font: 600 22px/1.2 var(--display-font)
}

body.ssf-modern.is-inner .single-service-overview {
    padding: 90px 0;
    background: #f8f7f6
}

body.ssf-modern.is-inner .single-service-overview {
    position: relative;
    overflow: hidden;
    background: #fff
}

body.ssf-modern.is-inner .single-service-overview::before {
    content: '';
    position: absolute;
    top: -170px;
    right: -120px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 9, 20, .085), transparent 68%);
    pointer-events: none
}

body.ssf-modern.is-inner .single-service-overview-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .75fr);
    gap: 48px;
    align-items: center;
    padding: 48px;
    overflow: hidden;
    border: 1px solid #e8e4e1;
    border-radius: 26px;
    background: linear-gradient(135deg, #fff 0%, #faf9f8 62%, #fff3f4 100%);
    box-shadow: 0 24px 70px rgba(16, 24, 44, .075)
}

body.ssf-modern.is-inner .single-service-overview-grid::after {
    content: '';
    position: absolute;
    top: -85px;
    left: 44%;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(228, 9, 20, .1);
    border-radius: 42px;
    transform: rotate(28deg);
    pointer-events: none
}

body.ssf-modern.is-inner .single-service-overview-copy {
    position: relative;
    z-index: 1;
    padding-right: 20px
}

body.ssf-modern.is-inner .single-service-overview-copy h2 {
    max-width: 720px;
    margin: 15px 0 22px;
    color: #121822;
    font: 600 clamp(40px, 4.2vw, 62px)/1.06 var(--display-font);
    letter-spacing: -.05em
}

body.ssf-modern.is-inner .single-service-overview-copy h2 span {
    color: #e40914
}

body.ssf-modern.is-inner .single-service-overview-copy>p:not(.eyebrow) {
    max-width: 680px;
    color: #697181;
    line-height: 1.8
}

body.ssf-modern.is-inner .single-service-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px
}

body.ssf-modern.is-inner .single-service-proof>span {
    display: grid;
    grid-template-columns: 38px 1fr;
    column-gap: 10px;
    align-items: center;
    padding: 13px;
    border: 1px solid #e9e5e2;
    border-radius: 13px;
    background: rgba(255, 255, 255, .8)
}

body.ssf-modern.is-inner .single-service-proof i {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #fff0f1;
    color: #e40914
}

body.ssf-modern.is-inner .single-service-proof strong {
    color: #202733;
    font-size: 10px
}

body.ssf-modern.is-inner .single-service-proof small {
    color: #858c97;
    font-size: 8px
}

body.ssf-modern.is-inner .single-service-benefits {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px
}

body.ssf-modern.is-inner .single-service-benefits article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 15px;
    padding: 21px;
    border: 1px solid #e6e2df;
    border-radius: 16px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 32px rgba(16, 24, 44, .05);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease
}

body.ssf-modern.is-inner .single-service-benefits article:hover {
    transform: translateX(-6px);
    border-color: rgba(228, 9, 20, .24);
    box-shadow: 0 18px 42px rgba(16, 24, 44, .09)
}

body.ssf-modern.is-inner .single-service-benefits article>span {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 13px;
    background: #fff0f1;
    color: #e40914
}

body.ssf-modern.is-inner .single-service-benefits h3 {
    margin: 2px 0 6px;
    color: #141a25;
    font-size: 17px
}

body.ssf-modern.is-inner .single-service-benefits p {
    margin: 0;
    color: #697181;
    font-size: 11px;
    line-height: 1.65
}

body.ssf-modern.is-inner .single-service-feature {
    padding: 90px 0;
    background: #fff
}

body.ssf-modern.is-inner .single-service-feature-grid {
    display: grid;
    grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr);
    gap: 75px;
    align-items: center
}

body.ssf-modern.is-inner .single-service-feature-visual {
    position: relative;
    height: 520px;
    overflow: hidden;
    border-radius: 25px;
    background: #101620;
    box-shadow: 0 25px 65px rgba(16, 24, 44, .14)
}

body.ssf-modern.is-inner .single-service-feature-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(5, 9, 16, .58))
}

body.ssf-modern.is-inner .single-service-feature-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

body.ssf-modern.is-inner .single-service-feature-visual span {
    position: absolute;
    right: 22px;
    bottom: 22px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: #e40914;
    color: #fff;
    font-size: 21px
}

body.ssf-modern.is-inner .single-service-feature-copy h2 {
    margin: 15px 0 20px;
    color: #121822;
    font: 600 clamp(40px, 4.2vw, 60px)/1.06 var(--display-font);
    letter-spacing: -.05em
}

body.ssf-modern.is-inner .single-service-feature-copy h2 span {
    color: #e40914
}

body.ssf-modern.is-inner .single-service-feature-copy>p:not(.eyebrow) {
    color: #697181;
    line-height: 1.8
}

body.ssf-modern.is-inner .single-service-feature-copy ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
    margin: 25px 0 30px;
    padding: 22px 0 0;
    border-top: 1px solid #e9e5e2;
    list-style: none
}

body.ssf-modern.is-inner .single-service-feature-copy li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #444d59;
    font-size: 11px;
    line-height: 1.5
}

body.ssf-modern.is-inner .single-service-feature-copy li i {
    margin-top: 3px;
    color: #e40914
}

body.ssf-modern.is-inner .single-service-feature-copy>.btn {
    width: auto
}

body.ssf-modern.is-inner .single-service-related {
    padding: 85px 0;
    background: #f8f7f6
}

body.ssf-modern.is-inner .single-service-related-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px
}

body.ssf-modern.is-inner .single-service-related-head h2 {
    margin: 12px 0 0;
    color: #121822;
    font: 600 clamp(36px, 3.6vw, 52px)/1.08 var(--display-font);
    letter-spacing: -.045em
}

body.ssf-modern.is-inner .single-service-related-head .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    box-shadow: none
}

body.ssf-modern.is-inner .single-service-related-head .eyebrow::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1)
}

body.ssf-modern.is-inner .single-service-related-head h2 span {
    color: #e40914
}

body.ssf-modern.is-inner .single-service-related-head>.single-service-related-cta {
    display: inline-flex;
    width: auto;
    min-width: 166px;
    min-height: 48px;
    padding: 7px 8px 7px 17px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 7px;
    background: #e40914;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 13px 30px rgba(228, 9, 20, .24)
}

body.ssf-modern.is-inner .single-service-related-head>.single-service-related-cta .button-orb {
    display: grid;
    place-items: center;
    width: 33px;
    height: 33px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .17);
    color: #fff
}

body.ssf-modern.is-inner .single-service-related-head>.single-service-related-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 17px 36px rgba(228, 9, 20, .32)
}

body.ssf-modern.is-inner .single-service-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

body.ssf-modern.is-inner .single-service-related-card {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border-radius: 20px;
    color: #fff;
    background: #101620;
    box-shadow: 0 18px 45px rgba(16, 24, 44, .12)
}

body.ssf-modern.is-inner .single-service-related-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 9, 16, .12) 5%, rgba(5, 9, 16, .55) 48%, rgba(5, 9, 16, .96) 100%)
}

body.ssf-modern.is-inner .single-service-related-card>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease
}

body.ssf-modern.is-inner .single-service-related-card:hover>img {
    transform: scale(1.05)
}

body.ssf-modern.is-inner .single-service-related-card>span {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #e40914
}

body.ssf-modern.is-inner .single-service-related-card>div {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 2;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 15px;
    background: rgba(7, 11, 18, .82);
    box-shadow: 0 16px 35px rgba(0, 0, 0, .24);
    backdrop-filter: blur(12px)
}

body.ssf-modern.is-inner .single-service-related-card small {
    display: block;
    margin-bottom: 8px;
    color: #ff6971;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase
}

body.ssf-modern.is-inner .single-service-related-card h3 {
    margin: 0 0 9px;
    color: #fff;
    font: 600 22px/1.22 var(--display-font);
    text-shadow: 0 2px 10px rgba(0, 0, 0, .3)
}

body.ssf-modern.is-inner .single-service-related-card p {
    margin: 0 0 14px;
    color: #e0e5ec;
    font-size: 11px;
    line-height: 1.65
}

body.ssf-modern.is-inner .single-service-related-card strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ff737b;
    font-size: 10px;
    font-weight: 700
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .single-service-hero {
        padding: 130px 0 60px
    }

    body.ssf-modern.is-inner .single-service-hero-grid,
    body.ssf-modern.is-inner .single-service-overview-grid,
    body.ssf-modern.is-inner .single-service-feature-grid {
        grid-template-columns: 1fr;
        gap: 36px
    }

    body.ssf-modern.is-inner .single-service-overview-grid {
        padding: 38px
    }

    body.ssf-modern.is-inner .single-service-overview-copy {
        padding-right: 0
    }

    body.ssf-modern.is-inner .single-service-hero-visual {
        height: 390px
    }

    body.ssf-modern.is-inner .single-service-overview,
    body.ssf-modern.is-inner .single-service-feature,
    body.ssf-modern.is-inner .single-service-related {
        padding: 58px 0
    }

    body.ssf-modern.is-inner .single-service-feature-visual {
        height: 430px
    }

    body.ssf-modern.is-inner .single-service-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .single-service-hero {
        padding: 115px 0 46px
    }

    body.ssf-modern.is-inner .single-service-hero h1 {
        font-size: 42px
    }

    body.ssf-modern.is-inner .single-service-hero-visual {
        height: 300px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .single-service-overview,
    body.ssf-modern.is-inner .single-service-feature,
    body.ssf-modern.is-inner .single-service-related {
        padding: 46px 0
    }

    body.ssf-modern.is-inner .single-service-overview-copy h2,
    body.ssf-modern.is-inner .single-service-feature-copy h2 {
        font-size: 36px
    }

    body.ssf-modern.is-inner .single-service-overview-grid {
        gap: 28px;
        padding: 24px 20px;
        border-radius: 19px
    }

    body.ssf-modern.is-inner .single-service-proof {
        grid-template-columns: 1fr
    }

    body.ssf-modern.is-inner .single-service-feature-visual {
        height: 330px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .single-service-feature-copy ul {
        grid-template-columns: 1fr
    }

    body.ssf-modern.is-inner .single-service-related-head {
        align-items: flex-start;
        flex-direction: column
    }

    body.ssf-modern.is-inner .single-service-related-grid {
        grid-template-columns: 1fr
    }
}

/* Service category detail pages. */
body.ssf-modern.is-inner .service-detail-hero {
    position: relative;
    padding: 150px 0 76px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(circle at 82% 20%, rgba(228, 9, 20, .23), transparent 29%), linear-gradient(120deg, #050912, #0b101a 62%, #21070b)
}

body.ssf-modern.is-inner .service-detail-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    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: 44px 44px;
    mask-image: linear-gradient(90deg, #000, transparent 88%)
}

body.ssf-modern.is-inner .service-detail-hero>.container {
    position: relative;
    z-index: 1
}

body.ssf-modern.is-inner .service-detail-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: 68px;
    align-items: center
}

body.ssf-modern.is-inner .service-detail-hero .blog-breadcrumb {
    justify-content: flex-start;
    margin-bottom: 30px
}

body.ssf-modern.is-inner .service-detail-hero-copy>.eyebrow {
    display: inline-flex;
    color: #ff6971
}

body.ssf-modern.is-inner .service-detail-hero h1 {
    max-width: 740px;
    margin: 17px 0 22px;
    font: 600 clamp(48px, 5vw, 74px)/1.02 var(--display-font);
    letter-spacing: -.055em
}

body.ssf-modern.is-inner .service-detail-hero-copy>p:not(.eyebrow) {
    max-width: 650px;
    color: #b7bfcc;
    font-size: 15px;
    line-height: 1.8
}

body.ssf-modern.is-inner .service-detail-hero-visual {
    position: relative;
    height: 440px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 25px;
    background: #111722;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28)
}

body.ssf-modern.is-inner .service-detail-hero-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(5, 9, 16, .78))
}

body.ssf-modern.is-inner .service-detail-hero-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

body.ssf-modern.is-inner .service-detail-hero-visual>span {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 15px;
    background: #e40914;
    color: #fff;
    font-size: 19px;
    box-shadow: 0 14px 30px rgba(228, 9, 20, .32)
}

body.ssf-modern.is-inner .service-detail-hero-visual>div {
    position: absolute;
    right: 25px;
    bottom: 24px;
    left: 25px;
    z-index: 2;
    display: grid;
    gap: 4px
}

body.ssf-modern.is-inner .service-detail-hero-visual small {
    color: #ff6971;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase
}

body.ssf-modern.is-inner .service-detail-hero-visual strong {
    color: #fff;
    font: 600 22px/1.2 var(--display-font)
}

body.ssf-modern.is-inner .service-detail-list {
    padding: 85px 0;
    background: #f8f7f6
}

body.ssf-modern.is-inner .service-detail-list .services-section-heading {
    max-width: 880px;
    margin: 0 auto 44px;
    text-align: center
}

body.ssf-modern.is-inner .service-detail-list .services-section-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px
}

body.ssf-modern.is-inner .service-detail-list .services-section-heading .eyebrow::before {
    content: '';
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1)
}

body.ssf-modern.is-inner .service-detail-list .services-section-heading {
    width: 100%;
    min-width: 0;
    padding-inline: 12px
}

body.ssf-modern.is-inner .service-detail-list .section-title {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 auto 17px;
    color: #10182c;
    font-size: clamp(18px, 4vw, 60px);
    line-height: 1.05;
    letter-spacing: -.05em;
    white-space: nowrap !important
}

body.ssf-modern.is-inner .service-detail-list .section-title span {
    display: inline;
    max-width: 100%;
    white-space: nowrap !important
}

body.ssf-modern.is-inner .service-detail-list .section-title span {
    color: #e40914
}

body.ssf-modern.is-inner .service-detail-list .muted {
    max-width: 690px;
    margin: 0 auto;
    color: #697181;
    line-height: 1.8
}

body.ssf-modern.is-inner .service-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

body.ssf-modern.is-inner .service-detail-card {
    overflow: hidden;
    border: 1px solid #e6e2df;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 42px rgba(16, 24, 44, .06);
    scroll-margin-top: 110px;
    transition: transform .35s ease, box-shadow .35s ease, border-color .3s ease
}

body.ssf-modern.is-inner .service-detail-card:hover {
    transform: translateY(-7px);
    border-color: rgba(228, 9, 20, .25);
    box-shadow: 0 26px 60px rgba(16, 24, 44, .12)
}

body.ssf-modern.is-inner .service-detail-card-image {
    position: relative;
    height: 215px;
    overflow: hidden;
    background: #111722
}

body.ssf-modern.is-inner .service-detail-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease
}

body.ssf-modern.is-inner .service-detail-card:hover .service-detail-card-image img {
    transform: scale(1.05)
}

body.ssf-modern.is-inner .service-detail-card-image>span {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: #e40914;
    color: #fff
}

body.ssf-modern.is-inner .service-detail-card-image>small {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 7px 9px;
    border-radius: 8px;
    background: rgba(10, 15, 24, .75);
    color: #fff;
    font-size: 9px;
    backdrop-filter: blur(10px)
}

body.ssf-modern.is-inner .service-detail-card-body {
    display: flex;
    min-height: 250px;
    padding: 25px;
    flex-direction: column;
    align-items: center;
    text-align: center
}

body.ssf-modern.is-inner .service-detail-card-body .eyebrow {
    margin: 0 0 12px;
    font-size: 8px
}

body.ssf-modern.is-inner .service-detail-card-body h3 {
    margin: 0 0 11px;
    color: #141a25;
    font: 600 23px/1.2 var(--display-font);
    letter-spacing: -.03em
}

body.ssf-modern.is-inner .service-detail-card-body>p:not(.eyebrow) {
    color: #697181;
    font-size: 12px;
    line-height: 1.75
}

body.ssf-modern.is-inner .service-detail-card-body>.btn {
    width: auto;
    min-height: 46px;
    margin-top: auto;
    margin-inline: auto;
    align-self: center;
    padding: 7px 8px 7px 16px;
    gap: 11px;
    border-radius: 7px;
    font-size: 10px
}

body.ssf-modern.is-inner .service-detail-card-body>.btn .button-orb {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .17)
}

body.ssf-modern.is-inner .service-detail-cta {
    padding: 75px 0;
    background: #fff
}

body.ssf-modern.is-inner .service-detail-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 42px 46px;
    overflow: hidden;
    border: 1px solid #e6e2df;
    border-radius: 24px;
    background: radial-gradient(circle at 88% 20%, rgba(228, 9, 20, .11), transparent 28%), linear-gradient(135deg, #fff, #faf8f7);
    box-shadow: 0 22px 65px rgba(16, 24, 44, .08)
}

body.ssf-modern.is-inner .service-detail-cta h2 {
    max-width: 760px;
    margin: 10px 0;
    color: #121822;
    font: 600 clamp(32px, 3.3vw, 48px)/1.08 var(--display-font);
    letter-spacing: -.045em
}

body.ssf-modern.is-inner .service-detail-cta p:not(.eyebrow) {
    margin: 0;
    color: #697181
}

body.ssf-modern.is-inner .service-detail-cta .btn {
    flex: 0 0 auto
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .service-detail-hero {
        padding: 130px 0 60px
    }

    body.ssf-modern.is-inner .service-detail-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px
    }

    body.ssf-modern.is-inner .service-detail-hero-visual {
        height: 380px
    }

    body.ssf-modern.is-inner .service-detail-list {
        padding: 58px 0
    }

    body.ssf-modern.is-inner .service-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    body.ssf-modern.is-inner .service-detail-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 34px
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .service-detail-hero {
        padding: 115px 0 46px
    }

    body.ssf-modern.is-inner .service-detail-hero h1 {
        font-size: 42px
    }

    body.ssf-modern.is-inner .service-detail-hero-visual {
        height: 300px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .service-detail-list {
        padding: 46px 0
    }

    body.ssf-modern.is-inner .service-detail-list .section-title {
        font-size: 35px
    }

    body.ssf-modern.is-inner .service-detail-grid {
        grid-template-columns: 1fr
    }

    body.ssf-modern.is-inner .service-detail-card-image {
        height: 200px
    }

    body.ssf-modern.is-inner .service-detail-cta {
        padding: 48px 0
    }

    body.ssf-modern.is-inner .service-detail-cta-inner {
        padding: 26px 22px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .service-detail-cta .btn {
        width: 100%
    }
}

/* Match the homepage Our Services heading and keep it inside the container. */
body.ssf-modern.is-inner .services-page-overview .services-section-heading {
    width: 100%;
    max-width: 900px;
    min-width: 0;
    margin: 0 auto 46px;
    padding-inline: 0;
    text-align: center;
}

body.ssf-modern.is-inner .services-page-overview .services-section-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px;
    box-shadow: none;
}

body.ssf-modern.is-inner .services-page-overview .services-section-heading .eyebrow::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

body.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title {
    display: block;
    width: 100%;
    max-width: 900px;
    min-width: 0;
    margin: 0 auto 18px;
    color: #10182c;
    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.05;
    letter-spacing: -.05em;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
}

body.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title span {
    color: #e40914;
}

body.ssf-modern.is-inner .services-page-overview .services-section-heading>.muted {
    max-width: 720px;
    margin-inline: auto;
    color: #697181;
    font-size: 15px;
    line-height: 1.8;
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .services-page-overview .services-section-heading {
        max-width: 100%;
        padding-inline: 12px
    }

    body.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title {
        max-width: 100%;
        font-size: clamp(38px, 6vw, 54px)
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .services-page-overview .services-section-heading {
        padding-inline: 0
    }

    body.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title {
        font-size: 36px;
        letter-spacing: -1.5px
    }
}

/* Compact CTA with imagery and shapes blended into the card background. */
body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 40px;
    row-gap: 14px;
    isolation: isolate;
    min-height: 0;
    overflow: hidden;
}

/* body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(250,248,247,.97) 58%,rgba(255,241,242,.75) 100%);
} */

body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background::after {
    content: '';
    position: absolute;
    z-index: -2;
    top: 0;
    right: 0;
    bottom: 0;
    width: 43%;
    background: url('../images/stock/professional-services.webp') center/cover no-repeat;
    opacity: .28;
    mask-image: linear-gradient(90deg, transparent 0%, #000 48%);
}

body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-icon,
body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-copy,
body.ssf-modern.is-inner .services-page-cta-background>.btn {
    position: relative;
    z-index: 2;
}

body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-icon {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
}

body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-copy {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 100%;
    text-align: left;
}

body.ssf-modern.is-inner .services-page-cta-background .services-page-cta-copy>.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    box-shadow: none;
}

body.ssf-modern.is-inner .services-page-cta-background .services-page-cta-copy>.eyebrow::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

body.ssf-modern.is-inner .services-page-cta-background>.btn {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
}

body.ssf-modern.is-inner .services-page-cta-bg-shape {
    position: absolute;
    z-index: 1;
    display: block;
    pointer-events: none;
}

body.ssf-modern.is-inner .services-page-cta-bg-shape.shape-one {
    top: -78px;
    right: 19%;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(228, 9, 20, .14);
    border-radius: 50%;
    background: rgba(228, 9, 20, .055);
}

body.ssf-modern.is-inner .services-page-cta-bg-shape.shape-two {
    right: 8%;
    bottom: -75px;
    width: 145px;
    height: 145px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 30px;
    background: rgba(255, 255, 255, .18);
    transform: rotate(28deg);
    backdrop-filter: blur(5px);
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background {
        grid-template-columns: 1fr auto
    }

    body.ssf-modern.is-inner .services-page-cta-background>.btn {
        grid-column: 2;
        grid-row: 1 / 3
    }

    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background::after {
        width: 55%;
        opacity: .2
    }

    body.ssf-modern.is-inner .services-page-cta-bg-shape.shape-one {
        right: 5%
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background {
        grid-template-columns: 1fr;
        gap: 16px
    }

    body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-icon,
    body.ssf-modern.is-inner .services-page-cta-background>.services-page-cta-copy,
    body.ssf-modern.is-inner .services-page-cta-background>.btn {
        grid-column: 1;
        grid-row: auto
    }

    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-background::after {
        width: 100%;
        opacity: .12;
        mask-image: linear-gradient(180deg, transparent, #000)
    }

    body.ssf-modern.is-inner .services-page-cta-bg-shape.shape-one {
        top: -95px;
        right: -55px
    }

    body.ssf-modern.is-inner .services-page-cta-bg-shape.shape-two {
        right: -35px;
        bottom: -85px
    }
}

/* Rich visual CTA on the services page. */
body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-modern {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: stretch;
    gap: 46px;
    padding: 22px 22px 22px 48px;
    overflow: hidden;
    border: 1px solid #e6e2df;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff 0%, #faf8f7 62%, #fff1f2 100%);
    box-shadow: 0 25px 75px rgba(16, 24, 44, .09);
}

body.ssf-modern.is-inner .services-page-cta-modern .services-page-cta-copy {
    align-self: center;
    padding-block: 24px;
}

body.ssf-modern.is-inner .services-page-cta-modern .services-page-cta-copy>p:not(.eyebrow) {
    max-width: 650px;
}

body.ssf-modern.is-inner .services-page-cta-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 26px;
}

body.ssf-modern.is-inner .services-page-cta-points span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #e7e2df;
    border-radius: 999px;
    background: rgba(255, 255, 255, .85);
    color: #3e4652;
    font-size: 10px;
    font-weight: 700;
}

body.ssf-modern.is-inner .services-page-cta-points i {
    color: #e40914
}

body.ssf-modern.is-inner .services-page-cta-modern .services-page-cta-copy>.btn {
    display: inline-flex;
    width: auto;
    min-width: 184px;
}

body.ssf-modern.is-inner .services-page-cta-visual {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    border-radius: 21px;
    background: #0a0f18;
    isolation: isolate;
}

body.ssf-modern.is-inner .services-page-cta-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(145deg, rgba(5, 9, 16, .12), rgba(5, 9, 16, .72));
}

body.ssf-modern.is-inner .services-page-cta-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

body.ssf-modern.is-inner .services-page-cta-modern:hover .services-page-cta-visual>img {
    transform: scale(1.045)
}

body.ssf-modern.is-inner .services-page-cta-shape {
    position: absolute;
    z-index: 1;
    display: block;
    border: 1px solid rgba(255, 255, 255, .22);
    pointer-events: none;
}

body.ssf-modern.is-inner .services-page-cta-shape.shape-one {
    top: -64px;
    right: -45px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(228, 9, 20, .2)
}

body.ssf-modern.is-inner .services-page-cta-shape.shape-two {
    right: 80px;
    bottom: -65px;
    width: 145px;
    height: 145px;
    border-radius: 34px;
    transform: rotate(28deg);
    background: rgba(255, 255, 255, .06)
}

body.ssf-modern.is-inner .services-page-cta-float,
body.ssf-modern.is-inner .services-page-cta-badge {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(10, 15, 24, .74);
    color: #fff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
    backdrop-filter: blur(14px);
}

body.ssf-modern.is-inner .services-page-cta-float {
    top: 24px;
    left: 24px;
    gap: 12px;
    padding: 12px 15px;
    border-radius: 14px
}

body.ssf-modern.is-inner .services-page-cta-float>i {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #e40914
}

body.ssf-modern.is-inner .services-page-cta-float span {
    display: grid;
    gap: 2px
}

body.ssf-modern.is-inner .services-page-cta-float small {
    color: #aeb6c4;
    font-size: 8px;
    letter-spacing: .7px;
    text-transform: uppercase
}

body.ssf-modern.is-inner .services-page-cta-float strong {
    font-size: 11px
}

body.ssf-modern.is-inner .services-page-cta-badge {
    right: 22px;
    bottom: 22px;
    gap: 11px;
    padding: 14px 16px;
    border-radius: 14px
}

body.ssf-modern.is-inner .services-page-cta-badge>i {
    color: #ff5962;
    font-size: 20px
}

body.ssf-modern.is-inner .services-page-cta-badge span {
    color: #c7ced8;
    font-size: 9px;
    line-height: 1.45
}

body.ssf-modern.is-inner .services-page-cta-badge strong {
    color: #fff;
    font-size: 11px
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-modern {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 38px
    }

    body.ssf-modern.is-inner .services-page-cta-visual {
        min-height: 360px
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .services-page-cta-inner.services-page-cta-modern {
        gap: 24px;
        padding: 22px;
        border-radius: 20px
    }

    body.ssf-modern.is-inner .services-page-cta-modern .services-page-cta-copy {
        padding-block: 4px
    }

    body.ssf-modern.is-inner .services-page-cta-points {
        display: grid
    }

    body.ssf-modern.is-inner .services-page-cta-modern .services-page-cta-copy>.btn {
        width: 100%
    }

    body.ssf-modern.is-inner .services-page-cta-visual {
        min-height: 310px;
        border-radius: 16px
    }

    body.ssf-modern.is-inner .services-page-cta-float {
        top: 15px;
        left: 15px
    }

    body.ssf-modern.is-inner .services-page-cta-badge {
        right: 15px;
        bottom: 15px
    }
}

/* Shared homepage process section: one source and one visual treatment. */
body.ssf-modern .delivery-section.delivery-shared {
    position: relative;
    width: auto;
    margin: 26px 18px;
    padding: 60px 0;
    overflow: hidden;
    border-radius: 34px;
    color: #fff;
    background-color: #080c14;
    background-image: url('../images/stock/process-development.webp');
    background-position: center 45%;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    box-shadow: 0 28px 75px rgba(7, 11, 19, .2);
}

body.ssf-modern .delivery-section.delivery-shared::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(rgba(255, 255, 255, .05) .8px, transparent .8px), radial-gradient(circle at 86% 12%, rgba(228, 9, 20, .2), transparent 28%), linear-gradient(90deg, rgba(5, 9, 16, .94), rgba(5, 9, 16, .76) 58%, rgba(5, 9, 16, .67));
    background-size: 22px 22px, auto, auto;
    opacity: 1;
}

body.ssf-modern .delivery-section.delivery-shared>.container {
    position: relative;
    z-index: 1
}

body.ssf-modern .delivery-section.delivery-shared .delivery-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 50px;
    margin-bottom: 52px
}

body.ssf-modern .delivery-section.delivery-shared .delivery-heading .eyebrow {
    display: inline-flex;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: #ff747c;
    backdrop-filter: blur(10px)
}

body.ssf-modern .delivery-section.delivery-shared .delivery-heading .section-title {
    margin: 0;
    color: #fff;
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -.05em
}

body.ssf-modern .delivery-section.delivery-shared .delivery-heading .section-title span {
    color: #ff5860
}

body.ssf-modern .delivery-section.delivery-shared .delivery-heading .muted {
    max-width: 390px;
    margin: 0;
    color: #aeb6c5;
    font-size: 15px;
    line-height: 1.8
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    border: 0
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid article {
    position: relative;
    min-height: 270px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    backdrop-filter: blur(14px);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), background .3s, border-color .3s, box-shadow .4s
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid article:hover {
    transform: translateY(-9px);
    border-color: rgba(228, 9, 20, .42);
    background: linear-gradient(145deg, rgba(228, 9, 20, .14), rgba(255, 255, 255, .035));
    box-shadow: 0 24px 45px rgba(0, 0, 0, .22)
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid article>span {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: #eee;
    color: #ff6971;
    font-size: 12px;
    font-weight: 700
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid h3 {
    margin: 42px 0 14px;
    color: #fff;
    font-size: 22px
}

body.ssf-modern .delivery-section.delivery-shared .delivery-grid p {
    color: #aeb6c5;
    line-height: 1.75
}

@media(max-width:991px) {
    body.ssf-modern .delivery-section.delivery-shared {
        margin-inline: 10px;
        padding: 50px 0;
        border-radius: 28px;
        background-attachment: scroll;
        background-position: 65% center
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-heading {
        flex-direction: column;
        align-items: center;
        gap: 18px;
        margin-bottom: 38px;
        text-align: center
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-heading .muted {
        max-width: 570px;
        margin-inline: auto
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:575px) {
    body.ssf-modern .delivery-section.delivery-shared {
        margin-inline: 7px;
        padding: 42px 0;
        border-radius: 22px
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-heading {
        margin-bottom: 34px
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-heading .section-title {
        font-size: 40px
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-grid {
        grid-template-columns: 1fr
    }

    body.ssf-modern .delivery-section.delivery-shared .delivery-grid article {
        min-height: 235px
    }
}

/* Final services-page actions and light quote panel. */
body.ssf-modern.is-inner .services-page-main-content>.services-page-card-cta {
    display: inline-flex;
    width: auto;
    min-height: 46px;
    margin-top: auto;
    padding: 7px 8px 7px 16px;
    gap: 12px;
    border-radius: 7px;
    background: #e40914;
    color: #fff;
    font-size: 10px;
    box-shadow: 0 12px 26px rgba(228, 9, 20, .22);
}

body.ssf-modern.is-inner .services-page-main-content>.services-page-card-cta .button-orb,
body.ssf-modern.is-inner .services-page-cta .button-orb {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .17);
    color: #fff;
}

body.ssf-modern.is-inner .services-page-main-content>.services-page-card-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(228, 9, 20, .3);
}

body.ssf-modern.is-inner .services-page-cta {
    position: relative;
    padding: 82px 0;
    overflow: hidden;
    background: #fff;
}

body.ssf-modern.is-inner .services-page-cta::before {
    content: '';
    position: absolute;
    top: -150px;
    right: -100px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 9, 20, .1), transparent 68%);
    pointer-events: none;
}

body.ssf-modern.is-inner .services-page-cta-inner {
    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 42px 46px;
    border: 1px solid #e6e2df;
    border-radius: 24px;
    background: linear-gradient(135deg, #fff 0%, #faf8f7 65%, #fff4f4 100%);
    box-shadow: 0 22px 65px rgba(16, 24, 44, .08);
}

body.ssf-modern.is-inner .services-page-cta-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: #fff;
    color: #e40914;
    font-size: 22px;
    box-shadow: 0 12px 30px rgba(228, 9, 20, .13);
}

body.ssf-modern.is-inner .services-page-cta .eyebrow {
    margin-bottom: 10px;
}

body.ssf-modern.is-inner .services-page-cta h2 {
    max-width: 700px;
    margin: 0 0 10px;
    color: #121822;
    font: 600 clamp(32px, 3.2vw, 48px)/1.08 var(--display-font);
    letter-spacing: -.045em;
}

body.ssf-modern.is-inner .services-page-cta p:not(.eyebrow) {
    margin: 0;
    color: #697181;
    line-height: 1.7;
}

body.ssf-modern.is-inner .services-page-cta .btn {
    flex: none;
    min-width: 178px;
    justify-content: space-between;
    border-radius: 7px;
    box-shadow: 0 14px 32px rgba(228, 9, 20, .24);
}

@media(max-width:991px) {
    body.ssf-modern.is-inner .services-page-cta {
        padding: 58px 0
    }

    body.ssf-modern.is-inner .services-page-cta-inner {
        grid-template-columns: 58px 1fr;
        padding: 34px;
    }

    body.ssf-modern.is-inner .services-page-cta-icon {
        width: 58px;
        height: 58px
    }

    body.ssf-modern.is-inner .services-page-cta .btn {
        grid-column: 2;
        width: max-content
    }
}

@media(max-width:575px) {
    body.ssf-modern.is-inner .services-page-cta {
        padding: 46px 0
    }

    body.ssf-modern.is-inner .services-page-cta-inner {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 26px 22px;
        border-radius: 18px
    }

    body.ssf-modern.is-inner .services-page-cta .btn {
        grid-column: auto;
        width: 100%
    }
}

/* Homepage-led services overview: only the four primary service groups. */
.ssf-modern.is-inner .services-page-overview {
    padding: 90px 0;
    background: #f8f7f6
}

.ssf-modern.is-inner .services-page-overview .services-section-heading {
    max-width: 880px;
    margin: 0 auto 44px;
    text-align: center
}

.ssf-modern.is-inner .services-page-overview .services-section-heading .eyebrow {
    display: inline-flex;
    margin-inline: auto
}

.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title {
    margin: 16px 0;
    color: #121822;
    font-size: clamp(40px, 4.4vw, 62px);
    line-height: 1.05;
    letter-spacing: -.05em
}

.ssf-modern.is-inner .services-page-overview .services-section-heading .section-title span {
    color: #e40914
}

.ssf-modern.is-inner .services-page-overview .services-section-heading .muted {
    max-width: 690px;
    margin: 0 auto;
    color: #697181;
    line-height: 1.75
}

.ssf-modern.is-inner .services-page-main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px
}

.ssf-modern.is-inner .services-page-main-card {
    display: grid;
    grid-template-columns: 42% minmax(0, 1fr);
    min-height: 360px;
    overflow: hidden;
    border: 1px solid #e6e2df;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(16, 24, 44, .06);
    scroll-margin-top: 110px;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s ease, border-color .3s ease
}

.ssf-modern.is-inner .services-page-main-card:hover {
    transform: translateY(-7px);
    border-color: rgba(228, 9, 20, .25);
    box-shadow: 0 28px 65px rgba(16, 24, 44, .12)
}

.ssf-modern.is-inner .services-page-main-visual {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #101620
}

.ssf-modern.is-inner .services-page-main-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 9, 16, .05), rgba(5, 9, 16, .52))
}

.ssf-modern.is-inner .services-page-main-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease
}

.ssf-modern.is-inner .services-page-main-card:hover .services-page-main-visual img {
    transform: scale(1.05)
}

.ssf-modern.is-inner .services-page-main-index {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    color: rgba(255, 255, 255, .9);
    font: 600 12px/1 var(--display-font);
    letter-spacing: 1px
}

.ssf-modern.is-inner .services-page-main-icon {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #e40914;
    color: #fff;
    box-shadow: 0 12px 28px rgba(228, 9, 20, .32)
}

.ssf-modern.is-inner .services-page-main-content {
    display: flex;
    padding: 30px;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.ssf-modern.is-inner .services-page-main-content .eyebrow {
    margin: 0 0 16px;
    font-size: 8px
}

.ssf-modern.is-inner .services-page-main-content h3 {
    margin: 0 0 13px;
    color: #121822;
    font: 600 26px/1.15 var(--display-font);
    letter-spacing: -.035em
}

.ssf-modern.is-inner .services-page-main-content>p:not(.eyebrow) {
    margin: 0;
    color: #697181;
    font-size: 12px;
    line-height: 1.7
}

.ssf-modern.is-inner .services-page-main-content ul {
    display: grid;
    width: 100%;
    gap: 8px;
    margin: 19px 0 22px;
    padding: 17px 0 0;
    border-top: 1px solid #ece8e5;
    list-style: none
}

.ssf-modern.is-inner .services-page-main-content li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #424b58;
    font-size: 11px;
    text-align: center
}

.ssf-modern.is-inner .services-page-main-content li i {
    color: #e40914;
    font-size: 9px
}

.ssf-modern.is-inner .services-page-main-content>a {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 9px;
    margin-top: auto;
    color: #c90913;
    font-size: 11px;
    font-weight: 700
}

.ssf-modern.is-inner .services-page-main-content>a i {
    transition: transform .2s ease
}

.ssf-modern.is-inner .services-page-main-content>a:hover i {
    transform: translateX(4px)
}

.ssf-modern.is-inner .services-page-process {
    position: relative;
    margin: 26px 18px;
    padding: 60px 0;
    overflow: hidden;
    border-radius: 34px;
    color: #fff;
    background-color: #080c14;
    background-image: url('../images/stock/process-development.webp');
    background-position: center 45%;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    box-shadow: 0 28px 75px rgba(7, 11, 19, .2)
}

.ssf-modern.is-inner .services-page-process::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, .05) .8px, transparent .8px), radial-gradient(circle at 86% 12%, rgba(228, 9, 20, .2), transparent 28%), linear-gradient(90deg, rgba(5, 9, 16, .94), rgba(5, 9, 16, .76) 58%, rgba(5, 9, 16, .67));
    background-size: 22px 22px, auto, auto;
    opacity: 1
}

.ssf-modern.is-inner .services-page-process>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-inner .services-page-process .delivery-heading {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: end;
    margin-bottom: 52px
}

.ssf-modern.is-inner .services-page-process .delivery-heading .eyebrow {
    display: inline-flex;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: #ff747c;
    backdrop-filter: blur(10px)
}

.ssf-modern.is-inner .services-page-process .delivery-heading .section-title {
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -.05em
}

.ssf-modern.is-inner .services-page-process .delivery-heading .section-title span {
    color: #ff5860
}

.ssf-modern.is-inner .services-page-process .delivery-heading .muted {
    max-width: 390px;
    margin: 0;
    color: #aeb6c5;
    font-size: 15px;
    line-height: 1.8
}

.ssf-modern.is-inner .services-page-process .delivery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px
}

.ssf-modern.is-inner .services-page-process .delivery-grid article {
    position: relative;
    min-height: 270px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    backdrop-filter: blur(14px);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), background .3s, border-color .3s, box-shadow .4s
}

.ssf-modern.is-inner .services-page-process .delivery-grid article:hover {
    transform: translateY(-9px);
    border-color: rgba(228, 9, 20, .42);
    background: linear-gradient(145deg, rgba(228, 9, 20, .14), rgba(255, 255, 255, .035));
    box-shadow: 0 24px 45px rgba(0, 0, 0, .22)
}

.ssf-modern.is-inner .services-page-process .delivery-grid article>span {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: #eee;
    color: #ff6971;
    font-size: 12px;
    font-weight: 700
}

.ssf-modern.is-inner .services-page-process .delivery-grid h3 {
    margin: 42px 0 14px;
    color: #fff;
    font-size: 22px
}

.ssf-modern.is-inner .services-page-process .delivery-grid p {
    color: #aeb6c5;
    line-height: 1.75
}

@media(max-width:991px) {
    .ssf-modern.is-inner .services-page-overview {
        padding: 60px 0
    }

    .ssf-modern.is-inner .services-page-main-grid {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .services-page-main-card {
        grid-template-columns: 38% minmax(0, 1fr);
        min-height: 330px
    }

    .ssf-modern.is-inner .services-page-process {
        margin-inline: 10px;
        padding: 50px 0;
        border-radius: 28px;
        background-attachment: scroll;
        background-position: 65% center
    }

    .ssf-modern.is-inner .services-page-process .delivery-heading {
        flex-direction: column;
        align-items: center;
        gap: 18px;
        text-align: center
    }

    .ssf-modern.is-inner .services-page-process .delivery-heading .muted {
        max-width: 570px;
        margin-inline: auto
    }

    .ssf-modern.is-inner .services-page-process .delivery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:575px) {
    .ssf-modern.is-inner .services-page-overview {
        padding: 48px 0
    }

    .ssf-modern.is-inner .services-page-overview .services-section-heading {
        margin-bottom: 30px
    }

    .ssf-modern.is-inner .services-page-overview .services-section-heading .section-title {
        font-size: 34px
    }

    .ssf-modern.is-inner .services-page-main-card {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .services-page-main-visual {
        min-height: 220px
    }

    .ssf-modern.is-inner .services-page-main-content {
        padding: 24px
    }

    .ssf-modern.is-inner .services-page-process {
        margin-inline: 7px;
        padding: 42px 0;
        border-radius: 22px
    }

    .ssf-modern.is-inner .services-page-process .delivery-grid {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .services-page-process .delivery-grid article {
        min-height: 235px
    }
}

/* Dedicated services listing page. */
.ssf-modern.is-inner .services-page-hero {
    position: relative;
    padding: 160px 0 90px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(circle at 82% 25%, rgba(228, 9, 20, .25), transparent 30%), linear-gradient(120deg, #050912, #0b101a 62%, #21070b);
}

.ssf-modern.is-inner .services-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    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: 44px 44px;
    mask-image: linear-gradient(90deg, #000, transparent 88%);
}

.ssf-modern.is-inner .services-page-hero .container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-inner .services-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 70px;
    align-items: end
}

.ssf-modern.is-inner .services-page-hero-copy {
    max-width: 780px
}

.ssf-modern.is-inner .services-page-hero .blog-breadcrumb {
    justify-content: flex-start;
    margin-bottom: 34px
}

.ssf-modern.is-inner .services-page-hero .eyebrow {
    display: inline-flex;
    color: #ff6971
}

.ssf-modern.is-inner .services-page-hero h1 {
    max-width: 780px;
    margin: 18px 0 24px;
    font: 600 clamp(50px, 5.2vw, 78px)/1.01 var(--display-font);
    letter-spacing: -.055em
}

.ssf-modern.is-inner .services-page-hero h1 span {
    color: #ff4e58
}

.ssf-modern.is-inner .services-page-hero-copy>p:not(.eyebrow) {
    max-width: 670px;
    color: #b7bfcc;
    font-size: 16px;
    line-height: 1.8
}

.ssf-modern.is-inner .services-page-hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 34px
}

.ssf-modern.is-inner .services-page-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: 12px;
    font-weight: 700
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta {
    display: inline-flex;
    min-height: 52px;
    padding: 15px 23px;
    justify-content: center;
    gap: 14px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 7px;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta .button-orb {
    background: #ffffff20;
    color: #fff;
    transition: background .25s ease, transform .25s ease
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta:hover {
    border-color: #e40914;
    background: transparent;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(228, 9, 20, .28)
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta::before {
    background: #e40914;
    transform: translateY(105%);
    transition: transform 420ms cubic-bezier(.22, 1, .36, 1), border-radius 420ms cubic-bezier(.22, 1, .36, 1)
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta:is(:hover, :focus-visible)::before {
    transform: translateY(0);
    border-radius: 0
}

body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-outline-cta:hover .button-orb {
    background: rgba(255, 255, 255, .18);
    transform: translateX(2px)
}

.ssf-modern.is-inner .services-page-summary {
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .055);
    box-shadow: 0 25px 65px rgba(0, 0, 0, .25);
    backdrop-filter: blur(18px)
}

.ssf-modern.is-inner .services-page-summary>span {
    color: #ff6971;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase
}

.ssf-modern.is-inner .services-page-summary>strong {
    display: block;
    margin: 10px 0 4px;
    color: #fff;
    font: 600 62px/1 var(--display-font)
}

.ssf-modern.is-inner .services-page-summary>p {
    color: #aeb6c4;
    font-size: 12px;
    line-height: 1.65
}

.ssf-modern.is-inner .services-page-summary>div {
    display: grid;
    gap: 5px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid rgba(255, 255, 255, .1)
}

.ssf-modern.is-inner .services-page-summary a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    color: #e5e9ef;
    font-size: 11px
}

.ssf-modern.is-inner .services-page-summary a i {
    color: #ff5860
}

.ssf-modern.is-inner .services-page-nav {
    position: sticky;
    top: 74px;
    z-index: 20;
    border-bottom: 1px solid #e9e5e2;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 30px rgba(16, 24, 44, .055);
    backdrop-filter: blur(16px)
}

.ssf-modern.is-inner .services-page-nav .container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-block: 10px
}

.ssf-modern.is-inner .services-page-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 8px 14px;
    border-right: 1px solid #ece8e5;
    color: #48505d;
    font-size: 11px;
    font-weight: 700;
    text-align: center
}

.ssf-modern.is-inner .services-page-nav a:last-child {
    border-right: 0
}

.ssf-modern.is-inner .services-page-nav a span {
    color: #d10a14;
    font-size: 9px
}

.ssf-modern.is-inner .services-page-nav a:hover {
    color: #e40914
}

.ssf-modern.is-inner .services-page-listing {
    background: #f8f7f6
}

.ssf-modern.is-inner .services-page-category {
    padding: 88px 0;
    scroll-margin-top: 145px
}

.ssf-modern.is-inner .services-page-category:nth-child(even) {
    background: #fff
}

.ssf-modern.is-inner .services-page-category-head {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) minmax(280px, .65fr);
    gap: 28px;
    align-items: end;
    margin-bottom: 38px
}

.ssf-modern.is-inner .services-page-category-number {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background: #101620;
    color: #fff;
    font: 600 15px/1 var(--display-font)
}

.ssf-modern.is-inner .services-page-category-head .eyebrow {
    margin-bottom: 12px
}

.ssf-modern.is-inner .services-page-category-head h2 {
    max-width: 650px;
    margin: 0;
    color: #111722;
    font: 600 clamp(34px, 3.3vw, 50px)/1.08 var(--display-font);
    letter-spacing: -.045em
}

.ssf-modern.is-inner .services-page-category-head>p {
    margin: 0;
    color: #697181;
    font-size: 13px;
    line-height: 1.75
}

.ssf-modern.is-inner .services-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.ssf-modern.is-inner .services-page-card {
    overflow: hidden;
    border: 1px solid #e7e3e0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(16, 24, 44, .055);
    scroll-margin-top: 150px;
    transition: transform .35s ease, box-shadow .35s ease, border-color .3s ease
}

.ssf-modern.is-inner .services-page-card:hover {
    transform: translateY(-7px);
    border-color: rgba(228, 9, 20, .24);
    box-shadow: 0 24px 55px rgba(16, 24, 44, .11)
}

.ssf-modern.is-inner .services-page-card-image {
    position: relative;
    height: 205px;
    overflow: hidden;
    background: #111722
}

.ssf-modern.is-inner .services-page-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease
}

.ssf-modern.is-inner .services-page-card:hover .services-page-card-image img {
    transform: scale(1.045)
}

.ssf-modern.is-inner .services-page-card-image>span {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #e40914;
    color: #fff;
    box-shadow: 0 10px 24px rgba(228, 9, 20, .3)
}

.ssf-modern.is-inner .services-page-card-body {
    display: flex;
    min-height: 260px;
    padding: 25px;
    flex-direction: column
}

.ssf-modern.is-inner .services-page-card-body small {
    color: #d10a14;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px
}

.ssf-modern.is-inner .services-page-card-body h3 {
    margin: 13px 0 10px;
    color: #141a25;
    font: 600 22px/1.25 var(--display-font);
    letter-spacing: -.025em
}

.ssf-modern.is-inner .services-page-card-body p {
    color: #697181;
    font-size: 12px;
    line-height: 1.75
}

.ssf-modern.is-inner .services-page-card-body a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: max-content;
    margin-top: auto;
    padding-top: 20px;
    color: #c90913;
    font-size: 11px;
    font-weight: 700
}

.ssf-modern.is-inner .services-page-card-body a i {
    transition: transform .2s ease
}

.ssf-modern.is-inner .services-page-card-body a:hover i {
    transform: translateX(4px)
}

.ssf-modern.is-inner .services-page-cta {
    padding: 85px 0;
    background: #0a0f18
}

.ssf-modern.is-inner .services-page-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 48px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 24px;
    background: radial-gradient(circle at 88% 20%, rgba(228, 9, 20, .2), transparent 28%), rgba(255, 255, 255, .035)
}

.ssf-modern.is-inner .services-page-cta h2 {
    max-width: 720px;
    margin: 12px 0;
    color: #fff;
    font: 600 clamp(34px, 3.5vw, 52px)/1.08 var(--display-font);
    letter-spacing: -.045em
}

.ssf-modern.is-inner .services-page-cta p:not(.eyebrow) {
    margin: 0;
    color: #aeb6c4
}

.ssf-modern.is-inner .services-page-cta .btn {
    flex: 0 0 auto
}

@media(max-width:991px) {
    .ssf-modern.is-inner .services-page-hero {
        padding: 135px 0 64px
    }

    .ssf-modern.is-inner .services-page-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px
    }

    .ssf-modern.is-inner .services-page-summary {
        max-width: 680px
    }

    .ssf-modern.is-inner .services-page-nav {
        top: 70px
    }

    .ssf-modern.is-inner .services-page-nav .container {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern.is-inner .services-page-nav a:nth-child(2) {
        border-right: 0
    }

    .ssf-modern.is-inner .services-page-category {
        padding: 60px 0
    }

    .ssf-modern.is-inner .services-page-category-head {
        grid-template-columns: 62px 1fr;
        gap: 20px
    }

    .ssf-modern.is-inner .services-page-category-head>p {
        grid-column: 2
    }

    .ssf-modern.is-inner .services-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern.is-inner .services-page-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 36px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-inner .services-page-hero {
        padding: 118px 0 48px
    }

    .ssf-modern.is-inner .services-page-hero h1 {
        font-size: 42px
    }

    .ssf-modern.is-inner .services-page-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px
    }

    .ssf-modern.is-inner .services-page-summary {
        padding: 23px
    }

    .ssf-modern.is-inner .services-page-nav {
        position: static
    }

    .ssf-modern.is-inner .services-page-nav .container {
        grid-template-columns: 1fr;
        padding-block: 7px
    }

    .ssf-modern.is-inner .services-page-nav a {
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid #ece8e5
    }

    .ssf-modern.is-inner .services-page-nav a:last-child {
        border-bottom: 0
    }

    .ssf-modern.is-inner .services-page-category {
        padding: 48px 0;
        scroll-margin-top: 20px
    }

    .ssf-modern.is-inner .services-page-category-head {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .services-page-category-head>p {
        grid-column: auto
    }

    .ssf-modern.is-inner .services-page-grid {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .services-page-card-image {
        height: 190px
    }

    .ssf-modern.is-inner .services-page-card-body {
        min-height: 235px;
        padding: 22px
    }

    .ssf-modern.is-inner .services-page-cta {
        padding: 50px 0
    }

    .ssf-modern.is-inner .services-page-cta-inner {
        padding: 26px 22px;
        border-radius: 18px
    }
}

/* Keep tablet-specific component sizing after all component definitions. */
@media (min-width:576px) and (max-width:991px) {
    body.ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
        min-height: 84px;
        padding: 12px 0
    }

    body.ssf-modern.is-inner .site-header:not(.scrolled) .container {
        padding-inline: 28px
    }

    body.ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
        width: 124px;
        height: 48px
    }

    body.ssf-modern.is-home .modern-hero {
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 130px 0 48px;
        border-radius: 0
    }

    body.ssf-modern.is-home .modern-hero>.container {
        padding-inline: 28px
    }

    body.ssf-modern.is-home .hero-stage {
        grid-template-columns: 1fr;
        gap: 34px
    }

    body.ssf-modern.is-home .hero-editorial {
        max-width: 720px;
        margin-inline: auto;
        padding: 0;
        text-align: center
    }

    body.ssf-modern.is-home .modern-hero h1 {
        max-width: 720px;
        margin-inline: auto;
        font-size: clamp(48px, 7.2vw, 64px);
        text-align: center
    }

    body.ssf-modern.is-home .modern-hero .hero-copy {
        max-width: 590px;
        margin-inline: auto;
        text-align: center
    }

    body.ssf-modern.is-home .hero-actions {
        justify-content: center
    }

    body.ssf-modern.is-home .hero-quote-card {
        width: 100%;
        max-width: 680px;
        margin-inline: auto
    }

    body.ssf-modern.is-home .clients-panel {
        padding: 30px 26px
    }

    body.ssf-modern.is-home .about-refined-grid {
        grid-template-columns: 1fr;
        gap: 46px
    }

    body.ssf-modern.is-home .about-refined-content {
        min-height: 0;
        padding: 0
    }

    body.ssf-modern.is-home .about-visual-pair {
        min-height: 520px
    }

    body.ssf-modern.is-home .service-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    body.ssf-modern.is-home .contact-shell {
        grid-template-columns: 1fr;
        gap: 30px
    }

    body.ssf-modern.is-inner .blog-hero,
    body.ssf-modern.is-inner .article-hero {
        padding: 132px 0 68px
    }

    body.ssf-modern.is-inner .blog-catalog-layout,
    body.ssf-modern.is-inner .article-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    body.ssf-modern.is-inner .blog-sidebar,
    body.ssf-modern.is-inner .article-sidebar {
        position: static;
        max-height: none;
        overflow: visible
    }

    body.ssf-modern .footer-main-grid {
        grid-template-columns: 1.2fr 1fr;
        gap: 36px 48px
    }
}

/* Final service-detail hero alignment override. */
@media (max-width:991px) {
    body.ssf-modern.is-inner .single-service-hero-copy {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
        align-items: center;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .blog-breadcrumb {
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
        justify-content: center;
    }

    body.ssf-modern.is-inner .single-service-hero-copy > .eyebrow {
        width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero h1,
    body.ssf-modern.is-inner .single-service-hero-copy > p:not(.eyebrow) {
        max-width: 720px;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .services-page-hero-actions {
        width: 100%;
        justify-content: center;
    }
}

/* Final mobile alignment for every individual service hero. */
@media (max-width:575px) {
    body.ssf-modern.is-inner .single-service-hero-copy {
        display:flex;
        width:100%;
        min-width:0;
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-hero .blog-breadcrumb {
        width:max-content;
        max-width:100%;
        margin:0 auto 26px;
        justify-content:center;
    }

    body.ssf-modern.is-inner .single-service-hero-copy>.eyebrow {
        display:inline-flex;
        align-self:center;
        width:auto;
        margin:0 auto 17px;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-hero h1 {
        width:100%;
        max-width:100%;
        margin:17px auto 23px;
        font-size:clamp(40px,11vw,48px);
        line-height:1.04;
        text-align:center;
        white-space:normal;
        overflow-wrap:break-word;
        text-wrap:balance;
    }

    body.ssf-modern.is-inner .single-service-hero-copy>p:not(.eyebrow) {
        width:100%;
        max-width:100%;
        margin-inline:auto;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-hero .services-page-hero-actions {
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        gap:14px;
        justify-content:stretch;
    }

    body.ssf-modern.is-inner .single-service-hero .services-page-hero-actions .btn {
        width:100%;
        justify-content:center;
    }

    body.ssf-modern.is-inner .single-service-overview {
        padding:42px 0;
    }

    body.ssf-modern.is-inner .single-service-overview-grid {
        grid-template-columns:1fr;
        gap:26px;
        padding:24px 16px;
        border-radius:18px;
    }

    body.ssf-modern.is-inner .single-service-overview-copy {
        padding:0;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-overview-copy>.eyebrow {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-overview-copy h2 {
        width:100%;
        max-width:100%;
        margin:14px auto 18px;
        font-size:32px;
        line-height:1.1;
        text-align:center;
        overflow-wrap:break-word;
        text-wrap:balance;
    }

    body.ssf-modern.is-inner .single-service-overview-copy>p:not(.eyebrow) {
        margin-inline:auto;
        font-size:12px;
        line-height:1.7;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-proof {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:20px;
    }

    body.ssf-modern.is-inner .single-service-proof>span {
        display:flex;
        min-width:0;
        padding:12px 8px;
        flex-direction:column;
        gap:6px;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-proof i {
        width:38px;
        height:38px;
        flex:0 0 38px;
    }

    body.ssf-modern.is-inner .single-service-proof strong {
        font-size:9px;
    }

    body.ssf-modern.is-inner .single-service-benefits {
        gap:10px;
    }

    body.ssf-modern.is-inner .single-service-benefits article {
        grid-template-columns:46px minmax(0,1fr);
        gap:13px;
        padding:16px;
        align-items:center;
        border-radius:14px;
        text-align:left;
    }

    body.ssf-modern.is-inner .single-service-benefits article:hover {
        transform:translateY(-3px);
    }

    body.ssf-modern.is-inner .single-service-benefits article>span {
        width:46px;
        height:46px;
        border-radius:12px;
    }

    body.ssf-modern.is-inner .single-service-benefits h3 {
        margin:0 0 5px;
        font-size:16px;
    }

    body.ssf-modern.is-inner .single-service-benefits p {
        font-size:10px;
        line-height:1.55;
    }

    body.ssf-modern.is-inner .single-service-feature-copy {
        display:flex;
        width:100%;
        min-width:0;
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-feature-copy>.eyebrow {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-feature-copy h2 {
        width:100%;
        max-width:100%;
        margin-inline:auto;
        text-align:center;
        text-wrap:balance;
    }

    body.ssf-modern.is-inner .single-service-feature-copy>p:not(.eyebrow) {
        max-width:100%;
        margin-inline:auto;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-feature-copy ul {
        margin-top: 0px;
        width:100%;
        grid-template-columns:1fr;
    }

    body.ssf-modern.is-inner .single-service-feature-copy li {
        justify-content:center;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-feature-copy>.btn {
        align-self:center;
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-related-head {
        align-items:center;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-related-head>div {
        width:100%;
        text-align:center;
    }

    body.ssf-modern.is-inner .single-service-related-head .eyebrow {
        margin-inline:auto;
    }

    body.ssf-modern.is-inner .single-service-related-head>.single-service-related-cta {
        align-self:center;
        margin-inline:auto;
    }
}

/* Dedicated tablet layout: preserves the desktop rhythm without inheriting oversized desktop spacing. */
@media (min-width:576px) and (max-width:991px) {

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

    .ssf-modern:is(.is-home, .is-inner) main,
    .ssf-modern:is(.is-home, .is-inner) section {
        width: 100%;
        max-width: 100%;
        overflow-x: clip
    }

    .ssf-modern:is(.is-home, .is-inner) .container {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        padding-inline: 28px;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header {
        position: fixed;
        z-index: 1030;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        min-height: 84px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header .navbar,
    .ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
        min-height: 84px;
        padding: 12px 0;
        background: transparent;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header .navbar>.container,
    .ssf-modern.is-inner .site-header:not(.scrolled) .container {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding-inline: 28px;
    }

    .ssf-modern:is(.is-home, .is-inner) .header-logo,
    .ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
        width: 124px;
        height: 48px
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled {
        top: 10px;
        width: calc(100% - 32px);
        max-width: 960px;
        min-height: 66px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 12px;
        background: rgba(17, 20, 27, .96);
        box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar {
        min-height: 64px;
        padding: 5px 0
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute;
        z-index: 5;
        top: 22px;
        right: 28px;
        width: 44px;
        height: 40px;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: 6px;
        padding: 0;
        border: 0;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar-toggler {
        top: 12px;
        right: 20px
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler span {
        display: block !important;
        width: 27px;
        height: 2px;
        margin: 0;
        background: #fff !important;
        transition: transform .25s ease, opacity .2s ease, width .25s ease;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(8px) rotate(45deg)
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(2) {
        width: 0;
        opacity: 0
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg)
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse {
        position: absolute;
        top: 84px;
        left: 24px;
        right: 24px;
        max-height: calc(100svh - 108px);
        overflow-y: auto;
        margin: 0;
        padding: 14px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 14px;
        background: rgba(14, 18, 25, .98);
        box-shadow: 0 24px 60px rgba(0, 0, 0, .4);
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar-collapse {
        top: 66px;
        left: 0;
        right: 0
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .navbar-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        margin: 0 0 12px !important;
        padding: 0;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link {
        display: flex;
        align-items: center;
        min-height: 46px;
        padding: 10px 14px !important;
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 8px;
        background: rgba(255, 255, 255, .035);
        color: #eef1f5;
        font-size: 13px;
        font-weight: 600;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link:after {
        display: none
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link.active {
        border-color: rgba(228, 9, 20, .5);
        background: linear-gradient(135deg, rgba(228, 9, 20, .2), rgba(228, 9, 20, .07));
        color: #ff626b;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-quote {
        width: 100%;
        min-height: 50px;
        justify-content: center;
        margin: 0;
    }

    .ssf-modern.is-home .modern-hero {
        min-height: 0;
        padding: 130px 0 48px
    }

    .ssf-modern.is-home .hero-stage {
        grid-template-columns: 1fr;
        gap: 34px
    }

    .ssf-modern.is-home .hero-editorial {
        max-width: 720px;
        margin-inline: auto;
        padding: 0;
        text-align: center
    }

    .ssf-modern.is-home .modern-hero h1 {
        max-width: 720px;
        margin-inline: auto;
        font-size: clamp(48px, 7.2vw, 64px);
        text-align: center
    }

    .ssf-modern.is-home .modern-hero .hero-copy {
        max-width: 590px;
        margin-inline: auto;
        text-align: center
    }

    .ssf-modern.is-home .hero-actions {
        justify-content: center
    }

    .ssf-modern.is-home .hero-quote-card {
        width: 100%;
        max-width: 680px;
        margin-inline: auto
    }

    .ssf-modern.is-home .clients-panel {
        padding: 30px 26px
    }

    .ssf-modern.is-home .about-refined-grid {
        grid-template-columns: 1fr;
        gap: 46px
    }

    .ssf-modern.is-home .about-refined-content {
        min-height: 0;
        padding: 0
    }

    .ssf-modern.is-home .about-visual-pair {
        min-height: 520px
    }

    .ssf-modern.is-home .service-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern.is-home .section-heading-row,
    .ssf-modern.is-home .delivery-heading {
        gap: 24px
    }

    .ssf-modern.is-home .contact-shell {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .ssf-modern.is-inner .blog-hero,
    .ssf-modern.is-inner .article-hero {
        padding: 132px 0 68px
    }

    .ssf-modern.is-inner .blog-hero-copy,
    .ssf-modern.is-inner .article-hero-copy,
    .ssf-modern.is-inner .blog-catalog-layout,
    .ssf-modern.is-inner .article-layout,
    .ssf-modern.is-inner .article-content {
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .ssf-modern.is-inner .blog-hero h1,
    .ssf-modern.is-inner .article-hero h1 {
        max-width: 100%;
        overflow-wrap: break-word
    }

    .ssf-modern.is-inner .blog-catalog-layout,
    .ssf-modern.is-inner .article-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .ssf-modern.is-inner .blog-sidebar,
    .ssf-modern.is-inner .article-sidebar {
        position: static;
        max-height: none;
        overflow: visible
    }

    .ssf-modern .footer-main-grid {
        grid-template-columns: 1.2fr 1fr;
        gap: 36px 48px
    }
}

.ssf-modern .container {
    max-width: 1320px;
    padding-inline: 32px
}

.ssf-modern .site-header {
    top: 16px;
    left: 16px;
    right: 16px;
    width: auto;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: background .25s
}

.ssf-modern .site-header .navbar {
    padding: 22px 0;
    background: transparent
}

.ssf-modern .site-header.scrolled,
.ssf-modern.is-inner .site-header {
    background: #14171df5;
    border-radius: 20px;
    box-shadow: 0 6px 25px #0001
}

.ssf-modern .header-logo {
    width: 144px;
    height: 56px;
    background: #fff;
    border-radius: 8px;
    padding: 7px 12px
}

.ssf-modern .header-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.ssf-modern .nav-link {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 12px 11px !important
}

.ssf-modern .nav-link:hover,
.ssf-modern .nav-link.active {
    color: #ff5860
}

.ssf-modern .nav-link:after {
    display: none
}

.ssf-modern .btn-brand {
    border: 1px solid var(--red);
    border-radius: 100px;
    background: var(--red);
    color: #ffffff;
    box-shadow: none;
    padding: 15px 24px;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    gap: 14px;
    align-items: center;
    justify-content: center;
    text-transform: none
}

.ssf-modern .btn-brand:hover {
    background: #c90812;
    border-color: #c90812;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: none
}

.ssf-modern .button-orb {
    display: inline-grid;
    place-items: center;
    background: #14171d;
    color: #fff;
    border-radius: 50%;
    height: 32px;
    width: 32px;
    flex-shrink: 0
}

.ssf-modern .nav-quote {
    padding: 10px 12px 10px 23px;
    white-space: nowrap
}

.ssf-modern .modern-hero {
    margin: 16px;
    min-height: 830px;
    height: calc(100svh - 32px);
    max-height: 1100px;
    border-radius: 28px;
    overflow: hidden;
    background: #14171d;
    padding: 160px 0 30px;
    display: flex;
    align-items: center
}

.ssf-modern .modern-hero .hero-bg {
    background: linear-gradient(90deg, rgba(19, 27, 29, .94), rgba(19, 27, 29, .73) 45%, rgba(19, 27, 29, .3)), url('../images/extracted/about-team-shot.webp') center/cover;
    opacity: 1;
    inset: 0;
    transform: none
}

.ssf-modern .modern-hero:before,
.ssf-modern .modern-hero:after {
    display: none
}

.ssf-modern .hero-editorial {
    max-width: 940px;
    padding: 0 0 64px
}

.ssf-modern .eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #b90710;
    text-transform: uppercase;
    margin-bottom: 26px
}

.ssf-modern .eyebrow:before {
    background: var(--red);
    box-shadow: none;
    width: 6px;
    height: 6px
}

.ssf-modern .modern-hero .eyebrow {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ffffff35;
    padding: 10px 17px;
    border-radius: 40px;
    color: #f4f4f5;
    letter-spacing: 1.4px
}

.ssf-modern .modern-hero h1 {
    font-size: clamp(56px, 5.7vw, 100px);
    line-height: 1.07;
    font-weight: 500;
    letter-spacing: -5px;
    max-width: 1000px;
    margin: 8px 0 28px;
    color: #fff;
    text-transform: none
}

.ssf-modern .modern-hero h1 span {
    color: var(--red);
    background: none;
    -webkit-text-fill-color: var(--red)
}

.ssf-modern .modern-hero .hero-copy {
    max-width: 550px;
    font-size: 16px;
    line-height: 1.9;
    color: #f4f4f5;
    margin-bottom: 30px
}

.ssf-modern .hero-actions {
    gap: 14px;
    display: flex;
    flex-wrap: wrap
}

.ssf-modern .hero-secondary {
    border: 1px solid #ffffff50;
    color: #fff;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 25px;
    padding: 16px 25px;
    font-size: 13px
}

.ssf-modern .hero-secondary:hover {
    background: #ffffff15;
    border-color: #fff
}

.ssf-modern .hero-bottom-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #ffffff30;
    padding-top: 24px;
    color: #fff
}

.ssf-modern .hero-bottom-line strong {
    display: block;
    font-size: 22px;
    font-weight: 500
}

.ssf-modern .hero-bottom-line div>span {
    display: block;
    font-size: 11px;
    color: #bfc1c8;
    margin-top: 5px
}

.ssf-modern .hero-bottom-line a {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #bfc1c8;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 9px;
    text-decoration: none
}

.ssf-modern .hero-bottom-line a span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid #ffffff40;
    border-radius: 50%
}

.ssf-modern .hero-orbits {
    position: absolute;
    right: -170px;
    top: 24%;
    width: 620px;
    height: 620px;
    border: 1px solid #ffffff12;
    border-radius: 50%;
    box-shadow: 0 0 0 55px #ffffff06, 0 0 0 110px #ffffff05;
    pointer-events: none
}

.ssf-modern .section-title {
    font-size: clamp(34px, 3.3vw, 56px);
    line-height: 1.16;
    font-weight: 500;
    letter-spacing: -2px;
    text-transform: none;
    max-width: 900px
}

.ssf-modern .section-title span {
    color: #e40914
}

.ssf-modern .muted {
    font-size: 15px;
    line-height: 1.95
}

.ssf-modern .about-section {
    padding: 115px 0
}

.ssf-modern .about-image {
    border-radius: 24px;
    overflow: hidden;
    animation: none;
    box-shadow: none
}

.ssf-modern .about-image img {
    border-radius: 24px;
    filter: saturate(.7)
}

.ssf-modern .mission-card {
    border-radius: 16px;
    background: #fbe9e9;
    color: #14171d;
    box-shadow: none;
    border: 0
}

.ssf-modern .stats-grid {
    border-top: 1px solid var(--line);
    padding-top: 28px;
    margin-top: 35px;
    gap: 20px
}

.ssf-modern .stat-item {
    background: none;
    border: 0;
    box-shadow: none;
    padding: 0;
    gap: 12px
}

.ssf-modern .stat-icon {
    background: #fbe9e9;
    color: #c40812;
    border-radius: 50%
}

.ssf-modern .about-points strong {
    font-size: 30px;
    font-weight: 500
}

.ssf-modern .industries-section {
    margin: 0 16px;
    border-radius: 26px;
    background: #14171d;
    padding: 80px 0;
    text-align: left
}

.ssf-modern .industries-section:before,
.ssf-modern .industries-section:after {
    display: none
}

.ssf-modern .industries-section .eyebrow {
    color: #ff747b
}

.ssf-modern .industry-grid {
    margin-top: 44px;
    gap: 12px
}

.ssf-modern .industry-grid>div {
    background: #ffffff06;
    border: 1px solid #ffffff20;
    border-radius: 14px;
    padding: 25px 14px;
    color: #f4f4f5;
    font-size: 12px;
    box-shadow: none
}

.ssf-modern .industry-grid i {
    color: #ff747b;
    font-size: 26px
}

.ssf-modern .cta-wrap {
    padding: 70px 0 0
}

.ssf-modern .cta-banner {
    background: #fbe9e9;
    border: 0;
    border-radius: 24px;
    box-shadow: none;
    padding: 44px 48px;
    min-height: 0
}

.ssf-modern .cta-banner:before,
.ssf-modern .cta-banner:after {
    display: none
}

.ssf-modern .cta-content {
    max-width: 100%;
    padding: 0
}

.ssf-modern .cta-content h2 {
    color: #14171d;
    font-size: 34px;
    letter-spacing: -1px;
    font-weight: 500
}

.ssf-modern .cta-content p {
    color: #72747a
}

.ssf-modern .services-section {
    padding: 100px 0;
    background: transparent
}

.ssf-modern .service-card {
    border: 1px solid #e7e3e0;
    border-radius: 20px;
    background: #f6f4f2;
    padding: 34px;
    box-shadow: none;
    min-height: 320px
}

.ssf-modern .service-card:before,
.ssf-modern .service-card:after {
    display: none
}

.ssf-modern .service-card:hover {
    background: #fbe9e9;
    border-color: #e7e3e0;
    box-shadow: none
}

.ssf-modern .service-icon {
    background: #fbe9e9;
    color: #b90710;
    border-radius: 50%;
    box-shadow: none
}

.ssf-modern .service-card h3 {
    font-size: 23px;
    font-weight: 500;
    letter-spacing: -.7px
}

.ssf-modern .service-card p {
    font-size: 13px;
    line-height: 1.9
}

.ssf-modern .service-card a {
    color: #b90710;
    font-size: 12px
}

.ssf-modern .reviews-section {
    background: #fbe9e9
}

.ssf-modern .reviews-panel {
    background: #14171d;
    border-radius: 26px;
    box-shadow: none;
    border: 0;
    padding: 55px
}

.ssf-modern .reviews-panel:before,
.ssf-modern .reviews-panel:after {
    display: none
}

.ssf-modern .reviews-title {
    font-size: 42px
}

.ssf-modern .review-card {
    border-radius: 18px;
    box-shadow: none
}

.ssf-modern .clients-section {
    background: transparent;
    padding: 70px 0
}

.ssf-modern .clients-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0
}

.ssf-modern .client-logo-card {
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: none;
    background: #fff
}

.ssf-modern .insights-section {
    margin: 0 16px;
    border-radius: 26px;
    background: #14171d
}

.ssf-modern .insights-section:before,
.ssf-modern .insights-section:after {
    display: none
}

.ssf-modern .insight-card {
    border: 0;
    border-radius: 20px;
    box-shadow: none;
    overflow: hidden
}

.ssf-modern .insight-card h3 {
    font-weight: 500;
    letter-spacing: -.6px
}

.ssf-modern .portfolio-section {
    background: #f6f4f2
}

.ssf-modern .portfolio-tabs button,
.ssf-modern .device-tabs button {
    border-radius: 50px;
    box-shadow: none;
    font-size: 12px
}

.ssf-modern .portfolio-tabs button.active,
.ssf-modern .device-tabs button.active {
    background: #14171d;
    border-color: #14171d;
    color: #fff
}

.ssf-modern .project-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: none
}

.ssf-modern .project-meta {
    background: #fbe9e9
}

.ssf-modern .project-title {
    font-weight: 500
}

.ssf-modern .contact-section {
    background: #fbe9e9
}

.ssf-modern .contact-shell {
    background: #14171d;
    border: 0;
    border-radius: 26px;
    box-shadow: none;
    padding: 55px;
    gap: 55px
}

.ssf-modern .contact-shell:before,
.ssf-modern .contact-shell:after {
    display: none
}

.ssf-modern .contact-form-card {
    background: #fff;
    border-radius: 20px;
    border: 0;
    box-shadow: none;
    padding: 32px
}

.ssf-modern .contact-form-head h3 {
    font-weight: 500;
    color: #14171d
}

.ssf-modern .contact-form-head p {
    color: #72747a
}

.ssf-modern .contact-form .form-control,
.ssf-modern .contact-form .form-select {
    background: #f6f4f2;
    border: 1px solid #e7e3e0;
    border-radius: 10px;
    color: #14171d;
    padding: 15px;
    font-size: 12px
}

.ssf-modern .contact-form .form-control::placeholder {
    color: #72747a
}

.ssf-modern .contact-form .form-control:focus,
.ssf-modern .contact-form .form-select:focus {
    border-color: #e40914;
    box-shadow: 0 0 0 3px #e4091420
}

.ssf-modern .faq-section {
    background: #f6f4f2
}

.ssf-modern .faq-intro .section-title,
.ssf-modern .faq-copy {
    color: #14171d
}

.ssf-modern .faq-question-card {
    background: #fbe9e9;
    border: 0;
    border-radius: 20px;
    box-shadow: none;
    color: #14171d
}

.ssf-modern .faq-question-card p,
.ssf-modern .faq-question-card h3 {
    color: #14171d
}

.ssf-modern .faq-list .accordion-item {
    border: 0;
    border-bottom: 1px solid #e7e3e0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    margin: 0
}

.ssf-modern .faq-list .accordion-button {
    background: transparent;
    color: #14171d;
    box-shadow: none;
    padding: 25px 0;
    font-size: 16px;
    font-weight: 500
}

.ssf-modern .faq-list .accordion-body {
    background: transparent;
    color: #72747a;
    padding: 0 0 25px;
    line-height: 1.9
}

.ssf-modern .site-footer {
    background: #14171d;
    margin: 0 16px 16px;
    border-radius: 26px;
    padding: 70px 0 20px;
    color: #bfc1c8
}

.ssf-modern .site-footer:before,
.ssf-modern .site-footer:after {
    display: none
}

.ssf-modern .footer-invitation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
    padding-bottom: 60px;
    border-bottom: 1px solid #ffffff22;
    margin-bottom: 55px
}

.ssf-modern .footer-invitation .eyebrow {
    color: #bfc1c8
}

.ssf-modern .footer-invitation h2 {
    font-size: clamp(32px, 3.6vw, 60px);
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -2px;
    color: #fff
}

.ssf-modern .footer-invitation h2 span {
    color: #ff5860
}

.ssf-modern .footer-shell {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0
}

.ssf-modern .footer-logo {
    width: 155px;
    background: white;
    border-radius: 8px;
    padding: 10px
}

.ssf-modern .footer-tagline {
    font-size: 12px;
    line-height: 1.9;
    color: #bfc1c8
}

.ssf-modern .site-footer h4 {
    font-weight: 500;
    font-size: 16px;
    color: #fff
}

.ssf-modern .footer-links a,
.ssf-modern .footer-contact-item {
    font-size: 12px;
    color: #bfc1c8
}

.ssf-modern .footer-links a>span {
    display: none
}

.ssf-modern .footer-contact-item>span,
.ssf-modern .socials a {
    background: #ffffff0c;
    color: #ff6971;
    border: 1px solid #ffffff20;
    border-radius: 50%
}

.ssf-modern .footer-bottom {
    border-top: 1px solid #ffffff22;
    margin-top: 45px;
    padding-top: 25px;
    background: none;
    min-height: 0
}

.ssf-modern .footer-bottom-decor,
.ssf-modern .footer-bottom-badge {
    display: none
}

.ssf-modern .footer-bottom-copy p {
    font-size: 11px;
    color: #bfc1c8
}

.ssf-modern .footer-bottom-copy small {
    font-size: 10px;
    color: #bfc1c8
}

.ssf-modern .back-to-top {
    background: #e40914;
    color: #ffffff;
    border-radius: 50%;
    box-shadow: none
}

.ssf-modern .cookie-consent {
    right: auto;
    bottom: 24px;
    left: 50%;
    isolation: isolate;
    width: min(980px, calc(100vw - 48px));
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 20px;
    padding: 22px 24px;
    overflow: hidden;
    border: 1px solid rgba(20, 23, 29, .1);
    border-radius: 20px;
    background: rgba(255, 255, 255, .96);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(20, 23, 29, .16), 0 2px 10px rgba(20, 23, 29, .06);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateX(-50%);
    animation: cookieBarIn .45s cubic-bezier(.16, 1, .3, 1)
}

@keyframes cookieBarIn {
    from {
        opacity: 0;
        transform: translate(-50%, 24px)
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0)
    }
}

.ssf-modern .cookie-consent::before {
    position: absolute;
    z-index: -1;
    top: -85px;
    right: -65px;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(228, 9, 20, .07);
    content: "";
    pointer-events: none
}

.ssf-modern .cookie-consent::after {
    position: absolute;
    right: 24px;
    bottom: 0;
    left: 24px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(90deg, var(--red), #ff6a72);
    content: ""
}

.ssf-modern .cookie-consent-icon {
    width: 58px;
    height: 58px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 16px;
    background: #fff2f2;
    color: var(--red);
    font-size: 24px;
    transform: rotate(-4deg)
}

.ssf-modern .cookie-consent-label {
    display: block;
    margin-bottom: 5px;
    color: var(--red);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.3;
    text-transform: uppercase
}

.ssf-modern .cookie-consent-copy strong {
    max-width: 520px;
    margin-bottom: 7px;
    color: var(--ink);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.25
}

.ssf-modern .cookie-consent-copy p {
    max-width: 560px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65
}

.ssf-modern .cookie-consent-actions {
    grid-column: 3;
    align-self: center;
    justify-content: flex-end;
    gap: 10px
}

.ssf-modern .cookie-consent-actions button {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 10px;
    font-size: 12px;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease
}

.ssf-modern .cookie-consent.is-hiding {
    transform: translate(-50%, 18px)
}

.ssf-modern .cookie-consent-actions button:hover {
    transform: translateY(-2px)
}

.ssf-modern .cookie-reject {
    border-color: #ddd9d6;
    background: #f6f4f2;
    color: var(--ink)
}

.ssf-modern .cookie-reject:hover {
    border-color: #c9c3bf;
    background: #eeebe8
}

.ssf-modern .cookie-accept {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-color: var(--red);
    background: var(--red);
    box-shadow: 0 10px 24px rgba(228, 9, 20, .2)
}

.ssf-modern .cookie-accept:hover {
    border-color: var(--red-dark);
    background: var(--red-dark);
    box-shadow: 0 13px 28px rgba(228, 9, 20, .26)
}

.ssf-modern .cookie-accept i {
    font-size: 10px;
    transition: transform .2s ease
}

.ssf-modern .cookie-accept:hover i {
    transform: translateX(3px)
}

@media (min-width:576px) and (max-width:900px) {
    .ssf-modern .cookie-consent {
        grid-template-columns: 58px minmax(0, 1fr)
    }

    .ssf-modern .cookie-consent-actions {
        grid-column: 2;
        justify-content: flex-start
    }
}

.ssf-modern :focus-visible {
    outline: 3px solid #e40914;
    outline-offset: 4px
}

@media(min-width:992px) {
    .ssf-modern.is-home .navbar-nav {
        margin-left: auto !important;
        margin-right: 22px !important
    }

    .ssf-modern .modern-hero>.container {
        padding-inline: 75px
    }
}

/* Related articles live in their own full-width section below the article. */
.ssf-modern.is-inner .related-section {
    padding: 60px 0;
    border-top: 1px solid #e6e2df;
    background: #fff;
}

.ssf-modern.is-inner .related-section .related-heading,
.ssf-modern.is-inner .related-section .related-slider,
.ssf-modern.is-inner .related-section .related-pagination {
    width: 100%;
    margin-right: 0;
}

.ssf-modern.is-inner .related-section .related-heading {
    margin-bottom: 24px
}

.ssf-modern.is-inner .related-section .related-heading h2 {
    font-size: clamp(30px, 3vw, 44px)
}

.ssf-modern.is-inner .related-section .related-slider {
    overflow: hidden
}

@media(max-width:767px) {
    .ssf-modern.is-inner .related-section {
        padding: 44px 0
    }
}

@media(max-width:1199px) {
    .ssf-modern .nav-link {
        font-size: 11px;
        padding-inline: 8px !important
    }

    .ssf-modern .modern-hero h1 {
        font-size: 76px
    }

    .ssf-modern .contact-shell {
        padding: 35px;
        gap: 25px
    }
}

@media(max-width:991px) {
    .ssf-modern .site-header .navbar {
        padding: 12px 0
    }

    .ssf-modern .navbar-collapse {
        background: #14171d;
        padding: 22px;
        border-radius: 16px;
        margin-top: 12px
    }

    .ssf-modern .nav-link {
        font-size: 14px
    }

    .ssf-modern .navbar-toggler span {
        background: #fff
    }

    .ssf-modern .modern-hero {
        min-height: 800px;
        height: auto;
        padding-top: 150px
    }

    .ssf-modern .modern-hero h1 {
        font-size: 68px;
        letter-spacing: -3px
    }

    .ssf-modern .hero-editorial {
        padding-bottom: 55px
    }

    .ssf-modern .section-pad {
        padding: 75px 0
    }

    .ssf-modern .reviews-panel {
        padding: 30px
    }

    .ssf-modern .footer-invitation {
        align-items: flex-start;
        flex-direction: column
    }

    .ssf-modern .contact-shell {
        padding: 30px
    }

    .ssf-modern .hero-orbits {
        opacity: .4
    }
}

@media(max-width:575px) {
    .ssf-modern .container {
        padding-inline: 22px
    }

    .ssf-modern .modern-hero {
        margin: 8px;
        border-radius: 20px;
        padding-top: 132px;
        min-height: 760px
    }

    .ssf-modern .site-header {
        top: 8px;
        left: 8px;
        right: 8px
    }

    .ssf-modern .header-logo {
        width: 116px;
        height: 46px
    }

    .ssf-modern .modern-hero h1 {
        font-size: 47px;
        letter-spacing: -2.6px;
        line-height: 1.12
    }

    .ssf-modern .modern-hero .hero-copy {
        font-size: 14px;
        line-height: 1.8
    }

    .ssf-modern .hero-actions {
        gap: 12px
    }

    .ssf-modern .hero-actions .btn {
        font-size: 11px;
        padding: 12px 17px
    }

    .ssf-modern .hero-bottom-line strong {
        font-size: 18px
    }

    .ssf-modern .hero-bottom-line a {
        font-size: 8px;
        letter-spacing: 1px;
        gap: 8px
    }

    .ssf-modern .hero-bottom-line a span {
        width: 30px;
        height: 30px
    }

    .ssf-modern .section-title {
        font-size: 35px;
        letter-spacing: -1.4px
    }

    .ssf-modern .stats-grid {
        gap: 14px
    }

    .ssf-modern .stat-icon {
        display: none
    }

    .ssf-modern .about-points strong {
        font-size: 26px
    }

    .ssf-modern .industries-section,
    .ssf-modern .insights-section,
    .ssf-modern .site-footer {
        margin-inline: 8px;
        border-radius: 20px
    }

    .ssf-modern .industry-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ssf-modern .cta-banner {
        padding: 28px
    }

    .ssf-modern .cta-content h2 {
        font-size: 28px
    }

    .ssf-modern .reviews-panel {
        padding: 25px 20px
    }

    .ssf-modern .contact-shell {
        padding: 25px 18px
    }

    .ssf-modern .contact-form-card {
        padding: 23px 18px
    }

    .ssf-modern .footer-invitation {
        padding-bottom: 35px
    }

    .ssf-modern .footer-invitation h2 {
        letter-spacing: -1.2px
    }

    .ssf-modern .services-section {
        padding: 70px 0
    }
}

/* Keep the listing sidebar useful for both short and long article lists. */
@media(min-width:992px) {
    .ssf-modern.is-inner .blog-catalog .blog-sidebar {
        position: sticky;
        top: 105px;
        align-self: start;
        max-height: calc(100vh - 125px);
        padding-right: 7px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(228, 9, 20, .38) transparent;
    }

    .ssf-modern.is-inner .blog-catalog .blog-sidebar::-webkit-scrollbar {
        width: 5px
    }

    .ssf-modern.is-inner .blog-catalog .blog-sidebar::-webkit-scrollbar-track {
        background: transparent
    }

    .ssf-modern.is-inner .blog-catalog .blog-sidebar::-webkit-scrollbar-thumb {
        border-radius: 7px;
        background: rgba(228, 9, 20, .38);
    }
}


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

    .ssf-modern *,
    .ssf-modern *:before,
    .ssf-modern *:after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important
    }

    .ssf-modern .reveal,
    .ssf-modern .hero-anim {
        opacity: 1 !important;
        transform: none !important
    }
}

.ssf-modern .header-logo,
.ssf-modern .footer-logo {
    background: transparent;
    padding: 0
}

.ssf-modern .footer-logo img {
    object-fit: contain
}

.ssf-modern .faq-shell {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    gap: 70px
}

.ssf-modern .faq-shell:before,
.ssf-modern .contact-section:before,
.ssf-modern .reviews-section:after {
    display: none
}

.ssf-modern .contact-form-head>span {
    background: #fbe9e9;
    color: #c40812
}

.ssf-modern .contact-form-card:after {
    display: none
}

@media(max-width:991px) {
    .ssf-modern .faq-shell {
        gap: 35px
    }
}

/* Distinct technology-led layout and display typography. */
.ssf-modern {
    --display-font: 'Space Grotesk', sans-serif;
    --section-space: 96px
}

.ssf-modern h1,
.ssf-modern h2,
.ssf-modern h3,
.ssf-modern .about-points strong {
    font-family: var(--display-font);
    font-weight: 600
}

.ssf-modern .site-header {
    top: 0;
    left: 0;
    right: 0;
    border-bottom: 1px solid #ffffff15
}

.ssf-modern .site-header.scrolled,
.ssf-modern.is-inner .site-header {
    border-radius: 0;
    background: #11141bf5
}

.ssf-modern .site-header .navbar {
    padding: 10px 0
}

.ssf-modern .header-logo {
    width: auto;
    height: 70px
}

.ssf-modern .btn-brand,
.ssf-modern .hero-secondary {
    border-radius: 7px;
    font-size: 14px;
    font-weight: 600;
    min-height: 52px;
    padding: 15px 23px
}

.ssf-modern .button-orb {
    border-radius: 4px;
    background: #ffffff20;
    width: 29px;
    height: 29px
}

.ssf-modern .nav-quote {
    padding: 10px 19px;
    min-height: 46px
}

.ssf-modern .modern-hero {
    margin: 0;
    border-radius: 0;
    min-height: 800px;
    height: 100svh;
    max-height: 1100px;
    padding: 150px 0 35px;
    background: #090d14
}

.ssf-modern .modern-hero>.container {
    padding-inline: 32px
}

.ssf-modern .modern-hero .hero-bg {
    background: #090d14;
    opacity: 1
}

.ssf-modern .modern-hero .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .75;
    filter: saturate(.8)
}

.ssf-modern .modern-hero .hero-bg:after {
    background: linear-gradient(90deg, rgba(6, 9, 15, .94), rgba(6, 9, 15, .64) 53%, rgba(6, 9, 15, .3)), linear-gradient(0deg, #090d14, transparent 30%)
}

.ssf-modern .hero-tech-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px);
    background-size: 96px 96px;
    pointer-events: none;
    mask-image: linear-gradient(90deg, transparent, black)
}

.ssf-modern .hero-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 65px;
    align-items: center
}

.ssf-modern .hero-editorial {
    padding: 10px 0 60px;
    max-width: 850px
}

.ssf-modern .modern-hero .eyebrow {
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #ff7880;
    font-size: 11px;
    letter-spacing: 2.6px;
    gap: 10px;
    margin-bottom: 22px
}

.ssf-modern .modern-hero h1 {
    font-family: var(--display-font);
    font-size: clamp(56px, 5.3vw, 86px);
    font-weight: 600;
    letter-spacing: -3.5px;
    line-height: 1.04;
    margin: 0 0 28px;
    max-width: 820px
}

.ssf-modern .modern-hero h1 span {
    color: #fff;
    -webkit-text-fill-color: #fff
}

.ssf-modern .modern-hero h1:after {
    content: '';
    display: inline-block;
    width: 17px;
    height: 17px;
    background: var(--red);
    margin-left: 9px
}

.ssf-modern .modern-hero .hero-copy {
    max-width: 570px;
    font-size: 16px;
    line-height: 1.8;
    color: #c0c4ce
}

.ssf-modern .hero-actions {
    margin-top: 30px
}

.ssf-modern .hero-secondary {
    border-color: #ffffff40;
    background: #ffffff04
}

.ssf-modern .hero-expertise {
    border: 1px solid #ffffff20;
    background: #111721a6;
    backdrop-filter: blur(12px);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 35px
}

.ssf-modern .expertise-caption {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;
    padding: 22px 24px;
    display: flex;
    gap: 10px;
    align-items: center;
    color: #c1c5ce;
    border-bottom: 1px solid #ffffff15
}

.ssf-modern .live-dot {
    width: 6px;
    height: 6px;
    background: var(--red);
    box-shadow: 0 0 15px #e4091490;
    border-radius: 50%
}

.ssf-modern .hero-expertise>a {
    display: block;
    padding: 28px 24px;
    border-bottom: 1px solid #ffffff15;
    text-decoration: none;
    color: white;
    position: relative;
    transition: background .2s
}

.ssf-modern .hero-expertise>a:hover {
    background: #ffffff08
}

.ssf-modern .expertise-number {
    display: block;
    font-size: 9px;
    letter-spacing: 2px;
    color: #ff747c;
    margin-bottom: 12px
}

.ssf-modern .hero-expertise strong {
    font-family: var(--display-font);
    font-weight: 500;
    line-height: 1.55;
    font-size: 20px
}

.ssf-modern .hero-expertise>a>i {
    position: absolute;
    right: 23px;
    top: 28px;
    font-size: 11px;
    color: #858d9c
}

.ssf-modern .expertise-note {
    padding: 20px 24px;
    font-size: 10px;
    color: #b5bdc9;
    display: flex;
    align-items: center;
    gap: 10px
}

.ssf-modern .expertise-note i {
    color: #ff5860
}

.ssf-modern .hero-bottom-line {
    padding-top: 23px
}

.ssf-modern .hero-bottom-line strong {
    font-family: var(--display-font);
    font-size: 18px
}

.ssf-modern .section-title {
    font-family: var(--display-font);
    font-size: clamp(34px, 3.4vw, 54px);
    font-weight: 600;
    letter-spacing: -1.8px;
    line-height: 1.15
}

.ssf-modern .eyebrow {
    font-size: 10px;
    letter-spacing: 2px;
    color: #b90710
}

.ssf-modern .about-section {
    padding: 100px 0 70px
}

.ssf-modern .about-image,
.ssf-modern .about-image img {
    border-radius: 10px
}

.ssf-modern .about-image {
    border-bottom: 5px solid var(--red)
}

.ssf-modern .mission-card {
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 30px #0001
}

.ssf-modern .stats-grid {
    padding-top: 24px
}

.ssf-modern .about-points strong {
    font-size: 34px;
    font-weight: 600
}

.ssf-modern .stat-icon {
    border-radius: 7px
}

.ssf-modern .services-section {
    padding: 70px 0 100px
}

.ssf-modern .services-grid {
    margin-top: 38px
}

.ssf-modern .services-grid>.swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    transform: none;
    box-sizing: border-box
}

.ssf-modern .services-grid .swiper-slide {
    height: auto;
    min-width: 0
}

.ssf-modern .service-card {
    border-radius: 10px;
    background: #fff;
    padding: 32px;
    min-height: 320px;
    height: 100%;
    border: 1px solid #e6e3e1;
    position: relative;
    transition: transform .2s, border-color .2s, box-shadow .2s
}

.ssf-modern .service-card:hover {
    transform: translateY(-5px);
    border-color: #e4091450;
    background: #fff;
    box-shadow: 0 15px 35px #11141b0a
}

.ssf-modern .service-icon {
    border-radius: 9px;
    width: 55px;
    height: 55px;
    background: #fcebec;
    color: #e40914
}

.ssf-modern .service-card h3 {
    font-family: var(--display-font);
    font-weight: 600;
    font-size: 23px;
    min-height: 0;
    letter-spacing: -.5px;
    margin-top: 24px
}

.ssf-modern .service-card p {
    font-size: 14px;
    line-height: 1.8
}

.ssf-modern .service-card a {
    color: #b90710;
    font-size: 12px
}

.ssf-modern .industries-section {
    margin: 0;
    border-radius: 0;
    padding: 85px 0;
    background: #14171d
}

.ssf-modern .industries-section .industry-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    border: 1px solid #ffffff20;
    border-radius: 9px;
    overflow: hidden
}

.ssf-modern .industry-grid>div {
    border: 0;
    border-right: 1px solid #ffffff15;
    border-radius: 0;
    background: transparent;
    padding: 28px 12px
}

.ssf-modern .industry-grid>div:last-child {
    border-right: 0
}

.ssf-modern .industry-grid>div:hover {
    background: #ffffff07
}

.ssf-modern .cta-banner {
    border-radius: 10px;
    background: #fff;
    border-left: 5px solid var(--red);
    display: flex;
    padding: 40px
}

.ssf-modern .cta-content h2 {
    font-family: var(--display-font);
    font-weight: 600;
    letter-spacing: -1px
}

.ssf-modern .cta-content p {
    font-size: 14px;
    text-transform: none
}

.ssf-modern .reviews-section {
    background: #f0eeec
}

.ssf-modern .reviews-panel {
    border-radius: 12px;
    background: #14171d
}

.ssf-modern .reviews-panel .eyebrow,
.ssf-modern .contact-info .eyebrow,
.ssf-modern .insights-section .eyebrow {
    color: #ff7880
}

.ssf-modern .insights-section {
    margin: 0;
    border-radius: 0
}

.ssf-modern .insight-card,
.ssf-modern .project-card,
.ssf-modern .client-logo-card {
    border-radius: 9px
}

.ssf-modern .project-meta {
    background: #fff
}

.ssf-modern .project-meta>span {
    background: #fcebec;
    color: #b90710
}

.ssf-modern .portfolio-tabs button,
.ssf-modern .device-tabs button {
    border-radius: 6px
}

.ssf-modern .portfolio-tabs button.active,
.ssf-modern .device-tabs button.active {
    background: #e40914;
    border-color: #e40914;
    color: white
}

.ssf-modern .delivery-section {
    background: #14171d;
    color: #fff
}

.ssf-modern .delivery-heading {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: flex-end;
    margin-bottom: 50px
}

.ssf-modern .delivery-heading .eyebrow {
    color: #ff747c
}

.ssf-modern .delivery-heading .muted {
    max-width: 330px;
    color: #aeb4c0
}

.ssf-modern .delivery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #ffffff25
}

.ssf-modern .delivery-grid article {
    padding: 30px 28px 0 0
}

.ssf-modern .delivery-grid article>span {
    font-family: var(--display-font);
    color: #ff5860;
    font-size: 13px
}

.ssf-modern .delivery-grid h3 {
    font-size: 20px;
    margin: 24px 0 15px;
    letter-spacing: -.5px
}

.ssf-modern .delivery-grid p {
    font-size: 13px;
    line-height: 1.8;
    color: #aeb4c0
}

.ssf-modern .contact-section {
    background: #f6f4f2
}

.ssf-modern .contact-shell {
    border-radius: 12px
}

.ssf-modern .contact-form-card {
    border-radius: 10px
}

.ssf-modern .contact-form .form-control,
.ssf-modern .contact-form .form-select {
    border-radius: 6px
}

.ssf-modern .faq-question-card {
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e8e3e1
}

.ssf-modern .faq-question-icon {
    box-shadow: none;
    border-color: #f3c8cb;
    color: #e40914
}

.ssf-modern .site-footer {
    margin: 0;
    border-radius: 0;
    background: #0f1218;
    padding-top: 80px;
    border-top: 3px solid var(--red)
}

.ssf-modern .footer-invitation h2 {
    font-family: var(--display-font);
    font-size: clamp(34px, 3.8vw, 62px);
    font-weight: 600;
    letter-spacing: -2px
}

.ssf-modern .footer-invitation h2 span {
    color: #fff
}

.ssf-modern .footer-invitation .eyebrow {
    color: #ff6971
}

.ssf-modern .site-footer h4 {
    font-family: var(--display-font);
    font-weight: 600;
    text-transform: none
}

.ssf-modern .footer-bottom {
    text-align: left
}

.ssf-modern .back-to-top {
    border-radius: 7px;
    color: #fff
}

@media(max-width:1199px) {
    .ssf-modern .hero-stage {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 30px
    }

    .ssf-modern .modern-hero h1 {
        font-size: 68px
    }

    .ssf-modern .industries-section .industry-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

@media(max-width:991px) {
    .ssf-modern .hero-stage {
        grid-template-columns: 1fr
    }

    .ssf-modern .hero-expertise {
        display: none
    }

    .ssf-modern .modern-hero {
        min-height: 780px;
        height: auto;
        padding-top: 150px
    }

    .ssf-modern .modern-hero h1 {
        font-size: 72px
    }

    .ssf-modern .modern-hero>.container {
        padding-inline: 32px
    }

    .ssf-modern .hero-editorial {
        padding-bottom: 50px
    }

    .ssf-modern .services-grid>.swiper-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern .delivery-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px
    }

    .ssf-modern .delivery-heading .muted {
        max-width: 600px
    }

    .ssf-modern .delivery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern .site-header {
        top: 0;
        left: 0;
        right: 0;
        background: #10141be6
    }

    .ssf-modern .navbar-collapse {
        border-radius: 8px
    }

    .ssf-modern .site-footer,
    .ssf-modern .insights-section,
    .ssf-modern .industries-section {
        margin: 0;
        border-radius: 0
    }
}

@media(max-width:575px) {
    .ssf-modern .modern-hero {
        margin: 0;
        border-radius: 0;
        min-height: 780px;
        padding: 140px 0 32px
    }

    .ssf-modern .modern-hero>.container {
        padding-inline: 22px
    }

    .ssf-modern .modern-hero h1 {
        font-size: 53px;
        letter-spacing: -2.4px
    }

    .ssf-modern .modern-hero .eyebrow {
        font-size: 9px;
        letter-spacing: 1.6px
    }

    .ssf-modern .modern-hero .hero-copy {
        font-size: 14px
    }

    .ssf-modern .hero-actions {
        gap: 10px
    }

    .ssf-modern .hero-actions .btn {
        font-size: 12px;
        padding: 13px 16px
    }

    .ssf-modern .hero-bottom-line {
        gap: 15px
    }

    .ssf-modern .hero-bottom-line strong {
        font-size: 15px
    }

    .ssf-modern .hero-bottom-line div>span {
        font-size: 9px
    }

    .ssf-modern .hero-bottom-line a {
        font-size: 7px
    }

    .ssf-modern .services-grid>.swiper-wrapper {
        grid-template-columns: 1fr
    }

    .ssf-modern .service-card {
        min-height: 280px
    }

    .ssf-modern .industries-section .industry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern .delivery-grid {
        grid-template-columns: 1fr
    }

    .ssf-modern .delivery-grid article {
        border-bottom: 1px solid #ffffff15;
        padding-bottom: 25px
    }

    .ssf-modern .section-title {
        font-size: 35px;
        letter-spacing: -1.5px
    }

    .ssf-modern .cta-banner {
        padding: 27px
    }

    .ssf-modern .contact-shell {
        border-radius: 10px
    }

    .ssf-modern .footer-invitation h2 {
        letter-spacing: -1.4px
    }
}

/* Shared interaction system: rising fill, moving arrows and quiet surface depth. */
.ssf-modern {
    --motion-ease: cubic-bezier(.22, 1, .36, 1);
    --motion-time: 480ms
}

.ssf-modern .btn-brand,
.ssf-modern .hero-secondary {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    vertical-align: middle;
    transition: color 280ms ease, border-color 280ms ease, box-shadow 350ms ease, transform 350ms var(--motion-ease);
    -webkit-tap-highlight-color: transparent
}

.ssf-modern .btn-brand::before,
.ssf-modern .hero-secondary::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    background: #202630;
    border-radius: 60% 60% 0 0;
    transform: translateY(105%);
    transition: transform var(--motion-time) var(--motion-ease), border-radius var(--motion-time) var(--motion-ease);
    pointer-events: none
}

.ssf-modern .hero-secondary::before {
    background: var(--red)
}

.ssf-modern .btn-brand:is(:hover, :focus-visible) {
    background: var(--red);
    border-color: #202630;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px #090d1420
}

.ssf-modern .hero-secondary:is(:hover, :focus-visible) {
    background: #ffffff04;
    border-color: var(--red);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px #e4091425
}

.ssf-modern .btn-brand:is(:hover, :focus-visible)::before,
.ssf-modern .hero-secondary:is(:hover, :focus-visible)::before {
    transform: translateY(0);
    border-radius: 0
}

.ssf-modern .btn-brand .button-orb {
    transition: background 350ms ease, transform 450ms var(--motion-ease)
}

.ssf-modern .btn-brand i,
.ssf-modern .hero-secondary i {
    transition: transform 450ms var(--motion-ease)
}

.ssf-modern .btn-brand:is(:hover, :focus-visible) .button-orb {
    background: #e40914;
    transform: rotate(-40deg)
}

.ssf-modern .btn-brand:is(:hover, :focus-visible)>i {
    transform: translateX(4px)
}

.ssf-modern .hero-secondary:is(:hover, :focus-visible) i {
    transform: translate(3px, -3px)
}

.ssf-modern .btn-brand:active,
.ssf-modern .hero-secondary:active {
    transform: translateY(0);
    box-shadow: none
}

.ssf-modern .btn-brand:disabled {
    opacity: .65;
    cursor: wait;
    transform: none;
    box-shadow: none
}

.ssf-modern .btn-brand:disabled::before {
    transform: translateY(105%)
}

.ssf-modern .navbar-nav .nav-link {
    position: relative;
    transition: color 250ms ease
}

.ssf-modern .navbar-nav .nav-link::after {
    content: "";
    display: block;
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 5px;
    height: 2px;
    width: auto;
    background: var(--red);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 350ms var(--motion-ease)
}

.ssf-modern .navbar-nav .nav-link:is(:hover, :focus-visible)::after,
.ssf-modern .navbar-nav .nav-link.active::after {
    transform: scaleX(1);
    transform-origin: left
}

.ssf-modern .service-card {
    isolation: isolate;
    overflow: hidden;
    transition: transform 450ms var(--motion-ease), border-color 350ms ease, box-shadow 450ms ease
}

.ssf-modern .service-card::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    height: 3px;
    background: var(--red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 450ms var(--motion-ease);
    pointer-events: none
}

.ssf-modern .service-card:is(:hover, :focus-within) {
    transform: translateY(-6px);
    border-color: #e4091438;
    box-shadow: 0 18px 45px #14171d0c
}

.ssf-modern .service-card:is(:hover, :focus-within)::after {
    transform: scaleX(1)
}

.ssf-modern .service-icon {
    transition: background 350ms ease, color 350ms ease, transform 450ms var(--motion-ease), box-shadow 350ms ease
}

.ssf-modern .service-card:is(:hover, :focus-within) .service-icon {
    background: var(--red);
    color: #fff;
    transform: translateY(-3px) rotate(-5deg);
    box-shadow: 0 8px 18px #e4091425
}

.ssf-modern .service-card a i,
.ssf-modern .insight-card-body>a i,
.ssf-modern .project-meta a i {
    transition: transform 400ms var(--motion-ease)
}

.ssf-modern .service-card a:is(:hover, :focus-visible) i,
.ssf-modern .insight-card-body>a:is(:hover, :focus-visible) i {
    transform: translateX(5px)
}

.ssf-modern .project-meta a:is(:hover, :focus-visible) i {
    transform: translate(2px, -2px)
}

.ssf-modern .project-card,
.ssf-modern .insight-card {
    transition: transform 450ms var(--motion-ease), box-shadow 450ms ease, border-color 350ms ease
}

.ssf-modern .project-card:is(:hover, :focus-within),
.ssf-modern .insight-card:is(:hover, :focus-within) {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px #090d1412
}

.ssf-modern .insight-card>img {
    transition: transform 700ms var(--motion-ease)
}

.ssf-modern .insight-card:is(:hover, :focus-within)>img {
    transform: scale(1.035)
}

.ssf-modern .hero-expertise>a {
    transition: background 350ms ease
}

.ssf-modern .hero-expertise>a>i {
    transition: transform 400ms var(--motion-ease), color 300ms ease
}

.ssf-modern .hero-expertise>a:is(:hover, :focus-visible) {
    background: #e4091410
}

.ssf-modern .hero-expertise>a:is(:hover, :focus-visible)>i {
    transform: translate(3px, -3px);
    color: #ff6971
}

.ssf-modern .industry-grid>div {
    transition: background 350ms ease
}

.ssf-modern .industry-grid>div i {
    transition: transform 450ms var(--motion-ease)
}

.ssf-modern .industry-grid>div:hover i {
    transform: translateY(-4px)
}

.ssf-modern .footer-links a {
    transition: color 250ms ease, transform 350ms var(--motion-ease)
}

.ssf-modern .footer-links a:is(:hover, :focus-visible) {
    color: #fff;
    transform: translateX(5px)
}

.ssf-modern .socials a,
.ssf-modern .contact-socials a {
    transition: background 300ms ease, border-color 300ms ease, color 300ms ease, transform 350ms var(--motion-ease)
}

.ssf-modern .socials a:is(:hover, :focus-visible),
.ssf-modern .contact-socials a:is(:hover, :focus-visible) {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
    transform: translateY(-3px)
}

@media(hover:none) {

    .ssf-modern .btn-brand:hover,
    .ssf-modern .hero-secondary:hover,
    .ssf-modern .service-card:hover,
    .ssf-modern .project-card:hover,
    .ssf-modern .insight-card:hover {
        transform: none
    }
}

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

    .ssf-modern *,
    .ssf-modern *::before,
    .ssf-modern *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important
    }

    .ssf-modern .btn-brand:is(:hover, :focus-visible),
    .ssf-modern .hero-secondary:is(:hover, :focus-visible),
    .ssf-modern .service-card:is(:hover, :focus-within),
    .ssf-modern .project-card:is(:hover, :focus-within),
    .ssf-modern .insight-card:is(:hover, :focus-within) {
        transform: none
    }
}

/* Home section compositions: visual hierarchy, editorial panels and quieter surfaces. */
.ssf-modern.is-home .clients-section {
    padding: 38px 0;
    border-bottom: 1px solid #e7e3e0;
    background: #fff
}

.ssf-modern.is-home .clients-panel {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 45px;
    align-items: center
}

.ssf-modern.is-home .clients-head .eyebrow {
    margin: 0 0 9px;
    text-align: left !important;
    font-size: 9px
}

.ssf-modern.is-home .clients-head .section-title {
    font-size: 23px;
    letter-spacing: -.7px;
    text-align: left !important;
    margin: 0
}

.ssf-modern.is-home .clients-carousel-wrap {
    min-width: 0;
    margin: 0
}

.ssf-modern.is-home .client-logo-card {
    border: 0;
    height: 80px;
    background: transparent;
    filter: grayscale(1);
    opacity: .7;
    transition: filter .3s, opacity .3s
}

.ssf-modern.is-home .client-logo-card:hover {
    filter: none;
    opacity: 1;
    box-shadow: none
}

.ssf-modern.is-home .client-pagination {
    display: none
}

.ssf-modern .about-principles {
    display: grid;
    gap: 12px;
    margin-top: 25px;
    font-size: 13px;
    font-weight: 500
}

.ssf-modern .about-principles i {
    display: inline-grid;
    place-items: center;
    background: #fbe9e9;
    color: var(--red);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 9px;
    margin-right: 10px
}

.ssf-modern.is-home .about-image {
    overflow: visible;
    border: 0;
    position: relative;
    padding: 0 25px 25px 0
}

.ssf-modern.is-home .about-image:before {
    content: '';
    position: absolute;
    inset: 35px 0 0 35px;
    background: #eae5e2;
    border-radius: 24px;
    z-index: -1
}

.ssf-modern.is-home .about-image img {
    border-radius: 20px;
    width: 100%;
    height: 490px;
    object-fit: cover;
    filter: saturate(.6)
}

.ssf-modern.is-home .mission-card {
    right: 0;
    bottom: 0;
    left: auto;
    min-width: 210px;
    background: #14171d;
    color: #fff;
    border: 6px solid #f6f4f2;
    border-radius: 18px;
    padding: 25px;
    box-shadow: none
}

.ssf-modern.is-home .mission-card span {
    color: #ff6971
}

.ssf-modern.is-home .stats-grid {
    margin-top: 30px
}

.ssf-modern.is-home .services-section {
    background: #efedeb;
    padding: 90px 0
}

.ssf-modern.is-home .services-grid>.swiper-wrapper {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 22px
}

.ssf-modern.is-home .services-grid .swiper-slide {
    grid-column: span 2
}

.ssf-modern.is-home .services-grid .swiper-slide:nth-child(-n+2) {
    grid-column: span 3
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child .service-card {
    background: #161b24;
    border-color: #161b24;
    color: #fff
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child h3 {
    color: #fff
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child p {
    color: #b9bfca
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child a {
    color: #ff747b
}

.ssf-modern.is-home .service-card {
    padding: 34px;
    border-radius: 16px;
    min-height: 310px
}

.ssf-modern .service-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.ssf-modern .service-index {
    font-family: var(--display-font);
    font-size: 13px;
    letter-spacing: 2px;
    color: #a1a0a5
}

.ssf-modern.is-home .service-card h3 {
    margin-top: 30px
}

.ssf-modern.is-home .service-card a {
    margin-top: auto;
    padding-top: 15px;
    display: flex;
    justify-content: space-between
}

.ssf-modern .section-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 45px
}

.ssf-modern .section-heading-row>.muted {
    max-width: 340px;
    margin-bottom: 5px;
    color: #aab0bc
}

.ssf-modern .industry-showcase {
    background: #10141c;
    padding: 100px 0
}

.ssf-modern .industry-showcase-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 65px;
    align-items: center
}

.ssf-modern .industry-selector {
    display: flex;
    flex-direction: column
}

.ssf-modern .industry-choice {
    display: flex;
    align-items: center;
    gap: 24px;
    background: none;
    color: #8c94a2;
    border: 0;
    border-bottom: 1px solid #ffffff17;
    text-align: left;
    padding: 28px 0;
    font-family: var(--display-font);
    font-size: 21px;
    transition: color .3s, padding .35s
}

.ssf-modern .industry-choice>span {
    font: 10px 'DM Sans', sans-serif;
    letter-spacing: 1px;
    color: #737b89
}

.ssf-modern .industry-choice>i {
    font-size: 12px;
    margin-left: auto;
    opacity: 0;
    transform: translate(-8px, 6px);
    transition: opacity .3s, transform .35s
}

.ssf-modern .industry-choice.active,
.ssf-modern .industry-choice:hover {
    color: #fff;
    padding-left: 12px
}

.ssf-modern .industry-choice.active>span {
    color: #ff5860
}

.ssf-modern .industry-choice.active>i {
    opacity: 1;
    transform: none;
    color: #ff5860
}

.ssf-modern .industry-panels .tab-pane {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    border-radius: 20px;
    background: #242a34
}

.ssf-modern .industry-panels .tab-pane>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .4;
    filter: saturate(.55)
}

.ssf-modern .industry-panels .tab-pane:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #10141cf5, #10141c85 65%, transparent)
}

.ssf-modern .industry-panel-copy {
    position: relative;
    z-index: 1;
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 480px
}

.ssf-modern .industry-panel-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    background: #e40914;
    color: #fff;
    border-radius: 12px;
    font-size: 21px;
    margin-bottom: 35px
}

.ssf-modern .industry-panel-copy .eyebrow {
    color: #ff969c;
    margin-bottom: 12px;
    font-size: 9px
}

.ssf-modern .industry-panel-copy h3 {
    color: #fff;
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: -1px;
    max-width: 400px
}

.ssf-modern .industry-panel-copy>p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.8;
    color: #c3c7d0;
    margin: 15px 0 20px
}

.ssf-modern .industry-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.ssf-modern .industry-tags>span {
    font-size: 9px;
    border: 1px solid #ffffff30;
    border-radius: 50px;
    padding: 7px 12px;
    color: #d4d8df
}

.ssf-modern .industry-panel-copy>a {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    margin-top: 26px;
    display: flex;
    align-items: center;
    gap: 20px
}

.ssf-modern.is-home .reviews-section {
    background: #f6f4f2;
    padding: 100px 0
}

.ssf-modern.is-home .reviews-panel {
    background: transparent;
    padding: 0;
    border-radius: 0;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    min-height: 0;
    align-items: center
}

.ssf-modern.is-home .reviews-title {
    color: #14171d;
    font-size: 46px;
    letter-spacing: -1.5px
}

.ssf-modern.is-home .reviews-text {
    color: #72747a;
    line-height: 1.85
}

.ssf-modern.is-home .reviews-copy .eyebrow {
    color: #b90710
}

.ssf-modern.is-home .review-stats {
    gap: 20px;
    margin-top: 32px;
    border-top: 1px solid #e1dcda;
    padding-top: 25px
}

.ssf-modern.is-home .review-stat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    border: 0;
    gap: 7px
}

.ssf-modern.is-home .review-stat>span {
    display: none
}

.ssf-modern.is-home .review-stat strong {
    font: 600 28px var(--display-font);
    color: #14171d
}

.ssf-modern.is-home .review-stat small {
    font-size: 10px;
    color: #72747a
}

.ssf-modern.is-home .reviews-stage {
    padding: 0;
    min-height: 0
}

.ssf-modern.is-home .reviews-slider-custom {
    border-radius: 18px
}

.ssf-modern.is-home .review-card,
.ssf-modern.is-home .swiper-slide-active .review-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
    background: #fff;
    border: 1px solid #e8e3e0;
    border-radius: 18px;
    box-shadow: none;
    padding: 36px;
    min-height: 360px
}

.ssf-modern.is-home .review-card-head {
    width: 100%;
    justify-content: space-between
}

.ssf-modern.is-home .review-quote {
    color: #e40914;
    font-size: 30px
}

.ssf-modern.is-home .review-stars {
    color: #e40914
}

.ssf-modern.is-home .review-avatar {
    width: 50px;
    height: 50px;
    margin: 20px 0 5px;
    border: 0;
    box-shadow: none;
    font-size: 16px;
    order: 2
}

.ssf-modern.is-home .review-card p {
    font: 500 21px/1.6 var(--display-font);
    color: #252b35;
    margin: 25px 0 10px;
    max-width: none;
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible
}

.ssf-modern.is-home .review-author-name {
    order: 3;
    color: #14171d;
    margin: 12px 0 3px;
    font-size: 16px
}

.ssf-modern.is-home .review-card small {
    order: 4;
    color: #777b84;
    font-size: 11px;
    padding: 0;
    margin: 0
}

.ssf-modern.is-home .review-card small:after,
.ssf-modern.is-home .reviews-carousel-shell:before,
.ssf-modern.is-home .reviews-carousel-shell:after {
    display: none
}

.ssf-modern.is-home .review-pagination {
    justify-content: flex-start;
    margin-top: 20px
}

.ssf-modern.is-home .insights-section {
    background: #fff;
    color: #14171d
}

.ssf-modern.is-home .insights-head .section-title {
    color: #14171d
}

.ssf-modern.is-home .insights-head p {
    color: #72747a
}

.ssf-modern.is-home .insights-head .eyebrow {
    color: #b90710
}

.ssf-modern.is-home .insight-card {
    border: 1px solid #e8e3e0;
    border-radius: 16px;
    background: #f6f4f2
}

.ssf-modern.is-home .insight-card>img {
    height: 230px;
    object-fit: cover
}

.ssf-modern.is-home .insight-card h3 {
    font-size: 23px;
    line-height: 1.35
}

.ssf-modern.is-home .delivery-grid article {
    position: relative;
    padding-top: 35px
}

.ssf-modern.is-home .delivery-grid article:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    width: 9px;
    height: 9px;
    background: #e40914;
    box-shadow: 0 0 0 6px #14171d;
    border-radius: 50%
}

.ssf-modern.is-home .contact-shell {
    background: #fff;
    border: 1px solid #e7e3e0;
    border-radius: 22px;
    padding: 55px;
    gap: 55px
}

.ssf-modern.is-home .contact-info .section-title {
    color: #14171d
}

.ssf-modern.is-home .contact-info .eyebrow {
    color: #b90710
}

.ssf-modern.is-home .contact-copy {
    color: #72747a
}

.ssf-modern.is-home .contact-detail strong,
.ssf-modern.is-home .contact-detail a {
    color: #252b35
}

.ssf-modern.is-home .contact-detail small,
.ssf-modern.is-home .contact-socials p {
    color: #72747a
}

.ssf-modern.is-home .contact-form-card {
    background: #f6f4f2;
    padding: 32px;
    border-radius: 16px
}

.ssf-modern.is-home .contact-form .form-control,
.ssf-modern.is-home .contact-form .form-select {
    background: #fff
}

.ssf-modern.is-home .faq-list .accordion-item {
    background: #fff;
    border: 1px solid #e8e3e0;
    border-radius: 12px;
    margin-bottom: 12px;
    padding: 0 24px;
    overflow: hidden
}

.ssf-modern.is-home .faq-list .accordion-button {
    padding: 24px 0;
    font-size: 15px
}

.ssf-modern.is-home .faq-question-card {
    background: #14171d;
    border: 0;
    text-align: left;
    padding: 28px
}

.ssf-modern.is-home .faq-question-card h3,
.ssf-modern.is-home .faq-question-card p {
    color: #fff
}

.ssf-modern.is-home .faq-question-icon {
    display: none
}

@media(max-width:991px) {

    .ssf-modern .industry-panels .tab-pane,
    .ssf-modern .industry-panel-copy {
        min-height: 400px;
    }

    .ssf-modern.is-home .clients-panel {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .ssf-modern.is-home .clients-head {
        display: flex;
        align-items: center;
        gap: 20px
    }

    .ssf-modern.is-home .clients-head .eyebrow {
        margin: 0
    }

    .ssf-modern.is-home .about-image img {
        height: 400px
    }

    .ssf-modern.is-home .services-grid>.swiper-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern.is-home .services-grid .swiper-slide,
    .ssf-modern.is-home .services-grid .swiper-slide:nth-child(-n+2) {
        grid-column: auto
    }

    .ssf-modern .industry-showcase-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        align-items: stretch;
    }

    .ssf-modern .industry-selector {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 0 25px
    }

    .ssf-modern .industry-choice {
        font-size: 17px;
        padding: 20px 0;
        gap: 12px
    }

    .ssf-modern .section-heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px
    }

    .ssf-modern .section-heading-row>.muted {
        max-width: 550px
    }

    .ssf-modern.is-home .reviews-panel {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .ssf-modern.is-home .contact-shell {
        padding: 30px;
        gap: 30px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .services-grid>.swiper-wrapper {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-home .services-section,
    .ssf-modern .industry-showcase,
    .ssf-modern.is-home .reviews-section {
        padding: 70px 0
    }

    .ssf-modern.is-home .clients-head .section-title {
        font-size: 20px
    }

    .ssf-modern.is-home .about-image img {
        height: 340px
    }

    .ssf-modern .industry-selector {
        grid-template-columns: 1fr
    }

    .ssf-modern .industry-choice {
        padding: 17px 0;
        font-size: 18px
    }

    .ssf-modern .industry-panel-copy {
        padding: 28px;
        min-height: 460px
    }

    .ssf-modern .industry-panel-copy h3 {
        font-size: 30px
    }

    .ssf-modern.is-home .reviews-title {
        font-size: 35px
    }

    .ssf-modern.is-home .review-card,
    .ssf-modern.is-home .swiper-slide-active .review-card {
        padding: 26px
    }

    .ssf-modern.is-home .review-card p {
        font-size: 19px
    }

    .ssf-modern.is-home .contact-shell {
        padding: 24px 18px
    }

    .ssf-modern.is-home .contact-form-card {
        padding: 22px 16px
    }

    .ssf-modern.is-home .faq-list .accordion-item {
        padding: 0 18px
    }

    .ssf-modern.is-home .service-card {
        padding: 28px
    }
}

.ssf-modern.is-home .review-bullet {
    background: #c9c5c3;
    opacity: 1
}

.ssf-modern.is-home .review-bullet.active {
    background: var(--red)
}

.ssf-modern .industry-choice {
    scroll-margin-top: 130px
}

.ssf-modern .industry-choice:focus-visible {
    outline-offset: -3px
}

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

    .ssf-modern *,
    .ssf-modern *::before,
    .ssf-modern *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important
    }
}

/* Full-bleed process banner; fixed desktop background creates scroll depth. */
.ssf-modern .delivery-section {
    position: relative;
    isolation: isolate;
    width: 100%;
    background-color: #090c13;
    background-image: url('../images/banner/ready-to-elevate.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding-block: 110px;
}

.ssf-modern .delivery-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 10, 17, .92), rgba(7, 10, 17, .73) 60%, rgba(7, 10, 17, .55));
    pointer-events: none;
}

.ssf-modern .delivery-section .section-title {
    color: #fff
}

.ssf-modern .delivery-heading .muted,
.ssf-modern .delivery-grid p {
    color: #d0d3dc
}

.ssf-modern .delivery-grid {
    border-color: #ffffff35
}

.ssf-modern.is-home .delivery-grid article::before {
    box-shadow: 0 0 0 6px #10121c
}

@media(max-width:991px), (hover:none) {
    .ssf-modern .delivery-section {
        background-attachment: scroll;
        background-position: 65% center;
        padding-block: 75px
    }
}

@media(prefers-reduced-motion:reduce) {
    .ssf-modern .delivery-section {
        background-attachment: scroll
    }
}

/* Locally hosted photography, selected for SSF Tech's services. */
.ssf-modern .delivery-section {
    background-image: url('../images/stock/process-development.webp');
    background-position: center 45%
}

.ssf-modern .delivery-section::before {
    background: linear-gradient(90deg, rgba(7, 10, 17, .94), rgba(7, 10, 17, .83) 55%, rgba(7, 10, 17, .64))
}

.ssf-modern.is-home .about-image img {
    object-position: 52% center
}

.ssf-modern .industry-panels .tab-pane>img {
    opacity: .65;
    filter: saturate(.75)
}

/* Contact and FAQ: focused conversation spaces with clear form hierarchy. */
.ssf-modern.is-home .contact-section {
    padding: 100px 0;
    background: #f0eeec
}

.ssf-modern .contact-section-heading,
.ssf-modern .faq-section-heading {
    max-width: 760px;
    margin-bottom: 44px
}

.ssf-modern .contact-section-heading .section-title,
.ssf-modern .faq-section-heading .section-title {
    margin-bottom: 20px
}

.ssf-modern.is-home .contact-shell {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 0;
    padding: 0;
    border: 1px solid #e5e1df;
    border-radius: 24px;
    background: #fff;
    overflow: hidden;
    align-items: stretch;
    box-shadow: 0 18px 55px #151a2205
}

.ssf-modern.is-home .contact-info {
    position: relative;
    padding: 42px;
    background: radial-gradient(ellipse at 0 100%, #e4091418, transparent 60%), #141820;
    overflow: hidden
}

.ssf-modern .contact-panel-top {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 9px;
    letter-spacing: 2px;
    font-weight: 700;
    color: #aeb6c5;
    margin-bottom: 32px
}

.ssf-modern .contact-panel-mark {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 12px;
    background: #e40914;
    color: #fff;
    font-size: 18px
}

.ssf-modern .contact-panel-title {
    font-family: var(--display-font);
    font-size: 36px;
    font-weight: 500;
    letter-spacing: -1px;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 18px
}

.ssf-modern.is-home .contact-copy {
    color: #aeb6c5;
    font-size: 13px;
    line-height: 1.85;
    max-width: 350px
}

.ssf-modern.is-home .contact-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 25px
}

.ssf-modern.is-home .contact-detail {
    padding: 18px 0;
    border-bottom: 1px solid #ffffff12;
    gap: 15px;
    align-items: center
}

.ssf-modern.is-home .contact-detail>span {
    width: 37px;
    height: 37px;
    border: 1px solid #ffffff18;
    background: #ffffff05;
    border-radius: 10px;
    flex-shrink: 0;
    color: #ff6971;
    font-size: 14px;
    box-shadow: none
}

.ssf-modern.is-home .contact-detail small {
    color: #8f98a8;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 6px
}

.ssf-modern.is-home .contact-detail strong,
.ssf-modern.is-home .contact-detail a {
    color: #f4f5f7;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    overflow-wrap: anywhere
}

.ssf-modern.is-home .contact-socials {
    margin-top: 27px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 15px
}

.ssf-modern.is-home .contact-socials p {
    font-size: 10px;
    letter-spacing: 1px;
    color: #aeb6c5;
    margin: 0;
    text-transform: uppercase
}

.ssf-modern.is-home .contact-socials a {
    width: 34px;
    height: 34px;
    border: 1px solid #ffffff20;
    border-radius: 50%;
    background: transparent;
    color: #d6dae2;
    box-shadow: none;
    font-size: 12px
}

.ssf-modern.is-home .contact-form-card {
    background: #fff;
    border-radius: 0;
    padding: 48px;
    align-self: center
}

.ssf-modern.is-home .contact-form-head {
    margin-bottom: 30px;
    display: block
}

.ssf-modern.is-home .contact-form-head>span {
    display: none
}

.ssf-modern.is-home .contact-form-head h3 {
    font-size: 27px;
    letter-spacing: -.8px;
    margin-bottom: 8px
}

.ssf-modern.is-home .contact-form-head p {
    font-size: 13px;
    color: #84868d
}

.ssf-modern .field-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #343b46;
    margin: 0 0 9px
}

.ssf-modern .field-label>span {
    color: #c90812
}

.ssf-modern.is-home .contact-form .row {
    --bs-gutter-y: 22px;
    --bs-gutter-x: 18px
}

.ssf-modern.is-home .contact-form .form-control,
.ssf-modern.is-home .contact-form .form-select {
    background: #f8f8f9;
    border: 1px solid #e6e7eb;
    border-radius: 9px;
    min-height: 50px;
    padding: 13px 15px;
    font-size: 12px;
    box-shadow: none
}

.ssf-modern.is-home .contact-form textarea.form-control {
    min-height: 130px;
    resize: vertical
}

.ssf-modern.is-home .contact-form .form-control:focus,
.ssf-modern.is-home .contact-form .form-select:focus {
    background: #fff;
    border-color: #e40914;
    box-shadow: 0 0 0 3px #e409140a
}

.ssf-modern.is-home .contact-form .btn-brand {
    width: 100%;
    justify-content: space-between;
    margin-top: 5px;
    padding: 13px 18px;
    font-size: 13px;
    border-radius: 9px
}

.ssf-modern .form-reassurance {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    color: #858a93;
    font-size: 9px;
    margin: 16px 0 0;
    line-height: 1.7
}

.ssf-modern .form-reassurance i {
    font-size: 9px;
    color: #a0a5ae
}

.ssf-modern.is-home .faq-section {
    padding: 100px 0;
    background: #fff
}

.ssf-modern .faq-section-heading {
    max-width: none;
    text-align: center;
    margin-bottom: 50px
}

.ssf-modern .faq-section-heading .section-title {
    margin-inline: auto
}

.ssf-modern.is-home .faq-shell {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 60px;
    align-items: start;
    overflow: visible
}

.ssf-modern.is-home .faq-intro {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e7e4e2;
    background: #f6f4f2
}

.ssf-modern .faq-help-photo {
    height: 210px;
    position: relative;
    overflow: hidden
}

.ssf-modern .faq-help-photo:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #10151dd9, transparent 80%)
}

.ssf-modern .faq-help-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    filter: saturate(.65)
}

.ssf-modern .faq-help-photo>span {
    position: absolute;
    bottom: 20px;
    left: 24px;
    right: 20px;
    z-index: 1;
    font-size: 8px;
    letter-spacing: 1.4px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 9px
}

.ssf-modern .faq-help-photo i {
    font-size: 14px;
    color: #ff6971
}

.ssf-modern.is-home .faq-question-card {
    background: transparent;
    border-radius: 0;
    margin: 0;
    padding: 28px;
    text-align: left;
    box-shadow: none
}

.ssf-modern.is-home .faq-question-card:before,
.ssf-modern.is-home .faq-question-card:after {
    display: none
}

.ssf-modern .faq-help-label {
    font-size: 8px;
    color: #b90710;
    letter-spacing: 1.5px;
    font-weight: 700
}

.ssf-modern.is-home .faq-question-card h3 {
    color: #171c25;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: -.7px;
    margin: 14px 0 12px
}

.ssf-modern.is-home .faq-question-card p {
    color: #737985;
    font-size: 12px;
    line-height: 1.85
}

.ssf-modern.is-home .faq-question-card .btn {
    margin-top: 12px;
    width: 100%;
    justify-content: space-between;
    font-size: 12px
}

.ssf-modern.is-home .faq-list .accordion-item {
    padding: 0;
    border: 1px solid #e6e7eb;
    background: #fafafa;
    border-radius: 12px;
    margin-bottom: 13px;
    transition: border-color .25s, background .25s, box-shadow .25s
}

.ssf-modern.is-home .faq-list .accordion-item:has(.accordion-button:not(.collapsed)) {
    background: #fff;
    border-color: #e4091435;
    box-shadow: 0 8px 25px #14171d04
}

.ssf-modern.is-home .faq-list .accordion-button {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 23px 24px;
    background: transparent;
    color: #232a35;
    font: 500 15px/1.5 var(--display-font);
    box-shadow: none;
    border-radius: 0
}

.ssf-modern.is-home .faq-list .accordion-button:before,
.ssf-modern.is-home .faq-list .accordion-button:after {
    display: none
}

.ssf-modern .faq-number {
    font: 500 10px 'DM Sans', sans-serif;
    color: #a0a4ad;
    flex-shrink: 0;
    letter-spacing: 1px
}

.ssf-modern .faq-question-text {
    flex: 1
}

.ssf-modern .faq-toggle {
    width: 27px;
    height: 27px;
    border-radius: 50%;
    border: 1px solid #e1e3e8;
    display: grid;
    place-items: center;
    position: relative;
    flex-shrink: 0;
    transition: background .3s, border-color .3s, transform .3s
}

.ssf-modern .faq-toggle:before,
.ssf-modern .faq-toggle:after {
    content: '';
    position: absolute;
    width: 9px;
    height: 1px;
    background: #7c8490;
    transition: transform .3s, background .3s
}

.ssf-modern .faq-toggle:after {
    transform: rotate(90deg)
}

.ssf-modern .accordion-button:not(.collapsed) .faq-toggle {
    background: #e40914;
    border-color: #e40914
}

.ssf-modern .accordion-button:not(.collapsed) .faq-toggle:before,
.ssf-modern .accordion-button:not(.collapsed) .faq-toggle:after {
    background: #fff;
    transform: rotate(0)
}

.ssf-modern .accordion-button:not(.collapsed) .faq-number {
    color: #e40914
}

.ssf-modern.is-home .faq-list .accordion-body {
    padding: 0 65px 25px 57px;
    color: #77808d;
    font-size: 13px;
    line-height: 1.9
}

@media(max-width:991px) {
    .ssf-modern.is-home .contact-shell {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-home .contact-info {
        padding: 35px
    }

    .ssf-modern.is-home .contact-details {
        grid-template-columns: 1fr 1fr;
        gap: 0 25px
    }

    .ssf-modern.is-home .contact-copy {
        max-width: 600px
    }

    .ssf-modern.is-home .contact-form-card {
        padding: 35px
    }

    .ssf-modern.is-home .faq-shell {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 30px
    }

    .ssf-modern.is-home .faq-list .accordion-button {
        padding: 20px 18px;
        gap: 12px;
        font-size: 14px
    }

    .ssf-modern.is-home .faq-list .accordion-body {
        padding: 0 25px 22px 47px
    }
}

@media(max-width:767px) {
    .ssf-modern.is-home .faq-shell {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-home .faq-intro {
        display: grid;
        grid-template-columns: 1fr 1fr;
        order: 2
    }

    .ssf-modern .faq-help-photo {
        height: 100%;
        min-height: 260px
    }

    .ssf-modern.is-home .faq-content {
        order: 1
    }
}

@media(max-width:575px) {

    .ssf-modern.is-home .contact-section,
    .ssf-modern.is-home .faq-section {
        padding: 70px 0
    }

    .ssf-modern.is-home .contact-info,
    .ssf-modern.is-home .contact-form-card {
        padding: 28px 22px
    }

    .ssf-modern.is-home .contact-shell {
        border-radius: 16px
    }

    .ssf-modern.is-home .contact-details {
        grid-template-columns: 1fr 1fr
    }

    .ssf-modern .contact-panel-top {
        justify-content: center;
    }

    .ssf-modern.is-home .contact-socials {
        align-items: center;
    }

    .ssf-modern .contact-panel-title {
        font-size: 32px
    }

    .ssf-modern.is-home .contact-form-head h3 {
        font-size: 24px
    }

    .ssf-modern.is-home .faq-intro {
        grid-template-columns: 1fr
    }

    .ssf-modern .faq-help-photo {
        height: 210px;
        min-height: 0
    }

    .ssf-modern .faq-section-heading {
        text-align: left;
        margin-bottom: 32px
    }

    .ssf-modern.is-home .faq-list .accordion-body {
        padding-left: 47px;
        padding-right: 22px
    }

    .ssf-modern .form-reassurance {
        font-size: 8px
    }

    .ssf-modern .contact-section-heading {
        margin-bottom: 30px
    }
}

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

    .ssf-modern *,
    .ssf-modern *::before,
    .ssf-modern *::after {
        transition: none !important;
        animation: none !important
    }
}

/* Keep the FAQ help card alongside the questions without covering the header. */
@media (min-width: 768px) {
    .ssf-modern.is-home .faq-section {
        overflow: visible;
    }

    .ssf-modern.is-home .faq-intro {
        position: sticky;
        top: 120px;
        align-self: start;
    }
}

/* Highlight the open FAQ using the SSF Tech brand colour. */
.ssf-modern.is-home .faq-list .accordion-item:has(.accordion-button:not(.collapsed)) {
    background: var(--red);
    border-color: var(--red);
    box-shadow: 0 8px 24px rgba(228, 9, 20, .12);
}

.ssf-modern.is-home .faq-list .accordion-button:not(.collapsed),
.ssf-modern.is-home .faq-list .accordion-button:not(.collapsed) .faq-number {
    color: #fff;
}

.ssf-modern.is-home .faq-list .accordion-item:has(.accordion-button:not(.collapsed)) .accordion-body {
    color: #fff;
}

.ssf-modern.is-home .faq-list .accordion-button:not(.collapsed) .faq-toggle {
    background: rgba(255, 255, 255, .16);
    border-color: rgba(255, 255, 255, .35);
}

.ssf-modern.is-home .faq-list .accordion-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -5px;
}

/* Match the industry showcase's dark backdrop in the home blog section. */
.ssf-modern.is-home .insights-section {
    background: #10141c;
    color: #fff;
}

.ssf-modern.is-home .insights-head .section-title {
    color: #fff;
}

.ssf-modern.is-home .insights-head p {
    color: #aab0bc;
}

.ssf-modern.is-home .insights-head .eyebrow {
    color: #ff7880;
}

/* Full-width at the top; a centered floating navigation bar after scrolling. */
.ssf-modern .site-header {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    border-radius: 0;
    transition: width 450ms var(--motion-ease), max-width 450ms var(--motion-ease),
        top 450ms var(--motion-ease), border-radius 450ms var(--motion-ease),
        background 300ms ease, box-shadow 300ms ease;
}

.ssf-modern .site-header .navbar {
    transition: padding 350ms var(--motion-ease);
}

.ssf-modern .site-header.scrolled {
    padding: 0px;
    top: 16px;
    width: calc(100% - 48px);
    max-width: 1320px;
    border: 1px solid rgba(255, 255, 255, .1);
    /* border-radius: 60px; */
    border-radius: 10px;
    background: rgba(17, 20, 27, .96);
    box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.ssf-modern .site-header.scrolled .navbar {
    padding-block: 0px;
}

@media (max-width: 991px) {
    .ssf-modern .site-header.scrolled {
        top: 10px;
        width: calc(100% - 24px);
        border-radius: 18px;
    }

    .ssf-modern .site-header.scrolled .container {
        padding-inline: 20px;
    }
}

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

    .ssf-modern .site-header,
    .ssf-modern .site-header .navbar {
        transition: none;
    }
}

/* Service directory: focused categories instead of one long wall of cards. */
.ssf-modern .service-category-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 38px 0 0
}

.ssf-modern .service-category-tab {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 22px 18px;
    background: #fff;
    border: 1px solid #dedad7;
    border-radius: 12px;
    color: #737985;
    font-size: 12px;
    font-weight: 600;
    transition: background .3s, border-color .3s, color .3s, box-shadow .3s
}

.ssf-modern .service-category-tab>i {
    font-size: 19px;
    color: #b90710
}

.ssf-modern .service-category-tab small {
    margin-left: auto;
    font-size: 9px;
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #f0eeec;
    color: #7a808a
}

.ssf-modern .service-category-tab.active {
    background: #151a23;
    color: #fff;
    border-color: #151a23;
    box-shadow: inset 0 -3px #e40914
}

.ssf-modern .service-category-tab.active>i {
    color: #ff6971
}

.ssf-modern .service-category-tab.active small {
    background: #ffffff12;
    color: #fff
}

.ssf-modern .service-category-tab:not(.active):hover {
    border-color: #e4091470;
    color: #b90710
}

.ssf-modern .service-category-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 35px 0 0
}

.ssf-modern .service-category-intro .eyebrow {
    margin-bottom: 10px;
    font-size: 9px
}

.ssf-modern .service-category-intro h3 {
    font: 500 28px/1.25 var(--display-font);
    letter-spacing: -.8px;
    color: #202734
}

.ssf-modern .service-category-intro p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.8;
    color: #7a808a;
    max-width: 650px;
    margin: 12px 0 0
}

.ssf-modern .service-category-cta {
    color: #b90710;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 15px
}

.ssf-modern.is-home .service-category-panels .services-grid {
    margin-top: 27px
}

.ssf-modern.is-home .service-category-panels .services-grid>.swiper-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.ssf-modern.is-home .service-category-panels .services-grid .swiper-slide,
.ssf-modern.is-home .service-category-panels .services-grid .swiper-slide:nth-child(-n+2) {
    grid-column: auto
}

.ssf-modern.is-home .service-category-panels .service-card {
    display: flex;
    flex-direction: column;
    min-height: 320px;
    padding: 28px
}

.ssf-modern.is-home .service-category-panels .service-card h3 {
    font-size: 21px;
    margin-top: 25px
}

@media(max-width:991px) {
    .ssf-modern .service-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern.is-home .service-category-panels .services-grid>.swiper-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .ssf-modern .service-category-intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px
    }
}

@media(max-width:575px) {
    .ssf-modern .service-category-tab {
        padding: 16px 12px;
        gap: 8px;
        font-size: 10px
    }

    .ssf-modern .service-category-tab>i {
        font-size: 15px
    }

    .ssf-modern .service-category-tab small {
        min-width: 20px;
        height: 20px
    }

    .ssf-modern.is-home .service-category-panels .services-grid>.swiper-wrapper {
        grid-template-columns: 1fr
    }

    .ssf-modern .service-category-intro h3 {
        font-size: 25px
    }
}

@media(prefers-reduced-motion:reduce) {
    .ssf-modern .service-category-tab {
        transition: none
    }
}

/* Photo-led service cards with consistent crops and room for descriptions. */
.ssf-modern.is-home .service-category-panels .service-card-with-image {
    padding: 0;
    overflow: hidden;
    min-height: 0;
    border-radius: 16px
}

.ssf-modern .service-card-image {
    position: relative;
    aspect-ratio: 16/9;
    width: 100%;
    overflow: hidden;
    background: #e8e5e2;
    flex-shrink: 0
}

.ssf-modern .service-card-image:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(9, 13, 22, .45), transparent 65%);
    pointer-events: none
}

.ssf-modern .service-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.8);
    transition: transform 700ms var(--motion-ease), filter 500ms ease
}

.ssf-modern .service-image-category {
    position: absolute;
    z-index: 1;
    left: 20px;
    bottom: 16px;
    padding: 6px 10px;
    background: #ffffffeb;
    color: #232a35;
    border: 1px solid #ffffff30;
    border-radius: 30px;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .4px
}

.ssf-modern .service-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 25px;
    min-height: 300px
}

.ssf-modern.is-home .service-card-with-image .service-card-top {
    margin-top: -45px;
    position: relative;
    z-index: 2;
    align-items: flex-end
}

.ssf-modern.is-home .service-card-with-image .service-card-top .service-icon {
    width: 45px;
    height: 45px;
    margin-left: auto;
    border: 4px solid #fff;
    box-sizing: content-box;
    order: 2;
    box-shadow: none;
    border-radius: 13px;
    font-size: 19px
}

.ssf-modern.is-home .service-card-with-image .service-index {
    padding-top: 34px;
    font-size: 10px;
    order: 1
}

.ssf-modern.is-home .service-card-with-image h3 {
    margin-top: 20px;
    line-height: 1.3
}

.ssf-modern.is-home .service-card-with-image p {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 20px
}

.ssf-modern.is-home .service-card-with-image a {
    border-top: 1px solid #e8e5e2;
    padding-top: 18px;
    font-size: 11px
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child .service-card-with-image .service-icon {
    border-color: #161b24
}

.ssf-modern.is-home .services-grid .swiper-slide:first-child .service-card-with-image a {
    border-color: #ffffff20
}

.ssf-modern .service-card-with-image:is(:hover, :focus-within) .service-card-image img {
    transform: scale(1.055);
    filter: saturate(1)
}

@media(max-width:575px) {
    .ssf-modern .service-card-content {
        padding: 23px;
        min-height: 280px
    }

    .ssf-modern .service-image-category {
        left: 18px;
        font-size: 8px
    }
}

@media(prefers-reduced-motion:reduce) {
    .ssf-modern .service-card-image img {
        transition: none
    }

    .ssf-modern .service-card-with-image:is(:hover, :focus-within) .service-card-image img {
        transform: none
    }
}

/* About: a clean editorial heading, one strong image and integrated proof points. */
.ssf-modern.is-home .about-refined {
    padding: 100px 0;
    background: #fff
}

.ssf-modern .about-refined-heading {
    display: grid;
    grid-template-columns: .42fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 48px
}

.ssf-modern .about-refined-heading .eyebrow {
    padding-top: 14px;
    margin: 0;
    font-size: 10px
}

.ssf-modern .about-refined-heading .section-title {
    font-size: clamp(36px, 3.7vw, 60px);
    font-weight: 500;
    letter-spacing: -2.2px;
    line-height: 1.12;
    margin: 0;
    max-width: none
}

.ssf-modern .about-refined-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 54px;
    align-items: stretch
}

.ssf-modern .about-refined-photo {
    position: relative;
    min-height: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #191f29
}

.ssf-modern .about-refined-photo>img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: 47% center;
    filter: saturate(.6)
}

.ssf-modern .about-refined-photo:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(9, 14, 23, .88), transparent 65%)
}

.ssf-modern .about-image-caption {
    position: absolute;
    z-index: 1;
    left: 35px;
    right: 30px;
    bottom: 30px;
    color: #fff
}

.ssf-modern .about-image-caption>span {
    display: block;
    font-size: 8px;
    letter-spacing: 2px;
    color: #d8dce5;
    margin-bottom: 16px
}

.ssf-modern .about-image-caption>span:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 2px;
    background: #e40914;
    margin: 0 10px 3px 0
}

.ssf-modern .about-image-caption>p {
    font: 500 32px/1.2 var(--display-font);
    letter-spacing: -.8px;
    margin: 0
}

.ssf-modern .about-refined-content {
    display: flex;
    flex-direction: column;
    padding: 0;
    min-width: 0
}

.ssf-modern .about-refined-intro {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 23px
}

.ssf-modern .about-small-marker {
    width: 9px;
    height: 9px;
    background: #e40914;
    flex-shrink: 0;
    margin-top: 10px
}

.ssf-modern .about-refined-intro>p {
    font: 500 27px/1.35 var(--display-font);
    letter-spacing: -.7px;
    color: #202734;
    margin: 0
}

.ssf-modern .about-refined-description {
    font-size: 14px;
    line-height: 1.9;
    color: #7a828f;
    margin: 0 0 16px;
    max-width: 510px
}

.ssf-modern .about-refined-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 6px 0 22px;
    color: #505866;
    font-size: 10px;
    font-weight: 500
}

.ssf-modern .about-refined-points i {
    color: #c90812;
    font-size: 9px;
    margin-right: 6px
}

.ssf-modern .about-refined-content>.btn {
    align-self: flex-start;
    font-size: 12px;
    padding: 12px 18px;
    margin-bottom: 25px
}

.ssf-modern .about-refined-stats {
    margin-top: 0;
    padding: 7px;
    background: #f4f2f0;
    border: 1px solid #ebe7e3;
    border-radius: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px
}

.ssf-modern .about-stat {
    position: relative;
    min-width: 0;
    padding: 16px 14px 15px;
    border-radius: 11px;
    background: rgba(255, 255, 255, .72);
    overflow: hidden;
    transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease
}

.ssf-modern .about-stat:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #e40914;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease
}

.ssf-modern .about-stat:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: 0 12px 28px rgba(24, 28, 36, .08)
}

.ssf-modern .about-stat:hover:before {
    transform: scaleX(1)
}

.ssf-modern .about-stat-index {
    display: block;
    margin-bottom: 11px;
    color: #b6b1ad;
    font: 600 8px/1 var(--display-font);
    letter-spacing: 1.4px
}

.ssf-modern .about-refined-stats strong {
    display: flex;
    align-items: flex-start;
    font: 500 37px/1 var(--display-font);
    letter-spacing: -1.8px;
    color: #151a23
}

.ssf-modern .about-refined-stats .stat-plus {
    color: #e40914;
    font-size: 20px;
    line-height: 1;
    margin: 3px 0 0 3px
}

.ssf-modern .about-refined-stats small {
    display: block;
    color: #7f8792;
    font-size: 9px;
    line-height: 1.45;
    margin-top: 10px
}

@media(max-width:1199px) {
    .ssf-modern .about-refined-grid {
        gap: 40px
    }

    .ssf-modern .about-refined-heading {
        grid-template-columns: .25fr 1fr
    }

    .ssf-modern .about-refined-stats strong {
        font-size: 35px
    }
}

@media(max-width:991px) {
    .ssf-modern .about-refined-heading {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .ssf-modern .about-refined-heading .eyebrow {
        padding: 0
    }

    .ssf-modern .about-refined-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .ssf-modern .about-refined-photo {
        min-height: 0;
        aspect-ratio: 16/9
    }

    .ssf-modern .about-refined-content {
        padding: 0
    }

    .ssf-modern .about-refined-description {
        max-width: 650px
    }

    .ssf-modern .about-refined-stats strong {
        font-size: 40px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .about-refined {
        padding: 70px 0
    }

    .ssf-modern .about-refined-heading {
        margin-bottom: 30px;
        gap: 20px
    }

    .ssf-modern .about-refined-heading .section-title {
        font-size: 35px;
        letter-spacing: -1.4px
    }

    .ssf-modern .about-refined-photo {
        min-height: 0;
        aspect-ratio: 4/3;
        border-radius: 14px
    }

    .ssf-modern .about-image-caption {
        left: 25px;
        bottom: 25px
    }

    .ssf-modern .about-image-caption>p {
        font-size: 28px
    }

    .ssf-modern .about-refined-intro>p {
        font-size: 25px
    }

    .ssf-modern .about-refined-description {
        font-size: 13px
    }

    .ssf-modern .about-refined-points {
        gap: 12px 16px;
        font-size: 9px
    }

    .ssf-modern .about-refined-stats {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 6px
    }

    .ssf-modern .about-stat {
        display: grid;
        grid-template-columns: 30px 82px 1fr;
        align-items: center;
        padding: 13px 14px
    }

    .ssf-modern .about-stat-index {
        margin: 0
    }

    .ssf-modern .about-refined-stats strong {
        font-size: 31px
    }

    .ssf-modern .about-refined-stats .stat-plus {
        font-size: 18px
    }

    .ssf-modern .about-refined-stats small {
        margin: 0;
        font-size: 9px;
        line-height: 1.5
    }
}

/* Match the Services heading stack above the content and image columns. */
.ssf-modern .about-refined-heading {
    display: block;
    margin-bottom: 38px
}

.ssf-modern .about-refined-heading .eyebrow {
    padding: 0;
    margin-bottom: 26px;
    font-size: 10px
}

.ssf-modern .about-refined-heading .section-title {
    font-size: clamp(34px, 3.4vw, 54px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -1.8px;
    max-width: 900px;
    margin-bottom: 16px
}

.ssf-modern .about-refined-heading>.muted {
    font-size: 15px;
    line-height: 1.95;
    margin-bottom: 0
}

@media(max-width:575px) {
    .ssf-modern .about-refined-heading {
        margin-bottom: 30px
    }

    .ssf-modern .about-refined-heading .section-title {
        font-size: 35px;
        letter-spacing: -1.5px
    }
}

/* Match the FAQ heading alignment across the main conversion sections. */
.ssf-modern .services-section-heading,
.ssf-modern .about-refined-heading,
.ssf-modern .contact-section-heading {
    max-width: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.ssf-modern .services-section-heading {
    margin-bottom: 42px
}

.ssf-modern .services-section-heading .section-title,
.ssf-modern .about-refined-heading .section-title,
.ssf-modern .contact-section-heading .section-title {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px
}

.ssf-modern .services-section-heading>.muted,
.ssf-modern .about-refined-heading>.muted,
.ssf-modern .contact-section-heading>.muted {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto
}

.ssf-modern .services-section-heading .eyebrow,
.ssf-modern .about-refined-heading .eyebrow,
.ssf-modern .contact-section-heading .eyebrow {
    margin-bottom: 24px
}

@media(min-width:768px) {

    .ssf-modern .services-section-heading .section-title,
    .ssf-modern .about-refined-heading .section-title,
    .ssf-modern .contact-section-heading .section-title {
        white-space: nowrap;
        font-size: clamp(32px, 3.35vw, 52px);
        letter-spacing: -1.7px
    }
}

@media(max-width:767px) {

    .ssf-modern .services-section-heading,
    .ssf-modern .about-refined-heading,
    .ssf-modern .contact-section-heading,
    .ssf-modern .faq-section-heading {
        text-align: center
    }
}

/* Modern footer: focused CTA, useful navigation and a restrained brand statement. */
.ssf-modern .footer-modern {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    /* padding: 60px 0 clamp(120px, 13vw, 220px); */
    padding: 20px 0 clamp(120px, 13vw, 220px);
    background: radial-gradient(circle at 78% 8%, rgba(228, 9, 20, .13), transparent 26%), #0d1118;
    border-top: 0;
    color: #aeb5c1
}

.ssf-modern .footer-modern:before {
    display: block;
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, .025), transparent 35%);
    pointer-events: none
}

.ssf-modern .footer-modern>.container {
    position: relative;
    z-index: 2
}

.ssf-modern .footer-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 50px;
    padding: 0 0 42px;
    border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.ssf-modern .footer-cta-copy {
    max-width: 820px
}

.ssf-modern .footer-cta .eyebrow {
    margin: 0 0 17px;
    color: #ff6670
}

.ssf-modern .footer-cta h2 {
    margin: 0;
    color: #fff;
    font: 600 clamp(42px, 4.6vw, 66px)/1 var(--display-font);
    letter-spacing: -3.4px;
    white-space: nowrap
}

.ssf-modern .footer-cta h2 span {
    color: #e40914
}

.ssf-modern .footer-cta-copy>p:last-child {
    max-width: 670px;
    margin: 18px 0 0;
    color: #9da5b2;
    font-size: 15px;
    line-height: 1.9
}

.ssf-modern .footer-cta>.btn {
    margin-bottom: 5px;
    white-space: nowrap
}

.ssf-modern .footer-main-grid {
    display: grid;
    grid-template-columns: 1.45fr .72fr .85fr 1.15fr;
    gap: 64px;
    padding: 40px 0 36px
}

.ssf-modern .footer-modern .footer-about {
    position: static;
    max-width: 330px
}

.ssf-modern .footer-modern .footer-about:after,
.ssf-modern .footer-modern .footer-links:before,
.ssf-modern .footer-modern .footer-contact-social:before {
    display: none
}

.ssf-modern .footer-modern .footer-brand {
    display: inline-flex;
    margin-bottom: 24px
}

.ssf-modern .footer-modern .footer-logo {
    display: grid;
    place-items: center;
    width: 190px;
    height: 55px;
    padding: 9px 13px;
    /* background: #fff; */
    border-radius: 10px
}

.ssf-modern .footer-modern .footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.ssf-modern .footer-modern .footer-tagline {
    max-width: 330px;
    margin: 0 0 24px;
    color: #9da5b2;
    font-size: 15px;
    line-height: 1.9
}

.ssf-modern .footer-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #c7cdd7;
    font-size: 9px;
    letter-spacing: .4px
}

.ssf-modern .footer-status>i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 5px rgba(228, 9, 20, .12);
    animation: footerPulse 2s ease-in-out infinite
}

@keyframes footerPulse {
    50% {
        box-shadow: 0 0 0 8px rgba(228, 9, 20, 0)
    }
}

.ssf-modern .footer-modern h4 {
    margin: 4px 0 24px;
    color: #fff;
    font: 600 12px/1 var(--display-font);
    letter-spacing: 1.4px;
    text-transform: uppercase
}

.ssf-modern .footer-modern .footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0
}

.ssf-modern .footer-modern .footer-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    padding: 9px 0;
    color: #9da5b2;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none
}

.ssf-modern .footer-modern .footer-links a i {
    font-size: 8px;
    color: #e40914;
    opacity: 0;
    transform: translate(-4px, 4px);
    transition: opacity .25s ease, transform .3s ease
}

.ssf-modern .footer-modern .footer-links a:is(:hover, :focus-visible) {
    color: #fff;
    transform: none
}

.ssf-modern .footer-modern .footer-links a:is(:hover, :focus-visible) i {
    opacity: 1;
    transform: none
}

.ssf-modern .footer-modern .footer-contact-social {
    padding: 0
}

.ssf-modern .footer-modern .footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0
}

.ssf-modern .footer-email {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    color: #fff !important;
    font: 500 15px/1.4 var(--display-font);
    overflow-wrap: anywhere;
    text-decoration: none
}

.ssf-modern .footer-email i {
    flex: 0 0 auto;
    color: #e40914;
    font-size: 12px;
    transition: transform .3s ease
}

.ssf-modern .footer-email:hover i {
    transform: translateX(5px)
}

.ssf-modern .footer-contact-line {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: #9da5b2 !important;
    font-size: 11px;
    line-height: 1.7;
    text-decoration: none
}

.ssf-modern .footer-contact-line>i {
    width: 14px;
    margin-top: 4px;
    color: #e40914;
    text-align: center
}

.ssf-modern .footer-socials {
    display: flex;
    gap: 8px;
    margin-top: 25px
}

.ssf-modern .footer-modern .footer-socials a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    background: transparent;
    color: #bec5d0;
    font-size: 11px
}

.ssf-modern .footer-pillars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #929aa7;
    font: 600 9px/1 var(--display-font);
    letter-spacing: 1.7px;
    text-transform: uppercase
}

.ssf-modern .footer-pillars i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #e40914
}

.ssf-modern .footer-modern .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin: 0;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, .1) !important;
    text-align: left;
    border: 1px solid transparent;
    /* border-bottom: 1px solid rgba(255, 255, 255, .1); */
    box-shadow: none;
    border-radius: 0px;
}

.ssf-modern .footer-modern .footer-bottom p {
    margin: 0;
    color: #bfc4cd;
    font-size: 13px;
    line-height: 1.65;
    letter-spacing: .1px
}

.ssf-modern .footer-modern .footer-bottom .footer-copyright {
    color: #fff;
    font-size: 15px;
    font-weight: 700
}

.ssf-modern .footer-company-note {
    max-width: 740px;
    text-align: right;
    line-height: 1.6
}

.ssf-modern .footer-wordmark {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: auto;
    bottom: -.22em;
    transform: translateX(-50%);
    display: flex;
    gap: .12em;
    color: transparent;
    font: 700 clamp(170px, 23vw, 430px)/.68 var(--display-font);
    letter-spacing: -.08em;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    animation: footerWordmarkRise 1.1s cubic-bezier(.22, 1, .36, 1) both
}

@keyframes footerWordmarkRise {
    from {
        opacity: 0;
        transform: translate(-50%, 45%)
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0)
    }
}

.ssf-modern .footer-wordmark span {
    -webkit-text-stroke: 1px rgba(255, 255, 255, .045);
    background: linear-gradient(90deg, rgba(255, 255, 255, .055) 0 50%, transparent 50% 100%);
    background-size: 210% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: footerWordFill 7s cubic-bezier(.22, 1, .36, 1) infinite
}

.ssf-modern .footer-wordmark span:nth-child(2) {
    animation-delay: 1.05s
}

@keyframes footerWordFill {

    0%,
    14% {
        background-position: 100% 0
    }

    42%,
    72% {
        background-position: 0 0
    }

    100% {
        background-position: -100% 0
    }
}

@media(max-width:1199px) {
    .ssf-modern .footer-main-grid {
        grid-template-columns: 1.25fr .7fr .8fr 1.1fr;
        gap: 35px
    }

    .ssf-modern .footer-cta {
        gap: 35px
    }

    .ssf-modern .footer-email {
        font-size: 13px
    }
}

@media(max-width:991px) {
    .ssf-modern .footer-modern {
        padding-top: 0
    }

    .ssf-modern .footer-cta {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 25px
    }

    .ssf-modern .footer-cta h2 {
        white-space: normal
    }

    .ssf-modern .footer-cta>.btn {
        justify-self: start
    }

    .ssf-modern .footer-main-grid {
        grid-template-columns: 1.25fr 1fr;
        gap: 42px 70px
    }

    .ssf-modern .footer-modern .footer-about {
        max-width: 390px
    }

    .ssf-modern .footer-wordmark {
        top: auto;
        bottom: -.18em;
        font-size: 26vw
    }
}

@media(max-width:575px) {
    .ssf-modern .footer-modern {
        padding-top: 48px;
        padding: 20px 0 clamp(85px, 13vw, 220px);
    }

    .ssf-modern .footer-cta {
        padding-bottom: 36px
    }

    .ssf-modern .footer-cta h2 {
        font-size: 40px;
        letter-spacing: -2.4px
    }

    .ssf-modern .footer-cta-copy>p:last-child {
        font-size: 14px;
        margin-top: 17px
    }

    .ssf-modern .footer-main-grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 0px 0 32px
    }

    .ssf-modern .footer-modern .footer-about {
        max-width: none;
        padding: 0;
    }

    .ssf-modern .footer-modern h4 {
        margin-bottom: 17px
    }

    .ssf-modern .footer-modern .footer-links a {
        padding: 8px 0
    }

    .ssf-modern .footer-pillars {
        gap: 10px;
        font-size: 8px;
        letter-spacing: 1.2px
    }

    .ssf-modern .footer-modern .footer-bottom {
        /* align-items: flex-start; */
        align-items: center;
        flex-direction: column;
        gap: 7px
    }

    .ssf-modern .footer-company-note {
        max-width: none;
        /* text-align: left */
        text-align: center
    }

    .ssf-modern .footer-wordmark {
        top: auto;
        /* bottom: -.12em;
        font-size: 31vw; */
        bottom: 0.1em;
        font-size: 25vw;
    }
}

@media(prefers-reduced-motion:reduce) {
    .ssf-modern .footer-wordmark span {
        animation: none;
        background-position: 0 0
    }
}

/* Modern SSF services directory. */
.ssf-modern.is-home .services-section {
    position: relative;
    margin: 26px 18px;
    padding: 100px 0 110px;
    overflow: hidden;
    border: 1px solid #ebe7e5;
    border-radius: 34px;
    background: radial-gradient(circle at 8% 0, rgba(228, 9, 20, .09), transparent 25%), linear-gradient(145deg, #f8f6f5, #fff 58%, #f7f5f4)
}

.ssf-modern.is-home .services-section:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(16, 24, 44, .055) .8px, transparent .8px);
    background-size: 22px 22px;
    mask-image: linear-gradient(90deg, black, transparent 58%);
    pointer-events: none
}

.ssf-modern.is-home .services-section>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-home .services-section-heading {
    max-width: 900px;
    margin: 0 auto 46px;
    text-align: center
}

.ssf-modern.is-home .services-section-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    margin-bottom: 17px;
    border: 1px solid rgba(228, 9, 20, .13);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16, 24, 44, .04)
}

.ssf-modern.is-home .services-section-heading .section-title {
    margin-bottom: 18px;
    color: #10182c;
    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.05;
    letter-spacing: -.05em
}

.ssf-modern.is-home .services-section-heading .section-title span {
    color: #e40914
}

.ssf-modern.is-home .services-section-heading>.muted {
    max-width: 720px;
    margin-inline: auto;
    color: #697181;
    font-size: 15px;
    line-height: 1.8
}

.ssf-modern.is-home .service-category-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
    max-width: 1000px;
    margin: 0 auto 28px;
    padding: 7px;
    border: 1px solid #e7e3e1;
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 14px 38px rgba(16, 24, 44, .055);
    backdrop-filter: blur(14px)
}

.ssf-modern.is-home .service-category-tab {
    flex: 1 1 180px;
    justify-content: center;
    min-height: 52px;
    padding: 11px 17px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #616979;
    transition: color .3s, background .3s, transform .35s, box-shadow .35s
}

.ssf-modern.is-home .service-category-tab>i {
    color: #bd1119;
    font-size: 16px
}

.ssf-modern.is-home .service-category-tab small {
    margin-left: 3px;
    background: #f0edeb
}

.ssf-modern.is-home .service-category-tab.active {
    background: #111827;
    color: #fff;
    box-shadow: 0 10px 25px rgba(16, 24, 39, .18)
}

.ssf-modern.is-home .service-category-tab.active>i {
    color: #ff5f68
}

.ssf-modern.is-home .service-category-tab.active small {
    background: rgba(255, 255, 255, .12);
    color: #fff
}

.ssf-modern.is-home .service-category-tab:not(.active):hover {
    transform: translateY(-2px);
    background: #fff1f2;
    color: #b90710
}

.ssf-modern.is-home .service-category-intro {
    position: relative;
    margin: 0 0 28px;
    padding: 34px 38px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 24px;
    background: radial-gradient(circle at 88% 15%, rgba(228, 9, 20, .21), transparent 28%), linear-gradient(135deg, #111827, #080d16);
    box-shadow: 0 24px 55px rgba(16, 24, 44, .14)
}

.ssf-modern.is-home .service-category-intro:after {
    content: '';
    position: absolute;
    width: 190px;
    height: 190px;
    right: -65px;
    bottom: -120px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%
}

.ssf-modern.is-home .service-category-intro .eyebrow {
    color: #ff747c
}

.ssf-modern.is-home .service-category-intro h3 {
    color: #fff;
    font-size: 31px;
    letter-spacing: -1.1px
}

.ssf-modern.is-home .service-category-intro p:not(.eyebrow) {
    color: #aeb6c5;
    font-size: 14px
}

.ssf-modern.is-home .service-category-cta {
    position: relative;
    z-index: 2;
    min-height: 47px;
    padding: 12px 21px;
    border-radius: 999px;
    background: #e40914;
    color: #fff;
    box-shadow: 0 12px 28px rgba(228, 9, 20, .28);
    transition: transform .35s, box-shadow .35s
}

.ssf-modern.is-home .service-category-cta:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(228, 9, 20, .38)
}

.ssf-modern.is-home .service-category-cta i {
    transition: transform .3s
}

.ssf-modern.is-home .service-category-cta:hover i {
    transform: translateX(4px)
}

.ssf-modern.is-home .service-category-panels .services-grid {
    margin-top: 0
}

.ssf-modern.is-home .service-category-panels .services-grid>.swiper-wrapper {
    gap: 22px
}

.ssf-modern.is-home .service-category-panels .service-card-with-image {
    border: 1px solid #e7e3e1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(16, 24, 44, .055);
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), box-shadow .4s, border-color .3s
}

.ssf-modern.is-home .service-category-panels .service-card-with-image:is(:hover, :focus-within) {
    transform: translateY(-9px);
    border-color: rgba(228, 9, 20, .22);
    box-shadow: 0 25px 55px rgba(16, 24, 44, .12)
}

.ssf-modern.is-home .service-card-image {
    aspect-ratio: 16/9.5
}

.ssf-modern.is-home .service-card-image:after {
    background: linear-gradient(0deg, rgba(7, 12, 20, .58), transparent 68%)
}

.ssf-modern.is-home .service-image-category {
    padding: 7px 11px;
    border-radius: 999px;
    backdrop-filter: blur(8px)
}

.ssf-modern.is-home .service-card-content {
    min-height: 310px;
    padding: 26px
}

.ssf-modern.is-home .service-card-with-image h3 {
    color: #111827;
    font-size: 22px
}

.ssf-modern.is-home .service-card-with-image p {
    color: #687181
}

.ssf-modern.is-home .service-card-with-image a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    color: #b90710;
    font-weight: 700
}

.ssf-modern.is-home .service-card-with-image a i {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff0f1;
    transition: transform .3s, background .3s, color .3s
}

.ssf-modern.is-home .service-card-with-image:hover a i {
    transform: translateX(3px);
    background: #e40914;
    color: #fff
}

@media(max-width:991px) {
    .ssf-modern.is-home .services-section {
        margin-inline: 0px;
        padding: 80px 0 88px;
        border-radius: 28px
    }

    .ssf-modern.is-home .service-category-tabs {
        border-radius: 24px
    }

    .ssf-modern.is-home .service-category-intro {
        align-items: flex-start;
        padding: 30px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .services-section {
        margin-inline: auto;
        padding: 68px 0 76px;
        border-radius: 22px
    }

    .ssf-modern.is-home .services-section-heading .section-title {
        font-size: 39px
    }

    .ssf-modern.is-home .service-category-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 6px;
        border-radius: 20px
    }

    .ssf-modern.is-home .service-category-tab {
        min-width: 0;
        min-height: 48px;
        padding: 10px;
        border-radius: 15px
    }

    .ssf-modern.is-home .service-category-intro {
        padding: 25px 22px;
        border-radius: 20px
    }

    .ssf-modern.is-home .service-category-intro h3 {
        font-size: 27px
    }

    .ssf-modern.is-home .service-category-cta {
        width: 100%;
        justify-content: center
    }
}

/* Premium partner strip. */
.ssf-modern.is-home .clients-section {
    padding: 54px 0 72px;
    border: 0;
    background: #fff
}

.ssf-modern.is-home .clients-panel {
    position: relative;
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 42px;
    align-items: center;
    padding: 28px;
    overflow: hidden;
    border: 1px solid #ebe8e7;
    border-radius: 26px;
    background: linear-gradient(135deg, #fff, #faf8f7);
    box-shadow: 0 18px 55px rgba(16, 24, 44, .055)
}

.ssf-modern.is-home .clients-panel:before {
    content: '';
    position: absolute;
    width: 230px;
    height: 230px;
    top: -145px;
    left: -85px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 9, 20, .12), transparent 70%);
    pointer-events: none
}

.ssf-modern.is-home .clients-head {
    position: relative;
    z-index: 1
}

.ssf-modern.is-home .clients-head .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px
}

.ssf-modern.is-home .clients-head .eyebrow:before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1)
}

.ssf-modern.is-home .clients-head .section-title {
    max-width: 220px;
    margin: 0;
    color: #10182c;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -1.25px;
    text-align: left !important
}

.ssf-modern.is-home .clients-carousel-wrap {
    position: relative;
    z-index: 1;
    min-width: 0
}

.ssf-modern.is-home .client-logo-slide {
    height: auto
}

.ssf-modern.is-home .client-logo-card {
    position: relative;
    display: grid;
    place-items: center;
    height: 96px;
    padding: 18px 22px;
    overflow: hidden;
    border: 1px solid #ece9e8;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    filter: grayscale(1);
    opacity: .68;
    box-shadow: 0 7px 22px rgba(16, 24, 44, .035);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), border-color .3s, box-shadow .4s, filter .3s, opacity .3s
}

.ssf-modern.is-home .client-logo-card:before {
    content: '\2197';
    position: absolute;
    z-index: 3;
    top: 11px;
    right: 11px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e40914;
    color: #fff;
    font-size: 15px;
    opacity: 0;
    transform: translate(8px, 8px) scale(.65) rotate(-18deg);
    box-shadow: 0 9px 22px rgba(228, 9, 20, .28);
    transition: opacity .3s, transform .4s cubic-bezier(.22, 1, .36, 1)
}

.ssf-modern.is-home .client-logo-card:hover {
    transform: translateY(-7px);
    border-color: rgba(228, 9, 20, .2);
    filter: none;
    opacity: 1;
    box-shadow: 0 18px 34px rgba(16, 24, 44, .09)
}

.ssf-modern.is-home .client-logo-card:hover:before {
    opacity: 1;
    transform: none
}

.ssf-modern.is-home .client-logo-card img {
    max-width: 150px;
    max-height: 52px;
    object-fit: contain;
    transition: transform .4s
}

.ssf-modern.is-home .client-logo-card:hover img {
    transform: scale(1.04)
}

/* Modern four-step delivery journey. */
.ssf-modern.is-home .delivery-section {
    position: relative;
    width: auto;
    margin: 26px 18px;
    padding: 105px 0;
    overflow: hidden;
    border-radius: 34px;
    background-color: #080c14;
    background-image: url('../images/stock/process-development.webp');
    background-position: center 45%;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    box-shadow: 0 28px 75px rgba(7, 11, 19, .2)
}

.ssf-modern.is-home .delivery-section::before {
    z-index: 0;
    background-image: radial-gradient(rgba(255, 255, 255, .05) .8px, transparent .8px), radial-gradient(circle at 86% 12%, rgba(228, 9, 20, .2), transparent 28%), linear-gradient(90deg, rgba(5, 9, 16, .94), rgba(5, 9, 16, .76) 58%, rgba(5, 9, 16, .67));
    background-size: 22px 22px, auto, auto;
    opacity: 1
}

.ssf-modern.is-home .delivery-section>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-home .delivery-heading {
    align-items: end;
    margin-bottom: 52px
}

.ssf-modern.is-home .delivery-heading .eyebrow {
    display: inline-flex;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    backdrop-filter: blur(10px)
}

.ssf-modern.is-home .delivery-heading .section-title {
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -.05em
}

.ssf-modern.is-home .delivery-heading .section-title span {
    color: #ff5860
}

.ssf-modern.is-home .delivery-heading .muted {
    max-width: 390px;
    color: #aeb6c5;
    font-size: 15px;
    line-height: 1.8
}

.ssf-modern.is-home .delivery-grid {
    gap: 14px;
    border: 0
}

.ssf-modern.is-home .delivery-grid article {
    position: relative;
    min-height: 270px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    backdrop-filter: blur(14px);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), background .3s, border-color .3s, box-shadow .4s
}

.ssf-modern.is-home .delivery-grid article:before {
    display: none
}

.ssf-modern.is-home .delivery-grid article:after {
    content: '\2197';
    position: absolute;
    right: 22px;
    top: 22px;
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    opacity: 0;
    transform: translate(7px, 7px) scale(.7);
    transition: opacity .3s, transform .4s cubic-bezier(.22, 1, .36, 1), background .3s
}

.ssf-modern.is-home .delivery-grid article:hover {
    transform: translateY(-9px);
    border-color: rgba(228, 9, 20, .42);
    background: linear-gradient(145deg, rgba(228, 9, 20, .14), rgba(255, 255, 255, .035));
    box-shadow: 0 24px 45px rgba(0, 0, 0, .22)
}

.ssf-modern.is-home .delivery-grid article:hover:after {
    opacity: 1;
    transform: none;
    background: #e40914
}

.ssf-modern.is-home .delivery-grid article>span {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    /* background: rgba(228, 9, 20, .13); */
    background: #eee;
    color: #ff6971;
    font-size: 12px;
    font-weight: 700
}

.ssf-modern.is-home .delivery-grid h3 {
    margin: 42px 0 14px;
    color: #fff;
    font-size: 22px
}

.ssf-modern.is-home .delivery-grid p {
    color: #aeb6c5;
    line-height: 1.75
}

@media(max-width:991px) {
    .ssf-modern.is-home .clients-panel {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .ssf-modern.is-home .clients-head {
        display: block
    }

    .ssf-modern.is-home .clients-head .section-title {
        max-width: none
    }

    .ssf-modern.is-home .delivery-section {
        margin-inline: 10px;
        padding: 82px 0;
        border-radius: 28px;
        background-attachment: scroll;
        background-position: 65% center
    }

    .ssf-modern.is-home .delivery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .clients-panel {
        padding: 22px 18px;
        border-radius: 21px
    }

    .ssf-modern.is-home .client-logo-card {
        height: 86px;
        border-radius: 15px
    }

    .ssf-modern.is-home .delivery-section {
        margin-inline: 7px;
        padding: 68px 0;
        border-radius: 22px
    }

    .ssf-modern.is-home .delivery-heading {
        /* align-items: flex-start; */
        align-items: center;
        margin-bottom: 34px
    }

    .ssf-modern.is-home .delivery-heading .section-title {
        font-size: 40px
    }

    .ssf-modern.is-home .delivery-grid {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-home .delivery-grid article {
        min-height: 235px
    }
}

/* Clean cinematic hero — intentionally card-free. */
.ssf-modern.is-home .clients-description {
    max-width: 245px;
    margin: 12px 0 0;
    color: #707786;
    font-size: 12px;
    line-height: 1.65
}

.ssf-modern.is-home .modern-hero {
    position: relative;
    isolation: isolate;
    min-height: 860px;
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 30px 80px rgba(4, 8, 15, .24)
}

.ssf-modern.is-home .modern-hero:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    width: 620px;
    height: 620px;
    top: -310px;
    left: 38%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 9, 20, .23), rgba(228, 9, 20, 0) 68%);
    filter: blur(10px);
    pointer-events: none
}

.ssf-modern.is-home .modern-hero:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 7, 13, .91) 0%, rgba(3, 7, 13, .7) 42%, rgba(3, 7, 13, .22) 76%, rgba(228, 9, 20, .06));
    pointer-events: none
}

.ssf-modern.is-home .modern-hero>.container {
    z-index: 3;
    max-width: 1320px
}

.ssf-modern.is-home .hero-tech-grid {
    z-index: 2;
    opacity: .75;
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, black 48%, transparent)
}

.ssf-modern.is-home .hero-stage {
    display: block;
    min-height: 0
}

.ssf-modern.is-home .hero-editorial {
    max-width: 920px;
    padding: 20px 0 62px
}

.ssf-modern.is-home .modern-hero .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    padding: 9px 15px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(9, 14, 23, .52);
    color: #ff8c92;
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px rgba(255, 255, 255, .06)
}

.ssf-modern.is-home .modern-hero .eyebrow:before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #f20d19;
    box-shadow: 0 0 0 5px rgba(228, 9, 20, .12), 0 0 20px rgba(228, 9, 20, .8)
}

.ssf-modern.is-home .modern-hero h1 {
    max-width: 920px;
    margin-bottom: 28px;
    font-size: clamp(62px, 6.3vw, 104px);
    font-weight: 600;
    line-height: .96;
    letter-spacing: -.065em;
    text-shadow: 0 10px 35px rgba(0, 0, 0, .22)
}

.ssf-modern.is-home .modern-hero h1 span {
    background: linear-gradient(90deg, #fff 0 72%, #ff9da2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent
}

.ssf-modern.is-home .modern-hero .hero-copy {
    max-width: 650px;
    color: #c0c7d2;
    font-size: 17px;
    line-height: 1.8
}

.ssf-modern.is-home .hero-actions {
    gap: 12px;
    margin-top: 34px
}

.ssf-modern.is-home .hero-actions .btn {
    min-height: 54px;
    padding: 12px 24px;
    border-radius: 7px;
    font-weight: 700;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s, background .25s, color .25s, border-color .25s
}

.ssf-modern.is-home .hero-actions .btn-brand {
    box-shadow: 0 13px 32px rgba(228, 9, 20, .3)
}

.ssf-modern.is-home .hero-actions .hero-secondary {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .22);
    backdrop-filter: blur(12px)
}

.ssf-modern.is-home .hero-actions .btn:hover {
    transform: translateY(-4px)
}

.ssf-modern.is-home .hero-actions .btn-brand:hover {
    box-shadow: 0 19px 44px rgba(228, 9, 20, .42)
}

.ssf-modern.is-home .hero-actions .hero-secondary:hover {
    background: #fff;
    border-color: #fff;
    color: #10141d;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .2)
}

.ssf-modern.is-home .hero-actions .button-orb,
.ssf-modern.is-home .hero-actions .btn>i {
    transition: transform .3s
}

.ssf-modern.is-home .hero-actions .btn:hover .button-orb,
.ssf-modern.is-home .hero-actions .btn:hover>i {
    transform: translateX(4px)
}

/* Carry the Client Reviews badge style through all following homepage sections. */
.ssf-modern.is-home .insights-head .eyebrow,
.ssf-modern.is-home .portfolio-head .eyebrow,
.ssf-modern.is-home .delivery-heading .eyebrow,
.ssf-modern.is-home .contact-section-heading .eyebrow,
.ssf-modern.is-home .faq-section-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin-bottom: 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    box-shadow: none;
    backdrop-filter: none;
}

.ssf-modern.is-home .insights-head .eyebrow:before,
.ssf-modern.is-home .portfolio-head .eyebrow:before,
.ssf-modern.is-home .delivery-heading .eyebrow:before,
.ssf-modern.is-home .contact-section-heading .eyebrow:before,
.ssf-modern.is-home .faq-section-heading .eyebrow:before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

.ssf-modern.is-home .hero-bottom-line {
    border-top-color: rgba(255, 255, 255, .13)
}

@media(max-width:991px) {
    .ssf-modern.is-home .modern-hero {
        min-height: 800px
    }

    .ssf-modern.is-home .modern-hero h1 {
        font-size: clamp(58px, 10vw, 82px)
    }

    .ssf-modern.is-home .hero-editorial {
        max-width: 820px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .modern-hero {
        min-height: 760px;
        margin: 7px;
        border-radius: 22px
    }

    .ssf-modern.is-home .modern-hero:before {
        width: 340px;
        height: 340px;
        left: 22%;
        top: -150px
    }

    .ssf-modern.is-home .modern-hero h1 {
        font-size: 49px;
        line-height: 1;
        letter-spacing: -.05em
    }

    .ssf-modern.is-home .modern-hero .hero-copy {
        font-size: 14px;
        line-height: 1.7
    }

    .ssf-modern.is-home .hero-actions {
        flex-direction: column;
        align-items: stretch
    }

    .ssf-modern.is-home .hero-actions .btn {
        justify-content: center;
        width: 100%
    }
}

/* Content-led hero with a modern, functional quote form. */
.ssf-modern.is-home .hero-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
    gap: 70px;
    align-items: center
}

.ssf-modern.is-home .hero-editorial {
    max-width: 760px
}

.ssf-modern.is-home .modern-hero h1 {
    max-width: 760px;
    font-size: clamp(56px, 5.1vw, 84px);
    line-height: .98
}

.ssf-modern.is-home .modern-hero .hero-copy strong {
    display: inline-block;
    margin-bottom: 5px;
    color: #fff;
    font: 600 18px/1.5 var(--display-font)
}

.ssf-modern.is-home .hero-quote-card {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: 510px;
    margin-left: auto;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(24, 29, 40, .88), rgba(8, 13, 22, .82));
    box-shadow: 0 30px 75px rgba(0, 0, 0, .36), inset 0 1px rgba(255, 255, 255, .07);
    backdrop-filter: blur(22px)
}

.ssf-modern.is-home .hero-quote-card:before {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    top: -150px;
    right: -90px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(228, 9, 20, .24), transparent 70%);
    pointer-events: none
}

.ssf-modern.is-home .hero-quote-card:after {
    content: '';
    position: absolute;
    inset: auto 26px 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #e40914, transparent);
    opacity: .75
}

.ssf-modern.is-home .hero-form-head {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px
}

.ssf-modern.is-home .hero-form-head>span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: rgba(228, 9, 20, .14);
    color: #ff6069;
    box-shadow: 0 10px 24px rgba(228, 9, 20, .14)
}

.ssf-modern.is-home .hero-form-head small {
    display: block;
    margin-bottom: 3px;
    color: #9da6b5;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase
}

.ssf-modern.is-home .hero-form-head h3 {
    margin: 0;
    color: #fff;
    font: 600 25px/1.2 var(--display-font);
    letter-spacing: -.6px
}

.ssf-modern.is-home .hero-quote-card .form-control,
.ssf-modern.is-home .hero-quote-card .form-select {
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .055);
    color: #fff;
    font-size: 12px;
    box-shadow: none;
    transition: border-color .25s, background .25s, box-shadow .25s
}

.ssf-modern.is-home .hero-quote-card textarea.form-control {
    min-height: 105px;
    resize: vertical
}

.ssf-modern.is-home .hero-quote-card .form-control::placeholder {
    color: #8f98a8
}

.ssf-modern.is-home .hero-quote-card .form-select {
    color: #aeb6c4;
    padding-right: 42px;
    appearance: none;
    background-image: none
}

.ssf-modern.is-home .service-select-wrap {
    position: relative
}

.ssf-modern.is-home .service-select-wrap .form-select {
    padding-right: 42px;
    appearance: none;
    background-image: none
}

.ssf-modern.is-home .service-select-icon {
    position: absolute;
    top: 50%;
    right: 16px;
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    color: #e40914;
    font-size: 11px;
    pointer-events: none;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;
    transition: transform .25s ease, color .25s ease
}

.ssf-modern.is-home .service-select-wrap.is-open .service-select-icon {
    color: #ff4d56;
    transform: translateY(-50%) rotate(180deg)
}

.ssf-modern.is-home .hero-quote-card .form-select option {
    color: #151923;
    background: #fff
}

.ssf-modern.is-home .hero-quote-card .form-control:focus,
.ssf-modern.is-home .hero-quote-card .form-select:focus {
    border-color: rgba(255, 73, 82, .72);
    background: rgba(255, 255, 255, .075);
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1)
}

.ssf-modern.is-home .hero-quote-card .btn {
    width: 100%;
    min-height: 51px;
    justify-content: center;
    border-radius: 7px;
    box-shadow: 0 13px 30px rgba(228, 9, 20, .27)
}

.ssf-modern.is-home .hero-quote-card .btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(228, 9, 20, .4)
}

@media(max-width:1199px) {
    .ssf-modern.is-home .hero-stage {
        grid-template-columns: minmax(0, 1fr) 420px;
        gap: 42px
    }

    .ssf-modern.is-home .modern-hero h1 {
        font-size: clamp(54px, 5.7vw, 74px)
    }
}

@media(max-width:991px) {
    .ssf-modern.is-home .modern-hero {
        height: auto;
        min-height: 0;
        padding-block: 150px 45px
    }

    .ssf-modern.is-home .hero-stage {
        grid-template-columns: 1fr;
        gap: 42px
    }

    .ssf-modern.is-home .hero-editorial {
        max-width: 780px;
        padding-bottom: 0
    }

    .ssf-modern.is-home .hero-quote-card {
        max-width: 680px;
        margin: 0
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .hero-stage {
        gap: 34px
    }

    .ssf-modern.is-home .modern-hero h1 {
        font-size: 45px
    }

    .ssf-modern.is-home .hero-quote-card {
        padding: 22px 18px;
        border-radius: 19px
    }

    .ssf-modern.is-home .hero-form-head h3 {
        font-size: 22px
    }
}

/* Keep paired quote fields on one row wherever the card has room. */
@media(min-width:576px) {
    .ssf-modern.is-home .hero-quote-card .hero-contact-form .row>.col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }
}

/* Clean partner presentation below the hero. */
.ssf-modern.is-home .clients-section {
    padding: 64px 0 78px
}

.ssf-modern.is-home .clients-panel {
    display: block;
    padding: 38px;
    border-radius: 28px;
    background: linear-gradient(145deg, #fff, #faf8f7);
    box-shadow: 0 20px 55px rgba(16, 24, 44, .06)
}

.ssf-modern.is-home .clients-head {
    display: block;
    max-width: 820px;
    margin: 0 auto 30px;
    text-align: center
}

.ssf-modern.is-home .clients-head .eyebrow {
    margin: 0 auto 13px;
    text-align: center !important
}

.ssf-modern.is-home .clients-head .section-title {
    max-width: none;
    margin: 0 auto;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.8px;
    text-align: center !important
}

.ssf-modern.is-home .clients-description {
    max-width: 680px;
    margin: 14px auto 0;
    color: #707786;
    font-size: 14px;
    line-height: 1.75;
    text-align: center
}

.ssf-modern.is-home .clients-carousel-wrap {
    width: 100%
}

.ssf-modern.is-home .client-logo-card {
    height: 92px;
    padding: 17px 20px;
    border-radius: 17px;
    background: #fff
}

@media(max-width:575px) {
    .ssf-modern.is-home .clients-section {
        padding: 48px 0 60px
    }

    .ssf-modern.is-home .clients-panel {
        padding: 28px 18px;
        border-radius: 22px
    }

    .ssf-modern.is-home .clients-head {
        margin-bottom: 24px
    }

    .ssf-modern.is-home .clients-head .section-title {
        font-size: 31px;
        letter-spacing: -1.2px
    }

    .ssf-modern.is-home .clients-description {
        font-size: 12px
    }
}

/* Open editorial About: content left, layered imagery right, no box layout. */
.ssf-modern.is-home .about-refined {
    position: relative;
    margin: 0;
    padding: 120px 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #fff
}

.ssf-modern.is-home .about-refined-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 80px;
    align-items: stretch
}

.ssf-modern.is-home .about-refined-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 620px;
    padding: 32px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .about-refined-content .about-refined-heading {
    display: block;
    max-width: none;
    margin: 0 0 28px;
    text-align: left
}

.ssf-modern.is-home .about-refined-content .about-refined-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .about-refined-content .about-refined-heading .eyebrow:before {
    content: '';
    width: 28px;
    height: 2px;
    margin-right: 9px;
    border-radius: 0;
    background: #e40914;
    box-shadow: none
}

.ssf-modern.is-home .about-refined-content .about-refined-heading .section-title {
    max-width: 610px;
    margin: 0 0 18px;
    font-size: clamp(45px, 4.5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.055em;
    text-align: left;
    white-space: normal
}

.ssf-modern.is-home .about-refined-content .about-refined-heading .section-title span {
    color: #e40914
}

.ssf-modern.is-home .about-refined-content .about-refined-heading>.muted {
    max-width: 560px;
    margin: 0;
    color: #656e7d;
    font-size: 15px;
    line-height: 1.8;
    text-align: left
}

.ssf-modern.is-home .about-refined-description {
    max-width: 590px;
    margin: 0;
    padding-left: 22px;
    border-left: 2px solid #e40914;
    color: #4f5868;
    font-size: 16px;
    line-height: 1.9
}

.ssf-modern.is-home .about-refined-stats {
    width: 100%;
    max-width: 620px;
    margin-top: 36px;
    padding: 0;
    gap: 0;
    border: 0;
    border-top: 1px solid #e5e2e0;
    border-bottom: 1px solid #e5e2e0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .about-stat {
    min-height: 120px;
    padding: 22px 18px;
    border: 0;
    border-right: 1px solid #e5e2e0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .about-stat:last-child {
    border-right: 0
}

.ssf-modern.is-home .about-stat:hover {
    transform: none;
    background: #f9f6f5;
    box-shadow: none
}

.ssf-modern.is-home .about-visual-pair {
    position: relative;
    height: 100%;
    min-height: 620px
}

.ssf-modern.is-home .about-visual-pair figure {
    position: absolute;
    margin: 0;
    overflow: hidden;
    background: #e8e5e2;
    box-shadow: 0 26px 60px rgba(16, 24, 44, .15)
}

.ssf-modern.is-home .about-visual-pair figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.84) contrast(1.04);
    transition: transform .9s cubic-bezier(.22, 1, .36, 1), filter .5s
}

.ssf-modern.is-home .about-visual-pair figure:hover img {
    transform: scale(1.05);
    filter: saturate(1)
}

.ssf-modern.is-home .about-visual-main {
    inset: 0 70px 70px 0;
    z-index: 1;
    border: 0;
    border-radius: 26px
}

.ssf-modern.is-home .about-visual-secondary {
    z-index: 2;
    width: 48%;
    height: 43%;
    right: 0;
    bottom: 0;
    border: 6px solid #fff;
    border-radius: 20px
}

.ssf-modern.is-home .about-visual-label {
    position: absolute;
    z-index: 3;
    bottom: 34px;
    left: -30px;
    width: 255px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    background: rgba(8, 13, 22, .86);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .2);
    backdrop-filter: blur(15px)
}

.ssf-modern.is-home .about-visual-label span {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #ff747c;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase
}

.ssf-modern.is-home .about-visual-label span:before {
    content: '';
    width: 20px;
    height: 2px;
    background: #e40914
}

.ssf-modern.is-home .about-visual-label strong {
    color: #fff;
    font: 600 24px/1.18 var(--display-font);
    letter-spacing: -.6px
}

@media(max-width:991px) {
    .ssf-modern.is-home .about-refined {
        padding: 90px 0
    }

    .ssf-modern.is-home .about-refined-grid {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .ssf-modern.is-home .about-refined-content {
        min-height: 0;
        padding: 0
    }

    .ssf-modern.is-home .about-visual-pair {
        height: auto;
        min-height: 570px
    }

    .ssf-modern.is-home .about-visual-label {
        left: 20px
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .about-refined {
        padding: 72px 0
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading .section-title {
        font-size: 42px
    }

    .ssf-modern.is-home .about-refined-description {
        padding-left: 16px;
        font-size: 15px
    }

    .ssf-modern.is-home .about-refined-stats {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-home .about-stat {
        border-right: 0;
        border-bottom: 1px solid #e5e2e0
    }

    .ssf-modern.is-home .about-stat:last-child {
        border-bottom: 0
    }

    .ssf-modern.is-home .about-visual-pair {
        min-height: 445px
    }

    .ssf-modern.is-home .about-visual-main {
        inset: 0 24px 72px 0
    }

    .ssf-modern.is-home .about-visual-label {
        bottom: 22px;
        left: 10px;
        width: 205px;
        padding: 17px
    }

    .ssf-modern.is-home .about-visual-label strong {
        font-size: 19px
    }
}

/* Keep homepage headings contained and use one consistent black/red hierarchy. */
.ssf-modern.is-home .services-section-heading .section-title {
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    white-space: normal;
    overflow-wrap: normal;
    text-wrap: balance;
}

/* .ssf-modern.is-home .section-title:not(.light) { color:#10182c } */
.ssf-modern.is-home .section-title:not(.light) span {
    color: #e40914
}

@media(max-width:991px) {
    .ssf-modern.is-home .services-section-heading {
        max-width: 100%;
        padding-inline: 12px
    }

    .ssf-modern.is-home .services-section-heading .section-title {
        font-size: clamp(38px, 6vw, 54px)
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .services-section-heading {
        padding-inline: 0
    }

    .ssf-modern.is-home .services-section-heading .section-title {
        font-size: 36px;
        letter-spacing: -1.5px
    }
}

/* Unified typography for every homepage section heading (hero remains distinct). */
.ssf-modern.is-home h2.section-title {
    font-size: clamp(36px, 3.2vw, 52px) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

@media(max-width:767px) {
    .ssf-modern.is-home h2.section-title {
        font-size: 32px !important;
        line-height: 1.12 !important;
        letter-spacing: -.025em !important;
    }
}

@media(max-width:400px) {
    .ssf-modern.is-home h2.section-title {
        font-size: 29px !important
    }
}

/* Match the About Us label with the Our Partners badge. */
.ssf-modern.is-home .about-refined-content .about-refined-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    width: auto;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px;
    box-shadow: none;
}

.ssf-modern.is-home .about-refined-content .about-refined-heading .eyebrow:before {
    content: '';
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

/* Use the same badge treatment for Our Services. */
.ssf-modern.is-home .services-section-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin: 0 0 18px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px;
    box-shadow: none;
}

.ssf-modern.is-home .services-section-heading .eyebrow:before {
    content: '';
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

/* Premium testimonial section aligned with the homepage visual system. */
.ssf-modern.is-home .reviews-section {
    position: relative;
    padding: 110px 0;
    overflow: hidden;
    background: #fff;
}

.ssf-modern.is-home .reviews-section:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(16, 24, 44, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 24, 44, .025) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(90deg, #000, transparent 75%);
    pointer-events: none;
}

.ssf-modern.is-home .reviews-section>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-home .reviews-panel {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: 80px
}

.ssf-modern.is-home .reviews-copy .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin: 0 0 20px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px;
}

.ssf-modern.is-home .reviews-copy .eyebrow:before {
    content: '';
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

.ssf-modern.is-home .reviews-title {
    margin: 0 0 22px;
    color: #10182c !important;
    text-wrap: balance
}

.ssf-modern.is-home .reviews-title span {
    color: #e40914
}

.ssf-modern.is-home .reviews-text {
    max-width: 590px;
    margin: 0;
    color: #687181;
    font-size: 15px;
    line-height: 1.85
}

.ssf-modern.is-home .review-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 38px;
    padding: 24px 0 0;
    border-top: 1px solid #e6e2e0
}

.ssf-modern.is-home .review-stat {
    position: relative;
    padding: 0 20px 0 0
}

.ssf-modern.is-home .review-stat:not(:last-child):after {
    content: '';
    position: absolute;
    top: 3px;
    right: 15px;
    width: 1px;
    height: 48px;
    background: #e6e2e0
}

.ssf-modern.is-home .review-stat strong {
    color: #10182c;
    font-size: 30px
}

.ssf-modern.is-home .review-stat small {
    color: #747d8c;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase
}

.ssf-modern.is-home .reviews-carousel-shell {
    position: relative
}

.ssf-modern.is-home .reviews-carousel-shell {
    padding: 1px
}

.ssf-modern.is-home .reviews-carousel-shell:before {
    display: none
}

.ssf-modern.is-home .reviews-slider-custom {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 25px 65px rgba(16, 24, 44, .12)
}

.ssf-modern.is-home .reviews-slide {
    padding: 1px;
    box-sizing: border-box
}

.ssf-modern.is-home .review-card,
.ssf-modern.is-home .swiper-slide-active .review-card {
    min-height: 390px;
    padding: 42px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 24px;
    background: #eee;
    box-shadow: none
}

.ssf-modern.is-home .review-quote {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff0f1;
    color: #e40914;
    font-size: 20px
}

.ssf-modern.is-home .review-stars {
    padding-top: 10px;
    color: #e40914;
    letter-spacing: 3px
}

.ssf-modern.is-home .review-card p {
    margin: 30px 0 12px;
    color: #242b39;
    font-size: 20px;
    line-height: 1.65
}

.ssf-modern.is-home .review-avatar {
    margin-top: auto
}

.ssf-modern.is-home .review-pagination {
    margin-top: 28px;
    justify-content: center
}

.ssf-modern.is-home .review-pagination .swiper-pagination-bullet {
    background: #10182c;
    opacity: .2
}

.ssf-modern.is-home .review-pagination .swiper-pagination-bullet-active {
    width: 26px;
    border-radius: 999px;
    background: #e40914;
    opacity: 1
}

@media(max-width:991px) {
    .ssf-modern .footer-modern .footer-bottom {
        flex-direction: column;
        gap: 5px;
    }

    .ssf-modern.is-home .portfolio-controls {
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .ssf-modern.is-home .reviews-panel {
        grid-template-columns: 1fr;
        gap: 50px
    }

    .ssf-modern.is-home .reviews-copy {
        max-width: 720px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }
}

@media(max-width:575px) {
    .ssf-modern.is-home .reviews-section {
        padding: 78px 0
    }

    .ssf-modern.is-home .review-stats {
        gap: 12px
    }

    .ssf-modern.is-home .review-stat {
        padding-right: 8px
    }

    .ssf-modern.is-home .review-stat:not(:last-child):after {
        right: 2px
    }

    .ssf-modern.is-home .review-stat strong {
        font-size: 24px
    }

    .ssf-modern.is-home .review-card,
    .ssf-modern.is-home .swiper-slide-active .review-card {
        min-height: 380px;
        padding: 28px 24px
    }

    .ssf-modern.is-home .review-card p {
        font-size: 18px
    }

    .ssf-modern.is-home .reviews-carousel-shell {
        padding: 1px
    }
}

/* Mirror the About counters inside Client Reviews. */
.ssf-modern.is-home .review-stats {
    width: 100%;
    max-width: 620px;
    margin-top: 36px;
    padding: 0;
    gap: 0;
    border-top: 1px solid #e5e2e0;
    border-bottom: 1px solid #e5e2e0;
}

.ssf-modern.is-home .review-stat {
    position: relative;
    min-height: 120px;
    justify-content: center;
    padding: 22px 18px;
    border-right: 1px solid #e5e2e0;
    transition: background-color .3s ease;
}

.ssf-modern.is-home .review-stat:last-child {
    border-right: 0
}

.ssf-modern.is-home .review-stat:not(:last-child):after {
    display: none
}

.ssf-modern.is-home .review-stat:hover {
    background: #f9f6f5
}

.ssf-modern.is-home .review-stat .review-stat-index {
    display: block;
    position: absolute;
    top: 13px;
    right: 13px;
    color: #b6bbc4;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
}

.ssf-modern.is-home .review-stat strong {
    display: flex;
    align-items: baseline;
    color: #10182c;
    font: 600 30px/1 var(--display-font)
}

.ssf-modern.is-home .review-stat .stat-plus {
    color: #e40914
}

.ssf-modern.is-home .review-stat small {
    color: #747d8c;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase
}

@media(max-width:575px) {
    .ssf-modern.is-home .review-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .ssf-modern.is-home .review-stat {
        min-height: 105px;
        padding: 18px 8px;
        border-right: 1px solid #e5e2e0
    }

    .ssf-modern.is-home .review-stat strong {
        font-size: 24px
    }

    .ssf-modern.is-home .review-stat small {
        font-size: 8px
    }
}

/* Final badge alignment fixes for portfolio and dark sections. */
.ssf-modern.is-home .portfolio-head .eyebrow {
    justify-self: start;
    align-self: start;
    width: max-content;
    max-width: 100%;
}

.ssf-modern.is-home .insights-head .eyebrow,
.ssf-modern.is-home .delivery-heading .eyebrow {
    border-color: rgba(255, 255, 255, .2);
    background: transparent;
    color: #ff7880;
    box-shadow: none;
    backdrop-filter: none;
}

.ssf-modern.is-home .insights-head .eyebrow:after {
    content: none;
    display: none;
}

/* Normalize partner artwork to the same visual frame as the Tax Wise logo. */
.ssf-modern.is-home .client-logo-card img {
    display: block;
    width: 150px;
    height: 52px;
    max-width: 100%;
    max-height: none;
    object-fit: cover;
    /* object-fit:contain; */
    object-position: center;
}

@media(max-width:575px) {
    .ssf-modern.is-home .client-logo-card img {
        width: 135px;
        height: 48px;
    }
}

/* Refined portfolio showcase aligned with the modern homepage. */
.ssf-modern.is-home .portfolio-section {
    position: relative;
    padding: 110px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 94% 8%, rgba(228, 9, 20, .08), transparent 24%),
        linear-gradient(180deg, #f8f7f6 0%, #fff 48%, #f7f5f4 100%);
}

.ssf-modern.is-home .portfolio-section:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(16, 24, 44, .055) .75px, transparent .75px);
    background-size: 23px 23px;
    mask-image: linear-gradient(90deg, transparent, #000 70%, transparent);
    pointer-events: none;
}

.ssf-modern.is-home .portfolio-section>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-home .portfolio-head {
    column-gap: 48px;
    margin-bottom: 38px
}

.ssf-modern.is-home .portfolio-head .section-title {
    max-width: 880px;
    margin-bottom: 20px;
    white-space: normal;
    text-wrap: balance;
}

.ssf-modern.is-home .portfolio-head .muted {
    max-width: 650px;
    color: #697181;
    font-size: 15px;
    line-height: 1.8
}

.ssf-modern.is-home .portfolio-head .btn-brand {
    min-height: 52px;
    padding: 12px 22px;
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(228, 9, 20, .2)
}

.ssf-modern.is-home .portfolio-head .btn-brand:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(228, 9, 20, .28)
}

.ssf-modern.is-home .portfolio-controls {
    margin-bottom: 32px;
    padding: 8px;
    border-radius: 18px;
    /* border: 1px solid #e6e2df;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 14px 40px rgba(16, 24, 44, .055);
    backdrop-filter: blur(14px) */
}

.ssf-modern.is-home .portfolio-tabs,
.ssf-modern.is-home .device-tabs {
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .portfolio-tabs button,
.ssf-modern.is-home .device-tabs button {
    min-height: 44px;
    padding: 0 17px;
    border-radius: 11px;
    color: #606978;
    font-size: 12px;
    font-weight: 700;
    transition: background .25s, color .25s, transform .25s, box-shadow .25s
}

.ssf-modern.is-home .portfolio-tabs button:hover,
.ssf-modern.is-home .device-tabs button:hover {
    color: #10182c;
    background: #f3f0ee
}

.ssf-modern.is-home .portfolio-tabs button.active,
.ssf-modern.is-home .device-tabs button.active,
.ssf-modern.is-home .portfolio-tabs button[aria-pressed="true"],
.ssf-modern.is-home .device-tabs button[aria-pressed="true"] {
    color: #fff;
    background: #e40914;
    box-shadow: 0 9px 20px rgba(228, 9, 20, .22)
}

.ssf-modern.is-home .portfolio-slider {
    padding: 8px 5px 46px
}

.ssf-modern.is-home .project-card {
    padding: 10px 10px 0;
    overflow: hidden;
    border: 1px solid #e5e1df;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(16, 24, 44, .07)
}

.ssf-modern.is-home .project-card:is(:hover, :focus-within) {
    transform: translateY(-7px);
    border-color: rgba(228, 9, 20, .22);
    box-shadow: 0 28px 60px rgba(16, 24, 44, .13)
}

.ssf-modern.is-home .project-visual {
    min-height: 310px;
    padding: 26px 26px 0;
    overflow: hidden;
    border-radius: 17px;
    background: linear-gradient(145deg, #edf0f4, #e4e7ec)
}

.ssf-modern.is-home .browser-frame {
    border-width: 7px;
    border-bottom-width: 12px;
    border-radius: 13px 13px 7px 7px;
    box-shadow: 0 22px 38px rgba(16, 24, 44, .2);
    transition: width .3s, aspect-ratio .3s, border-radius .3s, transform .6s cubic-bezier(.22, 1, .36, 1)
}

.ssf-modern.is-home .project-card:hover .browser-frame {
    transform: translateY(-5px)
}

.ssf-modern.is-home .project-meta {
    min-height: 84px;
    margin: 0;
    padding: 18px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.ssf-modern.is-home .project-meta .project-title {
    color: #10182c;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.02em
}

.ssf-modern.is-home .project-meta>span {
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff0f1;
    color: #c70812;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase
}

.ssf-modern.is-home .project-meta>a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #10182c;
    color: #fff;
    font-size: 13px;
    transition: background .25s, transform .3s
}

.ssf-modern.is-home .project-meta>a:hover {
    transform: rotate(8deg);
    background: #e40914;
    color: #fff
}

.ssf-modern.is-home .portfolio-pagination {
    margin-top: 24px
}

.ssf-modern.is-home .portfolio-pagination .swiper-pagination-bullet {
    background: #aeb3bc
}

.ssf-modern.is-home .portfolio-pagination .swiper-pagination-bullet-active {
    background: #e40914
}

@media(max-width:767px) {
    .ssf-modern.is-home .portfolio-section {
        padding: 78px 0
    }

    .ssf-modern.is-home .portfolio-head {
        gap: 24px;
        margin-bottom: 30px
    }

    .ssf-modern.is-home .portfolio-head .btn-brand {
        width: auto
    }

    .ssf-modern.is-home .portfolio-controls {
        align-items: stretch;
        padding: 7px
    }

    .ssf-modern.is-home .portfolio-tabs,
    .ssf-modern.is-home .device-tabs {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none
    }

    .ssf-modern.is-home .portfolio-tabs::-webkit-scrollbar,
    .ssf-modern.is-home .device-tabs::-webkit-scrollbar {
        display: none
    }

    .ssf-modern.is-home .portfolio-tabs button,
    .ssf-modern.is-home .device-tabs button {
        flex: 0 0 auto
    }

    .ssf-modern.is-home .project-visual {
        min-height: 250px;
        padding: 20px 16px 0
    }

    .ssf-modern.is-home .project-meta {
        grid-template-columns: 1fr auto;
        gap: 8px
    }

    .ssf-modern.is-home .project-meta>span {
        grid-column: 1;
        grid-row: 2;
        justify-self: start
    }

    .ssf-modern.is-home .project-meta>a {
        grid-column: 2;
        grid-row: 1 / span 2
    }
}

/* Center the portfolio introduction and tighten project-card proportions. */
.ssf-modern.is-home .portfolio-head {
    display: block;
    max-width: 900px;
    margin: 0 auto 38px;
    text-align: center;
}

.ssf-modern.is-home .portfolio-head>div {
    display: block
}

.ssf-modern.is-home .portfolio-head .eyebrow {
    display: inline-flex;
    margin: 0 auto 18px;
    justify-self: auto;
}

.ssf-modern.is-home .portfolio-head .section-title {
    max-width: 850px;
    margin: 0 auto 18px;
    text-align: center;
}

.ssf-modern.is-home .portfolio-head .muted {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.ssf-modern.is-home .project-visual {
    min-height: 240px;
    padding: 14px 14px 0;
}

.ssf-modern.is-home .portfolio-slider.preview-tablet .project-visual {
    min-height: 250px
}

.ssf-modern.is-home .portfolio-slider.preview-mobile .project-visual {
    min-height: 265px
}

.ssf-modern.is-home .project-meta {
    min-height: 76px;
    padding: 15px 10px
}

@media(max-width:767px) {
    .ssf-modern.is-home .portfolio-head {
        margin-bottom: 28px
    }

    .ssf-modern.is-home .project-visual {
        min-height: 210px;
        padding: 12px 10px 0
    }

    .ssf-modern.is-home .portfolio-slider.preview-tablet .project-visual {
        min-height: 235px
    }

    .ssf-modern.is-home .portfolio-slider.preview-mobile .project-visual {
        min-height: 250px
    }
}

/* Match Industries We Serve with the Our Blog badge on dark sections. */
.ssf-modern.is-home .industry-showcase .section-heading-row .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin-bottom: 18px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: transparent;
    color: #ff7880;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    box-shadow: none;
    backdrop-filter: none;
}

.ssf-modern.is-home .industry-showcase .section-heading-row .eyebrow:before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    margin: 0;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .14);
}

.ssf-modern.is-home .industry-showcase .section-heading-row .eyebrow:after {
    content: none;
    display: none;
}

/* Refine the contact introduction and primary form action. */
.ssf-modern.is-home .contact-section-heading {
    max-width: 920px;
    margin: 0 auto 44px;
    text-align: center;
}

.ssf-modern.is-home .contact-section-heading .eyebrow {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 18px;
}

.ssf-modern.is-home .contact-section-heading .section-title {
    max-width: 850px;
    margin: 0 auto 18px;
    white-space: normal !important;
    text-align: center;
    text-wrap: balance;
}

.ssf-modern.is-home .contact-section-heading>.muted {
    max-width: 700px;
    margin: 0 auto;
    color: #697181;
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
}

@media(max-width:575px) {
    .ssf-modern.is-home .contact-section-heading {
        margin-bottom: 32px
    }
}

/* One shared submit-button component for the hero and contact forms. */
.ssf-modern.is-home .hero-form-action {
    width: 100%;
    min-height: 51px;
    justify-content: center;
    border-radius: 999px;
    box-shadow: 0 13px 30px rgba(228, 9, 20, .27);
}

.ssf-modern.is-home .hero-form-action:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(228, 9, 20, .4);
}

.ssf-modern.is-home .contact-form .hero-form-action {
    width: auto
}

@media(max-width:575px) {
    .ssf-modern.is-home .contact-form .hero-form-action {
        width: 100%
    }
}

/* Tighter vertical rhythm across homepage content sections. */
.ssf-modern.is-home .about-refined,
.ssf-modern.is-home .services-section,
.ssf-modern.is-home .industry-showcase,
.ssf-modern.is-home .reviews-section,
.ssf-modern.is-home .insights-section,
.ssf-modern.is-home .portfolio-section,
.ssf-modern.is-home .delivery-section,
.ssf-modern.is-home .contact-section,
.ssf-modern.is-home .faq-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media(max-width:991px) {

    .ssf-modern.is-home .about-refined,
    .ssf-modern.is-home .services-section,
    .ssf-modern.is-home .industry-showcase,
    .ssf-modern.is-home .reviews-section,
    .ssf-modern.is-home .insights-section,
    .ssf-modern.is-home .portfolio-section,
    .ssf-modern.is-home .delivery-section,
    .ssf-modern.is-home .contact-section,
    .ssf-modern.is-home .faq-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

@media(max-width:575px) {

    .ssf-modern.is-home .about-refined,
    .ssf-modern.is-home .services-section,
    .ssf-modern.is-home .industry-showcase,
    .ssf-modern.is-home .reviews-section,
    .ssf-modern.is-home .insights-section,
    .ssf-modern.is-home .portfolio-section,
    .ssf-modern.is-home .delivery-section,
    .ssf-modern.is-home .contact-section,
    .ssf-modern.is-home .faq-section {
        padding-top: 42px;
        padding-bottom: 42px;
    }
}

/* Use a compact corner radius for primary website buttons. */
.ssf-modern.is-home .btn,
.ssf-modern.is-home .btn-brand,
.ssf-modern.is-home .hero-secondary,
.ssf-modern.is-home .hero-form-action {
    border-radius: 7px;
}

/* Square-off the Our Services category navigation. */
.ssf-modern.is-home .service-category-tabs,
.ssf-modern.is-home .service-category-tab {
    border-radius: 7px;
}

.ssf-modern.is-home .service-category-cta {
    border-radius: 7px;
}

/* ================================================================
   Modern blog listing + article pages
   ================================================================ */
.ssf-modern.is-inner .blog-hero,
.ssf-modern.is-inner .article-hero {
    position: relative;
    min-height: 0;
    padding: 150px 0 78px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(228, 9, 20, .22), transparent 28%),
        linear-gradient(115deg, rgba(4, 7, 13, .98), rgba(9, 12, 20, .94) 58%, rgba(25, 3, 8, .94));
}

.ssf-modern.is-inner .blog-hero:before,
.ssf-modern.is-inner .article-hero:before {
    content: '';
    position: absolute;
    inset: 0;
    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: 44px 44px;
    mask-image: linear-gradient(90deg, #000, transparent 82%);
    pointer-events: none;
}

.ssf-modern.is-inner .blog-hero:after,
.ssf-modern.is-inner .article-hero:after {
    background: linear-gradient(90deg, rgba(3, 6, 12, .2), rgba(3, 6, 12, .05));
    opacity: 1
}

.ssf-modern.is-inner .blog-hero .container,
.ssf-modern.is-inner .article-hero-inner {
    position: relative;
    z-index: 2
}

.ssf-modern.is-inner .blog-hero-copy {
    max-width: 900px
}

.ssf-modern.is-inner .blog-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 22px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: #b9c0cd;
    font-size: 10px;
    letter-spacing: .06em;
    backdrop-filter: blur(10px);
}

.ssf-modern.is-inner .blog-breadcrumb a {
    color: #fff
}

.ssf-modern.is-inner .blog-breadcrumb i {
    color: #ff5962;
    font-size: 8px
}

.ssf-modern.is-inner .blog-hero h1,
.ssf-modern.is-inner .article-hero h1 {
    max-width: 950px;
    margin: 0 0 20px;
    color: #fff;
    font: 600 clamp(44px, 5vw, 72px)/1.02 var(--display-font);
    letter-spacing: -.055em;
    text-wrap: balance;
}

.ssf-modern.is-inner .blog-hero h1 span {
    color: #ff5962
}

.ssf-modern.is-inner .blog-hero-copy>p,
.ssf-modern.is-inner .article-hero-copy>p {
    max-width: 720px;
    margin: 0;
    color: #bbc2ce;
    font-size: 16px;
    line-height: 1.8
}

.ssf-modern.is-inner .blog-catalog,
.ssf-modern.is-inner .article-page {
    padding: 64px 0;
    background: #f8f7f6
}

.ssf-modern.is-inner .blog-catalog-layout {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 32px
}

.ssf-modern.is-inner .blog-toolbar {
    margin-bottom: 24px;
    padding: 10px;
    border: 1px solid #e5e1df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(16, 24, 44, .05);
}

.ssf-modern.is-inner .blog-toolbar select {
    height: 46px;
    border-color: #e6e2df;
    border-radius: 7px;
    background-color: #f7f5f4;
    color: #303846;
    font-size: 12px
}

.ssf-modern.is-inner .blog-toolbar>span {
    color: #747c89;
    font-size: 11px
}

.ssf-modern.is-inner .blog-list {
    gap: 18px
}

.ssf-modern.is-inner .blog-list-card {
    grid-template-columns: 290px minmax(0, 1fr);
    min-height: 250px;
    overflow: hidden;
    border: 1px solid #e5e1df;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(16, 24, 44, .05);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s, border-color .3s;
}

.ssf-modern.is-inner .blog-list-card:hover {
    transform: translateY(-5px);
    border-color: rgba(228, 9, 20, .22);
    box-shadow: 0 24px 55px rgba(16, 24, 44, .11)
}

.ssf-modern.is-inner .blog-list-card>img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    border-radius: 0;
    object-fit: cover
}

.ssf-modern.is-inner .blog-list-card-body {
    padding: 27px 28px
}

.ssf-modern.is-inner .blog-list-category {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    padding: 7px 10px;
    border: 1px solid rgba(228, 9, 20, .11);
    border-radius: 999px;
    background: #fff0f1;
    color: #c70812;
    font-size: 9px;
    letter-spacing: .08em;
}

.ssf-modern.is-inner .blog-list-card h2 {
    margin: 16px 0 10px;
    font: 600 25px/1.22 var(--display-font);
    letter-spacing: -.035em
}

.ssf-modern.is-inner .blog-list-card p {
    color: #687181;
    font-size: 13px;
    line-height: 1.75
}

.ssf-modern.is-inner .blog-list-footer {
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid #eeeae8
}

.ssf-modern.is-inner .blog-list-footer>div {
    color: #7b8390;
    font-size: 10px
}

.ssf-modern.is-inner .blog-list-footer>a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #c70812;
    font-size: 11px;
    font-weight: 700
}

.ssf-modern.is-inner .blog-sidebar {
    top: 105px;
    gap: 16px
}

.ssf-modern.is-inner .blog-sidebar-card {
    padding: 22px;
    border: 1px solid #e5e1df;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(16, 24, 44, .045);
}

.ssf-modern.is-inner .blog-sidebar-card:hover {
    transform: none;
    box-shadow: 0 16px 40px rgba(16, 24, 44, .07)
}

.ssf-modern.is-inner .blog-sidebar-card h3 {
    margin-bottom: 17px;
    color: #10182c;
    font: 600 18px/1.2 var(--display-font);
    letter-spacing: -.025em
}

.ssf-modern.is-inner .blog-search {
    padding: 4px;
    border: 1px solid #e5e1df;
    border-radius: 9px;
    background: #f7f5f4
}

.ssf-modern.is-inner .blog-search input {
    min-height: 42px;
    border: 0;
    background: transparent
}

.ssf-modern.is-inner .blog-search button {
    width: 40px;
    height: 40px;
    border-radius: 7px;
    background: #e40914;
    color: #fff
}

.ssf-modern.is-inner .blog-category-link {
    padding: 12px 0;
    color: #586171;
    font-size: 11px
}

.ssf-modern.is-inner .blog-category-link:hover {
    padding-left: 6px;
    color: #e40914
}

.ssf-modern.is-inner .popular-post {
    gap: 12px;
    padding: 12px 0
}

.ssf-modern.is-inner .popular-post img {
    width: 72px;
    height: 62px;
    border-radius: 9px
}

.ssf-modern.is-inner .popular-post strong {
    color: #202837;
    font-size: 11px;
    line-height: 1.45
}

.ssf-modern.is-inner .popular-post small {
    color: #8b929d;
    font-size: 9px
}

.ssf-modern.is-inner .blog-newsletter {
    overflow: hidden;
    border-color: #171e2b;
    background: linear-gradient(145deg, #101622, #080d16);
    color: #fff
}

.ssf-modern.is-inner .blog-newsletter h3 {
    color: #fff
}

.ssf-modern.is-inner .blog-newsletter p {
    color: #aeb6c5
}

.ssf-modern.is-inner .blog-newsletter-icon {
    border-radius: 10px;
    background: #e40914
}

.ssf-modern.is-inner .blog-newsletter input {
    border-radius: 7px
}

.ssf-modern.is-inner .blog-newsletter button {
    border-radius: 7px;
    background: #e40914
}

/* Article detail. */
.ssf-modern.is-inner .article-hero.has-hero-image {
    background: linear-gradient(90deg, rgba(3, 6, 12, .94), rgba(3, 6, 12, .76) 62%, rgba(3, 6, 12, .62)), var(--article-hero-image) center/cover no-repeat;
}

.ssf-modern.is-inner .article-hero-copy {
    width: min(100%, 900px)
}

.ssf-modern.is-inner .article-hero h1 {
    font-size: clamp(38px, 4.3vw, 64px)
}

.ssf-modern.is-inner .article-meta {
    gap: 10px;
    margin-top: 26px
}

.ssf-modern.is-inner .article-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 7px;
    background: rgba(255, 255, 255, .045);
    color: #d7dbe2;
    font-size: 10px
}

.ssf-modern.is-inner .article-meta i {
    margin: 0;
    color: #ff5962
}

.ssf-modern.is-inner .article-layout {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 34px
}

.ssf-modern.is-inner .article-featured {
    max-height: 500px;
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(16, 24, 44, .12)
}

.ssf-modern.is-inner .article-prose {
    padding: 32px 34px;
    border: 1px solid #e7e3e1;
    border-radius: 18px;
    background: #fff;
    color: #596272;
    font-size: 15px;
    line-height: 1.85;
    box-shadow: 0 12px 36px rgba(16, 24, 44, .045)
}

.ssf-modern.is-inner .article-featured+.article-prose {
    margin-top: 22px
}

.ssf-modern.is-inner .article-prose h2 {
    margin: 36px 0 13px;
    color: #10182c;
    font: 600 29px/1.2 var(--display-font);
    letter-spacing: -.035em
}

.ssf-modern.is-inner .article-prose h3 {
    color: #10182c;
    font: 600 23px/1.25 var(--display-font);
    letter-spacing: -.025em
}

.ssf-modern.is-inner .article-prose blockquote {
    border: 0;
    border-left: 3px solid #e40914;
    border-radius: 0 12px 12px 0;
    background: #f8f5f4;
    box-shadow: none
}

.ssf-modern.is-inner .article-rich-text img {
    border-radius: 14px
}

.ssf-modern.is-inner .article-content-banner {
    min-height: 180px;
    border-radius: 14px
}

.ssf-modern.is-inner .article-tags span {
    border-radius: 7px;
    background: #f4f1ef;
    color: #5f6876
}

.ssf-modern.is-inner .article-share a {
    border-radius: 7px;
    background: #f1eeee;
    color: #202837
}

.ssf-modern.is-inner .article-author {
    margin-top: 28px;
    padding: 22px;
    border-radius: 14px;
    background: #f8f6f5
}

.ssf-modern.is-inner .article-author img {
    border-radius: 14px
}

.ssf-modern.is-inner .article-navigation {
    margin: 28px 344px 30px 0;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(16, 24, 44, .04)
}

.ssf-modern.is-inner .article-navigation>div {
    min-height: 94px;
    padding: 18px 22px
}

.ssf-modern.is-inner .related-heading {
    margin: 0 344px 18px 0
}

.ssf-modern.is-inner .related-heading h2 {
    color: #10182c;
    font: 600 28px/1.2 var(--display-font);
    letter-spacing: -.035em
}

.ssf-modern.is-inner .related-heading>a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #c70812;
    font-size: 11px
}

.ssf-modern.is-inner .related-slider {
    margin-right: 344px
}

.ssf-modern.is-inner .related-card {
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(16, 24, 44, .045)
}

.ssf-modern.is-inner .related-card img {
    aspect-ratio: 16/9
}

.ssf-modern.is-inner .related-card>div {
    padding: 17px
}

.ssf-modern.is-inner .related-card>div>span {
    display: inline-block;
    padding: 6px 9px;
    border-radius: 999px;
    background: #fff0f1;
    color: #c70812;
    font-size: 9px
}

.ssf-modern.is-inner .related-card h3 {
    min-height: 0;
    font: 600 17px/1.4 var(--display-font)
}

@media(max-width:991px) {

    .ssf-modern.is-inner .blog-catalog-layout,
    .ssf-modern.is-inner .article-layout {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .blog-sidebar,
    .ssf-modern.is-inner .article-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none
    }

    .ssf-modern.is-inner .article-navigation,
    .ssf-modern.is-inner .related-heading,
    .ssf-modern.is-inner .related-slider {
        margin-right: 0
    }
}

@media(max-width:767px) {

    .ssf-modern.is-inner .blog-hero,
    .ssf-modern.is-inner .article-hero {
        padding: 125px 0 58px;
        text-align: left
    }

    .ssf-modern.is-inner .blog-hero h1,
    .ssf-modern.is-inner .article-hero h1 {
        font-size: 38px
    }

    .ssf-modern.is-inner .blog-hero .blog-breadcrumb,
    .ssf-modern.is-inner .article-hero .blog-breadcrumb,
    .ssf-modern.is-inner .article-meta {
        justify-content: flex-start
    }

    .ssf-modern.is-inner .blog-catalog,
    .ssf-modern.is-inner .article-page {
        padding: 44px 0
    }

    .ssf-modern.is-inner .blog-list-card {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .blog-list-card>img {
        min-height: 0;
        height: 220px
    }

    .ssf-modern.is-inner .blog-list-card-body {
        padding: 22px
    }

    .ssf-modern.is-inner .blog-list-card h2 {
        font-size: 22px
    }

    .ssf-modern.is-inner .blog-sidebar,
    .ssf-modern.is-inner .article-sidebar {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .article-prose {
        padding: 24px 20px
    }

    .ssf-modern.is-inner .article-navigation {
        grid-template-columns: 1fr
    }

    .ssf-modern.is-inner .article-navigation>div+div {
        border-top: 1px solid #e8e4e2;
        border-left: 0
    }
}

@media(max-width:575px) {
    .ssf-modern.is-inner .blog-toolbar {
        padding: 8px
    }

    .ssf-modern.is-inner .blog-list-footer {
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        gap: 13px
    }

    .ssf-modern.is-inner .article-meta span {
        padding: 7px 9px
    }

    .ssf-modern.is-inner .article-prose h2 {
        font-size: 25px
    }

    .ssf-modern.is-inner .related-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px
    }
}

/* Inner blog pages use the same transparent hero header as the homepage. */
.ssf-modern.is-inner .site-header:not(.scrolled) {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
    padding: 16px 0
}

.ssf-modern.is-inner .site-header:not(.scrolled) .container {
    padding-inline: 32px
}

.ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
    width: auto;
    height: 70px;
}

@media(max-width:991px) {
    .ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
        padding: 12px 0
    }
}

@media(max-width:575px) {
    .ssf-modern.is-inner .site-header:not(.scrolled) .container {
        padding-inline: 22px
    }

    .ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
        width: 116px;
        height: 46px;
    }
}

/* Blog detail sidebar follows the listing page's sticky/scroll behavior. */
@media(min-width:992px) {
    .ssf-modern.is-inner .article-page .article-sidebar {
        position: sticky;
        top: 105px;
        align-self: start;
        max-height: calc(100vh - 125px);
        padding-right: 7px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(228, 9, 20, .38) transparent;
    }

    .ssf-modern.is-inner .article-page .article-sidebar::-webkit-scrollbar {
        width: 5px
    }

    .ssf-modern.is-inner .article-page .article-sidebar::-webkit-scrollbar-track {
        background: transparent
    }

    .ssf-modern.is-inner .article-page .article-sidebar::-webkit-scrollbar-thumb {
        border-radius: 7px;
        background: rgba(228, 9, 20, .38);
    }
}

/* Theme-aligned related articles section. */
.ssf-modern.is-inner .article-navigation {
    grid-template-columns: 1fr
}

.ssf-modern.is-inner .related-section {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    border-top: 1px solid #e7e3e0;
    background:
        radial-gradient(circle at 92% 8%, rgba(228, 9, 20, .08), transparent 25%),
        linear-gradient(180deg, #f8f7f6, #fff);
}

.ssf-modern.is-inner .related-section:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(16, 24, 44, .05) .7px, transparent .7px);
    background-size: 23px 23px;
    mask-image: linear-gradient(90deg, transparent, #000 70%, transparent);
    pointer-events: none;
}

.ssf-modern.is-inner .related-section>.container {
    position: relative;
    z-index: 1
}

.ssf-modern.is-inner .related-section .related-heading {
    align-items: end;
    margin: 0 0 28px
}

.ssf-modern.is-inner .related-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 7px 11px;
    border: 1px solid rgba(228, 9, 20, .12);
    border-radius: 999px;
    background: #fff1f2;
    color: #c70812;
    font-size: 9px;
    letter-spacing: 1.5px;
}

.ssf-modern.is-inner .related-heading .eyebrow:before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e40914;
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .1);
}

.ssf-modern.is-inner .related-section .related-heading h2 {
    margin: 0;
    color: #10182c;
    font: 600 clamp(30px, 3vw, 44px)/1.08 var(--display-font);
    letter-spacing: -.04em
}

.ssf-modern.is-inner .related-section .related-heading h2 span {
    color: #e40914
}

.ssf-modern.is-inner .related-section .related-heading>a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #e40914;
    border-radius: 7px;
    background: #e40914;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    transition: transform .3s, background .25s, box-shadow .3s;
}

.ssf-modern.is-inner .related-section .related-heading>a:hover {
    transform: translateY(-3px);
    background: #c70812;
    box-shadow: 0 13px 28px rgba(228, 9, 20, .2)
}

.ssf-modern.is-inner .related-section .related-slider {
    width: 100%;
    margin: 0;
    padding: 5px 3px 14px;
    overflow: hidden
}

.ssf-modern.is-inner .related-section .related-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #e5e1df;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(16, 24, 44, .06)
}

.ssf-modern.is-inner .related-section .related-card:hover {
    transform: translateY(-6px);
    border-color: rgba(228, 9, 20, .22);
    box-shadow: 0 24px 50px rgba(16, 24, 44, .11)
}

.ssf-modern.is-inner .related-section .related-card img {
    aspect-ratio: 16/9;
    object-fit: cover
}

.ssf-modern.is-inner .related-section .related-card>div {
    padding: 19px
}

.ssf-modern.is-inner .related-section .related-card>div>span {
    border-radius: 7px
}

.ssf-modern.is-inner .related-section .related-card h3 {
    margin: 13px 0 12px;
    color: #10182c;
    font: 600 18px/1.4 var(--display-font);
    letter-spacing: -.02em
}

.ssf-modern.is-inner .related-section .related-card small {
    color: #7a8290;
    font-size: 10px
}

@media(max-width:767px) {
    .ssf-modern.is-inner .related-section {
        padding: 44px 0
    }

    .ssf-modern.is-inner .related-section .related-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px
    }
}

/* Center the related-articles introduction and available slides. */
.ssf-modern.is-inner .related-section .related-heading {
    display: block;
    text-align: center;
}

.ssf-modern.is-inner .related-section .related-heading>div {
    width: 100%
}

.ssf-modern.is-inner .related-section .related-heading .eyebrow {
    width: max-content;
    margin: 0 auto 14px;
}

.ssf-modern.is-inner .related-section .related-heading h2 {
    text-align: center
}

.ssf-modern.is-inner .related-section .related-slider .swiper-wrapper {
    align-items: stretch
}

.ssf-modern.is-inner .related-section .related-slider .swiper-slide {
    height: auto
}

/* Final mobile homepage pass based on a 390px rendered audit. */
@media(max-width:575px) {

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

    .ssf-modern:is(.is-home, .is-inner) main,
    .ssf-modern:is(.is-home, .is-inner) section {
        width: 100%;
        max-width: 100%;
        overflow-x: clip
    }

    .ssf-modern:is(.is-home, .is-inner) .container {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        padding-inline: 18px;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header {
        position: fixed;
        z-index: 1030;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        min-height: 88px;
        border-radius: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled {
        top: 10px;
        width: calc(100% - 24px);
        max-width: calc(100% - 24px);
        min-height: 64px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 10px;
        background: rgba(17, 20, 27, .96);
        box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header .navbar {
        min-height: 88px;
        padding: 14px 0;
        background: transparent;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar {
        min-height: 64px;
        padding: 5px 0
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header .navbar>.container {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }

    .ssf-modern:is(.is-home, .is-inner) .brand-lockup {
        min-width: 0;
        margin: 0;
        padding: 0
    }

    .ssf-modern:is(.is-home, .is-inner) .header-logo {
        width: 112px;
        height: 44px
    }

    .ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
        min-height: 88px;
        padding: 14px 0
    }

    .ssf-modern.is-inner .site-header:not(.scrolled) .container {
        padding-inline: 18px
    }

    .ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
        width: 112px;
        height: 44px
    }

    .ssf-modern.is-inner .blog-hero-copy,
    .ssf-modern.is-inner .article-hero-copy,
    .ssf-modern.is-inner .blog-catalog-layout,
    .ssf-modern.is-inner .blog-results,
    .ssf-modern.is-inner .article-layout,
    .ssf-modern.is-inner .article-content,
    .ssf-modern.is-inner .related-section {
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .ssf-modern.is-inner .blog-hero h1,
    .ssf-modern.is-inner .article-hero h1 {
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 5;
        width: 42px;
        height: 40px;
        flex: 0 0 42px;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: 6px;
        margin-left: auto;
        padding: 0;
        border: 0;
        position: absolute;
        top: 24px;
        right: 18px;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler span {
        display: block !important;
        width: 25px;
        height: 2px;
        background: #fff !important;
        opacity: 1;
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar-toggler {
        top: 12px;
        right: 14px
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse {
        position: absolute;
        top: 88px;
        left: 12px;
        right: 12px;
        margin: 0;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 10px;
        background: #11151d;
        box-shadow: 0 18px 40px rgba(0, 0, 0, .28)
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header.scrolled .navbar-collapse {
        top: 64px
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header:has(.navbar-collapse.show) {
        top: 8px;
        left: 10px;
        right: 10px;
        width: calc(100% - 20px);
        min-height: 72px;
        border: 1px solid rgba(255, 255, 255, .11);
        border-radius: 12px;
        background: rgba(14, 18, 25, .94);
        box-shadow: 0 18px 48px rgba(0, 0, 0, .3);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header:has(.navbar-collapse.show) .navbar {
        min-height: 64px;
        padding: 5px 0
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header:has(.navbar-collapse.show) .navbar-toggler {
        top: 12px;
        right: 14px
    }

    .ssf-modern:is(.is-home, .is-inner) .site-header:has(.navbar-collapse.show) .navbar-collapse {
        top: 72px;
        left: 0;
        right: 0;
        max-height: calc(100svh - 94px);
        overflow-y: auto;
        padding: 12px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 14px;
        background: rgba(14, 18, 25, .98);
        box-shadow: 0 24px 60px rgba(0, 0, 0, .4);
        scrollbar-width: thin;
        scrollbar-color: #e40914 transparent;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .navbar-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
        margin: 0 0 10px !important;
        padding: 0;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px !important;
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 8px;
        background: rgba(255, 255, 255, .035);
        color: #eef1f5;
        font-size: 12px;
        font-weight: 600;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link:after {
        display: none
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link:is(:hover, :focus-visible) {
        border-color: rgba(228, 9, 20, .38);
        background: rgba(228, 9, 20, .1);
        color: #fff;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-link.active {
        border-color: rgba(228, 9, 20, .5);
        background: linear-gradient(135deg, rgba(228, 9, 20, .2), rgba(228, 9, 20, .07));
        color: #ff5e67;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-collapse .nav-quote {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        margin: 0;
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler span {
        transition: transform .25s ease, opacity .2s ease, width .25s ease
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(8px) rotate(45deg)
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(2) {
        width: 0;
        opacity: 0
    }

    .ssf-modern:is(.is-home, .is-inner) .navbar-toggler[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg)
    }

    .ssf-modern.is-home .modern-hero {
        width: 100%;
        margin: 0;
        padding: 120px 0 34px;
        border-radius: 0;
    }

    .ssf-modern.is-home .hero-stage,
    .ssf-modern.is-home .hero-editorial,
    .ssf-modern.is-home .hero-quote-card {
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .ssf-modern.is-home .hero-editorial {
        padding: 0;
        text-align: center
    }

    .ssf-modern.is-home .modern-hero .eyebrow {
        margin: 0 auto 20px;
        padding: 7px 10px;
        font-size: 8px;
        letter-spacing: 1.2px
    }

    .ssf-modern.is-home .modern-hero h1 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 20px;
        font-size: clamp(34px, 10vw, 39px);
        line-height: 1.04;
        letter-spacing: -.045em;
        overflow-wrap: break-word;
        text-align: center;
    }

    .ssf-modern.is-home .modern-hero .hero-copy {
        max-width: 330px;
        margin-inline: auto;
        font-size: 13px;
        line-height: 1.65;
        text-align: center
    }

    .ssf-modern.is-home .modern-hero .hero-copy strong {
        font-size: 15px
    }

    .ssf-modern.is-home .hero-actions {
        width: 100%;
        margin-top: 25px
    }

    .ssf-modern.is-home .hero-actions .btn {
        width: 100%;
        min-width: 0;
        padding-inline: 15px
    }

    .ssf-modern.is-home .hero-quote-card {
        margin: 0;
        padding: 20px 16px;
        border-radius: 14px
    }

    .ssf-modern.is-home .hero-contact-form .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        margin-inline: 0;
    }

    .ssf-modern.is-home .hero-contact-form .row>* {
        width: auto;
        max-width: 100%;
        flex: none;
        padding-inline: 0;
    }

    .ssf-modern.is-home .hero-contact-form .row>*:nth-child(n+5) {
        grid-column: 1 / -1
    }

    .ssf-modern.is-home .hero-contact-form .form-control,
    .ssf-modern.is-home .hero-contact-form .form-select {
        width: 100%;
        max-width: 100%
    }

    .ssf-modern.is-home #contactForm .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        margin-inline: 0;
    }

    .ssf-modern.is-home #contactForm .row>* {
        width: auto;
        max-width: 100%;
        padding-inline: 0;
    }

    .ssf-modern.is-home #contactForm .row>*:nth-child(n+5) {
        grid-column: 1 / -1
    }

    .ssf-modern.is-home #contactForm .field-label {
        min-height: 24px;
        margin-bottom: 5px;
        font-size: 9px;
        line-height: 1.2;
    }

    .ssf-modern.is-home #contactForm .form-control,
    .ssf-modern.is-home #contactForm .form-select {
        width: 100%;
        max-width: 100%
    }

    .ssf-modern.is-home .hero-form-head {
        gap: 11px;
        margin-bottom: 19px;
        text-align: left
    }

    .ssf-modern.is-home .hero-form-head>span {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        border-radius: 10px
    }

    .ssf-modern.is-home .hero-form-head h3 {
        font-size: 20px
    }

    .ssf-modern.is-home .hero-bottom-line {
        display: none
    }

    .ssf-modern.is-home h2.section-title {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        padding-inline: 0;
        font-size: 25px !important;
        line-height: 1.16 !important;
        letter-spacing: -.02em !important;
        white-space: normal !important;
        overflow-wrap: break-word;
        word-break: normal;
        text-wrap: balance;
    }

    .ssf-modern.is-home h2.section-title span {
        display: inline;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .ssf-modern.is-home .clients-section {
        padding: 38px 0 42px
    }

    .ssf-modern.is-home .clients-panel {
        padding: 22px 10px;
        border-radius: 14px
    }

    .ssf-modern.is-home .clients-head {
        max-width: 100%;
        margin-bottom: 18px;
        padding-inline: 5px
    }

    .ssf-modern.is-home .clients-head .section-title {
        width: 100%;
        max-width: 100%;
        font-size: 25px !important;
        white-space: normal !important;
        overflow-wrap: break-word
    }

    .ssf-modern.is-home .clients-description {
        font-size: 11px;
        line-height: 1.6
    }

    .ssf-modern.is-home .client-logo-card {
        height: 74px;
        padding: 12px;
        border-radius: 10px
    }

    .ssf-modern.is-home .client-logo-card img {
        width: 125px;
        height: 42px
    }

    .ssf-modern.is-home .about-refined-grid {
        gap: 32px
    }

    .ssf-modern.is-home .about-refined-content {
        align-items: center;
        text-align: center
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading {
        width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading .eyebrow {
        align-self: center;
        margin-inline: auto;
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading .section-title {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        font-size: 22px !important;
        letter-spacing: -.01em !important;
        text-align: center;
        white-space: normal !important
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading .section-title span {
        display: block;
        width: 100%;
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading>.muted,
    .ssf-modern.is-home .about-refined-description {
        font-size: 13px;
        line-height: 1.7
    }

    .ssf-modern.is-home .about-refined-content .about-refined-heading>.muted {
        margin-inline: auto;
        text-align: center;
    }

    .ssf-modern.is-home .about-refined-description {
        max-width: 340px;
        margin-inline: auto;
        padding: 0;
        border-left: 0;
        text-align: center;
    }

    .ssf-modern.is-home .about-refined-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        margin: 24px auto 0;
    }

    .ssf-modern.is-home .about-stat {
        min-height: 90px;
        padding: 17px 12px;
        border-right: 0;
        text-align: center;
    }

    .ssf-modern.is-home .about-stat:nth-child(odd):not(:last-child) {
        border-right: 1px solid #e5e2e0
    }

    .ssf-modern.is-home .about-stat:last-child {
        grid-column: 1 / -1;
        justify-self: center;
        width: 50%;
        border-top: 1px solid #e5e2e0;
        border-bottom: 0;
    }

    .ssf-modern.is-home .about-refined-stats strong {
        justify-content: center
    }

    .ssf-modern.is-home .about-visual-pair {
        min-height: 365px
    }

    .ssf-modern.is-home .about-visual-main {
        inset: 0 18px 58px 0;
        border-radius: 14px
    }

    .ssf-modern.is-home .about-visual-secondary {
        width: 45%;
        height: 38%;
        border-width: 4px;
        border-radius: 12px
    }

    .ssf-modern.is-home .about-visual-label {
        left: 8px;
        bottom: 18px;
        width: 175px;
        padding: 14px;
        border-radius: 10px
    }

    .ssf-modern.is-home .about-visual-label strong {
        font-size: 16px
    }

    .ssf-modern.is-home .services-section-heading,
    .ssf-modern.is-home .contact-section-heading,
    .ssf-modern.is-home .faq-section-heading {
        width: 100%;
        padding-inline: 0
    }

    .ssf-modern.is-home .clients-panel,
    .ssf-modern.is-home .clients-head,
    .ssf-modern.is-home .about-refined-grid,
    .ssf-modern.is-home .about-refined-content,
    .ssf-modern.is-home .about-refined-heading,
    .ssf-modern.is-home .services-section,
    .ssf-modern.is-home .services-section-heading,
    .ssf-modern.is-home .section-heading-row,
    .ssf-modern.is-home .reviews-heading,
    .ssf-modern.is-home .portfolio-head,
    .ssf-modern.is-home .delivery-heading,
    .ssf-modern.is-home .contact-section-heading,
    .ssf-modern.is-home .faq-section-heading {
        min-width: 0;
        max-width: 100%
    }

    .ssf-modern.is-home .service-category-tabs {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 6px
    }

    .ssf-modern.is-home .service-category-tab {
        min-width: 0;
        padding: 9px 8px;
        font-size: 10px
    }

    .ssf-modern .cookie-consent {
        left: 10px;
        right: 10px;
        bottom: 10px;
        width: auto;
        max-width: none;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 13px;
        border-radius: 10px;
        transform: none;
        animation-name: cookieSlideIn;
    }

    .ssf-modern .cookie-consent-icon {
        display: none
    }

    .ssf-modern .cookie-consent-copy strong {
        font-size: 13px
    }

    .ssf-modern .cookie-consent-copy p {
        font-size: 10px;
        line-height: 1.45
    }

    .ssf-modern .cookie-consent-actions {
        grid-column: 1;
        gap: 7px
    }

    .ssf-modern .cookie-consent-actions button {
        min-height: 38px;
        padding: 0 9px;
        font-size: 10px;
        border-radius: 7px
    }

    .ssf-modern .cookie-consent.is-hiding {
        transform: translateY(18px)
    }

    .ssf-modern .footer-main-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 30px;
    }

    .ssf-modern .footer-modern .footer-about,
    .ssf-modern .footer-modern .footer-contact-social {
        grid-column: 1 / -1
    }

    .ssf-modern .footer-modern .footer-links {
        min-width: 0
    }

    .ssf-modern .footer-modern .footer-links a {
        gap: 8px;
        font-size: 11px
    }
}

.ssf-modern .nav-services-item {
    position: relative;
}

.ssf-modern .nav-services-chevron {
    margin-left: 5px;
    font-size: 9px;
    transition: transform .25s ease;
}

.ssf-modern .nav-services-dropdown {
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    z-index: 1100;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    width: min(920px, calc(100vw - 48px));
    max-height: min(520px, 72vh);
    padding: 10px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(12, 16, 24, .97);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 10px);
    transition: opacity .2s ease, visibility .2s ease, transform .25s ease;
    backdrop-filter: blur(18px);
}

.ssf-modern .nav-services-categories {
    padding: 12px;
    border-radius: 11px;
    background: rgba(255, 255, 255, .045);
}

.ssf-modern .nav-services-categories>p {
    margin: 0 10px 10px;
    color: #7f8999;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.ssf-modern .nav-mega-category {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #aeb6c4;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    transition: color .2s ease, background .2s ease;
}

.ssf-modern .nav-mega-category i {
    font-size: 9px;
    opacity: .55;
}

.ssf-modern .nav-mega-category:hover,
.ssf-modern .nav-mega-category.active {
    background: #e40914;
    color: #fff;
}

.ssf-modern .nav-services-panels {
    min-width: 0;
    padding: 18px 22px 20px;
}

.ssf-modern .nav-services-panel {
    display: none;
}

.ssf-modern .nav-services-panel.active {
    display: block;
    animation: navMegaPanelIn .22s ease both;
}

.ssf-modern .nav-services-panel-head {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 13px;
    padding: 0 4px 13px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.ssf-modern .nav-services-panel-head small {
    color: #ff626a;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.ssf-modern .nav-services-panel-head strong {
    color: #fff;
    font: 600 20px/1.2 var(--display-font);
}

.ssf-modern .nav-services-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
}

@keyframes navMegaPanelIn {
    from {
        opacity: 0;
        transform: translateX(8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.ssf-modern .nav-services-dropdown::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 16px;
}

.ssf-modern .nav-services-dropdown a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 9px 12px;
    border-radius: 9px;
    color: #dce1ea;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.ssf-modern .nav-services-dropdown a i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 8px;
    background: rgba(228, 9, 20, .14);
    color: #ff626a;
}

.ssf-modern .nav-services-dropdown a:hover,
.ssf-modern .nav-services-dropdown a:focus-visible {
    background: rgba(255, 255, 255, .07);
    color: #fff;
    transform: translateX(3px);
}

@media (min-width:992px) {

    .ssf-modern .nav-services-item:hover .nav-services-dropdown,
    .ssf-modern .nav-services-item:focus-within .nav-services-dropdown {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, 0);
    }

    .ssf-modern .nav-services-item:hover .nav-services-chevron,
    .ssf-modern .nav-services-item:focus-within .nav-services-chevron {
        transform: rotate(180deg);
    }
}

.ssf-modern.is-home [data-service-card].service-card-highlight .service-card {
    border-color: rgba(228, 9, 20, .75);
    box-shadow: 0 0 0 4px rgba(228, 9, 20, .12), 0 22px 45px rgba(16, 24, 44, .14);
}

@media (max-width:991px) {

    .ssf-modern .nav-services-chevron,
    .ssf-modern .nav-services-dropdown {
        display: none;
    }
}

/* Final responsive treatment for blog listing and article pages. */
@media (max-width:991px) {
    body.ssf-modern.is-inner .blog-hero-copy,
    body.ssf-modern.is-inner .article-hero-copy {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-hero .blog-breadcrumb,
    body.ssf-modern.is-inner .article-hero .blog-breadcrumb,
    body.ssf-modern.is-inner .article-meta {
        width: fit-content;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        justify-content: center;
    }

    body.ssf-modern.is-inner .blog-hero h1,
    body.ssf-modern.is-inner .article-hero h1,
    body.ssf-modern.is-inner .blog-hero-copy > p,
    body.ssf-modern.is-inner .article-hero-copy > p {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-catalog-layout,
    body.ssf-modern.is-inner .article-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    body.ssf-modern.is-inner .blog-sidebar,
    body.ssf-modern.is-inner .article-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width:575px) {
    body.ssf-modern.is-inner .blog-hero,
    body.ssf-modern.is-inner .article-hero {
        padding: 118px 0 48px;
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-hero h1,
    body.ssf-modern.is-inner .article-hero h1 {
        font-size: clamp(36px, 10vw, 44px);
    }

    body.ssf-modern.is-inner .article-meta {
        width: 100%;
        flex-wrap: wrap;
    }

    body.ssf-modern.is-inner .blog-toolbar,
    body.ssf-modern.is-inner .blog-filter-group {
        width: 100%;
    }

    body.ssf-modern.is-inner .blog-filter-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.ssf-modern.is-inner .blog-toolbar > span {
        width: 100%;
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-list-card-body {
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-list-category {
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .blog-list-footer {
        align-items: center;
        text-align: center;
    }

    body.ssf-modern.is-inner .blog-list-footer > div {
        justify-content: center;
    }

    body.ssf-modern.is-inner .blog-sidebar,
    body.ssf-modern.is-inner .article-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ssf-modern.is-inner .blog-sidebar-card > h3 {
        text-align: center;
    }

    body.ssf-modern.is-inner .related-section .related-heading,
    body.ssf-modern.is-inner .related-section .related-heading h2 {
        text-align: center;
    }
}

/* Keep Industries We Serve stacked only on mobile. */
@media (max-width:575px) {
    body.ssf-modern.is-home .industry-showcase .section-heading-row {
        align-items: flex-start;
        text-align: left;
    }

    body.ssf-modern.is-home .industry-showcase .section-heading-row > div {
        width: 100%;
    }

    body.ssf-modern.is-home .industry-showcase .section-heading-row .eyebrow {
        margin-right: auto;
        margin-left: 0;
    }

    body.ssf-modern.is-home .industry-showcase .section-heading-row .section-title,
    body.ssf-modern.is-home .industry-showcase .section-heading-row .muted {
        max-width: 100%;
        margin-right: auto;
        margin-left: 0;
        text-align: left;
    }

    body.ssf-modern.is-home .industry-showcase-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    body.ssf-modern.is-home .industry-selector,
    body.ssf-modern.is-home .industry-panels {
        width: 100%;
        min-width: 0;
    }

    body.ssf-modern.is-home .industry-selector {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ssf-modern.is-home .industry-choice {
        width: 100%;
        padding: 18px 4px;
    }

    body.ssf-modern.is-home .industry-panels .tab-pane,
    body.ssf-modern.is-home .industry-panel-copy {
        width: 100%;
        min-height: 440px;
    }

    body.ssf-modern.is-home .industry-panels .tab-pane {
        border-radius: 20px;
    }

    body.ssf-modern.is-home .industry-panel-copy {
        padding: 28px 24px;
    }
}

/* Restore the original desktop alignment; centering is responsive only. */
@media (min-width:992px) {
    body.ssf-modern.is-inner .services-page-hero-copy,
    body.ssf-modern.is-inner .service-detail-hero-copy,
    body.ssf-modern.is-inner .single-service-hero-copy {
        margin: 0;
        align-items: flex-start;
        text-align: left;
    }

    body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .blog-breadcrumb {
        margin-right: 0;
        margin-left: 0;
        justify-content: flex-start;
    }

    body.ssf-modern.is-inner :is(.services-page-hero-copy, .service-detail-hero-copy, .single-service-hero-copy) > .eyebrow {
        width: auto;
        margin-right: 0;
        margin-left: 0;
        text-align: left;
    }

    body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) h1,
    body.ssf-modern.is-inner :is(.services-page-hero-copy, .service-detail-hero-copy, .single-service-hero-copy) > p:not(.eyebrow) {
        margin-right: 0;
        margin-left: 0;
        text-align: left;
    }

    body.ssf-modern.is-inner :is(.services-page-hero, .service-detail-hero, .single-service-hero) .services-page-hero-actions {
        width: auto;
        justify-content: flex-start;
    }

    body.ssf-modern.is-inner .services-page-main-content,
    body.ssf-modern.is-inner .service-detail-card-body {
        align-items: flex-start;
        text-align: left;
    }

    body.ssf-modern.is-inner .services-page-main-content li {
        justify-content: flex-start;
        text-align: left;
    }

    body.ssf-modern.is-inner .services-page-main-content > a,
    body.ssf-modern.is-inner .services-page-main-content > .services-page-card-cta,
    body.ssf-modern.is-inner .service-detail-card-body > .btn {
        margin-right: 0;
        margin-left: 0;
        align-self: flex-start;
    }

    body.ssf-modern.is-inner .single-service-overview-copy,
    body.ssf-modern.is-inner .single-service-feature-copy {
        text-align: left;
    }

    body.ssf-modern.is-inner .single-service-overview-copy > .eyebrow,
    body.ssf-modern.is-inner .single-service-feature-copy > .eyebrow,
    body.ssf-modern.is-inner .single-service-overview-copy h2,
    body.ssf-modern.is-inner .single-service-feature-copy h2,
    body.ssf-modern.is-inner .single-service-overview-copy > p,
    body.ssf-modern.is-inner .single-service-feature-copy > p,
    body.ssf-modern.is-inner .single-service-feature-copy > .btn {
        margin-right: 0;
        margin-left: 0;
    }

    body.ssf-modern.is-inner .single-service-related-head {
        align-items: flex-end;
        flex-direction: row;
        text-align: left;
    }

    body.ssf-modern.is-inner .single-service-related-head .eyebrow,
    body.ssf-modern.is-inner .single-service-related-head > .single-service-related-cta {
        margin-right: 0;
        margin-left: 0;
    }
}

/* Final tablet precedence layer. */
@media (min-width:576px) and (max-width:991px) {
    body.ssf-modern.is-inner .single-service-feature,
    body.ssf-modern.is-inner .single-service-related {
        padding: 64px 0;
    }

    body.ssf-modern.is-inner .single-service-feature-grid {
        max-width: 720px;
        margin-inline: auto;
        grid-template-columns: 1fr;
        gap: 34px;
    }

    body.ssf-modern.is-inner .single-service-feature-visual {
        width: 100%;
        height: 380px;
        border-radius: 24px;
    }

    body.ssf-modern.is-inner .single-service-feature-copy {
        padding: 38px 34px;
        border: 1px solid #e8e3e0;
        border-radius: 24px;
        background: linear-gradient(145deg, #fff 0%, #fff8f8 100%);
        box-shadow: 0 18px 45px rgba(16, 24, 44, .07);
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-feature-copy > .eyebrow {
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .single-service-feature-copy h2 {
        max-width: 620px;
        margin: 16px auto 18px;
        font-size: clamp(42px, 6vw, 54px);
    }

    body.ssf-modern.is-inner .single-service-feature-copy > p:not(.eyebrow) {
        max-width: 590px;
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .single-service-feature-copy ul {
        max-width: 620px;
        margin: 28px auto 30px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        text-align: left;
    }

    body.ssf-modern.is-inner .single-service-feature-copy > .btn {
        display: inline-flex;
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .single-service-related-head {
        max-width: 720px;
        margin: 0 auto 34px;
        align-items: center;
        flex-direction: column;
        gap: 22px;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-related-head .eyebrow {
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .single-service-related-head h2 {
        margin-top: 14px;
        font-size: clamp(40px, 5.8vw, 50px);
    }

    body.ssf-modern.is-inner .single-service-related-head > .single-service-related-cta {
        margin-right: auto;
        margin-left: auto;
    }

    body.ssf-modern.is-inner .single-service-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    body.ssf-modern.is-inner .single-service-related-card {
        min-height: 340px;
        border-radius: 22px;
    }

    body.ssf-modern.is-inner .single-service-hero-copy {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
        align-items: center;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .blog-breadcrumb {
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
        justify-content: center;
    }

    body.ssf-modern.is-inner .single-service-hero-copy > .eyebrow {
        width: 100%;
        margin-inline: auto;
        text-align: center;
        display: block;
    }

    body.ssf-modern.is-inner .single-service-hero h1,
    body.ssf-modern.is-inner .single-service-hero-copy > p:not(.eyebrow) {
        max-width: 720px;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    body.ssf-modern.is-inner .single-service-hero .services-page-hero-actions {
        width: 100%;
        justify-content: center;
    }

    body.ssf-modern.is-inner .site-header:not(.scrolled) .navbar {
        min-height: 84px;
        padding: 12px 0
    }

    body.ssf-modern.is-inner .site-header:not(.scrolled) .container {
        padding-inline: 28px
    }

    body.ssf-modern.is-inner .site-header:not(.scrolled) .header-logo {
        width: 124px;
        height: 48px
    }

    body.ssf-modern.is-home .modern-hero {
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 130px 0 48px;
        border-radius: 0
    }

    body.ssf-modern.is-home .modern-hero>.container {
        padding-inline: 28px
    }

    body.ssf-modern.is-home .hero-stage {
        grid-template-columns: 1fr;
        gap: 34px
    }

    body.ssf-modern.is-home .hero-editorial {
        max-width: 720px;
        margin-inline: auto;
        padding: 0;
        text-align: center
    }

    body.ssf-modern.is-home .modern-hero h1 {
        max-width: 720px;
        margin-inline: auto;
        font-size: clamp(48px, 7.2vw, 64px);
        text-align: center
    }

    body.ssf-modern.is-home .modern-hero .hero-copy {
        max-width: 590px;
        margin-inline: auto;
        text-align: center
    }

    body.ssf-modern.is-home .hero-actions {
        justify-content: center
    }

    body.ssf-modern.is-home .hero-quote-card {
        width: 100%;
        max-width: 680px;
        margin-inline: auto
    }

    body.ssf-modern.is-home .clients-panel {
        padding: 30px 26px
    }

    body.ssf-modern.is-home .about-refined-grid {
        grid-template-columns: 1fr;
        gap: 46px
    }

    body.ssf-modern.is-home .about-refined-content {
        min-height: 0;
        padding: 0
    }

    body.ssf-modern.is-home .about-visual-pair {
        min-height: 520px
    }

    body.ssf-modern.is-home .service-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        display: grid;
    }

    body.ssf-modern.is-home .delivery-section {
        margin-inline: 10px;
        padding: 72px 0;
        border-radius: 28px;
        background-position: center;
    }

    body.ssf-modern.is-home .delivery-section>.container {
        padding-inline: 28px;
    }

    body.ssf-modern.is-home .delivery-heading {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 20px;
        margin-bottom: 38px;
        text-align: center;
    }

    body.ssf-modern.is-home .delivery-heading .section-title {
        font-size: clamp(38px, 6vw, 48px);
    }

    body.ssf-modern.is-home .delivery-heading .muted {
        max-width: 560px;
        margin: 0 auto;
        text-align: center;
    }

    body.ssf-modern.is-home .delivery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    body.ssf-modern.is-home .delivery-grid article {
        min-height: 230px;
        padding: 24px;
    }

    body.ssf-modern.is-home .delivery-grid h3 {
        margin-top: 32px;
    }

    body.ssf-modern.is-home .contact-shell {
        grid-template-columns: 1fr;
        gap: 30px
    }

    body.ssf-modern.is-inner .blog-hero,
    body.ssf-modern.is-inner .article-hero {
        padding: 132px 0 68px
    }

    body.ssf-modern.is-inner .blog-catalog-layout,
    body.ssf-modern.is-inner .article-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    body.ssf-modern.is-inner .blog-sidebar,
    body.ssf-modern.is-inner .article-sidebar {
        position: static;
        max-height: none;
        overflow: visible
    }

    body.ssf-modern.is-inner .blog-sidebar>.blog-sidebar-card:first-child,
    body.ssf-modern.is-inner .article-sidebar>.blog-sidebar-card:first-child {
        grid-column: 1 / -1;
        width: 100%;
    }

    body.ssf-modern.is-inner .blog-sidebar>.blog-sidebar-card:first-child .blog-search,
    body.ssf-modern.is-inner .article-sidebar>.blog-sidebar-card:first-child .blog-search {
        width: 100%;
    }

    body.ssf-modern:is(.is-home, .is-inner) .navbar-toggler {
        background: transparent !important;
        box-shadow: none !important
    }

    body.ssf-modern.is-home .hero-contact-form .row,
    body.ssf-modern.is-home #contactForm .row {
        --bs-gutter-x: 14px;
        --bs-gutter-y: 14px;
        display: flex;
        flex-wrap: wrap;
        width: auto;
        margin-top: calc(-1 * var(--bs-gutter-y));
        margin-inline: calc(-.5 * var(--bs-gutter-x));
    }

    body.ssf-modern.is-home .hero-contact-form .row>.col-md-6,
    body.ssf-modern.is-home #contactForm .row>.col-md-6 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }

    body.ssf-modern.is-home .hero-contact-form .row>.col-12,
    body.ssf-modern.is-home #contactForm .row>.col-12 {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    body.ssf-modern.is-home .hero-contact-form .form-control,
    body.ssf-modern.is-home .hero-contact-form .form-select,
    body.ssf-modern.is-home #contactForm .form-control,
    body.ssf-modern.is-home #contactForm .form-select {
        width: 100%;
        max-width: 100%
    }

    body.ssf-modern .section-pad {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    body.ssf-modern .footer-main-grid {
        grid-template-columns: 1.2fr 1fr;
        gap: 36px 48px
    }
}
