

:root {
    --sfs-font: "Montserrat", Arial, sans-serif;
    --sfs-body-size: 13.5px;
    --sfs-body-weight: 550;
    --sfs-heading-size: clamp(30px, 3vw, 46px);
    --sfs-heading-weight: 650;
    --sfs-hero-weight: 600;

    --sfs-navy: #082744;
    --sfs-navy-2: #0b335b;
    --sfs-blue: #0a73d9;
    --sfs-cyan: #2aa9e7;
    --sfs-ink: #17324c;
    --sfs-muted: #68798b;
    --sfs-line: #d8e2ec;
    --sfs-soft: #f4f7fa;
    --sfs-white: #fff;
    --sfs-fluid: min(94%, 1600px);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body,
.body-inner,
.sfs-page,
.sfs-page * {
    font-family: var(--sfs-font);
}

body {
    margin: 0;
    overflow-x: hidden;
    color: var(--sfs-ink);
    background: #fff;
    font-size: var(--sfs-body-size);
    font-weight: var(--sfs-body-weight);
    line-height: 1.78;
}

.container-fluid.sfs-fluid {
    width: var(--sfs-fluid);
    max-width: none;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}

.sfs-section {
    position: relative;
    padding: 102px 0;
}

.sfs-section-soft {
    background: var(--sfs-soft);
}

.sfs-heading {
    margin: 0 0 16px;
    color: var(--sfs-navy);
    font-size: var(--sfs-heading-size);
    font-weight: var(--sfs-heading-weight);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.sfs-text {
    margin: 0;
    color: var(--sfs-muted);
    font-size: var(--sfs-body-size);
    font-weight: var(--sfs-body-weight);
    line-height: 1.82;
}

.sfs-kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 15px;
    color: var(--sfs-blue);
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
}


.sfs-section-head {
    max-width: 780px;
    margin-bottom: 44px;
}

.sfs-btn {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    padding: 0 23px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 10.5px;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.sfs-btn-primary {
    color: #fff !important;
    background: var(--sfs-blue);
    border-color: var(--sfs-blue);
}

.sfs-btn-primary:hover {
    transform: translateY(-2px);
    background: #075fb8;
    border-color: #075fb8;
}

.sfs-btn-outline {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .46);
    background: transparent;
}

.sfs-btn-outline:hover {
    transform: translateY(-2px);
    color: var(--sfs-navy) !important;
    border-color: #fff;
    background: #fff;
}

.sfs-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--sfs-blue);
    font-size: 10.5px;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: gap .25s ease, color .25s ease;
}

.sfs-link:hover {
    gap: 14px;
    color: var(--sfs-navy);
}

/* HEADER */
#header,
#header.header-transparent,
#header #header-wrap,
#header.header-transparent #header-wrap {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: rgba(242, 244, 247, 0.51) !important;
    border-bottom: 1px solid rgba(8, 39, 68, .10);
    box-shadow: none !important;
    transition: background .3s ease, border-color .3s ease;
}

#header .header-inner,
#header #header-wrap,
#header-wrap {
    min-height: 86px;
}

#mainMenu nav>ul>li>a,
#header .header-extras a,
#header .header-extras i,
#mainMenu-trigger {
    color: var(--sfs-navy) !important;
    font-size: 11px;
    font-weight: 650 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#mainMenu nav>ul>li>a {
    position: relative;
}

#mainMenu nav>ul>li>a::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 14px;
    height: 1px;
    background: var(--sfs-blue);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .28s ease;
}

#mainMenu nav>ul>li:hover>a::after,
#mainMenu nav>ul>li.current>a::after {
    transform: scaleX(1);
}

body.sfs-scrolled #header,
body.sfs-scrolled #header #header-wrap {
    position: fixed !important;
    background: rgba(242, 244, 247, 0.51) !important;
    border-bottom-color: rgba(8, 39, 68, .10);
    backdrop-filter: blur(12px);
}


/* HEADER LOGO VISIBILITY FIX */
#header #logo {
    position: relative;
    z-index: 1002;
}

#header #logo > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 76px;
}

#header #logo img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: 86px !important;
    max-width: 190px !important;
    object-fit: contain;
    object-position: center;
    filter: none !important;
}


@media (max-width: 991px) {
    #header #logo > a {
        min-height: 68px;
    }

    #header #logo img {
        height: 88px !important;
        max-width: 165px !important;
    }
}

/* 01 HERO */
.sfs-hero {
    position: relative;
    min-height: 720px;
    height: 100vh;
    max-height: 920px;
    overflow: hidden;
    background: #061f39;
}

.sfs-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .78s ease, visibility .78s ease;
}

.sfs-slide.active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sfs-slide-bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.055);
    transition: transform 7s ease;
}

.sfs-slide.active .sfs-slide-bg {
    transform: scale(1);
}

.sfs-slide-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 20, 39, .94) 0%, rgba(6, 33, 61, .77) 45%, rgba(6, 33, 61, .31) 78%, rgba(6, 33, 61, .13) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .22));
}

.sfs-hero-motion {
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    opacity: .4;
    background-image:
        linear-gradient(rgba(255, 255, 255, .042) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .042) 1px, transparent 1px);
    background-size: 74px 74px;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .2) 84%, transparent);
    animation: sfsGridMove 20s linear infinite;
}

@keyframes sfsGridMove {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 0 74px, 74px 0;
    }
}

.sfs-orbit {
    position: absolute;
    z-index: 3;
    top: 20%;
    right: -110px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    animation: sfsOrbit 22s linear infinite;
    pointer-events: none;
}

.sfs-orbit::before,
.sfs-orbit::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .08);
}

.sfs-orbit::before {
    inset: 58px;
}

.sfs-orbit::after {
    inset: 122px;
}

.sfs-orbit-dot {
    position: absolute;
    top: -5px;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-left: -5px;
    border-radius: 50%;
    background: #66cbff;
}

@keyframes sfsOrbit {
    to {
        transform: rotate(360deg);
    }
}

.sfs-hero-content {
    position: relative;
    z-index: 5;
    height: 100%;
    display: flex;
    align-items: center;
    padding-top: 90px;
}

.sfs-hero-copy {
    max-width: 760px;
}

.sfs-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: #a9e0ff;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.sfs-hero-eyebrow::before {
    content: "";
    width: 38px;
    height: 2px;
    background: #53c2f7;
}

.sfs-hero-title {
    max-width: 780px;
    margin: 0 0 21px;
    color: #fff;
    font-size: clamp(42px, 4.65vw, 66px);
    font-weight: var(--sfs-hero-weight);
    line-height: 1.055;
    letter-spacing: -.048em;
}

.sfs-hero-title span {
    color: #7bd4ff;
}

.sfs-hero-text {
    max-width: 640px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .80);
    font-size: 13.5px;
    font-weight: 550;
    line-height: 1.85;
}

.sfs-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.sfs-slide .sfs-hero-copy>* {
    opacity: 0;
    transform: translateY(26px);
}

.sfs-slide.active .sfs-hero-copy>* {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .66s ease, transform .66s cubic-bezier(.2, .72, .2, 1);
}

.sfs-slide.active .sfs-hero-copy>*:nth-child(2) {
    transition-delay: .08s;
}

.sfs-slide.active .sfs-hero-copy>*:nth-child(3) {
    transition-delay: .16s;
}

.sfs-slide.active .sfs-hero-copy>*:nth-child(4) {
    transition-delay: .24s;
}

.sfs-slide-counter {
    position: absolute;
    z-index: 8;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .18em;
    writing-mode: vertical-rl;
}

.sfs-hero-controls {
    position: absolute;
    z-index: 9;
    left: 0;
    right: 0;
    bottom: 28px;
}

.sfs-hero-controls-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.sfs-slider-dots {
    display: flex;
    align-items: center;
    gap: 9px;
}

.sfs-slider-dot {
    width: 29px;
    height: 2px;
    padding: 0;
    border: 0;
    background: rgba(255, 255, 255, .3);
    cursor: pointer;
    transition: width .28s ease, background .28s ease;
}

.sfs-slider-dot.active {
    width: 53px;
    background: #fff;
}

.sfs-slider-arrows {
    display: flex;
    gap: 8px;
}

.sfs-slider-arrow {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .34);
    background: transparent;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.sfs-slider-arrow:hover {
    transform: translateY(-2px);
    border-color: #fff;
    background: rgba(255, 255, 255, .08);
}

.sfs-progress {
    position: absolute;
    z-index: 9;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, .10);
}

.sfs-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: #6bcfff;
}

.sfs-progress span.run {
    animation: sfsProgress 5s linear forwards;
}

@keyframes sfsProgress {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

/* 02 ABOUT + SNAPSHOT */
.sfs-about-grid {
    display: grid;
    grid-template-columns: .98fr 1.02fr;
    gap: 72px;
    align-items: center;
}

.sfs-about-visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
}

.sfs-about-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease;
}

.sfs-about-visual:hover img {
    transform: scale(1.035);
}

.sfs-about-band {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: rgba(6, 35, 65, .92);
    color: #fff;
}

.sfs-about-stat {
    padding: 20px 22px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.sfs-about-stat:last-child {
    border-right: 0;
}

.sfs-about-stat strong {
    display: block;
    color: #fff;
    font-size: 23px;
    font-weight: 650;
    line-height: 1;
    margin-bottom: 6px;
}

.sfs-about-stat span {
    display: block;
    color: rgba(255, 255, 255, .68);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sfs-about-list {
    margin-top: 29px;
    border-top: 1px solid var(--sfs-line);
}

.sfs-about-row {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 15px;
    padding: 17px 0;
    border-bottom: 1px solid var(--sfs-line);
}

.sfs-about-row .no {
    color: var(--sfs-blue);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .1em;
}

.sfs-about-row strong {
    display: block;
    margin-bottom: 4px;
    color: var(--sfs-navy);
    font-size: 13px;
    font-weight: 650;
}

.sfs-about-row span {
    color: var(--sfs-muted);
    font-size: 11.4px;
    line-height: 1.72;
}

/* 03 DIVISIONS */
.sfs-divisions-layout {
    display: grid;
    grid-template-columns: 390px minmax(0, 1fr);
    gap: 62px;
    align-items: start;
}

.sfs-divisions-intro {
    position: sticky;
    top: 118px;
}

.sfs-division-list {
    border-top: 1px solid #cedae5;
}

.sfs-division-row {
    position: relative;
    display: grid;
    grid-template-columns: 54px 225px minmax(0, 1fr) 32px;
    gap: 20px;
    align-items: center;
    min-height: 116px;
    overflow: hidden;
    border-bottom: 1px solid #cedae5;
    transition: padding .3s ease, background .3s ease;
}

.sfs-division-row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 0;
    background: linear-gradient(var(--sfs-blue), var(--sfs-cyan));
    transition: height .35s ease;
}

.sfs-division-row:hover {
    padding-left: 16px;
    background: rgba(255, 255, 255, .78);
}

.sfs-division-row:hover::before {
    height: 100%;
}

.sfs-division-no {
    color: #8ba0b4;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .11em;
}

.sfs-division-row h3 {
    margin: 0;
    color: var(--sfs-navy);
    font-size: 19px;
    font-weight: 650;
}

.sfs-division-row p {
    margin: 0;
    color: var(--sfs-muted);
    font-size: 11.5px;
    line-height: 1.72;
}

.sfs-division-arrow {
    color: var(--sfs-blue);
    font-size: 20px;
    transition: transform .25s ease;
}

.sfs-division-row:hover .sfs-division-arrow {
    transform: translateX(6px);
}



/* 04 PARTNER BRANDS - ONLINE LOGOS + MOTION */
.sfs-brands-head {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 40px;
}

.sfs-brand-marquee {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--sfs-line);
    border-radius: var(--sfs-radius);
    background: #fff;
}

.sfs-brand-marquee::before,
.sfs-brand-marquee::after {
    content: "";
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    width: 90px;
    pointer-events: none;
}

.sfs-brand-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0));
}

.sfs-brand-marquee::after {
    right: 0;
    background: linear-gradient(270deg, #fff, rgba(255, 255, 255, 0));
}

.sfs-brand-track {
    display: flex;
    align-items: stretch;
    width: max-content;
    animation: sfsBrandMove 28s linear infinite;
    will-change: transform;
}

.sfs-brand-marquee:hover .sfs-brand-track {
    animation-duration: 46s;
}

.sfs-brand-item {
    position: relative;
    min-width: 205px;
    min-height: 128px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-right: 1px solid var(--sfs-line);
    color: #60758a;
    background: #fff;
    text-align: center;
    transition: background .28s ease, color .28s ease;
}

.sfs-brand-logo-wrap {
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce5ec;
    border-radius: 18px;
    background: #fff;
    animation: sfsBrandFloat 4.5s ease-in-out infinite;
}

.sfs-brand-item:nth-child(2n) .sfs-brand-logo-wrap {
    animation-delay: -1.1s;
}

.sfs-brand-item:nth-child(3n) .sfs-brand-logo-wrap {
    animation-delay: -2.2s;
}

.sfs-brand-item:nth-child(4n) .sfs-brand-logo-wrap {
    animation-delay: -3.1s;
}

.sfs-brand-logo-wrap img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .78;
    transition: filter .28s ease, opacity .28s ease, transform .28s ease;
}

.sfs-brand-item strong {
    color: var(--sfs-navy);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
    white-space: nowrap;
}

.sfs-brand-item::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--sfs-blue), var(--sfs-cyan));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}

.sfs-brand-item:hover {
    color: var(--sfs-blue);
    background: #f8fbfd;
}

.sfs-brand-item:hover::after {
    transform: scaleX(1);
}

.sfs-brand-item:hover .sfs-brand-logo-wrap img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.08);
}

@keyframes sfsBrandMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes sfsBrandFloat {

    0%,
    100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-6px) rotate(.8deg);
    }
}

/* 05 PRODUCTS - TABBED ONE-ROW PRODUCT CARDS */
.sfs-products {
    position: relative;
    overflow: hidden;
    background: #f7f8f5;
}

.sfs-products::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .28;
    background-image: radial-gradient(circle at 1px 1px, rgba(7, 52, 91, .09) 1px, transparent 0);
    background-size: 30px 30px;
    animation: sfsProductDots 24s linear infinite;
}

@keyframes sfsProductDots {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 60px 60px;
    }
}

.sfs-products .container-fluid {
    position: relative;
    z-index: 2;
}

.sfs-products-head {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 65px;
    align-items: end;
    margin-bottom: 34px;
}

.sfs-product-tabs-wrap {
    position: relative;
    margin-bottom: 30px;
    border-bottom: 1px solid #cfd9df;
}

.sfs-product-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}

.sfs-product-tabs::-webkit-scrollbar {
    display: none;
}

.sfs-product-tab {
    position: relative;
    flex: 0 0 auto;
    min-height: 58px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-right: 1px solid #dbe3e8;
    background: transparent;
    color: #667887;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .045em;
    white-space: nowrap;
    cursor: pointer;
    transition: color .25s ease, background .25s ease;
}

.sfs-product-tab::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: -1px;
    height: 3px;
    background: var(--sfs-blue);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s ease;
}

.sfs-product-tab:hover {
    color: var(--sfs-navy);
    background: rgba(10, 115, 217, .035);
}

.sfs-product-tab.active {
    color: var(--sfs-blue);
    background: #fff;
}

.sfs-product-tab.active::after {
    transform: scaleX(1);
}

.sfs-product-groups {
    position: relative;
    min-height: 520px;
}

.sfs-product-group {
    display: none;
    gap: 22px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px 1px 12px;
    scrollbar-width: thin;
    scrollbar-color: #aebdca transparent;
    scroll-snap-type: x mandatory;
    animation: sfsProductGroupIn .48s ease both;
}

.sfs-product-group.active {
    display: flex;
}

@keyframes sfsProductGroupIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sfs-product-card {
    position: relative;
    flex: 0 0 calc((100% - 44px) / 3);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d6e0e3;
    background: #fff;
    scroll-snap-align: start;
    transition: transform .32s ease, border-color .32s ease;
}

.sfs-product-card:hover {
    transform: translateY(-6px);
    border-color: #aac4d7;
}

.sfs-product-card-media {
    position: relative;
    height: 245px;
    overflow: hidden;
    background: #edf1f2;
}

.sfs-product-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 70%, rgba(4, 37, 67, .08) 100%);
}

.sfs-product-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    transition: transform .72s cubic-bezier(.2, .7, .2, 1);
}

.sfs-product-card:hover .sfs-product-card-media img {
    transform: scale(1.05);
}

.sfs-product-card-body {
    min-height: 180px;
    padding: 25px 27px 20px;
}

.sfs-product-card-category {
    display: block;
    margin-bottom: 8px;
    color: var(--sfs-blue);
    font-size: 9.5px;
    font-weight: 650;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.sfs-product-card h3 {
    margin: 0 0 10px;
    color: var(--sfs-navy);
    font-size: 21px;
    font-weight: 650;
    line-height: 1.24;
    letter-spacing: -.025em;
}

.sfs-product-card p {
    margin: 0;
    color: #6a7a86;
    font-size: 11.3px;
    font-weight: 600;
    line-height: 1.72;
}

.sfs-product-card-footer {
    margin: 0 27px;
    padding: 17px 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid #d8e1e4;
    color: #084b68;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sfs-product-card-footer span:last-child {
    font-size: 23px;
    line-height: 1;
    transition: transform .25s ease;
}

.sfs-product-card:hover .sfs-product-card-footer span:last-child {
    transform: translateX(5px);
}

.sfs-product-more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

/* 06 WHY CHOOSE US - IMAGE SPLIT DESIGN */
.sfs-why {
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 92% 12%, rgba(45, 174, 236, .14), transparent 24%),
        var(--sfs-navy);
}

.sfs-why .container-fluid {
    position: relative;
    z-index: 2;
}

.sfs-why .sfs-heading {
    color: #fff;
}

.sfs-why .sfs-text {
    color: rgba(255, 255, 255, .72);
}

.sfs-why .sfs-kicker {
    color: #9bddff;
}

.sfs-why .sfs-kicker::before {
    background: #9bddff;
}

.sfs-why-layout {
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    gap: 58px;
    align-items: stretch;
}

.sfs-why-media {
    position: relative;
    min-height: 600px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .15);
}

.sfs-why-media img {
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
    transition: transform 1.1s ease;
}

.sfs-why-media:hover img {
    transform: scale(1.035);
}

.sfs-why-media::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(5, 30, 56, .68) 100%);
    pointer-events: none;
}

.sfs-why-media::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: -15%;
    left: -35%;
    width: 28%;
    height: 135%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
    transform: rotate(12deg);
    animation: sfsWhySheen 7s ease-in-out infinite;
    pointer-events: none;
}

@keyframes sfsWhySheen {

    0%,
    20% {
        left: -40%;
        opacity: 0;
    }

    42% {
        opacity: .65;
    }

    70%,
    100% {
        left: 115%;
        opacity: 0;
    }
}

.sfs-why-image-copy {
    position: absolute;
    z-index: 4;
    left: 25px;
    right: 25px;
    bottom: 24px;
    color: #fff;
}

.sfs-why-image-copy span {
    display: block;
    margin-bottom: 6px;
    color: #a7e2ff;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.sfs-why-image-copy strong {
    display: block;
    max-width: 440px;
    color: #fff;
    font-size: 20px;
    font-weight: 650;
    line-height: 1.35;
}

.sfs-why-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sfs-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-left: 1px solid rgba(255, 255, 255, .16);
}

.sfs-why-card {
    position: relative;
    min-height: 175px;
    padding: 24px;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    overflow: hidden;
    transition: background .3s ease, transform .3s ease;
}

.sfs-why-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #6fd1ff;
    transition: width .35s ease;
}

.sfs-why-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, .045);
}

.sfs-why-card:hover::after {
    width: 100%;
}

.sfs-why-no {
    display: block;
    margin-bottom: 20px;
    color: #78d2ff;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .11em;
}

.sfs-why-card h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 15.5px;
    font-weight: 650;
}

.sfs-why-card p {
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: 10.9px;
    line-height: 1.7;
}

/* 07 PROJECT PROCESS */
.sfs-projectflow-layout {
    display: grid;
    grid-template-columns: 380px minmax(0, 1fr);
    gap: 72px;
    align-items: start;
}

.sfs-projectflow-intro {
    position: sticky;
    top: 118px;
}

.sfs-projectflow-track {
    position: relative;
    padding-left: 65px;
}

.sfs-projectflow-track::before {
    content: "";
    position: absolute;
    top: 0;
    left: 22px;
    width: 2px;
    height: 100%;
    background: var(--sfs-line);
}

.sfs-projectflow-runner {
    position: absolute;
    z-index: 3;
    left: 18px;
    top: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--sfs-blue);

    animation: sfsProjectFlowRunner 6s ease-in-out infinite;
}

@keyframes sfsProjectFlowRunner {

    0%,
    100% {
        top: 0;
    }

    50% {
        top: calc(100% - 10px);
    }
}

.sfs-projectflow-step {
    position: relative;
    min-height: 150px;
    padding: 0 0 39px 0;
}

.sfs-projectflow-step:last-child {
    padding-bottom: 0;
}

.sfs-projectflow-number {
    position: absolute;
    left: -65px;
    top: 0;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c9d8e5;
    background: #fff;
    color: var(--sfs-blue);
    font-size: 10px;
    font-weight: 650;
}

.sfs-projectflow-step h3 {
    margin: 0 0 8px;
    color: var(--sfs-navy);
    font-size: 18px;
    font-weight: 650;
}

.sfs-projectflow-step p {
    margin: 0;
    max-width: 720px;
    color: var(--sfs-muted);
    font-size: 11.6px;
    line-height: 1.75;
}

/* 08 TESTIMONIALS - CARD SLIDER */
.sfs-testimonials {
    overflow: hidden;
    background: var(--sfs-soft);
}

.sfs-testimonials-head {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 65px;
    align-items: end;
    margin-bottom: 38px;
}

.sfs-testimonial-head-actions {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.sfs-testimonial-controls {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.sfs-testimonial-btn {
    width: 43px;
    height: 43px;
    border: 1px solid #cbd8e3;
    background: #fff;
    color: var(--sfs-navy);
    font-size: 17px;
    font-weight: 650;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}

.sfs-testimonial-btn:hover {
    transform: translateY(-2px);
    color: #fff;
    background: var(--sfs-blue);
    border-color: var(--sfs-blue);
}

.sfs-testimonial-viewport {
    overflow: hidden;
}

.sfs-testimonial-track {
    display: flex;
    gap: 20px;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1);
    will-change: transform;
}

.sfs-testimonial-card {
    flex: 0 0 calc((100% - 40px) / 3);
    min-height: 330px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sfs-line);
    background: #fff;
    transition: transform .3s ease, border-color .3s ease;
}

.sfs-testimonial-card:hover {
    transform: translateY(-5px);
    border-color: #aec7da;
}

.sfs-testimonial-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 32px;
}

.sfs-testimonial-tag {
    color: var(--sfs-blue);
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sfs-quote-mark {
    color: #95cce8;
    font-size: 50px;
    font-weight: 650;
    line-height: .5;
}

.sfs-testimonial-card blockquote {
    flex: 1;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    color: var(--sfs-navy);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: -.015em;
}

.sfs-testimonial-meta {
    padding-top: 18px;
    border-top: 1px solid var(--sfs-line);
}

.sfs-testimonial-meta strong {
    display: block;
    margin-bottom: 2px;
    color: var(--sfs-navy);
    font-size: 12px;
    font-weight: 650;
}

.sfs-testimonial-meta span {
    color: var(--sfs-muted);
    font-size: 10.5px;
}

.sfs-demo-note {
    display: block;
    margin-top: 8px;
    color: #94a1ad;
    font-size: 8.7px;
    font-weight: 550;
}

.sfs-testimonial-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 25px;
}

.sfs-testimonial-dot {
    width: 24px;
    height: 2px;
    border: 0;
    padding: 0;
    background: #bdc9d3;
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}

.sfs-testimonial-dot.active {
    width: 42px;
    background: var(--sfs-blue);
}


