:root {
    --navy: #17174f;
    --navy-dark: #080821;
    --red: #f41d2b;
    --red-dark: #d91421;
    --text: #555b70;
    --muted: #7b8091;
    --soft: #f5f6fa;
    --border: #e6e8ef;
    --white: #ffffff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Inter, Arial, Helvetica, sans-serif;
    color: var(--text);
    background: var(--white);
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

.container-fluid.px-lg-5 {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

/* Header */

.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(8, 8, 33, 0.08);
}

.site-header .navbar {
    min-height: 76px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--navy);
    font-weight: 900;
    letter-spacing: -0.6px;
}

@media (max-width: 575px) {
    .header-logo {
        height: 42px;
    }
}

.brand img {
    height: 64px;
    width: auto;
}

.brand-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: var(--red);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.nav-link {
    color: var(--navy-dark);
    font-weight: 750;
    font-size: 13px;
    padding: 10px 12px !important;
}

.nav-link:hover {
    color: var(--red);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.phone-link {
    color: var(--navy);
    font-weight: 850;
    font-size: 13px;
}

.btn-main,
.btn-white,
.btn-outline-navy {
    min-height: 42px;
    padding: 10px 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
    border: 1px solid transparent;
    transition: 0.25s ease;
}

.btn-main {
    background: var(--red);
    color: #fff;
    box-shadow: 0 18px 45px rgba(244, 29, 43, 0.28);
}

.btn-main:hover {
    background: var(--red-dark);
    color: #fff;
    transform: translateY(-2px);
}

.btn-white {
    background: #fff;
    color: var(--navy);
}

.btn-white:hover {
    background: var(--navy);
    color: #fff;
}

.btn-outline-navy {
    border-color: var(--navy);
    color: var(--navy);
    background: transparent;
}

.btn-outline-navy:hover {
    background: var(--navy);
    color: #fff;
}

.large {
    min-height: 50px;
    padding: 13px 24px;
}

.eyebrow {
    display: inline-flex;
    width: fit-content;
    background: rgba(244, 29, 43, 0.10);
    border: 1px solid rgba(244, 29, 43, 0.18);
    color: var(--red);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 900;
}

.eyebrow.light {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff;
}

/* Hero */

.fs-pro-hero {
    position: relative;
    min-height: calc(100vh - 76px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--navy-dark);
}

.fs-pro-hero-bg,
.fs-pro-hero-overlay {
    position: absolute;
    inset: 0;
}

.fs-pro-hero-bg {
    z-index: 1;
}

.fs-pro-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.03);
}

.fs-pro-hero-overlay {
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(8, 8, 33, 0.96) 0%, rgba(8, 8, 33, 0.84) 42%, rgba(8, 8, 33, 0.38) 100%),
        linear-gradient(180deg, rgba(8, 8, 33, 0.18) 0%, rgba(8, 8, 33, 0.76) 100%);
}

.fs-pro-hero-content {
    position: relative;
    z-index: 3;
    padding: 96px 0;
}

.fs-pro-copy {
    max-width: 860px;
    color: #fff;
}

.fs-pro-badge {
    display: inline-flex;
    width: fit-content;
    padding: 9px 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 24px;
    backdrop-filter: blur(12px);
}

.fs-pro-copy h1 {
    max-width: 900px;
    color: #fff;
    font-size: clamp(54px, 7.2vw, 108px);
    line-height: 0.9;
    letter-spacing: -4.5px;
    font-weight: 950;
    margin: 0 0 28px;
}

.fs-pro-copy p {
    max-width: 640px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 19px;
    line-height: 1.7;
    margin-bottom: 34px;
}

.fs-pro-actions,
.fs-pro-trust,
.quote-actions,
.product-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.fs-pro-btn {
    min-height: 56px;
    padding: 15px 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    transition: 0.25s ease;
}

.fs-pro-btn-red {
    background: var(--red);
    color: #fff;
    box-shadow: 0 18px 42px rgba(244, 29, 43, 0.35);
}

.fs-pro-btn-red:hover {
    background: var(--red-dark);
    color: #fff;
    transform: translateY(-2px);
}

.fs-pro-btn-light {
    background: #fff;
    color: var(--navy);
}

.fs-pro-btn-light:hover {
    background: var(--navy);
    color: #fff;
    transform: translateY(-2px);
}

.fs-pro-trust {
    margin-top: 44px;
}

.fs-pro-trust div {
    min-width: 160px;
    padding: 17px 19px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(16px);
}

.fs-pro-trust strong {
    display: block;
    color: #fff;
    font-size: 26px;
    line-height: 1;
    font-weight: 950;
    margin-bottom: 7px;
}

.fs-pro-trust span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
    font-weight: 800;
}

.fs-pro-card {
    max-width: 460px;
    margin-left: auto;
    padding: 24px;
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(24px);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.28);
    color: #fff;
}

.fs-pro-card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.fs-pro-card-head span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
    font-weight: 800;
}

.fs-pro-card-head strong,
.fs-pro-service-list strong {
    color: #fff;
    font-weight: 950;
}

.fs-pro-service-list {
    display: grid;
    gap: 12px;
}

.fs-pro-service-list a {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    transition: 0.25s ease;
}

.fs-pro-service-list a:hover {
    background: #fff;
    color: var(--navy);
    transform: translateX(4px);
}

.fs-pro-service-list a > span {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    background: var(--red);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    font-size: 13px;
}

.fs-pro-service-list strong {
    display: block;
    font-size: 16px;
    margin-bottom: 3px;
}

.fs-pro-service-list small {
    display: block;
    color: rgba(255, 255, 255, 0.62);
    font-weight: 700;
}

.fs-pro-service-list a:hover strong {
    color: var(--navy);
}

.fs-pro-service-list a:hover small {
    color: #62677b;
}

.fs-pro-card-footer {
    margin-top: 18px;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
}

.fs-pro-card-footer p {
    margin: 0 0 6px;
    color: #62677b;
    font-weight: 800;
}

.fs-pro-card-footer a {
    color: var(--red);
    font-size: 22px;
    font-weight: 950;
}

/* Product Explorer */

.product-explorer {
    padding: 88px 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(244, 29, 43, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.product-explorer-head,
.category-tabs-shell {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.product-explorer-head {
    margin-bottom: 40px;
}

.product-head-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 30px;
    align-items: end;
}

.product-head-grid h2,
.big-title,
.process-head h2,
.final-quote-box h2,
.section-intro h2,
.page-banner h1 {
    color: var(--navy);
    font-size: clamp(34px, 4.8vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 0;
}

.product-head-grid p,
.lead-text,
.section-intro p,
.page-banner p {
    color: var(--text);
    font-size: 17px;
    line-height: 1.75;
    margin: 0;
}

.category-tabs-shell {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 34px;
    padding: 18px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.10);
}

.category-tabs-nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}

.category-tab-btn {
    min-height: 64px;
    padding: 0 16px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #f5f6fb;
    color: var(--navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 950;
    transition: 0.25s ease;
}

.category-tab-btn span {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 950;
}

.category-tab-btn:hover,
.category-tab-btn.active {
    background: var(--navy);
    color: #ffffff;
    border-color: var(--navy);
    box-shadow: 0 16px 38px rgba(23, 23, 79, 0.20);
}

.category-tab-btn:hover span,
.category-tab-btn.active span {
    background: var(--red);
    color: #ffffff;
}

.category-tab-panel {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 18px;
    align-items: stretch;
}

.category-tab-copy {
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.09), transparent 35%),
        #f7f8fc;
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 38px;
}

.panel-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
}

