/* 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
    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;
    }
}


/* faq/style.css */
.nesa-faq{background:var(--surface,#fff)}.nesa-faq__list{display:grid;gap:10px;max-width:980px}.nesa-faq__item{border:1px solid var(--line);border-radius:var(--card-radius,14px);background:#fff;overflow:hidden}.nesa-faq__item summary{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:21px 24px;cursor:pointer;list-style:none}.nesa-faq__item summary::-webkit-details-marker{display:none}.nesa-faq__item summary span{color:var(--primary);font-size:11px;font-weight:900}.nesa-faq__item summary strong{font-size:17px}.nesa-faq__item summary i{font-size:24px;font-style:normal;transition:.2s}.nesa-faq__item[open] summary i{transform:rotate(45deg)}.nesa-faq__answer{padding:0 24px 22px 80px;color:var(--muted);line-height:1.65}.nesa-faq--cards .nesa-faq__list{grid-template-columns:repeat(2,1fr);max-width:none}.nesa-faq--cards .nesa-faq__item summary{grid-template-columns:1fr auto}.nesa-faq--cards .nesa-faq__item summary span{display:none}.nesa-faq--cards .nesa-faq__answer{padding-left:24px}.nesa-faq--minimal .nesa-faq__item{border-width:0 0 1px;border-radius:0}.nesa-faq--minimal .nesa-faq__item summary{padding-left:0;padding-right:0}.nesa-faq--minimal .nesa-faq__answer{padding-left:56px}@media(max-width:700px){.nesa-faq--cards .nesa-faq__list{grid-template-columns:1fr}.nesa-faq__item summary{grid-template-columns:30px 1fr auto;padding:17px}.nesa-faq__answer{padding:0 17px 18px 61px}}

/* stats/style.css */
.nesa-stats{background:#f4f5f7}.nesa-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.nesa-stats__grid article{padding:34px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius,14px);text-align:center}.nesa-stats__grid strong{display:block;color:var(--primary);font-size:clamp(42px,6vw,74px);line-height:1;font-family:var(--font-heading);letter-spacing:-.05em}.nesa-stats__grid span{display:block;margin-top:12px;color:var(--muted);font-weight:700}.nesa-stats--band{background:var(--primary);color:#fff}.nesa-stats--band .section-head h2,.nesa-stats--band .eyebrow{color:#fff}.nesa-stats--band .nesa-stats__grid{gap:0}.nesa-stats--band .nesa-stats__grid article{background:transparent;border:0;border-right:1px solid rgba(255,255,255,.25);border-radius:0}.nesa-stats--band .nesa-stats__grid strong,.nesa-stats--band .nesa-stats__grid span{color:#fff}.nesa-stats--dark{background:var(--dark);color:#fff}.nesa-stats--dark .section-head h2{color:#fff}.nesa-stats--dark .nesa-stats__grid article{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.nesa-stats--dark .nesa-stats__grid span{color:rgba(255,255,255,.68)}

/* gallery/style.css */
.nesa-gallery{background:var(--surface,#fff)}.nesa-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.nesa-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:var(--card-radius,14px);background:#eceff3}.nesa-gallery img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .45s}.nesa-gallery figure:hover img{transform:scale(1.04)}.nesa-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff;font-size:12px}.nesa-gallery--masonry .nesa-gallery__grid{columns:3;display:block}.nesa-gallery--masonry figure{break-inside:avoid;margin-bottom:14px}.nesa-gallery--masonry img{height:auto}.nesa-gallery--featured .nesa-gallery__grid{grid-template-columns:2fr 1fr}.nesa-gallery--featured figure:first-child{grid-row:span 2}.nesa-gallery--featured figure:first-child img{height:734px}@media(max-width:850px){.nesa-gallery__grid,.nesa-gallery--featured .nesa-gallery__grid{grid-template-columns:repeat(2,1fr)}.nesa-gallery--masonry .nesa-gallery__grid{columns:2}.nesa-gallery--featured figure:first-child{grid-row:auto}.nesa-gallery--featured figure:first-child img{height:360px}}@media(max-width:600px){.nesa-gallery__grid,.nesa-gallery--featured .nesa-gallery__grid{grid-template-columns:1fr}.nesa-gallery--masonry .nesa-gallery__grid{columns:1}}

/* video/style.css */
.nesa-video{background:var(--dark);color:#fff}.nesa-video__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(30px,5vw,70px);align-items:center}.nesa-video__content h2{color:#fff;font-size:clamp(38px,5vw,68px);line-height:1.04}.nesa-video__content>div{color:rgba(255,255,255,.7);line-height:1.7}.nesa-video__content .button{margin-top:22px}.nesa-video__media{aspect-ratio:16/9;overflow:hidden;background:#050607;border-radius:var(--card-radius,16px);box-shadow:0 30px 70px rgba(0,0,0,.3)}.nesa-video__media iframe,.nesa-video__media img{width:100%;height:100%;border:0;object-fit:cover}.nesa-video__empty{display:grid;place-items:center;height:100%;color:rgba(255,255,255,.5)}.nesa-video--cinema .nesa-video__grid{grid-template-columns:1fr}.nesa-video--cinema .nesa-video__content{max-width:820px}.nesa-video--minimal{background:#fff;color:var(--ink)}.nesa-video--minimal .nesa-video__content h2{color:var(--ink)}.nesa-video--minimal .nesa-video__content>div{color:var(--muted)}@media(max-width:850px){.nesa-video__grid{grid-template-columns:1fr}}

/* testimonials/style.css */
.nesa-testimonials{background:#f4f5f7}.nesa-testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.nesa-testimonials article{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius,14px)}.nesa-testimonials article>img{width:58px;height:58px;object-fit:cover;border-radius:50%;margin-bottom:16px}.nesa-testimonials__rating{color:#e2a621;letter-spacing:2px;font-size:12px}.nesa-testimonials blockquote{margin:18px 0;color:var(--ink);font-size:18px;line-height:1.6}.nesa-testimonials article>strong,.nesa-testimonials article>span{display:block}.nesa-testimonials article>span{margin-top:4px;color:var(--muted);font-size:11px}.nesa-testimonials--featured .nesa-testimonials__grid{grid-template-columns:1fr}.nesa-testimonials--featured article{max-width:900px;padding:50px}.nesa-testimonials--featured blockquote{font-size:clamp(22px,3vw,36px)}.nesa-testimonials--dark{background:var(--dark);color:#fff}.nesa-testimonials--dark .section-head h2{color:#fff}.nesa-testimonials--dark article{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.nesa-testimonials--dark blockquote,.nesa-testimonials--dark article>strong{color:#fff}.nesa-testimonials--dark article>span{color:rgba(255,255,255,.6)}@media(max-width:850px){.nesa-testimonials__grid{grid-template-columns:1fr}}

/* logos/style.css */
.nesa-logos{background:#fff}.nesa-logos__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.nesa-logos__item{display:grid;place-items:center;gap:8px;min-height:130px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius,12px);color:var(--muted)}.nesa-logos__item img{max-width:140px;max-height:60px;object-fit:contain}.nesa-logos__item span{font-size:10px}.nesa-logos--strip .nesa-logos__grid{display:flex;overflow-x:auto}.nesa-logos--strip .nesa-logos__item{flex:0 0 190px;border-width:0 1px 0 0;border-radius:0}.nesa-logos--monochrome .nesa-logos__item img{filter:grayscale(1);opacity:.62;transition:.2s}.nesa-logos--monochrome .nesa-logos__item:hover img{filter:none;opacity:1}

/* 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;
    }
}


/* collection-category-hero/style.css */
.collection-category-hero{
    position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;color:#fff;
    background-image:var(--collection-hero-image,linear-gradient(135deg,#111b27,#334155));
    background-position:center;background-size:cover
}
.collection-category-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,24,.92) 0%,rgba(7,13,24,.72) 38%,rgba(7,13,24,.22) 75%,rgba(7,13,24,.05) 100%)}
.collection-category-hero__inner{position:relative;z-index:1;width:min(var(--container,1180px),calc(100% - 40px));margin-inline:auto;padding-top:92px;padding-bottom:92px}
.collection-category-hero__content{max-width:740px}
.collection-kicker{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.collection-kicker:before{content:"";width:28px;height:2px;background:var(--theme-primary,#177e89)}
.collection-category-hero h1{max-width:760px;margin:0;font-size:clamp(46px,6.3vw,78px);line-height:.98;letter-spacing:-.045em}
.collection-category-hero p{max-width:690px;margin:22px 0 0;color:rgba(255,255,255,.88);font-size:18px;line-height:1.55}
.collection-category-hero__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.collection-category-hero__meta span{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px);font-size:11px;font-weight:850}
.collection-category-hero--compact{min-height:390px}.collection-category-hero--compact .collection-category-hero__inner{padding-top:66px;padding-bottom:66px}.collection-category-hero--compact h1{font-size:clamp(40px,5vw,62px)}
@media(max-width:760px){.collection-category-hero{min-height:460px}.collection-category-hero__shade{background:linear-gradient(90deg,rgba(7,13,24,.88),rgba(7,13,24,.5))}.collection-category-hero__inner{padding-top:70px;padding-bottom:70px}.collection-category-hero h1{font-size:clamp(40px,12vw,58px)}.collection-category-hero p{font-size:16px}}


/* offers-grid/style.css */
.offers-public-section{padding:78px 0;background:#f8fafb}.offers-public-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:end;margin-bottom:34px}.offers-public-head>div>span{display:flex;align-items:center;gap:10px;color:var(--theme-primary,#148a96);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.offers-public-head>div>span:before{content:"";width:28px;height:2px;background:currentColor}.offers-public-head h2{max-width:760px;margin:10px 0 0;font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.04em}.offers-public-head>p{margin:0;color:#667384;font-size:16px;line-height:1.65}.offers-filterbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px;padding:16px 18px;border:1px solid #e3e8ec;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(22,34,52,.05)}.offers-filterbar__controls{display:flex;gap:12px;flex-wrap:wrap}.offers-filterbar label{display:grid;gap:6px}.offers-filterbar label>span{color:#7a8592;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.offers-filterbar select{min-width:180px;height:42px;padding:0 38px 0 13px;border:1px solid #dce3e8;border-radius:10px;background:#f8fafb;color:#15202e;font-weight:750}.offers-filterbar__status{display:flex;gap:14px;align-items:center;white-space:nowrap}.offers-filterbar__status strong{font-size:13px}.offers-filterbar__status button{border:0;background:transparent;color:var(--theme-primary,#148a96);font-size:12px;font-weight:850;cursor:pointer}.offers-public-grid{display:grid;grid-template-columns:repeat(var(--offers-columns,3),minmax(0,1fr));gap:22px}.offer-public-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #e1e7eb;border-radius:20px;box-shadow:0 16px 38px rgba(17,28,45,.07);transition:transform .25s ease,box-shadow .25s ease}.offer-public-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(17,28,45,.12)}.offer-public-card__media{position:relative;height:220px;display:grid;place-items:center;overflow:hidden;background:#eef2f5}.offer-public-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.offer-public-card:hover .offer-public-card__media img{transform:scale(1.035)}.offer-public-card__placeholder{font-size:52px;font-weight:950;color:#a7b0ba}.offer-public-badge{position:absolute;left:14px;top:14px;padding:8px 11px;border-radius:999px;background:var(--theme-primary,#148a96);color:#fff;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.offer-public-icons{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}.offer-public-icons span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(13,23,37,.82);color:#fff;backdrop-filter:blur(6px)}.offer-public-icons svg{width:17px;height:17px;fill:currentColor}.offer-public-card__body{display:flex;flex-direction:column;min-height:310px;padding:19px}.offer-public-category{display:block;margin-bottom:7px;color:var(--theme-primary,#148a96);font-size:10px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.offer-public-card h3{margin:0;color:#111b28;font-size:20px;line-height:1.16;letter-spacing:-.025em}.offer-public-card__heading p{margin:9px 0 0;color:#6d7885;font-size:13px;line-height:1.5}.offer-public-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:16px;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.offer-public-facts>div{padding:11px 8px 11px 0}.offer-public-facts small{display:block;margin-bottom:3px;color:#929ca7;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.offer-public-facts strong{display:block;font-size:12px}.offer-public-card footer{display:grid;grid-template-columns:minmax(0,.72fr) minmax(145px,1.28fr);gap:12px;align-items:end;margin-top:auto;padding-top:17px}.offer-public-price small,.offer-public-price span{display:block;color:#8a95a1;font-size:10px}.offer-public-price strong{display:block;color:var(--theme-primary,#148a96);font-size:23px;line-height:1.05;letter-spacing:-.025em}.offer-public-price strong em{font-size:13px;font-style:normal}.offer-pdf-button{min-height:46px;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:12px;background:#111d2f;color:#fff;font-size:10px;font-weight:900}.offer-pdf-button>span{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:rgba(255,255,255,.1);font-size:8px}.offer-pdf-button>b{margin-left:auto;font-size:17px}.offers-no-results,.offers-public-empty{padding:44px;text-align:center;border:1px dashed #cfd6dc;border-radius:16px;background:#fff;color:#687584}
/* compact */.offers-public-section--compact .offers-public-grid{gap:16px}.offers-public-section--compact .offer-public-card{border-radius:15px}.offers-public-section--compact .offer-public-card__media{height:175px}.offers-public-section--compact .offer-public-card__body{min-height:270px;padding:15px}.offers-public-section--compact .offer-public-card h3{font-size:17px}.offers-public-section--compact .offer-public-facts{margin-top:12px}.offers-public-section--compact .offer-public-card footer{grid-template-columns:1fr;gap:9px}.offers-public-section--compact .offer-public-price strong{font-size:20px}.offers-public-section--compact .offer-pdf-button{min-height:40px}
/* editorial */.offers-public-section--editorial .offers-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offers-public-section--editorial .offer-public-card{display:grid;grid-template-columns:42% 58%;min-height:330px}.offers-public-section--editorial .offer-public-card__media{height:100%;min-height:330px}.offers-public-section--editorial .offer-public-card__body{min-height:330px}.offers-public-section--editorial .offer-public-card h3{font-size:21px}.offers-public-section--editorial .offer-public-card footer{grid-template-columns:1fr}
/* visual */.offers-public-section--visual .offers-public-grid{gap:18px}.offers-public-section--visual .offer-public-card{position:relative;min-height:430px;border:0;background:#111b28;color:#fff}.offers-public-section--visual .offer-public-card__media{position:absolute;inset:0;height:auto}.offers-public-section--visual .offer-public-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,15,25,.05) 20%,rgba(8,15,25,.9) 78%)}.offers-public-section--visual .offer-public-card__body{position:relative;z-index:2;justify-content:flex-end;min-height:430px;padding:20px;background:linear-gradient(180deg,transparent 26%,rgba(8,15,25,.93) 100%)}.offers-public-section--visual .offer-public-category{color:#75d7df}.offers-public-section--visual .offer-public-card h3{color:#fff;font-size:21px}.offers-public-section--visual .offer-public-facts{border-color:rgba(255,255,255,.12)}.offers-public-section--visual .offer-public-facts small{color:rgba(255,255,255,.55)}.offers-public-section--visual .offer-public-facts strong{color:#fff}.offers-public-section--visual .offer-public-price small,.offers-public-section--visual .offer-public-price span{color:rgba(255,255,255,.6)}.offers-public-section--visual .offer-public-price strong{color:#fff}.offers-public-section--visual .offer-pdf-button{background:#fff;color:#111b28}.offers-public-section--visual .offer-public-icons{z-index:3;top:12px;bottom:auto}
@media(max-width:1100px){.offers-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.offers-public-section--editorial .offer-public-card{grid-template-columns:1fr}.offers-public-section--editorial .offer-public-card__media{height:220px;min-height:0}.offers-public-section--editorial .offer-public-card__body{min-height:300px}}
@media(max-width:760px){.offers-public-section{padding:58px 0}.offers-public-head{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.offers-public-head h2{font-size:38px}.offers-filterbar{align-items:stretch;flex-direction:column}.offers-filterbar__controls{display:grid;grid-template-columns:1fr 1fr}.offers-filterbar select{width:100%;min-width:0}.offers-filterbar__status{justify-content:space-between}.offers-public-grid{grid-template-columns:1fr!important}.offer-public-card__media{height:220px}.offer-public-card__body{min-height:0}.offers-public-section--visual .offer-public-card,.offers-public-section--visual .offer-public-card__body{min-height:390px}}
@media(max-width:460px){.offers-filterbar__controls{grid-template-columns:1fr}.offer-public-card footer{grid-template-columns:1fr}.offer-public-price{margin-bottom:4px}}

/* 1.3.1 card polish */
.offer-public-badges{position:absolute;z-index:4;top:14px;left:14px;right:14px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px;pointer-events:none}.offer-public-badge{position:static;display:inline-flex;align-items:center;min-height:29px;padding:7px 10px;border-radius:999px;background:var(--theme-primary,#148a96);color:#fff;box-shadow:0 6px 16px rgba(7,18,30,.18);font-size:9px;font-weight:950;line-height:1;letter-spacing:.035em;text-transform:uppercase}.offer-public-badge--alert{background:#e31b2d}.offer-public-badge--discount{background:#111d2f}.offer-public-icons{display:none!important}.offer-public-card__body{min-height:340px}.offer-public-transport{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.offer-public-transport span{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:6px 9px;border:1px solid #e6ebef;border-radius:999px;background:#f6f8fa;color:#263342}.offer-public-transport svg{width:15px;height:15px;fill:var(--theme-primary,#148a96);flex:0 0 auto}.offer-public-transport b{font-size:9px;font-weight:900;white-space:nowrap}.offer-public-price del{display:block;width:max-content;margin:3px 0;color:#9aa3ad;font-size:12px;font-weight:800;text-decoration-thickness:1.5px}.offers-public-section--compact .offer-public-card__body{min-height:292px}.offers-public-section--compact .offer-public-transport{margin-top:10px}.offers-public-section--compact .offer-public-transport b{display:none}.offers-public-section--visual .offer-public-card{min-height:500px}.offers-public-section--visual .offer-public-card__media:after{background:linear-gradient(180deg,rgba(6,13,23,.18) 0%,rgba(6,13,23,.28) 32%,rgba(6,13,23,.86) 66%,rgba(6,13,23,.98) 100%)}.offers-public-section--visual .offer-public-card__body{min-height:500px;padding:108px 20px 20px;background:linear-gradient(180deg,transparent 28%,rgba(8,15,25,.34) 55%,rgba(8,15,25,.88) 100%)}.offers-public-section--visual .offer-public-card__heading,.offers-public-section--visual .offer-public-facts,.offers-public-section--visual .offer-public-transport,.offers-public-section--visual .offer-public-card footer{position:relative;z-index:3}.offers-public-section--visual .offer-public-category{color:#8ee8ee;text-shadow:0 2px 8px rgba(0,0,0,.5)}.offers-public-section--visual .offer-public-card h3{color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.7)}.offers-public-section--visual .offer-public-card__heading p{color:rgba(255,255,255,.82)}.offers-public-section--visual .offer-public-transport span{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.11);color:#fff;backdrop-filter:blur(7px)}.offers-public-section--visual .offer-public-transport svg{fill:#8ee8ee}.offers-public-section--visual .offer-public-price del{color:rgba(255,255,255,.66)}.offers-public-section--visual .offer-public-badges{top:14px;left:14px;right:14px}.offers-public-section--visual .offer-public-icons{display:none!important}@media(max-width:760px){.offers-public-section--visual .offer-public-card,.offers-public-section--visual .offer-public-card__body{min-height:430px}.offers-public-section--visual .offer-public-card__body{padding-top:92px}}@media(max-width:460px){.offer-public-badges{gap:5px}.offer-public-badge{min-height:27px;padding:6px 9px;font-size:8px}}


/* 1.3.4 offer information polish */
.offer-public-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-public-fact--wide{grid-column:1/-1}.offer-public-departures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.offer-public-departures>span{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid #e7ebef;border-radius:12px;background:#f8fafb}.offer-public-departures>span>b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:color-mix(in srgb,var(--theme-primary,#148a96) 12%,white);color:var(--theme-primary,#148a96);font-size:16px}.offer-public-departures>span>span{display:grid;gap:2px;min-width:0}.offer-public-departures small{color:#8b95a0;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.offer-public-departures strong{overflow:hidden;color:#263342;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.offer-public-departures em{color:var(--theme-primary,#148a96);font-size:9px;font-style:normal;white-space:nowrap}.offer-public-price__regular{display:flex!important;align-items:center;gap:6px;margin:5px 0 3px}.offer-public-price__regular small{display:inline!important;color:#66717e!important;font-size:9px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.offer-public-price__regular del{display:inline!important;margin:0!important;padding:2px 5px;border-radius:5px;background:#f2f4f6;color:#596472!important;font-size:13px!important;font-weight:900!important;text-decoration-color:#e31b2d;text-decoration-thickness:2px}.offers-public-section--visual .offer-public-departures>span{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.1);backdrop-filter:blur(7px)}.offers-public-section--visual .offer-public-departures small{color:rgba(255,255,255,.58)}.offers-public-section--visual .offer-public-departures strong{color:#fff}.offers-public-section--visual .offer-public-price__regular small{color:rgba(255,255,255,.65)!important}.offers-public-section--visual .offer-public-price__regular del{background:rgba(255,255,255,.12);color:#fff!important;text-decoration-color:#ff5664}.offers-public-section--compact .offer-public-departures{grid-template-columns:1fr}.offers-public-section--compact .offer-public-departures__alternate{display:none}@media(max-width:460px){.offer-public-departures{grid-template-columns:1fr}.offer-public-departures strong{white-space:normal}}

/* 1.3.5 compact itinerary + transport + muted regular price */
.offer-public-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.offer-public-fact--wide{grid-column:1/-1}
.offer-public-fact--transport{min-width:0}
.offer-public-transport-inline{display:flex!important;align-items:flex-start;gap:8px;flex-wrap:wrap;color:#263342!important}
.offer-public-transport-inline>span{display:grid;justify-items:start;gap:3px;min-width:48px}
.offer-public-transport-inline svg{width:18px;height:18px;fill:var(--theme-primary,#148a96)}
.offer-public-transport-inline b{font-size:10px;font-weight:900;line-height:1.15}
.offer-public-price__regular{display:flex!important;align-items:baseline;gap:6px;margin:4px 0 2px}
.offer-public-price__regular small{display:inline!important;color:#a5adb6!important;font-size:8px!important;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.offer-public-price__regular>span{display:inline!important;color:#a5adb6!important;font-size:13px!important;font-weight:850;line-height:1!important;opacity:.88}
.offers-public-section--visual .offer-public-price__regular small,.offers-public-section--visual .offer-public-price__regular>span{color:rgba(255,255,255,.55)!important}
.offers-public-section--compact .offer-public-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.offer-public-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-public-fact--transport{grid-column:auto}.offer-public-fact--wide{grid-column:1/-1}}
@media(max-width:430px){.offer-public-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-public-transport-inline>span{min-width:42px}.offer-public-transport-inline b{font-size:9px}}


/* 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}}

