/* ══════════════════════════════════════════════════════════════════════════
   Thème « La Place en coupe » — assurancearras.fr
   Pop, arrageois, limpide. Aplats sérigraphiés, arcades, boves en coupe.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Polices auto-hébergées (OFL) ─────────────────────────────────────────── */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-wght-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:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-wght-normal.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:'Atkinson Hyperlegible Next';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-wght-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:'Atkinson Hyperlegible Next';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-ext-wght-normal.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:'Atkinson Hyperlegible Next';font-style:italic;font-weight:200 800;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-wght-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:'Atkinson Hyperlegible Next';font-style:italic;font-weight:200 800;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-ext-wght-italic.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}

/* ── Jetons ───────────────────────────────────────────────────────────────── */
:root{
  --encre:#251629;--craie:#FFF8E8;--papier:#FFFFFF;--pave:#E8DBC6;
  --pollen:#F4FA56;--rose:#FFA8CF;--abricot:#FFB067;--lilas:#D9C7FA;--brume:#CBE9E4;--ambre:#FFD7A1;
  --prune:#684053;--joint:#806676;
  --f-head:var(--font-heading,'Bricolage Grotesque'),'Arial Black',system-ui,sans-serif;
  --f-body:var(--font-body,'Atkinson Hyperlegible Next'),system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --e-out:cubic-bezier(.16,1,.3,1);--e-soft:cubic-bezier(.65,0,.35,1);--e-direct:cubic-bezier(.2,0,0,1);
  --wrap:1240px;--read:744px;--gut:clamp(20px,4vw,40px);
  --hdr:76px;--radius:14px;--arch:999px 999px 0 0;
  --tone:var(--pollen);
}
.tone-pollen{--tone:var(--pollen)}.tone-rose{--tone:var(--rose)}.tone-abricot{--tone:var(--abricot)}.tone-lilas{--tone:var(--lilas)}.tone-brume{--tone:var(--brume)}

/* ── Base ─────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--craie);color:var(--encre);font-family:var(--f-body);font-size:17px;line-height:1.7;font-variant-numeric:proportional-nums;overflow-x:clip;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
img{height:auto}
a{color:var(--encre);text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-thickness 140ms var(--e-direct)}
a:hover{text-decoration-thickness:4px}
:focus-visible{outline:3px solid var(--encre);outline-offset:3px;border-radius:4px}
::selection{background:var(--pollen);color:var(--encre)}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.read{max-width:var(--read);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--pollen);color:var(--encre);padding:.6rem 1rem;font-weight:700;border:2px solid var(--encre);border-radius:8px}
.skip-link:focus{top:12px}

/* ── En-tête ──────────────────────────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:1000;background:var(--craie);border-bottom:3px solid var(--encre)}
.hdr{display:flex;align-items:center;gap:1.25rem;height:var(--hdr)}
.logo{display:flex;align-items:center;flex:none;line-height:0;text-decoration:none}
.logo img{height:38px;width:auto}
.logo-text{font-family:var(--f-head);font-weight:800;font-size:1.4rem}
.main-nav{margin-left:auto}
.nav{display:flex;align-items:center;gap:.35rem;list-style:none;padding:0;margin-block:0}
.nav a{display:inline-block;font-weight:700;font-size:16px;line-height:1.3;text-decoration:none;padding:.55rem .95rem;border-radius:999px;position:relative;transition:background 160ms var(--e-direct),transform 90ms var(--e-direct)}
.nav a:hover{background:var(--rose)}
.nav a[aria-current="page"],.nav .is-active>a{background:var(--pollen);box-shadow:inset 0 0 0 2px var(--encre)}
.nav .sub-menu{display:none}
.hdr-tools{display:flex;align-items:center;gap:.5rem;flex:none}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;height:44px;padding:0 .6rem;border:2px solid transparent;border-radius:999px;background:none;color:var(--encre);font:700 16px/1 var(--f-body);cursor:pointer;transition:background 160ms var(--e-direct)}
.icon-btn:hover{background:var(--rose)}
.icon-btn svg{width:22px;height:22px}
.menu-btn{display:none;border-color:var(--encre)}
.search-pop{position:absolute;right:var(--gut);top:calc(100% + 10px);display:none;gap:.5rem;background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);padding:.6rem;box-shadow:8px 8px 0 var(--encre);z-index:1100}
.search-pop.open{display:flex}
.search-pop input{width:260px;max-width:62vw;border:2px solid var(--encre);border-radius:10px;padding:.6rem .8rem;font:400 16px var(--f-body);background:var(--craie);color:var(--encre)}
.hdr-wrap{position:relative}
.progress{position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--pave);overflow:hidden}
.progress span{display:block;height:100%;background:var(--encre);transform-origin:0 50%;transform:scaleX(0)}

/* Tiroir mobile */
.drawer{position:fixed;inset:0 0 0 auto;width:min(380px,88vw);background:var(--craie);border-left:3px solid var(--encre);z-index:1500;padding:1.25rem var(--gut) 2rem;transform:translateX(102%);opacity:0;visibility:hidden;transition:transform 180ms var(--e-direct),opacity 180ms var(--e-direct),visibility 0s 180ms;overflow-y:auto}
.drawer.open{transform:none;opacity:1;visibility:visible;transition:transform 280ms var(--e-out),opacity 280ms var(--e-out),visibility 0s}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer li a{display:block;font-family:var(--f-head);font-weight:800;font-size:1.9rem;line-height:1.1;text-decoration:none;padding:.65rem 0;border-bottom:2px solid var(--encre)}
.drawer li a:hover,.drawer li a[aria-current="page"]{background:linear-gradient(var(--pollen),var(--pollen)) 0 85%/100% 40% no-repeat}
.drawer .sub-menu a{font-size:1.2rem;padding-left:1rem}
.scrim{position:fixed;inset:0;background:rgba(37,22,41,.55);z-index:1400;opacity:0;visibility:hidden;transition:opacity 180ms var(--e-direct),visibility 0s 180ms}
.scrim.open{opacity:1;visibility:visible;transition:opacity 280ms var(--e-out)}

/* ── Fil d'Ariane ─────────────────────────────────────────────────────────── */
.crumbs{font-size:14px;line-height:1.45;color:var(--prune);padding-top:1.1rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;padding:0}
.crumbs a{color:var(--prune);font-weight:600}
.crumbs li+li::before{content:"";display:inline-block;width:9px;height:9px;margin-right:.5rem;background:conic-gradient(var(--rose) 0 25%,var(--encre) 0 50%,var(--pollen) 0 75%,var(--encre) 0);vertical-align:middle}
.crumbs [aria-current]{color:var(--encre);font-weight:700}

/* ── Boutons ──────────────────────────────────────────────────────────────── */
.btn,.article-body .btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;font:700 16px/1.3 var(--f-body);text-decoration:none;color:var(--encre);background:var(--pollen);border:3px solid var(--encre);border-radius:999px;padding:.8rem 1.4rem;cursor:pointer;box-shadow:0 0 0 var(--encre);transition:box-shadow 160ms var(--e-direct),transform 90ms var(--e-direct)}
.btn:hover{box-shadow:5px 5px 0 var(--encre)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--encre)}
.btn-ghost{background:var(--craie)}
.btn-gold{background:var(--pollen)}
.btn-lg{font-size:18px;padding:1rem 1.7rem}

