/* ===========================================================
   VK Crystal — global styles & design tokens
   Tokens mirror the Pencil design variables 1:1.
   =========================================================== */

:root {
  /* Colour tokens */
  --accent-gold: #d4a574;
  --accent-purple: #6c5ce7;
  --bg-cream: #f8f8f5;
  --bg-dark: #1a1a2e;
  --bg-light: #ffffff;
  --border-light: #e5e4e1;
  --cta-pink: #e84393;
  --stats-bg: #f0ede8;
  --text-dark: #1a1a2e;
  --text-light-muted: #cccccc;
  --text-muted: #6d6c6a;
  --text-white: #ffffff;

  /* Brand gradient (avatars, accents) */
  --gradient-brand: linear-gradient(135deg, var(--accent-purple) 0%, var(--cta-pink) 100%);

  /* Layout */
  --content-max: 1440px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-pill: 100px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --font-sans: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* --------------------------- reset --------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  background: var(--bg-light);
  color: var(--text-dark);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img,
picture {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

ul {
  list-style: none;
}

/* --------------------------- helpers --------------------------- */
.container {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
}

/* Section heading shared style */
.section-title {
  font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--text-dark);
}

/* --------------------------- scroll reveal --------------------------- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.7s var(--ease-out),
    transform 0.7s var(--ease-out);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger helper */
.reveal[data-delay='1'] { transition-delay: 0.08s; }
.reveal[data-delay='2'] { transition-delay: 0.16s; }
.reveal[data-delay='3'] { transition-delay: 0.24s; }
.reveal[data-delay='4'] { transition-delay: 0.32s; }
.reveal[data-delay='5'] { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* Focus visibility for keyboard users */
:focus-visible {
  outline: 2px solid var(--accent-purple);
  outline-offset: 3px;
  border-radius: 4px;
}
:where([data-astro-image]) {
	object-fit: var(--fit);
	object-position: var(--pos);
	height: auto;
}
:where([data-astro-image="full-width"]) {
	width: 100%;
}
:where([data-astro-image="constrained"]) {
	max-width: 100%;
}
.navbar[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:var(--bg-light);box-shadow:0 1px 3px rgba(0,0,0,0.1);transition:box-shadow 0.3s var(--ease-out)}.navbar__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding:10px 80px}.navbar__logo[data-astro-cid-3ef6ksr2]{display:block;flex-shrink:0;transition:transform 0.3s var(--ease-out)}.navbar__logo[data-astro-cid-3ef6ksr2]:hover{transform:scale(1.04)}.navbar__logo[data-astro-cid-3ef6ksr2] img{height:90px;width:auto;object-fit:contain}.navbar__right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:24px}.navbar__nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:32px}.navbar__link[data-astro-cid-3ef6ksr2]{position:relative;font-size:15px;font-weight:500;color:var(--text-muted);padding:4px 0;transition:color 0.25s var(--ease-out)}.navbar__link[data-astro-cid-3ef6ksr2]::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--gradient-brand);transform:scaleX(0);transform-origin:left;transition:transform 0.3s var(--ease-out)}.navbar__link[data-astro-cid-3ef6ksr2]:hover,.navbar__link[data-astro-cid-3ef6ksr2].is-active{color:var(--accent-purple)}.navbar__link[data-astro-cid-3ef6ksr2]:hover::after,.navbar__link[data-astro-cid-3ef6ksr2].is-active::after{transform:scaleX(1)}.lang-switch[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-pill);background:var(--bg-cream)}.lang-switch__link[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:5px 8px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;letter-spacing:0.5px;color:var(--text-muted);transition:background 0.25s var(--ease-out),color 0.25s var(--ease-out)}.lang-switch__link[data-astro-cid-3ef6ksr2]:hover{color:var(--accent-purple)}.lang-switch__link[data-astro-cid-3ef6ksr2].is-active{background:var(--gradient-brand);color:var(--text-white)}.navbar__login[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius-pill);background:var(--gradient-brand);color:var(--text-white);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 8px 20px rgba(108,92,231,0.28);transition:transform 0.25s var(--ease-out),box-shadow 0.25s var(--ease-out)}.navbar__login[data-astro-cid-3ef6ksr2]:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(108,92,231,0.4)}.navbar__burger[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:5px;padding:8px}.navbar__burger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:24px;height:2px;border-radius:2px;background:var(--text-dark);transition:transform 0.3s var(--ease-out),opacity 0.2s var(--ease-out)}.navbar__burger[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__burger[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.navbar__burger[data-astro-cid-3ef6ksr2][aria-expanded=true] span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar__mobile[data-astro-cid-3ef6ksr2]{border-top:1px solid var(--border-light);background:var(--bg-light)}.navbar__mobile[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;padding:12px 24px 0}.navbar__mobile[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--border-light)}.navbar__mobile[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:last-child{border-bottom:none}.navbar__mobile[data-astro-cid-3ef6ksr2] .navbar__link[data-astro-cid-3ef6ksr2]{display:block;padding:14px 0;font-size:16px}.navbar__mobile[data-astro-cid-3ef6ksr2] .navbar__link[data-astro-cid-3ef6ksr2]::after{display:none}.lang-switch--mobile[data-astro-cid-3ef6ksr2]{margin:16px 24px 0;justify-content:center}.navbar__login--mobile[data-astro-cid-3ef6ksr2]{display:flex;justify-content:center;margin:16px 24px 20px;padding:14px 22px;font-size:15px}@media (max-width: 1080px){.navbar__inner[data-astro-cid-3ef6ksr2]{padding:8px 32px}.navbar__right[data-astro-cid-3ef6ksr2]{display:none}.navbar__burger[data-astro-cid-3ef6ksr2]{display:flex}}@media (max-width: 560px){.navbar__inner[data-astro-cid-3ef6ksr2]{padding:6px 20px}.navbar__logo[data-astro-cid-3ef6ksr2] img{height:64px}}.footer[data-astro-cid-sz7xmlte]{background:var(--bg-dark);color:var(--text-light-muted)}.footer__inner[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:24px;padding:40px 80px}.footer__cta[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 24px}.footer__cta-text[data-astro-cid-sz7xmlte]{font-size:15px;color:var(--text-light-muted)}.footer__login[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:var(--radius-pill);background:var(--gradient-brand);color:var(--text-white);font-size:15px;font-weight:600;white-space:nowrap;box-shadow:0 10px 24px rgba(108,92,231,0.35);transition:transform 0.25s var(--ease-out),box-shadow 0.25s var(--ease-out)}.footer__login[data-astro-cid-sz7xmlte]:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(232,67,147,0.45)}.footer__links[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;flex-wrap:wrap;gap:32px}.footer__links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:14px;font-weight:500;color:var(--text-light-muted);transition:color 0.25s var(--ease-out)}.footer__links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text-white)}.footer__divider[data-astro-cid-sz7xmlte]{height:1px;background:rgba(255,255,255,0.125)}.footer__bottom[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer__copy[data-astro-cid-sz7xmlte]{font-size:13px}.footer__social[data-astro-cid-sz7xmlte]{display:flex;gap:16px}.footer__social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-pill);color:var(--text-light-muted);transition:color 0.25s var(--ease-out),background 0.25s var(--ease-out),transform 0.25s var(--ease-out)}.footer__social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text-white);background:var(--gradient-brand);transform:translateY(-2px)}@media (max-width: 768px){.footer__inner[data-astro-cid-sz7xmlte]{padding:36px 24px}.footer__bottom[data-astro-cid-sz7xmlte]{flex-direction:column;text-align:center}}