*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--text-body);font-family:var(--font-sans);font-size:var(--body-md-size);line-height:var(--body-md-lh);text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
a{color:var(--text-link);text-decoration:none;transition:var(--transition-color)}
a:hover{color:var(--primary-active)}
a:active{text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:var(--gutter);top:var(--space-sm);z-index:100;background:var(--canvas);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--hairline)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}

/* ---- icônes : masque currentColor (Lucide) ---- */
.icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;vertical-align:-.125em}

/* ---- en-tête ---- */
.site-header{position:sticky;top:0;z-index:20;background:var(--surface-soft);border-bottom:1px solid var(--hairline)}
.site-header__inner{min-height:var(--nav-height);display:flex;align-items:center;gap:var(--space-xl)}
.site-brand{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--text-ink);line-height:1;white-space:nowrap}
.site-brand__mark,.site-brand .custom-logo{width:32px;height:32px;border-radius:var(--radius-md);flex:0 0 auto;display:block}
.site-brand__text{display:block}
.site-brand:hover{color:var(--text-ink)}
.site-brand__tld{color:var(--primary)}
.site-nav{flex:1}
.site-nav ul{display:flex;align-items:center;gap:var(--space-lg);list-style:none;margin:0;padding:0}
.site-nav a{font-size:var(--nav-link-size);font-weight:500;color:var(--text-body)}
.site-nav .current-menu-item>a{color:var(--text-ink)}
.site-nav a:hover{color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:var(--space-sm)}
.nav-toggle{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--hairline);background:var(--canvas);border-radius:var(--radius-pill);color:var(--text-ink);cursor:pointer;font-size:18px}

/* ---- boutons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:var(--control-height);padding:12px 20px;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--button-size);font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:var(--transition-color),box-shadow var(--duration-fast) var(--ease-standard)}
/* survol : halo corail (même anneau que le focus des champs) ; pression : ombre interne */
.btn:active{box-shadow:inset 0 2px 4px rgba(20,20,19,.20)}
.btn--primary{background:var(--primary);color:var(--on-primary)}
.btn--primary:hover{background:var(--primary-active);color:var(--on-primary);box-shadow:0 0 0 4px rgba(204,120,92,.16)}
.btn--primary:active{background:var(--primary-active);text-decoration:none;box-shadow:inset 0 2px 4px rgba(20,20,19,.20)}
.btn--secondary{background:var(--canvas);color:var(--text-ink);border-color:var(--hairline)}
.btn--secondary:hover{background:var(--surface-soft);color:var(--text-ink);border-color:var(--text-muted-soft)}
.btn--secondary:active{background:var(--surface-card)}
.btn--on-coral{background:var(--canvas);color:var(--text-ink)}
.btn--on-coral:hover{background:var(--surface-soft)}
.btn--sm{height:32px;padding:0 14px}
.btn[disabled]{background:var(--primary-disabled);color:var(--text-muted);cursor:not-allowed}

/* ---- badges / méta ---- */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:500;background:var(--surface-card);color:var(--text-ink)}
.badge--coral{background:var(--primary);color:var(--on-primary);font-size:var(--caption-upper-size);letter-spacing:var(--caption-upper-ls);text-transform:uppercase}
.badge--outline{background:transparent;border:1px solid var(--hairline);color:var(--text-muted)}
.eyebrow{font-size:var(--caption-upper-size);line-height:var(--caption-upper-lh);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;font-weight:500;color:var(--text-muted)}
.meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--body-sm-size);color:var(--text-muted)}
.meta__sep{color:var(--text-muted-soft)}
.meta a{color:var(--text-muted)}
.meta a:hover{color:var(--text-ink)}

/* ---- accueil : intro ---- */
.page-intro{padding:100px 0;height:401px;display:flex;flex-direction:column;justify-content:center}
.page-intro__title{font-family:var(--font-display);font-size:var(--display-xl-size);font-weight:var(--display-xl-weight);line-height:var(--display-xl-lh);letter-spacing:var(--display-xl-ls);color:var(--text-ink);margin:0 0 var(--space-md)}
.page-intro__lede{font-size:var(--title-md-size);line-height:1.5;color:var(--text-body);max-width:52ch;margin:0}
.page-intro__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-lg)}