/* ── Ruban de vocabulaire ─────────────────────────────────────────────────── */
.ribbon{background:var(--rose);border-block:3px solid var(--encre);display:flex;align-items:center;overflow:hidden;position:relative}
.ribbon-label{flex:none;font-family:var(--f-head);font-weight:800;font-size:1.05rem;padding:.7rem var(--gut);background:var(--rose);position:relative;z-index:2;border-right:3px solid var(--encre)}
.ribbon-view{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ribbon-track{display:flex;width:max-content;animation:pc-ribbon var(--ribbon-dur,40s) linear infinite}
.ribbon-track ul{display:flex;list-style:none;margin:0;padding:0}
.ribbon-track li{white-space:nowrap;font-weight:600;padding:.7rem 1.1rem;position:relative}
.ribbon-track li::after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--encre);border-radius:50% 50% 0 0}
.ribbon:hover .ribbon-track,.ribbon:focus-within .ribbon-track{animation-play-state:paused}
@keyframes pc-ribbon{to{transform:translateX(-50%)}}
.motion-btn{flex:none;margin-right:.6rem;width:40px;height:40px;border-radius:50%;border:2px solid var(--encre);background:var(--craie);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2}
.motion-btn svg{width:16px;height:16px}
.motion-btn .i-play{display:none}
.motion-paused .motion-btn .i-play{display:block}.motion-paused .motion-btn .i-pause{display:none}

/* ── Héros de l'accueil ───────────────────────────────────────────────────── */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end;gap:clamp(1rem,3vw,3rem);padding-top:clamp(2rem,5vw,4rem)}
.hero-copy{padding-bottom:clamp(2rem,6vw,5.5rem);position:relative;z-index:1}
.kicker{display:inline-flex;align-items:center;gap:.5rem;font:700 14px/1.45 var(--f-body);letter-spacing:.08em;text-transform:uppercase;background:var(--encre);color:var(--pollen);padding:.4rem .85rem;border-radius:999px;margin-bottom:1.25rem}
.hero h1{font-size:clamp(52px,7.4vw,104px);line-height:.94;letter-spacing:-.035em;margin:0 0 1.5rem}
.swash{position:relative;white-space:nowrap;display:inline-block}
.swash svg{position:absolute;left:-2%;bottom:-.16em;width:104%;height:.3em;overflow:visible}
.swash path{stroke:var(--pollen);stroke-width:14;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:0}
.reveal-ready .swash path{stroke-dashoffset:420;transition:stroke-dashoffset 900ms var(--e-out) 250ms}
.reveal-ready .is-in .swash path{stroke-dashoffset:0}
.hero-lead{font-size:21px;line-height:1.5;font-weight:500;max-width:32ch;margin-bottom:1.75rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem}
.hero-art{position:relative;aspect-ratio:760/600;margin-right:calc(var(--gut) * -1)}
.hero-art svg{display:block;width:100%;height:100%}

/* Animations de la place */
.pc-gable{transform-box:fill-box;animation:pc-gable 18s var(--e-soft) infinite;animation-delay:calc(var(--fac,0) * -1.2s)}
.pc-fac-1{--fac:0}.pc-fac-2{--fac:1}.pc-fac-3{--fac:2}.pc-fac-4{--fac:3}
.pc-fac-2 .pc-gable{animation-duration:16s}.pc-fac-3 .pc-gable{animation-duration:20s}
@keyframes pc-gable{0%,100%{transform:translateY(0)}18%{transform:translateY(-10px)}36%{transform:translateY(-4px)}55%{transform:translateY(-8px)}75%{transform:translateY(0)}}
.pc-volet{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(.5);animation:pc-volet 18s var(--e-soft) infinite;animation-delay:calc(var(--d,0s) * -1)}
@keyframes pc-volet{0%,100%{transform:scaleY(.5)}20%{transform:scaleY(.08)}45%{transform:scaleY(.08)}62%{transform:scaleY(.95)}80%{transform:scaleY(.5)}}
.pc-oculus{animation:pc-blink 9s steps(1) infinite}
.pc-fac-2 .pc-oculus{animation-delay:-3s}.pc-fac-4 .pc-oculus{animation-delay:-6s}
@keyframes pc-blink{0%,100%{fill:var(--craie)}50%{fill:var(--pollen)}}
.pc-light{animation:pc-light 12s var(--e-soft) infinite}
@keyframes pc-light{0%,8%{transform:translateX(-196px)}30%,42%{transform:translateX(0)}64%,76%{transform:translateX(196px)}96%,100%{transform:translateX(-196px)}}
.motion-paused .hero *,.is-offscreen *{animation-play-state:paused!important}
.motion-paused .ribbon-track,.ribbon.is-offscreen .ribbon-track{animation-play-state:paused!important}

/* ── Frise de carreaux ────────────────────────────────────────────────────── */
.frieze{height:40px;border-block:3px solid var(--encre);overflow:hidden;line-height:0;background:var(--craie)}
.frieze svg{width:100%;height:40px;display:block}
.pc-tile{transform-box:fill-box;transform-origin:50% 50%}
.reveal-ready .frieze .pc-tile-flip>*{transform-box:fill-box;transform-origin:50% 50%;transform:scaleY(0);transition:transform 460ms var(--e-soft);transition-delay:calc(var(--i,0) * 60ms)}
.reveal-ready .frieze.is-in .pc-tile-flip>*{transform:scaleY(1)}

/* ── Sections ─────────────────────────────────────────────────────────────── */
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.section-head h2{font-size:clamp(30px,4vw,40px);line-height:1.12;margin:0}
.section-num{font:800 14px/1 var(--f-head);letter-spacing:.06em;display:inline-block;background:var(--tone);border:2px solid var(--encre);border-radius:999px;padding:.35rem .7rem;margin-bottom:.8rem}
.bg-encre{background:var(--encre);color:var(--craie)}
.bg-encre a{color:var(--pollen)}

/* Arcades des rubriques */
.arcades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem);list-style:none;margin:0;padding:0}
.arcade{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;aspect-ratio:4/4.4;padding:2.2rem 1rem 1.4rem;border-radius:var(--arch);background:var(--encre);color:var(--craie);text-decoration:none;border:16px solid var(--tone);box-shadow:inset 0 0 0 3px var(--encre),0 0 0 3px var(--encre);transition:transform 240ms var(--e-out);isolation:isolate}
.arcade::before{content:"";position:absolute;inset:-16px;border-radius:inherit;z-index:-1;background:repeating-conic-gradient(from -90deg at 50% 100%,transparent 0 8deg,rgba(37,22,41,.18) 8deg 9deg) border-box;pointer-events:none}
.arcade::after{content:"";position:absolute;inset:auto 12% 0;height:0;background:var(--tone);border-radius:var(--arch);z-index:-1;transition:height 240ms var(--e-out)}
.arcade:hover{transform:translateY(-6px) rotate(-1.5deg)}
.arcade:hover::after{height:38%}
.arcade:hover .arc-label,.arcade:hover .arc-go{color:var(--encre)}
.arc-num{font:800 clamp(34px,4vw,52px)/1 var(--f-head);color:var(--pollen);transition:color 240ms}
.arcade:hover .arc-num{color:var(--tone)}
.arc-label{font:800 clamp(18px,2vw,24px)/1.1 var(--f-head);margin:.35rem 0 .5rem;transition:color 240ms}
.arc-go{width:28px;height:28px;transition:transform 240ms var(--e-out),color 240ms}
.arcade:hover .arc-go{transform:translateX(6px)}
.arc-count{position:absolute;top:-30px;right:-6px;font:700 13px/1 var(--f-body);background:var(--craie);color:var(--encre);border:2px solid var(--encre);border-radius:999px;padding:.3rem .55rem}

