* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

:focus {
    outline: none;
}

:root {
    --color-primary: 23, 36, 42;
    --color-primary-dark: 23, 8, 1;
    --color-secondary: 0, 156, 160;
    --color-secondary-light: 233, 250, 252;
    --color-link: 13, 139, 153;
    --color-dark: 28, 17, 0;
    --color-black: 0, 0, 0;
    --color-white: 255, 255, 255;
    --color-light: 243, 244, 246;
    --color-orange: 255, 126, 29;
    --color-bg-light: 249, 251, 252;
    --color-mid-black: 28, 17, 0;
}

body {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: rgv(var(--color-primary));
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter Tight', sans-serif;
    color: rgb(var(--color-dark));
    word-wrap: break-word;
}
h1 {
    font-size: 3.25rem;
    line-height: 4rem;
}

h2 {
    font-size: 2.5rem;
    line-height: 3rem;
}

h3 {
    font-size: 2rem;
    line-height: 2.5rem;
}

h4 {
    font-size: 1.625rem;
    line-height: 2rem;
}

h5 {
    font-size: 1.25rem;
    line-height: 1.625rem;
}

h6 {
    font-size: 1rem;
    line-height: 1.25rem;
}

@media (max-width: 1024px) {
    h1 {
        font-size: 2.5rem;
        line-height: 3rem;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
        line-height: 2.5rem;
    }

    h2 {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    h3 {
        font-size: 1.5rem;
        line-height: 2rem;
    }

    h4 {
        font-size: 1.375rem;
        line-height: 1.75rem;
    }

    h5 {
        font-size: 1.125rem;
        line-height: 1.5rem;
    }

    h6 {
        font-size: 0.875rem;
        line-height: 1.125rem;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 1.75rem;
        line-height: 2.25rem;
    }

    h2 {
        font-size: 1.5rem;
        line-height: 2rem;
    }

    h3 {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    h4 {
        font-size: 1.125rem;
        line-height: 1.5rem;
    }

    h5 {
        font-size: 1rem;
        line-height: 1.375rem;
    }

    h6 {
        font-size: 0.875rem;
        line-height: 1.125rem;
    }
}

a {
    text-decoration: none;
    display: inline-flex;
}

ul {
    list-style: none;
}

.sz-container {
    width: calc(100% - 30px);
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.sz-d-flex {
    display: flex !important;
}

.sz-d-none {
    display: none !important;
}

.sz-d-block {
    display: block;
}

.sz-justify-content-center {
    justify-content: center;
}

.sz-align-itesm-center {
    align-items: center;
}

.sz-text-center {
    text-align: center;
}

.sz-header {
    transition: all 0.3s ease;
    background-color: rgb(var(--color-white), .75);
    max-width: 1320px;
    z-index: 9999;
    border: 1px solid #f9f9f9;
}

.sz-header::before {
    content: "";
    width: 100%;
    height: 100%;
    backdrop-filter: blur(10px);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.sz-header-inner {
    display: flex;
    padding: 8px 12px;
    align-items: center;
    flex-wrap: wrap;
}

.sz-logo-wrap {
    height: 24px;
}

.sz-logo-wrap img {
    height: 100%;
}

.sz-nav {
    display: flex;
    align-content: center;
    margin-left: auto;
    gap: 32px;
}

.sz-nav-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.sz-nav-link {
    padding: 8px 16px;
    border-radius: 2px;
    color: rgb(var(--color-dark));
    text-transform: uppercase;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    font-weight: normal;
    transition: 0.3s;
    align-items: center;
    line-height: 24px;
    outline: none;
}

.sz-nav-link:hover,
.sz-nav-item.active .sz-nav-link {
    color: rgb(var(--color-link));
    background-color: rgb(var(--color-black), 1%);
}

.sz-region-selector {
    position: relative;
    display: flex;
}

.sz-region-dropdown {
    position: relative;
    display: inline-flex;
}

.sz-region-toggle {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: rgb(var(--sz-primary-dark));
    font-size: 14px;
    font-family: inherit;
    transition: all 0.3s ease;
    min-width: 128px;
    justify-content: space-between;
}

.sz-region-toggle:hover {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.1);
}

.sz-region-flag {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    border-radius: 2px;
    object-fit: cover;
}


.sz-region-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    min-width: 160px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.sz-region-dropdown.active .sz-region-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sz-region-option {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    color: #333;
    text-decoration: none;
    transition: background 0.2s ease;
    border-bottom: 1px solid #f0f0f0;
}

.sz-region-option:last-child {
    border-bottom: none;
}

.sz-region-option:hover {
    background: #f8f9fa;
}

.sz-region-option.active {
    background: #e8f5e8;
    color: #2d5a2d;
}

.sz-region-option .sz-region-flag {
    margin-right: 12px;
}

@media (max-width: 1024px) {
    .sz-region-selector {
        position: fixed;
        top: 5px;
        right: 20px;
    }
}

.sz-nav-btn,
.sz-knowledge-banner-btn {
    padding: 8px 24px;
    background-color: rgb(var(--color-dark), 6%);
    height: 48px;
    border-radius: 50px;
    color: rgb(var(--color-dark));
    text-transform: capitalize;
    font-size: 16px;
    font-weight: 500;
    align-items: center;
    line-height: 24px;
    font-family: 'Inter', sans-serif;
}

.sz-nav-btn {
    position: relative;
}

.sz-nav-btn::before,
.sz-region-selector::before {
    content: "";
    width: 1px;
    height: 18px;
    background-color: rgb(var(--color-dark), 7%);
    border-radius: 1px;
    position: absolute;
    top: 50%;
    left: -18px;
    transform: translateY(-50%);
}

.sz-menu-button {
    display: none;
}

.sz-dropdown {
    position: relative;
}

.sz-dropdown-toggle,
.sz-megamenu-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.sz-dropdown-arrow {
    width: 8px;
    height: 8px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDQ0LjgxOSA0NDQuODE5IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBjbGFzcz0iIj48Zz48cGF0aCBkPSJtNDM0LjI1MiAxMTQuMjAzLTIxLjQwOS0yMS40MTZjLTcuNDE5LTcuMDQtMTYuMDg0LTEwLjU2MS0yNS45NzUtMTAuNTYxLTEwLjA5NSAwLTE4LjY1NyAzLjUyMS0yNS43IDEwLjU2MUwyMjIuNDEgMjMxLjU0OSA4My42NTMgOTIuNzkxYy03LjA0Mi03LjA0LTE1LjYwNi0xMC41NjEtMjUuNjk3LTEwLjU2MS05Ljg5NiAwLTE4LjU1OSAzLjUyMS0yNS45NzkgMTAuNTYxbC0yMS4xMjggMjEuNDE2QzMuNjE1IDEyMS40MzYgMCAxMzAuMDk5IDAgMTQwLjE4OGMwIDEwLjI3NyAzLjYxOSAxOC44NDIgMTAuODQ4IDI1LjY5M2wxODUuODY0IDE4NS44NjVjNi44NTUgNy4yMyAxNS40MTYgMTAuODQ4IDI1LjY5NyAxMC44NDggMTAuMDg4IDAgMTguNzUtMy42MTcgMjUuOTc3LTEwLjg0OGwxODUuODY1LTE4NS44NjVjNy4wNDMtNy4wNDQgMTAuNTY3LTE1LjYwOCAxMC41NjctMjUuNjkzLjAwMS05LjkwMS0zLjUyMy0xOC41NTktMTAuNTY2LTI1Ljk4NXoiIGZpbGw9IiMxNzI0MmEiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMxNzI0MmEiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+");
    background-size: 100%;
    background-position: center;
    font-size: 8px;
    transition: transform 0.3s ease;
}

.sz-megamenu.active .sz-dropdown-arrow,
.sz-dropdown.active .sz-dropdown-arrow,
.sz-nav-link:hover .sz-dropdown-arrow {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDQ0LjgxOSA0NDQuODE5IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBjbGFzcz0iIj48Zz48cGF0aCBkPSJtNDM0LjI1MiAxMTQuMjAzLTIxLjQwOS0yMS40MTZjLTcuNDE5LTcuMDQtMTYuMDg0LTEwLjU2MS0yNS45NzUtMTAuNTYxLTEwLjA5NSAwLTE4LjY1NyAzLjUyMS0yNS43IDEwLjU2MUwyMjIuNDEgMjMxLjU0OSA4My42NTMgOTIuNzkxYy03LjA0Mi03LjA0LTE1LjYwNi0xMC41NjEtMjUuNjk3LTEwLjU2MS05Ljg5NiAwLTE4LjU1OSAzLjUyMS0yNS45NzkgMTAuNTYxbC0yMS4xMjggMjEuNDE2QzMuNjE1IDEyMS40MzYgMCAxMzAuMDk5IDAgMTQwLjE4OGMwIDEwLjI3NyAzLjYxOSAxOC44NDIgMTAuODQ4IDI1LjY5M2wxODUuODY0IDE4NS44NjVjNi44NTUgNy4yMyAxNS40MTYgMTAuODQ4IDI1LjY5NyAxMC44NDggMTAuMDg4IDAgMTguNzUtMy42MTcgMjUuOTc3LTEwLjg0OGwxODUuODY1LTE4NS44NjVjNy4wNDMtNy4wNDQgMTAuNTY3LTE1LjYwOCAxMC41NjctMjUuNjkzLjAwMS05LjkwMS0zLjUyMy0xOC41NTktMTAuNTY2LTI1Ljk4NXoiIGZpbGw9IiMwZDhiOTkiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwZDhiOTkiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+");
}

.sz-dropdown.active .sz-dropdown-arrow {
    transform: rotate(180deg);
}

.sz-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 220px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    list-style: none;
    padding: 8px 0;
    margin: 0;
}

.sz-dropdown.active .sz-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sz-dropdown-menu li {
    margin: 0;
}

.sz-dropdown-link {
    display: block;
    padding: 12px 20px;
    color: rgb(var(--color-dark)) !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    border: none;
    background: transparent;
}

.sz-dropdown-link:hover {
    background-color: rgb(var(--color-link), 0.1);
    color: rgb(var(--color-link)) !important;
    padding-left: 24px;
}

/* Megamenu Styles - Enhanced and Bigger */
.sz-megamenu-content {
    position: absolute;
    top: 100%;
    left: 50%;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0px 8px 80px 0px rgb(0 0 0 / 6%);
    width: calc(100vw - 30px);
    max-width: 1280px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
    padding: 16px;
    margin-top: 12px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.sz-megamenu.active .sz-dropdown-arrow {
    transform: rotate(180deg);
}

.sz-megamenu.active .sz-megamenu-content {
    opacity: 1;
    visibility: visible;
}


@media (min-width: 1025px) {
    .sz-megamenu-content {
        transform: translateX(-50%) translateY(-15px);
    }

    .sz-megamenu.active .sz-megamenu-content {
        transform: translateX(-50%) translateY(0);
    }
}


.sz-megamenu-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.sz-megamenu-column {
    display: flex;
    flex-direction: column;
}

.sz-megamenu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
}

.sz-megamenu-list li {
    margin-bottom: 8px;
}

.sz-megamenu-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
    border: 1px solid transparent;
    color: rgb(var(--color-dark));
}

.sz-megamenu-link:hover {
    background: rgba(23, 8, 1, 0.04);
}

/* Arrow pointer */
.sz-megamenu-toggle {
    position: relative;
}

.sz-megamenu-toggle::before {
    content: '';
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 12px solid #ffffff;
    filter: drop-shadow(-16px 16px 52px rgba(0, 0, 0, 0.09));
    z-index: 9999;
    display: none;
}

.sz-nav-item.active .sz-megamenu-toggle::before {
    display: block;
}

.sz-megamenu-toggle,
.sz-dropdown-toggle {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

/* Loading animation */
@keyframes megamenuFadeIn {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-25px) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

.sz-megamenu.active .sz-megamenu-content {
    animation: megamenuFadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sz-megamenu-cta-link,
.sz-megamenu-cta-link img {
    width: 100%;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .sz-dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: transparent;
        padding: 0;
        margin-left: 20px;
        display: none;
    }

    .sz-dropdown.active .sz-dropdown-menu {
        display: block;
    }

    .sz-dropdown-link {
        padding: 8px 16px;
        font-size: 13px;
    }

    .sz-dropdown-link:hover {
        padding-left: 20px;
    }
}


.sz-btn {
    border-radius: 60px;
    line-height: 26px;
    display: inline-flex;
    padding: 8px 8px 8px 24px;
    gap: 6px;
    align-items: center;
    transition: .3s all;
    max-width: max-content;
    border: none;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.sz-button-primary {
    background-color: rgb(var(--color-primary-dark));
    color: rgb(var(--color-white));
}

.sz-button-white {
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-primary-dark));
}

.sz-button-outline {
    background-color: transparent;
    color: rgb(var(--color-primary-dark));
    border: 1px solid rgb(var(--color-primary-dark));
}

.sz-button-outline .sz-button-icon-wrap {
    background-color: rgb(var(--color-primary-dark));
}

.sz-button-wrap {
    width: 100%;
}

.sz-button-icon-wrap {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 30px;
    transition: .3s all;
    margin-left: auto;
    flex-shrink: 0;
}

.sz-btn:hover .sz-button-icon-wrap {
    transform: rotate(-45deg);
}

.sz-button-primary:hover .sz-button-icon-wrap {
    background-color: rgb(var(--color-white), 0.2);
}

.sz-button-white:hover .sz-button-icon-wrap {
    background-color: rgb(var(--color-primary-dark), 0.2);
}

.sz-button-secondary {
    border: 1px solid rgb(var(--color-primary-dark));
    padding: 12px 32px;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    transition: .3s all;
    border-radius: 50px;
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-primary-dark));
}