/* ---- gabarit à deux colonnes ---- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-section) var(--space-xxl);align-items:start;padding-bottom:var(--space-section)}
.layout--full{grid-template-columns:minmax(0,1fr)}
.content{min-width:0;display:flex;flex-direction:column;gap:var(--space-xl)}

/* ---- liste d'articles ---- */
.post-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.post-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-lg);padding:var(--space-xl) 0;border-top:1px solid var(--hairline)}
.post-card:first-child{border-top:none;padding-top:0}
.post-card--no-thumb{grid-template-columns:minmax(0,1fr)}
.post-card__media{border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-card);aspect-ratio:4/3}
.post-card__media img{width:100%;height:100%;object-fit:cover}
/* survol des images d'articles : même soulèvement que les illustrations de marque */
.post-card__media,.lp-card__media,.entry-thumb{transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.post-card__media:hover,.lp-card__media:hover,.entry-thumb:hover{transform:translateY(-4px) rotate(-0.6deg);box-shadow:var(--shadow-float)}
@media(prefers-reduced-motion:reduce){.post-card__media,.lp-card__media,.entry-thumb{transition:none}.post-card__media:hover,.lp-card__media:hover,.entry-thumb:hover{transform:none}}
.post-card__body{display:flex;flex-direction:column;gap:var(--space-xs)}
.post-card__title{font-family:var(--font-display);font-size:var(--display-sm-size);font-weight:var(--display-sm-weight);line-height:var(--display-sm-lh);letter-spacing:var(--display-sm-ls);margin:0}
.post-card__title a{color:var(--text-ink)}
.post-card__title a:hover{color:var(--primary)}
.post-card__excerpt{color:var(--text-body);margin:0}
.post-card__more{font-size:var(--body-sm-size);font-weight:500;margin-top:var(--space-xxs)}

/* placeholder d'image à remplir */
.img-placeholder{width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center;background:var(--surface-card);color:var(--text-muted-soft);font-size:var(--caption-size);text-align:center;padding:var(--space-sm)}

/* ---- pagination ---- */
.pagination{display:flex;gap:var(--space-xs);align-items:center;padding-top:var(--space-lg);border-top:1px solid var(--hairline)}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:var(--radius-md);font-size:var(--body-sm-size);font-weight:500;color:var(--text-muted)}
.pagination .page-numbers:hover{background:var(--surface-soft);color:var(--text-ink)}
.pagination .page-numbers.current{background:var(--surface-card);color:var(--text-ink)}

/* ---- sidebar ---- */
.sidebar{display:flex;flex-direction:column;gap:var(--space-lg);position:sticky;top:calc(var(--nav-height) + var(--space-lg))}
.widget{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-lg)}
.widget--outline{background:var(--canvas);border:1px solid var(--hairline)}
.widget--dark{background:var(--surface-dark);color:var(--on-dark-soft)}
.widget__title{font-size:var(--caption-upper-size);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;font-weight:500;color:var(--text-muted);margin:0 0 var(--space-sm)}
.widget--dark .widget__title{color:var(--on-dark-soft)}
.widget p{margin:0 0 var(--space-sm);font-size:var(--body-sm-size);line-height:var(--body-sm-lh)}
.widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}
.widget li{font-size:var(--body-sm-size);line-height:var(--body-sm-lh)}
.widget a{color:var(--text-body)}
.widget a:hover{color:var(--primary)}
.widget--dark a{color:var(--on-dark)}
.author-card{display:flex;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm)}
.author-card__avatar{width:48px;height:48px;border-radius:var(--radius-pill);overflow:hidden;flex:0 0 auto;background:var(--surface-cream-strong)}
.author-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-pill)}
.author-card__name{font-size:var(--title-sm-size);font-weight:500;color:var(--text-ink);line-height:1.3}
.author-card__role{font-size:var(--caption-size);color:var(--text-muted)}
.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-xxs)}
.tag-cloud a,.tag-list a{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);background:var(--canvas);border:1px solid var(--hairline);font-size:var(--caption-size);font-weight:500;color:var(--text-body)}
.tag-cloud a:hover,.tag-list a:hover{color:var(--text-ink);background:var(--surface-soft)}

