/* ============================================================
 * Institut Parisien — Vintage Jazz 1920s
 * Speakeasy années 20, doré sur noir, Art Deco editorial
 * ============================================================ */

:root{
  --e6c-primary:#1B1B1B;
  --e6c-accent:#CFA84A;
  --e6c-accent-d:#B5912F;
  --e6c-bg:#2A2520;
  --e6c-surface:#3A322A;
  --e6c-text:#F5EFE0;
  --e6c-text-soft:#B5A88E;
  --e6c-line:#5A4F40;
  --e6c-fs-base:1rem;
  --e6c-fs-lg:1.125rem;
  --e6c-fs-h1:clamp(2.2rem,4.5vw,3.6rem);
  --e6c-fs-h2:clamp(1.6rem,3vw,2.4rem);
  --e6c-fs-h3:1.35rem;
  --e6c-radius:4px;
  --e6c-w:1200px;
  --e6c-pad:1.5rem;
  --e6c-font-head:'Limelight','Cormorant Garamond',serif;
  --e6c-font-body:'Vollkorn','Georgia',serif;
}

*,*::before,*::after{box-sizing:border-box}

html,body{margin:0;padding:0;background:var(--e6c-bg);color:var(--e6c-text);font-family:var(--e6c-font-body);font-size:var(--e6c-fs-base);line-height:1.65;-webkit-font-smoothing:antialiased}

body.e6c-no-scroll{overflow:hidden}

img{max-width:100%;height:auto;display:block}

a{color:var(--e6c-accent);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--e6c-text)}

h1,h2,h3,h4{font-family:var(--e6c-font-head);font-weight:400;color:var(--e6c-text);letter-spacing:.04em;line-height:1.25;margin:0 0 .8em}
h1{font-size:var(--e6c-fs-h1)}
h2{font-size:var(--e6c-fs-h2)}
h3{font-size:var(--e6c-fs-h3)}

p{margin:0 0 1.1em}

main, .e6c-main{padding-top:0 !important;margin-top:0 !important}

/* ============================================================
 * HEADER — Jazz Speakeasy (logo-left, menu-right)
 * ============================================================ */
.e6c-header{position:sticky;top:0;z-index:1000;background:var(--e6c-primary);border-bottom:1px solid var(--e6c-line);box-shadow:0 2px 24px rgba(0,0,0,0.5)}
.e6c-header-inner{max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad);display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem}

.e6c-brand-link{display:flex;align-items:center;gap:.8rem;color:var(--e6c-text);text-decoration:none;flex-shrink:0}
.e6c-brand-logo{width:46px;height:46px;object-fit:contain;display:block;background:transparent}
.e6c-brand-name{font-family:var(--e6c-font-head);font-size:1.15rem;color:var(--e6c-accent);text-transform:lowercase;letter-spacing:0;white-space:nowrap}

/* DEFAUT MOBILE: nav desktop cachee */
.e6c-nav-desktop{display:none}
.e6c-nav-desktop-list{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;align-items:center}
.e6c-nav-desktop-list li{margin:0}
.e6c-nav-desktop-list a{color:var(--e6c-text);text-decoration:none;font-family:var(--e6c-font-head);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;padding:.5rem .2rem;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.e6c-nav-desktop-list a:hover{border-bottom-color:var(--e6c-accent);color:var(--e6c-accent)}

/* BURGER mobile */
.e6c-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:transparent;border:1px solid var(--e6c-line);border-radius:var(--e6c-radius);cursor:pointer;padding:0 10px}
.e6c-burger span{display:block;width:100%;height:2px;background:var(--e6c-accent);transition:transform .25s,opacity .25s}

/* NAV mobile drawer - DEFAUT cache */
.e6c-nav{display:none}
.e6c-nav-overlay{display:none}

