/* ===== Hero Intro widget: centered animated hero ===== */
.cms-hero,.cms-hero-intro{--c-bg:var(--e-global-color-cmsbg,#F4F7FA);--c-bg2:var(--e-global-color-cmsbg2,#E6EDF4);--c-surface:var(--e-global-color-cmssurface,#FFFFFF);--c-ink:var(--e-global-color-cmsink,#0B1B2E);--c-muted:var(--e-global-color-cmsmuted,#4B5B70);--c-line:var(--e-global-color-cmsline,#D9E2EC);--c-navy:var(--e-global-color-cmscobalt,#12345A);--c-cyan:var(--e-global-color-cmsaqua,#3CC6E0);--c-gold:var(--e-global-color-cmsvolt,#F4B940);--f-head:var(--e-global-typography-cmsh1-font-family,"Bricolage Grotesque"),system-ui,sans-serif;--f-body:var(--e-global-typography-cmsbody-font-family,"Onest"),system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
.cms-hero{position:relative!important;overflow:hidden;isolation:isolate}
.cms-hero > .e-con-inner,.cms-hero .elementor-widget-cms-hero-intro,.cms-hero .elementor-widget-cms-hero-intro > .elementor-widget-container{position:static!important}
.cms-hero .elementor-widget-cms-speaker-cleaner{position:relative;z-index:1}

/* Background layer */
.cms-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.cms-hero-bg .dots{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--c-navy) 22%,transparent) 1.2px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 22%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse 70% 55% at 50% 22%,#000 25%,transparent 72%);opacity:.7}
.cms-hero-bg .blob{position:absolute;border-radius:50%;will-change:transform}
.cms-hero-bg .b1{width:620px;height:620px;left:-180px;top:-160px;background:radial-gradient(circle,color-mix(in srgb,var(--c-cyan) 34%,transparent) 0,transparent 68%);animation:cmsDrift1 19s ease-in-out infinite alternate}
.cms-hero-bg .b2{width:560px;height:560px;right:-160px;top:40px;background:radial-gradient(circle,color-mix(in srgb,var(--c-gold) 30%,transparent) 0,transparent 68%);animation:cmsDrift2 23s ease-in-out infinite alternate}
.cms-hero-bg .b3{width:760px;height:760px;left:50%;top:380px;margin-left:-380px;background:radial-gradient(circle,color-mix(in srgb,var(--c-navy) 16%,transparent) 0,transparent 66%);animation:cmsDrift3 27s ease-in-out infinite alternate}
@keyframes cmsDrift1{to{transform:translate(140px,90px) scale(1.12)}}
@keyframes cmsDrift2{to{transform:translate(-120px,120px) scale(.9)}}
@keyframes cmsDrift3{to{transform:translate(60px,-80px) scale(1.1)}}
.cms-hero-bg .ring{position:absolute;left:50%;top:var(--ring-y,190px);width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--c-navy) 30%,transparent);opacity:0;transform:scale(.25);animation:cmsRing 10s cubic-bezier(.25,.6,.3,1) infinite}
.cms-hero-bg .ring:nth-child(odd){border-color:color-mix(in srgb,var(--c-cyan) 55%,transparent)}
.cms-hero-bg .ring.r2{animation-delay:2.5s}.cms-hero-bg .ring.r3{animation-delay:5s}.cms-hero-bg .ring.r4{animation-delay:7.5s}
@keyframes cmsRing{0%{opacity:0;transform:scale(.25)}12%{opacity:.85}100%{opacity:0;transform:scale(2.3)}}
.cms-hero-bg .wave{position:absolute;left:0;width:200%;height:120px;top:var(--wy,300px);opacity:.5}
.cms-hero-bg .wave path{fill:none;stroke-width:2;stroke-linecap:round}
.cms-hero-bg .w1{animation:cmsWave 22s linear infinite}
.cms-hero-bg .w1 path{stroke:color-mix(in srgb,var(--c-cyan) 70%,transparent)}
.cms-hero-bg .w2{animation:cmsWave 34s linear infinite reverse;--wy:330px;opacity:.35}
.cms-hero-bg .w2 path{stroke:color-mix(in srgb,var(--c-navy) 45%,transparent)}
@keyframes cmsWave{to{transform:translateX(-50%)}}
.cms-hero-bg .drop{position:absolute;bottom:-24px;left:var(--x);width:var(--s);height:var(--s);border-radius:0 50% 50% 50%;transform:rotate(45deg);background:color-mix(in srgb,var(--c-cyan) 60%,transparent);opacity:0;animation:cmsRise var(--d) linear infinite;animation-delay:var(--dl)}
.cms-hero-bg .drop.g{background:color-mix(in srgb,var(--c-gold) 70%,transparent)}
@keyframes cmsRise{0%{opacity:0;transform:translateY(0) rotate(45deg)}12%{opacity:.75}80%{opacity:.5}100%{opacity:0;transform:translateY(calc(-1 * var(--h,900px))) rotate(45deg)}}

