/* 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);
    }
}
/* 1.4.0: image heroes need enough visual area for real photography. */
.nesa-inner-hero--image{min-height:360px;padding:70px 0}
@media(max-width:700px){.nesa-inner-hero--image{min-height:260px;padding:48px 0}}


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



/* Optional editor-controlled background image. */
.nesa-trust--has-background {
    background-image:
        linear-gradient(
            rgba(0, 0, 0, var(--nesa-trust-background-overlay, .72)),
            rgba(0, 0, 0, var(--nesa-trust-background-overlay, .72))
        ),
        var(--nesa-trust-background-image);
    background-position: center, var(--nesa-trust-background-position, center);
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
}

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

/* Optional icon cards */
.nesa-trust__icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: color-mix(in srgb, var(--primary) 10%, transparent);
    color: var(--primary);
}

.nesa-trust__icon svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
}

.nesa-trust__icon + h3 {
    margin-top: 32px;
}

.nesa-trust--dark .nesa-trust__icon {
    background: rgba(255, 255, 255, 0.09);
    color: var(--accent, #ff2338);
}


.nesa-trust__icon svg.nesa-trust-line-icon {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* NESA 3.0 restored responsive card controls */
@media (min-width:1101px){.nesa-trust.nesa-columns-desktop-custom .nesa-trust__grid{grid-template-columns:repeat(var(--nesa-card-columns-desktop),minmax(0,1fr))!important}}
@media (min-width:701px) and (max-width:1100px){.nesa-trust.nesa-columns-tablet-custom .nesa-trust__grid{grid-template-columns:repeat(var(--nesa-card-columns-tablet),minmax(0,1fr))!important}}
@media (max-width:700px){.nesa-trust.nesa-columns-mobile-custom .nesa-trust__grid{grid-template-columns:repeat(var(--nesa-card-columns-mobile),minmax(0,1fr))!important}}


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

.nesa-editable-cards-image{max-width:100%;max-height:420px;object-fit:contain}.nesa-editable-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.nesa-editable-cards-grid img{max-width:100%}.nesa-editable-cards-grid article,.nesa-editable-cards-grid details{padding:20px}.nesa-editable-cards-grid summary{cursor:pointer}@media(max-width:900px){.nesa-editable-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.nesa-editable-cards-grid{grid-template-columns:1fr}}


/* NESA CMS 3.0.0 — reliable column control and image-less cards */
.nesa-categories__grid{grid-template-columns:repeat(var(--categories-columns,3),minmax(0,1fr))}
.nesa-categories__card--no-media{isolation:auto;background:color-mix(in srgb,var(--dark,#11151b) 94%,var(--primary,#e5a128) 6%);border:1px solid color-mix(in srgb,var(--line,#e5e8ed) 72%,transparent)}
.nesa-categories__card--no-media .nesa-categories__content{margin:0;display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100%}
.nesa-categories--compact .nesa-categories__grid{grid-template-columns:repeat(var(--categories-columns,3),minmax(0,1fr))}
.nesa-categories--compact .nesa-categories__card--no-media{display:block;min-height:220px;padding:30px;background:color-mix(in srgb,var(--dark,#11151b) 96%,var(--primary,#e5a128) 4%)}
.nesa-categories--compact .nesa-categories__card--no-media .nesa-categories__content{padding:0;justify-content:flex-start}
.nesa-categories--compact .nesa-categories__card--no-media .nesa-categories__content h3{margin:18px 0 10px;font-size:clamp(20px,2vw,26px)}
.nesa-categories--compact .nesa-categories__card--no-media .prose{margin-top:auto}
@media(max-width:1100px){.nesa-categories__grid,.nesa-categories--compact .nesa-categories__grid{grid-template-columns:repeat(min(2,var(--categories-columns,3)),minmax(0,1fr))}}
@media(max-width:700px){.nesa-categories__grid,.nesa-categories--compact .nesa-categories__grid{grid-template-columns:1fr}}

/* NESA 3.0 restored responsive card controls */
@media (min-width:1101px){.nesa-categories.nesa-columns-desktop-custom .nesa-categories__grid{grid-template-columns:repeat(var(--nesa-card-columns-desktop),minmax(0,1fr))!important}}
@media (min-width:701px) and (max-width:1100px){.nesa-categories.nesa-columns-tablet-custom .nesa-categories__grid{grid-template-columns:repeat(var(--nesa-card-columns-tablet),minmax(0,1fr))!important}}
@media (max-width:700px){.nesa-categories.nesa-columns-mobile-custom .nesa-categories__grid{grid-template-columns:repeat(var(--nesa-card-columns-mobile),minmax(0,1fr))!important}}


/* split/style.css */
/* ==========================================================
   NESA COMPONENT: SPLIT
   Version 4.0.0 RC2
   Layout Studio-driven image + text section.
========================================================== */

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

.nesa-split__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "media content";
    gap: clamp(38px, 5vw, 72px);
    align-items: center;
}

.nesa-split__media {
    grid-area: media;
    position: relative;
    min-width: 0;
    width: 100%;
}

.nesa-split__content {
    grid-area: content;
    min-width: 0;
    width: 100%;
}

.nesa-split--image-right .nesa-split__grid {
    grid-template-areas: "content media";
}

/* Coarse column presets remain the backwards-compatible default. */
.nesa-split--columns-media-wide .nesa-split__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
}

.nesa-split--image-right.nesa-split--columns-media-wide .nesa-split__grid {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.nesa-split--columns-text-wide .nesa-split__grid {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.nesa-split--image-right.nesa-split--columns-text-wide .nesa-split__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
}

.nesa-split--gap-compact .nesa-split__grid { gap: clamp(24px, 3vw, 42px); }
.nesa-split--gap-standard .nesa-split__grid { gap: clamp(38px, 5vw, 72px); }
.nesa-split--gap-wide .nesa-split__grid { gap: clamp(52px, 7vw, 110px); }

.nesa-split--align-start .nesa-split__grid { align-items: start; }
.nesa-split--align-center .nesa-split__grid { align-items: center; }
.nesa-split--align-end .nesa-split__grid { align-items: end; }

.nesa-split__image-frame {
    width: 100%;
    min-width: 0;
}

/* Legacy mode preserves established layouts until an editor opts in. */
.nesa-split--ratio-legacy .nesa-split__image-frame img {
    display: block;
    width: 100%;
    height: var(--split-image-height, 420px);
    min-height: 0;
    max-height: none;
    object-fit: var(--split-image-fit, cover);
    border-radius: var(--split-image-radius, var(--card-radius, 16px));
    box-shadow: var(--card-shadow, none);
}

/* Natural source proportions, ideal for portrait social-media artwork. */
.nesa-split--ratio-original .nesa-split__image-frame img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none;
    object-fit: contain !important;
    border-radius: var(--split-image-radius, var(--card-radius, 16px));
    box-shadow: var(--card-shadow, none);
}

.nesa-split--ratio-portrait-4-5 .nesa-split__image-frame,
.nesa-split--ratio-portrait-3-4 .nesa-split__image-frame,
.nesa-split--ratio-square .nesa-split__image-frame,
.nesa-split--ratio-landscape .nesa-split__image-frame,
.nesa-split--ratio-wide .nesa-split__image-frame,
.nesa-split--ratio-custom .nesa-split__image-frame {
    overflow: hidden;
    background: #e9edf1;
    border-radius: var(--split-image-radius, var(--card-radius, 16px));
    box-shadow: var(--card-shadow, none);
}

.nesa-split--ratio-portrait-4-5 .nesa-split__image-frame { aspect-ratio: 4 / 5; }
.nesa-split--ratio-portrait-3-4 .nesa-split__image-frame { aspect-ratio: 3 / 4; }
.nesa-split--ratio-square .nesa-split__image-frame { aspect-ratio: 1 / 1; }
.nesa-split--ratio-landscape .nesa-split__image-frame { aspect-ratio: 4 / 3; }
.nesa-split--ratio-wide .nesa-split__image-frame { aspect-ratio: 16 / 9; }
.nesa-split--ratio-custom .nesa-split__image-frame { height: var(--split-image-height, 420px); }

.nesa-split--ratio-portrait-4-5 .nesa-split__image-frame img,
.nesa-split--ratio-portrait-3-4 .nesa-split__image-frame img,
.nesa-split--ratio-square .nesa-split__image-frame img,
.nesa-split--ratio-landscape .nesa-split__image-frame img,
.nesa-split--ratio-wide .nesa-split__image-frame img,
.nesa-split--ratio-custom .nesa-split__image-frame img {
    display: block;
    width: 100%;
    height: 100% !important;
    border-radius: inherit;
    box-shadow: none;
}

.nesa-split--fit-cover:not(.nesa-split--ratio-legacy):not(.nesa-split--ratio-original) .nesa-split__image-frame img {
    object-fit: cover !important;
}

.nesa-split--fit-contain:not(.nesa-split--ratio-legacy):not(.nesa-split--ratio-original) .nesa-split__image-frame img {
    object-fit: contain !important;
}

.nesa-split--position-center .nesa-split__image-frame img { object-position: center !important; }
.nesa-split--position-top .nesa-split__image-frame img { object-position: center top !important; }
.nesa-split--position-bottom .nesa-split__image-frame img { object-position: center bottom !important; }
.nesa-split--position-left .nesa-split__image-frame img { object-position: left center !important; }
.nesa-split--position-right .nesa-split__image-frame img { object-position: right center !important; }

.nesa-split__badge {
    position: absolute;
    z-index: 3;
    left: 18px;
    bottom: 18px;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 14px;
    color: #ffffff;
    background: var(--accent, var(--primary, #11151b));
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .15);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.nesa-split__content h2 {
    margin: 17px 0;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.05;
}

.nesa-split__text,
.nesa-split__text p {
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}

.nesa-split__text p:last-child { margin-bottom: 0; }

.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);
}

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

.nesa-split--dark .nesa-split__content h2 { color: #ffffff; }
.nesa-split--dark .nesa-split__text,
.nesa-split--dark .nesa-split__text p { color: rgba(255,255,255,.72); }
.nesa-split--dark .nesa-split__content li { border-color: rgba(255,255,255,.14); }
.nesa-split--dark .eyebrow.dark { color: var(--accent, #ff2338); }

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

.nesa-split--feature .nesa-split__grid {
    padding-block: clamp(12px, 2vw, 28px);
}

.nesa-split--feature.nesa-split--ratio-legacy .nesa-split__image-frame img {
    height: min(var(--split-image-height, 440px), 520px);
}

.nesa-split--feature .nesa-split__content {
    padding: clamp(12px, 2vw, 28px);
    border-left: 2px solid var(--primary);
}

@media (max-width: 900px) {
    .nesa-split__grid,
    .nesa-split--image-right .nesa-split__grid,
    .nesa-split--columns-media-wide .nesa-split__grid,
    .nesa-split--columns-text-wide .nesa-split__grid,
    .nesa-split--image-right.nesa-split--columns-media-wide .nesa-split__grid,
    .nesa-split--image-right.nesa-split--columns-text-wide .nesa-split__grid {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "media"
            "content";
        gap: 30px;
    }

    .nesa-split--image-right .nesa-split__grid {
        grid-template-areas:
            "content"
            "media";
    }

    .nesa-split--ratio-legacy .nesa-split__image-frame img,
    .nesa-split--feature.nesa-split--ratio-legacy .nesa-split__image-frame img {
        height: min(var(--split-image-height, 420px), 460px);
    }

    .nesa-split--ratio-custom .nesa-split__image-frame {
        height: min(var(--split-image-height, 420px), 70vh);
    }
}

@media (max-width: 600px) {
    .nesa-split--ratio-legacy .nesa-split__image-frame img,
    .nesa-split--feature.nesa-split--ratio-legacy .nesa-split__image-frame img {
        height: min(var(--split-image-height, 360px), 380px);
    }

    .nesa-split--ratio-original .nesa-split__image-frame img {
        max-height: 78vh;
        object-fit: contain !important;
    }
}


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

.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__number--custom {
    letter-spacing: 0.04em;
}

.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__number--custom {
    width: auto;
    min-width: 58px;
    padding: 0 10px;
    border-radius: 999px;
}

.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;
    }

    .nesa-steps--timeline .nesa-steps__number--custom {
        width: auto;
        min-width: 48px;
        padding: 0 8px;
        font-size: 10px;
    }
}

/* NESA 3.0 restored responsive card controls */
@media (min-width:1101px){.nesa-steps:not(.nesa-steps--timeline).nesa-columns-desktop-custom .nesa-steps__grid{grid-template-columns:repeat(var(--nesa-card-columns-desktop),minmax(0,1fr))!important}}
@media (min-width:701px) and (max-width:1100px){.nesa-steps:not(.nesa-steps--timeline).nesa-columns-tablet-custom .nesa-steps__grid{grid-template-columns:repeat(var(--nesa-card-columns-tablet),minmax(0,1fr))!important}}
@media (max-width:700px){.nesa-steps:not(.nesa-steps--timeline).nesa-columns-mobile-custom .nesa-steps__grid{grid-template-columns:repeat(var(--nesa-card-columns-mobile),minmax(0,1fr))!important}}


/* 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 .eyebrow {
    color: var(--nesa-cta-kicker-color, #ffffff);
}

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

    color: var(--nesa-cta-title-color, #ffffff);

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

.nesa-cta p {
    margin: 0;

    color: var(--nesa-cta-text-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: var(--nesa-cta-kicker-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%;
    }
}

/* ==========================================================
   GLOBAL CTA · reusable Light / Dark variants
   Version 2.6.0
========================================================== */

.nesa-cta--global-light,
.nesa-cta--global-dark {
    position: relative;
    isolation: isolate;
    min-height: 0;
    padding: clamp(74px, 7vw, 112px) 0;
    overflow: hidden;
}

.nesa-cta--global-light {
    background:
        radial-gradient(
            circle at 84% 24%,
            color-mix(in srgb, var(--primary, #df1728) 14%, transparent),
            transparent 30%
        ),
        linear-gradient(115deg, #f1f4f6 0%, #f6f8f9 52%, #edf1f3 100%);
    color: #10161d;
}

.nesa-cta--global-dark {
    background:
        radial-gradient(
            circle at 82% 30%,
            color-mix(in srgb, var(--primary, #df1728) 24%, transparent),
            transparent 28%
        ),
        linear-gradient(115deg, #0d1319 0%, #111820 58%, #171e25 100%);
    color: #ffffff;
}

.nesa-cta--global-light .nesa-cta__media,
.nesa-cta--global-dark .nesa-cta__media {
    inset: 0 0 0 auto;
    width: min(62vw, 980px);
    opacity: var(--nesa-cta-media-opacity, .36);
    pointer-events: none;
    z-index: 0;
}

.nesa-cta--global-light .nesa-cta__media img,
.nesa-cta--global-dark .nesa-cta__media img {
    object-fit: cover;
    object-position: var(--nesa-cta-media-position, right center);
}

.nesa-cta--global-light .nesa-cta__overlay,
.nesa-cta--global-dark .nesa-cta__overlay {
    z-index: 1;
}

.nesa-cta--global-light .nesa-cta__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(241, 244, 246, .99) 0%,
            rgba(241, 244, 246, .96) 42%,
            rgba(241, 244, 246, .78) 60%,
            rgba(241, 244, 246, .10) 100%
        );
}

.nesa-cta--global-dark .nesa-cta__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(13, 19, 25, .99) 0%,
            rgba(13, 19, 25, .95) 43%,
            rgba(13, 19, 25, .72) 63%,
            rgba(13, 19, 25, .18) 100%
        );
}

.nesa-cta--global-light .nesa-cta__inner,
.nesa-cta--global-dark .nesa-cta__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(34px, 6vw, 86px);
}

.nesa-cta--global-light .nesa-cta__content,
.nesa-cta--global-dark .nesa-cta__content {
    max-width: 780px;
}

.nesa-cta--global-light .eyebrow,
.nesa-cta--global-dark .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--nesa-cta-kicker-color, var(--primary, #df1728));
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.nesa-cta--global-light .eyebrow::after,
.nesa-cta--global-dark .eyebrow::after {
    content: "";
    width: 38px;
    height: 2px;
    background: currentColor;
}

.nesa-cta--global-light h2,
.nesa-cta--global-dark h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(38px, 4.4vw, 66px);
    line-height: 1.01;
    letter-spacing: -.045em;
}

.nesa-cta--global-light h2 {
    color: var(--nesa-cta-title-color, #10161d);
}

.nesa-cta--global-dark h2 {
    color: var(--nesa-cta-title-color, #ffffff);
}

.nesa-cta--global-light .nesa-cta__text,
.nesa-cta--global-dark .nesa-cta__text {
    max-width: 650px;
    margin-top: 22px;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.65;
}

.nesa-cta--global-light .nesa-cta__text,
.nesa-cta--global-light .nesa-cta__text p {
    color: var(--nesa-cta-text-color, #4a5661);
}

.nesa-cta--global-dark .nesa-cta__text,
.nesa-cta--global-dark .nesa-cta__text p {
    color: var(--nesa-cta-text-color, rgba(255, 255, 255, .72));
}

.nesa-cta--global-light .nesa-cta__text p,
.nesa-cta--global-dark .nesa-cta__text p {
    margin: 0;
    font: inherit;
    line-height: inherit;
}

.nesa-cta--global-light .nesa-cta__actions,
.nesa-cta--global-dark .nesa-cta__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
    padding-bottom: 4px;
}

.nesa-cta--global-light .button,
.nesa-cta--global-dark .button {
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.nesa-cta--global-light .button.primary,
.nesa-cta--global-dark .button.primary {
    background: var(--primary, #df1728);
    border-color: var(--primary, #df1728);
    color: #ffffff;
}

.nesa-cta--global-light .button.outline,
.nesa-cta--global-light .button.ghost {
    background: rgba(255, 255, 255, .55);
    border-color: rgba(16, 22, 29, .22);
    color: #10161d;
}

.nesa-cta--global-dark .button.outline,
.nesa-cta--global-dark .button.ghost {
    background: rgba(255, 255, 255, .02);
    border-color: rgba(255, 255, 255, .28);
    color: #ffffff;
}

.nesa-cta--global-light .button:hover,
.nesa-cta--global-dark .button:hover {
    transform: translateY(-2px);
}

.nesa-cta--global-light .button.primary:hover,
.nesa-cta--global-dark .button.primary:hover {
    box-shadow: 0 16px 32px color-mix(in srgb, var(--primary, #df1728) 28%, transparent);
}

@media (max-width: 980px) {
    .nesa-cta--global-light,
    .nesa-cta--global-dark {
        padding: 72px 0;
    }

    .nesa-cta--global-light .nesa-cta__inner,
    .nesa-cta--global-dark .nesa-cta__inner {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 30px;
    }

    .nesa-cta--global-light .nesa-cta__actions,
    .nesa-cta--global-dark .nesa-cta__actions {
        justify-content: flex-start;
    }

    .nesa-cta--global-light .nesa-cta__media,
    .nesa-cta--global-dark .nesa-cta__media {
        width: 78vw;
    }
}

@media (max-width: 650px) {
    .nesa-cta--global-light,
    .nesa-cta--global-dark {
        padding: 58px 0 62px;
    }

    .nesa-cta--global-light .nesa-cta__overlay,
    .nesa-cta--global-dark .nesa-cta__overlay {
        background: rgba(0, 0, 0, 0);
    }

    .nesa-cta--global-light .nesa-cta__media,
    .nesa-cta--global-dark .nesa-cta__media {
        width: 100%;
        opacity: calc(var(--nesa-cta-media-opacity, .36) * .72);
    }

    .nesa-cta--global-light .nesa-cta__actions,
    .nesa-cta--global-dark .nesa-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .nesa-cta--global-light .button,
    .nesa-cta--global-dark .button {
        width: 100%;
        justify-content: space-between;
    }
}


/* 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, 1180px);
}

.nesa-rich-text--wide .nesa-rich-text__content {
    max-width: none;
}

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

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

.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: 1020px;
    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;
    }
}

/* ==========================================================
   NESA CMS 2.1.17
   EDITABLE RICH-TEXT CALLOUT
========================================================== */

.nesa-rich-text__heading > 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__callout {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 520px;
    margin-top: 26px;
    padding: 16px 18px;
    border: 1px solid #e1e6ec;
    border-radius: 14px;
    background: #f8fafc;
    color: #344252;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.5;
}

.nesa-rich-text__callout-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    color: var(--primary, #df1728);
}

.nesa-rich-text__callout-icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

.nesa-rich-text--dark .nesa-rich-text__callout {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.88);
}

.nesa-rich-text--legal-wide .nesa-rich-text__heading {
    display: none;
}

@media (max-width: 700px) {
    .nesa-rich-text__heading > h2 {
        font-size: clamp(30px, 9vw, 40px);
    }

    .nesa-rich-text__callout {
        max-width: none;
        margin-top: 20px;
        padding: 14px 15px;
    }
}

/* ==========================================================
   NESA CMS 2.1.40
   LAYOUT STUDIO RICH-TEXT DESIGN CONTROLS
========================================================== */

.nesa-rich-text--heading-split .nesa-rich-text__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .58fr);
    gap: clamp(28px, 5vw, 68px);
    align-items: end;
}

.nesa-rich-text--heading-split .nesa-rich-text__heading > h2,
.nesa-rich-text--heading-split .nesa-rich-text__callout {
    margin-top: 0;
    margin-bottom: 0;
}

.nesa-rich-text--columns-2 .nesa-rich-text__content {
    columns: 2;
}

.nesa-rich-text--gap-compact .nesa-rich-text__content {
    column-gap: 28px;
}

.nesa-rich-text--gap-standard .nesa-rich-text__content {
    column-gap: clamp(34px, 5vw, 56px);
}

.nesa-rich-text--gap-wide .nesa-rich-text__content {
    column-gap: clamp(48px, 7vw, 82px);
}

.nesa-rich-text--columns-2 .nesa-rich-text__content > * {
    break-inside: avoid;
}

.nesa-rich-text--callout-line .nesa-rich-text__callout {
    border: 0;
    border-left: 2px solid var(--section-accent, var(--primary, #df1728));
    border-radius: 0;
    background: transparent;
    padding: 16px 0 16px 22px;
}

.nesa-rich-text--callout-minimal .nesa-rich-text__callout {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
}

.nesa-rich-text--callout-minimal .nesa-rich-text__callout-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.nesa-rich-text--callout-minimal .nesa-rich-text__callout-icon svg {
    width: 28px;
    height: 28px;
}

@media (max-width: 820px) {
    .nesa-rich-text--heading-split .nesa-rich-text__heading {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .nesa-rich-text--columns-2 .nesa-rich-text__content {
        columns: 1;
    }
}

/* NESA CMS · Legal tables */
.nesa-rich-text__content table{
    width:100%;
    margin:22px 0 28px;
    border-collapse:collapse;
    border-spacing:0;
    font-size:15px;
    line-height:1.55;
}
.nesa-rich-text__content th,
.nesa-rich-text__content td{
    padding:13px 14px;
    border:1px solid #e1e6eb;
    text-align:left;
    vertical-align:top;
}
.nesa-rich-text__content th{
    background:#f4f6f8;
    color:#18202a;
    font-weight:760;
}
.nesa-rich-text__content tbody tr:nth-child(even) td{background:#fbfcfd}
@media(max-width:700px){
    .nesa-rich-text__content table{display:block;overflow-x:auto;white-space:normal;font-size:14px}
    .nesa-rich-text__content th,.nesa-rich-text__content td{min-width:150px;padding:11px 12px}
}


/* 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;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.nesa-faq__item:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));box-shadow:0 12px 30px rgba(20,30,44,.055)}
.nesa-faq__item[open]{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));box-shadow:0 14px 36px rgba(20,30,44,.065)}
.nesa-faq__item summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px 22px;cursor:pointer;list-style:none;transition:background .2s ease}
.nesa-faq__item summary:hover{background:color-mix(in srgb,var(--primary) 3.5%,#fff)}
.nesa-faq__item[open] summary{background:color-mix(in srgb,var(--primary) 4.5%,#fff)}
.nesa-faq__item summary::-webkit-details-marker{display:none}
.nesa-faq__index{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.06em}
.nesa-faq__item summary strong{font-size:17px;line-height:1.35}
.nesa-faq__action{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:134px;color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.01em;white-space:nowrap}
.nesa-faq__action svg{width:20px;height:20px;fill:currentColor;transition:transform .22s ease}
.nesa-faq__action-label--hide{display:none}
.nesa-faq__item[open] .nesa-faq__action-label--show{display:none}
.nesa-faq__item[open] .nesa-faq__action-label--hide{display:inline}
.nesa-faq__item[open] .nesa-faq__action svg{transform:rotate(180deg)}
.nesa-faq__answer{padding:0 22px 22px 78px;color:var(--muted);line-height:1.68}
.nesa-faq__answer>:first-child{margin-top:0}
.nesa-faq__answer>:last-child{margin-bottom:0}
.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:minmax(0,1fr) auto}
.nesa-faq--cards .nesa-faq__index{display:none}
.nesa-faq--cards .nesa-faq__answer{padding-left:22px}
.nesa-faq--minimal .nesa-faq__item{border-width:0 0 1px;border-radius:0;box-shadow:none}
.nesa-faq--minimal .nesa-faq__item:hover,.nesa-faq--minimal .nesa-faq__item[open]{box-shadow:none}
.nesa-faq--minimal .nesa-faq__item summary{padding-left:0;padding-right:0}
.nesa-faq--minimal .nesa-faq__item summary:hover,.nesa-faq--minimal .nesa-faq__item[open] summary{background:transparent}
.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 minmax(0,1fr) auto;gap:10px;padding:16px}
 .nesa-faq__item summary strong{font-size:15px}
 .nesa-faq__action{min-width:90px;gap:5px;font-size:10px}
 .nesa-faq__answer{padding:0 16px 18px 56px;font-size:15px}
 .nesa-faq--cards .nesa-faq__answer{padding-left:16px}
 .nesa-faq--minimal .nesa-faq__answer{padding-left:40px}
}
@media(max-width:480px){
 .nesa-faq__action{min-width:66px}
 .nesa-faq__action-label--show{font-size:0}
 .nesa-faq__action-label--show::after{content:"Odgovor";font-size:10px}
 .nesa-faq__action-label--hide{font-size:0}
 .nesa-faq__action-label--hide::after{content:"Zatvori";font-size:10px}
 .nesa-faq__action svg{width:18px;height:18px}
}


/* stats/style.css */
.nesa-stats{background:#f4f5f7}.nesa-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.nesa-stats__grid article{min-width:0;padding:34px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius,14px);text-align:center;overflow:hidden}.nesa-stats__grid strong{display:flex;align-items:center;justify-content:center;min-height:1.15em;max-width:100%;color:var(--primary);font-size:clamp(30px,var(--nesa-stat-size,64px),64px);line-height:1.02;font-family:var(--font-heading);font-weight:800;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere}.nesa-stats__grid span{display:block;margin-top:14px;color:var(--muted);font-weight:700;line-height:1.4}.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)}@media(max-width:1100px){.nesa-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.nesa-stats__grid{grid-template-columns:1fr}.nesa-stats__grid strong{font-size:clamp(30px,var(--nesa-stat-size,58px),58px)}}

/* gallery/style.css */
.nesa-gallery {
    --nesa-gallery-cols-desktop: 3;
    --nesa-gallery-cols-tablet: 2;
    --nesa-gallery-cols-mobile: 1;
    --nesa-gallery-gap: 16px;
    --nesa-gallery-radius: 16px;
    --nesa-gallery-shadow: 0 10px 28px rgba(16, 31, 54, .10);
    --nesa-gallery-ratio: 4 / 3;
    background: var(--surface, #fff);
}

.nesa-gallery__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
}

.nesa-gallery__head > div:first-child {
    max-width: 780px;
}

.nesa-gallery__count {
    display: grid;
    flex: 0 0 auto;
    justify-items: end;
    color: var(--theme-primary, #102f5a);
}

.nesa-gallery__count strong {
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 850;
    line-height: .9;
    letter-spacing: -.05em;
}

.nesa-gallery__count small {
    margin-top: 7px;
    color: var(--muted, #687587);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

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

.nesa-gallery__card {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: var(--nesa-gallery-radius);
    transform: translateZ(0);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.nesa-gallery__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: var(--nesa-gallery-ratio);
    border-radius: inherit;
    background: #edf1f5;
}

.nesa-gallery-ratio--natural .nesa-gallery__media {
    aspect-ratio: auto;
}

.nesa-gallery__open,
.nesa-gallery__static {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
}

.nesa-gallery__open {
    cursor: zoom-in;
}

.nesa-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .52s cubic-bezier(.2, .75, .2, 1), filter .35s ease;
}

.nesa-gallery-ratio--natural img {
    height: auto;
}

.nesa-gallery__zoom {
    position: absolute;
    z-index: 4;
    right: 14px;
    top: 14px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: var(--theme-accent, var(--theme-primary, #102f5a));
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    box-shadow: 0 9px 24px rgba(0,0,0,.18);
    opacity: .94;
    transform: scale(.92);
    transition: transform .25s ease, opacity .25s ease;
}

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

.nesa-gallery__caption {
    font-size: 13px;
    line-height: 1.5;
}

.nesa-gallery__caption--overlay {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 44px 18px 16px;
    color: #fff;
    background: linear-gradient(transparent, rgba(6, 13, 24, .84));
    pointer-events: none;
}

.nesa-gallery__caption--below {
    padding: 14px 16px 16px;
    color: var(--text, #172234);
}

.nesa-gallery__empty {
    padding: 28px;
    color: var(--muted, #687587);
    background: #f7f9fb;
    border: 1px dashed #d8dee7;
    border-radius: 16px;
    text-align: center;
}

/* Theme 1: Minimal */
.nesa-gallery-theme--minimal .nesa-gallery__card {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.nesa-gallery-theme--minimal .nesa-gallery__media {
    border: 1px solid rgba(16, 47, 90, .09);
}

.nesa-gallery-theme--minimal .nesa-gallery__caption--below {
    padding-left: 2px;
    padding-right: 2px;
}

/* Theme 2: Soft Cards */
.nesa-gallery-theme--soft-card .nesa-gallery__card {
    background: #fff;
    border: 1px solid rgba(16, 47, 90, .10);
    box-shadow: var(--nesa-gallery-shadow);
}

/* Theme 3: Premium Overlay */
.nesa-gallery-theme--premium-overlay .nesa-gallery__card {
    background: #0b1d34;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: var(--nesa-gallery-shadow);
}

.nesa-gallery-theme--premium-overlay .nesa-gallery__media::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    background: linear-gradient(135deg, rgba(9, 28, 52, .08), rgba(9, 28, 52, .18));
    pointer-events: none;
}

.nesa-gallery-theme--premium-overlay .nesa-gallery__caption--below {
    color: #fff;
    background: #0b1d34;
}

/* Hover */
.nesa-gallery-hover--zoom .nesa-gallery__card:hover img,
.nesa-gallery-hover--zoom-lift .nesa-gallery__card:hover img {
    transform: scale(1.055);
}

.nesa-gallery-hover--lift .nesa-gallery__card:hover,
.nesa-gallery-hover--zoom-lift .nesa-gallery__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 46px rgba(16, 31, 54, .18);
}

.nesa-gallery__card:hover .nesa-gallery__zoom {
    opacity: 1;
    transform: scale(1);
}

/* Layout: masonry */
.nesa-gallery--masonry .nesa-gallery__grid {
    display: block;
    columns: var(--nesa-gallery-cols-desktop);
    column-gap: var(--nesa-gallery-gap);
}

.nesa-gallery--masonry .nesa-gallery__card {
    width: 100%;
    margin-bottom: var(--nesa-gallery-gap);
    break-inside: avoid;
}

.nesa-gallery--masonry .nesa-gallery__media {
    aspect-ratio: auto;
}

.nesa-gallery--masonry img {
    height: auto;
}

/* Layout: featured */
.nesa-gallery--featured .nesa-gallery__grid {
    grid-template-columns: repeat(var(--nesa-gallery-cols-desktop), minmax(0, 1fr));
}

.nesa-gallery--featured .nesa-gallery__card:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

.nesa-gallery--featured .nesa-gallery__card:first-child .nesa-gallery__media {
    height: 100%;
    min-height: 100%;
}

/* Lightbox */
.nesa-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
    color: #fff;
    background: rgba(5, 10, 18, .95);
    backdrop-filter: blur(8px);
}

.nesa-gallery-lightbox.is-open { display: flex; }

.nesa-gallery-lightbox__stage {
    position: relative;
    display: flex;
    width: min(1280px, 100%);
    height: min(88vh, 920px);
    align-items: center;
    justify-content: center;
}

.nesa-gallery-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 26px 70px rgba(0,0,0,.42);
}

.nesa-gallery-lightbox__close,
.nesa-gallery-lightbox__prev,
.nesa-gallery-lightbox__next {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(10, 18, 30, .76);
    border: 1px solid rgba(255,255,255,.24);
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.nesa-gallery-lightbox__close {
    top: 0;
    right: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 28px;
}

.nesa-gallery-lightbox__prev,
.nesa-gallery-lightbox__next {
    top: 50%;
    width: 48px;
    height: 64px;
    border-radius: 12px;
    font-size: 30px;
    transform: translateY(-50%);
}

.nesa-gallery-lightbox__prev { left: 10px; }
.nesa-gallery-lightbox__next { right: 10px; }

.nesa-gallery-lightbox__meta {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: min(760px, calc(100% - 120px));
    padding: 11px 16px;
    color: #fff;
    background: rgba(8, 15, 25, .72);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    text-align: center;
    transform: translateX(-50%);
    backdrop-filter: blur(9px);
}

.nesa-gallery-lightbox__meta:empty { display: none; }
.nesa-gallery-lightbox__caption { font-size: 14px; }
.nesa-gallery-lightbox__counter { display: block; margin-top: 4px; font-size: 11px; opacity: .72; }
.nesa-gallery-lightbox-open { overflow: hidden; }

@media (max-width: 900px) {
    .nesa-gallery__grid,
    .nesa-gallery--featured .nesa-gallery__grid {
        grid-template-columns: repeat(var(--nesa-gallery-cols-tablet), minmax(0, 1fr));
    }

    .nesa-gallery--masonry .nesa-gallery__grid {
        columns: var(--nesa-gallery-cols-tablet);
    }

    .nesa-gallery--featured .nesa-gallery__card:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media (max-width: 620px) {
    .nesa-gallery__head {
        align-items: flex-start;
    }

    .nesa-gallery__count { display: none; }

    .nesa-gallery__grid,
    .nesa-gallery--featured .nesa-gallery__grid {
        grid-template-columns: repeat(var(--nesa-gallery-cols-mobile), minmax(0, 1fr));
    }

    .nesa-gallery--masonry .nesa-gallery__grid {
        columns: var(--nesa-gallery-cols-mobile);
    }

    .nesa-gallery--featured .nesa-gallery__card:first-child {
        grid-column: 1 / -1;
    }

    .nesa-gallery-lightbox { padding: 12px; }
    .nesa-gallery-lightbox__stage { height: 90vh; }
    .nesa-gallery-lightbox__prev,
    .nesa-gallery-lightbox__next { width: 42px; height: 54px; }
    .nesa-gallery-lightbox__meta { width: calc(100% - 96px); }
}


/* NESA CMS 2.1.12 · progressive gallery reveal */
.nesa-gallery__card[hidden] {
    display: none !important;
}

.nesa-gallery__card--deferred.is-revealed {
    animation: nesaGalleryReveal .38s ease both;
}

.nesa-gallery__more-wrap {
    display: flex;
    justify-content: center;
    padding-top: clamp(20px, 3vw, 34px);
}

.nesa-gallery__more {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 20px;
    color: var(--theme-primary, #102f5a);
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--theme-primary, #102f5a) 20%, transparent);
    border-radius: 999px;
    box-shadow: 0 10px 26px rgba(16, 31, 54, .08);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.nesa-gallery__more:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--theme-accent, var(--theme-primary, #102f5a)) 45%, transparent);
    box-shadow: 0 15px 32px rgba(16, 31, 54, .13);
}

.nesa-gallery__more small {
    display: inline-grid;
    min-width: 28px;
    height: 28px;
    place-items: center;
    padding: 0 7px;
    color: #fff;
    background: var(--theme-accent, var(--theme-primary, #102f5a));
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
}

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


/* image-hotspots/style.css */
.nesa-image-hotspots{position:relative;background:#fff}.nesa-image-hotspots__head{max-width:820px;margin:0 0 34px}.nesa-image-hotspots__head>span,.nesa-image-hotspots__panel-kicker{display:block;color:var(--accent,#c51e2d);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nesa-image-hotspots__head h2{margin:9px 0 12px;font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.04em}.nesa-image-hotspots__head>div{color:#69727d;font-size:17px;line-height:1.7}.nesa-image-hotspots__stage{position:relative;max-width:1180px;margin:0 auto;border:1px solid #edf0f2;background:#fff;overflow:hidden}.nesa-image-hotspots__stage>img{display:block;width:100%;height:auto}.nesa-image-hotspots__pin{position:absolute;top:var(--hotspot-top);left:var(--hotspot-left);transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#15181c;color:#fff;box-shadow:0 9px 28px rgba(0,0,0,.2);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;z-index:2}.nesa-image-hotspots__pin span{font-size:25px;font-weight:300;line-height:1;transform:translateY(-1px)}.nesa-image-hotspots__pin:hover,.nesa-image-hotspots__pin:focus-visible{background:var(--accent,#c51e2d);transform:translate(-50%,-50%) scale(1.08);box-shadow:0 12px 32px rgba(197,30,45,.28);outline:none}.nesa-image-hotspots__modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}.nesa-image-hotspots__modal[hidden]{display:none}.nesa-image-hotspots__backdrop{position:absolute;inset:0;border:0;background:rgba(11,17,24,.68);backdrop-filter:blur(4px);cursor:pointer}.nesa-image-hotspots__panel{position:relative;z-index:1;width:min(520px,100%);padding:42px 44px 40px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28);animation:nesaHotspotIn .22s ease}.nesa-image-hotspots__panel:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--accent,#c51e2d)}.nesa-image-hotspots__panel h3{margin:10px 42px 14px 0;font-size:clamp(26px,4vw,36px);line-height:1.05;letter-spacing:-.035em}.nesa-image-hotspots__panel-copy{color:#56606c;font-size:17px;line-height:1.72}.nesa-image-hotspots__panel-copy p{margin:0}.nesa-image-hotspots__close{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid #e5e8eb;border-radius:50%;background:#f7f8f9;color:#1b1e22;font-size:25px;line-height:1;cursor:pointer}.nesa-image-hotspots__close:hover{background:#1b1e22;color:#fff}.nesa-image-hotspots__mobile-list{display:none}.nesa-image-hotspots__empty{padding:24px;border:1px dashed #ccd3da;background:#fafbfc;color:#68717c}@keyframes nesaHotspotIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:760px){.nesa-image-hotspots__pin{display:none}.nesa-image-hotspots__stage{border-radius:0}.nesa-image-hotspots__mobile-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}.nesa-image-hotspots__mobile-list button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid #e4e8eb;background:#fff;text-align:left;cursor:pointer}.nesa-image-hotspots__mobile-list button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#15181c;color:#fff;font-size:18px;flex:0 0 auto}.nesa-image-hotspots__mobile-list button strong{font-size:14px}.nesa-image-hotspots__panel{padding:36px 24px 30px}.nesa-image-hotspots__head{margin-bottom:22px}}
.nesa-hotspot-open{overflow:hidden}

/* ITC V5.19.9 · hotspot interaction hardening */
.nesa-image-hotspots__stage>img{pointer-events:none}
.nesa-image-hotspots__pin,
.nesa-image-hotspots__mobile-list button{pointer-events:auto!important;touch-action:manipulation}
.nesa-image-hotspots__modal{isolation:isolate}


/* video/style.css */
/* ==========================================================
   NESA COMPONENT: VIDEO
   Version 2.1.24
========================================================== */
.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{position:relative;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,.nesa-video__media>video{display:block;width:100%;height:100%;border:0;object-fit:cover}.nesa-video__poster{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;background:#050607;color:#fff;border:0;cursor:pointer;text-align:left}.nesa-video__poster>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.nesa-video__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48));transition:background .25s ease}.nesa-video__play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;transform:translate(-50%,-50%);background:rgba(255,255,255,.95);color:var(--primary,#df1728);border-radius:50%;box-shadow:0 18px 45px rgba(0,0,0,.24);transition:transform .22s ease}.nesa-video__play svg{width:30px;height:30px;margin-left:4px}.nesa-video__play-label{position:absolute;left:22px;bottom:20px;padding:7px 10px;background:rgba(0,0,0,.52);color:#fff;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}.nesa-video__poster:hover>img{transform:scale(1.025)}.nesa-video__poster:hover .nesa-video__shade{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.38))}.nesa-video__poster:hover .nesa-video__play{transform:translate(-50%,-50%) scale(1.07)}.nesa-video__poster:focus-visible{outline:3px solid var(--accent,#ff5b24);outline-offset:-3px}.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}.nesa-video__play{width:62px;height:62px}.nesa-video__play svg{width:26px;height:26px}}

.nesa-video-legacy-inline{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#050607;border-radius:var(--card-radius,16px)}.nesa-video-legacy-inline iframe{display:block;width:100%;height:100%;border:0}


/* testimonials/style.css */
.nesa-testimonials{background:#f4f5f7}.nesa-testimonials .section-head{max-width:780px}.nesa-testimonials__intro{max-width:720px;color:var(--muted);line-height:1.75}.nesa-testimonials__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nesa-review-card{display:flex;flex-direction:column;min-height:100%;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--card-radius,18px);box-shadow:0 18px 50px rgba(16,24,40,.06)}.nesa-review-card__top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.nesa-review-card__top>img{width:52px;height:52px;object-fit:cover;border-radius:50%}.nesa-testimonials__rating{color:#e2a621;letter-spacing:2px;font-size:13px;line-height:1}.nesa-testimonials__rating span{color:#d8dce2}.nesa-review-source{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 10px;border-radius:999px;background:#f3f5f8;color:#4b5563;font-size:12px;font-weight:700;text-decoration:none}.nesa-review-source:hover{text-decoration:none;filter:brightness(.97)}.nesa-review-source__dot{width:8px;height:8px;border-radius:50%;background:#697386}.nesa-review-source--google .nesa-review-source__dot{background:#4285f4}.nesa-review-source--facebook .nesa-review-source__dot{background:#1877f2}.nesa-review-source--instagram .nesa-review-source__dot{background:#d62976}.nesa-review-source--olx .nesa-review-source__dot{background:#23e5db}.nesa-review-card blockquote{flex:1;margin:24px 0;color:var(--ink);font-size:17px;line-height:1.7}.nesa-review-card__author{display:flex;justify-content:space-between;gap:16px;align-items:end;padding-top:18px;border-top:1px solid var(--line)}.nesa-review-card__author strong,.nesa-review-card__author span{display:block}.nesa-review-card__author span,.nesa-review-card__author time{margin-top:4px;color:var(--muted);font-size:12px}.nesa-testimonials--featured .nesa-testimonials__grid{grid-template-columns:1fr}.nesa-testimonials--featured .nesa-review-card{max-width:900px;padding:44px}.nesa-testimonials--featured blockquote{font-size:clamp(22px,3vw,34px)}.nesa-testimonials--dark{background:var(--dark);color:#fff}.nesa-testimonials--dark .section-head h2{color:#fff}.nesa-testimonials--dark .nesa-testimonials__intro{color:rgba(255,255,255,.66)}.nesa-testimonials--dark .nesa-review-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}.nesa-testimonials--dark blockquote,.nesa-testimonials--dark .nesa-review-card__author strong{color:#fff}.nesa-testimonials--dark .nesa-review-card__author{border-color:rgba(255,255,255,.12)}.nesa-testimonials--dark .nesa-review-card__author span,.nesa-testimonials--dark .nesa-review-card__author time{color:rgba(255,255,255,.55)}@media(max-width:900px){.nesa-testimonials__grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.nesa-testimonials__grid{grid-template-columns:1fr}.nesa-review-card{padding:22px}}

/* NESA 3.0 restored responsive card controls */
@media (min-width:1101px){.nesa-testimonials.nesa-columns-desktop-custom .nesa-testimonials__grid{grid-template-columns:repeat(var(--nesa-card-columns-desktop),minmax(0,1fr))!important}}
@media (min-width:701px) and (max-width:1100px){.nesa-testimonials.nesa-columns-tablet-custom .nesa-testimonials__grid{grid-template-columns:repeat(var(--nesa-card-columns-tablet),minmax(0,1fr))!important}}
@media (max-width:700px){.nesa-testimonials.nesa-columns-mobile-custom .nesa-testimonials__grid{grid-template-columns:repeat(var(--nesa-card-columns-mobile),minmax(0,1fr))!important}}


/* logos/style.css */
.nesa-logos{background:var(--surface,#fff);overflow:hidden}.nesa-logos__head{max-width:820px}.nesa-logos__head p{max-width:760px;margin:14px 0 0;color:var(--muted,#66717b);font-size:clamp(15px,1.4vw,18px);line-height:1.65}.nesa-logos__grid{display:grid;grid-template-columns:repeat(var(--nesa-logos-columns,4),minmax(0,1fr));gap:14px}.nesa-logos__item{position:relative;display:grid;place-items:center;align-content:center;gap:12px;min-height:132px;padding:22px;text-decoration:none;text-align:center;color:var(--text,#1f2937);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.nesa-logos__image-wrap{display:grid;place-items:center;width:100%;min-height:calc(var(--nesa-logos-height,58px) + 8px)}.nesa-logos__item img{display:block;max-width:min(78%,190px);width:auto;height:auto;max-height:var(--nesa-logos-height,58px);object-fit:contain}.nesa-logos__name{display:block;font-size:14px;font-weight:800;line-height:1.28;letter-spacing:-.015em}.nesa-logos__item.no-logo .nesa-logos__name{font-size:clamp(15px,1.25vw,18px)}

/* Premium cards */
.nesa-logos--brand-cards .nesa-logos__item{min-height:150px;background:var(--surface,#fff);border:1px solid var(--line,#dde2e6);border-radius:calc(var(--card-radius,12px) + 4px);box-shadow:0 10px 28px rgba(15,31,49,.055)}.nesa-logos--brand-cards .nesa-logos__item:before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--primary,#0b3b75),var(--accent,#fe5500));opacity:.72}.nesa-logos--brand-cards .nesa-logos__item:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary,#0b3b75) 28%,var(--line,#dde2e6));box-shadow:0 18px 38px rgba(15,31,49,.10)}

/* Clean grid */
.nesa-logos--grid .nesa-logos__grid{gap:0;border:1px solid var(--line,#dde2e6);border-radius:var(--card-radius,12px);overflow:hidden;background:var(--surface,#fff)}.nesa-logos--grid .nesa-logos__item{border-right:1px solid var(--line,#dde2e6);border-bottom:1px solid var(--line,#dde2e6);background:transparent}.nesa-logos--grid .nesa-logos__item:hover{background:color-mix(in srgb,var(--primary,#0b3b75) 4%,#fff)}

/* Monochrome wall */
.nesa-logos--monochrome{background:color-mix(in srgb,var(--background,#f5f6f7) 85%,#fff)}.nesa-logos--monochrome .nesa-logos__item{min-height:142px;border:1px solid color-mix(in srgb,var(--line,#dde2e6) 78%,transparent);border-radius:var(--card-radius,12px);background:rgba(255,255,255,.72)}.nesa-logos--monochrome .nesa-logos__item img{filter:grayscale(1);opacity:.56;transition:filter .2s ease,opacity .2s ease,transform .2s ease}.nesa-logos--monochrome .nesa-logos__item:hover img{filter:none;opacity:1;transform:scale(1.03)}.nesa-logos--monochrome .nesa-logos__name{color:var(--muted,#66717b)}

/* Horizontal strip */
.nesa-logos--strip .nesa-logos__grid{display:flex;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;border-top:1px solid var(--line,#dde2e6);border-bottom:1px solid var(--line,#dde2e6);scrollbar-width:thin}.nesa-logos--strip .nesa-logos__item{flex:0 0 220px;min-height:126px;border-right:1px solid var(--line,#dde2e6);scroll-snap-align:start}.nesa-logos--strip .nesa-logos__item:hover{background:color-mix(in srgb,var(--accent,#fe5500) 5%,#fff)}

.nesa-logos--display-logo .nesa-logos__item,.nesa-logos--display-auto .nesa-logos__item.has-logo{gap:0}

@media(max-width:980px){.nesa-logos__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.nesa-logos__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nesa-logos__item{min-height:112px;padding:16px 12px}.nesa-logos--brand-cards .nesa-logos__item{min-height:126px}.nesa-logos--strip .nesa-logos__grid{display:flex}.nesa-logos--strip .nesa-logos__item{flex-basis:180px}.nesa-logos__name{font-size:13px}.nesa-logos__item.no-logo .nesa-logos__name{font-size:15px}}
@media(max-width:420px){.nesa-logos__grid{grid-template-columns:1fr 1fr}.nesa-logos--strip .nesa-logos__grid{display:flex}.nesa-logos--strip .nesa-logos__item{flex-basis:165px}}

/* NESA CMS 4.1.10 · logo showcase action + editable internal page modal */
.nesa-logos__actions{display:flex;justify-content:flex-start;margin-top:28px}.nesa-logos__button{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 18px;border-radius:999px;background:var(--primary,#c51e2d);color:#fff!important;font-size:.78rem;font-weight:800;text-decoration:none}.nesa-logos__button:hover{transform:translateY(-1px)}
.nesa-page-modal{width:min(1120px,calc(100vw - 36px));max-width:1120px;height:min(84vh,900px);padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(10,18,26,.28)}.nesa-page-modal::backdrop{background:rgba(12,18,24,.72);backdrop-filter:blur(4px)}.nesa-page-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:0 18px 0 24px;border-bottom:1px solid #e2e6e9;background:#fff}.nesa-page-modal__bar strong{font-size:.86rem;letter-spacing:.01em}.nesa-page-modal__close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#f1f3f5;color:#151c22;font-size:1.25rem;cursor:pointer}.nesa-page-modal__frame{display:block;width:100%;height:calc(100% - 62px);border:0;background:#fff}.nesa-page-modal.is-loading .nesa-page-modal__frame{opacity:.35}.nesa-page-modal__loader{position:absolute;left:50%;top:50%;translate:-50% -50%;display:none;padding:10px 14px;border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.14);font-size:.76rem;font-weight:800}.nesa-page-modal.is-loading .nesa-page-modal__loader{display:block}.nesa-page-modal-wrap{position:relative;height:calc(100% - 62px)}
@media(max-width:700px){.nesa-logos__actions{margin-top:22px}.nesa-page-modal{width:calc(100vw - 18px);height:92vh;border-radius:13px}.nesa-page-modal__bar{min-height:56px;padding:0 12px 0 16px}.nesa-page-modal-wrap{height:calc(100% - 56px)}.nesa-page-modal__frame{height:100%}}

/* NESA CMS 4.1.11 · robust internal-page modal + native partner search */
.nesa-modal-open{overflow:hidden}
.nesa-page-modal__content{height:100%;overflow:auto;overscroll-behavior:contain;background:#fff}
.nesa-page-modal__content>.itc-partners-page-list{min-height:100%;padding-top:28px!important}
.nesa-page-modal__content .itc-partners-page-list .nesa-rich-text__inner{width:min(calc(100% - 36px),1040px)!important;margin-inline:auto!important}
.nesa-page-modal__error{margin:32px;padding:20px;border:1px solid #e1e5e8;border-radius:12px;background:#f8fafb;color:#45515a}
.nesa-page-modal__error a{color:var(--primary,#c51e2d);font-weight:800}
.itc-partner-search input:focus{outline:2px solid color-mix(in srgb,var(--primary,#c51e2d) 38%,transparent);outline-offset:2px}
.itc-partners-page-list li[hidden]{display:none!important}
html.nesa-modal-document .site-header,html.nesa-modal-document .site-footer,html.nesa-modal-document footer{display:none!important}
html.nesa-modal-document body{padding-top:0!important}
@media(max-width:700px){.nesa-page-modal__content>.itc-partners-page-list{padding-top:18px!important}.nesa-page-modal__content .itc-partners-page-list .nesa-rich-text__inner{width:min(calc(100% - 24px),1040px)!important}}


/* 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 CMS CONTACT INFO · theme-aware */
.nesa-contact-info{
    position:relative;
    overflow:hidden;
    padding:clamp(58px,7vw,84px) 0;
    background:color-mix(in srgb,var(--theme-primary,var(--primary,#df1728)) 3.5%,var(--theme-surface,var(--surface,#fff)));
}
.nesa-contact-info::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.42;
    background-image:
        linear-gradient(color-mix(in srgb,var(--theme-primary,var(--primary,#df1728)) 8%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--theme-primary,var(--primary,#df1728)) 8%,transparent) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%);
}
.nesa-contact-info__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(32px,5vw,54px);align-items:center}
.nesa-contact-info__intro>span{color:var(--theme-accent,var(--accent,var(--primary,#df1728)));font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.nesa-contact-info__intro h2{max-width:520px;margin:12px 0 16px;color:var(--theme-dark,var(--dark,#11151b));font-size:clamp(38px,4.6vw,62px);line-height:1;letter-spacing:-.045em}
.nesa-contact-info__intro p{max-width:540px;margin:0;color:var(--theme-muted,var(--muted,#667085));font-size:17px;line-height:1.75}
.nesa-contact-info__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nesa-contact-info__cards article{position:relative;min-height:158px;padding:26px 24px 24px 76px;overflow:hidden;background:var(--theme-surface,var(--surface,#fff));border:1px solid var(--theme-border,var(--line,#e1e6eb));border-radius:var(--theme-card-radius,18px);box-shadow:0 18px 50px color-mix(in srgb,var(--theme-dark,var(--dark,#11151b)) 8%,transparent);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.nesa-contact-info__cards article:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--theme-primary,var(--primary,#df1728)) 34%,var(--theme-border,var(--line,#e1e6eb)));box-shadow:0 24px 58px color-mix(in srgb,var(--theme-dark,var(--dark,#11151b)) 12%,transparent)}
.nesa-contact-info__icon{position:absolute;top:24px;left:22px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--theme-accent,var(--accent,var(--primary,#df1728)));background:color-mix(in srgb,var(--theme-accent,var(--accent,var(--primary,#df1728))) 10%,white)}
.nesa-contact-info__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nesa-contact-info__cards small,.nesa-contact-info__cards strong,.nesa-contact-info__cards a{display:block}
.nesa-contact-info__cards small{margin-bottom:10px;color:var(--theme-muted,var(--muted,#667085));font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.nesa-contact-info__cards strong,.nesa-contact-info__cards a{color:var(--theme-dark,var(--dark,#11151b));font-size:18px;font-weight:820;line-height:1.45;text-decoration:none}
.nesa-contact-info__cards a:hover{color:var(--theme-primary,var(--primary,#df1728))}
@media(max-width:850px){.nesa-contact-info{padding:58px 0}.nesa-contact-info__grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:560px){.nesa-contact-info__cards{grid-template-columns:1fr}.nesa-contact-info__cards article{min-height:132px}}


/* contact-form/style.css */
/* ITC V5.13.2 · project-specific Contact Form override */
.nesa-contact-form.itc-contact-form{
  padding:70px 0 76px;
  color:#17202a;
  background:linear-gradient(180deg,#f7f8f9 0%,#ffffff 100%);
  border-top:1px solid rgba(20,29,40,.08);
  border-bottom:1px solid rgba(20,29,40,.08);
}
.itc-contact-form__container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.itc-contact-form__head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  gap:52px;
  align-items:end;
  margin-bottom:30px;
  padding-bottom:25px;
  border-bottom:1px solid rgba(20,29,40,.12);
  position:relative;
}
.itc-contact-form__head:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:92px;
  height:2px;
  background:#c51e2d;
}
.itc-contact-form__kicker{
  display:block;
  margin-bottom:10px;
  color:#c51e2d;
  font-size:11px;
  font-weight:850;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.itc-contact-form__head h2{
  margin:0;
  max-width:640px;
  color:#121923;
  font-size:clamp(30px,3.2vw,46px);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:780;
}
.itc-contact-form__lead{
  margin:0;
  max-width:660px;
  color:#66717e;
  font-size:15px;
  line-height:1.72;
}
.itc-contact-form__panel{
  padding:28px 30px 24px;
  background:#fff;
  border:1px solid rgba(20,29,40,.11);
  border-radius:18px;
  box-shadow:0 14px 38px rgba(18,28,40,.055);
}
.itc-contact-form__form{display:grid;gap:22px}
.itc-contact-form__fields{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px 18px;
}
.itc-field{display:grid;gap:8px;min-width:0}
.itc-field>span{color:#3c4652;font-size:12px;font-weight:760}
.itc-field b{color:#c51e2d}
.itc-field input,.itc-field select,.itc-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:12px 14px;
  color:#19212b;
  background:#fbfbfc;
  border:1px solid #d9dee4;
  border-radius:10px;
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.itc-field input,.itc-field select{min-height:47px}
.itc-field textarea{min-height:128px;resize:vertical;line-height:1.55}
.itc-field input:focus,.itc-field select:focus,.itc-field textarea:focus{
  background:#fff;
  border-color:#c51e2d;
  box-shadow:0 0 0 3px rgba(197,30,45,.09);
}
.itc-field--company,.itc-field--name,.itc-field--email{grid-column:span 4}
.itc-field--phone{grid-column:span 4}
.itc-field--subject{grid-column:span 8}
.itc-field--message{grid-column:1/-1}
.itc-contact-form__footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:20px;
  align-items:center;
  padding-top:18px;
  border-top:1px solid rgba(20,29,40,.09);
}
.itc-contact-form__consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#697482;
  font-size:12px;
  font-weight:500;
  line-height:1.55;
}
.itc-contact-form__consent input{margin-top:2px;accent-color:#c51e2d}
.itc-contact-form__consent a{color:#c51e2d;font-weight:750;text-decoration:none}
.itc-contact-form__turnstile{display:flex;justify-content:center;min-width:0}
.itc-contact-form__submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:190px;
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:10px;
  background:#c51e2d;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:820;
  cursor:pointer;
  box-shadow:0 9px 22px rgba(197,30,45,.17);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.itc-contact-form__submit:hover{
  background:#a91725;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(197,30,45,.23);
}
.itc-contact-form__submit b{font-size:18px;font-weight:500;line-height:1}
.itc-contact-form__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.itc-contact-form__message{margin-bottom:20px;padding:14px 16px;border-radius:10px;font-size:13px}
.itc-contact-form__message strong{display:block;margin-bottom:3px}
.itc-contact-form__message p{margin:0}
.itc-contact-form__message.is-success{background:#eff9f2;border:1px solid #cbe8d2;color:#236235}
.itc-contact-form__message.is-error{background:#fff2f2;border:1px solid #f1c9cd;color:#8e2630}
@media(max-width:980px){
  .itc-contact-form__head{grid-template-columns:1fr;gap:12px;align-items:start}
  .itc-contact-form__footer{grid-template-columns:1fr;align-items:start}
  .itc-contact-form__turnstile{justify-content:flex-start}
  .itc-contact-form__submit{width:max-content}
}
@media(max-width:760px){
  .nesa-contact-form.itc-contact-form{padding:50px 0 56px}
  .itc-contact-form__container{width:calc(100% - 32px)}
  .itc-contact-form__panel{padding:20px 18px 18px;border-radius:14px}
  .itc-contact-form__fields{grid-template-columns:1fr;gap:14px}
  .itc-field--company,.itc-field--name,.itc-field--email,.itc-field--phone,.itc-field--subject,.itc-field--message{grid-column:1}
  .itc-field textarea{min-height:120px}
  .itc-contact-form__submit{width:100%}
}


/* google-map/style.css */
/* NESA CMS FULL-BLEED MAP */
.nesa-google-map{padding:0;background:#fff;overflow:hidden}
.nesa-google-map--has-head{padding-top:72px}
.nesa-google-map__head{margin-bottom:26px}
.nesa-google-map__head span{color:var(--primary,#2377b7);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nesa-google-map__head h2{margin:10px 0 0;color:var(--ink,#101a2d);font-size:clamp(38px,4.8vw,62px);line-height:1;letter-spacing:-.045em}
.nesa-google-map__frame{position:relative;width:100%;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:#eaf1f6}
.nesa-google-map__embed{position:relative;min-height:var(--nesa-map-height,350px)}
.nesa-google-map__frame iframe{display:block;width:100%;height:var(--nesa-map-height,350px);min-height:0;border:0;filter:saturate(.92) contrast(1.02)}
.nesa-google-map__privacy{display:flex;min-height:var(--nesa-map-height,350px);align-items:center;justify-content:center;gap:18px;flex-direction:column;padding:30px;text-align:center;background:linear-gradient(135deg,#edf1f4,#dfe7ec);color:#23303b}
.nesa-google-map__privacy strong{max-width:680px;font-size:16px;line-height:1.55}
.nesa-google-map__privacy .button{border:0;cursor:pointer}
.nesa-google-map__overlay-wrap{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(100% - 40px,var(--container-wide,1540px));pointer-events:none}
.nesa-google-map__overlay{width:min(420px,100%);padding:20px 22px;border:1px solid rgba(255,255,255,.78);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(12,34,54,.18);backdrop-filter:blur(14px);pointer-events:auto}
.nesa-google-map__overlay small,.nesa-google-map__overlay strong,.nesa-google-map__overlay a{display:block}
.nesa-google-map__overlay small{color:var(--primary,#2377b7);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.nesa-google-map__overlay strong{margin-top:8px;color:#101a2d;font-size:17px;line-height:1.45}
.nesa-google-map__overlay a{width:max-content;max-width:100%;margin-top:14px;padding:10px 14px;border-radius:8px;color:#fff;background:var(--primary,#2377b7);font-size:13px;font-weight:850;text-decoration:none;transition:.2s ease}
.nesa-google-map__overlay a:hover{transform:translateY(-1px);filter:brightness(.93)}
@media(max-width:700px){.nesa-google-map--has-head{padding-top:52px}.nesa-google-map__overlay-wrap{bottom:14px;width:min(100% - 28px,var(--container-wide,1540px))}.nesa-google-map__overlay{padding:16px 18px}}


/* 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(var(--news-cols, 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;
    }
}

/* V5.3 · Clean masonry news listing with natural image ratio. */
.nesa-actuality-grid--masonry {
    padding: 58px 0 86px;
    background: #ffffff;
}

.nesa-news-masonry__head {
    max-width: 760px;
    margin: 0 0 28px;
}

.nesa-news-masonry__head > div > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--primary, #df1728);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.nesa-news-masonry__head > div > span::after {
    width: 34px;
    height: 2px;
    content: '';
    background: currentColor;
}

.nesa-news-masonry__head h2 {
    max-width: 820px;
    margin: 10px 0 0;
    color: #101820;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.nesa-news-masonry__head p {
    max-width: 700px;
    margin: 14px 0 0;
    color: #667078;
    font-size: 15px;
    line-height: 1.65;
}

.nesa-news-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 30px;
    padding: 0 0 18px;
    border-bottom: 1px solid #dfe3e6;
}

.nesa-news-filter a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    color: #39434b;
    background: #f4f5f6;
    border: 1px solid #e2e5e7;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.nesa-news-filter a:hover,
.nesa-news-filter a.is-active {
    color: #ffffff;
    background: var(--primary, #df1728);
    border-color: var(--primary, #df1728);
}

.nesa-news-masonry {
    display: grid;
    grid-template-columns: repeat(var(--news-cols, 3), minmax(0, 1fr));
    gap: 22px;
    align-items: start;
}

.nesa-news-masonry-card {
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden;
    vertical-align: top;
    background: #ffffff;
    border: 1px solid #dfe3e6;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.nesa-news-masonry-card__media {
    display: block;
    width: 100%;
    overflow: hidden;
    background: #eef0f2;
}

.nesa-news-masonry-card__media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.nesa-news-masonry-card__media > span {
    display: grid;
    min-height: 210px;
    place-items: center;
    color: #a2a9ae;
    font-size: 56px;
    font-weight: 850;
}

.nesa-news-masonry-card__body {
    padding: 16px 17px 18px;
}

.nesa-news-masonry-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 11px;
}

.nesa-news-masonry-card__badges span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    color: #a71928;
    background: #fff2f3;
    border: 1px solid #f0c9ce;
    border-radius: 2px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.nesa-news-masonry-card__badges span.is-corporate {
    color: #4d565d;
    background: #f2f3f4;
    border-color: #dfe2e4;
}

.nesa-news-masonry-card time {
    display: block;
    margin-bottom: 7px;
    color: #7a8288;
    font-size: 11px;
    font-weight: 600;
}

.nesa-news-masonry-card h3 {
    margin: 0;
    font-size: clamp(18px, 1.45vw, 22px);
    line-height: 1.2;
    letter-spacing: -.025em;
}

.nesa-news-masonry-card h3 a {
    color: #101820;
    text-decoration: none;
}

.nesa-news-masonry-card h3 a:hover {
    color: var(--primary, #df1728);
}

.nesa-news-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid #dfe3e6;
}

.nesa-news-pagination a,
.nesa-news-pagination span {
    font-size: 12px;
    font-weight: 800;
}

.nesa-news-pagination a {
    color: #101820;
    text-decoration: none;
}

.nesa-news-pagination a:last-child {
    justify-self: end;
}

.nesa-news-pagination span {
    color: #7a8288;
}

@media (max-width: 820px) {
    .nesa-news-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (max-width: 560px) {
    .nesa-actuality-grid--masonry {
        padding: 36px 0 58px;
    }
    .nesa-news-filter {
        gap: 6px;
        margin-bottom: 20px;
        padding-bottom: 14px;
    }
    .nesa-news-filter a {
        min-height: 32px;
        padding: 6px 9px;
        font-size: 10px;
    }
    .nesa-news-masonry {
        grid-template-columns: 1fr;
    }
    .nesa-news-masonry-card__body {
        padding: 14px 15px 16px;
    }
    .nesa-news-pagination {
        grid-template-columns: 1fr auto 1fr;
        gap: 8px;
    }
}

/* V5.3 — reusable light corporate news cards. The image is never cropped:
   arbitrary editor uploads remain fully visible inside a stable card frame. */
.nesa-actuality-grid--corporate {
    padding: clamp(58px, 7vw, 92px) 0;
    background: #fff;
}

.nesa-news-corporate__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 32px;
    margin-bottom: 34px;
    padding-bottom: 24px;
    border-bottom: 1px solid #dfe3e6;
}

.nesa-news-corporate__heading > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--primary, #df1728);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.nesa-news-corporate__heading > span::after {
    width: 34px;
    height: 2px;
    content: '';
    background: currentColor;
}

.nesa-news-corporate__heading h2 {
    max-width: 760px;
    margin: 10px 0 0;
    color: #101820;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.nesa-news-corporate__heading p {
    max-width: 700px;
    margin: 12px 0 0;
    color: #667078;
    font-size: 15px;
    line-height: 1.65;
}

.nesa-news-corporate__more {
    padding-bottom: 6px;
    color: var(--primary, #df1728);
    border-bottom: 1px solid currentColor;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

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

.nesa-news-corporate-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe3e6;
}

.nesa-news-corporate-card__media {
    display: grid;
    width: 100%;
    aspect-ratio: 16 / 10;
    place-items: center;
    overflow: hidden;
    background: #f2f3f4;
}

.nesa-news-corporate-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nesa-news-corporate-card__media > span {
    color: #a2a9ae;
    font-size: 52px;
    font-weight: 850;
}

.nesa-news-corporate-card__body {
    display: flex;
    min-height: 190px;
    flex: 1;
    flex-direction: column;
    padding: 18px 18px 17px;
}

.nesa-news-corporate-card__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.nesa-news-corporate-card__meta > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.nesa-news-corporate-card__meta span {
    color: var(--primary, #df1728);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.nesa-news-corporate-card__meta span + span::before {
    margin-right: 4px;
    color: #b4bac0;
    content: '•';
}

.nesa-news-corporate-card__meta span.is-corporate {
    color: #5f676d;
}

.nesa-news-corporate-card__meta time {
    flex: 0 0 auto;
    color: #788087;
    font-size: 10px;
    font-weight: 650;
}

.nesa-news-corporate-card h3 {
    margin: 0;
    color: #101820;
    font-size: clamp(19px, 1.55vw, 24px);
    line-height: 1.15;
    letter-spacing: -.025em;
}

.nesa-news-corporate-card h3 a {
    color: inherit;
    text-decoration: none;
}

.nesa-news-corporate-card h3 a:hover {
    color: var(--primary, #df1728);
}

.nesa-news-corporate-card__link {
    margin-top: auto;
    padding-top: 22px;
    color: var(--primary, #df1728);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
}

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

@media (max-width: 620px) {
    .nesa-news-corporate__head {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .nesa-news-corporate__more {
        justify-self: start;
    }
    .nesa-news-corporate__grid {
        grid-template-columns: 1fr;
    }
    .nesa-news-corporate-card__body {
        min-height: 0;
    }
}

/* V5.3A · Clear archive navigation. */
.nesa-news-pagination__side{min-width:110px}
.nesa-news-pagination__side.is-next{text-align:right}
.nesa-news-pagination__pages{display:flex;align-items:center;justify-content:center;gap:6px}
.nesa-news-pagination__pages a,.nesa-news-pagination__pages span{display:grid;min-width:34px;height:34px;padding:0 8px;place-items:center;border:1px solid #dfe3e6;background:#fff;color:#202a31;text-decoration:none}
.nesa-news-pagination__pages a:hover,.nesa-news-pagination__pages a.is-active{color:#fff;background:var(--primary,#df1728);border-color:var(--primary,#df1728)}
@media(max-width:650px){.nesa-news-pagination{grid-template-columns:1fr 1fr}.nesa-news-pagination__pages{grid-column:1/-1;grid-row:1;margin-bottom:8px}.nesa-news-pagination__side{grid-row:2;min-width:0}.nesa-news-pagination__side.is-next{grid-column:2}}


/* V5.3B · Archive navigation controls. */
.nesa-news-load-more {
    display: flex;
    justify-content: center;
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid #dfe3e6;
}

.nesa-news-load-more__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 190px;
    min-height: 48px;
    padding: 12px 20px;
    color: #101820;
    background: #ffffff;
    border: 1px solid #cfd5da;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .035em;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.nesa-news-load-more__button b {
    color: var(--primary, #df1728);
    font-size: 16px;
    line-height: 1;
}

.nesa-news-load-more__button:hover {
    color: #ffffff;
    background: var(--primary, #df1728);
    border-color: var(--primary, #df1728);
}

.nesa-news-load-more__button:hover b { color: #ffffff; }
.nesa-news-load-more__button.is-loading { opacity: .6; pointer-events: none; }

/* V5.3C · Subtle polish for the natural-ratio masonry archive.
   Keeps original image proportions; only adds depth and a restrained hover. */
.nesa-news-masonry-card {
    border-color: #e1e5e8;
    border-radius: 7px;
    box-shadow: 0 10px 28px rgba(16, 24, 32, .065);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.nesa-news-masonry-card:hover {
    border-color: #d6dce0;
    box-shadow: 0 18px 38px rgba(16, 24, 32, .105);
    transform: translateY(-3px);
}

.nesa-news-masonry-card__media img {
    transition: transform .28s ease;
}

.nesa-news-masonry-card:hover .nesa-news-masonry-card__media img {
    transform: scale(1.012);
}

@media (prefers-reduced-motion: reduce) {
    .nesa-news-masonry-card,
    .nesa-news-masonry-card__media img {
        transition: none;
    }
    .nesa-news-masonry-card:hover,
    .nesa-news-masonry-card:hover .nesa-news-masonry-card__media img {
        transform: none;
    }
}

/* V5.4 · active/archive mode */
.nesa-news-mode {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
}

.nesa-news-mode a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    color: #687381;
    background: #fff;
    border: 1px solid #dde2e7;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.nesa-news-mode a:hover,
.nesa-news-mode a.is-active {
    color: #fff;
    background: var(--primary, #df1728);
    border-color: var(--primary, #df1728);
}

.nesa-news-masonry-card__badges .is-archive {
    color: #fff;
    background: #535d68;
    border-color: #535d68;
}

@media (max-width: 640px) {
    .nesa-news-mode {
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .nesa-news-mode a {
        flex: 0 0 auto;
    }
}


/* V5.8 · unified Projects / News pills + configurable desktop columns */
.nesa-news-mode{gap:8px;margin:0 0 16px}
.nesa-news-mode a{
    justify-content:center;min-width:0;min-height:48px;padding:.72rem 1rem;
    border-radius:999px;font-size:13px;font-weight:800;color:#1a222a;background:#fff;
    border:1px solid rgba(20,28,36,.14)
}
.nesa-news-filter{gap:.55rem;margin-bottom:2rem;padding-bottom:1rem}
.nesa-news-filter a{
    display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1rem;
    border-radius:999px;background:#fff;border:1px solid rgba(20,28,36,.14);
    color:#1a222a;font-size:13px;font-weight:800
}
.nesa-news-mode a:hover,.nesa-news-mode a.is-active,.nesa-news-filter a:hover,.nesa-news-filter a.is-active{
    color:#fff;background:var(--primary,#df1728);border-color:var(--primary,#df1728)
}
@media(max-width:900px){.nesa-news-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.nesa-news-corporate__grid,.nesa-actuality-grid__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.nesa-news-masonry{grid-template-columns:1fr}.nesa-news-corporate__grid,.nesa-actuality-grid__items{grid-template-columns:1fr}.nesa-news-mode a,.nesa-news-filter a{min-height:42px;padding:.62rem .85rem}}


/* 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-head {
    margin-top: 52px;
    margin-bottom: 14px;
}

.nesa-actuality-content__video-head span {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary, #df1728);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
}

.nesa-actuality-content__video-head h2 {
    margin: 0;
    color: #17202a;
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.12;
    letter-spacing: -.03em;
}

.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: 4;
    --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;
    }
}

/* ==========================================================================
   V5.5 · Compact related actualities
   Exactly three compact cards on desktop; detail page stays editorial, not
   another full-size listing.
========================================================================== */
.nesa-actuality-content__related {
    padding: 58px 0 68px;
}

.nesa-actuality-content__related > .container {
    width: min(100% - 40px, 1080px);
}

.nesa-actuality-content__related header h2 {
    font-size: clamp(28px, 3vw, 38px);
}

.nesa-actuality-content__related > .container > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.nesa-actuality-content__related article {
    border-color: #e4e8ec;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(22, 31, 42, .065);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.nesa-actuality-content__related article:hover {
    border-color: #d9dee4;
    box-shadow: 0 13px 30px rgba(22, 31, 42, .09);
    transform: translateY(-2px);
}

.nesa-actuality-content__related article img {
    display: block;
    width: 100%;
    height: clamp(125px, 11vw, 155px);
    aspect-ratio: auto;
    object-fit: cover;
}

.nesa-actuality-content__related article h3 {
    padding: 14px 16px 16px;
    font-size: 16px;
    line-height: 1.3;
}

@media (max-width: 820px) {
    .nesa-actuality-content__related > .container > div {
        grid-template-columns: 1fr;
    }

    .nesa-actuality-content__related article {
        display: grid;
        grid-template-columns: 128px minmax(0, 1fr);
        align-items: stretch;
    }

    .nesa-actuality-content__related article img {
        width: 128px;
        height: 100%;
        min-height: 112px;
    }

    .nesa-actuality-content__related article h3 {
        display: flex;
        align-items: center;
        padding: 14px;
    }
}


/* ==========================================================================
   ITC V5.24.8 · Actuality detail one-grid alignment
   Keep the whole news detail on the same 1180px content axis as Projects,
   header/logo and the actuality hero. Long-form prose stays readable at 980px
   but starts at the same left edge instead of being centered/indented.
========================================================================== */
.nesa-actuality-content__inner {
    width: min(var(--container, 1180px), calc(100% - 40px));
    max-width: none;
    margin-inline: auto;
}

.nesa-actuality-content__author,
.nesa-actuality-content__prose,
.nesa-actuality-content__video-head,
.nesa-actuality-content__video,
.nesa-actuality-content__direct-video {
    width: 100%;
    max-width: 980px;
    margin-left: 0;
    margin-right: 0;
}

.nesa-actuality-content__gallery {
    width: 100%;
    max-width: none;
}

.nesa-actuality-content__related > .container {
    width: min(var(--container, 1180px), calc(100% - 40px));
    max-width: none;
    margin-inline: auto;
}

@media (max-width: 700px) {
    .nesa-actuality-content__inner,
    .nesa-actuality-content__related > .container {
        width: calc(100% - 32px);
    }
}


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


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


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


/* custom-form/style.css */
.nesa-custom-form{padding:clamp(72px,8vw,118px) 0;background:var(--theme-background,#f6f8fa)}
.nesa-custom-form__layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,90px);align-items:start}
.nesa-custom-form__intro>span{display:inline-block;color:var(--theme-primary,#138b95);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}.nesa-custom-form__intro h2{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px}.nesa-custom-form__intro-copy{font-size:18px;line-height:1.7;color:var(--theme-muted,#677384);max-width:620px}.nesa-custom-form__intro-copy p{margin:0 0 1em}.nesa-custom-form__intro-copy p:last-child{margin-bottom:0}.nesa-custom-form__intro-copy ul,.nesa-custom-form__intro-copy ol{margin:0 0 1em;padding-left:1.3em}.nesa-custom-form__intro-copy a{color:var(--theme-primary,#138b95);text-decoration:underline;text-underline-offset:3px}.nesa-custom-form__note{margin-top:32px;padding:22px;border:1px solid var(--theme-border,#dfe5ea);border-radius:18px;background:rgba(255,255,255,.56)}.nesa-custom-form__note p{margin:7px 0 0;color:var(--theme-muted,#677384);line-height:1.6}
.nesa-custom-form__surface{background:#fff;border:1px solid var(--theme-border,#dde4e9);border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 24px 70px rgba(18,28,40,.08)}.nesa-custom-form--dark{background:#08131d;color:#fff}.nesa-custom-form--dark .nesa-custom-form__surface{background:#0e1c29;border-color:rgba(255,255,255,.12);color:#fff}.nesa-custom-form__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 16px}.nesa-custom-form__field{grid-column:span var(--field-span,12);width:auto;min-width:0;display:flex;flex-direction:column;gap:8px}.nesa-custom-form__field[hidden]{display:none!important}.nesa-custom-form__field label{font-size:13px;font-weight:800}.nesa-custom-form__field label b{color:#e61d39}.nesa-custom-form__field input,.nesa-custom-form__field select,.nesa-custom-form__field textarea{width:100%;min-height:52px;padding:13px 15px;border:1px solid #dce3e8;border-radius:13px;background:#f9fbfc;font:inherit;color:#111b26;outline:none;transition:.2s}.nesa-custom-form__field textarea{min-height:126px;resize:vertical}.nesa-custom-form__field input:focus,.nesa-custom-form__field select:focus,.nesa-custom-form__field textarea:focus{border-color:var(--theme-primary,#138b95);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary,#138b95) 12%,transparent);background:#fff}.nesa-custom-form__field small{color:#7a8794;font-size:12px;line-height:1.45}.nesa-custom-form__choices{display:flex;flex-wrap:wrap;gap:9px}.nesa-custom-form .choice{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #dce3e8;border-radius:12px;background:#f8fafb;font-weight:700;cursor:pointer}.nesa-custom-form .choice input{width:auto;min-height:0}.nesa-custom-form__privacy{display:flex;align-items:flex-start;gap:10px;margin:22px 0;font-size:13px;color:#5f6b77;line-height:1.5}.nesa-custom-form__privacy input{margin-top:3px}.nesa-custom-form__message{padding:16px 18px;border-radius:14px;margin-bottom:22px}.nesa-custom-form__message.is-success{background:#eaf8f0;color:#126333}.nesa-custom-form__message.is-error{background:#fff0f1;color:#9d2030}.nesa-custom-form__honeypot{position:absolute!important;left:-9999px!important}.nesa-custom-form__empty{padding:30px;border:1px dashed #ccd5dc;border-radius:18px;text-align:center;color:#6b7783}
@media(max-width:900px){.nesa-custom-form__layout{grid-template-columns:1fr}}@media(max-width:620px){.nesa-custom-form__surface{padding:20px}.nesa-custom-form__intro h2{font-size:42px}}

@media(max-width:760px){.nesa-custom-form__field{grid-column:1/-1!important}.nesa-custom-form__layout{grid-template-columns:1fr}.nesa-custom-form__surface{padding:22px}}

.nesa-custom-form__field input[type=file]{padding:8px 10px;background:#f9fbfc;cursor:pointer}.nesa-custom-form__field input[type=file]::file-selector-button{border:0;border-radius:9px;background:var(--theme-primary,#138b95);color:#fff;font:inherit;font-weight:800;padding:10px 13px;margin-right:12px;cursor:pointer}.nesa-custom-form__upload-help{display:block;margin-top:-2px}


.nesa-custom-form__upload{display:grid;gap:8px}.nesa-custom-form__upload-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.nesa-custom-form__upload-zone{display:flex!important;align-items:center;gap:14px;min-height:94px;padding:16px 18px!important;border:1.5px dashed color-mix(in srgb,var(--theme-primary,#138b95) 35%,#cfd8df)!important;border-radius:14px;background:color-mix(in srgb,var(--theme-primary,#138b95) 3%,#fff);cursor:pointer;transition:.18s ease}.nesa-custom-form__upload-zone:hover,.nesa-custom-form__upload.is-dragover .nesa-custom-form__upload-zone{border-color:var(--theme-primary,#138b95)!important;background:color-mix(in srgb,var(--theme-primary,#138b95) 7%,#fff);transform:translateY(-1px)}.nesa-custom-form__upload-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:13px;background:color-mix(in srgb,var(--theme-primary,#138b95) 10%,#fff);color:var(--theme-primary,#138b95)}.nesa-custom-form__upload-icon svg{width:25px;height:25px}.nesa-custom-form__upload-zone>span:last-child{display:grid;gap:4px;min-width:0}.nesa-custom-form__upload-zone strong{font-size:14px;color:var(--theme-text,#17202a)}.nesa-custom-form__upload-zone small{font-size:12px;color:var(--theme-muted,#677384);font-weight:500}.nesa-custom-form__upload-selected{min-height:18px;color:var(--theme-muted,#677384);font-size:12px;line-height:1.45}.nesa-custom-form__upload-selected.has-files{color:var(--theme-text,#17202a);font-weight:700}.nesa-custom-form__upload-help{display:block;margin-top:-2px}.nesa-custom-form--dark .nesa-custom-form__upload-zone{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.22)!important}.nesa-custom-form--dark .nesa-custom-form__upload-zone strong,.nesa-custom-form--dark .nesa-custom-form__upload-selected.has-files{color:#fff}.nesa-custom-form--dark .nesa-custom-form__upload-zone small,.nesa-custom-form--dark .nesa-custom-form__upload-selected{color:rgba(255,255,255,.62)}


/* promo-slider/style.css */

.nesa-promo-slider{overflow:hidden;background:var(--surface,#fff)}
.nesa-promo-slider__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.nesa-promo-slider__head .section-head{margin-bottom:26px;max-width:760px}
.nesa-promo-slider__controls{display:flex;gap:8px;margin-bottom:26px}
.nesa-promo-slider__controls button{width:44px;height:44px;border:1px solid var(--line,#e6e9ee);border-radius:999px;background:#fff;color:var(--ink,#11151b);font-size:28px;line-height:1;cursor:pointer;transition:.18s ease}
.nesa-promo-slider__controls button:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.nesa-promo-slider__viewport{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.nesa-promo-slider__viewport::-webkit-scrollbar{display:none}
.nesa-promo-slider__track{display:flex;gap:18px}
.nesa-promo-card{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;border:1px solid var(--line,#e5e8ed);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 38px rgba(18,32,52,.06)}
.nesa-promo-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#f2f4f7;overflow:hidden}
.nesa-promo-card__image img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.nesa-promo-card:hover .nesa-promo-card__image img{transform:scale(1.02)}
.nesa-promo-card__cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--ink,#11151b);font-size:13px;font-weight:800;text-decoration:none}
.nesa-promo-card__cta svg{width:19px;height:19px;color:var(--primary)}
.nesa-promo-slider--clean .nesa-promo-card{border:0;box-shadow:none;background:transparent}
.nesa-promo-slider--clean .nesa-promo-card__image{border-radius:16px}
.nesa-promo-slider[data-columns="2"] .nesa-promo-card{flex-basis:calc((100% - 18px)/2)}
.nesa-promo-slider[data-columns="4"] .nesa-promo-card{flex-basis:calc((100% - 54px)/4)}
@media(max-width:980px){.nesa-promo-card,.nesa-promo-slider[data-columns="2"] .nesa-promo-card,.nesa-promo-slider[data-columns="4"] .nesa-promo-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:620px){.nesa-promo-slider__head{align-items:flex-start}.nesa-promo-slider__controls{display:none}.nesa-promo-slider__track{gap:14px}.nesa-promo-card,.nesa-promo-slider[data-columns="2"] .nesa-promo-card,.nesa-promo-slider[data-columns="4"] .nesa-promo-card{flex-basis:88%}}


/* featured-offers/style.css */
.featured-offers{padding:58px 0 74px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.featured-offers__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:end;gap:42px;margin-bottom:28px}
.featured-offers__head>div:first-child>span{display:inline-flex;align-items:center;gap:10px;color:var(--theme-primary,var(--primary,#df1728));font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.featured-offers__head>div:first-child>span:before{content:"";width:30px;height:2px;background:currentColor}
.featured-offers__head h2{margin:10px 0 0;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.045em}
.featured-offers__head .nesa-formatted-copy{color:#6f7885;font-size:15px;line-height:1.7}
.featured-offers__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.featured-offers__grid--1{grid-template-columns:minmax(0,760px);justify-content:center}
.featured-offer-card{position:relative;overflow:hidden;border:1px solid #e0e5ec;border-radius:26px;background:#fff;box-shadow:0 20px 55px rgba(18,28,45,.09);transition:transform .3s ease,box-shadow .3s ease}
.featured-offer-card:hover{transform:translateY(-6px);box-shadow:0 30px 75px rgba(18,28,45,.15)}
.featured-offer-card:before{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--theme-primary,var(--primary,#df1728)),#f0b72e)}
.featured-offer-card__media{position:relative;height:340px;overflow:hidden;background:#edf1f5}
.featured-offer-card__media:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(9,17,30,.22),transparent)}
.featured-offer-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.featured-offer-card:hover .featured-offer-card__media img{transform:scale(1.045)}
.featured-offer-card__placeholder{height:100%;display:grid;place-items:center;font-size:72px;font-weight:900;color:#aab3bf}
.featured-offer-card__ribbon{position:absolute;z-index:4;left:20px;bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;color:#131c2b;box-shadow:0 8px 24px rgba(0,0,0,.16);font-size:10px;letter-spacing:.11em}
.featured-offer-card__ribbon span{color:#e9ae22;font-size:13px}.featured-offer-card__ribbon strong{font-weight:950}
.featured-offer-card__badges{position:absolute;z-index:4;right:18px;top:18px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:70%}
.featured-offer-card__badges b{padding:7px 10px;border-radius:999px;background:var(--theme-primary,var(--primary,#df1728));color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.featured-offer-card__badges .is-alert{background:#df1728}.featured-offer-card__badges .is-discount{background:#111b2d}
.featured-offer-card__body{padding:25px 26px 26px}
.featured-offer-card__category{display:block;margin-bottom:7px;color:var(--theme-primary,var(--primary,#df1728));font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.featured-offer-card h3{margin:0;font-size:clamp(24px,2.1vw,31px);line-height:1.08;letter-spacing:-.035em}
.featured-offer-card__body>p{margin:10px 0 0;color:#737d8a;font-size:13px;line-height:1.6}
.featured-offer-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:20px;border-top:1px solid #e7ebf0;border-bottom:1px solid #e7ebf0}
.featured-offer-card__facts span{display:grid;gap:3px;padding:13px 0}.featured-offer-card__facts span:nth-child(odd){padding-right:16px}.featured-offer-card__facts span:nth-child(even){padding-left:16px;border-left:1px solid #e7ebf0}
.featured-offer-card__facts small{color:#929aa5;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.featured-offer-card__facts strong{font-size:12px;color:#202734}
.featured-offer-card__transport{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.featured-offer-card__transport span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f3f6f8;color:#2c3440;font-size:10px;font-weight:850}.featured-offer-card__transport svg{width:15px;height:15px;fill:var(--theme-primary,var(--primary,#df1728))}
.featured-offer-card footer{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(190px,1fr);align-items:end;gap:16px;margin-top:22px}
.featured-offer-card__price{display:grid;gap:2px}.featured-offer-card__price>small,.featured-offer-card__price>span{color:#929aa5;font-size:10px}.featured-offer-card__price del{color:#a0a7b1;font-size:11px;text-decoration-thickness:1px}.featured-offer-card__price strong{color:var(--theme-primary,var(--primary,#df1728));font-size:27px;line-height:1;font-weight:950;letter-spacing:-.04em}.featured-offer-card__price strong em{font-size:.56em;font-style:normal}
.featured-offer-card__cta{min-height:52px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:8px 11px;border-radius:14px;background:#111b2d;color:#fff;transition:background .2s ease,transform .2s ease}.featured-offer-card__cta:hover{background:var(--theme-primary,var(--primary,#df1728));transform:translateY(-2px)}.featured-offer-card__cta>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.1)}.featured-offer-card__cta svg{width:17px;height:17px;fill:currentColor}.featured-offer-card__cta strong{font-size:10px;line-height:1.2}.featured-offer-card__cta>b{font-size:17px}
.featured-offers--editorial .featured-offer-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.featured-offers--editorial .featured-offer-card__media{height:auto;min-height:410px}.featured-offers--editorial .featured-offer-card__body{display:flex;flex-direction:column;justify-content:center}.featured-offers--editorial .featured-offer-card footer{grid-template-columns:1fr}.featured-offers--editorial .featured-offer-card__cta{margin-top:4px}
.featured-offers__empty{padding:34px;border:1px dashed #cad2dd;border-radius:18px;color:#747e8c;text-align:center;background:#fff}
@media(max-width:980px){.featured-offers__head{grid-template-columns:1fr;gap:12px}.featured-offers__grid{grid-template-columns:1fr}.featured-offer-card__media{height:380px}.featured-offers--editorial .featured-offer-card{grid-template-columns:1fr}.featured-offers--editorial .featured-offer-card__media{min-height:330px}}
@media(max-width:620px){.featured-offers{padding:42px 0 54px}.featured-offers__head{margin-bottom:20px}.featured-offers__head h2{font-size:34px}.featured-offer-card{border-radius:20px}.featured-offer-card__media{height:245px}.featured-offer-card__body{padding:20px}.featured-offer-card h3{font-size:24px}.featured-offer-card__facts{grid-template-columns:1fr}.featured-offer-card__facts span,.featured-offer-card__facts span:nth-child(odd),.featured-offer-card__facts span:nth-child(even){padding:10px 0;border-left:0}.featured-offer-card__facts span+span{border-top:1px solid #eef1f4}.featured-offer-card footer{grid-template-columns:1fr}.featured-offer-card__cta{width:100%}.featured-offer-card__ribbon{left:14px;bottom:14px}.featured-offer-card__badges{right:12px;top:12px}}


/* projects-grid/style.css */
.projects-module{--project-red:#c51e2d}.projects-head{max-width:820px;margin:0 0 2rem}.projects-head>span{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--project-red)}.projects-head h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;margin:.45rem 0 .7rem}.projects-head p{max-width:720px;color:rgba(24,32,40,.68);font-size:1rem;line-height:1.7}.projects-filters{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid rgba(20,28,36,.12)}.projects-filters button{border:1px solid rgba(20,28,36,.14);background:#fff;color:#1a222a;border-radius:999px;padding:.72rem 1rem;cursor:pointer;font:inherit;font-weight:700;transition:.22s ease}.projects-filters button small{font-size:.72em;opacity:.55;margin-left:.25rem}.projects-filters button:hover,.projects-filters button.is-active{border-color:var(--project-red);background:var(--project-red);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(var(--projects-cols,3),minmax(0,1fr));gap:clamp(1rem,2vw,1.7rem)}.project-card{overflow:hidden;background:#fff;border-radius:12px;border:1px solid rgba(20,28,36,.1);box-shadow:0 8px 26px rgba(20,28,36,.055);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,28,36,.1);border-color:rgba(197,30,45,.22)}.project-card[hidden]{display:none!important}.project-card__media{display:block;overflow:hidden;background:#eef1f3}.projects-grid--ratio-16-9 .project-card__media{aspect-ratio:16/9}.projects-grid--ratio-4-3 .project-card__media{aspect-ratio:4/3}.projects-grid--ratio-1-1 .project-card__media{aspect-ratio:1}.projects-grid--ratio-4-5 .project-card__media{aspect-ratio:4/5}.projects-grid--ratio-original .project-card__media{aspect-ratio:auto}.project-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.projects-grid--ratio-original .project-card__media img{height:auto;object-fit:contain}.project-card:hover .project-card__media img{transform:scale(1.025)}.project-card__body{padding:1.15rem 1.2rem 1.25rem}.project-card__badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.75rem}.project-card__badges span{font-size:.66rem;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--project-red);border:1px solid rgba(197,30,45,.28);background:rgba(197,30,45,.035);border-radius:999px;padding:.4rem .52rem}.project-card h3{font-size:1.22rem;line-height:1.2;margin:0 0 .55rem}.project-card h3 a,.project-card__cta{color:inherit;text-decoration:none}.project-card__meta{font-size:.86rem;color:rgba(20,28,36,.58);margin:.2rem 0 .6rem}.project-card__desc{font-size:.92rem;line-height:1.55;color:rgba(20,28,36,.7);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__cta{display:inline-flex;align-items:center;gap:.55rem;margin-top:.8rem;font-weight:800;font-size:.84rem;color:var(--project-red);text-transform:uppercase;letter-spacing:.04em}.projects-more{text-align:center;margin-top:2rem}.projects-empty{padding:1.25rem 0;color:rgba(20,28,36,.6)}.projects-module--editorial .projects-grid{grid-template-columns:1fr}.projects-module--editorial .project-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);min-height:360px}.projects-module--editorial .project-card:nth-child(even){grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}.projects-module--editorial .project-card:nth-child(even) .project-card__media{order:2}.projects-module--editorial .project-card__media{aspect-ratio:auto;min-height:100%}.projects-module--editorial .project-card__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,4rem)}.projects-module--masonry .projects-grid{display:block;columns:var(--projects-cols,3);column-gap:1.25rem}.projects-module--masonry .project-card{break-inside:avoid;margin:0 0 1.25rem}.project-card--minimal{border:0;background:transparent;border-radius:0;box-shadow:none}.project-card--overlay{position:relative}.project-card--framed{padding:.55rem}.projects-module--editorial .project-card[hidden],.projects-module--masonry .project-card[hidden]{display:none!important}@media(max-width:900px){.projects-grid{grid-template-columns:repeat(2,1fr)}.projects-module--editorial .project-card,.projects-module--editorial .project-card:nth-child(even){grid-template-columns:1fr}.projects-module--editorial .project-card:nth-child(even) .project-card__media{order:0}.projects-module--masonry .projects-grid{columns:2}}@media(max-width:620px){.projects-grid{grid-template-columns:1fr}.projects-module--masonry .projects-grid{columns:1}.projects-filters{gap:.4rem}.projects-filters button{padding:.62rem .8rem;font-size:.86rem}.project-card__body{padding:1rem}.project-card h3{font-size:1.14rem}}


/* V5.8 · archive mode + News/Projects visual parity */
.projects-mode{display:flex;align-items:center;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.projects-mode a,.projects-filters button{
    display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1rem;
    border-radius:999px;font-size:13px;font-weight:800;text-decoration:none;
    color:#1a222a;background:#fff;border:1px solid rgba(20,28,36,.14)
}
.projects-mode a:hover,.projects-mode a.is-active,.projects-filters button:hover,.projects-filters button.is-active{
    color:#fff;background:var(--project-red);border-color:var(--project-red)
}
.projects-more{display:flex;justify-content:center;margin-top:34px;padding-top:22px;border-top:1px solid #dfe3e6}
.projects-more__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:190px;min-height:48px;padding:12px 20px;color:#101820;background:#fff;border:1px solid #cfd5da;font:inherit;font-size:12px;font-weight:850;letter-spacing:.035em;cursor:pointer;transition:.2s ease}
.projects-more__button b{color:var(--project-red);font-size:16px;line-height:1}
.projects-more__button:hover{color:#fff;background:var(--project-red);border-color:var(--project-red)}
.projects-more__button:hover b{color:#fff}
@media(max-width:620px){.projects-mode a,.projects-filters button{min-height:42px;padding:.62rem .85rem}}


/* ITC V5.8.3 · exact vertical rhythm parity with News listing.
   Only the central /projekti listing gets this class; homepage and PC project
   sections retain their own spacing. News masonry uses 58px top / 86px bottom
   on desktop and 36px / 58px on phones. */
.projects-module--listing {
    padding: 58px 0 86px !important;
    background: #fff;
}
@media (max-width: 560px) {
    .projects-module--listing {
        padding: 36px 0 58px !important;
    }
}


/* ITC V5.8.4 · exact Projects/News horizontal rail parity.
   Root cause: the Joomla project importer seeded _design.content_width=wide for
   both the Projects inner hero and Projects grid. The Layout Studio wide rail
   moved the hero left of the News rail. Later V5.8.2 also used calc(100% - 32px)
   inside an already constrained section, which introduced an extra inner inset.
   Use viewport-relative sizing so this remains exactly the same 1180px rail as
   the News listing even when nested inside a Layout Studio section wrapper. */
body.page-projekti .nesa-inner-hero__inner,
body.page-projekti .projects-module--listing > .container.projects-listing-container {
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 560px) {
    body.page-projekti .nesa-inner-hero__inner,
    body.page-projekti .projects-module--listing > .container.projects-listing-container {
        width: calc(100vw - 24px) !important;
        max-width: none !important;
    }
}

/* V5.17.4 · server-paged portfolio listing */
.projects-head-row{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:2rem}
.projects-head-row .projects-head{margin:0;min-width:0}
.projects-head-action{display:inline-flex;align-items:center;gap:.65rem;flex:0 0 auto;padding:.8rem 0;color:var(--project-red);font-size:.84rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--project-red)}
.projects-head-action:hover{gap:.9rem}
.projects-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1rem;border-radius:999px;font-size:13px;font-weight:800;text-decoration:none;color:#1a222a;background:#fff;border:1px solid rgba(20,28,36,.14);transition:.2s ease}
.projects-filters a small{font-size:.72em;opacity:.55;margin-left:.25rem}
.projects-filters a:hover,.projects-filters a.is-active{color:#fff;background:var(--project-red);border-color:var(--project-red)}
.projects-more{display:grid;justify-items:center;gap:8px}
.projects-more__status{color:rgba(20,28,36,.48);font-size:.76rem;font-weight:750}
.projects-more__button.is-loading{opacity:.6;pointer-events:none}
@media(max-width:760px){.projects-head-row{align-items:flex-start;flex-direction:column;gap:8px}.projects-head-action{padding:.5rem 0}.projects-filters a{min-height:42px;padding:.62rem .85rem}}

/* ITC V5.19.4 · real pagination for the central Projects archive. */
.projects-module--listing .project-card{scroll-margin-top:150px}
.projects-pagination{display:grid;gap:14px;margin-top:38px;padding-top:24px;border-top:1px solid #dfe3e6}
.projects-pagination__summary{text-align:center;color:rgba(20,28,36,.5);font-size:.78rem;font-weight:750}
.projects-pagination__controls{display:grid;grid-template-columns:minmax(116px,1fr) auto minmax(116px,1fr);align-items:center;gap:18px}
.projects-pagination__pages{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.projects-pagination__page,.projects-pagination__nav{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid #d6dce0;border-radius:10px;background:#fff;color:#182027;font-size:.82rem;font-weight:800;line-height:1;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.projects-pagination__page:hover,.projects-pagination__nav:hover{border-color:rgba(197,30,45,.45);color:var(--project-red);transform:translateY(-1px)}
.projects-pagination__page.is-active{border-color:var(--project-red);background:var(--project-red);color:#fff;box-shadow:0 8px 20px rgba(197,30,45,.16)}
.projects-pagination__nav{min-width:116px;gap:8px;white-space:nowrap}
.projects-pagination__nav:first-child{justify-self:start}.projects-pagination__nav:last-child{justify-self:end}
.projects-pagination__nav.is-disabled{opacity:.38;pointer-events:none}
.projects-pagination__ellipsis{display:inline-grid;place-items:center;min-width:24px;height:42px;color:rgba(20,28,36,.45);font-weight:800}
@media(max-width:760px){
  .projects-module--listing .project-card{scroll-margin-top:92px}
  .projects-pagination{margin-top:28px;padding-top:20px}
  .projects-pagination__controls{grid-template-columns:1fr 1fr;gap:10px}
  .projects-pagination__pages{grid-column:1/-1;grid-row:1;gap:5px}
  .projects-pagination__nav{grid-row:2;width:100%;min-width:0}
  .projects-pagination__nav:first-child{justify-self:stretch}.projects-pagination__nav:last-child{justify-self:stretch}
  .projects-pagination__page{min-width:39px;height:39px;padding:0 10px}
  .projects-pagination__ellipsis{height:39px}
}


/* project-detail/style.css */
.project-detail{--project-red:#c51e2d;background:var(--section-bg,#f4f6f8);color:var(--text,#1e2935)}
.project-detail__container{width:min(var(--container,1180px),calc(100% - 40px));margin-inline:auto}
.project-detail__masthead{position:relative;overflow:hidden;background:linear-gradient(135deg,#f3f5f6 0%,#fff 56%,#fbf0f1 100%);color:#151c22;border-bottom:1px solid rgba(20,28,36,.08)}
.project-detail__masthead::after{content:"";position:absolute;right:7%;top:-58px;width:10px;height:170px;background:rgba(197,30,45,.20);transform:skewX(-24deg);box-shadow:22px 0 0 rgba(197,30,45,.08),44px 0 0 rgba(197,30,45,.04)}
.project-detail__masthead-inner{position:relative;z-index:1;padding:clamp(2rem,4vw,3.5rem) 0 clamp(2.1rem,4vw,3.6rem)}
.project-detail__breadcrumbs{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem;color:rgba(20,28,36,.58);font-size:.82rem;font-weight:750}
.project-detail__breadcrumbs a{display:inline-flex;align-items:center;gap:.45rem;color:var(--project-red);font-weight:850;text-decoration:none}.project-detail__breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}.project-detail__breadcrumbs span[aria-hidden="true"]{opacity:.45}
.project-detail__masthead-kicker,.project-detail__kicker,.project-detail__gallery-head>div>span,.project-detail__related-head>span{display:block;margin-bottom:.65rem;color:var(--project-red);font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.project-detail__masthead h1{width:100%;max-width:none;margin:0;color:#151c22;font-size:clamp(2rem,3vw,3.25rem);line-height:1.04;letter-spacing:-.03em}

.project-detail__intro{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(1.8rem,3.5vw,3rem) 0}
.project-detail__intro--no-cover{grid-template-columns:minmax(0,820px)}
.project-detail__cover{display:grid;place-items:center;margin:0;overflow:hidden;background:#e7ebef;border-radius:10px;box-shadow:0 12px 34px rgba(20,28,36,.09)}
.project-detail__cover img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.project-detail__summary{min-width:0;max-width:760px}.project-detail__lead{margin:0;color:var(--muted,#5c6875);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.72}
.project-detail__social{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.35rem;padding:.78rem 1rem;border:1px solid rgba(24,119,242,.2);border-radius:999px;background:#fff;color:#1877f2;font-weight:800;text-decoration:none;transition:.2s ease}
.project-detail__social svg{width:20px;height:20px;flex:0 0 auto}.project-detail__social b{font-size:1.05rem}.project-detail__social:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(24,119,242,.12)}
.project-detail__facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:1.35rem}.project-detail__fact{display:grid;gap:.18rem;min-width:120px;padding:.7rem .85rem;border:1px solid rgba(0,40,90,.10);border-radius:999px;background:rgba(255,255,255,.74)}
.project-detail__fact small{color:var(--muted,#687583);font-size:.66rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.project-detail__fact strong{overflow:hidden;color:var(--primary,#0b2f66);font-size:.84rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}

.project-detail__content{padding:clamp(1.7rem,3vw,2.6rem) 0;border-top:1px solid rgba(127,127,127,.16)}
.project-detail__body{max-width:980px;min-width:0;font-size:1.02rem;line-height:1.82}.project-detail__body>p:first-child{margin-top:0}.project-detail__body h2{margin:2rem 0 .7rem;font-size:clamp(1.4rem,2vw,2rem)}
.project-detail__case{margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(127,127,127,.14)}
.project-detail__actions{display:flex;justify-content:flex-start;gap:.75rem;flex-wrap:wrap;padding:.2rem 0 2rem}

/* V5.19.1 · full-width project gallery. */
.project-detail__gallery{padding:clamp(2rem,3.6vw,3.1rem) 0;border-top:1px solid rgba(127,127,127,.16)}
.project-detail__gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}
.project-detail__gallery-head>div{min-width:0}.project-detail__gallery-head>div>span{margin-bottom:.42rem}.project-detail__gallery-head h2{margin:0;color:#1d2733;font-size:clamp(1.55rem,2vw,2.05rem);letter-spacing:-.02em}.project-detail__gallery-head p{margin:.5rem 0 0;color:var(--muted,#687583);font-size:.9rem;line-height:1.5}
.project-detail__gallery-head>small{display:inline-flex;flex:0 0 auto;align-items:center;min-height:34px;padding:.45rem .75rem;border:1px solid rgba(197,30,45,.14);border-radius:999px;background:rgba(255,255,255,.72);color:#687583;font-size:.72rem;font-weight:800}
.project-detail__gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.project-detail__gallery-card{min-width:0;margin:0;overflow:hidden;border-radius:10px;background:#e8ebef;box-shadow:0 8px 24px rgba(20,38,62,.055)}
.project-detail__gallery-open{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:transparent;color:inherit;text-decoration:none;cursor:zoom-in;text-align:inherit;aspect-ratio:4/3}
.project-detail__gallery-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease,filter .28s ease}.project-detail__gallery-open:hover img{transform:scale(1.035);filter:brightness(.92)}
.project-detail__gallery-zoom{position:absolute;right:9px;bottom:9px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(17,24,34,.76);color:#fff;opacity:0;transform:translateY(4px);transition:.2s ease;backdrop-filter:blur(6px)}
.project-detail__gallery-zoom svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project-detail__gallery-open:hover .project-detail__gallery-zoom,.project-detail__gallery-open:focus-visible .project-detail__gallery-zoom{opacity:1;transform:none}

/* Compact premium related projects: maximum 3 cards, small thumb + title + CTA. */
.project-detail__related{padding:clamp(2.1rem,3.8vw,3.4rem) 0 clamp(2rem,4vw,3.4rem);border-top:1px solid rgba(127,127,127,.16)}
.project-detail__related-head{margin-bottom:1rem}.project-detail__related-head>span{margin-bottom:.36rem}.project-detail__related-head h2{margin:0;color:#1c2631;font-size:clamp(1.5rem,2vw,1.95rem);letter-spacing:-.025em}
.project-detail__related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.project-detail__related-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;min-width:0;min-height:126px;padding:11px;border:1px solid rgba(20,38,62,.09);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(20,38,62,.055);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.project-detail__related-card:hover{transform:translateY(-2px);border-color:rgba(197,30,45,.19);box-shadow:0 16px 34px rgba(20,38,62,.09)}
.project-detail__related-thumb{position:relative;display:block;min-height:104px;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,#edf0f2,#e3e7ea)}
.project-detail__related-thumb img{display:block;width:100%;height:100%;min-height:104px;object-fit:cover;transition:transform .28s ease}.project-detail__related-card:hover .project-detail__related-thumb img{transform:scale(1.035)}
.project-detail__related-thumb--empty::before,.project-detail__related-thumb--empty::after{content:"";position:absolute;top:18%;left:46%;width:7px;height:64%;background:rgba(197,30,45,.17);transform:skewX(-22deg)}.project-detail__related-thumb--empty::after{left:58%;background:rgba(197,30,45,.08)}
.project-detail__related-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:.2rem .35rem .2rem 0}.project-detail__related-copy strong{display:-webkit-box;overflow:hidden;color:#1d2733;font-size:.98rem;line-height:1.32;letter-spacing:-.012em;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-detail__related-more{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;color:var(--project-red);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.project-detail__related-more b{font-size:1rem;line-height:1;transition:transform .2s ease}.project-detail__related-card:hover .project-detail__related-more b{transform:translateX(3px)}

/* V5.19.1 · self-contained project lightbox; independent from generic gallery JS. */
.project-detail-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:28px;color:#fff;background:rgba(5,10,18,.95);backdrop-filter:blur(8px)}.project-detail-lightbox.is-open{display:flex}
.project-detail-lightbox__stage{position:relative;display:flex;width:min(1280px,100%);height:min(88vh,920px);align-items:center;justify-content:center}.project-detail-lightbox__image{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 26px 70px rgba(0,0,0,.42)}
.project-detail-lightbox__close,.project-detail-lightbox__prev,.project-detail-lightbox__next{position:absolute;z-index:2;display:grid;place-items:center;color:#fff;background:rgba(10,18,30,.76);border:1px solid rgba(255,255,255,.24);cursor:pointer;backdrop-filter:blur(8px)}.project-detail-lightbox__close{top:0;right:0;width:46px;height:46px;border-radius:50%;font-size:28px}.project-detail-lightbox__prev,.project-detail-lightbox__next{top:50%;width:48px;height:64px;border-radius:12px;font-size:30px;transform:translateY(-50%)}.project-detail-lightbox__prev{left:10px}.project-detail-lightbox__next{right:10px}
.project-detail-lightbox__meta{position:absolute;bottom:0;left:50%;width:min(760px,calc(100% - 120px));padding:11px 16px;color:#fff;background:rgba(8,15,25,.72);border:1px solid rgba(255,255,255,.12);border-radius:12px;text-align:center;transform:translateX(-50%);backdrop-filter:blur(9px)}.project-detail-lightbox__caption{font-size:14px}.project-detail-lightbox__counter{display:block;margin-top:4px;font-size:11px;opacity:.72}.project-detail-lightbox-open{overflow:hidden}

@media(max-width:1180px){.project-detail__gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-detail__related-card{grid-template-columns:112px minmax(0,1fr)}.project-detail__related-thumb,.project-detail__related-thumb img{min-height:96px}}
@media(max-width:980px){.project-detail__intro{grid-template-columns:1fr;gap:1.8rem}.project-detail__cover{max-width:680px}.project-detail__gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail__related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.project-detail__masthead-inner{padding:2rem 0 2.4rem}.project-detail__masthead h1{font-size:clamp(1.85rem,8.5vw,2.65rem)}.project-detail__masthead::after{right:-10px;top:-90px}.project-detail__intro{padding:1.8rem 0}.project-detail__facts{gap:7px}.project-detail__fact{min-width:calc(50% - 4px);border-radius:12px}.project-detail__gallery-head{align-items:flex-start}.project-detail__gallery-head>small{display:none}.project-detail__gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-detail__related-grid{grid-template-columns:1fr}.project-detail__related-card{grid-template-columns:116px minmax(0,1fr)}.project-detail-lightbox{padding:12px}.project-detail-lightbox__stage{height:90vh}.project-detail-lightbox__prev,.project-detail-lightbox__next{width:42px;height:54px}.project-detail-lightbox__meta{width:calc(100% - 96px)}}
@media(max-width:460px){.project-detail__gallery-grid{grid-template-columns:1fr}.project-detail__social{width:100%;justify-content:center}.project-detail__fact{min-width:100%}.project-detail__related-card{grid-template-columns:96px minmax(0,1fr);gap:11px}.project-detail__related-thumb,.project-detail__related-thumb img{min-height:88px}.project-detail__related-copy strong{font-size:.92rem}.project-detail__related-more{margin-top:.55rem;font-size:.7rem}}

/* ==========================================================================
   V5.19.3 · Project gallery uses the proven actuality lightbox runtime.
   The JS is loaded globally from footer.php. Project pages do not load the
   actuality-content component CSS, so the modal styles are mirrored here.
========================================================================== */
.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:#fff;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;
}
.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:#fff;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; }
.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; }
body.actuality-lightbox-open { overflow:hidden; }

@media (max-width:900px) {
    .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-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,.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:#fff;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; }
}

/* ==========================================================================
   V5.24.3 · Project detail navigation + actuality-style cover hero
   - cover image becomes the hero background (no duplicate cover below)
   - compact facts row lives below the hero
   - projects without a cover keep the existing light masthead fallback
========================================================================== */
.project-detail__hero-image,
.project-detail__hero-overlay {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.project-detail__hero-image {
    z-index:0;
    object-fit:cover;
}
.project-detail__hero-overlay {
    z-index:0;
    background:
        linear-gradient(90deg,rgba(8,13,18,.94) 0%,rgba(8,13,18,.76) 48%,rgba(8,13,18,.28) 100%),
        linear-gradient(0deg,rgba(8,13,18,.72) 0%,rgba(8,13,18,.08) 58%,rgba(8,13,18,.18) 100%);
}
.project-detail__masthead.has-image {
    display:flex;
    min-height:520px;
    align-items:flex-end;
    color:#fff;
    background:#121820;
    border-bottom:0;
}
.project-detail__masthead.has-image::after { display:none; }
.project-detail__masthead.has-image .project-detail__masthead-inner {
    width:100%;
    padding-top:clamp(7rem,12vw,9rem);
    padding-bottom:clamp(3.2rem,6vw,4.8rem);
}
.project-detail__masthead.has-image .project-detail__breadcrumbs {
    color:rgba(255,255,255,.62);
}
.project-detail__masthead.has-image .project-detail__breadcrumbs a {
    color:rgba(255,255,255,.84);
}
.project-detail__masthead.has-image .project-detail__breadcrumbs a:hover { color:#fff; }
.project-detail__masthead.has-image .project-detail__breadcrumbs span[aria-hidden="true"] { color:rgba(255,255,255,.48); }
.project-detail__masthead.has-image .project-detail__masthead-kicker { color:rgba(255,255,255,.7); }
.project-detail__hero-meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:.25rem 0 1rem;
}
.project-detail__hero-meta span {
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.38rem .72rem;
    border:1px solid rgba(197,30,45,.2);
    border-radius:999px;
    color:var(--project-red);
    background:rgba(197,30,45,.06);
    font-size:.7rem;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.project-detail__hero-meta small {
    color:var(--muted,#687583);
    font-size:.76rem;
    font-weight:750;
}
.project-detail__masthead.has-image .project-detail__hero-meta span {
    color:#fff;
    background:var(--project-red);
    border-color:var(--project-red);
}
.project-detail__masthead.has-image .project-detail__hero-meta small { color:rgba(255,255,255,.72); }
.project-detail__masthead.has-image h1 {
    max-width:1160px;
    color:#fff;
    font-size:clamp(2.35rem,4.2vw,4.3rem);
    line-height:1.01;
    letter-spacing:-.04em;
    text-wrap:balance;
}
.project-detail__hero-lead {
    max-width:820px;
    margin:1.25rem 0 0;
    color:var(--muted,#5c6875);
    font-size:clamp(1rem,1.5vw,1.18rem);
    line-height:1.65;
}
.project-detail__masthead.has-image .project-detail__hero-lead { color:rgba(255,255,255,.82); }
.project-detail__info {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.25rem;
    padding:1.35rem 0 1.55rem;
    border-bottom:1px solid rgba(127,127,127,.16);
}
.project-detail__info .project-detail__facts { margin-top:0; }
.project-detail__info .project-detail__social { flex:0 0 auto;margin-top:0; }
.project-detail__info + .project-detail__content { border-top:0; }
.project-detail__info + .project-detail__gallery { border-top:0; }
.project-detail__info + .project-detail__actions { padding-top:1.4rem; }

@media(max-width:900px) {
    .project-detail__masthead.has-image { min-height:470px; }
    .project-detail__info { align-items:flex-start;flex-direction:column; }
}
@media(max-width:720px) {
    .project-detail__masthead.has-image { min-height:430px; }
    .project-detail__masthead.has-image .project-detail__masthead-inner { padding-top:6.5rem;padding-bottom:2.8rem; }
    .project-detail__masthead.has-image h1 { font-size:clamp(2rem,9vw,3rem); }
    .project-detail__hero-lead { margin-top:1rem;font-size:1rem;line-height:1.55; }
    .project-detail__hero-meta { margin-bottom:.8rem; }
    .project-detail__info { padding:1.1rem 0 1.35rem; }
    .project-detail__info .project-detail__social { width:100%;justify-content:center; }
}

/* ========================================================================
   V5.24.6 · Project detail uses the same standard .container as header/news.
   Alignment is now controlled by the shared NESA container, not custom widths.
========================================================================== */
.project-detail__masthead-inner { width:100%; }
.project-detail__hero-content { margin-inline:auto; }


/* ==========================================================================
   V5.24.7 · Project detail = one horizontal grid
   Hero content and every section below use the exact same 1180px NESA
   .container geometry as Header and Actuality detail.
============================================================================ */
.project-detail__hero-content,
.project-detail__container {
    width:min(var(--container,1180px),calc(100% - 40px));
    margin-inline:auto;
}

@media(max-width:720px){
    .project-detail__hero-content,
    .project-detail__container {
        width:min(var(--container,1180px),calc(100% - 40px));
    }
}