/* ---- recherche ---- */
.search-form{display:flex;gap:var(--space-xs)}
.search-field{flex:1;min-width:0;height:var(--control-height);padding:10px 14px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--body-sm-size);color:var(--text-ink);transition:var(--transition-color)}
.search-field::placeholder{color:var(--text-muted-soft)}
.search-field:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}

/* ---- article ---- */
.entry-header{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xxl) 0 var(--space-lg)}
.entry-title{font-family:var(--font-display);font-size:var(--display-lg-size);font-weight:var(--display-lg-weight);line-height:var(--display-lg-lh);letter-spacing:var(--display-lg-ls);color:var(--text-ink);margin:0;max-width:20ch}
.entry-lede{font-size:var(--title-md-size);line-height:1.5;color:var(--text-body);max-width:56ch;margin:0}
.entry-thumb{border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-card);margin-bottom:var(--space-xl)}
.entry-byline{display:flex;align-items:center;gap:var(--space-sm)}
.entry-byline__avatar{width:40px;height:40px;border-radius:var(--radius-pill);overflow:hidden;flex:0 0 auto;background:var(--surface-cream-strong)}
.entry-byline__avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-pill)}
.entry-byline__name{font-size:var(--body-sm-size);font-weight:500;color:var(--text-ink)}

.entry-content{max-width:68ch;font-size:17px;line-height:1.7;color:var(--text-body)}
.entry-content>*+*{margin-top:var(--space-lg)}
.entry-content h2{font-family:var(--font-display);font-size:var(--display-md-size);font-weight:var(--display-md-weight);line-height:var(--display-md-lh);letter-spacing:var(--display-md-ls);color:var(--text-ink);margin-top:var(--space-xxl)}
.entry-content h3{font-family:var(--font-sans);font-size:var(--title-lg-size);font-weight:500;line-height:var(--title-lg-lh);color:var(--text-ink);margin-top:var(--space-xl)}
.entry-content h4{font-family:var(--font-sans);font-size:var(--title-md-size);font-weight:500;color:var(--text-ink)}
.entry-content ul,.entry-content ol{padding-left:1.2em;display:flex;flex-direction:column;gap:var(--space-xs)}
.entry-content li::marker{color:var(--primary)}
.entry-content blockquote{margin:var(--space-xl) 0;padding:var(--space-lg) var(--space-xl);background:var(--surface-card);border-radius:var(--radius-lg);font-family:var(--font-display);font-size:26px;line-height:1.35;letter-spacing:-.3px;color:var(--text-ink)}
.entry-content blockquote p{margin:0}
.entry-content blockquote cite{display:block;margin-top:var(--space-sm);font-family:var(--font-sans);font-size:var(--body-sm-size);font-style:normal;color:var(--text-muted)}
.entry-content figure{margin:var(--space-xl) 0}
.entry-content figure img{border-radius:var(--radius-lg)}
/* images insérées dans le corps des articles et des pages : même survol que les cartes */
.entry-content img,.entry-content figure img{transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.entry-content img:hover,.entry-content figure img:hover{transform:translateY(-4px) rotate(-0.6deg);box-shadow:var(--shadow-float)}
@media(prefers-reduced-motion:reduce){.entry-content img{transition:none}.entry-content img:hover{transform:none}}
.entry-content figcaption{margin-top:var(--space-xs);font-size:var(--caption-size);color:var(--text-muted)}
.entry-content code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-card);padding:2px 6px;border-radius:var(--radius-xs);color:var(--text-ink)}
.entry-content pre{background:var(--surface-dark-soft);border:1px solid var(--hairline-dark);border-radius:var(--radius-lg);padding:var(--space-lg);overflow-x:auto;color:var(--code-fg);font-family:var(--font-mono);font-size:var(--code-size);line-height:var(--code-lh)}
.entry-content pre code{background:none;padding:0;color:inherit;font-size:inherit}
.entry-content hr{border:none;border-top:1px solid var(--hairline);margin:var(--space-xxl) 0}
.entry-content table{width:100%;border-collapse:collapse;font-size:var(--body-sm-size)}
.entry-content th,.entry-content td{text-align:left;padding:var(--space-sm) var(--space-xs);border-bottom:1px solid var(--hairline)}
.entry-content th{font-weight:500;color:var(--text-ink)}

