@import url("https://fonts.googleapis.com/css2?family=Chivo:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");
/* Copie des tokens du design system Airegirotua (assets/Airegirotua Design System/tokens). Ne pas modifier ici : mettre à jour depuis la source. */
/* Webfonts.
   Display: "Euskal Font" (Euskal Font Normal, © Iosu Arriola Azpiazu, 1999) — supplied by the client
   as a single-weight TTF. Copied to assets/fonts/EuskalFont-Normal.ttf.
   Interface + nombres (boutons, libellés, titres secondaires, téléphone, valeurs): Chivo · Texte: Inter · Code: Martian Mono (Google Fonts)
   NB: le @import doit rester la première règle du fichier, sinon le parseur CSS l'ignore. */
@font-face{
  font-family:"Euskal Font";
  src:url("../assets/fonts/EuskalFont-Normal.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root{
/* --- Brand ramp: sampled from the Airegirotua logo --- */
--navy-900:#061c33;--navy-800:#0c2745;--navy-700:#123058;--navy-600:#1b4272;--navy-500:#2a5a92;--navy-300:#7d9cc0;--navy-100:#d3dfec;
--blue-700:#136d9c;--blue-600:#1a83b9;--blue-500:#1e8cc4;--blue-400:#35a9d6;--blue-200:#9ed6ea;--blue-100:#dcf0f7;
--teal-600:#1d8fa0;--teal-500:#2aa79f;--teal-400:#3fb8a6;--teal-300:#60c8b1;--teal-100:#d8f2ec;
--mint-500:#5fc19f;--mint-400:#79cfa9;--mint-100:#e0f4ea;
/* --- Neutrals: warm, paper-like, taken from the logo ground --- */
--cream-50:#fbfbf6;--cream-100:#f8f8f2;--cream-200:#f0f0e7;--stone-300:#dcdcd1;--stone-400:#bdbdb2;--stone-500:#8d8d85;--stone-600:#65655f;--ink-900:#13130f;
--white:#ffffff;
/* --- Semantic --- */
--success:#2f9e5e;--warning:#d99327;--danger:#c5452f;--info:var(--blue-500);
--success-soft:#e5f4ea;--warning-soft:#fbf1de;--danger-soft:#fbe8e4;--info-soft:var(--blue-100);
/* --- Aliases: surfaces --- */
--surface-page:var(--cream-100);--surface-card:var(--white);--surface-raised:var(--cream-50);
--surface-sunken:var(--cream-200);--surface-inverse:var(--navy-700);--surface-brand:var(--blue-500);
--surface-cool:var(--blue-100);--surface-warm:var(--teal-100);
/* --- Aliases: text --- */
--text-heading:var(--navy-700);--text-body:var(--navy-800);--text-muted:var(--stone-600);
--text-inverse:var(--cream-100);--text-on-brand:var(--white);--text-link:var(--blue-600);--text-link-hover:var(--navy-700);
/* --- Aliases: lines --- */
--border-subtle:var(--stone-300);--border-strong:var(--navy-100);--border-brand:var(--blue-500);
--focus-ring:var(--blue-400);
/* --- Gradients: the only two permitted, both read left-to-right cold → warm --- */
--grad-air:linear-gradient(104deg,var(--blue-500) 0%,var(--teal-400) 58%,var(--mint-500) 100%);
--grad-deep:linear-gradient(104deg,var(--navy-700) 0%,var(--blue-600) 100%);
}

:root{
--font-display:"Euskal Font",system-ui,sans-serif; /* GROS TITRES UNIQUEMENT — minuscules seulement, sans accents */
--font-heading:"Chivo",system-ui,sans-serif; /* intermédiaire : boutons, titres secondaires, libellés, eyebrows */
--display-stretch:100%; /* @kind other */
--font-sans:"Inter",system-ui,sans-serif;
--font-mono:"Martian Mono","SFMono-Regular",monospace; /* code seulement */
--font-numeric:"Chivo",system-ui,sans-serif; /* nombres, téléphone, références, puissances */
/* Scale — 1.25 major third, 16px base */
--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;
--text-2xl:28px;--text-3xl:36px;--text-4xl:46px;--text-5xl:58px;--text-6xl:74px;
--leading-tight:1.04;--leading-snug:1.18;--leading-normal:1.55;--leading-loose:1.7;
--weight-display:400; /* Euskal Font ships one weight — never synthesise bold on it */
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;
/* The wordmark is wide-tracked all-caps; eyebrows and small labels echo it */
--track-caps:0.015em; /* Euskal Font is unicase — caps need air, not negative tracking */
--track-wide:0.14em;--track-snug:-0.015em;--track-tight:-0.03em;
--eyebrow-size:var(--text-xs);--eyebrow-track:var(--track-wide);
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:22px;--radius-pill:999px;
--container-sm:640px;--container-md:840px;--container-lg:1120px;--container-xl:1320px;
--gutter:24px;--section-y:96px;
--control-h-sm:34px;--control-h-md:44px;--control-h-lg:54px;
--border-w:1px;--border-w-thick:2px;
}

:root{
/* Shadows are navy-tinted and low-contrast: the brand ground is warm paper, not grey */
--shadow-xs:0 1px 2px rgba(6,28,51,.06);
--shadow-sm:0 1px 3px rgba(6,28,51,.07),0 1px 1px rgba(6,28,51,.04);
--shadow-md:0 6px 18px -6px rgba(6,28,51,.16),0 2px 4px rgba(6,28,51,.05);
--shadow-lg:0 20px 44px -18px rgba(6,28,51,.24),0 3px 8px rgba(6,28,51,.06);
--shadow-brand:0 10px 26px -10px rgba(30,140,196,.45);
--inset-hairline:inset 0 0 0 1px rgba(6,28,51,.07);
--inset-press:inset 0 2px 4px rgba(6,28,51,.14);
--blur-veil:saturate(140%) blur(14px); /* @kind other */
--veil:rgba(251,251,246,.72);
--veil-deep:rgba(6,28,51,.58);
}

:root{
--ease-out:cubic-bezier(.22,.7,.28,1); /* @kind other */
--ease-in-out:cubic-bezier(.5,.05,.2,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:340ms; /* @kind other */
--dur-air:900ms; /* @kind other */
--transition-control:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
@media (prefers-reduced-motion:reduce){:root{
--dur-fast:1ms; /* @kind other */
--dur-base:1ms; /* @kind other */
--dur-slow:1ms; /* @kind other */
--dur-air:1ms; /* @kind other */
}}

html{-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal)}
h1,h2,h3,h4{color:var(--text-heading);line-height:var(--leading-snug);margin:0 0 var(--space-4)}
h1{font-family:var(--font-display);letter-spacing:var(--track-caps);text-transform:lowercase}
h2,h3,h4{font-family:var(--font-heading);letter-spacing:var(--track-snug)}
h1{font-size:var(--text-4xl);font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:.005em}
h2{font-size:var(--text-3xl);font-weight:var(--weight-bold)}
h3{font-size:var(--text-xl);font-weight:var(--weight-semibold)}
p{margin:0 0 var(--space-4);text-wrap:pretty}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
strong{font-weight:var(--weight-semibold)}
code,kbd{font-family:var(--font-mono);font-size:.88em}
.numeric{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.eyebrow{font-family:var(--font-heading);font-size:var(--eyebrow-size);font-weight:var(--weight-bold);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--blue-600)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