/* ── Cartes d'article ─────────────────────────────────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(1.2rem,2.6vw,2.2rem);list-style:none;margin:0;padding:0}
.card{position:relative;display:flex;flex-direction:column}
.card-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--tone);border:3px solid var(--encre);border-radius:var(--radius) var(--radius) var(--radius) 0;isolation:isolate}
.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 240ms var(--e-out)}
.card-media::before{content:"";position:absolute;right:-3px;bottom:-3px;width:34%;aspect-ratio:1/1.1;background:var(--tone);border:3px solid var(--encre);border-radius:var(--arch);z-index:2;transform:translate(14px,30%);transition:transform 240ms var(--e-out)}
.card-media::after{content:"";position:absolute;inset:0;background:var(--rose);mix-blend-mode:multiply;opacity:0;transition:opacity 240ms var(--e-out);z-index:1}
.card:hover .card-media img{transform:scale(1.04) rotate(1.5deg)}
.card:hover .card-media::before{transform:translate(6px,30%)}
.card:hover .card-media::after{opacity:.35}
.card-tag{display:inline-block;align-self:flex-start;margin:1rem 0 .5rem;font:700 13px/1.3 var(--f-body);letter-spacing:.04em;text-transform:uppercase;background:var(--tone);border:2px solid var(--encre);border-radius:999px;padding:.25rem .65rem}
.card h2,.card h3{font-size:clamp(20px,1.9vw,24px);line-height:1.18;margin:0 0 .5rem}
.card :is(h2,h3) a{text-decoration:none;background:linear-gradient(var(--tone),var(--tone)) 0 100%/0 40% no-repeat;transition:background-size 240ms var(--e-out)}
.card :is(h2,h3) a::after{content:"";position:absolute;inset:0;z-index:3}
.card:hover :is(h2,h3) a,.card :is(h2,h3) a:focus-visible{background-size:100% 40%}
.card:focus-within{outline:3px solid var(--encre);outline-offset:6px;border-radius:var(--radius)}
.card :is(h2,h3) a:focus-visible{outline:none}
.card p{font-size:16px;line-height:1.55;color:var(--prune);margin:0}
.card-meta{font-size:14px;color:var(--prune);margin-top:.6rem}

/* Liste compacte (mobile, dernières publications) */
@media (max-width:640px){
  .cards.cards-compact{grid-template-columns:1fr;gap:1.1rem}
  .cards-compact .card{display:grid;grid-template-columns:118px 1fr;gap:.2rem 1rem;align-items:start}
  .cards-compact .card-media{grid-row:span 3;aspect-ratio:1/1}
  .cards-compact .card-media::before{display:none}
  .cards-compact .card-tag{margin:0 0 .3rem}
  .cards-compact .card p{display:none}
}

/* ── Bandeau de rubrique ──────────────────────────────────────────────────── */
.band{background:var(--tone);border-bottom:3px solid var(--encre);overflow:hidden}
.band-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:2rem;align-items:end;padding-top:clamp(1.5rem,4vw,3rem)}
.band-copy{padding-bottom:clamp(2rem,4vw,3rem)}
.band .kicker{background:var(--encre);color:var(--tone)}
.band h1{font-size:clamp(38px,5.4vw,64px);line-height:1.02;margin:0 0 1rem}
.band-num{font:800 clamp(22px,2.4vw,30px)/1 var(--f-head);letter-spacing:.04em}
.band-lead{font-size:19px;line-height:1.5;font-weight:500;max-width:46ch;margin:1rem 0 0}
.band-art{line-height:0;align-self:end}
.band-art svg{width:100%;height:auto;display:block;margin-bottom:-3px}
.cat-intro{font-size:19px;line-height:1.6}

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pagination{margin:3rem 0 0}
.pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;list-style:none;margin:0;padding:0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 .7rem;font:800 18px/1 var(--f-head);text-decoration:none;border:3px solid var(--encre);border-radius:12px 12px 4px 4px;background:var(--craie);transition:transform 160ms var(--e-direct),background 160ms}
.pagination a:hover{background:var(--rose);transform:translateY(-3px)}
.pagination [aria-current="page"]{background:var(--pollen)}
.pagination .gap{border-color:transparent;background:none}

/* ── Article ──────────────────────────────────────────────────────────────── */
.post-head{padding-top:1.5rem}
.post-figure{position:relative;margin:1.5rem 0 2rem;aspect-ratio:16/8;border:3px solid var(--encre);border-radius:220px 220px var(--radius) var(--radius);overflow:hidden;background:var(--tone)}
.post-figure img{width:100%;height:100%;object-fit:cover;display:block}
.post-figure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:repeating-linear-gradient(90deg,var(--tone) 0 28px,var(--encre) 28px 31px);border-top:3px solid var(--encre)}
.post-title{font-size:clamp(38px,5.2vw,64px);line-height:1.02;margin:.9rem 0 1rem}
.post-lead{font-size:21px;line-height:1.5;font-weight:500;margin:0 0 1.2rem}
.post-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:14px;line-height:1.45;color:var(--prune);margin-bottom:1.5rem}
.post-meta span{display:inline-flex;align-items:center;gap:.4rem}
.post-meta svg{width:16px;height:16px}
.toc{border:3px solid var(--encre);border-radius:var(--radius);background:var(--papier);margin:0 0 2.2rem;box-shadow:6px 6px 0 var(--lilas)}
.toc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font:800 22px/1.2 var(--f-head)}
.toc summary::-webkit-details-marker{display:none}
.toc summary .pc-mini-arc{width:18px;height:18px;transition:transform 160ms var(--e-direct)}
.toc[open] summary .pc-mini-arc{transform:rotate(90deg)}
.toc ol{list-style:none;margin:0;padding:0 1.25rem 1.1rem;counter-reset:toc}
.toc li{counter-increment:toc;border-top:1px solid var(--pave)}
.toc li a{display:flex;gap:.7rem;padding:.55rem 0;text-decoration:none;font-weight:600;line-height:1.35}
.toc li a::before{content:counter(toc,decimal-leading-zero);font:800 14px/1.6 var(--f-head);color:var(--prune);flex:none}
.toc li a:hover{text-decoration:underline}
.toc li.toc-h3 a{padding-left:2rem;font-weight:400;font-size:15px}
.toc li.toc-h3 a::before{content:"";width:8px;height:8px;margin-top:.45em;background:var(--rose);border-radius:50% 50% 0 0}
.post-end{margin-top:3rem;padding-top:2rem;border-top:3px solid var(--encre)}