.entry-footer{display:flex;flex-direction:column;gap:var(--space-lg);padding-top:var(--space-xl);margin-top:var(--space-xxl);border-top:1px solid var(--hairline);max-width:68ch}
.tag-list{display:flex;gap:var(--space-xxs);flex-wrap:wrap}
.author-bio{display:flex;gap:var(--space-md);background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-lg)}
.author-bio__avatar{width:56px;height:56px;border-radius:var(--radius-pill);overflow:hidden;flex:0 0 auto;background:var(--surface-cream-strong)}
.author-bio__avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-pill)}
.author-bio__text{font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--text-body);margin:var(--space-xxs) 0 0}

/* ---- articles liés ---- */
.related{margin-top:var(--space-xxl);padding-top:var(--space-xl);border-top:1px solid var(--hairline)}
.related__title{font-family:var(--font-display);font-size:var(--display-sm-size);font-weight:var(--display-sm-weight);letter-spacing:var(--display-sm-ls);color:var(--text-ink);margin:0 0 var(--space-lg)}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.related__card{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}
.related__card h3{font-family:var(--font-sans);font-size:var(--title-sm-size);font-weight:500;line-height:var(--title-sm-lh);margin:0}
.related__card h3 a{color:var(--text-ink)}
.related__card h3 a:hover{color:var(--primary)}

/* ---- pages statiques ---- */
.page-hero{padding:100px 0;height:401px;display:flex;flex-direction:column;justify-content:center}
.page-hero__title{font-family:var(--font-display);font-size:var(--display-xl-size);font-weight:var(--display-xl-weight);line-height:var(--display-xl-lh);letter-spacing:var(--display-xl-ls);color:var(--text-ink);margin:0}
.page-hero__lede{font-size:var(--title-md-size);line-height:1.5;color:var(--text-body);max-width:52ch;margin:var(--space-md) 0 0}

/* ---- bandeau CTA ---- */
.cta-band{max-width:1000px;margin:0 auto var(--space-section)}
.cta-band__inner{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-lg);padding:64px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-md)}
.cta-band__inner--dark{background:var(--surface-dark);color:var(--on-dark)}
.cta-band h2{font-family:var(--font-display);font-size:var(--display-sm-size);font-weight:var(--display-sm-weight);line-height:var(--display-sm-lh);letter-spacing:var(--display-sm-ls);color:inherit;margin:0}
.cta-band p{max-width:52ch;margin:0;opacity:.9}

/* ---- formulaire de contact ---- */
.form-grid{display:grid;gap:var(--space-md);max-width:520px}
.field{display:flex;flex-direction:column;gap:var(--space-xs)}
.field label{font-size:var(--body-sm-size);font-weight:500;color:var(--text-ink)}
.field input,.field textarea{width:100%;padding:10px 14px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--body-md-size);color:var(--text-ink);transition:var(--transition-color)}
.field input{height:var(--control-height)}
.field textarea{min-height:140px;resize:vertical;line-height:1.55}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}
.field__hint{font-size:var(--caption-size);color:var(--text-muted)}
.contact-aside{display:flex;flex-direction:column;gap:var(--space-md)}
.page-hero--illustrated{height:auto;min-height:401px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-xxl);align-items:center;padding:var(--space-xxl) 0}
.page-hero--illustrated .page-hero__text{display:flex;flex-direction:column;justify-content:center}
@media(max-width:860px){.page-hero--illustrated{grid-template-columns:1fr;gap:var(--space-xl)}.page-hero--illustrated .brand-illustration{order:-1;max-width:460px}}
.page-intro--illustrated{height:auto;min-height:401px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-xxl);align-items:center;padding:var(--space-xxl) 0}
.page-intro--illustrated .page-intro__text{display:flex;flex-direction:column;justify-content:center;gap:var(--space-md)}
@media(max-width:860px){.page-intro--illustrated{grid-template-columns:1fr;gap:var(--space-xl)}.page-intro--illustrated .brand-illustration{order:-1;max-width:460px}}

