/* ==========================================================================
   Cercle Édouard Herriot — feuille de style principale
   Charte : logo v35 (18/09/2026) — bleu nuit #002654 · blanc #FFFFFF · or #C9A227
   Contrastes vérifiés (WCAG 2.1 AA / RGAA 4.1, critère 3.2)
   ========================================================================== */

/* ---------- Polices auto-hébergées (aucun appel à un service tiers) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.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:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.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:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-serif-4-latin-400-normal.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-serif-4-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/source-serif-4-latin-400-italic.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/source-serif-4-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-serif-4-latin-600-normal.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-serif-4-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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}

/* ---------- Jetons de la charte ---------- */
:root{
  --navy:#002654;        /* bleu nuit — couleur principale */
  --navy-2:#0B3470;      /* bleu nuit éclairci (survols sur fond bleu) */
  --gold:#C9A227;        /* or — uniquement sur fond bleu nuit (contraste 6,18:1) ou en décor */
  --gold-text:#7A5C0A;   /* or assombri pour texte sur fond clair (5,94:1) */
  --white:#FFFFFF;
  --paper:#FBF9F4;       /* fond ivoire */
  --paper-2:#F3EEE2;     /* fond ivoire soutenu */
  --ink:#1B2230;         /* texte courant (15,1:1) */
  --muted:#5A6272;       /* texte secondaire (5,8:1) */
  --rule:#D9D2C1;
  --on-navy-muted:#B8C4D6;/* texte secondaire sur bleu nuit (8,5:1) */
  --focus:#C9A227;
  --serif-display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --measure:70ch;
  --radius:4px;
  --wrap:1180px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h,8rem) + 1rem)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--serif);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper);font-feature-settings:"kern","liga"}
img,svg{max-width:100%;height:auto}
a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px;color:var(--navy-2)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
main :focus-visible{outline-color:var(--navy)}
h1,h2,h3,h4{font-variant-numeric:lining-nums;font-family:var(--serif-display);color:var(--navy);line-height:1.15;font-weight:600;margin:2.2em 0 .6em}
h1{font-size:clamp(2.2rem,1.6rem + 2.6vw,3.4rem);margin-top:0;letter-spacing:.005em}
h2{font-size:clamp(1.85rem,1.5rem + 1.3vw,2.4rem)}
h3{font-size:clamp(1.5rem,1.3rem + .8vw,1.85rem)}
h4{font-size:clamp(1.3rem,1.2rem + .4vw,1.5rem);margin-top:1.8em}
h2,h3,h4{clear:both}
p,ul,ol,dl,blockquote,table{margin:0 0 1.1em}
hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}
abbr[title]{text-decoration:underline dotted;cursor:help}
sup{line-height:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Lien d'évitement ---------- */
.skip-links{position:absolute;top:0;left:0;z-index:100;margin:0;padding:0;list-style:none}
.skip-links a{position:absolute;left:-9999px;top:.5rem;padding:.6rem 1rem;background:var(--gold);color:var(--navy);font-weight:600;white-space:nowrap}
.skip-links a:focus{left:.5rem}

/* ---------- En-tête ---------- */
.site-header{background:var(--navy);color:var(--white);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:60;transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(0,20,50,.35)}
.site-header .brand img{transition:width .2s,height .2s}
@media (min-width:1080px){.site-header.is-scrolled .header-inner{padding-top:.4rem;padding-bottom:.4rem}.site-header.is-scrolled .brand img{width:44px;height:44px}.site-header.is-scrolled .brand-place{display:none}}
.js .main-nav[data-open="true"]{max-height:calc(100vh - var(--header-h,5.5rem));max-height:calc(100dvh - var(--header-h,5.5rem));overflow-y:auto}
.header-inner{max-width:var(--wrap);margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.8rem;color:var(--white);text-decoration:none;margin-right:auto}
.brand:hover{color:var(--white)}
.brand img{width:56px;height:56px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--serif-display);font-weight:600;font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:520px){.brand-name{font-size:1.02rem;letter-spacing:.08em;max-width:10.5rem}.brand img{width:44px;height:44px}.header-inner{gap:.6rem}}
.brand-place{font-family:var(--serif-display);color:var(--gold);letter-spacing:.42em;font-size:.85rem;margin-top:.25rem}
.nav-toggle{display:none}
.js .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--white);border:1px solid var(--gold);border-radius:var(--radius);padding:.5rem .8rem;font:inherit;font-size:1rem;cursor:pointer;min-height:44px}
.nav-toggle-bars{width:18px;height:2px;background:currentColor;position:relative;display:inline-block}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}