/* ── Corps éditorial ──────────────────────────────────────────────────────── */
.article-body{font-size:17px;line-height:1.75}
.article-body>:first-child{margin-top:0}
.article-body h2{font-size:clamp(30px,3.4vw,40px);line-height:1.12;margin:2.4em 0 .6em;position:relative;padding-top:.6em}
.article-body h2::before{content:"";position:absolute;top:0;left:0;width:56px;height:10px;background:linear-gradient(90deg,var(--pollen) 0 33%,var(--rose) 0 66%,var(--abricot) 0);border:2px solid var(--encre);border-radius:999px}
.article-body h3{font-size:clamp(23px,2.4vw,26px);line-height:1.2;margin:1.8em 0 .5em}
.article-body h4{font-size:20px;line-height:1.25;margin:1.5em 0 .4em}
.article-body p{margin:0 0 1.1em}
.article-body ul,.article-body ol{padding-left:1.6rem;margin:0 0 1.2em}
.article-body ul{list-style:none;padding-left:1.8rem}
.article-body ul>li{position:relative;margin-bottom:.45em}
.article-body ul>li::before{content:"";position:absolute;left:-1.5rem;top:.5em;width:12px;height:13px;background:var(--encre);border-radius:6px 6px 0 0;box-shadow:inset 0 -6px 0 -1px var(--encre),inset 3px -4px 0 0 var(--encre)}
.article-body ol>li{margin-bottom:.45em}
.article-body ol>li::marker{font-family:var(--f-head);font-weight:800}
.article-body strong{font-weight:700}
.article-body a{font-weight:600;text-decoration-color:var(--rose);text-decoration-thickness:3px}
.article-body a:hover{text-decoration-color:var(--encre)}
.article-body img{border-radius:var(--radius);border:3px solid var(--encre)}
.article-body figure{margin:2rem 0}
.article-body figcaption{font-size:14px;line-height:1.45;color:var(--prune);margin-top:.6rem}
.article-body blockquote{position:relative;margin:2rem 0;padding:1.4rem 1.5rem 1.4rem 4.4rem;background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);font-size:17px}
.article-body blockquote::before{content:"";position:absolute;left:1.1rem;top:1.2rem;width:34px;height:40px;background:var(--rose);border:3px solid var(--encre);border-radius:999px 999px 4px 4px}
.article-body blockquote::after{content:"";position:absolute;left:calc(1.1rem + 11px);top:calc(1.2rem + 14px);width:12px;height:12px;border-radius:50%;background:var(--craie);border:3px solid var(--encre)}
.article-body blockquote p:last-child{margin-bottom:0}
.article-body cite{display:block;margin-top:.6rem;font-style:normal;font-size:14px;color:var(--prune)}
/* Tableaux */
.table-scroll{overflow-x:auto;margin:1.8rem 0;border:3px solid var(--encre);border-radius:var(--radius);background:var(--papier);-webkit-overflow-scrolling:touch}
.article-body table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.article-body .table-scroll table{margin:0}
.article-body table:not(.table-scroll table){border:3px solid var(--encre);margin:1.8rem 0}
.article-body caption{caption-side:top;text-align:left;font-weight:700;padding:.8rem 1rem;border-bottom:2px solid var(--encre)}
.article-body th{background:var(--pave);color:var(--encre);text-align:left;font-weight:700;padding:.75rem 1rem;border-bottom:2px solid var(--encre);white-space:nowrap}
.article-body td{padding:.7rem 1rem;border-bottom:1px solid var(--pave);vertical-align:top}
.article-body tbody tr:nth-child(even) td{background:var(--craie)}
.article-body tbody tr:last-child td{border-bottom:0}
/* Encadrés */
.retenir,.article-body .retenir,.cs-tip{position:relative;background:var(--lilas);border:3px solid var(--encre);border-radius:var(--radius);padding:1.2rem 1.4rem 1.2rem 1.4rem;margin:2rem 0 2rem 18px}
.retenir::before,.cs-tip::before{content:"";position:absolute;left:-21px;top:18px;width:18px;height:30px;background:var(--lilas);border:3px solid var(--encre);border-right:0;border-radius:18px 0 0 18px}
.retenir-title{font:800 20px/1.2 var(--f-head);margin-bottom:.4rem}
.vigilance,.legal-disclaimer{background:var(--ambre);border:3px double var(--encre);outline:3px solid var(--encre);outline-offset:-9px;border-radius:var(--radius);padding:1.2rem 1.4rem;margin:0 0 2rem;font-size:16px;line-height:1.55}
.vigilance-label{display:inline-block;font:800 13px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;background:var(--encre);color:var(--ambre);border-radius:999px;padding:.35rem .65rem;margin-bottom:.6rem}
.legal-disclaimer>span:first-child{display:none}
/* FAQ */
.article-body details,.faq details{border-top:2px solid var(--encre);padding:0;margin:0}
.article-body details:last-of-type{border-bottom:2px solid var(--encre)}
.article-body summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.9rem;padding:1rem .2rem;font:700 18px/1.35 var(--f-body)}
.article-body summary::-webkit-details-marker{display:none}
.article-body summary::after{content:"";flex:none;margin-left:auto;width:16px;height:18px;background:var(--encre);border-radius:8px 8px 0 0;-webkit-mask:radial-gradient(circle 4px at 50% 70%,transparent 98%,#000);mask:radial-gradient(circle 4px at 50% 70%,transparent 98%,#000);transition:transform 160ms var(--e-direct)}
.article-body details[open]>summary::after{transform:rotate(90deg)}
.article-body details[open]>summary{color:var(--encre);box-shadow:inset 6px 0 0 var(--pollen);padding-left:1rem}
.article-body details>:not(summary){padding:0 .2rem 1rem}

/* Composants hérités du contenu */
.home-fam-grid,.cl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:1rem;margin:2rem 0}
.home-fam-card,.cl-card{display:flex;flex-direction:column;gap:.35rem;background:var(--papier);border:3px solid var(--encre);border-radius:90px 90px var(--radius) var(--radius);padding:1.4rem 1rem 1rem;text-align:center;align-items:center;font-size:15px;line-height:1.4}
.home-fam-card strong,.cl-card strong{font:800 18px/1.15 var(--f-head)}
.home-fam-card span:last-child,.cl-card span:last-child{color:var(--prune)}
.home-fam-ico,.cl-ico,.cs-dot{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50% 50% 8px 8px;border:2px solid var(--encre);flex:none}
.home-fam-ico svg,.cl-ico svg,.cs-dot svg{width:26px;height:26px}
.cs-dot{width:40px;height:40px}.cs-dot svg{width:20px;height:20px}
.home-delay-box{margin:2rem 0}
.home-delay-title{font:800 20px/1.2 var(--f-head);margin-bottom:.6rem}
.cs-steps{counter-reset:cs;display:grid;gap:1rem;margin:2rem 0}
.cs-step{counter-increment:cs;display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:start;background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);padding:1.1rem}
.cs-step-num{display:flex;align-items:center;justify-content:center;width:56px;height:62px;background:var(--pollen);border:3px solid var(--encre);border-radius:999px 999px 6px 6px;font:800 24px/1 var(--f-head)}
.cs-step-num::before{content:counter(cs,decimal-leading-zero)}
.cs-step h4,.cs-mistake h4{margin:.2rem 0 .3rem}
.cs-step p,.cs-mistake p{margin:0}
.cs-accordion-wrap,.cs-faq{margin:1.5rem 0}
.cs-accordion summary{font-family:var(--f-head);font-weight:800;font-size:20px}
.cs-faq .cs-accordion summary{font-family:var(--f-body);font-weight:700;font-size:18px}
.cs-delay-tag{display:inline-block;background:var(--ambre);border:2px solid var(--encre);border-radius:999px;padding:.3rem .8rem;font-size:14px;font-weight:700;margin:0 0 .8rem}
.cs-mistakes{display:grid;gap:1rem;margin:1.5rem 0}
.cs-mistake{display:grid;grid-template-columns:48px 1fr;gap:1rem;background:var(--ambre);border:3px solid var(--encre);border-radius:var(--radius);padding:1.1rem}
.cs-tip{margin-left:18px}
.cat-editorial{margin:0 0 2.5rem}
.cat-editorial-bottom{margin:3rem 0 0}

/* Annuaire */
.dir2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin:1.5rem 0 2rem}
.dir2-card,.article-body .dir2-card{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--encre);background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);padding:.9rem 1rem;transition:transform 200ms var(--e-out),background 200ms}
.dir2-card strong{font:800 17px/1.2 var(--f-head)}
.dir2-card span{font-size:14px;font-weight:400;color:var(--prune)}
.dir2-card:hover{transform:translateY(-4px) rotate(-.6deg);background:var(--pollen)}
.entity-infobox{display:none}

