/*
Theme Name: Journalism.design — Synth
Theme URI: https://journalism.design/
Author: Journalism.design
Author URI: https://journalism.design/
Description: Thème éditorial brutaliste de Journalism.design : accueil et pages institutionnelles statiques, blog et contenus WordPress dynamiques.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: journalism-design
Tags: blog, news, one-column, custom-logo, featured-images, editor-style
*/

:root { --ink:#0a0f0e; --paper:#f3efe7; --green:#00ffe0; --line:rgba(10,15,14,.35); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; font-variant-emoji:text; }
.topbar { height:76px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; padding:0 3vw; border-bottom:1px solid var(--ink); position:sticky; top:0; background:rgba(243,239,231,.95); backdrop-filter:blur(10px); z-index:20; }
.wordmark { font-weight:950; font-size:26px; letter-spacing:-.06em; }
.wordmark span { color:#00cdb5; }
.brand-logo { display:block; width:min(307.8px,32.4vw); height:49.68px; overflow:hidden; }
.brand-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
nav { display:flex; gap:30px; font-size:13px; }
.primary-nav { justify-self:center; min-width:0; }
.jd-menu { display:flex; align-items:center; gap:18px; margin:0; padding:0; list-style:none; }
.primary-nav .jd-menu { justify-content:center; font:10px monospace; text-transform:uppercase; white-space:nowrap; }
.primary-nav .menu-item a:hover,.primary-nav .menu-item a:focus-visible { text-decoration:underline; text-decoration-color:var(--green); text-decoration-thickness:4px; text-underline-offset:5px; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:12px; }
.burger-menu { position:relative; }
.burger-menu summary { width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; gap:5px; padding:10px; border:1px solid var(--ink); background:var(--paper); cursor:pointer; list-style:none; box-shadow:4px 4px 0 var(--ink); transform:translate(-2px,-2px); transition:transform .15s ease,box-shadow .15s ease,background .15s ease; }
.burger-menu summary::-webkit-details-marker { display:none; }
.burger-menu summary span { display:block; width:100%; height:2px; background:var(--ink); transition:transform .2s ease,opacity .2s ease; }
.burger-menu summary:hover,.burger-menu summary:focus-visible,.burger-menu[open] summary { transform:translate(2px,2px); box-shadow:none; background:var(--green); }
.burger-menu[open] summary span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger-menu[open] summary span:nth-child(2) { opacity:0; }
.burger-menu[open] summary span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.burger-panel { position:absolute; top:calc(100% + 14px); right:0; z-index:50; width:min(360px,88vw); display:flex!important; flex-direction:column; gap:0; padding:0; background:var(--ink); color:white; border:1px solid var(--ink); box-shadow:8px 8px 0 var(--green); }
.burger-panel a { padding:17px 20px; border-bottom:1px solid #53605c; font:12px monospace; text-transform:uppercase; }
.burger-panel a:last-child { border-bottom:0; }
.burger-panel a:hover,.burger-panel a:focus-visible { background:var(--green); color:var(--ink); }
.burger-panel>.jd-menu { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; }
.burger-panel>.jd-menu .menu-item { display:block; }
.burger-panel>.jd-menu a { display:block; }
.burger-meta { display:grid; gap:20px; padding:22px 20px; border-top:6px solid var(--green); background:#151b19; }
.burger-meta section { display:grid; gap:5px; }
.burger-meta strong { color:var(--green); font:700 10px monospace; text-transform:uppercase; letter-spacing:.08em; }
.burger-meta p { margin:0; }
.burger-meta a { display:block; padding:0; border:0; color:white; font:12px/1.55 Arial,Helvetica,sans-serif; text-transform:none; }
.burger-meta p a { display:inline; }
.burger-meta a:hover,.burger-meta a:focus-visible { background:transparent; color:var(--green); }
.pill,.button { justify-self:end; display:inline-flex; align-items:center; gap:38px; border:1px solid var(--ink); border-radius:0; padding:12px 18px; font-size:13px; box-shadow:4px 4px 0 var(--ink); transform:translate(-2px,-2px); transition:transform .15s ease,box-shadow .15s ease; }
.pill { background:var(--green); }
.pill:hover,.button:hover,.pill:focus-visible,.button:focus-visible { transform:translate(2px,2px); box-shadow:none; }
.hero { min-height:calc(100vh - 76px); border-bottom:1px solid var(--ink); overflow:hidden; }
.eyebrow { display:flex; justify-content:space-between; padding:18px 3vw; text-transform:uppercase; font:11px monospace; border-bottom:1px solid var(--line); }
.hero h1 { font-size:clamp(10rem,27vw,31rem); line-height:.71; letter-spacing:-.105em; margin:7vw 0 4vw -1.4vw; font-weight:950; transform:scaleY(1.08); transform-origin:bottom; }
.hero-grid { display:grid; grid-template-columns:1.35fr .65fr; border-top:1px solid var(--ink); min-height:330px; }
.hero-copy { padding:42px 5vw 50px 3vw; border-right:1px solid var(--ink); display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; }
.hero-copy p { font-size:clamp(2rem,4vw,4.8rem); line-height:.94; font-weight:800; letter-spacing:-.055em; margin:0 0 40px; text-transform:uppercase; }
.hero-intro { max-width:650px; font-size:15px; line-height:1.5; margin:-12px 0 28px; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.hero-actions .button { justify-self:auto; }
.button.paper { background:var(--paper); color:var(--ink); }
.hero-visual { background:var(--green); min-height:330px; overflow:hidden; }
.hero-visual img { display:block; width:100%; height:100%; min-height:330px; object-fit:cover; }
.hero-copy em,.ecosystem-title i,.cta i { font-family:Georgia,serif; font-weight:400; text-transform:none; }
.button.dark { background:var(--ink); color:var(--green); box-shadow:4px 4px 0 var(--green); }
.content-band.dark .button.dark { background:var(--green); color:var(--ink); box-shadow:4px 4px 0 var(--paper); }
.content-band.green .button.dark,.cta .button.dark { background:var(--ink); color:var(--green); box-shadow:4px 4px 0 var(--paper); }
.button.dark:hover,.button.dark:focus-visible,.content-band.dark .button.dark:hover,.content-band.dark .button.dark:focus-visible,.content-band.green .button.dark:hover,.content-band.green .button.dark:focus-visible,.cta .button.dark:hover,.cta .button.dark:focus-visible { box-shadow:none; }
.signal { position:relative; background:var(--green); display:grid; place-items:center; overflow:hidden; }
.signal:before,.signal:after { content:""; position:absolute; border:1px solid var(--ink); border-radius:50%; width:120%; aspect-ratio:1; }
.signal:after { width:75%; }
.orb { width:150px; aspect-ratio:1; background:var(--ink); color:var(--green); border-radius:50%; display:grid; place-items:center; z-index:2; box-shadow:0 0 0 16px rgba(10,15,14,.12); }
.orb span { font-size:100px; font-weight:900; letter-spacing:-.1em; }
.scanline { position:absolute; width:100%; height:1px; background:var(--ink); animation:scan 3s linear infinite; z-index:3; }
.signal small { position:absolute; bottom:16px; right:18px; font:10px monospace; text-transform:uppercase; }
@keyframes scan { from{transform:translateY(-170px)} to{transform:translateY(170px)} }
.section-label { font:12px monospace; text-transform:uppercase; }
.section-label.light { color:var(--green); }
.manifesto { padding:8vw 3vw; display:grid; grid-template-columns:1fr 3fr 1fr; gap:3vw; border-bottom:1px solid var(--ink); }
.manifesto-lead { font-size:clamp(2.6rem,5.2vw,6.6rem); line-height:.99; letter-spacing:-.06em; font-weight:760; margin:0; grid-column:2/4; }
mark { background:var(--green); padding:0 .08em; }
.manifesto-side { grid-column:3; margin-top:35px; font-size:14px; line-height:1.45; }
.manifesto-side a,.card>a { display:inline-block; border-bottom:1px solid; margin-top:20px; font-weight:700; }
.manifesto-body { grid-column:2/4; max-width:900px; display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:35px; font-size:16px; line-height:1.55; }
.manifesto-body p { margin:0; }
.manifesto-body a { grid-column:1/-1; justify-self:start; border-bottom:1px solid; font-weight:700; }
.impact { background:var(--ink); color:white; padding:7vw 3vw 5vw; }
.impact-heading { display:grid; grid-template-columns:1fr 2.2fr .8fr; gap:3vw; align-items:end; }
.impact h2,.ecosystem h2,.cta h2 { margin:0; font-size:clamp(4rem,9.5vw,11rem); line-height:.78; letter-spacing:-.075em; font-weight:950; }
.impact h2 span { color:var(--green); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.impact-heading>p { font-size:14px; line-height:1.45; color:#b7c0bd; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:6vw; border-top:1px solid #66706e; border-left:1px solid #66706e; }
.metric { padding:28px 20px 36px; border-right:1px solid #66706e; border-bottom:1px solid #66706e; display:flex; flex-direction:column; }
.metric strong { color:var(--green); font-size:clamp(3rem,7vw,8rem); letter-spacing:-.08em; line-height:1; }
.metric span { font:11px monospace; text-transform:uppercase; margin-top:15px; }
.proof { display:grid; grid-template-columns:1fr 1fr 2fr; gap:20px; padding-top:35px; }
.proof>div { display:flex; flex-direction:column; }
.proof strong { font-size:36px; color:var(--green); }
.proof span,.proof p { font-size:12px; text-transform:uppercase; max-width:360px; line-height:1.5; }
.proof p { justify-self:end; }
.ecosystem { padding:8vw 3vw; border-bottom:1px solid var(--ink); }
.ecosystem-title { display:grid; grid-template-columns:2.3fr 1fr; align-items:end; margin:4vw 0; }
.ecosystem-title p { font-size:16px; line-height:1.45; max-width:380px; }
.ecosystem h2 i { color:#00cdb5; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.card { min-height:580px; padding:22px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); display:flex; flex-direction:column; transition:.25s; }
.card:nth-child(2) { background:var(--green); }
.card:hover { transform:translateY(-8px); box-shadow:0 8px 0 var(--ink); }
.card-top { display:flex; justify-content:space-between; font:13px monospace; }
.kicker { margin-top:70px; font:11px monospace; text-transform:uppercase; }
.card h3 { font:italic 400 clamp(3rem,5vw,6rem)/.9 Georgia,serif; letter-spacing:-.05em; margin:12px 0 30px; }
.card-copy { font-size:16px; line-height:1.45; max-width:400px; }
.tags { margin-top:auto; display:flex; gap:6px; flex-wrap:wrap; }
.tags span { border:1px solid; border-radius:20px; padding:7px 10px; font-size:11px; }
.card-links { margin-top:20px; display:grid; grid-template-columns:1fr; border-top:1px solid var(--ink); }
.card-links a { padding:11px 0; border-bottom:1px solid var(--ink); font-weight:700; }
.card-links a:hover,.card-links a:focus-visible { padding-left:8px; background:var(--ink); color:var(--green); }
.synth-links { margin-top:20px; border-top:1px solid var(--ink); }
.synth-primary { display:block; padding:11px 0; border-bottom:1px solid var(--ink); font-weight:700; }
.synth-primary:hover,.synth-primary:focus-visible { padding-left:8px; background:var(--ink); color:var(--green); }
.synth-socials { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.synth-socials a { padding:7px 9px; border:1px solid var(--ink); background:transparent; font:10px monospace; text-transform:uppercase; transition:background .15s ease,color .15s ease; }
.synth-socials a:hover,.synth-socials a:focus-visible { background:var(--ink); color:var(--green); }
.independence { background:var(--ink); color:white; padding:7vw 3vw; display:grid; grid-template-columns:1fr 3fr 1fr; gap:3vw; }
.independence blockquote { font-size:clamp(2.8rem,6vw,7rem); line-height:.95; letter-spacing:-.055em; margin:0; }
.signature blockquote { font-size:clamp(2.8rem,5vw,7rem); font-weight:950; }
.signature blockquote em { font-weight:950; }
.independence blockquote em { color:var(--green); }
.independence p { align-self:end; font-size:13px; line-height:1.5; color:#b7c0bd; }
.signature,.editorial-system { border-top:1px solid #38413f; }
.ticker { height:38px; overflow:hidden; background:var(--green); color:var(--ink); border-bottom:1px solid var(--ink); white-space:nowrap; }
.ticker>div { height:100%; display:flex; align-items:center; width:max-content; animation:ticker-move 32s linear infinite; }
.ticker span { font:10px monospace; text-transform:uppercase; letter-spacing:.08em; }
.ticker span:after { content:"✦"; margin:0 34px; }
@keyframes ticker-move { to { transform:translateX(-50%); } }
.editorial-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:5vw; border-top:1px solid #66706e; border-left:1px solid #66706e; }
.editorial-grid article { min-height:280px; padding:24px; border-right:1px solid #66706e; border-bottom:1px solid #66706e; }
.editorial-grid article>span { color:var(--green); font:11px monospace; }
.editorial-grid h3 { font-size:22px; margin:30px 0 22px; }
.editorial-grid ul { list-style:none; padding:0; margin:0; color:#b7c0bd; font-size:12px; line-height:1.75; }
.editorial-grid li:before { content:"■"; color:var(--green); font-size:6px; vertical-align:middle; margin-right:8px; }
.trajectory,.team { padding:8vw 3vw; border-bottom:1px solid var(--ink); }
.trajectory { background:var(--paper); }.team { background:#e9e4d9; }
.trajectory-title,.team-title { display:grid; grid-template-columns:2.3fr 1fr; align-items:end; gap:3vw; margin:4vw 0; }
.trajectory h2,.team h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.8; letter-spacing:-.075em; font-weight:950; }
.trajectory h2 i,.team h2 i { font-family:Georgia,serif; font-weight:400; color:#00cdb5; }
.trajectory-title>p,.team-title>p { font-size:15px; line-height:1.5; max-width:390px; }
.phase-grid,.team-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.phase-grid article,.team-grid article { min-height:270px; padding:24px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.phase-grid span,.team-grid span { font:10px monospace; text-transform:uppercase; }
.phase-grid h3,.team-grid h3 { font-size:clamp(1.8rem,3vw,3.3rem); line-height:.95; letter-spacing:-.05em; margin:34px 0 18px; text-transform:uppercase; }
.phase-grid p,.team-grid p { font-size:13px; line-height:1.5; max-width:390px; }
.team-grid strong { display:grid; place-items:center; width:46px; height:46px; background:var(--green); border:1px solid var(--ink); font-size:24px; }
.team-grid h3 { margin-top:24px; }
.cta>p { max-width:600px; margin:25px auto 0; line-height:1.5; }.centered { justify-content:center; margin-top:32px; }
.cta { background:var(--green); text-align:center; padding:9vw 3vw; }
.cta>span { font:11px monospace; text-transform:uppercase; }
.cta h2 { margin:4vw 0; }
.cta .button { margin:auto; }
footer { padding:40px 3vw 24px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; align-items:start; }
footer>div { display:flex; gap:20px; justify-content:flex-end; font-size:12px; }
.footer-navigation .jd-menu { justify-content:flex-end; flex-wrap:wrap; gap:10px 18px; }
.footer-navigation .menu-item { list-style:none; }
.footer-navigation a:hover,.footer-navigation a:focus-visible { text-decoration:underline; text-decoration-color:var(--green); text-decoration-thickness:4px; text-underline-offset:4px; }
footer p { margin:5px 0; text-align:center; font-size:12px; }
footer small { grid-column:1/-1; border-top:1px solid var(--ink); padding-top:18px; font:10px monospace; text-transform:uppercase; }
.footer-brand { grid-column:1/3; display:grid; gap:16px; max-width:720px; }
.footer-brand p { margin:0; text-align:left; font-size:12px; line-height:1.5; }
.template-header { padding:7vw 3vw 5vw; border-bottom:1px solid var(--ink); }
.template-header .section-label { margin-bottom:32px; }
.template-header h1 { max-width:1200px; margin:0; font-size:clamp(4rem,10vw,11rem); line-height:.82; letter-spacing:-.075em; font-weight:950; text-wrap:balance; }
.article-template .template-header h1 { font-size:clamp(2rem,5vw,8rem); }
.template-header h1 i { font-family:Georgia,serif; font-weight:400; color:#00cdb5; }
.article-meta { display:flex; flex-wrap:wrap; gap:12px 34px; margin-top:42px; padding-top:20px; border-top:1px solid var(--line); font:11px monospace; text-transform:uppercase; }
.template-visual { margin:0; background:var(--green); border-bottom:1px solid var(--ink); max-height:70vh; overflow:hidden; }
.template-visual img { display:block; width:100%; max-height:70vh; object-fit:cover; }
.prose { width:min(780px,90vw); margin:0 auto; padding:80px 0 110px; font:clamp(1.1rem,1.6vw,1.35rem)/1.7 Georgia,serif; }
.prose .lead { font:700 clamp(1.8rem,3.5vw,3.2rem)/1.08 Arial,Helvetica,sans-serif; letter-spacing:-.04em; }
.prose h2,.prose h3 { font-family:Arial,Helvetica,sans-serif; line-height:1; letter-spacing:-.045em; margin:2.2em 0 .7em; }
.prose h2 { font-size:clamp(2.7rem,5vw,5rem); }.prose h3 { font-size:clamp(1.8rem,3vw,3rem); }
.prose a { text-decoration:underline; text-decoration-color:var(--green); text-decoration-thickness:4px; text-underline-offset:3px; }
.prose blockquote { margin:2em 0; padding:28px 0 28px 30px; border-left:10px solid var(--green); font-size:1.35em; font-style:italic; }
.article-end { background:var(--ink); color:white; padding:45px 3vw; display:flex; justify-content:space-between; gap:30px; }
.article-end a { color:var(--green); font-weight:700; }
.page-hero { padding:8vw 3vw 6vw; border-bottom:1px solid var(--ink); }
.page-hero .section-label { margin-bottom:35px; }.page-hero h1 { margin:0; max-width:1250px; font-size:clamp(4.5rem,11vw,13rem); line-height:.78; letter-spacing:-.08em; font-weight:950; }
.page-hero h1 i { font-family:Georgia,serif; font-weight:400; color:#00cdb5; }.page-hero .lead { max-width:780px; margin:45px 0 0 auto; font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.35; }
.content-band { padding:7vw 3vw; border-bottom:1px solid var(--ink); }.content-band.dark { background:var(--ink); color:white; }.content-band.green { background:var(--green); }
.band-grid { display:grid; grid-template-columns:.7fr 2.3fr; gap:5vw; }.band-copy { max-width:900px; }.band-copy h2 { margin:0 0 35px; font-size:clamp(3.2rem,7vw,8rem); line-height:.84; letter-spacing:-.07em; }.band-copy h2 i { font-family:Georgia,serif; font-weight:400; color:#00cdb5; }
.band-copy p { font-size:16px; line-height:1.65; }.dark .band-copy p { color:#bdc5c2; }.band-copy .large { font-size:clamp(1.6rem,3vw,2.8rem); line-height:1.2; color:inherit; }
.fact-grid,.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; border-top:1px solid; border-left:1px solid; }.fact-grid article,.offer-grid article { padding:25px; min-height:250px; border-right:1px solid; border-bottom:1px solid; }.fact-grid strong { display:block; color:var(--green); font-size:clamp(3rem,6vw,6rem); letter-spacing:-.07em; }.fact-grid span,.offer-grid>article>span { font:10px monospace; text-transform:uppercase; }.offer-grid h3 { margin:40px 0 20px; font-size:clamp(1.6rem,3vw,2.8rem); line-height:.95; text-transform:uppercase; }.offer-grid p { font-size:13px; line-height:1.55; }
.inference-pillars h3 { font-size:clamp(1.35rem,2.2vw,2.25rem); }
.principles { margin:45px 0 0; padding:0; list-style:none; border-top:1px solid #65706d; }.principles li { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid #65706d; font-size:16px; line-height:1.5; }.principles li:before { content:"✦"; color:var(--green); }
.profile-grid { display:grid; grid-template-columns:1fr 2fr; gap:5vw; align-items:start; }.profile-mark { aspect-ratio:1; background:var(--green); border:1px solid var(--ink); display:grid; place-items:center; font-size:clamp(6rem,16vw,16rem); font-weight:950; }.profile-copy h2 { font-size:clamp(3.5rem,7vw,8rem); margin:0 0 35px; line-height:.85; letter-spacing:-.07em; }.profile-copy p { font-size:15px; line-height:1.65; }
.profile-photo { aspect-ratio:1; margin:0; overflow:hidden; border:1px solid var(--ink); background:var(--green); box-shadow:8px 8px 0 var(--ink); }
.profile-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.profile-socials { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 34px; }
.profile-socials a { display:inline-flex; padding:10px 13px; border:1px solid var(--ink); background:var(--paper); font:11px monospace; text-transform:uppercase; box-shadow:3px 3px 0 var(--ink); transform:translate(-1px,-1px); transition:transform .15s ease,box-shadow .15s ease,background .15s ease; }
.profile-socials a:hover,.profile-socials a:focus-visible { transform:translate(2px,2px); box-shadow:none; background:var(--green); }
.legal-page .template-header h1 { max-width:1050px; font-size:clamp(3.5rem,9vw,10rem); }
.legal-update { display:inline-block; margin-top:32px; padding:10px 12px; border:1px solid var(--ink); background:var(--green); font:10px monospace; text-transform:uppercase; }
.legal-content { width:min(900px,90vw); }
.legal-content h2 { padding-top:18px; border-top:1px solid var(--ink); }
.legal-content ul { padding-left:1.15em; }
.legal-content li { margin:.55em 0; }
.legal-content .legal-note { margin:2.5em 0; padding:24px; border:1px solid var(--ink); background:var(--green); font-family:Arial,Helvetica,sans-serif; font-size:1rem; line-height:1.5; box-shadow:7px 7px 0 var(--ink); }
.legal-contact { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin:2.5em 0; background:var(--ink); border:1px solid var(--ink); }
.legal-contact section { padding:22px; background:var(--paper); font-family:Arial,Helvetica,sans-serif; font-size:1rem; }
.legal-contact strong { display:block; margin-bottom:12px; font:11px monospace; text-transform:uppercase; }
@media(max-width:800px){
  .topbar { grid-template-columns:1fr auto; padding:0 20px; } nav{display:none}.burger-panel{display:flex!important}.profile-socials{display:flex}.pill{padding:10px 13px;gap:10px}.brand-logo{width:189px;height:41.04px}
  .hero { min-height:auto; }.hero h1{font-size:36vw;margin:14vw 0 8vw -3vw}.hero-grid{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid}.signal{min-height:320px}
  .manifesto,.impact-heading,.ecosystem-title,.independence{grid-template-columns:1fr}.manifesto-lead,.manifesto-side,.manifesto-body{grid-column:1}.manifesto{padding:70px 20px}.manifesto-lead{font-size:12vw}.manifesto-body{grid-template-columns:1fr}
  .impact,.ecosystem,.independence{padding:70px 20px}.impact-heading>p{max-width:300px}.metrics{grid-template-columns:1fr 1fr}.proof{grid-template-columns:1fr}.proof p{justify-self:start}.cards{grid-template-columns:1fr}.card{min-height:500px}.ecosystem-title p{margin-top:40px}
  .cta{padding:80px 20px}.cta h2{font-size:16vw;line-height:.82;margin:45px 0}footer{grid-template-columns:1fr}footer p{text-align:left}footer>div{justify-content:flex-start;flex-wrap:wrap}footer small,.footer-brand{grid-column:1}.trajectory,.team{padding:70px 20px}.trajectory-title,.team-title,.phase-grid,.team-grid,.editorial-grid{grid-template-columns:1fr}.trajectory-title>p,.team-title>p{margin-top:30px}.hero-intro{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.editorial-grid article{min-height:220px}.template-header{padding:70px 20px 45px}.template-header h1{font-size:15vw}.prose{padding:55px 0 80px}.article-end{flex-direction:column}.page-hero,.content-band{padding:70px 20px}.page-hero h1{font-size:17vw}.page-hero .lead{margin-left:0}.band-grid,.fact-grid,.offer-grid,.profile-grid{grid-template-columns:1fr}.fact-grid article,.offer-grid article{min-height:210px}.profile-mark,.profile-photo{max-width:360px}
}
@media(max-width:1180px){.primary-nav{display:none}}
@media(max-width:520px){.header-tools>.pill{display:none}.burger-panel{position:fixed;top:88px;right:16px;left:16px;width:auto;max-height:calc(100vh - 110px);overflow:auto}.legal-contact{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scanline{animation:none}}

/* WordPress : index, archives et contenus dynamiques */
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed!important; top:12px; left:12px; z-index:1000; width:auto; height:auto; padding:12px 16px; clip:auto; background:var(--green); color:var(--ink); border:1px solid var(--ink); }
.posts-wrap { padding:6vw 3vw 9vw; }
.posts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.post-card { display:flex; flex-direction:column; min-height:470px; padding:22px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.post-card:nth-child(3n+2) { background:var(--green); }
.post-card-image { display:block; aspect-ratio:16/10; margin:-22px -22px 26px; overflow:hidden; border-bottom:1px solid var(--ink); background:var(--green); }
.post-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.post-card-meta { display:flex; justify-content:space-between; gap:16px; font:10px monospace; text-transform:uppercase; }
.post-card h2 { margin:55px 0 22px; font-size:clamp(2.1rem,4vw,4.5rem); line-height:.9; letter-spacing:-.06em; }
.post-card h2 a:hover,.post-card h2 a:focus-visible { text-decoration:underline; text-decoration-color:var(--green); text-decoration-thickness:8px; }
.post-card:nth-child(3n+2) h2 a:hover,.post-card:nth-child(3n+2) h2 a:focus-visible { text-decoration-color:var(--ink); }
.post-card-excerpt { margin:0 0 28px; font-size:14px; line-height:1.55; }
.post-card-link { margin-top:auto; padding-top:14px; border-top:1px solid var(--ink); font-weight:700; }
.pagination { display:block; margin-top:45px; }
.pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.pagination .page-numbers { min-width:42px; padding:11px 13px; border:1px solid var(--ink); text-align:center; box-shadow:3px 3px 0 var(--ink); }
.pagination .page-numbers.current,.pagination .page-numbers:hover,.pagination .page-numbers:focus-visible { background:var(--green); box-shadow:none; transform:translate(2px,2px); }
.empty-state { padding:70px 0; border-top:1px solid var(--ink); font-size:clamp(1.8rem,4vw,3.5rem); font-weight:800; }
.wp-caption,.wp-block-image { max-width:100%; }
.prose img { max-width:100%; height:auto; }
.prose .alignwide { width:min(1100px,94vw); max-width:none; margin-left:50%; transform:translateX(-50%); }
.prose .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.prose pre { overflow:auto; padding:22px; background:var(--ink); color:white; font-size:.78em; }
.prose table { width:100%; border-collapse:collapse; font-family:Arial,Helvetica,sans-serif; font-size:.78em; }
.prose th,.prose td { padding:12px; border:1px solid var(--ink); text-align:left; }
.comments-area { padding-top:0; }
.comments-pagination,.comment-navigation { display:block; }
.comments-area ol { list-style:none; padding:0; }
.comment-body { margin:0 0 25px; padding:22px; border:1px solid var(--ink); }
.comment-meta { font:11px monospace; text-transform:uppercase; }
.comment-form input,.comment-form textarea { width:100%; padding:12px; border:1px solid var(--ink); border-radius:0; background:white; font:inherit; }
.comment-form input[type="submit"] { width:auto; cursor:pointer; background:var(--green); box-shadow:4px 4px 0 var(--ink); }
.custom-logo-link { display:block; width:min(307.8px,32.4vw); height:49.68px; overflow:hidden; }
.custom-logo { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
.admin-bar .topbar { top:32px; }
@media(max-width:900px){.posts-grid{grid-template-columns:1fr 1fr}.post-card:nth-child(3n+2){background:transparent}.post-card:nth-child(even){background:var(--green)}}
@media(max-width:782px){.admin-bar .topbar{top:46px}}
@media(max-width:600px){.posts-wrap{padding:45px 20px 70px}.posts-grid{grid-template-columns:1fr}.post-card,.post-card:nth-child(even){min-height:420px;background:transparent}.post-card:nth-child(odd){background:var(--green)}.custom-logo-link{width:189px;height:41.04px}}
