.pg[hidden]{display:none!important}@media (max-width:820px){.pg .mcta{bottom:36px}}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:var(--oc-ink-900); --ink-soft:#1E323F; --bleu:var(--oc-cobalt-700); --orange:var(--oc-orange-500); --sky:var(--oc-iris); --bleu-clair:var(--oc-cobalt-500); --sky:var(--oc-iris); --bleu-clair:var(--oc-cobalt-500); --paper:#F4F7F8; --paper-warm:#E7EEF2; --slate:var(--oc-ink-700); --line:var(--oc-border); --line-light:rgba(243,245,244,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --stop:#9B2C2C; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:var(--oc-ink-900); --ink-soft:#1E323F; --bleu:var(--oc-cobalt-700); --orange:var(--oc-orange-500); --sky:var(--oc-iris); --bleu-clair:var(--oc-cobalt-500); --paper:#F4F7F8; --paper-warm:#E7EEF2; --slate:var(--oc-ink-700); --line:var(--oc-border); --line-light:rgba(243,245,244,.16); --ok:#0E7A5F; --warn:#A05F00; --stop:#9B2C2C; --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,64px);}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}:root{--oc-cobalt-900:#1E3F58; --oc-cobalt-700:#3A6E96; --oc-cobalt-500:#4D8EBC; --oc-cobalt-300:#8FBBD8; --oc-cobalt-100:#DCEBF5; --oc-orange-900:#7E2A11; --oc-orange-700:#B33D1C; --oc-orange-500:#E95931; --oc-orange-300:#F49B80; --oc-orange-100:#FDE6DE; --oc-ink-900:#14242E; --oc-ink-700:#3C4C57; --oc-ink-500:#66757E; --oc-ink-300:#C4CCD2; --oc-ink-100:#E4E8EA; --oc-iris:#AFDAEF; --oc-paper:#FFFFFF; --oc-paper-alt:#F6F9FB; --oc-text:var(--oc-ink-900); --oc-text-muted:var(--oc-ink-700); --oc-link:var(--oc-cobalt-700); --oc-link-hover:var(--oc-cobalt-900); --oc-accent:var(--oc-orange-500); --oc-accent-text:var(--oc-orange-700); --oc-border:var(--oc-ink-100); --oc-border-strong:var(--oc-ink-300); --oc-focus:var(--oc-orange-500); --oc-radius-sm:4px; --oc-radius-md:10px; --oc-radius-pill:999px; --oc-shadow-1:0 1px 2px rgba(20,36,46,.08),0 4px 12px rgba(20,36,46,.06); --oc-lh-tight:1.12; --oc-lh-snug:1.28; --oc-lh-normal:1.6;}:root{--ink:#14242E; --ink-soft:#1E323E; --cobalt:var(--oc-cobalt-700); --brand:var(--oc-cobalt-500); --iris:#AFDAEF; --fluo:var(--oc-orange-500); --paper:#F4F6F7; --paper-warm:#E7EDF0; --slate:#3C4C57; --ok:#0E7A5F; --warn:#A05F00; --line:rgba(20,36,46,.14); --line-light:rgba(244,246,247,.16); --display:"Archivo",system-ui,sans-serif; --body:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --gut:clamp(20px,5vw,80px); --maxw:1240px;}html{scroll-behavior:smooth;scroll-padding-top:140px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width:1300px){@keyframes drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--oc-focus);outline-offset:2px;border-radius:var(--oc-radius-sm)}:root{--oc-border:#D9E3EC; --oc-border-strong:#B9CCDC; --oc-paper-alt:#E3ECF5; --oc-sable:#D8C5B4; --line:#D9E3EC; --line-light:rgba(214,228,240,.22); --paper:#F2F6FA; --paper-warm:#E3ECF5;}/* ============================================================
   THÈMES — socle clair par défaut, nuit sous html[data-theme="nuit"]
   ============================================================ */
html[data-theme="nuit"]{
  --n-deep:rgba(11,20,26,.66); --n-deep-2:rgba(16,28,36,.66);
  --n-surface:rgba(20,36,46,.62); --n-surface-2:rgba(23,40,50,.50);
  --n-surface-3:rgba(30,63,88,.34); --n-surface-4:rgba(175,218,239,.10);
  --n-tint-cobalt:rgba(30,63,88,.42); --n-tint-orange:rgba(126,42,17,.26);
  --n-tint-iris:rgba(175,218,239,.14); --n-tint-sable:rgba(216,197,180,.14);
  --n-line:rgba(175,218,239,.17); --n-line-soft:rgba(175,218,239,.09); --n-line-strong:rgba(175,218,239,.32);
  --n-text:#F6F9FB; --n-text-muted:rgba(246,249,251,.78); --n-text-dim:rgba(246,249,251,.75);
  --n-link:#8FBBD8; --n-link-hover:#DCEBF5;
  --n-ok:#5CC3A2; --n-warn:#E0A040; --n-stop:#E8756B;
  color-scheme:dark;
}html[data-theme="nuit"],html[data-theme="nuit"] body{background:#14242E !important;color:var(--n-text)}html[data-theme="nuit"] .pg{background:transparent !important}html[data-theme="nuit"] ::selection{background:#E95931;color:#14242E}/* --- monde et atmosphère : présents dans les deux thèmes --- */
#world{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.6s ease .3s}body.lit #world{opacity:1}.pg{position:relative;z-index:10;background:transparent !important}html[data-theme="jour"] body{background:#F6F9FB !important}/* --- écran d'ouverture --- */
#nuit-loader{position:fixed;inset:0;z-index:300;background:#F6F9FB;display:grid;place-content:center;gap:1.6rem;
  justify-items:center;transition:opacity .9s ease,visibility .9s}html[data-theme="nuit"] #nuit-loader{background:#14242E}#nuit-loader.done{opacity:0;visibility:hidden}#nuit-loader[hidden]{display:none}/* --- calques en parallaxe --- */
