.ng{position:relative;overflow-x:clip;box-sizing:border-box;margin:0;
--bg:#050b1a;--bg2:#0a1630;--ink:#e8f4fb;--muted:#9fb6c8;--cyan:#5fe3f0;--cyan2:#9ad9e6;--cyan-rgb:95,227,240;--green:#6df2a8;--green-rgb:109,242,168;
--glass:rgba(255,255,255,.08);--edge:rgba(160,220,240,.28);--card:#6f7a88;--card2:#4d5866;
--ffh:"Montserrat",system-ui,sans-serif;--ffb:"Inter",system-ui,sans-serif;--navblur:20px;--wrap:1180px;--ngtop:0px;
background:var(--bg);color:var(--ink);font-family:var(--ffb);font-size:16px;line-height:1.55;text-align:left;letter-spacing:normal;
background-image:radial-gradient(ellipse at 20% 0%,#10284f55,transparent 60%),radial-gradient(ellipse at 90% 40%,#0c3a5a40,transparent 55%)}
.ng *,.ng *::before,.ng *::after{box-sizing:border-box}
.ng h1,.ng h2,.ng h3{font-family:var(--ffh);margin:0;letter-spacing:.01em}
.ng a{color:inherit;text-decoration:none}
.ng img{max-width:100%;display:block}
.ng :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.ng #ngnet{position:sticky;top:0;display:block;width:100%;height:100vh;margin-bottom:-100vh;z-index:0;pointer-events:none;opacity:.55}
.ng main,.ng header,.ng footer{position:relative;z-index:1}
.ng .wrap{max-width:var(--wrap,1180px);margin:0 auto;padding:0 24px}
.ng header{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--ngtop,0px));z-index:50;padding:14px 0}
.ng .nav{position:relative;overflow:hidden;display:flex;align-items:center;gap:28px;padding:10px 14px 10px 22px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.07) 48%,rgba(120,190,230,.10) 52%,rgba(255,255,255,.12) 100%);
  border:1px solid rgba(255,255,255,.38);
  backdrop-filter:blur(var(--navblur,20px)) saturate(1.8) brightness(1.08);-webkit-backdrop-filter:blur(var(--navblur,20px)) saturate(1.8) brightness(1.08);
  box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 1.5px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(255,255,255,.12),inset 0 0 22px rgba(160,220,255,.10)}
.ng .nav::before{content:"";position:absolute;left:2%;right:2%;top:0;height:46%;border-radius:0 0 60% 60% / 0 0 100% 100%;
  background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,0));pointer-events:none}
