/* Costão Matsuri: presentation for the editable Elementor campaign only. */
.mkl-landing {
    --mkl-paper: #f7f5ee;
    --mkl-ink: #17221e;
    --mkl-muted: #5d655d;
    --mkl-red: #b21e32;
    --mkl-red-dark: #8e1326;
    --mkl-blush: #f1d9d6;
    --mkl-line: #dedfd5;
    --mkl-night: #152720;
    --mkl-night-soft: #b8c9bf;
    --mkl-lime: #e8edc6;
    --mkl-overlay: rgba(9, 19, 16, .76);
    --mkl-glass: rgba(255, 255, 255, .18);
    --mkl-gutter: 44px;
    --mkl-transition: .2s ease;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    gap: 0;
    flex-direction: column;
    color: var(--mkl-ink);
    background: var(--mkl-paper);
    font: 400 16px/1.5 'DM Sans', Arial, sans-serif;
    color-scheme: light;
    isolation: isolate;
    overflow: clip;
}

.mkl-landing * { box-sizing: border-box; }
.mkl-landing .e-con {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    gap: 0;
    flex-direction: column;
}
.mkl-landing :where(h1, h2, h3, h4, p, figure) { margin: 0; }
.mkl-landing :where(a) { color: inherit; text-decoration: none; }
.mkl-landing :where(button, input, select, textarea) { font: inherit; }
.mkl-landing :where(button, summary, a) { -webkit-tap-highlight-color: transparent; }
.mkl-landing :where(button, summary) { cursor: pointer; }
.mkl-landing :where(img) { max-width: 100%; }
.mkl-landing :where([hidden]) { display: none !important; }
.mkl-landing :where(section) { scroll-margin-top: 24px; }
.mkl-landing :where(a, button, summary, input, select, textarea):focus-visible {
    outline: 3px solid var(--mkl-red);
    outline-offset: 4px;
}
.mkl-landing :where(.mkl-resort, .mkl-contact) :where(a, button, summary):focus-visible {
    outline-color: var(--mkl-lime);
}
.mkl-landing .elementor-widget { min-width: 0; margin-block-end: 0; }
.mkl-landing .mkl-wrap {
    width: min(1180px, calc(100% - var(--mkl-gutter) * 2));
    margin-inline: auto;
}
.mkl-landing .mkl-kicker {
    padding-bottom: 7px;
    color: var(--mkl-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.mkl-landing :where(h2.elementor-heading-title) {
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -2px;
}
.mkl-landing .mkl-copy { color: var(--mkl-muted); }

/* Buttons keep their Elementor typography/color controls editable. */
.mkl-landing .mkl-action .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 0;
    border-radius: 99px;
    background: var(--mkl-red);
    color: var(--nikko-surface, #fff);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-decoration: none;
    transition: background var(--mkl-transition), transform var(--mkl-transition);
}
.mkl-landing .mkl-action .elementor-button-content-wrapper {
    align-items: center;
    gap: 20px;
}
.mkl-landing .mkl-action .elementor-button-icon { display: inline-flex; }
.mkl-landing .mkl-action .elementor-button-icon :where(i, svg) {
    width: 1em;
    height: 1em;
    color: inherit;
    fill: currentColor;
}
.mkl-landing .mkl-action .elementor-button:hover {
    background: var(--mkl-red-dark);
    transform: translateY(-2px);
}

/* Own navigation; no relationship to the shared site header. */
.mkl-landing .mkl-header {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 86px;
    background: var(--mkl-paper);
}
.mkl-landing .mkl-brand {
    position: relative;
    width: auto;
    flex: 0 0 auto;
    padding-left: 41px;
    line-height: 1.03;
}
.mkl-landing .mkl-brand::before {
    position: absolute;
    left: 0;
    top: 2px;
    width: 30px;
    height: 36px;
    border-radius: 50%;
    background: repeating-linear-gradient(0deg, transparent 0 2px, var(--mkl-red) 2px 5px);
    transform: rotate(-14deg);
    content: '';
}
.mkl-landing .mkl-brand::after {
    position: absolute;
    left: 16px;
    top: 2px;
    height: 36px;
    width: 2px;
    background: var(--mkl-paper);
    content: '';
}
.mkl-landing .mkl-brand .elementor-heading-title {
    font-size: 23px;
    font-weight: 650;
    letter-spacing: 1.4px;
    line-height: 1.03;
}
.mkl-landing .mkl-brand .elementor-widget-text-editor {
    margin-top: 4px;
    font-size: 11px;
    letter-spacing: 3.3px;
}
.mkl-landing .mkl-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 25px;
    width: auto;
}
.mkl-landing .mkl-nav > .elementor-widget { width: auto; flex: 0 0 auto; }
.mkl-landing .mkl-nav :where(.elementor-button) {
    position: relative;
    padding: 12px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--mkl-ink);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.mkl-landing .mkl-nav-link :where(.elementor-button)::after {
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 6px;
    height: 2px;
    background: var(--mkl-red);
    transition: right var(--mkl-transition);
    content: '';
}
.mkl-landing .mkl-nav-link :where(.elementor-button:hover)::after { right: 0; }
.mkl-landing .mkl-nav-cta :where(.elementor-button) {
    padding: 12px 18px;
    border: 1px solid var(--mkl-ink);
    border-radius: 99px;
}
.mkl-landing .mkl-menu-toggle { display: none; }

/* Full-bleed festival hero. */
.mkl-landing .mkl-hero {
    position: relative;
    display: flex;
    justify-content: flex-end;
    min-height: 650px;
    overflow: hidden;
    color: var(--nikko-surface, #fff);
    background: var(--mkl-night);
}
.mkl-landing .mkl-hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.mkl-landing .mkl-hero-photo :where(.elementor-widget-container, a) {
    display: block;
    width: 100%;
    height: 100%;
}
.mkl-landing .mkl-hero-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 43%;
}
.mkl-landing .mkl-hero::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 13, 20, .12) 18%, rgba(9, 14, 20, .06) 35%, rgba(9, 14, 20, .74) 74%, rgba(9, 14, 20, .94) 100%);
    pointer-events: none;
    content: '';
}
.mkl-landing .mkl-event-date {
    position: absolute;
    top: 28px;
    left: var(--mkl-gutter);
    z-index: 1;
    width: auto;
    padding: 9px 15px;
    border: 1px solid var(--mkl-glass);
    border-radius: 99px;
    background: var(--mkl-overlay);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .5px;
}
.mkl-landing .mkl-event-date :where(p)::before {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--mkl-lime);
    vertical-align: middle;
    content: '';
}
.mkl-landing .mkl-hero-inner {
    position: relative;
    z-index: 1;
    padding-block: 34px 38px;
}
.mkl-landing .mkl-hero-title .elementor-heading-title {
    color: var(--nikko-surface, #fff);
    font-size: clamp(82px, 10.8vw, 142px);
    font-weight: 650;
    letter-spacing: -6px;
    line-height: .9;
}
.mkl-landing .mkl-hero-title small {
    display: block;
    margin-bottom: 4px;
    font-size: .36em;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -1.5px;
}
.mkl-landing .mkl-year {
    margin-top: 18px;
    padding-bottom: 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.8px;
}
.mkl-landing .mkl-hero-copy {
    width: min(420px, 100%);
    padding-bottom: 23px;
    color: var(--nikko-surface, #fff);
    font-size: 17px;
    line-height: 1.55;
}
.mkl-landing .mkl-hero :where(.elementor-button) {
    color: var(--mkl-ink);
    background: var(--mkl-paper);
}
.mkl-landing .mkl-hero :where(.elementor-button:hover) { background: var(--mkl-lime); }
.mkl-landing .mkl-facts {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-block: 21px;
    border-bottom: 1px solid var(--mkl-line);
    font-size: 13px;
}
.mkl-landing :is(.mkl-fact, .mkl-highlight, .mkl-contact-human) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 9px;
    width: auto;
}
.mkl-landing :is(.mkl-fact-icon, .mkl-highlight-icon) {
    flex: 0 0 auto;
    width: 17px;
    color: var(--mkl-red);
}
.mkl-landing :is(.mkl-fact-icon, .mkl-highlight-icon) :where(.elementor-icon) {
    display: flex;
    font-size: 17px;
    color: inherit;
}
.mkl-landing :is(.mkl-fact-icon, .mkl-highlight-icon) svg { width: 1em; height: 1em; fill: currentColor; }

/* Six individually editable festival photographs. */
.mkl-landing .mkl-festival { padding-block: 62px 58px; }
.mkl-landing .mkl-festival-heading { margin-bottom: 27px; }
.mkl-landing .mkl-festival-heading .mkl-copy {
    width: min(600px, 100%);
    margin-top: 13px;
    font-size: 17px;
    line-height: 1.55;
}
.mkl-landing .mkl-festival-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px 19px;
}
.mkl-landing .mkl-festival-moment { min-width: 0; }
.mkl-landing .mkl-festival-image :where(a) {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 14px;
    background: var(--mkl-night);
}
.mkl-landing .mkl-festival-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.mkl-landing .mkl-festival-image :where(a:hover) img { transform: scale(1.035); }
.mkl-landing .mkl-festival-caption { padding: 12px 23px 0 2px; position: relative; }
.mkl-landing .mkl-festival-caption .elementor-heading-title {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -.25px;
}
.mkl-landing .mkl-festival-caption::after {
    position: absolute;
    right: 2px;
    top: 11px;
    color: var(--mkl-red);
    font-size: 19px;
    line-height: 1;
    content: '↗';
}
.mkl-landing .mkl-photo-kimono img { object-position: 50% 38%; }
.mkl-landing .mkl-photo-jantar img { object-position: 50% 57%; }
.mkl-landing .mkl-source-note {
    margin-top: 15px;
    color: var(--mkl-muted);
    font-size: 11px;
}