@media (max-width:1023px){
  .e6c-nav.is-open{
    display:flex;flex-direction:column;
    position:fixed;top:0;right:0;bottom:0;
    width:86%;max-width:380px;
    background:var(--e6c-primary);
    padding:4.5rem 1.5rem 2rem;
    z-index:9999;overflow-y:auto;
    box-shadow:-10px 0 30px rgba(0,0,0,0.6);
    border-left:1px solid var(--e6c-line);
  }
  .e6c-nav-overlay.is-open{
    display:block;position:fixed;inset:0;
    background:rgba(0,0,0,0.65);z-index:9998;
  }
  .e6c-nav-close{position:absolute;top:.8rem;right:.8rem;background:transparent;border:0;color:var(--e6c-accent);font-size:2.2rem;cursor:pointer;line-height:1;padding:.2rem .6rem}
  .e6c-nav-list{list-style:none;margin:0;padding:0}
  .e6c-nav-list li{border-bottom:1px solid var(--e6c-line)}
  .e6c-nav-list a{display:block;padding:1rem .2rem;color:var(--e6c-text);text-decoration:none;font-family:var(--e6c-font-head);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
  .e6c-nav-list a:hover{color:var(--e6c-accent)}
}

@media (min-width:1024px){
  .e6c-nav-desktop{display:flex;flex:1;justify-content:flex-end;margin:0 1.5rem}
  .e6c-burger{display:none !important}
  .e6c-nav, .e6c-nav-overlay{display:none !important}
}

/* ============================================================
 * BUTTONS — gold_jazz style + minimal_underline_cta animation
 * ============================================================ */
.e6c-btn{display:inline-block;padding:.85em 1.6em;font-family:var(--e6c-font-head);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:var(--e6c-radius);transition:all .25s ease;cursor:pointer;border:0}

.e6c-btn--cta{position:relative;color:var(--e6c-primary);background:var(--e6c-accent)}
.e6c-btn--cta::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--e6c-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.e6c-btn--cta:hover::after{transform:scaleX(1)}
.e6c-btn--cta:hover{background:var(--e6c-accent-d);color:var(--e6c-primary)}
.e6c-btn--cta:focus-visible{outline:2px solid var(--e6c-accent);outline-offset:3px}

.e6c-btn--ghost{background:transparent;color:var(--e6c-accent);border:1px solid var(--e6c-accent)}
.e6c-btn--ghost:hover{background:var(--e6c-accent);color:var(--e6c-primary)}

/* ============================================================
 * HERO — mosaic-categories
 * ============================================================ */
.e6c-hero{background:var(--e6c-bg);padding:3.5rem 0 4rem;border-bottom:1px solid var(--e6c-line)}
.e6c-hero-inner{max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad);display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}

.e6c-hero-eyebrow{display:inline-block;font-family:var(--e6c-font-head);font-size:.75rem;color:var(--e6c-accent);text-transform:uppercase;letter-spacing:.25em;margin-bottom:1.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--e6c-accent);position:relative}
.e6c-hero-title{font-size:var(--e6c-fs-h1);color:var(--e6c-text);margin:0 0 1rem;line-height:1.15}
.e6c-hero-subtitle{color:var(--e6c-text-soft);font-size:1.1rem;line-height:1.6;margin:0 0 2rem;max-width:520px}

.e6c-hero-mosaic{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,180px);gap:.8rem}
.e6c-hero-mosaic-cell{position:relative;overflow:hidden;border-radius:var(--e6c-radius);border:1px solid var(--e6c-line);background:var(--e6c-surface);display:block;text-decoration:none}
.e6c-hero-mosaic-cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1);filter:brightness(.78) sepia(.15)}
.e6c-hero-mosaic-cell:hover img{transform:scale(1.06);filter:brightness(.95) sepia(.1)}
.e6c-hero-mosaic-cell-label, .e6c-hero-mosaic-label{position:absolute;left:1rem;bottom:.9rem;font-family:var(--e6c-font-head);color:var(--e6c-text);font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.75);padding:.3rem .7rem;background:rgba(27,27,27,.55);border-left:2px solid var(--e6c-accent)}

@media (min-width:900px){
  .e6c-hero-inner{grid-template-columns:1.05fr 1.15fr;gap:3.5rem}
  .e6c-hero-mosaic{grid-template-rows:repeat(2,220px);gap:1rem}
}

/* ============================================================
 * SECTIONS commons
 * ============================================================ */
.e6c-section-inner{max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad)}
.e6c-section-head{text-align:center;margin-bottom:2.5rem}
.e6c-section-title{font-size:var(--e6c-fs-h2);color:var(--e6c-accent);margin:0 0 .5rem}
.e6c-section-sub{color:var(--e6c-text-soft);font-size:1rem;margin:0;font-style:italic}