/* ---- 404 ---- */
.error-404{padding:var(--space-section) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-xxl);align-items:center}
.error-404__body{display:flex;flex-direction:column;gap:var(--space-lg);align-items:flex-start;max-width:52ch}
/* Illustrations de marque (dinosaure à pancarte). Le fond du PNG est opaque et un peu plus
   chaud que le canvas : on assume le rectangle en carte crème plutôt que de le masquer.
   Même traitement sur la 404 et sur Contact. */
.brand-illustration{width:100%;height:auto;display:block;background:var(--surface-soft);border:1px solid var(--hairline);border-radius:var(--radius-lg);transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
/* survol : léger soulèvement et bascule, comme une pancarte qu'on remarque */
.brand-illustration:hover{transform:translateY(-4px) rotate(-0.6deg);box-shadow:var(--shadow-float)}
@media(prefers-reduced-motion:reduce){.brand-illustration{transition:none}.brand-illustration:hover{transform:none}}
@media(max-width:860px){.error-404{grid-template-columns:1fr;gap:var(--space-xl)}.error-404__art{order:-1;max-width:460px}}

/* ---- pied de page ---- */
.site-footer{background:var(--surface-dark);color:var(--on-dark-soft);padding:64px 0}
.site-footer__inner{display:flex;flex-direction:column;gap:var(--space-xxl)}
.site-footer__brand{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--on-dark)}
.site-footer__mark{width:28px;height:28px;border-radius:var(--radius-sm);flex:0 0 auto;display:block}
.site-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl)}
.site-footer h2,.site-footer .widget__title{font-size:var(--caption-upper-size);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;font-weight:500;color:var(--text-muted);margin:0 0 var(--space-sm)}
.site-footer .widget--dark h2,.site-footer .widget--dark .widget__title{color:var(--on-dark-soft)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}
.site-footer a{color:var(--on-dark-soft);font-size:var(--body-sm-size)}
.site-footer a:hover{color:var(--accent-amber)}
.site-footer__legal{font-size:var(--body-sm-size);opacity:.7;padding-top:var(--space-lg);border-top:1px solid var(--hairline-dark)}

/* ---- responsive ---- */
@media(max-width:1024px){
.layout{grid-template-columns:minmax(0,1fr);gap:var(--space-xxl)}
.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}
.related__grid{grid-template-columns:repeat(2,1fr)}
.site-footer__cols{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
:root{--display-xl-size:40px;--display-lg-size:34px;--display-md-size:27px;--display-sm-size:23px;--space-section:64px}
.nav-toggle{display:inline-flex}
.site-nav{position:absolute;left:0;right:0;top:var(--nav-height);background:var(--surface-soft);border-bottom:1px solid var(--hairline);padding:var(--space-md) var(--gutter);display:none}
.site-nav.is-open{display:block}
.site-nav ul{flex-direction:column;align-items:flex-start;gap:var(--space-md)}
.site-header__inner{gap:var(--space-md);justify-content:space-between}
.site-brand{font-size:17px}
.site-brand__mark{width:28px;height:28px}
.header-actions .btn{display:none}
.post-card{grid-template-columns:minmax(0,1fr)}
.sidebar{grid-template-columns:minmax(0,1fr)}
.related__grid{grid-template-columns:minmax(0,1fr)}
.cta-band__inner{padding:var(--space-xl);min-height:0}
.entry-content{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- widgets natifs WordPress (blocs + widgets classiques) ----------
   Tout ce qui est déposé dans « Colonne latérale » ou « Pied de page » depuis la
   bibliothèque WordPress hérite de l'habillage du blog sans réglage supplémentaire. */

.widget>*:last-child{margin-bottom:0}
.widget .wp-block-heading,.widget h2,.widget h3{font-family:var(--font-sans);font-size:var(--caption-upper-size);line-height:var(--caption-upper-lh);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;font-weight:500;color:var(--text-muted);margin:0 0 var(--space-sm)}
.widget--dark .wp-block-heading,.site-footer .widget--dark .wp-block-heading{color:var(--on-dark-soft)}
.site-footer .widget .wp-block-heading{color:var(--text-muted)}

/* listes : catégories, archives, pages, articles récents, commentaires */
.widget ul,.widget ol,.widget .wp-block-categories,.widget .wp-block-archives,.widget .wp-block-page-list,.widget .wp-block-latest-posts,.widget .wp-block-latest-comments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}
.widget li{font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--text-body)}
.widget li ul{margin-top:var(--space-xs);padding-left:var(--space-md)}
.widget .wp-block-categories li,.widget .wp-block-archives li{display:flex;justify-content:space-between;gap:var(--space-xs)}
.widget .wp-block-categories a,.widget .wp-block-archives a{flex:1}
.widget .wp-block-latest-posts__post-date,.widget .wp-block-latest-posts__post-author{display:block;font-size:var(--caption-size);color:var(--text-muted-soft);margin-top:2px}
.widget .wp-block-latest-posts__post-excerpt{font-size:var(--body-sm-size);color:var(--text-muted);margin-top:var(--space-xxs)}
.widget .wp-block-latest-posts__featured-image img{border-radius:var(--radius-md);margin-bottom:var(--space-xs)}
.widget .wp-block-latest-comments__comment{padding:0;font-size:var(--body-sm-size)}
.widget .wp-block-latest-comments__comment-meta{color:var(--text-muted)}
.widget .wp-block-latest-comments__comment-date{font-size:var(--caption-size);color:var(--text-muted-soft)}
.widget .wp-block-latest-comments__comment-avatar{border-radius:var(--radius-pill)}