.category-tab-copy h3 {
    color: var(--navy);
    font-size: clamp(34px, 4vw, 56px);
    line-height: 0.98;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 12px;
}

.category-tab-copy p {
    color: var(--text);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 24px;
}

.category-products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.category-product-card {
    min-height: 86px;
    padding: 14px;
    border-radius: 18px;
    background: #ffffff;
    color: var(--navy);
    border: 1px solid var(--border);
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition: 0.25s ease;
}

.category-product-card > span {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 11px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 950;
}

.category-product-card strong {
    display: block;
    color: var(--navy);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.2;
    margin-bottom: 5px;
}

.category-product-card small {
    display: block;
    color: #73788c;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
}

.category-product-card:hover {
    background: var(--navy);
    border-color: var(--navy);
    transform: translateY(-2px);
}

.category-product-card:hover,
.category-product-card:hover strong {
    color: #ffffff;
}

.category-product-card:hover small {
    color: rgba(255, 255, 255, 0.70);
}

.category-product-card:hover > span {
    background: var(--red);
    color: #ffffff;
}

.product-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.category-tab-image {
    position: relative;
    min-height: 620px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(8, 8, 33, 0.14);
}

.category-tab-image img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    transition: 0.45s ease;
}

.category-tab-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(8, 8, 33, 0.86));
}

.category-tab-image:hover img {
    transform: scale(1.06);
}

.image-badge-card {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    padding: 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
}

.image-badge-card small {
    display: block;
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 5px;
}

.image-badge-card strong {
    color: var(--navy);
    font-size: 28px;
    line-height: 1;
    letter-spacing: -0.8px;
    font-weight: 950;
}


/* Split Section */

.premium-split {
    padding: 82px 0;
    background: var(--soft);
}

.split-gallery {
    position: relative;
    min-height: 540px;
}

.split-gallery img {
    object-fit: cover;
    box-shadow: 0 35px 95px rgba(8, 8, 33, 0.18);
}

.img-a {
    width: 78%;
    height: 500px;
    border-radius: 30px;
}

.img-b {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 43%;
    height: 270px;
    border-radius: 24px;
    border: 9px solid var(--soft);
}

.big-title {
    margin-bottom: 18px;
}

.lead-text {
    max-width: 640px;
}

.mini-features {
    display: grid;
    gap: 14px;
    margin-top: 30px;
}

.mini-features div {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 15px 18px;
    display: flex;
    gap: 18px;
    align-items: center;
    box-shadow: 0 18px 55px rgba(8, 8, 33, 0.06);
}

.mini-features strong {
    color: var(--red);
    font-weight: 950;
}

.mini-features span {
    color: var(--navy);
    font-size: 14px;
    font-weight: 850;
}

/* Process */

.dark-process {
    padding: 82px 0;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.34), transparent 36%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #fff;
}

.process-head {
    max-width: 640px;
    margin-bottom: 38px;
}

.process-head h2 {
    color: #fff;
}

.process-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.process-item {
    min-height: 220px;
    padding: 24px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
}

.process-item span {
    color: var(--red);
    font-weight: 950;
}

.process-item h3 {
    color: #fff;
    font-size: 22px;
    font-weight: 950;
    margin: 44px 0 10px;
}

.process-item p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.7;
}

/* Portfolio */

.portfolio-modern {
    padding: 82px 0;
}

.section-intro {
    max-width: 720px;
    margin-bottom: 42px;
}

.portfolio-layout {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    grid-auto-rows: 240px;
    gap: 18px;
}

.portfolio-card-new {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(8, 8, 33, 0.13);
}

.portfolio-card-new.large {
    grid-row: span 2;
}

.portfolio-card-new img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.45s ease;
}

.portfolio-card-new::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(8, 8, 33, 0.82));
}

.portfolio-card-new div {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 22px;
}

.portfolio-card-new span {
    color: var(--red);
    font-weight: 950;
    font-size: 13px;
}

.portfolio-card-new h3 {
    color: #fff;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: -1px;
}

.portfolio-card-new:hover img {
    transform: scale(1.08);
}

/* Final CTA */

.final-quote {
    padding: 82px 0;
}

.final-quote-box {
    border-radius: 30px;
    padding: 44px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.55), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    box-shadow: 0 32px 100px rgba(8, 8, 33, 0.22);
}

.final-quote-box h2 {
    max-width: 720px;
    color: #fff;
}

.final-quote-box p {
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
    font-size: 15px;
}

/* Inner pages */

.page-banner,
.section-padding {
    padding: 90px 0;
}

.page-banner {
    background: var(--soft);
}

.inner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.inner-image-card {
    position: relative;
    min-height: 380px;
    border-radius: 30px;
    overflow: hidden;
    color: #fff;
    display: block;
    box-shadow: 0 24px 70px rgba(8, 8, 33, 0.12);
}

.inner-image-card img {
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    transition: 0.4s ease;
}

.inner-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent, rgba(8, 8, 33, 0.86));
}

.inner-image-card div {
    position: absolute;
    z-index: 2;
    left: 26px;
    right: 26px;
    bottom: 26px;
}

.inner-image-card h3 {
    color: #fff;
    font-size: 28px;
    font-weight: 950;
    letter-spacing: -1px;
}

.inner-image-card p {
    color: rgba(255, 255, 255, 0.76);
    margin: 0;
}

.inner-image-card:hover img {
    transform: scale(1.08);
}

.form-card,
.sidebar-card,
.content-box {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 30px;
    padding: 32px;
    box-shadow: 0 22px 65px rgba(8, 8, 33, 0.08);
}

.form-card label {
    color: var(--navy);
    font-weight: 850;
    margin-bottom: 7px;
}

.form-control {
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid var(--border);
}

.form-control:focus {
    border-color: var(--red);
    box-shadow: 0 0 0 4px rgba(244, 29, 43, 0.08);
}

/* Footer */

.site-footer {
    background: var(--navy-dark);
    color: #fff;
    padding: 58px 0 24px;
}

.site-footer h4,
.site-footer h6 {
    color: #fff;
    font-weight: 950;
}

.site-footer h4 {
    font-size: 20px;
}

.site-footer h6 {
    font-size: 14px;
}

.site-footer p,
.site-footer a {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
    line-height: 1.7;
}

.site-footer a:hover {
    color: #fff;
}

