/* MeteoSystem Hero Kinetic v2 — completely scoped, no Avada/global selectors */
.msyk-hero{--msyk-ink:#061b33;--msyk-red:#ff315c;--msyk-ice:#8ce0fa;--msyk-shift-x:0px;--msyk-shift-y:0px;box-sizing:border-box;isolation:isolate;position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;min-height:640px;min-height:min(86vh,860px);background:#061b33;color:#fff;overflow:hidden;font-family:inherit;text-align:left}
.msyk-hero *, .msyk-hero *::before, .msyk-hero *::after{box-sizing:border-box}
.msyk-hero :is(h1,h2,p){margin:0;padding:0;color:inherit;max-width:none}
.msyk-media,.msyk-media-shade,.msyk-light-sweep,.msyk-grid-texture{position:absolute;inset:0;pointer-events:none}
.msyk-media{z-index:-3;background-image:var(--msyk-poster);background-size:cover;background-position:center 48%;transform:scale(1.06) translate3d(calc(var(--msyk-shift-x) * .28),calc(var(--msyk-shift-y) * .28),0);transition:filter 900ms ease;will-change:transform;animation:msyk-media-pan 25s ease-in-out infinite alternate}
.msyk-video{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:.88}
.msyk-media-shade{background:linear-gradient(92deg,rgba(2,17,37,.98) 0%,rgba(5,23,45,.90) 27%,rgba(5,23,45,.54) 58%,rgba(6,21,40,.30) 100%),linear-gradient(0deg,rgba(0,11,27,.83),transparent 38%,rgba(0,12,34,.12))}
.msyk-hero[data-msyk-index="1"] .msyk-media{filter:hue-rotate(13deg) saturate(1.14)}
.msyk-hero[data-msyk-index="2"] .msyk-media{filter:hue-rotate(-17deg) saturate(.92)}
.msyk-light-sweep{background:linear-gradient(105deg,transparent 35%,rgba(79,169,230,.13) 49%,transparent 64%);transform:translateX(-140%);animation:msyk-lightsweep 11s ease-in-out infinite}
.msyk-grid-texture{z-index:-1;opacity:.17;background-image:linear-gradient(rgba(153,213,252,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(153,213,252,.22) 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(90deg,transparent 42%,#000 100%)}
.msyk-ghost{position:absolute;z-index:-1;right:-.03em;bottom:40px;font-family:inherit;font-size:clamp(130px,23vw,440px);font-weight:900;line-height:.73;letter-spacing:-.095em;white-space:nowrap;color:rgba(255,255,255,.047);pointer-events:none;user-select:none;text-transform:uppercase;transform:translateX(var(--msyk-shift-x));transition:transform .3s ease,opacity .5s ease}
.msyk-inner{width:min(1390px,calc(100% - 10vw));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:3vw;position:relative;z-index:1;flex:1;min-height:480px;padding:64px 0 56px}
.msyk-main{max-width:min(890px,76%);width:100%}
.msyk-kicker{display:flex;align-items:center;gap:12px;letter-spacing:.23em;font-size:clamp(10px,.83vw,13px);font-weight:800;color:#b5d5ed!important;text-transform:uppercase;margin-bottom:26px!important}
.msyk-pulse{display:inline-block;width:8px;height:8px;background:var(--msyk-red);border-radius:50%;box-shadow:0 0 0 5px rgba(255,49,92,.13);animation:msyk-pulse 2.2s ease-in-out infinite}
/* v2.0.1 — More breathing room for Italian glyph descenders (g, p, q, y)
   while still clipping ONLY the kinetic entrance/exit movement. */
.msyk-headline{font-size:clamp(43px,6.25vw,112px)!important;font-weight:750!important;line-height:1.12!important;letter-spacing:-.065em!important;text-wrap:balance;margin:0 0 24px!important}
.msyk-line{display:block;overflow:hidden;white-space:normal;min-height:1.21em;padding:.025em 0 .025em}
.msyk-line > span{display:block;width:fit-content;max-width:100%;position:relative;padding-bottom:.105em}
.msyk-line-accent{color:var(--msyk-red)!important}
.msyk-line-accent > span{padding-right:0;text-shadow:0 0 30px rgba(255,49,92,.12)}
/* Underline always reaches the END of the whole red phrase; reveal on scene entry. */
.msyk-line-accent > span::after{content:'';position:absolute;left:0;right:0;bottom:.01em;height:clamp(3px,.052em,6px);background:var(--msyk-red);transform:scaleX(1);transform-origin:left;opacity:1}
.msyk-hero.is-entering .msyk-line-accent > span::after{animation:msyk-underline-reveal .85s .55s cubic-bezier(.16,1,.3,1) both}
.msyk-description{font-size:clamp(15px,1.15vw,19px)!important;line-height:1.65!important;color:#dfedfa!important;max-width:625px!important;min-height:55px}
.msyk-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;align-items:center}
.msyk-hero a.msyk-cta{font-family:inherit;display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:49px;border-radius:999px;text-decoration:none!important;font-size:14px;font-weight:750;letter-spacing:.005em;padding:12px 22px;transition:background .25s,transform .25s,border-color .25s,box-shadow .25s;white-space:normal}
.msyk-hero a.msyk-cta-primary{color:#fff;background:var(--msyk-red);border:1px solid var(--msyk-red);box-shadow:0 12px 34px rgba(255,49,92,.15)}
.msyk-hero a.msyk-cta-outline{color:#fff;background:rgba(255,255,255,.055);border:1px solid rgba(205,231,249,.48);backdrop-filter:blur(5px)}
.msyk-hero a.msyk-cta:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.18)}
.msyk-hero a.msyk-cta-primary:hover{background:#e82952}
.msyk-hero a.msyk-cta-outline:hover{background:rgba(255,255,255,.14);border-color:#fff}
.msyk-hero :is(a,button):focus-visible{outline:3px solid #9ddfff;outline-offset:4px}
.msyk-radar{height:min(29vw,365px);width:min(29vw,365px);border:1px solid rgba(174,223,251,.11);border-radius:50%;position:relative;flex:0 0 auto;opacity:.9;transform:translate3d(calc(var(--msyk-shift-x) * -.65),calc(var(--msyk-shift-y) * -.65),0)}
.msyk-radar::before,.msyk-radar::after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px dashed rgba(166,224,254,.21)}
.msyk-radar::after{transform:rotate(90deg)}
.msyk-radar-ring{position:absolute;border:1px solid rgba(158,225,254,.28);border-radius:50%;inset:15%}
.msyk-radar-ring-two{inset:30%;border-color:rgba(158,225,254,.19)}
.msyk-radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 286deg,rgba(100,194,251,.0) 290deg,rgba(100,194,251,.24) 356deg,transparent 360deg);animation:msyk-spin 10s linear infinite}
.msyk-radar-core{position:absolute;top:50%;left:50%;width:11px;height:11px;background:var(--msyk-red);transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 11px rgba(255,49,92,.11),0 0 26px rgba(255,49,92,.75)}
.msyk-radar-data{position:absolute;bottom:-32px;right:-12px;color:#a4c7df;font-size:9px;letter-spacing:.15em;line-height:1.8;text-align:right}
.msyk-radar-data strong{color:#e1f6ff;font-size:10px}
.msyk-footerbar{width:min(1390px,calc(100% - 10vw));margin:0 auto;min-height:94px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr) auto;align-items:center;gap:30px;position:relative;z-index:2;border-top:1px solid rgba(200,235,255,.24)}
.msyk-step-meta{display:flex;align-items:baseline;gap:4px;color:#80a8c8;font-size:14px;white-space:nowrap}
.msyk-count-current{color:#fff;font-size:30px;font-weight:700;letter-spacing:-.07em}
.msyk-count-slash{padding:0 2px}
.msyk-step-label{color:#c9e2f4;font-size:11px;margin-left:16px;letter-spacing:.14em;font-weight:650;white-space:normal}
.msyk-timeline{display:flex;gap:9px;align-items:center;width:100%}
.msyk-step{min-width:0;flex:1;display:flex;align-items:center;gap:8px;border:0!important;box-shadow:none!important;background:transparent!important;padding:12px 0!important;color:#adc7da!important;cursor:pointer;text-align:left;font:inherit!important;opacity:.85}
.msyk-step-track{height:3px;flex:1;display:block;background:rgba(205,233,252,.23);overflow:hidden;border-radius:20px}
.msyk-step-fill{display:block;background:var(--msyk-red);width:100%;height:100%;transform:scaleX(0);transform-origin:left}
.msyk-step.is-active{opacity:1;color:#fff!important}
.msyk-step-number{font-size:10px;font-weight:800;letter-spacing:.12em}
.msyk-controls{display:flex;align-items:center;gap:6px}
.msyk-control{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;padding:0!important;border:1px solid rgba(194,225,242,.33)!important;background:rgba(22,47,79,.5)!important;color:#fff!important;font-size:18px!important;cursor:pointer;border-radius:50%!important;transition:background .2s,border-color .2s}
.msyk-control:hover{background:rgba(255,255,255,.17)!important;border-color:#fff!important}
.msyk-play{font-size:15px!important}
.msyk-sr{position:absolute;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;height:1px;width:1px}
/* Scene animation: collapse down + rise with stagger and a directional wipe */
.msyk-hero.is-exiting .msyk-line > span{animation:msyk-line-out .35s cubic-bezier(.54,0,.99,.25) both}
.msyk-hero.is-exiting .msyk-description{animation:msyk-line-out .3s ease both}
.msyk-hero.is-entering .msyk-line-top > span{animation:msyk-line-in .85s cubic-bezier(.14,.8,.18,1) both}
.msyk-hero.is-entering .msyk-line-accent > span{animation:msyk-line-in .9s .10s cubic-bezier(.14,.8,.18,1) both}
.msyk-hero.is-entering .msyk-line-bottom > span{animation:msyk-line-in .9s .20s cubic-bezier(.14,.8,.18,1) both}
.msyk-hero.is-entering .msyk-description{animation:msyk-desc-in .8s .40s both}
.msyk-hero.is-entering .msyk-ghost{animation:msyk-ghost-in 1.2s both}
.msyk-hero.is-entering .msyk-radar{animation:msyk-radar-in 1s both}
@keyframes msyk-line-in{from{transform:translateY(105%) skewY(5deg);filter:blur(8px);opacity:0}to{transform:translateY(0) skewY(0);filter:blur(0);opacity:1}}
@keyframes msyk-line-out{from{transform:translateY(0);opacity:1;filter:blur(0)}to{transform:translateY(-65%);opacity:0;filter:blur(8px)}}
@keyframes msyk-desc-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes msyk-ghost-in{from{opacity:0;transform:translateX(110px)}to{opacity:1;transform:translateX(var(--msyk-shift-x))}}
@keyframes msyk-radar-in{from{opacity:0;transform:translate(60px,-10px) scale(.85)}to{opacity:.9;transform:translate(calc(var(--msyk-shift-x) * -.65),calc(var(--msyk-shift-y) * -.65)) scale(1)}}
@keyframes msyk-underline-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes msyk-spin{to{transform:rotate(360deg)}}
@keyframes msyk-pulse{50%{box-shadow:0 0 0 8px rgba(255,49,92,.035)}}
@keyframes msyk-media-pan{0%{transform:scale(1.06) translateX(-.5%)}100%{transform:scale(1.13) translateX(1%)}}
@keyframes msyk-lightsweep{0%,28%{transform:translateX(-140%)}55%,100%{transform:translateX(170%)}}
.msyk-hero.is-paused .msyk-media,.msyk-hero.is-paused .msyk-light-sweep,.msyk-hero.is-paused .msyk-radar-sweep,.msyk-hero.is-paused .msyk-pulse,.msyk-hero.is-paused .msyk-line-accent > span::after{animation-play-state:paused}
@media(max-width:1100px){.msyk-radar{width:24vw;height:24vw;opacity:.55}.msyk-main{max-width:82%}.msyk-headline{font-size:clamp(48px,6vw,85px)!important}.msyk-step-label{display:none}}
@media(max-width:760px){.msyk-hero{min-height:700px;min-height:min(88svh,820px)}.msyk-media-shade{background:linear-gradient(90deg,rgba(2,15,31,.92),rgba(2,15,31,.62)),linear-gradient(0deg,#061b33 0%,transparent 50%)}.msyk-grid-texture{opacity:.08}.msyk-inner{width:calc(100% - 40px);padding:56px 0 26px;min-height:500px}.msyk-main{max-width:100%}.msyk-headline{font-size:clamp(43px,9vw,72px)!important}.msyk-kicker{font-size:10px;letter-spacing:.12em;margin-bottom:24px!important}.msyk-description{max-width:510px!important;font-size:15px!important}.msyk-radar{display:none}.msyk-footerbar{width:calc(100% - 40px);grid-template-columns:1fr auto;gap:14px;min-height:90px}.msyk-step-meta{grid-column:1 / 2}.msyk-controls{grid-column:2;grid-row:1}.msyk-timeline{grid-column:1 / -1;grid-row:2;padding-bottom:16px}.msyk-step{padding:3px 0!important}.msyk-ghost{font-size:29vw;bottom:95px}}
@media(max-width:420px){.msyk-hero{min-height:680px;min-height:min(94svh,760px)}.msyk-inner{padding-top:40px}.msyk-headline{font-size:clamp(40px,10.6vw,55px)!important;line-height:1.15!important;letter-spacing:-.055em!important}.msyk-kicker{letter-spacing:.065em;gap:8px}.msyk-description{font-size:14px!important;line-height:1.5!important}.msyk-ctas{gap:9px;margin-top:20px}.msyk-hero a.msyk-cta{min-height:42px;padding:10px 15px;font-size:12px;gap:8px}.msyk-footerbar{min-height:100px}.msyk-step-meta{font-size:12px}.msyk-count-current{font-size:24px}.msyk-control{width:35px;height:35px;font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.msyk-hero *,.msyk-hero *::before,.msyk-hero *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.msyk-radar-sweep{display:none}}