/* ---------- Navigation principale ---------- */
.main-nav{width:100%}
.main-nav>ul{list-style:none;margin:0;padding:0}
.main-nav a,.submenu-toggle{color:var(--white);text-decoration:none;font-size:1rem}
.main-nav a[aria-current="page"],.main-nav a.is-ancestor{color:var(--gold)}
.main-nav a:hover{text-decoration:underline;color:var(--white)}
.main-nav a[aria-current="page"]:hover{color:var(--gold)}
.submenu{list-style:none;margin:0;padding:0}
.submenu-toggle{background:none;border:0;font:inherit;cursor:pointer;padding:0 .3rem;min-width:44px;min-height:44px;display:none}
.js .submenu-toggle{display:inline-flex;align-items:center;justify-content:center}
.submenu-toggle::after{content:"";width:.5em;height:.5em;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);margin-top:-5px;transition:transform .15s}
.submenu-toggle[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:5px}

/* mobile (par défaut) */
.main-nav>ul>li{border-top:1px solid rgba(255,255,255,.15)}
.main-nav .nav-item{display:flex;align-items:center;justify-content:space-between}
.main-nav .nav-item>a{display:block;padding:.8rem 0;flex:1}
.submenu a{display:block;padding:.6rem 0 .6rem 1.2rem;color:var(--on-navy-muted)}
.js .main-nav[data-open="false"]{display:none}
.js .submenu[hidden]{display:none}

@media (min-width:1080px){
  .js .nav-toggle{display:none}
  .js .main-nav[data-open="false"],.main-nav{display:block;width:auto}
  .main-nav>ul{display:flex;gap:.2rem;align-items:center}
  .main-nav>ul>li{border:0;position:relative}
  .main-nav .nav-item>a{padding:.5rem .55rem}
  .submenu-toggle{min-width:28px;padding:0}
  .main-nav .submenu{position:absolute;top:100%;left:0;min-width:15rem;background:var(--navy);border:1px solid var(--gold);border-top:3px solid var(--gold);padding:.4rem 0;z-index:50;box-shadow:0 12px 30px rgba(0,20,50,.35)}
  html:not(.js) .main-nav .submenu{display:none}
  html:not(.js) .main-nav li:hover>.submenu,html:not(.js) .main-nav li:focus-within>.submenu{display:block}
  .submenu a{padding:.55rem 1rem;color:var(--white)}
  .submenu a:hover{background:var(--navy-2)}
}

/* ---------- Fil d'Ariane ---------- */
.breadcrumb{max-width:var(--wrap);margin:0 auto;padding:1rem 1.25rem 0;font-size:.92rem;color:var(--muted)}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
.breadcrumb li+li::before{content:"›";margin-right:.35rem;color:var(--gold-text)}
.breadcrumb a{color:var(--muted)}
.breadcrumb [aria-current]{color:var(--ink)}

/* ---------- Mise en page ---------- */
main{display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.page-head{max-width:var(--wrap);margin:0 auto;padding:1.75rem 1.25rem 1.25rem}
.kicker{font-variant-numeric:lining-nums;font-family:var(--serif-display);text-transform:uppercase;letter-spacing:.2em;color:var(--gold-text);font-weight:600;font-size:.95rem;margin:0 0 .6rem}
.lead{font-size:1.2rem;color:var(--muted);max-width:var(--measure)}
.page-body{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem 4rem}
.prose{max-width:var(--measure)}
.prose>h2:first-child,.prose>h3:first-child{margin-top:.5em}
.prose h2{padding-bottom:.3rem;border-bottom:1px solid var(--rule)}
.prose h2::before{content:"";display:block;width:2.5rem;height:3px;background:var(--gold);margin-bottom:.6rem}
.prose blockquote,.quote{margin:1.6em 0;padding:.4em 0 .4em 1.3em;border-left:3px solid var(--gold);font-style:italic;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;font-size:.97rem}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.55rem .6rem;border-bottom:1px solid var(--rule)}
.prose th{font-family:var(--serif-display);font-size:1.1rem;color:var(--navy);border-bottom:2px solid var(--navy)}
.table-scroll{overflow-x:auto}

