/* ===== Wexohub shared design system ===== */
:root{
  --bg:#080912; --bg-2:#0d0f1c; --surf:#13162a; --surf-2:#171b32;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --ink:#f3f4fb; --dim:#9aa0bd; --dim-soft:#727899;
  --acc:#5b6cf5; --acc-2:#8b6cff; --acc-3:#3f51e8;
  --acc-soft:rgba(91,108,245,.16);
  --green:#3fd17a; --amber:#ffb05a; --pink:#ff6eaa; --cyan:#5ad2eb;
  --maxw:1180px;
  --disp:'Space Grotesk',system-ui,sans-serif;
  --body:'Plus Jakarta Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4,h5{margin:0;font-family:var(--disp);font-weight:700;letter-spacing:-.03em;line-height:1.02;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 26px;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--body);font-weight:700;cursor:pointer;border:none;border-radius:14px;white-space:nowrap;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s;font-size:15px;padding:13px 22px;color:#fff;}
.btn svg{width:18px;height:18px;}
.btn-pri{background:var(--acc);box-shadow:0 8px 24px -6px rgba(91,108,245,.6);}
.btn-pri:hover{transform:translateY(-2px);box-shadow:0 14px 34px -6px rgba(91,108,245,.75);background:#6776f7;}
.btn-pri:active{transform:translateY(0);}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid var(--line-2);color:var(--ink);}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
.btn-light{background:#fff;color:#11131f;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);}
.btn-light:hover{transform:translateY(-2px);background:#eef;}
.btn-sm{padding:10px 16px;font-size:14px;border-radius:12px;}
.btn-lg{padding:16px 28px;font-size:16.5px;}

/* nav */
.nav{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px);background:rgba(8,9,18,.72);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;gap:18px;height:72px;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:-.04em;}
.brand .logo{position:relative;width:40px;height:40px;overflow:visible;flex:0 0 auto;}
.brand .logo .peek{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);width:43px;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.32));}
.brand .logo .mark{position:absolute;inset:0;margin:auto;width:100%;height:100%;z-index:3;pointer-events:none;}
.nav-links{display:flex;gap:6px;margin-left:18px;}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--dim);padding:9px 14px;border-radius:10px;transition:color .15s,background .15s;}
.nav-links a:hover{color:var(--ink);background:rgba(255,255,255,.05);}
.nav-links a.on{color:#fff;background:rgba(91,108,245,.18);}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:11px;}
.lang{display:inline-flex;background:rgba(255,255,255,.05);border:1px solid var(--line-2);border-radius:12px;padding:3px;font-weight:700;font-size:13px;}
.lang button{appearance:none;border:none;background:none;color:var(--dim);font-family:var(--body);font-weight:700;cursor:pointer;padding:7px 12px;border-radius:9px;transition:color .15s,background .15s;}
.lang button.on{background:var(--acc);color:#fff;}
.lang button:not(.on):hover{color:var(--ink);}

/* section primitives */
.sec{position:relative;padding:clamp(56px,7vw,104px) 0;}
.kick{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-2);margin-bottom:16px;}
.sec h2{font-size:clamp(30px,4.4vw,54px);letter-spacing:-.04em;line-height:1.02;}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0;pointer-events:none;}

