/* ============================================================
   COMUNIDADE SOLO — RESET & DESIGN SYSTEM
   ============================================================ */

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

:root {
  /* ── Cores ─────────────────────────── */
  --bg:        #010101;
  --title:     #F6F6F5;
  --text:      #A2A09F;
  --accent:    #C8B89A;
  --accent-dim:#8C7A65;
  --border:    rgba(246,246,245,0.08);
  --overlay:   rgba(1,1,1,0.55);

  /* ── Tipografia ─────────────────────── */
  --font-serif: 'Cormorant', 'Georgia', serif;
  --font-sans:  'Inter', sans-serif;

  /* ── Espaçamentos ─────────────────── */
  --space-xs:  clamp(0.5rem,  1vw,  1rem);
  --space-sm:  clamp(1rem,    2vw,  2rem);
  --space-md:  clamp(2rem,    4vw,  4rem);
  --space-lg:  clamp(4rem,    8vw,  8rem);
  --space-xl:  clamp(6rem,   12vw, 14rem);
  --space-2xl: clamp(10rem,  18vw, 22rem);

  /* ── Tamanhos de fonte ──────────────── */
  --fs-micro:  clamp(0.65rem, 0.8vw,  0.8rem);
  --fs-small:  clamp(0.85rem, 1vw,    1rem);
  --fs-body:   clamp(1rem,    1.1vw,  1.1rem);
  --fs-lead:   clamp(1.1rem,  1.4vw,  1.4rem);
  --fs-h4:     clamp(1.3rem,  1.8vw,  2rem);
  --fs-h3:     clamp(1.8rem,  2.8vw,  3.5rem);
  --fs-h2:     clamp(2.5rem,  5vw,    6rem);
  --fs-h1:     clamp(4rem,    9vw,   12rem);
  --fs-display:clamp(5rem,   12vw,   16rem);

  /* ── Transições ─────────────────────── */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:   cubic-bezier(0.76, 0, 0.24, 1);
  --dur-fast:   0.4s;
  --dur-med:    0.7s;
  --dur-slow:   1.2s;
}

html {
  font-size: 16px;
  scroll-behavior: auto; /* Lenis handles this */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  cursor: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

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

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

ul, ol {
  list-style: none;
}

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

/* ── Scrollbar ──────────────────────── */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--accent-dim); border-radius: 2px; }

/* ── Smooth scroll container ─────────── */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}
