/* Aurora Slide Menu for Elementor */

/* ---------- Bar ---------- */
.asm-root .asm-bar{position:relative;z-index:990;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 16px;box-sizing:border-box;transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .3s,box-shadow .3s}
.asm-root .asm-bar.is-hidden{transform:translateY(-130%)}
.asm-root .asm-bar__logo{grid-row:1;grid-column:1;justify-self:start;display:inline-flex;align-items:center;text-decoration:none;color:#1B1536}
.asm-root .asm-bar__logo img{display:block;height:auto;max-width:100%}
.asm-root .asm-logo__text{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:22px;letter-spacing:-.03em}

/* Fit mode: wrapper is only as big as the toggle button (used when the bar logo is hidden) */
.asm-root.asm-root--fit{display:flex;justify-content:flex-end}
.asm-root .asm-bar.asm-bar--fit{display:flex;width:fit-content;max-width:100%;margin:0;padding:0!important;gap:0;min-height:0}

/* ---------- Toggle ---------- */
.asm-root .asm-toggle{grid-row:1;grid-column:3;justify-self:end;position:relative;display:inline-flex;align-items:center;gap:12px;appearance:none;-webkit-appearance:none;border:0;margin:0;padding:11px 18px;border-radius:999px;cursor:pointer;color:#fff;font:600 15px/1 'Sora',system-ui,sans-serif;background-color:#7C5CFF;-webkit-tap-highlight-color:transparent;transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s,box-shadow .3s}
.asm-root .asm-toggle:hover{transform:translateY(-1px);filter:brightness(1.08)}
.asm-root .asm-toggle:active{transform:scale(.96)}
.asm-root .asm-toggle__label{letter-spacing:.01em}
.asm-root .asm-toggle__icon{position:relative;display:block;flex:none;width:var(--asm-isz,22px);height:calc(var(--asm-isz,22px)*.68)}
.asm-root .asm-toggle__icon i{position:absolute;left:0;height:2px;width:100%;border-radius:2px;background:currentColor;transition:width .4s cubic-bezier(.22,1,.36,1),transform .4s}
.asm-root .asm-toggle--lines i:nth-child(1){top:0}
.asm-root .asm-toggle--lines i:nth-child(2){top:50%;margin-top:-1px;width:72%}
.asm-root .asm-toggle--lines i:nth-child(3){bottom:0;width:45%}
.asm-root .asm-toggle--lines:hover i:nth-child(2){width:100%}
.asm-root .asm-toggle--lines:hover i:nth-child(3){width:72%}
.asm-root .asm-toggle--lines i:nth-child(4),.asm-root .asm-toggle--duo i:nth-child(3),.asm-root .asm-toggle--duo i:nth-child(4){display:none}
.asm-root .asm-toggle--duo i:nth-child(1){top:22%}
.asm-root .asm-toggle--duo i:nth-child(2){bottom:22%;width:62%}
.asm-root .asm-toggle--duo:hover i:nth-child(2){width:100%}
.asm-root .asm-toggle--dots .asm-toggle__icon{display:grid;grid-template-columns:1fr 1fr;gap:22%;width:calc(var(--asm-isz,22px)*.8);height:calc(var(--asm-isz,22px)*.8);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.asm-root .asm-toggle--dots .asm-toggle__icon i{position:static;height:auto;width:auto;aspect-ratio:1;border-radius:50%}
.asm-root .asm-toggle--dots:hover .asm-toggle__icon{transform:rotate(90deg)}
.asm-root .asm-toggle--none .asm-toggle__icon{display:none}
.asm-root .asm-toggle.is-pulse::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:asm-pulse 2.6s ease-out infinite}
@keyframes asm-pulse{0%{box-shadow:0 0 0 0 var(--asm-pulse,rgba(255,92,138,.55))}70%,100%{box-shadow:0 0 0 16px transparent}}

/* Panel markup waits here until JS moves it to <body>; never show it in place */
.asm-root .asm-portal-src{display:none!important}

/* ---------- Overlay ---------- */
.asm-portal .asm-overlay{position:fixed;inset:0;z-index:99998;background:rgba(8,5,24,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--asm-dur,700ms) ease,visibility 0s linear var(--asm-dur,700ms)}
.asm-portal .asm-overlay.is-open{opacity:1;visibility:visible;transition:opacity var(--asm-dur,700ms) ease,visibility 0s}

/* ---------- Panel shell ---------- */
.asm-portal .asm-panel{position:fixed;z-index:99999;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;color:var(--asm-text,#FFF7F0);background:#0E0A24;font-family:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;visibility:hidden;pointer-events:none;
  transition:transform var(--asm-dur,700ms) var(--asm-ease,ease),opacity var(--asm-dur,700ms) var(--asm-ease,ease),clip-path var(--asm-dur,700ms) var(--asm-ease,ease),visibility 0s linear var(--asm-dur,700ms)}
.asm-portal .asm-panel.is-open{visibility:visible;pointer-events:auto;
  transition:transform var(--asm-dur,700ms) var(--asm-ease,ease),opacity var(--asm-dur,700ms) var(--asm-ease,ease),clip-path var(--asm-dur,700ms) var(--asm-ease,ease),visibility 0s}
.asm-portal .asm-panel *{box-sizing:border-box}

.asm-portal .asm-panel[data-mode=left],.asm-portal .asm-panel[data-mode=right]{top:0;bottom:0;height:100vh;height:100dvh;width:min(88vw,420px);max-width:100vw}
.asm-portal .asm-panel[data-mode=left]{left:0;border-radius:0 28px 28px 0;transform:translate3d(-104%,0,0)}
.asm-portal .asm-panel[data-mode=right]{right:0;border-radius:28px 0 0 28px;transform:translate3d(104%,0,0)}
.asm-portal .asm-panel[data-mode=top],.asm-portal .asm-panel[data-mode=bottom]{left:0;right:0;height:88vh;height:88dvh;border-radius:0 0 28px 28px}
.asm-portal .asm-panel[data-mode=top]{top:0;transform:translate3d(0,-104%,0)}
.asm-portal .asm-panel[data-mode=bottom]{bottom:0;border-radius:28px 28px 0 0;transform:translate3d(0,104%,0)}
.asm-portal .asm-panel[data-mode=circle],.asm-portal .asm-panel[data-mode=zoom]{inset:0;width:100%;height:100vh;height:100dvh}
.asm-portal .asm-panel[data-mode=circle]{clip-path:circle(0 at var(--asm-ox,90%) var(--asm-oy,4%))}
.asm-portal .asm-panel[data-mode=zoom]{opacity:0;transform:scale(1.08)}
.asm-portal .asm-panel.is-open[data-mode=left],.asm-portal .asm-panel.is-open[data-mode=right],
.asm-portal .asm-panel.is-open[data-mode=top],.asm-portal .asm-panel.is-open[data-mode=bottom]{transform:none}
.asm-portal .asm-panel.is-open[data-mode=circle]{clip-path:circle(150vmax at var(--asm-ox,90%) var(--asm-oy,4%))}
.asm-portal .asm-panel.is-open[data-mode=zoom]{opacity:1;transform:none}
.asm-portal .asm-panel.is-open.is-settled[data-mode=circle]{clip-path:none}

html.asm-lock{overflow:hidden}

/* Pointer glow */
.asm-portal .asm-panel::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.1),transparent 60%)}
.asm-portal .asm-panel[data-glow="1"]:hover::after,.asm-portal .asm-panel[data-glow="1"].has-pointer::after{opacity:1}

