
/* ==========================================
   TOKENS
========================================== */
:root {
  --green:     #2D9B4E;
  --green-d:   #1F7A3A;
  --green-lt:  #EAF6EE;
  --green-mid: #3DAE60;

  --blue:      #2563EB;
  --blue-d:    #1A4EC0;
  --blue-lt:   #EEF3FE;

  --ink:       #0B0D12;
  --ink-2:     #374151;
  --ink-3:     #6B7280;
  --ink-4:     #9CA3AF;

  --line:      #E5E7EB;
  --surface:   #F9FAFB;
  --white:     #FFFFFF;

  --max: 1400px;
  --pad: clamp(20px, 5vw, 80px);
  --sec: clamp(80px, 9vw, 120px);
  --r:   6px;
  --r-lg: 14px;
}

/* ==========================================
   BASE
========================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, sans-serif;
  background: var(--white);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad);
}

/* ==========================================
   REVEAL — rich multi-variant system
========================================== */
[data-reveal] {
  opacity: 0;
  will-change: opacity, transform;
  transition:
    opacity  .75s cubic-bezier(.16,1,.3,1),
    transform .75s cubic-bezier(.16,1,.3,1);
}
[data-reveal="up"]    { transform: translateY(36px); }
[data-reveal="down"]  { transform: translateY(-24px); }
[data-reveal="left"]  { transform: translateX(40px); }
[data-reveal="right"] { transform: translateX(-40px); }
[data-reveal="scale"] { transform: scale(.94); }
[data-reveal="fade"]  { transform: none; }
[data-reveal].vis     { opacity: 1; transform: none !important; }

[data-delay="1"] { transition-delay: .08s; }
[data-delay="2"] { transition-delay: .16s; }
[data-delay="3"] { transition-delay: .24s; }
[data-delay="4"] { transition-delay: .32s; }
[data-delay="5"] { transition-delay: .40s; }

/* stagger children (add data-stagger to parent) */
[data-stagger] > * { opacity: 0; transform: translateY(24px);
  transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
[data-stagger].vis > *    { opacity: 1; transform: none; }
[data-stagger].vis > *:nth-child(1) { transition-delay: .05s; }
[data-stagger].vis > *:nth-child(2) { transition-delay: .13s; }
[data-stagger].vis > *:nth-child(3) { transition-delay: .21s; }
[data-stagger].vis > *:nth-child(4) { transition-delay: .29s; }
[data-stagger].vis > *:nth-child(5) { transition-delay: .37s; }
[data-stagger].vis > *:nth-child(6) { transition-delay: .45s; }