/* Text block */
.cms-hero-intro{text-align:center;max-width:880px;margin:0 auto;padding:40px 0 6px;font-family:var(--f-body)}
.cms-hero-badge{display:inline-flex;align-items:center;gap:9px;margin:0;padding:6px 15px 6px 6px;border-radius:999px;background:color-mix(in srgb,var(--c-surface) 85%,transparent);border:1px solid var(--c-line);font-size:14px;font-weight:600;color:var(--c-ink);box-shadow:0 10px 24px -16px color-mix(in srgb,var(--c-navy) 60%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:cmsPop .6s var(--ease) both}
.cms-hero-badge .pulse{position:relative;width:24px;height:24px;border-radius:50%;background:var(--c-gold);color:#0B1B2E;display:grid;place-items:center;flex:none}
.cms-hero-badge .pulse::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--c-gold);animation:cmsPing 2.2s ease-out infinite}
@keyframes cmsPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(2);opacity:0}}
@keyframes cmsPop{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
.cms-hero-title{font-family:var(--f-head);font-weight:800;font-size:clamp(2.8rem,7.4vw,5.9rem);line-height:1;letter-spacing:-.045em;color:var(--c-ink);margin:24px 0 0;padding-bottom:.06em}
.cms-hero-title .w{display:inline-block;animation:cmsWordUp .85s var(--ease) both;animation-delay:calc(.12s + var(--i) * .1s)}
@keyframes cmsWordUp{from{opacity:0;transform:translateY(.5em) rotate(3deg)}to{opacity:1;transform:none}}
.cms-eq{display:flex;justify-content:center;align-items:center;gap:5px;height:46px;margin:22px auto 0;animation:cmsFade .8s .55s both}
.cms-eq i{display:block;width:6px;height:100%;border-radius:4px;background:linear-gradient(180deg,var(--c-gold),var(--c-cyan));transform:scaleY(var(--h));animation:cmsEq var(--t,1.1s) ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes cmsEq{from{transform:scaleY(.12)}to{transform:scaleY(var(--h))}}
@keyframes cmsFade{from{opacity:0}to{opacity:1}}
.cms-hero-lede{max-width:620px;margin:20px auto 0;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.55;color:var(--c-muted);animation:cmsUp .8s .65s var(--ease) both}
@keyframes cmsUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cms-hero-chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 0;padding:0}
.cms-hero-chips li{display:inline-flex;align-items:center;gap:7px;margin:0;padding:8px 15px;border-radius:999px;background:color-mix(in srgb,var(--c-surface) 82%,transparent);border:1px solid var(--c-line);font-size:14px;font-weight:600;color:var(--c-ink);animation:cmsUp .7s var(--ease) both;animation-delay:calc(.8s + var(--i) * .09s)}
.cms-hero-chips svg{width:16px;height:16px;color:var(--c-navy);flex:none}
.cms-hero-pause{position:absolute;right:20px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--c-line);background:color-mix(in srgb,var(--c-surface) 85%,transparent);color:var(--c-muted);font:600 12px/1 var(--f-body);cursor:pointer}
.cms-hero-pause:hover,.cms-hero-pause:focus{background:var(--c-surface);color:var(--c-ink)}
.cms-hero-pause .play{display:none}
.cms-hero.is-paused .cms-hero-pause .play{display:inline}
.cms-hero.is-paused .cms-hero-pause .pause{display:none}
.cms-hero.is-paused .cms-hero-bg *,.cms-hero.is-paused .cms-eq i,.cms-hero.is-paused .cms-hero-badge .pulse::after,
.cms-hero.is-offscreen .cms-hero-bg *,.cms-hero.is-offscreen .cms-eq i,.cms-hero.is-offscreen .cms-hero-badge .pulse::after{animation-play-state:paused!important}
@media (max-width:767px){
  .cms-hero-intro{padding:22px 0 0}
  .cms-hero-title{margin-top:18px}
  .cms-eq{height:36px;gap:4px}.cms-eq i{width:5px}
  .cms-eq i:nth-child(-n+4),.cms-eq i:nth-last-child(-n+4){display:none}
  .cms-hero-bg .ring{width:380px;height:380px;margin:-190px 0 0 -190px;--ring-y:150px}
  .cms-hero-bg .b1{width:420px;height:420px}.cms-hero-bg .b2{width:380px;height:380px}
  .cms-hero-chips li{font-size:13px;padding:7px 12px}
  .cms-hero-pause{right:12px;bottom:10px}
}
@media (prefers-reduced-motion:reduce){
  .cms-hero-bg *,.cms-hero-title .w,.cms-eq,.cms-eq i,.cms-hero-lede,.cms-hero-chips li,.cms-hero-badge,.cms-hero-badge .pulse::after{animation:none!important}
  .cms-hero-bg .ring{opacity:.35;transform:scale(calc(.5 + var(--rs,0)))}
  .cms-hero-bg .ring.r2{--rs:.35}.cms-hero-bg .ring.r3{--rs:.7}.cms-hero-bg .ring.r4{--rs:1.05}
  .cms-hero-bg .drop{display:none}
  .cms-hero-pause{display:none}
}
:root[data-theme="dark"] .cms-hero-chips svg{color:var(--c-cyan)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cms-hero-chips svg{color:var(--c-cyan)}}
.cms-hero .elementor-widget-cms-hero-intro{width:100%}

