@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@500;600;700;800&display=swap');

/* Vellunox universal public shell — scoped to injected header/footer only. */
:root{
  --vx-shell:min(1420px,calc(100% - 64px));
  --vx-navy:#020916;
  --vx-panel:#06172f;
  --vx-panel-2:#081f42;
  --vx-line:rgba(93,151,235,.24);
  --vx-text:#f4f8ff;
  --vx-muted:#a7b6ca;
  --vx-blue:#176bff;
  --vx-blue-2:#48b9ff;
  --vx-gold:#e4bd66;
}
body.vx-shell-page{min-height:100vh;background-color:var(--vx-navy);color:var(--vx-text)}
.vx-shell-page .vx-shell{width:var(--vx-shell);margin-inline:auto}
.vx-shell-page .vx-legacy-page-top{display:none!important}

.vx-announcement{position:relative;z-index:1200;border-bottom:1px solid rgba(91,155,255,.27);background:linear-gradient(90deg,#12398f,#102f78 55%,#071f58);color:#eef5ff;font-family:Inter,system-ui,sans-serif}
.vx-announcement-inner{min-height:42px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:.79rem;font-weight:650;text-align:center}
.vx-announcement-mark{color:#68bfff;font-size:.7rem}
.vx-announcement button{border:0;padding:0 0 0 16px;background:transparent;color:#fff;font:800 .76rem Inter,system-ui,sans-serif;cursor:pointer}

.vx-site-header{position:sticky;top:0;z-index:1190;border-bottom:1px solid rgba(103,152,220,.18);background:rgba(2,8,22,.96);backdrop-filter:blur(22px);font-family:Inter,system-ui,sans-serif}
.vx-header-inner{min-height:88px;display:flex;align-items:center;gap:34px}
.vx-brand{display:inline-flex;align-items:center;gap:14px;flex:0 0 auto;color:#fff;text-decoration:none}
.vx-brand img{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(34,124,255,.3))}
.vx-brand-copy{display:grid;line-height:1}
.vx-brand strong{font:800 1.72rem Sora,Inter,sans-serif;letter-spacing:.09em;background:linear-gradient(180deg,#fff,#a8bad3);-webkit-background-clip:text;background-clip:text;color:transparent}
.vx-brand small{margin-top:7px;color:#b9c6d9;font:700 .59rem Sora,Inter,sans-serif;letter-spacing:.22em}
.vx-desktop-nav{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:clamp(18px,1.8vw,30px)}
.vx-desktop-nav a{position:relative;padding:35px 0 31px;color:#d9e3f2;text-decoration:none;font:650 .82rem Sora,Inter,sans-serif;white-space:nowrap}
.vx-desktop-nav a::after{content:"";position:absolute;right:50%;bottom:23px;left:50%;height:2px;background:var(--vx-blue-2);box-shadow:0 0 12px var(--vx-blue);transition:.2s}
.vx-desktop-nav a:hover::after,.vx-desktop-nav a:focus-visible::after,.vx-desktop-nav a[aria-current="page"]::after{right:0;left:0}
.vx-header-actions{display:flex;align-items:center;gap:11px}
.vx-button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:10px 16px;color:#fff;font:800 .78rem Sora,Inter,sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.vx-button:hover{transform:translateY(-2px)}
.vx-button-primary{background:linear-gradient(135deg,#176bff,#1649e8);box-shadow:0 12px 32px rgba(18,92,255,.32)}
.vx-button-quiet{border-color:rgba(75,137,244,.55);background:rgba(3,14,33,.62)}
.vx-button-quiet:hover{border-color:#4b93ff;background:rgba(20,67,135,.28)}
.vx-menu-button{display:none;margin-left:auto;width:46px;height:46px;place-content:center;gap:5px;border:1px solid var(--vx-line);border-radius:11px;background:#07182f;cursor:pointer}
.vx-menu-button span{display:block;width:21px;height:2px;border-radius:999px;background:#fff;transition:.2s}
.vx-menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vx-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
.vx-menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.vx-mobile-nav{display:none}

.vx-site-footer{position:relative;z-index:2;padding:64px 0 24px;border-top:1px solid rgba(77,130,202,.22);background:#01050e;color:var(--vx-muted);font-family:Inter,system-ui,sans-serif}
.vx-footer-grid{display:grid;grid-template-columns:minmax(310px,1.45fr) repeat(3,minmax(150px,.55fr));gap:44px;padding-bottom:42px}
.vx-footer-brand .vx-brand{margin-bottom:18px}
.vx-footer-brand .vx-brand img{width:58px;height:58px}
.vx-footer-brand .vx-brand strong{font-size:1.42rem}
.vx-footer-brand p{max-width:470px;margin:0;color:#9eacc0;font-size:.84rem;line-height:1.72}
.vx-footer-grid>div:not(.vx-footer-brand){display:grid;align-content:start;gap:10px}
.vx-footer-grid h2{margin:0 0 8px;color:#fff;font:750 .84rem Sora,Inter,sans-serif}
.vx-footer-grid a,.vx-footer-grid button{border:0;padding:0;background:transparent;color:#8e9db3;font:500 .79rem Inter,system-ui,sans-serif;text-align:left;text-decoration:none;cursor:pointer}
.vx-footer-grid a:hover,.vx-footer-grid button:hover{color:#fff}
.vx-footer-note{margin-top:16px;padding:14px 16px;border-left:3px solid var(--vx-gold);background:rgba(255,255,255,.035);color:#9dadc2;font-size:.76rem;line-height:1.6}
.vx-copyright{padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#65748b;font-size:.71rem;line-height:1.6}

.vx-button:focus-visible,.vx-site-header a:focus-visible,.vx-site-footer a:focus-visible,.vx-site-footer button:focus-visible,.vx-menu-button:focus-visible,.vx-announcement button:focus-visible{outline:3px solid rgba(74,158,255,.55);outline-offset:3px}

@media(max-width:1180px){
  :root{--vx-shell:min(1100px,calc(100% - 40px))}
  .vx-header-inner{gap:22px}
  .vx-brand strong{font-size:1.45rem}
  .vx-brand img{width:60px;height:60px}
  .vx-desktop-nav{gap:17px}
  .vx-desktop-nav a{font-size:.75rem}
  .vx-header-actions .vx-button-quiet{display:none}
}
@media(max-width:940px){
  :root{--vx-shell:min(900px,calc(100% - 30px))}
  .vx-desktop-nav,.vx-header-actions{display:none}
  .vx-menu-button{display:grid}
  .vx-mobile-nav{position:fixed;top:calc(42px + 88px);right:0;bottom:0;left:0;z-index:1185;align-content:start;padding:22px 26px 40px;background:rgba(2,8,22,.995);transform:translateY(-120%);opacity:0;pointer-events:none;transition:.24s}
  .vx-mobile-nav.is-open{display:grid;transform:none;opacity:1;pointer-events:auto}
  .vx-mobile-nav a,.vx-mobile-nav button{border:0;border-bottom:1px solid var(--vx-line);padding:16px 2px;background:transparent;color:#fff;font:750 .9rem Sora,Inter,sans-serif;text-align:left;text-decoration:none;cursor:pointer}
  .vx-footer-grid{grid-template-columns:1.3fr 1fr 1fr}
  .vx-footer-brand{grid-column:1/-1}
}
@media(max-width:680px){
  :root{--vx-shell:min(100%,calc(100% - 24px))}
  .vx-announcement-inner{min-height:48px;justify-content:space-between;font-size:.67rem;text-align:left}
  .vx-announcement-mark{display:none}
  .vx-announcement-copy{max-width:76%}
  .vx-announcement button{padding-left:0;font-size:.67rem;white-space:nowrap}
  .vx-header-inner{min-height:76px}
  .vx-brand img{width:52px;height:52px}
  .vx-brand strong{font-size:1.18rem}
  .vx-brand small{font-size:.49rem}
  .vx-mobile-nav{top:124px}
  .vx-footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px}
  .vx-footer-brand{grid-column:1/-1}
}
@media(max-width:430px){
  .vx-footer-grid{grid-template-columns:1fr}
  .vx-footer-brand{grid-column:auto}
}
