/* =============================================================
   Revopanda 官网 — 蓝白科技风 / 全球贸易主视觉
   参考钛动(tec-do)的版式、留白、明暗节奏与动效
   ============================================================= */

:root{
  /* blues */
  --blue:#1B5CDB; --blue-bright:#2E6BF0; --blue-deep:#0B3A86;
  --blue-elec:#1860F0;
  --blue-light:#EAF2FE; --bg-tint:#F2F7FE; --bg-tint2:#E9F1FD;
  /* ai-accent (kept on-brand: blue→indigo→cyan) */
  --indigo:#5566F2; --cyan:#1FB6EA;
  /* ink */
  --ink:#0C2546; --ink2:#284A70; --muted:#5E7A98; --muted2:#90A6C0;
  --line:#E2ECF8; --line2:#EDF3FC;
  /* glassmorphism */
  --glass:rgba(255,255,255,.62); --glass-2:rgba(255,255,255,.42); --glass-brd:rgba(255,255,255,.85);
  --glass-shadow:0 22px 54px -28px rgba(20,60,140,.34),inset 0 1px 0 rgba(255,255,255,.6);
  --blur:saturate(170%) blur(20px);
  /* dark band — deep premium navy with aurora depth */
  --nav-dk:#05101F; --dk:#0A1730; --dk2:#0E2147;
  --dk-line:#203A66;
  --dk-tx:#AEC6E2; --dk-tx2:#6E8CAD;
  /* layout */
  --maxw:1220px; --r:18px; --r-sm:13px; --r-lg:26px;
  --ease:cubic-bezier(.22,.7,.2,1);
  --shadow-sm:0 2px 10px rgba(16,52,110,.06);
  --shadow:0 22px 50px -24px rgba(24,80,180,.26);
  --shadow-lg:0 44px 96px -32px rgba(12,43,100,.4);
  --ff-disp:"Space Grotesk","Noto Sans SC","PingFang SC",sans-serif;
  --ff:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff);color:var(--ink);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
  background:
    radial-gradient(900px 700px at 88% -4%,rgba(85,102,242,.07),transparent 60%),
    radial-gradient(820px 640px at -6% 12%,rgba(31,182,234,.06),transparent 58%),
    linear-gradient(180deg,#FAFCFF,#F4F8FD)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:var(--ff-disp);letter-spacing:-.02em;line-height:1.12}
:lang(en){letter-spacing:0}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:11px;
  font-size:15px;font-weight:600;cursor:pointer;transition:.25s var(--ease);border:1px solid transparent;
  white-space:nowrap;font-family:var(--ff)}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:30px;
  font-size:15px;font-weight:600;cursor:pointer;transition:.25s var(--ease);border:1px solid transparent;
  white-space:nowrap;font-family:var(--ff)}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn-primary{background:linear-gradient(135deg,var(--blue-bright),var(--blue));color:#fff;
  box-shadow:0 12px 28px -10px rgba(27,92,219,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px -12px rgba(27,92,219,.8),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:var(--glass);color:var(--blue);border-color:var(--glass-brd);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-sm)}
.btn-ghost:hover{background:rgba(255,255,255,.8);border-color:var(--blue-bright);transform:translateY(-2px)}
.btn-lg{padding:16px 32px;font-size:16px}
.on-dark .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28)}
.on-dark .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}

/* ---------- eyebrow / section ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  color:var(--blue);background:var(--glass);border:1px solid var(--glass-brd);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  padding:7px 15px;border-radius:30px;margin-bottom:22px;letter-spacing:.01em;box-shadow:var(--shadow-sm)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-bright);
  box-shadow:0 0 8px 1px rgba(46,107,240,.6)}
.on-dark .eyebrow{color:#9FC6F4;background:rgba(61,139,242,.14);border-color:rgba(61,139,242,.24);box-shadow:none}
.section{padding:104px 0;position:relative}
.section h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;margin-bottom:20px}
.section .lead{font-size:18px;color:var(--muted);max-width:680px;margin-bottom:54px;text-wrap:pretty}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.tint{position:relative;background:linear-gradient(180deg,var(--bg-tint),#F6FAFF)}
.tint::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(680px 460px at 8% 0%,rgba(85,102,242,.10),transparent 60%),
    radial-gradient(720px 520px at 96% 100%,rgba(31,182,234,.09),transparent 60%)}
.tint>.wrap{position:relative;z-index:1}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:.85s var(--ease)}
.reveal.in{opacity:1;transform:none}
.r-d1{transition-delay:.08s}.r-d2{transition-delay:.16s}.r-d3{transition-delay:.24s}
.r-d4{transition-delay:.32s}.r-d5{transition-delay:.40s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* hidden/throttled iframes: show everything instantly */
.reveal-all .reveal{opacity:1 !important;transform:none !important;transition:none !important}
.reveal-all .hero h1 .word{transform:none !important;transition:none !important}

/* ================= NAV ================= */
header{position:sticky;top:0;z-index:80;background:rgba(250,252,255,.7);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;transition:.3s var(--ease)}
header.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 28px -16px rgba(12,43,74,.22)}
nav{display:flex;align-items:center;gap:34px;height:74px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--ff-disp);font-size:22px;font-weight:700;
  color:var(--ink);letter-spacing:-.01em;cursor:pointer}
.logo{flex-shrink:0}
.logo .mk{width:145px;height:auto;max-height:56px;border-radius:0;background:none;box-shadow:none;
  object-fit:contain;display:block}
.menu{display:flex;gap:6px;margin-left:8px}
.menu a{position:relative;padding:9px 15px;font-size:15px;font-weight:500;color:var(--ink2);
  border-radius:9px;transition:.2s}
.menu a:hover{color:var(--blue);background:var(--blue-light)}
.menu a.cur{color:var(--blue);font-weight:600}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.lang{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted);
  cursor:pointer;border:1px solid var(--line);padding:8px 13px;border-radius:9px;transition:.2s}
.lang:hover{border-color:var(--blue-bright);color:var(--blue);background:var(--blue-light)}
.lang .sep{opacity:.4}
.nav-login{font-size:14.5px;font-weight:500;color:var(--ink2);cursor:pointer;padding:8px 6px}
.nav-login:hover{color:var(--blue)}
.menu-toggle{display:none;font-size:24px;cursor:pointer;color:var(--blue);background:none;border:none}