/* ===== Compact tool + hero on laptop/desktop ===== */
.cms-tool .local-count:empty{display:none}
@media (min-width:901px){
  .cms-tool .stage{padding:20px 24px 18px;gap:10px}
  .cms-tool .speaker{width:min(300px,40vh,30vw);min-width:220px}
  .cms-tool .status{min-height:2.7em;font-size:.95rem;line-height:1.4;max-width:34ch}
  .cms-tool .meter{font-size:.88rem}
  .cms-tool .scope{height:42px}
  .cms-tool .controls{padding:18px 24px 20px;gap:14px}
  .cms-tool .tabs{padding:4px}
  .cms-tool .tab{padding:7px 16px;font-size:.92rem}
  .cms-tool .panel{gap:14px}
  .cms-tool .tabs + .panel:not([hidden]),.cms-tool .panel:first-of-type:not([hidden]){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:22px;row-gap:14px;align-items:end}
  .cms-tool .tabs + .panel > *,.cms-tool .panel:first-of-type > *{grid-column:1 / -1}
  .cms-tool .tabs + .panel > fieldset:nth-of-type(2),.cms-tool .panel:first-of-type > fieldset:nth-of-type(2){grid-column:1}
  .cms-tool .tabs + .panel > .slider-row,.cms-tool .panel:first-of-type > .slider-row{grid-column:2;padding-bottom:4px}
  .cms-tool .tabs + .panel > .custom-box[hidden],.cms-tool .panel:first-of-type > .custom-box[hidden]{display:none}
  .cms-tool .group-label{margin-bottom:6px;font-size:.84rem}
  .cms-tool .modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .cms-tool .mode.wide{grid-column:span 2}
  .cms-tool .mode label{min-height:50px;padding:8px 10px;gap:8px;font-size:.9rem;border-radius:12px}
  .cms-tool .mode svg{width:19px;height:19px}
  .cms-tool .mode small{font-size:.72rem;margin-top:1px}
  .cms-tool .readout{padding:11px 16px;gap:2px 16px;border-radius:16px}
  .cms-tool .freq{font-size:2.25rem}
  .cms-tool .readout p{font-size:.85rem;line-height:1.4}
  .cms-tool .seg{gap:5px}
  .cms-tool .seg label{padding:7px 13px;font-size:.88rem}
  .cms-tool .slider-row{gap:10px}
  .cms-tool .switch{font-size:.9rem;padding:0}
  .cms-tool .switch .track{width:40px;height:24px}
  .cms-tool .switch .track::after{width:16px;height:16px}
  .cms-tool .switch[aria-checked="true"] .track::after{transform:translateX(16px)}
  .cms-tool .custom-box{padding:12px;gap:10px}
  .cms-tool .test-grid{gap:7px}
  .cms-tool .pill-btn{padding:10px 8px}
  .cms-tool .tips{padding:10px 24px 12px;gap:6px}
  .cms-tool .tip{font-size:.82rem;padding:5px 11px}
}
@media (min-width:768px){
  .cms-hero-intro{padding-top:24px}
  .cms-hero-badge{font-size:13px}
  .cms-hero-title{font-size:clamp(2.8rem,min(6.2vw,9.5vh),5.4rem);margin-top:16px}
  .cms-eq{height:32px;margin-top:14px}
  .cms-hero-lede{margin-top:12px;font-size:1.1rem}
  .cms-hero-chips{margin-top:16px}
  .cms-hero-chips li{padding:7px 13px;font-size:13px}
}
/* ===== Phone fixes (tested at 320, 360, 390, 414px) ===== */
@media (max-width:767px){
  .cms-hero-pause{position:static;margin:20px auto 0;display:flex;width:max-content}
  .cms-hero-badge{max-width:100%;font-size:13px;line-height:1.3;text-align:left}
}
@media (max-width:400px){
  .cms-hero-title{font-size:clamp(2.1rem,10.5vw,2.8rem);letter-spacing:-.035em}
  .cms-hero-badge{font-size:12.5px;padding:5px 12px 5px 5px;gap:7px}
  .cms-hero-badge .pulse{width:22px;height:22px}
  .cms-hero-chips{gap:8px}
  .cms-hero-chips li{font-size:12.5px;padding:6px 11px}
}
@media (max-width:520px){
  .cms-tool .stage{padding:22px 14px 18px}
  .cms-tool .controls{padding:20px 14px 22px}
  .cms-tool .tips{padding:12px 14px 16px}
  .cms-tool .readout{grid-template-columns:1fr;gap:6px;padding:14px 16px}
  .cms-tool .custom-box .slider-row{grid-template-columns:1fr auto;grid-template-areas:"lab num" "rng rng";row-gap:6px}
  .cms-tool .custom-box .slider-row > label{grid-area:lab}
  .cms-tool .custom-box .slider-row > input[type=range]{grid-area:rng}
  .cms-tool .custom-box .slider-row > .num{grid-area:num;width:92px}
  .cms-tool .switch{text-align:left;line-height:1.3}
  .cms-tool .test-grid{gap:6px}
  .cms-tool .pill-btn{min-width:0;padding:12px 4px;font-size:.92rem}
  .cms-tool .pill-btn small{font-size:.72rem;white-space:nowrap}
  .cms-tool .pill-btn.wide{flex-direction:column;gap:2px}
  .cms-tool .seg label{padding:9px 14px}
}
/* ===== Compact tool on phones and tablets (stacked layout) ===== */
@media (max-width:900px){
  .cms-tool .stage{padding:18px 14px 14px;gap:8px}
  .cms-tool .speaker{width:min(60vw,240px)}
  .cms-tool .start{font-size:1.1rem;width:44%}
  .cms-tool .start small{font-size:.66rem}
  .cms-tool .start svg{width:22px;height:22px}
  .cms-tool .status{min-height:2.6em;font-size:.9rem;line-height:1.4;max-width:30ch}
  .cms-tool .meter{font-size:.82rem;gap:8px}
  .cms-tool .scope{height:36px;border-radius:10px}
  .cms-tool .controls{padding:16px 14px 18px;gap:12px}
  .cms-tool .panel{gap:12px}
  .cms-tool .tabs{padding:4px;width:100%}
  .cms-tool .tab{flex:1;padding:8px 10px;font-size:.9rem;text-align:center}
  .cms-tool .group-label{font-size:.8rem;margin-bottom:6px}
  .cms-tool .modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .cms-tool .mode.wide{grid-column:span 2}
  .cms-tool .mode label{flex-direction:column;justify-content:center;text-align:center;gap:4px;min-height:58px;padding:8px 4px;font-size:.82rem;border-radius:12px}
  .cms-tool .mode label small{display:none}
  .cms-tool .mode svg{width:20px;height:20px}
  .cms-tool .readout{grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 14px;border-radius:14px}
  .cms-tool .freq{font-size:1.9rem;min-width:0}
  .cms-tool .readout p{font-size:.8rem;line-height:1.35}
  .cms-tool .seg{gap:5px}
  .cms-tool .seg label{padding:7px 12px;font-size:.85rem}
  .cms-tool .slider-row{gap:10px}
  .cms-tool .switch{font-size:.86rem;padding:0}
  .cms-tool .switch .track{width:40px;height:24px}
  .cms-tool .switch .track::after{width:16px;height:16px}
  .cms-tool .switch[aria-checked="true"] .track::after{transform:translateX(16px)}
  .cms-tool .hint{font-size:.8rem}
  .cms-tool .custom-box{padding:12px;gap:10px}
  .cms-tool .pill-btn{padding:10px 4px;font-size:.88rem}
  .cms-tool .tips{flex-wrap:nowrap;overflow-x:auto;padding:10px 14px 12px;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .cms-tool .tips::-webkit-scrollbar{display:none}
  .cms-tool .tip{flex:none;font-size:.78rem;padding:5px 10px;white-space:nowrap}
}
@media (max-width:360px){
  .cms-tool .readout{grid-template-columns:1fr}
  .cms-tool .mode label{font-size:.78rem}
}
@media (min-width:380px) and (max-width:900px){
  .cms-tool .tabs + .panel:not([hidden]),.cms-tool .panel:first-of-type:not([hidden]){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:12px;align-items:end}
  .cms-tool .tabs + .panel > *,.cms-tool .panel:first-of-type > *{grid-column:1 / -1}
  .cms-tool .tabs + .panel > fieldset:nth-of-type(2),.cms-tool .panel:first-of-type > fieldset:nth-of-type(2){grid-column:1}
  .cms-tool .tabs + .panel > .slider-row,.cms-tool .panel:first-of-type > .slider-row{grid-column:2;grid-template-columns:18px minmax(0,1fr) auto;padding-bottom:6px}
  .cms-tool .tabs + .panel > .slider-row::before,.cms-tool .panel:first-of-type > .slider-row::before{content:"";width:18px;height:18px;background:#B9C9DC;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4z' fill='black'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4z' fill='black'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7'/%3E%3C/svg%3E") center/contain no-repeat}
  .cms-tool .tabs + .panel > .slider-row > label,.cms-tool .panel:first-of-type > .slider-row > label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .cms-tool .tabs + .panel > .custom-box[hidden],.cms-tool .panel:first-of-type > .custom-box[hidden]{display:none}
}
/* ===== Performance: no live backdrop blur over animated backgrounds ===== */
.cms-hdr.is-scrolled .cms-hdr-in{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:color-mix(in srgb,var(--c-surface) 94%,transparent)!important}
.cms-hero-badge{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--c-surface,#fff)!important}
@media (max-width:767px){ .cms-hero-bg .drop:nth-of-type(n+11){display:none} .cms-hero-bg .w2{display:none} }