.with-toc{display:grid;gap:2.5rem}
@media (min-width:1000px){.with-toc{grid-template-columns:minmax(0,1fr) 17rem}.toc{order:2}}
.toc{align-self:start;background:var(--paper-2);border-top:3px solid var(--gold);padding:1rem 1.2rem;font-size:.95rem}
@media (min-width:1000px){.toc{position:sticky;top:calc(var(--header-h,8rem) + 1rem);max-height:calc(100vh - var(--header-h,8rem) - 2rem);overflow:auto}}
.toc h2{font-size:1.25rem;margin:0 0 .6rem;border:0;padding:0}
.toc h2::before{display:none}
.toc ol{margin:0;padding-left:0;list-style:none}
.toc li{margin:.25rem 0}
.toc ol ol{font-size:.93em;padding-left:.9rem;margin-top:.2rem;border-left:1px solid var(--rule)}

/* ---------- Notes ---------- */
.footnote-ref{font-size:.95em;padding:0 .1em}
.footnote-ref:hover{text-decoration:underline}
.footnotes{margin-top:3rem;padding-top:1rem;border-top:2px solid var(--navy);font-size:.93rem;color:var(--ink)}
.footnotes h2{font-size:1.5rem;margin-top:0;border:0}
.footnotes h2::before{display:none}
.footnotes ol{padding-left:2rem}
.footnotes li{margin-bottom:.6rem;overflow-wrap:anywhere}
.footnote-back{margin-left:.3rem}
.biblio p{padding-left:1.5em;text-indent:-1.5em;overflow-wrap:anywhere}

/* ---------- Encadrés ---------- */
.notice{border:1px solid var(--rule);border-left:4px solid var(--gold);background:var(--white);padding:1rem 1.25rem;margin:0 0 2rem;max-width:var(--measure)}
.notice p:last-child{margin-bottom:0}
.notice-title{font-weight:600;color:var(--navy);margin-bottom:.3rem}
.todo{background:#FFF3C4;color:#3D2F00;padding:0 .25em;border-radius:2px}

/* ---------- Boutons ---------- */
.btn{display:inline-block;padding:.75rem 1.3rem;border-radius:var(--radius);font-weight:600;text-decoration:none;border:2px solid var(--gold);min-height:44px;line-height:1.3}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#D9B53D;color:var(--navy);text-decoration:none}
.btn-ghost{background:transparent;color:var(--white)}
.btn-ghost:hover{background:var(--navy-2);color:var(--white);text-decoration:none}
.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);color:var(--white);text-decoration:none}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}

/* ---------- Accueil ---------- */
.hero{background:var(--navy);color:var(--white);position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,38,84,.92) 0%,rgba(0,38,84,.78) 50%,rgba(0,38,84,.9) 100%),url(../img/photos/fond-accueil.jpg) center 35%/cover no-repeat}
.hero-credit{position:absolute;right:1rem;bottom:.6rem;margin:0;font-size:.75rem!important;color:var(--on-navy-muted)!important;max-width:none!important}
.hero-credit a{color:var(--on-navy-muted)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--gold)}
.hero-inner{max-width:var(--wrap);margin:0 auto;padding:3rem 1.25rem 3.5rem;display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.hero-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:4.5rem 1.25rem}}
.hero h1{color:var(--white);margin-bottom:.4em}
.hero .kicker{color:var(--gold)}
.hero p{color:#E6EBF3;font-size:1.15rem;max-width:36rem}
.hero-logo{justify-self:center;width:min(360px,80vw)}
.hero-logo img{display:block;width:100%;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}

.section{padding:3.5rem 0}
.section-alt{background:var(--paper-2)}
.section h2{margin-top:0}
.cards{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));list-style:none;padding:0;margin:0}
.card{background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:1.4rem 1.4rem 1.2rem;position:relative;display:flex;flex-direction:column}
.card h2,.card h3{margin:0 0 .5rem;font-size:1.5rem}
.card h2 a,.card h3 a{text-decoration:none}
.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0}
.card h2 a:hover,.card h3 a:hover{text-decoration:underline}
.card:focus-within{outline:3px solid var(--navy);outline-offset:2px}
.card h2 a:focus-visible,.card h3 a:focus-visible{outline:none}
.card p{margin:0 0 .6rem;color:var(--muted)}
.card-media{margin:-1.4rem -1.4rem 1.1rem;aspect-ratio:16/9;overflow:hidden;background:var(--navy);position:relative}
.card-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .3s}
.card:hover .card-media img{transform:scale(1.03)}
.card-media.logo img{position:absolute;inset:0;margin:auto;width:auto;height:78%;object-fit:contain}
.card{overflow:hidden}
.card .meta{font-size:.9rem;color:var(--gold-text);font-weight:600;margin-bottom:.4rem}
.card:hover{border-top-color:var(--gold)}

