/* ==========================================================================
   SVIN VPN — base tokens, typography, reset
   ========================================================================== */
:root {
  --bg:           #fbf7f0;
  --bg-soft:      #f5efe2;
  --surface:      #ffffff;
  --surface-soft: #fefaf1;

  --text:         #2c2320;
  --text-soft:    #4b3f38;
  --muted:        #8a7a6b;
  --border:       #ece2d0;
  --border-soft:  #f2ead9;

  --accent:       #c67653;
  --accent-strong:#b0623f;
  --accent-soft:  #f6e3d5;

  --success:      #6fa844;

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 22px;

  --shadow-sm: 0 1px 2px rgba(90, 60, 30, 0.05);
  --shadow:    0 8px 24px rgba(120, 80, 40, 0.07);
  --shadow-lg: 0 20px 50px rgba(120, 80, 40, 0.12);

  --container: 1120px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

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

h1, h2, h3 {
  font-family: 'Fraunces', 'Inter', serif;
  color: var(--text);
  letter-spacing: -0.015em;
  line-height: 1.15;
  font-weight: 700;
}
h1 { font-weight: 700; }
p { color: var(--text-soft); }
a { color: inherit; }

::selection { background: var(--accent-soft); color: var(--accent-strong); }

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
