/* Marquee Widgets Kit (by Pritam Dey) — front-end styles */

/* =====================================================================
 * Marquee engine
 * ================================================================== */
.mwk-marquee { --mwk-gap: 24px; position: relative; overflow: hidden; width: 100%; }
.mwk-marquee .mwk-track { display: flex; width: max-content; will-change: transform; }
.mwk-marquee .mwk-group { display: flex; flex: none; align-items: stretch; gap: var(--mwk-gap); padding-right: var(--mwk-gap); }
.mwk-marquee .mwk-item { flex: none; display: flex; }
.mwk-marquee.mwk-vertical .mwk-track { flex-direction: column; width: 100%; height: max-content; }
.mwk-marquee.mwk-vertical .mwk-group { flex-direction: column; padding-right: 0; padding-bottom: var(--mwk-gap); }
.mwk-marquee.mwk-vertical .mwk-item { justify-content: center; }
.mwk-marquee.mwk-vertical { height: 420px; }
.mwk-marquee.is-running .mwk-track { animation: mwk-x var(--mwk-dur, 30s) linear infinite; }
.mwk-marquee.mwk-vertical.is-running .mwk-track { animation-name: mwk-y; }
.mwk-marquee.is-reverse .mwk-track { animation-direction: reverse; }
.mwk-marquee.mwk-pause:hover .mwk-track,
.mwk-marquee.is-paused .mwk-track { animation-play-state: paused; }
@keyframes mwk-x { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-1 * var(--mwk-shift, 50%)), 0, 0); } }
@keyframes mwk-y { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, calc(-1 * var(--mwk-shift, 50%)), 0); } }
.mwk-marquee.mwk-fade { -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--mwk-fade, 12%), #000 calc(100% - var(--mwk-fade, 12%)), transparent); mask-image: linear-gradient(90deg, transparent, #000 var(--mwk-fade, 12%), #000 calc(100% - var(--mwk-fade, 12%)), transparent); }
.mwk-marquee.mwk-vertical.mwk-fade { -webkit-mask-image: linear-gradient(180deg, transparent, #000 var(--mwk-fade, 12%), #000 calc(100% - var(--mwk-fade, 12%)), transparent); mask-image: linear-gradient(180deg, transparent, #000 var(--mwk-fade, 12%), #000 calc(100% - var(--mwk-fade, 12%)), transparent); }
.mwk-rows { display: flex; flex-direction: column; gap: 20px; }
.mwk-rows.mwk-rows-v { flex-direction: row; }
.mwk-rows.mwk-rows-v > .mwk-marquee { flex: 1; min-width: 0; }
.mwk-empty { padding: 20px; border: 1px dashed #cbd5e1; border-radius: 8px; color: #64748b; text-align: center; }
@media (prefers-reduced-motion: reduce) {
	.mwk-marquee.is-running .mwk-track { animation-duration: calc(var(--mwk-dur, 30s) * 3); }
}

/* =====================================================================
 * Shared card (Card, Post marquee)
 * ================================================================== */
.mwk-card { width: 300px; display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 24px rgba(15, 23, 42, .08); transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease, border-color .35s ease; color: #475569; }
.mwk-vertical .mwk-card { width: 100%; }
.mwk-card-media { display: block; position: relative; overflow: hidden; line-height: 0; }
.mwk-card-img { display: block; width: 100%; height: 190px; object-fit: cover; transition: transform .6s ease; }
.mwk-card-body { padding: 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; flex: 1; }
.mwk-card-title { margin: 0; font-size: 1.15rem; line-height: 1.3; color: #0f172a; }
.mwk-card-title a { color: inherit; text-decoration: none; }
.mwk-card-text { font-size: .95rem; line-height: 1.55; }
.mwk-card-text p { margin: 0; }
.mwk-card-btn { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 999px; background: #111; color: #fff; font-size: .9rem; font-weight: 600; text-decoration: none; border: 1px solid transparent; transition: background-color .3s, color .3s, border-color .3s; }
.mwk-card-btn:hover { background: #333; color: #fff; }
.mwk-card-btn.mwk-btn-link { background: none; color: #111; padding: 0; border-radius: 0; border: 0; border-bottom: 1px solid currentColor; }
.mwk-meta { display: flex; flex-wrap: wrap; gap: 6px; font-size: .8rem; color: #64748b; text-transform: uppercase; letter-spacing: .04em; }
.mwk-cat { color: #4b1fd1; font-weight: 600; }
.mwk-card-img-left .mwk-card { flex-direction: row; width: 460px; }
.mwk-card-img-left .mwk-card-media { width: 42%; flex: none; }
.mwk-card-img-left .mwk-card-img { height: 100%; }
.mwk-card-img-background .mwk-card { position: relative; justify-content: flex-end; min-height: 320px; color: #e2e8f0; }
.mwk-card-img-background .mwk-card-media { position: absolute; inset: 0; }
.mwk-card-img-background .mwk-card-img { height: 100% !important; }
.mwk-card-img-background .mwk-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .75)); }
.mwk-card-img-background .mwk-card-body { position: relative; flex: 0; }
.mwk-card-img-background .mwk-card-title { color: #fff; }
.mwk-card-img-background .mwk-card-btn { background: #fff; color: #111; }

/* =====================================================================
 * Media marquee
 * ================================================================== */
.mwk-media { position: relative; width: 320px; height: 220px; border-radius: 14px; overflow: hidden; background: #e2e8f0; line-height: 0; }
.mwk-media img, .mwk-media video, .mwk-media iframe { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; transition: transform .6s ease, filter .4s ease; }
.mwk-media > a { display: block; width: 100%; height: 100%; }
.mwk-media iframe { pointer-events: none; transform: scale(1.35); }
.mwk-caption { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 6px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 13px; line-height: 1.3; }
.mwk-gray-yes .mwk-media img, .mwk-gray-yes .mwk-media video { filter: grayscale(1); }
.mwk-gray-yes .mwk-media:hover img, .mwk-gray-yes .mwk-media:hover video { filter: none; }

/* =====================================================================
 * Advanced text marquee
 * ================================================================== */
.mwk-tm { display: flex; flex-direction: column; gap: 0; }
:where(.mwk-tm .mwk-marquee) { --mwk-c: #111; --mwk-stroke: 1.5px; --mwk-g1: #4b1fd1; --mwk-g2: #ec4899; }
.mwk-tm-row { overflow: hidden; }
.mwk-tm .mwk-group { align-items: center; }
.mwk-tm-item { align-items: center; gap: .4em; color: var(--mwk-c); transition: color .3s; }
.mwk-tm-item a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: .4em; }
.mwk-tm-text { margin: 0; font-size: clamp(32px, 6vw, 84px); line-height: 1.1; font-weight: 800; white-space: nowrap; color: var(--mwk-c); }
.mwk-look-outline { color: transparent !important; -webkit-text-stroke: var(--mwk-stroke) var(--mwk-c); }
.mwk-tm-item:hover .mwk-look-outline { color: var(--mwk-c) !important; }
.mwk-look-gradient { background: linear-gradient(90deg, var(--mwk-g1), var(--mwk-g2)); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.mwk-look-italic { font-style: italic; font-weight: 400; font-family: Georgia, "Times New Roman", serif; }
.mwk-tm-img { height: .9em; width: auto; border-radius: 999px; object-fit: cover; }
.mwk-tm-sep { align-items: center; font-size: clamp(18px, 3vw, 40px); color: var(--mwk-c); opacity: .9; }
.mwk-tm-sep i, .mwk-tm-sep svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-spin-yes .mwk-tm-sep > * { animation: mwk-spin 6s linear infinite; }
.mwk-cross-yes .mwk-tm { position: relative; padding: 60px 0; overflow: hidden; }
.mwk-cross-yes .mwk-tm-row { width: 110%; margin-left: -5%; }
.mwk-cross-yes .mwk-tm-row:first-child { transform: rotate(3deg) !important; position: relative; z-index: 2; }
.mwk-cross-yes .mwk-tm-row:last-child { transform: rotate(-3deg) !important; position: absolute; left: 0; top: 50%; translate: 0 -50%; }
/* Default band colors (zero specificity, so the widget's Band colors always win). */
:where(.mwk-cross-yes .mwk-tm-row) { padding: 10px 0; }
:where(.mwk-cross-yes .mwk-tm-row:first-child) { background: #111; }
:where(.mwk-cross-yes .mwk-tm-row:first-child .mwk-marquee) { --mwk-c: #fff; }
:where(.mwk-cross-yes .mwk-tm-row:last-child) { background: #e9e4dc; }
@keyframes mwk-spin { to { transform: rotate(360deg); } }

/* =====================================================================
 * Testimonials
 * ================================================================== */
.mwk-tcard { width: 340px; margin: 0; display: flex; flex-direction: column; gap: 14px; padding: 24px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; transition: transform .35s ease, box-shadow .35s ease, border-color .35s; }
.mwk-vertical .mwk-tcard { width: 100%; }
.mwk-tst-person-top .mwk-tcard-person { order: -1; }
.mwk-tcard-quote { font-family: Georgia, serif; font-size: 48px; line-height: .6; color: #c9a96e; height: .45em; }
.mwk-tcard-text { color: #334155; line-height: 1.6; font-size: .98rem; }
.mwk-tcard-person { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.mwk-tcard-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
.mwk-tcard-name { font-weight: 700; color: #0f172a; }
.mwk-tcard-role { font-size: .85rem; color: #64748b; }
.mwk-tcard-logo { height: 24px; width: auto; margin-left: auto; object-fit: contain; }
.mwk-stars { --mwk-star: #f59e0b; --mwk-star-off: #d1d5db; display: inline-flex; gap: 2px; font-size: 16px; line-height: 1; }
.mwk-star { position: relative; color: var(--mwk-star-off); }
.mwk-star::before { content: "\2605"; position: absolute; inset: 0; width: var(--fill); overflow: hidden; color: var(--mwk-star); }

/* =====================================================================
 * 3D grid marquee
 * ================================================================== */
.mwk-g3 { --mwk-gap: 16px; --mwk-shade: #fff; position: relative; height: 560px; overflow: hidden; perspective: 1400px; }
.mwk-g3::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 45%, var(--mwk-shade) 100%); }
.mwk-g3-plane { --rx: 35deg; --rz: -25deg; --sc: 1.35; position: absolute; inset: -30% -20%; display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: var(--mwk-gap); transform: rotateX(var(--rx)) rotateZ(var(--rz)) scale(var(--sc)); transform-style: preserve-3d; }
.mwk-g3 .mwk-marquee.mwk-vertical { height: 100%; }
.mwk-g3 .mwk-item { display: block; }
.mwk-g3 img { display: block; width: 100%; height: 240px; object-fit: cover; border-radius: 14px; }

/* =====================================================================
 * Circular text
 * ================================================================== */
.mwk-ct-wrap { display: flex; justify-content: center; }
.mwk-ct { position: relative; display: grid; place-items: center; width: 180px; height: 180px; border-radius: 50%; text-decoration: none; color: inherit; transition: background-color .3s; }
.mwk-ct-ring { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; animation: mwk-spin 14s linear infinite; }
.mwk-ct text { font-size: 16px; font-weight: 700; letter-spacing: .12em; fill: #111; text-transform: uppercase; transition: fill .3s; }
.mwk-ct-ccw .mwk-ct-ring { animation-direction: reverse; }
.mwk-ct-hover-pause .mwk-ct:hover .mwk-ct-ring { animation-play-state: paused; }
.mwk-ct-hover-fast .mwk-ct:hover .mwk-ct-ring { animation-duration: 3s !important; }
.mwk-ct-scroll-yes .mwk-ct-ring { animation: none; transform: rotate(var(--mwk-scroll-rot, 0deg)); }
.mwk-ct-center { position: relative; display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: #111; color: #fff; font-size: 24px; overflow: hidden; transition: background-color .3s, color .3s; }
.mwk-ct-center > i, .mwk-ct-center > svg { transition: transform .4s ease; }
.mwk-ct-center svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-ct-center img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.mwk-ct-center span { font-weight: 700; font-size: .8em; }
.mwk-ct .screen-reader-text, .mwk-tr-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* =====================================================================
 * Image accordion
 * ================================================================== */
.mwk-acc { --grow: 4; display: flex; gap: 10px; height: 460px; }
.mwk-acc-v .mwk-acc { flex-direction: column; }
.mwk-acc-item { position: relative; flex: 1; min-width: 0; min-height: 0; overflow: hidden; border-radius: 16px; display: flex; flex-direction: column; justify-content: flex-end; cursor: pointer; outline: none; transition-property: flex-grow; transition-duration: 600ms; transition-timing-function: cubic-bezier(.4, 0, .2, 1); color: #fff; }
.mwk-acc-item.is-active { flex-grow: var(--grow); cursor: default; }
.mwk-acc-item:focus-visible { box-shadow: 0 0 0 3px #4b1fd1 inset; }
/* Every panel (open or closed) is fully covered by its image. Strong rules so theme / Elementor "img { height: auto }" can't shrink it. */
.mwk-acc .mwk-acc-item img.mwk-acc-img { position: absolute !important; inset: 0 !important; top: 0; left: 0; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; object-fit: cover !important; object-position: center; border-radius: 0; transition: transform .8s ease, filter .5s ease; }
.mwk-acc-item.is-active .mwk-acc-img { transform: scale(1.04); }
.mwk-acc-gray-yes .mwk-acc-item:not(.is-active) .mwk-acc-img { filter: grayscale(1); }
.mwk-acc-item::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, .35); transition: background .5s; }
.mwk-acc-item.is-active::before { background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .7)); }
.mwk-acc-content { position: relative; z-index: 2; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; opacity: 0; transform: translateY(16px); transition: opacity .4s ease, transform .5s ease; pointer-events: none; min-width: 240px; }
.mwk-acc-item.is-active .mwk-acc-content { opacity: 1; transform: none; transition-delay: .2s; pointer-events: auto; }
.mwk-acc-title { margin: 0; color: #fff; font-size: 1.5rem; }
.mwk-acc-text { color: rgba(255, 255, 255, .88); }
.mwk-acc-icon { font-size: 28px; color: #fff; }
.mwk-acc-icon svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-acc-btn { display: inline-block; padding: 9px 18px; border-radius: 999px; background: #fff; color: #111; font-weight: 600; text-decoration: none; border: 1px solid transparent; transition: background-color .3s, color .3s; }
.mwk-acc-label { position: absolute; z-index: 2; left: 50%; bottom: 24px; transform: translateX(-50%) rotate(180deg); writing-mode: vertical-rl; white-space: nowrap; font-weight: 600; color: #fff; transition: opacity .3s; }
.mwk-acc-v .mwk-acc-label { writing-mode: horizontal-tb; transform: translate(-50%, 50%); bottom: 50%; }
.mwk-acc-item.is-active .mwk-acc-label, .mwk-acc-label-yes .mwk-acc-item.is-active .mwk-acc-label { opacity: 0; }
.mwk-acc-label- .mwk-acc-label { display: none; }
@media (max-width: 767px) {
	.mwk-acc-stack-yes .mwk-acc { flex-direction: column; }
	.mwk-acc-stack-yes .mwk-acc-label { writing-mode: horizontal-tb; transform: translate(-50%, 50%); bottom: 50%; }
}

/* =====================================================================
 * Sticky cards
 * ================================================================== */
.mwk-sc { --top: 100px; --step: 20px; display: flex; flex-direction: column; gap: 80px; padding-bottom: 40px; }
.mwk-sc-item { position: sticky; top: calc(var(--top) + var(--i) * var(--step)); }
.mwk-sc-card { display: flex; align-items: center; gap: 40px; min-height: 420px; padding: 40px; border-radius: 24px; background: #f5f1ea; color: #1e293b; box-shadow: 0 -10px 40px rgba(15, 23, 42, .08); transform-origin: center top; transition: transform .1s linear, filter .1s linear; will-change: transform; }
.mwk-sc-body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.mwk-sc-label { font-size: .85rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.mwk-sc-title { margin: 0; font-size: clamp(28px, 4vw, 48px); line-height: 1.1; color: inherit; }
.mwk-sc-text { font-size: 1.05rem; line-height: 1.6; opacity: .85; max-width: 520px; }
.mwk-sc-btn { display: inline-block; padding: 11px 22px; border-radius: 999px; background: #111; color: #fff; font-weight: 600; text-decoration: none; border: 1px solid transparent; }
.mwk-sc-img { flex: 1; align-self: stretch; }
.mwk-sc-img img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; border-radius: 16px; display: block; }
.mwk-sc-img-left .mwk-sc-card { flex-direction: row-reverse; }
.mwk-sc-img-alt .mwk-sc-item:nth-child(even) .mwk-sc-card { flex-direction: row-reverse; }
@media (max-width: 767px) {
	.mwk-sc-card, .mwk-sc-img-left .mwk-sc-card, .mwk-sc-img-alt .mwk-sc-item:nth-child(even) .mwk-sc-card { flex-direction: column-reverse; padding: 24px; gap: 20px; }
	.mwk-sc-img img { min-height: 180px; }
}

/* =====================================================================
 * Smart tabs
 * ================================================================== */
.mwk-tabs { display: flex; flex-direction: column; gap: 20px; }
.mwk-tabs-pos-bottom .mwk-tabs { flex-direction: column-reverse; }
.mwk-tabs-pos-left .mwk-tabs { flex-direction: row; align-items: flex-start; }
.mwk-tabs-pos-right .mwk-tabs { flex-direction: row-reverse; align-items: flex-start; }
.mwk-tabs-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.mwk-tabs-align-center .mwk-tabs-nav { justify-content: center; }
.mwk-tabs-align-end .mwk-tabs-nav { justify-content: flex-end; }
.mwk-tabs-align-stretch .mwk-tab { flex: 1; justify-content: center; }
.mwk-tabs-pos-left .mwk-tabs-nav, .mwk-tabs-pos-right .mwk-tabs-nav { flex-direction: column; flex: 0 0 280px; width: 280px; }
.mwk-tabs-nav .mwk-tab, .mwk-tabs-nav .mwk-tab:hover, .mwk-tabs-nav .mwk-tab:focus {
	position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 20px; overflow: hidden;
	font: inherit; font-weight: 600; text-align: left; text-transform: none; letter-spacing: normal; line-height: 1.3; cursor: pointer;
	border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; color: #334155; box-shadow: none;
	transition: background-color .3s, color .3s, border-color .3s;
}
.mwk-tabs-nav .mwk-tab:hover { background: #f8fafc; color: #0f172a; }
.mwk-tabs-nav .mwk-tab.is-active { background: #111; color: #fff; border-color: #111; }
.mwk-tabs-nav .mwk-tab:focus-visible { outline: 2px solid #4b1fd1; outline-offset: 2px; }
.mwk-tab-icon { display: inline-flex; font-size: 18px; }
.mwk-tab-icon svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-tab-label { display: flex; flex-direction: column; }
.mwk-tab-sub { font-weight: 400; font-size: .85em; opacity: .7; }
.mwk-tab-progress { --mwk-prog: currentColor; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(127, 127, 127, .2); }
.mwk-tab-progress span { display: block; height: 100%; width: 0; background: var(--mwk-prog); }
.mwk-tab.is-active .mwk-tab-progress span { animation: mwk-prog var(--mwk-int, 5s) linear forwards; }
.mwk-tabs.is-paused .mwk-tab.is-active .mwk-tab-progress span { animation-play-state: paused; }
@keyframes mwk-prog { to { width: 100%; } }
.mwk-tabs-panels { flex: 1; min-width: 0; }
.mwk-tab-panel[hidden] { display: none; }
.mwk-tab-panel.is-active { animation: mwk-tab-in .5s ease both; }
.mwk-tabs-anim-none .mwk-tab-panel.is-active { animation: none; }
.mwk-tabs-anim-fade .mwk-tab-panel.is-active { animation-name: mwk-fade-in; }
.mwk-tabs-anim-slide .mwk-tab-panel.is-active { animation-name: mwk-slide-in; }
.mwk-tabs-anim-zoom .mwk-tab-panel.is-active { animation-name: mwk-zoom-in; }
@keyframes mwk-tab-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mwk-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes mwk-slide-in { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
@keyframes mwk-zoom-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.mwk-tab-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.mwk-tab-text > :first-child { margin-top: 0; }
.mwk-tab-img img { width: 100%; height: 320px; object-fit: cover; border-radius: 16px; display: block; }
@media (max-width: 767px) {
	.mwk-tabs-mstack-yes.mwk-tabs-pos-left .mwk-tabs, .mwk-tabs-mstack-yes.mwk-tabs-pos-right .mwk-tabs { flex-direction: column; align-items: stretch; }
	.mwk-tabs-mstack-yes .mwk-tabs-nav { flex-direction: row !important; flex-wrap: nowrap; overflow-x: auto; width: auto !important; flex-basis: auto !important; }
	.mwk-tabs-mstack-yes .mwk-tab { flex: none; }
	.mwk-tab-split { grid-template-columns: 1fr; }
}

/* =====================================================================
 * Animated list
 * ================================================================== */
.mwk-al { --dur: 600ms; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mwk-al-item { --mwk-al-ht: .3s; margin: 0; display: block; padding: 14px 16px; background: #fff; border: 1px solid #eef0f3; border-radius: 14px; box-shadow: 0 4px 16px rgba(15, 23, 42, .06); transition: transform var(--mwk-al-ht) ease, box-shadow var(--mwk-al-ht) ease, background-color var(--mwk-al-ht) ease, border-color var(--mwk-al-ht) ease, color var(--mwk-al-ht) ease; }
.mwk-al-item > a, .mwk-al-item { color: inherit; text-decoration: none; }
.mwk-al-item > a, .mwk-al-item:not(:has(> a)) { display: flex; align-items: center; gap: 14px; }
.mwk-al-icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 30%; background: #ede9fe; color: #4b1fd1; font-size: 18px; overflow: hidden; }
.mwk-al-icon svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-al-icon img { width: 100%; height: 100%; object-fit: cover; }
.mwk-al-body { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.mwk-al-title { font-weight: 600; color: #0f172a; }
.mwk-al-text { font-size: .88rem; color: #64748b; }
.mwk-al-meta { font-size: .8rem; color: #94a3b8; white-space: nowrap; }
.mwk-al.mwk-js .mwk-al-item { opacity: 0; transition: opacity var(--dur) ease, transform var(--dur) cubic-bezier(.2, .8, .2, 1), filter var(--dur) ease, box-shadow var(--mwk-al-ht) ease, background-color var(--mwk-al-ht) ease, border-color var(--mwk-al-ht) ease, color var(--mwk-al-ht) ease; }
.mwk-al-item .mwk-al-icon, .mwk-al-item .mwk-al-title, .mwk-al-item .mwk-al-text, .mwk-al-item .mwk-al-meta { transition: background-color var(--mwk-al-ht, .3s) ease, color var(--mwk-al-ht, .3s) ease; }
.mwk-al-fx-up .mwk-al.mwk-js .mwk-al-item { transform: translateY(24px); }
.mwk-al-fx-left .mwk-al.mwk-js .mwk-al-item { transform: translateX(-40px); }
.mwk-al-fx-right .mwk-al.mwk-js .mwk-al-item { transform: translateX(40px); }
.mwk-al-fx-zoom .mwk-al.mwk-js .mwk-al-item { transform: scale(.85); }
.mwk-al-fx-blur .mwk-al.mwk-js .mwk-al-item { filter: blur(8px); }
.mwk-al-fx-flip .mwk-al.mwk-js .mwk-al-item { transform: perspective(600px) rotateX(-70deg); transform-origin: top; }
.mwk-al.mwk-js .mwk-al-item.is-in { opacity: 1; transform: none; filter: none; }
.mwk-al[data-mode="feed"] { overflow: hidden; }

/* =====================================================================
 * Bento grid
 * ================================================================== */
.mwk-bento { --cols: 4; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); grid-auto-rows: auto; gap: 16px; --mwk-row-h: 220px; --mwk-gap: 16px; grid-auto-flow: dense; }
.mwk-bg-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border-radius: 20px; background: #f1f5f9; color: #0f172a; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease, background-color .35s; }
.mwk-bg-img { overflow: hidden; line-height: 0; }
.mwk-bg-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.mwk-bg-tile.has-bg { color: #fff; }
.mwk-bg-tile.has-bg .mwk-bg-img { position: absolute; inset: 0; }
.mwk-bg-tile.has-bg::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .65)); transition: background .4s; }
.mwk-bg-tile.has-bg .mwk-bg-body { position: relative; z-index: 2; }
.mwk-bg-tile.has-bg .mwk-bg-title, .mwk-bg-tile.has-bg .mwk-bg-text { color: #fff; }
.mwk-bg-top, .mwk-bg-bottom { justify-content: space-between; }
.mwk-bg-top .mwk-bg-img, .mwk-bg-bottom .mwk-bg-img { flex: 1; min-height: 0; }
.mwk-bg-body { padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.mwk-bg-title { margin: 0; font-size: 1.25rem; line-height: 1.25; color: inherit; }
.mwk-bg-text { font-size: .95rem; opacity: .85; }
.mwk-bg-icon { font-size: 28px; margin-bottom: 6px; display: inline-flex; }
.mwk-bg-icon svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-bento.mwk-enter.mwk-js .mwk-bg-tile { transition: opacity .7s ease, transform .7s ease, box-shadow .35s ease, background-color .35s; }
.mwk-bento.mwk-enter.mwk-js .mwk-bg-tile:not(.is-in) { opacity: 0; transform: translateY(24px) scale(.98); }
.mwk-bento.mwk-enter.mwk-js .mwk-bg-tile.is-in { opacity: 1; }

/* =====================================================================
 * Text reveal
 * ================================================================== */
.mwk-tr { --mwk-dim: rgba(127, 127, 127, .25); --mwk-hl: #4b1fd1; --mwk-cursor: currentColor; margin: 0; }
.mwk-tr .mwk-w { display: inline-block; }
.mwk-tr .mwk-hl, .mwk-tr .mwk-hl > span { color: var(--mwk-hl); }
.mwk-tr-scroll .mwk-w > span { color: var(--mwk-dim); transition: color .25s ease; }
.mwk-tr-scroll .mwk-w.is-on > span { color: inherit; }
.mwk-tr-scroll .mwk-w.mwk-hl.is-on > span { color: var(--mwk-hl); }
.mwk-tr-words .mwk-w, .mwk-tr-blur .mwk-w { overflow: hidden; vertical-align: top; }
.mwk-tr-words.mwk-js .mwk-w > span { display: inline-block; transform: translateY(110%); transition: transform .7s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--n) * var(--st, 60ms)); }
.mwk-tr-words.mwk-js.is-in .mwk-w > span { transform: none; }
.mwk-tr-blur.mwk-js .mwk-w > span { display: inline-block; opacity: 0; filter: blur(10px); transition: opacity .8s ease, filter .8s ease; transition-delay: calc(var(--n) * var(--st, 60ms)); }
.mwk-tr-blur.mwk-js.is-in .mwk-w > span { opacity: 1; filter: none; }
.mwk-tr-chars.mwk-js .mwk-c { opacity: 0; transition: opacity .4s ease; transition-delay: calc(var(--n) * var(--st, 30ms)); }
.mwk-tr-chars.mwk-js.is-in .mwk-c { opacity: 1; }
.mwk-tr-cursor .mwk-tr-type::after { content: ""; display: inline-block; width: .08em; height: 1em; margin-left: .06em; vertical-align: -.12em; background: var(--mwk-cursor); animation: mwk-blink 1s steps(1) infinite; }
@keyframes mwk-blink { 50% { opacity: 0; } }

/* =====================================================================
 * WooCommerce
 * ================================================================== */
.mwk-pcard { width: 260px; display: flex; flex-direction: column; background: #fff; border: 1px solid #eef0f3; border-radius: 16px; overflow: hidden; transition: transform .35s, box-shadow .35s, border-color .35s; }
.mwk-carousel .mwk-pcard { width: 100%; height: 100%; }
.mwk-pcard-img { position: relative; display: block; overflow: hidden; line-height: 0; background: #f8fafc; }
.mwk-pcard-img img { width: 100%; height: 240px; object-fit: cover; display: block; transition: transform .6s ease; margin: 0 !important; }
.mwk-pcard-badge { position: absolute; z-index: 2; top: 12px; left: 12px; padding: 4px 10px; border-radius: 999px; background: #ef4444; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.4; }
.mwk-pcard-body { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.mwk-pcard-cat { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
.mwk-pcard-title { margin: 0; font-size: 1rem; line-height: 1.35; }
.mwk-pcard-title a { color: #0f172a; text-decoration: none; }
.mwk-pcard-price { font-weight: 700; color: #0f172a; }
.mwk-pcard-price del { opacity: .5; font-weight: 400; margin-right: 6px; }
.mwk-pcard-price ins { text-decoration: none; }
.mwk-pcard-btn { margin-top: auto; align-self: flex-start; display: inline-block; padding: 9px 16px !important; border-radius: 999px !important; background: #111 !important; color: #fff !important; font-weight: 600; font-size: .88rem; text-decoration: none; border: 1px solid transparent; line-height: 1.3 !important; }
.mwk-pcat { width: 220px; display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; background: #fff; border: 1px solid #eef0f3; text-decoration: none; color: inherit; position: relative; transition: transform .35s, box-shadow .35s; }
.mwk-pcat-img { display: block; overflow: hidden; line-height: 0; }
.mwk-pcat img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .6s ease; }
.mwk-pcat-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.mwk-pcat-name { font-weight: 700; color: #0f172a; }
.mwk-pcat-count { font-size: .85rem; color: #64748b; }
.mwk-pc-pill .mwk-pcat { flex-direction: row; align-items: center; width: auto; border-radius: 999px; padding: 6px 18px 6px 6px; }
.mwk-pc-pill .mwk-pcat-img { width: 48px; height: 48px; border-radius: 50%; flex: none; }
.mwk-pc-pill .mwk-pcat img { height: 48px !important; }
.mwk-pc-pill .mwk-pcat-body { padding: 0 0 0 10px; }
.mwk-pc-overlay .mwk-pcat { justify-content: flex-end; min-height: 220px; border: 0; }
.mwk-pc-overlay .mwk-pcat-img { position: absolute; inset: 0; }
.mwk-pc-overlay .mwk-pcat img { height: 100% !important; }
.mwk-pc-overlay .mwk-pcat::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .7)); }
.mwk-pc-overlay .mwk-pcat-body { position: relative; z-index: 1; }
.mwk-pc-overlay .mwk-pcat-name, .mwk-pc-overlay .mwk-pcat-count { color: #fff; }

/* Carousel */
.mwk-carousel { --per: 4; --gap: 20px; position: relative; }
.mwk-car-viewport { overflow: hidden; }
.mwk-car-track { display: flex; gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 10px; }
.mwk-car-track::-webkit-scrollbar { display: none; }
.mwk-car-slide { flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); scroll-snap-align: start; display: flex; }
.mwk-carousel .mwk-car-arrow, .mwk-carousel .mwk-car-arrow:hover, .mwk-carousel .mwk-car-arrow:focus {
	--x: -10px; position: absolute; z-index: 3; top: 40%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0;
	border: 1px solid #e5e7eb; border-radius: 50%; background: #fff; color: #111; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); font-size: 16px; transition: background-color .3s, color .3s, opacity .3s;
}
.mwk-carousel .mwk-car-arrow:hover { background: #111; color: #fff; }
.mwk-car-arrow svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-car-prev { left: var(--x); }
.mwk-car-next { right: var(--x); }
.mwk-car-arrow[disabled] { opacity: .35; cursor: default; }
.mwk-car-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.mwk-car-dots button, .mwk-car-dots button:hover, .mwk-car-dots button:focus { width: 9px; height: 9px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 999px; background: #cbd5e1; cursor: pointer; transition: width .3s, background-color .3s; }
.mwk-car-dots button.is-active { width: 26px; background: #111; }

/* =====================================================================
 * Features: container background + image rotation
 * ================================================================== */
.mwk-has-cbg { position: relative; isolation: isolate; }
.mwk-cbg { --mwk-gap: 20px; position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; opacity: .25; }
.mwk-cbg-inner { position: absolute; inset: -15%; display: flex; flex-direction: column; justify-content: center; gap: var(--mwk-gap); transform: scale(1.1); }
.mwk-cbg-inner.is-cols { flex-direction: row; }
.mwk-cbg .mwk-marquee.mwk-vertical { height: 100%; flex: 1; }
.mwk-cbg-img { height: 160px; width: auto; display: block; object-fit: cover; border-radius: 12px; }
.mwk-cbg .mwk-vertical .mwk-cbg-img { width: 100%; height: auto; }
.mwk-cbg-word { font-size: 160px; font-weight: 900; line-height: 1; white-space: nowrap; }

@keyframes mwk-rot-cw { to { transform: rotate(360deg); } }
@keyframes mwk-swing { 0%, 100% { transform: rotate(calc(-1 * var(--mwk-swing, 12deg))); } 50% { transform: rotate(var(--mwk-swing, 12deg)); } }
.mwk-rot-always img { animation: mwk-rot-cw var(--mwk-rot-time, 12s) linear infinite; }
.mwk-rot-hover img { transition: transform .4s ease; }
.mwk-rot-hover:hover img { animation: mwk-rot-cw var(--mwk-rot-time, 12s) linear infinite; }
.mwk-rot-swing img { animation: mwk-swing var(--mwk-rot-time, 12s) ease-in-out infinite; }
.mwk-rot-dir-ccw img { animation-direction: reverse !important; }
.mwk-rot-pause-yes:hover img { animation-play-state: paused; }
.mwk-rot-scroll img { transform: rotate(var(--mwk-rot-now, 0deg)); will-change: transform; }
@media (prefers-reduced-motion: reduce) {
	.mwk-rot-always img, .mwk-rot-swing img, .mwk-ct-ring { animation-duration: 60s !important; }
}

/* =====================================================================
 * Image Hotspot
 * ================================================================== */
.mwk-hs { --mwk-m-size: 22px; --mwk-m-gap: 10px; --mwk-m-ring-w: 2px; --mwk-m-icon-s: 12px; --mwk-m-grow: 1.12; --mwk-pulse: rgba(255, 255, 255, .85); --mwk-tip-speed: 250ms; position: relative; display: block; width: 100%; line-height: 0; }
.mwk-hs img.mwk-hs-img { display: block; width: 100% !important; max-width: 100% !important; height: auto; margin: 0 !important; transition: opacity .3s, filter .3s; }
.mwk-hs .mwk-hs-noimg { aspect-ratio: 16 / 9; background: #e2e8f0; }
.mwk-hs-item { position: absolute; z-index: 2; left: var(--mwk-x, 50%); top: var(--mwk-y, 50%); width: 0; height: 0; line-height: 1.3; }
.mwk-hs-item.mwk-hs-from-right { left: auto; right: var(--mwk-x, 50%); }
.mwk-hs-item.mwk-hs-from-bottom { top: auto; bottom: var(--mwk-y, 50%); }
.mwk-hs-item:hover, .mwk-hs-item.is-open, .mwk-hs-item:focus-within { z-index: 6; }
.mwk-hs-box { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); }
.mwk-hs-pin-marker.mwk-hs-side-left .mwk-hs-box { transform: translate(calc(var(--mwk-m-size) / -2 * var(--mwk-hs-scale, 1)), -50%); }
.mwk-hs-pin-marker.mwk-hs-side-right .mwk-hs-box { transform: translate(calc(-100% + var(--mwk-m-size) / 2 * var(--mwk-hs-scale, 1)), -50%); }
.mwk-hs .mwk-hs-btn { display: inline-flex; align-items: center; gap: var(--mwk-m-gap); white-space: nowrap; text-decoration: none; cursor: pointer; outline: none; color: inherit; zoom: var(--mwk-hs-scale, 1); }
.mwk-hs .mwk-hs-btn:focus-visible { outline: 2px solid #4b1fd1; outline-offset: 4px; border-radius: 999px; }
.mwk-hs-look-box .mwk-hs-btn, .mwk-hs-look-marker .mwk-hs-btn { gap: 0; }

/* Label (box look and pill look) */
.mwk-hs-label { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--mwk-hs-box, #fff); color: var(--mwk-hs-text, #1f2937); transition: background-color .25s, color .25s, border-color .25s, transform .25s; }
.mwk-hs-look-box .mwk-hs-label { padding: 10px 16px; border-radius: 6px; font-size: 15px; box-shadow: 0 4px 14px rgba(0, 0, 0, .15); }
.mwk-hs-look-marker-label .mwk-hs-label { padding: 10px 18px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); }
.mwk-hs-box-icon { display: inline-flex; font-size: 16px; line-height: 1; }
.mwk-hs-box-icon svg { width: 1em; height: 1em; fill: currentColor; }

/* Marker */
.mwk-hs-marker { box-sizing: border-box; position: relative; flex: none; display: grid; place-items: center; width: var(--mwk-m-size); height: var(--mwk-m-size); border-radius: 50%; color: var(--mwk-m-icon, #111); transition: transform .25s ease, background-color .25s, border-color .25s, color .25s; }
.mwk-hs-item:hover .mwk-hs-marker, .mwk-hs-item.is-open .mwk-hs-marker { transform: scale(var(--mwk-m-grow)); }
.mwk-hs-marker svg, .mwk-hs-marker i { width: var(--mwk-m-icon-s); height: var(--mwk-m-icon-s); font-size: var(--mwk-m-icon-s); fill: currentColor; display: block; }
.mwk-hs-num { font-size: var(--mwk-m-icon-s); font-weight: 700; line-height: 1; }
.mwk-hs-m-glass .mwk-hs-marker { background: var(--mwk-m-color, rgba(255, 255, 255, .55)); border: var(--mwk-m-ring-w) solid var(--mwk-m-ring, rgba(255, 255, 255, .85)); box-shadow: 0 4px 14px rgba(0, 0, 0, .25); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mwk-hs-m-dot .mwk-hs-marker { background: var(--mwk-m-color, #fff); border: var(--mwk-m-ring-w) solid var(--mwk-m-ring, rgba(255, 255, 255, .5)); box-shadow: 0 2px 10px rgba(0, 0, 0, .3); }
.mwk-hs-m-ring .mwk-hs-marker { background: transparent; border: calc(var(--mwk-m-ring-w) + 1px) solid var(--mwk-m-ring, var(--mwk-m-color, #fff)); box-shadow: 0 2px 10px rgba(0, 0, 0, .25), inset 0 2px 10px rgba(0, 0, 0, .15); }
.mwk-hs-m-target .mwk-hs-marker { background: radial-gradient(circle, var(--mwk-m-color, #fff) 0 34%, rgba(0, 0, 0, .15) 36%); border: var(--mwk-m-ring-w) solid var(--mwk-m-ring, #fff); box-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.mwk-hs-m-plus .mwk-hs-marker, .mwk-hs-m-number .mwk-hs-marker, .mwk-hs-m-icon .mwk-hs-marker { background: var(--mwk-m-color, #fff); border: var(--mwk-m-ring-w) solid var(--mwk-m-ring, transparent); box-shadow: 0 3px 12px rgba(0, 0, 0, .25); }
.mwk-hs:where(.mwk-hs-m-plus, .mwk-hs-m-number, .mwk-hs-m-icon) { --mwk-m-size: 28px; --mwk-m-icon-s: 13px; }
.mwk-hs:where(.mwk-hs-m-arrow) { --mwk-m-size: 26px; }
.mwk-hs-m-square .mwk-hs-marker { border-radius: 4px; background: var(--mwk-m-color, #fff); border: var(--mwk-m-ring-w) solid var(--mwk-m-ring, rgba(255, 255, 255, .5)); box-shadow: 0 2px 10px rgba(0, 0, 0, .3); }
.mwk-hs-m-arrow .mwk-hs-marker { background: none; color: var(--mwk-m-color, #fff); filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5)); }
.mwk-hs-m-arrow .mwk-hs-marker .mwk-hs-arrow { width: 100%; height: 100%; }
.mwk-hs-m-plus .mwk-hs-item:hover .mwk-hs-marker svg, .mwk-hs-m-plus .mwk-hs-item.is-open .mwk-hs-marker svg { transform: rotate(45deg); }
.mwk-hs-m-plus .mwk-hs-marker svg { transition: transform .3s; }

/* Hotspot animations (on the marker, or on the box in the "Label box" look) */
.mwk-hs-anim-expand .mwk-hs-marker::after, .mwk-hs-anim-expand.mwk-hs-look-box .mwk-hs-label::after,
.mwk-hs-anim-overlay .mwk-hs-marker::before, .mwk-hs-anim-overlay.mwk-hs-look-box .mwk-hs-label::before { content: ""; position: absolute; inset: calc(var(--mwk-m-ring-w) * -1); border-radius: inherit; pointer-events: none; }
.mwk-hs-anim-expand .mwk-hs-marker::after, .mwk-hs-anim-expand.mwk-hs-look-box .mwk-hs-label::after { border: 2px solid var(--mwk-pulse); animation: mwk-hs-expand 1.8s ease-out infinite; }
.mwk-hs-anim-overlay .mwk-hs-marker::before, .mwk-hs-anim-overlay.mwk-hs-look-box .mwk-hs-label::before { z-index: -1; background: var(--mwk-pulse); animation: mwk-hs-overlay 2s ease-in-out infinite; }
.mwk-hs-anim-soft-beat .mwk-hs-marker, .mwk-hs-anim-soft-beat.mwk-hs-look-box .mwk-hs-label { animation: mwk-hs-beat 1.4s ease-in-out infinite; }
.mwk-hs-m-arrow.mwk-hs-anim-expand .mwk-hs-marker::after, .mwk-hs-m-arrow.mwk-hs-anim-overlay .mwk-hs-marker::before { display: none; }
.mwk-hs-m-arrow.mwk-hs-anim-expand .mwk-hs-marker, .mwk-hs-m-arrow.mwk-hs-anim-overlay .mwk-hs-marker { animation: mwk-hs-nudge 1.4s ease-in-out infinite; }
@keyframes mwk-hs-expand { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(2.1); } }
@keyframes mwk-hs-overlay { 0%, 100% { opacity: .55; transform: scale(1.35); } 50% { opacity: .15; transform: scale(1.9); } }
@keyframes mwk-hs-beat { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
@keyframes mwk-hs-nudge { 0%, 100% { translate: 0 0; } 50% { translate: 3px 0; } }
.mwk-hs-look-box .mwk-hs-label::after { border-radius: inherit; }

/* Tooltip */
.mwk-hs-tip { --tx: -50%; --ty: 0%; --ox: 0; --oy: 1; --dist: 0px; --sc: 1;
	position: absolute; z-index: 5; bottom: calc(100% + var(--mwk-tip-gap, 14px)); left: 50%;
	width: max-content; max-width: 260px; padding: 12px 16px; border-radius: 10px;
	background: var(--mwk-tip-bg, #fff); color: #1e293b; font-size: 14px; line-height: 1.5; white-space: normal; text-align: left;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; pointer-events: none;
	transform: translate(calc(var(--tx) + var(--ox) * var(--dist)), calc(var(--ty) + var(--oy) * var(--dist))) scale(var(--sc));
	transition: opacity var(--mwk-tip-speed) ease, transform var(--mwk-tip-speed) ease, visibility var(--mwk-tip-speed); }
.mwk-hs-tip > :first-child { margin-top: 0; }
.mwk-hs-tip > :last-child { margin-bottom: 0; }
.mwk-hs-tip img, .mwk-hs-tip video, .mwk-hs-tip iframe { display: block; max-width: 100%; height: auto; border-radius: 6px; }
.mwk-hs-has-arrow .mwk-hs-tip::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -7px; border: 7px solid transparent; border-top-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tanim-fade-grow .mwk-hs-tip { --sc: .85; }
.mwk-hs-tanim-fade-dir .mwk-hs-tip { --dist: 12px; }
.mwk-hs-tanim-slide-dir .mwk-hs-tip { --dist: 30px; }
.mwk-hs-item[data-trigger="hover"] .mwk-hs-box:hover .mwk-hs-tip,
.mwk-hs-item[data-trigger="hover"] .mwk-hs-box:focus-within .mwk-hs-tip,
.mwk-hs-item.is-open .mwk-hs-tip { opacity: 1; visibility: visible; pointer-events: auto; --dist: 0px; --sc: 1; }
@media (hover: none) { .mwk-hs-item[data-trigger="hover"]:not(.is-open) .mwk-hs-box:hover .mwk-hs-tip { opacity: 0; visibility: hidden; } }

/* Tooltip position (desktop / tablet / mobile, plus per-hotspot override) */
.mwk-hs-tip-top .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { bottom: calc(100% + var(--mwk-tip-gap, 14px)); top: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: 1; }
.mwk-hs-tip-top .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; top: 100%; left: 50%; margin-left: -7px; border-top-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-bottom .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { top: calc(100% + var(--mwk-tip-gap, 14px)); bottom: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: -1; }
.mwk-hs-tip-bottom .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; bottom: 100%; left: 50%; margin-left: -7px; border-bottom-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-left .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { right: calc(100% + var(--mwk-tip-gap, 14px)); left: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: 1; --oy: 0; }
.mwk-hs-tip-left .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; left: 100%; top: 50%; margin-top: -7px; border-left-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-right .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { left: calc(100% + var(--mwk-tip-gap, 14px)); right: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: -1; --oy: 0; }
.mwk-hs-tip-right .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; right: 100%; top: 50%; margin-top: -7px; border-right-color: var(--mwk-tip-bg, #fff); }
@media (max-width: 1024px) {
.mwk-hs-tip-tablet-top .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { bottom: calc(100% + var(--mwk-tip-gap, 14px)); top: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: 1; }
.mwk-hs-tip-tablet-top .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; top: 100%; left: 50%; margin-left: -7px; border-top-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-tablet-bottom .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { top: calc(100% + var(--mwk-tip-gap, 14px)); bottom: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: -1; }
.mwk-hs-tip-tablet-bottom .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; bottom: 100%; left: 50%; margin-left: -7px; border-bottom-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-tablet-left .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { right: calc(100% + var(--mwk-tip-gap, 14px)); left: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: 1; --oy: 0; }
.mwk-hs-tip-tablet-left .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; left: 100%; top: 50%; margin-top: -7px; border-left-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-tablet-right .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { left: calc(100% + var(--mwk-tip-gap, 14px)); right: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: -1; --oy: 0; }
.mwk-hs-tip-tablet-right .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; right: 100%; top: 50%; margin-top: -7px; border-right-color: var(--mwk-tip-bg, #fff); }
}
@media (max-width: 767px) {
.mwk-hs-tip-mobile-top .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { bottom: calc(100% + var(--mwk-tip-gap, 14px)); top: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: 1; }
.mwk-hs-tip-mobile-top .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; top: 100%; left: 50%; margin-left: -7px; border-top-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-mobile-bottom .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { top: calc(100% + var(--mwk-tip-gap, 14px)); bottom: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: -1; }
.mwk-hs-tip-mobile-bottom .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; bottom: 100%; left: 50%; margin-left: -7px; border-bottom-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-mobile-left .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { right: calc(100% + var(--mwk-tip-gap, 14px)); left: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: 1; --oy: 0; }
.mwk-hs-tip-mobile-left .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; left: 100%; top: 50%; margin-top: -7px; border-left-color: var(--mwk-tip-bg, #fff); }
.mwk-hs-tip-mobile-right .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip { left: calc(100% + var(--mwk-tip-gap, 14px)); right: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: -1; --oy: 0; }
.mwk-hs-tip-mobile-right .mwk-hs-has-arrow .mwk-hs-item:not(.mwk-hs-own-tip) .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; right: 100%; top: 50%; margin-top: -7px; border-right-color: var(--mwk-tip-bg, #fff); }
}
.mwk-hs .mwk-hs-own-tip-top .mwk-hs-tip { bottom: calc(100% + var(--mwk-tip-gap, 14px)); top: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: 1; }
.mwk-hs.mwk-hs-has-arrow .mwk-hs-own-tip-top .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; top: 100%; left: 50%; margin-left: -7px; border-top-color: var(--mwk-tip-bg, #fff); }
.mwk-hs .mwk-hs-own-tip-bottom .mwk-hs-tip { top: calc(100% + var(--mwk-tip-gap, 14px)); bottom: auto; left: 50%; right: auto; --tx: -50%; --ty: 0%; --ox: 0; --oy: -1; }
.mwk-hs.mwk-hs-has-arrow .mwk-hs-own-tip-bottom .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; bottom: 100%; left: 50%; margin-left: -7px; border-bottom-color: var(--mwk-tip-bg, #fff); }
.mwk-hs .mwk-hs-own-tip-left .mwk-hs-tip { right: calc(100% + var(--mwk-tip-gap, 14px)); left: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: 1; --oy: 0; }
.mwk-hs.mwk-hs-has-arrow .mwk-hs-own-tip-left .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; left: 100%; top: 50%; margin-top: -7px; border-left-color: var(--mwk-tip-bg, #fff); }
.mwk-hs .mwk-hs-own-tip-right .mwk-hs-tip { left: calc(100% + var(--mwk-tip-gap, 14px)); right: auto; top: 50%; bottom: auto; --tx: 0%; --ty: -50%; --ox: -1; --oy: 0; }
.mwk-hs.mwk-hs-has-arrow .mwk-hs-own-tip-right .mwk-hs-tip::after { top: auto; bottom: auto; left: auto; right: auto; margin: 0; border-color: transparent; right: 100%; top: 50%; margin-top: -7px; border-right-color: var(--mwk-tip-bg, #fff); }

/* Sequenced entrance */
.mwk-hs-seq.mwk-js .mwk-hs-box { opacity: 0; scale: .6; transition: opacity .5s ease, scale .5s cubic-bezier(.2, .9, .3, 1.4); transition-delay: calc(var(--i) * var(--mwk-seq, 250ms)); }
.mwk-hs-seq.mwk-js.is-in .mwk-hs-box { opacity: 1; scale: 1; }
@media (prefers-reduced-motion: reduce) { .mwk-hs .mwk-hs-marker, .mwk-hs .mwk-hs-marker::after, .mwk-hs .mwk-hs-marker::before, .mwk-hs .mwk-hs-label, .mwk-hs .mwk-hs-label::after, .mwk-hs .mwk-hs-label::before { animation: none !important; } }

/* =====================================================================
 * v1.2.0 — auto widths, per-item boxes, bento hover animations
 * ================================================================== */
/* Card Marquee: width that fits the content */
.mwk-w-auto:not(.mwk-card-img-left):not(.mwk-card-img-background) .mwk-card { width: auto; max-width: var(--mwk-maxw, 460px); min-width: var(--mwk-minw, 0); }
.mwk-w-auto .mwk-card-img-left .mwk-card, .mwk-w-auto.mwk-card-img-background .mwk-card { max-width: var(--mwk-maxw, 460px); }
.mwk-w-auto.mwk-card-img-background .mwk-card { width: var(--mwk-maxw, 300px); }
.mwk-w-auto .mwk-card-title { overflow-wrap: anywhere; }

/* Text Marquee: item boxes */
.mwk-tm-item { box-sizing: border-box; }
.mwk-iw-custom .mwk-tm-item { justify-content: center; }
.mwk-iw-custom .mwk-tm-item .mwk-tm-text { white-space: normal; }
.mwk-tm-item a { width: 100%; }

/* Bento: hover animations (chosen per tile) */
.mwk-bento { --mwk-ha-dur: .4s; --mwk-ha-c: #6d28d9; }
.mwk-bento .mwk-bg-tile.mwk-ha.mwk-ha.mwk-ha { transition: transform var(--mwk-ha-dur) cubic-bezier(.2,.8,.2,1), box-shadow var(--mwk-ha-dur) ease, background-color .35s, opacity .7s; will-change: transform; }
.mwk-bento .mwk-ha-lift:hover { transform: translateY(-10px); box-shadow: 0 22px 44px -18px rgba(15,23,42,.35); }
.mwk-bento .mwk-ha-grow:hover { transform: scale(1.035); box-shadow: 0 18px 40px -18px rgba(15,23,42,.3); z-index: 3; }
.mwk-bento .mwk-ha-shrink:hover { transform: scale(.965); }
.mwk-bento .mwk-ha-float:hover { animation: mwk-ha-float calc(var(--mwk-ha-dur) * 5) ease-in-out infinite; }
.mwk-bento .mwk-ha-pulse:hover { animation: mwk-ha-pulse calc(var(--mwk-ha-dur) * 3) ease-in-out infinite; }
.mwk-bento .mwk-ha-bounce:hover { animation: mwk-ha-bounce calc(var(--mwk-ha-dur) * 2.5) ease both; }
.mwk-bento .mwk-ha-buzz:hover { animation: mwk-ha-buzz calc(var(--mwk-ha-dur) * .4) linear 3; }
.mwk-bento .mwk-ha-tilt { transform-style: preserve-3d; }
.mwk-bento .mwk-ha-tilt:hover { transform: perspective(900px) rotateX(4deg) rotateY(-6deg) translateY(-4px); box-shadow: 18px 24px 40px -20px rgba(15,23,42,.35); }
.mwk-bento .mwk-ha-rotate:hover { transform: rotate(-2deg) scale(1.02); }
.mwk-bento .mwk-ha-glow:hover { box-shadow: 0 0 0 3px var(--mwk-ha-c), 0 18px 46px -12px var(--mwk-ha-c); }
.mwk-bento .mwk-ha-outline::after { content: ""; position: absolute; inset: 10px; border: 2px solid var(--mwk-ha-c); border-radius: inherit; opacity: 0; transform: scale(1.04); transition: opacity var(--mwk-ha-dur), transform var(--mwk-ha-dur); pointer-events: none; z-index: 3; }
.mwk-bento .mwk-ha-outline:hover::after { opacity: 1; transform: none; }
.mwk-bento .mwk-ha-shine::after { content: ""; position: absolute; top: 0; bottom: 0; left: -75%; width: 50%; z-index: 3; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); }
.mwk-bento .mwk-ha-shine:hover::after { animation: mwk-ha-shine calc(var(--mwk-ha-dur) * 2.2) ease; }
.mwk-bento .mwk-ha-img-zoom .mwk-bg-img img { transition: transform calc(var(--mwk-ha-dur) * 2) ease; }
.mwk-bento .mwk-ha-img-zoom:hover .mwk-bg-img img { transform: scale(1.14) !important; }
.mwk-bento .mwk-ha-img-pan .mwk-bg-img img { transition: transform calc(var(--mwk-ha-dur) * 8) linear; transform-origin: left center; }
.mwk-bento .mwk-ha-img-pan:hover .mwk-bg-img img { transform: scale(1.18) translateX(-6%) !important; }
.mwk-bento .mwk-ha-reveal .mwk-bg-body { transition: transform var(--mwk-ha-dur) cubic-bezier(.2,.8,.2,1); }
.mwk-bento .mwk-ha-reveal .mwk-bg-text { max-height: 0; opacity: 0; overflow: hidden; transition: max-height var(--mwk-ha-dur) ease, opacity var(--mwk-ha-dur) ease; }
.mwk-bento .mwk-ha-reveal:hover .mwk-bg-text { max-height: 12em; opacity: .9; }
.mwk-bento .mwk-ha-reveal:hover .mwk-bg-body { transform: translateY(-4px); }
@media (hover: none) { .mwk-bento .mwk-ha-reveal .mwk-bg-text { max-height: none; opacity: .9; } }
@keyframes mwk-ha-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes mwk-ha-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@keyframes mwk-ha-bounce { 0% { transform: translateY(0); } 30% { transform: translateY(-14px); } 50% { transform: translateY(0); } 70% { transform: translateY(-6px); } 100% { transform: translateY(0); } }
@keyframes mwk-ha-buzz { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-3px) rotate(-.5deg); } 75% { transform: translateX(3px) rotate(.5deg); } }
@keyframes mwk-ha-shine { from { left: -75%; } to { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .mwk-bento .mwk-ha:hover { animation: none !important; transform: none !important; } }

/* Bento tile button */
.mwk-bento .mwk-bg-btn { --mwk-bb-dur: .35s; position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 8px; align-self: auto; margin-top: 16px; padding: 10px 20px; border-radius: 999px; border: 1px solid transparent; background: #fff; color: #111; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color var(--mwk-bb-dur), color var(--mwk-bb-dur), border-color var(--mwk-bb-dur), transform var(--mwk-bb-dur) cubic-bezier(.2,.8,.2,1), box-shadow var(--mwk-bb-dur); z-index: 2; width: auto; }
.mwk-bento .mwk-bg-body { align-items: flex-start; }
.mwk-bento .mwk-bg-btn:hover, .mwk-bento .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link { background: #111; color: #fff; }
.mwk-bento .mwk-bg-btn-ic { display: inline-flex; align-items: center; line-height: 1; font-size: 1em; transition: transform var(--mwk-bb-dur) cubic-bezier(.2,.8,.2,1); }
.mwk-bento .mwk-bg-btn-ic svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-bento .mwk-bg-btn-ic i { color: inherit; }
.mwk-bbh-icon-slide .mwk-bg-btn.icon-after:hover .mwk-bg-btn-ic, .mwk-bbh-icon-slide .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link.icon-after .mwk-bg-btn-ic { transform: translateX(5px); }
.mwk-bbh-icon-slide .mwk-bg-btn.icon-before:hover .mwk-bg-btn-ic, .mwk-bbh-icon-slide .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link.icon-before .mwk-bg-btn-ic { transform: translateX(-5px); }
.mwk-bbh-lift .mwk-bg-btn:hover, .mwk-bbh-lift .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link { transform: translateY(-3px); box-shadow: 0 10px 22px -10px rgba(0,0,0,.45); }
.mwk-bbh-grow .mwk-bg-btn:hover, .mwk-bbh-grow .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link { transform: scale(1.06); }
.mwk-bbh-shine .mwk-bg-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -80%; width: 50%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); pointer-events: none; }
.mwk-bbh-shine .mwk-bg-btn:hover::after, .mwk-bbh-shine .mwk-bg-tile:hover .mwk-bg-btn.is-tile-link::after { animation: mwk-bb-shine calc(var(--mwk-bb-dur) * 2.4) ease; }
@keyframes mwk-bb-shine { to { left: 130%; } }

/* =====================================================================
 * 3D Carousel Pro (nested carousel)
 * ================================================================== */
.mwk-nc {
	--nc-cw: 330px; --nc-ch: 500px; --nc-sh: 720px; --nc-cy: -20px; --nc-vis: 3; --nc-sp: 84; --nc-gap: 24; --nc-depth: 100; --nc-angle: 20; --nc-ss: 89;
	--nc-curve: 26; --nc-sop: 100; --nc-sblur: 0; --nc-sdim: 0; --nc-persp: 1400px; --nc-dur: 800ms; --nc-ease: cubic-bezier(.22, .8, .2, 1);
	--nc-c1: #ff8a1f; --nc-c2: #ffd08a; --nc-glow: 100; --nc-lspeed: 4s; --nc-rw: calc(var(--nc-cw) * 1.36); --nc-rt: 5px; --nc-rflat: .2; --nc-ry: -14px;
	--nc-arct: 1.5; --nc-arcw: 96%; --nc-arch: 150px; --nc-arcy: 48px; --nc-bgs: 120; --nc-bgo: 45; --nc-m-angle: 10deg; --nc-m-float: 12px; --nc-m-speed: 5s;
	--nc-arcc: var(--nc-arc, var(--nc-c2));
	--nc-bottom: calc(50% + var(--nc-ch) / 2 + var(--nc-cy));
	position: relative; height: var(--nc-sh); overflow: visible; -webkit-tap-highlight-color: transparent;
}
/* Only the cards and the floor light are cut at the sides, so arrows keep their full shadow. */
.mwk-nc-stage, .mwk-nc-base { overflow-x: clip; overflow-y: visible; }
@supports not (overflow: clip) { .mwk-nc-stage { overflow: hidden; } }
.mwk-nc *, .mwk-nc *::before, .mwk-nc *::after { box-sizing: border-box; }
.mwk-nc-stage { position: absolute; inset: 0; perspective: var(--nc-persp); perspective-origin: 50% 42%; }
.mwk-nc-track { position: absolute; inset: 0; transform-style: preserve-3d; z-index: 1; pointer-events: none; }
.mwk-nc-slide { pointer-events: auto; }
.mwk-nc.is-drag-ready .mwk-nc-stage { cursor: grab; touch-action: pan-y; }
.mwk-nc.is-dragging .mwk-nc-stage, .mwk-nc.is-dragging .mwk-nc-slide { cursor: grabbing; }
.mwk-nc-slide {
	position: absolute; left: calc(50% - var(--nc-cw) / 2); top: calc(50% - var(--nc-ch) / 2 + var(--nc-cy));
	width: var(--nc-cw); height: var(--nc-ch); border-radius: 22px; display: flex; flex-direction: column;
	transform-origin: 50% 50%; backface-visibility: hidden; will-change: transform, opacity;
	transition: transform var(--nc-dur) var(--nc-ease), opacity var(--nc-dur) var(--nc-ease), filter var(--nc-dur) var(--nc-ease),
		rotate .7s ease, translate var(--nc-dur) var(--nc-ease), scale .7s ease, background-color .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.mwk-nc-slide { translate: 0 0 var(--nc-lz, 0px); }
.mwk-nc-slide > .e-con, .mwk-nc-slide > .elementor-element { flex: 1 1 auto; width: 100%; max-width: 100%; min-height: 100%; --width: 100%; margin: 0; }
.mwk-nc-slide::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; background: #000; opacity: var(--nc-d, 0); pointer-events: none; transition: opacity var(--nc-dur) var(--nc-ease); }
.mwk-nc.is-dragging .mwk-nc-slide, .mwk-nc.is-dragging .mwk-nc-slide::after { transition: none; }
.mwk-nc.is-marquee .mwk-nc-slide { transition: background-color .45s ease, border-color .45s ease, box-shadow .45s ease; }
.mwk-nc.is-marquee .mwk-nc-slide::after, .mwk-nc.is-marquee .mwk-nc-slide::before { transition-duration: .35s; }
.mwk-nc:not(.is-ready) .mwk-nc-slide:not(:first-child) { opacity: 0; }
.mwk-nc-slide.is-hidden { pointer-events: none; }
.mwk-nc--fan .mwk-nc-slide { transform-origin: 50% 240%; }
.mwk-nc-reflect .mwk-nc-slide { -webkit-box-reflect: below 4px linear-gradient(transparent 78%, rgba(0, 0, 0, .14)); }
/* the active card stands on the light ring: no mirror there (it made a pale patch around the ring) */
.mwk-nc-reflect .mwk-nc-slide.is-active { -webkit-box-reflect: below 0 linear-gradient(transparent, transparent); }

/* Motion of the active card (runs after it has arrived; stops on hover if chosen) */
.mwk-nc-m-sway .mwk-nc-slide.is-active.is-settled { animation: mwk-nc-sway var(--nc-m-speed) ease-in-out infinite; }
.mwk-nc-m-swayfloat .mwk-nc-slide.is-active.is-settled { animation: mwk-nc-swayfloat var(--nc-m-speed) ease-in-out infinite; }
.mwk-nc-m-float .mwk-nc-slide.is-active.is-settled { animation: mwk-nc-float var(--nc-m-speed) ease-in-out infinite; }
.mwk-nc-m-breathe .mwk-nc-slide.is-active.is-settled { animation: mwk-nc-breathe var(--nc-m-speed) ease-in-out infinite; }
.mwk-nc-m-rev .mwk-nc-slide.is-active.is-settled { animation-direction: reverse; }
.mwk-nc-m-stop .mwk-nc-slide.is-active:hover { animation-play-state: paused; }
.mwk-nc-m-tilt .mwk-nc-slide.is-active { transition: transform var(--nc-dur) var(--nc-ease), opacity var(--nc-dur) var(--nc-ease), filter var(--nc-dur) var(--nc-ease), rotate .25s ease-out; }
@keyframes mwk-nc-sway { 0%, 100% { rotate: y 0deg; } 25% { rotate: y var(--nc-m-angle); } 75% { rotate: y calc(var(--nc-m-angle) * -1); } }
@keyframes mwk-nc-swayfloat { 0%, 100% { rotate: y 0deg; translate: 0 0 var(--nc-lz, 0px); } 25% { rotate: y var(--nc-m-angle); translate: 0 calc(var(--nc-m-float) * -1) var(--nc-lz, 0px); } 50% { translate: 0 0 var(--nc-lz, 0px); } 75% { rotate: y calc(var(--nc-m-angle) * -1); translate: 0 calc(var(--nc-m-float) * -1) var(--nc-lz, 0px); } }
@keyframes mwk-nc-float { 0%, 100% { translate: 0 0 var(--nc-lz, 0px); } 50% { translate: 0 calc(var(--nc-m-float) * -1) var(--nc-lz, 0px); } }
@keyframes mwk-nc-breathe { 0%, 100% { scale: 1; } 50% { scale: 1.035; } }

/* Light & effects */
@property --nc-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.mwk-nc-base { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.mwk-nc-front { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.mwk-nc-backglow { position: absolute; left: 50%; top: calc(50% + var(--nc-cy)); width: calc(var(--nc-cw) * var(--nc-bgs) / 100 * 1.5); height: calc(var(--nc-ch) * var(--nc-bgs) / 100); transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, var(--nc-bgc, var(--nc-c1)), transparent); opacity: calc(var(--nc-bgo) / 100); filter: blur(40px); }
.mwk-nc-spot { position: absolute; left: 50%; top: -10%; width: calc(var(--nc-cw) * 2.2); height: calc(var(--nc-bottom) + 10%); transform: translateX(-50%); background: conic-gradient(from 180deg at 50% 0%, transparent 0deg 162deg, color-mix(in srgb, var(--nc-c2) 30%, transparent) 172deg, color-mix(in srgb, var(--nc-c2) 45%, transparent) 180deg, color-mix(in srgb, var(--nc-c2) 30%, transparent) 188deg, transparent 198deg 360deg); -webkit-mask: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .6) 60%, transparent 100%); mask: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .6) 60%, transparent 100%); filter: blur(6px); opacity: .7; animation: mwk-nc-soft calc(var(--nc-lspeed) * 1.3) ease-in-out infinite; }
.mwk-nc-arcsvg { position: absolute; left: 50%; width: var(--nc-arcw); height: var(--nc-arch); top: calc(var(--nc-bottom) + var(--nc-arcy) - var(--nc-arch)); transform: translateX(-50%); overflow: visible; }
.mwk-nc-arcsvg path { vector-effect: non-scaling-stroke; stroke-linecap: round; }
.mwk-nc-arcline, .mwk-nc-arcglow { fill: none; }
.mwk-nc-arcline { stroke-width: calc(var(--nc-arct) * 1px); }
.mwk-nc-arcglow { stroke-width: calc(var(--nc-arct) * 5px + 3px); filter: blur(6px); opacity: calc(.85 * var(--nc-glow) / 100); }
.mwk-nc-floorglow { position: absolute; left: 50%; top: calc(var(--nc-bottom) + var(--nc-ry)); width: calc(var(--nc-rw) * .9); height: calc(var(--nc-rw) * var(--nc-rflat) * 1.6); transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--nc-c1) 42%, transparent), color-mix(in srgb, var(--nc-c1) 12%, transparent) 60%, transparent); filter: blur(14px); opacity: calc(.8 * var(--nc-glow) / 100); }

/* The light ring: white-hot core, warm glow, bloom and a pool of light on the floor */
.mwk-nc-ring { position: absolute; left: 50%; top: calc(var(--nc-bottom) + var(--nc-ry)); width: var(--nc-rw); height: calc(var(--nc-rw) * var(--nc-rflat)); transform: translate(-50%, -50%); --g: calc(var(--nc-glow) / 100); --core: color-mix(in srgb, var(--nc-c2) 40%, #fff); }
.mwk-nc-ring i { position: absolute; inset: 0; border-radius: 50%; display: none; }
.mwk-nc-ring--glow i:nth-child(1), .mwk-nc-ring--pulse i:nth-child(1), .mwk-nc-ring--neon i:nth-child(1), .mwk-nc-ring--double i:nth-child(1), .mwk-nc-ring--orbit i:nth-child(1), .mwk-nc-ring--comet i:nth-child(1), .mwk-nc-ring--halo i:nth-child(2) {
	display: block; border: var(--nc-rt) solid var(--core);
	box-shadow:
		0 0 calc(3px * var(--g)) calc(1px * var(--g)) #fff8e8,
		0 0 calc(10px * var(--g)) calc(2px * var(--g)) var(--nc-c2),
		0 0 calc(26px * var(--g)) calc(5px * var(--g)) var(--nc-c1),
		0 0 calc(64px * var(--g)) calc(12px * var(--g)) color-mix(in srgb, var(--nc-c1) 55%, transparent),
		inset 0 0 calc(8px * var(--g)) calc(1px * var(--g)) var(--nc-c2),
		inset 0 0 calc(26px * var(--g)) calc(4px * var(--g)) color-mix(in srgb, var(--nc-c1) 60%, transparent);
}
.mwk-nc-ring--glow i:nth-child(1) { animation: mwk-nc-glowpulse var(--nc-lspeed) ease-in-out infinite; }
/* bloom */
.mwk-nc-ring--glow i:nth-child(2), .mwk-nc-ring--neon i:nth-child(2), .mwk-nc-ring--double i:nth-child(4), .mwk-nc-ring--pulse i:nth-child(4) {
	display: block; inset: -10% -5%; border: calc(var(--nc-rt) * 3) solid var(--nc-c1); filter: blur(calc(12px * var(--g))); opacity: .55;
	animation: mwk-nc-bloom var(--nc-lspeed) ease-in-out infinite;
}
/* pool of light inside the ring */
.mwk-nc-ring--glow i:nth-child(3), .mwk-nc-ring--orbit i:nth-child(3), .mwk-nc-ring--comet i:nth-child(3), .mwk-nc-ring--neon i:nth-child(3), .mwk-nc-ring--double i:nth-child(3), .mwk-nc-ring--halo i:nth-child(1) {
	display: block; inset: 4% 8%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--nc-c2) 60%, transparent), color-mix(in srgb, var(--nc-c1) 26%, transparent) 55%, transparent);
	filter: blur(6px); opacity: .85;
}
.mwk-nc-ring--halo i:nth-child(1) { inset: -18% -6%; background: radial-gradient(closest-side, #fff4dc, color-mix(in srgb, var(--nc-c2) 85%, transparent) 25%, color-mix(in srgb, var(--nc-c1) 55%, transparent) 55%, transparent); filter: blur(calc(8px * var(--g))); opacity: .9; animation: mwk-nc-bloom var(--nc-lspeed) ease-in-out infinite; }
.mwk-nc-ring--halo i:nth-child(2) { border-width: max(1px, calc(var(--nc-rt) * .45)); }
/* running light (orbit / comet) */
.mwk-nc-ring--orbit i:nth-child(1), .mwk-nc-ring--comet i:nth-child(1) { opacity: .55; }
.mwk-nc-ring--orbit i:nth-child(2), .mwk-nc-ring--orbit i:nth-child(4), .mwk-nc-ring--comet i:nth-child(2), .mwk-nc-ring--comet i:nth-child(4) {
	display: block; inset: calc(var(--nc-rt) * -.6);
	background: conic-gradient(from var(--nc-a), transparent 0deg 150deg, color-mix(in srgb, var(--nc-c1) 70%, transparent) 250deg, var(--nc-c2) 330deg, #fff 352deg, transparent 360deg);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--nc-rt) * 2.6), #000 calc(100% - var(--nc-rt) * 2.3));
	mask: radial-gradient(farthest-side, transparent calc(100% - var(--nc-rt) * 2.6), #000 calc(100% - var(--nc-rt) * 2.3));
	animation: mwk-nc-orbit var(--nc-lspeed) linear infinite;
}
.mwk-nc-ring--orbit i:nth-child(2) { background: conic-gradient(from var(--nc-a), transparent 0deg 20deg, var(--nc-c2) 70deg, #fff 88deg, transparent 100deg 200deg, var(--nc-c2) 250deg, #fff 268deg, transparent 280deg); }
.mwk-nc-ring--orbit i:nth-child(4) { background: conic-gradient(from var(--nc-a), transparent 0deg 20deg, var(--nc-c1) 70deg, var(--nc-c2) 88deg, transparent 100deg 200deg, var(--nc-c1) 250deg, var(--nc-c2) 268deg, transparent 280deg); }
.mwk-nc-ring--orbit i:nth-child(4), .mwk-nc-ring--comet i:nth-child(4) { inset: -12% -6%; -webkit-mask: none; mask: none; filter: blur(calc(14px * var(--g))); opacity: .9; }
.mwk-nc-ring--comet i:nth-child(2), .mwk-nc-ring--comet i:nth-child(4) { animation-duration: calc(var(--nc-lspeed) * .55); }
.mwk-nc-ring--comet i:nth-child(4) { background: conic-gradient(from var(--nc-a), transparent 0deg 200deg, color-mix(in srgb, var(--nc-c1) 60%, transparent) 300deg, var(--nc-c1) 350deg, transparent 360deg); opacity: .7; }
/* waves */
.mwk-nc-ring--pulse i:nth-child(2), .mwk-nc-ring--pulse i:nth-child(3) { display: block; border: max(1px, calc(var(--nc-rt) * .6)) solid var(--nc-c2); box-shadow: 0 0 calc(14px * var(--g)) var(--nc-c1), inset 0 0 calc(10px * var(--g)) var(--nc-c1); animation: mwk-nc-ripple calc(var(--nc-lspeed) * .75) cubic-bezier(.2, .6, .3, 1) infinite; }
.mwk-nc-ring--pulse i:nth-child(3) { animation-delay: calc(var(--nc-lspeed) * -.375); }
/* turning dashes */
.mwk-nc-ring--double i:nth-child(2) {
	display: block; inset: 15%; background: repeating-conic-gradient(from var(--nc-a), var(--nc-c2) 0deg 4deg, transparent 4deg 11deg);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	filter: drop-shadow(0 0 4px var(--nc-c2)); animation: mwk-nc-orbit calc(var(--nc-lspeed) * 4) linear infinite reverse;
}
.mwk-nc-ring--neon i:nth-child(1), .mwk-nc-ring--neon i:nth-child(2) { animation: mwk-nc-neon calc(var(--nc-lspeed) * 1.5) linear infinite; }
/* front half of the ring over the card: soft fade (no hard line across the light), only the light line itself */
.mwk-nc-front { --nc-rc: calc(var(--nc-bottom) + var(--nc-ry)); -webkit-mask: linear-gradient(to bottom, transparent calc(var(--nc-rc) - 6px), #000 calc(var(--nc-rc) + 18px)); mask: linear-gradient(to bottom, transparent calc(var(--nc-rc) - 6px), #000 calc(var(--nc-rc) + 18px)); }
.mwk-nc-front .mwk-nc-ring i:nth-child(3), .mwk-nc-front .mwk-nc-ring--glow i:nth-child(2), .mwk-nc-front .mwk-nc-ring--neon i:nth-child(2), .mwk-nc-front .mwk-nc-ring i:nth-child(4), .mwk-nc-front .mwk-nc-ring--halo i:nth-child(1) { display: none; }
/* light from the ring on the active card + glowing edge */
.mwk-nc-lit .mwk-nc-slide::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; background: radial-gradient(130% 55% at 50% 108%, color-mix(in srgb, var(--nc-c1) 60%, transparent), color-mix(in srgb, var(--nc-c1) 16%, transparent) 55%, transparent 78%); opacity: 0; transition: opacity var(--nc-dur) var(--nc-ease); }
.mwk-nc-lit .mwk-nc-slide.is-active::before { opacity: 1; }
.mwk-nc-edge .mwk-nc-slide { box-shadow: 0 0 0 1px rgba(255, 255, 255, .07), 0 18px 34px -24px rgba(0, 0, 0, .55); }
.mwk-nc-edge .mwk-nc-slide.is-active { box-shadow: 0 0 0 1px color-mix(in srgb, var(--nc-c1) 60%, transparent), 0 0 26px -2px color-mix(in srgb, var(--nc-c1) 45%, transparent), 0 24px 50px -30px color-mix(in srgb, var(--nc-c1) 55%, transparent); }
.mwk-nc-parts { position: absolute; left: 50%; top: var(--nc-bottom); width: var(--nc-rw); height: 0; transform: translateX(-50%); }
.mwk-nc-parts i { position: absolute; bottom: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--nc-c2); box-shadow: 0 0 8px var(--nc-c1); opacity: 0; animation: mwk-nc-part 5s linear infinite; }
.mwk-nc-parts i:nth-child(1) { left: 6%; animation-delay: -.2s; } .mwk-nc-parts i:nth-child(2) { left: 14%; animation-delay: -1.6s; animation-duration: 6s; }
.mwk-nc-parts i:nth-child(3) { left: 22%; animation-delay: -3.1s; } .mwk-nc-parts i:nth-child(4) { left: 30%; animation-delay: -.9s; animation-duration: 7s; }
.mwk-nc-parts i:nth-child(5) { left: 38%; animation-delay: -4.2s; } .mwk-nc-parts i:nth-child(6) { left: 46%; animation-delay: -2.3s; animation-duration: 5.5s; }
.mwk-nc-parts i:nth-child(7) { left: 54%; animation-delay: -3.7s; } .mwk-nc-parts i:nth-child(8) { left: 62%; animation-delay: -1.1s; animation-duration: 6.5s; }
.mwk-nc-parts i:nth-child(9) { left: 70%; animation-delay: -4.8s; } .mwk-nc-parts i:nth-child(10) { left: 78%; animation-delay: -2.9s; animation-duration: 7.5s; }
.mwk-nc-parts i:nth-child(11) { left: 86%; animation-delay: -.5s; } .mwk-nc-parts i:nth-child(12) { left: 94%; animation-delay: -3.4s; animation-duration: 6s; }
.mwk-nc-parts i:nth-child(13) { left: 50%; animation-delay: -1.9s; width: 3px; height: 3px; } .mwk-nc-parts i:nth-child(14) { left: 34%; animation-delay: -4.4s; width: 3px; height: 3px; }
@keyframes mwk-nc-soft { 0%, 100% { opacity: .4; } 50% { opacity: .7; } }
@keyframes mwk-nc-glowpulse { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.22); } }
@keyframes mwk-nc-bloom { 0%, 100% { opacity: .45; } 50% { opacity: .75; } }
@keyframes mwk-nc-orbit { to { --nc-a: 360deg; } }
@keyframes mwk-nc-ripple { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes mwk-nc-neon { 0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; } 20%, 24%, 55% { opacity: .35; } }
@keyframes mwk-nc-part { 0% { transform: translateY(0) scale(.6); opacity: 0; } 15% { opacity: .9; } 100% { transform: translateY(calc(var(--nc-ch) * -.9)) scale(1); opacity: 0; } }

/* Arrows */
.mwk-nc .mwk-nc-arrow, .mwk-nc .mwk-nc-arrow:hover, .mwk-nc .mwk-nc-arrow:focus {
	position: absolute; z-index: 6; display: grid; place-items: center; width: 56px; height: 56px; margin: 0; padding: 0; min-height: 0;
	border-radius: 50%; border: 1px solid color-mix(in srgb, var(--nc-c1) 32%, rgba(255, 255, 255, .12));
	background: radial-gradient(circle at 50% 35%, #232733, #0b0d13 70%); color: #fff; font-size: 18px; line-height: 1;
	box-shadow: 0 8px 20px -6px rgba(0, 0, 0, .6), 0 0 14px -3px color-mix(in srgb, var(--nc-c1) 45%, transparent), inset 0 1px 0 rgba(255, 255, 255, .09);
	cursor: pointer; text-decoration: none; transition: background-color .3s, color .3s, border-color .3s, box-shadow .3s, opacity .3s, scale .3s;
}
.mwk-nc .mwk-nc-arrow:hover { scale: 1.08; border-color: color-mix(in srgb, var(--nc-c1) 70%, transparent); box-shadow: 0 10px 24px -6px rgba(0, 0, 0, .6), 0 0 20px -2px color-mix(in srgb, var(--nc-c1) 60%, transparent), inset 0 1px 0 rgba(255, 255, 255, .12); }
.mwk-nc .mwk-nc-prev { left: 16px; top: 50%; transform: translate(var(--prev-tx, 0%), var(--prev-ty, -50%)); }
.mwk-nc .mwk-nc-next { right: 16px; top: 50%; transform: translate(var(--next-tx, 0%), var(--next-ty, -50%)); }
.mwk-nc .mwk-nc-arrow svg { width: 1em; height: 1em; fill: currentColor; }
.mwk-nc .mwk-nc-arrow i { font-size: 1em; }
.mwk-nc .mwk-nc-arrow.is-off { opacity: .3; pointer-events: none; }

/* Pagination */
.mwk-nc-pag { position: absolute; z-index: 6; left: 50%; top: calc(var(--nc-bottom) + var(--pag-y, 90px)); transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; gap: var(--dot-gap, 14px); }
.mwk-nc .mwk-nc-dot, .mwk-nc .mwk-nc-dot:hover, .mwk-nc .mwk-nc-dot:focus {
	display: block; width: var(--dot, 10px); height: var(--dot, 10px); min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 99px;
	background: var(--dot-normal, color-mix(in srgb, currentColor 32%, transparent)); box-shadow: none; cursor: pointer; font-size: 0; line-height: 1;
	transition: width .5s cubic-bezier(.22, .8, .2, 1), background-color .35s, box-shadow .35s, color .35s;
}
.mwk-nc .mwk-nc-dot:hover { background: var(--dot-hover, color-mix(in srgb, var(--nc-c1) 60%, #999)); }
.mwk-nc .mwk-nc-dot.is-active { background: var(--dot-active, linear-gradient(90deg, var(--nc-c1), var(--nc-c2))); box-shadow: 0 0 calc(8px * var(--dot-glow, 1)) var(--nc-c1), 0 0 calc(22px * var(--dot-glow, 1)) color-mix(in srgb, var(--nc-c1) 70%, transparent); }
.mwk-nc .is-pill .mwk-nc-dot.is-active, .mwk-nc .is-line .mwk-nc-dot.is-active { width: var(--dot-aw, 38px); }
.mwk-nc .is-line .mwk-nc-dot { width: calc(var(--dot, 10px) * 2.2); height: max(2px, calc(var(--dot, 10px) * .32)); border-radius: 3px; }
.mwk-nc .is-number .mwk-nc-dot { width: auto; height: auto; min-width: 26px; padding: 4px 6px; background: transparent; box-shadow: none; color: var(--dot-normal, rgba(150, 150, 165, .9)); font-size: 15px; font-weight: 600; }
.mwk-nc .is-number .mwk-nc-dot:hover { background: transparent; color: var(--dot-hover, var(--nc-c2)); }
.mwk-nc .is-number .mwk-nc-dot.is-active { background: transparent; color: var(--dot-active, var(--nc-c1)); text-shadow: 0 0 calc(12px * var(--dot-glow, 1)) var(--dot-active, var(--nc-c1)); box-shadow: none; }
.mwk-nc-pag.is-fraction { gap: 8px; font-size: 15px; font-weight: 600; letter-spacing: .08em; color: rgba(150, 150, 165, .95); font-variant-numeric: tabular-nums; }
.mwk-nc-pag.is-fraction .mwk-nc-cur { color: var(--nc-c1); font-size: 1.45em; }
.mwk-nc-pag.is-progress { width: 260px; height: 4px; border-radius: 9px; overflow: hidden; background: rgba(150, 150, 165, .3); display: block; }
.mwk-nc-pag.is-progress i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--dot-active, var(--nc-c1)), var(--nc-c2)); box-shadow: 0 0 12px var(--dot-active, var(--nc-c1)); transition: width var(--nc-dur) var(--nc-ease); }

@media (prefers-reduced-motion: reduce) {
	.mwk-nc-slide, .mwk-nc-slide::after { transition-duration: .01ms !important; }
	.mwk-nc-slide.is-active, .mwk-nc-base *, .mwk-nc-ring i { animation: none !important; }
}
.mwk-nc.is-paused .mwk-nc-base *, .mwk-nc.is-paused .mwk-nc-slide { animation-play-state: paused !important; }