/* recherche */
.widget .wp-block-search__inside-wrapper{display:flex;gap:var(--space-xs)}
.widget .wp-block-search__label{font-size:var(--caption-upper-size);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;font-weight:500;color:var(--text-muted);margin-bottom:var(--space-sm)}
.wp-block-search__input{flex:1;min-width:0;height:var(--control-height);padding:10px 14px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--body-sm-size);color:var(--text-ink);transition:var(--transition-color)}
.wp-block-search__input::placeholder{color:var(--text-muted-soft)}
.wp-block-search__input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}
.wp-block-search__button{height:var(--control-height);padding:0 16px;background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--button-size);font-weight:500;cursor:pointer;transition:var(--transition-color)}
.wp-block-search__button:active{background:var(--primary-active)}
.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:0;border:none}

/* nuage d'étiquettes : même pilule que le reste du site */
.widget .wp-block-tag-cloud,.widget .tagcloud{display:flex;flex-wrap:wrap;gap:var(--space-xxs)}
.widget .wp-block-tag-cloud a,.widget .tagcloud a{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);background:var(--canvas);border:1px solid var(--hairline);color:var(--text-body);font-size:var(--caption-size)!important;font-weight:500;text-decoration:none}
.widget .wp-block-tag-cloud a:hover,.widget .tagcloud a:hover{background:var(--surface-soft);color:var(--text-ink)}
.widget--dark .wp-block-tag-cloud a,.site-footer .wp-block-tag-cloud a{background:var(--surface-dark-elevated);border-color:var(--hairline-dark);color:var(--on-dark)}
.widget .wp-block-tag-cloud .tag-link-count{display:none}

/* menu de navigation */
.widget .wp-block-navigation__container{flex-direction:column;gap:var(--space-xs)}
.widget .wp-block-navigation-item__content{font-size:var(--body-sm-size);color:var(--text-body)}

/* calendrier */
.widget .wp-block-calendar table{width:100%;border-collapse:collapse;font-size:var(--caption-size)}
.widget .wp-block-calendar th{font-weight:500;color:var(--text-muted);padding:var(--space-xxs)}
.widget .wp-block-calendar td{text-align:center;padding:var(--space-xxs);color:var(--text-body)}
.widget .wp-block-calendar caption{font-size:var(--caption-size);color:var(--text-muted);padding-bottom:var(--space-xs)}
.widget .wp-block-calendar #today{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-xs)}
.widget .wp-block-calendar tbody a{font-weight:500}