.figure-layers{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}:where(.figure-layers) .layer{position:absolute;will-change:transform;opacity:.55}html[data-theme="nuit"] :where(.figure-layers) .layer{opacity:1}.layer--a{top:2%;left:-8%;width:min(44vw,480px);opacity:.16}.layer--b{bottom:-4%;right:-10%;width:min(50vw,600px);opacity:.14}.layer--c{top:30%;right:10%;width:min(13vw,120px);opacity:.24}html[data-theme="nuit"] .layer--a{opacity:.28}html[data-theme="nuit"] .layer--b{opacity:.22}html[data-theme="nuit"] .layer--c{opacity:.42}header.hero,section{position:relative}/* --- planches et logos --- */
.hero-ill{opacity:.9}html[data-theme="nuit"] .hero-ill{opacity:.55;filter:saturate(.85)}.nplate .nuit,.f-brand .plate .nuit,.brand .plate .nuit{display:none}html[data-theme="nuit"] .nplate .jour,html[data-theme="nuit"] .f-brand .plate .jour,html[data-theme="nuit"] .brand .plate .jour{display:none}html[data-theme="nuit"] .nplate .nuit,html[data-theme="nuit"] .f-brand .plate .nuit,html[data-theme="nuit"] .brand .plate .nuit{display:block}/* --- titres révélés par masque --- */
.tmask{overflow:hidden;display:block}.tmask > span{display:block;transform:translateY(105%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.tmask.vu > span{transform:none}@keyframes nuitDrip{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}#demo{border-top:2px solid #E95931}@media (max-width:860px){:where(.figure-layers) .layer{display:none}}@media (prefers-reduced-motion:reduce){:where(.figure-layers) .layer{display:none}.tmask > span{transform:none}}/* ============================================================
   NAVIGATION UNIFIÉE — deux thèmes
   ============================================================ */
:root{
  --nv-bar:rgba(255,255,255,.92); --nv-top:rgba(246,249,251,.94);
  --nv-text:#14242E; --nv-soft:#3C4C57; --nv-mut:#66757E;
  --nv-line:rgba(20,36,46,.14); --nv-panel:rgba(255,255,255,.98);
  --nv-hover:#14242E;
}html[data-theme="nuit"]{
  --nv-bar:rgba(20,36,46,.88); --nv-top:rgba(20,36,46,.72);
  --nv-text:#F6F9FB; --nv-soft:#AEB8BE; --nv-mut:#8FBBD8;
  --nv-line:rgba(175,218,239,.17); --nv-panel:rgba(13,24,31,.97);
  --nv-hover:#F6F9FB;
}.nuittop,.nuitnav,#menu-full{--gut:clamp(20px,5vw,80px);--maxw:1240px;font-family:"Archivo",system-ui,sans-serif}.nwrap{width:min(100% - var(--gut) * 2,var(--maxw));margin-inline:auto}.nuitnav{position:sticky;top:0;z-index:45;background:var(--nv-bar);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--nv-line)}.nuitnav .nwrap{display:flex;align-items:center;gap:1.2rem;padding-block:.85rem}.nbrand{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex:none;color:var(--nv-text)}.nplate{display:block;width:112px;flex:none}.nplate img{width:100%;height:auto}.ntxt{display:flex;flex-direction:column;line-height:1.15}.ntxt strong{font-weight:600;font-size:.95rem;letter-spacing:.03em}.ntxt > span{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--nv-mut);margin-top:.28rem}.nlinks{display:flex;gap:1.4rem;list-style:none;margin:0 0 0 auto;padding:0}.nlinks > li > a{text-decoration:none;font-size:.875rem;font-weight:500;color:var(--nv-soft);
  transition:color .3s;white-space:nowrap}.nlinks a:hover,.has-sub.open > a{color:var(--nv-hover)}.nlinks .has-sub{position:relative}.nlinks .chev{font-size:.6em;margin-left:.35em;opacity:.6;transition:transform .25s,opacity .25s;display:inline-block}.has-sub.open .chev{transform:rotate(180deg);opacity:1}.nsub{position:absolute;top:calc(100% + .85rem);left:-1.1rem;min-width:250px;z-index:60;
  background:var(--nv-panel);backdrop-filter:blur(12px);
  border:1px solid var(--nv-line);border-top:1px solid #E95931;
  box-shadow:0 22px 48px rgba(20,36,46,.14);
  padding:1rem 1.1rem;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility .25s}html[data-theme="nuit"] .nsub{box-shadow:0 22px 48px rgba(6,12,16,.5)}.has-sub.open .nsub{opacity:1;visibility:visible;transform:none}.nsub::before{content:"";position:absolute;left:0;right:0;top:-.9rem;height:.9rem}.nsub ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.nsub a{font-size:.875rem;font-weight:400;color:var(--nv-soft);white-space:nowrap;
  transition:color .2s,padding-left .2s;display:block;text-decoration:none}.nsub a:hover{color:var(--nv-hover);padding-left:.3rem}.nbtn{flex:none;background:none;border:1px solid var(--nv-line);color:var(--nv-text);cursor:pointer;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.875rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.75em 1em;text-decoration:none;
  transition:border-color .3s,background .3s,color .3s}.nbtn:hover{border-color:#4D8EBC}.nbtn--rdv{border-color:#E95931;color:#B33D1C}html[data-theme="nuit"] .nbtn--rdv{color:#F49B80}.nbtn--rdv:hover{background:#E95931;color:#FFFFFF}html[data-theme="nuit"] .nbtn--rdv:hover{color:#14242E}.nbtn--theme{display:flex;align-items:center;gap:.5em;padding:.7em .85em}.nbtn--theme svg{width:15px;height:15px;flex:none}.nbtn--theme .lune{display:none}html[data-theme="nuit"] .nbtn--theme .soleil{display:none}html[data-theme="nuit"] .nbtn--theme .lune{display:block}#menu-full{position:fixed;inset:0;z-index:80;background:var(--nv-panel);backdrop-filter:blur(8px);
  padding:clamp(80px,12vh,140px) var(--gut) 4rem;overflow-y:auto;opacity:0;visibility:hidden;
  transition:opacity .45s ease,visibility .45s}#menu-full.open{opacity:1;visibility:visible}#menu-full .menu-close{position:absolute;top:1.1rem;right:var(--gut)}#menu-full .menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:2.4rem 2rem;max-width:var(--maxw);margin-inline:auto}#menu-full h4,#menu-full h3.c-h{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.875rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--o-txt);margin:0 0 1rem;font-weight:400}#menu-full ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}#menu-full a{text-decoration:none;font-size:.92rem;color:var(--nv-soft);transition:color .25s,padding-left .25s}#menu-full a:hover{color:var(--nv-hover);padding-left:.35rem}body.locked{overflow:hidden}@media (max-width:1180px){.nlinks{display:none}}@media (max-width:700px){.nuitnav .nbtn--rdv{display:none}.nplate{width:92px}.ntxt strong{font-size:.875rem}}@keyframes drip-acc{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}/* ════════════════════════════════════════════════════════════
   ACCESSIBILITÉ — mission 3 (lot mécanique)                    a11y-mission-3
   Surcharge globale appliquée à toutes les pages, placée en fin
   de feuille pour l'emporter sur les règles scopées .pg-<page>.
   À PRÉSERVER lors du remaniement CSS de la mission 4.
   ════════════════════════════════════════════════════════════ */
/* Focus clavier visible partout. Additif : ne masque jamais l'anneau.
   !important car des règles scopées posent outline:none sur des cartes
   focusables (spécificité supérieure à la règle :focus-visible d'origine). */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline: 3px solid var(--oc-focus, #E95931) !important;
  outline-offset: 2px !important;
  border-radius: var(--oc-radius-sm, 4px);
}/* Cibles tactiles ≥ 44 px (WCAG 2.5.5). Contrôles d'interface uniquement ;
   les liens de prose gardent leur flux (exception « inline »). */
.nbtn,.mcta a,.floatcta a,.floatcta button{
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}.nav .btn,.toc a,.nlinks > li > a{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}.nsub a,#menu-full a{
  min-height: 44px;
  display: flex;
  align-items: center;
}
/* Barème « Distances couvertes sans lunettes » (mission 3) — remplace un mini-SVG
   dont les labels passaient sous 12 px en tablette/mobile. Ici les légendes sont
   du vrai texte HTML : taille stable ≥ 12 px à toute largeur. Trois barres, mêmes
   couleurs que l'ancien schéma. min-width:0 évite tout débordement de la grille. */
