:root{--noir-oki:#0d0d0d;--noir-profond:#1a0f1a;--blanc-creme:#fff8e7;--line:#ffffff1a;--or-oki:#fdb813;--rouge-oki:#ff1654;--vert-oki:#00d66c;--turquoise-caraibes:#00ced1;--jaune-soleil:gold;--orange-flamme:#ff6b35;--violet-nuit:#6b2d5c;--bleu-ocean:#0077be;--or-clair:#ffe066;--gris-sombre:#2d1b2e;--muted:color-mix(in srgb, var(--blanc-creme) 70%, transparent);--card-bg:#ffffff08;--font-display:"Archivo", "Arial Black", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:3px;--radius-md:6px;--border-card:1px solid var(--line);--border-btn:2px solid var(--or-oki);--space-1:.75rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:4rem;--container:1200px;--ease-ka:cubic-bezier(.22, 1, .36, 1);--ease-syncope:cubic-bezier(.65, 0, .35, 1);--dur-tanbou:.12s;--dur-mesure:.48s;--dur-phrase:.96s;--bg:var(--noir-oki);--surface:var(--noir-profond);--fg:var(--blanc-creme);--accent:var(--or-oki);--header-h:56px;--sidebar-w:240px}html.light-theme{--noir-oki:#fff8e7;--blanc-creme:#0d0d0d;--noir-profond:#f5f0e8;--gris-sombre:#e8ddd0;--or-oki:#b87a00;--vert-oki:#006b3d;--rouge-oki:#a01030;--turquoise-caraibes:#006b75;--bleu-ocean:#004b7f;--or-clair:#d99000;--jaune-soleil:#b87a00;--orange-flamme:#c85000;--line:#0000001f;--card-bg:#00000008}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--fg);background-color:var(--bg);flex-direction:column;min-height:100dvh;line-height:1.5;display:flex;overflow-x:hidden}img,video,svg{max-width:100%;height:auto}a{color:var(--fg);text-decoration:none}main a[href^=http],main p a,main li a{text-underline-offset:.15em;text-decoration:underline}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{top:-100px;left:var(--space-2);z-index:300;padding:var(--space-1) var(--space-2);background:var(--accent);color:#0d0d0d;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);transition:top var(--dur-tanbou) var(--ease-ka);font-weight:700;position:absolute}.skip-link:focus{top:var(--space-1)}.container{width:100%;max-width:var(--container);padding:0 var(--space-3);margin:0 auto}.section{padding:var(--space-4) 0}.section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:clamp(1.4rem,3vw,2rem);font-weight:800;display:flex}.flag-bar{background:linear-gradient(to right, var(--noir-oki) 0 25%, var(--or-oki) 25% 50%, var(--vert-oki) 50% 75%, var(--rouge-oki) 75% 100%);height:6px}html.light-theme .flag-bar{background:linear-gradient(to right, #000 0 25%, var(--or-oki) 25% 50%, var(--vert-oki) 50% 75%, var(--rouge-oki) 75% 100%)}.btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);border:var(--border-btn);border-radius:var(--radius-sm);transition:color var(--dur-tanbou) var(--ease-syncope);font-size:.9rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:var(--accent);transform-origin:0;transition:transform var(--dur-tanbou) var(--ease-syncope);z-index:0;position:absolute;inset:0;transform:scaleX(0)}.btn:hover,.btn:focus-visible{color:#0d0d0d}.btn:hover:after,.btn:focus-visible:after{transform:scaleX(1)}.btn>*{z-index:1;position:relative}.btn--solid{background:var(--accent);color:#0d0d0d}.btn--solid:after{background:var(--or-clair)}.card{background:var(--card-bg);border:var(--border-card);border-left:4px solid var(--accent);border-radius:var(--radius-md);transition:transform var(--dur-tanbou) var(--ease-ka), border-color var(--dur-tanbou) var(--ease-ka)}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.tag{background:color-mix(in srgb, var(--or-oki) 8%, transparent);border:1px solid var(--or-oki);border-radius:var(--radius-sm);color:var(--fg);align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.8rem;display:inline-flex}.icon{width:1.25em;height:1.25em;color:var(--accent);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}.icon--inline{vertical-align:-.15em;width:1em;height:1em}.text-muted{color:var(--muted)}.grid-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}html.js .reveal{opacity:0;transition:opacity var(--dur-mesure) var(--ease-ka), transform var(--dur-mesure) var(--ease-ka);transition-delay:var(--d,0s);transform:translateY(16px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js .reveal{opacity:1;transform:none}}
