/* ============================================================
   HERTZ CORSE — Design Tokens & CSS Variables
   ============================================================ */

/* --- Google Fonts Import --- */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {

  /* ─── Brand Colors ─── */
  --color-hertz-yellow:     #FFCC00;
  --color-hertz-yellow-dark:#E6B800;
  --color-corse-label:      #FFCC00;

  --color-black:            #000000;
  --color-dark:             #1A202C;
  --color-dark-soft:        #1A202C;

  /* ─── Secondary Palette ─── */
  --color-slate-light:      #90A3BF;
  --color-slate-mid:        #596780;
  --color-navy:             #1A202C;

  --color-white:            #FFFFFF;
  --color-off-white:        #F9F8F5;

  --color-grey-100:         #F4F4F4;
  --color-grey-200:         #E8E8E8;
  --color-grey-300:         #C8C8C8;
  --color-grey-400:         #9E9E9E;
  --color-grey-500:         #6E6E6E;
  --color-grey-600:         #4A4A4A;

  --color-topnav-bg:        #000000;
  --color-footer-bg:        #F4F2ED;
  --color-trust-bg:         #90A3BF;

  /* ─── Typography ─── */
  --font-display:   'Plus Jakarta Sans', sans-serif;
  --font-body:      'Plus Jakarta Sans', sans-serif;

  --fw-light:       300;
  --fw-regular:     400;
  --fw-medium:      500;
  --fw-semibold:    600;
  --fw-bold:        700;
  --fw-extrabold:   800;
  --fw-black:       900;

  --fs-xs:     0.6875rem;
  --fs-sm:     0.75rem;
  --fs-base:   0.875rem;
  --fs-md:     1rem;
  --fs-lg:     1.125rem;
  --fs-xl:     1.375rem;
  --fs-2xl:    1.75rem;
  --fs-3xl:    2.25rem;
  --fs-4xl:    3rem;
  --fs-hero:   2.5rem;

  --lh-tight:   1.1;
  --lh-snug:    1.3;
  --lh-normal:  1.5;
  --lh-relaxed: 1.7;

  --ls-tight:  -0.02em;
  --ls-normal:  0em;
  --ls-wide:    0.06em;
  --ls-wider:   0.12em;
  --ls-widest:  0.2em;

  /* ─── Spacing ─── */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;

  /* ─── Layout ─── */
  --max-w-site:   1200px;

  /* ─── Border Radius ─── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-full: 9999px;

  /* ─── Shadows ─── */
  --shadow-sm:  0 1px 4px rgba(0,0,0,0.08);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.12);
  --shadow-lg:  0 8px 32px rgba(0,0,0,0.18);

  /* ─── Transitions ─── */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* ─── Z-index ─── */
  --z-sticky:   200;
  --z-overlay:  300;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  color: var(--color-dark);
  background: var(--color-white);
  line-height: var(--lh-normal);
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