.e6c-categories{padding:4rem 0;background:var(--e6c-primary)}
.e6c-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.e6c-cat-card{display:flex;flex-direction:column;background:var(--e6c-surface);border:1px solid var(--e6c-line);border-radius:var(--e6c-radius);overflow:hidden;text-decoration:none;transition:transform .3s ease,border-color .3s ease;color:inherit}
.e6c-cat-card:hover{transform:translateY(-4px);border-color:var(--e6c-accent)}
.e6c-cat-card-img{display:block;width:100%;height:160px;object-fit:cover;filter:sepia(.1) brightness(.92)}
.e6c-cat-card-img--fallback{background:linear-gradient(135deg,var(--e6c-surface),var(--e6c-primary));display:flex;align-items:center;justify-content:center;color:var(--e6c-accent);font-family:var(--e6c-font-head);min-height:160px}
.e6c-cat-card-body{padding:1.2rem 1.3rem;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:.8rem}
.e6c-cat-card-name{font-size:1.2rem;color:var(--e6c-text);margin:0}
.e6c-cat-card-link{color:var(--e6c-accent);font-family:var(--e6c-font-head);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}

/* ============================================================
 * EDITORIAL bloc (after-categories placement)
 * ============================================================ */
.e6c-editorial{padding:4rem 0;background:var(--e6c-bg);border-top:1px solid var(--e6c-line);border-bottom:1px solid var(--e6c-line)}
.e6c-editorial-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1100px;margin:0 auto}

.e6c-editorial-intro{font-size:1.1rem;line-height:1.75;color:var(--e6c-text);padding:1rem 0}
.e6c-editorial-intro p{margin:0}
.e6c-editorial-intro::first-letter{font-family:var(--e6c-font-head);font-size:3.5rem;float:left;line-height:.85;margin:.2rem .6rem 0 0;color:var(--e6c-accent)}

.e6c-editorial-axes{display:grid;grid-template-columns:1fr;gap:1.8rem}
.e6c-editorial-axe{padding:1.5rem;background:var(--e6c-surface);border-left:3px solid var(--e6c-accent);border-radius:var(--e6c-radius)}
.e6c-editorial-axe h3{font-size:1.15rem;color:var(--e6c-accent);margin:0 0 .6rem}
.e6c-editorial-axe p{margin:0;color:var(--e6c-text);font-size:.98rem}
.e6c-editorial-axe a{color:var(--e6c-accent);border-bottom:1px solid rgba(207,168,74,.4)}

.e6c-editorial-aside{padding:1.8rem;background:var(--e6c-primary);border:1px solid var(--e6c-line);border-radius:var(--e6c-radius)}
.e6c-editorial-aside h3{font-size:1.15rem;color:var(--e6c-accent);margin:0 0 1rem}
.e6c-editorial-aside ul{list-style:none;padding:0;margin:0 0 1rem}
.e6c-editorial-aside li{padding:.5rem 0;border-bottom:1px solid var(--e6c-line);color:var(--e6c-text)}
.e6c-editorial-aside li:last-child{border-bottom:0}
.e6c-editorial-aside li strong{color:var(--e6c-accent);font-family:var(--e6c-font-head);font-size:.85rem;letter-spacing:.06em;margin-right:.4rem}
.e6c-editorial-aside p{margin:0;font-size:.95rem;color:var(--e6c-text-soft)}

@media (min-width:900px){
  .e6c-editorial-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .e6c-editorial-intro{grid-column:1 / -1;padding:0}
  .e6c-editorial-axes{grid-template-columns:repeat(2,1fr)}
  .e6c-editorial-aside{margin-top:0}
}

/* ============================================================
 * BY-CATEGORY sections (1 block per cat, 5 posts each)
 * ============================================================ */