.dates{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.dates li{border-left:3px solid var(--gold);padding:.2rem 0 .2rem 1rem}
.dates strong{font-variant-numeric:lining-nums;display:block;font-family:var(--serif-display);font-size:1.5rem;color:var(--navy);line-height:1.1}
.big-quote{font-family:var(--serif-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.3;color:var(--navy);max-width:48rem;margin:0}
.big-quote p{margin:0 0 .6rem}
.big-quote footer,.quote-source{font-family:var(--serif);font-size:1rem;color:var(--muted);font-style:normal}

/* ---------- Équipe ---------- */
.people{list-style:none;padding:0;margin:0 0 2.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.person{background:var(--white);border:1px solid var(--rule);padding:1.2rem 1.3rem;display:flex;gap:1rem;align-items:center}
.monogram{flex:none;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:var(--serif-display);font-weight:600;font-size:1.25rem;letter-spacing:.04em;border:2px solid var(--gold)}
.person-name{font-weight:600;color:var(--ink);margin:0;font-size:1.08rem}
.person-role{margin:0;color:var(--gold-text);font-size:.95rem}

/* ---------- Statuts ---------- */
.statuts article{margin-bottom:1.4rem}
.statuts h2{font-size:1.35rem;margin:1.8em 0 .4em;border:0;padding:0}
.statuts h2::before{display:none}

/* ---------- Actualités ---------- */
.post-meta{color:var(--muted);font-size:.95rem;margin-bottom:1.5rem}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--navy);color:#E6EBF3;border-top:3px solid var(--gold);font-size:.95rem}
.footer-inner{max-width:var(--wrap);margin:0 auto;padding:2.5rem 1.25rem 1.5rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{color:var(--gold);text-decoration:underline}
.site-footer a:focus-visible{text-decoration:underline}
.site-footer h2{font-family:var(--serif-display);color:var(--gold);font-size:1.25rem;margin:0 0 .7rem;letter-spacing:.05em}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.35rem 0}
.footer-brand{display:flex;gap:1rem;align-items:flex-start}
.footer-brand img{width:72px;height:72px;flex:none}
.footer-brand p{margin:0 0 .4rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);max-width:var(--wrap);margin:0 auto;padding:1rem 1.25rem 1.5rem;color:var(--on-navy-muted);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}

/* ---------- Impression ---------- */
@media print{
  .site-header,.site-footer,.skip-links,.breadcrumb,.toc,.actions,.nav-toggle{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  a{color:#000}
  .prose{max-width:none}
  .with-toc{display:block}
}

/* ---------- Contraste renforcé (Windows) ---------- */
@media (forced-colors:active){
  .btn,.card,.notice,.person{border:1px solid CanvasText}
  .monogram{forced-color-adjust:none}
}

/* ---------- Illustrations ---------- */
.figure{margin:1.8rem 0;max-width:var(--measure)}
.figure img{display:block;width:100%;height:auto;background:var(--paper-2)}
.figure figcaption{font-size:.88rem;line-height:1.45;color:var(--muted);margin-top:.5rem;padding-left:.7rem;border-left:2px solid var(--gold)}
.figure figcaption a{color:var(--muted)}
.figure-portrait{max-width:22rem}
@media (min-width:760px){
  .figure-right{float:right;width:min(42%,20rem);margin:.3rem 0 1.2rem 1.8rem}
}
.gallery{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:1.5rem 0 2rem;max-width:none}
.gallery .figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;object-position:center 12%}
.split{display:grid;gap:2rem;align-items:start}
@media (min-width:860px){.split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.signature{max-width:16rem;margin:1.5rem 0 0}
.signature img{background:transparent}
.clearfix::after{content:"";display:block;clear:both}

.split-portrait{align-items:start}
.split-portrait .prose>h2:first-child{margin-top:0}
@media (min-width:860px){.split-portrait{grid-template-columns:minmax(0,1fr) 17rem;gap:3rem}}
.split-portrait .figure{margin:0 auto;max-width:17rem}
.card-icon{display:inline-grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--navy);color:var(--gold);border:2px solid var(--gold);margin-bottom:.9rem;flex:none}
.card-icon svg{display:block}
.card:hover .card-icon{border-color:var(--navy)}

/* ---------- Pages juridiques ---------- */
.kv{width:100%;border-collapse:collapse;margin:0 0 1.2rem;font-size:.97rem}
.kv th,.kv td{text-align:left;vertical-align:top;padding:.5rem .7rem;border-bottom:1px solid var(--rule)}
.kv th{width:11rem;font-family:var(--serif);font-weight:600;color:var(--navy);background:var(--paper-2)}
@media (max-width:560px){.kv th,.kv td{display:block;width:auto}.kv th{border-bottom:0;padding-bottom:.2rem}}
.legal code{font-size:.9em;background:var(--paper-2);padding:0 .25em;border-radius:2px}

/* ---------- Formulaires ---------- */
.form{max-width:var(--measure)}
.form .field{margin:0 0 1.25rem}
.form label{display:block;font-weight:600;margin-bottom:.35rem}
.form .opt,.form .field-hint{font-weight:400;color:var(--muted);font-size:.92rem}
.form .field-hint{margin:-.15rem 0 .4rem}
.form .req{color:#A11D1D;font-weight:700}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{display:block;width:100%;min-height:44px;padding:.6rem .75rem;font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--muted);border-radius:var(--radius)}
.form textarea{resize:vertical;min-height:10rem}
.form select{appearance:auto}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--navy);outline-offset:1px;border-color:var(--navy)}
.form input[aria-invalid=true],.form select[aria-invalid=true],.form textarea[aria-invalid=true]{border:2px solid #A11D1D}
.field-row{display:grid;gap:0 1.25rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.field-check{display:flex;gap:.7rem;align-items:flex-start}
.field-check input{flex:none;width:1.35rem;height:1.35rem;margin:.2rem 0 0;accent-color:var(--navy)}
.form .field-check label{font-weight:400;margin:0}
.field-error{color:#A11D1D;font-weight:600;font-size:.95rem;margin:.35rem 0 0}
.form-intro{color:var(--muted);font-size:.95rem}
.form-note{font-size:.88rem;line-height:1.5;color:var(--muted);margin:.5rem 0 1rem}
.form-status:empty{display:none}
.form-status{padding:.75rem 1rem;border-left:4px solid var(--navy);background:var(--paper-2);font-weight:600}
.form-status.is-error{border-left-color:#A11D1D;color:#A11D1D}
.form-status.is-success{border-left-color:#1E6B3A;color:#1E6B3A}
.form-status:focus{outline:3px solid var(--navy);outline-offset:2px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.nl-row{display:flex;gap:.6rem;flex-wrap:wrap}
.nl-row input{flex:1 1 15rem}
.nl-row .btn{flex:none;cursor:pointer;font:inherit;font-weight:600}
.btn[disabled]{opacity:.7;cursor:progress}
button.btn{cursor:pointer;font:inherit;font-weight:600}
.newsletter-block{align-items:center}
/* Sur fond bleu nuit (pied de page) */
.footer-newsletter{max-width:var(--wrap);margin:0 auto;padding:2.2rem 1.25rem 2rem;border-bottom:1px solid rgba(255,255,255,.15);display:grid;gap:1rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start}
.footer-newsletter-text p{margin:0}
.form.on-dark{max-width:none}
.form.on-dark label{color:var(--white)}
.form.on-dark .opt,.form.on-dark .form-note{color:var(--on-navy-muted)}
.form.on-dark .field{margin-bottom:.5rem}
.form.on-dark input[type=email]{border-color:var(--white)}
.form.on-dark input:focus-visible{outline-color:var(--gold)}
.form.on-dark input[aria-invalid=true]{border:2px solid #FFB4A8}
.form.on-dark .field-error{color:#FFB4A8}
.form.on-dark .form-status{background:rgba(255,255,255,.08);color:var(--white);border-left-color:var(--gold)}
.form.on-dark .form-status.is-error{color:#FFB4A8;border-left-color:#FFB4A8}
.form.on-dark .form-status.is-success{color:#BFE6C8;border-left-color:#BFE6C8}
.site-footer .form-note a{text-decoration:underline}
.nl-submit{margin:.25rem 0 .5rem}
.form input,.form select,.form textarea{color-scheme:light}
.form input:autofill{box-shadow:0 0 0 100px var(--white) inset;-webkit-text-fill-color:var(--ink)}
.footer-bottom p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