.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer li {
    margin-bottom: 10px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin-top: 34px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.footer-bottom p {
    margin: 0;
}

/* Responsive */

@media (max-width: 1199px) {
    .product-explorer-shell {
        min-height: auto;
    }

    .product-tab-list {
        grid-template-columns: 1fr;
    }

    .product-tab-item {
        display: block;
    }

    .product-tab-panel {
        position: static;
        inset: auto;
        display: none;
        margin-top: 14px;
    }

    .product-tab-item.is-active .product-tab-panel,
    .product-tab-item:hover .product-tab-panel {
        display: block;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .product-explorer-shell:hover .product-tab-item.is-active .product-tab-panel {
        display: none;
    }

    .product-panel-card {
        grid-template-columns: 1fr;
    }

    .product-panel-image,
    .product-panel-image img {
        min-height: 420px;
    }
}

@media (max-width: 991px) {
    .container-fluid.px-lg-5 {
        max-width: 100%;
    }

    .nav-actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 16px;
    }

    .phone-link {
        text-align: center;
    }

    .fs-pro-hero {
        min-height: auto;
    }

    .fs-pro-hero-content {
        padding: 76px 0;
    }

    .fs-pro-copy h1,
    .product-head-grid h2,
    .big-title,
    .process-head h2,
    .final-quote-box h2,
    .section-intro h2,
    .page-banner h1 {
        letter-spacing: -2px;
    }

    .fs-pro-card {
        max-width: 100%;
        margin-left: 0;
    }

    .product-head-grid {
        grid-template-columns: 1fr;
    }

    .product-explorer,
    .premium-split,
    .dark-process,
    .portfolio-modern,
    .final-quote,
    .section-padding,
    .page-banner {
        padding: 64px 0;
    }

    .product-panel-copy {
        padding: 26px;
    }

    .split-gallery {
        min-height: 540px;
    }

    .img-a {
        width: 86%;
        height: 500px;
    }

    .img-b {
        width: 52%;
        height: 280px;
    }

    .process-row,
    .inner-grid,
    .portfolio-layout {
        grid-template-columns: 1fr 1fr;
    }

    .portfolio-card-new.large {
        grid-row: span 1;
    }

    .final-quote-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .brand img {
        height: 48px;
    }

    .fs-pro-hero-content {
        padding: 64px 0;
    }

    .fs-pro-copy h1 {
        font-size: 48px;
        line-height: 1;
        letter-spacing: -1.8px;
    }

    .fs-pro-copy p {
        font-size: 16px;
    }

    .fs-pro-actions,
    .fs-pro-btn,
    .product-panel-actions,
    .quote-actions {
        width: 100%;
    }

    .fs-pro-btn,
    .btn-main,
    .btn-white,
    .btn-outline-navy {
        width: 100%;
    }

    .fs-pro-trust div {
        width: 100%;
    }

    .product-explorer-shell {
        border-radius: 24px;
        padding: 12px;
    }

    .product-tab-button {
        border-radius: 18px;
    }

    .product-panel-copy,
    .product-panel-image {
        border-radius: 22px;
    }

    .product-panel-image,
    .product-panel-image img {
        min-height: 340px;
    }

    .split-gallery {
        min-height: 440px;
    }

    .img-a {
        width: 100%;
        height: 360px;
        border-radius: 28px;
    }

    .img-b {
        width: 68%;
        height: 220px;
        border-width: 8px;
    }

    .process-row,
    .inner-grid,
    .portfolio-layout {
        grid-template-columns: 1fr;
    }

    .inner-image-card,
    .inner-image-card img {
        min-height: 340px;
    }

    .final-quote-box {
        padding: 28px;
        border-radius: 24px;
    }
}

/* ================================
   FINAL PRODUCT EXPLORER FIX
================================ */

.product-explorer {
    padding: 84px 0;
    background:
        radial-gradient(circle at 92% 8%, rgba(244, 29, 43, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.product-explorer-head {
    max-width: 1180px;
    margin: 0 auto 38px;
}

.product-head-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 34px;
    align-items: end;
}

.product-head-grid h2 {
    color: var(--navy);
    font-size: clamp(36px, 4.8vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 0;
}

.product-head-grid p {
    max-width: 560px;
    color: var(--text);
    font-size: 16px;
    line-height: 1.75;
    margin: 0;
}

.product-tabs-wrapper {
    max-width: 1180px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 34px;
    padding: 18px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.10);
}

.product-main-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}

.product-main-tab {
    min-height: 64px;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #f5f6fb;
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
    cursor: pointer;
    transition: 0.25s ease;
}

.product-main-tab span {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 950;
}

.product-main-tab strong {
    font-size: 14px;
    font-weight: 950;
}

.product-main-tab:hover,
.product-main-tab.active {
    background: var(--navy);
    border-color: var(--navy);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(23, 23, 79, 0.18);
}

.product-main-tab:hover span,
.product-main-tab.active span {
    background: var(--red);
    color: #ffffff;
}

.product-panel {
    display: none;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 18px;
}

.product-panel.active {
    display: grid;
}

.product-panel-copy {
    min-height: 560px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.09), transparent 35%),
        #f7f8fc;
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 38px;
}

.panel-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
}

.product-panel-copy h3 {
    color: var(--navy);
    font-size: clamp(34px, 4vw, 56px);
    line-height: 0.98;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 12px;
}

.product-panel-copy p {
    color: var(--text);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 24px;
}

.product-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.product-item-card {
    min-height: 118px;
    padding: 16px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: var(--navy);
    display: flex;
    gap: 13px;
    transition: 0.25s ease;
}

.product-item-card > span {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 12px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 950;
}

.product-item-card strong {
    display: block;
    color: var(--navy);
    font-size: 16px;
    line-height: 1.1;
    font-weight: 950;
    margin-bottom: 7px;
}

.product-item-card small {
    color: #697084;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
}

.product-item-card:hover {
    background: var(--navy);
    border-color: var(--navy);
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(23, 23, 79, 0.14);
}

.product-item-card:hover > span {
    background: var(--red);
    color: #ffffff;
}

.product-item-card:hover strong,
.product-item-card:hover small {
    color: #ffffff;
}

.product-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.product-panel-image {
    position: relative;
    min-height: 560px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(8, 8, 33, 0.14);
    background: var(--navy-dark);
}

.product-panel-image img {
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    transition: 0.35s ease;
}

.product-panel-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 22%, rgba(8, 8, 33, 0.86));
}

.image-badge-card {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    padding: 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
}

.image-badge-card small {
    display: block;
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 6px;
}

.image-badge-card strong {
    display: block;
    color: var(--navy);
    font-size: 28px;
    line-height: 1;
    letter-spacing: -0.8px;
    font-weight: 950;
}

