:root {
  color-scheme: light;

  /* Brand Colors */
  --color-red:        #CB1A17;
  --color-yellow:     #FCB14C;
  --color-blue:       #1B417B;
  --color-teal:       #9AD7CB;
  --color-green:      #B7B961;
  --color-rose:       #F7DDDC;
  --color-gray-light: #F2F2F2;

  /* Neutrals */
  --color-black:      #0D0D0D;
  --color-near-black: #1A1A1A;
  --color-mid-gray:   #6B6B6B;
  --color-border:     #E5E5E5;
  --color-white:      #FFFFFF;
  --color-off-white:  #FAFAF8;

  /* Semantic aliases */
  --color-primary:    var(--color-red);
  --color-text:       var(--color-near-black);
  --color-text-muted: var(--color-mid-gray);
  --color-bg:         var(--color-white);
  --color-bg-alt:     var(--color-off-white);
  --color-bg-dark:    var(--color-blue);

  /* Typography */
  --font-primary: 'Montserrat', sans-serif;
  --font-alt:     'Montserrat Alternates', sans-serif;
  --font-serif:   'Roboto Serif', Georgia, serif;

  /* Fluid Type Scale */
  --text-xs:   clamp(0.694rem, 0.67vw + 0.56rem, 0.8rem);
  --text-sm:   clamp(0.833rem, 0.5vw + 0.72rem, 0.9rem);
  --text-base: clamp(1rem, 0.5vw + 0.875rem, 1.125rem);
  --text-lg:   clamp(1.2rem, 0.9vw + 1rem, 1.35rem);
  --text-xl:   clamp(1.44rem, 1.5vw + 1.1rem, 1.8rem);
  --text-2xl:  clamp(1.728rem, 2.5vw + 1.2rem, 2.4rem);
  --text-3xl:  clamp(2.074rem, 4vw + 1.2rem, 3.2rem);
  --text-4xl:  clamp(2.488rem, 6vw + 1rem, 4.8rem);
  --text-hero: clamp(3rem, 8vw + 1rem, 7.2rem);

  /* Font Weights */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    900;

  /* 8pt Spacing Grid */
  --space-1:  0.5rem;
  --space-2:  1rem;
  --space-3:  1.5rem;
  --space-4:  2rem;
  --space-5:  3rem;
  --space-6:  4rem;
  --space-7:  6rem;
  --space-8:  8rem;
  --space-9:  12rem;

  /* Layout */
  --container-max:  1440px;
  --container-text: 760px;
  --container-wide: 1200px;
  --gutter: clamp(1.5rem, 5vw, 5rem);

  /* Semantic states */
  --color-success: #2d7a2d;

  /* Misc */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 14px;  /* cards de imagem (segmentos) */
  --radius-xl: 16px;  /* cards do hero */
  --border-thin: 1px solid var(--color-border);
  --transition-fast: 150ms ease;
  --transition-mid:  300ms ease;
  --transition-slow: 600ms cubic-bezier(0.16, 1, 0.3, 1);
  --z-header: 100;

  /* Elevação suave (escandinavo: sutil, baixa opacidade) */
  --shadow-sm: 0 1px 2px rgba(13, 13, 13, 0.04), 0 1px 3px rgba(13, 13, 13, 0.05);
  --shadow-md: 0 6px 16px rgba(13, 13, 13, 0.06), 0 2px 6px rgba(13, 13, 13, 0.04);
  --shadow-lg: 0 14px 34px rgba(13, 13, 13, 0.10);

  /* Anel de foco — adaptativo (claro em seções escuras via override) */
  --focus-ring: var(--color-primary);
}

[data-theme="dark"] {
  --color-text:       var(--color-white);
  --color-text-muted: rgba(255, 255, 255, 0.65);
  --color-bg:         var(--color-blue);
  --color-border:     rgba(255, 255, 255, 0.15);
  --focus-ring:       var(--color-white);
}