.explorer{margin:2rem 0 3rem}
.explorer-head{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-bottom:1.2rem}
.count-pill{font:800 22px/1 var(--f-head);background:var(--pollen);border:3px solid var(--encre);border-radius:999px;padding:.55rem 1.1rem}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.6fr);gap:.8rem;margin-bottom:1.2rem}
.field{position:relative}
.field label{display:block;font-size:14px;font-weight:700;margin-bottom:.3rem}
.field select,.field input{width:100%;height:52px;border:3px solid var(--encre);border-radius:12px;background:var(--papier);padding:0 1rem;font:400 16px var(--f-body);color:var(--encre);appearance:none}
.field select{background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23251629' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding-right:2.6rem}
.view-switch{display:none;border:3px solid var(--encre);border-radius:999px;overflow:hidden;margin-bottom:1rem}
.view-switch button{flex:1;height:48px;border:0;background:var(--craie);font:700 16px var(--f-body);color:var(--encre);cursor:pointer}
.view-switch button[aria-pressed="true"]{background:var(--pollen)}
.view-switch button+button{border-left:3px solid var(--encre)}
.explorer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1.5rem;align-items:start}
.ag-list{list-style:none;margin:0;padding:0;max-height:640px;overflow-y:auto;border-top:3px solid var(--encre);scrollbar-width:thin}
.ag-item{border-bottom:2px solid var(--encre)}
.ag-link{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem .6rem;text-decoration:none;color:var(--encre);transition:background 140ms}
.ag-link:hover,.ag-item.is-active .ag-link{background:var(--pollen)}
.ag-num{display:flex;align-items:center;justify-content:center;width:46px;height:50px;border:3px solid var(--encre);border-radius:999px 999px 6px 6px;background:var(--lilas);font:800 18px/1 var(--f-head)}
.ag-item.is-active .ag-num{background:var(--craie)}
.ag-name{display:block;font:800 18px/1.15 var(--f-head)}
.ag-addr{display:block;font-size:14px;line-height:1.4;color:var(--prune);margin-top:.15rem}
.ag-type{display:inline-block;margin-top:.35rem;font-size:13px;font-weight:700;background:var(--rose);border-radius:999px;padding:.1rem .55rem}
.ag-type[data-t="courtier"]{background:var(--lilas)}.ag-type[data-t="banc"]{background:var(--abricot)}.ag-type[data-t="agent"]{background:var(--brume)}.ag-type[data-t="mutuelle"]{background:var(--pollen)}
.ag-go{width:22px;height:22px}
.ag-empty{padding:1rem 0;font-weight:700}
.map-wrap{position:sticky;top:calc(var(--hdr) + 16px)}
.aa-map-box{position:relative;width:100%;height:560px;overflow:hidden;background:var(--pave);border:3px solid var(--encre);border-radius:var(--radius);touch-action:pan-y}
.aa-map-box-mini{height:320px}
.aa-map-layer{position:absolute;left:0;top:0;will-change:transform}
.aa-map-tile{position:absolute;width:256px;height:256px;max-width:none;filter:grayscale(1) sepia(.35) saturate(1.4) contrast(.95) brightness(1.04);border:0!important;border-radius:0!important}
.aa-map-box::after{content:"";position:absolute;inset:0;background:var(--craie);mix-blend-mode:multiply;opacity:.35;pointer-events:none}
.aa-map-pin{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:38px;height:42px;margin:-42px 0 0 -19px;background:var(--craie);border:3px solid var(--encre);border-radius:999px 999px 6px 6px;font:800 14px/1 var(--f-head);color:var(--encre);text-decoration:none;transform-origin:50% 100%;transform:scaleY(.85);transition:transform 200ms var(--e-out),background 140ms}
.aa-map-pin:hover,.aa-map-pin:focus-visible{transform:scaleY(1);background:var(--rose)}
.aa-map-pin.is-active{transform:scaleY(1);background:var(--pollen);z-index:3}
.aa-map-pin.is-active::before{content:"";position:absolute;top:-16px;right:-12px;width:18px;height:14px;background:linear-gradient(60deg,transparent 40%,var(--encre) 40% 55%,transparent 55%),linear-gradient(10deg,transparent 40%,var(--encre) 40% 55%,transparent 55%)}
.aa-map-pin.is-hidden{opacity:0;pointer-events:none;transition:opacity 140ms}
.aa-map-pin .aa-map-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--encre);color:var(--craie);font:600 13px/1.3 var(--f-body);padding:.35rem .6rem;border-radius:8px;opacity:0;pointer-events:none;transition:opacity 140ms}
.aa-map-pin:hover .aa-map-tip,.aa-map-pin:focus-visible .aa-map-tip,.aa-map-pin.is-active .aa-map-tip{opacity:1}
.map-ctrl{position:absolute;right:10px;top:10px;z-index:4;display:flex;flex-direction:column;gap:6px}
.map-ctrl button{width:40px;height:40px;border:3px solid var(--encre);border-radius:10px;background:var(--papier);font:800 20px/1 var(--f-head);cursor:pointer;color:var(--encre)}
.map-ctrl button:hover{background:var(--pollen)}
.map-credit{position:absolute;right:6px;bottom:4px;z-index:4;font-size:11px;line-height:1.3;background:rgba(255,248,232,.9);padding:.1rem .4rem;border-radius:4px}
.map-credit a{color:var(--prune)}
.aa-map-caption{font-size:14px;color:var(--prune);margin-top:.6rem}

/* Fiche agence */
.agency-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;padding-block:1.5rem 2.5rem}
.slab{display:inline-block;max-width:calc(100% - 10px);background:var(--pollen);padding:.15em .45em .2em;transform:skewX(-8deg);box-shadow:6px 6px 0 var(--encre);margin:.4rem 0 .9rem}
.slab>span{display:inline-block;transform:skewX(8deg)}
.agency-title{font-size:clamp(36px,5vw,60px);line-height:1.04;margin:0}
.agency-sub{display:inline-block;background:var(--rose);clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);padding:.35rem 1.1rem;font-style:italic;font-weight:600;margin:0 0 1.6rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.2rem;align-items:center;margin:0 0 1.6rem}
.facts dt{background:var(--abricot);clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);font:800 17px/1 var(--f-head);padding:.6rem 1.1rem;white-space:nowrap}
.facts dd{margin:0;font-weight:600;line-height:1.4;min-width:0;overflow-wrap:anywhere}
.agency-art{display:flex;flex-direction:column;gap:1rem}
.agency-art .pc-pignon-svg{width:100%;height:auto}

/* ── Pages génériques ─────────────────────────────────────────────────────── */
.page-head{padding-block:1.5rem 1rem}
.page-title{font-size:clamp(38px,5.2vw,64px);line-height:1.02;margin:.5rem 0 1rem}
.page-lead{font-size:20px;line-height:1.5;font-weight:500;color:var(--encre)}
.page-feature{margin:0 0 2rem;border:3px solid var(--encre);border-radius:160px 160px var(--radius) var(--radius);overflow:hidden;line-height:0}
.page-feature img{width:100%;max-height:440px;object-fit:cover}
.search-page form{display:flex!important;gap:.6rem!important}
.search-page input[type=search]{height:54px;border:3px solid var(--encre)!important;border-radius:12px!important;background:var(--papier);font:400 17px var(--f-body)!important}
.search-page button[type=submit]{height:54px;background:var(--pollen)!important;color:var(--encre)!important;border:3px solid var(--encre)!important;border-radius:999px!important;font:700 16px var(--f-body)!important}
.search-page li{border-bottom:2px solid var(--encre)!important}
.search-page li a{color:var(--encre)!important;font-family:var(--f-head);font-weight:800!important}
.search-page li span{background:var(--lilas)!important;color:var(--encre)!important}
.search-page p{color:var(--prune)!important}