.e6c-by-cat{padding:4rem 0;background:var(--e6c-primary)}
.e6c-by-cat-block{margin-bottom:3.5rem;padding-bottom:3rem;border-bottom:1px solid var(--e6c-line)}
.e6c-by-cat-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.e6c-by-cat-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap;border-bottom:2px solid var(--e6c-accent);padding-bottom:.8rem}
.e6c-by-cat-title{font-size:1.8rem;margin:0}
.e6c-by-cat-title a{color:var(--e6c-accent);text-decoration:none}
.e6c-by-cat-title a:hover{color:var(--e6c-text)}
.e6c-by-cat-more{font-family:var(--e6c-font-head);color:var(--e6c-text-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.e6c-by-cat-more:hover{color:var(--e6c-accent)}

.e6c-by-cat-list{display:grid;grid-template-columns:1fr;gap:1.2rem}
.e6c-by-cat-post{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;text-decoration:none;color:inherit;padding:.8rem;border-radius:var(--e6c-radius);border:1px solid transparent;transition:border-color .3s,background .3s}
.e6c-by-cat-post:hover{border-color:var(--e6c-line);background:var(--e6c-surface)}
.e6c-by-cat-post-img{overflow:hidden;border-radius:var(--e6c-radius)}
.e6c-by-cat-post-img img{width:120px;height:90px;object-fit:cover;filter:sepia(.1) brightness(.92)}
.e6c-by-cat-post-body{display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.e6c-by-cat-post-title{font-family:var(--e6c-font-head);font-size:1.05rem;color:var(--e6c-text);margin:0;line-height:1.35;letter-spacing:.02em}
.e6c-by-cat-post-date{color:var(--e6c-text-soft);font-size:.8rem;font-style:italic}
.e6c-by-cat-empty{color:var(--e6c-text-soft);font-style:italic;text-align:center;padding:1.5rem;background:var(--e6c-surface);border-radius:var(--e6c-radius);border:1px dashed var(--e6c-line)}

@media (min-width:760px){
  .e6c-by-cat-list{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}
@media (min-width:1100px){
  .e6c-by-cat-list{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
 * CATEGORY page — tldr-detailed layout
 * ============================================================ */
.e6c-cat-hero{position:relative;height:320px;max-height:350px;overflow:hidden;background:var(--e6c-primary)}
.e6c-cat-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:brightness(.55) sepia(.2)}
.e6c-cat-hero-inner{position:relative;z-index:2;height:100%;max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,0.78) 100%);padding-bottom:2rem;padding-top:2rem}
.e6c-cat-hero h1{color:var(--e6c-text);text-shadow:0 2px 14px rgba(0,0,0,.7);margin-bottom:.5rem}
.e6c-cat-hero p{color:var(--e6c-text-soft);font-style:italic;margin:0}

.e6c-cat-content{padding:3rem 0;background:var(--e6c-bg)}
.e6c-cat-intro{max-width:780px;margin:0 auto 2.5rem;padding:0 var(--e6c-pad);font-size:1.05rem;line-height:1.75;color:var(--e6c-text)}

.e6c-cat-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad)}
.e6c-cat-post{background:var(--e6c-surface);border:1px solid var(--e6c-line);border-radius:var(--e6c-radius);overflow:hidden;transition:transform .3s ease}
.e6c-cat-post:hover{transform:translateY(-3px)}
.e6c-cat-post img{width:100%;height:180px;object-fit:cover}
.e6c-cat-post-body{padding:1.2rem}
.e6c-cat-post-body h2{font-size:1.15rem;margin:0 0 .5rem}
.e6c-cat-post-body h2 a{color:var(--e6c-text);text-decoration:none}
.e6c-cat-post-body h2 a:hover{color:var(--e6c-accent)}
.e6c-cat-post-body .e6c-cat-post-meta{color:var(--e6c-text-soft);font-size:.8rem;font-style:italic}

/* ============================================================
 * SINGLE page
 * ============================================================ */
.e6c-article{max-width:780px;margin:3rem auto;padding:0 var(--e6c-pad)}
.e6c-article h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1rem}
.e6c-article-meta{color:var(--e6c-text-soft);font-size:.85rem;font-style:italic;margin-bottom:2rem}
.e6c-article-content p{font-size:1.05rem;line-height:1.8;margin-bottom:1.3em}
.e6c-article-content h2{color:var(--e6c-accent);font-size:1.6rem;margin:2.2rem 0 1rem;border-bottom:1px solid var(--e6c-line);padding-bottom:.4rem}
.e6c-article-content h3{color:var(--e6c-text);font-size:1.25rem;margin:1.8rem 0 .8rem}
.e6c-article-content blockquote{border-left:3px solid var(--e6c-accent);padding:.5rem 0 .5rem 1.5rem;font-style:italic;color:var(--e6c-text-soft);font-size:1.1rem;margin:1.5rem 0}
.e6c-article-content img{margin:1.5rem 0;border-radius:var(--e6c-radius)}