/* ================= HERO ================= */
.hero{position:relative;overflow:hidden;
  background:
    radial-gradient(1200px 540px at 78% -6%,#DCEBFB,transparent 60%),
    radial-gradient(900px 500px at 8% 18%,#EFF6FE,transparent 60%),
    linear-gradient(180deg,#F6FAFE,#fff)}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(900px 600px at 50% 46%,#000,transparent 75%);
  mask-image:radial-gradient(900px 600px at 50% 46%,#000,transparent 75%)}
.hero-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:64px 0 80px}
.hero-center .eyebrow{position:relative;z-index:3}
.hero h1{font-size:clamp(38px,4.8vw,62px);font-weight:700;letter-spacing:-.03em;margin-bottom:22px;
  max-width:18em;position:relative;z-index:3}
.hero h1 .hl{color:var(--blue-bright);
  background:linear-gradient(120deg,var(--blue-bright),var(--blue-deep));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .word{display:inline-block;transition:transform .6s var(--ease)}
.hero h1.preanim .word{transform:translateY(20px)}
@media(prefers-reduced-motion:reduce){.hero h1.preanim .word{transform:none;transition:none}}
.hero p.sub{font-size:18.5px;color:var(--muted);max-width:600px;margin-bottom:34px;text-wrap:pretty;
  position:relative;z-index:3}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative;z-index:3}

/* globe centerpiece */
/* hero intro — content hidden (opacity) while globe is big; fades in during shrink */
/* first-paint guard (set in <head>) — blank stage before app.js runs */
html.rp-intro .hero .hero-center h1,
html.rp-intro .hero .hero-center p.sub,
html.rp-intro .hero .hero-center .hero-btns{opacity:0 !important}
.hero.globe-intro .hero-center h1,
.hero.globe-intro .hero-center p.sub,
.hero.globe-intro .hero-center .hero-btns{opacity:0}
.hero.globe-revealtext .hero-center h1,
.hero.globe-revealtext .hero-center p.sub,
.hero.globe-revealtext .hero-center .hero-btns{animation:heroSlideIn 1.5s var(--ease) both}
@keyframes heroSlideIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero.globe-busy #globe-callouts{visibility:hidden}
.hero.globe-busy .globe-origin{z-index:60}
.hero.globe-preorigin .globe-origin{visibility:hidden}
.hero.globe-busy{overflow:visible}
/* ocean wave field — line-texture "going global / 出海" motif, revealed after globe shrinks */
#ocean{position:absolute;left:0;right:0;bottom:0;width:100%;height:42%;z-index:0;pointer-events:none;
  opacity:0;transform:translateY(26px);transition:opacity 1.3s var(--ease),transform 1.3s var(--ease);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 94%,transparent);
  mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 94%,transparent)}
.hero.ocean-show #ocean{opacity:1;transform:none}
.hero .hero-center{position:relative;z-index:1}
.globe-stage{position:relative;width:100%;max-width:660px;aspect-ratio:1/.86;margin:6px auto 4px;
  display:grid;place-items:center}
#globe{position:relative;z-index:1;width:100%;height:100%;display:block}
/* frosted-glass sphere body — appears once the globe settles */
.globe-glass{position:absolute;width:77%;aspect-ratio:1;left:50%;top:48%;transform:translate(-50%,-50%);
  border-radius:50%;z-index:0;pointer-events:none;opacity:0;transition:opacity .9s var(--ease);
  background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.6),rgba(228,240,253,.3) 58%,rgba(202,224,248,.16) 100%);
  backdrop-filter:blur(8px) saturate(118%);-webkit-backdrop-filter:blur(8px) saturate(118%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 34px 80px -34px rgba(24,80,170,.42),
    inset 0 3px 16px rgba(255,255,255,.65),
    inset 0 -16px 40px rgba(46,107,240,.07),
    inset 8px 0 30px rgba(255,255,255,.25)}
.globe-glass::before{content:"";position:absolute;left:14%;top:9%;width:42%;height:30%;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.7),transparent 70%);filter:blur(4px)}
.hero.ocean-show .globe-glass{opacity:1}
#globe-callouts{position:absolute;inset:0;z-index:4;pointer-events:none}
.gcallout{position:absolute;transform:translate(14px,-50%);display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.92);border:1px solid var(--glass-brd);border-radius:30px;
  padding:6px 13px 6px 11px;box-shadow:var(--shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-size:12px;white-space:nowrap;opacity:0;transition:opacity .3s ease}
.gcallout .gdot{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.16);flex:none}
.gcallout b{font-weight:600;color:var(--ink)}
.gcallout .gst{color:var(--muted);padding-left:8px;border-left:1px solid var(--line)}
.globe-origin{position:absolute;z-index:5;left:0;top:0;transform:translate(13px,-50%);opacity:0;
  font-family:var(--ff-disp);font-size:12px;font-weight:600;color:#fff;white-space:nowrap;pointer-events:none;
  background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep));border:1px solid rgba(255,255,255,.6);
  border-radius:30px;padding:5px 13px 5px 11px;
  box-shadow:0 8px 20px -8px rgba(24,96,240,.8);display:flex;align-items:center;gap:7px;transition:opacity .25s ease}
.globe-origin::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.3);animation:pulseDot 1.8s ease-in-out infinite}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 3px rgba(255,255,255,.35)}50%{box-shadow:0 0 0 7px rgba(255,255,255,.05)}}
.hero-stats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative;z-index:3;
  max-width:560px;width:100%;margin-top:6px}
.hero-stats .s{flex:1;min-width:120px;padding:16px 20px;background:var(--glass);text-align:center;
  border:1px solid var(--glass-brd);border-radius:16px;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  box-shadow:var(--shadow-sm)}
.hero-stats .s .n{font-family:var(--ff-disp);font-size:30px;font-weight:700;color:var(--blue);letter-spacing:-.03em}
.hero-stats .s .l{font-size:12.5px;color:var(--muted);margin-top:3px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.globe-tag,.globe-origin::before{animation:none}}

/* trusted-by strip — blends into hero, no hard divider */
.trust{position:relative;margin-top:-8px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(244,249,254,.85))}
.trust .wrap{display:flex;align-items:center;gap:34px;padding:10px 28px 30px;flex-wrap:wrap}
.trust .lbl{font-size:13px;color:var(--muted2);font-weight:500;white-space:nowrap}
.trust .brands{display:flex;align-items:center;gap:34px;flex-wrap:wrap;flex:1}
.trust .brands span{font-family:var(--ff-disp);font-size:19px;font-weight:600;color:#9BB3CC;
  transition:.2s;letter-spacing:.01em}
.trust .brands span:hover{color:var(--blue)}

