:root {
  /* Cores oficiais United, extraidas do logo enviado pelo Ton */
  --united-amarelo: #FFCC00;
  --united-amarelo-esc: #E6B800;
  --united-preto: #000000;
  --united-grafite: #1A1A1A;
  --united-claro: #FFFBF0;

  --text: #111111;
  --text-soft: #52525B;
  --text-mute: #A1A1AA;
  --surface: #FFFFFF;
  --border: #E4E4E7;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.07);
  --shadow-md: 0 8px 24px rgba(0,0,0,.10);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.22);

  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-serif: 'Fraunces', Georgia, serif;
  --font-mono: 'JetBrains Mono', monospace;

  --ease: cubic-bezier(.4,0,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font-sans); color: var(--text);
  background: var(--surface); -webkit-font-smoothing: antialiased;
  letter-spacing: -0.005em;
}
img { max-width: 100%; }
h1, h2, h3, .display { font-family: var(--font-serif); letter-spacing: -0.02em; }
a { color: var(--united-grafite); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
       padding: 13px 24px; border-radius: var(--radius-md); font-weight: 700; font-size: 14px;
       border: 0; cursor: pointer; transition: transform .1s var(--ease), background .15s var(--ease);
       text-decoration: none; font-family: var(--font-sans); }
.btn:hover { text-decoration: none; }
.btn:active { transform: scale(.98); }
.btn-primary { background: var(--united-amarelo); color: var(--united-preto); }
.btn-primary:hover { background: var(--united-amarelo-esc); }
.btn-dark { background: var(--united-preto); color: var(--united-amarelo); }
.btn-dark:hover { background: var(--united-grafite); }
.btn-secondary { background: var(--surface); color: var(--united-preto); border: 2px solid var(--united-preto); }
.btn-secondary:hover { background: var(--united-amarelo); }
.btn-ghost { background: transparent; color: var(--text-soft); }
.btn-ghost:hover { background: var(--border); }
.btn[disabled] { opacity: .55; cursor: not-allowed; }

.badge { display: inline-block; padding: 5px 12px; border-radius: 999px;
         font-size: 11px; font-weight: 800; text-transform: uppercase;
         letter-spacing: 0.08em; background: var(--united-amarelo); color: var(--united-preto); }

.reveal { opacity: 0; transform: translateY(20px);
          transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

label { display: block; font-size: 12px; font-weight: 700; color: var(--text-soft);
        text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
input, select, textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: var(--radius-md); font-family: var(--font-sans); font-size: 15px;
  background: var(--surface); color: var(--text);
  transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
input:focus, select:focus, textarea:focus {
  outline: 0; border-color: var(--united-preto); box-shadow: 0 0 0 3px rgba(255,204,0,.55);
}
textarea { resize: vertical; }