/* ── 404 ──────────────────────────────────────────────────────────────────── */
.page-404{background:var(--encre);color:var(--craie)}
.page-404 .site-header{background:var(--encre);border-color:var(--encre)}
.page-404 .site-header .nav a,.page-404 .icon-btn{color:var(--craie)}
.page-404 .site-header .nav a:hover{color:var(--encre)}
.page-404 .icon-btn:hover{color:var(--encre)}
.lost{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2rem;align-items:end;min-height:calc(100vh - var(--hdr) - 120px);padding-top:2rem}
.lost-code{font:800 clamp(80px,13vw,180px)/.9 var(--f-head);letter-spacing:-.04em;color:var(--craie);margin:0}
.lost h1{font-size:clamp(34px,4.6vw,56px);line-height:1.04;color:var(--craie);margin:.6rem 0 1.4rem}
.lost-home{display:inline-block;font:800 clamp(22px,2.4vw,30px)/1.2 var(--f-head);color:var(--pollen);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
.lost-search{margin-top:2rem;display:flex;gap:.6rem;flex-wrap:wrap;max-width:520px}
.lost-search input{flex:1;min-width:200px;height:52px;border:3px solid var(--craie);border-radius:12px;background:transparent;color:var(--craie);padding:0 1rem;font:400 16px var(--f-body)}
.lost-search input::placeholder{color:#cdbfc6}
.lost-search .btn{border-color:var(--craie)}
.lost-search .btn:hover{box-shadow:5px 5px 0 var(--craie)}
.lost-art{line-height:0;align-self:end}
.lost-art svg{width:100%;height:auto;display:block}
.pc-paw{transform-box:view-box}
.reveal-ready .pc-paw{animation:pc-paw 1350ms var(--e-soft) 600ms 1 both}
@keyframes pc-paw{0%{transform:translateX(0)}44%{transform:translateX(20px)}100%{transform:translateX(0)}}
.pc-exit{transition:fill 450ms var(--e-out)}
.reveal-ready .pc-exit{animation:pc-exit 450ms var(--e-out) 1950ms 1 both}
@keyframes pc-exit{from{fill:#b6ba3f}to{fill:var(--pollen)}}
.lost-results{margin-top:1.5rem}
.lost-results a{color:var(--pollen)}

/* ── Pied de page ─────────────────────────────────────────────────────────── */
.site-footer{background:var(--encre);color:var(--craie);margin-top:0}
.site-footer .frieze{border-color:var(--encre)}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;padding-block:3rem 2rem}
.foot img{height:36px;width:auto}
.foot p{color:#e9dccd;max-width:52ch;margin:1rem 0 0;font-size:16px;line-height:1.6}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;justify-self:end}
.foot-links a{color:var(--craie);font-weight:700}
.foot-links a:hover{color:var(--pollen)}
.foot-bottom{border-top:1px solid rgba(255,248,232,.18);padding-block:1.2rem 1.6rem;font-size:14px;line-height:1.5;color:#e9dccd;display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between}
.indep{display:inline-flex;gap:.5rem;align-items:center;background:var(--pollen);color:var(--encre);border-radius:999px;padding:.35rem .8rem;font-weight:700;font-size:14px;margin-top:1.1rem}

/* ── Retour en haut ───────────────────────────────────────────────────────── */
.to-top{position:fixed;right:18px;bottom:18px;z-index:900;width:52px;height:58px;border:3px solid var(--encre);border-radius:999px 999px 8px 8px;background:var(--pollen);color:var(--encre);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity 180ms var(--e-out),transform 180ms var(--e-out),visibility 0s 180ms;box-shadow:4px 4px 0 var(--encre)}
.to-top.show{opacity:1;visibility:visible;transform:none;transition:opacity 180ms var(--e-out),transform 180ms var(--e-out)}
.to-top svg{width:22px;height:22px}

/* ── Révélations au défilement ────────────────────────────────────────────── */
.reveal-ready .reveal .r-art,.reveal-ready .reveal.r-self{opacity:.65;transform:translateY(12px);transition:opacity 420ms var(--e-out),transform 420ms var(--e-out);transition-delay:var(--rd,0ms)}
.reveal-ready .reveal.is-in .r-art,.reveal-ready .reveal.r-self.is-in,.reveal-ready .reveal:focus-within .r-art{opacity:1;transform:none}

/* ── Commentaires (core) ──────────────────────────────────────────────────── */
#comments{--primary:#251629;--card-bg:#fff;margin-top:3rem!important}
#comments h2,#comments h3{font-family:var(--f-head)!important;color:var(--encre)!important}
#comments>div{border:3px solid var(--encre)!important;border-radius:var(--radius)!important}
#comments input,#comments textarea{border:2px solid var(--encre)!important;border-radius:10px!important;font-family:inherit!important}
#comments .btn-primary{background:var(--pollen)!important;color:var(--encre)!important;border:3px solid var(--encre)!important;border-radius:999px!important;font-weight:700!important}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .arcades{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;margin-inline:auto}
  .cards{--cols:2}
  .band-grid{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
}
@media (max-width:900px){
  :root{--hdr:64px}
  .main-nav{display:none}
  .hdr{gap:.6rem}
  .hdr-tools{gap:.25rem}
  .menu-btn{padding:0 .75rem}
  .menu-btn{display:inline-flex}
  .hdr-tools{margin-left:auto}
  .logo img{height:30px}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero-copy{padding-bottom:1.5rem}
  .hero-art{margin-inline:calc(var(--gut) * -.5);aspect-ratio:760/600}
  .pc-fac-2 .pc-gable,.pc-fac-4 .pc-gable,.pc-fac-2 .pc-volet,.pc-fac-4 .pc-volet{animation:none}
  .explorer-grid{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr}
  .view-switch{display:flex}
  .explorer[data-view="list"] .map-wrap{display:none}
  .explorer[data-view="map"] .ag-list{display:none}
  .explorer[data-view="map"] .map-wrap{display:block}
  .map-wrap{position:relative;top:0}
  .aa-map-box{height:460px}
  .ag-list{max-height:none}
  .agency-hero{grid-template-columns:1fr}
  .agency-art{order:2}
  .lost{grid-template-columns:1fr;min-height:auto;padding-bottom:0}
  .foot{grid-template-columns:1fr}
  .foot-links{justify-self:start}
}
@media (max-width:640px){
  body{font-size:17px}
  .logo img{height:26px}
  .facts{grid-template-columns:1fr;gap:.35rem}
  .facts dt{justify-self:start;margin-top:.5rem}
  .cards{--cols:1}
  .band-grid{grid-template-columns:1fr;gap:0}
  .band-art{max-width:240px;justify-self:end;margin-top:-1rem}
  .band-lead{font-size:17px}
  .ribbon{flex-wrap:wrap}
  .ribbon-label{width:100%;border-right:0;border-bottom:3px solid var(--encre);padding-block:.5rem}
  .ribbon-view{min-width:calc(100% - 60px)}
  .motion-btn{margin-left:.4rem}
  .arcade{border-width:11px;padding:1.4rem .6rem 1rem}
  .arcade::before{inset:-11px}
  .arc-count{display:none}
  .post-figure{aspect-ratio:4/3;border-radius:140px 140px var(--radius) var(--radius)}
  .post-lead,.hero-lead{font-size:19px}
  .cs-step{grid-template-columns:1fr}
  .retenir,.cs-tip{margin-left:12px}
  .article-body blockquote{padding-left:1.2rem;padding-top:4.2rem}
  .article-body blockquote::before{top:1rem}.article-body blockquote::after{top:calc(1rem + 14px)}
  .to-top{right:12px;bottom:12px}
}

/* ── Mouvement réduit : états calmes dès le premier rendu ─────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .pc-volet{transform:scaleY(.5)}
  .pc-light{transform:none}
  .ribbon-view{mask-image:none}
  .ribbon-track{width:auto;flex-wrap:wrap}
  .ribbon-track ul{flex-wrap:wrap}
  .ribbon-track ul+ul{display:none}
  .motion-btn{display:none}
  .reveal-ready .reveal .r-art,.reveal-ready .reveal.r-self,.reveal-ready .frieze .pc-tile-flip>*{opacity:1!important;transform:none!important}
  .reveal-ready .swash path{stroke-dashoffset:0!important}
}
.motion-paused .ribbon-track{animation:none}

/* ── Impression ───────────────────────────────────────────────────────────── */
@media print{
  .site-header,.site-footer,.ribbon,.frieze,.to-top,.crumbs,.pagination,.toc,.hero-art,.band-art,.map-wrap,.view-switch,.filters,#comments,.drawer,.scrim{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .band{background:none;border:0}
  a{color:#000;text-decoration:none}
  .article-body table,.table-scroll{border:1px solid #000}
}

/* ── Héros calé sur le premier écran ──────────────────────────────────────── */
@media (min-width:901px){
  .hero-grid{min-height:calc(100svh - var(--hdr) - 66px);padding-top:clamp(.75rem,2.5vh,2.5rem);align-items:stretch}
  .hero-copy{align-self:center;padding-bottom:clamp(1rem,4vh,3rem)}
  .hero h1{font-size:clamp(46px,min(7vw,10.5vh),104px);margin-bottom:clamp(.8rem,2.4vh,1.5rem)}
  .hero-lead{margin-bottom:clamp(1rem,3vh,1.75rem)}
  .hero-art{align-self:end;justify-self:end;width:auto;max-width:calc(100% + var(--gut));height:min(calc(100svh - var(--hdr) - 66px - clamp(.75rem,2.5vh,2.5rem)),640px)}
}
@media (max-width:900px){
  .hero-grid{padding-top:1.1rem}
  .hero .kicker{margin-bottom:.8rem}
  .hero h1{font-size:clamp(38px,10.6vw,56px);margin-bottom:.8rem}
  .hero-lead{font-size:17px;line-height:1.45;margin-bottom:1rem}
  .hero-ctas{flex-wrap:nowrap;gap:.5rem}
  .hero-ctas .btn{font-size:15px;padding:.6rem 1rem;white-space:nowrap}
  .hero-copy{padding-bottom:.5rem}
  .hero-art{max-height:33svh;aspect-ratio:760/600;margin-inline:auto;width:auto;max-width:calc(100% + var(--gut))}
}

/* ── Page des guides : extraits de rubriques ──────────────────────────────── */
.band-intro{font-size:19px;line-height:1.6;font-weight:500;max-width:60ch;margin:1rem 0 0}
.rubs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem);list-style:none;margin:0;padding:0}
.rubs li{display:flex;flex-direction:column;gap:1rem}
.rubs p{margin:0;font-size:16px;line-height:1.55;color:var(--prune)}
@media (max-width:1080px){.rubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rubs{grid-template-columns:1fr}.rubs .arcade{max-width:300px;margin-inline:auto;width:100%}}

/* ── Infographies ─────────────────────────────────────────────────────────── */
.ig,.article-body .ig{margin:2.6rem 0;padding:0}
.ig-cap{font:800 20px/1.25 var(--f-head);margin-bottom:1.2rem}
.ig-wide,.article-body .ig-wide{--igw:min(1120px,calc(100vw - 2 * var(--gut)));width:var(--igw);margin-left:calc((100% - var(--igw)) / 2);margin-right:0}
.ig ol,.ig ul{list-style:none;margin:0;padding:0}
.article-body .ig li::before{display:none}
.article-body .ig li{margin:0}
/* Parcours */
.ig-path ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;position:relative}
.ig-path ol::before{content:"";position:absolute;left:4%;right:4%;top:58px;height:8px;background:var(--encre);border-radius:8px;transform-origin:0 50%}
.ig-path li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;font-size:15px;line-height:1.45}
.ig-arch{display:flex;align-items:center;justify-content:center;width:96px;height:110px;border:4px solid var(--encre);border-radius:999px 999px 10px 10px;background:var(--tone);position:relative;z-index:1}
.ig-arch svg{width:46px;height:46px}
.ig-step{font:800 14px/1 var(--f-head);background:var(--encre);color:var(--craie);border-radius:999px;padding:.3rem .55rem;margin-top:-.9rem;position:relative;z-index:2}
.ig-path strong{font:800 18px/1.15 var(--f-head);margin-top:.2rem}
.ig-path li>span:last-child{color:var(--prune)}
.reveal-ready .ig-path:not(.is-in) ol::before{transform:scaleX(0)}
.reveal-ready .ig-path ol::before{transition:transform 900ms var(--e-out)}
.reveal-ready .ig-path:not(.is-in) .ig-arch{transform:translateY(24px) scaleY(.6);opacity:0}
.reveal-ready .ig-path .ig-arch{transform-origin:50% 100%;transition:transform 520ms var(--e-out),opacity 520ms var(--e-out);transition-delay:calc(200ms + var(--i) * 110ms)}
.ig-path li:hover .ig-arch{transform:translateY(-6px) rotate(-3deg)}
/* Obligations */
.ig-oblig ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ig-oblig li{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:6px 6px 0 var(--tone)}
.ig-ob-name{font:800 22px/1.1 var(--f-head)}
.ig-badge{font:700 13px/1 var(--f-body);text-transform:uppercase;letter-spacing:.05em;background:var(--craie);border:2px solid var(--encre);border-radius:999px;padding:.35rem .6rem}
.ig-badge.is-must{background:var(--encre);color:var(--pollen)}
.ig-ob-txt{grid-column:1/-1;font-size:15px;line-height:1.5;color:var(--prune)}
.reveal-ready .ig-oblig li{transition:transform 460ms var(--e-out),box-shadow 460ms var(--e-out),opacity 460ms;transition-delay:calc(var(--i) * 90ms)}
.reveal-ready .ig-oblig:not(.is-in) li{transform:translate(6px,6px);box-shadow:0 0 0 var(--tone);opacity:.5}
/* Couches du contrat */
.ig-layers ol{display:grid;gap:0}
.ig-layers li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:.2rem 1rem;align-items:start;background:var(--tone);border:3px solid var(--encre);border-radius:var(--radius);padding:1rem 1.2rem;margin-top:-10px;box-shadow:0 -6px 0 rgba(37,22,41,.08);z-index:calc(10 - var(--i))}
.ig-layers li:first-child{margin-top:0}
.ig-layers li:nth-child(1){margin-right:0}.ig-layers li:nth-child(2){margin-left:3%}.ig-layers li:nth-child(3){margin-left:6%}.ig-layers li:nth-child(4){margin-left:9%}
.ig-ly-num{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:48px;height:54px;background:var(--craie);border:3px solid var(--encre);border-radius:999px 999px 6px 6px;font:800 18px/1 var(--f-head)}
.ig-layers strong{font:800 19px/1.2 var(--f-head)}
.ig-layers li>span:last-child{font-size:15px;line-height:1.5}
.reveal-ready .ig-layers li{transition:transform 600ms var(--e-out),margin 600ms var(--e-out);transition-delay:calc(var(--i) * 120ms)}
.reveal-ready .ig-layers:not(.is-in) li{transform:translateY(calc(var(--i) * -60px))}
/* Délais */
.ig-delays ol{display:grid;gap:.7rem}
.ig-delays li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1rem;align-items:center}
.ig-dl-txt{font-size:15px;line-height:1.4;font-weight:600;text-align:right}
.ig-dl-track{position:relative;display:flex;align-items:center;height:44px;background:var(--pave);border:3px solid var(--encre);border-radius:999px;overflow:hidden}
.ig-dl-bar{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--tone);border-right:3px solid var(--encre);transform-origin:0 50%}
.ig-dl-val{position:relative;margin-left:.9rem;font:800 16px/1 var(--f-head);background:var(--craie);border:2px solid var(--encre);border-radius:999px;padding:.3rem .6rem;white-space:nowrap}
.ig-note{font-size:14px;color:var(--prune);margin:.9rem 0 0;text-align:right}
.reveal-ready .ig-delays .ig-dl-bar{transition:transform 900ms var(--e-out);transition-delay:calc(150ms + var(--i) * 110ms)}
.reveal-ready .ig-delays:not(.is-in) .ig-dl-bar{transform:scaleX(0)}
/* Lexique */
.lexique{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}
.lexique div{background:var(--papier);border:3px solid var(--encre);border-radius:90px 90px var(--radius) var(--radius);padding:1.6rem 1.2rem 1.1rem;text-align:center;transition:transform 240ms var(--e-out),background 240ms}
.lexique div:nth-child(5n+1){--tone:var(--pollen)}.lexique div:nth-child(5n+2){--tone:var(--rose)}.lexique div:nth-child(5n+3){--tone:var(--abricot)}.lexique div:nth-child(5n+4){--tone:var(--lilas)}.lexique div:nth-child(5n+5){--tone:var(--brume)}
.lexique div:hover{transform:translateY(-5px) rotate(-1deg);background:var(--tone)}
.lexique dt{display:inline-block;font:800 19px/1.2 var(--f-head);background:var(--tone);border:2px solid var(--encre);border-radius:999px;padding:.3rem .8rem;margin-bottom:.6rem}
.lexique div:hover dt{background:var(--craie)}
.lexique dd{margin:0;font-size:15px;line-height:1.55}
@media (max-width:900px){
  .ig-path ol{grid-template-columns:1fr;gap:1.4rem}
  .ig-path ol::before{left:46px;right:auto;top:20px;bottom:20px;width:8px;height:auto;transform-origin:50% 0}
  .reveal-ready .ig-path:not(.is-in) ol::before{transform:scaleY(0)}
  .ig-path li{display:grid;grid-template-columns:96px 1fr;text-align:left;align-items:center;column-gap:1rem}
  .ig-path .ig-arch{grid-row:span 3}
  .ig-step{justify-self:start;margin-top:0}
  .ig-oblig ul,.lexique{grid-template-columns:1fr}
  .ig-delays li{grid-template-columns:1fr;gap:.35rem}
  .ig-dl-txt{text-align:left}
  .ig-layers li:nth-child(n){margin-left:0}
}

