*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--porcelaine); color: var(--graphite); font: 400 14px/1.45 var(--f-texte); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--prusse); outline-offset: 2px; border-radius: var(--r-ctrl); }
h1, h2, h3, p { margin: 0; }

.mono { font-family: var(--f-donnees); font-variant-numeric: tabular-nums; }
.muted { color: var(--ardoise); }
.eyebrow { font: 500 11px/1 var(--f-donnees); letter-spacing: .08em; text-transform: uppercase; color: var(--ardoise); margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
svg.icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0s !important; } }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .25s; }
