/* Stephan, Miranda & Advogados Associados — Design tokens
   Copiado do design system do cliente (../Design system Stephan/tokens/). */

/* Só os pesos realmente usados no site: Playfair Display sempre em 400 (nunca
   itálico ou bold — ver designsystem.md §3), Montserrat em 300/400/500/600. */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400&family=Montserrat:wght@300;400;500;600&display=swap");

:root {
  --sm-font-display: "Rangkings", "Playfair Display", Georgia, serif;
  --sm-font-text: "Gotham", "Montserrat", "Helvetica Neue", Arial, sans-serif;

  /* Cores — verdes da marca */
  --sm-green-900: #1B3A2B;
  --sm-green-800: #244C39;
  --sm-green-700: #34694A;
  --sm-green-600: #4C9141;
  --sm-green-500: #7DB343;
  --sm-green-300: #A9CE7F;
  --sm-green-100: #E6F0D8;
  --sm-green-050: #F1F7EB;

  /* Neutros quentes */
  --sm-sand-500: #C4A46A;
  --sm-sand-300: #DCCDA9;
  --sm-sand-200: #E6E2D7;
  --sm-sand-100: #F1EEE6;
  --sm-sand-050: #F8F6F1;

  /* Tintas */
  --sm-ink-900: #14211B;
  --sm-ink-700: #37473F;
  --sm-ink-500: #63736A;
  --sm-ink-300: #9BA79F;
  --sm-ink-200: #C8D0CA;
  --sm-ink-100: #E3E7E3;
  --sm-white: #FFFFFF;

  /* Semânticas */
  --sm-danger: #A3352B;
  --sm-warning: #B8791F;
  --sm-success: var(--sm-green-600);
  --sm-info: var(--sm-green-800);

  /* Aliases */
  --sm-bg: var(--sm-sand-050);
  --sm-bg-alt: var(--sm-white);
  --sm-surface: var(--sm-white);
  --sm-surface-muted: var(--sm-sand-100);
  --sm-surface-inverse: var(--sm-green-900);
  --sm-surface-accent: var(--sm-green-050);

  --sm-text: var(--sm-ink-900);
  --sm-text-muted: var(--sm-ink-500);
  --sm-text-inverse: var(--sm-sand-050);
  --sm-text-inverse-muted: rgba(241, 238, 230, 0.72);
  --sm-text-brand: var(--sm-green-900);
  --sm-text-link: var(--sm-green-700);
  --sm-text-link-hover: var(--sm-green-900);

  --sm-border: var(--sm-ink-100);
  --sm-border-strong: var(--sm-ink-200);
  --sm-border-inverse: rgba(241, 238, 230, 0.22);

  --sm-brand: var(--sm-green-900);
  --sm-brand-hover: #0F2A1E;
  --sm-accent: var(--sm-green-500);
  --sm-accent-hover: #6EA23A;
  --sm-focus-ring: var(--sm-green-500);

  /* Tipografia */
  --sm-text-3xs: 11px;
  --sm-text-2xs: 12px;
  --sm-text-xs: 13px;
  --sm-text-sm: 15px;
  --sm-text-md: 17px;
  --sm-text-lg: 19px;
  --sm-text-xl: 22px;
  --sm-display-sm: 28px;
  --sm-display-md: 38px;
  --sm-display-lg: 52px;
  --sm-display-xl: 68px;
  --sm-display-2xl: 88px;

  --sm-leading-tight: 1.06;
  --sm-leading-snug: 1.25;
  --sm-leading-normal: 1.55;
  --sm-leading-relaxed: 1.7;

  --sm-weight-light: 300;
  --sm-weight-regular: 400;
  --sm-weight-medium: 500;
  --sm-weight-semibold: 600;
  --sm-weight-bold: 700;

  --sm-tracking-display: -0.015em;
  --sm-tracking-normal: 0em;
  --sm-tracking-wide: 0.06em;
  --sm-tracking-caps: 0.14em;

  /* Espaçamento e grade */
  --sm-space-1: 4px;
  --sm-space-2: 8px;
  --sm-space-3: 12px;
  --sm-space-4: 16px;
  --sm-space-5: 24px;
  --sm-space-6: 32px;
  --sm-space-7: 40px;
  --sm-space-8: 56px;
  --sm-space-9: 72px;
  --sm-space-10: 96px;
  --sm-space-11: 128px;

  --sm-container: 1200px;
  --sm-container-narrow: 760px;
  --sm-gutter: var(--sm-space-6);
  --sm-section-y: var(--sm-space-10);

  /* Raios, sombras, gradientes, movimento */
  --sm-radius-xs: 6px;
  --sm-radius-sm: 10px;
  --sm-radius-md: 16px;
  --sm-radius-lg: 24px;
  --sm-radius-xl: 32px;
  --sm-radius-pill: 999px;

  --sm-shadow-xs: 0 1px 2px rgba(20, 33, 27, 0.06);
  --sm-shadow-sm: 0 2px 8px rgba(20, 33, 27, 0.06);
  --sm-shadow-md: 0 10px 24px -12px rgba(20, 33, 27, 0.18);
  --sm-shadow-lg: 0 28px 60px -28px rgba(20, 33, 27, 0.28);
  --sm-shadow-focus: 0 0 0 3px rgba(125, 179, 67, 0.45);

  --sm-gradient-forest: linear-gradient(135deg, #1B3A2B 0%, #2F6141 62%, #4C9141 100%);
  --sm-gradient-dawn: linear-gradient(180deg, #F1F7EB 0%, #F8F6F1 100%);
  --sm-gradient-veil: linear-gradient(180deg, rgba(20,33,27,0) 0%, rgba(20,33,27,0.78) 100%);

  --sm-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --sm-duration-fast: 140ms;
  --sm-duration: 220ms;
  --sm-duration-slow: 420ms;
  --sm-transition: all var(--sm-duration) var(--sm-ease);
}