/* ================= GENERIC GRIDS / PAGEHEAD ================= */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.page-head{position:relative;overflow:hidden;text-align:center;padding:108px 0 72px;
  background:linear-gradient(180deg,var(--bg-tint),#fff)}
/* soft aurora glow (reference-style), slow drift */
.page-head::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(700px 400px at 24% 6%,rgba(70,140,255,.22),transparent 62%),
    radial-gradient(640px 380px at 80% 0%,rgba(46,196,236,.18),transparent 62%),
    radial-gradient(760px 460px at 60% 116%,rgba(99,110,245,.14),transparent 64%);
  animation:phAura 15s ease-in-out infinite}
@keyframes phAura{0%,100%{transform:translate(0,0) scale(1);opacity:.92}50%{transform:translate(2.5%,1.5%) scale(1.07);opacity:1}}
/* faint grid */
.page-head::after{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;z-index:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:54px 54px;-webkit-mask-image:radial-gradient(760px 400px at 50% 6%,#000,transparent 74%);
  mask-image:radial-gradient(760px 400px at 50% 6%,#000,transparent 74%)}
@keyframes phDrift{to{background-position:220px -220px,-300px -300px}}
.page-head .ph-trend{position:absolute;left:0;right:0;bottom:0;z-index:1;height:380px;pointer-events:none;opacity:1;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.page-head .ph-trend svg{width:100%;height:100%}
.page-head .ph-trend .tarea{opacity:0;animation:tareaIn 1.4s var(--ease) 1s forwards}
.page-head .ph-trend .tline{fill:none;stroke:url(#tlineG);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 4px 10px rgba(46,107,240,.28));
  stroke-dasharray:3200;stroke-dashoffset:3200;animation:tlineDraw 3.4s var(--ease) .3s forwards}
.page-head .ph-trend .tdot{fill:#fff;stroke:var(--blue);stroke-width:2.4;opacity:0;animation:tdotPop .5s var(--ease) forwards}
.page-head .ph-trend .tdot:nth-of-type(1){animation-delay:1.5s}
.page-head .ph-trend .tdot:nth-of-type(2){animation-delay:2.2s}
.page-head .ph-trend .tdot:nth-of-type(3){animation-delay:2.9s}
.page-head .ph-trend .tend{fill:var(--blue);animation:tendPulse 2.2s ease-in-out 3.2s infinite both}
.page-head .ph-trend .tendhalo{fill:rgba(46,107,240,.25);animation:tendHalo 2.2s ease-in-out 3.2s infinite both}
@keyframes tareaIn{to{opacity:1}}
@keyframes tlineDraw{to{stroke-dashoffset:0}}
@keyframes tdotPop{to{opacity:1}}
@keyframes tendPulse{0%,100%{opacity:.85}50%{opacity:1}}
@keyframes tendHalo{0%{opacity:.5;transform:scale(.6);transform-origin:center}70%,100%{opacity:0;transform:scale(2.4);transform-origin:center}}
/* contact page-head — conversation/chat-bubble motif */
.page-head .ph-chat{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  -webkit-mask-image:radial-gradient(820px 380px at 50% 6%,#000,transparent 78%);mask-image:radial-gradient(820px 380px at 50% 6%,#000,transparent 78%)}
.page-head .ph-chat svg{width:100%;height:100%}
.page-head .ph-chat .bub{fill:none;stroke:rgba(27,92,219,.32);stroke-width:1.6;
  animation:bubFloat 6s ease-in-out infinite}
.page-head .ph-chat .bub:nth-child(2){animation-delay:1.2s}
.page-head .ph-chat .bub:nth-child(3){animation-delay:2.4s}
.page-head .ph-chat .bub:nth-child(4){animation-delay:3.1s}
.page-head .ph-chat .bub:nth-child(5){animation-delay:.6s}
.page-head .ph-chat .typ{fill:rgba(27,92,219,.5);animation:typDot 1.4s ease-in-out infinite}
@keyframes bubFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes typDot{0%,100%{opacity:.3}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-head::after{animation:none}.page-head .ph-trend .tline{animation:none;stroke-dashoffset:0}}
.page-head .eyebrow{position:relative;z-index:3}
.page-head h1{position:relative;z-index:3;font-size:clamp(34px,4.4vw,52px);font-weight:700;margin-bottom:18px}
.page-head p{position:relative;z-index:3;font-size:19px;color:var(--muted);max-width:680px;margin:0 auto;text-wrap:pretty}

/* ================= AGENT CARDS (dark band) ================= */
.band-dark{position:relative;overflow:hidden;background:
   radial-gradient(900px 500px at 82% -8%,rgba(64,98,240,.32),transparent 58%),
   radial-gradient(760px 520px at 12% 108%,rgba(31,182,234,.20),transparent 60%),
   radial-gradient(680px 480px at 50% 120%,rgba(99,86,242,.22),transparent 62%),
   linear-gradient(170deg,var(--dk),var(--dk2));color:#fff}
.band-dark::after{content:none}
.band-dark .wrap{position:relative}
.band-dark h2{color:#fff}
.band-dark .lead{color:var(--dk-tx)}
.agent{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(140,170,220,.16);border-radius:var(--r-lg);padding:34px 32px;transition:.35s var(--ease);overflow:hidden;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.agent::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;transition:.35s;
  background:linear-gradient(160deg,rgba(99,120,255,.9),rgba(31,182,234,.5) 55%,transparent 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}
.agent:hover{transform:translateY(-7px);background:linear-gradient(180deg,rgba(64,98,240,.18),rgba(255,255,255,.02));
  box-shadow:0 40px 70px -32px rgba(0,8,30,.7)}
.agent:hover::before{opacity:1}
.agent .ahd{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.agent .anum{font-family:var(--ff-disp);font-size:13px;font-weight:600;color:var(--dk-tx2)}
.agent .badge{display:inline-flex;align-items:center;font-family:var(--ff-disp);font-size:14px;font-weight:600;
  color:#fff;background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep));
  padding:5px 13px;border-radius:9px;letter-spacing:.01em}
.agent h3{font-size:23px;font-weight:600;margin:14px 0 8px}
.agent .role{font-size:14.5px;color:var(--dk-tx);margin-bottom:22px;min-height:42px}
.agent ul{list-style:none;display:grid;gap:13px}
.agent li{padding-left:30px;position:relative;font-size:14.5px;color:#D7E5F4}
.agent li::before{content:"";position:absolute;left:0;top:11px;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;
  background:rgba(61,139,242,.22);
  box-shadow:inset 0 0 0 1px rgba(61,139,242,.5)}
.agent li::after{content:"";position:absolute;left:5.5px;top:10px;transform:translateY(-50%) rotate(42deg);width:4.5px;height:8px;
  border:solid var(--blue-elec);border-width:0 2px 2px 0}

/* one-line section title (desktop) */
.agents-head .oneline{white-space:normal;text-wrap:balance}
@media(min-width:880px){.agents-head .oneline{white-space:nowrap}}

/* soft hero → dark-band transition (no hard seam, no bright glow) */
.band-dark.lead-in::before{content:none}

/* ===== orbital agents carousel ===== */
.orbit-stage{position:relative;height:760px;margin-top:8px;
  touch-action:pan-y;cursor:grab;user-select:none}
.orbit-stage:active{cursor:grabbing}
.orbit-bg{position:absolute;inset:0;z-index:1;pointer-events:none}
.orbit-ellipse{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.15);opacity:0;width:min(980px,96%);height:auto;
  filter:drop-shadow(0 0 5px rgba(120,200,255,1)) drop-shadow(0 0 13px rgba(70,150,255,.65))}
.orbit-stage.orbit-go .orbit-ellipse{animation:ellipseGrow 2s var(--ease) forwards}
@keyframes ellipseGrow{from{opacity:0;transform:translate(-50%,-50%) scale(.15)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.orbit-ellipse .oe-1{animation:oeDash 3.4s linear infinite}
.orbit-ellipse .oe-2{animation:oeDash 5s linear infinite reverse}
@keyframes oeDash{to{stroke-dashoffset:-130}}
.orbit-core{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);width:460px;height:480px;z-index:50;pointer-events:none}
.orbit-core .oc-glow{position:absolute;left:50%;top:46%;width:70%;height:60%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(70,130,250,.34),transparent 66%);filter:blur(30px);
  animation:glowPulse 5.5s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}
.orbit-core .oc-holo,.orbit-core #agentFigure{position:absolute;inset:0;width:100%;height:100%}
.orbit-core #orbitGlobe{position:absolute;inset:0;width:100%;height:100%}
.orbit-core .oc-head{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  width:430px;height:auto;z-index:2;mix-blend-mode:screen;
  filter:brightness(1.12) contrast(1.05) drop-shadow(0 0 24px rgba(60,120,240,.4));
  -webkit-mask-image:radial-gradient(ellipse 62% 64% at 50% 46%,#000 60%,transparent 86%);
  mask-image:radial-gradient(ellipse 62% 64% at 50% 46%,#000 60%,transparent 86%)}
@media(prefers-reduced-motion:reduce){.orbit-core .oc-glow,.orbit-ellipse .oe-1,.orbit-ellipse .oe-2{animation:none}}
@media(max-width:760px){.orbit-core{width:330px;height:380px}}

.orbit-cards{position:absolute;inset:0;z-index:2;pointer-events:none}
.orbit-card{position:absolute;left:0;top:0;width:342px;opacity:0;
  border-radius:24px;overflow:hidden;will-change:transform,opacity;
  background:linear-gradient(158deg,rgba(255,255,255,.07),rgba(255,255,255,.015) 58%,rgba(120,160,240,.035));
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid rgba(180,205,245,.13);
  box-shadow:0 48px 96px -38px rgba(0,8,30,.7),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -24px 56px rgba(40,70,170,.1)}
.orbit-card .oc-tex{position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}
.orbit-card .oc-in{position:relative;padding:38px 34px 44px}
.orbit-card .oc-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.orbit-card .oc-titles{min-width:0}
.orbit-card .oc-ico{width:96px;height:96px;flex:none;margin:0;
  filter:drop-shadow(0 12px 22px rgba(20,60,160,.5));
  animation:icoFloat 4.5s ease-in-out infinite}
@keyframes icoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){.orbit-card .oc-ico{animation:none}}
.orbit-card .ahd{margin-bottom:4px}
.orbit-card .badge{display:inline-block;font-family:var(--ff-disp);font-size:32px;font-weight:700;letter-spacing:-.015em;line-height:1.05;
  background:linear-gradient(118deg,#A6D8FF,#3D7BF0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  padding:0;border-radius:0}
.orbit-card h3{font-size:18px;font-weight:600;margin:4px 0 0;color:#E6F0FF}
.orbit-card .role{font-size:14.5px;color:#BCD4F2;margin-bottom:30px;min-height:42px}
.orbit-card ul{list-style:none;display:grid;gap:20px}
.orbit-card li{padding-left:22px;position:relative;font-size:13px;color:#EAF3FF;white-space:nowrap}
.orbit-card li::before{content:"";position:absolute;left:1px;top:7px;width:6px;height:6px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 3px rgba(124,192,255,.3),0 0 10px 2px rgba(124,192,255,.9);
  animation:dotBlink 2.8s ease-in-out infinite}
.orbit-card li:nth-child(2)::before{animation-delay:.9s}
.orbit-card li:nth-child(3)::before{animation-delay:1.8s}
@keyframes dotBlink{0%,100%{opacity:1;box-shadow:0 0 0 3px rgba(124,192,255,.3),0 0 10px 2px rgba(124,192,255,.9)}50%{opacity:.4;box-shadow:0 0 0 2px rgba(124,192,255,.15),0 0 5px 1px rgba(124,192,255,.4)}}
@media(prefers-reduced-motion:reduce){.orbit-card li::before{animation:none}}
.orbit-card li::after{content:none}
.orbit-card.is-front{border-color:rgba(120,165,255,.32);
  box-shadow:0 54px 100px -36px rgba(0,8,30,.78),inset 0 1px 0 rgba(255,255,255,.22)}

.orbit-dots{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:5;display:flex;gap:10px}
.orbit-dots .od{width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(160,190,240,.32);transition:.3s var(--ease)}
.orbit-dots .od.on{background:linear-gradient(135deg,#5BA8FF,#3D55F2);width:26px;border-radius:6px}
.orbit-hint{position:absolute;right:14px;bottom:6px;z-index:5;font-size:12px;color:var(--dk-tx2);
  display:flex;align-items:center;gap:6px}
.orbit-hint::before{content:"";width:14px;height:14px;border:1.4px solid currentColor;border-radius:50%;
  border-right-color:transparent;border-bottom-color:transparent;transform:rotate(45deg)}
@media(max-width:760px){
  .orbit-stage{height:600px}
  .orbit-card{width:270px}
  .orbit-hint{display:none}
}

/* animated soft glow background (replaces the network lines) */
.band-aura{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.band-aura span,.band-aura::before,.band-aura::after{content:"";position:absolute;border-radius:50%;filter:blur(85px)}
.band-aura::before{width:60%;height:84%;left:-10%;top:-24%;
  background:radial-gradient(circle,rgba(72,120,255,.62),transparent 68%);
  animation:auraA 9s ease-in-out infinite}
.band-aura::after{width:56%;height:78%;right:-12%;bottom:-20%;
  background:radial-gradient(circle,rgba(34,165,240,.55),transparent 68%);
  animation:auraB 11s ease-in-out infinite}
.band-aura span{width:46%;height:62%;left:32%;top:24%;
  background:radial-gradient(circle,rgba(118,92,245,.5),transparent 66%);
  animation:auraC 13s ease-in-out infinite}
@keyframes auraA{0%{transform:translate(0,0) scale(1);opacity:.4}
  50%{transform:translate(46%,30%) scale(1.32);opacity:.72}
  100%{transform:translate(0,0) scale(1);opacity:.4}}
@keyframes auraB{0%{transform:translate(0,0) scale(1.12);opacity:.66}
  50%{transform:translate(-40%,-26%) scale(.86);opacity:.34}
  100%{transform:translate(0,0) scale(1.12);opacity:.66}}
@keyframes auraC{0%{transform:translate(0,0) scale(.9);opacity:.3}
  50%{transform:translate(-30%,26%) scale(1.25);opacity:.6}
  100%{transform:translate(0,0) scale(.9);opacity:.3}}
@media(prefers-reduced-motion:reduce){.band-aura span,.band-aura::before,.band-aura::after{animation:none}}
.band-dark .wrap{position:relative;z-index:1}

/* agents: sequential expand on scroll-in */
@media(prefers-reduced-motion:no-preference){
  .band-dark .agent.reveal{opacity:0;transform:translateY(42px) scale(.94)}
  .band-dark .agent.reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .band-dark .agent.r-d1{transition-delay:.04s}
  .band-dark .agent.r-d2{transition-delay:.22s}
  .band-dark .agent.r-d3{transition-delay:.40s}
}

/* why-card "data feeds back" icon animation */
@media(prefers-reduced-motion:no-preference){
  .why-card[data-anim="data"].in .dfeed{animation:feedUp 1.9s ease-in-out infinite}
  .why-card[data-anim="data"]:hover .dfeed{animation-duration:1s}
  @keyframes feedUp{0%{transform:translateY(4px);opacity:0}35%{opacity:1}100%{transform:translateY(-2px);opacity:0}}
}

/* CTA skyline — minimal buildings + growth line, global-growth motif */
.cta-skyline{position:absolute;left:0;right:0;bottom:0;height:240px;z-index:0;pointer-events:none;opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.cta-skyline svg{width:100%;height:100%}
.cta-skyline .sky-build rect{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.4}
.cta-skyline .sky-grow polyline{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:2400;stroke-dashoffset:2400;animation:skyDraw 5s var(--ease) .4s forwards}
.cta-skyline .sky-grow circle{fill:#fff;opacity:0;animation:tdotPop .4s var(--ease) forwards}
.cta-skyline .sky-grow circle:nth-child(2){animation-delay:1.0s}
.cta-skyline .sky-grow circle:nth-child(3){animation-delay:1.6s}
.cta-skyline .sky-grow circle:nth-child(4){animation-delay:2.2s}
.cta-skyline .sky-grow circle:nth-child(5){animation-delay:2.8s}
.cta-skyline .sky-grow circle:nth-child(6){animation-delay:3.4s}
@keyframes skyDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.cta-skyline .sky-grow polyline{animation:none;stroke-dashoffset:0}}

/* ================= SOLUTION CARDS ================= */
.sol-card{position:relative;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);border-radius:var(--r);box-shadow:var(--glass-shadow);
  padding:32px 28px;transition:.35s var(--ease);overflow:hidden}
.sol-card::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--cyan),var(--blue-bright),var(--indigo));transition:.4s var(--ease)}
.sol-card:hover{transform:translateY(-6px);box-shadow:0 34px 66px -28px rgba(24,80,180,.4);border-color:rgba(255,255,255,.95)}
.sol-card:hover::after{width:100%}
.sol-card .ico{width:56px;height:56px;border-radius:17px;color:var(--blue);
  background:linear-gradient(150deg,rgba(255,255,255,.95),rgba(234,242,254,.45));
  border:1px solid var(--glass-brd);box-shadow:0 10px 22px -10px rgba(46,107,240,.4),inset 0 1px 0 rgba(255,255,255,.8);
  display:grid;place-items:center;margin-bottom:20px;transition:.35s var(--ease)}
.sol-card:hover .ico{background:linear-gradient(150deg,var(--blue-bright),var(--blue-deep));color:#fff;transform:rotate(-6deg) scale(1.05);border-color:transparent}
.sol-card .ico svg{width:26px;height:26px}
.sol-card h3{font-size:19px;font-weight:600;margin-bottom:10px}
.sol-card p{font-size:14.5px;color:var(--muted)}

/* ================= MEDIA BAND (light, logos only) ================= */
.media .brands{display:flex;justify-content:center;align-items:center;gap:54px;flex-wrap:wrap;margin-bottom:8px}
.media .brands .b{display:flex;align-items:center;justify-content:center;padding:0}
.media .brands .b .plogo{height:30px;width:auto;display:block}
.media .mstats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:840px;margin:0 auto}
.media .mstats .it{text-align:center;padding:24px;border:1px solid var(--dk-line);border-radius:var(--r);
  background:rgba(255,255,255,.03)}
.media .mstats .n{font-family:var(--ff-disp);font-size:34px;font-weight:700;color:#fff;letter-spacing:-.03em}
.media .mstats .l{font-size:13.5px;color:var(--dk-tx);margin-top:6px}

/* ================= WHY CARDS ================= */
.lead.nowrap-lead{max-width:none !important;white-space:nowrap}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1080px;margin:0 auto;text-align:left;position:relative}
.why-burst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:300px;pointer-events:none;z-index:0}
.why-card{display:flex;align-items:center;gap:30px;position:relative;overflow:hidden;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);
  border:1px solid rgba(255,255,255,.45);border-radius:var(--r-lg);
  box-shadow:0 26px 60px -30px rgba(24,80,180,.22),inset 0 1px 0 rgba(255,255,255,.55);
  padding:46px 48px;transition:.35s var(--ease)}
.why-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}
.why-card:hover{transform:translateY(-6px);box-shadow:0 36px 72px -28px rgba(24,80,180,.3);border-color:rgba(255,255,255,.7)}
.why-card>*{position:relative}
.why-card .wi{flex:none;width:92px;height:92px;display:grid;place-items:center}
.why-card .wi svg{width:92px;height:92px;overflow:visible}
.why-card .wc{min-width:0}
.why-card h3{font-size:25px;font-weight:700;margin-bottom:11px}
.why-card p{font-size:16.5px;color:var(--muted);line-height:1.6}
@media(max-width:760px){
  .nowrap-lead{white-space:normal}
  .why-grid{grid-template-columns:1fr}
  .why-card{padding:28px 26px;gap:20px}
  .why-card .wi{width:52px;height:52px}.why-card .wi svg{width:40px;height:40px}
}
/* why-card layered-shape icon animations (prominent) */
.why-card .wi svg{overflow:visible}
@media(prefers-reduced-motion:no-preference){
  /* every icon gently floats + back square drifts/rotates */
  .why-card.in .wi-ico{animation:wiFloat 3.6s ease-in-out infinite;transform-origin:center}
  .why-card.in .wi-ico .bk{animation:wiBack 5s ease-in-out infinite;transform-origin:36px 30px}
  .why-card:hover .wi-ico{animation-duration:1.6s}
  @keyframes wiFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}
  @keyframes wiBack{0%,100%{transform:rotate(6deg) translate(0,0)}50%{transform:rotate(-8deg) translate(3px,-2px)}}
  /* 01 target: rings pulse in/out */
  .why-card[data-anim="lock"].in .r2{transform-origin:33px 40px;animation:wiPulse 2.4s ease-in-out infinite}
  .why-card[data-anim="lock"].in .r3{transform-origin:33px 40px;animation:wiPulse 2.4s ease-in-out infinite .35s}
  @keyframes wiPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.55}}
  /* 02 data flywheel: return arrow bobs up into the stack */
  .why-card[data-anim="data"].in .arr{animation:wiArrUp 1.8s ease-in-out infinite}
  @keyframes wiArrUp{0%{transform:translateY(5px);opacity:.2}40%{opacity:1}100%{transform:translateY(-3px);opacity:0}}
  /* 03 closed loop: continuous spin */
  .why-card[data-anim="loop"].in .spin{transform-origin:33px 36px;animation:spin360 5s linear infinite}
  .why-card[data-anim="loop"]:hover .spin{animation-duration:1.8s}
  @keyframes spin360{to{transform:rotate(360deg)}}
  /* 04 transfer: front square + arrow migrate diagonally */
  .why-card[data-anim="shift"].in .fr,.why-card[data-anim="shift"].in .arr{animation:wiShift 2.4s ease-in-out infinite}
  @keyframes wiShift{0%,100%{transform:translate(0,0);opacity:1}45%{transform:translate(4px,4px);opacity:.6}}
}

/* ================= TESTIMONIALS ================= */
.quote{display:flex;flex-direction:column;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);border-radius:var(--r);box-shadow:var(--glass-shadow);
  padding:30px 28px;transition:.35s var(--ease)}
.quote:hover{box-shadow:0 32px 64px -28px rgba(24,80,180,.36);transform:translateY(-5px);border-color:rgba(255,255,255,.95)}
.quote .qm{font-family:var(--ff-disp);font-size:46px;line-height:.6;color:var(--blue-bright);opacity:.5;margin-bottom:6px}
.quote p{font-size:15.5px;color:var(--ink2);line-height:1.7;margin-bottom:24px;flex:1}
.quote .who{display:flex;align-items:center;gap:13px;padding-top:20px;border-top:1px solid var(--line)}
.quote .av-slot{width:52px;height:52px;flex:none;border-radius:50%;overflow:hidden;
  border:2px solid #fff;box-shadow:0 4px 12px -3px rgba(12,43,74,.25),inset 0 0 0 1px var(--line);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='21' r='8.5' fill='%23AFC8E8'/%3E%3Cpath d='M9 47c0-9.4 7.6-14.5 17-14.5S43 37.6 43 47z' fill='%23AFC8E8'/%3E%3C/svg%3E") center/cover no-repeat,
    linear-gradient(160deg,#EAF2FE,#D2E2F8);
  font-size:0}
.quote .av-slot::part(placeholder){font-size:0}
.quote .av{width:50px;height:50px;border-radius:50%;flex:none;display:grid;place-items:end center;overflow:hidden;
  background:linear-gradient(160deg,#EAF2FE,#D4E4FA);color:#9DBBDD;border:2px solid #fff;
  box-shadow:0 3px 10px -3px rgba(12,43,74,.2),inset 0 0 0 1px var(--line)}
.quote .av svg{width:40px;height:40px;margin-bottom:-3px}
.quote .av.auto{background:linear-gradient(160deg,#EAF2FE,#CFE0FA);color:var(--blue-bright)}
.quote .av.solar{background:linear-gradient(160deg,#E3F5FB,#C3E9F4);color:#1196C6}
.quote .av.agri{background:linear-gradient(160deg,#EDEEFD,#D8DBFB);color:var(--indigo)}
.quote .meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.quote .nm{font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}
.quote .ti{font-size:12.5px;color:var(--muted);font-weight:500}
.quote .q-cat{font-size:16px;font-weight:700;letter-spacing:.01em;margin:2px 0 14px;line-height:1.3}
.quote .q-cat.auto{color:var(--blue-bright)}
.quote .q-cat.solar{color:#1196C6}
.quote .q-cat.agri{color:var(--indigo)}

/* ================= FLAGSHIP ================= */
.flag-card{position:relative;overflow:hidden;border-radius:var(--r-lg);
  background:radial-gradient(700px 380px at 88% 10%,rgba(45,123,214,.30),transparent 60%),linear-gradient(150deg,var(--dk),var(--dk2));
  color:#fff;padding:56px 54px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.flag-card::after{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(rgba(110,140,173,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(110,140,173,.12) 1px,transparent 1px);
  background-size:50px 50px;-webkit-mask-image:radial-gradient(500px at 85% 0,#000,transparent 70%);mask-image:radial-gradient(500px at 85% 0,#000,transparent 70%)}
.flag-card>div{position:relative}
.flag-card .eyebrow{background:rgba(61,139,242,.16);color:#9FC6F4}
.flag-card h2{color:#fff;font-size:clamp(26px,3vw,36px);margin-bottom:18px}
.flag-card p{color:var(--dk-tx);font-size:16px;margin-bottom:26px}
.flag-metrics{display:grid;gap:18px}
.flag-metrics .fm{display:flex;align-items:baseline;gap:16px;padding:18px 22px;border:1px solid var(--dk-line);
  border-radius:14px;background:rgba(255,255,255,.04)}
.flag-metrics .fm .n{font-family:var(--ff-disp);font-size:34px;font-weight:700;color:#fff;min-width:118px;letter-spacing:-.03em}
.flag-metrics .fm .l{font-size:13.5px;color:var(--dk-tx)}

/* ================= DATA WALL (light glass) ================= */
.numbers{position:relative;overflow:hidden}
.numbers .grid-4{gap:22px}
.numbers .nb{text-align:center;padding:34px 22px;border-radius:var(--r);
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);box-shadow:var(--glass-shadow);transition:.35s var(--ease)}
.numbers .nb:hover{transform:translateY(-6px);box-shadow:0 34px 64px -28px rgba(24,80,180,.34)}
.numbers .n{font-family:var(--ff-disp);font-size:clamp(34px,3.6vw,46px);font-weight:700;letter-spacing:-.03em;
  background:linear-gradient(140deg,var(--blue-bright),var(--blue-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.numbers .n small{-webkit-text-fill-color:var(--blue)}
.numbers .nrow{display:flex;align-items:baseline;justify-content:center;gap:4px}
.numbers .arw{font-family:var(--ff-disp);font-weight:800;font-size:clamp(26px,2.7vw,34px);line-height:1}
.numbers .arw.down{color:#16A36B}
.numbers .arw.up{color:#16A36B}
.numbers .l{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.5}

/* ================= FLOW PIPELINE ================= */
.flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px 4px}
.fnode{display:flex;flex-direction:column;align-items:center;gap:11px;position:relative;
  padding:6px 4px 0;width:96px}
.fnode .fn{position:absolute;top:-2px;font-family:var(--ff-disp);font-size:11px;font-weight:600;
  color:var(--muted2);letter-spacing:.04em}
.fnode .fdot{width:56px;height:56px;border-radius:18px;color:var(--blue);
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);display:grid;place-items:center;box-shadow:var(--glass-shadow);
  transition:.3s var(--ease);margin-top:14px;position:relative;z-index:2}
.fnode .fdot::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:.3s;
  box-shadow:0 0 0 4px rgba(46,107,240,.12)}
.fnode .fdot svg{width:24px;height:24px}
.fnode:hover .fdot{transform:translateY(-4px);border-color:var(--blue-bright);color:var(--blue-bright);box-shadow:var(--shadow)}
.fnode:hover .fdot::before{opacity:1}
.fnode .fl{font-size:13.5px;font-weight:600;color:var(--ink2);white-space:nowrap}
.fnode.last .fdot{background:linear-gradient(150deg,var(--blue-bright),var(--blue-deep));color:#fff;border-color:transparent;
  box-shadow:0 12px 26px -10px rgba(27,92,219,.6)}
.fconn{flex:0 0 30px;height:2px;margin-top:42px;border-radius:2px;
  background-image:linear-gradient(90deg,var(--blue-bright) 0 7px,transparent 7px 14px);
  background-size:14px 2px;background-repeat:repeat-x;
  animation:flowMove 1s linear infinite;opacity:.7}
@keyframes flowMove{to{background-position:14px 0}}
@media(prefers-reduced-motion:reduce){.fconn{animation:none}}

/* ================= PRODUCT MODULE TABS ================= */
.prod-modules{display:grid;grid-template-columns:312px 1fr;gap:32px;align-items:start}
.mod-list{display:flex;flex-direction:column;gap:9px;position:sticky;top:96px}
.mod-tab{display:flex;align-items:center;gap:14px;text-align:left;
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);box-shadow:var(--shadow-sm);
  color:var(--ink2);padding:17px 18px;border-radius:15px;cursor:pointer;transition:.25s var(--ease);
  font-size:15px;font-weight:600;font-family:var(--ff)}
.mod-tab .num{font-family:var(--ff-disp);font-size:13px;color:var(--muted2);font-weight:600;
  width:30px;height:30px;border-radius:8px;background:var(--bg-tint);display:grid;place-items:center;flex:none;transition:.25s}
.mod-tab:hover{border-color:var(--blue-bright);transform:translateX(3px)}
.mod-tab.active{background:linear-gradient(135deg,var(--blue-bright),var(--blue));border-color:transparent;color:#fff;box-shadow:0 16px 32px -14px rgba(27,92,219,.7)}
.mod-tab.active .num{background:rgba(255,255,255,.18);color:#fff}
.mod-panel{display:none}
.mod-panel.active{display:grid;grid-template-columns:1fr;gap:26px;animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mod-info h3{font-size:25px;font-weight:600;margin-bottom:12px}
.mod-info>p{color:var(--muted);font-size:16.5px;margin-bottom:20px;max-width:620px;text-wrap:pretty}
.mod-info ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px}
.mod-info li{padding-left:26px;position:relative;font-size:14.5px;font-weight:500;color:var(--ink2)}
.mod-info li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;
  background:var(--blue-light)}
.mod-info li::after{content:"";position:absolute;left:5px;top:9px;width:5px;height:8px;
  border:solid var(--blue);border-width:0 2px 2px 0;transform:rotate(40deg)}

/* ================= SOLUTIONS TABS (sliding thumb) ================= */
.sol-tabs{position:relative;display:inline-flex;gap:6px;padding:7px;background:var(--glass);border:1px solid var(--glass-brd);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border-radius:30px;margin-bottom:46px;box-shadow:var(--glass-shadow)}
.sol-thumb{position:absolute;top:7px;left:0;height:calc(100% - 14px);border-radius:24px;
  background:linear-gradient(135deg,var(--blue-bright),var(--blue));box-shadow:0 12px 26px -10px rgba(27,92,219,.7);
  transform:translateX(0);width:0;transition:transform .42s var(--ease),width .42s var(--ease);z-index:0;pointer-events:none}
.sol-tab{position:relative;z-index:1;display:flex;align-items:center;gap:9px;padding:12px 24px;border-radius:24px;border:none;
  background:transparent;cursor:pointer;font-size:15px;font-weight:600;color:var(--muted);transition:color .3s var(--ease);
  font-family:var(--ff)}
.sol-tab:hover{color:var(--blue)}
.sol-tab.active{color:#fff}
.sol-panel{display:none;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;text-align:left}
.sol-panel.active{display:grid;animation:fadeUp .5s var(--ease)}
.sol-panel h3{font-size:28px;font-weight:700;margin-bottom:16px}
.sol-panel .pain{display:flex;gap:10px;font-size:15px;color:var(--muted);margin-bottom:22px;
  padding:14px 18px;background:var(--bg-tint);border-radius:12px;border-left:3px solid var(--blue-bright)}
.sol-panel ul{list-style:none;display:grid;gap:13px;margin-bottom:28px}
.sol-panel li{padding-left:30px;position:relative;font-size:15.5px;color:var(--ink2)}
.sol-panel li::before{content:"";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--blue-light)}
.sol-panel li::after{content:"";position:absolute;left:6px;top:9px;width:5px;height:9px;border:solid var(--blue);border-width:0 2px 2px 0;transform:rotate(40deg)}

/* ================= ABOUT ================= */
.vv{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vv .box{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:38px 34px;
  background:var(--glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-brd);box-shadow:var(--glass-shadow);transition:.35s var(--ease)}
.vv .box::before{content:"";position:absolute;top:-40%;right:-20%;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,107,240,.22),transparent 70%);pointer-events:none}
.vv .box:hover{transform:translateY(-5px);box-shadow:0 32px 64px -28px rgba(20,60,140,.4)}
.vv .box .vbadge{position:relative;display:inline-block;font-family:var(--ff-disp);font-size:12px;font-weight:600;
  letter-spacing:.06em;color:var(--blue);background:rgba(46,107,240,.1);padding:6px 14px;border-radius:30px;margin-bottom:22px}
.vv .box .vi{position:relative;width:60px;height:60px;border-radius:18px;margin-bottom:22px;display:grid;place-items:center;
  color:var(--blue);background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(234,243,253,.5));
  border:1px solid var(--glass-brd);box-shadow:0 10px 24px -10px rgba(46,107,240,.45),inset 0 1px 0 rgba(255,255,255,.8)}
.vv .box .vi svg{width:28px;height:28px}
.vv .box .vstmt{position:relative;font-family:var(--ff-disp);font-size:23px;font-weight:600;line-height:1.45;
  color:var(--ink);margin-bottom:14px;letter-spacing:-.01em}
.vv .box .vstmt em{font-style:normal;color:var(--blue);
  background:linear-gradient(120deg,var(--blue-bright),var(--blue-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vv .box .vdesc{position:relative;font-size:15px;color:var(--muted);line-height:1.7}
/* vision & values — directional converging entrance + icon pop */
@media(prefers-reduced-motion:no-preference){
  .vv .box.reveal{opacity:0}
  .vv .box.reveal:first-child{transform:translate(-34px,16px) scale(.97)}
  .vv .box.reveal:last-child{transform:translate(34px,16px) scale(.97)}
  .vv .box.reveal.in{opacity:1;transform:none}
  .vv .box .vi,.vv .box .vbadge{opacity:0}
  .vv .box.in .vbadge{animation:vvUp .55s var(--ease) both .18s}
  .vv .box.in .vi{animation:vvPop .7s var(--ease) both .28s}
  @keyframes vvPop{0%{opacity:0;transform:scale(.4) rotate(-16deg)}60%{transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:none}}
  @keyframes vvUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}
.global-row{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:14px}
.region{padding:26px 16px;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);border-radius:16px;text-align:center;transition:.35s var(--ease);box-shadow:var(--shadow-sm)}
.region:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--blue-bright)}
.region .rn{font-family:var(--ff-disp);font-size:22px;font-weight:700;color:var(--blue)}
.region .rl{font-size:14px;color:var(--ink2);margin-top:4px;font-weight:500}
.region .re{font-size:12px;color:var(--muted2);margin-top:2px}
.statbig{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:680px;margin:36px auto 0}
.statbig .sb{text-align:center;padding:32px;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);box-shadow:var(--glass-shadow);border-radius:var(--r)}
.statbig .sb .n{font-family:var(--ff-disp);font-size:46px;font-weight:700;color:var(--blue);letter-spacing:-.03em}
.statbig .sb .l{font-size:15px;color:var(--muted);margin-top:6px}

/* ================= CONTACT ================= */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.contact-aside h2{font-size:28px;margin-bottom:16px}
.contact-aside .lead{font-size:16px;margin-bottom:32px}
.contact-meta{display:grid;gap:14px}
.contact-meta .cm{display:flex;gap:14px;align-items:center;padding:18px 20px;background:var(--glass);
  backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-brd);
  box-shadow:var(--shadow-sm);border-radius:15px;transition:.3s var(--ease)}
.contact-meta .cm:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.contact-meta .cm .ci{width:44px;height:44px;border-radius:13px;color:var(--blue);
  background:linear-gradient(150deg,rgba(255,255,255,.95),rgba(234,242,254,.45));
  border:1px solid var(--glass-brd);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);display:grid;place-items:center;flex:none}
.contact-meta .cm .ci svg{width:20px;height:20px}
.contact-meta .cm .ck{font-size:12.5px;color:var(--muted)}
.contact-meta .cm .cv{font-size:15px;font-weight:600;color:var(--ink)}
.cform{background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--glass-brd);border-radius:var(--r-lg);padding:38px;box-shadow:var(--glass-shadow)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.cform label.fl{display:block;font-size:13px;color:var(--ink2);font-weight:600;margin-bottom:7px}
.cform input,.cform textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  font-size:15px;font-family:inherit;color:var(--ink);background:var(--bg-tint);transition:.2s}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--blue-bright);background:#fff;
  box-shadow:0 0 0 4px rgba(46,123,214,.12)}
.cform .full{margin-bottom:18px}
.cform .checks{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:8px 0 20px}
.cform .checks label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink2);cursor:pointer;
  padding:11px 14px;border:1px solid var(--line);border-radius:10px;transition:.2s}
.cform .checks label:hover{border-color:var(--blue-bright);background:var(--blue-light)}
.cform .checks input{width:17px;height:17px;accent-color:var(--blue)}
.cform .agree{font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:9px;margin-bottom:22px}
.cform .agree input{width:17px;height:17px;accent-color:var(--blue)}

/* ================= CTA ================= */
.cta{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--blue-deep),var(--blue) 55%,var(--blue-bright));
  text-align:center;color:#fff}
.cta::before{content:"";position:absolute;inset:0;opacity:.32;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.5) 1px,transparent 0);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(800px 380px at 50% -20%,#000,transparent);mask-image:radial-gradient(800px 380px at 50% -20%,#000,transparent)}
.cta .wrap{position:relative;z-index:1}
.cta h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px;color:#fff}
.cta p{font-size:18px;color:#DCEAF8;margin-bottom:34px;max-width:560px;margin-left:auto;margin-right:auto}
.cta .btn-primary{background:#fff;color:var(--blue)}
.cta .btn-primary:hover{background:var(--blue-light);color:var(--blue-deep)}

/* ================= FOOTER ================= */
footer{background:var(--nav-dk);color:#90A8C2;padding:72px 0 30px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;margin-bottom:48px}
footer h4{color:#fff;font-size:14px;margin-bottom:18px;font-weight:600;letter-spacing:.02em}
footer .col a{display:block;color:#90A8C2;margin-bottom:11px;cursor:pointer;transition:.2s;width:fit-content}
footer .col a:hover{color:#fff}
footer .flogo{display:flex;align-items:center;gap:11px;font-family:var(--ff-disp);font-size:21px;font-weight:700;
  color:#fff;margin-bottom:16px}
footer .flogo .mk{width:165px;max-width:100%;height:auto;border-radius:0;background:none;
  object-fit:contain;display:block}
footer .fdesc{max-width:300px;color:#7E97B3;line-height:1.7;margin-bottom:18px}
.foot-bottom{border-top:1px solid #14304E;padding-top:24px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;color:#62809E;font-size:13px}
.foot-bottom a{color:#62809E}.foot-bottom a:hover{color:#fff}

/* ================= RESPONSIVE ================= */
@media(max-width:980px){
  .menu,.nav-login,.nav-right .btn{display:none}
  .menu-toggle{display:block}
  .hero-center{padding:48px 0 56px}
  .globe-stage{max-width:440px}
  .globe-tag{display:none}
  .grid-3,.grid-4,.vv,.statbig,.cform .row,.cform .checks{grid-template-columns:1fr}
  .prod-modules{grid-template-columns:1fr}
  .mod-list{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px}
  .mod-tab{flex:none;min-width:210px}
  .sol-panel.active,.flag-card,.contact-grid{grid-template-columns:1fr}
  .flag-card{padding:40px 30px}
  .global-row{grid-template-columns:repeat(3,1fr)}
  .numbers .grid-4{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .section{padding:72px 0}
}
@media(max-width:560px){
  nav{gap:16px}
  .logo .mk{width:115px}
  .wrap{padding:0 20px}
  .hero-stats .s{min-width:100%}
  .global-row,.numbers .grid-4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