.sz-button-secondary:hover {
    background-color: rgb(var(--color-primary-dark));
    color: rgb(var(--color-white));
}

.sz-section {
    padding: 100px 0;
}

button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Header */

/* Banner Section */
.sz-banner-container {
    display: flex;
    justify-content: space-between;
    gap: 70px;
}

.sz-main-banner {
    background-color: rgb(var(--color-light));
    padding-top: 84px;
}

.sz-banner-content {
    width: 100%;
    max-width: 670px;
    padding: 100px 0;
}

.sz-main-banner-title {
    font-size: 68px;
    letter-spacing: -2px;
    font-weight: 500;
    line-height: 78px;
    margin-bottom: 20px;
}

@media (max-width: 600px) {

    .sz-main-banner-title,
    .sz-home-service-title {
        font-size: 42px;
        line-height: 1.24;
        letter-spacing: 0;
    }

    .sz-section-title-wrap {
        flex-wrap: wrap;
    }
}

.sz-main-banner-desc {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 40px;
}

.sz-banner-image-wrap {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 565px;
    padding: 76px 0 46px;
    margin: 0 auto;
}

.sz-banner-image-wrap img {
    max-width: 100%;
}

.sz-banner-content-wrap {
    border-bottom: 1px solid rgb(var(--color-dark), 0.1);
}

@media (min-width:1025px) {
    .sz-banner-image-wrap::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: rgb(var(--color-dark), 0.1);
    }
}

@media (max-width: 1024px) {
    .sz-banner-container {
        flex-wrap: wrap;
    }

    .sz-banner-content,
    .sz-banner-image-wrap {
        padding: 0;
    }
    .sz-tiles-marquee-section{
        flex-direction: column;
    }
}

/* Marquee */
.sz-tiles-marquee-section {
    padding: 42px 0 54px 0;
    display: flex;
    gap: 22px;
    align-items: center;
}

.sz-marquee-item {
    display: inline-flex;
    width: auto;
    height: 48px;
}

.sz-marquee-item img {
    max-height: 100%;
    width: auto;
    display: flex;
    object-fit: contain;
}

.sz-marquee-swiper {
    position: relative;
    width: 100%;
    height: 100%;
}

.sz-marquee-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
    position: relative;
}