/* flux RSS, liens sociaux, groupes, séparateurs, citations */
.widget .wp-block-rss{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}
.widget .wp-block-rss__item-publish-date,.widget .wp-block-rss__item-author{display:block;font-size:var(--caption-size);color:var(--text-muted-soft)}
.widget .wp-block-social-links{gap:var(--space-xs)}
.widget .wp-block-social-link{background:var(--canvas)!important}
.widget .wp-block-social-link a{color:var(--text-ink)!important}
.widget--dark .wp-block-social-link,.site-footer .wp-block-social-link{background:var(--surface-dark-elevated)!important}
.widget--dark .wp-block-social-link a,.site-footer .wp-block-social-link a{color:var(--on-dark)!important}
.widget .wp-block-separator{border:none;border-top:1px solid var(--hairline);margin:var(--space-md) 0}
.widget--dark .wp-block-separator,.site-footer .wp-block-separator{border-color:var(--hairline-dark)}
.widget .wp-block-quote{margin:0;padding:0 0 0 var(--space-md);border-left:2px solid var(--primary);font-family:var(--font-sans);font-size:var(--body-sm-size);font-style:normal;color:var(--text-body)}
.widget .wp-block-image img{border-radius:var(--radius-md)}
.widget .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);padding:12px 20px;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-md);font-size:var(--button-size);font-weight:500;text-decoration:none}
.widget .wp-block-button__link:active{background:var(--primary-active)}
.widget .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--text-ink);border:1px solid var(--hairline)}

/* champs de formulaire déposés dans un widget (abonnement, etc.) */
.widget input[type=text],.widget input[type=email],.widget input[type=search],.widget select,.widget textarea{width:100%;padding:10px 14px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--body-sm-size);color:var(--text-ink)}
.widget input:focus,.widget select:focus,.widget textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}
.widget--dark input,.site-footer input,.widget--dark select,.site-footer select{background:var(--surface-dark-elevated);border-color:var(--hairline-dark);color:var(--on-dark)}

/* ---------- landing page ---------- */
.lp-hero{padding:100px 0;height:401px;max-width:820px;display:flex;flex-direction:column;justify-content:center}
.lp-hero__title{font-family:var(--font-display);font-size:72px;line-height:1.02;letter-spacing:-2px;font-weight:500;color:var(--text-ink);margin:var(--space-md) 0 0;padding:5px 0;max-width:14em;overflow-wrap:normal;hyphens:none}
.lp-hero__lede{font-family:var(--font-sans);font-weight:400;font-size:20px;line-height:1.5;letter-spacing:0;color:var(--text-body);max-width:52ch;margin:var(--space-lg) 0 0}
.lp-hero__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xl)}

.lp-section{padding:0 0 var(--space-section)}
.lp-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-xl)}
.lp-section__title{font-family:var(--font-display);font-size:var(--display-md-size);line-height:var(--display-md-lh);letter-spacing:var(--display-md-ls);font-weight:500;color:var(--text-ink);margin:0}
.lp-section__link{font-size:var(--body-sm-size);font-weight:500}

.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
.lp-card{display:flex;flex-direction:column;gap:var(--space-xs)}
.lp-card__media{display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-card);aspect-ratio:4/3;margin-bottom:var(--space-xs)}
.lp-card__media img{width:100%;height:100%;object-fit:cover}
.lp-card__placeholder{display:block;width:100%;height:100%;background:var(--surface-card)}
.lp-card__title{font-family:var(--font-display);font-size:var(--title-lg-size);line-height:1.25;letter-spacing:-.3px;font-weight:500;margin:0}
.lp-card__title a{color:var(--text-ink)}
.lp-card__title a:hover{color:var(--primary)}
.lp-card__excerpt{font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--text-body);margin:0}

