/* Repas — base : polices, palette (sauge, terracotta, crème ; mode sombre automatique), remise à zéro, typographie. */
@font-face { font-family: "Fraunces"; src: url("/static/polices/fraunces.woff2") format("woff2"); font-weight: 500 800; font-display: swap; }
@font-face { font-family: "Jakarta"; src: url("/static/polices/plus-jakarta-sans.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }
:root { --fond: #f5efe6; --fond-2: #efe6d8; --surface: #fffcf7; --surface-2: #f6f0e7; --texte: #1d2721; --doux: #6c7670; --tres-doux: #9aa29d; --bord: rgba(29, 39, 33, .08); --vert: #2e5d45; --vert-2: #3f7a5b; --vert-pale: #e2efe6; --terre: #d0643a; --terre-pale: #fbe6dc; --or: #e3a83b; --or-pale: #fcf0d6; --rouge: #b6402f; --ombre-1: 0 1px 2px rgba(40, 30, 20, .05), 0 2px 8px rgba(40, 30, 20, .05); --ombre-2: 0 6px 24px rgba(40, 30, 20, .10), 0 2px 6px rgba(40, 30, 20, .06); --ombre-3: 0 18px 50px rgba(30, 25, 15, .22); --verre: rgba(255, 252, 247, .78); --r-1: 12px; --r-2: 18px; --r-3: 26px; --titre: "Fraunces", Georgia, "Times New Roman", serif; --ui: "Jakarta", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --haut: env(safe-area-inset-top, 0px); --bas: env(safe-area-inset-bottom, 0px); color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root { --fond: #101512; --fond-2: #151b17; --surface: #19201c; --surface-2: #212a25; --texte: #ecf1ed; --doux: #a2ada6; --tres-doux: #78837c; --bord: rgba(236, 241, 237, .08); --vert: #86c9a1; --vert-2: #a5dcb9; --vert-pale: #1f3328; --terre: #ee8a5f; --terre-pale: #3a2419; --or: #f0c062; --or-pale: #3a2f17; --rouge: #f08a78; --ombre-1: 0 1px 2px rgba(0, 0, 0, .3); --ombre-2: 0 8px 26px rgba(0, 0, 0, .35); --ombre-3: 0 20px 60px rgba(0, 0, 0, .55); --verre: rgba(25, 32, 28, .78); color-scheme: dark; }
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { background: var(--fond); }
body { margin: 0; font-family: var(--ui); color: var(--texte); background: var(--fond); font-size: 16px; line-height: 1.45; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; background: none; padding: 0; }
a { color: inherit; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--vert) 55%, transparent); outline-offset: 2px; border-radius: 10px; }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------------------------------------------------------------- typographie */
.surtitre { font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--terre); margin: 6px 0 4px; }
h1.grand { font-family: var(--titre); font-weight: 700; font-size: clamp(2rem, 9vw, 2.6rem); line-height: 1.02; letter-spacing: -.025em; margin: 0; font-variation-settings: "opsz" 144; }
h2.section { font-family: var(--titre); font-size: 1.3rem; font-weight: 700; margin: 26px 0 10px; letter-spacing: -.01em; }
.doux { color: var(--doux); }
.petit { font-size: .85rem; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