.sz-tiles-marquee-section .swiper-slide {
    width: auto !important;
    height: 60px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sz-marquee-swiper::after,
.sz-marquee-swiper::before {
    position: absolute;
    content: '';
    width: 100%;
    max-width: 120px;
    top: 0;
    bottom: 0;
    z-index: 22;
}

.sz-marquee-swiper::after {
    left: -20px;
    background-image: linear-gradient(90deg, #f1f7fd, transparent);
}

.sz-marquee-swiper::before {
    right: -20px;
    background-image: linear-gradient(270deg, #f1f7fd, transparent);
}

.sz-marquee-title {
    line-height: 24px;
    flex-shrink: 0;
}


/* Net0 Section */
.sz-net0-title {
    max-width: 450px;
    margin: 0 auto;
    text-align: center;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: -1.2px;
}

.sz-net0-cards-wrap {
    display: flex;
    align-items: flex-end;
}

.sz-net0-card {
    width: 25%;
}

.sz-net0-card:not(:last-child) {
    border-right: 1px solid rgb(var(--color-dark), 0.1);
}

.sz-net0-card-content {
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
    transition: .3s all;
}

.sz-net0-card-content:hover {
    background-color: rgb(var(--color-orange), 8%);
}

.sz-net0-card-content:hover .sz-net0-card-title,
.sz-net0-card-content:hover .sz-net0-card-subtitle-wrap {
    color: rgb(var(--color-orange));
}

.sz-net0-card-title {
    font-size: 32px;
    line-height: 40px;
    margin-bottom: 20px;
    font-weight: 500;
    transition: .3s all;
}

.sz-net0-subtitle {
    font-size: 20px;
    font-weight: 500;
}

.sz-net0-card-subtitle-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    transition: .3s all;
}

.sz-net0-card-desc {
    line-height: 26px;
}

.sz-customer-service {
    gap: 32px;
}

.sz-the-cost {
    gap: 98px;
}

.sz-emissions-reduction {
    gap: 158px;
}

.sz-faster-reporting {
    gap: 238px;
}

/* Services Section */
.sz-services-section {
    background: linear-gradient(to top, #FFFFFF 0%, #F3F5F6 19%, #F3F5F6 100%);
}

.sz-home-service-title {
    font-weight: 500;
    max-width: 782px;
}

.sz-section-title-wrap {
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.sz-slider-nav {
    position: relative;
    display: flex;
    gap: 4px;
    height: 44px;
    align-items: flex-end;
}

.sz-slider-btn {
    padding: 10px 24px;
    background-color: rgb(var(--color-primary-dark));
    border-radius: 100px;
    position: static;
    width: 68px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.sz-slider-btn svg {
    flex-shrink: 0;
    height: 18px;
    color: rgb(var(--color-white));
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 100%;
    background-color: rgb(var(--color-white));
}

.swiper-button-prev.swiper-button-disabled svg,
.swiper-button-next.swiper-button-disabled svg,
.sz-testimonial-btn-prev.swiper-button-disabled svg,
.sz-testimonial-btn-next.swiper-button-disabled svg {
    color: rgb(var(--color-primary-dark));
}

.swiper-slide {
    height: auto;
    display: flex;
}

.sz-service-card-wrap {
    background-color: rgb(var(--color-white));
    border-radius: 4px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sz-service-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 32px;
    border-radius: 4px 4px 0 0;
    background-color: rgb(var(--color-bg-light));
    border-bottom: 1px solid rgb(var(--color-light));
}
.sz-service-card-header svg{
    flex-shrink: 0;
}

.sz-service-head-title {
    line-height: 24px;
    font-weight: 600;
    color: rgb(var(--color-secondary));
}

.sz-service-card-content {
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    justify-content: space-between;
}

.sz-service-card-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 40px;
    letter-spacing: -0.64px;
    color: rgb(var(--color-mid-black));
    margin-bottom: 16px;
}

.sz-services-points-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.sz-home-service-card-desc,
.sz-service-keypoint-text {
    font-size: 18px;
    line-height: 28px;
    color: rgb(var(--color-mid-black));
}

.sz-services-keypoint {
    display: flex;
    gap: 12px;
    align-items: center;
}

.sz-service-card-inner {
    margin-bottom: 40px;
}

/* Why us Section */
.sz-why-us-section {
    background-color: rgb(var(--color-primary-dark));
}

.sz-why-us-container {
    max-width: 1230px;
    margin: 0 auto;
}

.sz-why-us-content-wrap {
    display: flex;
    flex-direction: column;
    gap: 84px;
    align-items: center;
}

.sz-why-us-title {
    font-size: 44px;
    color: rgb(var(--color-white));
    line-height: 58px;
    max-width: 550px;
    margin: 0 auto;
    font-weight: 500;
    letter-spacing: -0.88px;
    text-align: center;
    margin-bottom: 60px;
}

.sz-why-us-heading,
.sz-why-us-desc {
    color: rgb(var(--color-white));
}

.sz-why-us-heading {
    margin: 24px 0 12px 0;
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
}

.sz-why-us-desc {
    font-size: 18px;
    line-height: 28px;
    opacity: 76%;
}

.sz-why-us-content-row {
    display: flex;
    gap: 40px 60px;
    justify-content: space-between;
    align-items: flex-end;
}

.sz-whyus-divider {
    display: flex;
    width: 1px;
    height: 58px;
    background-color: rgb(var(--color-white), 14%);
}

.sz-why-us-item-wrap {
    max-width: 330px;
}

/* Testimonial Section */
.sz-testimonial-section {
    background: linear-gradient(to top, #FFFFFF 0%, #F3F5F6 19%, #F3F5F6 100%);
}

.sz-testimonial-heading {
    font-size: 44px;
    line-height: 56px;
    font-weight: 500;
    max-width: 620px;
    margin: 0 auto 60px auto;
    text-align: center;
    color: rgb(var(--color-mid-black));
}

.sz-testimonial-wrapper {
    width: 100%;
    max-width: 1036px;
    margin: 0 auto;
}

.sz-testimonial-item {
    display: flex;
    align-items: center;
    gap: 48px;
    background: rgb(var(--color-white));
    padding: 16px;
    border-radius: 6px;
}

.sz-testimonial-image-wrap {
    width: 314px;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

@media (max-width: 992px) {
    .sz-whyus-divider {
        display: none;
    }

    .sz-why-us-content-row,
    .sz-net0-cards-wrap {
        flex-wrap: wrap;
    }

    .sz-net0-card {
        width: 100%;
    }

    .sz-net0-card:not(:last-child) {
        border-right: none;
    }

    .sz-faster-reporting,
    .sz-the-cost,
    .sz-emissions-reduction,
    .sz-customer-service {
        gap: 40px;
    }

    .sz-why-us-content-wrap {
        gap: 40px;
    }

    .sz-testimonial-image-wrap {
        display: none;
    }
    .sz-service-card-title{
        font-size: 1.5rem;
        line-height: 2rem;
        letter-spacing: 0;
    }
    .sz-home-service-card-desc, .sz-service-keypoint-text{
        font-size: 1rem;
        line-height: 1.375rem;
    }
    .sz-service-card-header{
        padding: 20px 16px;
    }
    .sz-button-secondary{
        padding: 12px 24px;
        font-size: 14px;
        line-height: 22px;
    }
}

.sz-testimonial-image {
    width: 100%;
    border-radius: 8px;
}

.sz-testimonial-quote {
    font-size: 20px;
    line-height: 34px;
    font-weight: 400;
    margin-top: 24px;
    color: rgb(var(--color-mid-black));
}

.sz-testimonial-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px 16px;
    height: 100%;
    justify-content: space-between;
}

.sz-author-name {
    font-size: 18px;
    color: rgb(var(--color-mid-black));
    font-weight: 600;
    line-height: 26px;
}

.sz-company-name {
    font-size: 16px;
    color: rgb(var(--color-mid-black));
    line-height: 24px;
}

.sz-testimonial-slider-nav {
    position: absolute;
    z-index: 99;
    display: flex;
    gap: 8px;
    right: 60px;
    bottom: 40px;
}

.sz-testimonial-slider-nav .sz-testimonial-btn-prev.swiper-button-disabled,
.sz-testimonial-slider-nav .sz-testimonial-btn-next.swiper-button-disabled {
    background-color: rgb(var(--color-light));
}

/* FAQ Section */
.sz-faq-container {
    display: flex;
    justify-content: space-between;
    gap: 42px;
}

@media (max-width: 1024px) {

    .sz-faq-container,
    .sz-work-container {
        flex-wrap: wrap;
    }
}

.sz-faq-header {
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 8px 0;
}

.sz-faq-header:hover {
    opacity: 0.8;
}


.sz-faq-heading,
.sz-community-heading,
.sz-work-title {
    font-size: 44px;
    font-weight: 500;
    line-height: 56px;
    letter-spacing: -0.88px;
    margin-bottom: 20px;
}

.sz-faq-heading-wrap {
    width: 100%;
    max-width: 386px;
}

.sz-faq-title {
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    margin: 0;
    flex: 1;
}

.sz-faq-desc {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    margin-top: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease, margin-top 0.3s ease;
}

.sz-faq-desc.active {
    max-height: 500px;
    opacity: 1;
    padding: 16px 0 0 0;
    margin-top: 8px;
}

.sz-faq-desc,
.sz-faq-subtitle,
.sz-community-subtitle {
    font-size: 18px;
    line-height: 28px;
    color: rgb(var(--color-mid-black));
}

.sz-faq-item {
    padding-bottom: 28px;
    border-bottom: 1px solid rgb(var(--color-dark), 0.1);
    transition: background-color 0.3s ease;
}

.sz-faq-item:not(:first-child) {
    padding-top: 28px;
}

.sz-faq-item:hover {
    background-color: rgba(var(--color-primary, 0, 156, 160), 0.02);
}

.sz-faq-content-wrap {
    max-width: 680px;
}

.sz-faq-icon {
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 12px;
}

.sz-faq-icon.active {
    transform: rotate(45deg);
}

.sz-faq-toggle-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: left;
}

.sz-faq-toggle-btn:focus {
    outline: none;
}

/* Screen reader only text for better accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Community Section */
.sz-community-section {
    background-color: rgb(var(--color-light));
}

.sz-community-container {
    max-width: 1240px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgb(var(--color-white));
    padding: 20px 20px 20px 60px;
    border-radius: 16px;
}

.sz-community-heading {
    font-weight: 600;
    margin-bottom: 8px;
}

.sz-community-content-wrap {
    width: 100%;
    max-width: 500px;
}

.sz-community-image-wrap {
    max-width: 560px;
}

.sz-community-image-wrap .sz-community-image {
    width: 100%;
    border-radius: 8px;
    display: inline-flex;
}

.sz-community-form-wrap {
    margin-top: 45px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.sz-community-form-inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sz-input,
.sz-textarea {
    font-family: 'Inter';
    width: 100%;
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid rgb(var(--color-dark), 0.1);
    font-size: 18px;
    line-height: 28px;
    color: rgb(var(--color-dark));
}

.sz-textarea {
    resize: vertical;
    ;
}

/* How SZ Work Section */
.sz-work-section {
    background: linear-gradient(90deg, #FFFFFF 0%, #F3F5F6 100%);
}

.sz-work-container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.sz-work-content-wrap {
    width: 100%;
    max-width: 560px;
    padding-top: 48px;
}

.sz-work-steps-wrap {
    width: 100%;
    max-width: 710px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.sz-work-step {
    background: rgb(var(--color-white));
    padding: 40px 32px;
    border-radius: 10px;
}

.sz-step-head,
.sz-steps-keypoint {
    display: flex;
    gap: 12px;
    align-items: center;
}

.sz-step-head {
    margin-bottom: 28px;
}
.sz-step-head svg {
    flex-shrink: 0;
}

.sz-steps-keypoint {
    gap: 14px;
    padding-left: 12px;
}

.sz-work-step-heading {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.25;
}

.sz-step-keypoint-text {
    font-size: 18px;
    line-height: 28px;
}

.sz-steps-keypoint-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sz-step-count {
    padding-left: 46px;
    margin-bottom: 18px;
    display: block;
}

/* Footer */
.sz-footer {
    background-color: rgb(var(--color-black));
}

.sz-footer-inner {
    display: flex;
}

.sz-footer-row {
    display: flex;
    gap: 34px;
    padding: 100px 0 80px 80px;
}


.sz-footer-desc-wrap {
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 100px 40px 80px 0;
    max-width: 416px;
}

.sz-footer-logo {
    width: 225px;
    margin-bottom: 12px;
}

.sz-footer-desc {
    font-size: 14px;
    color: rgb(var(--color-white), 70%);
    line-height: 22px;
}

.sz-footer-social-icons {
    margin-top: auto;
    position: relative;
    padding-top: 120px;
}

.sz-footer-social-icons::before {
    content: "";
    position: absolute;
    width: calc(100% + 39px);
    height: 1px;
    background-color: rgba(227, 246, 250, 20%);
    bottom: 20px;
    left: -0;
}

.sz-footer-social-heading {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: rgb(var(--color-white));
}

.sz-footer-icon-ul {
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    position: relative;
}

.sz-social-icons {
    width: 56px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .2s all;
    border-radius: 2px;
    background-color: #1F1F1F;
}

.sz-footer-icon-ul li:first-child .sz-social-icons {
    border-radius: 40px 0 0 40px;
}

.sz-footer-icon-ul li:last-child .sz-social-icons {
    border-radius: 0 40px 40px 0;
}

.sz-social-icons:hover {
    background-color: #292929;
}

.sz-social-icons svg {
    width: 16px;
    height: 18px;
    fill: rgb(var(--color-white), .9);
    transition: .2s all;
}

.sz-social-icons:hover svg {
    fill: rgb(var(--color-white));
}


.sz-footer-heading {
    color: rgb(var(--color-white));
    margin-bottom: 22px;
    text-transform: capitalize;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 500;
}

.sz-footer-links {
    color: rgb(var(--color-white), 70%);
    width: 100%;
    padding: 12px 0;
    transition: all 0.2s linear;
    align-items: center;
}

.sz-footer-links:hover {
    color: #FB8500;
}

.sz-copyright-wrapper {
    padding: 32px;
    text-align: center;
    border-top: 1px solid rgba(227, 246, 250, 20%);
}

.sz-footer-contact-info {
    gap: 12px;
}

.sz-footer-icon {
    font-size: 20px;
}



@media (max-width: 1240px) {
    .sz-footer-row {
        flex-wrap: wrap;
    }
}


@media(min-width:1025px) {
    .sz-header {
        position: fixed;
        top: 20px;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .sz-footer-desc-wrap::after {
        content: "";
        position: absolute;
        width: 1px;
        height: 100%;
        background-color: rgba(227, 246, 250, 20%);
        top: 0;
        right: 0;
    }
}

@media(max-width: 1024px) {
    .sz-header {
        position: sticky;
        top: 0;
    }

    .sz-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 100;
        width: 100%;
        height: 50px;
        box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.1);
        background: rgb(var(--color-light));
        padding: 0;
        z-index: 999;
        gap: 0;
    }

    .sz-nav-list {
        position: fixed;
        bottom: 62px;
        left: -300px;
        background-color: rgb(var(--color-white));
        padding: 12px;
        width: 100%;
        max-width: 284px;
        max-height: calc(100vh - 120px);
        overflow: auto;
        transform: scale(0);
        opacity: 0;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        border-radius: 4px;
    }

    .sz-nav-list.active {
        transform: scale(1);
        opacity: 1;
        left: 12px;
    }

    .sz-nav-item {
        width: 100%;
    }

    .sz-nav-link {
        color: rgb(var(--color-dark), .9);
        width: 100%;
        text-transform: capitalize;
        padding: 8px 12px;
    }

    .sz-nav-btn {
        margin-left: auto;
        margin-right: auto;
        width: calc(100% - 50px);
        height: 100%;
        background-color: rgb(var(--color-light));
        color: rgb(var(--color-primary));
        justify-content: center;
        font-weight: 500;
        align-items: center;
    }

    .sz-megamenu-content {
        position: static;
        width: 100%;
        box-shadow: none;
        background: transparent;
        padding: 0;
        margin: 0;
        display: none;
        border: none;
    }

    .sz-megamenu.active .sz-megamenu-content {
        display: block;
    }

    .sz-megamenu-inner {
        grid-template-columns: 1fr;
    }

    .sz-megamenu-link {
        font-size: 12px;
    }

    .sz-megamenu-toggle::before {
        display: none;
    }

    .sz-menu-button {
        display: flex;
        width: 50px;
        height: 50px;
        flex-shrink: 0;
        background-color: rgb(var(--color-dark));
        align-items: center;
        justify-content: center;
        outline: 0;
        border: 0;
    }

    .sz-menu-line {
        width: 26px;
        height: 2px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        background-color: rgb(var(--color-white), .9);
    }

    .sz-menu-button.active .sz-menu-line {
        background-color: transparent;
    }

    .sz-menu-line::before,
    .sz-menu-line::after {
        content: "";
        width: 26px;
        height: 2px;
        background-color: rgb(var(--color-white), .9);
        pointer-events: none;
        position: absolute;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .sz-menu-line::after {
        transform: translateY(7px) rotate(0deg) translateZ(0);
    }

    .sz-menu-line::before {
        transform: translateY(-8px) rotate(0deg) translateZ(0);
    }

    .sz-menu-button.active .sz-menu-line::before {
        transform: translateY(0) rotate(45deg) translateZ(0);
    }

    .sz-menu-button.active .sz-menu-line::after {
        transform: translateY(0) rotate(-45deg) translateZ(0);
    }

    .sz-copyright-wrapper {
        padding-bottom: 30px;
    }

    .sz-main-banner-inner {
        flex-wrap: wrap;
        justify-content: center;
    }

    .sz-footer-desc-wrap {
        max-width: 100%;
        padding: 64px 25px 48px 0;
    }

    .sz-footer-social-icons {
        padding-top: 32px;
    }

    .sz-footer-inner {
        flex-wrap: wrap;
    }

    .sz-footer-row {
        padding: 0 0 24px;
    }

    .sz-testimonial-slider-nav{
        position: static;
        margin-top: 1rem;
    }
}


@media(max-width: 576px) {

    .sz-footer {
        padding: 60px 0;
    }

    .sz-copyright-wrapper {
        padding-top: 30px;
        margin-top: 40px;
    }
}

/* Contact */
.sz-contact-banner-section {
    background-image: url(../medias/contact-bg-image.png);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.sz-banner-title,
.sz-service-banner-title {
    background-color: rgb(var(--color-primary));
    color: rgb(var(--color-light));
    padding: 4px 14px;
    max-width: 180px;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
}

.sz-banner-heading,
.sz-service-banner-heading {
    font-size: 46px;
    line-height: 59px;
    font-weight: 500;
    margin-top: 30px;
    padding-bottom: 50px;
}

.sz-contact-info-row {
    display: flex;
    gap: 60px;
    justify-content: center;
}

.sz-contact-info-section,
.sz-howitworks-section,
.sz-knowledge-serices-section,
.sz-how-we-do-row,
.sz-sustainability-section,
.sz-benefits-section,
.sz-blog-section,
.sz-who-we-are-section {
    padding: 70px 0;
}

.sz-services-content-section {
    padding: 16px 0 70px;
}

.sz-howitworks-section {
    margin-bottom: 70px;
    scroll-margin-top: 50px;
}

.sz-knowledge-row,
.sz-blog-grid-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(306px, 1fr));
    gap: 32px 48px;
}

.sz-blog-grid-wrap {
    gap: 20px;
}

.sz-contact-info {
    display: flex;
    gap: 30px;
    max-width: 384px;
}

.sz-contact-icons {
    font-size: 32px;
    flex-shrink: 0;
}

.sz-contact-card-heading {
    font-size: 22px;
    margin-bottom: 10px;
}

.sz-contact-detail {
    font-size: 20px;
    line-height: 1.6;
    color: rgb(var(--color-black));
    font-style: normal;
}

.sz-contact-form-section {
    border-top: 1px solid rgb(var(--color-primary), .5);
    border-bottom: 1px solid rgb(var(--color-primary), .5);
}

.sz-contact-content-wrap {
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sz-contact-form-wrap {
    padding: 50px;
    display: flex;
    flex-direction: column;
    gap: 36px;
    position: relative;
}

.sz-success-message {
    position: absolute;
    left: 0;
    top: 8px;
    width: 100%;
    height: calc(100% - 16px);
    z-index: 22;
    background-color: rgb(var(--color-white));
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: rgba(5, 184, 1, 0.3) 0px 2px 8px 0px;
    display: none;
    padding: 24px 24px 40px;
}

.sz-indication-img {
    height: 100px;
    width: 140px;
    background-image: url(../medias/sustainzone_stripe.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: 0 -112px;
    padding: 40px;
}

.sz-success-message[data-type="info"] {
    box-shadow: rgb(41 91 249 / 30%) 0 2px 8px 0;

}

.sz-success-message[data-type="info"] .sz-indication-img {
    background-position: 0 -240px;
}

.sz-indication-heading {
    margin: 42px 0 20px;
    font-size: 24px;
    font-family: 'Inter';
    font-weight: 600;
}

.sz-indication-message {
    font-size: 16px;
    max-width: 320px;
    color: rgb(var(--color-dark));
    opacity: .8;
    margin-top: 0;
}

.sz-content-heading {
    font-size: 59px;
    font-weight: 500;
    line-height: 120%;
}

.sz-content-desc {
    font-size: 25px;
    margin-bottom: 20px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: 'Inter Tight', sans-serif;
}

.sz-text-highlight {
    color: rgb(var(--color-orange));
}

.sz-form-row,
.sz-sustainability-row,
.sz-who-we-are-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media(max-width:902px) {
    .sz-who-we-are-row {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}

@media(max-width: 1024px) {

    .sz-form-row,
    .sz-sustainability-row {
        grid-template-columns: 1fr;
    }
}

.sz-form-input,
.sz-form-textarea,
.sz-cform-textarea,
.sz-newsletter-input {
    border: 0;
    background: transparent;
    border-bottom: 1px solid rgba(28, 17, 0, 0.08);
    padding: 14px 0;
    font-family: 'Inter';
    font-size: 17px;
    width: 100%;
    margin-bottom: 24px !important;
}

.sz-form-textarea {
    resize: vertical;
    min-height: 180px;
}

.sz-cform-textarea {
    resize: vertical;
    min-height: 108px;
    line-height: 1.4;
    color: rgb(var(--color-black), 80%);
}

.sz-cform-textarea.sz-blog-textarea {
    border: .2rem solid rgba(185, 185, 185, 0.4);
    padding: .9rem 1.6rem;
    color: #66717f;
}

.sz-cform-character-count {
    color: rgb(var(--color-dark), 75%);
    font-size: 14px;
    text-align: right;
}

.sz-spinner {
    display: block;
    height: 16px;
    width: 16px;
    border: 2px rgba(20, 27, 41, .25) solid;
    border-top: 2px #141b29 solid;
    border-right: 2px #141b29 solid;
    border-bottom: 2px #141b29 solid;
    border-radius: 50%;
    -webkit-animation: spinner 1s infinite linear;
    animation: spinner 1s infinite linear
}

.sz-spinner[data-color=white] {
    border-color: rgba(255, 255, 255, .25);
    border-top-color: #fff;
    border-right-color: #fff;
    border-bottom-color: #fff
}

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.sz-form-error {
    padding-top: 12px;
    color: #dc3545;
    font-size: 14px;
}

.sz-mb-0 {
    margin-bottom: 0;
}

.sz-client-count {
    font-size: 72px;
    font-weight: 500;
}

.sz-client-count-wrap {
    display: flex;
    align-items: center;
    gap: 30px;
    padding-top: 24px;
}

.sz-form-desc {
    font-size: 17px;
    line-height: 26px;
}

.sz-map-iframe {
    padding: 20px 0;
    border: 0;
    height: 400px;
    width: 100%;
}

.sz-newsletter-section {
    padding: 100px 0;
    position: relative;
    background: linear-gradient(to top, #FFFFFF 0%, #F3F5F6 19%, #F3F5F6 100%);
}

.sz-newsletter-content-wrap {
    width: 100%;
    background-color: #fff;
    border-radius: 16px;
    padding: 20px;
    position: relative;
    display: flex;
    gap: 20px;
}

.sz-community-column {
    width: 100%;
}

.sz-community-img-wrap {
    width: 100%;
    display: flex;
    align-items: center;
}

.sz-community-img-wrap img {
    max-width: 100%;
}

@media (max-width: 1024px) {
    .sz-newsletter-content-wrap {
        flex-wrap: wrap;
    }
}

@media (min-width: 992px) {
    .sz-community-form-col {
        padding: 40px 60px;
    }
}

.sz-newsletter-section .sz-success-message {
    width: calc(100% - 20px);
    left: 10px;
}

.sz-newsletter-section .sz-indication-message {
    max-width: 480px;
}

.sz-newsletter-heading {
    font-family: "Inter Tight";
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 16px;
}

.sz-newsletter-desc {
    margin: 0 0 40px;
    max-width: 460px;
    opacity: 0.84;
}

.ms-newsletter-input-wrap {
    position: relative;
    max-width: 684px;
    margin: 0;
}

.sz-newsletter-input {
    border-bottom: 1px solid rgba(28, 17, 0, 0.08);
    ;
}

.sz-checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgb(var(--color-dark), .9);
    margin-bottom: 24px;
    font-size: 15px;
}

.sz-checkbox-wrap a {
    color: rgb(var(--color-orange))
}

.sz-checkbox-wrap a:hover {
    text-decoration: underline;
}

.sz-join-btn {
    margin-top: 16px;
    min-width: 224px;
}

.sz-arrow-icon {
    font-size: 22px;
    color: rgb(var(--color-orange));
}

.sz-newsletter-input:focus {
    border-color: rgb(var(--color-orange));
}

@media(min-width: 1025px) {

    .sz-header,
    .sz-header::before {
        border-radius: 100px;
    }

    .sz-contact-form-section {
        background-image: linear-gradient(to right, rgb(var(--color-white)) 50%, rgb(var(--color-bg-light)) 50%);
    }
}

@media(max-width: 1024px) {
    .sz-contact-form-wrap {
        background-color: rgb(var(--color-bg-light));
        margin-left: -15px;
        margin-right: -15px;
        width: 100vw;
    }
    
    .sz-newsletter-heading{
        font-size: 26px;
    }
}

@media(min-width: 577px) {
    .sz-cform-wrap {
        display: flex;
        flex-wrap: wrap;
    }
}

@media(max-width: 576px) {
    .sz-header-inner {
        padding: 16px 0;
    }

    .sz-contact-banner-section {
        min-height: 334px;
    }

    .sz-banner-heading {
        font-size: 32px;
        line-height: 38px;
        padding-bottom: 0;
        margin-top: 20px;
    }

    .sz-banner-title,
    .sz-service-banner-title {
        font-size: 16px;
        max-width: max-content;
    }

    .sz-contact-icons {
        font-size: 28px;
    }

    .sz-contact-detail {
        font-size: 18px;
    }

    .sz-contact-card-heading {
        font-size: 20px;
    }

    .sz-contact-form-wrap {
        padding: 48px 16px;
    }

    .sz-client-count {
        font-size: 54px;
    }

    .sz-content-heading {
        font-size: 40px;
    }

    .sz-content-desc {
        font-size: 22px;
    }
}

/* Services */
.sz-service-banner {
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 420px;
    padding-top: 100px;
}

.sz-carbon-offsetting-banner {
    background-image: url(../medias/carbon-offsetting-banner-img.png);
}

.sz-carbon-neg-sup-banner {
    background-image: url(../medias/carbon-negative-supplies.png);
}

.sz-net-zero-banner {
    background-image: url(../medias/net-zero-advice.png);
}

.sz-carbon-reduction-banner {
    background-image: url(../medias/carbon-reduction.png);
}

.sz-carbon-accounting-banner {
    background-image: url(../medias/carbon-accounting.png);
}

.sz-route-net-zero-banner {
    background-image: url(../medias/route-to-net-zero.png);
}

.sz-ghg-banner {
    background-image: url(../medias/ghg-banner-image.png);
}

.sz-cbam-banner {
    background-image: url(../medias/ghg-banner-image.png);
}

.sz-sbti-banner {
    background-image: url(../medias/sbti-banner-image.png);
}

.sz-crs-banner {
    background-image: url(../medias/carbon-reduction-strategies.png);
}

.sz-supply-chain-banner {
    background-image: url(../medias/supplier-ratings-and-assessments.png);
}

.sz-sbti-service-heading {
    font-size: 28px;
    margin: 50px 0 30px 0;
}

.sz-sbti-service-img {
    width: 100%;
    border-radius: 8px;
}

.sz-sbti-heading {
    margin-bottom: 12px;
}

.sz-sbti-service-wrap {
    margin-bottom: 40px;
}

.sz-service-banner-content,
.sz-scoring-service-img {
    max-width: 800px;
}

.sz-service-banner-heading {
    padding-bottom: 0;
}

.sz-service-heading {
    margin: 24px 0;
}

.sz-service-desc {
    color: rgb(var(--color-primary));
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 26px;
}

.sz-service-link {
    text-decoration: underline;
}

.sz-service-button-wrap {
    text-align: center;
}

.sz-button-secondary {
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    border: 2px solid rgb(var(--color-primary));
    letter-spacing: 1.3px;
    font-family: 'Inter Tight', sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    color: rgb(var(--color-primary));
    transition: .3s all;
    background-color: #fff;
    cursor: pointer;
}

.sz-button-secondary:hover {
    background-color: rgb(var(--color-primary));
    color: rgb(var(--color-white));
}

.sz-service-content {
    margin-bottom: 46px;
}

.sz-other-service-heading-wrap,
.sz-blog-heading-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.sz-other-service-link,
.sz-service-arrow-link {
    transition: .3s all;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.sz-other-service-link:not(.swiper-button-disabled):hover {
    background-color: rgb(var(--color-primary));
    cursor: pointer;
}

.sz-slider-arrow-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sz-slider-arrow-wrap .swiper-button-disabled {
    opacity: 0.6;
}

.sz-services-button-prev {
    transform: scale(-1);
}

@media(max-width: 640px) {
    .sz-service-img-wrap {
        width: 100%;
    }
}

.sz-other-services-section {
    padding-bottom: 50px;
}

.sz-service-img-wrap {
    position: relative;
}

.sz-services-img {
    width: 100%;
    object-fit: cover;
    transition: .3s all;
}

.sz-service-arrow-link {
    border-radius: 0;
    position: absolute;
    background-color: rgb(var(--color-primary));
    right: 0;
    bottom: 0;
    transition: .3s all;
}

.sz-service-img-wrap:hover .sz-service-arrow-link {
    width: 100%;
    gap: 20px;
}

.sz-service-arrow-icon {
    font-size: 20px;
    transform: rotate(45deg);
    color: rgb(var(--color-secondary));
    transition: .3s all;
}

.sz-service-img-wrap:hover .sz-service-arrow-icon {
    transform: rotate(0);
    color: rgb(var(--color-orange));
}

.sz-service-title {
    display: none;
    color: rgb(var(--color-white));
}

.sz-service-img-wrap:hover .sz-service-title {
    display: block;
}

.sz-service-list-wrap:not(ol) {
    list-style: disc;
    padding-left: 20px;
}

ol.sz-service-list-wrap {
    padding-left: 24px;
}

.sz-service-list {
    margin-bottom: 16px;
}

.sz-cbam-service-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.sz-cbam-service-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.sz-cbam-service-card h3 {
    margin-bottom: 10px;
}

.sz-cbam-cta {
    margin-top: 32px;
    padding: 28px;
    border-radius: 12px;
    background: rgba(9, 74, 52, 0.06);
    border: 1px solid rgba(9, 74, 52, 0.18);
}

.sz-cbam-cta .sz-button-secondary {
    margin-top: 12px;
    display: inline-flex;
}

@media(max-width: 767px) {
    .sz-scoring-service-img {
        max-width: 100%;
    }

    .sz-cbam-service-wrap {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .sz-cbam-service-card,
    .sz-cbam-cta {
        padding: 20px;
    }
}

@media(max-width: 576px) {
    .sz-service-banner {
        min-height: 130px;
    }

    .sz-service-banner-heading {
        margin-top: 12px;
        font-size: 22px;
        line-height: 28px;
    }

    .sz-ghg-banner,
    .sz-crs-banner {
        background-position: left;
    }

    .sz-sbti-service-heading {
        font-size: 20px;
        margin: 36px 0 20px 0;
    }

    .sz-sbti-heading {
        font-size: 18px;
    }
}

.sz-knowledge-banner-section,
.sz-blog-banner-section {
    background-image: url(../medias/sustainzone-solutions.webp);
    background-position: center;
    background-size: cover;
    position: relative;
}

.sz-knowledge-banner-section .sz-home-banner-para {
    max-width: 850px;
}

.sz-blog-banner-section .sz-container {
    min-height: calc(100vh - 100px);
    display: flex;
    align-items: center;
}

.sz-blog-banner-section {
    background-image: url(../medias/sustainzone-blog.jpg);
}

.sz-knowledge-banner-content {
    max-width: 430px;
    padding-top: 42px;
    padding-bottom: 42px;
}

.sz-knowledge-banner-heading {
    font-size: 46px;
    font-weight: 500;
    margin-bottom: 30px;
}

.sz-kowledge-banner-btn {
    gap: 10px;
    margin-top: 30px;
    letter-spacing: 1.3px;
    padding: 10px 24px;
    font-size: 16px;
}

.sz-kowledge-banner-btn .sz-btn-arrow-icon {
    font-size: 20px;
    color: rgb(var(--color-secondary));
}

.sz-sustainability-content-wrap {
    max-width: 408px;
}

.sz-sustainability-heading {
    font-size: 38px;
    line-height: 53px;
    font-weight: 500;
}

.sz-slider-heading {
    font-size: 80px;
    font-weight: 500;
}

.sz-slider-wrap {
    width: 100%;
    max-height: 236px;
    margin-bottom: 30px;
    cursor: grab;
}

.sz-slider-text {
    max-width: 500px;
    font-size: 22px;
    min-height: 140px;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.sz-howitworks-container {
    max-width: 960px;
}

.sz-sustainability-section,
.sz-our-team-section {
    background-color: rgb(var(--color-bg-light));
}

.sz-section-title {
    font-size: 38px;
    line-height: 46px;
    margin-bottom: 24px;
}

.sz-section-subtitle {
    font-size: 22px;
}

.sz-howitworks-row {
    margin-top: 70px;
    display: flex;
    gap: 40px;
    align-items: center;
}

.sz-howitworks-img-wrap img,
.sz-blog-img-wrap img {
    width: 100%;
}

.sz-howitworks-img-wrap img {
    border-radius: 140px;
}

.sz-blog-img-wrap img {
    min-height: 400px;
    object-fit: cover;
}

.sz-count-heading {
    font-size: 80px;
    line-height: 64px;
    position: relative;
}

.sz-count-heading span {
    position: relative;
}

.sz-howitworks-content-wrap {
    display: flex;
    width: 50%;
    gap: 20px;
}

.sz-howitworks-img-wrap {
    width: 50%;
}

.sz-howitwork-heading {
    font-size: 29px;
    letter-spacing: 1.3px;
    line-height: 37px;
    margin-bottom: 20px;
}

.sz-howitwork-desc {
    font-size: 18px;
}

.sz-count-heading.sz-square::before {
    position: absolute;
    content: '';
    left: -16px;
    top: 20px;
    width: 60px;
    height: 60px;
    background-color: rgb(var(--color-secondary));
}

.sz-count-heading.sz-circle::before {
    position: absolute;
    content: '';
    left: -20px;
    top: 12px;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    background-color: rgb(var(--color-secondary));
}

.sz-count-heading.sz-triangle::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    left: -28px;
    top: 20px;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 80px solid rgb(var(--color-secondary));
}

.sz-knowledge-row {
    margin-top: 60px;
    gap: 26px;
}

.sz-knowledge-service-img {
    width: 100%;
    max-height: 326px;
}

.sz-service-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 26px;
    transition: .3s all;
    background-image: linear-gradient(rgb(var(--color-black), .7), rgb(var(--color-black), .4));
}

.sz-service-card-heading {
    font-size: 29px;
    color: rgb(var(--color-secondary));
    margin-bottom: 20px;
    line-height: 32px;
    font-weight: 500;
}

.sz-service-card-desc {
    font-size: 18px;
    color: rgb(var(--color-white));
    max-width: 300px;
}

.sz-how-we-do-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.sz-dashboard-img-wrap img {
    width: 100%;
}

.sz-how-we-do-desc,
.sz-about-desc,
.sz-story-desc {
    font-size: 18px;
    margin-top: 20px;
}

.sz-benefits-section {
    background-color: rgb(var(--color-primary));
}

.sz-benefits-grid-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-top: 60px;
    gap: 70px;
}

.sz-benefits-heading {
    font-size: 38px;
    color: rgb(var(--color-white));
    font-weight: 500;
}

.sz-benefits-card-icon {
    width: 36px;
    height: 36px;
}

.sz-benefits-card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sz-benefit-card-heading {
    font-size: 24px;
    font-weight: 500;
    color: rgb(var(--color-white));
}

.sz-benefit-card-desc {
    font-size: 18px;
    color: rgb(var(--color-white));
    line-height: 26px;
    font-weight: 300;
}

.sz-blog-view-more-btn,
.sz-read-more-btn {
    font-size: 18px;
    padding: 10px 20px;
    gap: 10px;
    align-items: center;
    text-transform: uppercase;
    font-weight: 700;
    color: rgb(var(--color-primary));
    font-family: 'Inter Tight', sans-serif;
    transition: .3s all;
}

.sz-blog-view-more-btn:hover {
    background-color: rgb(var(--color-primary));
    color: rgb(var(--color-white));
}

.sz-read-more-btn {
    padding: 0;
    font-size: 16px;
    transition: .3s all;
}

.sz-read-more-btn:hover {
    padding-left: 10px;
}

.sz-blog-post-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
}

.sz-blog-heading {
    font-size: 30px;
    color: rgb(var(--color-primary));
}

.sz-blog-category {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    background-color: rgb(var(--color-primary));
    color: rgb(var(--color-secondary));
    font-weight: 500;
    padding: 8px 14px;
}

@media(max-width: 992px) {
    .sz-knowledge-banner-section {
        min-height: 400px;
    }

    .sz-count-heading.sz-square::before {
        left: -4px;
        top: 20px;
        width: 46px;
        height: 46px;
    }

    .sz-count-heading.sz-triangle::before {
        left: -10px;
        top: 20px;
        border-left: 28px solid transparent;
        border-right: 28px solid transparent;
        border-bottom: 56px solid rgb(var(--color-secondary));
    }

    .sz-benefits-grid-row {
        grid-template-columns: 1fr 1fr;
    }

    .sz-how-we-do-row {
        gap: 30px;
    }

    .sz-sustainability-heading {
        font-size: 28px;
        line-height: 40px;
        margin-bottom: 30px;
    }
}

@media(max-width:767px) {

    .sz-contact-info-section,
    .sz-howitworks-section,
    .sz-knowledge-serices-section,
    .sz-how-we-do-row,
    .sz-sustainability-section,
    .sz-benefits-section,
    .sz-blog-section {
        padding: 50px 0;
    }

    .sz-services-content-section {
        padding: 0 0 50px;
    }

    .sz-howitworks-container {
        max-width: 100%;
    }

    .sz-howitworks-row {
        flex-direction: column;
    }

    .sz-howitworks-content-wrap,
    .sz-howitworks-img-wrap {
        width: 100%;
    }

    .sz-howitworks-content-wrap {
        order: 1;
    }

    .sz-howitworks-img-wrap {
        order: 2;
    }

    .sz-howitworks-img-wrap img {
        max-height: 284px;
        object-fit: cover;
    }

    .sz-how-we-do-row {
        grid-template-columns: 1fr;
    }

    .sz-blog-heading {
        font-size: 24px;
    }

    .sz-blog-grid-wrap {
        gap: 40px;
    }
}

@media(max-width: 576px) {
    .sz-benefits-grid-row {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .sz-knowledge-banner-section {
        min-height: 380px;
    }

    .sz-knowledge-banner-heading {
        margin-bottom: 16px;
    }

    .sz-section-title,
    .sz-benefits-heading {
        font-size: 32px;
        margin-bottom: 16px;
    }

    .sz-howitworks-row {
        margin-top: 34px;
    }

    .sz-howitwork-heading {
        font-size: 22px;
        line-height: 28px;
        margin-bottom: 16px;
    }

    .sz-count-heading {
        font-size: 60px;
    }

    .sz-count-heading.sz-square::before {
        width: 38px;
        height: 38px;
    }

    .sz-count-heading.sz-circle::before {
        left: -10px;
        top: 22px;
        width: 50px;
        height: 50px;
    }

    .sz-howitworks-img-wrap img {
        max-height: 162px;
    }

    .sz-blog-heading-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .sz-blog-img-wrap img {
        min-height: 250px;
        max-height: 250px;
    }

    .sz-service-card-heading {
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 16px;
    }

    .sz-knowledge-row,
    .sz-benefits-grid-row {
        margin-top: 40px;
    }

    .sz-service-card-desc {
        font-size: 16px;
    }

    .sz-slider-heading {
        font-size: 40px;
    }

    .sz-slider-wrap {
        max-height: 180px;
    }
}

.sz-page-subtitle{
    font-size: 20px;
    line-height: 30px;
    color: rgb(var(--color-orange));
    font-weight: 500;
    margin-bottom: 12px;
}
.sz-page-title{
    font-size: 3.25rem;
    line-height: 4rem;
    color: #170801;
    font-family: 'Inter';
    font-weight: 600;
    margin-bottom: 1rem;
}

/* About US */
.sz-about-us-section {
    background-image: url(../medias/about-us-image.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 700px;
    position: relative;
}

.sz-about-us-content {
    max-width: 486px;
    position: absolute;
    top: 20%;
}

.sz-about-heading {
    font-size: 46px;
    line-height: 52px;
    margin-bottom: 30px;
}

.sz-about-desc {
    font-size: 18px;
    line-height: 26px;
}

.sz-marquee-wrap {
    opacity: 0.6;
}

.sz-marquee-heading {
    font-size: 38px;
    color: rgb(var(--color-secondary));
}

.sz-about-us-image-wrap {
    text-align: center;
}

.sz-about-us-image-wrap .sz-about-img {
    width: 100%;
    max-width: 460px;
}

.sz-our-story-section {
    background-color: rgb(var(--color-secondary), .2);
    padding: 70px 0 140px 0;
}

.sz-story-desc {
    max-width: 930px;
    margin: 0 auto;
    text-align: center;
}

.sz-our-team-section {
    padding-bottom: 70px;
}

.sz-our-team-header {
    background-color: #eaffff;
}

.sz-team-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sz-team-img-wrap {
    display: flex;
    flex-direction: column;
}

.sz-ceo-img-wrap {
    width: 24%;
    margin-top: -120px;
}

.sz-team-info-wrap {
    background-color: rgb(var(--color-primary));
    margin-top: -1px;
    display: flex;
}

.team-person-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.sz-about-arrow-wrap {
    width: 50px;
    height: 50px;
    background-color: rgb(var(--color-secondary));
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.sz-about-arrow {
    font-size: 28px;
    transform: rotate(45deg);
}

.sz-persons-info {
    padding: 16px;
}

.sz-person-name {
    font-size: 20px;
    color: rgb(var(--color-white));
    line-height: 20px;
    font-weight: 600;
}

.sz-person-designation {
    margin-top: 10px;
    font-size: 18px;
    color: rgb(var(--color-white));
}

.sz-team-wrap {
    width: 70%;
}

.sz-team-row-inner {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 48px;
    margin-top: 80px;
}

.sz-team-detail {
    align-items: center;
    gap: 24px;
}

@media(max-width: 1024px) {
    .sz-team-row {
        flex-wrap: wrap;
    }

    .sz-team-row-inner {
        gap: 32px;
    }

    .sz-ceo-img-wrap {
        width: 100%;
        max-width: 340px;
        margin-top: 42px;
    }

    .sz-team-wrap {
        width: 100%;
    }

    .sz-team-row-inner {
        margin-top: 32px;
    }
}

.sz-solutions-section {
    padding-top: 40px;
    padding-bottom: 70px;
}

.sz-solutions-inner {
    display: flex;
    gap: 70px;
    margin-top: 30px;
}

.sz-soulutions-list {
    width: 100%;
    max-width: 520px;
    flex-shrink: 0;
}

.sz-solution-item {
    font-size: 22px;
    line-height: 1.4;
    cursor: pointer;
    margin-bottom: 26px;
    transition: .3s all;
    font-family: 'Inter Tight', sans-serif;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 18px;
}

.sz-solution-content,
.sz-solution-item .sz-tab-arrow {
    display: none;
}

.sz-solution-content.active {
    display: block;
}

.sz-solution-item.active {
    color: rgb(var(--color-orange));
    padding-bottom: 24px;
    border-bottom: 1px solid rgb(var(--color-dark));
}

.sz-tab-arrow {
    background-color: rgb(var(--color-orange));
    color: rgb(var(--color-white));
    padding: 10px 18px;
    border-radius: 40px;
}

.sz-solution-heading {
    font-size: 20px;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.sz-solution-btn {
    margin-top: 10px;
}

@media(min-width: 767px) {
    .sz-solution-item.active .sz-tab-arrow {
        display: block;
    }
}

@media(max-width:1199px) {
    .sz-solutions-inner {
        gap: 40px;
    }
}

@media(max-width:992px) {
    .sz-soulutions-list {
        max-width: 340px;
    }

    .sz-solution-item {
        font-size: 18px;
    }

    .sz-service-desc {
        font-size: 16px;
        line-height: 20px;
    }
}

@media(max-width: 767px) {
    .sz-solutions-inner {
        flex-direction: column;
    }

    .sz-soulutions-list {
        max-width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .sz-solution-item.active .sz-tab-arrow {
        display: none;
    }

    .sz-solution-item.active {
        border-bottom: 0;
        color: rgb(var(--color-secondary));
        background-color: rgb(var(--color-primary));
        padding-bottom: 8px;
    }

    .sz-solution-item {
        margin-bottom: 0;
        padding: 8px 16px;
    }
}

@media(max-width: 576px) {
    .sz-solution-item {
        font-size: 16px;
    }

    .sz-slider-text {
        font-size: 16px;
        padding-right: 20px;
    }
}

.sz-vertical-divider {
    display: block;
    width: 1px;
    height: 100px;
    background-color: rgb(var(--color-black), .4);
}

.sz-service-card {
    position: sticky;
    top: 90px;
}

.sz-service-card-inner {
    will-change: transform;
    background: white;
    border-radius: 24px;
    display: flex;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px hsla(265.3, 20%, 10%, 35%);
    transform-origin: center top;
}

.sz-service-cards {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-rows: repeat(var(--cards-count), var(--card-height));
    gap: 40px 0;
}

.sz-service-card-image-wrap {
    display: flex;
    width: 40%;
    flex-shrink: 0;
    padding: 16px;
}

.sz-service-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1;
    border-radius: 24px;
}

.sz-service-card-content {
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
}

.sz-service-card-title {
    padding: 0;
    margin: 0;
    font-size: 32px;
    margin-bottom: 10px;
    font-weight: 600;
}

.sz-service-card-desc {
    line-height: 1.4;
    font-size: 18px;
}

.sz-service-card-space {
    height: 20vh;
}

@media(max-width: 1200px) {
    .sz-service-cards {
        max-width: 100%;
    }
}

@media(max-width: 1024px) {
    .sz-service-card {
        top: 70px;
    }

    .sz-service-card-content {
        padding: 16px 20px;
    }

    .sz-service-desc,
    .sz-service-list {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .sz-solution-heading {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .sz-solution-btn {
        margin-top: 0;
    }

    .sz-solution-btn {
        font-size: 14px;
    }
    .sz-work-step{
        padding: 12px 16px;
    }
}

@media (max-width: 767px) {
    .sz-service-card-inner {
        flex-direction: column;
    }

    .sz-service-card-image-wrap {
        width: 100%;
        height: 100px;
    }

    .sz-vertical-divider {
        display: none;
    }

    .sz-service-card-content {
        padding: 16px;
    }

    .sz-service-desc,
    .sz-service-list {
        font-size: 13px;
    }

    .sz-contact-info-row {
        flex-direction: column;
        gap: 30px;
    }

    .sz-service-card-space {
        height: 16vh;
    }

    .sz-howitworks-section {
        margin-bottom: 50px;
    }
}

/* blog */
.sz-post-banner {
    background-color: rgb(var(--color-secondary-light));
    padding-top: 82px;
    padding-bottom: 84px;
}

.sz-banner-post-category {
    display: block;
}

.sz-banner-post-category ul {
    display: flex;
    gap: 12px;
}

.sz-banner-post-category a {
    display: inline-flex;
    font-size: 16px;
    background-color: rgb(var(--color-dark));
    color: rgb(var(--color-secondary));
    padding: 8px 12px;
    line-height: 18px;
    border-radius: 1px;
    letter-spacing: 1.2px;
    font-weight: 500;
}

.sz-banner-post-title,
.sz-banner-post-author a {
    color: rgb(var(--color-dark));
}

.sz-banner-post-meta {
    font-family: 'Inter Tight';
    text-transform: uppercase;
    display: flex;
    align-items: center;
    font-weight: 700;
    letter-spacing: 1.3px;
    color: rgb(var(--color-dark));
}

.sz-banner-post-author::before {
    content: "|";
    margin-left: 12px;
    margin-right: 8px;
}

.single-post main .entry-content {
    margin-top: 2rem;
}

.single-post #main main article .entry-header .entry-title {
    font-size: 2.25rem;
    font-weight: 700;
}

.sz-text-link {
    color: rgb(var(--color-primary));
    text-decoration: underline;
}

.sz-home-slide-heading {
    font-size: 30px;
    font-weight: 500;
    color: rgb(var(--color-white));
    margin-top: 14px;
}

.sz-mt-0 {
    margin-top: 0;
}

.sz-home-banner-content .swiper-button-prev,
.sz-home-banner-content .swiper-button-next {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sz-home-banner-content .swiper-button-prev:after,
.sz-home-banner-content .swiper-button-next:after {
    font-size: 34px;
    font-weight: 600;
    color: rgb(var(--color-secondary));
}

@media(max-width: 576px) {
    .sz-home-banner-content {
        padding-top: 100px;
    }

    .sz-home-banner-content .swiper-button-next {
        right: -14px;
    }

    .sz-home-banner-content .swiper-button-prev {
        left: -14px;
    }

    .sz-home-banner-title {
        font-size: 36px;
    }

    .sz-home-slide-heading {
        font-size: 20px;
    }

    .sz-home-banner-para {
        font-size: 16px;
    }

    .sz-home-banner-content .swiper-button-prev,
    .sz-home-banner-content .swiper-button-next {
        display: none;
    }

    .sz-home-banner-content .swiper-slide {
        background-color: rgb(0, 0, 0, 45%);
        padding: 24px;
        border-radius: 4px;
    }

    .sz-home-banner-content .sz-dark-button {
        margin: 24px auto 0;
    }

    .sz-whyus-title {
        font-size: 42px;
    }
}

/* Hero Section Layout */
.sz-hero-section {
    display: flex;
    align-items: center;
    min-height: calc(100vh - 82px);
    padding: 120px 0 80px;
    background-color: rgb(var(--color-light));
}

.sz-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.sz-hero-content {
    max-width: 640px;
}

.sz-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    padding: 8px 16px;
    background-color: rgb(var(--color-white));
    border-radius: 100px;
    box-shadow: 0 2px 8px rgba(149, 157, 165, 0.2);
}

.sz-hero-badge-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.sz-hero-badge-text {
    font-size: 12px;
    font-weight: 600;
    color: rgb(var(--color-primary));
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sz-hero-title {
    margin-bottom: 32px;
    font-size: 56px;
    font-weight: 600;
    line-height: 1.2;
    color: rgb(var(--color-primary));
}

.sz-hero-para {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.6;
    color: rgb(var(--color-primary), .8);
}

.sz-hero-features {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sz-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: rgb(var(--color-primary));
}

.szi-check {
    display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    transform: rotate(45deg);
}

.szi-check::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 3px;
    height: 10px;
    background-color: rgb(var(--color-orange));
}

.szi-check::after {
    content: "";
    position: absolute;
    right: 1px;
    bottom: 0;
    width: 6px;
    height: 3px;
    background-color: rgb(var(--color-orange));
}

/* Registration Form */
.sz-registration-form-wrap {
    width: 100%;
    max-width: 480px;
    padding: 40px;
    background: rgb(var(--color-white));
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(149, 157, 165, 0.2);
}

.sz-registration-form-title {
    margin-bottom: 32px;
    font-size: 28px;
    font-weight: 600;
    text-align: center;
    color: rgb(var(--color-primary));
}

.sz-registration-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sz-registration-form-group {
    position: relative;
}

.sz-registration-form-input {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border: 1px solid rgb(var(--color-primary), .2);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.sz-registration-form-input:focus {
    border-color: rgb(var(--color-orange));
}

.sz-registration-form-note {
    margin-top: 16px;
    font-size: 14px;
    text-align: center;
    color: rgb(var(--color-primary), .7);
}

.szi-arrow-right {
    font-size: 18px;
}


.sz-services-section {
    padding: 80px 0;
}

.sz-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 32px;
    margin-top: 40px;
}

.sz-services-card,
.sz-services-card .sz-service-img-wrap {
    width: 100%;
}

.sz-services-card .sz-service-img-wrap {
    overflow: hidden;
}

.sz-services-card:hover .sz-services-img {
    transform: scale(1.1);
}

.sz-services-card-overlay {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 84px 36px;
    background-image: linear-gradient(rgb(var(--color-black), .8), rgb(var(--color-black), .8));
    transition: .3s all;
}

.sz-services-card-inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1;
}

.sz-services-card-title {
    font-size: 26px;
    color: rgb(var(--color-secondary));
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.3px;
}

.sz-services-card-desc {
    font-size: 16px;
    color: rgb(var(--color-white));
    line-height: 1.4;
}

.sz-services-card .sz-service-img-wrap:hover .sz-service-arrow-link {
    width: 46px;
}

.sz-services-card .sz-service-img-wrap:hover .sz-service-title {
    display: none;
}

.sz-services-card .sz-services-img {
    position: absolute;
    height: 100%;
}

@media(max-width: 992px) {
    .sz-hero-inner {
        flex-direction: column;
        gap: 40px;
    }

    .sz-hero-content {
        max-width: 100%;
    }

    .sz-registration-form-wrap {
        max-width: 100%;
    }
}

@media(max-width: 576px) {
    .sz-hero-section {
        padding: 40px 0;
    }

    .sz-hero-title {
        font-size: 36px;
    }

    .sz-hero-para {
        font-size: 18px;
    }

    .sz-registration-form-wrap {
        padding: 24px;
    }

    .sz-registration-form-title {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .sz-services-grid {
        grid-template-columns: 1fr;
    }

    .sz-services-card-title {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .sz-services-card-desc {
        font-size: 16px;
    }
}

/* Fashion Industry Page Styles */
.sz-fashion-industry {
    background-color: #fbfbfb;
}

/* Hero Section */
.sz-fashion-hero {
    padding: 160px 0 80px;
    background-color: #F4EEE3;
}

.sz-fashion-hero-content {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

.sz-fashion-hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.sz-fashion-hero-desc {
    font-size: 1.25rem;
    margin-bottom: 3rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.9;
}

.sz-fashion-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    max-width: 800px;
    margin: 0 auto;
}

.sz-fashion-stat-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 16px;
    padding: 2rem;
    color: #172432;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.sz-stat-number {
    font-size: 3.5rem;
    font-weight: 900;
    color: #FF6B6B;
    margin-bottom: 0.5rem;
}

.sz-stat-label {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* Chart Containers */
.sz-chart-container {
    position: relative;
    width: 100%;
    height: 200px;
    margin: 1rem auto;
}

.sz-chart-container.sz-chart-large {
    height: 400px;
}

.sz-chart-container.sz-chart-medium {
    height: 250px;
}

@media (min-width: 768px) {
    .sz-chart-container {
        height: 250px;
    }

    .sz-chart-container.sz-chart-large {
        height: 450px;
    }

    .sz-chart-container.sz-chart-medium {
        height: 300px;
    }
}

/* Section Styles */
.sz-fashion-problem,
.sz-fashion-pressure,
.sz-fashion-vision,
.sz-fashion-delivery,
.sz-fashion-impact,
.sz-fashion-imperative {
    padding: 80px 0;
}

.sz-section-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.sz-section-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #172432;
}

.sz-section-desc {
    font-size: 1.125rem;
    color: #666;
    line-height: 1.6;
}

/* Fashion Chart Wrapper */
.sz-fashion-chart-wrapper {
    background: white;
    border-radius: 16px;
    padding: 3rem 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.sz-chart-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #118AB2;
    text-align: center;
    margin-bottom: 1rem;
}

.sz-chart-desc {
    text-align: center;
    color: #666;
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Pressure Cards */
.sz-fashion-pressure-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.sz-fashion-pressure-card {
    background: white;
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sz-fashion-pressure-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.sz-pressure-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.sz-pressure-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #172432;
}

.sz-pressure-desc {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Vision Section */
.sz-fashion-vision {
    background: white;
}

.sz-fashion-journey {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.sz-journey-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #118AB2;
    margin-bottom: 2rem;
}

.sz-flowchart {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .sz-flowchart {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }
}

.sz-flowchart-step {
    background-color: #118AB2;
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    min-width: 120px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.sz-flowchart-arrow {
    font-size: 2rem;
    color: #118AB2;
    transform: rotate(90deg);
}

@media (min-width: 768px) {
    .sz-flowchart-arrow {
        transform: rotate(0deg);
    }
}

.sz-journey-desc {
    color: #666;
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.sz-journey-cta {
    margin-top: 2rem;
}

/* Delivery Cards */
.sz-fashion-delivery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.sz-fashion-delivery-card {
    background: white;
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.sz-fashion-delivery-card:hover {
    transform: translateY(-5px);
}

.sz-delivery-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.sz-delivery-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #172432;
}

.sz-delivery-desc {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Impact Comparison */
.sz-fashion-comparison {
    background: white;
    border-radius: 16px;
    padding: 3rem 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.sz-comparison-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #118AB2;
    text-align: center;
    margin-bottom: 2rem;
}

.sz-comparison-table-wrapper {
    overflow-x: auto;
    margin-bottom: 3rem;
}

.sz-comparison-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.sz-comparison-table th,
.sz-comparison-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.sz-comparison-table th {
    background-color: #f9fafb;
    font-weight: 600;
    color: #374151;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sz-sustainzone-col {
    color: #06D6A0 !important;
}

.sz-sustainzone-value {
    font-weight: 600;
    color: #06D6A0;
}

.sz-comparison-charts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2rem;
}

.sz-comparison-chart {
    text-align: center;
}

.sz-chart-subtitle {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #374151;
}

.sz-chart-note {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 1rem;
}

/* Imperative Cards */
.sz-fashion-imperative-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.sz-imperative-card {
    background: white;
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.sz-imperative-card:hover {
    transform: translateY(-5px);
}

.sz-imperative-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #172432;
}

.sz-imperative-desc {
    color: #666;
    font-size: 0.875rem;
}

/* Call to Action */
.sz-fashion-cta {
    background: #172432;
    color: white;
    padding: 80px 0;
}

.sz-fashion-cta-content {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
}

.sz-cta-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    margin-bottom: 2rem;
}

.sz-cta-desc {
    font-size: 1.125rem;
    margin-bottom: 3rem;
    opacity: 0.9;
    line-height: 1.6;
}

.sz-fashion-targets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.sz-target-item {
    text-align: center;
}

.sz-target-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #95FFFF;
}

.sz-target-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
}

.sz-cta-btn {
    margin-top: 1rem;
}

/* Modal Styles */
.sz-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
    align-items: center;
    justify-content: center;
}

.sz-modal-content {
    background-color: white;
    margin: auto;
    padding: 2rem;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 500px;
    position: relative;
}

.sz-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 1.5rem;
    font-weight: bold;
    color: #999;
    cursor: pointer;
    transition: color 0.3s ease;
}

.sz-modal-close:hover {
    color: #172432;
}

.sz-modal-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    text-align: center;
    color: #172432;
}

.sz-modal-form {
    margin-bottom: 1rem;
}

.sz-modal-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.5rem;
}

.sz-modal-select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    background-color: white;
    color: #111827;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.sz-modal-select:focus {
    outline: none;
    border-color: #06D6A0;
    box-shadow: 0 0 0 3px rgba(6, 214, 160, 0.1);
}

.sz-modal-btn {
    width: 100%;
    margin-bottom: 1rem;
}

.sz-loading-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #06D6A0;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
    margin: 1rem auto;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.sz-modal-result {
    margin-top: 1rem;
    padding: 1rem;
    background-color: #f9fafb;
    border-radius: 8px;
    min-height: 100px;
    color: #374151;
    font-size: 0.875rem;
    line-height: 1.5;
}

.sz-modal-error {
    font-size: 0.75rem;
    color: #ef4444;
    margin-top: 0.5rem;
    text-align: center;
}

/* Responsive Design */

/* Large tablets and small desktops */
@media (max-width: 1024px) {
    .sz-fashion-hero-title {
        font-size: clamp(2rem, 4vw, 3rem);
    }

    .sz-fashion-hero-desc {
        font-size: 1.125rem;
    }
    .sz-section{
        padding: 60px 0;
    }
    .sz-section-title {
        font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    }

    .sz-fashion-stats-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
    }

    .sz-comparison-charts {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sz-chart-container.sz-chart-medium {
        height: 300px;
    }
}

/* Standard tablets */
@media (max-width: 768px) {

    .sz-fashion-hero,
    .sz-fashion-problem,
    .sz-fashion-pressure,
    .sz-fashion-vision,
    .sz-fashion-delivery,
    .sz-fashion-impact,
    .sz-fashion-imperative,
    .sz-fashion-cta {
        padding: 60px 0;
    }

    .sz-fashion-hero-content {
        padding: 0 1rem;
    }

    .sz-fashion-hero-desc {
        margin-bottom: 2rem;
    }

    .sz-fashion-chart-wrapper,
    .sz-fashion-comparison {
        padding: 2rem 1rem;
    }

    .sz-section-header {
        margin-bottom: 3rem;
        padding: 0 1rem;
    }

    .sz-section-desc {
        font-size: 1rem;
    }

    .sz-comparison-charts {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sz-fashion-stats-grid,
    .sz-fashion-pressure-grid,
    .sz-fashion-delivery-grid,
    .sz-fashion-imperative-grid,
    .sz-fashion-targets {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sz-flowchart {
        flex-direction: column;
        gap: 1rem;
    }

    .sz-flowchart-step {
        min-width: 200px;
        padding: 1rem;
        font-size: 0.9rem;
    }

    .sz-flowchart-arrow {
        transform: rotate(90deg);
        margin: 0.5rem 0;
    }

    .sz-chart-container.sz-chart-large {
        height: 350px;
    }

    .sz-chart-container.sz-chart-medium {
        height: 250px;
    }

    .sz-comparison-table th,
    .sz-comparison-table td {
        padding: 0.75rem 0.5rem;
        font-size: 0.875rem;
    }

    .sz-modal-content {
        margin: 1rem;
        width: calc(100% - 2rem);
        padding: 1.5rem;
    }

    .sz-modal-title {
        font-size: 1.25rem;
        margin-bottom: 1rem;
    }
}

/* Large mobile phones */
@media (max-width: 576px) {

    .sz-fashion-hero,
    .sz-fashion-problem,
    .sz-fashion-pressure,
    .sz-fashion-vision,
    .sz-fashion-delivery,
    .sz-fashion-impact,
    .sz-fashion-imperative,
    .sz-fashion-cta {
        padding: 40px 0;
    }

    .sz-fashion-hero-title {
        font-size: clamp(1.75rem, 6vw, 2.5rem);
        line-height: 1.1;
        margin-bottom: 1.5rem;
    }

    .sz-fashion-hero-desc {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .sz-section-title {
        font-size: clamp(1.5rem, 5vw, 2rem);
        margin-bottom: 1rem;
    }

    .sz-section-desc {
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .sz-stat-number {
        font-size: 2.5rem;
    }

    .sz-fashion-chart-wrapper,
    .sz-fashion-comparison {
        padding: 1.5rem 1rem;
        margin: 0 0.5rem;
        border-radius: 12px;
    }

    .sz-chart-title {
        font-size: 1.25rem;
        margin-bottom: 0.75rem;
    }

    .sz-chart-desc {
        font-size: 0.875rem;
        margin-bottom: 1.5rem;
    }

    .sz-fashion-pressure-card,
    .sz-fashion-delivery-card,
    .sz-imperative-card {
        padding: 1.5rem;
        margin: 0 0.5rem;
    }

    .sz-pressure-title,
    .sz-delivery-title {
        font-size: 1.125rem;
    }

    .sz-pressure-desc,
    .sz-delivery-desc {
        font-size: 0.85rem;
    }

    .sz-flowchart-step {
        min-width: 150px;
        padding: 0.75rem 1rem;
        font-size: 0.85rem;
    }

    .sz-journey-title {
        font-size: 1.125rem;
        margin-bottom: 1.5rem;
        padding: 0 1rem;
    }

    .sz-journey-desc {
        font-size: 0.9rem;
        padding: 0 1rem;
    }

    .sz-chart-container {
        height: 180px;
    }

    .sz-chart-container.sz-chart-large {
        height: 280px;
    }

    .sz-chart-container.sz-chart-medium {
        height: 200px;
    }

    .sz-comparison-title {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
    }

    .sz-comparison-table {
        font-size: 0.8rem;
    }

    .sz-comparison-table th,
    .sz-comparison-table td {
        padding: 0.5rem 0.25rem;
    }

    .sz-chart-subtitle {
        font-size: 0.9rem;
    }

    .sz-chart-note {
        font-size: 0.7rem;
        margin-bottom: 0.75rem;
    }

    .sz-cta-title {
        font-size: clamp(1.5rem, 5vw, 2rem);
        margin-bottom: 1.5rem;
    }

    .sz-cta-desc {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .sz-target-title {
        font-size: 1.125rem;
    }

    .sz-target-desc {
        font-size: 0.85rem;
    }

    .sz-modal-content {
        margin: 0.5rem;
        width: calc(100% - 1rem);
        padding: 1rem;
    }

    .sz-modal-title {
        font-size: 1.125rem;
    }

    .sz-modal-select {
        padding: 0.75rem 0.5rem;
        font-size: 0.9rem;
    }
}

/* Small mobile phones */
@media (max-width: 400px) {

    .sz-fashion-hero,
    .sz-fashion-problem,
    .sz-fashion-pressure,
    .sz-fashion-vision,
    .sz-fashion-delivery,
    .sz-fashion-impact,
    .sz-fashion-imperative,
    .sz-fashion-cta {
        padding: 30px 0;
    }

    .sz-fashion-hero-title {
        font-size: 1.5rem;
        line-height: 1.2;
    }

    .sz-fashion-hero-desc,
    .sz-cta-desc {
        font-size: 0.9rem;
    }

    .sz-section-title {
        font-size: 1.375rem;
    }

    .sz-stat-number {
        font-size: 2rem;
    }

    .sz-stat-label {
        font-size: 0.875rem;
    }

    .sz-fashion-chart-wrapper,
    .sz-fashion-comparison {
        padding: 1rem 0.75rem;
        margin: 0 0.25rem;
    }

    .sz-fashion-pressure-card,
    .sz-fashion-delivery-card,
    .sz-imperative-card {
        padding: 1.25rem;
        margin: 0 0.25rem;
    }

    .sz-pressure-icon,
    .sz-delivery-icon {
        font-size: 2.5rem;
    }

    .sz-flowchart-step {
        min-width: 130px;
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
    }

    .sz-chart-container {
        height: 160px;
    }

    .sz-chart-container.sz-chart-large {
        height: 250px;
    }

    .sz-chart-container.sz-chart-medium {
        height: 180px;
    }

    .sz-comparison-table {
        font-size: 0.75rem;
    }

    .sz-comparison-table th,
    .sz-comparison-table td {
        padding: 0.375rem 0.125rem;
    }

    .sz-modal-content {
        margin: 0.25rem;
        width: calc(100% - 0.5rem);
        padding: 0.75rem;
    }

    .sz-modal-close {
        top: 0.5rem;
        right: 0.5rem;
        font-size: 1.25rem;
    }
}

/* Extra responsive tweaks for very wide screens */
@media (min-width: 1200px) {

    .sz-fashion-hero-content,
    .sz-section-header {
        max-width: 1000px;
    }

    .sz-fashion-stats-grid {
        max-width: 900px;
    }

    .sz-comparison-charts {
        grid-template-columns: repeat(2, minmax(450px, 1fr));
        max-width: 1000px;
        margin: 0 auto;
    }
}

/* Landscape mobile orientation */
@media (max-height: 500px) and (orientation: landscape) {
    .sz-fashion-hero {
        padding: 40px 0;
    }

    .sz-fashion-hero-title {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .sz-fashion-hero-desc {
        margin-bottom: 1.5rem;
    }

    .sz-modal-content {
        max-height: 90vh;
        overflow-y: auto;
    }
}

/* Print styles */
@media print {
    .sz-fashion-hero {
        background: none;
        color: black;
    }

    .sz-modal {
        display: none;
    }

    .sz-flowchart-arrow {
        transform: none;
    }

    .sz-fashion-stats-grid,
    .sz-fashion-pressure-grid,
    .sz-fashion-delivery-grid,
    .sz-fashion-imperative-grid,
    .sz-fashion-targets {
        grid-template-columns: 1fr;
    }
}
/* Header dropdown fix */
.sz-header,
.sz-header-inner,
.sz-nav,
.sz-nav-list,
.sz-nav-item,
.sz-dropdown,
.sz-megamenu {
    overflow: visible !important;
}

.sz-dropdown {
    position: relative;
}

.sz-dropdown-menu {
    z-index: 999999 !important;
}

.sz-dropdown:hover .sz-dropdown-menu,
.sz-dropdown:focus-within .sz-dropdown-menu,
.sz-dropdown.active .sz-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.sz-dropdown:hover .sz-dropdown-arrow,
.sz-dropdown:focus-within .sz-dropdown-arrow,
.sz-dropdown.active .sz-dropdown-arrow {
    transform: rotate(180deg);
}

.sz-megamenu-content {
    z-index: 999999 !important;
}

.sz-megamenu:hover .sz-megamenu-content,
.sz-megamenu:focus-within .sz-megamenu-content,
.sz-megamenu.active .sz-megamenu-content {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (min-width: 1025px) {
    .sz-megamenu:hover .sz-megamenu-content,
    .sz-megamenu:focus-within .sz-megamenu-content,
    .sz-megamenu.active .sz-megamenu-content {
        transform: translateX(-50%) translateY(0) !important;
    }
}

@media (max-width: 1024px) {
    .sz-dropdown-menu {
        position: static !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
    }

    .sz-dropdown.active .sz-dropdown-menu,
    .sz-dropdown:hover .sz-dropdown-menu,
    .sz-dropdown:focus-within .sz-dropdown-menu {
        display: block !important;
    }
}

