/* VRUTAL LABS — shared design system (Brand Book v1.0).
   Same tokens/values as the original mockups — do not re-invent. */
:root{
  --vl-black:#0B0C0F; --vl-surface:#0E0F13; --vl-card:#12141A; --vl-line:#1C1F26;
  --vl-border:#23262D; --vl-violet:#6C4CFF; --vl-violet-dark:#5B3DE8; --vl-lime:#C6FF3D;
  --vl-white:#F7F7F5; --vl-text:#B8BCC4; --vl-muted:#8A8F98; --vl-faint:#4A4E56;
  --vl-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --vl-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --vl-max:1180px; --vl-pad:clamp(20px,5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vl-black);color:var(--vl-white);font-family:var(--vl-sans);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--vl-max);margin:0 auto;padding-left:var(--vl-pad);padding-right:var(--vl-pad)}
.kicker{font-family:var(--vl-mono);font-size:11px;color:var(--vl-violet);letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.12;font-weight:800}
h1{font-size:clamp(32px,5.4vw,58px)}
h2{font-size:clamp(24px,3.4vw,36px);letter-spacing:-.01em;line-height:1.24}
p{margin:0;line-height:1.68;color:var(--vl-text)}
.muted{color:var(--vl-muted)}
.small{font-size:13px}
.src{font-family:var(--vl-mono);font-size:10px;color:var(--vl-faint);letter-spacing:.08em;text-transform:uppercase}
a{color:var(--vl-violet)}
section{padding:clamp(56px,8vw,104px) 0}
.alt{background:var(--vl-surface);border-top:1px solid rgba(255,255,255,.06)}
.accent{background:var(--vl-violet)}
.accent h2,.accent h1,.accent p{color:#fff}
/* NAV */
.nav{position:sticky;top:0;z-index:100;background:rgba(11,12,15,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.07)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:15px var(--vl-pad);
  max-width:var(--vl-max);margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo span{font-family:var(--vl-mono);font-weight:800;font-size:13px;color:var(--vl-white);letter-spacing:.06em}
.menu{display:flex;align-items:center;gap:24px;font-size:13px}
.menu a{color:var(--vl-muted);text-decoration:none;transition:color .2s}
.menu a:hover,.menu a.on{color:var(--vl-white)}
.menu>a.on{border-bottom:1.5px solid var(--vl-violet);padding-bottom:3px}
.btn{background:var(--vl-violet);color:#fff;padding:9px 16px;border-radius:6px;font-weight:700;
  font-size:12.5px;text-decoration:none;display:inline-block;transition:background .2s;border:none;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--vl-violet-dark)}
.btn-lg{padding:15px 32px;font-size:14px}
.btn-dark{background:var(--vl-black)}
.link{color:var(--vl-muted);font-size:13px;text-decoration:none;border-bottom:1px solid #333;padding-bottom:2px}
/* LANGUAGE SELECTOR */
.langsel{position:relative}
.langsel summary{list-style:none;cursor:pointer;font-family:var(--vl-mono);color:var(--vl-violet);
  font-size:12px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:5px;user-select:none}
.langsel summary::-webkit-details-marker{display:none}
.langsel summary::after{content:"\25BE";font-size:9px;opacity:.8}
.langmenu{position:absolute;right:0;top:calc(100% + 10px);background:var(--vl-card);
  border:1px solid var(--vl-border);border-radius:8px;padding:6px;min-width:120px;
  display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 34px rgba(0,0,0,.5);z-index:120}
.langmenu a{font-family:var(--vl-mono);font-size:12px;color:var(--vl-muted);text-decoration:none;
  padding:8px 10px;border-radius:5px;letter-spacing:.03em}
.langmenu a:hover{background:var(--vl-black);color:var(--vl-white)}
.langmenu a.on{color:var(--vl-violet)}
.langmenu a[aria-disabled="true"]{opacity:.4;pointer-events:none}
/* MOBILE NAV (hamburger) */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:130}
.burger span{width:22px;height:2px;background:var(--vl-white);border-radius:2px;transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:860px){
  .burger{display:flex}
  .menu{position:fixed;inset:0;background:rgba(11,12,15,.97);backdrop-filter:blur(8px);
    flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;
    padding:0 var(--vl-pad);font-size:22px;transform:translateX(100%);transition:transform .3s ease;z-index:125}
  .menu.open{transform:none}
  .menu a{color:var(--vl-white)}
  .menu>a.on{border:0;padding:0;color:var(--vl-violet)}
  .langsel{margin-top:6px}
  .langsel summary{font-size:18px}
  .langmenu{position:static;box-shadow:none;margin-top:12px;background:transparent;border:0;padding:0}
  .langmenu a{font-size:16px;padding:6px 0}
  .menu .btn{font-size:16px;padding:12px 22px}
}
/* REVEAL */
.rev{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.6,.3,1),transform .7s cubic-bezier(.2,.6,.3,1)}
.rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* GRID */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:860px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--vl-card);border-radius:12px;padding:26px;border-left:2px solid var(--vl-violet)}
.card-o{border:1px solid var(--vl-line);border-radius:12px;padding:26px}
.stat{font-family:var(--vl-mono);font-weight:700;color:var(--vl-white)}
/* FORM INPUTS */
.in{width:100%;background:var(--vl-black);border:1px solid var(--vl-border);border-radius:7px;
  padding:12px 14px;color:var(--vl-white);font-size:13.5px;outline:none;transition:border-color .2s;font-family:inherit;resize:none}
.in:focus{border-color:var(--vl-violet)}
.in::placeholder{color:#3E424A}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* LEGAL / PROSE PAGES */
.prose{max-width:760px}
.prose h2{font-size:clamp(20px,2.6vw,26px);margin:44px 0 14px}
.prose h3{font-size:16px;margin:26px 0 8px;color:var(--vl-white)}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:20px;color:var(--vl-text);line-height:1.7}
.prose li{margin-bottom:6px}
.prose a{color:var(--vl-violet)}
.prose .updated{font-family:var(--vl-mono);font-size:11px;color:var(--vl-faint);letter-spacing:.08em;text-transform:uppercase}
/* FOOTER */
footer{padding:34px 0;border-top:1px solid rgba(255,255,255,.07)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap}
.foot span{font-family:var(--vl-mono);font-size:11px;color:var(--vl-muted);letter-spacing:.05em}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a{font-family:var(--vl-mono);font-size:11px;color:var(--vl-muted);text-decoration:none;letter-spacing:.05em}
.foot-links a:hover{color:var(--vl-white)}
:focus-visible{outline:2px solid var(--vl-violet);outline-offset:3px;border-radius:2px}