.oc-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0}
.oc-scale-col{min-width:0;display:flex;flex-direction:column;gap:.45rem}
.oc-scale .oc-bar{height:17px;border-radius:3px;background:#C6CEDC}
.oc-scale .oc-bar.on{background:#0E7A5F}
.oc-scale .oc-bar.mid{background:#8FC3AD}
.oc-scale .oc-lab{font-family:var(--mono);font-size:.875rem;letter-spacing:.02em;line-height:1.25;color:var(--slate);text-align:center;overflow-wrap:anywhere;hyphens:auto}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — nav mobile : fin du débordement horizontal        nav-mobile-fit
   À 360 px, marque (logo + nom + sous-titre) + bouton thème +
   bouton menu ne tiennent pas sur une ligne → ~180 px de
   débordement, présent sur toutes les pages (élément commun).
   Sous 560 px : le logo « Rueil Ma Vision » porte la marque et le
   nom reste dans le H1/title ; on masque le lockup texte et le
   libellé du bouton thème (icône + title conservés, bouton toujours
   accessible). Cohérent avec le masquage du bouton RDV à 700 px. */
@media (max-width:560px){
  .nuitnav .ntxt{display:none}
  .nuitnav #theme-label{display:none}
}

/* Pied de page : les jetons insécables (e-mail, téléphone) peuvent se
   couper au lieu de déborder d'une colonne étroite sur mobile. Sans effet
   là où ils tiennent déjà.                                       nav-mobile-fit */
footer .f-top a{overflow-wrap:anywhere}

/* Encart clair `.note` : son titre <strong> n'avait pas de couleur propre et
   héritait du texte clair du thème sombre → invisible (contraste 1.12). On lui
   donne l'encre foncée, cohérente avec le paragraphe (fond clair, texte foncé). */
.note strong{color:var(--ink)}

/* skip-link — accessibilité (WCAG 2.4.1)                        a11y-skiplink */
.skip{position:absolute;left:8px;top:8px;z-index:100;transform:translateY(-150%);
  display:inline-flex;align-items:center;min-height:44px;padding:12px 20px;
  background:var(--oc-cobalt-900);color:#fff;text-decoration:none;
  font:600 1rem/1 var(--display,system-ui,sans-serif);
  border-radius:var(--oc-radius-sm);box-shadow:var(--oc-shadow-1);
  transition:transform .15s ease}
.skip:focus{transform:translateY(0);outline:3px solid var(--oc-orange-500);outline-offset:2px}
[id="contenu"]{scroll-margin-top:5rem}
@media (prefers-reduced-motion:reduce){.skip{transition:none}}

/* Fontes auto-hébergées — RGPD + perf (variables, sous-ensemble FR)  fonts-selfhosted */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:100% 125%;font-display:swap;src:url("/assets/fonts/archivo-var.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url("/assets/fonts/source-serif-4-var.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url("/assets/fonts/source-serif-4-italic-var.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-500.woff2") format("woff2")}
/* Signature bas d'article : garder le bloc nom/qualite et la date sur une meme
   ligne des le desktop. Le corps de texte remonte a 12px (a11y) elargit le bloc
   nom/qualite et faisait passer la date dessous (flex-wrap). On rend ce bloc
   flexible (il absorbe la place restante, la qualite s'enroule a l'interieur) et
   on fige la date a sa largeur, a droite. En dessous du seuil, l'empilement
   naturel (flex-wrap) reste en place — correct sur mobile. */
@media (min-width:820px){.auteur{flex-wrap:nowrap}.auteur>div{flex:1 1 0;min-width:0}.auteur>.auteur-d{flex:0 0 auto}}
/* ════════════════════════════════════════════════════════════
   NAV — resserrage entre 1181 et 1400 px            nav-symetrie-2026-09-02
   La barre réclame ~1207 px pour un conteneur de ~1152 px à 1280 px : elle
   débordait à droite et le bouton « Rendez-vous » finissait à 1 px du bord,
   contre 72 px de gouttière à gauche (asymétrie visible sur les portables les
   plus courants). On resserre les gouttières internes sur cette plage
   uniquement ; au-delà de 1400 px rien ne change.
   ════════════════════════════════════════════════════════════ */
@media (min-width:1181px) and (max-width:1400px){
  .nuitnav .nwrap{gap:.7rem}
  .nuitnav .nlinks{gap:.9rem}
}
@media (min-width:1181px) and (max-width:1260px){
  .nuitnav .nwrap{gap:.5rem}
  .nuitnav .nlinks{gap:.7rem}
}
/* Sous 1180 px, .nlinks disparaît — et avec lui le `margin-left:auto` qui
   poussait les boutons à droite : ils se collaient au logo en laissant jusqu'à
   370 px de vide. On rend l'alignement au conteneur de marque. */
@media (max-width:1180px){
  .nuitnav .nbrand{margin-right:auto}
}
/* ════════════════════════════════════════════════════════════
   THÈME NUIT — surfaces oubliées                    surfaces-nuit-2026-09-02
   --paper-warm est un fond clair utilisé 230 fois, TOUJOURS en `background`
   (jamais en couleur ni en bordure : le remappage ne peut donc pas toucher du
   texte). Il n'avait aucun équivalent nuit : les blocs qui s'en servent sans
   surcharge explicite restaient clairs sous le thème sombre, avec du texte clair
   par-dessus — 5 sections entières et un encart devenaient illisibles (titres
   mesurés à 1,13:1). Les blocs qui ont déjà leur propre bascule nuit
   (`.note{background:var(--n-surface-3)}`, etc.) gardent la leur : ce remappage
   ne rattrape que les oublis.
   ════════════════════════════════════════════════════════════ */
html[data-theme="nuit"]{--paper-warm:var(--n-surface-2);--slate:#A9B6C0;--oc-ink-500:#B4BEC5}
/* .pg-accueil redéfinit le jeton sur son propre conteneur : il faut le suivre
   au même niveau, sinon l'ancêtre le plus proche l'emporte sur html[data-theme]. */
html[data-theme="nuit"] .pg-accueil{--oc-ink-500:#B4BEC5}

/* ui-navbar-2026-09-19 : allègement de la barre.
   (1) sur desktop (liens .nlinks visibles >=1181px), le bouton « Menu » fait
       doublon avec les déroulants -> masqué ; il reste sous 1180px, où .nlinks
       est caché. (2) le libellé « Jour/Nuit » du bouton thème passe en sr-only :
       invisible à l'écran (l'icône suffit) mais gardé pour les lecteurs d'écran.
       Remplace le display:none partiel à 560px (même spécificité, plus loin dans
       la source -> gagne aux deux largeurs). */
@media (min-width:1181px){ .nuitnav #menu-open{display:none} }
.nuitnav #theme-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ui-boutons-2026-09-19 : généralisation du polish d'interaction des CTA à tout
   le site (l'accueil le portait déjà, scopé). Uniquement des états :hover/:active
   -> aucun changement au repos (prouvé à l'oracle). L'apparence des boutons reste
   propre à chaque page ; seul le comportement au survol est unifié : léger lift +
   ombre douce, ombre orangée pour les CTA pleins/accent, respect de reduced-motion.
   Les bases .pg-<scope> .btn portent déjà une transition (interieur: .18s ; accueil:
   liste étendue) qui anime transform/box-shadow. */
.btn:hover{transform:translateY(-1px);box-shadow:var(--oc-shadow-1)}
.btn--fill:hover,.btn--onink:hover{box-shadow:0 8px 20px rgba(233,89,49,.26)}
.btn:active{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){ .btn:hover,.btn:active,.btn--fill:hover,.btn--onink:hover{transform:none} }
/* Audit 2026-10-09 — thème nuit : encres sombres posées en style inline
   (--ink = couleur du fond nuit) ramenées sur les encres claires. Le bouton
   .tst du bandeau mobile garde son fond blanc, donc son encre sombre. */
html[data-theme="nuit"] [style*="color:var(--ink)"]:not(.tst){color:var(--n-text)!important}
html[data-theme="nuit"] [style*="color:var(--oc-ink-700)"]{color:var(--n-text-muted)!important}
/* Audit 2026-10-09 — schémas légendés : en mobile, largeur minimale lisible
   (légendes ≥ 12 px) et défilement horizontal dans leur cadre. */
.fig-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fig-scroll:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}
.fig-scroll-hint{display:none}
@media (max-width:760px){
  .fig-scroll>svg{min-width:var(--fig-min,760px)}
  .fig-scroll-hint{display:block;font-family:var(--mono);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oc-ink-500);text-align:right;margin-top:.5rem}
}
/* Audit 2026-10-09 — thème nuit : texte des schémas posé directement sur le
   cadre (devenu sombre). Chaque règle vise un schéma précis ; les textes posés
   sur des cases claires (ex. Deuxième avis) ne sont pas concernés. */
html[data-theme="nuit"] .pg-prelex svg[viewBox="0 0 380 696"] text[fill="#14242E"],
html[data-theme="nuit"] .pg-ametropies svg[viewBox="-8 0 1420 768"] text[fill="#14242E"],
html[data-theme="nuit"] .pg-refractive svg[viewBox="0 0 585 300"] text[fill="#14242E"],
html[data-theme="nuit"] .pg-cataracte svg[viewBox="0 0 440 400"] text[fill="#14242E"],
html[data-theme="nuit"] .pg-cataracte svg[viewBox="0 0 380 448"] text[fill="#14242E"],
html[data-theme="nuit"] .pg-oppre svg[viewBox="0 0 700 212"] text[fill="#14242E"]{fill:var(--n-text)}
html[data-theme="nuit"] .pg-prelex svg[viewBox="0 0 380 696"] text[fill="#46505F"],
html[data-theme="nuit"] #radar--refractive text[fill="#46505F"],
html[data-theme="nuit"] .pg-cataracte svg[viewBox="0 0 440 400"] text[fill="#46505F"],
html[data-theme="nuit"] .pg-oppre svg[viewBox="0 0 700 212"] text[fill="#46505F"]{fill:var(--n-text-muted)}
html[data-theme="nuit"] .pg-prelex svg[viewBox="0 0 380 696"] text[fill="#5B6577"],
html[data-theme="nuit"] .pg-cataracte svg[viewBox="0 0 440 400"] text[fill="#5B6577"],
html[data-theme="nuit"] .pg-oppre svg[viewBox="0 0 700 212"] text[fill="#5B6577"],
html[data-theme="nuit"] .pg-avis2 svg[viewBox="0 0 880 442"] text[fill="#5B6577"]{fill:var(--n-text-dim)}
html[data-theme="nuit"] .pg-prelex svg[viewBox="0 0 380 696"] line[stroke="rgba(20,36,46,.14)"]{stroke:var(--n-line)}
html[data-theme="nuit"] .pg-cataracte svg[viewBox="0 0 440 400"] rect[fill="rgba(20,36,46,.06)"]{fill:rgba(246,249,251,.07)}
/* Audit 2026-10-09 — plancher du texte courant à 16 px (règle projet : corps
   de texte ≥ 16 px). Les tailles réduites étaient réparties dans les feuilles
   par page ; ce plancher les couvre sans toucher aux étiquettes en mono
   (sur-titres, mentions, légendes en capitales), qui restent à 12 px. */
:is(.ic li,.acard p,.acard li,.bcard li,.bcard li span,.blocks li,
    .vs th,.vs td,.tarifs th,.tarifs td,.pg table td,
    .legal-dl dd,.note p,.cxc p,.reco p,.oc-d,.qa dt,.cf-check span,
    .menu-grid a,.dip li,.compare .cc li,.alert li,.fcard li,.corr li,.retenir li,
    p[style*="font-size:.8"],p[style*="font-size:.9"]){font-size:1rem!important}
/* Audit 2026-10-09 — longueur de ligne : au-delà de ~75 caractères l'œil
   décroche en fin de ligne. Les encadrés gardent leur largeur, le texte est
   plafonné. */
:is(.note p,.blocks section p,.split--seul p,.cxc p,.cf-warn p,.term dd,.exp-n,li.now p){max-width:68ch!important}
/* Audit 2026-10-09 — orange de la marque employé en TEXTE. L'orange #E95931
   ne passe pas 4,5:1 : 3,5 sur fond clair, 4,49 sur fond sombre. Le texte
   orange passe par --o-txt : orange foncé de la palette (#B33D1C, 5,8:1) sur
   fond clair, orange à peine éclairci (#EC6F4C, ≥ 4,55:1) sur fond sombre.
   Fonds, bordures et pastilles gardent l'orange d'origine. */
:root{--o-txt:var(--oc-orange-700)}
html[data-theme="nuit"],
footer,.urgences,header.hero,section.eng,section.deroul,
div.laser,div.ci,div.step,div.intro,.pg-cataracte article.step{--o-txt:#EC6F4C}
html[data-theme="jour"] .pg-accueil footer{--o-txt:var(--oc-orange-700)}
/* Audit 2026-10-09 — derniers contrastes. */
.pg-article header.hero .art-meta,.pg-article header.hero .art-meta time{color:rgba(246,249,251,.78)}
html[data-theme="nuit"]{--slate:#A9B6C0}
html[data-theme="nuit"] [style*="color:var(--cobalt)"]{color:var(--n-link)!important}
html[data-theme="jour"] .oc-cell{--o-txt:var(--oc-orange-700)}
/* Encadré « Tarif » des pages de technique (repris de page-lasik), commun
   pour que toutes les pages de technique l'affichent à l'identique. Préfixe
   .pg : l'emporte sur la remise à zéro « .pg-xxx * » des feuilles par page. */
.pg .tarif{background:#fff;border:1px solid var(--oc-border);border-left:3px solid var(--oc-orange-500);border-radius:var(--oc-radius-sm);padding:1.2rem 1.4rem;margin-top:1.6rem;max-width:780px;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.4rem}
.pg .tarif .k{font-family:var(--mono);font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oc-orange-700);width:100%}
.pg .tarif .m{font-family:var(--display);font-weight:750;font-stretch:106%;font-size:1.5rem;letter-spacing:-.02em;color:var(--oc-ink-900)}
.pg .tarif .u{font-size:1rem;color:var(--oc-ink-700)}
.pg .tarif .d{font-size:1rem;line-height:1.6;color:var(--oc-ink-700);width:100%;margin-top:.3rem}
html[data-theme="nuit"] .pg .tarif{background:rgba(14,24,30,.78);border:1px solid var(--n-line);border-left:3px solid var(--oc-orange-500)}
html[data-theme="nuit"] .pg .tarif .k{color:var(--oc-orange-300)}
html[data-theme="nuit"] .pg .tarif .m{color:var(--n-text)}
html[data-theme="nuit"] .pg .tarif :is(.u,.d){color:var(--n-text-muted)}
/* 2026-10-10 — menus de chapitres (.toc) collants : « overflow-x:hidden » sur
   le conteneur .pg en faisait un conteneur de défilement et annulait le
   position:sticky. « clip » coupe pareil le débordement sans cet effet. */
@supports (overflow:clip){.pg{overflow-x:clip!important}}
/* Menu de chapitres collé juste sous la barre de navigation (92 px, 72 px
   sous 700 px), sous elle dans l'empilement, fond opaque en thème nuit
   (l'ancien fond translucide laissait lire le titre à travers les liens). */
.pg .toc{top:92px!important;z-index:44!important}
@media (max-width:700px){.pg .toc{top:72px!important}}
html[data-theme="nuit"] .pg .toc{background:#182D3A!important}
/* 2026-10-10 — cibles tactiles ≥ 44 px en mobile (règle projet). La zone
   cliquable est agrandie (min-height + centrage vertical) sans changer la
   taille du texte ; l'aspect bouge à peine. */
@media (max-width:760px){
  :is(.ulist a,.f-legal a,.f-rpps a,.corr h4 a,.post .body>a,.lieu-a a,.fname a,
      .ac address a,.acards .ac>a,.ac h3 a,.pg-test .wrap>nav>a,.pg-test .wrap>span>a),:is(.ulist a,.f-legal a,.f-rpps a,.corr h3.c-h a,.post .body>a,.lieu-a a,.fname a,
      .ac address a,.acards .ac>a,.ac h3 a,.pg-test .wrap>nav>a,.pg-test .wrap>span>a){display:inline-flex;align-items:center;min-height:44px}
  :is(.sfo li a,.blocks a,.pane li a){min-height:44px!important}
  .nbrand{min-height:44px}
  .alpha a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .radar-legend button{min-height:44px}
  .cf-check{min-height:44px;align-items:center}
  .cf-check input{width:24px!important;height:24px!important;flex:none}
}
/* Titre du bloc urgences : rangée flex → texte continu, sinon « 15 » et la
   suite se retrouvaient chacun sur leur ligne en mobile (défaut préexistant). */
.pg .urgences .hd{display:block!important}
.pg .urgences .hd svg{display:inline-block;vertical-align:-.2em;margin-right:.5em}
/* 2026-10-10 : titres de colonnes du pied de page, h4 devenus h2 (classe f-h) ;
   le validateur W3C signalait un saut de niveau h2 vers h4 sur chaque page.
   Style recopié à l'identique de l'ancien footer h4 (vérifié par mesure). */
.pg footer h2.f-h{font-family:var(--mono);font-size:.875rem;font-weight:400;font-stretch:100%;letter-spacing:.14em;line-height:1.65;text-transform:uppercase;color:var(--oc-ink-300);margin:0 0 1rem;padding:0;max-width:none;text-wrap:wrap}
html[data-theme="nuit"] .pg footer h2.f-h{color:var(--n-text-dim)}
html .pg.pg-accueil footer h2.f-h{letter-spacing:.2em;line-height:1.62;color:var(--o-txt)}
/* 2026-10-10 : titres de cartes, h4 devenus h3 (classe c-h), pour les sauts h2 vers
   h4 du validateur. Les règles visant h4 ont été dupliquées pour h3.c-h ; on
   neutralise ici ce que les règles générales des h3 ajouteraient. */
.pg h3.c-h{font-stretch:inherit;letter-spacing:inherit}

/* Encarts de fin de page (.cta) : même style que l'encart « Auto-évaluation »
   de l'accueil — cadre bleu cobalt dans la largeur du texte, titre fin, bouton
   principal orange, bouton secondaire en contour blanc. Jour et nuit. */
html .pg:not(.pg-accueil) section.cta{background:transparent!important;color:#fff!important;padding-inline:0!important;border:0!important}
html .pg:not(.pg-accueil) section.cta .wrap{width:min(100% - var(--gut) * 2,var(--maxw))!important;max-width:none!important;margin-inline:auto!important;box-sizing:border-box;padding:clamp(1.8rem,4vw,3rem)!important;background:#2C5878!important;border:1px solid #2C5878!important;color:#fff!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2rem!important;align-items:center!important}
html[data-theme="nuit"] .pg:not(.pg-accueil) section.cta .wrap{border-color:rgba(175,218,239,.28)!important}
html .pg:not(.pg-accueil) section.cta h2{font-family:var(--display)!important;font-weight:300!important;font-stretch:100%!important;font-size:clamp(1.8rem,1.2rem + 2.2vw,3rem)!important;line-height:1.12!important;letter-spacing:-.015em!important;color:#fff!important;max-width:26ch;margin:0 0 .9rem!important}
html .pg:not(.pg-accueil) section.cta p{color:#fff!important;margin:0!important;max-width:64ch!important}
html .pg:not(.pg-accueil) section.cta p a{color:#fff!important}
html .pg:not(.pg-accueil) section.cta .actions{display:flex!important;flex-wrap:wrap!important;gap:.7rem!important;justify-self:end!important}
html .pg:not(.pg-accueil) section.cta .btn{font-family:var(--mono)!important;font-weight:400!important;font-size:.875rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;padding:12px 18px!important;min-height:44px!important;border-radius:0!important;box-shadow:none;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center;background:var(--oc-orange-500)!important;border:1px solid var(--oc-orange-500)!important;color:#0B1215!important}
html .pg:not(.pg-accueil) section.cta .btn:hover{background:var(--oc-orange-300)!important;border-color:var(--oc-orange-300)!important;color:#0B1215!important}
html .pg:not(.pg-accueil) section.cta .btn--o{background:transparent!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important}
html .pg:not(.pg-accueil) section.cta .btn--o:hover{background:rgba(255,255,255,.14)!important;border-color:#fff!important;color:#fff!important}
html .pg:not(.pg-accueil) section.cta .btn:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
@media (max-width:860px){html .pg:not(.pg-accueil) section.cta .wrap{grid-template-columns:1fr!important}html .pg:not(.pg-accueil) section.cta .actions{justify-self:start!important}}
@media (max-width:560px){html .pg:not(.pg-accueil) section.cta .actions{flex-direction:column!important;align-items:stretch!important;justify-self:stretch!important}html .pg:not(.pg-accueil) section.cta .btn{width:100%!important;letter-spacing:.08em!important}}

/* Navigateurs mobiles : empêcher l'assombrissement automatique (Chrome Android,
   Samsung Internet) qui modifie les couleurs du site sur téléphone. */
html[data-theme="jour"]{color-scheme:only light}
html[data-theme="nuit"]{color-scheme:only dark}

/* Schémas sur téléphone : affichés en entier dans la largeur de l'écran, sans
   défilement. Les schémas de l'œil passent en repères numérotés + légende. */
.fig-num,.fig-leg{display:none}
@media (max-width:700px){
  html .fig-scroll{overflow:visible!important}
  /* le cadre entier prend la largeur de l'écran (pas l'image seule), sans cadre intérieur */
  html .pg :is(div.oc-fig,figure.card-w,div.radar-wrap):has(.fig-scroll){width:calc(100vw - 16px)!important;max-width:none!important;margin-left:calc(50% - 50vw + 8px)!important;margin-right:0!important;padding:12px!important;box-sizing:border-box}
  html .pg div.oc-fig figure.oc-fig{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
  html .pg :is(div.oc-fig,figure.card-w,div.radar-wrap):has(.fig-scroll) :is(.oc-hd,.oc-cap,figcaption,.fig-leg,.radar-note){padding-inline:10px}
  .fig-scroll>svg{min-width:0!important;width:100%!important;height:auto;display:block}
  .fig-scroll-hint{display:none!important}
  .fig-scroll .fig-lab{display:none}
  .fig-scroll .fig-num{display:inline}
  html .pg .fig-leg{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1rem;list-style:none;counter-reset:fl;margin:1.4rem 0 .4rem;padding:0;font-family:var(--body);font-size:1rem;line-height:1.35;color:var(--oc-ink-900)}
  html .pg .fig-leg li{counter-increment:fl;display:flex;align-items:flex-start;gap:.5rem;margin:0}
  html .pg .fig-leg li::before{content:counter(fl);flex:none;width:1.6rem;height:1.6rem;border-radius:50%;background:#2E6B95;color:#fff;font-family:var(--mono);font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
  html[data-theme="nuit"] .pg .fig-leg{color:var(--n-text)}
  html .pg .fig-leg--1{grid-template-columns:1fr}
  /* schémas en image (1376×768) : le liseré dessiné dans l'image est irrégulier
     (masqué par les zones beiges, absent en bas). On le rogne et on pose une
     vraie bordure régulière. Rognage ≈ 20 unités en haut/bas, 38 sur les côtés. */
  html .pg .fig-scroll:has(>svg[viewBox="0 0 1376 768"]){overflow:hidden!important;border:1px solid #C9D5DF;border-radius:10px;background:#fff}
  html .pg .fig-scroll>svg[viewBox="0 0 1376 768"]{width:105.5%!important;max-width:none!important;margin:-1.62% 0 -1.62% -2.75%!important}
  /* coupe de la cornée : libellés agrandis */
  .fig-scroll>svg[viewBox="0 0 585 300"]{width:85%!important;overflow:visible}
  .fig-scroll>svg[viewBox="0 0 585 300"] text{font-size:28px}
  /* petits schémas sans défilement (cataracte : statistique ; PreLex : comparaison) en pleine largeur */
  html .pg figure.fig:has(>svg:is([viewBox="0 0 380 448"],[viewBox="0 0 380 696"])){width:calc(100vw - 16px)!important;max-width:none!important;margin-left:calc(50% - 50vw + 8px)!important;margin-right:0!important;box-sizing:border-box}
  html .pg figure.fig>svg:is([viewBox="0 0 380 448"],[viewBox="0 0 380 696"]){width:100%!important;max-width:none!important;height:auto;display:block}
  /* lien « Toutes les informations » de l'encadré tarif : cible tactile ≥ 44 px */
  html .pg .tarif span.d a{display:inline-flex;align-items:center;min-height:44px}
}

/* Cataracte, « Les six temps » : le conteneur des étapes est sans marge (défilement
   bord à bord) ; on rend la marge au titre, à la grille et à la légende. */
@media (max-width:760px){html .pg .wrap[style*="padding-inline:0"]>.oc-wrap{padding-inline:var(--gut)}}

/* ============================================================
   RECHERCHE — bouton loupe dans la barre + panneau (assets/recherche.js)
   ============================================================ */
.nbtn--srch{display:flex;align-items:center;justify-content:center;gap:.5em;padding:.7em .85em;min-width:44px;min-height:44px;box-sizing:border-box}.nbtn--lang{display:flex;align-items:center;justify-content:center;padding:.7em .6em;min-width:44px;min-height:44px;box-sizing:border-box;text-decoration:none;font-family:"IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em}@media (max-width:360px){.nuitnav .nbtn--lang{display:none}}
.nbtn--srch svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
/* place de la loupe : espacements de la barre resserrés aux largeurs serrées */
@media (min-width:1181px) and (max-width:1320px){.nuitnav .nwrap{gap:.75rem}}
/* entre 1181 et 1240 px, les 5 menus + la loupe ne tiennent pas : bouton « Menu », comme en dessous */
@media (min-width:1181px) and (max-width:1320px){.nuitnav .nlinks{display:none}.nuitnav #menu-open{display:flex}}
@media (min-width:701px) and (max-width:1180px){.nuitnav .nwrap{gap:.7rem}}
@media (max-width:860px){.nuitnav .ntxt{display:none}}
@media (max-width:400px){.nuitnav .nwrap{gap:.3rem!important}.nuitnav #menu-open{padding-inline:.7em}}
.srch{position:fixed;inset:0;z-index:200;background:rgba(11,20,26,.55);display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,8vh,88px) 12px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.srch[hidden]{display:none}
html.srch-ouvert{overflow:hidden}
.srch-box{width:min(760px,100%);background:#FFFFFF;color:#14242E;border:1px solid #D9E3EC;border-radius:12px;box-shadow:0 24px 60px rgba(11,20,26,.35);padding:clamp(14px,2.5vw,24px);font-family:"Source Serif 4",Georgia,serif}
.srch-lab{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:#3C4C57;margin:0 0 .6rem}
.srch-row{display:flex;align-items:center;gap:.6rem;border:2px solid #3A6E96;border-radius:10px;padding:0 .4rem 0 .8rem;background:#FFFFFF}
.srch-row:focus-within{box-shadow:0 0 0 3px rgba(58,110,150,.28)}
.srch-ico{width:22px;height:22px;flex:none;fill:none;stroke:#3A6E96;stroke-width:2;stroke-linecap:round}
.srch-q{flex:1;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:1.15rem;min-height:52px;padding:0}
.srch-q::-webkit-search-cancel-button{-webkit-appearance:none}
html .srch .srch-q:focus,html .srch .srch-q:focus-visible{outline:none!important;box-shadow:none!important}
.srch-close{flex:none;min-height:44px;min-width:44px;padding:0 .9rem;border:1px solid #D9E3EC;border-radius:8px;background:#F2F6FA;color:#14242E;font-family:"Archivo",system-ui,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer}
.srch-close:hover{border-color:#4D8EBC}
.srch-close:focus-visible,.srch-a:focus-visible,.srch-vide a:focus-visible{outline:3px solid #3A6E96;outline-offset:2px}
.srch-etat{margin:.9rem 0 .2rem;font-size:1rem;color:#3C4C57;min-height:1.5em}
.srch-res{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.srch-res li{margin:0}
.srch-a{display:block;text-decoration:none;color:inherit;border:1px solid #D9E3EC;border-radius:10px;padding:.85rem 1rem;background:#FFFFFF}
.srch-a:hover{border-color:#4D8EBC;background:#F2F6FA}
.srch-p{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.875rem;letter-spacing:.06em;color:#3A6E96;margin-bottom:.2rem}
.srch-t{display:block;font-family:"Archivo",system-ui,sans-serif;font-weight:600;font-size:1.05rem;line-height:1.35;margin-bottom:.3rem}
.srch-x{display:block;font-size:1rem;line-height:1.55;color:#3C4C57}
.srch mark{background:rgba(233,89,49,.22);color:inherit;border-radius:2px;padding:0 .05em}
.srch-vide{font-size:1rem;line-height:1.6;color:#3C4C57}
.srch-vide a{color:#3A6E96}
html[data-theme="nuit"] .srch-box{background:#14242E;color:#F6F9FB;border-color:rgba(175,218,239,.22)}
html[data-theme="nuit"] .srch-lab,html[data-theme="nuit"] .srch-etat,html[data-theme="nuit"] .srch-x,html[data-theme="nuit"] .srch-vide{color:rgba(246,249,251,.78)}
html[data-theme="nuit"] .srch-row{background:#0F1C24;border-color:#8FBBD8}
html[data-theme="nuit"] .srch-ico{stroke:#8FBBD8}
html[data-theme="nuit"] .srch-close{background:#0F1C24;color:#F6F9FB;border-color:rgba(175,218,239,.28)}
html[data-theme="nuit"] .srch-a{background:#0F1C24;border-color:rgba(175,218,239,.18)}
html[data-theme="nuit"] .srch-a:hover{background:#1B3140;border-color:#8FBBD8}
html[data-theme="nuit"] .srch-p,html[data-theme="nuit"] .srch-vide a{color:#8FBBD8}
html[data-theme="nuit"] .srch mark{background:rgba(236,111,76,.34)}
html[data-theme="nuit"] .srch-close:focus-visible,html[data-theme="nuit"] .srch-a:focus-visible,html[data-theme="nuit"] .srch-vide a:focus-visible{outline-color:#8FBBD8}
@media (max-width:700px){
  .srch{padding:0;align-items:stretch}
  .srch-box{border-radius:0;border:0;min-height:100%;box-shadow:none;padding:16px}
}

/* Lisibilité (public âgé) : les intitulés qui se lisent comme des phrases passent
   en minuscules, sans grand espacement de lettres. Les étiquettes courtes
   (surtitres, années, boutons) restent en petites capitales, à 14 px minimum. */
html .pg :is(.oc-hd,.oc-leg,.oc-leg span,p.sig,.sfo p.hd,.enc p.h,.viz-hd,.qa2 summary,.legal-dl dt,.tarif .k,.corr .act,.patho h3,.blk h3,.ic h3.c-h,.bcard h3.c-h,.fcard h3.c-h,.comms h3,.dip h3,.exp-d dt,.ecard .k,.j){text-transform:none!important;letter-spacing:.01em!important;font-size:1rem!important}
html .pg .crumb,html .pg .crumb a{letter-spacing:.06em}

/* Lisibilité, 2e passe (2026-10-15). Mesuré sur les 74 pages, thèmes jour et nuit.
   1. Textes qui se lisent (phrases, questions, adresses, téléphones, mentions du
      pied de page, sous-menus) : 16 px. Restent à 14 px les étiquettes courtes
      en capitales (fil d'Ariane, surtitres, boutons, titres de colonnes) et les
      rubriques de la barre, qui débordent au-delà (barre plafonnée à 1240 px).
   2. Contraste du texte courant ≥ 7:1 (AAA) ; les teintes de base sont réglées
      dans les variables (--slate, --oc-ink-300, --n-text-dim).
   3. Lignes limitées à ~72 caractères sur grand écran : 56ch, car en Source
      Serif 1ch ≈ 1,3 caractère moyen. Sans effet sur téléphone. Exclus : textes
      centrés sous les schémas, blocs déjà plus étroits (mention d'auteur, accroches). */
html .pg :is(.corr>p,.corr p,.sfo li a,.sfo>p,.blk li,.acard p,.acard li,.acard h4,.acard h3.c-h,.cc h3.c-h,.ci h3.c-h,.pane h3.c-h,h3.tbl-t,.det .enc .h,.dip li,.dip em,.legal-dl,.viz-note,.depth-fine,.depth-note,.plage-hd p,.radar-note,.tw+.tw-hint,.laser .meta,.intro .meta,.perc .dev,.tech-hd .full,.vasc .urg,.ulist strong,.ulist span,.ulist a,.f-legal,.f-rpps,.sign em,.lieu address,.lieu-a a,.hero .role,.art-meta,.fig figcaption,figure.card-w>figcaption,.ac p,.ac address,.ac a,.go){font-size:1rem!important}
html .pg-accueil .urgences .hd{font-size:1rem!important}
html .nuitnav .nsub a{font-size:1rem}
html .pg .hero .sig{color:var(--oc-orange-300)!important}
html .pg a[href^="tel:"],html .pg .auteur-d time{white-space:nowrap}
html[data-theme="jour"] .pg-accueil :is(.ages-note,.urgences .fine,.disclaimer,.urgences .ulist span){color:var(--oc-ink-700)}
html[data-theme="nuit"] .pg-accueil :is(.ages-note,.urgences .fine,.disclaimer,.urgences .ulist span){color:rgba(246,249,251,.8)}
html .pg main :is(p,li,dd,figcaption,blockquote):not(.depth-note,.depth-fine,.radar-note,.auteur-d,.full,.hero-lede,.credo,.zone-intro p){max-width:56ch!important}
/* Encadrés du pied de page : le cadre garde sa largeur, le texte s'arrête à ~56ch. */
@media (min-width:900px){
  html .pg:not(.pg-accueil) footer .disclaimer{padding-inline-end:max(1.3rem,calc(100% - 56ch - 1.3rem))!important}
  html .pg:not(.pg-accueil) footer .urgences .fine{padding-inline-end:max(1.1rem,calc(100% - 56ch - 1.1rem))!important}
  html .pg-accueil footer :is(.disclaimer,.urgences .fine){max-width:56ch!important}
}

/* Encadré « En bref » en haut des pages longues */
.pg .enbref{padding-block:clamp(1.4rem,3vw,2.2rem) 0;border:0!important}
.pg .enbref .wrap>*{max-width:62rem}
.pg .enbref-h{font-family:"IBM Plex Mono",ui-monospace,monospace!important;font-size:.875rem!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;color:#3A6E96;margin:0 0 .8rem!important;line-height:1.4!important}
.pg .enbref ul{list-style:none;margin:0;padding:1.2rem 1.4rem;display:grid;gap:.6rem;background:#FFFFFF;border:1px solid #D9E3EC;border-left:4px solid #3A6E96;border-radius:8px}
.pg .enbref li{position:relative;padding-left:1.3rem;font-size:1.0625rem;line-height:1.55;color:#14242E}
.pg .enbref li::before{content:"";position:absolute;left:0;top:.6em;width:.45rem;height:.45rem;border-radius:50%;background:#E95931}
html[data-theme="nuit"] .pg .enbref-h{color:#8FBBD8}
html[data-theme="nuit"] .pg .enbref ul{background:rgba(14,24,30,.78);border-color:rgba(175,218,239,.18);border-left-color:#8FBBD8}
html[data-theme="nuit"] .pg .enbref li{color:#F6F9FB}

/* Passages repliés derrière un bouton (« Voir le détail… ») */
.pg details.plie{margin-top:1.8rem;border-top:1px solid var(--line,#D9E3EC);padding-top:1rem}
.pg details.plie>summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:.6rem;font-family:"Archivo",system-ui,sans-serif;font-weight:600;font-size:1rem;color:#3A6E96;list-style:none}
.pg details.plie>summary::-webkit-details-marker{display:none}
.pg details.plie>summary::before{content:"+";flex:none;display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid currentColor;border-radius:50%;font-family:"IBM Plex Mono",monospace}
.pg details.plie[open]>summary::before{content:"−"}
.pg details.plie>summary:focus-visible{outline:3px solid #3A6E96;outline-offset:3px}
.pg details.plie[open]>summary{margin-bottom:1rem}
html[data-theme="nuit"] .pg details.plie{border-top-color:rgba(175,218,239,.17)}
html[data-theme="nuit"] .pg details.plie>summary{color:#8FBBD8}
html .pg .corr>p,html .pg figure.card-w>figcaption{font-size:.875rem!important}
/* Titres en medium sur toutes les pages (retours de Tom) : les h1/h2 étaient en
   800 et les h3 en 700, puis 600 le 2026-10-15, encore jugés trop gras ; 500 le
   2026-10-16 (Archivo est une police variable, toutes les graisses existent).
   !important : les petits titres des cartes et questions (.corr h3.c-h, .qa h3…)
   ont des règles plus spécifiques. Limité à main : le pied de page reste à 400. */
html .pg:not(.pg-accueil) main :is(h1,h2,h3,h4){font-weight:500!important}
html .pg-accueil h2{font-weight:500}
/* Bandeau cookies (mission 11, assets/app.js). « Refuser » et « Accepter » ont
   exactement le même style : refuser doit être aussi simple qu'accepter (CNIL).
   Pas de voile ni de blocage : le site reste lisible sans répondre. */
.ck-bandeau{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:0 16px 16px;pointer-events:none}
.ck-in{pointer-events:auto;max-width:760px;margin:0 auto;background:#FFFFFF;color:#1B2B36;border:1px solid #B9C9D6;border-radius:12px;box-shadow:0 10px 40px rgba(20,36,46,.22);padding:1.25rem 1.4rem;font-family:"Archivo",system-ui,sans-serif}
.ck-t{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:#1E3F58}
.ck-p{font-size:1rem;line-height:1.55;margin:0 0 1rem;max-width:none}
.ck-p a{color:#2C5878;text-decoration:underline;text-underline-offset:2px}
.ck-btns{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}
.ck-b{min-height:48px;min-width:9.5rem;padding:.7rem 1.4rem;font:600 1rem/1.2 "Archivo",system-ui,sans-serif;color:#FFFFFF;background:#1E3F58;border:2px solid #1E3F58;border-radius:8px;cursor:pointer}
.ck-b:hover{background:#2C5878;border-color:#2C5878}
.ck-b:focus-visible,.ck-p a:focus-visible,.ck-pied:focus-visible{outline:3px solid #E95931;outline-offset:3px}
html[data-theme="nuit"] .ck-in{background:#14242E;color:#E8F0F5;border-color:rgba(175,218,239,.3)}
html[data-theme="nuit"] .ck-t{color:#E8F0F5}
html[data-theme="nuit"] .ck-p a{color:#AFDAEF}
html[data-theme="nuit"] .ck-b{background:#AFDAEF;border-color:#AFDAEF;color:#0E1C24}
html[data-theme="nuit"] .ck-b:hover{background:#D3ECF7;border-color:#D3ECF7}
@media (max-width:560px){.ck-bandeau{padding:0 8px 8px}.ck-in{padding:1rem}.ck-b{flex:1 1 0;min-width:0}}
.ck-pied{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
/* capitales-mobile:start (généré par scripts/capitales_mobile.py) */
@media (max-width:560px){
.ntxt > span{letter-spacing:0.05em}
.nbtn{letter-spacing:0.07em}
#menu-full h4,#menu-full h3.c-h{letter-spacing:0.1em}
.fig-scroll-hint{letter-spacing:0.05em}
.pg .tarif .k{letter-spacing:0.07em}
.pg footer h2.f-h{letter-spacing:0.07em}
html .pg:not(.pg-accueil) section.cta .btn{letter-spacing:0.07em!important}
.srch-lab{letter-spacing:0.07em}
.pg .enbref-h{letter-spacing:0.07em!important}
}
/* capitales-mobile:end */