/* Tablet */
@media (max-width: 991px) {
    .product-explorer {
        padding: 64px 0;
    }

    .product-head-grid {
        grid-template-columns: 1fr;
    }

    .product-main-tabs {
        display: flex;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
    }

    .product-main-tab {
        min-width: 175px;
        justify-content: flex-start;
        scroll-snap-align: start;
    }

    .product-panel,
    .product-panel.active {
        grid-template-columns: 1fr;
    }

    .product-panel-copy {
        min-height: auto;
        padding: 28px;
    }

    .product-panel-image,
    .product-panel-image img {
        min-height: 360px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .product-tabs-wrapper {
        border-radius: 24px;
        padding: 12px;
        overflow: hidden;
    }

    .product-main-tabs {
        margin-bottom: 12px;
    }

    .product-main-tab {
        min-width: 150px;
        min-height: 58px;
        padding: 10px 12px;
        border-radius: 16px;
    }

    .product-main-tab strong {
        font-size: 13px;
    }

    .product-panel-copy,
    .product-panel-image {
        border-radius: 20px;
    }

    .product-panel-copy {
        padding: 22px;
    }

    .product-card-grid {
        grid-template-columns: 1fr;
    }

    .product-item-card {
        min-height: auto;
    }

    .product-panel-image,
    .product-panel-image img {
        min-height: 300px;
    }

    .image-badge-card {
        left: 16px;
        right: 16px;
        bottom: 16px;
        padding: 16px;
        border-radius: 18px;
    }

    .image-badge-card strong {
        font-size: 22px;
    }
}

/* ================================
   MOBILE PRODUCT TABS POLISH
   Removes ugly horizontal slider
================================ */

@media (max-width: 767px) {
    .product-explorer {
        padding: 56px 0;
    }

    .product-explorer-head {
        margin-bottom: 24px;
    }

    .product-head-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .product-head-grid h2 {
        font-size: 34px;
        line-height: 1.05;
        letter-spacing: -1.5px;
    }

    .product-head-grid p {
        font-size: 15px;
        line-height: 1.65;
    }

    .product-tabs-wrapper {
        border-radius: 24px;
        padding: 12px;
        overflow: visible;
    }

    .product-main-tabs {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        overflow: visible !important;
        padding-bottom: 0 !important;
        margin-bottom: 14px;
        scroll-snap-type: none !important;
    }

    .product-main-tab {
        min-width: 0 !important;
        width: 100%;
        min-height: 64px;
        padding: 12px;
        border-radius: 16px;
        justify-content: flex-start;
        text-align: left;
        gap: 10px;
        scroll-snap-align: unset !important;
    }

    .product-main-tab span {
        width: 30px;
        height: 30px;
        min-width: 30px;
        font-size: 10px;
    }

    .product-main-tab strong {
        font-size: 13px;
        line-height: 1.2;
    }

    .product-main-tab:nth-child(5) {
        grid-column: span 2;
    }

    .product-panel,
    .product-panel.active {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .product-panel-copy {
        padding: 22px;
        border-radius: 20px;
        min-height: auto;
    }

    .panel-kicker {
        font-size: 11px;
        padding: 7px 12px;
    }

    .product-panel-copy h3 {
        font-size: 32px;
        letter-spacing: -1.3px;
        line-height: 1.02;
    }

    .product-panel-copy p {
        font-size: 14px;
        line-height: 1.6;
    }

    .product-card-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .product-item-card {
        min-height: auto;
        padding: 14px;
        border-radius: 16px;
    }

    .product-item-card strong {
        font-size: 16px;
    }

    .product-item-card small {
        font-size: 13px;
    }

    .product-panel-actions {
        gap: 10px;
    }

    .product-panel-actions .btn-main,
    .product-panel-actions .btn-outline-navy {
        width: 100%;
    }

    .product-panel-image {
        min-height: 280px;
        border-radius: 20px;
    }

    .product-panel-image img {
        min-height: 280px;
    }

    .image-badge-card {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 14px;
        border-radius: 16px;
    }

    .image-badge-card strong {
        font-size: 22px;
    }
}

@media (max-width: 380px) {
    .product-main-tabs {
        grid-template-columns: 1fr;
    }

    .product-main-tab:nth-child(5) {
        grid-column: span 1;
    }
}
/* ================================
   HERO CLEAN - PREMIUM BALANCED HERO
================================ */

.fs-hero-clean {
    position: relative;
    overflow: hidden;
    background: #080821;
    padding: 92px 0 82px;
}

.fs-hero-clean-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.fs-hero-clean-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.03);
}

.fs-hero-clean-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(circle at 78% 18%, rgba(244, 29, 43, 0.28), transparent 34%),
        linear-gradient(90deg, rgba(8, 8, 33, 0.96) 0%, rgba(8, 8, 33, 0.88) 48%, rgba(8, 8, 33, 0.62) 100%),
        linear-gradient(180deg, rgba(8, 8, 33, 0.16), rgba(8, 8, 33, 0.72));
}

.fs-hero-clean .container-fluid {
    position: relative;
    z-index: 3;
}

.fs-hero-clean-grid {
    min-height: 680px;
    display: grid;
    grid-template-columns: 1fr 0.92fr;
    align-items: center;
    gap: 70px;
}

.fs-hero-clean-copy {
    max-width: 740px;
    color: #ffffff;
}

.fs-hero-clean-badge {
    display: inline-flex;
    width: fit-content;
    padding: 9px 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 22px;
    backdrop-filter: blur(14px);
}

.fs-hero-clean-copy h1 {
    color: #ffffff;
    font-size: clamp(48px, 6vw, 82px);
    line-height: 0.96;
    letter-spacing: -3.2px;
    font-weight: 950;
    margin: 0 0 24px;
}

.fs-hero-clean-copy p {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 18px;
    line-height: 1.75;
    margin: 0 0 32px;
}

.fs-hero-clean-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.fs-hero-clean-btn {
    min-height: 54px;
    padding: 14px 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    transition: 0.25s ease;
}

.fs-hero-clean-btn.red {
    background: #f41d2b;
    color: #ffffff;
    box-shadow: 0 20px 46px rgba(244, 29, 43, 0.35);
}

.fs-hero-clean-btn.red:hover {
    background: #d91421;
    color: #ffffff;
    transform: translateY(-2px);
}

.fs-hero-clean-btn.white {
    background: #ffffff;
    color: #17174f;
}

.fs-hero-clean-btn.white:hover {
    background: #17174f;
    color: #ffffff;
    transform: translateY(-2px);
}

.fs-hero-clean-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

.fs-hero-clean-stats div {
    min-width: 150px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(16px);
}

.fs-hero-clean-stats strong {
    display: block;
    color: #ffffff;
    font-size: 25px;
    line-height: 1;
    font-weight: 950;
    margin-bottom: 7px;
}

.fs-hero-clean-stats span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
    font-weight: 800;
}

.fs-hero-clean-visual {
    position: relative;
}

.fs-hero-clean-image-card {
    position: relative;
    height: 500px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 36px 110px rgba(0, 0, 0, 0.32);
}

.fs-hero-clean-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fs-hero-clean-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 25%, rgba(8, 8, 33, 0.88));
}

.fs-hero-clean-image-info {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
}

.fs-hero-clean-image-info span {
    display: inline-flex;
    color: #f41d2b;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 7px;
}

.fs-hero-clean-image-info h3 {
    color: #17174f;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 950;
    margin: 0 0 8px;
}

.fs-hero-clean-image-info p {
    color: #555b70;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.fs-hero-clean-service-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 16px;
}

.fs-hero-clean-service-row a {
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 13px;
    font-weight: 900;
    backdrop-filter: blur(14px);
    transition: 0.25s ease;
}

.fs-hero-clean-service-row a:hover {
    background: #ffffff;
    color: #17174f;
    transform: translateY(-2px);
}

