/* Commun à toutes les pages du site : couleurs, largeur, menu et pied de page. Servi sur /commun.css (routes/fichiers/route.ts) ;
   le menu et le pied de page eux-mêmes sont écrits une seule fois, dans server/lib/gabarit.ts. */
/* polices servies par le site lui-même (routes/fichiers/polices/, licence SIL OFL 1.1) : aucun appel à Google Fonts */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/polices/archivo-400-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/polices/archivo-400-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/polices/ibm-plex-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/polices/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/polices/ibm-plex-mono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/polices/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/polices/ibm-plex-mono-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/polices/ibm-plex-mono-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--ink:#15233f;--paper:#f2efe6;--card:#fbfaf6;--rule:#e6e1d3;--line:#c9c3b3;--muted:#5c6273;--red:#c8321f;--red-dark:#a92716;--salmon:#f0806f;--green:#1f7a45;--green-soft:#e3efe6;--red-soft:#f7e3de;--navy-line:#33415f;--navy-soft:#b8bfcf;--navy-text:#d3d8e3;--mono:'IBM Plex Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scrollbar-gutter:stable} /* même largeur, que la page défile ou non : le menu ne bouge pas d'une page à l'autre */
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--red)}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px;width:100%}

/* menu */
.site-nav{position:sticky;top:0;z-index:10;background:var(--ink);color:var(--paper)}
.site-nav .wrap{display:flex;align-items:stretch;height:52px}
.site-nav .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper);padding-right:24px;border-right:1px solid var(--navy-line);flex:none;font:900 22px/1 Archivo,system-ui,sans-serif;font-stretch:72%;text-transform:uppercase;letter-spacing:.01em}
.site-nav .brand:hover{color:var(--paper)}
.brand-logo{width:34px;height:34px;flex:none}
.nav-links{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap;font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.nav-links a{display:flex;align-items:center;padding:0 16px;text-decoration:none;color:var(--navy-soft);border-right:1px solid var(--navy-line)}
.nav-links a:hover{color:#fff;background:#1e2f52}
.nav-links a[aria-current]{color:#fff;box-shadow:inset 0 -3px 0 var(--red)}
.nav-cta{margin-left:auto;flex:none;white-space:nowrap;display:flex;align-items:center;text-decoration:none;font:600 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--red);padding:0 20px}
.nav-cta:hover{color:#fff;background:var(--red-dark)}

/* pied de page */
.site-footer{background:var(--ink);color:var(--navy-soft)}
.site-footer .wrap{padding-block:28px 40px;display:flex;gap:16px 40px;flex-wrap:wrap;font:12px/1.6 var(--mono)}
.site-footer .brand{font:900 20px/1 Archivo,system-ui,sans-serif;font-stretch:72%;text-transform:uppercase;color:var(--paper)}
.site-footer .wrap>div{flex:1;min-width:280px;max-width:62em;display:flex;flex-direction:column;gap:10px}
.site-footer a{color:var(--navy-soft)}
.site-footer a:hover{color:#fff}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 20px;text-transform:uppercase;letter-spacing:.06em}

@media (max-width:600px){
  .wrap{padding-inline:16px}
  .site-nav .brand{padding-right:14px;font-size:19px;gap:8px}
  .brand-logo{width:28px;height:28px}
  .nav-links a{padding:0 10px}
  .nav-cta{padding:0 12px;font-size:12px}
}
