@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/InstrumentSerif-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2122, U+2212; }
    @font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/InstrumentSerif-latinExt.woff2') format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+2C60-2C7F, U+A720-A7FF; }
    :root {
      color-scheme: dark;
      --bg: #1E221E;
      --text: #F4F1EA;
      --text-soft: #DDE0D6;
      --text-secondary: #A8B0A5;
      --amber: #D9A066;
      --surface: #2A2F28;
      --serif: "Instrument Serif", ui-serif, "New York", "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;
      --round: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0; min-height: 100vh; min-height: 100dvh;
      background:
        radial-gradient(88% 52% at 16% -6%, rgba(255,251,243,0.045) 0%, rgba(255,251,243,0) 55%),
        linear-gradient(180deg, #1E221E 0%, #181C18 100%);
      background-color: #1E221E; color: var(--text);
      font-family: var(--round); font-size: 17px; line-height: 1.75; letter-spacing: -0.01em;
      -webkit-font-smoothing: antialiased;
    }
    .wrap { max-width: 38rem; margin: 0 auto; padding: 0 max(1.6rem, env(safe-area-inset-right)) 5rem max(1.6rem, env(safe-area-inset-left)); }
    header { padding: 1.7rem 0 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .brand { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; }
    .brand svg { width: 30px; height: 27px; display: block; }
    .brand .name { color: var(--text); font-weight: 600; font-size: 1.1rem; letter-spacing: -0.02em; }
    .menu { position: relative; }
    .menu > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; font-weight: 600; color: var(--text-secondary); padding: 0.65rem 0.75rem; border-radius: 10px; }
    .menu > summary::-webkit-details-marker { display: none; }
    .menu > summary::after { content: "▾"; font-size: 0.85em; }
    .menu > summary:hover { color: var(--text-soft); }
    .menu-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; display: flex; flex-direction: column; min-width: 12.5rem; padding: 0.35rem; background: var(--surface); border: 1px solid rgba(255,255,255,0.06); border-radius: 13px; box-shadow: 0 16px 34px -14px rgba(0,0,0,0.65); }
    .menu-panel a { padding: 0.6rem 0.7rem; border-radius: 9px; color: var(--text-soft); text-decoration: none; font-size: 0.96rem; box-shadow: none; }
    .menu-panel a:hover { background: rgba(255,255,255,0.05); }
    .menu-panel a[aria-current] { color: var(--text); font-weight: 600; }
    .menu > summary:focus-visible { outline: 2px solid transparent; box-shadow: 0 0 0 3px var(--bg), 0 0 0 5px rgba(217,160,102,0.7); }
    /* même retour qu'ailleurs : cible tactile ≥44pt, soulignement collé au texte */
    a.back { display: inline-block; font-size: 0.9rem; color: var(--text-secondary); text-decoration: underline; text-decoration-color: rgba(168,176,165,0.4); text-decoration-thickness: 1px; text-underline-offset: 3px; padding: 0.65rem 0; margin-bottom: 2rem; }
    a:focus-visible { outline: 2px solid transparent; border-radius: 4px; box-shadow: 0 0 0 3px var(--bg), 0 0 0 5px rgba(217,160,102,0.7); }
    h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(1.9rem, 5.2vw, 2.5rem); line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 0.4rem; }
    .updated { color: var(--text-secondary); font-size: 0.9rem; margin: 0 0 2.5rem; }
    h2 { font-family: var(--round); font-weight: 600; font-size: 1.15rem; letter-spacing: -0.02em; margin: 2.4rem 0 0.6rem; color: var(--text); }
    p { color: var(--text-soft); margin: 0 0 1rem; text-wrap: pretty; }
    ul { color: var(--text-soft); padding-left: 1.2rem; margin: 0 0 1rem; }
    li { margin-bottom: 0.4rem; }
    strong { color: var(--text); font-weight: 600; }
    .mail { color: var(--amber); text-decoration: none; box-shadow: inset 0 -1px 0 rgba(217,160,102,0.4); }
    .sig { display: inline-flex; align-items: center; gap: 0.55rem; font-family: var(--serif); font-weight: 400; color: var(--text); font-size: 1.35rem; margin-top: 2rem; }
    .sig .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); display: inline-block; box-shadow: 0 0 10px rgba(217,160,102,0.55); }
