/* ==========================================================================
   Koudelkar — thème bloc. Repris de la maquette validée (Lot 0).
   Les tailles en cqi se rapportent à .wp-site-blocks (conteneur « kd »).
   ========================================================================== */

:root{
  --bg:#121416;--ivory:#F1EBDD;--paper:#EEE6D4;--ink:#1A1C1D;--ink-muted:#55574F;--muted:#A9AAA6;
  --green:#285B49;--green-hover:#34725B;--green-text:#8CC3A8;--green-line:#4A8A72;--purple-text:#B9A6C4;
  --line:rgba(241,235,221,.10);--line-strong:rgba(241,235,221,.26);--line-ink:rgba(26,28,29,.2);--sheet:#F7F2E6;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --pad:clamp(20px,4.4cqi,64px);--section:clamp(88px,11cqi,168px);
}
html{scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ivory);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wp-site-blocks{container-type:inline-size;container-name:kd;min-height:100vh;display:flex;flex-direction:column}
.wp-site-blocks > .site-main{flex:1 0 auto}
.wp-site-blocks > *{margin-block:0}
*,*::before,*::after{box-sizing:border-box}
a{color:var(--green-text)}a:hover{color:var(--ivory)}
figure,h1,h2,h3,h4,p,dl,dd,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
img,video{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--green-text);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ivory);color:var(--ink);padding:10px 16px;font-weight:600;text-decoration:none;border-radius:2px}
.skip:focus{top:12px;color:var(--ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--pad);width:100%}
.wrap.narrow{max-width:calc(840px + 2 * var(--pad))}
.sec{padding-block:var(--section)}
.sec + .sec:not(.ivory){padding-top:0}
.sec-tight{padding-block:clamp(40px,5cqi,72px)}
.sec-tight + .sec-tight{padding-top:0}
.eyebrow{font-size:13px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:20px}
.eyebrow a{color:inherit;text-decoration:none}
.h2{font-size:clamp(32px,3.5cqi,54px);line-height:1.06;letter-spacing:-.025em;font-weight:600;text-wrap:balance}
.h3{font-size:clamp(22px,2cqi,28px);font-weight:600;letter-spacing:-.01em;line-height:1.2}
.lead{font-size:clamp(17px,1.3cqi,19px);line-height:1.65;color:var(--muted);max-width:34em}
.note{font-size:14px;color:var(--muted);line-height:1.55}
.link{color:var(--green-text);text-decoration:none;font-weight:500;font-size:16px;display:inline-flex;gap:8px;align-items:center;border-bottom:1px solid rgba(140,195,168,.35);padding-bottom:3px}
.link:hover{color:var(--ivory);border-color:var(--ivory)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-family:var(--sans);font-weight:600;font-size:16px;line-height:1;text-decoration:none;border-radius:2px;white-space:nowrap;cursor:pointer}
.btn-primary{background:var(--green);color:var(--ivory);border:1px solid var(--green-line)}
.btn-primary:hover{background:var(--green-hover);color:var(--ivory)}
.btn-primary:disabled{opacity:.6;cursor:progress}
.btn-ghost{color:var(--ivory);border:1px solid var(--line-strong);background:transparent}
.btn-ghost:hover{border-color:var(--ivory);color:var(--ivory)}
.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* Photos */
.ph{position:relative;overflow:hidden;background:#17191a}
.ph img,.ph > .vid,.ph picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph picture img{position:static}
.ph > .vid,.ph > iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#121416;object-fit:contain}
.ph-empty{box-shadow:inset 0 0 140px rgba(0,0,0,.38);outline:1px dashed rgba(241,235,221,.25);outline-offset:-8px;min-height:240px}
.ph-label{position:absolute;left:16px;bottom:14px;right:16px;font-size:11px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:rgba(241,235,221,.62)}
.fc{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.fc .t{font-size:15px;font-weight:500;color:var(--ivory)}
.fc .m{font-size:13px;color:var(--muted)}

/* En-tête */
.hdr{position:sticky;top:0;z-index:10;background:rgba(18,20,22,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.admin-bar .hdr{top:32px}
.hdr-in{display:flex;align-items:center;gap:40px;height:80px}
.wm{font-weight:600;font-size:15px;letter-spacing:.32em;text-decoration:none;color:var(--ivory);white-space:nowrap}
.wm:hover{color:var(--ivory)}
.nav{display:flex;gap:32px;margin-left:auto}
.nav a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500}
.nav a:hover,.nav a[aria-current]{color:var(--ivory)}
.hdr-end{display:flex;align-items:center;gap:24px}
.lang{display:flex;gap:6px;align-items:center;font-size:13px;letter-spacing:.08em;color:var(--muted)}
.lang a{text-decoration:none;color:var(--muted);padding:6px 2px}
.lang a[aria-current]{color:var(--ivory)}
.hdr .btn{min-height:44px;padding:0 20px;font-size:15px}
.m-quote,.burger{display:none}
.burger{min-height:44px;gap:10px;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ivory);padding:0 2px 0 10px;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:15px;line-height:1;letter-spacing:.02em}
.nav:only-child{margin-left:auto}

/* Menu mobile (dialog natif) */
.mm{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0 0 96px;border:0;background:var(--bg);color:var(--ivory);font-family:var(--sans);overflow-y:auto}
.mm::backdrop{background:var(--bg)}
.mm[open]{display:block}
html.mm-open{overflow:hidden}
.mm-top{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 20px;border-bottom:1px solid var(--line)}
.mm-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 2px 0 10px;background:transparent;border:0;color:var(--ivory);font-family:var(--sans);font-weight:500;font-size:15px;cursor:pointer}
.mm-nav{padding:32px 20px 0}
.mm-nav a{display:flex;align-items:center;min-height:56px;font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--ivory);text-decoration:none;line-height:1.1}
.mm-nav a:hover{color:var(--green-text)}
.mm-cta{padding:28px 20px 0}
.mm-btn{display:flex;align-items:center;justify-content:center;min-height:56px;background:var(--green);border:1px solid var(--green-line);color:var(--ivory);font-weight:600;font-size:16px;text-decoration:none;border-radius:2px}
.mm-btn:hover{background:var(--green-hover);color:var(--ivory)}
.mm-sec{padding:36px 20px 0;display:flex;flex-wrap:wrap;gap:4px 24px}
.mm-sec a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;font-size:15px}
.mm-sec a:hover{color:var(--ivory)}
.mm-foot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);background:var(--bg)}
.mm-lang{display:flex;gap:6px;align-items:center;letter-spacing:.08em}
.mm-lang a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.mm-lang a[aria-current]{color:var(--ivory)}
.mm-soc{display:flex;gap:18px;margin-left:auto}
.mm-soc a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}