/* page hero (centered) */
.phero{position:relative;overflow:hidden;text-align:center;padding:clamp(46px,6vw,86px) 0 clamp(30px,4vw,50px);}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 440px at 50% -8%,rgba(91,108,245,.22),transparent 62%);z-index:0;}
.phero>.wrap{position:relative;z-index:2;}
.tag{position:relative;display:inline-flex;align-items:center;gap:11px;font-size:13px;font-weight:600;padding:6px 16px 6px 6px;border-radius:999px;margin-bottom:24px;color:var(--dim);white-space:nowrap;background:rgba(255,255,255,.035);border:1px solid var(--line-2);}
.tag .bchip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#c5cbef;background:rgba(91,108,245,.16);padding:5px 10px;border-radius:999px;}
.tag .dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--green);flex:0 0 auto;}
.tag .dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--green);opacity:.5;animation:tagpulse 2.4s ease-out infinite;}
@keyframes tagpulse{0%{transform:scale(.7);opacity:.6}100%{transform:scale(2);opacity:0}}
.tag b{color:var(--ink);font-weight:700;}
.tag .sep{color:var(--dim-soft);}
.phero h1{font-size:clamp(40px,6vw,78px);letter-spacing:-.045em;line-height:.98;}
.phero h1 .hl{background:linear-gradient(120deg,var(--acc),var(--acc-2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.phero .lead{font-size:clamp(16px,1.5vw,19px);color:var(--dim);max-width:52ch;margin:24px auto 30px;font-weight:500;}
.phero .cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px;}
.phero .meta{margin-top:18px;font-size:13.5px;color:var(--dim-soft);font-weight:600;}

/* footer */
.foot{border-top:1px solid var(--line);padding:60px 0 40px;}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;}
.foot .brand{font-size:20px;margin-bottom:14px;}
.foot p{color:var(--dim);font-size:14px;max-width:30ch;font-weight:500;}
.fcol h5{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;color:var(--dim-soft);font-family:var(--body);font-weight:700;}
.fcol a{display:block;color:var(--dim);font-size:14.5px;padding:5px 0;font-weight:600;transition:color .15s;}
.fcol a:hover{color:var(--ink);}
.foot-bot{border-top:1px solid var(--line);margin-top:46px;padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--dim-soft);font-size:13px;font-weight:600;}

/* reveal */
.js .reveal{opacity:0;}
.js .reveal.in{animation:revealIn .7s cubic-bezier(.2,.7,.2,1) forwards;}
.js .reveal.shown{opacity:1!important;transform:none!important;animation:none!important;}
@keyframes revealIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

/* lang visibility */
[data-lang="ru"] .en{display:none;}
[data-lang="en"] .ru{display:none;}

/* shared cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.card{position:relative;background:linear-gradient(180deg,var(--surf),var(--bg-2));border:1px solid var(--line);border-radius:20px;padding:28px;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s;}
.card:hover{transform:translateY(-6px);border-color:var(--line-2);}
.card::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 200px at 80% -10%,var(--acc-soft),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none;}
.card:hover::after{opacity:1;}
.card .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin-bottom:20px;border:1px solid var(--line-2);}
.card .ic svg{width:25px;height:25px;}
.card h3{font-size:20px;margin-bottom:9px;letter-spacing:-.02em;}
.card p{color:var(--dim);font-size:14.5px;margin:0;font-weight:500;}
.i-blue{background:linear-gradient(150deg,rgba(91,108,245,.32),rgba(91,108,245,.08));color:#aab3ff;}
.i-violet{background:linear-gradient(150deg,rgba(139,108,255,.32),rgba(139,108,255,.08));color:#c4b1ff;}
.i-green{background:linear-gradient(150deg,rgba(63,209,122,.3),rgba(63,209,122,.07));color:#84edb0;}
.i-amber{background:linear-gradient(150deg,rgba(255,176,90,.3),rgba(255,176,90,.07));color:#ffd09a;}
.i-pink{background:linear-gradient(150deg,rgba(255,110,170,.3),rgba(255,110,170,.07));color:#ffaccd;}
.i-cyan{background:linear-gradient(150deg,rgba(90,210,235,.3),rgba(90,210,235,.07));color:#a5e8f5;}

/* shared CTA band */
.band{position:relative;border-radius:30px;background:linear-gradient(135deg,var(--acc-3),var(--acc-2));padding:clamp(40px,5vw,72px);overflow:hidden;display:grid;grid-template-columns:1.5fr .5fr;gap:24px;align-items:center;box-shadow:0 40px 100px -30px rgba(91,108,245,.55);}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 88% 20%,rgba(255,255,255,.18),transparent 60%);}
.band h2{font-size:clamp(28px,4vw,50px);color:#fff;position:relative;}
.band p{color:rgba(255,255,255,.9);margin:16px 0 28px;font-size:18px;max-width:42ch;font-weight:500;position:relative;}
.band .cta{position:relative;display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.band-art{position:relative;display:grid;place-items:center;}
.band-art .pic{width:170px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4));animation:floaty 6s ease-in-out infinite;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

@media(max-width:900px){
  .nav-links{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .cards{grid-template-columns:1fr;}
  .band{grid-template-columns:1fr;}
  .band-art{display:none;}
}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1!important;}.js .reveal.in{animation:none!important;}*{animation:none!important;}}