/* ── Infographies SVG dans les articles ───────────────────────────────────── */
.article-body figure.ig-svg{margin:2.4rem 0;background:var(--papier);border:3px solid var(--encre);border-radius:var(--radius);padding:1.1rem 1.1rem .9rem;box-shadow:6px 6px 0 var(--tone,var(--pollen))}
.ig-svg svg{display:block;width:100%;height:auto;font-family:var(--f-body)}
.ig-svg figcaption{margin-top:.7rem}
.ig-svg .t-h{font:800 15px var(--f-head);fill:var(--encre)}
.ig-svg .t-s{font:600 12.5px var(--f-body);fill:var(--encre)}
.ig-svg .t-m{font:400 11.5px var(--f-body);fill:var(--prune)}
.reveal-ready .ig-svg .ig-grow{transform-box:fill-box;transform-origin:0 50%;transition:transform 900ms var(--e-out);transition-delay:calc(var(--i,0) * 110ms)}
.reveal-ready .ig-svg:not(.is-in) .ig-grow{transform:scaleX(0)}
.reveal-ready .ig-svg .ig-pop{transform-box:fill-box;transform-origin:50% 100%;transition:transform 520ms var(--e-out),opacity 520ms;transition-delay:calc(200ms + var(--i,0) * 110ms)}
.reveal-ready .ig-svg:not(.is-in) .ig-pop{transform:translateY(14px) scaleY(.7);opacity:0}
/* Formulaire QuietCMS aux couleurs du thème */
.article-body .qcms-form-wrap{margin-top:1.5rem;padding:clamp(1.1rem,3vw,2rem);background:var(--craie);border:3px solid var(--encre);border-radius:var(--radius);box-shadow:6px 6px 0 var(--lilas)}
.article-body .qcms-form .qcms-label{font:700 15px/1.3 var(--f-body);color:var(--encre)}
.article-body .qcms-form .qcms-req{color:var(--encre)}
.article-body .qcms-form .qcms-input{font:400 16px/1.4 var(--f-body);color:var(--encre);background:#fff;border:2px solid var(--encre);border-radius:10px;padding:.7rem .85rem;box-shadow:none}
.article-body .qcms-form .qcms-input:focus{outline:3px solid var(--pollen);outline-offset:1px;border-color:var(--encre)}
.article-body .qcms-form .qcms-checkbox-label{font:400 15px/1.5 var(--f-body);color:var(--encre);display:flex;gap:.6rem;align-items:flex-start}
.article-body .qcms-form .qcms-checkbox-label input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--encre)}
.article-body .qcms-form .qcms-submit{font:700 16px/1.3 var(--f-body);color:var(--encre);background:var(--pollen);border:3px solid var(--encre);border-radius:999px;padding:.8rem 1.6rem;cursor:pointer;box-shadow:0 0 0 var(--encre);transition:box-shadow 160ms var(--e-direct),transform 90ms var(--e-direct)}
.article-body .qcms-form .qcms-submit:hover{background:var(--pollen);box-shadow:5px 5px 0 var(--encre)}
.article-body .qcms-form .qcms-submit:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--encre)}
.article-body .qcms-alert{border:3px solid var(--encre);border-radius:var(--radius);padding:.9rem 1.1rem;font:700 15px/1.5 var(--f-body);color:var(--encre)}
.article-body .qcms-alert-success{background:var(--brume)}
.article-body .qcms-alert-error{background:var(--rose)}