/* ---------- Aurora ---------- */
.asm-portal .asm-aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.asm-portal .asm-aurora span{position:absolute;width:var(--asm-bs,75vmax);aspect-ratio:1;border-radius:50%;opacity:var(--asm-ao,.6);background:radial-gradient(circle,var(--c) 0%,transparent 65%)}
.asm-portal .asm-aurora span:nth-child(1){--c:var(--asm-a1,#FF5C8A);top:-30%;left:-30%;animation:asm-d1 var(--asm-as,18s) ease-in-out infinite alternate}
.asm-portal .asm-aurora span:nth-child(2){--c:var(--asm-a2,#7C5CFF);bottom:-35%;right:-35%;animation:asm-d2 calc(var(--asm-as,18s)*1.2) ease-in-out infinite alternate}
.asm-portal .asm-aurora span:nth-child(3){--c:var(--asm-a3,#2BD9C8);width:calc(var(--asm-bs,75vmax)*.7);top:30%;left:25%;opacity:calc(var(--asm-ao,.6)*.7);animation:asm-d3 calc(var(--asm-as,18s)*.9) ease-in-out infinite alternate}
.asm-portal .asm-panel.is-open .asm-aurora span{will-change:transform}
.asm-portal .asm-panel:not(.is-open) .asm-aurora span{animation-play-state:paused}
@keyframes asm-d1{to{transform:translate3d(35%,28%,0) scale(1.2)}}
@keyframes asm-d2{to{transform:translate3d(-38%,-22%,0) scale(1.15)}}
@keyframes asm-d3{from{transform:translate3d(-20%,10%,0) scale(.9)}to{transform:translate3d(25%,-25%,0) scale(1.25)}}

/* ---------- Panel layout ---------- */
.asm-portal .asm-panel__inner{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;padding:20px 26px 30px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.asm-portal .asm-panel__head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:clamp(16px,4vh,40px)}
.asm-portal .asm-panel__logo{grid-row:1;grid-column:1;justify-self:start;display:inline-flex;text-decoration:none;color:var(--asm-text,#FFF7F0)}
.asm-portal .asm-panel__logo img{display:block;height:auto;max-width:100%;width:120px}
.asm-portal .asm-panel__logo .asm-logo__text{font-family:inherit;font-weight:700;font-size:22px;letter-spacing:-.03em}
.asm-portal .asm-close{grid-row:1;grid-column:3;justify-self:end;position:relative;width:46px;height:46px;padding:0;margin:0;border:0;border-radius:50%;appearance:none;-webkit-appearance:none;cursor:pointer;color:#FFF7F0;background:rgba(255,255,255,.08);transition:transform .5s cubic-bezier(.22,1,.36,1),background-color .3s}
.asm-portal .asm-close:hover{transform:rotate(90deg);background:rgba(255,255,255,.16)}
.asm-portal .asm-close i{position:absolute;left:30%;right:30%;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:currentColor}
.asm-portal .asm-close i:nth-child(1){transform:rotate(45deg)}
.asm-portal .asm-close i:nth-child(2){transform:rotate(-45deg)}
.asm-portal .asm-nav{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center}

/* ---------- Items ---------- */
.asm-portal .asm-list,.asm-portal .asm-sub>ul,.asm-portal .asm-social{list-style:none;margin:0;padding:0}
.asm-portal .asm-item{position:relative;border-radius:16px}
.asm-portal .asm-row{display:flex;align-items:center;justify-content:var(--asm-jc,flex-start);gap:10px}
.asm-portal .asm-link{position:relative;display:flex;align-items:flex-start;gap:14px;padding:var(--asm-gap,10px) 0;text-decoration:none;color:var(--asm-text,#FFF7F0);outline-offset:6px;-webkit-tap-highlight-color:transparent}
.asm-portal .asm-link__body{display:block}
.asm-portal .asm-link__text{position:relative;display:inline-block;font-size:clamp(30px,8.4vw,44px);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:var(--asm-text,#FFF7F0);transition:transform .5s cubic-bezier(.22,1,.36,1),color .3s}
.asm-portal .asm-link__icon{display:inline-flex;margin-top:.5em;font-size:20px;color:var(--asm-icon,#FFC46B)}
.asm-portal .asm-link__icon svg{width:1em;height:1em;fill:currentColor}
.asm-portal .asm-link__desc{display:block;margin-top:6px;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0;color:var(--asm-desc,rgba(255,247,240,.62))}
.asm-portal .asm-badge{align-self:flex-start;margin-top:.45em;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#1A0B2E;background:linear-gradient(135deg,#FF8FB1,#FFC46B)}
.asm-portal .asm-item.is-current>.asm-row .asm-link__text{color:var(--asm-active,#FF8FB1)}

/* hover effects */
/* Colour sweep: a coloured copy of the text (data-text) is revealed with clip-path.
   (The old background-clip:text gradient froze part-way in Safari.) */
.asm-portal .asm-panel[data-hover=sweep] .asm-link__text::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;pointer-events:none;color:var(--asm-hover,#FFC46B);-webkit-text-fill-color:var(--asm-hover,#FFC46B);white-space:inherit;-webkit-clip-path:inset(-20% 100% -20% -2%);clip-path:inset(-20% 100% -20% -2%);transition:clip-path .7s cubic-bezier(.22,1,.36,1),-webkit-clip-path .7s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-panel[data-hover=sweep] .asm-link:hover .asm-link__text::after,.asm-portal .asm-panel[data-hover=sweep] .asm-link:focus-visible .asm-link__text::after{-webkit-clip-path:inset(-20% -2% -20% -2%);clip-path:inset(-20% -2% -20% -2%)}
.asm-portal .asm-panel[data-hover=sweep] .asm-item.is-current>.asm-row .asm-link__text::after,.asm-portal .asm-panel[data-hover=sweep] .asm-subitem.is-current .asm-link__text::after{display:none}
.asm-portal .asm-panel[data-hover=shift] .asm-link:hover .asm-link__text{transform:translateX(calc(14px*var(--asm-dir,1))) scale(1.02);color:var(--asm-hover,#FFC46B)}
.asm-portal .asm-panel[data-hover=underline] .asm-link__text::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--asm-hover,#FFC46B),var(--asm-a1,#FF5C8A));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-panel[data-hover=underline] .asm-link:hover .asm-link__text::after{transform:scaleX(1)}
.asm-portal .asm-panel[data-hover=underline] .asm-link:hover .asm-link__text{color:var(--asm-hover,#FFC46B)}
.asm-portal .asm-panel[data-hover=spotlight] .asm-item::before{content:'';position:absolute;inset:0 -14px;border-radius:18px;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--asm-glow,rgba(255,196,107,.18)),transparent 65%)}
.asm-portal .asm-panel[data-hover=spotlight] .asm-item:hover::before,.asm-portal .asm-panel[data-hover=spotlight] .asm-item:focus-within::before{opacity:1}
.asm-portal .asm-panel[data-hover=spotlight] .asm-link:hover .asm-link__text{color:var(--asm-hover,#FFC46B)}

/* ---------- Sub-menu ---------- */
.asm-portal .asm-sub-toggle{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;margin:0;border-radius:50%;appearance:none;-webkit-appearance:none;cursor:pointer;color:var(--asm-text,#FFF7F0);background:transparent;border:1px solid rgba(255,255,255,.22);transition:background-color .3s}
.asm-portal .asm-sub-toggle:hover{background:rgba(255,255,255,.1)}
.asm-portal .asm-sub-toggle i{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-item.is-expanded>.asm-row .asm-sub-toggle i{transform:rotate(-135deg) translate(-2px,-2px)}
.asm-portal .asm-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-item.is-expanded>.asm-sub{grid-template-rows:1fr}
.asm-portal .asm-sub>ul{min-height:0;overflow:hidden;visibility:hidden;padding-left:var(--asm-indent,22px);transition:visibility 0s linear .5s}
.asm-portal .asm-item.is-expanded>.asm-sub>ul{visibility:visible;transition-delay:0s}
.asm-portal .asm-link--sub{padding:8px 0}
.asm-portal .asm-link--sub .asm-link__text{font-size:clamp(18px,4.8vw,22px);font-weight:500;opacity:.9}
.asm-portal .asm-subitem.is-current .asm-link__text{color:var(--asm-active,#FF8FB1);-webkit-text-fill-color:var(--asm-active,#FF8FB1);background:none}

/* ---------- Footer ---------- */
.asm-portal .asm-footer{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;gap:18px;align-items:var(--asm-ai,flex-start)}
.asm-portal .asm-note{margin:0;font-size:14px;line-height:1.5;color:var(--asm-desc,rgba(255,247,240,.62))}
.asm-portal .asm-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;font-size:16px;font-weight:600;text-decoration:none;color:#1A0B2E;background-color:#FF8FB1;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,filter .3s}
.asm-portal .asm-cta:hover{transform:translateY(-2px)}
.asm-portal .asm-cta::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg);background:rgba(255,255,255,.45);transition:left .7s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-cta:hover::after{left:130%}
.asm-portal .asm-cta span{position:relative;z-index:1}
.asm-portal .asm-social{display:flex;flex-wrap:wrap;gap:10px;justify-content:var(--asm-jc,flex-start)}
.asm-portal .asm-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:18px;text-decoration:none;color:var(--asm-text,#FFF7F0);border:1px solid rgba(255,255,255,.2);transition:background-color .3s,color .3s,transform .35s cubic-bezier(.22,1,.36,1)}
.asm-portal .asm-social a:hover{transform:translateY(-3px)}
.asm-portal .asm-social svg{width:1em;height:1em;fill:currentColor}

/* ---------- Staggered entrance ---------- */
.asm-portal .asm-anim{opacity:0;transform:var(--asm-from,translate3d(0,40px,0));filter:var(--asm-blur,none);transform-origin:50% 0;transition:opacity .45s ease,transform .8s cubic-bezier(.22,1,.36,1),filter .6s ease}
.asm-portal .asm-panel.is-open .asm-anim{opacity:1;transform:none;filter:none;transition-delay:calc(var(--asm-base,220ms) + var(--i,0)*var(--asm-stagger,70ms))}
.asm-portal .asm-panel[data-anim=slide-side]{--asm-from:translate3d(-56px,0,0)}
.asm-portal .asm-panel[data-anim=fade]{--asm-from:none}
.asm-portal .asm-panel[data-anim=zoom]{--asm-from:scale(.84)}
.asm-portal .asm-panel[data-anim=flip]{--asm-from:perspective(700px) rotateX(-85deg)}
.asm-portal .asm-panel[data-anim=blur]{--asm-from:translate3d(0,14px,0);--asm-blur:blur(14px)}
.asm-portal .asm-panel[data-anim=none] .asm-anim{opacity:1;transform:none;filter:none;transition:none}

/* ---------- Focus & motion ---------- */
.asm-root .asm-toggle:focus-visible,.asm-portal .asm-panel :focus-visible{outline:2px solid #FFC46B;outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .asm-portal .asm-panel,.asm-portal .asm-overlay,.asm-portal .asm-anim,.asm-root .asm-bar{transition-duration:.01ms!important;transition-delay:0s!important}
  .asm-portal .asm-aurora span,.asm-root .asm-toggle.is-pulse::after{animation:none!important}
}

/* =====================================================================
   Desktop horizontal menu (universal layout)
   Hidden by default; the widget prints a media query that shows it
   above the chosen breakpoint and hides the toggle.
   ===================================================================== */
.asm-root .asm-hnav{display:none;align-items:center;margin:0 auto}
.asm-root .asm-hlist{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.asm-root .asm-hitem{position:relative;display:flex;align-items:center}
.asm-root .asm-hlink{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;padding:12px 14px;text-decoration:none;white-space:nowrap;color:var(--asm-hc,#1B1536);font:600 15px/1.2 'Sora',system-ui,sans-serif;letter-spacing:-.005em;transition:color .3s}
.asm-root .asm-hlink__icon{display:inline-flex;font-size:1.05em}
.asm-root .asm-hlink__icon svg{width:1em;height:1em;fill:currentColor}
.asm-root .asm-hlink:hover,.asm-root .asm-hitem:hover>.asm-hlink,.asm-root .asm-hitem.is-open>.asm-hlink{color:var(--asm-hh,#7C5CFF)}
.asm-root .asm-hitem.is-current>.asm-hlink{color:var(--asm-ha,#FF5C8A)}
.asm-root .asm-hnav .asm-badge{padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;color:#1A0B2E;background:linear-gradient(135deg,#FF8FB1,#FFC46B)}

/* hover effects */
.asm-root .asm-hnav[data-hfx=underline] .asm-hlink::after{content:'';position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--asm-hacc,#7C5CFF);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.asm-root .asm-hnav[data-hfx=underline] .asm-hitem:hover>.asm-hlink::after,.asm-root .asm-hnav[data-hfx=underline] .asm-hitem.is-open>.asm-hlink::after,.asm-root .asm-hnav[data-hfx=underline] .asm-hitem.is-current>.asm-hlink::after{transform:scaleX(1);transform-origin:left}
.asm-root .asm-hnav[data-hfx=pill] .asm-hlink::before{content:'';position:absolute;inset:4px 0;z-index:-1;border-radius:999px;background:var(--asm-hacc,#7C5CFF);opacity:0;transform:scale(.88);transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1)}
.asm-root .asm-hnav[data-hfx=pill] .asm-hitem:hover>.asm-hlink::before,.asm-root .asm-hnav[data-hfx=pill] .asm-hitem.is-open>.asm-hlink::before{opacity:.12;transform:none}
.asm-root .asm-hnav[data-hfx=pill] .asm-hitem.is-current>.asm-hlink::before{opacity:.09;transform:none}
.asm-root .asm-hnav[data-hfx=dot] .asm-hlink::after{content:'';position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--asm-hacc,#7C5CFF);transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.asm-root .asm-hnav[data-hfx=dot] .asm-hitem:hover>.asm-hlink::after,.asm-root .asm-hnav[data-hfx=dot] .asm-hitem.is-open>.asm-hlink::after,.asm-root .asm-hnav[data-hfx=dot] .asm-hitem.is-current>.asm-hlink::after{transform:scale(1)}

/* caret */
.asm-root .asm-hcaret{display:grid;place-items:center;width:24px;height:30px;margin:0 0 0 -10px;padding:0;border:0;border-radius:8px;appearance:none;-webkit-appearance:none;cursor:pointer;color:var(--asm-hc,#1B1536);background:transparent;transition:color .3s}
.asm-root .asm-hcaret i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.asm-root .asm-hitem:hover>.asm-hcaret,.asm-root .asm-hitem.is-open>.asm-hcaret{color:var(--asm-hh,#7C5CFF)}
.asm-root .asm-hitem:hover>.asm-hcaret i,.asm-root .asm-hitem.is-open>.asm-hcaret i{transform:rotate(-135deg) translate(-1px,-1px)}

/* sub-menu card */
.asm-root .asm-drop{position:absolute;top:100%;left:0;z-index:995;margin-top:var(--asm-doff,12px);min-width:240px;padding:10px;box-sizing:border-box;border-radius:20px;color:var(--asm-dc,#1B1536);background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s linear .45s}
.asm-root .asm-drop::before{content:'';position:absolute;left:0;right:0;top:calc(var(--asm-doff,12px)*-1 - 2px);height:calc(var(--asm-doff,12px) + 2px)}
.asm-root .asm-hitem.is-flip>.asm-drop{left:auto;right:0}
.asm-root .asm-hnav[data-dfx=rise] .asm-drop{transform:translate3d(0,12px,0)}
.asm-root .asm-hnav[data-dfx=scale] .asm-drop{transform:scale(.94);transform-origin:top left}
.asm-root .asm-hnav[data-dfx=scale] .asm-hitem.is-flip>.asm-drop{transform-origin:top right}
.asm-root .asm-hnav[data-dfx=none] .asm-drop{transition:none}
.asm-root .asm-hitem.is-open>.asm-drop{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s}
.asm-root .asm-hitem:has(:focus-visible)>.asm-drop{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s}
@media (hover:hover){
  .asm-root .asm-hitem:hover>.asm-drop{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s}
}
.asm-root .asm-dlist{list-style:none;margin:0;padding:0}
.asm-root .asm-drop--list .asm-dlist{display:flex;flex-direction:column;gap:2px}
.asm-root .asm-drop--mega{width:max-content;min-width:480px;max-width:min(680px,92vw);padding:12px}
.asm-root .asm-drop--mega .asm-dlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.asm-root .asm-dlink{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--asm-dc,#1B1536);transition:background-color .25s}
.asm-root .asm-dlink:hover .asm-dlink__text,.asm-root .asm-dlink:focus-visible .asm-dlink__text{color:var(--asm-dch,var(--asm-dc,#1B1536))}
.asm-root .asm-dlink.is-current .asm-dlink__text{color:var(--asm-dca,var(--asm-ha,#FF5C8A))}
.asm-root .asm-dlink__icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:17px;color:var(--asm-di,#7C5CFF);background:var(--asm-dib,rgba(124,92,255,.12))}
.asm-root .asm-dlink__icon svg{width:1em;height:1em;fill:currentColor}
.asm-root .asm-dlink__text{display:block;font-size:15px;font-weight:600;line-height:1.25}
.asm-root .asm-dlink__desc{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:var(--asm-dd,rgba(27,21,54,.6))}
.asm-root .asm-drop--list .asm-dlink__desc{display:none}
.asm-root .asm-drop--list .asm-dlink__icon{width:auto;height:auto;background:none;font-size:15px}

/* bar button (desktop) */
.asm-root .asm-bar__cta{display:none;align-items:center;justify-content:center;white-space:nowrap;padding:12px 22px;border-radius:999px;text-decoration:none;color:#fff;font:600 15px/1 'Sora',system-ui,sans-serif;background-color:#7C5CFF;transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s}
.asm-root .asm-bar__cta:hover{transform:translateY(-1px);filter:brightness(1.08)}
.asm-root .asm-hlink:focus-visible,.asm-root .asm-hcaret:focus-visible,.asm-root .asm-dlink:focus-visible,.asm-root .asm-bar__cta:focus-visible{outline:2px solid #7C5CFF;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.asm-root .asm-drop,.asm-root .asm-hlink::after,.asm-root .asm-hlink::before{transition-duration:.01ms!important}}

/* Smooth state changes for every hoverable element (duration is adjustable per element in the Style tab) */
.asm-root .asm-toggle,.asm-root .asm-bar__cta,.asm-root .asm-hlink,.asm-root .asm-dlink,.asm-root .asm-bar__logo,
.asm-portal .asm-cta,.asm-portal .asm-social a,.asm-portal .asm-close,.asm-portal .asm-sub-toggle,.asm-portal .asm-sub .asm-link{
  transition-property:color,background-color,border-color,box-shadow,transform,filter,opacity;
  transition-duration:.3s;transition-timing-function:cubic-bezier(.22,1,.36,1)}

/* =====================================================================
   Elementor editor only: keep colour/size editing smooth.
   (Nothing here applies on the live site.)
   ===================================================================== */
/* Dragging a colour picker fires dozens of changes per second. Colour transitions would restart on every
   change and never settle, so they are switched off in the editor. Hover movement still animates. */
.elementor-editor-active .asm-root .asm-toggle,
.elementor-editor-active .asm-root .asm-bar__cta,
.elementor-editor-active .asm-root .asm-hlink,
.elementor-editor-active .asm-root .asm-dlink,
.elementor-editor-active .asm-root .asm-bar__logo,
.elementor-editor-active .asm-portal .asm-cta,
.elementor-editor-active .asm-portal .asm-social a,
.elementor-editor-active .asm-portal .asm-close,
.elementor-editor-active .asm-portal .asm-sub-toggle,
.elementor-editor-active .asm-portal .asm-sub .asm-link{transition-property:transform,opacity}
/* The big animated aurora layers are re-painted on every colour change. Hold them still unless the
   "Animate aurora in the editor" switch is on. */
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-aurora span{animation:none;will-change:auto}
.elementor-editor-active .asm-root .asm-toggle.is-pulse::after{animation:none}
/* Full-screen backdrop blur is the most expensive effect in the editor preview. */
.elementor-editor-active .asm-portal .asm-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}

/* =====================================================================
   Detailing animations (car, bubbles, gloss). Transform/opacity only, and
   they run only while the panel is open.
   ===================================================================== */
.asm-portal .asm-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}

/* Soap bubbles */
.asm-portal .asm-bubbles span{position:absolute;bottom:-40px;left:var(--x,50%);width:var(--s,14px);height:var(--s,14px);border-radius:50%;opacity:0;
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.9) 0,rgba(255,255,255,.2) 28%,transparent 62%);
  border:1px solid var(--asm-bub,rgba(255,255,255,.55))}
.asm-portal .asm-panel.is-open .asm-bubbles span{animation:asm-rise var(--t,9s) linear var(--d,0s) infinite}
@keyframes asm-rise{
  0%{transform:translate3d(0,0,0) scale(.6);opacity:0}
  10%{opacity:.9}
  35%{transform:translate3d(12px,-42vh,0) scale(1)}
  70%{transform:translate3d(-10px,-84vh,0)}
  100%{transform:translate3d(6px,-125vh,0);opacity:0}}

/* Paint gloss sweep */
.asm-portal .asm-gloss{position:absolute;top:-20%;bottom:-20%;left:0;width:60%;opacity:0;transform:translate3d(-130%,0,0) skewX(-18deg);
  background:linear-gradient(90deg,transparent,var(--asm-gl,rgba(255,255,255,.16)),transparent)}
.asm-portal .asm-panel.is-open .asm-gloss{animation:asm-gloss 1.6s cubic-bezier(.4,0,.2,1) .35s 1 both}
@keyframes asm-gloss{from{opacity:1;transform:translate3d(-130%,0,0) skewX(-18deg)}to{opacity:1;transform:translate3d(260%,0,0) skewX(-18deg)}}

/* Car */
.asm-portal .asm-car-track{position:absolute;left:0;right:0;bottom:var(--asm-co,14px);height:calc(var(--asm-cw,140px)*.4)}
.asm-portal .asm-car-track.is-rtl{transform:scaleX(-1)}
.asm-portal .asm-road{position:absolute;left:0;right:0;bottom:0;height:2px;
  background:repeating-linear-gradient(90deg,var(--asm-road,rgba(255,255,255,.28)) 0 18px,transparent 18px 34px)}
/* parked position is the resting state, so closing never makes the car vanish */
.asm-portal .asm-car-run{position:absolute;left:0;bottom:0;width:100%;height:100%;transform:translate3d(calc(50% - var(--asm-cw,140px)/2),0,0)}
.asm-portal .asm-car{display:block;width:var(--asm-cw,140px);height:100%;overflow:visible}
.asm-portal .asm-car-body{fill:var(--asm-car,#FF5C8A)}
.asm-portal .asm-car-glass{fill:var(--asm-car2,#BFEFFF);opacity:.88}
.asm-portal .asm-wheel,.asm-portal .asm-spark{transform-box:fill-box;transform-origin:center}
.asm-portal .asm-spark{opacity:0}
.asm-portal .asm-panel.is-open .asm-car-run{will-change:transform}
.asm-portal .asm-panel.is-open .asm-car-run[data-m=once]{animation:asm-park 1.9s cubic-bezier(.16,.84,.3,1) .35s both}
.asm-portal .asm-panel.is-open .asm-car-run[data-m=once] .asm-wheel{animation:asm-spin .4s linear .35s 5}
.asm-portal .asm-panel.is-open .asm-car-run[data-m=loop]{animation:asm-drive var(--asm-cs,7s) linear .3s infinite}
.asm-portal .asm-panel.is-open .asm-car-run[data-m=loop] .asm-wheel{animation:asm-spin .4s linear infinite}
.asm-portal .asm-panel.is-open .asm-spark{animation:asm-twinkle 2s ease-in-out 1.2s infinite}
@keyframes asm-park{from{transform:translate3d(calc(-1*var(--asm-cw,140px) - 10px),0,0)}to{transform:translate3d(calc(50% - var(--asm-cw,140px)/2),0,0)}}
@keyframes asm-drive{from{transform:translate3d(calc(-1*var(--asm-cw,140px) - 10px),0,0)}to{transform:translate3d(calc(100% + 10px),0,0)}}
@keyframes asm-spin{to{transform:rotate(360deg)}}
@keyframes asm-twinkle{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1)}}
/* keeps menu content clear of the car */
.asm-portal .asm-car-space{flex:none;height:calc(var(--asm-cw,140px)*.4 + var(--asm-co,14px) + 12px)}

/* Still frames: editor (unless "Animate effects in the editor" is on) and reduced-motion users */
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-car-run,
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-car-run .asm-wheel,
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-spark,
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-gloss{animation:none!important;will-change:auto}
.elementor-editor-active .asm-portal .asm-panel:not([data-ed-motion="1"]) .asm-bubbles span{animation:none!important;bottom:var(--y,20%);opacity:.7}
@media (prefers-reduced-motion:reduce){
  .asm-portal .asm-panel .asm-car-run,.asm-portal .asm-panel .asm-car-run .asm-wheel,.asm-portal .asm-panel .asm-spark,.asm-portal .asm-panel .asm-gloss{animation:none!important}
  .asm-portal .asm-panel .asm-bubbles span{animation:none!important;bottom:var(--y,20%);opacity:.7}
}

/* Item hover animation switched off: no movement, sweep, underline or spotlight, just a plain hover colour change */
.asm-portal .asm-panel[data-hover=none] .asm-link__text{transition:color .3s ease!important;transform:none!important}
.asm-portal .asm-panel[data-hover=none] .asm-item::before{display:none!important}
.asm-portal .asm-panel[data-hover=none] .asm-link:hover .asm-link__text,.asm-portal .asm-panel[data-hover=none] .asm-link:focus-visible .asm-link__text{color:var(--asm-hover,#FFC46B)}
.asm-portal .asm-panel[data-hover=none] .asm-item.is-current>.asm-row .asm-link__text,.asm-portal .asm-panel[data-hover=none] .asm-subitem.is-current .asm-link__text{color:var(--asm-active,#FF8FB1)}