.fs-hero-clean-contact {
    margin-top: 16px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.fs-hero-clean-contact span {
    display: block;
    color: #555b70;
    font-weight: 850;
    margin-bottom: 5px;
}

.fs-hero-clean-contact a {
    color: #f41d2b;
    font-size: 22px;
    line-height: 1;
    font-weight: 950;
}

/* Responsive */
@media (max-width: 991px) {
    .fs-hero-clean {
        padding: 76px 0 58px;
    }

    .fs-hero-clean-grid {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .fs-hero-clean-copy h1 {
        font-size: clamp(44px, 10vw, 66px);
        letter-spacing: -2.2px;
    }

    .fs-hero-clean-copy p {
        font-size: 17px;
    }

    .fs-hero-clean-image-card {
        height: 430px;
    }
}

@media (max-width: 575px) {
    .fs-hero-clean {
        padding: 54px 0 46px;
    }

    .fs-hero-clean-badge {
        font-size: 11px;
        padding: 8px 12px;
    }

    .fs-hero-clean-copy h1 {
        font-size: 40px;
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .fs-hero-clean-copy p {
        font-size: 15px;
    }

    .fs-hero-clean-actions,
    .fs-hero-clean-btn {
        width: 100%;
    }

    .fs-hero-clean-stats div {
        width: 100%;
    }

    .fs-hero-clean-image-card {
        height: 330px;
        border-radius: 24px;
    }

    .fs-hero-clean-image-info {
        left: 16px;
        right: 16px;
        bottom: 16px;
        padding: 16px;
        border-radius: 18px;
    }

    .fs-hero-clean-image-info h3 {
        font-size: 23px;
    }

    .fs-hero-clean-service-row {
        grid-template-columns: 1fr;
    }

    .fs-hero-clean-contact a {
        font-size: 19px;
    }
}

/* ================================
   SERVICES PAGE
================================ */

.services-hero {
    padding: 105px 0 74px;
    background:
        radial-gradient(circle at 85% 10%, rgba(244, 29, 43, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.services-hero-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 46px;
    align-items: end;
}

.services-hero h1 {
    color: var(--navy);
    font-size: clamp(44px, 5.8vw, 78px);
    line-height: 0.98;
    letter-spacing: -3px;
    font-weight: 950;
    margin: 18px 0 0;
}

.services-hero p {
    color: var(--text);
    font-size: 18px;
    line-height: 1.75;
    margin: 0;
}

.services-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.services-grid-section {
    padding: 28px 0 92px;
    background: #f7f8fc;
}

.services-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.service-modern-card {
    position: relative;
    min-height: 390px;
    border-radius: 28px;
    overflow: hidden;
    display: block;
    color: #ffffff;
    box-shadow: 0 24px 70px rgba(8, 8, 33, 0.12);
    transition: 0.28s ease;
}

.service-modern-card img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
    transition: 0.45s ease;
}

.service-modern-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 15%, rgba(8, 8, 33, 0.90)),
        linear-gradient(135deg, rgba(244, 29, 43, 0.20), transparent 42%);
}

.service-modern-content {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 22px;
}

.service-modern-content span {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: var(--red);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 18px;
}

.service-modern-content h3 {
    color: #ffffff;
    font-size: 25px;
    line-height: 1;
    letter-spacing: -0.8px;
    font-weight: 950;
    margin: 0 0 10px;
}

.service-modern-content p {
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.service-modern-card:hover {
    transform: translateY(-6px);
}

.service-modern-card:hover img {
    transform: scale(1.08);
}

.service-process-section {
    padding: 92px 0;
    background: #ffffff;
}

.service-process-box {
    max-width: 1180px;
    margin: 0 auto;
    border-radius: 34px;
    padding: 48px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.34), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.service-process-head {
    max-width: 760px;
    margin-bottom: 38px;
}

.service-process-head h2 {
    color: #ffffff;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 0;
}

.service-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.service-process-grid div {
    min-height: 230px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.service-process-grid span {
    color: var(--red);
    font-weight: 950;
}

.service-process-grid h3 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 950;
    margin: 48px 0 10px;
}

.service-process-grid p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.services-cta {
    padding: 0 0 92px;
    background: #ffffff;
}

.services-cta-box {
    max-width: 1180px;
    margin: 0 auto;
    border-radius: 34px;
    padding: 48px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.55), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.services-cta-box h2 {
    color: #ffffff;
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 10px;
}

.services-cta-box p {
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
}

/* Services responsive */
@media (max-width: 1199px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .services-hero {
        padding: 72px 0 50px;
    }

    .services-hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .services-hero h1 {
        letter-spacing: -2px;
    }

    .service-process-box,
    .services-cta-box {
        padding: 34px;
        border-radius: 28px;
    }

    .services-cta-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 575px) {
    .services-hero h1 {
        font-size: 39px;
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .services-hero p {
        font-size: 15px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-modern-card,
    .service-modern-card img {
        min-height: 330px;
    }

    .service-process-grid {
        grid-template-columns: 1fr;
    }

    .service-process-box,
    .services-cta-box {
        padding: 24px;
        border-radius: 24px;
    }

    .service-process-head h2,
    .services-cta-box h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .services-hero-actions,
    .services-hero-actions .btn-main,
    .services-hero-actions .btn-outline-navy {
        width: 100%;
    }
}

/* ================================
   PRODUCTS PAGE
================================ */

.products-hero {
    padding: 105px 0 70px;
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 29, 43, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.products-hero-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 46px;
    align-items: end;
}

.products-hero h1 {
    color: var(--navy);
    font-size: clamp(44px, 5.8vw, 78px);
    line-height: 0.98;
    letter-spacing: -3px;
    font-weight: 950;
    margin: 18px 0 0;
}

.products-hero p {
    color: var(--text);
    font-size: 18px;
    line-height: 1.75;
    margin: 0;
}

.products-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.product-category-nav-section {
    padding: 0 0 28px;
    background: #f7f8fc;
}

.product-category-nav {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    padding: 16px;
    border-radius: 28px;
    background: #ffffff;
    border: 1px solid var(--border);
    box-shadow: 0 22px 65px rgba(8, 8, 33, 0.08);
}

.product-category-nav a {
    min-height: 58px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f5f6fb;
    border: 1px solid var(--border);
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 950;
    text-align: center;
    transition: 0.25s ease;
}

.product-category-nav a span {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 950;
}

.product-category-nav a:hover {
    background: var(--navy);
    color: #ffffff;
    border-color: var(--navy);
    transform: translateY(-2px);
}

.product-category-nav a:hover span {
    background: var(--red);
    color: #ffffff;
}

.product-category-section {
    padding: 78px 0;
    background: #ffffff;
    scroll-margin-top: 110px;
}

.product-category-section.alt {
    background: #f7f8fc;
}

.product-category-header {
    max-width: 1180px;
    margin: 0 auto 34px;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 34px;
    align-items: center;
}

.product-category-header h2 {
    color: var(--navy);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 14px;
}

.product-category-header p {
    max-width: 590px;
    color: var(--text);
    font-size: 17px;
    line-height: 1.75;
    margin: 0;
}

.product-category-image {
    position: relative;
    height: 330px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(8, 8, 33, 0.12);
}

.product-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.45s ease;
}

.product-category-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 25%, rgba(8, 8, 33, 0.48)),
        linear-gradient(135deg, rgba(244, 29, 43, 0.14), transparent 45%);
}

.product-category-image:hover img {
    transform: scale(1.06);
}

.product-list-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.product-list-card {
    min-height: 210px;
    padding: 22px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: var(--navy);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 16px 50px rgba(8, 8, 33, 0.05);
    transition: 0.25s ease;
}

.product-category-section:not(.alt) .product-list-card {
    background: #f7f8fc;
}

.product-list-card > span {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 34px;
}

.product-list-card h3 {
    color: var(--navy);
    font-size: 21px;
    line-height: 1.08;
    letter-spacing: -0.5px;
    font-weight: 950;
    margin: 0 0 10px;
}

.product-list-card p {
    color: #687085;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.product-list-card:hover {
    background: var(--navy) !important;
    border-color: var(--navy);
    color: #ffffff;
    transform: translateY(-5px);
    box-shadow: 0 24px 70px rgba(23, 23, 79, 0.16);
}

.product-list-card:hover > span {
    background: var(--red);
    color: #ffffff;
}

.product-list-card:hover h3,
.product-list-card:hover p {
    color: #ffffff;
}

.products-cta {
    padding: 88px 0;
    background: #ffffff;
}

.products-cta-box {
    max-width: 1180px;
    margin: 0 auto;
    border-radius: 34px;
    padding: 48px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.55), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.products-cta-box h2 {
    color: #ffffff;
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 10px;
}

.products-cta-box p {
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
    max-width: 640px;
}

/* Products responsive */
@media (max-width: 1199px) {
    .product-list-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-category-nav {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .products-hero {
        padding: 72px 0 48px;
    }

    .products-hero-grid,
    .product-category-header {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .products-hero h1,
    .product-category-header h2 {
        letter-spacing: -2px;
    }

    .products-cta-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 34px;
        border-radius: 28px;
    }
}

@media (max-width: 575px) {
    .products-hero h1 {
        font-size: 39px;
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .products-hero p,
    .product-category-header p {
        font-size: 15px;
    }

    .product-category-nav {
        grid-template-columns: 1fr;
        border-radius: 22px;
        padding: 12px;
    }

    .product-category-nav a {
        justify-content: flex-start;
    }

    .product-category-section {
        padding: 58px 0;
    }

    .product-category-image {
        height: 260px;
        border-radius: 22px;
    }

    .product-list-grid {
        grid-template-columns: 1fr;
    }

    .product-list-card {
        min-height: auto;
    }

    .product-list-card > span {
        margin-bottom: 24px;
    }

    .products-cta {
        padding: 58px 0;
    }

    .products-cta-box {
        padding: 24px;
        border-radius: 24px;
    }

    .products-cta-box h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .products-hero-actions,
    .products-hero-actions .btn-main,
    .products-hero-actions .btn-outline-navy {
        width: 100%;
    }
}

/* ================================
   HOME SERVICES SECTION
================================ */

.home-services {
    padding: 88px 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(244, 29, 43, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.home-services-head {
    max-width: 1180px;
    margin: 0 auto 42px;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 42px;
    align-items: end;
}

.home-services-head h2 {
    color: var(--navy);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 0;
}

.home-services-head p {
    color: var(--text);
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 24px;
}

.home-services-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.home-service-card {
    position: relative;
    min-height: 390px;
    border-radius: 28px;
    overflow: hidden;
    display: block;
    color: #ffffff;
    box-shadow: 0 24px 70px rgba(8, 8, 33, 0.12);
    transition: 0.28s ease;
}

.home-service-card img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
    transition: 0.45s ease;
}

.home-service-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 15%, rgba(8, 8, 33, 0.92)),
        linear-gradient(135deg, rgba(244, 29, 43, 0.22), transparent 44%);
}

.home-service-content {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
}

.home-service-content span {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: var(--red);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 18px;
}

.home-service-content h3 {
    color: #ffffff;
    font-size: 27px;
    line-height: 1;
    letter-spacing: -0.8px;
    font-weight: 950;
    margin: 0 0 10px;
}

.home-service-content p {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.home-service-card:hover {
    transform: translateY(-6px);
}

.home-service-card:hover img {
    transform: scale(1.08);
}

@media (max-width: 991px) {
    .home-services {
        padding: 68px 0;
    }

    .home-services-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .home-services {
        padding: 56px 0;
    }

    .home-services-head h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .home-services-head p {
        font-size: 15px;
    }

    .home-services-grid {
        grid-template-columns: 1fr;
    }

    .home-service-card,
    .home-service-card img {
        min-height: 330px;
    }
}

/* ================================
   HOME PORTFOLIO PRO
================================ */

.home-portfolio-pro {
    padding: 30px 0;
    background:
        radial-gradient(circle at 88% 10%, rgba(244, 29, 43, 0.08), transparent 30%),
        #ffffff;
}

.home-portfolio-head {
    max-width: 1180px;
    margin: 0 auto 42px;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 42px;
    align-items: end;
}

.home-portfolio-head h2 {
    color: var(--navy);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 0;
}

.home-portfolio-head p {
    color: var(--text);
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 24px;
}

.home-portfolio-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr 0.85fr;
    grid-auto-rows: 260px;
    gap: 18px;
}

.home-work-card {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    color: #ffffff;
    box-shadow: 0 26px 80px rgba(8, 8, 33, 0.14);
    transition: 0.28s ease;
}

.home-work-card.featured {
    grid-row: span 2;
}

.home-work-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.45s ease;
}

.home-work-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 18%, rgba(8, 8, 33, 0.92)),
        linear-gradient(135deg, rgba(244, 29, 43, 0.20), transparent 44%);
}