.ng .nav::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);animation:sheen 7s ease-in-out 1.2s infinite;pointer-events:none}
@keyframes sheen{0%,70%,100%{left:-40%}85%{left:120%}}
.ng .nav>*{position:relative;z-index:1}
.ng .brand{display:flex;align-items:center;gap:10px;font-family:var(--ffh);font-weight:700;font-size:15px;line-height:1.05;letter-spacing:.04em;padding-right:26px;border-right:1px solid var(--edge)}
.ng .brand img{width:44px;height:auto;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 78%);mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 78%)}
.ng .links{display:flex;gap:26px;margin-left:auto;font-size:13px;font-weight:600;letter-spacing:.03em}
.ng .links a{position:relative;padding:8px 0;color:#f2fbff;text-shadow:0 1px 6px rgba(0,20,40,.55)}
.ng .links a.on,.ng .links a:hover{color:var(--cyan)}
.ng .links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.ng .btn{display:inline-block;font-family:var(--ffh);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#eafcff;
  padding:12px 24px;border-radius:999px;border:1.5px solid var(--cyan);
  background:linear-gradient(180deg,rgba(var(--cyan-rgb),.28),rgba(40,120,150,.35));box-shadow:0 0 18px rgba(var(--cyan-rgb),.35),inset 0 1px 0 rgba(255,255,255,.3);
  cursor:pointer;transition:box-shadow .2s,transform .2s}
.ng .btn:hover{box-shadow:0 0 30px rgba(var(--cyan-rgb),.7),inset 0 1px 0 rgba(255,255,255,.4);transform:translateY(-1px)}
.ng .btn.sm{padding:9px 20px;font-size:12px}
.ng .nav .btn{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(var(--cyan-rgb),.22) 50%,rgba(40,120,150,.35));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ng .menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--edge);color:var(--ink);border-radius:12px;padding:8px 12px;font:600 13px var(--ffh)}
.ng .hero{padding:60px 0 40px}
.ng .hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:center}
.ng .hero h1{font-size:clamp(38px,5.2vw,64px);font-weight:800;line-height:1.04;text-transform:uppercase;
  background:linear-gradient(180deg,#e8fbff 10%,#8fcbd9 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ng .hero p{font-size:clamp(16px,1.6vw,20px);color:#d6e6f0;max-width:30em;margin:22px 0 30px}
.ng .hero .btn{font-size:14px;padding:16px 34px}
.ng .engine{position:relative;display:flex;justify-content:center}
.ng .orb{width:min(100%,560px);filter:drop-shadow(0 0 40px rgba(110,170,255,.3));-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 88%,transparent);mask-composite:intersect}
.ng .fp{position:absolute;pointer-events:none;opacity:.92;-webkit-mask-image:radial-gradient(ellipse 62% 62% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 62% 62% at 50% 50%,#000 70%,transparent 100%)}
.ng .hero .fp.p76{right:2%;bottom:-100px;width:120px}
.ng .hero .fp.pc{left:0;bottom:-120px;width:170px}
.ng .cue{display:flex;flex-direction:column;align-items:center;margin:70px auto 0;width:60px;color:var(--ink)}
.ng .cue::before{content:"";width:46px;height:70px;background:radial-gradient(ellipse at 50% 50%,rgba(150,215,235,.7),transparent 70%);filter:blur(6px);margin-bottom:-60px}
.ng .cue svg{width:22px;height:46px;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(8px)}}
.ng section{padding:90px 0}
.ng .title{text-align:center;font-size:clamp(26px,3.4vw,38px);font-weight:800;text-transform:uppercase;color:var(--cyan2);margin-bottom:56px}
.ng .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:end;max-width:1000px;margin:0 auto;position:relative}
.ng .card{position:relative;border-radius:26px;padding:24px 18px 26px;text-align:center;
  background:linear-gradient(160deg,rgba(150,160,175,.55),rgba(70,82,98,.55));border:1px solid rgba(255,255,255,.22);
  box-shadow:0 24px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .25s}
.ng .card:hover{transform:translateY(-6px)}
.ng .card.mid{padding-top:30px;padding-bottom:30px}
.ng .card .art{width:100%;max-width:290px;margin:0 auto 14px;
  -webkit-mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 74%,transparent 100%);mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 74%,transparent 100%)}