/* 09 CONTACT FORM - LIGHT CORPORATE SECTION */
.sfs-contact {
    position: relative;
    overflow: hidden;
    color: var(--sfs-ink);
    background:
        radial-gradient(circle at 92% 12%, rgba(42, 169, 231, .12), transparent 25%),
        linear-gradient(135deg, #edf6fb 0%, #f9fbfd 52%, #eaf4fa 100%);
    border-top: 1px solid #dbe7ef;
}

.sfs-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .36;
    background-image:
        linear-gradient(rgba(8, 39, 68, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8, 39, 68, .045) 1px, transparent 1px);
    background-size: 64px 64px;
    animation: sfsContactGrid 20s linear infinite;
}

@keyframes sfsContactGrid {
    from { background-position: 0 0, 0 0; }
    to { background-position: 64px 64px, 64px 64px; }
}

.sfs-contact .container-fluid {
    position: relative;
    z-index: 2;
}

.sfs-contact .sfs-heading {
    color: var(--sfs-navy);
}

.sfs-contact .sfs-text {
    color: #617589;
}

.sfs-contact .sfs-kicker {
    color: var(--sfs-blue);
}

.sfs-contact .sfs-kicker::before {
    background: linear-gradient(90deg, var(--sfs-blue), var(--sfs-cyan));
}

.sfs-contact-layout {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 76px;
    align-items: start;
}

.sfs-contact-points {
    margin-top: 32px;
    overflow: hidden;
    border: 1px solid #d7e4ed;
    border-radius: var(--sfs-radius);
    background: rgba(255, 255, 255, .68);
}

.sfs-contact-point {
    padding: 17px 19px;
    border-bottom: 1px solid #d7e4ed;
}

.sfs-contact-point:last-child {
    border-bottom: 0;
}

.sfs-contact-point strong {
    display: block;
    margin-bottom: 3px;
    color: var(--sfs-navy);
    font-size: 12px;
    font-weight: 650;
}

.sfs-contact-point span,
.sfs-contact-point a {
    color: #65798b;
    font-size: 11px;
}

.sfs-contact-point a:hover {
    color: var(--sfs-blue);
}

.sfs-form {
    position: relative;
    padding: 36px;
    border: 1px solid #d6e3ed;
    border-radius: var(--sfs-radius);
    background: rgba(255, 255, 255, .94);

    backdrop-filter: blur(8px);
}

.sfs-form::before {
    content: "";
    position: absolute;
    left: 32px;
    right: 32px;
    top: 0;
    height: 3px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, var(--sfs-blue), var(--sfs-cyan));
}

.sfs-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.sfs-field-full {
    grid-column: 1 / -1;
}

.sfs-field label {
    display: block;
    margin-bottom: 7px;
    color: #536b80;
    font-size: 9.5px;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sfs-field input,
.sfs-field select,
.sfs-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid #d3e0e9;
    border-radius: var(--sfs-radius-sm);
    outline: 0;
    color: var(--sfs-ink);
    background: #f9fbfc;
    font-size: 12px;
    font-weight: 550;
    transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.sfs-field textarea {
    min-height: 120px;
    resize: vertical;
}

.sfs-field input::placeholder,
.sfs-field textarea::placeholder {
    color: #91a2b0;
}

.sfs-field input:focus,
.sfs-field select:focus,
.sfs-field textarea:focus {
    border-color: #79c9ef;
    background: #fff;

}

.sfs-field select option {
    color: #17324c;
    background: #fff;
}

.sfs-form .sfs-btn-primary {
    margin-top: 18px;
    color: #fff !important;
    background: var(--sfs-blue);
    border-color: var(--sfs-blue);
}

.sfs-form .sfs-btn-primary:hover {
    background: #075fb8;
    border-color: #075fb8;
}

/* REVEAL ANIMATIONS */
.sfs-reveal,
.sfs-reveal-left,
.sfs-reveal-right,
.sfs-reveal-scale {
    opacity: 0;
    transition: opacity .75s ease, transform .75s cubic-bezier(.2, .72, .2, 1);
}

.sfs-reveal {
    transform: translateY(30px);
}

.sfs-reveal-left {
    transform: translateX(-38px);
}

.sfs-reveal-right {
    transform: translateX(38px);
}

.sfs-reveal-scale {
    transform: scale(.96);
}

.sfs-visible {
    opacity: 1 !important;
    transform: translate(0, 0) scale(1) !important;
}

.sfs-delay-1 {
    transition-delay: .09s;
}

.sfs-delay-2 {
    transition-delay: .18s;
}

.sfs-delay-3 {
    transition-delay: .27s;
}

@media (max-width: 1199px) {

    .sfs-about-grid,
    .sfs-divisions-layout,
    .sfs-products-layout,
    .sfs-why-top,
    .sfs-projectflow-layout,
    .sfs-testimonial-wrap,
    .sfs-brands-head,
    .sfs-contact-layout {
        grid-template-columns: 1fr;
    }

    .sfs-divisions-intro,
    .sfs-projectflow-intro {
        position: static;
    }

    .sfs-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .sfs-section {
        padding: 84px 0;
    }

    .sfs-hero {
        min-height: 690px;
        height: 88vh;
    }

    .sfs-about-visual {
        min-height: 480px;
    }

    .sfs-division-row {
        grid-template-columns: 44px 185px minmax(0, 1fr) 28px;
        gap: 14px;
    }

    .sfs-product-stage {
        min-height: 560px;
    }
}

@media (max-width: 767px) {
    :root {
        --sfs-body-size: 13px;
        --sfs-heading-size: clamp(27px, 7.8vw, 35px);
        --sfs-fluid: min(91%, 1600px);
    }

    .sfs-section {
        padding: 67px 0;
    }

    #header .header-inner,
    #header #header-wrap,
    #header-wrap {
        min-height: 72px;
    }

    .sfs-hero {
        min-height: 690px;
        height: 100svh;
        max-height: none;
    }

    .sfs-hero-content {
        padding-top: 74px;
    }

    .sfs-hero-title {
        font-size: clamp(36px, 10.2vw, 48px);
    }

    .sfs-hero-text {
        font-size: 13px;
    }

    .sfs-hero-actions {
        display: grid;
        width: min(100%, 290px);
    }

    .sfs-slider-arrows,
    .sfs-slide-counter,
    .sfs-orbit {
        display: none;
    }

    .sfs-about-visual {
        min-height: 400px;
    }

    .sfs-about-band {
        grid-template-columns: 1fr;
    }

    .sfs-about-stat {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .10);
    }

    .sfs-division-row {
        grid-template-columns: 36px 1fr 24px;
        gap: 10px;
        min-height: 112px;
        padding: 16px 0;
    }

    .sfs-division-row p {
        grid-column: 2 / 4;
        margin-top: -4px;
    }

    .sfs-product-panel {
        padding: 30px 24px;
    }

    .sfs-product-points {
        position: static;
        margin-top: 34px;
        grid-template-columns: 1fr;
    }

    .sfs-product-stage {
        min-height: 600px;
    }

    .sfs-why-grid {
        grid-template-columns: 1fr;
    }

    .sfs-projectflow-track {
        padding-left: 58px;
    }

    .sfs-projectflow-number {
        left: -58px;
    }

    .sfs-form-grid {
        grid-template-columns: 1fr;
    }

    .sfs-field-full {
        grid-column: auto;
    }

    .sfs-form {
        padding: 26px 22px;
    }
}

@media (max-width: 520px) {
    .sfs-about-band {
        display: none;
    }

    .sfs-testimonial-stage {
        min-height: 390px;
    }
}

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

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

    .sfs-reveal,
    .sfs-reveal-left,
    .sfs-reveal-right,
    .sfs-reveal-scale {
        opacity: 1;
        transform: none;
    }
}


/* PRODUCT / TESTIMONIAL CARD RESPONSIVE */
@media (max-width: 1199px) {

    .sfs-products-head,
    .sfs-testimonials-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .sfs-product-card {
        flex-basis: calc((100% - 22px) / 2);
    }

    .sfs-testimonial-card {
        flex-basis: calc((100% - 20px) / 2);
    }

    .sfs-why-layout {
        grid-template-columns: .9fr 1.1fr;
        gap: 38px;
    }
}

@media (max-width: 991px) {
    .sfs-why-layout {
        grid-template-columns: 1fr;
    }

    .sfs-why-media,
    .sfs-why-media img {
        min-height: 480px;
    }
}

@media (max-width: 767px) {
    .sfs-product-tab {
        min-height: 52px;
        padding: 0 15px;
        font-size: 9.5px;
    }

    .sfs-product-card {
        flex-basis: 86%;
    }

    .sfs-product-card-media {
        height: 225px;
    }

    .sfs-product-card h3 {
        font-size: 20px;
    }

    .sfs-product-groups {
        min-height: 500px;
    }

    .sfs-testimonial-head-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .sfs-testimonial-card {
        flex-basis: 100%;
        min-height: 315px;
    }

    .sfs-why-media,
    .sfs-why-media img {
        min-height: 410px;
    }

    .sfs-why-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .sfs-product-card {
        flex-basis: 92%;
    }

    .sfs-why-media,
    .sfs-why-media img {
        min-height: 360px;
    }
}

/* ======================================================
   FINAL POLISH — SOFT RADIUS + AMBIENT MOTION
====================================================== */
:root {
    --sfs-radius-sm: 10px;
    --sfs-radius: 16px;
    --sfs-radius-lg: 24px;
}

.sfs-btn,
.sfs-slider-arrow,
.sfs-testimonial-btn,
.sfs-field input,
.sfs-field select,
.sfs-field textarea {
    border-radius: var(--sfs-radius-sm);
}

.sfs-about-visual,
.sfs-product-tabs-wrap,
.sfs-product-card,
.sfs-why-media,
.sfs-why-grid,
.sfs-projectflow-number,
.sfs-testimonial-card,
.sfs-brand-marquee,
.sfs-form {
    border-radius: var(--sfs-radius);
}

.sfs-about-band,
.sfs-contact-points {
    border-radius: 0 0 var(--sfs-radius-sm) var(--sfs-radius-sm);
}

.sfs-product-card-media,
.sfs-why-media img {
    border-radius: var(--sfs-radius) var(--sfs-radius) 0 0;
}

.sfs-product-tabs-wrap {
    overflow: hidden;
    border: 1px solid #d8e1e7;
    background: rgba(255, 255, 255, .82);
}

.sfs-product-tabs-wrap::after {
    content: "";
    position: absolute;
    left: -18%;
    bottom: 0;
    width: 18%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #54c5fa, transparent);
    animation: sfsTabsLight 6s linear infinite;
    pointer-events: none;
}

@keyframes sfsTabsLight {
    to {
        left: 105%;
    }
}

.sfs-product-card::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: 0;
    left: -55%;
    width: 34%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .42), transparent);
    transform: skewX(-16deg);
    transition: left .7s ease, opacity .3s ease;
}

.sfs-product-card:hover::before {
    left: 125%;
    opacity: .7;
}

.sfs-division-row {
    border-radius: var(--sfs-radius-sm);
}

.sfs-division-row:hover {
    transform: translateX(4px);
}

.sfs-why-card {
    border-radius: var(--sfs-radius-sm);
}

.sfs-contact {
    position: relative;
}

.sfs-contact::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: -120px;
    top: 12%;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    border: 1px solid rgba(10, 115, 217, .10);
    animation: sfsContactOrbit 16s linear infinite;
    pointer-events: none;
}

@keyframes sfsContactOrbit {
    50% {
        transform: translate(-28px, 28px) rotate(180deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Testimonials ambient motion */
.sfs-testimonials {
    position: relative;
}

.sfs-testimonials::before,
.sfs-testimonials::after {
    content: "";
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}

.sfs-testimonials::before {
    width: 240px;
    height: 240px;
    right: -90px;
    top: 80px;
    background: rgba(10, 115, 217, .065);
    animation: sfsAmbientOne 8s ease-in-out infinite;
}

.sfs-testimonials::after {
    width: 165px;
    height: 165px;
    left: -60px;
    bottom: 60px;
    border: 1px solid rgba(10, 115, 217, .12);
    animation: sfsAmbientTwo 10s ease-in-out infinite;
}

.sfs-testimonials .container-fluid {
    position: relative;
    z-index: 2;
}

@keyframes sfsAmbientOne {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(-34px, 24px) scale(1.08);
    }
}

@keyframes sfsAmbientTwo {

    0%,
    100% {
        transform: translate(0, 0) rotate(0);
    }

    50% {
        transform: translate(34px, -20px) rotate(180deg);
    }
}

.sfs-testimonial-card {
    position: relative;
    overflow: hidden;
    min-height: 350px;
    background:
        radial-gradient(circle at 92% 8%, rgba(10, 115, 217, .07), transparent 24%),
        #fff;
}

.sfs-testimonial-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--sfs-blue), var(--sfs-cyan));
    transform: scaleX(.22);
    transform-origin: left;
    transition: transform .35s ease;
}

.sfs-testimonial-card:hover::before {
    transform: scaleX(1);
}

.sfs-testimonial-card:hover {
    transform: translateY(-7px);
}

.sfs-testimonial-person {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sfs-testimonial-avatar {
    position: relative;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #fff;
    outline: 1px solid #c8d9e5;
    animation: sfsAvatarFloat 4.8s ease-in-out infinite;
}

.sfs-testimonial-card:nth-child(2n) .sfs-testimonial-avatar {
    animation-delay: -1.2s;
}

.sfs-testimonial-card:nth-child(3n) .sfs-testimonial-avatar {
    animation-delay: -2.4s;
}

.sfs-testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@keyframes sfsAvatarFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

.sfs-testimonial-person-copy {
    min-width: 0;
}

.sfs-testimonial-person-copy strong {
    display: block;
    margin-bottom: 2px;
    color: var(--sfs-navy);
    font-size: 12px;
    font-weight: 650;
}

.sfs-testimonial-person-copy span {
    display: block;
    color: var(--sfs-muted);
    font-size: 10.5px;
    line-height: 1.45;
}

.sfs-testimonial-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sfs-testimonial-meta .sfs-demo-note {
    max-width: 130px;
    margin: 0;
    text-align: right;
    line-height: 1.4;
}

.sfs-quote-mark {
    animation: sfsQuotePulse 4s ease-in-out infinite;
}

@keyframes sfsQuotePulse {

    0%,
    100% {
        opacity: .62;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

.sfs-brand-marquee {
    border-radius: var(--sfs-radius);
}

.sfs-brand-item {
    transition: color .25s ease, background .25s ease, transform .25s ease;
}

.sfs-brand-item:hover {
    transform: translateY(-3px);
    background: #f8fbfd;
    color: var(--sfs-blue);
}

@media (max-width: 767px) {
    .sfs-testimonial-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .sfs-testimonial-meta .sfs-demo-note {
        max-width: none;
        text-align: left;
    }

    .sfs-contact::after {
        width: 230px;
        height: 230px;
        right: -120px;
    }
}


@keyframes sfsProductBreath {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.028);
    }
}

.sfs-product-card:hover .sfs-product-card-media img {
    animation-play-state: paused !important;
    transform: scale(1.055);
}


/* TESTIMONIAL AUTO-SLIDE MOTION */
.sfs-testimonial-viewport {
    position: relative;
    border-radius: var(--sfs-radius);
}

.sfs-testimonial-track {
    transition: transform .72s cubic-bezier(.22, .72, .18, 1);
}

.sfs-testimonial-card.is-active-motion {
    animation: sfsTestimonialCardPulse .85s ease;
}

@keyframes sfsTestimonialCardPulse {
    0% {
        transform: translateY(5px);
        opacity: .78;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.sfs-testimonial-auto-progress {
    position: relative;
    height: 3px;
    margin: 24px auto 0;
    max-width: 220px;
    overflow: hidden;
    border-radius: 999px;
    background: #d4dee6;
}

.sfs-testimonial-auto-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--sfs-blue), var(--sfs-cyan));
}

.sfs-testimonial-auto-progress span.run {
    animation: sfsTestimonialProgress 4s linear forwards;
}

@keyframes sfsTestimonialProgress {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}



/* HTML utility styles moved from inline attributes */
.sfs-bg-construction {
    background-image: url('images/smart/slider1.png');
}

.sfs-bg-trading {
    background-image: url('images/smart/slider2.png');
}

.sfs-bg-ict {
    background-image: url('images/smart/slider3.png');
}

.sfs-bg-manpower {
    background-image: url('images/smart/slider4.png');
}

.sfs-bg-services {
    background-image: url('images/smart/slider5.png');
}

.sfs-link-wrap {
    margin-top: 25px;
}

.sfs-contact-link {
    color: inherit;
}

/* HEADER LIGHT GRAY FINAL OVERRIDE */
#header,
#header.header-transparent,
#header #header-wrap,
#header.header-transparent #header-wrap,
body.sfs-scrolled #header,
body.sfs-scrolled #header #header-wrap {
    background: rgba(242, 244, 247, 0.51) !important;
    border-bottom: 1px solid rgba(8, 39, 68, .10) !important;
    box-shadow: none !important;
}


#mainMenu nav > ul > li > a,
#header .header-extras a,
#header .header-extras i,
#mainMenu-trigger {
    color: #fff !important;
}

#mainMenu nav > ul > li > a::after {
    background: #f2f2f2 !important;
}


/* ======================================================
   FIVE COMPACT DIVISION SECTIONS — REFINED CORPORATE
   Construction / Trading / ICT / Manpower / Services
====================================================== */
.sfs-five-divisions {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.sfs-five-divisions-intro {
    position: relative;
    padding: 58px 0 0;
    overflow: hidden;
    background: #f6f8fa;
    border-top: 1px solid #dfe6ec;
    border-bottom: 1px solid #dfe6ec;
}

.sfs-five-divisions-intro-grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 58px;
    align-items: end;
    padding-bottom: 30px;
}

.sfs-five-divisions-intro .sfs-heading {
    margin-bottom: 0;
    font-size: clamp(28px, 2.55vw, 40px);
}

.sfs-division-name-ticker {
    overflow: hidden;
    border-top: 1px solid #e3e9ee;
    background: #ffffff;
}

.sfs-division-name-track {
    display: flex;
    align-items: center;
    width: max-content;
    min-height: 40px;
    animation: sfsDivisionTicker 30s linear infinite;
    will-change: transform;
}

.sfs-division-name-track span {
    color: #6f8091;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .11em;
    text-transform: uppercase;
    white-space: nowrap;
}

.sfs-division-name-track i {
    width: 4px;
    height: 4px;
    margin: 0 28px;
    border-radius: 50%;
    background: #8da3b7;
}

@keyframes sfsDivisionTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.sfs-division-feature {
    --division-accent: #0a73d9;
    position: relative;
    overflow: hidden;
    padding: 44px 0;
    border-bottom: 1px solid #e2e8ed;
    background: #ffffff;
}

.sfs-division-feature:nth-of-type(even) {
    background: #f8fafb;
}

/* One consistent blue/navy visual language across all five divisions */
.sfs-division-construction,
.sfs-division-trading,
.sfs-division-ict,
.sfs-division-manpower,
.sfs-division-services {
    --division-accent: #0a73d9;
}

.sfs-division-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: -14%;
    width: 32%;
    height: 4px;
    background: linear-gradient(90deg, transparent, rgba(10,115,217,.62), transparent);
    animation: sfsDivisionScan 9s linear infinite;
    pointer-events: none;
}

@keyframes sfsDivisionScan {
    to { left: 104%; }
}

.sfs-division-motion-dot {
    position: absolute;
    z-index: 1;
    top: 24px;
    right: 3%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8fb5d2;
    opacity: .52;
    animation: sfsDivisionDot 7s ease-in-out infinite;
    pointer-events: none;
}

.sfs-division-motion-dot::before,
.sfs-division-motion-dot::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(10,115,217,.15);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.sfs-division-motion-dot::before {
    width: 28px;
    height: 28px;
}

.sfs-division-motion-dot::after {
    width: 48px;
    height: 48px;
}

@keyframes sfsDivisionDot {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-16px, 8px); }
}

.sfs-division-feature-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 42px;
    align-items: center;
}

.sfs-division-feature-grid-reverse {
    grid-template-columns: minmax(0, 1fr) 300px;
}

.sfs-division-feature-grid-reverse .sfs-division-feature-copy {
    order: 2;
}

.sfs-division-feature-grid-reverse .sfs-division-mini-grid {
    order: 1;
}

.sfs-division-feature-copy {
    position: relative;
    padding-left: 18px;
    border-left: 2px solid #0a73d9;
}

.sfs-division-feature-number {
    margin-bottom: 9px;
    color: #0a73d9;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .14em;
}