.home-work-content {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
}

.home-work-content span {
    display: inline-flex;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--red);
    color: #ffffff;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 12px;
}

.home-work-content h3 {
    color: #ffffff;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 950;
    margin: 0;
}

.home-work-card.featured .home-work-content h3 {
    font-size: 38px;
}

.home-work-card:hover {
    transform: translateY(-6px);
}

.home-work-card:hover img {
    transform: scale(1.08);
}

.home-portfolio-proof {
    max-width: 1180px;
    margin: 24px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.home-portfolio-proof div {
    padding: 20px;
    border-radius: 22px;
    background: #f7f8fc;
    border: 1px solid var(--border);
}

.home-portfolio-proof strong {
    display: block;
    color: var(--navy);
    font-size: 18px;
    font-weight: 950;
    margin-bottom: 5px;
}

.home-portfolio-proof span {
    color: #687085;
    font-size: 14px;
    font-weight: 750;
}

/* Responsive */
@media (max-width: 991px) {
    .home-portfolio-pro {
        padding: 68px 0;
    }

    .home-portfolio-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-portfolio-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 250px;
    }

    .home-work-card.featured {
        grid-column: span 2;
        grid-row: span 1;
    }

    .home-portfolio-proof {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .home-portfolio-pro {
        padding: 56px 0;
    }

    .home-portfolio-head h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .home-portfolio-head p {
        font-size: 15px;
    }

    .home-portfolio-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 310px;
    }

    .home-work-card.featured {
        grid-column: span 1;
    }

    .home-work-content {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }

    .home-work-content h3,
    .home-work-card.featured .home-work-content h3 {
        font-size: 27px;
    }
}

/* ================================
   PORTFOLIO SHOWCASE V3
================================ */

.pf-showcase-v3-section {
    padding: 88px 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(244, 29, 43, 0.08), transparent 28%),
        #ffffff;
}

.pf-showcase-v3-head {
    max-width: 1180px;
    margin: 0 auto 38px;
    display: grid;
    grid-template-columns: 1.02fr 0.98fr;
    gap: 44px;
    align-items: end;
}

.pf-showcase-v3-head h2 {
    color: var(--navy);
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 950;
    margin: 18px 0 0;
}

.pf-showcase-v3-head p {
    color: var(--text);
    font-size: 16px;
    line-height: 1.75;
    max-width: 560px;
    margin: 0 0 22px;
}

.pf-showcase-v3-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pf-v3-filter {
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #f7f8fc;
    color: var(--navy);
    font-family: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
}

.pf-v3-filter:hover,
.pf-v3-filter.active {
    background: var(--navy);
    color: #ffffff;
    border-color: var(--navy);
}

.pf-showcase-v3-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 210px;
    gap: 18px;
}

.pf-v3-project-card {
    position: relative;
    grid-column: span 4;
    border: 0;
    padding: 0;
    border-radius: 30px;
    overflow: hidden;
    cursor: pointer;
    background: var(--navy);
    box-shadow: 0 24px 75px rgba(8, 8, 33, 0.14);
    transition: 0.28s ease;
    text-align: left;
}

.pf-v3-project-card.large {
    grid-column: span 6;
    grid-row: span 2;
}

.pf-v3-project-card.wide {
    grid-column: span 6;
}

.pf-v3-project-card.is-hidden {
    display: none;
}

.pf-v3-project-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.45s ease;
}

.pf-v3-card-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 18%, rgba(8, 8, 33, 0.94)),
        linear-gradient(135deg, rgba(244, 29, 43, 0.18), transparent 44%);
}

.pf-v3-card-content {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
}

.pf-v3-card-content small {
    display: inline-flex;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--red);
    color: #ffffff;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 12px;
}

.pf-v3-card-content h3 {
    color: #ffffff;
    font-size: 29px;
    line-height: 1;
    letter-spacing: -0.9px;
    font-weight: 950;
    margin: 0;
}

.pf-v3-project-card.large .pf-v3-card-content h3 {
    font-size: 40px;
}

.pf-v3-view {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    min-height: 38px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--navy);
    font-size: 12px;
    font-weight: 950;
    opacity: 0;
    transform: translateY(-8px);
    transition: 0.25s ease;
}