.ng .card h3{font-size:clamp(18px,2vw,23px);font-weight:700;text-transform:uppercase;margin-bottom:16px}
.ng .card p{font-size:14px;color:#e3edf4;margin:0 0 18px}
.ng .fp.p28{left:3%;top:-60px;width:130px}
.ng .fp.donut{right:-6%;bottom:-70px;width:140px}
.ng .svc-note{position:relative}
.ng .funnel-sec{padding:90px 0 110px;height:auto}
.ng .stick{position:relative;display:block;padding:0}
.ng .funnel-sec .title{margin-bottom:30px}
.ng .fgrid{display:flex;justify-content:center;max-width:980px;margin:0 auto;padding:0 10px}
.ng .fimg{width:clamp(240px,32vw,380px);position:relative;filter:drop-shadow(0 0 40px rgba(60,200,220,.28))}
.ng .fl{position:absolute;font-family:var(--ffh);font-weight:700;font-size:clamp(14px,1.7vw,20px);line-height:1.2;text-transform:uppercase;white-space:nowrap;color:#b6cddc;transition:color .3s,text-shadow .3s}
.ng .fl::after{content:"";position:absolute;top:50%;width:48px;height:1.5px;background:linear-gradient(90deg,var(--cyan),rgba(var(--cyan-rgb),.15));box-shadow:0 0 8px var(--cyan)}
.ng .fl.a{right:calc(100% + 58px);top:34%;text-align:right}
.ng .fl.a::after{left:calc(100% + 8px)}
.ng .fl.b{left:calc(100% + 58px);top:56%}
.ng .fl.b::after{right:calc(100% + 8px);transform:scaleX(-1)}
.ng .fl.c{left:calc(100% + 58px);top:80%}
.ng .fl.c::after{right:calc(100% + 8px);transform:scaleX(-1)}
.ng .fl.on{color:#fff;text-shadow:0 0 14px rgba(var(--cyan-rgb),.9)}
.ng .fimg img{clip-path:inset(0 0 100% 0);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 82%,transparent 100%),linear-gradient(180deg,#000 85%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 82%,transparent 100%),linear-gradient(180deg,#000 85%,transparent);mask-composite:intersect}
.ng .prog{position:relative;width:min(340px,80%);height:6px;border-radius:99px;background:rgba(255,255,255,.12);margin:48px auto 0;overflow:hidden}
.ng .prog i{position:absolute;inset:0 auto 0 0;width:0;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 12px var(--cyan)}
.ng .fimg .meter{position:absolute;left:50%;transform:translateX(-50%);bottom:-30px;font:700 13px var(--ffh);letter-spacing:.06em;color:var(--cyan2);white-space:nowrap}
.ng .fp.dn{right:3%;top:60px;width:130px}
.ng .fp.pt{left:4%;bottom:40px;width:120px}
.ng .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1000px;margin:0 auto}
.ng .case{border-radius:24px;padding:30px 26px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.ng .case img{width:140px;margin:0 auto 18px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 72%,transparent 100%)}
.ng .case h3{font-size:20px;font-weight:700;margin-bottom:8px;text-align:center}
.ng .case p{color:var(--muted);font-size:14px;margin:0;text-align:center}
.ng .quote{max-width:640px;margin:0 auto;padding:34px;border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--edge);box-shadow:0 20px 50px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.2)}
.ng .quote label{display:block;font:600 13px var(--ffh);margin:0 0 6px;color:var(--cyan2)}
.ng .quote input,.ng .quote select,.ng .quote textarea{width:100%;padding:13px 15px;margin-bottom:18px;border-radius:14px;border:1px solid var(--edge);background:rgba(5,15,35,.6);color:var(--ink);font:400 15px var(--ffb)}
.ng .quote .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ng .quote textarea{min-height:110px;resize:vertical}
.ng .ok{display:none;text-align:center;font:600 16px var(--ffh);color:var(--cyan)}
.ng footer{text-align:center;padding:50px 0 60px;color:var(--muted);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.ng footer img{width:38px;margin:0 auto 14px;border-radius:50%}
@media (max-width:900px){.ng .links{display:none}
.ng .menu-btn{display:block}
.ng .nav.open{flex-wrap:wrap}
.ng .nav.open .links{display:flex;flex-direction:column;width:100%;gap:6px;margin:10px 0 4px}
.ng .nav .btn.sm{display:none}
.ng .brand{border:0;padding:0}
.ng .hero-grid{grid-template-columns:1fr}
.ng .cards,.ng .cases{grid-template-columns:1fr;max-width:380px}
.ng .card,.ng .card.mid{padding-top:24px}
.ng .fl,.ng .fl.a,.ng .fl.b,.ng .fl.c{position:static;display:block;text-align:center;margin-top:10px;white-space:normal}
.ng .fl::after{display:none}
.ng .fimg .meter{position:static;transform:none;margin-top:14px;text-align:center}
.ng .fimg{margin:0 auto}
.ng .fp{display:none}
.ng .quote .row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ng *{animation:none!important;scroll-behavior:auto!important}
.ng .fimg img{clip-path:none!important}}
.ng .app{position:relative;overflow-x:clip}
.ng .sbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--cyan),var(--green),#8a7bff);box-shadow:0 0 10px var(--cyan)}
.ng .glow{position:fixed;left:0;top:0;width:440px;height:440px;margin:-220px 0 0 -220px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(var(--cyan-rgb),.12),transparent 65%);opacity:0;transition:opacity .5s}
.ng .brand svg{width:44px;height:44px;flex:none;filter:drop-shadow(0 0 8px rgba(var(--cyan-rgb),.55))}
.ng .chip{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border-radius:99px;border:1px solid var(--edge);background:rgba(255,255,255,.07);font:600 12px var(--ffh);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan2);margin-bottom:20px}
.ng .hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}
.ng .hero p{margin:20px 0 14px}
.ng .swap{font:700 clamp(18px,2vw,24px) var(--ffh);margin:0 0 28px;color:#fff}
.ng .swap b{color:var(--cyan);display:inline-block;min-width:5.5em;transition:opacity .25s,translate .25s}
.ng .swap b.out{opacity:0;translate:0 10px}
.ng .orb{cursor:pointer;transition:transform .25s ease-out}
.ng .mq{overflow:hidden;padding:16px 0;margin:50px -3vw 0;border-block:1px solid var(--edge);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));rotate:-1.2deg}
.ng .mq div{display:flex;gap:34px;width:max-content;white-space:nowrap;font:800 clamp(20px,3vw,34px) var(--ffh);text-transform:uppercase;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(160,220,240,.55);will-change:transform}
.ng .mq div+div{margin-top:6px;color:var(--cyan2);-webkit-text-stroke:0;opacity:.8}
.ng .mq .b{color:var(--cyan);-webkit-text-stroke:0}
.ng .sub{text-align:center;color:var(--muted);font-size:clamp(15px,1.5vw,18px);margin:-40px auto 54px;max-width:34em}
.ng .app.js-on .rv{opacity:0;translate:0 38px;transition:opacity .75s cubic-bezier(.2,.7,.2,1),translate .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.ng .app.js-on .rv.in{opacity:1;translate:0 0}
.ng .cards{align-items:start}
.ng .card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out;will-change:transform}
.ng .card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.ng .card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.26),transparent 62%);opacity:0;transition:opacity .25s;pointer-events:none}
.ng .card:hover::before{opacity:1}
.ng .card .tag{font-size:14px;color:#eaf2f8;margin:-4px 0 16px}
.ng button.btn{appearance:none;-webkit-appearance:none;font-family:var(--ffh)}
.ng .det{max-height:0;overflow:hidden;text-align:left;transition:max-height .5s ease}
.ng .card.open .det{max-height:300px}
.ng .det ul{margin:16px 0 4px;padding:0;list-style:none}
.ng .det li{position:relative;padding:6px 0 6px 26px;font-size:14px;color:#f3f8fb}
.ng .det li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.ng .det a{display:inline-block;margin-top:8px;color:var(--cyan);font:700 13px var(--ffh);letter-spacing:.03em}
.ng .det a:hover{text-decoration:underline}
.ng .num{font-variant-numeric:tabular-nums;color:var(--cyan)}
.ng .case{transition:transform .25s,border-color .25s}
.ng .case:hover{transform:translateY(-6px);border-color:rgba(var(--cyan-rgb),.6)}
.ng .totop{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.06) 50%,rgba(var(--cyan-rgb),.18));backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6);color:#fff;z-index:90;display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;translate:0 24px;pointer-events:none;transition:opacity .3s,translate .3s,box-shadow .2s;box-shadow:0 10px 30px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.65)}
.ng .totop.show{opacity:1;translate:0 0;pointer-events:auto}
.ng .totop:hover{box-shadow:0 0 28px rgba(var(--cyan-rgb),.75),inset 0 1.5px 0 rgba(255,255,255,.7)}
.ng .totop .rg{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);rotate:-90deg}
.ng .totop circle{fill:none;stroke-width:2.5}
.ng .totop .trk{stroke:rgba(255,255,255,.14)}
.ng .totop .ring{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:163.4;stroke-dashoffset:163.4;filter:drop-shadow(0 0 4px var(--cyan))}
.ng .totop .arr{width:24px;height:24px;position:relative}
.ng .totop.go .arr{animation:launch .7s ease-in forwards}
@keyframes launch{to{translate:0 -60px;opacity:0}}
.ng .spark{position:fixed;width:7px;height:7px;border-radius:50%;pointer-events:none;z-index:95;animation:spark .85s ease-out forwards}
@keyframes spark{to{translate:var(--dx) var(--dy);opacity:0;scale:.2}}
@media (max-width:900px){.ng .mq{margin-top:40px}
.ng .sub{margin-top:-36px}}
@media (prefers-reduced-motion:reduce){.ng .app.js-on .rv{opacity:1;translate:none;transition:none}
.ng .mq div{transform:none!important}}
.ng .fgrid{perspective:1100px}
.ng .fimg{width:clamp(260px,38vw,440px);filter:none;transform-style:preserve-3d;will-change:transform;cursor:pointer}
.ng .fimg img{display:block;width:100%;-webkit-mask-image:radial-gradient(ellipse 57% 60% at 50% 50%,#000 74%,transparent 100%);mask-image:radial-gradient(ellipse 57% 60% at 50% 50%,#000 74%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
.ng .fimg img.fbase{clip-path:none;filter:grayscale(1) brightness(.5) contrast(1.1);opacity:.5}
.ng .fimg img.flit{position:absolute;left:0;top:0;height:100%;transform:translateZ(14px);animation:fpulse 2.6s ease-in-out infinite}
@keyframes fpulse{50%{filter:brightness(1.16) saturate(1.15)}}
.ng .ffront{position:absolute;top:0;left:10%;width:80%;height:3px;border-radius:4px;opacity:0;pointer-events:none;transform:translateZ(30px);background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);box-shadow:0 0 18px 5px rgba(var(--cyan-rgb),.8)}
.ng #fcan{position:absolute;left:0;top:0;width:100%;height:112%;pointer-events:none;transform:translateZ(44px)}
.ng .fshadow{position:absolute;left:6%;right:6%;bottom:-4%;height:16%;border-radius:50%;pointer-events:none;transform:translateZ(-30px);background:radial-gradient(ellipse at center,rgba(var(--cyan-rgb),.38),transparent 70%)}
.ng .fshadow::before,.ng .fshadow::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(var(--cyan-rgb),.55);animation:ringp 3.2s ease-out infinite}
.ng .fshadow::after{animation-delay:1.6s}
@keyframes ringp{from{transform:scale(.45);opacity:.9}to{transform:scale(1.25);opacity:0}}
.ng .zone{position:absolute;left:10%;width:80%;padding:0;border:0;background:none;border-radius:40%/60%;cursor:pointer;transform:translateZ(54px)}
.ng .zone:hover,.ng .zone:focus-visible{background:radial-gradient(ellipse at center,rgba(var(--cyan-rgb),.24),transparent 72%);outline:none}
.ng .fl{transform:translateZ(72px);pointer-events:none}
.ng .fl.pop{animation:fpop .65s cubic-bezier(.2,1.6,.4,1)}
@keyframes fpop{0%{transform:translateZ(72px) scale(1)}40%{transform:translateZ(120px) scale(1.28)}100%{transform:translateZ(72px) scale(1)}}
.ng .ftip{position:absolute;left:50%;top:-50px;translate:-50% 0;transform:translateZ(96px);width:max-content;max-width:min(360px,86vw);padding:9px 16px;border-radius:99px;text-align:center;font:600 13px/1.35 var(--ffb);color:#f3fbff;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .2s}
.ng .ftip.show{opacity:1}
.ng .fmeter{text-align:center;margin-top:70px;font:700 13px var(--ffh);letter-spacing:.06em;color:var(--cyan2)}
.ng .hud{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:780px;margin:34px auto 0}
.ng .hs{padding:16px 10px;text-align:center;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--edge);opacity:.5;transition:opacity .3s,border-color .3s,box-shadow .3s}
.ng .hs.on{opacity:1;border-color:rgba(var(--cyan-rgb),.7);box-shadow:0 0 22px rgba(var(--cyan-rgb),.28)}
.ng .hs b{display:block;font:800 clamp(20px,2.4vw,28px) var(--ffh);color:var(--cyan);font-variant-numeric:tabular-nums}
.ng .hs span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ng .boost{display:block;margin:26px auto 0}
@media (max-width:900px){.ng .fl,.ng .fl.a,.ng .fl.b,.ng .fl.c{display:none}
.ng .fimg{width:min(86vw,420px)}}
@media (max-width:700px){.ng .hud{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.ng .nav.open .btn.sm{display:block;width:100%;text-align:center;margin-top:8px;padding:12px}}

.ng.ng-full{width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw}
.ng.ng-standalone{min-height:100vh}
body.swift-standalone{margin:0!important;padding:0!important;background:#050b1a}
body.swift-page{overflow-x:clip}
.ng .brand img.brand-img{width:auto;height:44px;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
.ng .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.ng .ok.err{color:#ff9a9a}
.ng.ng-safe .rv{opacity:1!important;translate:none!important;transition:none!important}
.ng.ng-safe *{animation:none!important}
.ng img{border:0;box-shadow:none;border-radius:0}
.ng ul,.ng li{list-style:none}
.ng p{margin-top:0}
.ng a{box-shadow:none}
.ng .btn,.ng button.btn{text-decoration:none;line-height:1.2;min-height:0;width:auto}
.ng button.btn[style*="width:100%"]{width:100%}
.ng label{display:block}
.ng input,.ng select,.ng textarea{box-shadow:none;height:auto}
.ng input,.ng select{min-height:0}
.ng h1,.ng h2,.ng h3{padding:0;border:0}
.ng #ngfab{position:sticky;top:0;display:block;width:100%;height:100vh;margin-bottom:-100vh;z-index:0;pointer-events:none}

.ng .res{max-width:1100px;margin:0 auto}
.ng .res-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 26px}
.ng .res-tab{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;border:1px solid var(--edge);background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));color:var(--ink);font:700 14px var(--ffh);line-height:1.2;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.ng .res-tab .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--pc1),var(--pc2));box-shadow:0 0 10px var(--pc1)}
.ng .res-tab b{font-weight:800;color:var(--pc2)}
.ng .res-tab:hover{transform:translateY(-2px)}
.ng .res-tab.on,.ng .res-tab[aria-selected="true"]{border-color:var(--pc1);box-shadow:0 0 22px -4px var(--pc1),inset 0 0 0 1px rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.05))}
.ng .p-google{--pc1:#4285f4;--pc2:#34d399}
.ng .p-meta{--pc1:#3b82f6;--pc2:#a78bfa}
.ng .p-tiktok{--pc1:#ff3b6b;--pc2:#25f4ee}
.ng .res-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start}
.ng .res-panel{position:relative;padding:26px 26px 22px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.03));border:1px solid var(--edge);box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.2);overflow:hidden;animation:resin .5s ease}
.ng .res-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pc1),var(--pc2))}
.ng .res-panel[hidden]{display:none}
@keyframes resin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ng .res-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ng .res-head h3{font-size:clamp(17px,2vw,21px);font-weight:700;margin:0 0 4px}
.ng .res-head .per{margin:0;color:var(--muted);font-size:13px}
.ng .live{display:inline-flex;align-items:center;gap:7px;font:700 11px var(--ffh);letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:99px;border:1px solid var(--edge);color:var(--green);white-space:nowrap}
.ng .live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:livep 1.6s ease-in-out infinite}
@keyframes livep{50%{opacity:.35}}
.ng .res-roas{margin:18px 0 4px}
.ng .res-roas .lbl{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ng .res-roas .roas{display:inline-block;font-family:var(--ffh);font-weight:800;font-size:clamp(52px,8vw,84px);line-height:1.05;background:linear-gradient(90deg,var(--pc1),var(--pc2));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.ng .res-fig{margin:6px 0 0}
.ng .res-fig figcaption{font-size:12px;color:var(--muted);margin-top:2px}
.ng .res-chart{display:block;width:100%;height:auto;overflow:visible}
.ng .res-chart .grid path{stroke:rgba(255,255,255,.08);stroke-width:1;fill:none}
.ng .res-chart .line{fill:none;stroke:var(--pc1);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--pc1))}
.ng .res-chart .dot{fill:#fff;stroke:var(--pc1);stroke-width:3}
.ng .res-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 14px}
.ng .kpi{padding:12px 8px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);text-align:center}
.ng .kpi span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ng .kpi b{display:block;margin-top:4px;font:800 clamp(15px,1.8vw,19px) var(--ffh);font-variant-numeric:tabular-nums;color:#fff}
.ng .res-text{margin:0 0 12px;color:#dbe9f2;font-size:15px}
.ng .res-tags{display:flex;flex-wrap:wrap;gap:8px}
.ng .res-tags span{font-size:12px;padding:5px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:var(--cyan2)}
.ng .res-compare{padding:22px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--edge)}
.ng .res-compare h4{margin:0 0 14px;font:700 13px var(--ffh);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan2)}
.ng .res-bar{appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:1fr auto;gap:8px 10px;width:100%;text-align:left;padding:10px 8px;margin:0 0 6px;border:1px solid transparent;border-radius:12px;background:none;color:var(--ink);cursor:pointer;font:600 14px var(--ffb);transition:background .2s,border-color .2s}
.ng .res-bar:hover,.ng .res-bar.on{background:rgba(255,255,255,.06);border-color:var(--edge)}
.ng .res-bar .nm{grid-column:1;grid-row:1}
.ng .res-bar b{grid-column:2;grid-row:1;font:800 15px var(--ffh);color:var(--pc2)}
.ng .res-bar .bar{grid-column:1/-1;grid-row:2;height:9px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.ng .res-bar .bar i{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--pc1),var(--pc2));box-shadow:0 0 12px var(--pc1);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.ng .app.js-on .res.rv:not(.in) .bar i{width:0}
.ng .res-note{text-align:center;color:var(--muted);font-size:12px;margin:18px 0 0}
@media (max-width:900px){.ng .res-grid{grid-template-columns:1fr}.ng .res-kpis{grid-template-columns:repeat(2,1fr)}.ng .res-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.ng .res-tab{flex:none}}