/* Héros */
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.hero-text{grid-column:1 / span 5;padding:48px 32px 48px 0}
.hero-solo .hero-text{grid-column:1 / span 8;padding-block:clamp(72px,9cqi,136px) 24px}
.hero-media{grid-column:6 / span 7;position:relative;margin-right:calc(-1 * (var(--pad) + max(0px, (100cqi - 1320px) / 2)))}
.hero-media .ph{height:clamp(600px,62cqi,900px);background:#121416}
.hero-media .ph img{object-position:50% 12%}
.kick{display:block;font-size:14px;letter-spacing:.42em;font-weight:600;color:var(--muted);margin-bottom:32px;text-transform:uppercase;line-height:1}
.h1{font-size:clamp(42px,4.9cqi,72px);line-height:.98;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
.h1 > span{display:block}
.h1-page{font-size:clamp(40px,5cqi,76px);line-height:1}
.hero-p{font-size:clamp(17px,1.35cqi,20px);line-height:1.6;color:var(--muted);max-width:27em;margin:36px 0 44px}
.cap{position:absolute;left:28px;right:28px;bottom:24px;font-size:13px;color:rgba(241,235,221,.78)}

/* Preuves */
.proofs-wrap{margin-top:clamp(32px,3.4cqi,56px)}
.proofs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proofs-1{grid-template-columns:minmax(0,1fr)}
.proofs-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.proofs-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.proof{padding:32px 24px 34px 0;display:flex;flex-direction:column;gap:6px}
.proof + .proof{border-left:1px solid var(--line);padding-left:32px}
.proof strong{font-size:clamp(20px,1.8cqi,26px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
.proof span{font-size:15px;color:var(--muted);line-height:1.45}

/* Réalisations */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px;flex-wrap:wrap}
.gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:56px 24px}
.g-a{grid-column:span 7}.g-b{grid-column:span 5}.g-c{grid-column:span 5}.g-d{grid-column:span 7}
.g-a .ph,.g-b .ph{height:min(44.4cqi,640px)}
.g-c .ph,.g-d .ph{height:min(34.7cqi,500px)}
.g-link{display:block;text-decoration:none;color:inherit}
.g-link .ph img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.g-link:hover .ph img{transform:scale(1.025)}
.g-link:hover .fc .t{color:var(--green-text)}
.ig{margin-top:40px;font-size:15px}
.ig a{color:var(--muted);text-decoration:none}
.ig a:hover{color:var(--ivory)}
.ig strong{color:var(--green-text);font-weight:500}
.flt{display:flex;flex-direction:column;gap:12px;margin-bottom:48px}
.flt-g{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flt-k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:90px}
.flt-g a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:2px;color:var(--muted);text-decoration:none;font-size:15px}
.flt-g a:hover{color:var(--ivory);border-color:var(--ivory)}
.flt-g a[aria-current]{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.pager,.wp-block-query-pagination{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:56px;font-size:15px}
.pager a,.pager span,.wp-block-query-pagination a,.wp-block-query-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);color:var(--muted);text-decoration:none}
.pager .current,.wp-block-query-pagination .current{color:var(--ink);background:var(--ivory)}

