/* Fontes servidas pelo próprio site (arquivos em assets/fonts/, recorte latino, um arquivo variável por família).
   Outfit e Geist: licença SIL Open Font License. font-display: swap mostra o texto antes de a fonte chegar. */
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/outfit-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("../fonts/geist-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("../fonts/geist-mono-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Martin Marketing & Design · tokens do design system
   Fonte única dos valores visuais. Na etapa do tema, este arquivo vira o theme.json. */

:root {
  /* Escuros: o roxo escuro do site atual (mesmos valores) */
  --ink: #15041F;      /* texto e superfícies mais profundas */
  --ink-2: #1B0030;    /* fundo das seções escuras */
  --ink-3: #270140;    /* roxo da marca: hero e CTA */
  --ink-4: #3A1262;    /* hover sobre escuro */
  /* Claros (levemente puxados para o violeta) */
  --paper: #FFFFFF;
  --mist: #F6F3FA;
  --mist-2: #ECE7F3;
  --line: #E5E0EC;
  --line-dark: rgba(255, 255, 255, .12);

  --text: #15041F;
  --text-2: #564E63;
  --text-3: #6F677C;
  --on-dark: #FFFFFF;
  --on-dark-2: rgba(255, 255, 255, .74);
  --on-dark-3: rgba(255, 255, 255, .56);

  /* Marca: valores exatos do gradiente do símbolo "m." (arquivo Logo [MARTIN].ai) */
  --v900: #270140;
  --v800: #300162;
  --v700: #4300A4;
  --v500: #7A14A6;
  --v400: #7E26F8;
  --v300: #B998FF;
  --v200: #C9A8FF;
  --v100: #EEE6FF;

  --grad: linear-gradient(100deg, var(--v700) 0%, var(--v500) 100%);
  --grad-logo: linear-gradient(100deg, var(--v900) 0%, var(--v700) 35%, var(--v500) 100%);
  --grad-glow: linear-gradient(100deg, #5A18D6 0%, var(--v400) 50%, #B04FE6 100%);
  --grad-on-dark: linear-gradient(100deg, #5B14D4 0%, #8E3BFF 100%);

  /* Estado */
  --ok: #0E7A4F;
  --err: #B3261E;
  --err-dark: #FF8A80;

  /* Tipografia */
  --font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Outfit", var(--font);   /* títulos, menu e botões: geométrica como a palavra "martin" do logo */
  --w-display: 600;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --fs-display: clamp(2.75rem, 7vw + .4rem, 6.5rem);   /* 44 → 104 px */
  --fs-h1: clamp(2.5rem, 5.6vw + .4rem, 5.5rem);        /* 40 → 88 px */
  --fs-h2: clamp(2.125rem, 4.8vw + .4rem, 5rem);        /* 34 → 80 px */
  --fs-h3: clamp(1.375rem, 1.1vw + 1rem, 1.875rem);     /* 22 → 30 px */
  --fs-h4: 1.1875rem;
  --fs-lead: clamp(1.125rem, .5vw + 1rem, 1.375rem);    /* 18 → 22 px */
  --fs-body: 1.0625rem;                                 /* 17 px */
  --fs-small: .9375rem;
  --fs-xs: .8125rem;
  --fs-label: .75rem;

  --lh-tight: .98;
  --lh-head: 1.04;
  --lh-snug: 1.25;
  --lh-body: 1.55;

  --tr-display: -.04em;
  --tr-head: -.035em;
  --tr-sub: -.022em;
  --tr-body: -.006em;
  --tr-label: .08em;

  /* Espaço: múltiplos de 8 */
  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 32px;
  --s-5: 40px;
  --s-6: 48px;
  --s-8: 64px;
  --s-10: 80px;
  --s-12: 96px;
  --s-15: 120px;
  --s-20: 160px;
  --section: clamp(72px, 10vw, 144px);

  /* Grid: 12 colunas, largura máxima 1200 */
  --max: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --gap: clamp(16px, 2vw, 24px);

  /* Raios */
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-xl: 40px;
  --r-pill: 999px;

  /* Sombras: mínimas */
  --sh-1: 0 1px 2px rgba(21, 4, 31, .04), 0 12px 32px -16px rgba(21, 4, 31, .16);
  --sh-2: 0 2px 4px rgba(21, 4, 31, .04), 0 32px 72px -28px rgba(39, 1, 64, .36);
  --sh-glow: 0 24px 80px -24px rgba(126, 38, 248, .55);

  /* Motion */
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --d-1: 200ms;
  --d-2: 400ms;
  --d-3: 800ms;

  /* Cabeçalho */
  --hd-h: 72px;
  --hd-h-min: 56px;
}

/* Temas de seção: cada seção declara data-theme e os componentes leem estas variáveis */
:root,
[data-theme="light"] {
  --bg: var(--paper);
  --surface: var(--mist);
  --fg: var(--text);
  --fg-2: var(--text-2);
  --fg-3: var(--text-3);
  --bd: var(--line);
  --bd-strong: rgba(21, 4, 31, .16);
  --accent: var(--v700);
  --dot: var(--v500);
  --focus: var(--v400);
}

[data-theme="mist"] {
  --bg: var(--mist);
  --surface: var(--paper);
  --fg: var(--text);
  --fg-2: var(--text-2);
  --fg-3: var(--text-3);
  --bd: var(--line);
  --bd-strong: rgba(21, 4, 31, .16);
  --accent: var(--v700);
  --dot: var(--v500);
  --focus: var(--v400);
}

[data-theme="dark"] {
  --bg: var(--ink-2);
  --surface: rgba(255, 255, 255, .06);
  --fg: var(--on-dark);
  --fg-2: var(--on-dark-2);
  --fg-3: var(--on-dark-3);
  --bd: var(--line-dark);
  --bd-strong: rgba(255, 255, 255, .26);
  --accent: var(--v200);
  --dot: var(--v300);
  --focus: var(--v200);
}

