/* Plus Jakarta Sans — self-hosted (SIL Open Font License 1.1).
   Variable font, weights 200-800, split into unicode-range subsets so
   browsers download only what the page needs. */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('fonts/7974bda3-e186-4450-8929-95634007158b.woff2') format('woff2');
  unicode-range: U+D,U+20-7E,U+A0-AC,U+AE-FF,U+102,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303-304,U+308-309,U+323,U+2002,U+2009,U+200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('fonts/cf267d45-4460-4a3f-a41c-de6b5dd63056.woff2') format('woff2');
  unicode-range: U+100-130,U+132-148,U+14A-151,U+154-17E,U+18F,U+192,U+1C4-1CC,U+1E6-1E7,U+1EA-1EB,U+1FA-21B,U+22A-22D,U+230-233,U+237,U+259,U+2C7,U+2DD,U+1E08-1E09,U+1E0C-1E0F,U+1E14-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E37,U+1E3A-1E3B,U+1E42-1E49,U+1E4C-1E53,U+1E5A-1E5B,U+1E5E-1E69,U+1E6C-1E6F,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EF2-1EF9,U+2020,U+20A1,U+20A3-20A4,U+20A6-20AB,U+20AD-20AE,U+20B1-20B5,U+20B8-20BA,U+20BC-20BF,U+2113;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('fonts/51edb2d8-cd67-4f6a-bae1-b58f0f3cb841.woff2') format('woff2');
  unicode-range: U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('fonts/d2df2fb6-508b-4d6e-ae8f-f57ed90964d6.woff2') format('woff2');
  unicode-range: U+20B4;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: 'Plus Jakarta Sans', sans-serif; overflow-x: hidden; }
    html { scroll-behavior: smooth; }
    @keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
    @keyframes heroFloat { 0%,100% { transform:translateY(0px); } 50% { transform:translateY(-10px); } }
    @keyframes orbDrift { 0%,100% { opacity:0.22; transform:scale(1) translate(0,0); } 50% { opacity:0.38; transform:scale(1.07) translate(12px,-8px); } }
    @keyframes flare-sweep { 0%{left:-60%;opacity:0} 15%{opacity:0.75} 85%{opacity:0.4} 100%{left:130%;opacity:0} }
    .hero-logo-wrap:hover .hero-logo-flare { animation: flare-sweep 0.7s ease forwards; }
    @keyframes blink { 0%,100% { opacity:1; } 50% { opacity:0.3; } }
    .js-anim .reveal { opacity:0; transform:translateY(30px); transition:opacity 0.65s cubic-bezier(0.22,1,0.36,1),transform 0.65s cubic-bezier(0.22,1,0.36,1); }
    .js-anim .reveal.visible { opacity:1; transform:translateY(0); }
    .js-anim .reveal-fade { opacity:0; transition:opacity 0.7s ease; }
    .js-anim .reveal-fade.visible { opacity:1; }
    .gt { background:linear-gradient(135deg,#5badff 0%,#b06af7 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .gtd { background:linear-gradient(135deg,#007bff 0%,#6a0dad 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    #vx-nav { transition:background 0.35s,box-shadow 0.35s; }
    #vx-nav.scrolled { background:rgba(3,9,26,0.97) !important; box-shadow:0 1px 0 rgba(255,255,255,0.07); }
    .nav-lk { color:rgba(255,255,255,0.65); text-decoration:none; font-weight:500; font-size:15px; transition:color 0.2s; }
    .nav-lk:hover { color:#fff; }
    .vx-input,.vx-ta { width:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:10px; padding:13px 16px; color:white; font-family:'Plus Jakarta Sans',sans-serif; font-size:15px; outline:none; transition:border-color 0.2s,box-shadow 0.2s; display:block; }
    .vx-input:focus,.vx-ta:focus { border-color:rgba(0,123,255,0.55); box-shadow:0 0 0 3px rgba(0,123,255,0.1); }
    .vx-input::placeholder,.vx-ta::placeholder { color:rgba(255,255,255,0.22); }
    .vx-ta { resize:vertical; }
    .ft-lk { color:#475569; text-decoration:none; font-size:14px; transition:color 0.2s; }
    .ft-lk:hover { color:#080e2a; }
    ::-webkit-scrollbar { width:5px; }
    ::-webkit-scrollbar-track { background:#030916; }
    ::-webkit-scrollbar-thumb { background:linear-gradient(#007bff,#6a0dad); border-radius:3px; }
    @media (max-width:900px) { .dk { display:none !important; } }
    @media (min-width:901px) { .mb { display:none !important; } }

    /* Mobile/tablet: keep brand visible even at top of hero. */
    @media (max-width:900px) {
      #vx-nav { padding: 0 18px !important; }
      #vx-nav-logo { opacity: 1 !important; transform: none !important; pointer-events: auto !important; }
    }

    /* Keep hero card on the right on desktop (avoid wrapping). */
    @media (min-width:980px) { #vx-hero-inner { flex-wrap:nowrap !important; } }