/* Ce que je fais */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4.4cqi,72px);border-top:1px solid var(--line);padding-top:56px}
.pillar{display:flex;flex-direction:column;align-items:flex-start}
.num{font-size:13px;color:var(--muted);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.pillar h3{font-size:clamp(24px,2.2cqi,32px);font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:18px 0 14px}
.pillar p{color:var(--muted);max-width:20em}

/* Cours */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.split-media{grid-column:1 / span 6}
.split-media .ph{aspect-ratio:4 / 5}
.split-body{grid-column:8 / span 5}
.split:not(:has(.split-media)) .split-body{grid-column:1 / span 7}
.split-body .h2{margin-bottom:24px}
.offers{margin:40px 0 20px;border-top:1px solid var(--line)}
.offer{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:2px;padding:18px 0;border-bottom:1px solid var(--line)}
.offer dt{font-weight:600;font-size:18px}
.offer .d{grid-column:1;color:var(--muted);font-size:15px}
.offer .p{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:600;font-size:18px;white-space:nowrap}
.offer .p.q{font-weight:500;font-size:15px;color:var(--muted)}
.split-body .note{margin-bottom:32px}

/* Commandes */
.cmd{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.cmd-intro{grid-column:1 / span 5;align-self:start}
.cmd-intro .h2{margin-bottom:24px}
.cmd-intro .note{margin:20px 0 36px}
.levels{grid-column:7 / span 6;border-top:1px solid var(--line)}
.level{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:28px 0;border-bottom:1px solid var(--line)}
.level .num{padding-top:9px}
.level h3{font-size:clamp(22px,2cqi,28px);font-weight:600;letter-spacing:-.01em;line-height:1.2;margin-bottom:6px}
.level p{color:var(--muted)}

/* FLUFFF */
.band{position:relative;display:flex;align-items:flex-end;min-height:max(560px, min(56.25cqi, 900px))}
.band > .ph{position:absolute;inset:0;background:#121416}
.band > .ph img{object-position:50% 40%}
.band-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,20,22,.85) 0%,rgba(18,20,22,0) 16%),linear-gradient(0deg,rgba(18,20,22,.96) 0%,rgba(18,20,22,.82) 24%,rgba(18,20,22,.35) 42%,rgba(18,20,22,0) 56%)}
.band-cap{position:absolute;top:28px;right:var(--pad);font-size:13px;color:rgba(241,235,221,.72)}
.band-in{position:relative;width:100%}
.band-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding-bottom:clamp(40px,4.4cqi,64px)}
.band-l{grid-column:1 / span 5}
.band-l .h2{margin-bottom:32px}
.band-r{grid-column:7 / span 6}
.band-r .lead{color:#CFCCC4;margin-bottom:14px}
.band-r .m-btn{display:none;margin-top:24px}
.band-plain{min-height:0;aspect-ratio:auto;padding-top:var(--section);border-top:1px solid var(--line)}

/* Prochaine présence */
.np{padding-top:var(--section)}
.np-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:44px}
.np-date{grid-column:1 / span 2;display:flex;flex-direction:column;line-height:1}
.np-d{font-size:clamp(48px,5cqi,72px);font-weight:600;letter-spacing:-.03em}
.np-m{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.np-body{grid-column:3 / span 7}
.np-body .eyebrow{margin-bottom:12px}
.np-title{font-size:clamp(24px,2.4cqi,34px);font-weight:600;letter-spacing:-.015em;line-height:1.15}
.np-meta{margin-top:8px;font-size:16px;color:var(--ivory)}
.np-text{margin-top:10px;color:var(--muted);max-width:40em}
.np-cta{grid-column:10 / span 3;display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.np-deb{font-size:14px;color:var(--muted);text-decoration:none}
.np-deb:hover{color:var(--ivory)}
.np + .sec{padding-top:var(--section)}

/* Contenu / Twitch */
.cnt{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.cnt-body{grid-column:1 / span 5}
.cnt:not(:has(.cnt-media)) .cnt-body{grid-column:1 / span 7}
.cnt-media{grid-column:6 / span 7}
.cnt-media .ph{aspect-ratio:16 / 9}
.cnt-body .h2{margin-bottom:24px}
.live{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--purple-text);text-decoration:none;margin-bottom:24px;border:1px solid rgba(185,166,196,.35);padding:8px 14px;border-radius:2px}
.live:hover{color:var(--ivory)}
.dot{width:8px;height:8px;border-radius:50%;background:#B9A6C4;box-shadow:0 0 0 4px rgba(185,166,196,.18);animation:kd-pulse 2s ease-in-out infinite}
@keyframes kd-pulse{50%{box-shadow:0 0 0 7px rgba(185,166,196,.06)}}
.formats{margin:36px 0 0;border-top:1px solid var(--line)}
.formats li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.formats .k{color:var(--muted);font-size:14px;padding-top:2px}
.socials{display:flex;gap:16px 28px;flex-wrap:wrap;align-items:center;margin-top:36px}
.play{position:absolute;left:50%;top:50%;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;border:1px solid rgba(241,235,221,.55);background:rgba(18,20,22,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ivory);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.play:hover{background:var(--green);border-color:var(--green-line)}
.soc-list{display:flex;flex-wrap:wrap;gap:12px 28px;margin-block:24px}

/* Section ivoire (une seule par page) */
.ivory{background:var(--paper);color:var(--ink)}
.ivory .eyebrow{color:var(--ink-muted);border-top:1px solid rgba(26,28,29,.2);padding-top:18px;margin-bottom:36px}
.ivory .link{color:#285B49;border-color:rgba(40,91,73,.4)}
.ivory .link:hover{color:var(--ink);border-color:var(--ink)}
.bio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.bio-media{grid-column:1 / span 5}
.bio-media .ph{aspect-ratio:4 / 5;background:#d9cfba}
.bio-media .fc .t{color:var(--ink)}
.bio-media .fc .m{color:var(--ink-muted)}
.bio-body{grid-column:7 / span 6}
.bio:not(:has(.bio-media)) .bio-body{grid-column:1 / span 8}
.quote{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3cqi,34px);line-height:1.34;letter-spacing:-.012em;color:var(--ink);text-wrap:pretty}
.bio-aside{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink);margin:28px 0 32px;max-width:30em}

/* Koudypaint */
.kp{border-bottom:1px solid var(--line)}
.kp-in{display:flex;align-items:center;gap:40px;padding-block:44px;flex-wrap:wrap}
.kp-name{font-weight:600;letter-spacing:.24em;font-size:14px;text-transform:uppercase}
.kp p{color:var(--muted);flex:1 1 360px}

/* Appel final */
.final{text-align:center;display:flex;flex-direction:column;align-items:center}
.final .h2{font-size:clamp(38px,4.8cqi,72px)}
.final .lead{margin:24px auto 44px;text-align:center}
.final .ctas{justify-content:center;align-items:center;gap:28px}
.mail{color:var(--muted);font-size:15px}

/* Pied de page */
.ftr{border-top:1px solid var(--line);padding-block:72px 36px;font-size:15px}
.ftr-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px}
.ftr-brand{grid-column:1 / span 6;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ftr-sig{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;color:var(--ivory);max-width:16em}
.ftr-mail{color:var(--green-text);text-decoration:none}
.ftr-col{grid-column:span 2}
.ftr-h{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:18px}
.ftr-col ul{display:grid;gap:10px}
.ftr-col a{color:var(--ivory);text-decoration:none;opacity:.86}
.ftr-col a:hover{color:var(--green-text);opacity:1}
.ftr-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:72px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);flex-wrap:wrap}
.ftr-note{font-family:var(--serif);font-style:italic;font-size:14px}

/* Pages intérieures */
.intro{padding-block:clamp(56px,7cqi,112px) clamp(40px,5cqi,80px)}
.intro .h1{max-width:18em}
.intro-lead{margin-top:28px}
.intro .note{margin-top:20px}
.entry > :not(section):not(header):not(.wrap):not(.read):not(.np):not(.band):not(.kp):not(.alignfull):not(dialog){max-width:calc(760px + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.entry > p,.entry > ul,.entry > ol,.entry > h2,.entry > h3,.entry > blockquote,.entry > figure,.entry > .wp-block-buttons{margin-bottom:1.1em}
.entry > :last-child{margin-bottom:0}
.entry > h2{font-size:clamp(26px,2.4cqi,36px);line-height:1.12;letter-spacing:-.02em;font-weight:600;margin-top:1.6em}
.entry > h3{font-size:clamp(21px,1.8cqi,26px);line-height:1.2;font-weight:600;margin-top:1.4em}
.entry > ul{list-style:disc;padding-left:calc(var(--pad) + 1.2em)}
.entry > ol{list-style:decimal;padding-left:calc(var(--pad) + 1.2em)}
.entry > blockquote{font-family:var(--serif);font-size:1.25em;border-left:2px solid var(--green-line);padding-left:calc(var(--pad) + 1em)}
.entry .wp-block-image img{width:100%}
.entry .wp-block-image figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.entry .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.entry .wp-block-button__link{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:var(--green);color:var(--ivory);border:1px solid var(--green-line);border-radius:2px;font-weight:600;text-decoration:none}
.entry .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--line-strong)}
.single .entry{padding-bottom:var(--section)}
.single-img{margin-bottom:clamp(40px,5cqi,72px)}
.single-img img{width:100%;max-height:85vh;object-fit:contain;background:#17191a}
.prose{padding-bottom:var(--section)}
.prose p{max-width:44em;margin-bottom:1.1em}
.debrief-back{max-width:calc(760px + 2 * var(--pad));margin:-48px auto 0;padding:0 var(--pad) var(--section)}
.post-nav{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:var(--section);border-top:1px solid var(--line);padding-top:32px}
.post-nav a{color:var(--muted);text-decoration:none}
.post-nav a:hover{color:var(--ivory)}

/* Liste d'articles */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 24px}
.post-grid > li{display:flex;flex-direction:column;gap:10px}
.pc-img{margin-bottom:8px}
.pc-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pc-cat{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pc-cat a{color:inherit;text-decoration:none}
.pc-title{font-size:clamp(21px,1.8cqi,26px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
.pc-title a{color:var(--ivory);text-decoration:none}
.pc-title a:hover{color:var(--green-text)}
.pc-date{font-size:14px;color:var(--muted)}
.pc-excerpt{color:var(--muted)}
.pc-excerpt p{margin:0}

/* Histoire du pseudo (lecture ivoire) */
.read{background:var(--paper);color:var(--ink);padding-block:clamp(72px,9cqi,136px)}
.read a{color:var(--green)}
.ch{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.ch + .ch{margin-top:clamp(64px,7cqi,104px)}
.ch-label{grid-column:1 / span 3;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;border-top:1px solid var(--line-ink);padding-top:14px;align-self:start}
.ch-body{grid-column:5 / span 7;font-family:var(--serif);font-size:clamp(19px,1.5cqi,21px);line-height:1.7;color:#2A2B2A}
.ch-body > * + *{margin-top:1.05em}
.ch-body h2{font-family:var(--sans);font-size:clamp(26px,2.4cqi,36px);line-height:1.12;letter-spacing:-.02em;font-weight:600;color:var(--ink);margin-bottom:.9em;text-wrap:balance}
.ch-body .say{padding-left:1.1em;border-left:2px solid rgba(40,91,73,.45);font-style:italic}
.ch-body .beat{font-family:var(--sans);font-size:.8em;letter-spacing:.02em;color:var(--ink-muted)}
.lettrine::first-letter{float:left;font-size:4.1em;line-height:.82;padding:.06em .09em 0 0;font-weight:500;color:var(--ink)}
.sheet{margin-block:1.8em!important;background:var(--sheet);border:1px solid var(--line-ink);box-shadow:0 18px 40px -24px rgba(26,28,29,.45);padding:28px 32px 26px;max-width:420px;transform:rotate(-1.2deg)}
.sheet > * + *{margin-top:0}
.sheet-k{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px}
.sheet-n{font-family:var(--serif);font-style:italic;font-size:52px;line-height:1;color:var(--ink);letter-spacing:-.01em}
.name{font-family:var(--serif);font-style:italic;font-size:clamp(40px,4.2cqi,64px);line-height:1.05;color:var(--ink);letter-spacing:-.02em;margin-block:.5em!important}
.coda{margin-top:clamp(80px,9cqi,136px);text-align:center;border-top:1px solid var(--line-ink);padding-top:clamp(56px,6cqi,88px)}
.coda p{font-family:var(--serif);font-size:clamp(20px,1.7cqi,24px);line-height:1.6;color:#2A2B2A;max-width:30em;margin-inline:auto}
.coda .sig{font-family:var(--serif);font-style:italic;font-size:clamp(56px,7cqi,104px);line-height:1;color:var(--ink);margin-top:28px;letter-spacing:-.02em}

/* Agenda */
.evs{border-top:1px solid var(--line)}
.ev{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:8px 32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}
.ev-date{display:flex;flex-direction:column;line-height:1}
.ev-date .np-d{font-size:clamp(36px,3.6cqi,52px)}
.ev-t{font-size:clamp(21px,2cqi,28px);font-weight:600;letter-spacing:-.01em;line-height:1.2}
.ev-t a{color:var(--ivory);text-decoration:none}
.ev-t a:hover{color:var(--green-text)}
.ev-m{margin-top:6px}
.ev-s{margin-top:8px;color:var(--muted);max-width:40em}
.evs-past .ev{opacity:.82}
.evm{max-width:calc(840px + 2 * var(--pad));margin:0 auto clamp(40px,5cqi,72px);padding-inline:var(--pad)}
.evm-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 24px;border-top:1px solid var(--line);margin-bottom:32px}
.evm-dl > div{padding:16px 0;border-bottom:1px solid var(--line)}
.evm-dl dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.evm-dl dd{font-size:17px}
.evm-past{margin-bottom:16px}

/* Fiche réalisation */
.pjm{max-width:1320px;margin:clamp(40px,5cqi,72px) auto 0;padding:0 var(--pad) var(--section)}
.pj-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:48px 0}
.pj-gal img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pj-cta{border-top:1px solid var(--line);padding-top:40px;display:flex;flex-direction:column;gap:24px}

/* Avis */
.rv-head{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
.rv-stat{font-size:18px}
.rvs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rvs-all{grid-template-columns:repeat(2,minmax(0,1fr))}
.rv{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:16px}
.rv-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.stars{color:var(--green-text);letter-spacing:.12em;font-size:15px}
.stars .off{color:rgba(241,235,221,.18)}
.rv-q{font-family:var(--serif);font-size:clamp(19px,1.5cqi,22px);line-height:1.5;color:var(--ivory)}
.rv-m{font-size:14px;color:var(--muted)}
.rv-v{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-text)}
.rv-empty{padding:32px 0;border-top:1px solid var(--line)}
.flt.flt-g{flex-direction:row;margin-bottom:32px}

/* Formulaires */
.f-wrap > *{max-width:840px}
.intro + .sec-tight,.intro + .sec{padding-top:0}
.f-intro{margin-bottom:40px}
.kd-form{display:flex;flex-direction:column;gap:28px}
.f-step{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:28px;min-width:0}
.f-step-t{display:flex;flex-direction:column;gap:8px;font-size:clamp(24px,2.4cqi,34px);font-weight:600;letter-spacing:-.015em;line-height:1.15;padding:0;margin-bottom:4px}
.f-step-t .num{font-weight:500}
.f-progress{display:none}
.kd-form.is-stepped .f-progress{display:flex;gap:8px 24px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:14px;color:var(--muted)}
.f-progress li[aria-current]{color:var(--ivory)}
.f-progress li.is-done{color:var(--green-text)}
.kd-form.is-stepped .f-step-t .num{display:block}
.f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.f{display:flex;flex-direction:column;gap:8px;min-width:0}
.f-set{border:0;padding:0;margin:0}
.f-label{font-size:15px;font-weight:500;color:var(--ivory);padding:0}
.f-req{color:var(--green-text)}
.f-opt{color:var(--muted);font-weight:400;font-size:13px}
.f-hint{font-size:13px;color:var(--muted);line-height:1.45}
.kd-form input[type=text],.kd-form input[type=email],.kd-form input[type=tel],.kd-form input[type=number],.kd-form input[type=date],.kd-form select,.kd-form textarea{width:100%;min-height:52px;padding:12px 14px;background:#191b1d;color:var(--ivory);border:1px solid var(--line-strong);border-radius:2px;font:inherit;font-size:16px;color-scheme:dark}
.kd-form textarea{min-height:120px;resize:vertical;line-height:1.5}
.kd-form input:focus,.kd-form select:focus,.kd-form textarea:focus{border-color:var(--green-text);outline:none;box-shadow:0 0 0 3px rgba(140,195,168,.2)}
.kd-form [aria-invalid=true]{border-color:#E59A8C!important}
.kd-form input[type=file]{font:inherit;font-size:15px;color:var(--muted);padding:14px;border:1px dashed var(--line-strong);border-radius:2px;width:100%}
.f-files{font-size:14px;color:var(--muted);display:grid;gap:4px}
.f-radios{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.f-radio{position:relative;display:inline-flex}
.f-radio input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.f-radio span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:2px;color:var(--muted);font-size:15px;cursor:pointer}
.f-radio input:checked + span{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.f-radio input:focus-visible + span{outline:2px solid var(--green-text);outline-offset:3px}
.f-radio input[aria-invalid=true] + span{border-color:#E59A8C}
.f-check label{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);line-height:1.5;cursor:pointer}
.f-check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--green)}
.f-err{font-size:14px;color:#E59A8C;min-height:0}
.f-err:empty{display:none}
.f-alert{border:1px solid #E59A8C;color:#F3C4BA;padding:14px 16px;font-size:15px}
.f-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:8px}
.f-sub{display:flex;flex-direction:column;gap:24px;border-left:2px solid var(--line-strong);padding-left:20px}
.f-linkbtn{background:none;border:0;padding:0;color:var(--green-text);font:inherit;text-decoration:underline;cursor:pointer}
.f-success{padding:48px 0;border-top:1px solid var(--line)}
.f-success .h2{margin-bottom:20px}
.f-ref{margin-top:24px;font-size:18px;font-weight:600;color:var(--green-text)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* 404 et divers */
.nf .lead{margin:24px 0 40px}
.kd-todo{outline:1px dashed #C9A227;outline-offset:6px;color:#E4CF8A;margin-block:32px!important;font-size:15px}
.kd-editor-note,.kd-empty-block{padding:16px;border:1px dashed var(--line-strong);color:var(--muted);font-size:14px}
.kd-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:200;background:var(--ivory);color:var(--ink);padding:14px 20px;border-radius:2px;font-weight:500;box-shadow:0 18px 40px -16px rgba(0,0,0,.6);max-width:calc(100vw - 32px);transition:opacity .6s,transform .6s}
.kd-toast.is-out{opacity:0;transform:translate(-50%,12px)}

@container kd (max-width: 1080px){
  .hdr-in{gap:28px}
  .nav{gap:22px}
}
@container kd (max-width: 1023px){
  .nav,.hdr-cta,.hdr .lang{display:none}
  .hdr-end{margin-left:auto;gap:8px}
  .m-quote,.burger{display:inline-flex}
  .hdr-in{height:64px}
  .hdr .m-quote{min-height:44px;padding:0 16px;font-size:14px}
  .hero-grid,.split,.cmd,.cnt,.bio{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .hero-text,.hero-media,.split-media,.split-body,.cmd-intro,.levels,.cnt-body,.cnt-media,.bio-media,.bio-body,.hero-solo .hero-text,.split:not(:has(.split-media)) .split-body,.cnt:not(:has(.cnt-media)) .cnt-body,.bio:not(:has(.bio-media)) .bio-body{grid-column:1}
  .hero-media{order:-1;margin-inline:calc(-1 * var(--pad))}
  .hero-media .ph{height:auto;aspect-ratio:4 / 5}
  .hero-media .cap{left:var(--pad);right:var(--pad)}
  .hero-text{padding:0}
  .proofs,.proofs-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof{padding:24px 16px 26px 0}
  .proof + .proof{padding-left:20px}
  .proof:nth-child(3){border-left:0;padding-left:0}
  .proof:nth-child(n+3){border-top:1px solid var(--line)}
  .proofs-3 .proof:nth-child(3){grid-column:1 / -1}
  .pillars{grid-template-columns:minmax(0,1fr);gap:40px}
  .band-body{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .band-l,.band-r{grid-column:1}
  .band-l .h2{margin-bottom:0}
  .band-l .btn{display:none}
  .band-r .m-btn{display:inline-flex}
  .np-in{grid-template-columns:minmax(0,1fr);row-gap:20px;padding-block:36px}
  .np-date,.np-body,.np-cta{grid-column:1}
  .np-date{flex-direction:row;align-items:baseline;gap:12px}
  .np-cta{align-items:flex-start}
  .bio-media{max-width:480px}
  .ftr-brand{grid-column:1 / -1}
  .ftr-col{grid-column:span 4}
  .ch{grid-template-columns:minmax(0,1fr);row-gap:20px}
  .ch-label,.ch-body{grid-column:1}
  .ch-label{border-top:0;padding-top:0}
  .post-grid,.rvs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev{grid-template-columns:90px minmax(0,1fr)}
  .ev-cta{grid-column:2}
}
@container kd (max-width: 640px){
  body{font-size:16px}
  .hdr .m-quote{display:none}
  .hero-p{margin:28px 0 32px}
  .ctas{flex-direction:column;align-items:stretch}
  .ctas .btn{width:100%}
  .kick{margin-bottom:24px}
  .sec-head{margin-bottom:32px}
  .gal{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .g-a,.g-b,.g-c,.g-d{grid-column:1}
  .g-a .ph,.g-d .ph{height:auto;aspect-ratio:1 / 1}
  .g-b .ph,.g-c .ph{height:auto;aspect-ratio:4 / 5}
  .level{grid-template-columns:40px minmax(0,1fr);padding:24px 0}
  .offer{padding:16px 0}
  .band{display:block;min-height:0;aspect-ratio:auto;max-height:none}
  .band > .ph{position:relative;inset:auto;aspect-ratio:3 / 2}
  .band-shade{display:none}
  .band-cap{position:static;display:block;padding:12px var(--pad) 0;font-size:13px;color:var(--muted)}
  .band-body{padding-block:32px 0}
  .formats li{grid-template-columns:minmax(0,1fr);gap:2px}
  .bio-media{max-width:none}
  .kp-in{gap:12px;flex-direction:column;align-items:flex-start;padding-block:40px}
  .kp p{flex:none}
  .final .ctas{gap:20px}
  .ftr-col{grid-column:span 6}
  .ftr-col:last-child{grid-column:1 / -1}
  .ftr-bottom{flex-direction:column;align-items:flex-start;margin-top:56px}
  .post-grid,.rvs,.rvs-all,.f-grid{grid-template-columns:minmax(0,1fr)}
  .ev{grid-template-columns:minmax(0,1fr);padding:24px 0}
  .ev-date{flex-direction:row;align-items:baseline;gap:10px}
  .ev-cta{grid-column:1}
  .sheet{padding:22px 24px 20px}
  .sheet-n{font-size:42px}
  .flt-k{min-width:0;width:100%}
}
@media (max-width: 782px){ .admin-bar .hdr{top:46px} }
@media (max-width: 600px){ .admin-bar .hdr{top:0} }
@media (prefers-reduced-motion: reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important} }
@media print{ .hdr,.ftr,.mm,.burger{display:none} body{background:#fff;color:#000} }