/* Dessins animés en boucle des infographies (rubriques) */
.ig-svg .ig-float,.ig-svg .ig-beat,.ig-svg .ig-sway,.ig-svg .ig-bob,.ig-svg .ig-drive,.ig-svg .ig-blink,.ig-svg .ig-spin,.ig-svg .ig-drip,.ig-svg .ig-smoke,.ig-svg .ig-hammer{transform-box:fill-box;transform-origin:50% 50%}
.ig-svg .ig-float{animation:ig-float 4s var(--e-soft) infinite}
.ig-svg .ig-beat{animation:ig-beat 1.6s var(--e-soft) infinite}
.ig-svg .ig-sway{transform-origin:50% 100%;animation:ig-sway 3.6s var(--e-soft) infinite}
.ig-svg .ig-bob{animation:ig-bob 2.4s var(--e-soft) infinite}
.ig-svg .ig-drive{animation:ig-drive 6s var(--e-soft) infinite}
.ig-svg .ig-blink{animation:ig-blink 1.8s steps(2,end) infinite}
.ig-svg .ig-spin{animation:ig-spin 9s linear infinite}
.ig-svg .ig-drip{transform-origin:50% 0;animation:ig-drip 2.2s var(--e-soft) infinite}
.ig-svg .ig-smoke{animation:ig-smoke 3s var(--e-out) infinite}
.ig-svg .ig-hammer{transform-origin:0 100%;animation:ig-hammer 1.4s var(--e-soft) infinite}
@keyframes ig-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ig-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(1)}45%{transform:scale(1.2)}}
@keyframes ig-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes ig-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ig-drive{0%{transform:translateX(-40px)}50%{transform:translateX(20px)}100%{transform:translateX(-40px)}}
@keyframes ig-blink{0%{opacity:1}100%{opacity:.25}}
@keyframes ig-spin{to{transform:rotate(360deg)}}
@keyframes ig-drip{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(6px) scaleY(1.08)}}
@keyframes ig-smoke{0%{transform:translateY(0);opacity:.9}100%{transform:translateY(-22px);opacity:0}}
@keyframes ig-hammer{0%,100%{transform:rotate(0)}40%{transform:rotate(-22deg)}60%{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.ig-svg .ig-float,.ig-svg .ig-beat,.ig-svg .ig-sway,.ig-svg .ig-bob,.ig-svg .ig-drive,.ig-svg .ig-blink,.ig-svg .ig-spin,.ig-svg .ig-drip,.ig-svg .ig-smoke,.ig-svg .ig-hammer{animation:none}}
