/* NESA CMS component styles */

/* hero/style.css */
/* ==========================================================
   NESA COMPONENT: HERO GROUPS & SLIDER
   Version 3.13.0
========================================================== */

.nesa-hero-slider {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #0a0d12;
    color: #ffffff;
}

.nesa-hero-slider--height-compact {
    min-height: 520px;
}

.nesa-hero-slider--height-standard {
    min-height: 640px;
}

.nesa-hero-slider--height-large {
    min-height: min(790px, calc(100svh - 86px));
}

.nesa-hero-slider--height-fullscreen {
    min-height: calc(100svh - 42px);
}

.nesa-hero-slider__track,
.nesa-hero-slide {
    position: absolute;
    inset: 0;
}

.nesa-hero-slider__track {
    z-index: 1;
}

.nesa-hero-slide {
    display: flex;
    align-items: center;
    min-height: inherit;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateZ(0);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0.72s;
}

.nesa-hero-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.nesa-hero-slider--transition-slide .nesa-hero-slide {
    transform: translate3d(5%, 0, 0);
}

.nesa-hero-slider--transition-slide .nesa-hero-slide.is-active {
    transform: translate3d(0, 0, 0);
}

.nesa-hero-slider--transition-zoom .nesa-hero-slide__media {
    transform: scale(1.06);
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.nesa-hero-slider--transition-zoom .nesa-hero-slide.is-active .nesa-hero-slide__media {
    transform: scale(1);
}

.nesa-hero-slide__media,
.nesa-hero-slide__overlay,
.nesa-hero-slide__media picture,
.nesa-hero-slide__media img,
.nesa-hero-slide__media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nesa-hero-slide__media {
    z-index: 0;
    overflow: hidden;
}

.nesa-hero-slide__media img,
.nesa-hero-slide__media video {
    display: block;
    object-fit: cover;
    object-position: var(--nesa-hero-media-position, center center);
}

.nesa-hero-slide__overlay {
    z-index: 1;
    pointer-events: none;
}

.nesa-hero-slide--overlay-gradient .nesa-hero-slide__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, var(--nesa-hero-overlay, 0.60)) 0%,
            rgba(0, 0, 0, 0.38) 48%,
            rgba(0, 0, 0, 0.08) 100%
        ),
        linear-gradient(180deg, rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.28));
}

.nesa-hero-slide--overlay-solid .nesa-hero-slide__overlay {
    background: rgba(0, 0, 0, var(--nesa-hero-overlay, 0.60));
}

.nesa-hero-slide--overlay-soft .nesa-hero-slide__overlay {
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, var(--nesa-hero-overlay, 0.52)),
        rgba(0, 0, 0, 0.07)
    );
}

.nesa-hero-slide--overlay-none .nesa-hero-slide__overlay {
    background: transparent;
}

.nesa-hero-slide--variant-product.nesa-hero-slide--overlay-gradient .nesa-hero-slide__overlay {
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, var(--nesa-hero-overlay, 0.58)) 0%,
        rgba(0, 0, 0, 0.18) 48%,
        rgba(0, 0, 0, 0.01) 78%
    );
}

.nesa-hero-slide--variant-corporate.nesa-hero-slide--overlay-gradient .nesa-hero-slide__overlay {
    background: linear-gradient(
        90deg,
        rgba(8, 18, 31, var(--nesa-hero-overlay, 0.60)),
        rgba(8, 18, 31, 0.18)
    );
}

.nesa-hero-slide--variant-minimal .nesa-hero-slide__overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.08));
}

.nesa-hero-slide__inner {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(var(--container, 1180px), calc(100% - 48px));
    height: 100%;
    min-height: inherit;
    margin: 0 auto;
    padding-right: clamp(0px, 1.2vw, 18px);
    padding-left: clamp(0px, 1.2vw, 18px);
}

.nesa-hero-slide--vertical-top .nesa-hero-slide__inner {
    align-items: flex-start;
    padding-top: clamp(76px, 9vw, 138px);
}

.nesa-hero-slide--vertical-center .nesa-hero-slide__inner {
    align-items: center;
}

.nesa-hero-slide--vertical-bottom .nesa-hero-slide__inner {
    align-items: flex-end;
    padding-bottom: clamp(78px, 9vw, 138px);
}

.nesa-hero-slide__content {
    width: min(100%, 760px);
    max-width: 100%;
}

.nesa-hero-slide--width-narrow .nesa-hero-slide__content {
    width: min(100%, 570px);
}

.nesa-hero-slide--width-normal .nesa-hero-slide__content {
    width: min(100%, 760px);
}

.nesa-hero-slide--width-wide .nesa-hero-slide__content {
    width: min(100%, 960px);
}

.nesa-hero-slide--content-left .nesa-hero-slide__content {
    margin-right: auto;
    text-align: left;
}

.nesa-hero-slide--content-center .nesa-hero-slide__content {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.nesa-hero-slide--content-right .nesa-hero-slide__content {
    margin-left: auto;
    text-align: right;
}

.nesa-hero-slide__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--accent, #ff2338);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.nesa-hero-slide__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    background: currentColor;
}

.nesa-hero-slide--content-center .nesa-hero-slide__eyebrow::before,
.nesa-hero-slide--content-right .nesa-hero-slide__eyebrow::before {
    display: none;
}

.nesa-hero-slide h1,
.nesa-hero-slide h2 {
    max-width: 100%;
    margin: 17px 0 20px;
    color: #ffffff;
    font-family: var(--font-heading);
    font-weight: var(--nesa-hero-title-weight, 800);
    line-height: 0.96;
    letter-spacing: -0.048em;
    text-wrap: balance;
}

.nesa-hero-slide--title-xl h1,
.nesa-hero-slide--title-xl h2 {
    font-size: clamp(60px, 7vw, 108px);
}

.nesa-hero-slide--title-large h1,
.nesa-hero-slide--title-large h2 {
    font-size: clamp(49px, 5.8vw, 88px);
}

.nesa-hero-slide--title-medium h1,
.nesa-hero-slide--title-medium h2 {
    font-size: clamp(40px, 4.5vw, 68px);
}

.nesa-hero-slide--title-small h1,
.nesa-hero-slide--title-small h2 {
    font-size: clamp(34px, 3.6vw, 54px);
}

.nesa-hero-slide p {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.58;
}

.nesa-hero-slide--content-center p {
    margin-right: auto;
    margin-left: auto;
}

.nesa-hero-slide--content-right p {
    margin-left: auto;
}

.nesa-hero-slide__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 29px;
}

.nesa-hero-slide--content-center .nesa-hero-slide__actions {
    justify-content: center;
}

.nesa-hero-slide--content-right .nesa-hero-slide__actions {
    justify-content: flex-end;
}

.nesa-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 13px 19px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 850;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.nesa-hero-button:hover {
    transform: translateY(-2px);
}

.nesa-hero-button--primary {
    background: var(--primary, #e10d28);
    color: #ffffff;
}

.nesa-hero-button--outline {
    background: rgba(0, 0, 0, 0.14);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.54);
    backdrop-filter: blur(8px);
}

.nesa-hero-button--dark {
    background: #11161d;
    color: #ffffff;
}

.nesa-hero-button--light {
    background: #ffffff;
    color: #11161d;
}

.nesa-hero-slide__number {
    position: absolute;
    right: clamp(22px, 4vw, 72px);
    bottom: clamp(30px, 4vw, 60px);
    z-index: 2;
    display: none;
    color: rgba(255, 255, 255, 0.26);
    font-size: clamp(64px, 8vw, 132px);
    font-weight: 900;
    line-height: 0.8;
    letter-spacing: -0.08em;
}

.nesa-hero-slide--animation-fade.is-active .nesa-hero-slide__content {
    animation: nesaHeroContentFade 0.72s ease both;
}