.pf-v3-project-card:hover {
    transform: translateY(-6px);
}

.pf-v3-project-card:hover img {
    transform: scale(1.08);
}

.pf-v3-project-card:hover .pf-v3-view {
    opacity: 1;
    transform: translateY(0);
}

/* Lightbox */

.pf-v3-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    padding: 36px;
    background: rgba(8, 8, 33, 0.86);
    backdrop-filter: blur(14px);
    display: none;
    align-items: center;
    justify-content: center;
}

.pf-v3-lightbox.active {
    display: flex;
}

.pf-v3-lightbox-inner {
    position: relative;
    width: min(1100px, 100%);
    max-height: 88vh;
    border-radius: 30px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 40px 120px rgba(0, 0, 0, 0.45);
}

.pf-v3-lightbox-inner img {
    width: 100%;
    height: min(72vh, 720px);
    object-fit: cover;
    display: block;
}

.pf-v3-lightbox-content {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
}

.pf-v3-lightbox-content span {
    display: block;
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 6px;
}

.pf-v3-lightbox-content h3 {
    color: var(--navy);
    font-size: 34px;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 950;
    margin: 0;
}

.pf-v3-lightbox-close {
    position: fixed;
    z-index: 10000;
    top: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    color: var(--navy);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

/* Responsive */
@media (max-width: 991px) {
    .pf-showcase-v3-section {
        padding: 68px 0;
    }

    .pf-showcase-v3-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pf-showcase-v3-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 260px;
    }

    .pf-v3-project-card,
    .pf-v3-project-card.large,
    .pf-v3-project-card.wide {
        grid-column: span 1;
        grid-row: span 1;
    }
}

@media (max-width: 575px) {
    .pf-showcase-v3-section {
        padding: 56px 0;
    }

    .pf-showcase-v3-head h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .pf-showcase-v3-head p {
        font-size: 15px;
    }

    .pf-showcase-v3-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 310px;
    }

    .pf-v3-card-content {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }

    .pf-v3-card-content h3,
    .pf-v3-project-card.large .pf-v3-card-content h3 {
        font-size: 27px;
    }

    .pf-v3-lightbox {
        padding: 16px;
    }

    .pf-v3-lightbox-inner {
        border-radius: 22px;
    }

    .pf-v3-lightbox-inner img {
        height: 70vh;
    }

    .pf-v3-lightbox-content {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 16px;
        border-radius: 18px;
    }

    .pf-v3-lightbox-content h3 {
        font-size: 24px;
    }
}

/* ================================
   ABOUT PAGE
================================ */

.about-hero {
    padding: 104px 0 86px;
    background:
        radial-gradient(circle at 88% 10%, rgba(244, 29, 43, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.about-hero-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.02fr 0.98fr;
    gap: 54px;
    align-items: center;
}

.about-hero-copy h1 {
    color: var(--navy);
    font-size: clamp(46px, 6vw, 82px);
    line-height: 0.98;
    letter-spacing: -3.2px;
    font-weight: 950;
    margin: 18px 0 22px;
}

.about-hero-copy p {
    max-width: 650px;
    color: var(--text);
    font-size: 18px;
    line-height: 1.75;
    margin: 0 0 30px;
}

.about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about-hero-visual {
    position: relative;
}

.about-main-image {
    height: 560px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.16);
}

.about-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-floating-card {
    position: absolute;
    left: -34px;
    bottom: 34px;
    max-width: 280px;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    box-shadow: 0 24px 70px rgba(8, 8, 33, 0.18);
}

.about-floating-card span {
    display: block;
    color: var(--red);
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
    margin-bottom: 8px;
}

.about-floating-card strong {
    display: block;
    color: var(--navy);
    font-size: 20px;
    font-weight: 950;
    margin-bottom: 8px;
}

.about-floating-card p {
    color: var(--text);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

/* Intro */

.about-intro-section {
    padding: 86px 0;
    background: #ffffff;
}

.about-intro-box {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px;
    border-radius: 34px;
    background: #f7f8fc;
    border: 1px solid var(--border);
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 46px;
}

.about-intro-box h2,
.about-section-head h2,
.about-split-copy h2,
.about-products-box h2 {
    color: var(--navy);
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -2.4px;
    font-weight: 950;
    margin: 18px 0 0;
}

.about-intro-box p {
    color: var(--text);
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 18px;
}

.about-intro-box p:last-child {
    margin-bottom: 0;
}

/* Values */

.about-values-section {
    padding: 88px 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(244, 29, 43, 0.08), transparent 30%),
        #ffffff;
}

.about-section-head {
    max-width: 860px;
    margin: 0 auto 38px;
    text-align: center;
}

.about-values-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.about-value-card {
    min-height: 260px;
    padding: 24px;
    border-radius: 26px;
    background: #f7f8fc;
    border: 1px solid var(--border);
    transition: 0.25s ease;
}

.about-value-card span,
.about-process-grid span {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 44px;
}

.about-value-card h3 {
    color: var(--navy);
    font-size: 22px;
    line-height: 1.1;
    font-weight: 950;
    margin: 0 0 10px;
}

.about-value-card p {
    color: #687085;
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

.about-value-card:hover {
    background: var(--navy);
    transform: translateY(-5px);
    box-shadow: 0 24px 70px rgba(23, 23, 79, 0.16);
}

.about-value-card:hover span {
    background: var(--red);
    color: #ffffff;
}

.about-value-card:hover h3,
.about-value-card:hover p {
    color: #ffffff;
}

/* Split */

.about-split-section {
    padding: 88px 0;
    background: #f7f8fc;
}

.about-split-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 46px;
    align-items: center;
}

.about-split-image {
    height: 520px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.14);
}

.about-split-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-split-copy p {
    color: var(--text);
    font-size: 16px;
    line-height: 1.8;
    margin: 22px 0 26px;
}

.about-check-list {
    display: grid;
    gap: 12px;
}

.about-check-list div {
    padding: 16px 18px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: var(--navy);
    font-size: 14px;
    font-weight: 900;
}

/* Process */

.about-process-section {
    padding: 88px 0;
    background: #ffffff;
}

.about-process-box {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.36), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.about-process-head {
    max-width: 760px;
    margin-bottom: 38px;
}

.about-process-head h2 {
    color: #ffffff;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 0;
}

.about-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.about-process-grid div {
    min-height: 230px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.about-process-grid h3 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 950;
    margin: 0 0 10px;
}

.about-process-grid p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* Product strip */

.about-products-strip {
    padding: 0 0 88px;
    background: #ffffff;
}

.about-products-box {
    max-width: 1180px;
    margin: 0 auto;
    padding: 42px;
    border-radius: 34px;
    background: #f7f8fc;
    border: 1px solid var(--border);
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 34px;
    align-items: center;
}

.about-products-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.about-products-links a {
    min-height: 46px;
    padding: 12px 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: var(--navy);
    font-size: 13px;
    font-weight: 900;
    transition: 0.25s ease;
}

.about-products-links a:hover {
    background: var(--navy);
    color: #ffffff;
    border-color: var(--navy);
}

/* CTA */

.about-cta-section {
    padding: 0 0 92px;
    background: #ffffff;
}

.about-cta-box {
    max-width: 1180px;
    margin: 0 auto;
    border-radius: 34px;
    padding: 48px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.55), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.about-cta-box h2 {
    color: #ffffff;
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 10px;
}

.about-cta-box p {
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
}

/* Responsive */

