/* ================================================================
   HIGYLANG — higylang-tokens.css
   ================================================================ */

/* ================================================================
   HIGYLANG — higylang-theme.css  v3
   Palette mauve · Plus Jakarta Sans (local) · Mobile-first
   Zéro !important · Compact · Footer clair
   ================================================================ */


/* ================================================================
   0. POLICE LOCALE — Plus Jakarta Sans
   ================================================================ */
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-300-normal.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}


/* ================================================================
   1. DESIGN TOKENS
   ================================================================ */
:root {
  /* Palette mauve */
  --hl-bg:          #fdfcfe;
  --hl-bg-alt:      #f6eefb;
  --hl-bg-accent:   #ede2f5;
  --hl-surface:     #ffffff;
  --hl-text:        #2c1f42;
  --hl-text-muted:  #7059a0;
  --hl-heading:     #3b1f6e;
  --hl-accent:      #9b6dbd;
  --hl-accent-dk:   #7b4fa8;
  --hl-accent-lt:   #f2e8fb;
  --hl-border:      #e0d0f0;

  /* Police unique */
  --hl-font: 'Plus Jakarta Sans', system-ui, sans-serif;

  /* Structure compacte */
  --hl-sec-py:  3.75rem;
  --hl-hdr-h:   66px;
  --hl-r:       6px;
  --hl-r-lg:    12px;

  /* Ombres */
  --hl-sh:    0 2px 16px rgba(59,31,110,0.07);
  --hl-sh-lg: 0 8px 32px rgba(59,31,110,0.13);

  /* Transitions */
  --hl-t: 0.26s ease;
}


/* ================================================================
   2. BASE & RESET
   ================================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--hl-font);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--hl-text);
  background-color: var(--hl-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, video, svg { max-width: 100%; height: auto; }

a {
  color: var(--hl-accent-dk);
  text-decoration: none;
  transition: color var(--hl-t);
}
a:hover { color: var(--hl-accent); }
a:focus-visible {
  outline: 2px solid var(--hl-accent);
  outline-offset: 3px;
  border-radius: 3px;
}

address { font-style: normal; }
section[id] { scroll-margin-top: var(--hl-hdr-h); }


