/* ROOTKORE — home "Two Solutions. One Partner." section (design from the brand mock-up) + its animation */
.sv{--b:#4963F3;--bd:#3149d6;--r:#ED1C24;--navy:#0d1638;position:relative;overflow:hidden;padding:72px 0 64px;background:#fff}
.sv>.wrap{position:relative;z-index:1}
.sv-head{text-align:center;max-width:860px;margin:0 auto 44px}
.sv-eyebrow{display:inline-flex;align-items:center;gap:16px;font:600 14px var(--font);letter-spacing:.32em;text-transform:uppercase;color:#56627e}
html[dir=rtl] .sv-eyebrow{letter-spacing:.04em;font-size:15px}
.sv-eyebrow i{display:block;width:34px;height:1.5px;background:#c9cfdf;transform-origin:center}
.sv-h{font:700 clamp(38px,5.2vw,68px)/1.08 var(--head);letter-spacing:-.025em;color:var(--navy);margin:18px 0 14px}
html[dir=rtl] .sv-h{letter-spacing:0;line-height:1.3}
.sv-w{display:inline-block;position:relative}
.sv-blue{color:var(--b)}
.sv-ul{position:absolute;left:0;right:0;bottom:-.12em;width:100%;height:.22em;overflow:visible}
.sv-ul path{fill:none;stroke:var(--r);stroke-width:4;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320}
.sv-sub{font-size:clamp(17px,1.5vw,21px);color:#56627e;max-width:34ch;margin:0 auto;line-height:1.5}

.sv-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.sv-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:40px 42px 38px;border-radius:22px;
  background:linear-gradient(135deg,#f3f6ff 0%,#eef2fe 55%,#f6f8ff 100%);border:1px solid #e3e9fb;color:var(--navy);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}
.sv-card.mkt{background:linear-gradient(135deg,#f6f8fd 0%,#f1f4fb 55%,#f8f9fd 100%)}
.sv-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -32px rgba(49,73,214,.45);border-color:#cdd7fa}
.sv-rings{position:absolute;bottom:-6%;inset-inline-end:-6%;width:62%;max-width:330px;z-index:-1;overflow:visible}
html[dir=rtl] .sv-rings{transform:scaleX(-1)}
.sv-rings circle{fill:none;stroke:#dfe6fb;stroke-width:34;stroke-dasharray:1500;stroke-dashoffset:1500}
.sv-rings circle:nth-child(2){stroke-width:28;stroke:#e6ecfc}.sv-rings circle:nth-child(3){stroke-width:22;stroke:#edf1fd}
.sv-ico{width:66px;height:62px;border-radius:16px;background:#dfe7fd;color:var(--b);display:grid;place-items:center;margin-bottom:12px}
.sv-card.mkt .sv-ico{background:#e9edf8}
.sv-ico svg{width:30px;height:30px;stroke-width:2.2}
.sv-mega{fill:none;stroke-linecap:round;stroke-linejoin:round}
.sv-mega .mg{stroke:var(--b);stroke-width:2.3;fill:rgba(73,99,243,.08)}
.sv-mega .ws{stroke:var(--r);stroke-width:2.4}
.sv-t{font:700 clamp(32px,3.1vw,44px)/1.1 var(--head);letter-spacing:-.02em}
html[dir=rtl] .sv-t{letter-spacing:0}
.sv-d{font-size:18px;color:#56627e;margin-bottom:12px}
.sv-card ul{list-style:none;margin:6px 0 24px;padding:0;display:grid;gap:14px}
.sv-card li{display:flex;align-items:center;gap:13px;font-size:16.5px;color:#2b3550}
.sv-ck{width:22px;height:22px;flex:none}
.sv-ck circle{fill:var(--b)}
.sv-ck path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16}
.sv-btn{margin-top:auto;display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:12px;font:700 16px var(--font);transition:background .25s,color .25s,box-shadow .25s,transform .25s;position:relative;overflow:hidden}
.sv-btn.solid{background:var(--b);color:#fff;box-shadow:0 12px 26px -12px rgba(73,99,243,.75)}
.sv-btn.ghost{border:1.6px solid var(--b);color:var(--b);background:#fff}
.sv-card:hover .sv-btn.solid{background:var(--bd)}
.sv-card:hover .sv-btn.ghost{background:var(--b);color:#fff}
.sv-btn svg{transition:transform .3s}
.sv-card:hover .sv-btn svg{transform:translateX(5px)}
html[dir=rtl] .sv-btn svg{transform:scaleX(-1)}
html[dir=rtl] .sv-card:hover .sv-btn svg{transform:translateX(-5px) scaleX(-1)}
.sv-btn.solid:after{content:"";position:absolute;top:0;bottom:0;width:40%;inset-inline-start:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg)}

.sv-stats{display:flex;justify-content:center;margin-top:48px;flex-wrap:wrap}
.sv-stats>div{display:flex;align-items:center;gap:16px;padding:6px 42px;position:relative}
.sv-stats>div+div:before{content:"";position:absolute;inset-inline-start:0;top:8%;bottom:8%;width:1px;background:#e1e6f2;transform-origin:center}
.sv-stats svg{width:34px;height:34px;color:var(--b);stroke-width:1.9}
.sv-stats p{margin:0;display:flex;flex-direction:column}
.sv-stats b{font:700 28px/1.1 var(--head);color:var(--navy);font-variant-numeric:tabular-nums}
.sv-stats span{font-size:14px;color:#6b7690}
.sv-stats span::first-letter{text-transform:uppercase}
html[lang=en] .sv-stats span{text-transform:capitalize}

.sv-logo{position:absolute;right:-78px;bottom:34px;width:220px;height:220px;z-index:0;pointer-events:none}
html[dir=rtl] .sv-logo{right:auto;left:-78px}
.sv-logo svg{width:100%;height:100%;overflow:visible}
.sv-lring{fill:none;stroke:var(--b);stroke-width:30;stroke-dasharray:470;stroke-dashoffset:470;transform-origin:100px 100px;transform:rotate(-90deg)}
.sv-ldot{fill:var(--r);transform-origin:100px 100px;transform:scale(0)}

/* ---------------- animation (pure CSS, starts at first paint) ---------------- */
@keyframes svUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes svLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes svFade{from{opacity:0;letter-spacing:.6em}to{opacity:1}}
@keyframes svWord{from{opacity:0;transform:translateY(.6em) rotateX(55deg)}to{opacity:1;transform:none}}
@keyframes svDraw{to{stroke-dashoffset:0}}
@keyframes svCard{from{opacity:0;transform:translateY(46px) scale(.97)}to{opacity:1;transform:none}}
@keyframes svPop{0%{opacity:0;transform:scale(.4) rotate(-18deg)}70%{transform:scale(1.12) rotate(4deg)}100%{opacity:1;transform:none}}
@keyframes svItem{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes svItemR{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes svCkPop{0%{transform:scale(0)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes svSpin{to{transform:rotate(360deg)}}
@keyframes svShine{to{inset-inline-start:130%}}
@keyframes svDot{0%{transform:scale(0)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes svPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes svFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes svWave{0%,100%{opacity:1;transform:none}50%{opacity:.35;transform:translateX(2px)}}

.sv-eyebrow{animation:svUp .6s cubic-bezier(.2,.8,.2,1) both}
.sv-eyebrow b{animation:svFade .9s .1s cubic-bezier(.2,.8,.2,1) both}
.sv-eyebrow i{animation:svLine .8s .25s cubic-bezier(.65,0,.35,1) both}
.sv-h{perspective:600px}
.sv-w{animation:svWord .8s calc(.2s + var(--w) * .18s) cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 100%}
.sv-ul path{animation:svDraw .9s 1s cubic-bezier(.65,0,.35,1) forwards}
.sv-sub{animation:svUp .7s .55s cubic-bezier(.2,.8,.2,1) both}
.sv-card{animation:svCard .9s .7s cubic-bezier(.2,.9,.25,1) both}
.sv-card.mkt{animation-delay:.86s}
.sv-card .sv-rings circle{animation:svDraw 1.6s 1.1s cubic-bezier(.65,0,.35,1) forwards}
.sv-card.mkt .sv-rings circle{animation-delay:1.25s}
.sv-card .sv-rings circle:nth-child(2){animation-delay:1.3s}.sv-card .sv-rings circle:nth-child(3){animation-delay:1.5s}
.sv-card .sv-ico{animation:svPop .7s 1.05s cubic-bezier(.2,.8,.2,1.3) both}
.sv-card.mkt .sv-ico{animation-delay:1.2s}
.sv-card .sv-t,.sv-card .sv-d{animation:svUp .6s 1.15s cubic-bezier(.2,.8,.2,1) both}
.sv-card.mkt .sv-t,.sv-card.mkt .sv-d{animation-delay:1.3s}
.sv-card li{animation:svItem .5s calc(1.35s + var(--i) * .12s) cubic-bezier(.2,.8,.2,1) both}
html[dir=rtl] .sv-card li{animation-name:svItemR}
.sv-card.mkt li{animation-delay:calc(1.5s + var(--i) * .12s)}
.sv-card .sv-ck{animation:svCkPop .45s calc(1.45s + var(--i) * .12s) cubic-bezier(.2,.8,.2,1.4) both}
.sv-card.mkt .sv-ck{animation-delay:calc(1.6s + var(--i) * .12s)}
.sv-card .sv-ck path{animation:svDraw .35s calc(1.65s + var(--i) * .12s) ease-out forwards}
.sv-card.mkt .sv-ck path{animation-delay:calc(1.8s + var(--i) * .12s)}
.sv-card .sv-btn{animation:svUp .6s 1.9s cubic-bezier(.2,.8,.2,1) both}
.sv-card.mkt .sv-btn{animation-delay:2.05s}
.sv-btn.solid:after{animation:svShine 1.1s 2.6s cubic-bezier(.65,0,.35,1) forwards}
.sv-card:hover .sv-btn.solid:after{animation:svShine .9s cubic-bezier(.65,0,.35,1)}
.sv-mega .ws{animation:svWave 1.6s 2.2s ease-in-out infinite}
.sv-mega .w2{animation-delay:2.35s}.sv-mega .w3{animation-delay:2.5s}
.sv-card:hover .sv-ico{animation:svPop .6s cubic-bezier(.2,.8,.2,1.3)}
.sv-card:hover .sv-rings{animation:svSpin 18s linear infinite;transform-origin:100% 100%}
html[dir=rtl] .sv-card:hover .sv-rings{animation:none}
.sv-stats>div{animation:svUp .6s calc(2.1s + var(--s) * .1s) cubic-bezier(.2,.8,.2,1) both}
.sv-stats>div+div:before{animation:svLine .6s calc(2.3s + var(--s) * .1s) cubic-bezier(.65,0,.35,1) both;transform:scaleY(1)}
.sv-stats svg{transition:transform .35s cubic-bezier(.2,.8,.2,1.5)}
.sv-stats>div:hover svg{transform:translateY(-4px) scale(1.12)}
.sv-logo{animation:svFloat 7s 3.4s ease-in-out infinite}
.sv-lring{animation:svDraw 1.4s 1.6s cubic-bezier(.65,0,.35,1) forwards}
.sv-ldot{animation:svDot .6s 2.8s cubic-bezier(.2,.8,.2,1.4) forwards,svPulse 3s 3.6s ease-in-out infinite}

@media (max-width:1100px){.sv-stats>div{padding:6px 24px}.sv-logo{width:160px;height:160px;right:-64px;bottom:40px}}
@media (max-width:860px){.sv-logo{display:none}.sv-cards{grid-template-columns:1fr}.sv-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;justify-items:start}.sv-stats>div{padding:0}.sv-stats>div+div:before{display:none}}
@media (max-width:560px){.sv{padding:44px 0 50px}.sv-card{padding:28px 24px 28px;border-radius:18px}.sv-card li{font-size:15px}.sv-t{font-size:30px}.sv-d{font-size:16px}.sv-eyebrow{letter-spacing:.2em;font-size:12.5px}.sv-eyebrow i{width:22px}.sv-logo{display:none}}
@media (prefers-reduced-motion:reduce){.sv *,.sv{animation:none!important;opacity:1!important;transform:none!important}.sv-ul path,.sv-rings circle,.sv-ck path,.sv-lring{stroke-dashoffset:0!important}.sv-ldot{transform:none!important}}

/* ================= LG partner band (light, from the mock-up) ================= */
.lgx{--ink:#0f1730;position:relative;overflow:hidden;isolation:isolate;border-radius:28px;min-height:540px;display:flex;align-items:center;
  background:radial-gradient(120% 90% at 0% 0%,#fbfbfc 0%,#f8f8f8 40%,#f3f4f7 100%);border:1px solid #eceef3}
.lgx-art{position:absolute;top:0;bottom:0;right:0;width:51%;z-index:-1}
.lgx-art img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}
.lgx-shine{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);background-size:260% 100%;background-position:130% 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.lgx-txt{position:relative;padding:64px 0 64px 64px;max-width:640px;width:52%;min-width:0}
.lgx-top{display:flex;align-items:center;gap:18px}
.lgx-logo{height:46px;width:auto}
.lgx-sep{width:1px;height:38px;background:#d3d7e0}
.lgx-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border:1px solid #dde1e9;border-radius:99px;background:rgba(255,255,255,.55);font:600 13px var(--font);letter-spacing:.12em;text-transform:uppercase;color:#4a5368}
.lgx-pill i{width:7px;height:7px;border-radius:50%;background:#b9bfcc}
html[dir=rtl] .lgx-pill{letter-spacing:0;font-size:14px}
.lgx-h{font:700 clamp(34px,3.9vw,56px)/1.08 var(--head);letter-spacing:-.025em;color:var(--ink);margin:30px 0 0}
html[dir=rtl] .lgx-h{letter-spacing:0;line-height:1.3}
.lgx-h span{display:block}
.lgx-h .l2{background:linear-gradient(90deg,#2b6cff 0%,#4963F3 35%,#7d4dff 60%,#2b6cff 100%);background-size:250% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.lgx-p{font-size:clamp(17px,1.45vw,20px);line-height:1.6;color:#5a6378;max-width:44ch;margin:24px 0 0}
.lgx-acts{display:flex;flex-wrap:wrap;gap:18px;margin-top:38px}
.lgx-b{display:inline-flex;align-items:center;gap:12px;padding:18px 32px;border-radius:99px;font:600 16.5px var(--font);transition:background .25s,border-color .25s,color .25s,transform .25s,box-shadow .25s}
.lgx-b svg{width:20px;height:20px;transition:transform .25s}
.lgx-b.dark{background:#0f1730;color:#fff;box-shadow:0 14px 30px -16px rgba(15,23,48,.7)}
.lgx-b.dark:hover{background:#1c2a55;transform:translateY(-2px)}
.lgx-b.dark:hover svg{transform:translateX(4px)}
html[dir=rtl] .lgx-b.dark svg{transform:scaleX(-1)}
html[dir=rtl] .lgx-b.dark:hover svg{transform:translateX(-4px) scaleX(-1)}
.lgx-b.out{border:1.5px solid #d6dae3;background:rgba(255,255,255,.6);color:#0f1730}
.lgx-b.out:hover{border-color:#4963F3;color:#4963F3;transform:translateY(-2px)}
html[dir=rtl] .lgx-art{right:auto;left:0}
html[dir=rtl] .lgx-art img{object-position:right center;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 7%);mask-image:linear-gradient(270deg,transparent 0,#000 7%)}
html[dir=rtl] .lgx-txt{padding:64px 64px 64px 0}

/* entrance: runs once the band scrolls into view (motion.js adds .in); without JS everything is simply shown */
@keyframes lgUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes lgSide{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes lgSideR{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes lgSep{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes lgWord{from{opacity:0;transform:translateY(.55em) rotateX(50deg);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes lgGrad{from{background-position:100% 0}to{background-position:0 0}}
@keyframes lgTv{from{opacity:0;transform:translateX(80px) scale(1.07);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes lgTvR{from{opacity:0;transform:translateX(-80px) scale(1.07);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes lgFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes lgShine{0%{opacity:1;background-position:130% 0}100%{opacity:1;background-position:-30% 0}}
.lgx-h{perspective:700px}
.lgx.in .lgx-logo{animation:lgSide .7s .1s cubic-bezier(.2,.8,.2,1) both}
.lgx.in .lgx-sep{animation:lgSep .5s .3s cubic-bezier(.65,0,.35,1) both}
.lgx.in .lgx-pill{animation:lgSide .7s .38s cubic-bezier(.2,.8,.2,1) both}
html[dir=rtl] .lgx.in .lgx-logo,html[dir=rtl] .lgx.in .lgx-pill{animation-name:lgSideR}
.lgx.in .l1{animation:lgWord .85s .3s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 100%}
.lgx.in .l2{animation:lgWord .85s .48s cubic-bezier(.2,.8,.2,1) both,lgGrad 1.8s .7s cubic-bezier(.65,0,.35,1) both;transform-origin:50% 100%}
.lgx.in .lgx-p{animation:lgUp .7s .7s cubic-bezier(.2,.8,.2,1) both}
.lgx.in .lgx-b.dark{animation:lgUp .6s .9s cubic-bezier(.2,.8,.2,1) both}
.lgx.in .lgx-b.out{animation:lgUp .6s 1s cubic-bezier(.2,.8,.2,1) both}
.lgx.in .lgx-art img{animation:lgTv 1.3s .1s cubic-bezier(.2,.8,.2,1) both,lgFloat 8s 1.6s ease-in-out infinite}
html[dir=rtl] .lgx.in .lgx-art img{animation-name:lgTvR,lgFloat}
.lgx.in .lgx-shine{animation:lgShine 1.4s 1.3s cubic-bezier(.65,0,.35,1)}
.lgx:hover .lgx-shine{animation:lgShine 1.2s cubic-bezier(.65,0,.35,1)}

@media (max-width:1180px){.lgx-txt{padding:52px 0 52px 44px;width:50%}html[dir=rtl] .lgx-txt{padding:52px 44px 52px 0}.lgx-art{width:54%}.lgx-art img{object-position:74% center}html[dir=rtl] .lgx-art img{object-position:74% center}}
@media (max-width:1024px){
  .lgx{flex-direction:column;align-items:stretch;min-height:0}
  .lgx-txt,html[dir=rtl] .lgx-txt{padding:34px 24px 6px;max-width:none;width:auto}
  .lgx-art,html[dir=rtl] .lgx-art{position:relative;width:100%;z-index:0;order:2;margin-top:8px}
  .lgx-art img,html[dir=rtl] .lgx-art img{height:auto;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%);mask-image:linear-gradient(180deg,transparent 0,#000 14%)}
  .lgx-logo{height:38px}.lgx-sep{height:30px}.lgx-pill{font-size:11.5px;padding:7px 13px;letter-spacing:.08em}
  .lgx-b{padding:15px 24px;font-size:15.5px}
}
@media (max-width:1024px){.lgx-art img,html[dir=rtl] .lgx-art img{max-height:470px;object-fit:cover;object-position:62% center}}
@media (prefers-reduced-motion:reduce){.lgx *{animation:none!important;opacity:1;filter:none!important}.lgx-shine{display:none}}

/* ================= "Our software — try it live." (from the mock-up) ================= */
.swx{position:relative;overflow:hidden;background:linear-gradient(180deg,#f6f8fd 0%,#f3f6fc 100%)}
.swx>.wrap{position:relative;z-index:1}
.swx-deco{position:absolute;top:-130px;right:-150px;width:440px;height:440px;pointer-events:none;z-index:0;overflow:visible;animation:svFloat 9s ease-in-out infinite}
.swx-deco .r{fill:none;stroke:#e1e7fa;stroke-width:66}
.swx-deco .d{fill:#f47f7f;opacity:.92;transform-origin:220px 220px;animation:svPulse 4s ease-in-out infinite}
.swx-blob{position:absolute;left:-280px;bottom:-300px;width:660px;height:660px;border-radius:50%;background:radial-gradient(circle,#e9edfb 0,rgba(233,237,251,0) 68%);pointer-events:none;z-index:0}
html[dir=rtl] .swx-deco{right:auto;left:-150px}
html[dir=rtl] .swx-blob{left:auto;right:-280px}
.swx .eyebrow.dot{gap:9px;padding:8px 15px;font-size:13px;letter-spacing:.1em}
.swx .eyebrow.dot>i{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none}
html[dir=rtl] .swx .eyebrow.dot{letter-spacing:0}
.swx .sec-head{max-width:900px}
.swx .h2{font-size:clamp(32px,4vw,58px);letter-spacing:-.025em;line-height:1.1}
html[dir=rtl] .swx .h2{letter-spacing:0;line-height:1.3}
.swx .h2 em{font-style:normal;color:var(--blue)}
.swx .suites.two{gap:30px}
.swx .suite{border:1px solid #edf0f7;border-radius:26px;padding:20px 20px 22px;gap:20px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 26px 50px -32px rgba(31,45,110,.3)}
.swx .suite:hover{border-color:#dfe5f5;box-shadow:0 2px 4px rgba(16,24,40,.04),0 34px 60px -30px rgba(31,45,110,.38)}
.swx .dscreen{border-color:#e6eaf3;border-radius:14px}
.swx .dscreen:hover{border-color:color-mix(in srgb,var(--c) 45%,#e6eaf3)}
.swx .dscreen-bar{height:36px;background:#fff;padding:0 10px 0 14px;gap:7px}
.swx .dscreen-bar i{width:10px;height:10px}
.swx .dscreen-bar span{font-size:12.5px;color:#5b6478}
.swx .live{font-size:11px;padding:4px 11px;letter-spacing:.07em;background:color-mix(in srgb,var(--c) 9%,#fff);border-color:color-mix(in srgb,var(--c) 24%,#fff)}
.swx .dscreen-cap{display:none}
.swx .suite .top{gap:14px}
.swx .suite .sw{width:56px;height:56px;border-radius:15px;background:linear-gradient(140deg,color-mix(in srgb,var(--c) 68%,#fff),var(--c));box-shadow:0 12px 22px -12px var(--c)}
.swx .suite .sw svg{width:27px;height:27px}
.swx .suite .top b{font-size:27px}
.swx .suite .top small{font-size:14.5px;margin-top:3px}
.swx .suite .acts{gap:14px}
.swx .suite .acts .btn{min-height:48px;border-radius:11px;font-size:15.5px}
.swx .suite .acts .btn.ghost{background:#fff;border-color:#e1e5ee}
@media (max-width:480px){.swx .suite .acts{flex-direction:column}.swx .suite .acts .btn{width:100%}}
@media (max-width:860px){.swx-deco{width:300px;height:300px;top:-110px;right:-140px}html[dir=rtl] .swx-deco{left:-140px}}
@media (prefers-reduced-motion:reduce){.swx-deco,.swx-deco .d{animation:none}}

/* ================= News carousel (.nwx, from the mock-up) ================= */
.nwx{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f9fe 0%,#f3f6fc 100%)}
.nwx>.wrap{position:relative;z-index:1}
.nwx-deco{position:absolute;top:-120px;right:-160px;width:440px;height:440px;pointer-events:none;z-index:0;overflow:visible;animation:svFloat 9s ease-in-out infinite}
.nwx-deco .r{fill:none;stroke:#e3e9fb;stroke-width:70}
.nwx-deco .d{fill:#f7828c;opacity:.9;transform-origin:220px 220px;animation:svPulse 4s ease-in-out infinite}
.nwx-blob{position:absolute;left:-240px;bottom:-260px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,#e8edfb 0,rgba(232,237,251,0) 68%);pointer-events:none;z-index:0}
html[dir=rtl] .nwx-deco{right:auto;left:-160px}
html[dir=rtl] .nwx-blob{left:auto;right:-240px}
.nwx-head{display:flex;align-items:center;gap:40px;margin-bottom:40px}
.nwx-hl{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:760px;min-width:0}
.nwx-eb{gap:9px;padding:8px 15px;font-size:13.5px;letter-spacing:.06em}
.nwx-eb svg{width:17px;height:17px}
html[dir=rtl] .nwx-eb{letter-spacing:0}
.nwx-h{font:700 clamp(32px,4.2vw,58px)/1.08 var(--head);letter-spacing:-.025em;color:#0f1730;margin:0}
html[dir=rtl] .nwx-h{letter-spacing:0;line-height:1.3}
.nwx-h em{font-style:normal;color:var(--blue)}
.nwx-p{font-size:clamp(16px,1.35vw,19px);color:#5a6378;max-width:50ch;line-height:1.55;margin:0}
.nwx-note{position:relative;flex:none;width:170px;height:130px;color:#5b5fe0;margin-top:30px}
.nwx-note span{position:absolute;top:0;inset-inline-start:34px;width:140px;font:600 25px/1.05 Caveat,var(--font);transform:rotate(-13deg);text-align:center}
html[dir=rtl] .nwx-note span{font:600 17px/1.4 var(--font);transform:rotate(8deg)}
.nwx-note svg{position:absolute;bottom:0;inset-inline-start:0;width:46px;height:62px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
html[dir=rtl] .nwx-note svg{transform:scaleX(-1)}
.nwx-note path{stroke-dasharray:90;stroke-dashoffset:0}

.nwx-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:10px 8px 34px;margin:-10px -8px -34px;scroll-padding-inline:8px;overscroll-behavior-x:contain}
.nwx-track::-webkit-scrollbar{display:none}
.nwx-card{position:relative;flex:0 0 calc((100% - 48px) * .3);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid #edf0f7;border-radius:22px;overflow:hidden;color:inherit;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 22px 44px -30px rgba(31,45,110,.32);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.nwx-card.feat{flex-basis:calc((100% - 48px) * .4)}
.nwx-card:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(16,24,40,.04),0 32px 56px -30px rgba(31,45,110,.42)}
.nwx-art{position:relative;margin:6px 6px 0;height:206px;border-radius:17px;overflow:hidden;background:linear-gradient(135deg,var(--a),var(--b));display:grid;place-items:center;color:#fff;flex:none}
.nwx-card.feat .nwx-art{margin:0;border-radius:0}
.nwx-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.nwx-card:hover .nwx-art img{transform:scale(1.05)}
.nwx-art>svg{width:64px;height:64px;stroke-width:1.6;opacity:.95}
.nwx-tag{position:absolute;top:16px;inset-inline-start:16px;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;background:rgba(47,99,236,.92);color:#fff;font:600 12px var(--font);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 16px -8px rgba(20,40,140,.6)}
html[dir=rtl] .nwx-tag{letter-spacing:0}
.nwx-tag svg{width:15px;height:15px}
.nwx-bd{padding:22px 24px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1}
.nwx-bd time{display:flex;align-items:center;gap:8px;color:#7a8399;font-size:13.5px}
.nwx-bd time svg{width:16px;height:16px}
.nwx-bd h3{font:700 20px/1.3 var(--head);color:#0f1730;margin:2px 0 0}
.nwx-card.feat .nwx-bd h3{font-size:22px}
.nwx-bd p{font-size:15px;line-height:1.55;color:#5a6378;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nwx-more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#eef2fd;color:#2f63ec;font-weight:600;font-size:14px;transition:background .25s,color .25s}
.nwx-bd p{margin-bottom:6px}
.nwx-more svg{width:16px;height:16px;transition:transform .25s}
.nwx-card:hover .nwx-more{background:#2f63ec;color:#fff}
.nwx-card:hover .nwx-more svg{transform:translateX(4px)}
html[dir=rtl] .nwx-more svg{transform:scaleX(-1)}
html[dir=rtl] .nwx-card:hover .nwx-more svg{transform:translateX(-4px) scaleX(-1)}
.nwx-badge{position:absolute;bottom:20px;inset-inline-end:20px;background:#fff;border-radius:16px;padding:9px 14px;box-shadow:0 14px 28px -14px rgba(31,45,110,.4);line-height:0}
.nwx-badge img{height:34px;width:auto}

.nwx-ctl{display:flex;align-items:center;gap:14px;margin-top:28px}
.nwx-nav{width:50px;height:50px;border-radius:50%;background:#fff;border:1px solid #e3e7f0;display:grid;place-items:center;color:#0f1730;cursor:pointer;box-shadow:0 8px 20px -14px rgba(31,45,110,.4);transition:border-color .25s,color .25s,transform .25s,opacity .25s}
.nwx-nav svg{width:20px;height:20px}
.nwx-nav:hover:not(:disabled){border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.nwx-nav:disabled{opacity:.4;cursor:default}
html[dir=rtl] .nwx-nav svg{transform:scaleX(-1)}
.nwx-sep{width:1px;height:30px;background:#dfe3ec;margin:0 10px}
.nwx-dots{display:flex;gap:8px;align-items:center}
.nwx-dots button{width:8px;height:8px;border-radius:99px;background:#cfd6e6;border:0;padding:0;cursor:pointer;transition:width .3s,background .3s}
.nwx-dots button.on{background:var(--blue);width:24px}
.nwx-all{margin-inline-start:auto;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:99px;border:1px solid #d6dcea;background:#fff;color:#2f63ec;font-weight:600;transition:background .25s,color .25s,border-color .25s}
.nwx-all svg{width:18px;height:18px}
.nwx-all:hover{background:#2f63ec;border-color:#2f63ec;color:#fff}
html[dir=rtl] .nwx-all svg{transform:scaleX(-1)}
.nwx.one .nwx-nav,.nwx.one .nwx-sep,.nwx.one .nwx-dots{display:none}

/* entrance: header note draws in, cards rise one after another (motion.js adds .in) */
@keyframes nwNote{from{opacity:0;transform:rotate(-13deg) translateY(10px) scale(.9)}to{opacity:1;transform:rotate(-13deg)}}
@keyframes nwDraw{from{stroke-dashoffset:90}to{stroke-dashoffset:0}}
@keyframes nwCard{from{opacity:0;transform:translateY(34px) scale(.98)}to{opacity:1;transform:none}}
.nwx-head.in .nwx-note span{animation:nwNote .7s .5s cubic-bezier(.2,.8,.2,1.3) both}
html[dir=rtl] .nwx-head.in .nwx-note span{animation:none}
.nwx-head.in .nwx-note path{animation:nwDraw .9s .9s cubic-bezier(.65,0,.35,1) both}
.nwx-head.in .nwx-note path+path{animation-delay:1.55s;animation-duration:.4s}
.nwx-track.in .nwx-card{animation:nwCard .75s calc(.1s + min(var(--k),3) * .12s) cubic-bezier(.2,.8,.2,1) both}

@media (max-width:1024px){.nwx-note{display:none}.nwx-card{flex-basis:calc((100% - 24px) * .48)}.nwx-card.feat{flex-basis:calc((100% - 24px) * .6)}}
@media (max-width:640px){.nwx-card,.nwx-card.feat{flex-basis:84%}.nwx-art{height:180px}.nwx-nav{width:44px;height:44px}.nwx-sep,.nwx-dots{display:none}.nwx-all{padding:11px 16px;font-size:14.5px}.nwx-deco{width:300px;height:300px;top:-110px;right:-140px}html[dir=rtl] .nwx-deco{left:-140px}}
@media (prefers-reduced-motion:reduce){.nwx-deco,.nwx-deco .d,.nwx-head *,.nwx-track .nwx-card{animation:none!important}}

/* ================= AI prompt pill at the top of .sv ================= */
.sv-ask{position:relative;display:flex;align-items:center;gap:14px;width:min(620px,100%);margin:0 auto 34px;padding:10px 10px 10px 14px;border-radius:99px;border:0;cursor:text;text-align:start;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#4963F3,#8a5cf6 55%,#e11d74) border-box;border:2px solid transparent;
  box-shadow:0 18px 40px -22px rgba(73,99,243,.55),0 2px 6px rgba(16,24,40,.05);animation:svUp .6s cubic-bezier(.2,.8,.2,1) both;transition:transform .3s,box-shadow .3s}
.sv-ask:hover{transform:translateY(-2px);box-shadow:0 24px 50px -22px rgba(73,99,243,.65),0 2px 6px rgba(16,24,40,.05)}
.sv-ask:before{content:"";position:absolute;inset:-8px;border-radius:99px;background:linear-gradient(100deg,#4963F3,#8a5cf6,#e11d74);opacity:.14;filter:blur(14px);z-index:-1;animation:svGlow 4s ease-in-out infinite}
@keyframes svGlow{0%,100%{opacity:.1}50%{opacity:.26}}
.sv-ask .ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#4963F3,#8a5cf6 60%,#e11d74)}
.sv-ask .ic svg{width:20px;height:20px;animation:svSpark 3s ease-in-out infinite}
@keyframes svSpark{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(14deg) scale(1.12)}}
.sv-ask .tx{flex:1;min-width:0;font:500 clamp(15px,1.35vw,18px)/1.3 var(--font);color:#0f1730;white-space:nowrap;overflow:hidden;text-overflow:clip;display:flex;align-items:center}
.sv-ask .caret{display:inline-block;width:2px;height:1.15em;margin-inline-start:2px;background:#4963F3;border-radius:2px;animation:svCaret 1s steps(1) infinite;flex:none}
@keyframes svCaret{50%{opacity:0}}
.sv-ask .go{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0f1730;color:#fff;transition:background .25s,transform .25s}
.sv-ask .go svg{width:18px;height:18px}
.sv-ask:hover .go{background:#4963F3;transform:rotate(45deg)}
html[dir=rtl] .sv-ask:hover .go{transform:rotate(-45deg)}
.sv-eyebrow{animation-delay:.12s}
@media (max-width:560px){.sv-ask{margin-bottom:26px;gap:10px;padding:7px 7px 7px 10px}.sv-ask .ic,.sv-ask .go{width:34px;height:34px}.sv-ask .tx{font-size:14.5px;white-space:normal;display:block;min-height:2.6em;line-height:1.3}.sv-ask .caret{vertical-align:-.15em}.sv-ask{border-radius:24px}}
@media (prefers-reduced-motion:reduce){.sv-ask,.sv-ask:before,.sv-ask .ic svg,.sv-ask .caret{animation:none!important}}