@media (max-width: 1199px) {
    .about-values-grid,
    .about-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .about-hero {
        padding: 72px 0 58px;
    }

    .about-hero-grid,
    .about-intro-box,
    .about-split-grid,
    .about-products-box {
        grid-template-columns: 1fr;
    }

    .about-main-image,
    .about-split-image {
        height: 420px;
    }

    .about-floating-card {
        left: 20px;
        right: 20px;
        bottom: 20px;
        max-width: none;
    }

    .about-intro-box,
    .about-process-box,
    .about-products-box,
    .about-cta-box {
        padding: 34px;
        border-radius: 28px;
    }

    .about-cta-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 575px) {
    .about-hero-copy h1 {
        font-size: 39px;
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .about-hero-copy p {
        font-size: 15px;
    }

    .about-hero-actions,
    .about-hero-actions .btn-main,
    .about-hero-actions .btn-outline-navy {
        width: 100%;
    }

    .about-main-image,
    .about-split-image {
        height: 330px;
        border-radius: 24px;
    }

    .about-intro-box,
    .about-process-box,
    .about-products-box,
    .about-cta-box {
        padding: 24px;
        border-radius: 24px;
    }

    .about-intro-box h2,
    .about-section-head h2,
    .about-split-copy h2,
    .about-products-box h2,
    .about-process-head h2,
    .about-cta-box h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .about-values-grid,
    .about-process-grid {
        grid-template-columns: 1fr;
    }
}

/* ================================
   CONTACT PAGE
================================ */

.contact-hero {
    padding: 104px 0 72px;
    background:
        radial-gradient(circle at 88% 12%, rgba(244, 29, 43, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
}

.contact-hero-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 46px;
    align-items: end;
}

.contact-hero h1 {
    color: var(--navy);
    font-size: clamp(44px, 5.8vw, 78px);
    line-height: 0.98;
    letter-spacing: -3px;
    font-weight: 950;
    margin: 18px 0 0;
}

.contact-hero p {
    color: var(--text);
    font-size: 18px;
    line-height: 1.75;
    margin: 0;
}

.contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

/* Main */

.contact-main-section {
    padding: 76px 0 88px;
    background: #f7f8fc;
}

.contact-main-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 24px;
    align-items: start;
}

.contact-info-area,
.contact-form-card {
    border-radius: 34px;
    background: #ffffff;
    border: 1px solid var(--border);
    box-shadow: 0 24px 75px rgba(8, 8, 33, 0.08);
}

.contact-info-area {
    padding: 34px;
}

.contact-info-head h2,
.contact-form-card h2 {
    color: var(--navy);
    font-size: clamp(32px, 4.4vw, 54px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 14px;
}

.contact-info-head p {
    color: var(--text);
    font-size: 15px;
    line-height: 1.75;
    margin: 0 0 26px;
}

.contact-card-grid {
    display: grid;
    gap: 12px;
}

.contact-info-card {
    padding: 18px;
    border-radius: 22px;
    background: #f7f8fc;
    border: 1px solid var(--border);
    color: var(--navy);
    display: flex;
    gap: 16px;
    transition: 0.25s ease;
}

.contact-info-card > span {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 14px;
    background: rgba(244, 29, 43, 0.09);
    color: var(--red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
}

.contact-info-card small {
    display: block;
    color: #687085;
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 5px;
}

.contact-info-card h3 {
    color: var(--navy);
    font-size: 18px;
    font-weight: 950;
    margin: 0 0 5px;
}

.contact-info-card p {
    color: var(--text);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.contact-info-card:hover {
    background: var(--navy);
    color: #ffffff;
    transform: translateY(-3px);
}

.contact-info-card:hover > span {
    background: var(--red);
    color: #ffffff;
}

.contact-info-card:hover small,
.contact-info-card:hover h3,
.contact-info-card:hover p {
    color: #ffffff;
}

.contact-service-box {
    margin-top: 18px;
    padding: 22px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.12), transparent 34%),
        #f7f8fc;
    border: 1px solid var(--border);
}

.contact-service-box h3 {
    color: var(--navy);
    font-size: 22px;
    font-weight: 950;
    margin: 0 0 16px;
}

.contact-service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.contact-service-tags a {
    min-height: 40px;
    padding: 10px 13px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: var(--navy);
    font-size: 13px;
    font-weight: 850;
    transition: 0.25s ease;
}

.contact-service-tags a:hover {
    background: var(--red);
    border-color: var(--red);
    color: #ffffff;
}

/* Form */

.contact-form-card {
    padding: 34px;
}

.contact-form {
    margin-top: 24px;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.form-group {
    margin-bottom: 14px;
}

.form-group label {
    display: block;
    color: var(--navy);
    font-size: 13px;
    font-weight: 950;
    margin-bottom: 8px;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    border: 1px solid var(--border);
    background: #f7f8fc;
    color: var(--navy);
    border-radius: 16px;
    padding: 14px 16px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: 0.25s ease;
}

.form-group textarea {
    resize: vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: var(--red);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(244, 29, 43, 0.08);
}

.contact-submit-btn {
    width: 100%;
    border: 0;
    cursor: pointer;
    margin-top: 4px;
}

.contact-form-note {
    color: #687085;
    font-size: 13px;
    line-height: 1.55;
    margin: 14px 0 0;
}

/* Process */

.contact-process-section {
    padding: 88px 0;
    background: #ffffff;
}

.contact-process-box {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.36), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.contact-process-box > div:first-child {
    max-width: 760px;
    margin-bottom: 38px;
}

.contact-process-box h2 {
    color: #ffffff;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 0;
}

.contact-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.contact-process-grid div {
    min-height: 220px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.contact-process-grid span {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(244, 29, 43, 0.18);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 44px;
}

.contact-process-grid h3 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 950;
    margin: 0 0 10px;
}

.contact-process-grid p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* CTA */

.contact-cta-section {
    padding: 0 0 92px;
    background: #ffffff;
}

.contact-cta-box {
    max-width: 1180px;
    margin: 0 auto;
    border-radius: 34px;
    padding: 48px;
    background:
        radial-gradient(circle at top right, rgba(244, 29, 43, 0.55), transparent 35%),
        linear-gradient(135deg, var(--navy), var(--navy-dark));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    box-shadow: 0 30px 90px rgba(8, 8, 33, 0.18);
}

.contact-cta-box h2 {
    color: #ffffff;
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 950;
    margin: 18px 0 10px;
}

.contact-cta-box p {
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
    max-width: 640px;
}

/* Responsive */

@media (max-width: 1199px) {
    .contact-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .contact-hero {
        padding: 72px 0 48px;
    }

    .contact-hero-grid,
    .contact-main-grid {
        grid-template-columns: 1fr;
    }

    .contact-info-area,
    .contact-form-card,
    .contact-process-box,
    .contact-cta-box {
        padding: 34px;
        border-radius: 28px;
    }

    .contact-cta-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 575px) {
    .contact-hero h1 {
        font-size: 39px;
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .contact-hero p {
        font-size: 15px;
    }

    .contact-hero-actions,
    .contact-hero-actions .btn-main,
    .contact-hero-actions .btn-outline-navy {
        width: 100%;
    }

    .contact-info-area,
    .contact-form-card,
    .contact-process-box,
    .contact-cta-box {
        padding: 24px;
        border-radius: 24px;
    }

    .contact-info-head h2,
    .contact-form-card h2,
    .contact-process-box h2,
    .contact-cta-box h2 {
        font-size: 34px;
        letter-spacing: -1.4px;
    }

    .form-row,
    .contact-process-grid {
        grid-template-columns: 1fr;
    }

    .contact-process-grid div {
        min-height: auto;
    }

    .contact-process-grid span {
        margin-bottom: 24px;
    }
}