.lp-topics{background:var(--surface-dark);color:var(--on-dark);padding:var(--space-section) 0;margin-bottom:var(--space-section)}
.lp-topics__title{font-family:var(--font-display);font-size:var(--display-md-size);line-height:var(--display-md-lh);letter-spacing:var(--display-md-ls);font-weight:500;color:var(--on-dark);margin:0 0 var(--space-xl)}
.lp-topics__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.lp-topic{display:flex;flex-direction:column;gap:var(--space-xs);background:var(--surface-dark-elevated);border:1px solid var(--hairline-dark);border-radius:var(--radius-lg);padding:var(--space-xl);transition:var(--transition-color)}
.lp-topic:hover{background:#302d29}
.lp-topic__name{font-family:var(--font-display);font-size:var(--display-sm-size);line-height:1.15;letter-spacing:var(--display-sm-ls);font-weight:500;color:var(--on-dark)}
.lp-topic__desc{font-size:var(--body-sm-size);color:var(--on-dark-soft)}

@media(max-width:1024px){
.lp-grid,.lp-topics__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
.lp-hero{padding:var(--space-xxl) 0 var(--space-xl)}
.lp-hero__title{font-size:42px;letter-spacing:-1.2px}
.lp-hero__lede{font-size:17px}
.lp-grid,.lp-topics__grid{grid-template-columns:minmax(0,1fr)}
.lp-section__head{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}
}

/* ---------- blocs de l'éditeur dans le contenu ----------
   La largeur de lecture est portée par les enfants plutôt que par le conteneur :
   un bloc « pleine largeur » ou « large » peut ainsi occuper toute la colonne. */
.entry-content{max-width:none}
.entry-content>*{max-width:730px}
.entry-content>.alignwide,.entry-content>.alignfull,.entry-content>.wp-block-columns,.entry-content>.wp-block-gallery,.entry-content>.wp-block-group.alignwide,.entry-content>.wp-block-cover{max-width:100%}
.entry-content>.aligncenter{margin-left:auto;margin-right:auto}
.entry-content .alignleft{float:left;margin:0 var(--space-lg) var(--space-md) 0}
.entry-content .alignright{float:right;margin:0 0 var(--space-md) var(--space-lg)}
.entry-content .wp-block-columns{gap:var(--space-xl)}
.entry-content .wp-block-column>*+*{margin-top:var(--space-md)}
.entry-content .wp-block-group{box-sizing:border-box}
.entry-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.entry-content .wp-block-quote.is-style-plain{background:var(--surface-card);border:none}
.entry-content .wp-block-code{background:var(--surface-dark-soft);border:1px solid var(--hairline-dark);color:var(--code-fg)}
.entry-content .wp-block-code code{background:none;padding:0;color:inherit}
.entry-content .wp-block-gallery figcaption{color:var(--text-muted);font-size:var(--caption-size)}
/* une illustration de marque insérée depuis une composition */
.entry-content .brand-illustration img,.brand-illustration img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}
.entry-content .brand-illustration{background:var(--surface-soft);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden}
@media(max-width:860px){.entry-content .wp-block-columns{gap:var(--space-lg)}}

/* ---- quadrillage de fond révélé au survol ---- */
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;--grid-size:32px;--grid-line:rgba(61,55,48,.10);--grid-cell:rgba(204,120,92,.07);--grid-radius:210px;--gx:50%;--gy:-400px;--cx:-999px;--cy:-999px}
.bg-grid__glow{position:absolute;inset:-1px;background-size:var(--grid-size) var(--grid-size);background-position:0 0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);opacity:0;transition:opacity var(--duration-base) var(--ease-standard);-webkit-mask-image:radial-gradient(circle var(--grid-radius) at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.92) 32%,rgba(0,0,0,.5) 62%,rgba(0,0,0,.16) 82%,transparent 100%);mask-image:radial-gradient(circle var(--grid-radius) at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.92) 32%,rgba(0,0,0,.5) 62%,rgba(0,0,0,.16) 82%,transparent 100%)}
.bg-grid__cell{position:absolute;top:0;left:0;width:var(--grid-size);height:var(--grid-size);background:var(--grid-cell);-webkit-mask-image:radial-gradient(circle var(--grid-radius) at calc(var(--gx) - var(--cx)) calc(var(--gy) - var(--cy)),#000 0%,rgba(0,0,0,.6) 60%,transparent 100%);mask-image:radial-gradient(circle var(--grid-radius) at calc(var(--gx) - var(--cx)) calc(var(--gy) - var(--cy)),#000 0%,rgba(0,0,0,.6) 60%,transparent 100%);transform:translate3d(var(--cx),var(--cy),0);opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}
.bg-grid.is-active .bg-grid__glow,.bg-grid.is-active .bg-grid__cell{opacity:1}
main#main,.site-footer{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.bg-grid__glow,.bg-grid__cell{transition:none}}