/* Native accordion skins are shared by agenda, offer conditions and FAQ. */
.mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) {
    --n-accordion-title-font-size: 13px;
    --n-accordion-border-width: 0;
    --n-accordion-border-radius: 0;
    --n-accordion-padding: 13px 0;
    --n-accordion-title-justify-content: space-between;
    --n-accordion-title-icon-order: 1;
    --n-accordion-title-normal-color: var(--mkl-ink);
    --n-accordion-title-hover-color: var(--mkl-red);
    --n-accordion-title-active-color: var(--mkl-ink);
    --n-accordion-icon-normal-color: var(--mkl-red);
    --n-accordion-icon-hover-color: var(--mkl-red-dark);
    --n-accordion-icon-active-color: var(--mkl-red);
    --n-accordion-icon-size: 16px;
}
.mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) .e-n-accordion-item-title {
    min-height: 50px;
    font-weight: 500;
    gap: 18px;
}
.mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) .e-n-accordion-item-title-header { flex: 1; }
.mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) .e-n-accordion-item {
    border-bottom: 1px solid var(--mkl-line);
}
.mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) :where(.e-n-accordion-item > .e-con) {
    padding: 0 28px 17px 0;
    color: var(--mkl-muted);
    font-size: 13px;
    line-height: 1.65;
}
.mkl-landing .mkl-agenda { margin-top: 23px; border-top: 1px solid var(--mkl-line); }
.mkl-landing .mkl-agenda-common { margin-bottom: 18px; padding: 16px; border: 1px solid var(--mkl-line); border-radius: 12px; background: var(--nikko-surface, #fff); font-size: 13px; line-height: 1.65; }
.mkl-landing .mkl-agenda-common :where(p + p) { margin-top: 8px; }
.mkl-landing .mkl-agenda-common :where(strong) { color: var(--mkl-ink); font-weight: 600; }
.mkl-landing .mkl-agenda-tabs {
    --n-tabs-gap: 18px;
    --n-tabs-title-gap: 8px;
    --n-tabs-heading-wrap: wrap;
    --n-tabs-heading-justify-content: flex-start;
    --n-tabs-title-flex-grow: 1;
    --n-tabs-title-font-size: 12px;
    --n-tabs-title-background-color: var(--nikko-surface, #fff);
    --n-tabs-title-background-color-hover: var(--mkl-paper);
    --n-tabs-title-background-color-active: var(--mkl-ink);
    --n-tabs-title-color: var(--mkl-ink);
    --n-tabs-title-color-hover: var(--mkl-red);
    --n-tabs-title-color-active: var(--nikko-surface, #fff);
    --n-tabs-title-padding-top: 8px;
    --n-tabs-title-padding-right: 8px;
    --n-tabs-title-padding-bottom: 8px;
    --n-tabs-title-padding-left: 8px;
    --n-tabs-title-border-radius: 8px;
}
.mkl-landing .mkl-agenda-tabs .e-n-tabs-heading {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.mkl-landing .mkl-agenda-tabs .e-n-tab-title { min-height: 44px; border: 1px solid var(--mkl-line); }
.mkl-landing .mkl-agenda-tabs .e-n-tab-title[aria-selected='true'] { border-color: var(--mkl-ink); }
.mkl-landing .mkl-agenda-tabs .mkl-program-panel.e-active { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: start; gap: 22px; }
.mkl-landing .mkl-agenda-tabs :where(h3) { font-size: 16px; font-weight: 600; white-space: nowrap; }
.mkl-landing .mkl-program-description { font-size: 14px; line-height: 1.6; }
.mkl-landing .mkl-program-description :where(ul) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; padding-left: 18px; }
.mkl-landing .mkl-program-description :where(li) { padding-left: 2px; overflow-wrap: anywhere; }
.mkl-landing .mkl-program-description :where(li)::marker { color: var(--mkl-red); }
.mkl-landing .mkl-agenda-note { margin-top: 14px; color: var(--mkl-muted); font-size: 11px; line-height: 1.6; }

/* Resort's native vertical tabs, with the heading above the selector. */
.mkl-landing .mkl-resort { padding-block: 48px; background: var(--mkl-night); color: var(--mkl-paper); }
.mkl-landing .mkl-resort-inner { display: grid; grid-template-columns: .78fr 1.65fr; column-gap: 42px; }
.mkl-landing .mkl-resort-heading { grid-column: 1; grid-row: 1; align-self: end; }
.mkl-landing .mkl-resort .mkl-kicker { color: var(--mkl-night-soft); }
.mkl-landing .mkl-resort-heading .mkl-copy { width: min(240px, 100%); margin-top: 15px; font-size: 17px; color: var(--mkl-night-soft); }
.mkl-landing .mkl-resort-tabs {
    --n-tabs-gap: 42px;
    --n-tabs-heading-width: 29%;
    --n-tabs-title-gap: 0;
    --n-tabs-title-justify-content: flex-start;
    --n-tabs-title-align-items: flex-start;
    --n-tabs-title-text-align: start;
    --n-tabs-title-font-size: 14px;
    --n-tabs-title-background-color: transparent;
    --n-tabs-title-background-color-hover: transparent;
    --n-tabs-title-background-color-active: transparent;
    --n-tabs-title-color: var(--mkl-night-soft);
    --n-tabs-title-color-hover: var(--nikko-surface, #fff);
    --n-tabs-title-color-active: var(--nikko-surface, #fff);
    --n-tabs-title-padding-top: 14px;
    --n-tabs-title-padding-right: 0px;
    --n-tabs-title-padding-bottom: 14px;
    --n-tabs-title-padding-left: 0px;
    display: contents;
}
.mkl-landing .mkl-resort-tabs > :where(.elementor-widget-container, .e-n-tabs),
.mkl-landing .mkl-resort-tabs > :where(.elementor-widget-container) > :where(.e-n-tabs) { display: contents; }
.mkl-landing .mkl-resort-tabs .e-n-tabs-heading { grid-column: 1; grid-row: 2; padding-top: 28px; }
.mkl-landing .mkl-resort-tabs .e-n-tabs-content { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.mkl-landing .mkl-resort-tabs .e-n-tab-title {
    position: relative;
    min-height: 49px;
    border: 0;
    border-bottom: 1px solid rgba(184, 201, 191, .23);
    text-align: left;
}
.mkl-landing .mkl-resort-tabs .e-n-tab-title::after {
    width: 7px;
    height: 7px;
    margin-left: auto;
    align-self: center;
    border: 1px solid var(--mkl-night-soft);
    border-radius: 50%;
    content: '';
}
.mkl-landing .mkl-resort-tabs .e-n-tab-title[aria-selected='true']::after {
    border-color: var(--mkl-lime);
    background: var(--mkl-lime);
}
.mkl-landing .mkl-resort-image img {
    display: block;
    width: 100%;
    height: 363px;
    border-radius: var(--nikko-radius-md, 18px);
    object-fit: cover;
    object-position: 50% 35%;
}
.mkl-landing .mkl-resort-caption {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    min-height: 50px;
    padding-top: 14px;
    color: var(--mkl-night-soft);
    font-size: 12px;
}
.mkl-landing .mkl-resort-caption-title { width: auto; color: var(--mkl-paper); }
.mkl-landing .mkl-resort-note { max-width: 300px; font-size: 11px; text-align: right; }
.mkl-landing .mkl-resort-cta { grid-column: 1; grid-row: 3; width: auto; margin-top: 23px; align-self: start; }
.mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--mkl-lime);
    border-radius: 99px;
    background: var(--mkl-lime);
    color: var(--mkl-night);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
    transition: background var(--mkl-transition), transform var(--mkl-transition);
}
.mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button-content-wrapper { align-items: center; gap: 12px; }
.mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button-icon { display: inline-flex; }
.mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button-icon svg { width: 1em; height: 1em; fill: currentColor; }
.mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button:is(:hover, :focus-visible) { background: var(--mkl-paper); transform: translateY(-2px); }
.mkl-landing .mkl-resort-playback { display: flex; align-items: center; gap: 12px; margin-top: 8px; color: var(--mkl-night-soft); font-size: 12px; }
.mkl-landing .mkl-resort-playback button { min-height: 44px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: inherit; font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }
.mkl-landing .mkl-resort-playback button:hover { color: var(--mkl-paper); }
.mkl-landing .mkl-resort-panel.e-active .mkl-resort-image img { animation: mkl-resort-reveal .45s ease; }
@keyframes mkl-resort-reveal { from { opacity: .4; } to { opacity: 1; } }

/* Three offer selectors and one visible editable panel. */
.mkl-landing .mkl-packages { padding-block: 61px 50px; }
.mkl-landing .mkl-section-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 25px;
}
.mkl-landing .mkl-package-intro { flex: 0 0 240px; width: 240px; color: var(--mkl-muted); font-size: 16px; }
.mkl-landing .mkl-package-tabs {
    --n-tabs-gap: 18px;
    --n-tabs-title-gap: 12px;
    --n-tabs-heading-wrap: nowrap;
    --n-tabs-heading-width: auto;
    --n-tabs-title-width: 100%;
    --n-tabs-title-flex-grow: 1;
    --n-tabs-title-flex-shrink: 1;
    --n-tabs-title-flex-basis: 0;
    --n-tabs-title-justify-content: stretch;
    --n-tabs-title-align-items: stretch;
    --n-tabs-title-text-align: start;
    --n-tabs-title-background-color: var(--nikko-surface, #fff);
    --n-tabs-title-background-color-hover: var(--mkl-paper);
    --n-tabs-title-background-color-active: var(--mkl-red);
    --n-tabs-title-color: var(--mkl-ink);
    --n-tabs-title-color-hover: var(--mkl-red);
    --n-tabs-title-color-active: var(--nikko-surface, #fff);
    --n-tabs-title-padding-top: 19px;
    --n-tabs-title-padding-right: 19px;
    --n-tabs-title-padding-bottom: 19px;
    --n-tabs-title-padding-left: 19px;
    --n-tabs-title-border-radius: 14px;
}
.mkl-landing .mkl-package-tabs .e-n-tabs-heading { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mkl-landing .mkl-package-tabs .e-n-tab-title {
    min-width: 0;
    border: 1px solid var(--mkl-line);
    transition: background var(--mkl-transition), border-color var(--mkl-transition), color var(--mkl-transition);
}
.mkl-landing .mkl-package-tabs .e-n-tab-title[aria-selected='true'] { border-color: var(--mkl-red); }
.mkl-landing .mkl-package-tabs .e-n-tab-title-text { display: block; width: 100%; }
.mkl-landing .mkl-period-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; }
.mkl-landing .mkl-period-top > :where(span:first-child) { padding: 3px 8px; border: 1px solid currentColor; border-radius: 99px; }
.mkl-landing .mkl-period-check { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; }
.mkl-landing .mkl-period-check::before { content: ''; }
.mkl-landing .mkl-package-tabs :where([aria-selected='true']) .mkl-period-check::before { content: '✓'; }
.mkl-landing .mkl-period-date { display: block; margin-top: 14px; font-size: 32px; font-weight: 500; line-height: 1.1; letter-spacing: -1.6px; }
.mkl-landing .mkl-period-date :where(span) { margin-inline: 3px; font-size: 23px; font-weight: 400; opacity: .6; }
.mkl-landing .mkl-period-month { display: block; margin-top: 6px; font-size: 11px; letter-spacing: .5px; }
.mkl-landing .mkl-offer {
    padding: 28px 28px 0;
    border: 1px solid var(--mkl-line);
    border-bottom: 0;
    border-radius: var(--nikko-radius-md, 18px) var(--nikko-radius-md, 18px) 0 0;
    background: var(--nikko-surface, #fff);
}
.mkl-landing .mkl-offer-main { display: grid; grid-template-columns: 1.1fr 1fr; gap: 34px; padding-bottom: 24px; }
.mkl-landing .mkl-offer-title .elementor-heading-title { max-width: 330px; font-size: 25px; font-weight: 600; line-height: 1.2; letter-spacing: -.8px; }
.mkl-landing .mkl-stay-dates { display: flex; flex-direction: row; align-items: center; gap: 19px; margin-top: 20px; }
.mkl-landing :is(.mkl-check-in, .mkl-check-out) { width: auto; font-size: 14px; font-weight: 500; }
.mkl-landing :is(.mkl-check-in, .mkl-check-out) :where(span) { display: block; font-size: 11px; font-weight: 400; color: var(--mkl-muted); }
.mkl-landing .mkl-check-in::after { content: none; }
.mkl-landing .mkl-stay-arrow { width: auto; color: var(--mkl-red); font-size: 20px; }
.mkl-landing .mkl-offer-highlights { display: flex; gap: 9px; margin-top: 21px; font-size: 12px; }
.mkl-landing :is(.mkl-offer-highlights, .mkl-offer-price-area) > .elementor-widget-text-editor:not(.mkl-copy) {
    color: var(--mkl-muted);
    font-size: 13px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}
.mkl-landing :is(.mkl-offer-highlights, .mkl-offer-price-area) > .elementor-widget-text-editor:not(.mkl-copy) :where(p + p) { margin-top: 6px; }
.mkl-landing .mkl-offer-highlights .proto-textlink {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 5px;
    padding: 9px 14px;
    border: 1px solid var(--mkl-line);
    border-radius: 99px;
    background: var(--mkl-paper);
    color: var(--mkl-red);
    font-weight: 600;
    text-decoration: none;
    text-wrap: balance;
    transition: background var(--mkl-transition), border-color var(--mkl-transition), color var(--mkl-transition);
}
.mkl-landing .mkl-offer-highlights .proto-textlink:is(:hover, :focus-visible) {
    border-color: var(--mkl-red);
    background: var(--mkl-red);
    color: var(--nikko-surface, #fff);
}
.mkl-landing .mkl-highlight-icon { width: 16px; }
.mkl-landing .mkl-highlight-icon :where(.elementor-icon) { font-size: 16px; }
.mkl-landing .mkl-offer-price-area {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-left: 34px;
    border-left: 1px solid var(--mkl-line);
}
.mkl-landing .mkl-price-label { color: var(--mkl-muted); font-size: 11px; font-weight: 600; letter-spacing: 1.1px; }
.mkl-landing .mkl-offer-price { margin-top: 5px; color: var(--mkl-red); font-size: 40px; font-weight: 600; line-height: 1.2; letter-spacing: -1.8px; white-space: nowrap; }
.mkl-landing .mkl-price-basis { margin-top: 4px; color: var(--mkl-muted); font-size: 11px; }
.mkl-landing .mkl-price-condition { margin-top: 9px; color: var(--mkl-muted); font-size: 11px; line-height: 1.5; }
.mkl-landing .mkl-offer-cta { margin-top: 20px; }
.mkl-landing .mkl-offer .mkl-offer-cta .elementor-button { padding-inline: 18px; font-size: 12px; white-space: nowrap; }
.mkl-landing .mkl-offer .mkl-offer-cta .elementor-button-content-wrapper { gap: 13px; }
.mkl-landing .mkl-festival > .mkl-action { align-self: flex-start; width: auto; }
.mkl-landing .mkl-price-note { margin-top: 10px; color: var(--mkl-muted); font-size: 11px; line-height: 1.5; }
.mkl-landing .mkl-offer-price-area > .elementor-widget-text-editor:not(.mkl-copy) {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--mkl-line);
    border-radius: 12px;
    background: var(--mkl-paper);
}
.mkl-landing .mkl-offer-price-area > .elementor-widget-text-editor:not(.mkl-copy) :where(strong) { color: var(--mkl-ink); font-weight: 600; }
.mkl-landing .mkl-offer-common { padding: 0 28px 28px; border: 1px solid var(--mkl-line); border-top: 0; border-radius: 0 0 var(--nikko-radius-md, 18px) var(--nikko-radius-md, 18px); background: var(--nikko-surface, #fff); }
.mkl-landing .mkl-terms { border-top: 1px solid var(--mkl-line); }
.mkl-landing .mkl-offer-assistance { padding-top: 16px; color: var(--mkl-muted); font-size: 11px; }
.mkl-landing .mkl-offer-assistance :where(a) { display: inline-flex; align-items: center; min-height: 36px; margin-left: 7px; color: var(--mkl-red); font-weight: 600; }

/* Native editable reasons to reserve with Nikko, between packages and FAQ. */
.mkl-landing .mkl-reasons { padding-bottom: 50px; }
.mkl-landing .mkl-reasons-layout {
    display: grid;
    grid-template-columns: .85fr 1.55fr;
    align-items: start;
    gap: 40px;
    padding-top: 36px;
    border-top: 1px solid var(--mkl-line);
}
.mkl-landing .mkl-reasons-heading { align-items: flex-start; }
.mkl-landing .mkl-reasons :is(.mkl-reasons-title, .mkl-reason-title).elementor-widget-heading .elementor-heading-title {
    color: var(--mkl-ink);
}
.mkl-landing .mkl-reasons-title .elementor-heading-title {
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -1.2px;
}
.mkl-landing .mkl-reasons-intro { margin-top: 16px; font-size: 15px; }
.mkl-landing .mkl-reasons-cta { width: auto; margin-top: 22px; }
.mkl-landing .mkl-reasons-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mkl-landing .mkl-reason {
    align-items: flex-start;
    gap: 10px;
    padding: 22px;
    border: 1px solid var(--mkl-line);
    border-radius: var(--nikko-radius-md, 18px);
    background: var(--nikko-surface, #fff);
}
.mkl-landing .mkl-reason-icon { width: auto; }
.mkl-landing .mkl-reason-icon .elementor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--mkl-paper);
    color: var(--mkl-red);
    font-size: 19px;
}
.mkl-landing .mkl-reason-icon :where(svg) { width: 1em; height: 1em; fill: currentColor; }
.mkl-landing .mkl-reason-title .elementor-heading-title {
    font-size: 16px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: -.3px;
}
.mkl-landing .mkl-reason-copy { font-size: 14px; line-height: 1.6; }

/* Questions and the always-visible contact form. */
.mkl-landing .mkl-questions { padding-bottom: 55px; }
.mkl-landing .mkl-faq-layout { display: grid; grid-template-columns: .72fr 1.65fr; gap: 42px; padding-top: 37px; border-top: 1px solid var(--mkl-line); }
.mkl-landing .mkl-faq-heading :where(h2) { font-size: 32px; letter-spacing: -1px; }
.mkl-landing .mkl-contact { padding-block: 47px; background: var(--mkl-red); color: var(--nikko-surface, #fff); }
.mkl-landing .mkl-contact-layout { display: grid; grid-template-columns: .92fr 1.18fr; align-items: center; gap: 56px; }
.mkl-landing .mkl-contact .mkl-kicker { color: var(--mkl-blush); }
.mkl-landing .mkl-contact-copy :where(h2) { max-width: 330px; font-size: clamp(36px, 4.5vw, 54px); letter-spacing: -2px; }
.mkl-landing .mkl-contact-intro { width: min(280px, 100%); margin-top: 16px; color: var(--mkl-blush); font-size: 17px; }
.mkl-landing .mkl-selected-label { margin-top: 31px; color: var(--mkl-blush); font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; }
.mkl-landing .mkl-selected-period { margin-top: 4px; font-size: 21px; letter-spacing: -.5px; }
.mkl-landing .mkl-contact-human { margin-top: 34px; font-size: 12px; font-weight: 500; }
.mkl-landing .mkl-contact-copy > .elementor-widget-text-editor:not(.mkl-copy) {
    max-width: 40ch;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--mkl-glass);
    color: var(--mkl-paper);
    font-size: 14px;
    line-height: 1.65;
}
.mkl-landing .mkl-contact-form { padding: 26px; border-radius: var(--nikko-radius-md, 18px); background: var(--mkl-paper); color: var(--mkl-ink); }
.mkl-landing .mkl-contact-form :where(h3) { margin-bottom: 20px; font-size: 19px; font-weight: 600; letter-spacing: -.4px; }
.mkl-landing .mkl-form-shortcode :where(.formlayer-form-wrapper, .formlayer-form, .formlayer-form-fields-wrapper) { margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
.mkl-landing .mkl-form-shortcode .formlayer-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 13px; }
.mkl-landing .mkl-form-shortcode :where(.formlayer-field-wrap) { min-width: 0; margin: 0; padding: 0; }
.mkl-landing .mkl-form-shortcode :where(label, .formlayer-field-label) { display: block; margin-bottom: 6px; color: var(--mkl-ink); font-size: 11px; font-weight: 600; }
.mkl-landing .mkl-form-shortcode :where(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea) {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--mkl-line);
    border-radius: 8px;
    color: var(--mkl-ink);
    background: var(--nikko-surface, #fff);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}
.mkl-landing .mkl-form-shortcode :where(.mkl-field-name, .mkl-field-period, .mkl-field-ages, .mkl-field-privacy, .mkl-field-submit, .formlayer-terms-wrap, .formlayer-captcha-container, .formlayer-submit-wrap) { grid-column: 1 / -1; }
.mkl-landing .mkl-form-shortcode :where(.formlayer-terms-wrap) { margin-top: 12px; font-size: 11px; line-height: 1.55; }
.mkl-landing .mkl-form-shortcode :where(.formlayer-terms-wrap label) { font-size: inherit; font-weight: 400; }
.mkl-landing .mkl-form-shortcode .formlayer-terms-label { color: var(--mkl-ink); font-size: 11px; line-height: 1.55; }
.mkl-landing .formlayer-terms-label a { color: var(--mkl-red); text-decoration: underline; }
.mkl-landing .mkl-form-shortcode :where(input[type='checkbox']) { margin-right: 6px; accent-color: var(--mkl-red); }
.mkl-landing .mkl-form-shortcode .formlayer-submit-wrap { margin: 0; }
/* FormLayer 1.1.1 itself forces width:auto !important on submit buttons. */
.mkl-landing .mkl-form-shortcode :where(.formlayer-submit-btn) { align-items: center; justify-content: center; width: 100% !important; min-height: 48px; margin-top: 7px; padding: 12px 18px; border: 0; border-radius: 99px; background: var(--mkl-red); color: var(--nikko-surface, #fff); font-size: 13px; font-weight: 650; transition: background var(--mkl-transition), transform var(--mkl-transition); }
.mkl-landing .mkl-form-shortcode :where(.formlayer-submit-btn:hover) { background: var(--mkl-red-dark); transform: translateY(-2px); }
.mkl-landing .mkl-form-shortcode :where(.formlayer-error, .formlayer-field-error) { margin-top: 5px; color: var(--mkl-red-dark); font-size: 12px; }
.mkl-landing .mkl-form-shortcode .formlayer-success-message { padding: 15px; border: 1px solid var(--mkl-line); border-radius: 8px; color: var(--mkl-ink); background: var(--mkl-lime); font-size: 14px; line-height: 1.5; }
.mkl-landing .mkl-whatsapp-next { display: block; width: fit-content; margin-top: 12px; padding: 11px 18px; border-radius: 99px; background: var(--mkl-red); color: var(--nikko-surface, #fff); font-weight: 600; }
.mkl-landing .mkl-whatsapp-next:hover { background: var(--mkl-red-dark); }
.mkl-landing .mkl-form-note { margin-top: 11px; color: var(--mkl-muted); font-size: 11px; line-height: 1.55; text-align: center; }
.mkl-landing .mkl-footer { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 25px; padding-block: 24px; color: var(--mkl-muted); font-size: 11px; }
.mkl-landing .mkl-footer :where(.elementor-heading-title) { color: var(--mkl-ink); font-size: 13px; letter-spacing: 1px; }

@media (max-width: 1024px) and (min-width: 768px) {
    .mkl-landing .mkl-nav { gap: 15px; }
    .mkl-landing .mkl-nav :where(.elementor-button) { font-size: 12px; }
    .mkl-landing .mkl-resort-inner { column-gap: 25px; }
    .mkl-landing .mkl-offer .mkl-offer-cta .elementor-button { white-space: normal; }
}

@media (max-width: 767px) {
    .mkl-landing .mkl-reasons { padding-bottom: 35px; }
    .mkl-landing .mkl-reasons-layout { grid-template-columns: 1fr; gap: 24px; padding-top: 30px; }
    .mkl-landing .mkl-reasons-grid { grid-template-columns: 1fr; gap: 12px; }
    .mkl-landing .mkl-reason { padding: 20px; }
    .mkl-landing { --mkl-gutter: 20px; }
    .mkl-landing .mkl-header { min-height: 72px; }
    .mkl-landing .mkl-brand .elementor-heading-title { font-size: 21px; }
    .mkl-landing .mkl-menu-toggle { display: block; width: auto; }
    .mkl-landing .mkl-menu-toggle :where(.elementor-button) { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--mkl-line); border-radius: 50%; background: transparent; color: var(--mkl-ink); font-size: 21px; }
    .mkl-landing .mkl-menu-toggle :where(.elementor-button-text) { line-height: 1; }
    .mkl-landing .mkl-nav { position: absolute; top: 64px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; width: 100%; padding: 12px 20px; border: 1px solid var(--mkl-line); border-radius: 14px; background: var(--mkl-paper); box-shadow: 0 14px 28px rgba(12, 22, 17, .12); }
    .mkl-landing .mkl-nav.is-open { display: flex; }
    .mkl-landing .mkl-nav :where(.elementor-button) { display: block; min-height: 44px; text-align: left; }
    .mkl-landing .mkl-nav-cta :where(.elementor-button) { margin-block: 8px; text-align: center; }
    .mkl-landing .mkl-hero { min-height: 590px; }
    .mkl-landing .mkl-event-date { top: 21px; padding: 8px 12px; }
    .mkl-landing .mkl-hero-inner { padding-block: 31px; }
    .mkl-landing .mkl-hero-title .elementor-heading-title { font-size: 82px; letter-spacing: -4px; }
    .mkl-landing .mkl-hero-copy { width: min(320px, 100%); font-size: 15px; }
    .mkl-landing .mkl-facts { flex-wrap: wrap; gap: 12px 20px; padding-block: 18px; font-size: 11px; }
    .mkl-landing .mkl-fact { flex: 1 1 auto; }
    .mkl-landing .mkl-festival { padding-block: 40px 35px; }
    .mkl-landing :where(h2.elementor-heading-title) { font-size: 34px; letter-spacing: -1.4px; }
    .mkl-landing .mkl-festival-heading { margin-bottom: 22px; }
    .mkl-landing .mkl-festival-heading .mkl-copy { margin-top: 11px; font-size: 14px; }
    .mkl-landing .mkl-festival-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 13px; }
    .mkl-landing :is(.mkl-festival-moment:first-child, .mkl-festival-moment:last-child) { grid-column: 1 / -1; }
    .mkl-landing .mkl-festival-caption { padding-top: 10px; }
    .mkl-landing .mkl-festival-caption .elementor-heading-title { font-size: 14px; line-height: 1.35; }
    .mkl-landing .mkl-festival-caption::after { top: 10px; font-size: 17px; }
    .mkl-landing .mkl-agenda-tabs .e-n-tabs-heading { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .mkl-landing .mkl-agenda-tabs .mkl-program-panel.e-active { grid-template-columns: 1fr; gap: 12px; font-size: 13px; }
    .mkl-landing .mkl-program-description :where(ul) { grid-template-columns: 1fr; }
    .mkl-landing .mkl-agenda-tabs :where(h3) { white-space: normal; }
    .mkl-landing .mkl-resort { padding-block: 34px; }
    .mkl-landing .mkl-resort-inner { display: flex; }
    .mkl-landing .mkl-resort-heading { width: 100%; }
    .mkl-landing .mkl-resort-heading .mkl-copy { width: 100%; margin-top: 12px; font-size: 14px; }
    .mkl-landing .mkl-resort-tabs { --n-tabs-gap: 19px; --n-tabs-heading-width: auto; --n-tabs-title-gap: 12px; display: block; margin-top: 21px; }
    .mkl-landing .mkl-resort-tabs > :where(.elementor-widget-container) { display: block; }
    .mkl-landing .mkl-resort-tabs .e-n-tabs { display: flex; }
    .mkl-landing .mkl-resort-tabs .e-n-tabs-heading { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 0; }
    .mkl-landing .mkl-resort-tabs .e-n-tab-title { min-width: 0; min-height: 44px; font-size: 12px; white-space: normal; }
    .mkl-landing .mkl-resort-tabs .e-n-tab-title-text { white-space: normal; }
    .mkl-landing .mkl-resort-tabs .e-n-tab-title::after { display: none; }
    .mkl-landing .mkl-resort-image img { height: 246px; }
    .mkl-landing .mkl-resort-caption { gap: 12px; font-size: 11px; }
    .mkl-landing .mkl-resort-note { max-width: 180px; }
    .mkl-landing .mkl-resort-cta { width: auto; margin-top: 14px; }
    .mkl-landing .mkl-packages { padding-block: 40px 35px; }
    .mkl-landing .mkl-section-top { flex-direction: column; align-items: flex-start; gap: 13px; margin-bottom: 22px; }
    .mkl-landing .mkl-package-intro { flex: 0 1 auto; width: 100%; font-size: 13px; }
    .mkl-landing .mkl-package-tabs { --n-tabs-gap: 14px; --n-tabs-title-gap: 8px; --n-tabs-title-padding-top: 13px; --n-tabs-title-padding-right: 10px; --n-tabs-title-padding-bottom: 13px; --n-tabs-title-padding-left: 10px; }
    .mkl-landing .mkl-period-top { gap: 6px; font-size: 11px; }
    .mkl-landing .mkl-period-top > :where(span:first-child) { padding: 3px 5px; }
    .mkl-landing .mkl-period-check { width: 14px; height: 14px; font-size: 9px; flex-shrink: 0; }
    .mkl-landing .mkl-period-date { margin-top: 12px; font-size: 25px; letter-spacing: -1px; }
    .mkl-landing .mkl-period-date :where(span) { margin-inline: 1px; font-size: 16px; }
    .mkl-landing .mkl-period-month { margin-top: 7px; font-size: 11px; }
    .mkl-landing .mkl-offer { padding: 20px 20px 0; }
    .mkl-landing .mkl-offer-main { display: flex; gap: 0; padding-bottom: 19px; }
    .mkl-landing .mkl-offer-title .elementor-heading-title { max-width: none; font-size: 24px; }
    .mkl-landing .mkl-stay-dates { margin-top: 17px; }
    .mkl-landing .mkl-offer-highlights { margin-top: 19px; font-size: 11px; }
    .mkl-landing .mkl-offer-price-area { margin-top: 23px; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--mkl-line); }
    .mkl-landing .mkl-offer-price { font-size: 36px; }
    .mkl-landing .mkl-offer-cta { width: 100%; }
    .mkl-landing .mkl-offer .mkl-offer-cta .elementor-button { width: 100%; padding-inline: 15px; font-size: 11px; white-space: normal; }
    .mkl-landing .mkl-offer .mkl-offer-cta .elementor-button-content-wrapper { gap: 10px; }
    .mkl-landing .mkl-offer-common { padding: 0 20px 20px; }
    .mkl-landing .mkl-offer-assistance { font-size: 11px; line-height: 1.5; }
    .mkl-landing .mkl-questions { padding-bottom: 35px; }
    .mkl-landing .mkl-faq-layout { display: flex; gap: 15px; padding-top: 30px; }
    .mkl-landing .mkl-faq-heading :where(h2) { font-size: 29px; }
    .mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) { --n-accordion-title-font-size: 12px; }
    .mkl-landing :is(.mkl-agenda, .mkl-terms, .mkl-faq) :where(.e-n-accordion-item > .e-con) { font-size: 12px; }
    .mkl-landing .mkl-contact { padding-block: 34px; }
    .mkl-landing .mkl-contact-layout { display: flex; gap: 25px; }
    .mkl-landing .mkl-contact-copy :where(h2) { max-width: none; font-size: 39px; }
    .mkl-landing .mkl-contact-intro { width: 100%; margin-top: 12px; font-size: 15px; }
    .mkl-landing .mkl-selected-label { margin-top: 22px; }
    .mkl-landing .mkl-selected-period { font-size: 18px; }
    .mkl-landing .mkl-contact-human { display: none; }
    .mkl-landing .mkl-contact-form { padding: 21px; }
    .mkl-landing .mkl-contact-form :where(h3) { margin-bottom: 17px; font-size: 18px; }
    .mkl-landing .mkl-form-shortcode .formlayer-form-fields-wrapper { gap: 12px; }
    .mkl-landing .mkl-form-shortcode :where(.formlayer-submit-btn) { padding-inline: 12px; font-size: 12px; }
    .mkl-landing .mkl-footer { align-items: flex-start; gap: 20px; padding-block: 21px; }
    .mkl-landing .mkl-footer .elementor-widget-text-editor { width: 165px; text-align: right; }
}

@media (max-width: 359px) {
    .mkl-landing { --mkl-gutter: 14px; }
    .mkl-landing .mkl-event-date { font-size: 11px; }
    .mkl-landing .mkl-hero { min-height: 570px; }
    .mkl-landing .mkl-hero-title .elementor-heading-title { font-size: 71px; }
    .mkl-landing .mkl-package-tabs { --n-tabs-title-padding-top: 11px; --n-tabs-title-padding-right: 8px; --n-tabs-title-padding-bottom: 11px; --n-tabs-title-padding-left: 8px; }
    .mkl-landing .mkl-period-date { font-size: 22px; }
    .mkl-landing .mkl-period-date :where(span) { font-size: 14px; }
    .mkl-landing .mkl-period-top { gap: 3px; }
    .mkl-landing .mkl-period-check { display: none; }
    .mkl-landing .mkl-package-intro { font-size: 12px; }
    .mkl-landing .mkl-contact-form { padding: 17px; }
    .mkl-landing .mkl-form-shortcode .formlayer-form-fields-wrapper { gap: 11px 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .mkl-landing :is(.mkl-package-tabs, .mkl-resort-tabs, .mkl-agenda-tabs) { --n-tabs-title-transition: 0s; }
    .mkl-landing .mkl-action .elementor-button,
    .mkl-landing .mkl-resort .mkl-resort-cta.elementor-widget-button .elementor-button,
    .mkl-landing .mkl-festival-image img,
    .mkl-landing .mkl-offer-highlights .proto-textlink,
    .mkl-landing .mkl-package-tabs .e-n-tab-title,
    .mkl-landing .mkl-form-shortcode :where(.formlayer-submit-btn),
    .mkl-landing .mkl-nav-link :where(.elementor-button)::after { transition-duration: 0s; }
    .mkl-landing :where(*) { scroll-behavior: auto; }
    .mkl-landing .mkl-resort-panel.e-active .mkl-resort-image img { animation: none; }
}
