:root {
    --color-primary:           #FF6A2B;
    --color-primary-hover:     #E55A1C;
    --color-secondary:         #FFA813;
    --color-secondary-hover:   #E8961F;
    
    --template-font:           "Geist";
    --template-headings-font:  "Geist";
}

body, html {
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #0F0F0F !important;
}

h1, h2, h3, h4, h5, h6,
.h4.homepage-group-title,
.product-name,
.cart-item-name {
    font-family: 'Geist', system-ui, sans-serif !important;
    font-weight: 700 !important;
}

.container {
    max-width: 1400px !important;
}

#carousel .item img,
.carousel .item img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.banners-row .col-sm-4:empty,
.banners-row .col-sm-4:has(.next-to-carousel-banners:empty),
.banners-row .col-sm-4:has(.banner-wrapper:empty) {
    display: none !important;
}
.banners-row .col-sm-8 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.content-wrapper.homepage-box.middle-banners-wrapper .row.banners-content > .col-sm-4,
.content-wrapper.homepage-box.middle-banners-wrapper .row.banners-content > .col-sm-6,
.content-wrapper.homepage-box.middle-banners-wrapper .row.banners-content > .col-sm-8,
.content-wrapper.homepage-box.middle-banners-wrapper .row.banners-content > .col-sm-12,
.content-wrapper.homepage-box.middle-banners-wrapper .row.banners-content > [class*="col-"],
.middle-banners-wrapper .banners-content > [class*="col-"] {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.content-wrapper.homepage-box.middle-banners-wrapper,
.middle-banners-wrapper .content-wrapper-in,
.middle-banners-wrapper .container,
.middle-banners-wrapper .banners-content,
.middle-banners-wrapper .banner-wrapper {
    overflow: visible !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.middle-banners-wrapper .container {
    width: 100% !important;
}

.middle-banners-wrapper .banners-content:not(:has([class*="col-"])) {
    display: none !important;
}

.benefitBanner.position--benefitHomepage,
.benefitBanner.position--benefitProduct {
    background-color: #EFF6FF !important;
    background-image: none !important;
    padding: 48px 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: calc(50% - 50vw) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

main.content:has(.benefitBanner.position--benefitHomepage) {
    overflow: visible !important;
}

.content-wrapper.before-carousel,
.content-wrapper.homepage-box.before-carousel,
.content-wrapper.before-carousel .content-wrapper-in,
.content-wrapper.homepage-box.before-carousel .content-wrapper-in,
.before-carousel .container,
#carousel,
.carousel,
.carousel-inner,
.banners-row {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.content-wrapper.container:has(.benefitBanner.position--benefitHomepage),
.content-wrapper.container:has(.benefitBanner.position--benefitHomepage) > .content-wrapper-in,
.content-wrapper.container:has(.benefitBanner.position--benefitHomepage) > .content-wrapper-in > main.content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.content-wrapper.banners-top-block,
.content-wrapper.banners-top-block.js-banners-top-block {
    margin: 0 !important;
}

.benefitBanner.position--benefitHomepage + * {
    margin-top: 48px !important;
}

.benefitBanner.position--benefitHomepage,
.benefitBanner.position--benefitProduct {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
}

.benefitBanner__item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex: 1 1 220px !important;
    max-width: 320px !important;
    text-align: left !important;
    margin: 0 !important;
}

.benefitBanner__picture {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.benefitBanner__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    line-height: 1.3 !important;
}

.benefitBanner__title {
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    color: #FF6A2B !important;
    text-transform: uppercase !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.benefitBanner__data {
    font-family: 'Geist', sans-serif !important;
    color: #292929 !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    margin-top: 4px !important;
}

@media (max-width: 767px) {
    .benefitBanner.position--benefitHomepage,
    .benefitBanner.position--benefitProduct {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 24px 16px !important;
        flex-direction: unset !important;
        padding: 24px 16px !important;
    }
    .benefitBanner__item {
        display: flex !important;
        flex-direction: column !important;       
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        gap: 8px !important;
        flex: unset !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .benefitBanner__picture {
        margin: 0 !important;
    }
    .benefitBanner__picture img,
    .benefitBanner__img {
        width: 56px !important;
        height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
    }
    .benefitBanner__content {
        align-items: center !important;
        text-align: center !important;
        gap: 4px !important;
    }
    .benefitBanner__title,
    .benefitBanner__data {
        text-align: center !important;
        max-width: 100% !important;
    }
    .benefitBanner__title {
        font-size: 0.8125rem !important;
        line-height: 1.2 !important;
    }
    .benefitBanner__data {
        font-size: 0.75rem !important;
        line-height: 1.3 !important;
    }
}

.next-to-carousel-banners {
    display: block !important;
    width: 100% !important;
}

.next-to-carousel-banners .banner-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.banner-wrapper .vsp-fav-cat-section,
.banner-wrapper .vsp-fav-cat-item,
.banner-wrapper .vsp-fav-cat-item__media,
.banner-wrapper .vsp-fav-cat-item__media img,
.banner-wrapper .vsp-fav-cat-name {
    max-width: none !important;
    background-image: none;
}

.vsp-fav-cat-section,
.banner-wrapper .vsp-fav-cat-section {
    margin: 0 auto !important;
}

.banner-wrapper .vsp-fav-cat-item {
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    background: transparent !important;
}

.banner-wrapper .vsp-fav-cat-item img {
    border-radius: 0 !important;
}

.product .p {
    background: #EFF6FF !important;
    background-color: #EFF6FF !important;
    background-image: none !important;
    border-radius: 20px !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0,58,89,0.08) !important;
    
    position: relative;     
    overflow: visible;      
}

.product .p:hover {
    box-shadow: 0 8px 24px rgba(0,58,89,0.15) !important;
}

.product .p .image img {
    mix-blend-mode: multiply;
}

.product .p .name,
.product .p .name span {
    color: #0F0F0F !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.product .p .price-final strong {
    color: #0F0F0F !important;
    font-weight: 700 !important;
}

.product .p .price-standard {
    color: #7C7E8F !important;
    text-decoration: line-through;
}

.product .p .p-desc {
    color: #292929 !important;
}

.flag-discount {
    position: relative !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: 50% !important;
    background: #001E2F !important;
    background-color: #001E2F !important;
    background-image: none !important;
    color: #ffffff !important;
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    box-shadow: 0 2px 8px rgba(0,30,47,0.3) !important;
    border: 3px solid #ffffff !important;
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    overflow: visible !important;
}

.flag-discount::before,
.flag-discount::after {
    display: none !important;
    content: none !important;
}

.flag-discount .price-save {
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    background: transparent !important;
    padding: 0 !important;
}

.flag-discount .price-standard {
    display: none !important;
}

.p-image-wrapper,
.p-detail-gallery-wrapper,
.p-image {
    overflow: visible !important;
}

.p-image-wrapper .flags-extra,
.p-detail .flags-extra,
.p-image .flags-extra {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column;
    gap: 4px;
}

@media (max-width: 767px) {
    .flag-discount {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
    }
    .flag-discount .price-save { font-size: 0.8rem !important; }
}

#footer,
footer#footer {
    background-color: #ffffff !important;
    color: #0F0F0F !important;
    padding-top: 48px !important;
    margin-top: 200px !important;
    overflow: visible !important;
}

footer#footer h2,
footer#footer h3,
footer#footer h4,
footer#footer h2 span,
footer#footer h3 span,
footer#footer h4 span {
    color: #003A59 !important;
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

footer#footer p,
footer#footer .banner-wrapper,
footer#footer .banner-wrapper p,
footer#footer .banner-wrapper div,
footer#footer ul li,
#footer ul a {
    color: #292929 !important;
    opacity: 1;
}

footer#footer a,
footer#footer .banner-wrapper a {
    color: #003A59 !important;
    text-decoration: none !important;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

footer#footer a:hover,
footer#footer .banner-wrapper a:hover {
    color: #FF6A2B !important;
    opacity: 1;
}

body:not(.type-index) .custom-footer__banner165,
body:not(.type-index) .custom-footer__banner166,
body:not(.type-index) [data-ec-promo-id="558"],
body:not(.type-index) .js-faq-block {
    display: none !important;
}

body:not(.type-index) .footer-item.accordion__item:not(:has(.banner-wrapper > *:not(:empty))):not(.footer-item-newsletter):not(.footer-item-contact) {
    display: none !important;
}

.custom-footer__newsletter,
.footer-item-newsletter,
.custom-footer__newsletter.footer-item-newsletter {
    background: linear-gradient(90deg, #2C6F94 0%, #63ADC2 100%) !important;
    border: 0 !important;
    border-radius: 20px !important;
    padding: 32px 32px !important;
    color: #ffffff !important;
}

footer#footer .custom-footer__newsletter,
footer#footer .footer-item-newsletter,
footer#footer .custom-footer__newsletter h3,
footer#footer .footer-item-newsletter h3,
footer#footer .custom-footer__newsletter h3 span,
footer#footer .footer-item-newsletter h3 span,
footer#footer .custom-footer__newsletter h4 span,
footer#footer .footer-item-newsletter h4 span,
footer#footer .custom-footer__newsletter .pageElement__heading,
footer#footer .footer-item-newsletter .pageElement__heading,
footer#footer .custom-footer__newsletter .pageElement__heading span,
footer#footer .footer-item-newsletter .pageElement__heading span,
footer#footer .custom-footer__newsletter p,
footer#footer .footer-item-newsletter p,
footer#footer .custom-footer__newsletter small,
footer#footer .footer-item-newsletter small,
footer#footer .custom-footer__newsletter label,
footer#footer .footer-item-newsletter label,
footer#footer .custom-footer__newsletter a,
footer#footer .footer-item-newsletter a {
    color: #ffffff !important;
}

.custom-footer__newsletter input[type="email"],
.footer-item-newsletter input[type="email"] {
    background: #ffffff !important;
    border: 0 !important;
    color: #0F0F0F !important;
}

.custom-footer__newsletter .btn,
.footer-item-newsletter .btn {
    background: #FF6A2B !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
}

.custom-footer__newsletter .btn:hover,
.footer-item-newsletter .btn:hover {
    background: #E55A1C !important;
}

.footer-bottom {
    background: linear-gradient(90deg, #2C6F94 0%, #63ADC2 100%) !important;
    padding: 16px 0 !important;
    margin-top: 32px;
}

.footer-bottom .copyright,
.footer-bottom #signature a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 0.875rem;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-button-prev *,
.swiper-button-next *,
.thumbnail-prev,
.thumbnail-next,
.thumbnail-prev *,
.thumbnail-next *,
.products-block-prev,
.products-block-next,
.slick-prev,
.slick-next,
.carousel-arrow,
.carousel-control,
.slider-arrow,
.slider-prev,
.slider-next {
    color: #ffffff !important;
}

.swiper-button-prev::before,
.swiper-button-next::before,
.swiper-button-prev::after,
.swiper-button-next::after,
.thumbnail-prev::before,
.thumbnail-next::before,
.thumbnail-prev::after,
.thumbnail-next::after,
.products-block-prev::before,
.products-block-next::before,
.slick-prev::before,
.slick-next::before {
    color: #ffffff !important;
    background: transparent !important;
}

.swiper-button-prev svg,
.swiper-button-next svg,
.thumbnail-prev svg,
.thumbnail-next svg,
.products-block-prev svg,
.products-block-next svg,
.slick-prev svg,
.slick-next svg,
.swiper-button-prev svg path,
.swiper-button-next svg path,
.thumbnail-prev svg path,
.thumbnail-next svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

.swiper-button-prev:hover,
.swiper-button-next:hover,
.swiper-button-prev:hover *,
.swiper-button-next:hover *,
.thumbnail-prev:hover,
.thumbnail-next:hover,
.thumbnail-prev:hover *,
.thumbnail-next:hover * {
    color: #ffffff !important;
}

.swiper-button-prev:hover::before,
.swiper-button-next:hover::before,
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after,
.thumbnail-prev:hover::before,
.thumbnail-next:hover::before,
.thumbnail-prev:hover::after,
.thumbnail-next:hover::after {
    color: #ffffff !important;
}

.swiper-button-prev:hover svg,
.swiper-button-next:hover svg,
.thumbnail-prev:hover svg,
.thumbnail-next:hover svg,
.swiper-button-prev:hover svg path,
.swiper-button-next:hover svg path,
.thumbnail-prev:hover svg path,
.thumbnail-next:hover svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

.vsp-story-section,
.vsp-story-section * { box-sizing: border-box; }

.vsp-story-section {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-top: 48px;
    margin-bottom: 48px;
    padding: 80px 0;
    background-image: url('https://312167.myshoptet.com/user/documents/upload/redesing_vespreji/pozadi_banner.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    font-family: 'Geist', system-ui, -apple-system, sans-serif;
}

.vsp-story-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: center;
    min-height: 480px;
}

.vsp-story-video {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    background: #003A59;
    transition: transform 0.3s ease;
}
.vsp-story-video:hover { transform: scale(1.02); }
.vsp-story-video__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vsp-story-video__play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 80px; height: 80px; border-radius: 50%;
    background: rgba(255, 255, 255, 0.95); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); transition: all 0.25s ease; z-index: 2;
}
.vsp-story-video:hover .vsp-story-video__play { background: #FF6A2B; transform: translate(-50%, -50%) scale(1.1); }
.vsp-story-video__play svg { width: 32px; height: 32px; margin-left: 4px; fill: #003A59; transition: fill 0.25s ease; }
.vsp-story-video:hover .vsp-story-video__play svg { fill: #ffffff; }
.vsp-story-video video { width: 100%; height: 100%; object-fit: cover; display: block; background: #000; }

.vsp-story-content { color: #0F0F0F; text-align: left; }

.vsp-story-title {
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(1.75rem, 3.4vw, 3.25rem) !important;
    line-height: 1.15 !important;
    color: #0F0F0F !important;
    margin: 0 0 16px 0 !important;
    text-transform: none !important;
}

.vsp-story-desc {
    font-family: 'Geist', sans-serif;
    font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
    line-height: 1.5;
    color: #292929;
    margin: 0 0 32px 0;
}

.vsp-story-section .vsp-story-cta,
.vsp-story-section a.vsp-story-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FF6A2B !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 18px 56px !important;
    border-radius: 999px !important;
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border: 2px solid #FF6A2B !important;
    box-shadow: 0 4px 12px rgba(255, 106, 43, 0.30) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    min-width: 200px !important;
    line-height: 1.4 !important;
    text-transform: none !important;
}
.vsp-story-section .vsp-story-cta:hover {
    background: #E55A1C !important;
    border-color: #E55A1C !important;
    transform: translateY(-1px);
    color: #ffffff !important;
}

.vsp-story-products {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-height: 400px !important;
    overflow: hidden !important;
}
.vsp-story-products img {
    max-width: 320px !important;
    max-height: 380px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

@media (max-width: 991px) {
    .vsp-story-section { padding: 48px 0; }
    .vsp-story-container { grid-template-columns: 1fr 1fr; gap: 24px; }
    .vsp-story-products { grid-column: 1 / -1; margin-top: 16px; max-height: 320px !important; }
    .vsp-story-products img { max-width: 260px !important; max-height: 300px !important; }
}

@media (max-width: 767px) {
    .vsp-story-section { padding: 32px 0; margin: 24px 0; }
    .vsp-story-container { grid-template-columns: 1fr; gap: 20px; text-align: center; }
    .vsp-story-content { text-align: center; }
    .vsp-story-video__play { width: 64px; height: 64px; }
    .vsp-story-video__play svg { width: 24px; height: 24px; }
    .vsp-story-products { max-height: 260px !important; }
    .vsp-story-products img { max-width: 220px !important; max-height: 240px !important; }
}

.vsp-hero-reset-section,
.vsp-hero-reset-section * { box-sizing: border-box; }

.vsp-hero-reset-section {
    width: 100%;
    margin-top: 48px;
    margin-bottom: 48px;
    padding: 0;
    background: linear-gradient(to right, #EFF6FF 0%, #FFFFFF 100%) !important;
    font-family: 'Geist', system-ui, -apple-system, sans-serif;
    overflow: hidden;
    border-radius: 16px;
}

.vsp-hero-reset-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    align-items: center;
    min-height: 480px;
}

.vsp-hero-reset-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    gap: 24px;
    padding: 16px 0;
}

.vsp-hero-reset-title {
    font-family: 'Geist', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(1.75rem, 3.4vw, 3.25rem) !important;
    line-height: 1.05 !important;
    color: #0F0F0F !important;
    margin: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
}

.vsp-hero-reset-desc {
    font-family: 'Roboto', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-size: clamp(0.9375rem, 1.2vw, 1.125rem) !important;
    line-height: 1.5 !important;
    color: #292929 !important;
    margin: 0 !important;
    text-align: left !important;
    max-width: 420px;
}

.vsp-hero-reset-section .vsp-hero-reset-cta,
.vsp-hero-reset-section a.vsp-hero-reset-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FF6A2B !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 18px 56px !important;
    border-radius: 999px !important;
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: 2px solid #FF6A2B !important;
    box-shadow: 0 6px 16px rgba(255, 106, 43, 0.30) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    min-width: 200px !important;
    margin-top: 8px;
}
.vsp-hero-reset-section .vsp-hero-reset-cta:hover {
    background: #E55A1C !important;
    border-color: #E55A1C !important;
    transform: translateY(-2px);
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(255, 106, 43, 0.40) !important;
}

.vsp-hero-reset-products {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 380px;
}
.vsp-hero-reset-products img {
    width: 100%;
    max-width: 420px;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    display: block;
}

.vsp-hero-reset-lifestyle {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 380px;
}
.vsp-hero-reset-lifestyle img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    object-position: center;
    display: block;
}

@media (max-width: 991px) {
    .vsp-hero-reset-container {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        min-height: 400px;
        padding: 24px;
    }
    .vsp-hero-reset-content {
        grid-column: 1 / -1;
        align-items: center;
        text-align: center;
    }
    .vsp-hero-reset-title,
    .vsp-hero-reset-desc { text-align: center !important; }
    .vsp-hero-reset-products,
    .vsp-hero-reset-lifestyle { min-height: 320px; }
    .vsp-hero-reset-products img { max-width: 320px; max-height: 400px; }
    .vsp-hero-reset-lifestyle img { max-height: 420px; }
}

@media (max-width: 767px) {
    .vsp-hero-reset-section {
        margin: 24px 0;
        background: linear-gradient(to bottom, #EFF6FF 0%, #EFF6FF 45%, #FFFFFF 55%, #FFFFFF 100%) !important;
    }
    .vsp-hero-reset-container {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
        min-height: auto;
        padding: 24px;
    }
    .vsp-hero-reset-content { grid-column: auto; }
    .vsp-hero-reset-products,
    .vsp-hero-reset-lifestyle { min-height: 280px; }
    .vsp-hero-reset-products img { max-width: 240px; max-height: 320px; }
    .vsp-hero-reset-lifestyle img { max-width: 320px; max-height: 360px; margin: 0 auto; }
}

.vsp-faq {
    background: #FAFEFF !important;
    padding: 64px 24px !important;
    margin: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: calc(50% - 50vw) !important;
    border-radius: 0 !important;
}

.vsp-faq .vsp-faq-title {
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(1.5rem, 2.5vw, 2.25rem) !important;
    color: #0F0F0F !important;
    text-align: center !important;
    text-transform: none !important;
    margin: 0 0 48px 0 !important;
    line-height: 1.2 !important;
}

.vsp-faq .container {
    max-width: 1300px !important;
    margin: 0 auto !important;
}

.vsp-faq .faq-group {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 32px !important;
    align-items: start !important;
}

.vsp-faq .faq-side {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.vsp-faq .faq-side-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.vsp-faq .faq-side-list__item {
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    color: #003A59 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 18px 24px !important;
    border-radius: 24px !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    user-select: none !important;
    line-height: 1.2 !important;
    list-style: none !important;
}

.vsp-faq .faq-side-list__item:hover {
    background: #DCE9F5 !important;
}

.vsp-faq .faq-side-list__item.is-active {
    background: #DCE9F5 !important;
    color: #003A59 !important;
    box-shadow: inset 0 0 0 2px #003A59 !important;
}

.vsp-faq .faq-content {
    background: transparent !important;
}

.vsp-faq .tabs-content {
    position: relative !important;
}

.vsp-faq .tab-content__item {
    display: none !important;
}

.vsp-faq .tab-content__item.is-active {
    display: block !important;
}

.vsp-faq .faq-content-title {
    background: linear-gradient(90deg, #2C6F94 0%, #63ADC2 100%) !important;
    color: #ffffff !important;
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    padding: 20px 32px !important;
    border-radius: 16px 16px 0 0 !important;
    margin: 0 0 24px 0 !important;
    line-height: 1.2 !important;
}

.vsp-faq .faq-content-title strong {
    font-weight: 700 !important;
    color: #ffffff !important;
}

.vsp-faq .accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.vsp-faq .accordion__item {
    background: #DCE9F5 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.vsp-faq .accordion__item:hover {
    background: #CCDCED !important;
}

.vsp-faq .accordion__trigger {
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #003A59 !important;
    padding: 18px 56px 18px 24px !important;
    cursor: pointer !important;
    user-select: none !important;
    position: relative !important;
    line-height: 1.4 !important;
}

.vsp-faq .accordion__trigger::after {
    content: '+' !important;
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    color: #003A59 !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.vsp-faq .accordion__item.is-open .accordion__trigger::after {
    transform: translateY(-50%) rotate(45deg) !important;
}

.vsp-faq .accordion__content {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.2s !important;
    padding: 0 24px !important;
}

.vsp-faq .accordion__item.is-open .accordion__content {
    max-height: 800px !important;
    padding: 0 24px 20px 24px !important;
}

.vsp-faq .accordion__content p {
    margin: 0 !important;
    font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-size: 0.9375rem !important;
    color: #0F0F0F !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px) {
    .vsp-faq {
        padding: 40px 16px !important;
    }
    .vsp-faq .faq-group {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .vsp-faq .faq-side-list {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .vsp-faq .faq-side-list__item {
        flex: 0 1 auto !important;
        font-size: 0.9375rem !important;
        padding: 12px 18px !important;
    }
    .vsp-faq .faq-content-title {
        font-size: 1.25rem !important;
        padding: 16px 20px !important;
    }
    .vsp-faq .accordion__trigger {
        font-size: 0.9375rem !important;
        padding: 16px 48px 16px 18px !important;
    }
    .vsp-faq .accordion__trigger::after {
        right: 18px !important;
    }
    .vsp-faq .accordion__content {
        padding: 0 18px !important;
    }
    .vsp-faq .accordion__item.is-open .accordion__content {
        padding: 0 18px 16px 18px !important;
    }
}

.vspc {
    --ink: #003A59;
    --paper: #FAFEFF;
    --brand: #FF6A2B;
    --line: #E0E5EE;
    --muted: #7C7E8F;
    font-family: inherit !important;
    color: var(--ink) !important;
    line-height: 1.55 !important;
    -webkit-font-smoothing: antialiased;
    background: var(--paper) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid var(--line) !important;
    box-sizing: border-box !important;
    margin: 0 0 8px !important;
}
.vspc * { box-sizing: border-box !important; }
.vspc img { max-width: 100% !important; display: block !important; height: auto; }
.vspc h1, .vspc h2, .vspc h3, .vspc h4, .vspc p, .vspc a, .vspc span, .vspc b, .vspc div {
    font-family: inherit !important;
}
.vspc .wrap { max-width: 1040px !important; margin: 0 auto !important; padding: 0 30px !important; }
.vspc .disp { font-weight: 900 !important; text-transform: uppercase !important; line-height: .95 !important; letter-spacing: -.015em !important; }
.vspc .eyebrow { font-size: 12.5px !important; font-weight: 900 !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: var(--muted) !important; margin: 0 0 12px !important; }

.vspc-hero { position: relative; background: #D3E6F5 !important; padding: 66px 0 74px !important;
    clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%); }
.vspc-hero-in { max-width: 1040px; margin: 0 auto; padding: 0 30px; display: grid !important;
    grid-template-columns: 1fr 1.04fr .74fr !important; gap: 34px !important; align-items: center !important; }

.vspc-vid { position: relative; display: block !important; border-radius: 18px !important; overflow: hidden !important;
    aspect-ratio: 1/1; background: #0b2433; text-decoration: none !important; box-shadow: 0 18px 40px rgba(0,40,70,.22); }
.vspc-vid img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.vspc-vid::after { content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(0,30,47,.10) 45%, rgba(0,30,47,.66)); }
.vspc-vid .corner { position: absolute; top: 0; left: 0; width: 52%; height: 52%; z-index: 2;
    background: var(--brand); clip-path: polygon(0 0, 100% 0, 0 100%); opacity: .92; }
.vspc-vid .play { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%,-50%);
    width: 74px; height: 74px; border-radius: 50%; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.32);
    display: flex; align-items: center; justify-content: center; transition: transform .15s; }
.vspc-vid:hover .play { transform: translate(-50%,-50%) scale(1.07); }
.vspc-vid .play::before { content: ""; border-style: solid; border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #003A59; margin-left: 5px; }
.vspc-vid .cap { position: absolute; z-index: 3; left: 22px; bottom: 20px; color: #fff !important;
    font-style: italic; font-weight: 900; font-size: clamp(20px,2.2vw,27px); line-height: 1.05;
    text-shadow: 0 2px 12px rgba(0,0,0,.5); }

.vspc-h-copy h1 { font-weight: 900 !important; font-size: clamp(33px,4.5vw,55px) !important; line-height: 1.05 !important; letter-spacing: -.01em !important; margin: 0 0 18px !important; color: #0F2A3C !important; text-transform: none !important; }
.vspc-h-copy p { font-size: 18px !important; color: #003A59 !important; margin: 0 0 26px !important; max-width: 30ch; line-height: 1.5 !important; }
.vspc-cta { display: inline-block !important; white-space: nowrap; background: var(--brand) !important; color: #fff !important; font-weight: 900 !important; font-size: 18px !important;
    text-decoration: none !important; padding: 16px 36px !important; border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(255,106,43,.40); transition: background .15s, transform .15s; border: 0 !important; }
.vspc-cta:hover { background: #E55A1C !important; transform: translateY(-1px); color: #fff !important; }

.vspc-prod { position: relative; text-align: center; }
.vspc-prod img { width: 100% !important; border-radius: 16px !important; filter: drop-shadow(0 22px 30px rgba(0,40,70,.28)); }
.vspc-prod .lab { margin-top: 12px !important; font-weight: 800 !important; font-size: 12.5px !important; letter-spacing: .06em !important;
    text-transform: uppercase !important; color: #003A59 !important; }

.vspc-strip { background: #003A59 !important; color: #fff !important; }
.vspc-strip .in { max-width: 1040px; margin: 0 auto; padding: 0 30px; display: flex !important; flex-wrap: wrap !important; }
.vspc-strip .cell { flex: 1 1 20% !important; min-width: 130px; padding: 18px 22px !important; border-right: 1px solid #0c3a52 !important; }
.vspc-strip .cell:first-child { padding-left: 0 !important; }
.vspc-strip .cell:last-child { border-right: 0 !important; padding-right: 0 !important; }
.vspc-strip .cell b { display: block !important; font-size: 18px !important; font-weight: 900 !important; color: var(--brand) !important; }
.vspc-strip .cell span { font-size: 12px !important; letter-spacing: .05em !important; text-transform: uppercase !important; color: #9DB4C2 !important; }

.vspc-claim { text-align: center !important; padding: 60px 30px 50px !important; max-width: 1040px; margin: 0 auto; }
.vspc-claim h2 { font-size: clamp(36px,6vw,60px) !important; margin: 0 !important; }
.vspc-claim p { font-size: 17.5px !important; color: #3a4a55 !important; max-width: 60ch; margin: 20px auto 0 !important; }

.vspc-tiles { background: linear-gradient(135deg,#2C6F94,#63ADC2) !important; padding: 56px 0 !important; }
.vspc-tiles h2 { font-size: clamp(26px,4vw,38px) !important; margin: 0 0 30px !important; color: #ffffff !important; }
.vspc-grid4 { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 16px !important; }
.vspc-tile { background: #ffffff !important; border-radius: 14px !important; padding: 24px !important; display: flex !important; gap: 16px !important; align-items: flex-start !important; }
.vspc-tile .ic { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 12px; background: transparent !important; display: flex !important; align-items: center; justify-content: center; overflow: hidden; }
.vspc-tile .ic img { width: 100% !important; height: 100% !important; object-fit: contain !important; display: block !important; margin: 0 !important; padding: 0 !important; border-radius: 12px !important; }
.vspc-tile h3 { font-size: 16px !important; font-weight: 900 !important; text-transform: uppercase !important; margin: 2px 0 6px !important; letter-spacing: .01em !important; color: var(--ink) !important; }
.vspc-tile p { margin: 0 !important; font-size: 14.5px !important; color: var(--muted) !important; }

.vspc-life { max-width: 1040px; margin: 44px auto !important; padding: 0 30px; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 34px !important; align-items: center !important; }
.vspc-ph { position: relative; min-height: 420px; border-radius: 18px !important; overflow: hidden !important; background: repeating-linear-gradient(45deg,#DCE9F5 0 16px,#CFE9F1 16px 32px) !important; }
.vspc-ph img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 28%; }
.vspc-life .copy { padding: 0; }
.vspc-life h2 { font-size: clamp(30px,5vw,50px) !important; margin: 0 0 16px !important; }
.vspc-life p { font-size: 16.5px !important; color: #3a4a55 !important; margin: 0 0 14px !important; }

.vspc-steps { padding: 58px 0 !important; }
.vspc-steps h2 { font-size: clamp(26px,4vw,38px) !important; margin: 0 0 8px !important; }
.vspc-steps .sub { color: var(--muted) !important; font-weight: 700 !important; margin: 0 0 34px !important; }
.vspc-track { position: relative; display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 18px !important; }
.vspc-track::before { content: ""; position: absolute; left: 24px; right: 24px; top: 22px; height: 3px; background: var(--brand); }
.vspc-node { position: relative; }
.vspc-node .dot { width: 46px; height: 46px; border-radius: 50%; background: #003A59 !important; color: var(--brand) !important; font-weight: 900; font-size: 18px; display: flex !important; align-items: center; justify-content: center; position: relative; z-index: 1; }
.vspc-node h4 { font-size: 15px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .03em !important; margin: 16px 0 6px !important; color: var(--ink) !important; }
.vspc-node p { margin: 0 !important; font-size: 14px !important; color: var(--muted) !important; }

.vspc-foot { padding: 22px 0 30px !important; color: var(--muted) !important; font-size: 13px !important; }
.vspc-foot strong { color: var(--ink) !important; }

@media (max-width: 760px) {
    .vspc-hero-in, .vspc-life { grid-template-columns: 1fr !important; }
    .vspc-prod { max-width: 300px; margin: 0 auto !important; }
    .vspc-grid4 { grid-template-columns: 1fr !important; }
    .vspc-track { grid-template-columns: 1fr 1fr !important; }
    .vspc-track::before { display: none !important; }
    .vspc-ph { min-height: 300px; }
}