.nesa-hero-slide--animation-fade-up.is-active .nesa-hero-slide__content {
    animation: nesaHeroContentFadeUp 0.78s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.nesa-hero-slide--animation-zoom.is-active .nesa-hero-slide__media img,
.nesa-hero-slide--animation-zoom.is-active .nesa-hero-slide__media video {
    animation: nesaHeroMediaZoom 8s ease-out both;
}

.nesa-hero-slider__controls {
    position: absolute;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
}

.nesa-hero-slider__counter {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 72px;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
}

.nesa-hero-slider__counter i {
    width: 20px;
    height: 1px;
    background: rgba(255, 255, 255, 0.42);
}

.nesa-hero-slider__arrows {
    display: flex;
    gap: 7px;
}

.nesa-hero-slider__arrows button {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    background: rgba(5, 8, 12, 0.36);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 50%;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nesa-hero-slider__arrows button:hover {
    background: var(--primary, #e10d28);
    border-color: var(--primary, #e10d28);
    transform: translateY(-2px);
}

.nesa-hero-slider__arrows svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.nesa-hero-slider__dots {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nesa-hero-slider__dots button {
    position: relative;
    width: 28px;
    height: 12px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.nesa-hero-slider__dots button span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    transform: translateY(-50%);
    transition: background 0.2s ease, transform 0.2s ease;
}

.nesa-hero-slider__dots button.is-active span {
    background: var(--primary, #e10d28);
    transform: translateY(-50%) scaleY(1.25);
}

.nesa-hero-slider__progress {
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;
    height: 2px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.16);
}

.nesa-hero-slider__progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--primary, #e10d28);
    transform: scaleX(0);
    transform-origin: left center;
}

.nesa-hero-slider__scroll {
    position: absolute;
    bottom: 22px;
    left: 50%;
    z-index: 5;
    width: 24px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.40);
    border-radius: 999px;
    transform: translateX(-50%);
}

.nesa-hero-slider__scroll span {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 3px;
    height: 7px;
    background: #ffffff;
    border-radius: 999px;
    transform: translateX(-50%);
    animation: nesaHeroScroll 1.7s infinite;
}

/* Theme 1: Cinematic */
.nesa-hero-slider--theme-cinematic .nesa-hero-slider__controls {
    right: clamp(24px, 4vw, 68px);
    bottom: 30px;
}

/* Theme 2: Split panel */
.nesa-hero-slider--theme-split .nesa-hero-slide__content {
    padding: clamp(26px, 4vw, 48px);
    background: linear-gradient(145deg, rgba(7, 11, 16, 0.78), rgba(7, 11, 16, 0.58));
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(15px);
}

.nesa-hero-slider--theme-split .nesa-hero-slide--content-right .nesa-hero-slide__content,
.nesa-hero-slider--theme-split .nesa-hero-slide--content-center .nesa-hero-slide__content {
    text-align: left;
}

.nesa-hero-slider--theme-split .nesa-hero-slide--content-center .nesa-hero-slide__content {
    margin-left: auto;
    margin-right: auto;
}

.nesa-hero-slider--theme-split .nesa-hero-slide--content-right .nesa-hero-slide__content {
    margin-left: auto;
}

.nesa-hero-slider--theme-split .nesa-hero-slide--content-center .nesa-hero-slide__actions,
.nesa-hero-slider--theme-split .nesa-hero-slide--content-right .nesa-hero-slide__actions {
    justify-content: flex-start;
}

.nesa-hero-slider--theme-split .nesa-hero-slide--content-center p,
.nesa-hero-slider--theme-split .nesa-hero-slide--content-right p {
    margin-left: 0;
}

.nesa-hero-slider--theme-split .nesa-hero-slide__eyebrow::before {
    display: inline-block;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__controls {
    top: 50%;
    right: clamp(18px, 2.4vw, 42px);
    flex-direction: column;
    transform: translateY(-50%);
}

.nesa-hero-slider--theme-split .nesa-hero-slider__counter {
    flex-direction: column;
    gap: 5px;
    min-width: auto;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__counter i {
    width: 1px;
    height: 22px;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__arrows {
    flex-direction: column;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__dots {
    flex-direction: column;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__dots button {
    width: 12px;
    height: 28px;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__dots button span {
    top: 0;
    right: auto;
    bottom: 0;
    left: 50%;
    width: 3px;
    height: auto;
    transform: translateX(-50%);
}

.nesa-hero-slider--theme-split .nesa-hero-slider__dots button.is-active span {
    transform: translateX(-50%) scaleX(1.25);
}

.nesa-hero-slider--theme-split .nesa-hero-slider__progress {
    top: 0;
    right: -12px;
    bottom: 0;
    left: auto;
    width: 2px;
    height: auto;
}

.nesa-hero-slider--theme-split .nesa-hero-slider__progress span {
    transform: scaleY(0);
    transform-origin: center top;
}

/* Theme 3: Editorial */
.nesa-hero-slider--theme-editorial .nesa-hero-slide__inner {
    align-items: flex-end;
    padding-bottom: clamp(88px, 10vw, 150px);
}

.nesa-hero-slider--theme-editorial .nesa-hero-slide__content {
    width: min(100%, 930px);
}

.nesa-hero-slider--theme-editorial .nesa-hero-slide h1,
.nesa-hero-slider--theme-editorial .nesa-hero-slide h2 {
    max-width: 900px;
    text-transform: uppercase;
}

.nesa-hero-slider--theme-editorial .nesa-hero-slide__number {
    display: block;
}

.nesa-hero-slider--theme-editorial .nesa-hero-slider__controls {
    bottom: 34px;
    left: clamp(24px, 4vw, 68px);
}

.nesa-hero-slider--theme-editorial .nesa-hero-slider__progress {
    right: auto;
    width: min(260px, 30vw);
}

/* Theme 4: Minimal */
.nesa-hero-slider--theme-minimal .nesa-hero-slide__overlay {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.10),
        rgba(0, 0, 0, 0.22) 52%,
        rgba(0, 0, 0, 0.62)
    );
}

.nesa-hero-slider--theme-minimal .nesa-hero-slide__inner {
    align-items: flex-end;
    padding-bottom: clamp(84px, 9vw, 130px);
}

.nesa-hero-slider--theme-minimal .nesa-hero-slide__content {
    padding: clamp(22px, 3vw, 34px);
    background: rgba(0, 0, 0, 0.27);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 16px;
    backdrop-filter: blur(9px);
}

.nesa-hero-slider--theme-minimal .nesa-hero-slider__controls {
    right: clamp(24px, 4vw, 68px);
    bottom: 28px;
}

.nesa-hero-slider--theme-minimal .nesa-hero-slider__arrows button {
    width: 36px;
    height: 36px;
    background: rgba(0, 0, 0, 0.20);
}

.nesa-hero-slider--theme-minimal .nesa-hero-slider__counter {
    display: none;
}

@keyframes nesaHeroContentFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes nesaHeroContentFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes nesaHeroMediaZoom {
    from { transform: scale(1); }
    to { transform: scale(1.055); }
}

@keyframes nesaHeroScroll {
    0%, 100% {
        opacity: 0.35;
        transform: translate(-50%, 0);
    }
    50% {
        opacity: 1;
        transform: translate(-50%, 10px);
    }
}

@media (max-width: 900px) {
    .nesa-hero-slider--theme-split .nesa-hero-slider__controls {
        top: auto;
        right: 24px;
        bottom: 24px;
        flex-direction: row;
        transform: none;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__counter,
    .nesa-hero-slider--theme-split .nesa-hero-slider__arrows,
    .nesa-hero-slider--theme-split .nesa-hero-slider__dots {
        flex-direction: row;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__counter i {
        width: 20px;
        height: 1px;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__dots button {
        width: 28px;
        height: 12px;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__dots button span {
        top: 50%;
        right: 0;
        bottom: auto;
        left: 0;
        width: auto;
        height: 3px;
        transform: translateY(-50%);
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__dots button.is-active span {
        transform: translateY(-50%) scaleY(1.25);
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__progress {
        top: auto;
        right: 0;
        bottom: -12px;
        left: 0;
        width: auto;
        height: 2px;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slider__progress span {
        transform: scaleX(0);
        transform-origin: left center;
    }
}

@media (max-width: 700px) {
    .nesa-hero-slider--height-compact,
    .nesa-hero-slider--height-standard,
    .nesa-hero-slider--height-large,
    .nesa-hero-slider--height-fullscreen {
        min-height: 680px;
    }

    .nesa-hero-slide__inner {
        width: min(100% - 30px, var(--container, 1180px));
        align-items: flex-end;
        padding: 70px 0 94px;
    }

    .nesa-hero-slide--vertical-top .nesa-hero-slide__inner,
    .nesa-hero-slide--vertical-center .nesa-hero-slide__inner,
    .nesa-hero-slide--vertical-bottom .nesa-hero-slide__inner,
    .nesa-hero-slider--theme-editorial .nesa-hero-slide__inner,
    .nesa-hero-slider--theme-minimal .nesa-hero-slide__inner {
        align-items: flex-end;
        padding-top: 70px;
        padding-bottom: 96px;
    }

    .nesa-hero-slide--content-center .nesa-hero-slide__content,
    .nesa-hero-slide--content-right .nesa-hero-slide__content {
        margin-right: 0;
        margin-left: 0;
        text-align: left;
    }

    .nesa-hero-slide--content-center .nesa-hero-slide__eyebrow::before,
    .nesa-hero-slide--content-right .nesa-hero-slide__eyebrow::before {
        display: inline-block;
    }

    .nesa-hero-slide--content-center p,
    .nesa-hero-slide--content-right p {
        margin-right: 0;
        margin-left: 0;
    }

    .nesa-hero-slide--content-center .nesa-hero-slide__actions,
    .nesa-hero-slide--content-right .nesa-hero-slide__actions {
        justify-content: flex-start;
    }

    .nesa-hero-slide--title-xl h1,
    .nesa-hero-slide--title-xl h2,
    .nesa-hero-slide--title-large h1,
    .nesa-hero-slide--title-large h2,
    .nesa-hero-slide--title-medium h1,
    .nesa-hero-slide--title-medium h2,
    .nesa-hero-slide--title-small h1,
    .nesa-hero-slide--title-small h2 {
        font-size: clamp(38px, 12vw, 58px);
    }

    .nesa-hero-slide p {
        font-size: 16px;
    }

    .nesa-hero-slide__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .nesa-hero-button {
        width: 100%;
    }

    .nesa-hero-slider--theme-split .nesa-hero-slide__content,
    .nesa-hero-slider--theme-minimal .nesa-hero-slide__content {
        padding: 22px;
        border-radius: 15px;
    }

    .nesa-hero-slider__controls,
    .nesa-hero-slider--theme-cinematic .nesa-hero-slider__controls,
    .nesa-hero-slider--theme-split .nesa-hero-slider__controls,
    .nesa-hero-slider--theme-editorial .nesa-hero-slider__controls,
    .nesa-hero-slider--theme-minimal .nesa-hero-slider__controls {
        right: 15px;
        bottom: 24px;
        left: 15px;
        justify-content: space-between;
    }

    .nesa-hero-slider__counter {
        display: none;
    }

    .nesa-hero-slider__dots {
        order: -1;
    }

    .nesa-hero-slider__dots button {
        width: 21px;
    }

    .nesa-hero-slider__arrows button {
        width: 38px;
        height: 38px;
    }

    .nesa-hero-slider__progress,
    .nesa-hero-slider--theme-editorial .nesa-hero-slider__progress {
        right: 0;
        width: auto;
    }

    .nesa-hero-slider__scroll,
    .nesa-hero-slide__number {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nesa-hero-slide,
    .nesa-hero-slide__media,
    .nesa-hero-button,
    .nesa-hero-slider__arrows button {
        transition: none !important;
    }

    .nesa-hero-slide__content,
    .nesa-hero-slide__media img,
    .nesa-hero-slide__media video,
    .nesa-hero-slider__scroll span {
        animation: none !important;
    }
}


/* inner-hero/style.css */
/* ==========================================================
   NESA INNER PAGE HERO
========================================================== */

.nesa-inner-hero {
    position: relative;

    display: grid;
    align-items: center;

    min-height: 190px;
    padding: 42px 0;

    overflow: hidden;
}

.nesa-inner-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;
}

.nesa-inner-hero__inner {
    position: relative;
    z-index: 2;

    width: min(100% - 40px, 1120px);
    margin-inline: auto;
}

.nesa-inner-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 12px;

    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.nesa-inner-hero__eyebrow::before {
    content: "";

    width: 28px;
    height: 2px;

    background: var(--primary, #df1728);
}

.nesa-inner-hero h1 {
    max-width: 840px;
    margin: 0;

    font-size: clamp(36px, 4.2vw, 52px);
    font-weight: 790;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.nesa-inner-hero--compact-dark {
    background: #18212c;
    color: #ffffff;
}

.nesa-inner-hero--compact-dark::before {
    background:
        radial-gradient(
            circle at 78% 30%,
            rgba(255, 255, 255, 0.06),
            transparent 42%
        );
}

.nesa-inner-hero--compact-dark .nesa-inner-hero__eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.nesa-inner-hero--compact-light {
    background: #f2f4f7;
    color: #151c25;
}

.nesa-inner-hero--compact-light::before {
    background:
        linear-gradient(
            120deg,
            rgba(223, 23, 40, 0.035),
            transparent 48%
        );
}

.nesa-inner-hero--compact-light .nesa-inner-hero__eyebrow {
    color: #687383;
}

.nesa-inner-hero--image {
    min-height: 220px;

    background: #18212c;
    color: #ffffff;
}

.nesa-inner-hero__media,
.nesa-inner-hero__overlay {
    position: absolute;
    inset: 0;
}

.nesa-inner-hero__media {
    z-index: 0;

    background-color: #18212c;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.nesa-inner-hero__overlay {
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(12, 17, 24, 0.88),
            rgba(12, 17, 24, 0.46)
        );
}

.nesa-inner-hero--image .nesa-inner-hero__eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.nesa-inner-hero--center {
    text-align: center;
}

.nesa-inner-hero--center .nesa-inner-hero__inner {
    display: grid;
    justify-items: center;
}

.nesa-inner-hero--center .nesa-inner-hero__eyebrow::before {
    display: none;
}

@media (max-width: 700px) {
    .nesa-inner-hero {
        min-height: 145px;
        padding: 32px 0;
    }

    .nesa-inner-hero--image {
        min-height: 165px;
    }

    .nesa-inner-hero__inner {
        width: min(100% - 30px, 1120px);
    }

    .nesa-inner-hero h1 {
        font-size: clamp(30px, 9vw, 38px);
    }
}


/* trust/style.css */
/* ==========================================================
   NESA COMPONENT: TRUST
   Version 2.5.1
========================================================== */

.nesa-trust {
    background: var(--surface, #ffffff);
    color: var(--ink, #11151b);
}

.nesa-trust__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.nesa-trust__card {
    position: relative;

    min-height: 290px;
    padding: 34px;

    background: var(--surface, #ffffff);

    border: 1px solid var(--line, #e5e8ed);
    border-radius: var(--card-radius, 16px);

    box-shadow: var(--card-shadow, none);

    transition:
        transform var(--transition-speed, 180ms) ease,
        box-shadow var(--transition-speed, 180ms) ease,
        border-color var(--transition-speed, 180ms) ease;
}

.nesa-trust__card:hover {
    transform: translateY(-6px);

    border-color: color-mix(
        in srgb,
        var(--primary) 28%,
        var(--line)
    );

    box-shadow: 0 22px 50px rgba(20, 30, 44, 0.09);
}

.nesa-trust__number {
    color: var(--primary);

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.nesa-trust__card h3 {
    margin: 45px 0 12px;

    font-size: 24px;
}

.nesa-trust__card p {
    margin: 0;

    color: var(--muted);

    line-height: 1.65;
}


/* Compact */

.nesa-trust--compact .nesa-trust__head {
    margin-bottom: 28px;
}

.nesa-trust--compact .nesa-trust__grid {
    gap: 0;

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

.nesa-trust--compact .nesa-trust__card {
    min-height: 0;
    padding: 28px 24px;

    background: transparent;

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

    box-shadow: none;
}

.nesa-trust--compact .nesa-trust__card:last-child {
    border-right: 0;
}

.nesa-trust--compact .nesa-trust__card:hover {
    transform: none;

    background: color-mix(
        in srgb,
        var(--primary) 4%,
        transparent
    );

    box-shadow: none;
}

.nesa-trust--compact .nesa-trust__card h3 {
    margin: 18px 0 9px;

    font-size: 21px;
}


/* Dark */

.nesa-trust--dark {
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(255, 255, 255, 0.06),
            transparent 34%
        ),
        var(--dark, #11151b);

    color: #ffffff;
}

.nesa-trust--dark .section-head h2 {
    color: #ffffff;
}

.nesa-trust--dark .section-head p {
    color: rgba(255, 255, 255, 0.68);
}

.nesa-trust--dark .eyebrow.dark {
    color: var(--accent, #ff2338);
}

.nesa-trust--dark .nesa-trust__card {
    background: rgba(255, 255, 255, 0.045);

    border-color: rgba(255, 255, 255, 0.12);

    box-shadow: none;

    backdrop-filter: blur(8px);
}

.nesa-trust--dark .nesa-trust__card:hover {
    border-color: color-mix(
        in srgb,
        var(--primary) 65%,
        transparent
    );

    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.22);
}

.nesa-trust--dark .nesa-trust__card h3 {
    color: #ffffff;
}

.nesa-trust--dark .nesa-trust__card p {
    color: rgba(255, 255, 255, 0.68);
}

@media (max-width: 850px) {
    .nesa-trust__grid {
        grid-template-columns: 1fr;
    }

    .nesa-trust--compact .nesa-trust__grid {
        border: 1px solid var(--line);
        border-radius: var(--card-radius, 16px);
    }

    .nesa-trust--compact .nesa-trust__card {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .nesa-trust--compact .nesa-trust__card:last-child {
        border-bottom: 0;
    }
}


/* categories/style.css */
/* ==========================================================
   NESA COMPONENT: CATEGORIES
   Version 2.5.1
========================================================== */

.nesa-categories {
    background: var(--dark, #11151b);
    color: #ffffff;
}

.nesa-categories .section-head h2 {
    color: #ffffff;
}

.nesa-categories .section-head p {
    color: rgba(255, 255, 255, 0.68);
}

.nesa-categories .eyebrow.dark {
    color: var(--accent, #ff2338);
}

.nesa-categories__grid {
    display: grid;
    gap: 14px;
}

.nesa-categories__card {
    position: relative;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    color: #ffffff;

    border-radius: var(--card-radius, 14px);

    isolation: isolate;
}

.nesa-categories__media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.nesa-categories__media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.02) 20%,
            rgba(0, 0, 0, 0.88) 100%
        );
}

.nesa-categories__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.45s ease;
}

.nesa-categories__card:hover .nesa-categories__media img {
    transform: scale(1.06);
}

.nesa-categories__content {
    margin-top: auto;
}

.nesa-categories__content span {
    color: var(--accent, #ff2338);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nesa-categories__content h3 {
    margin: 7px 0 18px;

    color: #ffffff;

    font-size: 30px;
    line-height: 1.05;
}

.nesa-categories__content b {
    font-size: 12px;
}


/* Editorial */

.nesa-categories--editorial .nesa-categories__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nesa-categories--editorial .nesa-categories__card {
    min-height: 480px;
    padding: 26px;
}


/* Cards */

.nesa-categories--cards {
    background: var(--surface, #ffffff);
    color: var(--ink, #11151b);
}

.nesa-categories--cards .section-head h2 {
    color: var(--ink, #11151b);
}

.nesa-categories--cards .section-head p {
    color: var(--muted);
}

.nesa-categories--cards .nesa-categories__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nesa-categories--cards .nesa-categories__card {
    min-height: 420px;
    padding: 24px;

    box-shadow: var(--card-shadow, none);
}


/* Compact */

.nesa-categories--compact {
    background: var(--surface, #ffffff);
    color: var(--ink, #11151b);
}

.nesa-categories--compact .section-head h2 {
    color: var(--ink, #11151b);
}

.nesa-categories--compact .section-head p {
    color: var(--muted);
}

.nesa-categories--compact .nesa-categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nesa-categories--compact .nesa-categories__card {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);

    min-height: 180px;

    background: var(--dark, #11151b);

    border: 1px solid var(--line);
}

.nesa-categories--compact .nesa-categories__media {
    position: relative;
    inset: auto;
    z-index: 0;

    min-height: 180px;
}

.nesa-categories--compact .nesa-categories__media::after {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(0, 0, 0, 0.15)
        );
}

.nesa-categories--compact .nesa-categories__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    margin: 0;
    padding: 24px;
}

.nesa-categories--compact .nesa-categories__content h3 {
    font-size: 25px;
}

@media (max-width: 1100px) {
    .nesa-categories--editorial .nesa-categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nesa-categories--editorial .nesa-categories__card:last-child {
        grid-column: span 2;
    }

    .nesa-categories--cards .nesa-categories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .nesa-categories--editorial .nesa-categories__grid,
    .nesa-categories--cards .nesa-categories__grid,
    .nesa-categories--compact .nesa-categories__grid {
        grid-template-columns: 1fr;
    }

    .nesa-categories--editorial .nesa-categories__card,
    .nesa-categories--editorial .nesa-categories__card:last-child {
        grid-column: auto;

        min-height: 400px;
    }

    .nesa-categories--compact .nesa-categories__card {
        grid-template-columns: 1fr;
    }

    .nesa-categories--compact .nesa-categories__media {
        min-height: 230px;
    }
}


/* ==========================================================
   NESA CMS 3.8.1
   BRP SALES HUB
========================================================== */

.nesa-categories--sales-hub {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(223, 23, 40, .22),
            transparent 32%
        ),
        radial-gradient(
            circle at 96% 90%,
            rgba(64, 104, 255, .12),
            transparent 34%
        ),
        linear-gradient(135deg, #0c131b, #18232e);
}

.nesa-categories--sales-hub::before,
.nesa-categories--sales-hub::after {
    position: absolute;
    content: "";
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
}

.nesa-categories--sales-hub::before {
    top: -220px;
    right: -120px;
    width: 520px;
    height: 520px;
}

.nesa-categories--sales-hub::after {
    right: 210px;
    bottom: -260px;
    width: 420px;
    height: 420px;
}

.nesa-categories--sales-hub .container-wide {
    position: relative;
    z-index: 1;
}

.nesa-categories--sales-hub .nesa-categories__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
    gap: 58px;
    align-items: end;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.nesa-categories--sales-hub .nesa-categories__head .eyebrow {
    grid-column: 1 / -1;
    color: #ff4d5b;
}

.nesa-categories--sales-hub .nesa-categories__head h2 {
    max-width: 850px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 5.7vw, 74px);
    line-height: 1.01;
    letter-spacing: -.05em;
}

.nesa-categories--sales-hub .nesa-categories__head p {
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: 16px;
    line-height: 1.75;
}

.nesa-categories--sales-hub .nesa-categories__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 15px;
    padding-top: 30px;
}

.nesa-categories--sales-hub .nesa-categories__card {
    min-height: 390px;
    padding: 27px;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .025)
        );
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 21px;
    box-shadow: 0 26px 68px rgba(0, 0, 0, .22);
    backdrop-filter: blur(12px);
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.nesa-categories--sales-hub .nesa-categories__card:nth-child(1),
.nesa-categories--sales-hub .nesa-categories__card:nth-child(4) {
    grid-column: span 7;
}

.nesa-categories--sales-hub .nesa-categories__card:nth-child(2),
.nesa-categories--sales-hub .nesa-categories__card:nth-child(3) {
    grid-column: span 5;
}

.nesa-categories--sales-hub .nesa-categories__card:hover,
.nesa-categories--sales-hub .nesa-categories__card:focus-visible {
    border-color: rgba(255, 77, 91, .46);
    box-shadow:
        0 34px 86px rgba(0, 0, 0, .34),
        0 0 0 4px rgba(223, 23, 40, .05);
    outline: 0;
    transform: translateY(-7px);
}

.nesa-categories--sales-hub .nesa-categories__card::before {
    position: absolute;
    top: 20px;
    right: 23px;
    z-index: 3;
    content: var(--category-index);
    color: rgba(255, 255, 255, .42);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
}

.nesa-categories--sales-hub .nesa-categories__media {
    z-index: -1;
    display: grid;
    place-items: end center;
    padding: 24px 26px 118px;
    background:
        radial-gradient(
            circle at 72% 36%,
            rgba(255, 255, 255, .16),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .035),
            transparent
        );
}

.nesa-categories--sales-hub .nesa-categories__media::after {
    background:
        linear-gradient(
            180deg,
            rgba(7, 12, 17, .04) 25%,
            rgba(7, 12, 17, .2) 55%,
            rgba(7, 12, 17, .94) 100%
        );
}

.nesa-categories--sales-hub .nesa-categories__media img {
    width: 92%;
    height: 78%;
    object-fit: contain;
    filter: drop-shadow(0 20px 22px rgba(0, 0, 0, .28));
}

.nesa-categories--sales-hub .nesa-categories__card:hover
.nesa-categories__media img {
    transform: translateY(-7px) scale(1.045);
}

.nesa-categories--sales-hub .nesa-categories__content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 20px;
    align-items: end;
    width: 100%;
}

.nesa-categories--sales-hub .nesa-categories__content > span,
.nesa-categories--sales-hub .nesa-categories__content h3,
.nesa-categories--sales-hub .nesa-categories__content p {
    grid-column: 1 / -1;
}

.nesa-categories--sales-hub .nesa-categories__content > span {
    color: #ff4d5b;
}

.nesa-categories--sales-hub .nesa-categories__content h3 {
    margin: 4px 0 0;
    font-size: clamp(29px, 3.2vw, 44px);
    letter-spacing: -.035em;
}

.nesa-categories--sales-hub .nesa-categories__content p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    line-height: 1.58;
}

.nesa-categories--sales-hub .nesa-categories__content b {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding-top: 13px;
    margin-top: 7px;
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, .13);
    font-size: 11px;
    letter-spacing: .02em;
}

.nesa-categories--sales-hub .nesa-categories__content b i {
    color: #ff4d5b;
    font-size: 20px;
    font-style: normal;
    transition: transform .2s ease;
}

.nesa-categories--sales-hub .nesa-categories__card:hover
.nesa-categories__content b i {
    transform: translateX(5px);
}

@media (max-width: 1000px) {
    .nesa-categories--sales-hub .nesa-categories__head {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .nesa-categories--sales-hub .nesa-categories__card:nth-child(n) {
        grid-column: span 6;
    }
}

@media (max-width: 700px) {
    .nesa-categories--sales-hub .nesa-categories__head h2 {
        font-size: clamp(38px, 11vw, 54px);
    }

    .nesa-categories--sales-hub .nesa-categories__grid {
        grid-template-columns: 1fr;
    }

    .nesa-categories--sales-hub .nesa-categories__card:nth-child(n) {
        grid-column: auto;
        min-height: 410px;
        padding: 22px;
    }

    .nesa-categories--sales-hub .nesa-categories__media {
        padding: 22px 12px 125px;
    }

    .nesa-categories--sales-hub .nesa-categories__media img {
        width: 100%;
        height: 72%;
    }

    .nesa-categories--sales-hub .nesa-categories__content {
        grid-template-columns: 1fr;
    }
}


/* split/style.css */
/* ==========================================================
   NESA COMPONENT: SPLIT
   Version 2.5.1
========================================================== */

.nesa-split {
    background: #f4f5f7;
    color: var(--ink, #11151b);
}

.nesa-split__grid {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: clamp(42px, 6vw, 78px);
    align-items: center;
}

.nesa-split__media {
    min-width: 0;
}

.nesa-split__media img {
    display: block;

    width: 100%;
    height: 620px;

    object-fit: cover;

    border-radius: var(--card-radius, 16px);

    box-shadow: var(--card-shadow, none);
}

.nesa-split__content h2 {
    margin: 17px 0;

    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.05;
}

.nesa-split__content p {
    color: var(--muted);

    font-size: 18px;
    line-height: 1.7;
}

.nesa-split__content ul {
    padding: 0;
    margin: 25px 0;

    list-style: none;
}

.nesa-split__content li {
    padding: 12px 0;

    border-bottom: 1px solid #dce0e6;

    font-weight: 700;
}

.nesa-split__content li::before {
    content: "✓";

    margin-right: 10px;

    color: var(--primary);
}


/* Image right */

.nesa-split--image-right .nesa-split__media {
    order: 2;
}

.nesa-split--image-right .nesa-split__content {
    order: 1;
}


/* Dark */

.nesa-split--dark {
    background: var(--dark, #11151b);
    color: #ffffff;
}

.nesa-split--dark .nesa-split__content h2 {
    color: #ffffff;
}

.nesa-split--dark .nesa-split__content p {
    color: rgba(255, 255, 255, 0.70);
}

.nesa-split--dark .nesa-split__content li {
    border-color: rgba(255, 255, 255, 0.14);
}

.nesa-split--dark .eyebrow.dark {
    color: var(--accent, #ff2338);
}

.nesa-split--dark .nesa-split__media img {
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.28);
}


/* Feature */

.nesa-split--feature {
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--primary) 7%, white),
            #ffffff 58%
        );
}

.nesa-split--feature .nesa-split__grid {
    grid-template-columns: 1fr 1fr;

    padding-top: clamp(25px, 4vw, 55px);
    padding-bottom: clamp(25px, 4vw, 55px);
}

.nesa-split--feature .nesa-split__media img {
    height: 540px;

    border-radius: 28px 6px 28px 6px;
}

.nesa-split--feature .nesa-split__content {
    padding: clamp(10px, 3vw, 35px);
}

@media (max-width: 900px) {
    .nesa-split__grid,
    .nesa-split--feature .nesa-split__grid {
        grid-template-columns: 1fr;
    }

    .nesa-split--image-right .nesa-split__media,
    .nesa-split--image-right .nesa-split__content {
        order: initial;
    }

    .nesa-split__media img,
    .nesa-split--feature .nesa-split__media img {
        height: 460px;
    }
}

@media (max-width: 600px) {
    .nesa-split__media img,
    .nesa-split--feature .nesa-split__media img {
        height: 380px;
    }
}


/* steps/style.css */
/* ==========================================================
   NESA COMPONENT: STEPS
   Version 2.5.1
========================================================== */

.nesa-steps {
    background: var(--surface, #ffffff);
}

.nesa-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;

    overflow: hidden;

    background: var(--line);

    border: 1px solid var(--line);
    border-radius: var(--card-radius, 14px);
}

.nesa-steps__item {
    padding: 35px;

    background: var(--surface, #ffffff);
}

.nesa-steps__number {
    color: var(--primary);

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.nesa-steps__item h3 {
    margin: 19px 0 10px;

    font-size: 22px;
}

.nesa-steps__item p {
    margin: 0;

    color: var(--muted);

    line-height: 1.65;
}


/* Timeline */

.nesa-steps--timeline .nesa-steps__grid {
    position: relative;

    grid-template-columns: 1fr;
    gap: 0;

    overflow: visible;

    background: transparent;

    border: 0;
    border-radius: 0;
}

.nesa-steps--timeline .nesa-steps__grid::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 28px;

    width: 2px;

    background: var(--line);
}

.nesa-steps--timeline .nesa-steps__item {
    position: relative;

    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 26px;

    padding: 0 0 38px;

    background: transparent;
}

.nesa-steps--timeline .nesa-steps__number {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    width: 58px;
    height: 58px;

    background: var(--primary);
    color: #ffffff;

    border-radius: 50%;

    box-shadow: 0 0 0 8px var(--surface, #ffffff);
}

.nesa-steps--timeline .nesa-steps__item h3 {
    margin: 4px 0 8px;

    font-size: 25px;
}


/* Compact */

.nesa-steps--compact .nesa-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;

    background: transparent;

    border: 0;
    border-radius: 0;
}

.nesa-steps--compact .nesa-steps__item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 17px;

    padding: 24px;

    border: 1px solid var(--line);
    border-radius: var(--card-radius, 14px);

    box-shadow: var(--card-shadow, none);
}

.nesa-steps--compact .nesa-steps__number {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    background: color-mix(
        in srgb,
        var(--primary) 10%,
        white
    );

    border-radius: 50%;
}

.nesa-steps--compact .nesa-steps__item h3 {
    margin: 0 0 7px;
}

@media (max-width: 900px) {
    .nesa-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .nesa-steps__grid,
    .nesa-steps--compact .nesa-steps__grid {
        grid-template-columns: 1fr;
    }

    .nesa-steps--timeline .nesa-steps__item {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 18px;
    }

    .nesa-steps--timeline .nesa-steps__grid::before {
        left: 23px;
    }

    .nesa-steps--timeline .nesa-steps__number {
        width: 48px;
        height: 48px;
    }
}


/* cta/style.css */
/* ==========================================================
   NESA COMPONENT: CTA
   Version 2.5.1
========================================================== */

.nesa-cta {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 650px;

    overflow: hidden;

    background: var(--dark, #11151b);
    color: #ffffff;
}

.nesa-cta__media,
.nesa-cta__media img,
.nesa-cta__overlay {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
}

.nesa-cta__media img {
    object-fit: cover;
}

.nesa-cta__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.83),
            rgba(0, 0, 0, 0.22)
        );
}

.nesa-cta__inner {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 42px;
}

.nesa-cta__content {
    max-width: 760px;
}

.nesa-cta h2 {
    margin: 17px 0;

    color: #ffffff;

    font-size: clamp(40px, 5vw, 72px);
    line-height: 1.03;
}

.nesa-cta p {
    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 18px;
    line-height: 1.7;
}

.nesa-cta__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;

    min-width: 220px;
}


/* Solid */

.nesa-cta--solid {
    min-height: 470px;

    background:
        radial-gradient(
            circle at 85% 5%,
            rgba(255, 255, 255, 0.13),
            transparent 32%
        ),
        var(--primary);
}

.nesa-cta--solid .nesa-cta__overlay {
    display: none;
}

.nesa-cta--solid .eyebrow {
    color: #ffffff;
}

.nesa-cta--solid .button.primary {
    background: #ffffff;
    color: var(--primary);
}

.nesa-cta--solid .button.ghost,
.nesa-cta--solid .button.outline {
    border-color: rgba(255, 255, 255, 0.65);
}


/* Split */

.nesa-cta--split {
    min-height: 520px;
}

.nesa-cta--split .nesa-cta__media {
    right: 0;
    left: auto;

    width: 48%;
}

.nesa-cta--split .nesa-cta__overlay {
    background:
        linear-gradient(
            90deg,
            var(--dark) 0%,
            var(--dark) 48%,
            rgba(17, 21, 27, 0.90) 62%,
            rgba(17, 21, 27, 0.22) 100%
        );
}

.nesa-cta--split .nesa-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.68fr) minmax(200px, 0.32fr);
}

@media (max-width: 850px) {
    .nesa-cta__inner,
    .nesa-cta--split .nesa-cta__inner {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nesa-cta__actions {
        justify-content: flex-start;
    }

    .nesa-cta--split .nesa-cta__media {
        width: 100%;
    }

    .nesa-cta--split .nesa-cta__overlay {
        background: rgba(0, 0, 0, 0.70);
    }
}

@media (max-width: 600px) {
    .nesa-cta {
        min-height: 580px;
    }

    .nesa-cta__actions,
    .nesa-cta__actions .button {
        width: 100%;
    }
}


/* rich-text/style.css */
/* ==========================================================
   NESA CMS 2.7.2.3
   ELEGANT RICH TEXT / LEGAL PAGE TYPOGRAPHY
========================================================== */

.nesa-rich-text {
    padding: 64px 0 82px;
}

.nesa-rich-text__inner {
    width: min(100% - 40px, 980px);
    margin-inline: auto;
}

.nesa-rich-text--narrow .nesa-rich-text__inner {
    width: min(100% - 40px, 820px);
}

.nesa-rich-text__inner > h2 {
    max-width: 760px;
    margin: 0 0 26px;

    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 780;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.nesa-rich-text__content {
    color: #3d4652;
}

.nesa-rich-text__content > :first-child {
    margin-top: 0;
}

.nesa-rich-text__content h2 {
    margin: 34px 0 10px;

    color: #141a22;

    font-size: 22px;
    font-weight: 760;
    line-height: 1.38;
    letter-spacing: -0.012em;
}

.nesa-rich-text__content h3 {
    margin: 25px 0 8px;

    color: #18202a;

    font-size: 19px;
    font-weight: 750;
    line-height: 1.42;
}

.nesa-rich-text__content h4 {
    margin: 22px 0 7px;

    color: #202833;

    font-size: 17px;
    font-weight: 750;
    line-height: 1.45;
}

.nesa-rich-text__content p,
.nesa-rich-text__content li {
    font-size: 17px;
    line-height: 1.75;
}

.nesa-rich-text__content p {
    margin: 0 0 17px;
}

.nesa-rich-text__content ul,
.nesa-rich-text__content ol {
    display: grid;
    gap: 7px;

    padding-left: 23px;
    margin: 10px 0 20px;
}

.nesa-rich-text__content a {
    color: var(--primary, #df1728);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.nesa-rich-text__content strong {
    color: #202833;
    font-weight: 760;
}

.nesa-rich-text__content blockquote {
    padding: 16px 19px;
    margin: 24px 0;

    background: #f6f7f9;
    color: #3e4854;

    border-left: 3px solid var(--primary, #df1728);
    border-radius: 0 10px 10px 0;
}

.nesa-rich-text__content .legal-intro {
    padding: 18px 20px;
    margin: 0 0 30px;

    background: #f6f7f9;

    border-left: 3px solid var(--primary, #df1728);
    border-radius: 0 10px 10px 0;
}

.nesa-rich-text__content .legal-intro p {
    margin: 0;

    color: #404a56;

    font-size: 16px;
    line-height: 1.7;
}

.nesa-rich-text__content .legal-updated {
    padding-top: 18px;
    margin-top: 40px;

    color: #747d88;

    border-top: 1px solid #e3e7eb;

    font-size: 14px;
    line-height: 1.55;
}

.nesa-rich-text--dark {
    background: #11161d;
    color: #ffffff;
}

.nesa-rich-text--dark .nesa-rich-text__inner > h2,
.nesa-rich-text--dark .nesa-rich-text__content h2,
.nesa-rich-text--dark .nesa-rich-text__content h3,
.nesa-rich-text--dark .nesa-rich-text__content h4,
.nesa-rich-text--dark .nesa-rich-text__content strong {
    color: #ffffff;
}

.nesa-rich-text--dark .nesa-rich-text__content {
    color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 700px) {
    .nesa-rich-text {
        padding: 46px 0 60px;
    }

    .nesa-rich-text__inner,
    .nesa-rich-text--narrow .nesa-rich-text__inner {
        width: min(100% - 30px, 820px);
    }

    .nesa-rich-text__inner > h2 {
        margin-bottom: 21px;

        font-size: clamp(29px, 9vw, 38px);
    }

    .nesa-rich-text__content h2 {
        margin-top: 29px;

        font-size: 20px;
    }

    .nesa-rich-text__content h3 {
        font-size: 18px;
    }

    .nesa-rich-text__content p,
    .nesa-rich-text__content li {
        font-size: 16px;
        line-height: 1.7;
    }
}


/* ==========================================================
   NESA CMS 2.7.3
   INNER PAGE CONTENT SURFACES
========================================================== */

.nesa-rich-text--wide .nesa-rich-text__inner,
.nesa-rich-text--standard-wide .nesa-rich-text__inner,
.nesa-rich-text--legal-wide .nesa-rich-text__inner {
    width: min(100% - 40px, 1120px);
}

.nesa-rich-text--standard-wide {
    padding: 58px 0 82px;
}

.nesa-rich-text--standard-wide .nesa-rich-text__content {
    max-width: 920px;
}

.nesa-rich-text--legal-wide {
    position: relative;

    padding: 0 0 86px;

    background: #f4f6f8;
}

.nesa-rich-text--legal-wide .nesa-rich-text__inner {
    position: relative;

    padding: 50px 58px 56px;

    background: #ffffff;

    border: 1px solid #e4e8ed;
    border-radius: 16px;

    box-shadow: 0 18px 50px rgba(19, 28, 40, 0.07);

    transform: translateY(-34px);
}

.nesa-rich-text--legal-wide .nesa-rich-text__inner > h2 {
    display: none;
}

.nesa-rich-text--legal-wide .nesa-rich-text__content {
    max-width: 920px;
    margin-inline: auto;
}

.nesa-rich-text--legal-wide .nesa-rich-text__content h2 {
    font-size: 21px;
}

.nesa-rich-text--legal-wide .nesa-rich-text__content h3 {
    font-size: 18px;
}

.nesa-rich-text--legal-wide .nesa-rich-text__content p,
.nesa-rich-text--legal-wide .nesa-rich-text__content li {
    font-size: 16px;
    line-height: 1.78;
}

@media (max-width: 700px) {
    .nesa-rich-text--wide .nesa-rich-text__inner,
    .nesa-rich-text--standard-wide .nesa-rich-text__inner,
    .nesa-rich-text--legal-wide .nesa-rich-text__inner {
        width: min(100% - 26px, 1120px);
    }

    .nesa-rich-text--legal-wide {
        padding-bottom: 58px;
    }

    .nesa-rich-text--legal-wide .nesa-rich-text__inner {
        padding: 30px 22px 38px;

        border-radius: 13px;

        transform: translateY(-20px);
    }

    .nesa-rich-text--legal-wide .nesa-rich-text__content h2 {
        font-size: 20px;
    }

    .nesa-rich-text--legal-wide .nesa-rich-text__content p,
    .nesa-rich-text--legal-wide .nesa-rich-text__content li {
        font-size: 16px;
    }
}


/* collection-category-hero/style.css */
.collection-category-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: end;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(9,15,23,.92), rgba(9,15,23,.52)),
        var(--collection-hero-image, linear-gradient(135deg,#111b27,#334155));
    background-position: center;
    background-size: cover;
}
.collection-category-hero__inner { padding-top: 130px; padding-bottom: 64px; }
.collection-breadcrumb { display:flex; gap:9px; align-items:center; margin-bottom:28px; color:rgba(255,255,255,.68); font-size:13px; }
.collection-breadcrumb a { color:inherit; }
.collection-kicker { display:block; margin-bottom:10px; color:var(--theme-primary,#d71920); font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.collection-category-hero h1 { max-width:850px; margin:0; font-size:clamp(42px,7vw,82px); line-height:.98; }
.collection-category-hero p { max-width:720px; margin:20px 0 0; color:rgba(255,255,255,.78); font-size:18px; line-height:1.65; }
.collection-category-hero b { display:inline-flex; margin-top:22px; padding:8px 12px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:999px; font-size:12px; }


/* collection-grid/style.css */
.collection-grid-section { background:#f5f6f8; }
.collection-section-head { max-width:760px; margin-bottom:32px; }
.collection-section-head span { color:var(--theme-primary,#d71920); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.collection-section-head h2 { margin:8px 0 0; font-size:clamp(30px,4vw,50px); }
.collection-public-grid { display:grid; grid-template-columns:repeat(var(--collection-columns,3),minmax(0,1fr)); gap:22px; }
.collection-public-card { overflow:hidden; background:#fff; border:1px solid #e1e5ea; border-radius:var(--theme-radius,12px); box-shadow:0 12px 35px rgba(20,28,40,.07); }
.collection-public-card__media { position:relative; display:grid; place-items:center; height:260px; overflow:hidden; background:linear-gradient(135deg,#e6e9ee,#f8f9fb); }
.collection-public-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.collection-public-card:hover img { transform:scale(1.035); }
.collection-public-card__media > span { color:#9ba5b1; font-size:52px; font-weight:900; }
.collection-public-badges { position:absolute; left:14px; bottom:14px; display:flex; gap:7px; flex-wrap:wrap; }
.collection-public-badges b { padding:6px 9px; color:#fff; background:rgba(11,18,27,.84); border-radius:999px; font-size:10px; }
.collection-public-card__body { padding:20px; }
.collection-public-card__body > span { color:var(--theme-primary,#d71920); font-size:11px; font-weight:850; text-transform:uppercase; }
.collection-public-card h3 { margin:8px 0 10px; font-size:22px; }
.collection-public-card h3 a { color:inherit; }
.collection-public-card p { min-height:52px; margin:0; color:#65707e; font-size:14px; line-height:1.55; }
.collection-public-card footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; margin-top:18px; border-top:1px solid #edf0f3; }
.collection-public-card footer strong { font-size:15px; }
.collection-public-card footer a { color:var(--theme-primary,#d71920); font-size:13px; font-weight:850; }
.collection-public-empty { padding:48px; color:#697482; text-align:center; background:#fff; border:1px dashed #ccd3db; border-radius:14px; }
@media(max-width:1000px){.collection-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.collection-public-grid{grid-template-columns:1fr}.collection-public-card__media{height:230px}}


/* collection-item-hero/style.css */
.collection-item-hero { padding:150px 0 70px; background:linear-gradient(135deg,#0d1520,#202c39); color:#fff; }
.collection-item-hero__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:55px; align-items:center; }
.collection-item-hero__media { display:grid; place-items:center; min-height:500px; overflow:hidden; background:linear-gradient(135deg,#e8ebef,#fff); border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.25); }
.collection-item-hero__media img { width:100%; height:100%; min-height:500px; object-fit:cover; }
.collection-item-hero__media > span { color:#a1aab4; font-size:70px; font-weight:900; }
.collection-item-hero h1 { margin:10px 0 18px; font-size:clamp(42px,5.5vw,74px); line-height:1; }
.collection-item-hero__copy > p { margin:0; color:rgba(255,255,255,.74); font-size:18px; line-height:1.65; }
.collection-item-hero__badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:24px; }
.collection-item-hero__badges b { padding:7px 10px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:999px; font-size:11px; }
.collection-item-hero__actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:32px; }
.collection-item-price { font-size:24px; }
@media(max-width:900px){.collection-item-hero__grid{grid-template-columns:1fr}.collection-item-hero__media,.collection-item-hero__media img{min-height:360px}}


/* collection-item-content/style.css */
.collection-item-content { background:#fff; }
.collection-item-content__grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:55px; align-items:start; }
.collection-item-content__main { max-width:900px; }
.collection-item-content__main > h2:first-child { margin-top:0; }
.collection-item-content__side { position:sticky; top:120px; }
.collection-item-content__side > div { padding:24px; background:#f5f6f8; border:1px solid #e1e5ea; border-radius:14px; }
.collection-item-content__side > div > span { display:block; margin-bottom:14px; color:var(--theme-primary,#d71920); font-size:11px; font-weight:900; text-transform:uppercase; }
.collection-item-content__side p { display:flex; justify-content:space-between; gap:15px; margin:0; padding:11px 0; border-bottom:1px solid #dde2e7; color:#65707e; font-size:13px; }
.collection-item-content__side p:last-child { border-bottom:0; }
.collection-item-content__side b { color:#1d2733; }
.collection-related { padding-top:65px; }
.collection-related__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.collection-related__grid a { overflow:hidden; color:#17212d; background:#f5f6f8; border-radius:12px; }
.collection-related__grid img { width:100%; height:170px; object-fit:cover; }
.collection-related__grid strong { display:block; padding:14px; }
@media(max-width:900px){.collection-item-content__grid{grid-template-columns:1fr}.collection-item-content__side{position:static}.collection-related__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.collection-related__grid{grid-template-columns:1fr}}


/* contact-experience/style.css */
/* ==========================================================================
   NESA CMS 3.3.2
   CONTACT EXPERIENCE VARIANTS
========================================================================== */

/* --------------------------------------------------------------------------
   Shared foundation
---------------------------------------------------------------------------- */

.nesa-contact-experience {
    display: flex;
    flex-direction: column;
    overflow: clip;
    color: #17202a;
    background: #ffffff;

    --contact-accent: var(--primary, #df1728);
    --contact-dark: #10161e;
    --contact-dark-soft: #18212c;
    --contact-line: #dfe4ea;
    --contact-muted: #697583;
    --contact-radius: var(--theme-card-radius, 18px);
    --contact-shadow: 0 22px 60px rgba(17, 26, 37, .12);
}

.nesa-contact-experience__hero {
    position: relative;
    z-index: 0;
    min-height: 510px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(223, 23, 40, .36),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #0a1017 0%,
            #161f2a 58%,
            #101720 100%
        );
    isolation: isolate;
}

.nesa-contact-experience__hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            90deg,
            rgba(7, 11, 17, .9),
            rgba(7, 11, 17, .47) 58%,
            rgba(7, 11, 17, .3)
        );
}

.nesa-contact-experience__hero-image {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.85) contrast(1.04);
}

.nesa-contact-experience__hero-pattern {
    position: absolute;
    z-index: -1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.nesa-contact-experience__hero-pattern::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .3;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, .045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .045) 1px,
            transparent 1px
        );
    background-size: 48px 48px;
    mask-image: linear-gradient(
        90deg,
        transparent,
        rgba(0, 0, 0, .75)
    );
}

.nesa-contact-experience__hero-pattern span {
    position: absolute;
    display: block;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
}

.nesa-contact-experience__hero-pattern span:nth-child(1) {
    top: -210px;
    right: -120px;
    width: 520px;
    height: 520px;
}

.nesa-contact-experience__hero-pattern span:nth-child(2) {
    top: -105px;
    right: -15px;
    width: 310px;
    height: 310px;
    border-color: rgba(223, 23, 40, .44);
}

.nesa-contact-experience__hero-pattern span:nth-child(3) {
    right: 95px;
    bottom: -155px;
    width: 270px;
    height: 270px;
}

.nesa-contact-experience__hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 360px);
    gap: 54px;
    align-items: center;
    min-height: 510px;
    padding-top: 78px;
    padding-bottom: 100px;
}

.nesa-contact-experience__hero-copy {
    max-width: 790px;
}

.nesa-contact-experience__hero-copy > span,
.nesa-contact-experience__intro-panel > span,
.nesa-contact-experience__map-overlay > span {
    color: #ff5867;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nesa-contact-experience__hero-copy h1 {
    max-width: 840px;
    margin: 13px 0 18px;
    color: #ffffff;
    font-size: clamp(46px, 6vw, 78px);
    line-height: .98;
    letter-spacing: -.045em;
}

.nesa-contact-experience__hero-copy p {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 18px;
    line-height: 1.7;
}

.nesa-contact-experience.is-hero-center
.nesa-contact-experience__hero-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
}

.nesa-contact-experience.is-hero-center
.nesa-contact-experience__hero-copy {
    display: grid;
    justify-items: center;
}

.nesa-contact-experience.is-hero-center
.nesa-contact-experience__hero-panel {
    display: none;
}

.nesa-contact-experience__hero-actions {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
    margin-top: 29px;
}

.nesa-contact-experience__hero-actions .button.ghost {
    color: #ffffff;
    background: rgba(0, 0, 0, .14);
    border: 1px solid rgba(255, 255, 255, .52);
    backdrop-filter: blur(8px);
}

.nesa-contact-experience__whatsapp {
    padding: 11px 2px;
    color: #9de3be;
    font-size: 13px;
    font-weight: 800;
}

.nesa-contact-experience__hero-panel {
    padding: 27px;
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 20px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .19);
    backdrop-filter: blur(15px);
}

.nesa-contact-experience__hero-panel > span,
.nesa-contact-experience__hero-panel > strong,
.nesa-contact-experience__hero-panel > p,
.nesa-contact-experience__hero-panel > a {
    display: block;
}

.nesa-contact-experience__hero-panel > span {
    color: #ff6673;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.nesa-contact-experience__hero-panel > strong {
    margin-top: 8px;
    font-size: 25px;
    line-height: 1.2;
}

.nesa-contact-experience__hero-panel > p {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 14px;
    line-height: 1.6;
}

.nesa-contact-experience__hero-panel > a {
    padding-top: 16px;
    margin-top: 19px;
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 13px;
    font-weight: 800;
}

/* --------------------------------------------------------------------------
   Contact cards
---------------------------------------------------------------------------- */

.nesa-contact-experience__cards-wrap {
    position: relative;
    z-index: 4;
    margin-top: -70px;
}

.nesa-contact-experience__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.nesa-contact-experience.is-cards-2
.nesa-contact-experience__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nesa-contact-experience.is-cards-3
.nesa-contact-experience__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nesa-contact-experience__card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    min-width: 0;
    min-height: 132px;
    padding: 20px;
    color: #17202a;
    background: #ffffff;
    border: 1px solid var(--contact-line);
    border-radius: var(--contact-radius);
    box-shadow: var(--contact-shadow);
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

.nesa-contact-experience a.nesa-contact-experience__card:hover,
.nesa-contact-experience a.nesa-contact-experience__card:focus-visible {
    border-color: rgba(223, 23, 40, .28);
    box-shadow:
        0 29px 65px rgba(17, 26, 37, .16),
        0 0 0 4px rgba(223, 23, 40, .055);
    outline: 0;
    transform: translateY(-5px);
}

.nesa-contact-experience__card-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    color: var(--contact-accent);
    background:
        linear-gradient(
            135deg,
            rgba(223, 23, 40, .11),
            rgba(255, 255, 255, .85)
        );
    border: 1px solid rgba(223, 23, 40, .14);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(223, 23, 40, .08);
}

.nesa-contact-experience__card-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.nesa-contact-experience__card-copy {
    min-width: 0;
}

.nesa-contact-experience__card-copy small,
.nesa-contact-experience__card-copy strong {
    display: block;
}

.nesa-contact-experience__card-copy small {
    margin-bottom: 6px;
    color: #798491;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.nesa-contact-experience__card-copy strong {
    overflow-wrap: anywhere;
    font-size: 16px;
    line-height: 1.42;
}

/* --------------------------------------------------------------------------
   Main form experience
---------------------------------------------------------------------------- */

.nesa-contact-experience__main {
    padding: 90px 0;
    background: #f5f7f9;
}

.nesa-contact-experience__main-grid {
    display: grid;
    grid-template-columns: minmax(270px, .78fr) minmax(0, 1.22fr);
    gap: 56px;
    align-items: start;
}

.nesa-contact-experience__intro-panel {
    padding-top: 18px;
}

.nesa-contact-experience__intro-panel h2,
.nesa-contact-experience__map-overlay h2 {
    margin: 11px 0 15px;
    font-size: clamp(35px, 4.5vw, 58px);
    line-height: 1.04;
    letter-spacing: -.038em;
}

.nesa-contact-experience__intro-panel > p {
    max-width: 560px;
    margin: 0;
    color: var(--contact-muted);
    font-size: 17px;
    line-height: 1.72;
}

.nesa-contact-experience__hours,
.nesa-contact-experience__security-note {
    padding: 18px;
    margin-top: 25px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--contact-line);
    border-radius: 13px;
}

.nesa-contact-experience__hours strong,
.nesa-contact-experience__security-note strong {
    display: block;
    font-size: 13px;
}

.nesa-contact-experience__hours p,
.nesa-contact-experience__security-note p {
    margin: 6px 0 0;
    color: var(--contact-muted);
    font-size: 13px;
    line-height: 1.55;
}

.nesa-contact-experience__direct-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.nesa-contact-experience__direct-links a {
    padding: 14px;
    background: #ffffff;
    border: 1px solid var(--contact-line);
    border-radius: 12px;
}

.nesa-contact-experience__direct-links small,
.nesa-contact-experience__direct-links strong {
    display: block;
}

.nesa-contact-experience__direct-links small {
    color: var(--contact-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nesa-contact-experience__direct-links strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    font-size: 12px;
}

.nesa-contact-experience__form-surface {
    position: relative;
    padding: 34px;
    color: #17202a;
    background: #ffffff;
    border: 1px solid var(--contact-line);
    border-radius: calc(var(--contact-radius) + 4px);
    box-shadow: var(--contact-shadow);
}

.nesa-contact-experience__form-surface::before {
    position: absolute;
    inset: -1px;
    content: "";
    padding: 1px;
    background: linear-gradient(
        135deg,
        rgba(223, 23, 40, .55),
        rgba(255, 255, 255, .08),
        rgba(223, 23, 40, .04)
    );
    border-radius: inherit;
    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask-composite: exclude;
    pointer-events: none;
}

.nesa-contact-experience__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.nesa-contact-experience.is-form-columns-1
.nesa-contact-experience__form {
    grid-template-columns: 1fr;
}

.nesa-contact-experience__form label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: #45515f;
    font-size: 12px;
    font-weight: 760;
}

.nesa-contact-experience__form label b {
    color: var(--contact-accent);
}

.nesa-contact-experience__form .is-full {
    grid-column: 1 / -1;
}

.nesa-contact-experience__form input,
.nesa-contact-experience__form select,
.nesa-contact-experience__form textarea {
    width: 100%;
    min-width: 0;
    padding: 13px 14px;
    color: #18212b;
    background: #fafbfc;
    border: 1px solid #dce2e8;
    border-radius: var(--theme-input-radius, 10px);
    font: inherit;
    transition:
        background-color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.nesa-contact-experience__form select {
    appearance: none;
    padding-right: 42px;
    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #657181 50%
        ),
        linear-gradient(
            135deg,
            #657181 50%,
            transparent 50%
        );
    background-position:
        calc(100% - 19px) 20px,
        calc(100% - 14px) 20px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
}

.nesa-contact-experience__form textarea {
    min-height: 160px;
    line-height: 1.6;
    resize: vertical;
}

.nesa-contact-experience__form input:focus,
.nesa-contact-experience__form select:focus,
.nesa-contact-experience__form textarea:focus {
    background: #ffffff;
    border-color: var(--contact-accent);
    box-shadow: 0 0 0 4px rgba(223, 23, 40, .09);
    outline: 0;
}

.nesa-contact-experience__consent {
    grid-template-columns: 23px minmax(0, 1fr) !important;
    align-items: start;
    padding: 13px;
    background: #f7f8fa;
    border: 1px solid #e1e5ea;
    border-radius: 11px;
    font-weight: 520 !important;
    line-height: 1.55;
}

.nesa-contact-experience__consent input {
    width: 21px;
    height: 21px;
    margin: 1px 0 0;
    accent-color: var(--contact-accent);
}

.nesa-contact-experience__consent a {
    color: var(--contact-accent);
    font-weight: 760;
}

.nesa-contact-experience__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.nesa-contact-experience__message {
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 11px;
}

.nesa-contact-experience__message strong,
.nesa-contact-experience__message p {
    display: block;
}

.nesa-contact-experience__message p {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.5;
}

.nesa-contact-experience__message.is-success {
    color: #17633c;
    background: #eaf8f0;
    border: 1px solid #bfe5ce;
}

.nesa-contact-experience__message.is-error {
    color: #8d1520;
    background: #fff0f1;
    border: 1px solid #f3c7cb;
}

.nesa-contact-experience .cf-turnstile {
    min-height: 65px;
    overflow: hidden;
}

/* Form theme variants */

.nesa-contact-experience.is-form-dark
.nesa-contact-experience__form-surface {
    color: #ffffff;
    background: #151d27;
    border-color: rgba(255, 255, 255, .12);
}

.nesa-contact-experience.is-form-dark
.nesa-contact-experience__form label {
    color: rgba(255, 255, 255, .72);
}

.nesa-contact-experience.is-form-dark
.nesa-contact-experience__form input,
.nesa-contact-experience.is-form-dark
.nesa-contact-experience__form select,
.nesa-contact-experience.is-form-dark
.nesa-contact-experience__form textarea {
    color: #ffffff;
    background-color: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .14);
}

.nesa-contact-experience.is-form-dark
.nesa-contact-experience__consent {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .1);
}

.nesa-contact-experience.is-form-brand
.nesa-contact-experience__form-surface {
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .1),
            transparent 33%
        ),
        #ffffff;
}

/* --------------------------------------------------------------------------
   Map section
---------------------------------------------------------------------------- */

.nesa-contact-experience__map-section {
    position: relative;
    order: 4;
    min-height: 510px;
    overflow: hidden;
    background: #dce1e6;
}

.nesa-contact-experience.is-map-compact
.nesa-contact-experience__map-section {
    min-height: 390px;
}

.nesa-contact-experience.is-map-tall
.nesa-contact-experience__map-section {
    min-height: 650px;
}

.nesa-contact-experience__map-frame,
.nesa-contact-experience__map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nesa-contact-experience__map-frame iframe {
    display: block;
    border: 0;
    filter: saturate(.9) contrast(1.02);
}

.nesa-contact-experience__map-overlay-wrap {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: inherit;
    pointer-events: none;
}

.nesa-contact-experience__map-overlay {
    width: min(430px, 100%);
    padding: 28px;
    color: #17202a;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 20px;
    box-shadow: 0 25px 70px rgba(17, 26, 37, .22);
    backdrop-filter: blur(14px);
    pointer-events: auto;
}

.nesa-contact-experience__map-overlay h2 {
    font-size: clamp(31px, 3.6vw, 47px);
}

.nesa-contact-experience__map-overlay p {
    margin: 0 0 21px;
    color: var(--contact-muted);
    font-size: 15px;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Variant 1: Signature Overlay
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__hero {
    min-height: 540px;
}

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__hero-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: 540px;
    text-align: center;
}

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__hero-copy {
    display: grid;
    justify-items: center;
}

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__hero-panel {
    display: none;
}

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__main {
    order: 3;
    background: #ffffff;
}

.nesa-contact-experience.is-variant-signature-overlay
.nesa-contact-experience__main-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

/* --------------------------------------------------------------------------
   Variant 2: Brand Split
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__main {
    order: 3;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 14%,
            rgba(223, 23, 40, .18),
            transparent 30%
        ),
        #111820;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__intro-panel h2 {
    color: #ffffff;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__intro-panel > p,
.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__hours p,
.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__security-note p {
    color: rgba(255, 255, 255, .66);
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__hours,
.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__security-note,
.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__direct-links a {
    color: #ffffff;
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .1);
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__direct-links small {
    color: rgba(255, 255, 255, .5);
}

/* --------------------------------------------------------------------------
   Variant 3: Map Focus
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__hero {
    min-height: 360px;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__hero-inner {
    min-height: 360px;
    padding-top: 62px;
    padding-bottom: 80px;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__hero-copy h1 {
    font-size: clamp(42px, 5vw, 66px);
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__cards-wrap {
    order: 3;
    margin-top: -58px;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__map-section {
    order: 2;
    min-height: 640px;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__map-overlay-wrap {
    align-items: flex-end;
    justify-content: flex-start;
    padding-bottom: 66px;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__main {
    order: 4;
    background: #f5f7f9;
}

/* --------------------------------------------------------------------------
   Responsive
---------------------------------------------------------------------------- */

@media (max-width: 1080px) {
    .nesa-contact-experience__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .nesa-contact-experience__hero-inner,
    .nesa-contact-experience__main-grid,
    .nesa-contact-experience.is-variant-signature-overlay
    .nesa-contact-experience__main-grid {
        grid-template-columns: 1fr;
    }

    .nesa-contact-experience__hero-panel {
        max-width: 520px;
    }

    .nesa-contact-experience__main-grid {
        gap: 34px;
    }

    .nesa-contact-experience__intro-panel {
        padding-top: 0;
    }
}

@media (max-width: 620px) {
    .nesa-contact-experience__hero,
    .nesa-contact-experience.is-variant-signature-overlay
    .nesa-contact-experience__hero {
        min-height: 470px;
    }

    .nesa-contact-experience__hero-inner,
    .nesa-contact-experience.is-variant-signature-overlay
    .nesa-contact-experience__hero-inner {
        min-height: 470px;
        padding-top: 62px;
        padding-bottom: 90px;
    }

    .nesa-contact-experience__hero-copy h1 {
        font-size: clamp(39px, 12vw, 56px);
    }

    .nesa-contact-experience__hero-copy p {
        font-size: 16px;
    }

    .nesa-contact-experience__hero-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .nesa-contact-experience__hero-actions .button {
        width: 100%;
    }

    .nesa-contact-experience__hero-panel {
        display: none;
    }

    .nesa-contact-experience__cards-wrap,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__cards-wrap {
        margin-top: -48px;
    }

    .nesa-contact-experience__cards,
    .nesa-contact-experience.is-cards-2
    .nesa-contact-experience__cards,
    .nesa-contact-experience.is-cards-3
    .nesa-contact-experience__cards {
        grid-template-columns: 1fr;
    }

    .nesa-contact-experience__card {
        min-height: 112px;
        padding: 17px;
    }

    .nesa-contact-experience__main {
        padding: 62px 0;
    }

    .nesa-contact-experience__form-surface {
        padding: 22px 18px;
    }

    .nesa-contact-experience__form,
    .nesa-contact-experience.is-form-columns-2
    .nesa-contact-experience__form {
        grid-template-columns: 1fr;
    }

    .nesa-contact-experience__form .is-full {
        grid-column: 1;
    }

    .nesa-contact-experience__direct-links {
        grid-template-columns: 1fr;
    }

    .nesa-contact-experience__map-section,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__map-section {
        min-height: 560px;
    }

    .nesa-contact-experience__map-overlay-wrap,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__map-overlay-wrap {
        align-items: flex-end;
        padding-bottom: 20px;
    }

    .nesa-contact-experience__map-overlay {
        width: 100%;
        padding: 22px;
    }
}


/* ==========================================================================
   NESA CMS 3.3.1
   BRAND SPLIT + MAP FOCUS LAYOUT POLISH
========================================================================== */

/* --------------------------------------------------------------------------
   Optional media inside the form intro panel
---------------------------------------------------------------------------- */

.nesa-contact-experience__intro-media {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: min(100%, 340px);
    min-height: 112px;
    padding: 20px;
    margin-top: 26px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--contact-line);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(17, 26, 37, .07);
}

.nesa-contact-experience__intro-media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 82px;
    object-fit: contain;
}

/* --------------------------------------------------------------------------
   Brand Split: clean section boundaries
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__hero {
    order: 1;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__cards-wrap {
    order: 2;
    padding: 34px 0 52px;
    margin-top: 0;
    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(223, 23, 40, .045),
            transparent 28%
        ),
        #ffffff;
    border-bottom: 1px solid #e7ebef;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__cards {
    position: relative;
    z-index: 2;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__main {
    order: 3;
    padding-top: 94px;
    padding-bottom: 102px;
    border-top: 0;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__map-section {
    order: 4;
}

.nesa-contact-experience.is-variant-brand-split
.nesa-contact-experience__intro-media {
    background: rgba(255, 255, 255, .065);
    border-color: rgba(255, 255, 255, .11);
    box-shadow: 0 17px 42px rgba(0, 0, 0, .16);
}

/* --------------------------------------------------------------------------
   Map Focus: map, cards and form as three clear sections
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__hero {
    order: 1;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__map-section {
    order: 2;
    margin: 0;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__cards-wrap {
    order: 3;
    padding: 34px 0 58px;
    margin-top: 0;
    background: #ffffff;
    border-top: 1px solid #edf0f3;
    border-bottom: 1px solid #e3e8ed;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__cards {
    position: relative;
    z-index: 2;
}

.nesa-contact-experience.is-variant-map-focus
.nesa-contact-experience__main {
    order: 4;
    padding-top: 88px;
    padding-bottom: 102px;
    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(223, 23, 40, .045),
            transparent 30%
        ),
        #f5f7f9;
    border-top: 0;
}

/* --------------------------------------------------------------------------
   Responsive spacing
---------------------------------------------------------------------------- */

@media (max-width: 900px) {
    .nesa-contact-experience.is-variant-brand-split
    .nesa-contact-experience__cards-wrap,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__cards-wrap {
        padding-top: 28px;
        padding-bottom: 44px;
        margin-top: 0;
    }

    .nesa-contact-experience.is-variant-brand-split
    .nesa-contact-experience__main,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__main {
        padding-top: 72px;
        padding-bottom: 78px;
    }
}

@media (max-width: 620px) {
    .nesa-contact-experience.is-variant-brand-split
    .nesa-contact-experience__cards-wrap,
    .nesa-contact-experience.is-variant-map-focus
    .nesa-contact-experience__cards-wrap {
        padding-top: 22px;
        padding-bottom: 36px;
        margin-top: 0;
    }

    .nesa-contact-experience__intro-media {
        width: 100%;
        min-height: 96px;
        padding: 16px;
    }

    .nesa-contact-experience__intro-media img {
        max-height: 70px;
    }
}


/* ==========================================================================
   NESA CMS 3.3.2
   BUTTON CONSISTENCY + ADVENTURE HUB
========================================================================== */

/* --------------------------------------------------------------------------
   Shared button sizing
---------------------------------------------------------------------------- */

.nesa-contact-experience__hero-actions .button,
.nesa-contact-experience__map-overlay .button,
.nesa-contact-experience__form .button {
    min-height: 48px;
    padding: 13px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 850;
}

.nesa-contact-experience__form .button.primary {
    border: 0;
    cursor: pointer;
}

/* --------------------------------------------------------------------------
   Adventure Hub section
---------------------------------------------------------------------------- */

.nesa-contact-experience__hub {
    position: relative;
    z-index: 2;
    padding: 82px 0 92px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(223, 23, 40, .075),
            transparent 28%
        ),
        linear-gradient(135deg, #f3f5f7, #ffffff);
    border-bottom: 1px solid #e4e8ed;
}

.nesa-contact-experience__hub::before {
    position: absolute;
    top: -190px;
    right: -150px;
    width: 390px;
    height: 390px;
    content: "";
    border: 1px solid rgba(223, 23, 40, .11);
    border-radius: 50%;
    pointer-events: none;
}

.nesa-contact-experience__hub-header {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(280px, .75fr);
    gap: 56px;
    align-items: end;
    padding-bottom: 30px;
    margin-bottom: 28px;
    border-bottom: 1px solid #dce2e8;
}

.nesa-contact-experience__hub-header span {
    color: var(--contact-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.nesa-contact-experience__hub-header h2 {
    max-width: 720px;
    margin: 10px 0 0;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.nesa-contact-experience__hub-header p {
    margin: 0;
    color: var(--contact-muted);
    font-size: 16px;
    line-height: 1.7;
}

.nesa-contact-experience__hub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.nesa-contact-experience__hub-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 330px;
    padding: 28px;
    overflow: hidden;
    color: #17202a;
    background: #ffffff;
    border: 1px solid #dfe4ea;
    border-radius: 20px;
    box-shadow: 0 17px 45px rgba(17, 26, 37, .075);
    transition:
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}

.nesa-contact-experience__hub-card::before {
    position: absolute;
    right: -72px;
    bottom: -82px;
    width: 190px;
    height: 190px;
    content: "";
    background: rgba(223, 23, 40, .045);
    border-radius: 50%;
    transition:
        background .24s ease,
        transform .35s ease;
}

.nesa-contact-experience__hub-card:nth-child(3) {
    color: #ffffff;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .32),
            transparent 42%
        ),
        linear-gradient(135deg, #111820, #1d2834);
    border-color: rgba(255, 255, 255, .08);
}

.nesa-contact-experience__hub-card:nth-child(3)::before {
    background: rgba(255, 255, 255, .05);
}

.nesa-contact-experience__hub-card:hover,
.nesa-contact-experience__hub-card:focus-visible {
    border-color: rgba(223, 23, 40, .28);
    box-shadow:
        0 29px 62px rgba(17, 26, 37, .15),
        0 0 0 4px rgba(223, 23, 40, .055);
    outline: 0;
    transform: translateY(-7px);
}

.nesa-contact-experience__hub-card:hover::before,
.nesa-contact-experience__hub-card:focus-visible::before {
    background: rgba(223, 23, 40, .095);
    transform: scale(1.12);
}

.nesa-contact-experience__hub-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 18px;
}

.nesa-contact-experience__hub-card-top > small {
    color: #a2abb6;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.nesa-contact-experience__hub-card:nth-child(3)
.nesa-contact-experience__hub-card-top > small {
    color: rgba(255, 255, 255, .48);
}

.nesa-contact-experience__hub-icon {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    color: var(--contact-accent);
    background: #fff1f2;
    border: 1px solid #f3cbd0;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(223, 23, 40, .1);
}

.nesa-contact-experience__hub-card:nth-child(3)
.nesa-contact-experience__hub-icon {
    color: #ffffff;
    background: var(--contact-accent);
    border-color: rgba(255, 255, 255, .18);
}

.nesa-contact-experience__hub-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.nesa-contact-experience__hub-copy {
    position: relative;
    z-index: 1;
    margin-top: 40px;
}

.nesa-contact-experience__hub-copy h3 {
    margin: 0;
    font-size: 29px;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.nesa-contact-experience__hub-copy p {
    margin: 13px 0 0;
    color: var(--contact-muted);
    font-size: 14px;
    line-height: 1.65;
}

.nesa-contact-experience__hub-card:nth-child(3)
.nesa-contact-experience__hub-copy p {
    color: rgba(255, 255, 255, .63);
}

.nesa-contact-experience__hub-card > strong {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 20px;
    margin-top: auto;
    color: var(--contact-accent);
    border-top: 1px solid #e3e7ec;
    font-size: 13px;
    font-weight: 900;
}

.nesa-contact-experience__hub-card:nth-child(3) > strong {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .12);
}

.nesa-contact-experience__hub-card > strong span {
    font-size: 22px;
    line-height: 1;
    transition: transform .2s ease;
}

.nesa-contact-experience__hub-card:hover > strong span,
.nesa-contact-experience__hub-card:focus-visible > strong span {
    transform: translateX(5px);
}

/* --------------------------------------------------------------------------
   Variant 4: Adventure Hub
---------------------------------------------------------------------------- */

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__hero {
    order: 1;
    min-height: 470px;
}

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__hero-inner {
    min-height: 470px;
    padding-top: 72px;
    padding-bottom: 82px;
}

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__hub {
    order: 2;
}

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__cards-wrap {
    order: 3;
    padding: 34px 0 54px;
    margin-top: 0;
    background: #ffffff;
}

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__main {
    order: 4;
    padding-top: 92px;
    padding-bottom: 102px;
    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(223, 23, 40, .05),
            transparent 30%
        ),
        #f5f7f9;
}

.nesa-contact-experience.is-variant-adventure-hub
.nesa-contact-experience__map-section {
    order: 5;
}

@media (max-width: 900px) {
    .nesa-contact-experience__hub-header {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .nesa-contact-experience__hub-grid {
        grid-template-columns: 1fr;
    }

    .nesa-contact-experience__hub-card {
        min-height: 285px;
    }
}

@media (max-width: 620px) {
    .nesa-contact-experience__hub {
        padding: 58px 0 64px;
    }

    .nesa-contact-experience__hub-card {
        min-height: 270px;
        padding: 22px;
    }

    .nesa-contact-experience__hub-copy {
        margin-top: 30px;
    }

    .nesa-contact-experience__hub-copy h3 {
        font-size: 25px;
    }
}


/* contact-info/style.css */
.nesa-contact-info {
    padding: 84px 0;
    background: #f4f6f8;
}

.nesa-contact-info__grid {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
    gap: 44px;
    align-items: start;
}

.nesa-contact-info__intro > span {
    color: var(--primary, #df1728);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nesa-contact-info__intro h2 {
    max-width: 520px;
    margin: 12px 0 14px;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.nesa-contact-info__intro p {
    max-width: 560px;
    margin: 0;
    color: #687381;
    font-size: 17px;
    line-height: 1.7;
}

.nesa-contact-info__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.nesa-contact-info__cards article {
    min-height: 132px;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e1e5ea;
    border-radius: var(--theme-card-radius, 16px);
    box-shadow: 0 12px 34px rgba(20, 28, 40, .055);
}

.nesa-contact-info__cards small,
.nesa-contact-info__cards strong,
.nesa-contact-info__cards a {
    display: block;
}

.nesa-contact-info__cards small {
    margin-bottom: 11px;
    color: #7b8591;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.nesa-contact-info__cards strong,
.nesa-contact-info__cards a {
    color: #151c25;
    font-size: 18px;
    font-weight: 760;
    line-height: 1.45;
}

@media (max-width: 850px) {
    .nesa-contact-info {
        padding: 58px 0;
    }

    .nesa-contact-info__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 560px) {
    .nesa-contact-info__cards {
        grid-template-columns: 1fr;
    }
}


/* contact-form/style.css */
.nesa-contact-form {
    padding: 88px 0;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 12% 15%,
            rgba(223, 23, 40, .16),
            transparent 32%
        ),
        #11161d;
}

.nesa-contact-form__grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: 54px;
    align-items: start;
}

.nesa-contact-form__intro > span {
    color: #ff5867;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nesa-contact-form__intro h2 {
    margin: 12px 0 15px;
    color: #ffffff;
    font-size: clamp(36px, 4.5vw, 58px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.nesa-contact-form__intro > p {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 17px;
    line-height: 1.7;
}

.nesa-contact-form__privacy {
    padding: 18px;
    margin-top: 28px;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 13px;
}

.nesa-contact-form__privacy strong,
.nesa-contact-form__privacy p {
    display: block;
}

.nesa-contact-form__privacy strong {
    font-size: 13px;
}

.nesa-contact-form__privacy p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    line-height: 1.55;
}

.nesa-contact-form__surface {
    padding: 30px;
    color: #17202a;
    background: #ffffff;
    border-radius: var(--theme-card-radius, 16px);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}

.nesa-contact-form__form {
    display: grid;
    gap: 17px;
}

.nesa-contact-form__two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.nesa-contact-form__form label {
    display: grid;
    gap: 8px;
    color: #45515f;
    font-size: 13px;
    font-weight: 720;
}

.nesa-contact-form__form label b {
    color: var(--primary, #df1728);
}

.nesa-contact-form__form input,
.nesa-contact-form__form select,
.nesa-contact-form__form textarea {
    width: 100%;
    padding: 13px 14px;
    color: #18212b;
    background: #fafbfc;
    border: 1px solid #dce2e8;
    border-radius: var(--theme-input-radius, 10px);
    font: inherit;
}

.nesa-contact-form__form input:focus,
.nesa-contact-form__form select:focus,
.nesa-contact-form__form textarea:focus {
    outline: 0;
    border-color: var(--primary, #df1728);
    box-shadow: 0 0 0 3px rgba(223, 23, 40, .1);
}

.nesa-contact-form__consent {
    grid-template-columns: auto 1fr !important;
    align-items: start;
    font-weight: 500 !important;
    line-height: 1.55;
}

.nesa-contact-form__consent input {
    width: auto;
    margin-top: 3px;
}

.nesa-contact-form__consent a {
    color: var(--primary, #df1728);
    font-weight: 750;
}

.nesa-contact-form__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.nesa-contact-form__message {
    padding: 15px 17px;
    margin-bottom: 18px;
    border-radius: 11px;
}

.nesa-contact-form__message strong,
.nesa-contact-form__message p {
    display: block;
}

.nesa-contact-form__message p {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.5;
}

.nesa-contact-form__message.is-success {
    color: #17633c;
    background: #eaf8f0;
    border: 1px solid #bfe5ce;
}

.nesa-contact-form__message.is-error {
    color: #8d1520;
    background: #fff0f1;
    border: 1px solid #f3c7cb;
}

.nesa-contact-form .cf-turnstile {
    min-height: 65px;
}

@media (max-width: 880px) {
    .nesa-contact-form {
        padding: 62px 0;
    }

    .nesa-contact-form__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 600px) {
    .nesa-contact-form__surface {
        padding: 21px;
    }

    .nesa-contact-form__two {
        grid-template-columns: 1fr;
    }
}


/* google-map/style.css */
.nesa-google-map {
    padding: 82px 0;
    background: #ffffff;
}

.nesa-google-map__head {
    margin-bottom: 25px;
}

.nesa-google-map__head span {
    color: var(--primary, #df1728);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nesa-google-map__head h2 {
    margin: 10px 0 0;
    font-size: clamp(32px, 4vw, 50px);
    letter-spacing: -.03em;
}

.nesa-google-map__frame {
    overflow: hidden;
    border: 1px solid #dfe4ea;
    border-radius: var(--theme-card-radius, 16px);
    box-shadow: 0 20px 50px rgba(18, 27, 38, .08);
}

.nesa-google-map__frame iframe {
    display: block;
    width: 100%;
    min-height: 510px;
    border: 0;
}

@media (max-width: 700px) {
    .nesa-google-map {
        padding: 58px 0;
    }

    .nesa-google-map__frame iframe {
        min-height: 390px;
    }
}


/* actuality-grid/style.css */
.nesa-actuality-grid {
    padding: 88px 0;
    background: #f4f6f8;
}

.nesa-actuality-grid__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 32px;
}

.nesa-actuality-grid__head span {
    color: var(--primary, #df1728);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nesa-actuality-grid__head h2 {
    margin: 10px 0 0;
    font-size: clamp(34px, 4.2vw, 54px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.nesa-actuality-grid__head p {
    max-width: 700px;
    margin: 12px 0 0;
    color: #687381;
    font-size: 16px;
    line-height: 1.65;
}

.nesa-actuality-grid__head > a {
    flex: 0 0 auto;
    color: #18212b;
    font-weight: 800;
}

.nesa-actuality-grid__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.nesa-actuality-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e0e5ea;
    border-radius: var(--theme-card-radius, 16px);
    box-shadow: 0 15px 40px rgba(20, 28, 40, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.nesa-actuality-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(20, 28, 40, .1);
}

.nesa-actuality-card__media {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e7ebef;
}

.nesa-actuality-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.nesa-actuality-card:hover .nesa-actuality-card__media img {
    transform: scale(1.035);
}

.nesa-actuality-card__media > span {
    color: #9ca5af;
    font-size: 46px;
    font-weight: 900;
}

.nesa-actuality-card__media > b {
    position: absolute;
    left: 14px;
    bottom: 14px;
    padding: 6px 10px;
    color: #ffffff;
    background: rgba(18, 25, 34, .86);
    border-radius: 999px;
    font-size: 10px;
}

.nesa-actuality-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px;
}

.nesa-actuality-card__body > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.nesa-actuality-card__body span,
.nesa-actuality-card__body time {
    font-size: 11px;
}

.nesa-actuality-card__body span {
    color: var(--primary, #df1728);
    font-weight: 850;
    text-transform: uppercase;
}

.nesa-actuality-card__body time {
    color: #7a8591;
}

.nesa-actuality-card__body h3 {
    margin: 14px 0 10px;
    font-size: 23px;
    line-height: 1.24;
    letter-spacing: -.02em;
}

.nesa-actuality-card__body h3 a {
    color: #151d26;
}

.nesa-actuality-card__body p {
    margin: 0 0 18px;
    color: #687381;
    font-size: 15px;
    line-height: 1.6;
}

.nesa-actuality-card__link {
    margin-top: auto;
    color: #151d26;
    font-weight: 800;
}

.nesa-actuality-grid__empty {
    padding: 45px 20px;
    color: #6f7985;
    text-align: center;
    background: #ffffff;
    border: 2px dashed #dce1e7;
    border-radius: 16px;
}

@media (max-width: 900px) {
    .nesa-actuality-grid__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .nesa-actuality-grid {
        padding: 62px 0;
    }

    .nesa-actuality-grid__head {
        align-items: start;
        flex-direction: column;
    }

    .nesa-actuality-grid__items {
        grid-template-columns: 1fr;
    }
}


/* actuality-hero/style.css */
.nesa-actuality-hero {
    position: relative;
    display: flex;
    align-items: end;
    min-height: 520px;
    overflow: hidden;
    color: #ffffff;
    background: #121820;
}

.nesa-actuality-hero__image,
.nesa-actuality-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nesa-actuality-hero__image {
    object-fit: cover;
}

.nesa-actuality-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(10, 14, 20, .94) 0%,
            rgba(10, 14, 20, .72) 52%,
            rgba(10, 14, 20, .3) 100%
        ),
        linear-gradient(
            0deg,
            rgba(10, 14, 20, .8),
            transparent 55%
        );
}

.nesa-actuality-hero__inner {
    position: relative;
    z-index: 2;
    padding-top: 130px;
    padding-bottom: 70px;
}

.nesa-actuality-hero__inner > a {
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    font-weight: 750;
}

.nesa-actuality-hero__meta {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 32px 0 14px;
}

.nesa-actuality-hero__meta span,
.nesa-actuality-hero__meta time {
    font-size: 12px;
}

.nesa-actuality-hero__meta span {
    padding: 6px 10px;
    background: var(--primary, #df1728);
    border-radius: 999px;
    font-weight: 850;
    text-transform: uppercase;
}

.nesa-actuality-hero__meta time {
    color: rgba(255, 255, 255, .68);
}

.nesa-actuality-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 6.5vw, 82px);
    line-height: .99;
    letter-spacing: -.045em;
}

.nesa-actuality-hero p {
    max-width: 760px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.55;
}

@media (max-width: 700px) {
    .nesa-actuality-hero {
        min-height: 460px;
    }

    .nesa-actuality-hero__inner {
        padding-top: 110px;
        padding-bottom: 48px;
    }
}


/* actuality-content/style.css */
/* ==========================================================================
   NESA CMS 3.2.3
   ACTUALITY CONTENT + GALLERY STYLE VARIANTS
========================================================================== */

/* --------------------------------------------------------------------------
   Article content
---------------------------------------------------------------------------- */

.nesa-actuality-content {
    overflow: clip;
    background: #ffffff;
}

.nesa-actuality-content__inner {
    width: min(100% - 40px, 980px);
    padding-top: 70px;
    padding-bottom: 86px;
}

.nesa-actuality-content__author {
    padding-bottom: 18px;
    margin-bottom: 34px;
    color: #727c88;
    border-bottom: 1px solid #e5e9ed;
    font-size: 13px;
}

.nesa-actuality-content__prose h2 {
    margin: 40px 0 13px;
    font-size: 30px;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.nesa-actuality-content__prose h3 {
    margin: 30px 0 10px;
    font-size: 23px;
}

.nesa-actuality-content__prose p,
.nesa-actuality-content__prose li {
    color: #3e4854;
    font-size: 18px;
    line-height: 1.8;
}

.nesa-actuality-content__video,
.nesa-actuality-content__direct-video {
    width: 100%;
    margin-top: 48px;
    overflow: hidden;
    background: #11161d;
    border-radius: var(--theme-card-radius, 16px);
    box-shadow: 0 18px 50px rgba(18, 27, 38, .12);
}

.nesa-actuality-content__video {
    aspect-ratio: 16 / 9;
}

.nesa-actuality-content__video iframe,
.nesa-actuality-content__direct-video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* --------------------------------------------------------------------------
   Shared gallery foundation
---------------------------------------------------------------------------- */

.nesa-actuality-content__gallery {
    position: relative;
    z-index: 0;
    padding: 74px 0 82px;
    margin-top: 72px;
    color: #ffffff;
    isolation: isolate;

    --actuality-gallery-columns-desktop: 2;
    --actuality-gallery-columns-tablet: 2;
    --actuality-gallery-columns-mobile: 1;
    --actuality-gallery-gap: 16px;
    --actuality-gallery-ratio: 4 / 3;
    --actuality-gallery-radius: 17px;
    --actuality-gallery-card-shadow:
        0 18px 38px rgba(0, 0, 0, .24),
        inset 0 0 0 1px rgba(255, 255, 255, .025);
}

.nesa-actuality-content__gallery::before {
    position: absolute;
    z-index: -3;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    content: "";
    background:
        radial-gradient(
            circle at 8% 0%,
            rgba(223, 23, 40, .34),
            transparent 34%
        ),
        radial-gradient(
            circle at 92% 100%,
            rgba(76, 121, 255, .18),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #0d131b 0%,
            #171f2a 52%,
            #101720 100%
        );
    transform: translateX(-50%);
}

.nesa-actuality-content__gallery::after {
    position: absolute;
    z-index: -2;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    content: "";
    opacity: .42;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, .035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .035) 1px,
            transparent 1px
        );
    background-size: 46px 46px;
    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, .75),
        transparent 92%
    );
    transform: translateX(-50%);
}

.nesa-actuality-content__gallery-decoration {
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
}

.nesa-actuality-content__gallery-decoration span {
    position: absolute;
    display: block;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}

.nesa-actuality-content__gallery-decoration span:nth-child(1) {
    top: -185px;
    right: -195px;
    width: 420px;
    height: 420px;
}

.nesa-actuality-content__gallery-decoration span:nth-child(2) {
    top: -105px;
    right: -115px;
    width: 260px;
    height: 260px;
    border-color: rgba(223, 23, 40, .34);
}

.nesa-actuality-content__gallery-decoration span:nth-child(3) {
    bottom: -160px;
    left: -170px;
    width: 330px;
    height: 330px;
}

.nesa-actuality-content__gallery-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.nesa-actuality-content__gallery-header > div:first-child {
    max-width: 690px;
}

.nesa-actuality-content__gallery-header > div:first-child > span,
.nesa-actuality-content__related header span {
    color: #ff4b59;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.nesa-actuality-content__gallery-header h2,
.nesa-actuality-content__related header h2 {
    margin: 10px 0 12px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.nesa-actuality-content__gallery-header p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: 14px;
    line-height: 1.65;
}

.nesa-actuality-content__gallery-count {
    display: grid;
    justify-items: end;
    flex: 0 0 auto;
}

.nesa-actuality-content__gallery-count strong {
    color: #ffffff;
    font-size: clamp(40px, 5vw, 66px);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.06em;
}

.nesa-actuality-content__gallery-count span {
    margin-top: 8px;
    color: rgba(255, 255, 255, .52);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nesa-actuality-content__gallery-grid {
    display: grid;
    grid-template-columns: repeat(
        var(--actuality-gallery-columns-desktop),
        minmax(0, 1fr)
    );
    gap: var(--actuality-gallery-gap);
}

.nesa-actuality-content__gallery-card {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    aspect-ratio: var(--actuality-gallery-ratio);
    background: #111821;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--actuality-gallery-radius);
    box-shadow: var(--actuality-gallery-card-shadow);
    transform: translateZ(0);
    transition:
        border-color .28s ease,
        box-shadow .28s ease,
        transform .28s ease;
}

.nesa-actuality-content__gallery-card::before {
    position: absolute;
    z-index: 3;
    inset: 0;
    content: "";
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: inherit;
    pointer-events: none;
}

.nesa-actuality-content__gallery-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        filter .38s ease,
        transform .55s cubic-bezier(.2, .75, .2, 1);
}

.nesa-actuality-content__gallery-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(5, 9, 14, .88) 0%,
            rgba(5, 9, 14, .18) 43%,
            transparent 70%
        );
    opacity: .82;
    transition: opacity .28s ease;
}

.nesa-actuality-content__gallery-number,
.nesa-actuality-content__gallery-zoom,
.nesa-actuality-content__gallery-caption {
    position: absolute;
    z-index: 2;
}

.nesa-actuality-content__gallery-number {
    top: 13px;
    left: 13px;
    display: grid;
    place-items: center;
    min-width: 37px;
    height: 31px;
    padding: 0 9px;
    color: #ffffff;
    background: rgba(7, 12, 18, .64);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    backdrop-filter: blur(9px);
}

.nesa-actuality-content__gallery-zoom {
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #ffffff;
    background: var(--theme-primary, #df1728);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(223, 23, 40, .34);
    opacity: .92;
    transform: scale(.9);
    transition:
        background .22s ease,
        transform .22s ease;
}

.nesa-actuality-content__gallery-zoom svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.nesa-actuality-content__gallery-caption {
    right: 16px;
    bottom: 15px;
    left: 16px;
    overflow: hidden;
    color: rgba(255, 255, 255, .94);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Shadow variants */

.nesa-actuality-content__gallery.is-shadow-none {
    --actuality-gallery-card-shadow: none;
}

.nesa-actuality-content__gallery.is-shadow-soft {
    --actuality-gallery-card-shadow:
        0 10px 26px rgba(0, 0, 0, .14);
}

.nesa-actuality-content__gallery.is-shadow-deep {
    --actuality-gallery-card-shadow:
        0 18px 38px rgba(0, 0, 0, .24),
        inset 0 0 0 1px rgba(255, 255, 255, .025);
}

/* Hover variants */

.nesa-actuality-content__gallery.is-hover-zoom
.nesa-actuality-content__gallery-card:hover img,
.nesa-actuality-content__gallery.is-hover-zoom
.nesa-actuality-content__gallery-card:focus-visible img,
.nesa-actuality-content__gallery.is-hover-zoom-lift
.nesa-actuality-content__gallery-card:hover img,
.nesa-actuality-content__gallery.is-hover-zoom-lift
.nesa-actuality-content__gallery-card:focus-visible img {
    filter: saturate(1.08) contrast(1.03);
    transform: scale(1.055);
}

.nesa-actuality-content__gallery.is-hover-lift
.nesa-actuality-content__gallery-card:hover,
.nesa-actuality-content__gallery.is-hover-lift
.nesa-actuality-content__gallery-card:focus-visible,
.nesa-actuality-content__gallery.is-hover-zoom-lift
.nesa-actuality-content__gallery-card:hover,
.nesa-actuality-content__gallery.is-hover-zoom-lift
.nesa-actuality-content__gallery-card:focus-visible {
    border-color: rgba(255, 255, 255, .46);
    box-shadow:
        0 28px 54px rgba(0, 0, 0, .34),
        0 0 0 4px rgba(223, 23, 40, .12);
    outline: 0;
    transform: translateY(-6px);
}

.nesa-actuality-content__gallery.is-hover-overlay
.nesa-actuality-content__gallery-card:hover
.nesa-actuality-content__gallery-shade,
.nesa-actuality-content__gallery.is-hover-overlay
.nesa-actuality-content__gallery-card:focus-visible
.nesa-actuality-content__gallery-shade {
    opacity: 1;
    background:
        linear-gradient(
            135deg,
            rgba(223, 23, 40, .72),
            rgba(5, 9, 14, .82)
        );
}

.nesa-actuality-content__gallery-card:hover
.nesa-actuality-content__gallery-zoom,
.nesa-actuality-content__gallery-card:focus-visible
.nesa-actuality-content__gallery-zoom {
    background: #f02536;
    transform: scale(1);
}

/* --------------------------------------------------------------------------
   Variant 1: Premium Grid
---------------------------------------------------------------------------- */

.nesa-actuality-content__gallery.is-layout-premium-grid {
    /* Shared foundation is already the premium presentation. */
}

/* --------------------------------------------------------------------------
   Variant 2: Clean Grid
---------------------------------------------------------------------------- */

.nesa-actuality-content__gallery.is-layout-clean-grid {
    color: #17202a;
}

.nesa-actuality-content__gallery.is-layout-clean-grid::before {
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .08),
            transparent 34%
        ),
        linear-gradient(135deg, #f7f8fa, #ffffff);
    border-top: 1px solid #e5e9ee;
    border-bottom: 1px solid #e5e9ee;
}

.nesa-actuality-content__gallery.is-layout-clean-grid::after {
    opacity: .36;
    background-image:
        radial-gradient(
            circle,
            rgba(26, 34, 44, .08) 1px,
            transparent 1.5px
        );
    background-size: 24px 24px;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-decoration {
    opacity: .24;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-header {
    border-color: #dfe4ea;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-header h2,
.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-count strong {
    color: #17202a;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-header p,
.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-count span {
    color: #687381;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    aspect-ratio: auto;
    background: #ffffff;
    border-color: #dfe4ea;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-card::before {
    border-color: rgba(23, 32, 42, .04);
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-card img {
    aspect-ratio: var(--actuality-gallery-ratio);
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-shade {
    background: linear-gradient(
        to bottom,
        rgba(5, 9, 14, .18),
        transparent 38%
    );
    opacity: 1;
}

.nesa-actuality-content__gallery.is-layout-clean-grid
.nesa-actuality-content__gallery-caption {
    position: static;
    display: block;
    padding: 14px 16px;
    overflow: hidden;
    color: #17202a;
    background: #ffffff;
    border-top: 1px solid #e8ebef;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Variant 3: Masonry
---------------------------------------------------------------------------- */

.nesa-actuality-content__gallery.is-layout-masonry
.nesa-actuality-content__gallery-grid {
    display: block;
    columns: var(--actuality-gallery-columns-desktop);
    column-gap: var(--actuality-gallery-gap);
}

.nesa-actuality-content__gallery.is-layout-masonry
.nesa-actuality-content__gallery-card {
    width: 100%;
    margin-bottom: var(--actuality-gallery-gap);
    break-inside: avoid;
    aspect-ratio: auto;
}

.nesa-actuality-content__gallery.is-layout-masonry
.nesa-actuality-content__gallery-card img {
    width: 100%;
    height: auto;
    min-height: 170px;
    max-height: 560px;
}

/* --------------------------------------------------------------------------
   Variant 4: Editorial / Featured
---------------------------------------------------------------------------- */

.nesa-actuality-content__gallery.is-layout-editorial
.nesa-actuality-content__gallery-grid {
    grid-auto-flow: dense;
}

.nesa-actuality-content__gallery.is-layout-editorial
.nesa-actuality-content__gallery-card:first-child {
    grid-column: span min(
        2,
        var(--actuality-gallery-columns-desktop)
    );
    grid-row: span 2;
    aspect-ratio: 16 / 10;
}

.nesa-actuality-content__gallery.is-layout-editorial
.nesa-actuality-content__gallery-card:nth-child(6n + 4) {
    grid-column: span min(
        2,
        var(--actuality-gallery-columns-desktop)
    );
    aspect-ratio: 16 / 9;
}

/* Natural ratio option */

.nesa-actuality-content__gallery.is-ratio-natural
.nesa-actuality-content__gallery-card {
    aspect-ratio: auto;
}

.nesa-actuality-content__gallery.is-ratio-natural
.nesa-actuality-content__gallery-card img {
    height: auto;
    min-height: 180px;
}

/* --------------------------------------------------------------------------
   Related actualities
---------------------------------------------------------------------------- */

.nesa-actuality-content__related {
    padding: 74px 0 84px;
    background: #f4f6f8;
}

.nesa-actuality-content__related > .container > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.nesa-actuality-content__related article {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e0e5ea;
    border-radius: 14px;
}

.nesa-actuality-content__related article img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.nesa-actuality-content__related article h3 {
    padding: 18px;
    margin: 0;
    font-size: 19px;
    line-height: 1.35;
}

.nesa-actuality-content__related article h3 a {
    color: #17202a;
}

/* ==========================================================================
   LIGHTBOX CORE
========================================================================== */

.nesa-actuality-lightbox {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: none;
    place-items: center;
    padding: 24px;
    background: rgba(5, 9, 14, .88);
    backdrop-filter: blur(14px);

    --actuality-lightbox-accent: var(--theme-primary, #df1728);
    --actuality-lightbox-max-height: 70vh;
    --actuality-lightbox-surface: #111821;
    --actuality-lightbox-stage: #080d13;
    --actuality-lightbox-text: #ffffff;
    --actuality-lightbox-muted: #aeb7c2;
    --actuality-lightbox-line: rgba(255, 255, 255, .12);
}

.nesa-actuality-lightbox.is-open {
    display: grid;
}

.nesa-actuality-lightbox__dialog {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(1260px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    overflow: hidden;
    color: var(--actuality-lightbox-text);
    background:
        radial-gradient(
            circle at 100% 0%,
            color-mix(
                in srgb,
                var(--actuality-lightbox-accent) 12%,
                transparent
            ),
            transparent 32%
        ),
        var(--actuality-lightbox-surface);
    border: 1px solid var(--actuality-lightbox-line);
    border-radius: 22px;
    box-shadow:
        0 36px 100px rgba(0, 0, 0, .58),
        0 0 0 1px rgba(255, 255, 255, .025) inset;
}

.nesa-actuality-lightbox__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 70px;
    padding: 13px 15px 13px 22px;
    border-bottom: 1px solid var(--actuality-lightbox-line);
}

.nesa-actuality-lightbox__identity {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.nesa-actuality-lightbox__identity > span {
    color: var(--actuality-lightbox-accent);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nesa-actuality-lightbox__identity > small {
    padding: 5px 9px;
    color: var(--actuality-lightbox-text);
    background: color-mix(
        in srgb,
        var(--actuality-lightbox-text) 8%,
        transparent
    );
    border: 1px solid var(--actuality-lightbox-line);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
}

.nesa-actuality-lightbox__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 15px;
    color: #ffffff;
    background: var(--actuality-lightbox-accent);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    box-shadow:
        0 9px 24px
        color-mix(
            in srgb,
            var(--actuality-lightbox-accent) 32%,
            transparent
        );
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition:
        filter .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.nesa-actuality-lightbox__close:hover,
.nesa-actuality-lightbox__close:focus-visible {
    filter: brightness(1.12);
    outline: 0;
    transform: translateY(-1px);
}

.nesa-actuality-lightbox__close svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}

.nesa-actuality-lightbox__stage {
    position: relative;
    display: grid;
    min-height: 0;
    padding: 20px 82px 22px;
}

.nesa-actuality-lightbox figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
}

.nesa-actuality-lightbox__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 14px;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--actuality-lightbox-text) 3%,
                transparent
            ),
            transparent
        ),
        var(--actuality-lightbox-stage);
    border: 1px solid var(--actuality-lightbox-line);
    border-radius: 16px;
    box-shadow: inset 0 0 40px rgba(0, 0, 0, .35);
}

.nesa-actuality-lightbox figure img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(
        var(--actuality-lightbox-max-height),
        850px
    );
    object-fit: contain;
    border-radius: 9px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .42);
    opacity: 0;
    transition:
        opacity .24s ease,
        transform .3s ease;
}

/* Animation variants */

.nesa-actuality-lightbox.is-animation-fade figure img {
    transform: none;
}

.nesa-actuality-lightbox.is-animation-zoom figure img {
    transform: scale(.975);
}

.nesa-actuality-lightbox.is-animation-slide figure img {
    transform: translateY(18px);
}

.nesa-actuality-lightbox figure img.is-ready {
    opacity: 1;
    transform: none;
}

.nesa-actuality-lightbox figcaption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 62px;
    padding: 15px 4px 0;
    color: var(--actuality-lightbox-text);
}

.nesa-actuality-lightbox figcaption > span {
    overflow: hidden;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nesa-actuality-lightbox figcaption small {
    flex: 0 0 auto;
    color: var(--actuality-lightbox-muted);
    font-size: 11px;
    font-weight: 700;
}

.nesa-actuality-lightbox__arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-top: -27px;
    color: #17202a;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .32);
    cursor: pointer;
    transition:
        background .18s ease,
        box-shadow .18s ease,
        color .18s ease,
        transform .18s ease;
}

.nesa-actuality-lightbox__arrow:hover,
.nesa-actuality-lightbox__arrow:focus-visible {
    color: #ffffff;
    background: var(--actuality-lightbox-accent);
    outline: 0;
    transform: scale(1.06);
}

.nesa-actuality-lightbox__arrow svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.nesa-actuality-lightbox__arrow--previous {
    left: 15px;
}

.nesa-actuality-lightbox__arrow--next {
    right: 15px;
}

/* Thumbnail strip */

.nesa-actuality-lightbox__thumbnails {
    display: flex;
    gap: 8px;
    padding: 11px 18px 16px;
    overflow-x: auto;
    border-top: 1px solid var(--actuality-lightbox-line);
    scrollbar-width: thin;
}

.nesa-actuality-lightbox__thumbnail {
    position: relative;
    flex: 0 0 76px;
    width: 76px;
    height: 54px;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 8px;
    opacity: .58;
    cursor: pointer;
    transition:
        border-color .18s ease,
        opacity .18s ease,
        transform .18s ease;
}

.nesa-actuality-lightbox__thumbnail:hover,
.nesa-actuality-lightbox__thumbnail:focus-visible,
.nesa-actuality-lightbox__thumbnail.is-active {
    border-color: var(--actuality-lightbox-accent);
    opacity: 1;
    outline: 0;
    transform: translateY(-1px);
}

.nesa-actuality-lightbox__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --------------------------------------------------------------------------
   Lightbox theme 1: Dark Glass
---------------------------------------------------------------------------- */

.nesa-actuality-lightbox.is-theme-dark-glass {
    /* Core defaults form the Dark Glass theme. */
}

/* --------------------------------------------------------------------------
   Lightbox theme 2: Light Minimal
---------------------------------------------------------------------------- */

.nesa-actuality-lightbox.is-theme-light-minimal {
    background: rgba(237, 241, 245, .9);

    --actuality-lightbox-surface: #ffffff;
    --actuality-lightbox-stage: #f5f7f9;
    --actuality-lightbox-text: #17202a;
    --actuality-lightbox-muted: #6f7a87;
    --actuality-lightbox-line: #dfe4e9;
}

.nesa-actuality-lightbox.is-theme-light-minimal
.nesa-actuality-lightbox__dialog {
    box-shadow: 0 30px 85px rgba(24, 34, 46, .25);
}

.nesa-actuality-lightbox.is-theme-light-minimal
.nesa-actuality-lightbox__media {
    box-shadow: inset 0 0 30px rgba(24, 34, 46, .05);
}

.nesa-actuality-lightbox.is-theme-light-minimal
.nesa-actuality-lightbox__identity > small {
    background: #f1f3f6;
}

/* --------------------------------------------------------------------------
   Lightbox theme 3: Brand Accent
---------------------------------------------------------------------------- */

.nesa-actuality-lightbox.is-theme-brand-accent {
    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--theme-primary, #df1728) 42%,
                rgba(4, 8, 13, .94)
            ),
            rgba(4, 8, 13, .94)
        );
}

.nesa-actuality-lightbox.is-theme-brand-accent
.nesa-actuality-lightbox__dialog {
    border-color: color-mix(
        in srgb,
        var(--theme-primary, #df1728) 45%,
        rgba(255, 255, 255, .16)
    );
}

body.actuality-lightbox-open {
    overflow: hidden;
}

/* ==========================================================================
   RESPONSIVE
========================================================================== */

@media (max-width: 900px) {
    .nesa-actuality-content__gallery-grid {
        grid-template-columns: repeat(
            var(--actuality-gallery-columns-tablet),
            minmax(0, 1fr)
        );
    }

    .nesa-actuality-content__gallery.is-layout-masonry
    .nesa-actuality-content__gallery-grid {
        columns: var(--actuality-gallery-columns-tablet);
    }

    .nesa-actuality-content__gallery.is-layout-editorial
    .nesa-actuality-content__gallery-card:first-child,
    .nesa-actuality-content__gallery.is-layout-editorial
    .nesa-actuality-content__gallery-card:nth-child(6n + 4) {
        grid-column: span min(
            2,
            var(--actuality-gallery-columns-tablet)
        );
    }

    .nesa-actuality-lightbox {
        padding: 14px;
    }

    .nesa-actuality-lightbox__dialog {
        width: calc(100vw - 28px);
        max-height: calc(100vh - 28px);
    }

    .nesa-actuality-lightbox__stage {
        padding: 16px 62px 18px;
    }

    .nesa-actuality-lightbox__arrow {
        width: 46px;
        height: 46px;
        margin-top: -23px;
    }

    .nesa-actuality-lightbox__arrow--previous {
        left: 8px;
    }

    .nesa-actuality-lightbox__arrow--next {
        right: 8px;
    }
}

@media (max-width: 620px) {
    .nesa-actuality-content__inner {
        width: min(100% - 30px, 980px);
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .nesa-actuality-content__prose p,
    .nesa-actuality-content__prose li {
        font-size: 16px;
        line-height: 1.72;
    }

    .nesa-actuality-content__gallery {
        padding: 58px 0 62px;
        margin-top: 56px;
    }

    .nesa-actuality-content__gallery-header {
        align-items: start;
        flex-direction: column;
        gap: 18px;
    }

    .nesa-actuality-content__gallery-count {
        display: flex;
        align-items: baseline;
        gap: 9px;
        justify-items: start;
    }

    .nesa-actuality-content__gallery-count strong {
        font-size: 38px;
    }

    .nesa-actuality-content__gallery-grid {
        grid-template-columns: repeat(
            var(--actuality-gallery-columns-mobile),
            minmax(0, 1fr)
        );
    }

    .nesa-actuality-content__gallery.is-layout-masonry
    .nesa-actuality-content__gallery-grid {
        columns: var(--actuality-gallery-columns-mobile);
    }

    .nesa-actuality-content__gallery.is-layout-editorial
    .nesa-actuality-content__gallery-card:first-child,
    .nesa-actuality-content__gallery.is-layout-editorial
    .nesa-actuality-content__gallery-card:nth-child(6n + 4) {
        grid-column: span 1;
        grid-row: span 1;
        aspect-ratio: var(--actuality-gallery-ratio);
    }

    .nesa-actuality-content__related > .container > div {
        grid-template-columns: 1fr;
    }

    .nesa-actuality-content__gallery-caption {
        font-size: 11px;
    }

    .nesa-actuality-lightbox {
        padding: 8px;
    }

    .nesa-actuality-lightbox__dialog {
        width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        border-radius: 16px;
    }

    .nesa-actuality-lightbox__toolbar {
        min-height: 60px;
        padding: 9px 9px 9px 15px;
    }

    .nesa-actuality-lightbox__identity > span {
        font-size: 8px;
    }

    .nesa-actuality-lightbox__identity > small {
        font-size: 8px;
    }

    .nesa-actuality-lightbox__close {
        width: 43px;
        min-width: 43px;
        height: 43px;
        min-height: 43px;
        padding: 0;
    }

    .nesa-actuality-lightbox__close span {
        display: none;
    }

    .nesa-actuality-lightbox__stage {
        padding: 10px 8px 12px;
    }

    .nesa-actuality-lightbox__media {
        padding: 7px;
        border-radius: 11px;
    }

    .nesa-actuality-lightbox figure img {
        max-height: min(
            var(--actuality-lightbox-max-height),
            650px
        );
    }

    .nesa-actuality-lightbox figcaption {
        min-height: 54px;
        padding: 11px 2px 0;
    }

    .nesa-actuality-lightbox figcaption > span {
        font-size: 11px;
    }

    .nesa-actuality-lightbox figcaption small {
        font-size: 9px;
    }

    .nesa-actuality-lightbox__arrow {
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -38px;
        color: #ffffff;
        background: rgba(12, 18, 26, .82);
        border-color: rgba(255, 255, 255, .34);
    }

    .nesa-actuality-lightbox__arrow--previous {
        left: 13px;
    }

    .nesa-actuality-lightbox__arrow--next {
        right: 13px;
    }

    .nesa-actuality-lightbox__thumbnails {
        padding: 8px 10px 11px;
    }

    .nesa-actuality-lightbox__thumbnail {
        flex-basis: 62px;
        width: 62px;
        height: 44px;
    }
}


/* accessories-catalog/style.css */
/* ==========================================================================
   NESA CMS 3.4.0
   ACCESSORIES CATALOG
========================================================================== */

.accessories-catalog {
    overflow: hidden;
    background: #ffffff;
}

.accessories-catalog__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr);
    gap: 54px;
    align-items: end;
    padding: 86px 0 40px;
    border-bottom: 1px solid #e2e7ec;
}

.accessories-catalog__intro span,
.accessories-catalog__section-head > span {
    color: var(--theme-primary, #df1728);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.accessories-catalog__intro h2,
.accessories-catalog__section-head h2 {
    max-width: 820px;
    margin: 11px 0 0;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.accessories-catalog__intro > p,
.accessories-catalog__section-head > p {
    margin: 0;
    color: #687482;
    font-size: 16px;
    line-height: 1.75;
}

.accessories-catalog__categories {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 28px 0 88px;
}

.accessories-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 290px;
    padding: 25px;
    overflow: hidden;
    color: #17202a;
    background:
        linear-gradient(
            135deg,
            rgba(223, 23, 40, .035),
            transparent 42%
        ),
        #f7f8fa;
    border: 1px solid #dfe4e9;
    border-radius: 18px;
    box-shadow: 0 15px 38px rgba(17, 27, 39, .055);
    transition:
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}

.accessories-category-card::before {
    position: absolute;
    right: -70px;
    bottom: -82px;
    width: 190px;
    height: 190px;
    content: "";
    background: rgba(223, 23, 40, .05);
    border-radius: 50%;
    transition: transform .3s ease;
}

.accessories-category-card:hover,
.accessories-category-card:focus-visible {
    border-color: rgba(223, 23, 40, .32);
    box-shadow:
        0 26px 58px rgba(17, 27, 39, .12),
        0 0 0 4px rgba(223, 23, 40, .05);
    outline: 0;
    transform: translateY(-6px);
}

.accessories-category-card:hover::before,
.accessories-category-card:focus-visible::before {
    transform: scale(1.14);
}

.accessories-category-card__top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.accessories-category-card__top > span {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    color: var(--theme-primary, #df1728);
    background: #fff0f2;
    border: 1px solid #f1cbd0;
    border-radius: 18px;
}

.accessories-category-card__top svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.accessories-category-card__top small {
    color: #9aa4af;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.accessories-category-card h3 {
    position: relative;
    z-index: 1;
    margin: 34px 0 10px;
    font-size: 25px;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.accessories-category-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #687482;
    font-size: 14px;
    line-height: 1.65;
}

.accessories-category-card footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 18px;
    margin-top: auto;
    color: var(--theme-primary, #df1728);
    border-top: 1px solid #e1e5ea;
    font-size: 12px;
}

.accessories-category-card footer span {
    font-size: 22px;
}

.accessories-catalog__featured {
    padding: 82px 0 96px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(223, 23, 40, .34),
            transparent 32%
        ),
        radial-gradient(
            circle at 95% 95%,
            rgba(64, 104, 255, .15),
            transparent 34%
        ),
        linear-gradient(135deg, #0d141c, #1c2733);
}

.accessories-catalog__featured
.accessories-catalog__section-head {
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.accessories-featured-list {
    display: grid;
    gap: 30px;
}

.accessories-featured-item {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 38px;
    align-items: center;
}

.accessories-featured-item:nth-child(even)
.accessories-featured-item__media {
    order: 2;
}

.accessories-featured-item__media {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 430px;
    overflow: hidden;
    color: #99a4af;
    background: linear-gradient(135deg, #eef1f4, #ffffff);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}

.accessories-featured-item__media img {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    transition: transform .55s ease;
}

.accessories-featured-item__media > span {
    font-size: 88px;
    font-weight: 900;
}

.accessories-featured-item__media > b {
    position: absolute;
    top: 18px;
    left: 18px;
    display: grid;
    place-items: center;
    min-width: 42px;
    height: 36px;
    padding: 0 10px;
    color: #ffffff;
    background: rgba(9, 14, 20, .7);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    font-size: 11px;
    backdrop-filter: blur(9px);
}

.accessories-featured-item__media:hover img {
    transform: scale(1.04);
}

.accessories-featured-item__copy > span {
    color: #ff4d5b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.accessories-featured-item__copy h3 {
    margin: 10px 0 15px;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.accessories-featured-item__copy > p {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: 16px;
    line-height: 1.75;
}

.accessories-featured-item__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 22px 0 26px;
}

.accessories-featured-item__chips b {
    padding: 8px 11px;
    color: rgba(255, 255, 255, .83);
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    font-size: 11px;
}

.accessories-catalog__grid-section {
    padding: 86px 0 98px;
    background: #f4f6f8;
}

.accessories-catalog__section-head {
    margin-bottom: 28px;
}

.accessories-product-grid {
    display: grid;
    grid-template-columns: repeat(
        var(--accessories-columns),
        minmax(0, 1fr)
    );
    gap: 16px;
}

.accessories-product-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dfe4e9;
    border-radius: 17px;
    box-shadow: 0 14px 36px rgba(17, 27, 39, .06);
    transition:
        box-shadow .22s ease,
        transform .22s ease;
}

.accessories-product-card:hover {
    box-shadow: 0 24px 54px rgba(17, 27, 39, .12);
    transform: translateY(-5px);
}

.accessories-product-card__media {
    position: relative;
    display: grid;
    place-items: center;
    height: 260px;
    overflow: hidden;
    color: #a0a9b4;
    background: linear-gradient(135deg, #edf0f3, #ffffff);
}

.accessories-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s ease;
}

.accessories-product-card:hover
.accessories-product-card__media img {
    transform: scale(1.045);
}

.accessories-product-card__media > span {
    font-size: 62px;
    font-weight: 900;
}

.accessories-product-card__media > b {
    position: absolute;
    top: 13px;
    right: 13px;
    padding: 7px 10px;
    color: #ffffff;
    background: var(--theme-primary, #df1728);
    border-radius: 999px;
    font-size: 10px;
}

.accessories-product-card__body {
    padding: 20px;
}

.accessories-product-card__body > span {
    color: var(--theme-primary, #df1728);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.accessories-product-card h3 {
    margin: 8px 0 10px;
    font-size: 22px;
    line-height: 1.18;
}

.accessories-product-card h3 a {
    color: #17202a;
}

.accessories-product-card p {
    margin: 0;
    color: #697482;
    font-size: 13px;
    line-height: 1.6;
}

.accessories-product-card__body > small {
    display: inline-block;
    padding: 6px 9px;
    margin-top: 14px;
    color: #4f5b68;
    background: #f2f4f6;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.accessories-product-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 17px;
    margin-top: 18px;
    border-top: 1px solid #e5e9ed;
}

.accessories-product-card footer strong {
    font-size: 12px;
}

.accessories-product-card footer a {
    color: var(--theme-primary, #df1728);
    font-size: 12px;
    font-weight: 900;
}

.accessories-catalog__empty {
    padding: 46px;
    color: #65717e;
    text-align: center;
    background: #ffffff;
    border: 1px dashed #cbd3db;
    border-radius: 16px;
}

.accessories-catalog__empty strong {
    display: block;
    color: #17202a;
    font-size: 18px;
}

.accessories-catalog__empty p {
    max-width: 650px;
    margin: 9px auto 0;
    line-height: 1.65;
}

@media (max-width: 1000px) {
    .accessories-catalog__categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .accessories-featured-item {
        grid-template-columns: 1fr;
    }

    .accessories-featured-item:nth-child(even)
    .accessories-featured-item__media {
        order: 0;
    }

    .accessories-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .accessories-catalog__intro {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 60px;
    }

    .accessories-catalog__categories {
        grid-template-columns: 1fr;
        padding-bottom: 64px;
    }

    .accessories-featured-item__media,
    .accessories-featured-item__media img {
        min-height: 300px;
    }

    .accessories-product-grid {
        grid-template-columns: 1fr;
    }
}


/* accessory-item-content/style.css */
/* ==========================================================================
   NESA CMS 3.4.0
   ACCESSORY ITEM CONTENT
========================================================================== */

.accessory-item-content {
    padding: 88px 0 98px;
    background: #ffffff;
}

.accessory-item-content__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 58px;
    align-items: start;
}

.accessory-item-content__main .prose {
    max-width: 820px;
}

.accessory-item-content__main .prose p,
.accessory-item-content__main .prose li {
    color: #3f4b58;
    font-size: 17px;
    line-height: 1.8;
}

.accessory-item-features {
    margin-top: 54px;
}

.accessory-item-features header > span,
.accessory-item-gallery header > span,
.accessory-item-related header > span,
.accessory-item-compatibility > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.accessory-item-features header h2,
.accessory-item-gallery header h2,
.accessory-item-related header h2,
.accessory-item-compatibility h2 {
    margin: 9px 0 0;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.accessory-item-features > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 24px;
}

.accessory-item-features article {
    min-height: 205px;
    padding: 22px;
    background:
        linear-gradient(
            135deg,
            rgba(223, 23, 40, .04),
            transparent 42%
        ),
        #f7f8fa;
    border: 1px solid #dfe4e9;
    border-radius: 16px;
}

.accessory-item-features article small {
    color: #9ca6b1;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
}

.accessory-item-features article h3 {
    margin: 25px 0 8px;
    font-size: 21px;
}

.accessory-item-features article p {
    margin: 0;
    color: #687482;
    font-size: 13px;
    line-height: 1.65;
}

.accessory-item-compatibility {
    position: sticky;
    top: 120px;
    padding: 26px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .32),
            transparent 42%
        ),
        linear-gradient(135deg, #101821, #202c38);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 20px;
    box-shadow: 0 26px 68px rgba(14, 23, 33, .22);
}

.accessory-item-compatibility h2 {
    font-size: 31px;
}

.accessory-item-compatibility dl {
    margin: 24px 0;
}

.accessory-item-compatibility dl > div {
    padding: 13px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.accessory-item-compatibility dt {
    color: rgba(255, 255, 255, .48);
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.accessory-item-compatibility dd {
    margin: 5px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    line-height: 1.55;
}

.accessory-item-compatibility > p {
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    line-height: 1.6;
}

.accessory-item-compatibility .button {
    width: 100%;
    margin-top: 18px;
}

.accessory-item-gallery,
.accessory-item-related {
    padding-top: 78px;
    margin-top: 78px;
    border-top: 1px solid #e3e7eb;
}

.accessory-item-gallery > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 24px;
}

.accessory-item-gallery a {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eef1f4;
    border-radius: 16px;
    box-shadow: 0 14px 36px rgba(17, 27, 39, .08);
}

.accessory-item-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.accessory-item-gallery a:hover img {
    transform: scale(1.05);
}

.accessory-item-gallery small {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 7px 9px;
    color: #ffffff;
    background: rgba(8, 13, 19, .68);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.accessory-item-related > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

.accessory-item-related a {
    overflow: hidden;
    color: #17202a;
    background: #f5f7f9;
    border: 1px solid #e0e5ea;
    border-radius: 14px;
}

.accessory-item-related img {
    width: 100%;
    height: 170px;
    object-fit: cover;
}

.accessory-item-related strong {
    display: block;
    padding: 15px;
}

@media (max-width: 960px) {
    .accessory-item-content__layout {
        grid-template-columns: 1fr;
    }

    .accessory-item-compatibility {
        position: static;
    }

    .accessory-item-related > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .accessory-item-features > div,
    .accessory-item-gallery > div,
    .accessory-item-related > div {
        grid-template-columns: 1fr;
    }
}


/* accessory-inquiry/style.css */
/* ==========================================================================
   NESA CMS 3.4.0
   ACCESSORY FINDER FORM
========================================================================== */

.accessory-inquiry {
    padding: 92px 0 102px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(223, 23, 40, .34),
            transparent 34%
        ),
        linear-gradient(135deg, #0c131b, #1b2632);
}

.accessory-inquiry__grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(500px, 1.15fr);
    gap: 58px;
    align-items: start;
}

.accessory-inquiry__intro > span {
    color: #ff4d5b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.accessory-inquiry__intro h2 {
    margin: 11px 0 16px;
    font-size: clamp(40px, 5.5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.accessory-inquiry__intro > p {
    margin: 0;
    color: rgba(255, 255, 255, .65);
    font-size: 16px;
    line-height: 1.75;
}

.accessory-inquiry__steps {
    display: grid;
    gap: 10px;
    margin-top: 34px;
}

.accessory-inquiry__steps article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
}

.accessory-inquiry__steps b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #ffffff;
    background: var(--theme-primary, #df1728);
    border-radius: 11px;
    font-size: 10px;
}

.accessory-inquiry__steps strong,
.accessory-inquiry__steps span {
    display: block;
}

.accessory-inquiry__steps strong {
    font-size: 13px;
}

.accessory-inquiry__steps span {
    margin-top: 4px;
    color: rgba(255, 255, 255, .55);
    font-size: 11px;
    line-height: 1.5;
}

.accessory-inquiry__surface {
    padding: 28px;
    color: #17202a;
    background: #ffffff;
    border: 1px solid rgba(223, 23, 40, .26);
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .26);
}

.accessory-inquiry__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.accessory-inquiry__form label {
    display: grid;
    gap: 7px;
    color: #46515e;
    font-size: 11px;
    font-weight: 800;
}

.accessory-inquiry__form label b {
    color: var(--theme-primary, #df1728);
}

.accessory-inquiry__form input,
.accessory-inquiry__form select,
.accessory-inquiry__form textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 13px;
    color: #17202a;
    background: #f8f9fb;
    border: 1px solid #dce2e8;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    outline: 0;
    transition:
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.accessory-inquiry__form textarea {
    min-height: 140px;
    line-height: 1.6;
    resize: vertical;
}

.accessory-inquiry__form input:focus,
.accessory-inquiry__form select:focus,
.accessory-inquiry__form textarea:focus {
    background: #ffffff;
    border-color: rgba(223, 23, 40, .55);
    box-shadow: 0 0 0 4px rgba(223, 23, 40, .08);
}

.accessory-inquiry__form .is-full {
    grid-column: 1 / -1;
}

.accessory-inquiry__consent {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start;
    padding: 12px;
    background: #f7f8fa;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
}

.accessory-inquiry__consent input {
    width: 20px;
    min-height: 20px;
    height: 20px;
    padding: 0;
}

.accessory-inquiry__consent span {
    color: #65717e;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.55;
}

.accessory-inquiry__consent a {
    color: var(--theme-primary, #df1728);
    font-weight: 800;
}

.accessory-inquiry__honeypot {
    position: absolute;
    left: -9999px;
}

.accessory-inquiry__message {
    padding: 15px;
    margin-bottom: 16px;
    border-radius: 11px;
}

.accessory-inquiry__message strong,
.accessory-inquiry__message p {
    display: block;
}

.accessory-inquiry__message p {
    margin: 5px 0 0;
    font-size: 12px;
}

.accessory-inquiry__message.is-success {
    color: #17633d;
    background: #eaf8f1;
    border: 1px solid #b9e6ce;
}

.accessory-inquiry__message.is-error {
    color: #9f1d2a;
    background: #fff0f2;
    border: 1px solid #f1c5ca;
}

@media (max-width: 980px) {
    .accessory-inquiry__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .accessory-inquiry {
        padding: 66px 0 72px;
    }

    .accessory-inquiry__surface {
        padding: 18px;
        border-radius: 16px;
    }

    .accessory-inquiry__form {
        grid-template-columns: 1fr;
    }

    .accessory-inquiry__form .is-full {
        grid-column: auto;
    }
}


/* brp-offroad-catalog/style.css */
/* ==========================================================================
   NESA CMS 3.5.0
   BRP OFF-ROAD CATALOGUE
========================================================================== */

.brp-offroad-catalog {
    overflow: clip;
    background: #ffffff;
}

.brp-offroad-catalog__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 60px;
    align-items: end;
    padding: 82px 0 38px;
    border-bottom: 1px solid #e2e7ec;
}

.brp-offroad-catalog__intro span,
.brp-model-family__head span {
    color: var(--theme-primary, #df1728);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-offroad-catalog__intro h2 {
    max-width: 850px;
    margin: 10px 0 0;
    font-size: clamp(40px, 5.2vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.brp-offroad-catalog__intro p {
    margin: 0;
    color: #697582;
    font-size: 16px;
    line-height: 1.75;
}

.brp-offroad-catalog__intro > div:last-child > strong {
    display: inline-flex;
    padding: 8px 11px;
    margin-top: 18px;
    color: #17202a;
    background: #f2f4f6;
    border: 1px solid #dfe4e9;
    border-radius: 999px;
    font-size: 11px;
}

.brp-offroad-catalog__family-nav {
    position: sticky;
    top: 76px;
    z-index: 20;
    display: flex;
    gap: 8px;
    padding: 18px 0 28px;
    overflow-x: auto;
    scrollbar-width: thin;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
}

.brp-offroad-catalog__family-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 12px;
    color: #27313d;
    background: #f4f6f8;
    border: 1px solid #dfe4e9;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    transition: color .18s ease, border-color .18s ease, transform .18s ease;
}

.brp-offroad-catalog__family-nav a:hover,
.brp-offroad-catalog__family-nav a:focus-visible {
    color: var(--theme-primary, #df1728);
    border-color: rgba(223, 23, 40, .34);
    outline: 0;
    transform: translateY(-2px);
}

.brp-offroad-catalog__family-nav b {
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    color: #ffffff;
    background: #17202a;
    border-radius: 999px;
    font-size: 10px;
}

.brp-model-family {
    scroll-margin-top: 150px;
    padding: 76px 0 86px;
    background: #f4f6f8;
    border-top: 1px solid #e3e7eb;
}

.brp-model-family.is-alternate {
    background: #ffffff;
}

.brp-model-family__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
    gap: 50px;
    align-items: end;
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid #dce2e8;
}

.brp-model-family__head h2 {
    margin: 8px 0 0;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1;
    letter-spacing: -.045em;
}

.brp-model-family__head p {
    margin: 0;
    color: #697582;
    font-size: 14px;
    line-height: 1.65;
}

.brp-model-family__head > div:last-child > strong {
    display: block;
    margin-top: 10px;
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.brp-model-grid {
    display: grid;
    grid-template-columns: repeat(
        var(--brp-model-columns),
        minmax(0, 1fr)
    );
    gap: 16px;
}

.brp-model-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dfe4e9;
    border-radius: 19px;
    box-shadow: 0 16px 42px rgba(17, 27, 39, .07);
    transition: box-shadow .24s ease, transform .24s ease;
}

.brp-model-family.is-alternate .brp-model-card {
    background: #f8f9fa;
}

.brp-model-card:hover {
    box-shadow: 0 28px 64px rgba(17, 27, 39, .14);
    transform: translateY(-6px);
}

.brp-model-card__media {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 255px;
    padding: 18px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 52%, #ffffff 0, #f0f3f6 72%);
    border-bottom: 1px solid #e2e7ec;
}

.brp-model-card__media::after {
    position: absolute;
    right: -65px;
    bottom: -78px;
    width: 180px;
    height: 180px;
    content: "";
    background: rgba(223, 23, 40, .045);
    border-radius: 50%;
}

.brp-model-card__media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 220px;
    object-fit: contain;
    filter: drop-shadow(0 18px 18px rgba(18, 29, 42, .18));
    transition: transform .42s ease;
}

.brp-model-card:hover .brp-model-card__media img {
    transform: scale(1.045);
}

.brp-model-card__media > span {
    color: #a0aab5;
    font-size: 46px;
    font-weight: 900;
}

.brp-model-card__media-badges {
    position: absolute;
    top: 13px;
    right: 13px;
    z-index: 2;
    display: flex;
    gap: 6px;
}

.brp-model-card__media-badges b {
    padding: 7px 9px;
    color: #ffffff;
    background: rgba(15, 23, 32, .76);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-size: 9px;
    letter-spacing: .06em;
    backdrop-filter: blur(8px);
}

.brp-model-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.brp-model-card__body > span {
    color: var(--theme-primary, #df1728);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.brp-model-card h3 {
    margin: 8px 0 0;
    font-size: 23px;
    line-height: 1.16;
    letter-spacing: -.025em;
}

.brp-model-card h3 a {
    color: #17202a;
}

.brp-model-card__colour {
    margin: 7px 0 0;
    color: #7a8591;
    font-size: 12px;
}

.brp-model-card dl {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
}

.brp-model-card dl > div {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 9px;
    padding: 9px 0;
    border-top: 1px solid #e3e7eb;
}

.brp-model-card dt {
    color: #8b95a0;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.brp-model-card dd {
    margin: 0;
    color: #485460;
    font-size: 11px;
    line-height: 1.45;
}

.brp-model-card__price {
    padding-top: 17px;
    margin-top: auto;
    border-top: 1px solid #e3e7eb;
}

.brp-model-card__price small,
.brp-model-card__price strong {
    display: block;
}

.brp-model-card__price small {
    color: #8a949f;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.brp-model-card__price strong {
    margin-top: 4px;
    font-size: 22px;
    letter-spacing: -.025em;
}

.brp-model-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.brp-model-card__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 11px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 850;
    text-align: center;
}

.brp-model-card__actions .button.ghost {
    color: #17202a;
    background: transparent;
    border: 1px solid #cfd6dd;
}

.brp-model-card__actions .button.is-disabled {
    color: #8a949f;
    background: #edf0f3;
    border: 1px solid #dfe4e9;
    cursor: default;
}

.brp-offroad-catalog__note {
    padding: 30px 0;
    color: rgba(255, 255, 255, .72);
    background: #111a23;
}

.brp-offroad-catalog__note .container {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 25px;
    align-items: center;
}

.brp-offroad-catalog__note strong {
    color: #ffffff;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.brp-offroad-catalog__note p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
}

.brp-offroad-catalog__empty {
    padding: 60px;
    margin: 45px 0 80px;
    color: #697582;
    text-align: center;
    background: #f5f7f9;
    border: 1px dashed #cbd3dc;
    border-radius: 18px;
}

@media (max-width: 1100px) {
    .brp-model-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .brp-offroad-catalog__intro,
    .brp-model-family__head {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .brp-offroad-catalog__intro {
        padding-top: 62px;
    }

    .brp-offroad-catalog__family-nav {
        top: 70px;
        margin-right: -20px;
        padding-right: 20px;
    }

    .brp-model-family {
        padding: 58px 0 66px;
    }

    .brp-model-grid {
        grid-template-columns: 1fr;
    }

    .brp-model-card__media {
        min-height: 230px;
    }

    .brp-model-card__media img {
        height: 200px;
    }

    .brp-offroad-catalog__note .container {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}


/* ==========================================================================
   NESA CMS 3.5.1.1
   PRODUCT INQUIRY LIGHTBOX
========================================================================== */

html.product-inquiry-open,
body.product-inquiry-open {
    overflow: hidden;
    overscroll-behavior: none;
}

.brp-product-inquiry {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
        visibility .24s ease,
        opacity .24s ease;
}

.brp-product-inquiry.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.brp-product-inquiry__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 12, 18, .76);
    backdrop-filter: blur(13px);
}

.brp-product-inquiry__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(500px, 1.22fr);
    width: min(1040px, 100%);
    max-height: min(820px, calc(100dvh - 48px));
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 24px;
    box-shadow: 0 42px 110px rgba(0, 0, 0, .42);
    outline: 0;
    transform: translateY(22px) scale(.985);
    transition: transform .24s ease;
}

.brp-product-inquiry.is-open
.brp-product-inquiry__dialog {
    transform: translateY(0) scale(1);
}

.brp-product-inquiry__close {
    position: absolute;
    top: 17px;
    right: 17px;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    color: #17202a;
    background: #f2f4f6;
    border: 1px solid #dfe4e9;
    border-radius: 50%;
    font: inherit;
    cursor: pointer;
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.brp-product-inquiry__close span {
    margin-top: -2px;
    font-size: 28px;
    line-height: 1;
}

.brp-product-inquiry__close:hover,
.brp-product-inquiry__close:focus-visible {
    color: #ffffff;
    background: var(--theme-primary, #df1728);
    border-color: var(--theme-primary, #df1728);
    outline: 0;
    transform: rotate(7deg);
}

.brp-product-inquiry__product {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 640px;
    padding: 34px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .36),
            transparent 42%
        ),
        linear-gradient(145deg, #0c141d, #202c38);
}

.brp-product-inquiry__product::before {
    position: absolute;
    right: -95px;
    bottom: -105px;
    width: 310px;
    height: 310px;
    content: "";
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
}

.brp-product-inquiry__product > span {
    position: relative;
    z-index: 1;
    color: #ff5361;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-product-inquiry__image {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    min-height: 280px;
    margin: 34px -4px 28px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 52%,
            rgba(255, 255, 255, .14),
            rgba(255, 255, 255, .025) 70%
        );
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 20px;
}

.brp-product-inquiry__image img {
    width: 100%;
    height: 255px;
    padding: 15px;
    object-fit: contain;
    filter: drop-shadow(0 20px 20px rgba(0, 0, 0, .32));
}

.brp-product-inquiry__image b {
    color: rgba(255, 255, 255, .28);
    font-size: 54px;
    font-weight: 950;
}

.brp-product-inquiry__product > div:last-child {
    position: relative;
    z-index: 1;
    margin-top: auto;
}

.brp-product-inquiry__product small {
    color: rgba(255, 255, 255, .54);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.brp-product-inquiry__product h2 {
    margin: 9px 0 8px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.brp-product-inquiry__product p {
    margin: 0;
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
    line-height: 1.55;
}

.brp-product-inquiry__product strong {
    display: block;
    padding-top: 17px;
    margin-top: 19px;
    color: #ffffff;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 24px;
    letter-spacing: -.025em;
}

.brp-product-inquiry__form-area {
    max-height: min(820px, calc(100dvh - 48px));
    padding: 42px 42px 36px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.brp-product-inquiry__form-area > header {
    padding-right: 50px;
    margin-bottom: 24px;
}

.brp-product-inquiry__form-area > header > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-product-inquiry__form-area > header h3 {
    margin: 9px 0 10px;
    color: #17202a;
    font-size: clamp(29px, 4vw, 42px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.brp-product-inquiry__form-area > header p {
    margin: 0;
    color: #6b7682;
    font-size: 13px;
    line-height: 1.65;
}

.brp-product-inquiry form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.brp-product-inquiry form label {
    display: grid;
    gap: 7px;
    color: #46515e;
    font-size: 11px;
    font-weight: 850;
}

.brp-product-inquiry form label b {
    color: var(--theme-primary, #df1728);
}

.brp-product-inquiry form input,
.brp-product-inquiry form textarea {
    width: 100%;
    min-height: 49px;
    padding: 12px 13px;
    color: #17202a;
    background: #f7f9fa;
    border: 1px solid #dce2e8;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    outline: 0;
    transition:
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.brp-product-inquiry form textarea {
    min-height: 138px;
    line-height: 1.6;
    resize: vertical;
}

.brp-product-inquiry form input:focus,
.brp-product-inquiry form textarea:focus {
    background: #ffffff;
    border-color: rgba(223, 23, 40, .52);
    box-shadow: 0 0 0 4px rgba(223, 23, 40, .075);
}

.brp-product-inquiry form .is-full {
    grid-column: 1 / -1;
}

.brp-product-inquiry__consent {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start;
    padding: 12px;
    background: #f6f8f9;
    border: 1px solid #e0e5ea;
    border-radius: 10px;
}

.brp-product-inquiry__consent input {
    width: 20px !important;
    min-height: 20px !important;
    height: 20px;
    padding: 0 !important;
}

.brp-product-inquiry__consent span {
    color: #64707d;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.55;
}

.brp-product-inquiry__consent a {
    color: var(--theme-primary, #df1728);
    font-weight: 850;
}

.brp-product-inquiry__honeypot {
    position: absolute;
    left: -9999px;
}

.brp-product-inquiry form > .button {
    min-height: 50px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}

.brp-product-inquiry form > .button:disabled {
    cursor: wait;
    opacity: .64;
}

.brp-product-inquiry__notice {
    padding: 13px 14px;
    margin-bottom: 16px;
    color: #46515e;
    background: #f4f6f8;
    border: 1px solid #dce2e8;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.55;
}

.brp-product-inquiry__notice.is-success {
    color: #17643d;
    background: #eaf8f1;
    border-color: #b9e6ce;
}

.brp-product-inquiry__notice.is-error {
    color: #a11d2a;
    background: #fff0f2;
    border-color: #f1c5ca;
}

.brp-product-inquiry__success {
    display: grid;
    justify-items: start;
    min-height: 360px;
    align-content: center;
}

.brp-product-inquiry__success[hidden] {
    display: none;
}

.brp-product-inquiry__success > span {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    color: #ffffff;
    background: #1e9b61;
    border-radius: 50%;
    box-shadow: 0 14px 30px rgba(30, 155, 97, .22);
    font-size: 26px;
}

.brp-product-inquiry__success h3 {
    margin: 24px 0 9px;
    color: #17202a;
    font-size: 36px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.brp-product-inquiry__success p {
    max-width: 460px;
    margin: 0 0 24px;
    color: #687482;
    font-size: 14px;
    line-height: 1.65;
}

@media (max-width: 880px) {
    .brp-product-inquiry {
        align-items: end;
        padding: 12px;
    }

    .brp-product-inquiry__dialog {
        grid-template-columns: 1fr;
        max-height: calc(100dvh - 24px);
        border-radius: 22px;
    }

    .brp-product-inquiry__product {
        display: grid;
        grid-template-columns: 135px minmax(0, 1fr);
        gap: 18px;
        min-height: 0;
        padding: 23px;
    }

    .brp-product-inquiry__product > span {
        grid-column: 1 / -1;
    }

    .brp-product-inquiry__image {
        min-height: 125px;
        margin: 0;
        border-radius: 15px;
    }

    .brp-product-inquiry__image img {
        height: 120px;
        padding: 8px;
    }

    .brp-product-inquiry__product > div:last-child {
        align-self: center;
        margin: 0;
    }

    .brp-product-inquiry__product h2 {
        font-size: 27px;
    }

    .brp-product-inquiry__product strong {
        padding-top: 10px;
        margin-top: 11px;
        font-size: 20px;
    }

    .brp-product-inquiry__form-area {
        max-height: none;
        padding: 25px 22px 28px;
    }
}

@media (max-width: 620px) {
    .brp-product-inquiry {
        padding: 0;
    }

    .brp-product-inquiry__dialog {
        width: 100%;
        max-height: 100dvh;
        border-radius: 0;
    }

    .brp-product-inquiry__close {
        top: 13px;
        right: 13px;
        width: 42px;
        height: 42px;
    }

    .brp-product-inquiry__product {
        grid-template-columns: 105px minmax(0, 1fr);
        padding: 19px;
    }

    .brp-product-inquiry__image {
        min-height: 102px;
    }

    .brp-product-inquiry__image img {
        height: 98px;
    }

    .brp-product-inquiry__product h2 {
        padding-right: 35px;
        font-size: 23px;
    }

    .brp-product-inquiry__product p {
        font-size: 10px;
    }

    .brp-product-inquiry__form-area {
        padding: 22px 18px 28px;
    }

    .brp-product-inquiry__form-area > header {
        padding-right: 36px;
    }

    .brp-product-inquiry form {
        grid-template-columns: 1fr;
    }

    .brp-product-inquiry form .is-full {
        grid-column: auto;
    }
}


/* --------------------------------------------------------------------------
   3.5.1.1 viewport safeguards
---------------------------------------------------------------------------- */

.brp-product-inquiry {
    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    isolation: isolate;
}

.brp-product-inquiry__dialog {
    margin: auto;
}

@supports not (height: 100dvh) {
    .brp-product-inquiry {
        min-height: 100vh;
    }

    .brp-product-inquiry__dialog,
    .brp-product-inquiry__form-area {
        max-height: calc(100vh - 48px);
    }
}


/* ==========================================================================
   NESA CMS 3.5.1.2
   MOBILE PRODUCT INQUIRY SCROLL HOTFIX
========================================================================== */

@media (max-width: 880px) {
    .brp-product-inquiry {
        height: var(--product-inquiry-height, 100dvh);
        min-height: 0;
    }

    .brp-product-inquiry__dialog {
        grid-template-rows: auto minmax(0, 1fr);

        height: calc(
            var(--product-inquiry-height, 100dvh) - 24px
        );
        min-height: 0;
        max-height: calc(
            var(--product-inquiry-height, 100dvh) - 24px
        );

        overflow: hidden;
    }

    .brp-product-inquiry__product {
        min-height: 0;
    }

    .brp-product-inquiry__form-area {
        min-width: 0;
        min-height: 0;
        max-height: none;

        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;

        scrollbar-gutter: stable;
    }

    .brp-product-inquiry__form-area::after {
        display: block;
        height: max(18px, env(safe-area-inset-bottom));
        content: "";
    }
}

@media (max-width: 620px) {
    .brp-product-inquiry__dialog {
        height: var(--product-inquiry-height, 100dvh);
        max-height: var(--product-inquiry-height, 100dvh);
    }

    .brp-product-inquiry__form-area {
        padding-bottom:
            calc(28px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 880px) and (max-height: 620px) {
    .brp-product-inquiry__product {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        padding: 14px 16px;
    }

    .brp-product-inquiry__product > span {
        display: none;
    }

    .brp-product-inquiry__image {
        min-height: 76px;
        border-radius: 12px;
    }

    .brp-product-inquiry__image img {
        height: 72px;
        padding: 5px;
    }

    .brp-product-inquiry__product h2 {
        margin-top: 0;
        font-size: 20px;
    }

    .brp-product-inquiry__product p {
        display: none;
    }

    .brp-product-inquiry__product strong {
        padding-top: 7px;
        margin-top: 7px;
        font-size: 17px;
    }
}


/* ==========================================================================
   NESA CMS 3.7.0
   MASTER CATALOGUE CTA
========================================================================== */

.brp-offroad-catalog__master-pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    margin-top: 20px;
}

.brp-offroad-catalog__master-pdf > span {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    height: 26px;
    padding: 0 7px;
    color: var(--theme-primary, #df1728);
    background: #ffffff;
    border-radius: 7px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

@media (max-width: 700px) {
    .brp-offroad-catalog__master-pdf {
        width: 100%;
    }
}


/* ski-doo-experience/style.css */
/* ==========================================================================
   NESA CMS 3.8.0
   SKI-DOO EXPERIENCE
========================================================================== */

.ski-doo-experience {
    overflow: hidden;
    background: #ffffff;
}

.ski-doo-experience__benefits {
    padding: 92px 0 100px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(255, 204, 0, .23),
            transparent 32%
        ),
        radial-gradient(
            circle at 95% 95%,
            rgba(39, 115, 255, .16),
            transparent 34%
        ),
        linear-gradient(135deg, #0b131b, #1d2935);
}

.ski-doo-experience__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
    gap: 50px;
    align-items: end;
    margin-bottom: 30px;
}

.ski-doo-experience__head > span {
    grid-column: 1 / -1;
    color: #ffd20a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ski-doo-experience__head h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.ski-doo-experience__head p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 16px;
    line-height: 1.75;
}

.ski-doo-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.ski-doo-benefit-card {
    min-height: 265px;
    padding: 23px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .09),
            rgba(255, 255, 255, .035)
        );
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    box-shadow: 0 24px 58px rgba(0, 0, 0, .18);
    backdrop-filter: blur(12px);
    transition:
        border-color .24s ease,
        transform .24s ease;
}

.ski-doo-benefit-card:hover {
    border-color: rgba(255, 210, 10, .55);
    transform: translateY(-6px);
}

.ski-doo-benefit-card > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.ski-doo-benefit-card small {
    color: rgba(255, 255, 255, .38);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.ski-doo-benefit-card > div > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #101820;
    background: #ffd20a;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 900;
}

.ski-doo-benefit-card h3 {
    margin: 54px 0 10px;
    color: #ffffff;
    font-size: 23px;
    line-height: 1.14;
}

.ski-doo-benefit-card p {
    margin: 0;
    color: rgba(255, 255, 255, .57);
    font-size: 13px;
    line-height: 1.65;
}

.ski-doo-experience__gallery {
    padding: 92px 0 102px;
    background: #f2f5f7;
}

.ski-doo-experience__head.is-light {
    grid-template-columns: 1fr;
    color: #15202a;
}

.ski-doo-experience__head.is-light > span {
    color: var(--theme-primary, #df1728);
}

.ski-doo-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 13px;
}

.ski-doo-gallery-card {
    position: relative;
    min-height: 245px;
    padding: 0;
    overflow: hidden;
    background: #dfe5e9;
    border: 0;
    border-radius: 17px;
    box-shadow: 0 16px 40px rgba(18, 29, 40, .1);
    cursor: pointer;
}

.ski-doo-gallery-card.is-wide {
    grid-column: span 2;
}

.ski-doo-gallery-card img {
    width: 100%;
    height: 100%;
    min-height: 245px;
    object-fit: cover;
    transition: transform .48s ease;
}

.ski-doo-gallery-card::after {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            180deg,
            transparent 52%,
            rgba(5, 10, 15, .58)
        );
    transition: background .3s ease;
}

.ski-doo-gallery-card:hover img {
    transform: scale(1.055);
}

.ski-doo-gallery-card:hover::after {
    background:
        linear-gradient(
            180deg,
            rgba(5, 10, 15, .04),
            rgba(5, 10, 15, .7)
        );
}

.ski-doo-gallery-card > span,
.ski-doo-gallery-card > b {
    position: absolute;
    z-index: 2;
    color: #ffffff;
}

.ski-doo-gallery-card > span {
    bottom: 16px;
    left: 17px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.ski-doo-gallery-card > b {
    right: 15px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    font-size: 21px;
    backdrop-filter: blur(10px);
}

.ski-doo-experience__cta {
    padding: 76px 0;
    color: #ffffff;
    background:
        linear-gradient(
            110deg,
            rgba(223, 23, 40, .92),
            rgba(172, 10, 27, .96)
        );
}

.ski-doo-experience__cta > .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}

.ski-doo-experience__cta span {
    color: rgba(255, 255, 255, .7);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ski-doo-experience__cta h2 {
    margin: 10px 0 11px;
    font-size: clamp(34px, 4.6vw, 58px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.ski-doo-experience__cta p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.7;
}

.ski-doo-experience__cta-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 270px;
}

.ski-doo-experience__cta .button.primary {
    color: #17202a;
    background: #ffffff;
    border-color: #ffffff;
}

.ski-doo-experience__cta .button.ghost {
    color: #ffffff;
    background: transparent;
    border-color: rgba(255, 255, 255, .42);
}

.ski-doo-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 22px;
    visibility: hidden;
    opacity: 0;
    transition:
        visibility .24s ease,
        opacity .24s ease;
}

.ski-doo-lightbox.is-open {
    visibility: visible;
    opacity: 1;
}

.ski-doo-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 8, 12, .9);
    backdrop-filter: blur(14px);
}

.ski-doo-lightbox__dialog {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
    height: min(820px, calc(100dvh - 44px));
    outline: 0;
}

.ski-doo-lightbox figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    background: #101820;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    box-shadow: 0 32px 90px rgba(0, 0, 0, .5);
}

.ski-doo-lightbox figure img {
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 18px;
    object-fit: contain;
}

.ski-doo-lightbox figcaption {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    color: rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .055);
    border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: 12px;
}

.ski-doo-lightbox figcaption b {
    color: #ffd20a;
}

.ski-doo-lightbox__close,
.ski-doo-lightbox__arrow {
    position: absolute;
    z-index: 3;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: rgba(11, 18, 25, .76);
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .24);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.ski-doo-lightbox__close {
    top: 13px;
    right: 13px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 27px;
}

.ski-doo-lightbox__arrow {
    top: 50%;
    width: 50px;
    height: 68px;
    border-radius: 14px;
    font-size: 38px;
    transform: translateY(-50%);
}

.ski-doo-lightbox__arrow.is-prev {
    left: 14px;
}

.ski-doo-lightbox__arrow.is-next {
    right: 14px;
}

html.ski-doo-lightbox-open,
body.ski-doo-lightbox-open {
    overflow: hidden;
}

@media (max-width: 1050px) {
    .ski-doo-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ski-doo-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ski-doo-experience__benefits,
    .ski-doo-experience__gallery {
        padding: 66px 0 72px;
    }

    .ski-doo-experience__head,
    .ski-doo-experience__cta > .container {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ski-doo-benefit-grid {
        grid-template-columns: 1fr;
    }

    .ski-doo-gallery-card,
    .ski-doo-gallery-card img {
        min-height: 205px;
    }

    .ski-doo-experience__cta {
        padding: 58px 0;
    }

    .ski-doo-experience__cta-actions {
        min-width: 0;
    }

    .ski-doo-experience__cta-actions .button {
        width: 100%;
    }

    .ski-doo-lightbox {
        padding: 8px;
    }

    .ski-doo-lightbox__dialog {
        height: calc(100dvh - 16px);
    }

    .ski-doo-lightbox figure {
        border-radius: 14px;
    }

    .ski-doo-lightbox figure img {
        padding: 8px;
    }

    .ski-doo-lightbox__arrow {
        width: 42px;
        height: 58px;
    }
}

@media (max-width: 520px) {
    .ski-doo-gallery-grid {
        grid-template-columns: 1fr;
    }

    .ski-doo-gallery-card.is-wide {
        grid-column: auto;
    }
}


/* brp-support-showcase/style.css */
/* ==========================================================================
   NESA CMS 3.9.0
   BRP ACCESSORIES & PARTS SHOWCASE
========================================================================== */

.brp-support-showcase {
    overflow: hidden;
    background: #ffffff;
}

.brp-support-showcase__programs {
    padding: 88px 0 96px;
}

.brp-support-showcase__section-head {
    display: grid;
    grid-template-columns: minmax(0, .52fr) minmax(0, 1.48fr);
    gap: 52px;
    align-items: start;
    margin-bottom: 34px;
}

.brp-support-showcase__section-head > span,
.brp-support-showcase__benefit-head > span,
.brp-support-inquiry-copy > span,
.brp-support-showcase__offer-head > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-support-showcase__section-head h2,
.brp-support-showcase__benefit-head h2,
.brp-support-inquiry-copy h2,
.brp-support-showcase__offer-head h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.brp-support-showcase__section-head p {
    max-width: 780px;
    margin: 18px 0 0;
    color: #677382;
    font-size: 16px;
    line-height: 1.75;
}

.brp-support-program-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 13px;
}

.brp-support-program-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 380px;
    padding: 22px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 100% 100%,
            rgba(223, 23, 40, .08),
            transparent 44%
        ),
        linear-gradient(145deg, #f8f9fb, #ffffff);
    border: 1px solid #dfe4e9;
    border-radius: 18px;
    box-shadow: 0 16px 42px rgba(17, 27, 39, .06);
    transition:
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}

.brp-support-program-card:hover {
    border-color: rgba(223, 23, 40, .33);
    box-shadow: 0 26px 62px rgba(17, 27, 39, .12);
    transform: translateY(-6px);
}

.brp-support-program-card__top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
}

.brp-support-program-card__top > span {
    display: grid;
    place-items: center;
    width: 57px;
    height: 57px;
    color: var(--theme-primary, #df1728);
    background: #fff0f2;
    border: 1px solid #f0cbd0;
    border-radius: 16px;
    font-size: 22px;
    font-weight: 900;
}

.brp-support-program-card__top small {
    color: #9ba5b0;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.brp-support-program-card > b {
    margin-top: 38px;
    color: var(--theme-primary, #df1728);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.brp-support-program-card h3 {
    margin: 8px 0 10px;
    color: #17202a;
    font-size: 24px;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.brp-support-program-card > p {
    margin: 0;
    color: #687482;
    font-size: 13px;
    line-height: 1.65;
}

.brp-support-program-card__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding-top: 18px;
    margin-top: auto;
    border-top: 1px solid #e4e8ec;
}

.brp-support-program-card__tags span {
    padding: 6px 8px;
    color: #56616d;
    background: #eef1f4;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 750;
}

.brp-support-showcase__benefits {
    padding: 86px 0 94px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 0%,
            rgba(223, 23, 40, .34),
            transparent 32%
        ),
        radial-gradient(
            circle at 98% 100%,
            rgba(41, 103, 245, .15),
            transparent 34%
        ),
        linear-gradient(135deg, #0d151d, #202c38);
}

.brp-support-showcase__benefit-head {
    display: grid;
    grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr);
    gap: 46px;
    align-items: end;
    margin-bottom: 30px;
}

.brp-support-showcase__benefit-head > span {
    color: #ff5462;
}

.brp-support-showcase__benefit-head h2 {
    font-size: clamp(34px, 4.4vw, 58px);
}

.brp-support-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.brp-support-benefit-grid article {
    min-height: 270px;
    padding: 22px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .085),
            rgba(255, 255, 255, .032)
        );
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 17px;
    box-shadow: 0 24px 58px rgba(0, 0, 0, .17);
    transition:
        border-color .24s ease,
        transform .24s ease;
}

.brp-support-benefit-grid article:hover {
    border-color: rgba(255, 84, 98, .55);
    transform: translateY(-5px);
}

.brp-support-benefit-grid small {
    color: rgba(255, 255, 255, .4);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.brp-support-benefit-grid article > span {
    display: grid;
    place-items: center;
    width: 47px;
    height: 47px;
    margin-top: 24px;
    color: #ffffff;
    background: var(--theme-primary, #df1728);
    border-radius: 14px;
    font-size: 19px;
    font-weight: 900;
}

.brp-support-benefit-grid h3 {
    margin: 26px 0 9px;
    font-size: 22px;
    line-height: 1.14;
}

.brp-support-benefit-grid p {
    margin: 0;
    color: rgba(255, 255, 255, .59);
    font-size: 13px;
    line-height: 1.65;
}

.brp-support-showcase__gallery {
    padding: 88px 0 102px;
    background: #f3f5f7;
}

.brp-support-showcase__section-head.is-gallery {
    margin-bottom: 28px;
}

.brp-support-gallery {
    display: grid;
    grid-template-columns: repeat(
        var(--gallery-columns-desktop, 4),
        minmax(0, 1fr)
    );
    grid-auto-flow: dense;
    gap: 12px;
}

.brp-support-gallery.is-gap-compact { gap: 8px; }
.brp-support-gallery.is-gap-standard { gap: 12px; }
.brp-support-gallery.is-gap-airy { gap: 18px; }

.brp-support-gallery.is-radius-small .brp-support-gallery__item { border-radius: 8px; }
.brp-support-gallery.is-radius-medium .brp-support-gallery__item { border-radius: 13px; }
.brp-support-gallery.is-radius-large .brp-support-gallery__item { border-radius: 20px; }

.brp-support-gallery__item {
    position: relative;
    display: block;
    min-height: 245px;
    overflow: hidden;
    background: #dfe5e9;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(18, 29, 40, .1);
}

.brp-support-gallery__item.is-featured {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 502px;
}

.brp-support-gallery__item::after {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            180deg,
            transparent 52%,
            rgba(5, 10, 15, .58)
        );
    transition: background .3s ease;
}

.brp-support-gallery__item img {
    width: 100%;
    height: 100%;
    min-height: 245px;
    object-fit: cover;
    transition: transform .48s ease;
}

.brp-support-gallery__item.is-featured img {
    min-height: 502px;
}

.brp-support-gallery:not(.is-ratio-auto) .brp-support-gallery__item,
.brp-support-gallery:not(.is-ratio-auto) .brp-support-gallery__item img {
    min-height: 0;
}

.brp-support-gallery.is-ratio-landscape .brp-support-gallery__item {
    aspect-ratio: 4 / 3;
}

.brp-support-gallery.is-ratio-wide .brp-support-gallery__item {
    aspect-ratio: 16 / 9;
}

.brp-support-gallery.is-ratio-square .brp-support-gallery__item {
    aspect-ratio: 1 / 1;
}

.brp-support-gallery:not(.is-ratio-auto) .brp-support-gallery__item.is-featured {
    aspect-ratio: auto;
    min-height: 100%;
}

.brp-support-gallery.is-layout-grid .brp-support-gallery__item {
    grid-column: auto;
    grid-row: auto;
}

.brp-support-gallery__item:hover img {
    transform: scale(1.055);
}

.brp-support-gallery__item:hover::after {
    background:
        linear-gradient(
            180deg,
            rgba(5, 10, 15, .03),
            rgba(5, 10, 15, .72)
        );
}

.brp-support-gallery__item small,
.brp-support-gallery__item > span {
    position: absolute;
    z-index: 2;
    color: #ffffff;
}

.brp-support-gallery__item small {
    bottom: 15px;
    left: 16px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.brp-support-gallery__item > span {
    right: 14px;
    bottom: 13px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    font-size: 20px;
    backdrop-filter: blur(9px);
}

.brp-support-showcase__inquiry {
    padding: 94px 0 102px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 6% 8%,
            rgba(223, 23, 40, .32),
            transparent 32%
        ),
        linear-gradient(135deg, #0c141c, #1e2a36);
}

.brp-support-inquiry-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr);
    gap: 58px;
    align-items: start;
}

.brp-support-inquiry-copy > span {
    color: #ff5361;
}

.brp-support-inquiry-copy h2 {
    margin: 11px 0 17px;
    font-size: clamp(40px, 5.4vw, 69px);
}

.brp-support-inquiry-copy > p {
    margin: 0;
    color: rgba(255, 255, 255, .64);
    font-size: 16px;
    line-height: 1.75;
}

.brp-support-inquiry-copy__steps {
    display: grid;
    gap: 10px;
    margin-top: 33px;
}

.brp-support-inquiry-copy__steps article {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    background: rgba(255, 255, 255, .052);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
}

.brp-support-inquiry-copy__steps b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    background: var(--theme-primary, #df1728);
    border-radius: 11px;
    font-size: 10px;
}

.brp-support-inquiry-copy__steps strong,
.brp-support-inquiry-copy__steps small {
    display: block;
}

.brp-support-inquiry-copy__steps strong {
    font-size: 13px;
}

.brp-support-inquiry-copy__steps small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .55);
    font-size: 11px;
    line-height: 1.5;
}

.brp-support-inquiry-surface {
    padding: 28px;
    color: #17202a;
    background: #ffffff;
    border: 1px solid rgba(223, 23, 40, .28);
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .27);
}

.brp-support-inquiry-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.brp-support-inquiry-form label {
    display: grid;
    gap: 7px;
    color: #46515e;
    font-size: 11px;
    font-weight: 800;
}

.brp-support-inquiry-form label b {
    color: var(--theme-primary, #df1728);
}

.brp-support-inquiry-form input,
.brp-support-inquiry-form select,
.brp-support-inquiry-form textarea {
    width: 100%;
    min-height: 49px;
    padding: 12px 13px;
    color: #17202a;
    background: #f8f9fb;
    border: 1px solid #dce2e8;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    outline: 0;
    transition:
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.brp-support-inquiry-form textarea {
    min-height: 142px;
    line-height: 1.6;
    resize: vertical;
}

.brp-support-inquiry-form input:focus,
.brp-support-inquiry-form select:focus,
.brp-support-inquiry-form textarea:focus {
    background: #ffffff;
    border-color: rgba(223, 23, 40, .55);
    box-shadow: 0 0 0 4px rgba(223, 23, 40, .08);
}

.brp-support-inquiry-form .is-full {
    grid-column: 1 / -1;
}

.brp-support-privacy {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start;
    padding: 12px;
    background: #f7f8fa;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
}

.brp-support-privacy input {
    width: 20px;
    height: 20px;
    min-height: 20px;
    padding: 0;
}

.brp-support-privacy span {
    color: #65717e;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.55;
}

.brp-support-privacy a {
    color: var(--theme-primary, #df1728);
    font-weight: 800;
}

.brp-support-honeypot {
    position: absolute;
    left: -9999px;
}

.brp-support-form-message {
    padding: 15px;
    margin-bottom: 16px;
    border-radius: 11px;
}

.brp-support-form-message strong,
.brp-support-form-message p {
    display: block;
}

.brp-support-form-message p {
    margin: 5px 0 0;
    font-size: 12px;
}

.brp-support-form-message.is-success {
    color: #17633d;
    background: #eaf8f1;
    border: 1px solid #b9e6ce;
}

.brp-support-form-message.is-error {
    color: #9f1d2a;
    background: #fff0f2;
    border: 1px solid #f1c5ca;
}

.brp-support-showcase__offers {
    padding: 84px 0 96px;
    background: #ffffff;
}

.brp-support-showcase__offer-head {
    display: grid;
    grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr);
    gap: 46px;
    align-items: end;
    margin-bottom: 28px;
}

.brp-support-showcase__offer-head h2 {
    font-size: clamp(34px, 4.6vw, 58px);
}

.brp-support-offer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.brp-support-offer-card {
    display: flex;
    flex-direction: column;
    min-height: 330px;
    overflow: hidden;
    color: #17202a;
    background: #f7f8fa;
    border: 1px solid #dfe4e9;
    border-radius: 17px;
    box-shadow: 0 14px 38px rgba(17, 27, 39, .06);
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

.brp-support-offer-card:hover {
    border-color: rgba(223, 23, 40, .34);
    box-shadow: 0 24px 56px rgba(17, 27, 39, .12);
    transform: translateY(-5px);
}

.brp-support-offer-card > div {
    display: grid;
    place-items: center;
    height: 145px;
    overflow: hidden;
    color: var(--theme-primary, #df1728);
    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(223, 23, 40, .12),
            transparent 62%
        ),
        #eef1f4;
}

.brp-support-offer-card > div img {
    width: 100%;
    height: 100%;
    padding: 8px;
    object-fit: contain;
    transition: transform .35s ease;
}

.brp-support-offer-card:hover > div img {
    transform: scale(1.045);
}

.brp-support-offer-card > div > span {
    font-size: 44px;
    font-weight: 900;
}

.brp-support-offer-card > small,
.brp-support-offer-card > h3,
.brp-support-offer-card > p,
.brp-support-offer-card > b {
    margin-right: 18px;
    margin-left: 18px;
}

.brp-support-offer-card > small {
    margin-top: 17px;
    color: var(--theme-primary, #df1728);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.brp-support-offer-card h3 {
    margin-top: 7px;
    margin-bottom: 8px;
    font-size: 22px;
}

.brp-support-offer-card p {
    margin-top: 0;
    margin-bottom: 15px;
    color: #687482;
    font-size: 12px;
    line-height: 1.58;
}

.brp-support-offer-card > b {
    padding-top: 14px;
    padding-bottom: 18px;
    margin-top: auto;
    color: var(--theme-primary, #df1728);
    border-top: 1px solid #e1e5e9;
    font-size: 11px;
}

@media (max-width: 1180px) {
    .brp-support-program-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .brp-support-offer-grid,
    .brp-support-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .brp-support-showcase__section-head,
    .brp-support-showcase__benefit-head,
    .brp-support-showcase__offer-head,
    .brp-support-inquiry-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .brp-support-gallery {
        grid-template-columns: repeat(
            var(--gallery-columns-tablet, 2),
            minmax(0, 1fr)
        );
    }

    .brp-support-gallery__item.is-featured {
        grid-column: span 2;
    }
}

@media (max-width: 650px) {
    .brp-support-showcase__programs,
    .brp-support-showcase__gallery,
    .brp-support-showcase__offers {
        padding: 64px 0 72px;
    }

    .brp-support-showcase__benefits,
    .brp-support-showcase__inquiry {
        padding: 66px 0 72px;
    }

    .brp-support-program-grid,
    .brp-support-benefit-grid,
    .brp-support-offer-grid,
    .brp-support-gallery {
        grid-template-columns: repeat(
            var(--gallery-columns-mobile, 1),
            minmax(0, 1fr)
        );
    }

    .brp-support-program-card {
        min-height: 330px;
    }

    .brp-support-gallery__item,
    .brp-support-gallery__item img {
        min-height: 220px;
    }

    .brp-support-gallery__item.is-featured {
        grid-column: auto;
        grid-row: auto;
        min-height: 300px;
    }

    .brp-support-gallery__item.is-featured img {
        min-height: 300px;
    }

    .brp-support-inquiry-surface {
        padding: 18px;
        border-radius: 16px;
    }

    .brp-support-inquiry-form {
        grid-template-columns: 1fr;
    }

    .brp-support-inquiry-form .is-full {
        grid-column: auto;
    }
}


/* NESA CMS 3.9.1 responsive gallery controls */
@media (max-width: 650px) {
    .brp-support-gallery[style*="--gallery-columns-mobile: 1"]
    .brp-support-gallery__item.is-featured {
        grid-column: auto;
        grid-row: auto;
    }
}


/* brp-offer-cards/style.css */
/* ==========================================================================
   NESA CMS 3.9.2
   BRP OFFER CARDS
========================================================================== */

.brp-offer-cards {
    --offer-columns-desktop: 4;
    --offer-columns-tablet: 2;
    --offer-columns-mobile: 1;
    --offer-gap: 14px;
    --offer-radius: 20px;
    --offer-ratio: 4 / 3;

    position: relative;
    overflow: hidden;
    padding: 86px 0 94px;
    color: #17202a;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .07),
            transparent 28%
        ),
        #f5f7f9;
}

.brp-offer-cards.is-desktop-2 {
    --offer-columns-desktop: 2;
}

.brp-offer-cards.is-desktop-3 {
    --offer-columns-desktop: 3;
}

.brp-offer-cards.is-desktop-4 {
    --offer-columns-desktop: 4;
}

.brp-offer-cards.is-tablet-1 {
    --offer-columns-tablet: 1;
}

.brp-offer-cards.is-tablet-2 {
    --offer-columns-tablet: 2;
}

.brp-offer-cards.is-mobile-1 {
    --offer-columns-mobile: 1;
}

.brp-offer-cards.is-mobile-2 {
    --offer-columns-mobile: 2;
}

.brp-offer-cards.is-gap-compact {
    --offer-gap: 8px;
}

.brp-offer-cards.is-gap-standard {
    --offer-gap: 14px;
}

.brp-offer-cards.is-gap-airy {
    --offer-gap: 24px;
}

.brp-offer-cards.is-radius-small {
    --offer-radius: 10px;
}

.brp-offer-cards.is-radius-medium {
    --offer-radius: 15px;
}

.brp-offer-cards.is-radius-large {
    --offer-radius: 22px;
}

.brp-offer-cards.is-ratio-landscape {
    --offer-ratio: 4 / 3;
}

.brp-offer-cards.is-ratio-wide {
    --offer-ratio: 16 / 9;
}

.brp-offer-cards.is-ratio-square {
    --offer-ratio: 1 / 1;
}

.brp-offer-cards.is-ratio-portrait {
    --offer-ratio: 4 / 5;
}

.brp-offer-cards__head {
    display: grid;
    grid-template-columns: minmax(0, .46fr) minmax(0, 1.54fr);
    gap: 52px;
    align-items: end;
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #dce2e7;
}

.brp-offer-cards__head > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-offer-cards__head h2 {
    max-width: 920px;
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.brp-offer-cards__head p {
    max-width: 860px;
    margin: 17px 0 0;
    color: #667381;
    font-size: 15px;
    line-height: 1.72;
}

.brp-offer-cards__grid {
    display: grid;
    grid-template-columns:
        repeat(var(--offer-columns-desktop), minmax(0, 1fr));
    gap: var(--offer-gap);
}

.brp-offer-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    background: #ffffff;
    border: 1px solid #dce2e7;
    border-radius: var(--offer-radius);
    box-shadow: 0 16px 44px rgba(19, 29, 40, .07);
    transition:
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}

.brp-offer-card__media {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: var(--offer-ratio);
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(223, 23, 40, .11),
            transparent 54%
        ),
        linear-gradient(145deg, #eef1f4, #f9fafb);
    border-bottom: 1px solid #e0e5e9;
}

.brp-offer-card__media img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
    transition: transform .4s ease;
}

.brp-offer-cards.is-fit-cover
.brp-offer-card__media img {
    padding: 0;
    object-fit: cover;
}

.brp-offer-card__media > span {
    color: var(--theme-primary, #df1728);
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -.04em;
}

.brp-offer-card__media small {
    position: absolute;
    top: 15px;
    right: 16px;
    z-index: 2;
    color: #8d98a5;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.brp-offer-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 21px;
}

.brp-offer-card__content > span {
    color: var(--theme-primary, #df1728);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.brp-offer-card__content h3 {
    margin: 8px 0 9px;
    font-size: clamp(23px, 2.2vw, 31px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.brp-offer-card__content p {
    margin: 0 0 17px;
    color: #697583;
    font-size: 12px;
    line-height: 1.62;
}

.brp-offer-card__content b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 14px;
    margin-top: auto;
    color: #17202a;
    border-top: 1px solid #e1e5e9;
    font-size: 11px;
}

.brp-offer-card__content b i {
    color: var(--theme-primary, #df1728);
    font-size: 20px;
    font-style: normal;
    transition: transform .22s ease;
}

.brp-offer-cards.is-hover-lift
.brp-offer-card:hover,
.brp-offer-cards.is-hover-lift
.brp-offer-card:focus-visible {
    border-color: rgba(223, 23, 40, .32);
    box-shadow: 0 28px 68px rgba(19, 29, 40, .14);
    outline: 0;
    transform: translateY(-6px);
}

.brp-offer-cards.is-hover-zoom
.brp-offer-card:hover
.brp-offer-card__media img {
    transform: scale(1.07);
}

.brp-offer-cards.is-hover-zoom
.brp-offer-card:hover {
    border-color: rgba(223, 23, 40, .3);
    box-shadow: 0 24px 60px rgba(19, 29, 40, .13);
}

.brp-offer-cards.is-hover-minimal
.brp-offer-card:hover {
    border-color: var(--theme-primary, #df1728);
}

.brp-offer-card:hover
.brp-offer-card__content b i {
    transform: translateX(5px);
}

/* Dark premium variant */

.brp-offer-cards--dark {
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(223, 23, 40, .25),
            transparent 32%
        ),
        radial-gradient(
            circle at 98% 95%,
            rgba(54, 104, 255, .12),
            transparent 34%
        ),
        linear-gradient(135deg, #0c141c, #1c2834);
}

.brp-offer-cards--dark
.brp-offer-cards__head {
    border-color: rgba(255, 255, 255, .12);
}

.brp-offer-cards--dark
.brp-offer-cards__head p {
    color: rgba(255, 255, 255, .62);
}

.brp-offer-cards--dark
.brp-offer-card {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .08),
            rgba(255, 255, 255, .025)
        );
    border-color: rgba(255, 255, 255, .12);
    box-shadow: 0 24px 62px rgba(0, 0, 0, .2);
    backdrop-filter: blur(12px);
}

.brp-offer-cards--dark
.brp-offer-card__media {
    background:
        radial-gradient(
            circle at 50% 46%,
            rgba(255, 255, 255, .15),
            transparent 53%
        ),
        rgba(255, 255, 255, .025);
    border-color: rgba(255, 255, 255, .1);
}

.brp-offer-cards--dark
.brp-offer-card__content p {
    color: rgba(255, 255, 255, .58);
}

.brp-offer-cards--dark
.brp-offer-card__content b {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .12);
}

/* Compact variant */

.brp-offer-cards--compact {
    padding: 65px 0 72px;
    background: #ffffff;
}

.brp-offer-cards--compact
.brp-offer-card__content {
    padding: 17px;
}

.brp-offer-cards--compact
.brp-offer-card__content h3 {
    font-size: 23px;
}

.brp-offer-cards--compact
.brp-offer-card__content p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

@media (max-width: 960px) {
    .brp-offer-cards__head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .brp-offer-cards__grid {
        grid-template-columns:
            repeat(var(--offer-columns-tablet), minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .brp-offer-cards {
        padding: 64px 0 72px;
    }

    .brp-offer-cards__grid {
        grid-template-columns:
            repeat(var(--offer-columns-mobile), minmax(0, 1fr));
    }

    .brp-offer-card__content {
        padding: 18px;
    }

    .brp-offer-card__media img {
        padding: 12px;
    }
}


/* brp-service-hero/style.css */
/* ==========================================================================
   NESA CMS 3.10.0
   BRP SERVICE HERO
========================================================================== */

.brp-service-hero {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    color: #ffffff;
    background: #0d151d;
}

.brp-service-hero__media,
.brp-service-hero__overlay {
    position: absolute;
    inset: 0;
}

.brp-service-hero__media {
    z-index: 0;
    background-color: #1b2631;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.015);
}

.brp-service-hero__overlay {
    z-index: 1;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(223, 23, 40, .18),
            transparent 34%
        ),
        linear-gradient(
            90deg,
            rgba(5, 10, 15, .92) 0%,
            rgba(5, 10, 15, .78) 44%,
            rgba(5, 10, 15, .34) 74%,
            rgba(5, 10, 15, .58) 100%
        );
}

.brp-service-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 610px;
    padding-top: 72px;
    padding-bottom: 104px;
}

.brp-service-hero__content {
    max-width: 790px;
}

.brp-service-hero__content > span {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ff5361;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-service-hero__content > span::before {
    width: 30px;
    height: 2px;
    content: "";
    background: currentColor;
}

.brp-service-hero h1 {
    margin: 22px 0 18px;
    font-size: clamp(48px, 6.4vw, 82px);
    font-weight: 790;
    line-height: .99;
    letter-spacing: -.05em;
}

.brp-service-hero__content > p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 18px;
    line-height: 1.65;
}

.brp-service-hero__actions {
    display: flex;
    gap: 11px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.brp-service-hero .button.ghost {
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .34);
    backdrop-filter: blur(9px);
}

.brp-service-hero__trust-wrap {
    position: relative;
    z-index: 3;
    margin-top: -78px;
    padding-bottom: 30px;
}

.brp-service-hero__trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    color: #17202a;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 19px;
    box-shadow: 0 28px 74px rgba(4, 9, 14, .25);
}

.brp-service-hero__trust article {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 118px;
    padding: 21px;
    border-right: 1px solid #e1e5e9;
}

.brp-service-hero__trust article:last-child {
    border-right: 0;
}

.brp-service-hero__trust small {
    position: absolute;
    top: 14px;
    right: 14px;
    color: #a0a9b3;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
}

.brp-service-hero__trust article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--theme-primary, #df1728);
    background: #fff0f2;
    border: 1px solid #f0cbd0;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 900;
}

.brp-service-hero__trust strong {
    padding-right: 18px;
    font-size: 13px;
    line-height: 1.35;
}

/* Split variant */

.brp-service-hero--split {
    min-height: 610px;
}

.brp-service-hero--split .brp-service-hero__media {
    left: 49%;
}

.brp-service-hero--split .brp-service-hero__overlay {
    background:
        linear-gradient(
            90deg,
            #0b131b 0%,
            #111b25 48%,
            rgba(17, 27, 37, .15) 72%
        );
}

/* Minimal variant */

.brp-service-hero--minimal {
    min-height: 560px;
}

.brp-service-hero--minimal .brp-service-hero__overlay {
    background: rgba(5, 10, 15, .7);
}

.brp-service-hero--minimal .brp-service-hero__content {
    max-width: 940px;
    margin-inline: auto;
    text-align: center;
}

.brp-service-hero--minimal .brp-service-hero__content > span,
.brp-service-hero--minimal .brp-service-hero__actions {
    justify-content: center;
}

.brp-service-hero--minimal
.brp-service-hero__content > span::before {
    display: none;
}

@media (max-width: 980px) {
    .brp-service-hero__trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brp-service-hero__trust article:nth-child(2) {
        border-right: 0;
    }

    .brp-service-hero__trust article:nth-child(-n + 2) {
        border-bottom: 1px solid #e1e5e9;
    }
}

@media (max-width: 680px) {
    .brp-service-hero {
        min-height: 660px;
    }

    .brp-service-hero__inner {
        min-height: 600px;
        padding-top: 54px;
        padding-bottom: 120px;
    }

    .brp-service-hero h1 {
        font-size: clamp(42px, 12vw, 58px);
    }

    .brp-service-hero__content > p {
        font-size: 15px;
    }

    .brp-service-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .brp-service-hero__actions .button {
        width: 100%;
    }

    .brp-service-hero__trust-wrap {
        margin-top: -95px;
    }

    .brp-service-hero__trust {
        grid-template-columns: 1fr;
        border-radius: 15px;
    }

    .brp-service-hero__trust article,
    .brp-service-hero__trust article:nth-child(2) {
        min-height: 86px;
        border-right: 0;
        border-bottom: 1px solid #e1e5e9;
    }

    .brp-service-hero__trust article:last-child {
        border-bottom: 0;
    }
}


/* brp-service-insights/style.css */
/* ==========================================================================
   NESA CMS 3.10.0
   BRP SERVICE INSIGHTS
========================================================================== */

.brp-service-insights {
    --service-insight-gap: 34px;
    --service-insight-radius: 22px;
    --service-insight-ratio: 4 / 3;

    padding: 96px 0 104px;
    color: #17202a;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(223, 23, 40, .055),
            transparent 28%
        ),
        #f5f7f9;
}

.brp-service-insights.is-spacing-compact {
    --service-insight-gap: 18px;
}

.brp-service-insights.is-spacing-standard {
    --service-insight-gap: 34px;
}

.brp-service-insights.is-spacing-airy {
    --service-insight-gap: 58px;
}

.brp-service-insights.is-radius-small {
    --service-insight-radius: 10px;
}

.brp-service-insights.is-radius-medium {
    --service-insight-radius: 16px;
}

.brp-service-insights.is-radius-large {
    --service-insight-radius: 24px;
}

.brp-service-insights.is-ratio-landscape {
    --service-insight-ratio: 4 / 3;
}

.brp-service-insights.is-ratio-wide {
    --service-insight-ratio: 16 / 9;
}

.brp-service-insights.is-ratio-square {
    --service-insight-ratio: 1 / 1;
}

.brp-service-insights__head {
    display: grid;
    grid-template-columns: minmax(0, .46fr) minmax(0, 1.54fr);
    gap: 52px;
    align-items: start;
    padding-bottom: 32px;
    margin-bottom: 34px;
    border-bottom: 1px solid #dce2e7;
}

.brp-service-insights__head > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-service-insights__head h2 {
    max-width: 930px;
    margin: 0;
    font-size: clamp(40px, 5.2vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.brp-service-insights__head p {
    max-width: 840px;
    margin: 18px 0 0;
    color: #687482;
    font-size: 16px;
    line-height: 1.72;
}

.brp-service-insights__list {
    display: grid;
    gap: var(--service-insight-gap);
}

.brp-service-insight {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    min-height: 520px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dce2e7;
    border-radius: var(--service-insight-radius);
    box-shadow: 0 20px 56px rgba(18, 29, 40, .075);
}

.brp-service-insight.is-reverse
.brp-service-insight__media {
    order: 2;
}

.brp-service-insight.is-reverse
.brp-service-insight__content {
    order: 1;
}

.brp-service-insight__media {
    position: relative;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(223, 23, 40, .11),
            transparent 56%
        ),
        #edf1f4;
}

.brp-service-insight__media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    aspect-ratio: var(--service-insight-ratio);
    object-fit: cover;
    transition: transform .5s ease;
}

.brp-service-insights.is-fit-contain
.brp-service-insight__media img {
    padding: 30px;
    object-fit: contain;
}

.brp-service-insight:hover
.brp-service-insight__media img {
    transform: scale(1.035);
}

.brp-service-insight__media > small {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    color: #ffffff;
    background: rgba(10, 17, 24, .76);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 13px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    backdrop-filter: blur(9px);
}

.brp-service-insight__placeholder {
    display: grid;
    place-items: center;
    align-content: center;
    width: 100%;
    height: 100%;
    min-height: 520px;
    padding: 34px;
    color: #ffffff;
    text-align: center;
    background:
        radial-gradient(
            circle at 70% 26%,
            rgba(223, 23, 40, .5),
            transparent 28%
        ),
        linear-gradient(145deg, #0d151d, #263645);
}

.brp-service-insight__placeholder span {
    color: #ff5361;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.brp-service-insight__placeholder strong {
    max-width: 360px;
    margin-top: 12px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.brp-service-insight__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 5vw, 70px);
}

.brp-service-insight__content > span {
    color: var(--theme-primary, #df1728);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.brp-service-insight__content h3 {
    margin: 12px 0 20px;
    font-size: clamp(34px, 4.1vw, 55px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.brp-service-insight__text {
    color: #5f6c79;
    font-size: 15px;
    line-height: 1.75;
}

.brp-service-insight__text p {
    margin: 0 0 14px;
}

.brp-service-insight__text p:last-child {
    margin-bottom: 0;
}

.brp-service-insight__note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 14px;
    margin-top: 23px;
    color: #4e5965;
    background: #f7f8fa;
    border: 1px solid #e0e5e9;
    border-left: 3px solid var(--theme-primary, #df1728);
    border-radius: 10px;
}

.brp-service-insight__note b {
    color: var(--theme-primary, #df1728);
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.brp-service-insight__note p {
    margin: 0;
    font-size: 11px;
    line-height: 1.55;
}

/* Cards variant */

.brp-service-insights--cards
.brp-service-insights__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brp-service-insights--cards
.brp-service-insight {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

.brp-service-insights--cards
.brp-service-insight.is-reverse
.brp-service-insight__media,
.brp-service-insights--cards
.brp-service-insight.is-reverse
.brp-service-insight__content {
    order: initial;
}

.brp-service-insights--cards
.brp-service-insight__media img,
.brp-service-insights--cards
.brp-service-insight__placeholder {
    min-height: 330px;
}

.brp-service-insights--cards
.brp-service-insight__content {
    justify-content: flex-start;
    padding: 32px;
}

/* Dark variant */

.brp-service-insights--dark {
    color: #ffffff;
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(223, 23, 40, .26),
            transparent 30%
        ),
        linear-gradient(135deg, #0c141c, #202d39);
}

.brp-service-insights--dark
.brp-service-insights__head {
    border-color: rgba(255, 255, 255, .12);
}

.brp-service-insights--dark
.brp-service-insights__head p {
    color: rgba(255, 255, 255, .62);
}

.brp-service-insights--dark
.brp-service-insight {
    color: #ffffff;
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .11);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .2);
}

.brp-service-insights--dark
.brp-service-insight__text {
    color: rgba(255, 255, 255, .67);
}

.brp-service-insights--dark
.brp-service-insight__note {
    color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .12);
    border-left-color: #ff5361;
}

@media (max-width: 900px) {
    .brp-service-insights__head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .brp-service-insight,
    .brp-service-insights--cards
    .brp-service-insights__list {
        grid-template-columns: 1fr;
    }

    .brp-service-insight.is-reverse
    .brp-service-insight__media,
    .brp-service-insight.is-reverse
    .brp-service-insight__content {
        order: initial;
    }

    .brp-service-insight__media img,
    .brp-service-insight__placeholder {
        min-height: 390px;
    }

    .brp-service-insights--cards
    .brp-service-insights__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .brp-service-insights {
        padding: 68px 0 76px;
    }

    .brp-service-insights--cards
    .brp-service-insights__list {
        grid-template-columns: 1fr;
    }

    .brp-service-insight {
        min-height: 0;
    }

    .brp-service-insight__media img,
    .brp-service-insight__placeholder {
        min-height: 280px;
    }

    .brp-service-insight__content {
        padding: 28px 21px;
    }

    .brp-service-insight__content h3 {
        font-size: 34px;
    }

    .brp-service-insight__note {
        grid-template-columns: 1fr;
    }
}


/* brp-service-gallery/style.css */
/* ==========================================================================
   NESA CMS 3.10.0
   BRP SERVICE GALLERY
========================================================================== */

.brp-service-gallery {
    --service-gallery-columns-desktop: 4;
    --service-gallery-columns-tablet: 2;
    --service-gallery-columns-mobile: 1;
    --service-gallery-gap: 13px;
    --service-gallery-radius: 18px;
    --service-gallery-ratio: 4 / 3;

    padding: 92px 0 102px;
    color: #17202a;
    background: #f3f5f7;
}

.brp-service-gallery.is-desktop-2 {
    --service-gallery-columns-desktop: 2;
}

.brp-service-gallery.is-desktop-3 {
    --service-gallery-columns-desktop: 3;
}

.brp-service-gallery.is-desktop-4 {
    --service-gallery-columns-desktop: 4;
}

.brp-service-gallery.is-desktop-5 {
    --service-gallery-columns-desktop: 5;
}

.brp-service-gallery.is-tablet-1 {
    --service-gallery-columns-tablet: 1;
}

.brp-service-gallery.is-tablet-2 {
    --service-gallery-columns-tablet: 2;
}

.brp-service-gallery.is-tablet-3 {
    --service-gallery-columns-tablet: 3;
}

.brp-service-gallery.is-mobile-1 {
    --service-gallery-columns-mobile: 1;
}

.brp-service-gallery.is-mobile-2 {
    --service-gallery-columns-mobile: 2;
}

.brp-service-gallery.is-gap-compact {
    --service-gallery-gap: 7px;
}

.brp-service-gallery.is-gap-standard {
    --service-gallery-gap: 13px;
}

.brp-service-gallery.is-gap-airy {
    --service-gallery-gap: 22px;
}

.brp-service-gallery.is-radius-small {
    --service-gallery-radius: 9px;
}

.brp-service-gallery.is-radius-medium {
    --service-gallery-radius: 14px;
}

.brp-service-gallery.is-radius-large {
    --service-gallery-radius: 20px;
}

.brp-service-gallery.is-ratio-auto {
    --service-gallery-ratio: auto;
}

.brp-service-gallery.is-ratio-landscape {
    --service-gallery-ratio: 4 / 3;
}

.brp-service-gallery.is-ratio-wide {
    --service-gallery-ratio: 16 / 9;
}

.brp-service-gallery.is-ratio-square {
    --service-gallery-ratio: 1 / 1;
}

.brp-service-gallery__head {
    display: grid;
    grid-template-columns: minmax(0, .45fr) minmax(0, 1.55fr);
    gap: 50px;
    align-items: end;
    padding-bottom: 29px;
    margin-bottom: 28px;
    border-bottom: 1px solid #dce2e7;
}

.brp-service-gallery__head > span {
    color: var(--theme-primary, #df1728);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-service-gallery__head h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 65px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.brp-service-gallery__head p {
    max-width: 840px;
    margin: 17px 0 0;
    color: #687482;
    font-size: 15px;
    line-height: 1.7;
}

.brp-service-gallery__grid {
    display: grid;
    grid-template-columns:
        repeat(
            var(--service-gallery-columns-desktop),
            minmax(0, 1fr)
        );
    grid-auto-flow: dense;
    gap: var(--service-gallery-gap);
}

.brp-service-gallery__item {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: var(--service-gallery-ratio);
    overflow: hidden;
    color: #ffffff;
    background: #dfe5e9;
    border-radius: var(--service-gallery-radius);
    box-shadow: 0 16px 42px rgba(18, 29, 40, .1);
}

.brp-service-gallery__item.is-featured {
    grid-column: span 2;
    grid-row: span 2;
}

.brp-service-gallery__item::after {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            180deg,
            transparent 47%,
            rgba(5, 10, 15, .72)
        );
    transition: background .28s ease;
}

.brp-service-gallery__item img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform .46s ease;
}

.brp-service-gallery__item:hover img {
    transform: scale(1.055);
}

.brp-service-gallery__item:hover::after {
    background:
        linear-gradient(
            180deg,
            rgba(5, 10, 15, .03),
            rgba(5, 10, 15, .82)
        );
}

.brp-service-gallery__item small,
.brp-service-gallery__item > b,
.brp-service-gallery__item > span {
    position: absolute;
    z-index: 2;
}

.brp-service-gallery__item small {
    top: 15px;
    left: 16px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
}

.brp-service-gallery__item > b {
    right: 14px;
    bottom: 13px;
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    font-size: 20px;
    backdrop-filter: blur(9px);
}

.brp-service-gallery__item > span {
    right: 65px;
    bottom: 20px;
    left: 16px;
    overflow: hidden;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Equal grid variant */

.brp-service-gallery--grid
.brp-service-gallery__item.is-featured,
.brp-service-gallery--minimal
.brp-service-gallery__item.is-featured,
.brp-service-gallery.has-even-items
.brp-service-gallery__item.is-featured {
    grid-column: auto;
    grid-row: auto;
}

.brp-service-gallery--minimal {
    padding: 70px 0 78px;
    background: #ffffff;
}

.brp-service-gallery--minimal
.brp-service-gallery__item {
    box-shadow: none;
}

@media (max-width: 900px) {
    .brp-service-gallery__head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .brp-service-gallery__grid {
        grid-template-columns:
            repeat(
                var(--service-gallery-columns-tablet),
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 650px) {
    .brp-service-gallery {
        padding: 67px 0 74px;
    }

    .brp-service-gallery__grid {
        grid-template-columns:
            repeat(
                var(--service-gallery-columns-mobile),
                minmax(0, 1fr)
            );
    }

    .brp-service-gallery__item.is-featured {
        grid-column: auto;
        grid-row: auto;
    }

    .brp-service-gallery__item > span {
        display: none;
    }
}


/* brp-service-booking/style.css */
/* ==========================================================================
   NESA CMS 3.10.0
   BRP SERVICE BOOKING
========================================================================== */

.brp-service-booking {
    padding: 96px 0 104px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 6% 8%,
            rgba(223, 23, 40, .32),
            transparent 31%
        ),
        radial-gradient(
            circle at 98% 96%,
            rgba(43, 102, 245, .13),
            transparent 34%
        ),
        linear-gradient(135deg, #0c141c, #1e2a36);
}

.brp-service-booking__grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(540px, 1.22fr);
    gap: 60px;
    align-items: start;
}

.brp-service-booking__copy > span {
    color: #ff5361;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.brp-service-booking__copy h2 {
    margin: 12px 0 18px;
    font-size: clamp(42px, 5.7vw, 72px);
    line-height: 1.01;
    letter-spacing: -.05em;
}

.brp-service-booking__copy > p {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: 16px;
    line-height: 1.75;
}

.brp-service-booking__facts {
    display: grid;
    gap: 10px;
    margin-top: 32px;
}

.brp-service-booking__facts article {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    background: rgba(255, 255, 255, .052);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
}

.brp-service-booking__facts b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    background: var(--theme-primary, #df1728);
    border-radius: 11px;
    font-size: 10px;
}

.brp-service-booking__facts strong,
.brp-service-booking__facts small {
    display: block;
}

.brp-service-booking__facts strong {
    font-size: 13px;
}

.brp-service-booking__facts small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .55);
    font-size: 11px;
    line-height: 1.5;
}

.brp-service-booking__contact-note {
    padding: 14px 15px;
    margin-top: 16px;
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .045);
    border-left: 3px solid #ff5361;
    border-radius: 0 10px 10px 0;
    font-size: 11px;
    line-height: 1.55;
}

.brp-service-booking__surface {
    padding: 29px;
    color: #17202a;
    background: #ffffff;
    border: 1px solid rgba(223, 23, 40, .28);
    border-radius: 22px;
    box-shadow: 0 30px 84px rgba(0, 0, 0, .28);
}

.brp-service-booking__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.brp-service-booking__form label {
    display: grid;
    gap: 7px;
    color: #46515e;
    font-size: 11px;
    font-weight: 800;
}

.brp-service-booking__form label b {
    color: var(--theme-primary, #df1728);
}

.brp-service-booking__form input,
.brp-service-booking__form select,
.brp-service-booking__form textarea {
    width: 100%;
    min-height: 49px;
    padding: 12px 13px;
    color: #17202a;
    background: #f8f9fb;
    border: 1px solid #dce2e8;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    outline: 0;
    transition:
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.brp-service-booking__form textarea {
    min-height: 145px;
    line-height: 1.6;
    resize: vertical;
}

.brp-service-booking__form input:focus,
.brp-service-booking__form select:focus,
.brp-service-booking__form textarea:focus {
    background: #ffffff;
    border-color: rgba(223, 23, 40, .55);
    box-shadow: 0 0 0 4px rgba(223, 23, 40, .08);
}

.brp-service-booking__form .is-full {
    grid-column: 1 / -1;
}

.brp-service-booking__privacy {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start;
    padding: 12px;
    background: #f7f8fa;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
}

.brp-service-booking__privacy input {
    width: 20px;
    height: 20px;
    min-height: 20px;
    padding: 0;
}

.brp-service-booking__privacy span {
    color: #65717e;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.55;
}

.brp-service-booking__privacy a {
    color: var(--theme-primary, #df1728);
    font-weight: 800;
}

.brp-service-booking__honeypot {
    position: absolute;
    left: -9999px;
}

.brp-service-booking__message {
    padding: 15px;
    margin-bottom: 16px;
    border-radius: 11px;
}

.brp-service-booking__message strong,
.brp-service-booking__message p {
    display: block;
}

.brp-service-booking__message p {
    margin: 5px 0 0;
    font-size: 12px;
}

.brp-service-booking__message.is-success {
    color: #17633d;
    background: #eaf8f1;
    border: 1px solid #b9e6ce;
}

.brp-service-booking__message.is-error {
    color: #9f1d2a;
    background: #fff0f2;
    border: 1px solid #f1c5ca;
}

/* Light variant */

.brp-service-booking--light {
    color: #17202a;
    background: #f3f5f7;
}

.brp-service-booking--light
.brp-service-booking__copy > p,
.brp-service-booking--light
.brp-service-booking__facts small {
    color: #687482;
}

.brp-service-booking--light
.brp-service-booking__facts article {
    background: #ffffff;
    border-color: #dfe4e9;
}

.brp-service-booking--light
.brp-service-booking__contact-note {
    color: #5e6976;
    background: #ffffff;
}

/* Compact variant */

.brp-service-booking--compact {
    padding: 70px 0 78px;
}

@media (max-width: 980px) {
    .brp-service-booking__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 650px) {
    .brp-service-booking {
        padding: 68px 0 74px;
    }

    .brp-service-booking__surface {
        padding: 18px;
        border-radius: 16px;
    }

    .brp-service-booking__form {
        grid-template-columns: 1fr;
    }

    .brp-service-booking__form .is-full {
        grid-column: auto;
    }
}

