/* ══════════════════════════════════════
   BASE — Reset, Typography, Layout
   ══════════════════════════════════════ */

/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--sans);
    background: var(--bg-0);
    color: var(--white);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    overflow-x: hidden;
}


/* ── Scrollbar ── */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-1); }
::-webkit-scrollbar-thumb { background: var(--g3); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--g2); }

/* ── Layout ── */
.wrap {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 var(--gap);
}

@media (max-width: 768px) {
    .wrap { padding: 0 1.25rem; }
}

/* ── Text justify ── */
p, .sobre-text p, .servico-card p, .project-card p, .section-desc,
.diferencial-card p, .cta p, .hero p {
    text-align: justify;
}

/* ── Selection ── */
::selection {
    background: rgba(94,234,212,.25);
    color: var(--white);
}