/* ============================================================
 * PAGE (a-propos, contact, tools)
 * ============================================================ */
.e6c-page{max-width:780px;margin:3rem auto;padding:0 var(--e6c-pad)}
.e6c-page h1{font-size:clamp(1.9rem,4vw,2.8rem);color:var(--e6c-accent);margin-bottom:1.5rem;text-align:center}
.e6c-page h2{color:var(--e6c-accent);font-size:1.5rem;margin:2rem 0 1rem}
.e6c-page p{font-size:1.05rem;line-height:1.8;margin-bottom:1.3em}

.e6c-persona-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;float:right;margin:0 0 1.5rem 1.5rem;border:3px solid var(--e6c-accent);box-shadow:0 6px 24px rgba(0,0,0,.5)}
@media (max-width:600px){
  .e6c-persona-photo{float:none;margin:0 auto 1.5rem;display:block}
}

.e6c-contact-form{margin-top:2rem;padding:1.5rem;background:var(--e6c-surface);border:1px solid var(--e6c-line);border-radius:var(--e6c-radius)}

/* ============================================================
 * FOOTER — gold_on_black
 * ============================================================ */
.e6c-footer{background:var(--e6c-primary);color:var(--e6c-text);padding:4rem 0 0;border-top:1px solid var(--e6c-accent)}
.e6c-footer-inner{max-width:var(--e6c-w);margin:0 auto;padding:0 var(--e6c-pad);display:grid;grid-template-columns:1fr;gap:2.5rem}
.e6c-footer-col{display:flex;flex-direction:column}
.e6c-footer-logo{filter:brightness(1)}
.e6c-footer-brand-pitch{color:var(--e6c-text);font-size:.95rem;line-height:1.7;margin:0 0 1.2rem}
.e6c-footer-brand-cta{display:inline-block;color:var(--e6c-accent);font-family:var(--e6c-font-head);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid var(--e6c-accent);padding-bottom:.2rem;align-self:flex-start;transition:color .2s,border-color .2s}
.e6c-footer-brand-cta:hover{color:var(--e6c-text);border-color:var(--e6c-text)}
.e6c-footer-title{font-family:var(--e6c-font-head);font-size:1rem;color:var(--e6c-accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1.2rem;padding-bottom:.5rem;border-bottom:1px solid var(--e6c-line)}
.e6c-footer-links{list-style:none;padding:0;margin:0}
.e6c-footer-links li{margin-bottom:.6rem}
.e6c-footer-links a{color:var(--e6c-text);text-decoration:none;font-size:.95rem;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.e6c-footer-links a:hover{color:var(--e6c-accent);border-bottom-color:var(--e6c-accent)}

.e6c-footer-bottom{margin-top:3rem;padding:1.5rem var(--e6c-pad);text-align:center;border-top:1px solid var(--e6c-line);background:#141412}
.e6c-footer-bottom p{margin:0;color:var(--e6c-text-soft);font-size:.85rem;font-style:italic}

@media (min-width:760px){
  .e6c-footer-inner{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}
}

/* ============================================================
 * ANIMATIONS — step_by_step_progress (CTR) + social_proof_popup (CTO)
 * ============================================================ */
@keyframes rpStepReveal{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
.e6c-step{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.e6c-step.is-in{animation:rpStepReveal .8s cubic-bezier(.22,.61,.36,1) forwards}
.e6c-step:nth-child(1).is-in{animation-delay:0s}
.e6c-step:nth-child(2).is-in{animation-delay:.12s}
.e6c-step:nth-child(3).is-in{animation-delay:.24s}
.e6c-step:nth-child(4).is-in{animation-delay:.36s}
.e6c-step:nth-child(5).is-in{animation-delay:.48s}
.e6c-step:nth-child(6).is-in{animation-delay:.6s}
.e6c-step:nth-child(7).is-in{animation-delay:.72s}
.e6c-step:nth-child(8).is-in{animation-delay:.84s}

@keyframes rpProofIn{0%{opacity:0;transform:translateY(40px)}100%{opacity:1;transform:translateY(0)}}
@keyframes rpProofOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(40px)}}
.e6c-proof{position:fixed;left:1.5rem;bottom:1.5rem;background:var(--e6c-surface);color:var(--e6c-text);padding:.9rem 2.2rem .9rem 1.2rem;border-left:3px solid var(--e6c-accent);border-radius:var(--e6c-radius);box-shadow:0 8px 32px rgba(0,0,0,.5);max-width:300px;z-index:9000;font-family:var(--e6c-font-body);font-size:.9rem;line-height:1.5;opacity:0;transform:translateY(40px);pointer-events:none}
.e6c-proof.is-show{animation:rpProofIn .55s cubic-bezier(.22,.61,.36,1) forwards;pointer-events:auto}
.e6c-proof.is-hide{animation:rpProofOut .4s ease forwards}
.e6c-proof strong{color:var(--e6c-accent);display:block;margin-bottom:.2rem;font-family:var(--e6c-font-head);font-size:.85rem;letter-spacing:.06em}
.e6c-proof button{position:absolute;top:.3rem;right:.4rem;background:transparent;color:var(--e6c-text-soft);border:0;font-size:1.1rem;cursor:pointer;line-height:1;padding:0 .3rem}
@media (max-width:640px){
  .e6c-proof{left:.5rem;right:.5rem;max-width:none;bottom:.5rem}
}

/* ============================================================
 * MISC / utilities
 * ============================================================ */
.e6c-no-scroll{overflow:hidden}

::selection{background:var(--e6c-accent);color:var(--e6c-primary)}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* Validator: cap hauteur hero cat v2 */
body section[class*="cat-hero"], body div[class*="cat-hero"], body section[class*="category-hero"], body div[class*="category-hero"] { position: relative !important; height: 320px !important; max-height: 320px !important; min-height: 200px !important; padding: 0 !important; overflow: hidden !important; display: flex !important; align-items: center !important; border: none !important; box-shadow: none !important; }
body [class*="cat-hero"] > img, body [class*="cat-hero-bg"], body [class*="cat-hero"] img, body [class*="category-hero"] img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-height: 320px !important; object-fit: cover !important; z-index: 0 !important; border: none !important; }
body [class*="cat-hero"] > [class*="container"], body [class*="cat-hero"] > [class*="wrap"], body [class*="cat-hero"] > [class*="inner"], body [class*="cat-hero"] > div { position: relative !important; z-index: 2 !important; max-width: 900px !important; margin: 0 auto !important; padding: 1.5rem 2rem !important; background: transparent !important; }
body [class*="cat-hero"] h1, body [class*="category-hero"] h1 { color: #ffffff !important; font-size: clamp(2rem, 5vw, 3.5rem) !important; margin: 0 !important; font-weight: 800 !important; text-shadow: 0 3px 12px rgba(0,0,0,.85), 0 0 30px rgba(0,0,0,.5) !important; }
body [class*="cat-hero"][style*="background-image"] { background-size: cover !important; background-position: center !important; }
body [class*="cat-hero"] [class*="breadcrumb"], body [class*="cat-hero"] nav[aria-label*="riane"], body [class*="cat-hero"] nav[aria-label*="readcrumb"] { display: none !important; }

/* Validator: nav-mobile drawer hidden by default v2 */
/* Drawer/burger menu mobile : hidden par defaut, visible mobile+is-open */
[class*="-nav-mobile"]:not(.is-open), [id*="-nav-mobile"]:not(.is-open), [class*="-drawer"]:not(.is-open), [class*="-burger-menu"]:not(.is-open), [class*="-mobile-menu"]:not(.is-open) { display: none !important; }
@media (max-width: 980px) {
  [class*="-nav-mobile"].is-open, [id*="-nav-mobile"].is-open, [class*="-drawer"].is-open, [class*="-burger-menu"].is-open, [class*="-mobile-menu"].is-open { display: flex !important; flex-direction: column !important; position: fixed !important; top: 0 !important; right: 0 !important; bottom: 0 !important; width: 86% !important; max-width: 380px !important; background: #fff !important; padding: 4.5rem 1.5rem 2rem !important; z-index: 9999 !important; overflow-y: auto !important; box-shadow: -10px 0 30px rgba(0,0,0,0.3) !important; }
}

/* Validator: drawer-mobile height fix v1 */
/* Force height:100vh sur le drawer ouvert : top:0;bottom:0 sans !important peut etre overrides par Claude → on impose 100vh. */
@media (max-width: 980px) {
  [class*="-nav-mobile"].is-open, [id*="-nav-mobile"].is-open, [class*="-drawer"].is-open, [class*="-burger-menu"].is-open, [class*="-mobile-menu"].is-open { height: 100vh !important; min-height: 100vh !important; max-height: 100vh !important; }
}

/* Validator: footer logo no-filter v1 */
footer img, [class*="-footer"] img, [role="contentinfo"] img, footer [class*="logo"], [class*="-footer"] [class*="logo"] { filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
footer[class*="dark"] img, footer[class*="black"] img, [class*="-footer"][class*="dark"] img, [class*="-footer"][class*="black"] img { filter: brightness(0) invert(1) !important; }

/* Validator: header-hero gap fix v1 */
/* Bug recurrent : <main class="X-main"> a padding-top:30px qui creait un
 * gap entre header sticky et hero/cat-hero. Force padding-top:0 sur le
 * wrapper <main> + margin-top:0 sur le 1er hero enfant. */
body > main, body > [role="main"], main[class*="-main"], [id="main"] { padding-top: 0 !important; }
main > [class*="-hero"]:first-child, main > [class*="-cat-hero"]:first-child, main > [class*="-category-hero"]:first-child { margin-top: 0 !important; }
/* Fallback : si sibling direct du header */
header + section, header + [class*="-hero"], header + [class*="-cat-hero"], header + [class*="-category-hero"], [class*="-header"] + section, [class*="-header"] + [class*="-hero"], [class*="-header"] + [class*="-cat-hero"], [class*="-header"] + [class*="-category-hero"] { margin-top: 0 !important; padding-top: 0 !important; }
section[class*="-hero"]:first-of-type, section[class*="-cat-hero"]:first-of-type, section[class*="-category-hero"]:first-of-type { margin-top: 0 !important; }

/* Validator: contraste lisible header+menu-mobile+footer v2 */
[class*="-nav-mobile"], [id*="-nav-mobile"], [class*="-drawer"], [class*="-burger-menu"], [class*="-mobile-menu"], [class*="-side-nav"] { background: #ffffff !important; }
[class*="-nav-mobile"] *, [id*="-nav-mobile"] *, [class*="-drawer"] *, [class*="-burger-menu"] *, [class*="-mobile-menu"] *, [class*="-side-nav"] * { color: #0a0a0a !important; }
[class*="-nav-mobile"] a, [id*="-nav-mobile"] a, [class*="-drawer"] a, [class*="-burger-menu"] a, [class*="-mobile-menu"] a { color: #0a0a0a !important; font-weight: 600 !important; }
[class*="-nav-mobile"] a:hover, [class*="-drawer"] a:hover, [class*="-burger-menu"] a:hover, [class*="-mobile-menu"] a:hover { color: #000 !important; opacity: 0.7 !important; }
footer *, [class*="-footer"] *, [role="contentinfo"] * { color: #1a1a1a !important; }
footer a, [class*="-footer"] a, [role="contentinfo"] a { color: #1a1a1a !important; text-decoration: underline !important; text-decoration-color: currentColor !important; text-underline-offset: 3px !important; font-weight: 600 !important; }
footer a:hover, [class*="-footer"] a:hover, [role="contentinfo"] a:hover { color: #000 !important; opacity: 1 !important; }
footer h1, footer h2, footer h3, footer h4, footer h5, [class*="-footer"] h1, [class*="-footer"] h2, [class*="-footer"] h3, [class*="-footer"] h4, [class*="-footer"] h5 { color: #0a0a0a !important; font-weight: 700 !important; }
footer p, footer span, footer li, [class*="-footer"] p, [class*="-footer"] span, [class*="-footer"] li { color: #2a2a2a !important; }
footer[class*="dark"] *, footer[class*="black"] *, [class*="-footer"][class*="dark"] *, [class*="-footer"][class*="black"] *, footer[style*="background:#0"] *, footer[style*="background: #0"] *, footer[style*="background:#1"] *, footer[style*="background: #1"] *, footer[style*="background:#2"] *, footer[style*="background: #2"] * { color: #f5f5f5 !important; }
footer[class*="dark"] a, [class*="-footer"][class*="dark"] a, footer[style*="background:#0"] a, footer[style*="background:#1"] a { color: #ffffff !important; }
header a, [class*="-header"] a, [role="banner"] a { text-shadow: none !important; }
header a:hover, [class*="-header"] a:hover { opacity: 0.7 !important; }
[class*="-nav-mobile"] [class*="-btn"], [class*="-footer"] [class*="-btn"] { border: 1.5px solid currentColor !important; }

/* Validator: burger button always visible+clickable v2 */
/* === Burger button : VISIBLE + CLIQUABLE garanti === */
[class*="-burger"], [class*="burger-menu"], [class*="menu-toggle"], button[aria-controls*="nav"], button[aria-label*="menu" i] { color: #1a1a1a !important; pointer-events: auto !important; cursor: pointer !important; z-index: 100 !important; position: relative !important; user-select: none !important; -webkit-tap-highlight-color: transparent !important; background: rgba(255,255,255,0.92) !important; border-radius: 8px !important; border: 1.5px solid rgba(0,0,0,0.15) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.12) !important; padding: 8px !important; }
[class*="-burger"] svg, [class*="burger-menu"] svg, [class*="menu-toggle"] svg, button[aria-controls*="nav"] svg { stroke: #1a1a1a !important; fill: none !important; pointer-events: none !important; stroke-width: 2.5 !important; width: 22px !important; height: 22px !important; }
[class*="-burger"] svg path, [class*="-burger"] svg line, [class*="-burger"] svg rect, [class*="-burger"] svg polyline { stroke: #1a1a1a !important; stroke-width: 2.5 !important; fill: none !important; }
[class*="-burger"]:hover, [class*="-burger"]:focus { background: rgba(255,255,255,1) !important; border-color: rgba(0,0,0,0.3) !important; outline: 2px solid rgba(0,0,0,0.15) !important; outline-offset: 1px !important; }
/* Si le header est sombre : inverse en clair (detection elargie) */
[class*="-header"][style*="background:#0"] [class*="-burger"], [class*="-header"][style*="background:#1"] [class*="-burger"], [class*="-header"][style*="background:#2"] [class*="-burger"], [class*="-header"][style*="background-color:#0"] [class*="-burger"], [class*="-header"][style*="background-color:#1"] [class*="-burger"], [class*="-header"][style*="background-color:#2"] [class*="-burger"], [class*="-header"][class*="dark"] [class*="-burger"], [class*="-header"][class*="black"] [class*="-burger"], [class*="-header"][class*="--dark"] [class*="-burger"], [class*="-header"][class*="-night"] [class*="-burger"] { color: #f5f5f5 !important; background: rgba(0,0,0,0.55) !important; border-color: rgba(255,255,255,0.4) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.4) !important; }
[class*="-header"][style*="background:#0"] [class*="-burger"] svg, [class*="-header"][style*="background:#1"] [class*="-burger"] svg, [class*="-header"][class*="dark"] [class*="-burger"] svg, [class*="-header"][class*="black"] [class*="-burger"] svg { stroke: #f5f5f5 !important; }
@media (max-width: 1023px) {
  [class*="-burger"], button[aria-controls*="nav"] { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 44px !important; min-height: 44px !important; }
}
@media (min-width: 1024px) {
  [class*="-burger"], button[aria-controls*="nav"] { display: none !important; }
}

/* Validator: nav-mobile-list visible inside open drawer v1 */
/* Burger drawer ouvert : la UL des liens DOIT etre visible. */
[class*="-nav-mobile"].is-open ul, [id*="-nav-mobile"].is-open ul, [class*="-nav-mobile"].is-open [class*="-nav-mobile-list"], [class*="-drawer"].is-open ul, [class*="-burger-menu"].is-open ul { display: block !important; visibility: visible !important; height: auto !important; max-height: none !important; overflow: visible !important; padding: 0 !important; margin: 0 !important; list-style: none !important; }
[class*="-nav-mobile"].is-open ul li, [id*="-nav-mobile"].is-open ul li, [class*="-drawer"].is-open ul li, [class*="-burger-menu"].is-open ul li { display: list-item !important; height: auto !important; padding: 0 !important; margin: 0 !important; list-style: none !important; }
[class*="-nav-mobile"].is-open ul li a, [id*="-nav-mobile"].is-open ul li a, [class*="-drawer"].is-open ul li a, [class*="-burger-menu"].is-open ul li a { display: block !important; padding: 0.9rem 0 !important; text-decoration: none !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important; font-size: 1rem !important; }