.sfs-division-feature-label {
    margin-bottom: 6px;
    color: #7a8997;
    font-size: 8.5px;
    font-weight: 650;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.sfs-division-feature-copy h2 {
    margin: 0 0 10px;
    color: var(--sfs-navy);
    font-size: clamp(26px, 2.25vw, 36px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.sfs-division-feature-copy p {
    margin: 0;
    color: #66798b;
    font-size: 11.4px;
    font-weight: 550;
    line-height: 1.7;
}

.sfs-division-feature-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #0a73d9;
    font-size: 9.5px;
    font-weight: 650;
    letter-spacing: .07em;
    text-transform: uppercase;
    transition: gap .25s ease, color .25s ease;
}

.sfs-division-feature-link:hover {
    gap: 12px;
    color: #075fb8;
}

.sfs-division-mini-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.sfs-division-mini-grid-ict {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sfs-division-mini-card {
    position: relative;
    min-height: 124px;
    padding: 17px 14px 14px;
    overflow: hidden;
    border: 1px solid #dce4eb;
    border-radius: 10px;
    background: #ffffff;
    transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.sfs-division-mini-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #0a73d9;
    transition: width .28s ease;
}

.sfs-division-mini-card:hover {
    transform: translateY(-2px);
    border-color: #b9ccdb;
    background: #fbfdff;
}

.sfs-division-mini-card:hover::after {
    width: 100%;
}

.sfs-mini-dot {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #0081ff;
    animation: sfsMiniPulse 5s ease-in-out infinite;
}

.sfs-division-mini-card:nth-child(2n) .sfs-mini-dot {
    animation-delay: -1.2s;
}

.sfs-division-mini-card:nth-child(3n) .sfs-mini-dot {
    animation-delay: -2.4s;
}

@keyframes sfsMiniPulse {
    0%, 100% {
        transform: scale(1);
        opacity: .62;
    }

    50% {
        transform: scale(1.22);
        opacity: .95;
    }
}

.sfs-division-mini-card h3 {
    margin: 0 0 7px;
    color: var(--sfs-navy);
    font-size: 11.8px;
    font-weight: 650;
    line-height: 1.34;
}

.sfs-division-mini-card p {
    margin: 0;
    color: #758594;
    font-size: 9.1px;
    font-weight: 550;
    line-height: 1.52;
}

@media (max-width: 1199px) {
    .sfs-five-divisions-intro-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .sfs-division-feature-grid,
    .sfs-division-feature-grid-reverse {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 28px;
    }

    .sfs-division-feature-grid-reverse .sfs-division-feature-copy,
    .sfs-division-feature-grid-reverse .sfs-division-mini-grid {
        order: initial;
    }

    .sfs-division-mini-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sfs-division-mini-grid-ict {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .sfs-division-feature {
        padding: 40px 0;
    }

    .sfs-division-feature-grid,
    .sfs-division-feature-grid-reverse {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .sfs-division-feature-copy {
        max-width: 680px;
    }

    .sfs-division-mini-grid,
    .sfs-division-mini-grid-ict {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sfs-five-divisions-intro {
        padding-top: 46px;
    }

    .sfs-five-divisions-intro-grid {
        padding-bottom: 24px;
    }

    .sfs-division-name-track {
        min-height: 38px;
    }

    .sfs-division-name-track i {
        margin: 0 18px;
    }

    .sfs-division-feature {
        padding: 34px 0;
    }

    .sfs-division-feature-copy {
        padding-left: 14px;
    }

    .sfs-division-feature-copy h2 {
        font-size: 29px;
    }

    .sfs-division-mini-grid,
    .sfs-division-mini-grid-ict {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .sfs-division-mini-card {
        min-height: 116px;
        padding: 14px 12px 12px;
    }

    .sfs-division-mini-card h3 {
        font-size: 10.8px;
    }

    .sfs-division-mini-card p {
        font-size: 8.7px;
    }

    .sfs-division-motion-dot {
        right: 8%;
    }
}

@media (max-width: 420px) {
    .sfs-division-mini-grid,
    .sfs-division-mini-grid-ict {
        grid-template-columns: 1fr;
    }

    .sfs-division-mini-card {
        min-height: 102px;
    }
}


/* ======================================================
   MOBILE PRODUCT CARDS - SWIPE / DRAG SLIDER FIX
====================================================== */
.sfs-product-mobile-nav {
    display: none;
}

@media (max-width: 767px) {
    .sfs-products {
        overflow: hidden;
    }

    .sfs-product-groups {
        min-height: 0 !important;
        width: 100%;
        overflow: visible;
    }

    .sfs-product-group,
    .sfs-product-group.active {
        width: 100%;
        max-width: 100%;
    }

    .sfs-product-group.active {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 3px 3px 12px !important;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 3px;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        touch-action: pan-x pan-y;
    }

    .sfs-product-group.active::-webkit-scrollbar {
        display: none;
    }

    .sfs-product-group.active.is-dragging {
        cursor: grabbing;
        scroll-snap-type: none;
        user-select: none;
    }

    .sfs-product-card {
        flex: 0 0 calc(100% - 18px) !important;
        min-width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .sfs-product-card-media {
        height: 210px !important;
    }

    .sfs-product-card-body {
        min-height: 145px;
        padding: 21px 21px 16px;
    }

    .sfs-product-card-footer {
        margin: 0 21px;
        padding: 15px 0 18px;
    }

    .sfs-product-mobile-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 14px 3px 0;
    }

    .sfs-product-mobile-arrow {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #cad7e1;
        border-radius: 10px;
        background: #fff;
        color: var(--sfs-navy);
        font-size: 19px;
        line-height: 1;
        cursor: pointer;
    }

    .sfs-product-mobile-arrow:active {
        color: #fff;
        background: var(--sfs-blue);
        border-color: var(--sfs-blue);
        transform: scale(.97);
    }

    .sfs-product-mobile-count {
        min-width: 94px;
        text-align: center;
        color: #718294;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .sfs-product-mobile-count strong {
        color: var(--sfs-blue);
        font-size: 13px;
    }

    .sfs-product-swipe-hint {
        display: block;
        margin-top: 5px;
        color: #8b99a6;
        font-size: 8.5px;
        font-weight: 600;
        letter-spacing: .05em;
    }

    .sfs-product-more {
        margin-top: 22px;
    }
}

@media (max-width: 390px) {
    .sfs-product-card {
        flex-basis: calc(100% - 12px) !important;
        min-width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px) !important;
    }

    .sfs-product-card-media {
        height: 195px !important;
    }
}


        /* about us */
        :root {

            --sfs-font: "Montserrat", Arial, sans-serif;

            --sfs-body-size: 13.5px;

            --sfs-body-weight: 550;

            --sfs-heading-size: clamp(30px, 3vw, 46px);

            --sfs-heading-weight: 650;



            --sfs-navy: #082744;

            --sfs-navy-2: #0b335b;

            --sfs-blue: #0a73d9;

            --sfs-cyan: #2aa9e7;

            --sfs-ink: #17324c;

            --sfs-muted: #68798b;

            --sfs-line: #d8e2ec;

            --sfs-soft: #f4f7fa;

            --sfs-white: #ffffff;

            --sfs-fluid: min(94%, 1500px);

            --sfs-radius: 16px;

            --sfs-radius-sm: 10px;

        }



        * {

            box-sizing: border-box;

        }



        html {

            scroll-behavior: smooth;

        }



        body,

        .body-inner,

        .sfs-about-page,

        .sfs-about-page * {

            font-family: var(--sfs-font);

        }



        body {

            margin: 0;

            overflow-x: hidden;

            color: var(--sfs-ink);

            background: #fff;

            font-size: var(--sfs-body-size);

            font-weight: var(--sfs-body-weight);

            line-height: 1.78;

        }



        a {

            text-decoration: none;

        }



        .container-fluid.sfs-fluid {

            width: var(--sfs-fluid);

            max-width: none;

            margin: 0 auto;

            padding-left: 0;

            padding-right: 0;

        }



        .sfs-section {

            position: relative;

            padding: 88px 0;

        }



        .sfs-section-soft {

            background: var(--sfs-soft);

        }



        /* ------------------------------------------------------

           ONE GLOBAL MAJOR HEADING STYLE

           Change this class once to update all main headings.

        ------------------------------------------------------ */

        .sfs-heading {

            margin: 0 0 16px;

            color: var(--sfs-navy);

            font-family: var(--sfs-font);

            font-size: var(--sfs-heading-size);

            font-weight: var(--sfs-heading-weight);

            line-height: 1.12;

            letter-spacing: -.035em;

        }



        .sfs-text {

            margin: 0;

            color: var(--sfs-muted);

            font-family: var(--sfs-font);

            font-size: var(--sfs-body-size);

            font-weight: var(--sfs-body-weight);

            line-height: 1.82;

        }



        .sfs-kicker {

            display: inline-flex;

            align-items: center;

            gap: 11px;

            margin-bottom: 14px;

            color: var(--sfs-blue);

            font-size: 10px;

            font-weight: 650;

            line-height: 1;

            letter-spacing: .15em;

            text-transform: uppercase;

        }





        .sfs-btn {

            min-height: 46px;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            padding: 0 22px;

            border: 1px solid transparent;

            border-radius: var(--sfs-radius-sm);

            font-size: 10px;

            font-weight: 650;

            letter-spacing: .08em;

            text-transform: uppercase;

            transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;

        }



        .sfs-btn-primary {

            color: #fff !important;

            background: var(--sfs-blue);

            border-color: var(--sfs-blue);

        }



        .sfs-btn-primary:hover {

            transform: translateY(-2px);

            background: #075fb8;

            border-color: #075fb8;

        }



        .sfs-btn-outline {

            color: var(--sfs-navy) !important;

            background: #fff;

            border-color: #cbd9e5;

        }



        .sfs-btn-outline:hover {

            transform: translateY(-2px);

            color: var(--sfs-blue) !important;

            border-color: var(--sfs-blue);

        }



        /* ------------------------------------------------------

           HEADER OVERRIDE

           Normal = light gray / original logo

           Scroll = dark navy / white logo

        ------------------------------------------------------ */

        #header,

        #header.header-transparent,

        #header #header-wrap,

        #header.header-transparent #header-wrap {

            position: absolute !important;

            top: 0;

            left: 0;

            width: 100%;

            z-index: 999;

            background: rgba(242, 244, 247, .96) !important;

            border-bottom: 1px solid rgba(8, 39, 68, .09) !important;

            box-shadow: none !important;

            transition: background .3s ease, border-color .3s ease;

        }



        #header .header-inner,

        #header #header-wrap,

        #header-wrap {

            min-height: 86px;

        }



        #header #logo {

            position: relative;

            z-index: 1002;

        }



        #header #logo>a {

            min-height: 76px;

            display: flex !important;

            align-items: center;

            justify-content: center;

        }



        #header #logo img {

            display: block !important;

            width: auto !important;

            height: 78px !important;

            max-width: 190px !important;

            object-fit: contain;

            filter: none !important;

            opacity: 1 !important;

            visibility: visible !important;

        }



        #mainMenu nav>ul>li>a,

        #mainMenu-trigger {

            color: var(--sfs-navy) !important;

            font-size: 11px;

            font-weight: 650 !important;

            letter-spacing: .05em;

            text-transform: uppercase;

        }



        body.sfs-scrolled #header,

        body.sfs-scrolled #header #header-wrap,

        #header.header-sticky,

        #header.sticky-active,

        #header.sticky {

            position: fixed !important;

            background: rgba(5, 28, 52, .97) !important;

            border-bottom-color: rgba(255, 255, 255, .08) !important;

            backdrop-filter: blur(12px);

        }



        body.sfs-scrolled #header #logo img,

        #header.header-sticky #logo img,

        #header.sticky-active #logo img,

        #header.sticky #logo img {

            filter: brightness(0) invert(1) !important;

        }



        body.sfs-scrolled #mainMenu nav>ul>li>a,

        body.sfs-scrolled #mainMenu-trigger,

        #header.header-sticky #mainMenu nav>ul>li>a,

        #header.sticky-active #mainMenu nav>ul>li>a,

        #header.sticky #mainMenu nav>ul>li>a {

            color: #fff !important;

        }



        /* ------------------------------------------------------

           01 INNER HERO

        ------------------------------------------------------ */

        .sfs-about-hero {

            position: relative;

            min-height: 500px;

            display: flex;

            align-items: center;

            overflow: hidden;

            padding: 155px 0 75px;

            background:

                linear-gradient(90deg, rgba(4, 25, 46, .88) 0%, rgba(6, 34, 61, .78) 48%, rgba(6, 34, 61, .50) 100%),

                url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;

            border-bottom: 1px solid rgba(255, 255, 255, .08);

        }



        .sfs-about-hero::before {

            content: "";

            position: absolute;

            inset: 0;

            pointer-events: none;

            opacity: .35;

            background-image:

                linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),

                linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);

            background-size: 70px 70px;

            animation: sfsGridMove 22s linear infinite;

        }



        @keyframes sfsGridMove {

            to {

                background-position: 70px 70px, 70px 70px;

            }

        }



        .sfs-about-hero::after {

            content: "";

            position: absolute;

            top: -120px;

            right: -70px;

            width: 430px;

            height: 430px;

            border: 1px solid rgba(255, 255, 255, .14);

            border-radius: 50%;

            box-shadow:

                0 0 0 70px rgba(255, 255, 255, .02),

                0 0 0 140px rgba(255, 255, 255, .015);

            animation: sfsHeroOrbit 16s linear infinite;

        }



        @keyframes sfsHeroOrbit {

            to {
                transform: rotate(360deg);
            }

        }



        .sfs-about-hero-grid {

            position: relative;

            z-index: 2;

            display: grid;

            grid-template-columns: 2.92fr .08fr;

            gap: 80px;

            align-items: end;

        }



        .sfs-about-hero .sfs-kicker {

            color: #9bddff;

        }



        .sfs-about-hero .sfs-kicker::before {

            background: #9bddff;

        }



        .sfs-about-hero .sfs-heading {

            max-width: 720px;

            margin-bottom: 18px;

            color: #fff;

        }



        .sfs-about-hero .sfs-text {

            max-width: 660px;

            color: rgba(255, 255, 255, .80);

            font-size: 14px;

        }



        .sfs-about-hero-side {

            display: grid;

            grid-template-columns: repeat(5, 1fr);

            border-top: 1px solid rgba(255, 255, 255, .26);

            border-bottom: 1px solid rgba(255, 255, 255, .26);

            background: rgba(4, 25, 46, .20);

            backdrop-filter: blur(4px);

        }



        .sfs-about-hero-side div {

            min-height: 105px;

            padding: 18px 13px;

            border-right: 1px solid rgba(255, 255, 255, .18);

        }



        .sfs-about-hero-side div:last-child {

            border-right: 0;

        }



        .sfs-about-hero-side span {

            display: block;

            margin-bottom: 17px;

            color: #8bd8ff;

            font-size: 9px;

            font-weight: 650;

            letter-spacing: .12em;

        }



        .sfs-about-hero-side strong {

            display: block;

            color: #fff;

            font-size: 11px;

            font-weight: 650;

            line-height: 1.45;

        }



        /* ------------------------------------------------------

           02 COMPANY OVERVIEW

        ------------------------------------------------------ */

        .sfs-overview-grid {

            display: grid;

            grid-template-columns: .95fr 1.05fr;

            gap: 72px;

            align-items: center;

        }



        .sfs-overview-image {

            position: relative;

            min-height: 520px;

            overflow: hidden;

            border-radius: var(--sfs-radius);

            background: #e9eef2;

        }



        .sfs-overview-image img {

            position: absolute;

            inset: 0;

            width: 100%;

            height: 100%;

            object-fit: cover;

            transition: transform 1s ease;

        }



        .sfs-overview-image:hover img {

            transform: scale(1.035);

        }



        .sfs-overview-caption {

            position: absolute;

            z-index: 2;

            left: 24px;

            right: 24px;

            bottom: 24px;

            padding: 21px 23px;

            border-radius: 12px;

            color: #fff;

            background: rgba(5, 35, 64, .91);

            backdrop-filter: blur(8px);

        }



        .sfs-overview-caption span {

            display: block;

            margin-bottom: 6px;

            color: #93dcff;

            font-size: 9px;

            font-weight: 650;

            letter-spacing: .13em;

            text-transform: uppercase;

        }



        .sfs-overview-caption strong {

            display: block;

            max-width: 520px;

            font-size: 17px;

            font-weight: 650;

            line-height: 1.45;

        }



        .sfs-overview-list {

            margin-top: 28px;

            border-top: 1px solid var(--sfs-line);

        }



        .sfs-overview-row {

            display: grid;

            grid-template-columns: 42px 1fr;

            gap: 15px;

            padding: 17px 0;

            border-bottom: 1px solid var(--sfs-line);

        }



        .sfs-overview-row .no {

            color: var(--sfs-blue);

            font-size: 10px;

            font-weight: 650;

            letter-spacing: .1em;

        }



        .sfs-overview-row strong {

            display: block;

            margin-bottom: 4px;

            color: var(--sfs-navy);

            font-size: 13px;

            font-weight: 650;

        }



        .sfs-overview-row span:last-child {

            color: var(--sfs-muted);

            font-size: 11.4px;

            line-height: 1.72;

        }



        /* ------------------------------------------------------

           03 MISSION & VISION — OPEN EDITORIAL LAYOUT

        ------------------------------------------------------ */

        .sfs-purpose {

            position: relative;

            overflow: hidden;

            background: #f7f9fb;

            border-top: 1px solid var(--sfs-line);

            border-bottom: 1px solid var(--sfs-line);

        }



        .sfs-purpose-head {

            display: grid;

            grid-template-columns: .82fr 1.18fr;

            gap: 64px;

            align-items: end;

            margin-bottom: 36px;

        }



        .sfs-purpose-grid {

            display: grid;

            grid-template-columns: repeat(2, 1fr);

            border-top: 1px solid #cfdbe5;

            border-bottom: 1px solid #cfdbe5;

        }



        .sfs-purpose-card {

            position: relative;

            min-height: 275px;

            padding: 34px 42px 34px 0;

            background: transparent;

        }



        .sfs-purpose-card+.sfs-purpose-card {

            padding-left: 42px;

            border-left: 1px solid #cfdbe5;

        }



        .sfs-purpose-no {

            display: block;

            margin-bottom: 28px;

            color: var(--sfs-blue);

            font-size: 9.5px;

            font-weight: 650;

            letter-spacing: .13em;

        }



        .sfs-purpose-card h3 {

            margin: 0 0 14px;

            color: var(--sfs-navy);

            font-size: clamp(25px, 2.2vw, 33px);

            font-weight: 650;

            line-height: 1.12;

            letter-spacing: -.03em;

        }



        .sfs-purpose-card p {

            margin: 0;

            max-width: 640px;

            color: var(--sfs-muted);

            font-size: 12px;

            font-weight: 550;

            line-height: 1.82;

        }



        .sfs-purpose-card .sfs-purpose-line {

            display: block;

            width: 42px;

            height: 2px;

            margin-top: 24px;

            background: var(--sfs-blue);

            transition: width .3s ease;

        }



        .sfs-purpose-card:hover .sfs-purpose-line {

            width: 74px;

        }



        @media (max-width: 991px) {

            .sfs-purpose-head,

            .sfs-purpose-grid {

                grid-template-columns: 1fr;

            }



            .sfs-purpose-card,

            .sfs-purpose-card+.sfs-purpose-card {

                min-height: 0;

                padding: 28px 0;

                border-left: 0;

            }



            .sfs-purpose-card+.sfs-purpose-card {

                border-top: 1px solid #cfdbe5;

            }

        }



        /* ------------------------------------------------------

           04 FIVE DIVISIONS — ROW BASED, NOT CARDS

        ------------------------------------------------------ */

        .sfs-divisions-head {

            display: grid;

            grid-template-columns: .82fr 1.18fr;

            gap: 64px;

            align-items: end;

            margin-bottom: 34px;

        }



        .sfs-divisions-grid {

            display: block;

            border-top: 1px solid #cfdbe5;

        }



        .sfs-division-card {

            position: relative;

            min-height: 112px;

            display: grid;

            grid-template-columns: 72px 220px minmax(0, 1fr) auto;

            gap: 20px;

            align-items: center;

            padding: 22px 0;

            border-bottom: 1px solid #cfdbe5;

            background: transparent;

            transition: padding .28s ease, background .28s ease;

        }



        .sfs-division-card::before {

            content: "";

            position: absolute;

            left: 0;

            top: 0;

            width: 2px;

            height: 0;

            background: var(--sfs-blue);

            transition: height .3s ease;

        }



        .sfs-division-card:hover {

            padding-left: 14px;

            background: rgba(10, 115, 217, .025);

        }



        .sfs-division-card:hover::before {

            height: 100%;

        }



        .sfs-division-card .number {

            margin: 0;

            color: #8ea0b0;

            font-size: 10px;

            font-weight: 650;

            letter-spacing: .12em;

        }



        .sfs-division-card h3 {

            margin: 0;

            color: var(--sfs-navy);

            font-size: 18px;

            font-weight: 650;

        }



        .sfs-division-card p {

            margin: 0;

            color: var(--sfs-muted);

            font-size: 11px;

            line-height: 1.72;

        }



        .sfs-division-card a {

            position: static;

            color: var(--sfs-blue);

            font-size: 9px;

            font-weight: 650;

            letter-spacing: .08em;

            text-transform: uppercase;

            white-space: nowrap;

        }



        @media (max-width: 991px) {

            .sfs-division-card {

                grid-template-columns: 46px 170px minmax(0, 1fr);

            }



            .sfs-division-card a {

                grid-column: 3;

            }

        }



        @media (max-width: 767px) {

            .sfs-division-card {

                grid-template-columns: 38px 1fr;

                gap: 10px 12px;

                padding: 18px 0;

            }



            .sfs-division-card p,

            .sfs-division-card a {

                grid-column: 2;

            }



            .sfs-division-card:hover {

                padding-left: 8px;

            }

        }



        /* ------------------------------------------------------

           05 HOW WE WORK

        ------------------------------------------------------ */

        .sfs-approach {

            overflow: hidden;

            color: #fff;

            background: var(--sfs-navy);

        }



        .sfs-approach .sfs-heading {

            color: #fff;

        }



        .sfs-approach .sfs-text {

            color: rgba(255, 255, 255, .68);

        }



        .sfs-approach .sfs-kicker {

            color: #8bd8ff;

        }



        .sfs-approach .sfs-kicker::before {

            background: #8bd8ff;

        }



        .sfs-approach-head {

            display: grid;

            grid-template-columns: .8fr 1.2fr;

            gap: 65px;

            align-items: end;

            margin-bottom: 44px;

        }



        .sfs-process {

            position: relative;

            display: grid;

            grid-template-columns: repeat(4, 1fr);

            border-top: 1px solid rgba(255, 255, 255, .15);

        }



        .sfs-process::before {

            content: "";

            position: absolute;

            left: 0;

            top: -1px;

            width: 18%;

            height: 2px;

            background: #61c9fa;

            animation: sfsProcessLine 7s ease-in-out infinite;

        }



        @keyframes sfsProcessLine {

            0%,
            100% {
                left: 0;
            }

            50% {
                left: 82%;
            }

        }



        .sfs-process-step {

            min-height: 220px;

            padding: 28px 26px;

            border-right: 1px solid rgba(255, 255, 255, .13);

        }



        .sfs-process-step:last-child {

            border-right: 0;

        }



        .sfs-process-step span {

            display: block;

            margin-bottom: 46px;

            color: #76d0fb;

            font-size: 10px;

            font-weight: 650;

            letter-spacing: .12em;

        }



        .sfs-process-step h3 {

            margin: 0 0 8px;

            color: #fff;

            font-size: 15px;

            font-weight: 650;

        }



        .sfs-process-step p {

            margin: 0;

            color: rgba(255, 255, 255, .62);

            font-size: 10.8px;

            line-height: 1.72;

        }



        /* ------------------------------------------------------

           06 WHAT CONNECTS US — OPEN TEXT + IMAGE

        ------------------------------------------------------ */

        .sfs-connect-grid {

            display: grid;

            grid-template-columns: 1.02fr .98fr;

            gap: 72px;

            align-items: stretch;

        }



        .sfs-connect-copy {

            display: flex;

            flex-direction: column;

            justify-content: center;

        }



        .sfs-connect-points {

            margin-top: 30px;

            border-top: 1px solid var(--sfs-line);

        }



        .sfs-connect-point {

            display: grid;

            grid-template-columns: 52px 185px minmax(0, 1fr);

            gap: 18px;

            align-items: start;

            min-height: 98px;

            padding: 18px 0;

            border-bottom: 1px solid var(--sfs-line);

            background: transparent;

        }



        .sfs-connect-point span {

            margin: 0;

            color: var(--sfs-blue);

            font-size: 9px;

            font-weight: 650;

            letter-spacing: .11em;

        }



        .sfs-connect-point h3 {

            margin: 0;

            color: var(--sfs-navy);

            font-size: 13.5px;

            font-weight: 650;

        }



        .sfs-connect-point p {

            margin: 0;

            color: var(--sfs-muted);

            font-size: 10.8px;

            line-height: 1.7;

        }



        .sfs-connect-image {

            position: relative;

            min-height: 520px;

            overflow: hidden;

            border-radius: var(--sfs-radius);

        }



        .sfs-connect-image img {

            position: absolute;

            inset: 0;

            width: 100%;

            height: 100%;

            object-fit: cover;

            transition: transform 1s ease;

        }



        .sfs-connect-image:hover img {

            transform: scale(1.035);

        }



        .sfs-connect-image::after {

            content: "";

            position: absolute;

            inset: 0;

            background: linear-gradient(180deg, transparent 55%, rgba(5, 31, 57, .55));

        }



        @media (max-width: 767px) {

            .sfs-connect-point {

                grid-template-columns: 38px 1fr;

                gap: 7px 12px;

            }



            .sfs-connect-point p {

                grid-column: 2;

            }

        }



        /* ------------------------------------------------------

           07 SNAPSHOT STRIP

        ------------------------------------------------------ */

        .sfs-snapshot {

            padding: 0;

            background: #f5f8fa;

            border-top: 1px solid var(--sfs-line);

            border-bottom: 1px solid var(--sfs-line);

        }



        .sfs-snapshot-grid {

            display: grid;

            grid-template-columns: 1.2fr repeat(3, .65fr);

        }



        .sfs-snapshot-intro,

        .sfs-snapshot-item {

            min-height: 150px;

            display: flex;

            flex-direction: column;

            justify-content: center;

            padding: 26px 28px;

            border-right: 1px solid var(--sfs-line);

        }



        .sfs-snapshot-item:last-child {

            border-right: 0;

        }



        .sfs-snapshot-intro strong {

            color: var(--sfs-navy);

            font-size: 20px;

            font-weight: 650;

            line-height: 1.35;

        }



        .sfs-snapshot-item strong {

            display: block;

            margin-bottom: 8px;

            color: var(--sfs-blue);

            font-size: 30px;

            font-weight: 650;

            line-height: 1;

        }



        .sfs-snapshot-item span {

            color: #66798b;

            font-size: 9px;

            font-weight: 650;

            letter-spacing: .1em;

            text-transform: uppercase;

        }



        /* ------------------------------------------------------

           08 CTA

        ------------------------------------------------------ */

        .sfs-about-cta {

            position: relative;

            overflow: hidden;

            padding: 76px 0;

            color: #fff;

            background: #0a3157;

        }



        .sfs-about-cta::before {

            content: "";

            position: absolute;

            left: -18%;

            top: 0;

            width: 18%;

            height: 2px;

            background: linear-gradient(90deg, transparent, #6dd1ff, transparent);

            animation: sfsCtaLine 7s linear infinite;

        }



        @keyframes sfsCtaLine {

            to {
                left: 105%;
            }

        }



        .sfs-about-cta-grid {

            display: grid;

            grid-template-columns: 1fr auto;

            gap: 48px;

            align-items: center;

        }



        .sfs-about-cta .sfs-heading {

            max-width: 800px;

            margin-bottom: 10px;

            color: #fff;

        }



        .sfs-about-cta .sfs-text {

            max-width: 760px;

            color: rgba(255, 255, 255, .68);

        }



        .sfs-about-cta-actions {

            display: flex;

            gap: 10px;

            flex-wrap: wrap;

        }



        /* ------------------------------------------------------

           REVEAL ANIMATIONS

        ------------------------------------------------------ */

        .sfs-reveal,

        .sfs-reveal-left,

        .sfs-reveal-right {

            opacity: 0;

            transition: opacity .72s ease, transform .72s cubic-bezier(.2, .72, .2, 1);

        }



        .sfs-reveal {

            transform: translateY(28px);

        }



        .sfs-reveal-left {

            transform: translateX(-34px);

        }



        .sfs-reveal-right {

            transform: translateX(34px);

        }



        .sfs-visible {

            opacity: 1 !important;

            transform: translate(0, 0) !important;

        }



        /* ------------------------------------------------------

           RESPONSIVE

        ------------------------------------------------------ */

        @media (max-width: 1199px) {

            .sfs-about-hero-grid,

            .sfs-overview-grid,

            .sfs-divisions-head,

            .sfs-approach-head,

            .sfs-connect-grid {

                grid-template-columns: 1fr;

                gap: 30px;

            }



            .sfs-divisions-grid {

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

            }



            .sfs-about-hero-side {

                max-width: 900px;

            }

        }



        @media (max-width: 991px) {

            .sfs-section {

                padding: 76px 0;

            }



            .sfs-about-hero {

                min-height: 430px;

                padding-top: 135px;

            }



            .sfs-overview-image,

            .sfs-connect-image {

                min-height: 440px;

            }



            .sfs-process {

                grid-template-columns: repeat(2, 1fr);

            }



            .sfs-process-step {

                border-bottom: 1px solid rgba(255, 255, 255, .13);

            }



            .sfs-snapshot-grid {

                grid-template-columns: repeat(2, 1fr);

            }



            .sfs-snapshot-intro,

            .sfs-snapshot-item {

                border-bottom: 1px solid var(--sfs-line);

            }

        }



        @media (max-width: 767px) {

            :root {

                --sfs-body-size: 13px;

                --sfs-heading-size: clamp(27px, 8vw, 35px);

                --sfs-fluid: min(91%, 1500px);

            }



            .sfs-section {

                padding: 64px 0;

            }



            #header .header-inner,

            #header #header-wrap,

            #header-wrap {

                min-height: 72px;

            }



            #header #logo>a {

                min-height: 68px;

            }



            #header #logo img {

                height: 70px !important;

                max-width: 165px !important;

            }



            .sfs-about-hero {

                min-height: auto;

                padding: 125px 0 56px;

            }



            .sfs-about-hero-grid {

                gap: 34px;

            }



            .sfs-about-hero-side {

                grid-template-columns: repeat(2, 1fr);

            }



            .sfs-about-hero-side div {

                min-height: 86px;

                border-bottom: 1px solid #c9d5df;

            }



            .sfs-about-hero-side div:nth-child(2n) {

                border-right: 0;

            }



            .sfs-about-hero-side div:last-child {

                grid-column: 1 / -1;

            }



            .sfs-overview-image,

            .sfs-connect-image {

                min-height: 360px;

            }



            .sfs-overview-caption {

                left: 14px;

                right: 14px;

                bottom: 14px;

                padding: 17px;

            }



            .sfs-divisions-grid {

                grid-template-columns: 1fr;

                border-left: 0;

            }



            .sfs-division-card {

                min-height: 190px;

                border-left: 1px solid var(--sfs-line);

            }



            .sfs-division-card .number {

                margin-bottom: 25px;

            }



            .sfs-process {

                grid-template-columns: 1fr;

            }



            .sfs-process-step {

                min-height: 170px;

                border-right: 0;

            }



            .sfs-process-step span {

                margin-bottom: 28px;

            }



            .sfs-connect-points {

                grid-template-columns: 1fr;

            }



            .sfs-snapshot-grid {

                grid-template-columns: 1fr;

            }



            .sfs-snapshot-intro,

            .sfs-snapshot-item {

                min-height: 120px;

                border-right: 0;

            }



            .sfs-about-cta-grid {

                grid-template-columns: 1fr;

                gap: 28px;

            }

        }



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

            *,

            *::before,

            *::after {

                animation: none !important;

                transition: none !important;

                scroll-behavior: auto !important;

            }



            .sfs-reveal,

            .sfs-reveal-left,

            .sfs-reveal-right {

                opacity: 1;

                transform: none;

            }

        }


        /* ======================================================
           REFINED CORPORATE MOTION
           Continuous but subtle movement — no flashy/AI look
        ====================================================== */

        /* HERO: slow background drift */
        .sfs-about-hero {
            background-size: 108% auto;
            animation: sfsAboutHeroDrift 18s ease-in-out infinite alternate;
        }

        @keyframes sfsAboutHeroDrift {
            from {
                background-position: 50% 50%;
            }

            to {
                background-position: 56% 47%;
            }
        }

        .sfs-about-hero-grid::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -28px;
            width: 58px;
            height: 2px;
            background: #8bd8ff;
            opacity: .8;
            animation: sfsHeroLine 5.5s ease-in-out infinite;
        }

        @keyframes sfsHeroLine {

            0%,
            100% {
                width: 54px;
                opacity: .5;
            }

            50% {
                width: 124px;
                opacity: 1;
            }
        }

        .sfs-about-hero-side div {
            position: relative;
            overflow: hidden;
        }

        .sfs-about-hero-side div::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 0;
            height: 2px;
            background: #8bd8ff;
            animation: sfsHeroDivisionSweep 9s ease-in-out infinite;
        }

        .sfs-about-hero-side div:nth-child(2)::after {
            animation-delay: -1.5s;
        }

        .sfs-about-hero-side div:nth-child(3)::after {
            animation-delay: -3s;
        }

        .sfs-about-hero-side div:nth-child(4)::after {
            animation-delay: -4.5s;
        }

        .sfs-about-hero-side div:nth-child(5)::after {
            animation-delay: -6s;
        }

        @keyframes sfsHeroDivisionSweep {

            0%,
            74%,
            100% {
                width: 0;
                opacity: 0;
            }

            38% {
                width: 100%;
                opacity: .7;
            }
        }

        .sfs-hero-scroll-label {
            position: absolute;
            z-index: 3;
            right: 22px;
            bottom: 38px;
            color: rgba(255, 255, 255, .48);
            font-size: 8px;
            font-weight: 650;
            letter-spacing: .18em;
            writing-mode: vertical-rl;
            text-transform: uppercase;
            animation: sfsHeroLabelFloat 4.8s ease-in-out infinite;
        }

        @keyframes sfsHeroLabelFloat {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-8px);
            }
        }

        /* OVERVIEW: subtle image movement */
        .sfs-overview-image img {
            animation: sfsOverviewImageMove 15s ease-in-out infinite alternate;
            will-change: transform;
        }

        @keyframes sfsOverviewImageMove {
            from {
                transform: scale(1.005);
            }

            to {
                transform: scale(1.038);
            }
        }

        .sfs-overview-image:hover img {
            animation-play-state: paused;
            transform: scale(1.045);
        }

        .sfs-overview-caption {
            overflow: hidden;
        }

        .sfs-overview-caption::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 55px;
            height: 2px;
            background: #75d1fb;
            animation: sfsCaptionLine 5s ease-in-out infinite;
        }

        @keyframes sfsCaptionLine {

            0%,
            100% {
                width: 45px;
            }

            50% {
                width: 100px;
            }
        }

        /* MISSION / VISION: open editorial motion */
        .sfs-purpose::before {
            content: "";
            position: absolute;
            top: 50%;
            left: -160px;
            width: 300px;
            height: 300px;
            border: 1px solid rgba(10, 115, 217, .08);
            border-radius: 50%;
            pointer-events: none;
            animation: sfsPurposeFloat 13s ease-in-out infinite;
        }

        @keyframes sfsPurposeFloat {

            0%,
            100% {
                transform: translate(0, -50%);
            }

            50% {
                transform: translate(28px, -50%);
            }
        }

        .sfs-purpose-card {
            transition: padding .28s ease;
        }

        .sfs-purpose-card:hover {
            padding-top: 30px;
        }

        .sfs-purpose-card .sfs-purpose-line {
            animation: sfsPurposeLine 4.8s ease-in-out infinite;
        }

        .sfs-purpose-card:nth-child(2) .sfs-purpose-line {
            animation-delay: -2.2s;
        }

        @keyframes sfsPurposeLine {

            0%,
            100% {
                width: 42px;
            }

            50% {
                width: 76px;
            }
        }

        /* FIVE DIVISIONS: a single indicator moves through the rows */
        .sfs-divisions-grid {
            position: relative;
        }

        .sfs-divisions-grid::after {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 2px;
            height: 44px;
            background: var(--sfs-blue);
            opacity: .65;
            pointer-events: none;
            animation: sfsDivisionRunner 7s ease-in-out infinite;
        }

        @keyframes sfsDivisionRunner {

            0%,
            100% {
                top: 0;
                opacity: .3;
            }

            50% {
                top: calc(100% - 44px);
                opacity: 1;
            }
        }

        .sfs-division-card h3,
        .sfs-division-card a {
            transition: transform .25s ease, color .25s ease;
        }

        .sfs-division-card:hover h3 {
            transform: translateX(4px);
        }

        .sfs-division-card:hover a {
            transform: translateX(5px);
        }

        /* HOW WE WORK: soft grid continues moving */
        .sfs-approach {
            position: relative;
        }

        .sfs-approach::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: .2;
            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: 72px 72px;
            animation: sfsApproachGrid 24s linear infinite;
        }

        @keyframes sfsApproachGrid {
            to {
                background-position: 72px 72px, 72px 72px;
            }
        }

        .sfs-approach .sfs-fluid {
            position: relative;
            z-index: 2;
        }

        .sfs-process-step span {
            animation: sfsStepNumber 4.5s ease-in-out infinite;
        }

        .sfs-process-step:nth-child(2) span {
            animation-delay: -1s;
        }

        .sfs-process-step:nth-child(3) span {
            animation-delay: -2s;
        }

        .sfs-process-step:nth-child(4) span {
            animation-delay: -3s;
        }

        @keyframes sfsStepNumber {

            0%,
            100% {
                opacity: .62;
                transform: translateY(0);
            }

            50% {
                opacity: 1;
                transform: translateY(-3px);
            }
        }

        /* CONNECTED DIVISIONS */
        .sfs-connect-point {
            position: relative;
        }

        .sfs-connect-point::before {
            content: "";
            position: absolute;
            left: 0;
            bottom: -1px;
            width: 0;
            height: 1px;
            background: var(--sfs-blue);
            transition: width .35s ease;
        }

        .sfs-connect-point:hover::before {
            width: 100%;
        }

        .sfs-connect-image img {
            animation: sfsConnectImage 17s ease-in-out infinite alternate;
        }

        @keyframes sfsConnectImage {
            from {
                transform: scale(1.01) translateX(0);
            }

            to {
                transform: scale(1.045) translateX(-7px);
            }
        }

        .sfs-connect-image:hover img {
            animation-play-state: paused;
            transform: scale(1.05);
        }

        /* SNAPSHOT */
        .sfs-snapshot {
            position: relative;
            overflow: hidden;
        }

        .sfs-snapshot::before {
            content: "";
            position: absolute;
            z-index: 2;
            left: -12%;
            top: 0;
            width: 12%;
            height: 2px;
            background: linear-gradient(90deg, transparent, var(--sfs-blue), transparent);
            animation: sfsSnapshotSweep 8s linear infinite;
        }

        @keyframes sfsSnapshotSweep {
            to {
                left: 102%;
            }
        }

        .sfs-snapshot-item strong {
            transition: transform .25s ease;
        }

        .sfs-snapshot-item:hover strong {
            transform: translateY(-3px);
        }

        /* CTA */
        .sfs-about-cta::after {
            content: "";
            position: absolute;
            right: -85px;
            top: 50%;
            width: 240px;
            height: 240px;
            border: 1px solid rgba(255, 255, 255, .10);
            border-radius: 50%;
            pointer-events: none;
            animation: sfsCtaCircle 11s ease-in-out infinite;
        }

        @keyframes sfsCtaCircle {

            0%,
            100% {
                transform: translate(0, -50%) scale(1);
            }

            50% {
                transform: translate(-18px, -50%) scale(1.06);
            }
        }



        @keyframes sfsKickerLine {

            0%,
            100% {
                transform: scaleX(.72);
                opacity: .65;
            }

            50% {
                transform: scaleX(1);
                opacity: 1;
            }
        }

        @media (max-width: 767px) {
            .sfs-about-hero {
                background-size: cover;
                animation-duration: 22s;
            }

            .sfs-hero-scroll-label {
                display: none;
            }

            .sfs-divisions-grid::after {
                display: none;
            }

            .sfs-purpose::before,
            .sfs-about-cta::after {
                opacity: .5;
            }

            .sfs-overview-image img,
            .sfs-connect-image img {
                animation-duration: 20s;
            }
        }


        /* ======================================================
           FINAL MISSION / VISION REDESIGN
           Open split layout — no boxed cards
        ====================================================== */
        .sfs-purpose-redesign {
            position: relative;
            overflow: hidden;
            padding: 0 !important;
            background: #fff;
            border-top: 1px solid #dbe4eb;
            border-bottom: 1px solid #dbe4eb;
        }

        .sfs-purpose-redesign::before {
            display: none !important;
        }

        .sfs-purpose-split {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            min-height: 500px;
        }

        .sfs-purpose-side {
            position: relative;
            display: flex;
            align-items: center;
            min-width: 0;
            overflow: hidden;
            padding: 72px clamp(32px, 6vw, 95px);
        }

        .sfs-purpose-mission {
            background: #f7f9fb;
        }

        .sfs-purpose-vision {
            color: #fff;
            background: var(--sfs-navy);
        }

        .sfs-purpose-side+.sfs-purpose-side {
            border-left: 1px solid rgba(8, 39, 68, .10);
        }

        .sfs-purpose-side::before {
            content: attr(data-word);
            position: absolute;
            right: -10px;
            bottom: -28px;
            color: rgba(8, 39, 68, .045);
            font-size: clamp(78px, 10vw, 155px);
            font-weight: 700;
            line-height: .82;
            letter-spacing: -.065em;
            text-transform: uppercase;
            white-space: nowrap;
            pointer-events: none;
            user-select: none;
        }

        .sfs-purpose-vision::before {
            color: rgba(255, 255, 255, .055);
        }

        .sfs-purpose-content {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 610px;
        }

        .sfs-purpose-label {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 28px;
            color: var(--sfs-blue);
            font-size: 9.5px;
            font-weight: 650;
            letter-spacing: .15em;
            text-transform: uppercase;
        }



        .sfs-purpose-vision .sfs-purpose-label {
            color: #87d8ff;
        }

        @keyframes sfsMissionVisionLabel {

            0%,
            100% {
                transform: scaleX(.6);
                opacity: .55;
            }

            50% {
                transform: scaleX(1);
                opacity: 1;
            }
        }

        .sfs-purpose-index-new {
            display: block;
            margin-bottom: 14px;
            color: #8b9cab;
            font-size: 9.5px;
            font-weight: 650;
            letter-spacing: .13em;
        }

        .sfs-purpose-vision .sfs-purpose-index-new {
            color: rgba(255, 255, 255, .47);
        }

        .sfs-purpose-side h2 {
            margin: 0 0 20px;
            color: var(--sfs-navy);
            font-size: var(--sfs-heading-size);
            font-weight: 650;
            line-height: 1;
            letter-spacing: -.045em;
        }

        .sfs-purpose-vision h2 {
            color: #fff;
        }

        .sfs-purpose-side p {
            margin: 0;
            max-width: 565px;
            color: var(--sfs-muted);
            font-size: 13px;
            font-weight: 550;
            line-height: 1.85;
        }

        .sfs-purpose-vision p {
            color: rgba(255, 255, 255, .71);
        }

        .sfs-purpose-moving-rule {
            position: relative;
            display: block;
            width: 180px;
            height: 1px;
            margin-top: 32px;
            overflow: hidden;
            background: #d1dce5;
        }

        .sfs-purpose-vision .sfs-purpose-moving-rule {
            background: rgba(255, 255, 255, .16);
        }

        .sfs-purpose-moving-rule::after {
            content: "";
            position: absolute;
            top: 0;
            left: -50%;
            width: 50%;
            height: 100%;
            background: var(--sfs-blue);
            animation: sfsMissionVisionSweep 4.8s ease-in-out infinite;
        }

        .sfs-purpose-vision .sfs-purpose-moving-rule::after {
            background: #83d8ff;
            animation-delay: -2.3s;
        }

        @keyframes sfsMissionVisionSweep {
            0% {
                left: -50%;
            }

            58%,
            100% {
                left: 110%;
            }
        }

        .sfs-purpose-motion-dot {
            position: absolute;
            top: 42px;
            right: 40px;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--sfs-blue);
            opacity: .58;
            animation: sfsMissionVisionDot 6.5s ease-in-out infinite;
        }

        .sfs-purpose-vision .sfs-purpose-motion-dot {
            background: #83d8ff;
        }

        .sfs-purpose-motion-dot::before {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            width: 34px;
            height: 34px;
            border: 1px solid currentColor;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            opacity: .17;
        }

        @keyframes sfsMissionVisionDot {

            0%,
            100% {
                transform: translate(0, 0);
            }

            50% {
                transform: translate(-13px, 9px);
            }
        }

        @media (max-width: 991px) {
            .sfs-purpose-split {
                grid-template-columns: 1fr;
                min-height: 0;
            }

            .sfs-purpose-side {
                min-height: 390px;
                padding: 58px 7vw;
            }

            .sfs-purpose-side+.sfs-purpose-side {
                border-left: 0;
                border-top: 1px solid #dbe4eb;
            }
        }

        @media (max-width: 767px) {
            .sfs-purpose-side {
                min-height: 0;
                padding: 50px 5vw;
            }

            .sfs-purpose-side h2 {
                font-size: 38px;
            }

            .sfs-purpose-side::before {
                right: -4px;
                bottom: -5px;
                font-size: 76px;
            }

            .sfs-purpose-motion-dot {
                top: 25px;
                right: 23px;
            }

            .sfs-purpose-moving-rule {
                width: 140px;
            }
        }

      /* services  */
      :root {
        --sfs-font: "Montserrat", Arial, sans-serif;
        --sfs-navy: #082744;
        --sfs-navy-dark: #061c32;
        --sfs-blue: #0a73d9;
        --sfs-cyan: #56b8e8;
        --sfs-ink: #17324c;
        --sfs-muted: #6d7f90;
        --sfs-line: #dce4eb;
        --sfs-soft: #f5f7f9;
        --sfs-white: #ffffff;
        --sfs-fluid: min(94%, 1450px);
    }

    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: 110px;
    }

    body,
    .body-inner,
    .sfs-services-page,
    .sfs-services-page * {
        font-family: var(--sfs-font);
    }

    body {
        margin: 0;
        overflow-x: hidden;
        color: var(--sfs-ink);
        background: #fff;
        font-size: 13.5px;
        font-weight: 550;
        line-height: 1.76;
    }

    a {
        text-decoration: none;
    }

    .container-fluid.sfs-fluid {
        width: var(--sfs-fluid);
        max-width: none;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .sfs-section {
        position: relative;
        padding: 84px 0;
    }

    /* ======================================================
       ONE CLASS FOR ALL MAIN PAGE HEADINGS
       Change this ONE block to update every H1/H2 section heading.
    ====================================================== */
    .sfs-page-heading {
        margin: 0 0 16px;
        color: var(--sfs-page-heading-color, var(--sfs-navy));
        font-family: var(--sfs-font);
        font-size: var(--sfs-heading-size);
        font-weight: 650;
        line-height: 1.1;
        letter-spacing: -.038em;
    }

    .sfs-text {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 13.5px;
        line-height: 1.82;
    }

    .sfs-kicker {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 13px;
        color: var(--sfs-blue);
        font-size: 9.5px;
        font-weight: 650;
        letter-spacing: .13em;
        line-height: 1;
        text-transform: uppercase;
    }

    @keyframes sfsLineBreath {

        0%,
        100% {
            transform: scaleX(.65);
            opacity: .55;
        }

        50% {
            transform: scaleX(1);
            opacity: 1;
        }
    }

    .sfs-btn {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 22px;
        border: 1px solid transparent;
        border-radius: 8px;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
        transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
    }

    .sfs-btn-primary {
        color: #fff !important;
        background: var(--sfs-blue);
        border-color: var(--sfs-blue);
    }

    .sfs-btn-primary:hover {
        transform: translateY(-2px);
        background: #075fb8;
        border-color: #075fb8;
    }

    .sfs-btn-light {
        color: var(--sfs-navy) !important;
        background: #fff;
        border-color: #fff;
    }

    .sfs-btn-light:hover {
        transform: translateY(-2px);
        color: var(--sfs-blue) !important;
    }

    /* ======================================================
       HEADER
    ====================================================== */
    #header,
    #header.header-transparent,
    #header #header-wrap,
    #header.header-transparent #header-wrap {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        background: rgba(242, 244, 247, .96) !important;
        border-bottom: 1px solid rgba(8, 39, 68, .09) !important;
        box-shadow: none !important;
        transition: background .3s ease, border-color .3s ease;
    }

    #header .header-inner,
    #header #header-wrap,
    #header-wrap {
        min-height: 86px;
    }

    #header #logo>a {
        min-height: 76px;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    #header #logo img {
        display: block !important;
        width: auto !important;
        height: 78px !important;
        max-width: 190px !important;
        object-fit: contain;
        filter: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #mainMenu nav>ul>li>a,
    #mainMenu-trigger {
        color: var(--sfs-navy) !important;
        font-size: 11px;
        font-weight: 650 !important;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    body.sfs-scrolled #header,
    body.sfs-scrolled #header #header-wrap,
    #header.header-sticky,
    #header.sticky-active,
    #header.sticky {
        position: fixed !important;
        background: rgba(5, 28, 52, .97) !important;
        border-bottom-color: rgba(255, 255, 255, .08) !important;
        backdrop-filter: blur(12px);
    }

    body.sfs-scrolled #header #logo img,
    #header.header-sticky #logo img,
    #header.sticky-active #logo img,
    #header.sticky #logo img {
        filter: brightness(0) invert(1) !important;
    }

    body.sfs-scrolled #mainMenu nav>ul>li>a,
    body.sfs-scrolled #mainMenu-trigger,
    #header.header-sticky #mainMenu nav>ul>li>a,
    #header.sticky-active #mainMenu nav>ul>li>a,
    #header.sticky #mainMenu nav>ul>li>a {
        color: #fff !important;
    }

    /* ======================================================
       HERO
    ====================================================== */
    .sfs-services-hero {
        position: relative;
        min-height: 475px;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 150px 0 72px;
        background:
            linear-gradient(90deg, rgba(5, 28, 51, .90) 0%, rgba(5, 28, 51, .76) 50%, rgba(5, 28, 51, .48) 100%),
            url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;
    }

    .sfs-services-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .27;
        pointer-events: none;
        background-image:
            linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
        background-size: 72px 72px;
        animation: sfsGridMove 24s linear infinite;
    }

    @keyframes sfsGridMove {
        to {
            background-position: 72px 72px, 72px 72px;
        }
    }

    .sfs-services-hero-inner {
        position: relative;
        z-index: 2;
        max-width: 790px;
    }

    .sfs-services-hero {
        --sfs-page-heading-color: #fff;
    }

    .sfs-services-hero .sfs-kicker {
        color: #9bddff;
    }

    .sfs-services-hero .sfs-text {
        max-width: 690px;
        color: rgba(255, 255, 255, .8);
        font-size: 14px;
    }
    @media (max-width: 767px)
{
    .sfs-services-workflow-line {
padding-left: 2px;
}
}
    /* ======================================================
       QUICK SERVICE NAV
    ====================================================== */
    .sfs-services-nav {
        border-bottom: 1px solid var(--sfs-line);
        background: #fff;
    }

    .sfs-services-nav-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }

    .sfs-services-nav a {
        min-height: 70px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 0 18px;
        color: var(--sfs-navy);
        border-right: 1px solid var(--sfs-line);
        transition: background .25s ease, color .25s ease;
    }

    .sfs-services-nav a:first-child {
        border-left: 1px solid var(--sfs-line);
    }

    .sfs-services-nav a:hover {
        color: var(--sfs-blue);
        background: #f7fafc;
    }

    .sfs-services-nav span {
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-services-nav strong {
        font-size: 11px;
        font-weight: 650;
    }

    /* ======================================================
       INTRO / VALUE — INTEGRATED STRUCTURE DESIGN
    ====================================================== */
    .sfs-services-intro {
        position: relative;
        overflow: hidden;
        padding: 0;
        background: #f5f8fa;
        border-top: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
    }

    .sfs-services-intro-wrap {
        width: var(--sfs-fluid);
        margin: 0 auto;
        display: grid;
        grid-template-columns: .86fr 1.14fr;
        min-height: 560px;
        border-left: 1px solid var(--sfs-line);
        border-right: 1px solid var(--sfs-line);
    }

    /* LEFT — dark editorial panel */
    .sfs-intro-statement {
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 72px 58px;
        background: var(--sfs-navy-dark);
        --sfs-page-heading-color: #fff;
    }

    .sfs-intro-statement::before,
    .sfs-intro-statement::after {
        content: "";
        position: absolute;
        border: 1px solid rgba(143, 217, 255, .12);
        border-radius: 50%;
        pointer-events: none;
    }

    .sfs-intro-statement::before {
        width: 340px;
        height: 340px;
        right: -190px;
        top: -150px;
        animation: sfsIntroOrbit 8s ease-in-out infinite alternate;
    }

    .sfs-intro-statement::after {
        width: 230px;
        height: 230px;
        right: -115px;
        top: -80px;
        animation: sfsIntroOrbit 10s ease-in-out infinite alternate-reverse;
    }

    @keyframes sfsIntroOrbit {
        from { transform: translate3d(0,0,0); }
        to { transform: translate3d(-22px,18px,0); }
    }

    .sfs-intro-statement .sfs-kicker {
        position: relative;
        z-index: 2;
        color: #8fd9ff;
        margin-bottom: 18px;
    }

    .sfs-intro-statement .sfs-page-heading {
        position: relative;
        z-index: 2;
        max-width: 610px;
        margin-bottom: 22px;
    }

    .sfs-intro-lead {
        position: relative;
        z-index: 2;
        max-width: 620px;
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 12px;
        line-height: 1.82;
    }

    .sfs-intro-mini-line {
        position: relative;
        z-index: 2;
        width: 100%;
        height: 1px;
        margin: 34px 0 20px;
        overflow: hidden;
        background: rgba(255,255,255,.13);
    }

    .sfs-intro-mini-line::after {
        content: "";
        position: absolute;
        top: 0;
        left: -18%;
        width: 18%;
        height: 1px;
        background: #8fd9ff;
        animation: sfsIntroLine 6.5s linear infinite;
    }

    @keyframes sfsIntroLine {
        to { left: 108%; }
    }

    .sfs-intro-signature {
        position: relative;
        z-index: 2;
        display: flex;
        flex-wrap: wrap;
        gap: 10px 22px;
        color: rgba(255,255,255,.56);
        font-size: 8.6px;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    /* RIGHT — connected benefit path */
    .sfs-intro-path {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 58px 54px 58px 68px;
        background: #fff;
    }

    .sfs-intro-path::before {
        content: "";
        position: absolute;
        left: 68px;
        top: 86px;
        bottom: 86px;
        width: 1px;
        background: #d7e2e9;
    }

    .sfs-intro-path::after {
        content: "";
        position: absolute;
        left: 68px;
        top: 86px;
        width: 1px;
        height: 92px;
        background: var(--sfs-blue);
        animation: sfsIntroPathMove 6s ease-in-out infinite;
    }

    @keyframes sfsIntroPathMove {
        0%,100% { transform: translateY(0); }
        50% { transform: translateY(220px); }
    }

    .sfs-intro-path-item {
        position: relative;
        display: grid;
        grid-template-columns: 58px 180px minmax(0,1fr);
        gap: 22px;
        align-items: start;
        min-height: 126px;
        padding: 21px 0 24px;
    }

    .sfs-intro-path-item + .sfs-intro-path-item {
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-intro-path-no {
        position: relative;
        z-index: 2;
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: -17px;
        border: 1px solid #cddae3;
        border-radius: 50%;
        color: var(--sfs-blue);
        background: #fff;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: .08em;
        transition: color .25s ease, border-color .25s ease, background .25s ease;
    }

    .sfs-intro-path-item:hover .sfs-intro-path-no {
        color: #fff;
        border-color: var(--sfs-blue);
        background: var(--sfs-blue);
    }

    .sfs-intro-path-item h3 {
        margin: 4px 0 0;
        color: var(--sfs-navy);
        font-size: 14px;
        font-weight: 650;
        line-height: 1.42;
    }

    .sfs-intro-path-item p {
        margin: 3px 0 0;
        color: var(--sfs-muted);
        font-size: 10.8px;
        line-height: 1.72;
    }

    .sfs-intro-path-item::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -1px;
        width: 0;
        height: 1px;
        background: var(--sfs-blue);
        transition: width .38s ease;
    }

    .sfs-intro-path-item:hover::after {
        width: calc(100% - 58px);
    }

    /* bottom moving band */
    .sfs-intro-band {
        width: var(--sfs-fluid);
        margin: 0 auto;
        overflow: hidden;
        border-left: 1px solid var(--sfs-line);
        border-right: 1px solid var(--sfs-line);
        border-top: 1px solid var(--sfs-line);
        background: #f8fafb;
    }

    .sfs-intro-band-track {
        width: max-content;
        display: flex;
        align-items: center;
        animation: sfsIntroBand 24s linear infinite;
    }

    .sfs-intro-band:hover .sfs-intro-band-track {
        animation-play-state: paused;
    }

    @keyframes sfsIntroBand {
        from { transform: translate3d(0,0,0); }
        to { transform: translate3d(-50%,0,0); }
    }

    .sfs-intro-band-item {
        min-height: 48px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 0 28px;
        border-right: 1px solid var(--sfs-line);
        color: #6f8191;
        font-size: 8.8px;
        font-weight: 650;
        letter-spacing: .09em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .sfs-intro-band-item::before {
        content: "";
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--sfs-blue);
    }

    @media (max-width: 1199px) {
        .sfs-services-intro-wrap {
            grid-template-columns: 1fr;
        }

        .sfs-intro-statement {
            min-height: 410px;
        }

        .sfs-intro-path {
            padding: 48px 46px 48px 62px;
        }

        .sfs-intro-path::before,
        .sfs-intro-path::after {
            left: 62px;
        }
    }

    @media (max-width: 767px) {
        .sfs-services-intro-wrap,
        .sfs-intro-band {
            width: 100%;
            border-left: 0;
            border-right: 0;
        }

        .sfs-intro-statement {
            min-height: 0;
            padding: 56px 5%;
        }

        .sfs-intro-path {
            padding: 34px 5% 40px 44px;
        }

        .sfs-intro-path::before,
        .sfs-intro-path::after {
            left: 27px;
            top: 56px;
            bottom: 56px;
        }

        .sfs-intro-path-item {
            grid-template-columns: 42px 1fr;
            gap: 10px 12px;
            min-height: 0;
            padding: 20px 0 22px;
        }

        .sfs-intro-path-no {
            margin-left: -34px;
        }

        .sfs-intro-path-item h3 {
            grid-column: 2;
            margin-top: 1px;
        }

        .sfs-intro-path-item p {
            grid-column: 2;
            margin-top: 0;
        }

        .sfs-intro-path-item:hover::after {
            width: calc(100% - 42px);
        }

        .sfs-intro-band-item {
            min-height: 44px;
            padding: 0 20px;
        }
    }

    /* ======================================================
       FIVE SERVICE DIVISIONS — SLIDING EDITORIAL DESIGN
       Real image slider + clean open capability rows
    ====================================================== */
    .sfs-service-showcase {
        position: relative;
        overflow: hidden;
        padding: 88px 0 94px;
        border-top: 1px solid var(--sfs-line);
        background: #fff;
    }

    .sfs-service-showcase.alt {
        background: #f7f9fb;
    }

    .sfs-service-showcase::before {
        content: attr(data-service-no);
        position: absolute;
        right: 2.5%;
        top: 38px;
        color: rgba(8, 39, 68, .035);
        font-size: clamp(100px, 11vw, 180px);
        font-weight: 700;
        line-height: .75;
        letter-spacing: -.08em;
        pointer-events: none;
    }

    .sfs-service-showcase-head {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr) minmax(300px, 430px);
        gap: 34px;
        align-items: end;
        margin-bottom: 38px;
    }

    .sfs-service-showcase-no {
        color: var(--sfs-blue);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: .11em;
        padding-bottom: 9px;
    }

    .sfs-service-showcase-heading .sfs-kicker {
        margin-bottom: 12px;
    }


    .sfs-service-showcase-intro {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 11.5px;
        line-height: 1.78;
        padding-bottom: 5px;
    }

    .sfs-service-showcase-main {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: .9fr 1.1fr;
        grid-template-areas: "visual content";
        gap: 54px;
        align-items: stretch;
    }

    /* 01 / 03 / 05: image LEFT, content slider RIGHT */
    .sfs-service-gallery {
        grid-area: visual;
    }

    .sfs-service-list {
        grid-area: content;
    }

    /* 02 / 04: content slider LEFT, image RIGHT */
    .sfs-service-showcase.reverse .sfs-service-showcase-main {
        grid-template-columns: 1.1fr .9fr;
        grid-template-areas: "content visual";
    }

    /* premium static visual panel */
    .sfs-service-gallery {
        position: relative;
        min-width: 0;
        min-height: 520px;
        overflow: hidden;
        border-radius: 15px;
        background: #e5ebef;
    }

    .sfs-service-gallery-media {
        position: absolute;
        inset: 0;
        overflow: hidden;
    }

    .sfs-service-gallery-media img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transform: scale(1.02);
        transition: transform .9s ease;
    }

    .sfs-service-gallery:hover .sfs-service-gallery-media img {
        transform: scale(1.05);
    }

    .sfs-service-gallery-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(180deg, rgba(5, 28, 51, .03) 28%, rgba(5, 28, 51, .65) 100%),
            linear-gradient(90deg, rgba(5, 28, 51, .30), transparent 55%);
    }

    .sfs-service-gallery-grid {
        position: absolute;
        inset: 0;
        z-index: 2;
        pointer-events: none;
        opacity: .22;
        background-image:
            linear-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, .14) 1px, transparent 1px);
        background-size: 72px 72px;
    }

    .sfs-service-gallery-badge {
        position: absolute;
        z-index: 4;
        top: 20px;
        left: 20px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
        border: 1px solid rgba(255, 255, 255, .32);
        border-radius: 20px;
        color: #fff;
        background: rgba(5, 28, 51, .28);
        backdrop-filter: blur(7px);
        font-size: 8px;
        font-weight: 650;
        letter-spacing: .11em;
        text-transform: uppercase;
    }

    .sfs-service-gallery-badge::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #8edcff;
        animation: sfsGalleryDot 2.3s ease-in-out infinite;
    }

    @keyframes sfsGalleryDot {

        0%,
        100% {
            opacity: .45;
            transform: scale(.8);
        }

        50% {
            opacity: 1;
            transform: scale(1.15);
        }
    }

 

    .sfs-service-gallery-caption {
        position: absolute;
        z-index: 4;
        left: 22px;
        right: 110px;
        bottom: 64px;
        color: #fff;
        font-size: 18px;
        font-weight: 650;
        line-height: 1.3;
        letter-spacing: -.02em;
    }

    .sfs-service-gallery-meta {
        position: absolute;
        z-index: 4;
        left: 22px;
        right: 22px;
        bottom: 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding-top: 14px;
        border-top: 1px solid rgba(255, 255, 255, .24);
    }

    .sfs-service-gallery-meta span {
        color: rgba(255, 255, 255, .68);
        font-size: 8px;
        font-weight: 650;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .sfs-service-gallery-meta strong {
        color: #fff;
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    /* clean capability rows: open, not cards */
    .sfs-service-list {
        border-top: 1px solid #ccd7df;
        align-self: stretch;
    }

    .sfs-service-row-v2 {
        position: relative;
        display: grid;
        grid-template-columns: 44px 185px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
        padding: 21px 0;
        border-bottom: 1px solid #ccd7df;
        transition: padding .28s ease, background .28s ease;
    }

    .sfs-service-row-v2::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--sfs-blue);
        transform: scaleY(0);
        transform-origin: top;
        transition: transform .28s ease;
    }

    .sfs-service-row-v2:hover {
        padding-left: 10px;
        background: rgba(10, 115, 217, .025);
    }

    .sfs-service-row-v2:hover::before {
        transform: scaleY(1);
    }

    .sfs-service-row-number {
        color: #92a3b1;
        font-size: 8.5px;
        font-weight: 650;
        letter-spacing: .11em;
        padding-top: 3px;
    }

    .sfs-service-row-v2 h3 {
        margin: 0;
        color: var(--sfs-navy);
        font-size: 13.5px;
        font-weight: 650;
        line-height: 1.42;
    }

    .sfs-service-row-content p {
        margin: 0 0 10px;
        color: var(--sfs-muted);
        font-size: 9.8px;
        line-height: 1.65;
    }

    .sfs-service-inline-list {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 16px;
    }

    .sfs-service-inline-list span {
        position: relative;
        padding-left: 10px;
        color: #627587;
        font-size: 8.8px;
        line-height: 1.5;
    }

    .sfs-service-inline-list span::before {
        content: "";
        position: absolute;
        left: 0;
        top: .64em;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--sfs-blue);
    }

    .sfs-service-slider-list {
        border: 1px solid #ccd7df;
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
        overflow: hidden;
        align-self: stretch;
        min-height: 100%;
        display: flex;
        flex-direction: column;
    }

    .sfs-service-slider-window {
        position: relative;
        overflow: hidden;
        flex: 1 1 auto;
    }

    .sfs-service-slider-track {
        display: flex;
        height: 100%;
        transition: transform .7s cubic-bezier(.22, .61, .36, 1);
        will-change: transform;
    }

    .sfs-service-slide {
        min-width: 100%;
        padding: 28px 30px 24px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 16px;
        position: relative;
    }

    .sfs-service-slide::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at top right, rgba(10, 115, 217, .06), transparent 38%);
        pointer-events: none;
    }

    .sfs-service-slide-header {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
    }

    .sfs-service-slide-number {
        width: 62px;
        height: 62px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d7e1e8;
        border-radius: 50%;
        color: var(--sfs-blue);
        background: #f8fbff;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -.04em;
    }

    .sfs-service-slide-kicker {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
        color: var(--sfs-blue);
        font-size: 8px;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .sfs-service-slide-kicker::before {
        content: "";
        width: 20px;
        height: 1px;
        background: var(--sfs-blue);
    }

    .sfs-service-slide h3 {
        position: relative;
        z-index: 1;
        margin: 0;
        color: var(--sfs-navy);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.12;
        letter-spacing: -.03em;
    }

    .sfs-service-slide p {
        position: relative;
        z-index: 1;
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.2px;
        line-height: 1.8;
        max-width: 640px;
    }

    .sfs-service-slide .sfs-service-inline-list {
        position: relative;
        z-index: 1;
        padding-top: 16px;
        border-top: 1px solid #e2e9ef;
        gap: 8px 18px;
    }

    .sfs-service-slide .sfs-service-inline-list span {
        font-size: 9px;
        color: #596f83;
        padding-left: 12px;
    }

    .sfs-service-slider-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 16px 22px;
        border-top: 1px solid #d9e3ea;
        background: #fbfdff;
    }

    .sfs-service-slider-meta {
        display: flex;
        align-items: center;
        gap: 14px;
        min-width: 0;
    }

    .sfs-service-slider-count {
        color: var(--sfs-navy);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .sfs-service-slider-dots {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .sfs-service-slider-dot {
        width: 24px;
        height: 4px;
        border-radius: 999px;
        background: #d6e1ea;
        transition: width .35s ease, background .35s ease, opacity .35s ease;
        cursor: pointer;
        border: 0;
        padding: 0;
    }

    .sfs-service-slider-dot.is-active {
        width: 38px;
        background: var(--sfs-blue);
    }

    .sfs-service-slider-arrows {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .sfs-service-slider-arrow {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #d7e1e8;
        background: #fff;
        color: var(--sfs-navy);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        line-height: 1;
        transition: transform .25s ease, color .25s ease, border-color .25s ease, background .25s ease;
    }

    .sfs-service-slider-arrow:hover {
        transform: translateY(-2px);
        color: var(--sfs-blue);
        border-color: rgba(10, 115, 217, .35);
        background: #f8fbff;
    }

    .sfs-service-showcase-footer {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-top: 30px;
        padding-top: 18px;
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-service-showcase-footer span {
        color: #82929f;
        font-size: 8.4px;
        font-weight: 650;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .sfs-service-showcase-footer a {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--sfs-blue);
        font-size: 8.8px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .sfs-service-showcase-footer a::after {
        content: "→";
        transition: transform .25s ease;
    }

    .sfs-service-showcase-footer a:hover::after {
        transform: translateX(5px);
    }

    @media (max-width:1199px) {
        .sfs-service-showcase-head {
            grid-template-columns: 70px minmax(0, 1fr);
            gap: 24px;
        }

        .sfs-service-showcase-intro {
            grid-column: 2;
            max-width: 760px;
        }

        .sfs-service-showcase-main {
            grid-template-columns: .82fr 1.18fr;
            gap: 40px;
        }

        .sfs-service-row-v2 {
            grid-template-columns: 36px 150px minmax(0, 1fr);
        }
    }

    @media (max-width:991px) {
        .sfs-service-showcase {
            padding: 72px 0 78px;
        }

        .sfs-service-showcase-main,
        .sfs-service-showcase.reverse .sfs-service-showcase-main {
            grid-template-columns: 1fr;
            grid-template-areas:
                "visual"
                "content";
        }

        .sfs-service-gallery {
            min-height: 410px;
        }
    }

    @media (max-width:767px) {
        .sfs-service-showcase {
            padding: 58px 0 64px;
        }

        .sfs-service-showcase::before {
            top: 26px;
            right: 0;
            font-size: 82px;
        }

        .sfs-service-showcase-head {
            grid-template-columns: 1fr;
            gap: 12px;
            margin-bottom: 28px;
        }

        .sfs-service-showcase-no {
            padding-bottom: 0;
        }

        .sfs-service-showcase-intro {
            grid-column: auto;
        }

        .sfs-service-gallery {
            min-height: 315px;
        }

        .sfs-service-gallery-caption {
            font-size: 15px;
            bottom: 42px;
        }

        .sfs-service-row-v2 {
            grid-template-columns: 32px 1fr;
            gap: 7px 10px;
            padding: 18px 0;
        }

        .sfs-service-row-content {
            grid-column: 2;
        }

        .sfs-service-inline-list {
            gap: 5px 12px;
        }

        .sfs-service-showcase-footer {
            flex-direction: column;
            align-items: flex-start;
            gap: 10px;
        }

        .sfs-service-slider-list {
            border-radius: 14px;
        }

        .sfs-service-slide {
            padding: 22px 18px 18px;
            gap: 14px;
        }

        .sfs-service-slide-header {
            grid-template-columns: 48px minmax(0, 1fr);
            gap: 12px;
        }

        .sfs-service-slide-number {
            width: 48px;
            height: 48px;
            font-size: 12px;
        }

        .sfs-service-slide h3 {
            font-size: 16px;
        }

        .sfs-service-slider-footer {
            flex-direction: column;
            align-items: flex-start;
            padding: 14px 16px;
        }

        .sfs-service-slider-meta,
        .sfs-service-slider-arrows {
            width: 100%;
            justify-content: space-between;
        }
    }

    /* ======================================================
       WHY CHOOSE US
    ====================================================== */
    .sfs-why {
        --sfs-page-heading-color: #fff;
        overflow: hidden;
        padding: 88px 0 !important;
        background: var(--sfs-navy-dark);
        color: #fff;
    }

    .sfs-why-grid {
        display: grid;
        grid-template-columns: .9fr 1.1fr;
        gap: 70px;
        align-items: stretch;
        padding: 0 24px;
    }

    .sfs-why-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 18px 0;
    }

    .sfs-why .sfs-kicker {
        color: #8fd9ff;
    }


    .sfs-why .sfs-text {
        color: rgba(255, 255, 255, .68);
    }

    .sfs-why-list {
        margin-top: 28px;
        border-top: 1px solid rgba(255, 255, 255, .15);
    }

    .sfs-why-row {
        display: grid;
        grid-template-columns: 40px 190px 1fr;
        gap: 18px;
        padding: 18px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }

    .sfs-why-row span {
        color: #78d3ff;
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-why-row strong {
        color: #fff;
        font-size: 12.5px;
        font-weight: 650;
    }

    .sfs-why-row p {
        margin: 0;
        color: rgba(255, 255, 255, .60);
        font-size: 10.8px;
        line-height: 1.7;
    }

    .sfs-why-image {
        position: relative;
        min-height: 520px;
        overflow: hidden;
        border-radius: 14px;
    }

    .sfs-why-image img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .9s ease;
    }

    .sfs-why-image:hover img {
        transform: scale(1.04);
    }

    .sfs-why-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(6, 28, 50, .18), rgba(6, 28, 50, .04));
    }

    /* ======================================================
       INDUSTRIES / ENVIRONMENTS
    ====================================================== */
    .sfs-sectors {
        background: #fff;
    }

    .sfs-sectors-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 36px;
    }

    .sfs-sector-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-top: 1px solid var(--sfs-line);
        border-left: 1px solid var(--sfs-line);
    }

    .sfs-sector {
        min-height: 150px;
        padding: 24px;
        border-right: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
        background: #fff;
    }

    .sfs-sector span {
        display: block;
        margin-bottom: 24px;
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-sector h3 {
        margin: 0 0 7px;
        color: var(--sfs-navy);
        font-size: 14px;
        font-weight: 650;
    }

    .sfs-sector p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.6px;
        line-height: 1.65;
    }

    /* ======================================================
       PROCESS
    ====================================================== */
    .sfs-services-workflow {
        position: relative;
        overflow: hidden;
        background: var(--sfs-soft);
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-services-workflow-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 36px;
    }

    .sfs-services-workflow-line {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-top: 1px solid #ccd8e1;
    }

    .sfs-services-workflow-line::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 18%;
        height: 2px;
        background: var(--sfs-blue);
        animation: sfsServicesWorkflowMove 7s ease-in-out infinite;
    }

    @keyframes sfsServicesWorkflowMove {

        0%,
        100% {
            left: 0;
        }

        50% {
            left: 82%;
        }
    }

    .sfs-services-workflow-step {
        min-height: 205px;
        padding: 28px 24px;
        border-right: 1px solid #ccd8e1;
    }

    .sfs-services-workflow-step:last-child {
        border-right: 0;
    }

    .sfs-services-workflow-step span {
        display: block;
        margin-bottom: 42px;
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-services-workflow-step h3 {
        margin: 0 0 8px;
        color: var(--sfs-navy);
        font-size: 14px;
        font-weight: 650;
    }

    .sfs-services-workflow-step p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.8px;
        line-height: 1.68;
    }

    /* ======================================================
       CTA
    ====================================================== */
    .sfs-services-cta {
        padding: 74px 0;
        background: var(--sfs-blue);
    }

    .sfs-services-cta-grid {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 40px;
        align-items: center;
    }

    .sfs-services-cta {
        --sfs-page-heading-color: #fff;
    }

    .sfs-services-cta .sfs-kicker {
        color: #fff;
    }

    .sfs-services-cta .sfs-text {
        max-width: 760px;
        color: rgba(255, 255, 255, .78);
    }

    /* ======================================================
       REVEAL
    ====================================================== */
    .sfs-reveal,
    .sfs-reveal-left,
    .sfs-reveal-right {
        opacity: 0;
        transition: opacity .72s ease, transform .72s cubic-bezier(.2, .72, .2, 1);
    }

    .sfs-reveal {
        transform: translateY(24px);
    }

    .sfs-reveal-left {
        transform: translateX(-30px);
    }

    .sfs-reveal-right {
        transform: translateX(30px);
    }

    .sfs-visible {
        opacity: 1 !important;
        transform: translate(0, 0) !important;
    }

    /* ======================================================
       RESPONSIVE
    ====================================================== */
    @media (max-width: 1199px) {
        .sfs-services-nav-grid {
            grid-template-columns: repeat(3, 1fr);
        }

        .sfs-services-intro-grid,
        .sfs-service-layout,
        .sfs-why-grid,
        .sfs-sectors-head,
        .sfs-services-workflow-head {
            grid-template-columns: 1fr;
            gap: 30px;
        }

        .sfs-service-section.reverse .sfs-service-media,
        .sfs-service-section.reverse .sfs-service-copy {
            order: initial;
        }

        .sfs-why-image {
            min-height: 420px;
        }
    }

    @media (max-width: 991px) {
        .sfs-sector-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .sfs-services-workflow-line {
            grid-template-columns: repeat(2, 1fr);
        }

        .sfs-services-workflow-step {
            border-bottom: 1px solid #ccd8e1;
        }
    }

    @media (max-width: 767px) {
        :root {
            --sfs-fluid: min(91%, 1450px);
        }

        #header .header-inner,
        #header #header-wrap,
        #header-wrap {
            min-height: 72px;
        }

        #header #logo>a {
            min-height: 68px;
        }

        #header #logo img {
            height: 70px !important;
            max-width: 165px !important;
        }

        .sfs-section {
            padding: 62px 0;
        }

        .sfs-services-hero {
            min-height: 380px;
            padding: 128px 0 56px;
        }

        .sfs-services-nav {
            overflow-x: auto;
            scrollbar-width: none;
        }

        .sfs-services-nav::-webkit-scrollbar {
            display: none;
        }

        .sfs-services-nav-grid {
            width: max-content;
            min-width: 100%;
            display: flex;
        }

        .sfs-services-nav a {
            min-width: 155px;
            min-height: 58px;
        }

        .sfs-value-line,
        .sfs-why-row {
            grid-template-columns: 36px 1fr;
            gap: 7px 11px;
        }

        .sfs-value-line p,
        .sfs-why-row p {
            grid-column: 2;
        }

        .sfs-service-section {
            padding: 62px 0;
        }

        .sfs-service-media {
            min-height: 285px;
        }

        .sfs-service-row {
            grid-template-columns: 32px 1fr;
            gap: 7px 10px;
        }

        .sfs-service-row ul {
            grid-column: 2;
        }

        .sfs-why {
            padding: 58px 0 !important;
        }

        .sfs-why-grid {
            padding: 0;
            gap: 34px;
        }

        .sfs-why-copy {
            padding: 22px;
        }

        .sfs-why-image {
            min-height: 310px;
            border-radius: 12px;
        }

        .sfs-sector-grid {
            grid-template-columns: 1fr;
            border-left: 0;
        }

        .sfs-sector {
            border-left: 1px solid var(--sfs-line);
        }

        .sfs-services-workflow-line {
            grid-template-columns: 1fr;
        }

        .sfs-services-workflow-step {
            min-height: 165px;
            border-right: 0;
        }

        .sfs-services-workflow-step span {
            margin-bottom: 25px;
        }

        .sfs-services-cta-grid {
            grid-template-columns: 1fr;
            gap: 25px;
        }
    }

    /* Product category browser: preserves the existing filter-chip styling. */
    .sfs-product-tools {
        position: relative;
        z-index: 10;
    }

    .sfs-product-filters.sfs-category-browser-ready {
        flex-wrap: nowrap !important;
        overflow: visible !important;
        min-width: 0;
    }

    .sfs-product-filter[hidden],
    .sfs-category-browser[hidden],
    .sfs-category-browser-option[hidden] {
        display: none !important;
    }

    .sfs-category-browser {
        position: relative;
        z-index: 1;
        flex: 0 0 auto;
    }

    .sfs-category-browser-trigger {
        min-height: 40px;
        padding: 0 15px;
        border: 1px solid #cdd8e1;
        border-radius: 20px;
        background: #fff;
        color: #657789;
        font-family: var(--sfs-font);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .05em;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
        cursor: pointer;
        transition: .25s ease;
    }

    .sfs-category-browser-trigger span {
        display: inline-block;
        margin-left: 5px;
        font-size: 14px;
        line-height: 0;
        transform: translateY(-1px);
        transition: transform .2s ease;
    }

    .sfs-category-browser:hover .sfs-category-browser-trigger,
    .sfs-category-browser:focus-within .sfs-category-browser-trigger,
    .sfs-category-browser.open .sfs-category-browser-trigger,
    .sfs-category-browser.active .sfs-category-browser-trigger {
        border-color: var(--sfs-navy);
        background: var(--sfs-navy);
        color: #fff;
    }

    .sfs-category-browser.open .sfs-category-browser-trigger span {
        transform: translateY(1px) rotate(180deg);
    }

    .sfs-category-browser-menu {
        position: absolute;
        z-index: 30;
        top: calc(100% + 9px);
        right: 0;
        display: grid;
        width: max-content;
        min-width: 250px;
        max-width: min(330px, calc(100vw - 28px));
        max-height: min(360px, 60vh);
        gap: 3px;
        overflow-y: auto;
        padding: 8px;
        border: 1px solid #d6e0e7;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 14px 30px rgba(13, 48, 75, .14);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    .sfs-category-browser:hover .sfs-category-browser-menu,
    .sfs-category-browser:focus-within .sfs-category-browser-menu,
    .sfs-category-browser.open .sfs-category-browser-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .sfs-category-browser-option {
        min-height: 35px;
        padding: 7px 10px;
        border: 0;
        border-radius: 6px;
        background: transparent;
        color: #657789;
        font-family: var(--sfs-font);
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .04em;
        line-height: 1.3;
        text-align: left;
        text-transform: uppercase;
        cursor: pointer;
        transition: .2s ease;
    }

    .sfs-category-browser-option:hover,
    .sfs-category-browser-option:focus,
    .sfs-category-browser-option.active {
        outline: 0;
        background: #edf3f6;
        color: var(--sfs-navy);
    }

    @media (max-width: 767px) {
        .sfs-product-filters.sfs-category-browser-ready {
            padding-bottom: 0 !important;
        }

        .sfs-category-browser-trigger {
            min-height: 38px;
            padding: 0 13px;
        }

        .sfs-category-browser-menu {
            min-width: min(270px, calc(100vw - 28px));
        }
    }

    /* Product directory pagination */
    .sfs-product-pagination[hidden] {
        display: none !important;
    }

    .sfs-product-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 30px 0 4px;
    }

    .sfs-product-pagination-pages {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .sfs-product-pagination-arrow,
    .sfs-product-pagination-page {
        min-width: 38px;
        height: 38px;
        padding: 0 12px;
        border: 1px solid #cdd8e1;
        border-radius: 20px;
        background: #fff;
        color: #657789;
        font-family: var(--sfs-font);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .05em;
        line-height: 1;
        text-transform: uppercase;
        cursor: pointer;
        transition: .25s ease;
    }

    .sfs-product-pagination-page {
        padding: 0;
    }

    .sfs-product-pagination-arrow:hover:not(:disabled),
    .sfs-product-pagination-page:hover,
    .sfs-product-pagination-page.active {
        border-color: var(--sfs-navy);
        background: var(--sfs-navy);
        color: #fff;
    }

    .sfs-product-pagination-arrow:disabled {
        opacity: .42;
        cursor: not-allowed;
    }

    .sfs-product-pagination-status {
        min-width: 74px;
        color: #657789;
        font-family: var(--sfs-font);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .04em;
        text-align: center;
        text-transform: uppercase;
    }

    .sfs-product-pagination-gap {
        min-width: 14px;
        color: #657789;
        font-size: 16px;
        line-height: 1;
        text-align: center;
    }

    @media (max-width: 767px) {
        .sfs-product-pagination {
            flex-wrap: wrap;
            gap: 8px 6px;
            margin-top: 22px;
        }

        .sfs-product-pagination-status {
            order: -1;
            flex-basis: 100%;
        }

        .sfs-product-pagination-arrow,
        .sfs-product-pagination-page {
            min-width: 35px;
            height: 35px;
        }
    }

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

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

        .sfs-reveal,
        .sfs-reveal-left,
        .sfs-reveal-right {
            opacity: 1;
            transform: none;
        }
    }

    .sfs-services-nav a.active {
        color: var(--sfs-blue);
        background: #f4f8fb;
    }

    .sfs-services-nav a.active span {
        color: var(--sfs-navy);
    }


    /* ======================================================
       ONE-AT-A-TIME RIGHT SIDE SERVICE SLIDER
       Example: Building Construction -> Civil Works -> MEP Works
    ====================================================== */
    .sfs-service-list.sfs-capability-slider {
        position: relative;
        overflow: hidden;
        min-height: 520px;
        display: flex;
        flex-direction: column;
        border: 1px solid #d5e0e7;
        border-radius: 16px;
        background: #fff;
    }

    .sfs-capability-slider-window {
        position: relative;
        overflow: hidden;
        flex: 1 1 auto;
    }

    .sfs-capability-slider-track {
        display: flex;
        height: 100%;
        transition: transform .72s cubic-bezier(.22, .61, .36, 1);
        will-change: transform;
    }

    .sfs-capability-slide {
        position: relative;
        flex: 0 0 100%;
        min-width: 100%;
        min-height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 42px 42px 34px;
        background:
            radial-gradient(circle at 100% 0%, rgba(10, 115, 217, .06), transparent 35%),
            #fff;
    }

    .sfs-capability-slide::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--sfs-blue);
        transform: scaleY(.16);
        transform-origin: top;
        transition: transform .6s ease;
    }

    .sfs-capability-slide.is-active::before {
        transform: scaleY(1);
    }

    .sfs-capability-slide-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 42px;
    }

    .sfs-capability-slide-number {
        color: var(--sfs-blue);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .12em;
    }

    .sfs-capability-slide-label {
        color: #8b9aa8;
        font-size: 8.5px;
        font-weight: 650;
        letter-spacing: .11em;
        text-transform: uppercase;
    }

    .sfs-capability-slide h3 {
        margin: 0 0 18px;
        color: var(--sfs-navy);
        font-size: clamp(28px, 2.6vw, 40px);
        font-weight: 650;
        line-height: 1.05;
        letter-spacing: -.04em;
    }

    .sfs-capability-slide>p {
        max-width: 700px;
        margin: 0 0 30px;
        color: var(--sfs-muted);
        font-size: 12px;
        line-height: 1.8;
    }

    .sfs-capability-slide-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 22px;
        padding-top: 24px;
        border-top: 1px solid #dde6ed;
    }

    .sfs-capability-slide-list span {
        position: relative;
        padding-left: 14px;
        color: #5f7386;
        font-size: 10.2px;
        line-height: 1.55;
    }

    .sfs-capability-slide-list span::before {
        content: "";
        position: absolute;
        left: 0;
        top: .62em;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--sfs-blue);
    }

    .sfs-capability-slider-controls {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 18px;
        align-items: center;
        padding: 16px 19px;
        border-top: 1px solid #d8e2e9;
        background: #f9fbfd;
    }

    .sfs-capability-slider-count {
        color: var(--sfs-navy);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .09em;
        white-space: nowrap;
    }

    .sfs-capability-slider-dots {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
    }

    .sfs-capability-slider-dot {
        width: 22px;
        height: 4px;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: #d4dfe7;
        cursor: pointer;
        transition: width .3s ease, background .3s ease;
    }

    .sfs-capability-slider-dot.is-active {
        width: 36px;
        background: var(--sfs-blue);
    }

    .sfs-capability-slider-arrows {
        display: flex;
        gap: 8px;
    }

    .sfs-capability-slider-arrow {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d3dee6;
        border-radius: 50%;
        background: #fff;
        color: var(--sfs-navy);
        cursor: pointer;
        font-size: 15px;
        transition: transform .25s ease, color .25s ease, border-color .25s ease;
    }

    .sfs-capability-slider-arrow:hover {
        transform: translateY(-2px);
        color: var(--sfs-blue);
        border-color: rgba(10, 115, 217, .38);
    }

    @media (max-width: 991px) {
        .sfs-service-list.sfs-capability-slider {
            min-height: 450px;
        }
    }

    @media (max-width: 767px) {
        .sfs-service-list.sfs-capability-slider {
            min-height: 460px;
            border-radius: 14px;
        }

        .sfs-capability-slide {
            justify-content: flex-start;
            padding: 28px 22px 24px;
        }

        .sfs-capability-slide-top {
            margin-bottom: 28px;
        }

        .sfs-capability-slide h3 {
            font-size: 27px;
        }

        .sfs-capability-slide>p {
            margin-bottom: 22px;
            font-size: 10.5px;
        }

        .sfs-capability-slide-list {
            grid-template-columns: 1fr;
            gap: 9px;
            padding-top: 20px;
        }

        .sfs-capability-slider-controls {
            grid-template-columns: 1fr auto;
            gap: 12px;
            padding: 14px 15px;
        }

        .sfs-capability-slider-dots {
            grid-column: 1 / -1;
            grid-row: 2;
            justify-content: flex-start;
        }

        .sfs-capability-slider-count {
            grid-column: 1;
        }

        .sfs-capability-slider-arrows {
            grid-column: 2;
            grid-row: 1;
        }
    }

    /* prodect */
    :root {
        --sfs-font: "Montserrat", Arial, sans-serif;
        --sfs-navy: #082744;
        --sfs-navy-dark: #061c32;
        --sfs-blue: #0a73d9;
        --sfs-cyan: #56b8e8;
        --sfs-ink: #17324c;
        --sfs-muted: #6d7f90;
        --sfs-line: #dce4eb;
        --sfs-soft: #f5f7f9;
        --sfs-white: #ffffff;
        --sfs-fluid: min(94%, 1450px);
    }

    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: 100px;
    }

    body,
    .body-inner,
    .sfs-products-page,
    .sfs-products-page * {
        font-family: var(--sfs-font);
    }

    body {
        margin: 0;
        overflow-x: hidden;
        color: var(--sfs-ink);
        background: #fff;
        font-size: 13.5px;
        font-weight: 550;
        line-height: 1.76;
    }

    a {
        text-decoration: none;
    }

    .container-fluid.sfs-fluid {
        width: var(--sfs-fluid);
        max-width: none;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .sfs-section {
        position: relative;
        padding: 84px 0;
    }

    .sfs-heading {
        margin: 0 0 16px;
        color: var(--sfs-navy);
        font-size: clamp(30px, 3vw, 46px);
        font-weight: 650;
        line-height: 1.1;
        letter-spacing: -.038em;
    }


    /* ======================================================
       ONE CLASS FOR ALL PAGE SECTION HEADINGS
       Change ONLY this class to update every section H2.
    ====================================================== */
    .sfs-section-title {
        margin: 0 0 16px;
        color: var(--sfs-navy);
        font-family: var(--sfs-font);
        font-size: var(--sfs-heading-size);
        font-weight: 650;
        line-height: 1.1;
        letter-spacing: -.038em;
    }

    .sfs-text {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 13.5px;
        line-height: 1.82;
    }

    .sfs-kicker {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 13px;
        color: var(--sfs-blue);
        font-size: 9.5px;
        font-weight: 650;
        letter-spacing: .13em;
        line-height: 1;
        text-transform: uppercase;
    }


    @keyframes sfsLineBreath {
        0%,100% { transform: scaleX(.65); opacity: .55; }
        50% { transform: scaleX(1); opacity: 1; }
    }

    .sfs-btn {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 22px;
        border: 1px solid transparent;
        border-radius: 8px;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
        transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
    }

    .sfs-btn-primary {
        color: #fff !important;
        background: var(--sfs-blue);
        border-color: var(--sfs-blue);
    }

    .sfs-btn-primary:hover {
        transform: translateY(-2px);
        background: #075fb8;
        border-color: #075fb8;
    }

    .sfs-btn-light {
        color: var(--sfs-navy) !important;
        background: #fff;
        border-color: #fff;
    }

    .sfs-btn-light:hover {
        transform: translateY(-2px);
        color: var(--sfs-blue) !important;
    }

    /* ======================================================
       HEADER — same behaviour as current page
    ====================================================== */
    #header,
    #header.header-transparent,
    #header #header-wrap,
    #header.header-transparent #header-wrap {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        background: rgba(242,244,247,.96) !important;
        border-bottom: 1px solid rgba(8,39,68,.09) !important;
        box-shadow: none;
        transition: background .3s ease, border-color .3s ease;
    }

    #header .header-inner,
    #header #header-wrap,
    #header-wrap {
        min-height: 86px;
    }

    #header #logo > a {
        min-height: 76px;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    #header #logo img {
        display: block !important;
        width: auto !important;
        height: 78px !important;
        max-width: 190px !important;
        object-fit: contain;
        filter: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #mainMenu nav > ul > li > a,
    #mainMenu-trigger {
        color: var(--sfs-navy) !important;
        font-size: 11px;
        font-weight: 650 !important;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    body.sfs-scrolled #header,
    body.sfs-scrolled #header #header-wrap,
    #header.header-sticky,
    #header.sticky-active,
    #header.sticky {
        position: fixed !important;
        background: rgba(5,28,52,.97) !important;
        border-bottom-color: rgba(255,255,255,.08) !important;
        backdrop-filter: blur(12px);
    }

    body.sfs-scrolled #header #logo img,
    #header.header-sticky #logo img,
    #header.sticky-active #logo img,
    #header.sticky #logo img {
        filter: brightness(0) invert(1) !important;
    }

    body.sfs-scrolled #mainMenu nav > ul > li > a,
    body.sfs-scrolled #mainMenu-trigger,
    #header.header-sticky #mainMenu nav > ul > li > a,
    #header.sticky-active #mainMenu nav > ul > li > a,
    #header.sticky #mainMenu nav > ul > li > a {
        color: #fff !important;
    }

    /* ======================================================
       HERO
    ====================================================== */
    .sfs-products-hero {
        position: relative;
        min-height: 470px;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 150px 0 70px;
        background:
            linear-gradient(90deg, rgba(5,28,51,.92) 0%, rgba(5,28,51,.75) 52%, rgba(5,28,51,.48) 100%),
            url('https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;
    }

    .sfs-products-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .24;
        pointer-events: none;
        background-image:
            linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
        background-size: 72px 72px;
        animation: sfsGridMove 24s linear infinite;
    }

    @keyframes sfsGridMove {
        to { background-position: 72px 72px, 72px 72px; }
    }

    .sfs-products-hero-inner {
        position: relative;
        z-index: 2;
        max-width: 820px;
    }

    .sfs-products-hero .sfs-kicker,
    .sfs-products-hero .sfs-heading {
        color: #ffffff;
    }

    .sfs-products-hero .sfs-heading {
        max-width: 780px;
        font-size: var(--sfs-heading-size);
        margin-bottom: 18px;
    }

    .sfs-products-hero .sfs-text {
        max-width: 690px;
        color: rgba(255,255,255,.80);
        font-size: 14px;
    }

    .sfs-products-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 27px;
    }

    /* ======================================================
       INTRO / SUPPLY VALUE
    ====================================================== */
    .sfs-product-intro {
        background: #fff;
    }

    .sfs-product-intro-grid {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
    }

    .sfs-product-value {
        margin-top: 34px;
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-product-value-row {
        display: grid;
        grid-template-columns: 48px 220px 1fr;
        gap: 18px;
        padding: 18px 0;
        border-bottom: 1px solid var(--sfs-line);
    }

    .sfs-product-value-row span {
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-product-value-row strong {
        color: var(--sfs-navy);
        font-size: 13px;
        font-weight: 650;
    }

    .sfs-product-value-row p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 11.2px;
        line-height: 1.7;
    }

    /* ======================================================
       PRODUCT DIRECTORY / FILTERS
    ====================================================== */
    .sfs-products-directory {
        position: relative;
        padding: 82px 0 92px;
        background: var(--sfs-soft);
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-products-directory-head {
        display: grid;
        grid-template-columns: .85fr 1.15fr;
        gap: 60px;
        align-items: end;
        margin-bottom: 32px;
    }

    .sfs-product-tools {
        display: grid;
        grid-template-columns: minmax(260px, 420px) minmax(0,1fr);
        gap: 16px;
        align-items: center;
        margin-bottom: 26px;
    }

    .sfs-product-search {
        position: relative;
    }

    .sfs-product-search input {
        width: 100%;
        height: 48px;
        padding: 0 44px 0 15px;
        border: 1px solid #ccd8e1;
        border-radius: 9px;
        outline: none;
        background: #fff;
        color: var(--sfs-navy);
        font-family: var(--sfs-font);
        font-size: 11px;
        font-weight: 550;
        transition: border-color .25s ease, box-shadow .25s ease;
    }

    .sfs-product-search input:focus {
        border-color: var(--sfs-blue);
        box-shadow: none;
    }

    .sfs-product-search button {
        position: absolute;
        top: 50%;
        right: 7px;
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transform: translateY(-50%);
        border: 0;
        border-radius: 7px;
        background: var(--sfs-navy);
        color: #fff;
        cursor: pointer;
        font-size: 15px;
    }

    .sfs-product-filters {
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 7px;
    }

    .sfs-product-filter {
        min-height: 38px;
        padding: 0 14px;
        border: 1px solid #cdd8e1;
        border-radius: 20px;
        background: #fff;
        color: #657789;
        font-family: var(--sfs-font);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .05em;
        text-transform: uppercase;
        cursor: pointer;
        transition: .25s ease;
    }

    .sfs-product-filter:hover,
    .sfs-product-filter.active {
        color: #fff;
        background: var(--sfs-navy);
        border-color: var(--sfs-navy);
    }

    .sfs-category-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .sfs-category-card {
        position: relative;
        min-height: 315px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid #d8e2e9;
        border-radius: 12px;
        background: #fff;
        transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .sfs-category-card:hover {
        transform: translateY(-4px);
        border-color: #c3d3df;
        box-shadow: none;
    }

    .sfs-category-card[hidden] {
        display: none !important;
    }

    .sfs-category-visual {
        position: relative;
        min-height: 138px;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background:
            linear-gradient(135deg, #edf4f9 0%, #f8fbfd 100%);
        border-bottom: 1px solid #e1e8ee;
    }

    .sfs-category-visual::before {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        border: 1px solid rgba(10,115,217,.08);
        border-radius: 50%;
        right: -55px;
        top: -70px;
    }
.sfs-category-number {
        position: absolute;
        left: 14px;
        top: 13px;
        color: #8ea0af;
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .12em;
    }

    .sfs-category-body {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 20px 20px 17px;
    }

    .sfs-category-body h3 {
        margin: 0 0 9px;
        color: var(--sfs-navy);
        font-size: 21px;
        font-weight: 650;
        line-height: 1.35;
    }

    .sfs-category-body p {
        margin: 0 0 18px;

color: #6a7a86;
font-size: 11.3px;
font-weight: 600;
line-height: 1.72;
    }

    .sfs-category-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 10px;
        margin-top: auto;
        padding-top: 14px;
        border-top: 1px solid #e2e8ed;
    }

    .sfs-category-tags span {
        position: relative;
padding-left: 9px;
color: #3c3e40;
font-size: 9.8px;
line-height: 1.45;
    }

    .sfs-category-tags span::before {
        content: "";
        position: absolute;
        left: 0;
        top: .58em;
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background: var(--sfs-blue);
    }

    .sfs-category-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 16px;
    }

    .sfs-category-footer a {
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .sfs-category-footer small {
        color: #96a5b2;
        font-size: 8px;
        font-weight: 600;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .sfs-products-empty {
        display: none;
        margin-top: 20px;
        padding: 28px;
        border: 1px dashed #cbd7e0;
        border-radius: 10px;
        background: #fff;
        color: var(--sfs-muted);
        text-align: center;
        font-size: 11px;
    }

    .sfs-products-empty.show {
        display: block;
    }

    /* ======================================================
       SUPPLY SUPPORT
    ====================================================== */
    .sfs-product-support {
        overflow: hidden;
        background: var(--sfs-navy-dark);
        color: #fff;
    }

    .sfs-product-support-grid {
        display: grid;
        grid-template-columns: .88fr 1.12fr;
        gap: 70px;
        align-items: center;
    }

    .sfs-product-support .sfs-kicker {
        color: #8fd9ff;
    }

    .sfs-product-support .sfs-heading {
        color: #fff;
    }

    .sfs-product-support .sfs-text {
        color: rgba(255,255,255,.68);
    }

    .sfs-product-support-list {
        border-top: 1px solid rgba(255,255,255,.16);
    }

    .sfs-product-support-row {
        display: grid;
        grid-template-columns: 42px 190px 1fr;
        gap: 18px;
        padding: 19px 0;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .sfs-product-support-row span {
        color: #79d3ff;
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-product-support-row strong {
        color: #fff;
        font-size: 12.5px;
        font-weight: 650;
    }

    .sfs-product-support-row p {
        margin: 0;
        color: rgba(255,255,255,.60);
        font-size: 10.8px;
        line-height: 1.7;
    }

    /* ======================================================
       BRAND STRIP
    ====================================================== */
    .sfs-product-brands {
        padding: 68px 0;
        background: #fff;
        border-top: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
    }

    .sfs-product-brands-head {
        display: grid;
        grid-template-columns: .8fr 1.2fr;
        gap: 60px;
        align-items: end;
        margin-bottom: 30px;
    }

    .sfs-brand-line {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        border-top: 1px solid var(--sfs-line);
        border-left: 1px solid var(--sfs-line);
    }

    .sfs-brand-name {
        min-height: 82px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 15px;
        color: #657789;
        border-right: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
        font-size: 11px;
        font-weight: 650;
        text-align: center;
        transition: color .25s ease, background .25s ease;
    }

    .sfs-brand-name:hover {
        color: var(--sfs-navy);
        background: #f8fafc;
    }

    /* ======================================================
       PROCESS
    ====================================================== */
    .sfs-product-process {
        background: var(--sfs-soft);
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-product-process-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 36px;
    }

    .sfs-product-process-line {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-top: 1px solid #ccd8e1;
    }

    .sfs-product-process-line::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 18%;
        height: 2px;
        background: var(--sfs-blue);
        animation: sfsProcessMove 7s ease-in-out infinite;
    }

    @keyframes sfsProcessMove {
        0%,100% { left: 0; }
        50% { left: 82%; }
    }

    .sfs-product-process-step {
        min-height: 196px;
        padding: 27px 23px;
        border-right: 1px solid #ccd8e1;
    }

    .sfs-product-process-step:last-child {
        border-right: 0;
    }

    .sfs-product-process-step span {
        display: block;
        margin-bottom: 38px;
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-product-process-step h3 {
        margin: 0 0 8px;
        color: var(--sfs-navy);
        font-size: 14px;
        font-weight: 650;
    }

    .sfs-product-process-step p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.8px;
        line-height: 1.68;
    }

    /* ======================================================
       REVEAL
    ====================================================== */
    .sfs-reveal,
    .sfs-reveal-left,
    .sfs-reveal-right {
        opacity: 0;
        transition: opacity .72s ease, transform .72s cubic-bezier(.2,.72,.2,1);
    }

    .sfs-reveal { transform: translateY(24px); }
    .sfs-reveal-left { transform: translateX(-30px); }
    .sfs-reveal-right { transform: translateX(30px); }

    .sfs-visible {
        opacity: 1 !important;
        transform: translate(0,0) !important;
    }

    /* ======================================================
       RESPONSIVE
    ====================================================== */
    @media (max-width: 1199px) {
        .sfs-product-intro-grid,
        .sfs-products-directory-head,
        .sfs-product-support-grid,
        .sfs-product-brands-head,
        .sfs-product-process-head {
            grid-template-columns: 1fr;
            gap: 30px;
        }

        .sfs-category-grid {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .sfs-brand-line {
            grid-template-columns: repeat(4, 1fr);
        }
    }

    @media (max-width: 991px) {
        .sfs-product-tools {
            grid-template-columns: 1fr;
        }

        .sfs-product-filters {
            justify-content: flex-start;
        }

        .sfs-product-process-line {
            grid-template-columns: repeat(2, 1fr);
        }

        .sfs-product-process-step {
            border-bottom: 1px solid #ccd8e1;
        }
    }

    @media (max-width: 767px) {
        :root {
            --sfs-fluid: min(91%, 1450px);
        }

        #header .header-inner,
        #header #header-wrap,
        #header-wrap {
            min-height: 72px;
        }

        #header #logo > a {
            min-height: 68px;
        }

        #header #logo img {
            height: 70px !important;
            max-width: 165px !important;
        }

        .sfs-section {
            padding: 62px 0;
        }

        .sfs-products-hero {
            min-height: 390px;
            padding: 126px 0 55px;
        }

        .sfs-products-hero .sfs-heading {
            font-size: var(--sfs-heading-size);
        }

        .sfs-product-value-row,
        .sfs-product-support-row {
            grid-template-columns: 36px 1fr;
            gap: 7px 11px;
        }

        .sfs-product-value-row p,
        .sfs-product-support-row p {
            grid-column: 2;
        }

        .sfs-products-directory {
            padding: 62px 0 68px;
        }

        .sfs-product-filters {
            flex-wrap: nowrap;
            overflow-x: auto;
            padding-bottom: 4px;
            scrollbar-width: none;
        }

        .sfs-product-filters::-webkit-scrollbar {
            display: none;
        }

        .sfs-product-filter {
            flex: 0 0 auto;
        }

        .sfs-category-grid {
            grid-template-columns: 1fr;
        }

        .sfs-category-card {
            min-height: 0;
        }

        .sfs-brand-line {
            grid-template-columns: repeat(2, 1fr);
        }

        .sfs-product-process-line {
            grid-template-columns: 1fr;
        }

        .sfs-product-process-step {
            min-height: 160px;
            border-right: 0;
        }

        .sfs-product-process-step span {
            margin-bottom: 24px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
            animation: none !important;
            transition: none !important;
            scroll-behavior: auto !important;
        }

        .sfs-reveal,
        .sfs-reveal-left,
        .sfs-reveal-right {
            opacity: 1;
            transform: none;
        }
    }

    /* ======================================================
       PRODUCT CATEGORY IMAGES
       SFS PDF catalogue crops + selected online imagery
    ====================================================== */
    .sfs-category-visual {
        min-height: 205px;
        background: #edf3f7;
    }

    .sfs-category-photo {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        transform: scale(1.002);
        transition: transform .65s cubic-bezier(.2,.72,.2,1);
    }

    .sfs-category-visual::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(5,28,51,.01) 48%,
            rgba(5,28,51,.20) 100%
        );
    }

    .sfs-category-card:hover .sfs-category-photo {
        transform: scale(1.045);
    }

    .sfs-category-number {
        z-index: 3;
        left: 13px;
        top: 12px;
        min-width: 31px;
        height: 25px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 7px;
        color: var(--sfs-navy);
        background: rgba(255,255,255,.93);
        border: 1px solid rgba(255,255,255,.65);
        border-radius: 6px;
        box-shadow: none;
        backdrop-filter: blur(7px);
    }

    .sfs-category-image-label {
        position: absolute;
        z-index: 3;
        right: 12px;
        bottom: 11px;
        padding: 6px 8px;
        border-radius: 5px;
        color: #fff;
        background: rgba(5,28,51,.74);
        font-size: 7.5px;
        font-weight: 650;
        line-height: 1;
        letter-spacing: .08em;
        text-transform: uppercase;
        backdrop-filter: blur(6px);
    }

    @media (max-width: 767px) {
        .sfs-category-visual {
            min-height: 220px;
        }
    }


    /* ======================================================
       PRODUCT PAGE FINAL OVERRIDES
       Original Product Directory design + no shadows + mobile swipe
    ====================================================== */

    .sfs-products-page *,
    .sfs-products-page *::before,
    .sfs-products-page *::after {
        box-shadow: none !important;
    }

    .sfs-category-card:hover {
        box-shadow: none !important;
    }

    .sfs-category-number {
        box-shadow: none !important;
    }

    @media (max-width: 767px) {
        .sfs-category-grid {
            display: flex !important;
            flex-wrap: nowrap !important;
            gap: 14px !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-x: contain;
            scrollbar-width: none;
            touch-action: pan-x pan-y;
            padding-bottom: 4px;
        }

        .sfs-category-grid::-webkit-scrollbar {
            display: none;
        }

        .sfs-category-card {
            flex: 0 0 calc(100% - 18px) !important;
            min-width: calc(100% - 18px) !important;
            max-width: calc(100% - 18px) !important;
            scroll-snap-align: start;
            scroll-snap-stop: always;
        }

        .sfs-category-card[hidden] {
            display: none !important;
        }
    }


    /* ======================================================
       PRODUCT SOLUTIONS — IMAGE + EDITORIAL DESIGN
    ====================================================== */
    .sfs-product-solutions-v2 {
        position: relative;
        overflow: hidden;
        padding: 88px 0;
        background: #fff;
    }

    .sfs-product-solutions-grid {
        display: grid;
        grid-template-columns: .92fr 1.08fr;
        gap: 64px;
        align-items: stretch;
    }

    .sfs-product-solutions-media {
        position: relative;
        min-height: 500px;
        overflow: hidden;
        border-radius: 14px;
        background: #e9eef2;
    }

    .sfs-product-solutions-media img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .8s ease;
    }

    .sfs-product-solutions-media:hover img {
        transform: scale(1.035);
    }

    .sfs-product-solutions-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent 52%, rgba(5,28,51,.50));
    }

    .sfs-product-solutions-media-label {
        position: absolute;
        z-index: 2;
        left: 22px;
        right: 22px;
        bottom: 18px;
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 20px;
        color: #fff;
    }

    .sfs-product-solutions-media-label strong {
        max-width: 320px;
        font-size: 18px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: -.02em;
    }

    .sfs-product-solutions-media-label span {
        color: rgba(255,255,255,.70);
        font-size: 8.5px;
        font-weight: 650;
        letter-spacing: .11em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .sfs-product-solutions-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .sfs-product-solutions-content .sfs-text {
        max-width: 720px;
    }

    .sfs-product-solutions-points {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 0;
        margin-top: 38px;
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-product-solutions-point {
        min-height: 170px;
        padding: 24px 22px 0 0;
        border-right: 1px solid var(--sfs-line);
    }

    .sfs-product-solutions-point + .sfs-product-solutions-point {
        padding-left: 22px;
    }

    .sfs-product-solutions-point:last-child {
        border-right: 0;
    }

    .sfs-product-solutions-point span {
        display: block;
        margin-bottom: 25px;
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .11em;
    }

    .sfs-product-solutions-point strong {
        display: block;
        margin-bottom: 8px;
        color: var(--sfs-navy);
        font-size: 12.5px;
        font-weight: 650;
        line-height: 1.45;
    }

    .sfs-product-solutions-point p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10px;
        line-height: 1.68;
    }


    /* ======================================================
       PRODUCT SUPPLY SUPPORT — IMAGE BAND + CONNECTED STEPS
    ====================================================== */
    .sfs-product-support-v2 {
        position: relative;
        overflow: hidden;
        padding: 84px 0 92px;
        background: #f4f7f9;
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-product-support-v2-head {
        display: grid;
        grid-template-columns: .78fr 1.22fr;
        gap: 58px;
        align-items: end;
        margin-bottom: 36px;
    }

    .sfs-product-support-v2-copy {
        max-width: 650px;
    }

    .sfs-product-support-v2-image {
        position: relative;
        min-height: 230px;
        overflow: hidden;
        border-radius: 14px;
        background: #dde5eb;
    }

    .sfs-product-support-v2-image img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .8s ease;
    }

    .sfs-product-support-v2-image:hover img {
        transform: scale(1.035);
    }

    .sfs-product-support-v2-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(5,28,51,.32), transparent 55%);
    }

    .sfs-product-support-track {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, minmax(0,1fr));
        gap: 24px;
        padding-top: 44px;
    }

    .sfs-product-support-track::before {
        content: "";
        position: absolute;
        left: 3%;
        right: 3%;
        top: 18px;
        height: 1px;
        background: #c7d3dc;
    }

    .sfs-product-support-step {
        position: relative;
        padding-top: 12px;
    }

    .sfs-product-support-step::before {
        content: "";
        position: absolute;
        top: -31px;
        left: 0;
        width: 12px;
        height: 12px;
        border: 2px solid var(--sfs-blue);
        border-radius: 50%;
        background: #f4f7f9;
    }

    .sfs-product-support-step span {
        display: block;
        margin-bottom: 20px;
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .11em;
    }

    .sfs-product-support-step h3 {
        margin: 0 0 8px;
        color: var(--sfs-navy);
        font-size: 13.5px;
        font-weight: 650;
        line-height: 1.4;
    }

    .sfs-product-support-step p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.4px;
        line-height: 1.72;
    }


    /* ======================================================
       BRAND LOGOS — ONLINE LOGOS + TEXT FALLBACK
    ====================================================== */
    .sfs-product-brands {
        padding: 74px 0 78px;
    }

    .sfs-brand-logo-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0,1fr));
        border-top: 1px solid var(--sfs-line);
        border-left: 1px solid var(--sfs-line);
    }

    .sfs-brand-logo-item {
        min-height: 118px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 11px;
        padding: 18px 14px;
        border-right: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
        background: #fff;
        transition: background .25s ease, transform .25s ease;
    }

    .sfs-brand-logo-item:hover {
        background: #f8fafc;
        transform: translateY(-2px);
    }

    .sfs-brand-logo-item img {
        width: 48px;
        height: 48px;
        object-fit: contain;
        filter: grayscale(1);
        opacity: .78;
        transition: filter .25s ease, opacity .25s ease, transform .25s ease;
    }

    .sfs-brand-logo-item:hover img {
        filter: grayscale(0);
        opacity: 1;
        transform: scale(1.05);
    }

    .sfs-brand-logo-item span {
        color: #66798b;
        font-size: 9.5px;
        font-weight: 650;
        text-align: center;
    }


    /* keep the page shadow-free */
    .sfs-products-page *,
    .sfs-products-page *::before,
    .sfs-products-page *::after {
        box-shadow: none !important;
    }

    @media (max-width: 1199px) {
        .sfs-product-solutions-grid,
        .sfs-product-support-v2-head {
            grid-template-columns: 1fr;
            gap: 34px;
        }

        .sfs-product-solutions-media {
            min-height: 380px;
        }

        .sfs-brand-logo-grid {
            grid-template-columns: repeat(4, minmax(0,1fr));
        }
    }

    @media (max-width: 991px) {
        .sfs-product-solutions-points {
            grid-template-columns: 1fr;
        }

        .sfs-product-solutions-point,
        .sfs-product-solutions-point + .sfs-product-solutions-point {
            min-height: 0;
            padding: 20px 0;
            border-right: 0;
            border-bottom: 1px solid var(--sfs-line);
        }

        .sfs-product-support-track {
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 36px 28px;
        }

        .sfs-product-support-track::before {
            display: none;
        }

        .sfs-product-support-step::before {
            top: 0;
            left: 0;
        }

        .sfs-product-support-step {
            padding: 28px 0 0 0;
        }
    }

    @media (max-width: 767px) {
        .sfs-product-solutions-v2,
        .sfs-product-support-v2 {
            padding: 62px 0 68px;
        }

        .sfs-product-solutions-media {
            min-height: 280px;
        }

        .sfs-product-solutions-media-label {
            left: 16px;
            right: 16px;
            bottom: 14px;
        }

        .sfs-product-solutions-media-label strong {
            font-size: 15px;
        }

        .sfs-product-support-v2-image {
            min-height: 210px;
        }

        .sfs-product-support-track {
            grid-template-columns: 1fr;
            gap: 24px;
            padding-top: 14px;
        }

        .sfs-product-support-step {
            padding: 0 0 0 30px;
        }

        .sfs-product-support-step::before {
            top: 4px;
        }

        .sfs-brand-logo-grid {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .sfs-brand-logo-item {
            min-height: 105px;
        }

        .sfs-brand-logo-item img {
            width: 42px;
            height: 42px;
        }
    }


    /* ======================================================
       BRANDS SECTION AS SLIDER
    ====================================================== */
    .sfs-brand-slider {
        margin-top: 8px;
    }

    .sfs-brand-slider-viewport {
        width: 100%;
        overflow: hidden;
    }

    .sfs-brand-logo-grid {
        display: flex;
        gap: 24px;
        border: 0;
        transform: translate3d(0,0,0);
        transition: transform .5s ease;
        will-change: transform;
    }

    .sfs-brand-logo-item {
        flex: 0 0 auto;
        min-height: 118px;
        border: 1px solid var(--sfs-line);
        border-radius: 14px;
        background: #fff;
    }

    .sfs-brand-slider-controls {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-top: 24px;
    }

    .sfs-brand-nav {
        width: 42px;
        height: 42px;
        border: 1px solid var(--sfs-line);
        border-radius: 50%;
        background: #fff;
        color: var(--sfs-navy);
        font-size: 16px;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease;
    }

    .sfs-brand-nav:hover {
        background: var(--sfs-navy);
        color: #fff;
        border-color: var(--sfs-navy);
    }

    .sfs-brand-nav:disabled {
        opacity: .45;
        cursor: default;
    }

    .sfs-brand-dots {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        gap: 8px;
        min-height: 12px;
    }

    .sfs-brand-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: 0;
        background: #c6d2dc;
        padding: 0;
        cursor: pointer;
        transition: transform .2s ease, background .2s ease;
    }

    .sfs-brand-dot.active {
        background: var(--sfs-blue);
        transform: scale(1.15);
    }

    @media (max-width: 767px) {
        .sfs-brand-slider-controls {
            margin-top: 18px;
        }

        .sfs-brand-logo-item {
            min-height: 104px;
        }
    }


    /* ======================================================
       BRAND SECTION — MATCH INDEX PAGE
    ====================================================== */
    .sfs-index-brand-section {
        position: relative;
        overflow: hidden;
        padding: 78px 0 88px;
        background: #fff;
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-index-brand-head {
        display: grid;
        grid-template-columns: .78fr 1.22fr;
        gap: 72px;
        align-items: end;
        margin-bottom: 42px;
    }

    .sfs-index-brand-kicker {
        display: inline-block;
        margin-bottom: 17px;
        color: var(--sfs-blue);
        font-size: 9.5px;
        font-weight: 650;
        line-height: 1;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .sfs-index-brand-copy {
        padding-bottom: 2px;
    }

    .sfs-index-brand-copy .sfs-text {
        max-width: 760px;
        margin-left: auto;
    }

    .sfs-index-brand-frame {
        width: 100%;
        overflow: hidden;
        border: 1px solid #d7e2ea;
        border-radius: 15px;
        background: #fff;
    }

    .sfs-index-brand-track {
        width: max-content;
        display: flex;
        align-items: stretch;
        animation: sfsIndexBrandMove 34s linear infinite;
        will-change: transform;
    }

    .sfs-index-brand-frame:hover .sfs-index-brand-track {
        animation-play-state: paused;
    }

    @keyframes sfsIndexBrandMove {
        from {
            transform: translate3d(0, 0, 0);
        }
        to {
            transform: translate3d(-50%, 0, 0);
        }
    }

    .sfs-index-brand-item {
        width: calc((94vw - 2px) / 6);
        max-width: calc((1450px - 2px) / 6);
        min-width: 190px;
        min-height: 142px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 13px;
        padding: 19px 16px;
        border-right: 1px solid #d7e2ea;
        background: #fff;
        transition: background .25s ease;
    }

    .sfs-index-brand-item:hover {
        background: #f8fafc;
    }

    .sfs-index-brand-logo {
        width: 68px;
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d7e2ea;
        border-radius: 14px;
        background: #fff;
    }

    .sfs-index-brand-logo img {
        width: 44px;
        height: 44px;
        display: block;
        object-fit: contain;
        filter: grayscale(1);
        opacity: .82;
        transition: filter .25s ease, opacity .25s ease, transform .25s ease;
    }

    .sfs-index-brand-item:hover img {
        filter: grayscale(0);
        opacity: 1;
        transform: scale(1.05);
    }

    .sfs-index-brand-item > span {
        color: var(--sfs-navy);
        font-size: 9.7px;
        font-weight: 650;
        line-height: 1.3;
        text-align: center;
    }

    /* no shadow anywhere in this section */
    .sfs-index-brand-section *,
    .sfs-index-brand-section *::before,
    .sfs-index-brand-section *::after {
        box-shadow: none !important;
    }

    @media (max-width: 1199px) {
        .sfs-index-brand-head {
            grid-template-columns: .9fr 1.1fr;
            gap: 48px;
        }

        .sfs-index-brand-item {
            width: calc((94vw - 2px) / 4);
            min-width: 205px;
        }
    }

    @media (max-width: 767px) {
        .sfs-index-brand-section {
            padding: 62px 0 68px;
        }

        .sfs-index-brand-head {
            grid-template-columns: 1fr;
            gap: 22px;
            margin-bottom: 30px;
        }

        .sfs-index-brand-copy .sfs-text {
            margin-left: 0;
        }

        .sfs-index-brand-head .sfs-heading {
            font-size: 36px;
        }

        .sfs-index-brand-track {
            animation-duration: 29s;
        }

        .sfs-index-brand-item {
            width: calc((91vw - 2px) / 2);
            min-width: 155px;
            min-height: 124px;
        }

        .sfs-index-brand-logo {
            width: 58px;
            height: 58px;
            border-radius: 12px;
        }

        .sfs-index-brand-logo img {
            width: 38px;
            height: 38px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .sfs-index-brand-track {
            animation: none !important;
        }
    }


    @media (max-width: 767px) {
        .sfs-section-title {
            font-size: 34px;
            line-height: 1.08;
        }
    }


    /* ======================================================
       COMPLETE PDF CATALOGUE — 31 PRODUCT FAMILIES
    ====================================================== */
    .sfs-category-card {
        min-height: 430px;
    }

    .sfs-category-body {
        padding-bottom: 20px;
    }

    .sfs-category-tags {
        align-content: flex-start;
        max-height: 145px;
        overflow-y: auto;
        padding-right: 5px;
        scrollbar-width: thin;
        scrollbar-color: #cbd7e0 transparent;
    }

    .sfs-category-tags::-webkit-scrollbar {
        width: 4px;
    }

    .sfs-category-tags::-webkit-scrollbar-thumb {
        background: #cbd7e0;
        border-radius: 10px;
    }

    .sfs-category-tags span {
        flex: 0 0 calc(50% - 6px);
    }

    .sfs-category-image-label {
        background: rgba(5,28,51,.82);
    }

    @media (max-width: 767px) {
        .sfs-category-card {
            min-height: 0;
        }

        .sfs-category-tags {
            max-height: 190px;
        }

        .sfs-category-tags span {
            flex-basis: 100%;
        }
    }


    /* ======================================================
       PRODUCT DIRECTORY — DESKTOP + MOBILE RESPONSIVE FIX
    ====================================================== */

    /* Remove catalogue number badges */
    .sfs-category-number {
        display: none !important;
    }

    /* Desktop tools: search on first row, filters get full clean row */
    .sfs-product-tools {
        display: grid !important;
        grid-template-columns: minmax(300px, 430px) 1fr !important;
        gap: 18px 28px !important;
        align-items: center !important;
    }

    .sfs-product-search {
        grid-column: 1;
    }

    .sfs-product-filters {
        grid-column: 2;
        display: flex !important;
        align-items: center;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .sfs-product-filter {
        flex: 0 0 auto;
        min-height: 40px;
        padding: 0 15px;
        white-space: nowrap;
    }

    /* Medium desktop/laptop: put filters on their own full row */
    @media (min-width: 992px) and (max-width: 1380px) {
        .sfs-product-tools {
            grid-template-columns: minmax(300px, 430px) 1fr !important;
        }

        .sfs-product-search {
            grid-column: 1 / 2;
        }

        .sfs-product-filters {
            grid-column: 1 / -1;
            justify-content: flex-start !important;
            margin-top: 2px;
        }
    }

    /* ======================================================
       MOBILE PRODUCT CAROUSEL
       One full card at a time + arrows + counter
    ====================================================== */
    .sfs-mobile-product-nav {
        display: none;
    }

    @media (max-width: 767px) {
        .sfs-products-directory {
            overflow: hidden;
        }

        .sfs-product-tools {
            display: block !important;
            margin-bottom: 22px !important;
        }

        .sfs-product-search {
            width: 100%;
            margin-bottom: 14px;
        }

        .sfs-product-filters {
            display: flex !important;
            flex-wrap: nowrap !important;
            justify-content: flex-start !important;
            gap: 8px !important;
            width: 100%;
            overflow-x: auto !important;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 0 0 6px !important;
            scroll-snap-type: x proximity;
        }

        .sfs-product-filters::-webkit-scrollbar {
            display: none;
        }

        .sfs-product-filter {
            flex: 0 0 auto !important;
            min-height: 38px;
            padding: 0 13px;
        }

        .sfs-category-grid {
            display: flex !important;
            flex-wrap: nowrap !important;
            gap: 14px !important;
            width: 100%;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            scroll-snap-type: x mandatory !important;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch !important;
            overscroll-behavior-x: contain;
            scrollbar-width: none !important;
            touch-action: pan-x pan-y !important;
            padding: 0 0 6px !important;
        }

        .sfs-category-grid::-webkit-scrollbar {
            display: none !important;
        }

        .sfs-category-card {
            flex: 0 0 100% !important;
            min-width: 100% !important;
            max-width: 100% !important;
            width: 100% !important;
            scroll-snap-align: start !important;
            scroll-snap-stop: always !important;
            margin: 0 !important;
        }

        .sfs-category-card[hidden] {
            display: none !important;
        }

        .sfs-category-visual {
            min-height: 220px !important;
        }

        .sfs-category-body {
            padding: 20px 18px 18px !important;
        }

        .sfs-category-tags {
            max-height: 190px;
            overflow-y: auto;
        }

        .sfs-mobile-product-nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-top: 18px;
            padding-top: 16px;
            border-top: 1px solid var(--sfs-line);
        }

        .sfs-mobile-product-count {
            color: var(--sfs-navy);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .08em;
            white-space: nowrap;
        }

        .sfs-mobile-product-hint {
            flex: 1;
            color: #8a99a6;
            font-size: 8.5px;
            font-weight: 650;
            letter-spacing: .08em;
            text-align: center;
            text-transform: uppercase;
        }

        .sfs-mobile-product-arrows {
            display: flex;
            gap: 8px;
        }

        .sfs-mobile-product-arrow {
            width: 40px;
            height: 40px;
            border: 1px solid #d3dee6;
            border-radius: 50%;
            background: #fff;
            color: var(--sfs-navy);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            font-size: 15px;
            cursor: pointer;
        }
    }
.color-b{
color: #9bddff !important;
}
    @media (max-width: 420px) {
        .sfs-category-visual {
            min-height: 205px !important;
        }

        .sfs-category-body h3 {
            font-size: 14.5px;
        }

        .sfs-mobile-product-hint {
            display: none;
        }
    }


    /* contact us */
    :root {
        --sfs-font: "Montserrat", Arial, sans-serif;
        --sfs-navy: #082744;
        --sfs-navy-dark: #061c32;
        --sfs-blue: #0a73d9;
        --sfs-cyan: #56b8e8;
        --sfs-ink: #17324c;
        --sfs-muted: #6d7f90;
        --sfs-line: #dce4eb;
        --sfs-soft: #f5f7f9;
        --sfs-white: #ffffff;
        --sfs-fluid: min(94%, 1450px);
    }

    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: 100px;
    }

    body,
    .body-inner,
    .sfs-contact-page,
    .sfs-contact-page * {
        font-family: var(--sfs-font);
    }

    body {
        margin: 0;
        overflow-x: hidden;
        color: var(--sfs-ink);
        background: #fff;
        font-size: 13.5px;
        font-weight: 550;
        line-height: 1.76;
    }

    a {
        text-decoration: none;
    }

    .container-fluid.sfs-fluid {
        width: var(--sfs-fluid);
        max-width: none;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .sfs-section {
        position: relative;
        padding: 84px 0;
    }

    .sfs-heading {
        margin: 0 0 16px;
        color: var(--sfs-navy);
        font-size: clamp(30px, 3vw, 46px);
        font-weight: 650;
        line-height: 1.1;
        letter-spacing: -.038em;
    }

    .sfs-text {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 13.5px;
        line-height: 1.82;
    }

    .sfs-kicker {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 13px;
        color: var(--sfs-blue);
        font-size: 9.5px;
        font-weight: 650;
        letter-spacing: .13em;
        line-height: 1;
        text-transform: uppercase;
    }

    .color-b{
color: #9bddff !important;
}

    @keyframes sfsLineBreath {
        0%,100% { transform: scaleX(.65); opacity: .55; }
        50% { transform: scaleX(1); opacity: 1; }
    }

    .sfs-btn {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 22px;
        border: 1px solid transparent;
        border-radius: 8px;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
        transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
    }

    .sfs-btn-primary {
        color: #fff !important;
        background: var(--sfs-blue);
        border-color: var(--sfs-blue);
    }

    .sfs-btn-primary:hover {
        transform: translateY(-2px);
        background: #075fb8;
        border-color: #075fb8;
    }

    .sfs-btn-outline {
        color: #fff !important;
        border-color: rgba(255,255,255,.35);
        background: transparent;
    }

    .sfs-btn-outline:hover {
        transform: translateY(-2px);
        border-color: #fff;
        background: rgba(255,255,255,.07);
    }

    /* ======================================================
       HEADER
    ====================================================== */
    #header,
    #header.header-transparent,
    #header #header-wrap,
    #header.header-transparent #header-wrap {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        background: rgba(242,244,247,.96) !important;
        border-bottom: 1px solid rgba(8,39,68,.09) !important;
        box-shadow: none !important;
        transition: background .3s ease, border-color .3s ease;
    }

    #header .header-inner,
    #header #header-wrap,
    #header-wrap {
        min-height: 86px;
    }

    #header #logo > a {
        min-height: 76px;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    #header #logo img {
        display: block !important;
        width: auto !important;
        height: 78px !important;
        max-width: 190px !important;
        object-fit: contain;
        filter: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #mainMenu nav > ul > li > a,
    #mainMenu-trigger {
        color: var(--sfs-navy) !important;
        font-size: 11px;
        font-weight: 650 !important;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    body.sfs-scrolled #header,
    body.sfs-scrolled #header #header-wrap,
    #header.header-sticky,
    #header.sticky-active,
    #header.sticky {
        position: fixed !important;
        background: rgba(5,28,52,.97) !important;
        border-bottom-color: rgba(255,255,255,.08) !important;
        backdrop-filter: blur(12px);
    }

    body.sfs-scrolled #header #logo img,
    #header.header-sticky #logo img,
    #header.sticky-active #logo img,
    #header.sticky #logo img {
        filter: brightness(0) invert(1) !important;
    }

    body.sfs-scrolled #mainMenu nav > ul > li > a,
    body.sfs-scrolled #mainMenu-trigger,
    #header.header-sticky #mainMenu nav > ul > li > a,
    #header.sticky-active #mainMenu nav > ul > li > a,
    #header.sticky #mainMenu nav > ul > li > a {
        color: #fff !important;
    }

    /* ======================================================
       HERO
    ====================================================== */
    .sfs-contact-hero {
        position: relative;
        min-height: 465px;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 150px 0 72px;
        background:
            linear-gradient(90deg, rgba(5,28,51,.92) 0%, rgba(5,28,51,.76) 52%, rgba(5,28,51,.48) 100%),
            url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;
    }

    .sfs-contact-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .24;
        pointer-events: none;
        background-image:
            linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
        background-size: 72px 72px;
        animation: sfsGridMove 24s linear infinite;
    }

    @keyframes sfsGridMove {
        to { background-position: 72px 72px, 72px 72px; }
    }

    .sfs-contact-hero-inner {
        position: relative;
        z-index: 2;
        max-width: 820px;
    }

    .sfs-contact-hero .sfs-kicker,
    .sfs-contact-hero .sfs-heading {
        color: #fff;
    }

    .sfs-contact-hero .sfs-heading {
        max-width: 760px;
        margin-bottom: 18px;
        font-size: var(--sfs-heading-size);
    }

    .sfs-contact-hero .sfs-text {
        max-width: 670px;
        color: rgba(255,255,255,.80);
        font-size: 14px;
    }

    .sfs-contact-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 27px;
    }

    /* ======================================================
       DIRECT CONTACT — CARD DESIGN
    ====================================================== */
    .sfs-direct-contact {
        position: relative;
        overflow: hidden;
        padding: 78px 0 84px;
        background: #fff;
    }

    .sfs-direct-contact::before {
        content: "";
        position: absolute;
        left: -12%;
        top: 0;
        width: 12%;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--sfs-blue), transparent);
        animation: sfsDirectCardLine 9s linear infinite;
    }

    @keyframes sfsDirectCardLine {
        to { left: 103%; }
    }

    .sfs-direct-contact-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 34px;
    }

    .sfs-direct-contact-head .sfs-heading {
        margin-bottom: 0;
        max-width: 560px;
    }

    .sfs-direct-contact-copy {
        max-width: 760px;
        padding-bottom: 4px;
    }

    .sfs-direct-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 16px;
    }

    .sfs-direct-card {
        position: relative;
        overflow: hidden;
        min-height: 250px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 28px 26px 24px;
        border: 1px solid #d7e1e9;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(8,39,68,.035);
        transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
    }

    .sfs-direct-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 3px;
        background: var(--sfs-blue);
        transform: scaleX(.22);
        transform-origin: left;
        transition: transform .32s ease;
    }

    .sfs-direct-card::after {
        content: "";
        position: absolute;
        right: -68px;
        bottom: -68px;
        width: 150px;
        height: 150px;
        border: 1px solid rgba(10,115,217,.08);
        border-radius: 50%;
        transition: transform .4s ease;
        pointer-events: none;
    }

    .sfs-direct-card:hover {
        transform: translateY(-5px);
        border-color: #bfd0dc;
        box-shadow: 0 18px 42px rgba(8,39,68,.08);
        background: #fbfdff;
    }

    .sfs-direct-card:hover::before {
        transform: scaleX(1);
    }

    .sfs-direct-card:hover::after {
        transform: translate(-8px,-8px);
    }

    .sfs-direct-card-top {
        position: relative;
        z-index: 2;
    }

    .sfs-direct-card-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 34px;
    }

    .sfs-direct-card-no {
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .12em;
    }

    .sfs-direct-card-type {
        color: #8b9aa8;
        font-size: 8.5px;
        font-weight: 650;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .sfs-direct-card h3 {
        margin: 0 0 12px;
        color: var(--sfs-navy);
        font-size: 20px;
        font-weight: 650;
        line-height: 1.2;
        letter-spacing: -.025em;
    }

    .sfs-direct-card-value {
        display: block;
        margin-bottom: 12px;
        color: var(--sfs-navy);
        font-size: 17px;
        font-weight: 620;
        line-height: 1.45;
        letter-spacing: -.015em;
        word-break: break-word;
    }

    a.sfs-direct-card-value:hover {
        color: var(--sfs-blue);
    }

    .sfs-direct-card p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.5px;
        line-height: 1.7;
    }

    .sfs-direct-card-services {
        display: flex;
        flex-wrap: wrap;
        gap: 7px 12px;
        margin-top: 5px;
    }

    .sfs-direct-card-services span {
        position: relative;
        padding-left: 10px;
        color: #65788a;
        font-size: 9.4px;
        line-height: 1.5;
    }

    .sfs-direct-card-services span::before {
        content: "";
        position: absolute;
        left: 0;
        top: .62em;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--sfs-blue);
    }

    .sfs-direct-card-action {
        position: relative;
        z-index: 2;
        margin-top: 28px;
        padding-top: 18px;
        border-top: 1px solid #e0e7ed;
    }

    .sfs-direct-card-action a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--sfs-blue);
        font-size: 8.8px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .sfs-direct-card-action a::after {
        content: "→";
        transition: transform .25s ease;
    }

    .sfs-direct-card:hover .sfs-direct-card-action a::after {
        transform: translateX(4px);
    }

    /* subtle emphasis for the primary contact card */
    .sfs-direct-card.is-primary {
        background: #f7fbff;
        border-color: #c8d9e6;
    }

    .sfs-direct-card.is-primary h3,
    .sfs-direct-card.is-primary .sfs-direct-card-value {
        color: #0a3156;
    }

    @media (max-width: 1199px) {
        .sfs-direct-contact-head {
            grid-template-columns: 1fr;
            gap: 24px;
        }

        .sfs-direct-cards {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .sfs-direct-card:last-child {
            grid-column: 1 / -1;
        }
    }

    @media (max-width: 767px) {
        .sfs-direct-contact {
            padding: 62px 0 68px;
        }

        .sfs-direct-contact-head {
            margin-bottom: 28px;
        }

        .sfs-direct-cards {
            grid-template-columns: 1fr;
        }

        .sfs-direct-card,
        .sfs-direct-card:last-child {
            grid-column: auto;
            min-height: 0;
            padding: 24px 22px 22px;
        }

        .sfs-direct-card-meta {
            margin-bottom: 25px;
        }

        .sfs-direct-card h3 {
            font-size: 18px;
        }

        .sfs-direct-card-value {
            font-size: 16px;
        }
    }

    /* ======================================================
       CONTACT FORM SECTION
    ====================================================== */
    .sfs-contact-main {
        position: relative;
        overflow: hidden;
        padding: 88px 0;
        background: var(--sfs-soft);
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-contact-main-grid {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 0;
        align-items: stretch;
        overflow: hidden;
        border: 1px solid #d6e0e8;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 18px 48px rgba(8,39,68,.06);
    }

    .sfs-contact-info {
        position: relative;
        overflow: hidden;
        padding: 52px 45px;
        color: #fff;
        background: var(--sfs-navy-dark);
    }

    .sfs-contact-info::before {
        content: "";
        position: absolute;
        width: 280px;
        height: 280px;
        right: -120px;
        bottom: -130px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 50%;
    }

    .sfs-contact-info::after {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        right: -70px;
        bottom: -82px;
        border: 1px solid rgba(255,255,255,.09);
        border-radius: 50%;
    }

    .sfs-contact-info .sfs-kicker {
        color: #8fd9ff;
    }

    .sfs-contact-info h2 {
        max-width: 480px;
        margin: 0 0 14px;
        color: #fff;
        font-size: clamp(31px, 3vw, 44px);
        font-weight: 650;
        line-height: 1.07;
        letter-spacing: -.04em;
    }

    .sfs-contact-info > p {
        max-width: 500px;
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 12px;
        line-height: 1.8;
    }

    .sfs-contact-info-list {
        position: relative;
        z-index: 2;
        margin-top: 34px;
        border-top: 1px solid rgba(255,255,255,.16);
    }

    .sfs-contact-info-row {
        display: grid;
        grid-template-columns: 42px 140px 1fr;
        gap: 16px;
        padding: 18px 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .sfs-contact-info-row > span {
        color: #7bd4ff;
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-contact-info-row strong {
        color: #fff;
        font-size: 11.5px;
        font-weight: 650;
    }

    .sfs-contact-info-row a,
    .sfs-contact-info-row p {
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 10.5px;
        line-height: 1.65;
    }

    .sfs-contact-info-row a:hover {
        color: #fff;
    }

    .sfs-contact-form-wrap {
        padding: 52px 50px;
        background: #fff;
    }

    .sfs-contact-form-head {
        margin-bottom: 27px;
    }

    .sfs-contact-form-head h3 {
        margin: 0 0 8px;
        color: var(--sfs-navy);
        font-size: 24px;
        font-weight: 650;
        letter-spacing: -.025em;
    }

    .sfs-contact-form-head p {
        margin: 0;
        color: var(--sfs-muted);
        font-size: 10.8px;
        line-height: 1.7;
    }

    .sfs-contact-form {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 18px 16px;
    }

    .sfs-field {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .sfs-field.full {
        grid-column: 1 / -1;
    }

    .sfs-field label {
        color: var(--sfs-navy);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .sfs-field input,
    .sfs-field select,
    .sfs-field textarea {
        width: 100%;
        border: 1px solid #ced9e2;
        border-radius: 8px;
        outline: none;
        background: #fff;
        color: var(--sfs-ink);
        font-family: var(--sfs-font);
        font-size: 11px;
        font-weight: 550;
        transition: border-color .25s ease, box-shadow .25s ease;
    }

    .sfs-field input,
    .sfs-field select {
        height: 48px;
        padding: 0 14px;
    }

    .sfs-field textarea {
        min-height: 132px;
        padding: 13px 14px;
        resize: vertical;
    }

    .sfs-field input:focus,
    .sfs-field select:focus,
    .sfs-field textarea:focus {
        border-color: var(--sfs-blue);
        box-shadow: 0 0 0 3px rgba(10,115,217,.08);
    }

    .sfs-contact-form-actions {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: 3px;
    }

    .sfs-contact-form-note {
        max-width: 330px;
        color: #8796a4;
        font-size: 8.7px;
        line-height: 1.5;
    }

    /* ======================================================
       DIVISIONS STRIP
    ====================================================== */
    .sfs-contact-divisions {
        padding: 68px 0;
        background: #fff;
    }

    .sfs-contact-divisions-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 32px;
    }

    .sfs-contact-division-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        border-top: 1px solid var(--sfs-line);
        border-left: 1px solid var(--sfs-line);
    }

    .sfs-contact-division {
        min-height: 126px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 20px;
        color: var(--sfs-navy);
        border-right: 1px solid var(--sfs-line);
        border-bottom: 1px solid var(--sfs-line);
        background: #fff;
        transition: background .25s ease, color .25s ease;
    }

    .sfs-contact-division span {
        color: var(--sfs-blue);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .1em;
    }

    .sfs-contact-division strong {
        font-size: 12.5px;
        font-weight: 650;
    }

    .sfs-contact-division:hover {
        color: var(--sfs-blue);
        background: #f8fafc;
    }

    /* ======================================================
       MAP
    ====================================================== */
    .sfs-map-section {
        padding: 82px 0 90px;
        background: var(--sfs-soft);
        border-top: 1px solid var(--sfs-line);
    }

    .sfs-map-head {
        display: grid;
        grid-template-columns: .82fr 1.18fr;
        gap: 68px;
        align-items: end;
        margin-bottom: 30px;
    }

    .sfs-map-wrap {
        position: relative;
        min-height: 470px;
        overflow: hidden;
        border: 1px solid #d3dde5;
        border-radius: 14px;
        background: #e8edf1;
        box-shadow: 0 18px 45px rgba(8,39,68,.06);
    }

    .sfs-map-wrap iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
        filter: saturate(.85) contrast(.98);
    }

    .sfs-map-label {
        position: absolute;
        z-index: 3;
        left: 20px;
        bottom: 20px;
        max-width: 330px;
        padding: 15px 17px;
        border-radius: 9px;
        background: rgba(6,28,50,.92);
        color: #fff;
        box-shadow: 0 10px 32px rgba(8,39,68,.18);
        backdrop-filter: blur(8px);
    }

    .sfs-map-label strong {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        font-weight: 650;
    }

    .sfs-map-label span {
        display: block;
        color: rgba(255,255,255,.67);
        font-size: 9px;
        line-height: 1.55;
    }

    /* ======================================================
       REVEAL
    ====================================================== */
    .sfs-reveal,
    .sfs-reveal-left,
    .sfs-reveal-right {
        opacity: 0;
        transition: opacity .72s ease, transform .72s cubic-bezier(.2,.72,.2,1);
    }

    .sfs-reveal { transform: translateY(24px); }
    .sfs-reveal-left { transform: translateX(-30px); }
    .sfs-reveal-right { transform: translateX(30px); }

    .sfs-visible {
        opacity: 1 !important;
        transform: translate(0,0) !important;
    }

    /* ======================================================
       RESPONSIVE
    ====================================================== */
    @media (max-width: 1199px) {
        .sfs-contact-intro-grid,
        .sfs-contact-divisions-head,
        .sfs-map-head {
            grid-template-columns: 1fr;
            gap: 30px;
        }

        .sfs-contact-main-grid {
            grid-template-columns: .9fr 1.1fr;
        }

        .sfs-contact-division-list {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    @media (max-width: 991px) {
        .sfs-contact-main-grid {
            grid-template-columns: 1fr;
        }

        .sfs-contact-info,
        .sfs-contact-form-wrap {
            padding: 42px 35px;
        }

        .sfs-map-wrap {
            min-height: 410px;
        }
    }

    @media (max-width: 767px) {
        :root {
            --sfs-fluid: min(91%, 1450px);
        }

        #header .header-inner,
        #header #header-wrap,
        #header-wrap {
            min-height: 72px;
        }

        #header #logo > a {
            min-height: 68px;
        }

        #header #logo img {
            height: 70px !important;
            max-width: 165px !important;
        }

        .sfs-section {
            padding: 62px 0;
        }

        .sfs-contact-hero {
            min-height: 390px;
            padding: 126px 0 55px;
        }

        .sfs-contact-hero .sfs-heading {
            font-size: var(--sfs-heading-size);
        }

        .sfs-contact-line,
        .sfs-contact-info-row {
            grid-template-columns: 36px 1fr;
            gap: 7px 11px;
        }

        .sfs-contact-line p,
        .sfs-contact-line a,
        .sfs-contact-info-row a,
        .sfs-contact-info-row p {
            grid-column: 2;
        }

        .sfs-contact-main {
            padding: 62px 0;
        }

        .sfs-contact-info,
        .sfs-contact-form-wrap {
            padding: 34px 24px;
        }

        .sfs-contact-form {
            grid-template-columns: 1fr;
        }

        .sfs-field.full,
        .sfs-contact-form-actions {
            grid-column: auto;
        }

        .sfs-contact-form-actions {
            flex-direction: column;
            align-items: stretch;
        }

        .sfs-contact-form-actions .sfs-btn {
            width: 100%;
        }

        .sfs-contact-division-list {
            grid-template-columns: 1fr;
            border-left: 0;
        }

        .sfs-contact-division {
            min-height: 96px;
            border-left: 1px solid var(--sfs-line);
        }

        .sfs-map-section {
            padding: 62px 0 68px;
        }

        .sfs-map-wrap {
            min-height: 360px;
        }

        .sfs-map-label {
            left: 12px;
            right: 12px;
            bottom: 12px;
            max-width: none;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
            animation: none !important;
            transition: none !important;
            scroll-behavior: auto !important;
        }

        .sfs-reveal,
        .sfs-reveal-left,
        .sfs-reveal-right {
            opacity: 1;
            transform: none;
        }
    }
