@charset "UTF-8";
/*
Theme Name: Lebot & Lemaître
Theme URI: https://avocat-lebot-lemaitre.fr
Description: Magazine business, finance et tech. Archetype BP « Rouge d'imprimerie / Colonnes réglées » : blanc, encre et un seul vermillon, Besley (Clarendon) + Sen, composition de une, filet rouge de tête et grille constructiviste.
Author: Netlinqueen
Version: 1.0.0
Text Domain: avocat-lebot-lemaitre
*/

/* ─────────────────────────────────────────────────────────────
   Variables
   ───────────────────────────────────────────────────────────── */
:root {
    --alm-blanc: #FFFFFF;
    --alm-brume: #F2F2F3;      /* gris froid de remplissage, jamais beige */
    --alm-brume2: #E9E9EB;
    --alm-encre: #131316;
    --alm-encre2: #0C0C0E;     /* pied */
    --alm-doux: #3A3A40;
    --alm-gris: #5C5C63;
    --alm-filet: #E4E4E7;
    --alm-filet-fort: #C9C9CE;
    --alm-rouge: #DA2018;      /* aplat + mot accent + filets, ~5:1 sur blanc, blanc dessus ~5:1 */
    --alm-rouge-txt: #B4160F;  /* petit texte rouge sur blanc, ~6,5:1 */
    --alm-rouge-clair: #FF8478;/* rouge sur fond encre */
    --alm-voile: #FBE7E5;      /* voile rouge très clair */
    --alm-clair: #EDEDEE;      /* texte clair sur encre */

    --alm-max: 1280px;
    --alm-gout: clamp(20px, 5vw, 56px);

    --alm-serif: "Besley", Georgia, "Times New Roman", serif;
    --alm-sans: "Sen", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;

    --alm-hh: 74px;
}

/* ─────────────────────────────────────────────────────────────
   Reset
   ───────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
    margin: 0;
    background: var(--alm-blanc);
    color: var(--alm-encre);
    font-family: var(--alm-sans);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

h1, h2, h3, h4 { margin: 0; font-family: var(--alm-serif); font-weight: 700; line-height: 1.06; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

:focus-visible {
    outline: 3px solid var(--alm-rouge);
    outline-offset: 2px;
}

.alm-plein {
    max-width: var(--alm-max);
    margin: 0 auto;
    padding: 0 var(--alm-gout);
}

.alm-evitement {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--alm-encre);
    color: #fff;
    padding: 12px 18px;
    z-index: 200;
    font-weight: 700;
}
.alm-evitement:focus { left: 12px; top: 12px; }

/* ── Libellé motif : filet rouge de tête ─────────────────────── */
.alm-oeil {
    display: inline-block;
    border-top: 3px solid var(--alm-rouge);
    padding-top: 9px;
    margin: 0 0 18px;
    font-family: var(--alm-sans);
    font-weight: 800;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--alm-encre);
}
.alm-oeil--clair { color: var(--alm-clair); }

/* ── Boutons ─────────────────────────────────────────────────── */
.alm-action {
    display: inline-block;
    background: var(--alm-rouge);
    color: #fff;
    font-family: var(--alm-sans);
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 15px 26px;
    border: 2px solid var(--alm-rouge);
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.alm-action:hover { background: var(--alm-encre); border-color: var(--alm-encre); color: #fff; }
.alm-action--ligne { background: transparent; color: var(--alm-encre); border-color: var(--alm-encre); }
.alm-action--ligne:hover { background: var(--alm-encre); color: #fff; }
.alm-action--clair { background: #fff; color: var(--alm-encre); border-color: #fff; }
.alm-action--clair:hover { background: var(--alm-rouge); border-color: var(--alm-rouge); color: #fff; }

/* ─────────────────────────────────────────────────────────────
   En-tête
   ───────────────────────────────────────────────────────────── */
.alm-tete {
    position: sticky;
    top: 0;
    z-index: 60;
    background: var(--alm-blanc);
    border-bottom: 3px solid var(--alm-rouge);
    transition: box-shadow .2s ease;
}
.alm-tete--scroll { box-shadow: 0 6px 20px rgba(19,19,22,.09); }
.alm-tete-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: var(--alm-hh);
}

.alm-marque { display: inline-flex; align-items: baseline; flex-direction: column; line-height: 1; }
.alm-marque-nom {
    font-family: var(--alm-serif);
    font-weight: 800;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
    color: var(--alm-encre);
}
.alm-marque-nom .alm-amp { color: var(--alm-rouge); font-style: italic; padding: 0 .06em; }
.alm-marque-sous {
    display: block;
    margin-top: 3px;
    font-family: var(--alm-sans);
    font-weight: 700;
    font-size: 0.58rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--alm-gris);
}

.alm-nav { display: flex; align-items: center; gap: 28px; }
.alm-nav-liens { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.alm-nav-liens a {
    font-family: var(--alm-sans);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    color: var(--alm-encre);
    padding: 4px 0;
    position: relative;
}
.alm-nav-liens a::after {
    content: "";
    position: absolute;
    left: 0; bottom: -3px;
    width: 100%; height: 2px;
    background: var(--alm-rouge);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}
.alm-nav-liens a:hover::after { transform: scaleX(1); }

.alm-nav-contact {
    font-family: var(--alm-sans);
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
    background: var(--alm-encre);
    padding: 11px 18px;
    border: 2px solid var(--alm-encre);
    transition: background .18s ease, color .18s ease;
}
.alm-nav-contact:hover { background: var(--alm-rouge); border-color: var(--alm-rouge); }

.alm-nav-tete { display: none; }
.alm-nav-close, .alm-nav-logo { display: none; }
.alm-burger {
    display: none;
    background: none;
    border: none;
    color: var(--alm-encre);
    padding: 6px;
}

/* ─────────────────────────────────────────────────────────────
   Hero — « La Une »
   ───────────────────────────────────────────────────────────── */
.alm-une { padding: clamp(38px, 6vh, 76px) 0 clamp(44px, 6vh, 74px); }
.alm-une-grille {
    display: grid;
    grid-template-columns: 1.55fr 1fr;
    gap: clamp(30px, 4vw, 64px);
    align-items: start;
}

.alm-une-titre {
    font-size: clamp(2.7rem, 6.2vw, 5.3rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.015em;
    margin: 0 0 24px;
    max-width: 15ch;
}
.alm-mot { color: var(--alm-rouge); }
.alm-une-deck {
    font-size: 1.16rem;
    line-height: 1.55;
    color: var(--alm-doux);
    max-width: 46ch;
    margin: 0 0 28px;
}
.alm-une-cta { margin-bottom: 34px; }

.alm-une-jauges {
    display: flex;
    border-top: 1.5px solid var(--alm-encre);
    padding-top: 18px;
    max-width: 30rem;
}
.alm-jauge { flex: 1; padding-right: 18px; text-align: center; }
.alm-jauge + .alm-jauge { border-left: 1px solid var(--alm-filet-fort); padding-left: 18px; }
.alm-jauge-num {
    display: block;
    font-family: var(--alm-serif);
    font-weight: 800;
    font-size: 2.1rem;
    line-height: 1;
    color: var(--alm-rouge);
}
.alm-jauge-lib {
    display: block;
    margin-top: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--alm-gris);
}

/* colonne de droite : filet vertical + sommaire */
.alm-une-colonne { border-left: 1.5px solid var(--alm-encre); padding-left: clamp(24px, 3vw, 44px); }
.alm-une-vue {
    position: relative;
    border: 1.5px solid var(--alm-encre);
    padding: 8px;
    background: #fff;
    margin-bottom: 26px;
}
.alm-une-vue::before {
    content: "";
    position: absolute;
    left: -1.5px; bottom: -8px;
    width: 78px; height: 6px;
    background: var(--alm-rouge);
}
.alm-une-vue img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.alm-une-cote {
    position: absolute;
    top: 8px; right: 8px;
    background: var(--alm-rouge);
    color: #fff;
    font-family: var(--alm-sans);
    font-weight: 800;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 5px 9px;
}

.alm-une-index { display: block; }
.alm-une-index-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--alm-filet);
}
.alm-une-index-item:first-child { border-top: 1px solid var(--alm-encre); }
.alm-une-index-num {
    font-family: var(--alm-serif);
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--alm-rouge);
}
.alm-une-index-nom { font-family: var(--alm-serif); font-weight: 700; font-size: 1.02rem; color: var(--alm-encre); }
.alm-une-index-cpt { font-size: 0.72rem; font-weight: 700; color: var(--alm-gris); letter-spacing: 0.04em; }
.alm-une-index-item:hover .alm-une-index-nom { color: var(--alm-rouge-txt); }

/* ─────────────────────────────────────────────────────────────
   Cap de section
   ───────────────────────────────────────────────────────────── */
.alm-cap {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    border-top: 3px solid var(--alm-rouge);
    padding-top: 14px;
    margin-bottom: 30px;
}
.alm-cap h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 800; letter-spacing: -0.01em; }
.alm-cap-note {
    font-family: var(--alm-sans);
    font-weight: 700;
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-gris);
    white-space: nowrap;
}

/* ─────────────────────────────────────────────────────────────
   Flux d'articles
   ───────────────────────────────────────────────────────────── */
.alm-flux { padding: clamp(30px, 5vh, 56px) 0; }

/* manchette */
.alm-manchette {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: clamp(22px, 3vw, 44px);
    border-top: 3px solid var(--alm-encre);
    padding-top: 26px;
    margin-bottom: 46px;
}
.alm-manchette-vue { border: 1.5px solid var(--alm-encre); }
.alm-manchette-vue img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.alm-drapeau {
    display: inline-block;
    background: var(--alm-rouge);
    color: #fff;
    font-weight: 800;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 6px 12px;
    margin-bottom: 14px;
}
.alm-manchette-txt h3 { font-size: clamp(1.7rem, 3.2vw, 2.7rem); font-weight: 800; line-height: 1.02; letter-spacing: -0.01em; }
.alm-manchette-txt h3 a { background-image: linear-gradient(var(--alm-rouge), var(--alm-rouge)); background-size: 0% 3px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .25s ease; }
.alm-manchette-txt h3 a:hover { background-size: 100% 3px; }
.alm-manchette-txt p { margin-top: 14px; color: var(--alm-doux); font-size: 1.04rem; }

/* méta */
.alm-meta { display: flex; align-items: center; gap: 12px; margin: 16px 0 10px; }
.alm-cat {
    font-family: var(--alm-sans);
    font-weight: 800;
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-rouge-txt);
}
.alm-duree {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--alm-gris);
    position: relative;
    padding-left: 14px;
}
.alm-duree::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; background: var(--alm-encre); transform: translateY(-50%); }

/* grille */
.alm-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 34px); }
.alm-carte {
    border-top: 2px solid var(--alm-encre);
    padding-top: 16px;
    opacity: .55;
    transform: translateY(10px);
    transition: opacity .5s ease, transform .5s ease;
}
.alm-carte.is-vu { opacity: 1; transform: none; }
.alm-carte-vue { border: 1.5px solid var(--alm-encre); margin-bottom: 4px; overflow: hidden; }
.alm-carte-vue img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; transition: transform .4s ease; }
.alm-carte:hover .alm-carte-vue img { transform: scale(1.04); }
.alm-carte h3 { font-size: 1.3rem; font-weight: 700; line-height: 1.1; }
.alm-carte h3 a { background-image: linear-gradient(var(--alm-rouge), var(--alm-rouge)); background-size: 0% 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .25s ease; }
.alm-carte:hover h3 a { background-size: 100% 2px; }
.alm-carte p { margin-top: 10px; color: var(--alm-gris); font-size: 0.95rem; }

/* carte aplat rouge : brève en avant, sans image */
.alm-carte--rouge {
    background: var(--alm-rouge);
    border-top: 2px solid var(--alm-encre);
    color: #fff;
    padding: 20px 22px 26px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.alm-carte--rouge .alm-carte-folio {
    position: absolute;
    right: 10px; bottom: -14px;
    font-family: var(--alm-serif);
    font-weight: 800;
    font-size: 6.6rem;
    line-height: 1;
    color: rgba(255,255,255,.16);
    pointer-events: none;
}
.alm-carte--rouge .alm-cat { color: #fff; }
.alm-carte--rouge .alm-duree { color: rgba(255,255,255,.9); }
.alm-carte--rouge .alm-duree::before { background: #fff; }
.alm-carte--rouge h3 { color: #fff; font-size: 1.5rem; position: relative; z-index: 1; }
.alm-carte--rouge h3 a { background: none; }
.alm-carte--rouge p { color: rgba(255,255,255,.9); position: relative; z-index: 1; }

/* état vide */
.alm-vide {
    border-top: 2px solid var(--alm-encre);
    padding-top: 16px;
}
.alm-vide h3 { font-size: 1.24rem; }
.alm-vide h3 a:hover { color: var(--alm-rouge-txt); }
.alm-vide p { margin-top: 8px; color: var(--alm-gris); font-size: 0.95rem; }

/* ─────────────────────────────────────────────────────────────
   Persona — bande encre
   ───────────────────────────────────────────────────────────── */
.alm-plume { background: var(--alm-encre); color: var(--alm-clair); padding: clamp(48px, 7vh, 84px) 0; }
.alm-plume-inner {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: start;
}
.alm-plume-photo {
    position: relative;
    background: #fff;
    padding: 8px;
}
.alm-plume-photo::after { content: ""; position: absolute; right: -8px; bottom: 26px; width: 6px; height: 84px; background: var(--alm-rouge); }
.alm-plume-photo img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.alm-plume h2 { font-size: clamp(2rem, 3.4vw, 2.9rem); font-weight: 800; color: #fff; }
.alm-plume-role { color: var(--alm-rouge-clair); font-weight: 700; letter-spacing: 0.04em; margin: 6px 0 20px; }
.alm-plume-specs {
    display: flex;
    gap: 0;
    border-top: 1.5px solid rgba(255,255,255,.22);
    padding-top: 16px;
    margin: 0 0 24px;
    max-width: 34rem;
}
.alm-plume-specs > div { flex: 1; padding-right: 16px; }
.alm-plume-specs > div + div { border-left: 1px solid rgba(255,255,255,.2); padding-left: 16px; }
.alm-spec-num { display: block; font-family: var(--alm-serif); font-weight: 800; font-size: 1.9rem; line-height: 1; color: #fff; }
.alm-spec-lib { display: block; margin-top: 6px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(237,237,238,.72); }
.alm-plume-bio { color: rgba(237,237,238,.9); max-width: 60ch; margin-bottom: 24px; }
.alm-plume-bio p { margin-bottom: 0.9em; }
.alm-plume-bio strong { color: #fff; }
.alm-plume-bio ul { margin: 0 0 0.9em; }
.alm-plume-bio li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.alm-plume-bio li::before { content: ""; position: absolute; left: 0; top: 9px; width: 14px; height: 3px; background: var(--alm-rouge-clair); }
.alm-plume-bio li::after { content: ""; position: absolute; left: 0; top: 15px; width: 9px; height: 3px; background: rgba(255,255,255,.42); }

/* ─────────────────────────────────────────────────────────────
   Rubriques — sommaire réglé
   ───────────────────────────────────────────────────────────── */
.alm-rubriques { padding: clamp(40px, 6vh, 72px) 0; }
.alm-sommaire {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 clamp(30px, 4vw, 60px);
    border-top: 1.5px solid var(--alm-encre);
}
.alm-sommaire-item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 20px;
    align-items: start;
    padding: 24px 14px 24px 0;
    border-bottom: 1px solid var(--alm-filet);
    transition: background .2s ease, padding-left .2s ease;
}
.alm-sommaire-item:hover { background: var(--alm-voile); padding-left: 14px; }
.alm-sommaire-folio {
    grid-row: 1 / span 2;
    font-family: var(--alm-serif);
    font-weight: 800;
    font-size: 2.7rem;
    line-height: 0.9;
    color: var(--alm-rouge);
    -webkit-text-stroke: 0;
}
.alm-sommaire-tete { display: flex; align-items: center; gap: 12px; }
.alm-sommaire-picto { width: 26px; height: 26px; color: var(--alm-encre); flex-shrink: 0; }
.alm-sommaire-picto svg { width: 100%; height: 100%; }
.alm-sommaire-item h3 { font-size: 1.4rem; font-weight: 700; }
.alm-sommaire-desc { grid-column: 2; margin: 8px 0 0; color: var(--alm-gris); font-size: 0.94rem; }
.alm-sommaire-cpt {
    grid-column: 2;
    margin-top: 8px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--alm-rouge-txt);
}

/* ─────────────────────────────────────────────────────────────
   Coiffe (heros internes)
   ───────────────────────────────────────────────────────────── */
.alm-coiffe { position: relative; background: var(--alm-encre); color: #fff; overflow: hidden; }
.alm-coiffe-fond { position: absolute; inset: 0; }
.alm-coiffe-fond img { width: 100%; height: 100%; object-fit: cover; }
.alm-coiffe-fond::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,12,14,.72) 0%, rgba(12,12,14,.86) 100%);
}
.alm-coiffe-inner { position: relative; padding: clamp(46px, 8vh, 96px) 0 clamp(34px, 5vh, 56px); }
.alm-coiffe h1 { font-size: clamp(2.1rem, 4.6vw, 3.9rem); font-weight: 800; color: #fff; max-width: 22ch; letter-spacing: -0.01em; }
.alm-coiffe-desc { margin-top: 16px; max-width: 60ch; color: rgba(255,255,255,.86); }
.alm-coiffe-desc p { margin-bottom: 0.6em; }
.alm-coiffe .alm-oeil { color: #fff; }

/* Étoiles kk Star Ratings — icône reconstruite en CSS mask (le SVG "inactive"
   du plugin est un simple contour très fin, quasi invisible sur fond sombre
   et non recolorable par filter/hue-rotate) plutôt que l'asset du plugin. */
.alm-etoiles {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}
.alm-etoiles .kk-star-ratings { align-items: center; }
.alm-etoiles .kksr-star,
.alm-etoiles .kksr-icon {
    width: 19px !important;
    height: 19px !important;
}
.alm-etoiles .kksr-star { padding-right: 3px !important; }
.alm-etoiles .kksr-icon {
    background: none !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.4l2.9 6.7 7.2.6-5.5 4.7 1.7 7.1-6.3-3.8-6.3 3.8 1.7-7.1-5.5-4.7 7.2-.6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.4l2.9 6.7 7.2.6-5.5 4.7 1.7 7.1-6.3-3.8-6.3 3.8 1.7-7.1-5.5-4.7 7.2-.6z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.alm-etoiles .kksr-stars-inactive .kksr-icon { background-color: rgba(255,255,255,.3) !important; }
.alm-etoiles .kksr-stars-active .kksr-icon { background-color: var(--alm-rouge-clair) !important; }
.alm-etoiles .kksr-legend {
    margin: 0 !important;
    color: rgba(255,255,255,.8) !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
}
.alm-etoiles .kksr-legend .kksr-muted { color: rgba(255,255,255,.8) !important; opacity: 1 !important; }

.alm-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0.78rem; font-weight: 700; margin-bottom: 22px; color: rgba(255,255,255,.72); }
.alm-fil a { color: rgba(255,255,255,.72); }
.alm-fil a:hover { color: #fff; }
.alm-fil-sep { color: var(--alm-rouge-clair); }
.alm-fil > span:last-child { color: #fff; }

/* ─────────────────────────────────────────────────────────────
   Article
   ───────────────────────────────────────────────────────────── */
.alm-plaque { max-width: var(--alm-max); margin: -40px auto 0; padding: 0 var(--alm-gout); position: relative; z-index: 2; }
.alm-plaque img { border: 1.5px solid var(--alm-encre); background: #fff; padding: 8px; width: 100%; max-height: 620px; object-fit: cover; }

.alm-lecture { padding: clamp(34px, 5vh, 60px) 0 clamp(40px, 6vh, 70px); }
.alm-lecture-inner { max-width: 760px; margin: 0 auto; }
.alm-lecture-marge {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-top: 3px solid var(--alm-rouge);
    border-bottom: 1px solid var(--alm-filet);
    padding: 14px 0;
    margin-bottom: 30px;
}
.alm-lecture-marge span { flex: 1; min-width: 120px; display: flex; flex-direction: column; padding-right: 16px; }
.alm-lecture-marge span + span { border-left: 1px solid var(--alm-filet); padding-left: 16px; }
.alm-lecture-marge b { font-size: 0.64rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--alm-gris); margin-bottom: 4px; }
.alm-lecture-marge a { color: var(--alm-rouge-txt); font-weight: 700; }

.alm-resume { margin-bottom: 26px; }

.entry-content { font-size: 1.075rem; line-height: 1.75; color: var(--alm-encre); }
.entry-content > * + * { margin-top: 1em; }
.entry-content h2 { font-size: 1.75rem; font-weight: 800; margin: 1.6em 0 0.5em; }
.entry-content h3 { font-size: 1.35rem; font-weight: 700; margin: 1.4em 0 0.4em; }
.entry-content a { color: var(--alm-rouge-txt); text-decoration: underline; text-underline-offset: 2px; }
.entry-content img { border: 1.5px solid var(--alm-encre); margin: 1.4em 0; }
.entry-content blockquote {
    margin: 1.4em 0;
    padding: 4px 0 4px 22px;
    border-left: 4px solid var(--alm-rouge);
    font-family: var(--alm-serif);
    font-size: 1.3rem;
    font-style: italic;
    color: var(--alm-doux);
}
.entry-content strong { font-weight: 700; }

/* Bullets : filet rouge court sur filet encre plus long (le motif à l'échelle du texte) */
.entry-content ul { list-style: none; padding-left: 0; margin-bottom: 1.4em; }
.entry-content ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 1.4em; }
.entry-content ul li { position: relative; padding-left: 26px; margin-bottom: 0.55em; }
.entry-content ul li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 14px; height: 3px; background: var(--alm-rouge); }
.entry-content ul li::after { content: ""; position: absolute; left: 0; top: calc(0.55em + 6px); width: 9px; height: 3px; background: var(--alm-encre); }
.entry-content ol li { margin-bottom: 0.5em; }

.alm-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.alm-tags a {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 7px 14px;
    border: 1.5px solid var(--alm-filet-fort);
    color: var(--alm-doux);
    transition: border-color .18s ease, color .18s ease;
}
.alm-tags a:hover { border-color: var(--alm-rouge); color: var(--alm-rouge-txt); }

/* signature auteur */
.alm-signature {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 22px;
    align-items: start;
    margin-top: 44px;
    border-top: 3px solid var(--alm-encre);
    padding-top: 26px;
}
.alm-signature-photo { border: 1.5px solid var(--alm-encre); padding: 5px; background: #fff; }
.alm-signature-photo img { aspect-ratio: 1/1; object-fit: cover; width: 100%; }
.alm-signature h2 { font-size: 1.5rem; font-weight: 800; }
.alm-signature-role { color: var(--alm-rouge-txt); font-weight: 700; font-size: 0.9rem; margin: 4px 0 10px; }
.alm-signature-bio { color: var(--alm-gris); font-size: 0.96rem; }

/* voisins / archive */
.alm-voisins { padding: clamp(34px, 5vh, 60px) 0; background: var(--alm-brume); }
.alm-archive { padding: clamp(34px, 5vh, 60px) 0; }

/* ─────────────────────────────────────────────────────────────
   Bloc éditorial d'archive
   ───────────────────────────────────────────────────────────── */
.alm-dossier { padding: 0 0 clamp(40px, 6vh, 70px); }
.alm-dossier-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
    border-top: 3px solid var(--alm-rouge);
    padding-top: 30px;
}
.alm-dossier-txt h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); font-weight: 800; margin-bottom: 16px; letter-spacing: -0.01em; }
.alm-dossier-txt p { color: var(--alm-doux); }
.alm-dossier-txt ul { margin: 16px 0; }
.alm-dossier-txt li { position: relative; padding-left: 22px; margin-bottom: 10px; color: var(--alm-encre); }
.alm-dossier-txt li::before { content: "→"; position: absolute; left: 0; top: 0; color: var(--alm-rouge); font-weight: 700; }
.alm-dossier-vue { border: 1.5px solid var(--alm-encre); padding: 8px; background: #fff; }
.alm-dossier-vue img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }

/* ─────────────────────────────────────────────────────────────
   Pages statiques
   ───────────────────────────────────────────────────────────── */
.alm-page-corps-wrap { padding: clamp(34px, 5vh, 60px) 0 clamp(44px, 6vh, 72px); }
.alm-page-corps { max-width: 780px; }
.alm-page-corps.entry-content h2 { font-size: 1.4rem; margin-top: 1.6em; }

.alm-contact-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 4vw, 60px); align-items: start; }
.alm-contact-intro h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 800; margin-bottom: 14px; }
.alm-contact-intro p { color: var(--alm-doux); }
.alm-contact-reperes { display: flex; border-top: 3px solid var(--alm-rouge); padding-top: 18px; margin-top: 26px; }
.alm-contact-reperes > div { flex: 1; padding-right: 14px; }
.alm-contact-reperes > div + div { border-left: 1px solid var(--alm-filet); padding-left: 14px; }
.alm-contact-reperes .alm-spec-num { color: var(--alm-encre); }
.alm-contact-reperes .alm-spec-lib { color: var(--alm-gris); }
.alm-contact-panneau { border: 1.5px solid var(--alm-encre); padding: clamp(22px, 3vw, 34px); }

.alm-plan-bloc { border-top: 1.5px solid var(--alm-encre); padding: 22px 0; }
.alm-plan-bloc h2 { font-size: 1.4rem; font-weight: 800; margin-bottom: 12px; }
.alm-plan-bloc h2 a:hover { color: var(--alm-rouge-txt); }
.alm-plan-bloc ul { columns: 2; column-gap: 40px; }
.alm-plan-bloc li { margin-bottom: 8px; break-inside: avoid; }
.alm-plan-bloc li a { color: var(--alm-doux); }
.alm-plan-bloc li a:hover { color: var(--alm-rouge-txt); }
.alm-plan-bloc p { color: var(--alm-gris); }

/* ─────────────────────────────────────────────────────────────
   Formulaire CF7
   ───────────────────────────────────────────────────────────── */
.wpcf7-form p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.wpcf7-form br { display: none; }
.wpcf7-form label { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--alm-doux); display: flex; flex-direction: column; gap: 7px; }
.wpcf7-form input, .wpcf7-form textarea {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--alm-encre);
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--alm-filet-fort);
    background: #fff;
    transition: border-color .18s ease;
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline: none; border-color: var(--alm-rouge); }
.wpcf7-form textarea { min-height: 150px; resize: vertical; }
.wpcf7-form input.wpcf7-submit {
    width: 100%;
    background: var(--alm-rouge);
    color: #fff;
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 2px solid var(--alm-rouge);
    padding: 15px;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
.wpcf7-form input.wpcf7-submit:hover { background: var(--alm-encre); border-color: var(--alm-encre); }

/* ─────────────────────────────────────────────────────────────
   Pied
   ───────────────────────────────────────────────────────────── */
.alm-pied { background: var(--alm-encre2); color: rgba(237,237,238,.8); padding: clamp(44px, 6vh, 72px) 0 30px; border-top: 3px solid var(--alm-rouge); }
.alm-pied-grille { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: clamp(24px, 3vw, 48px); }
.alm-pied-marque .alm-marque-nom { color: #fff; }
.alm-pied-marque .alm-marque-sous { color: rgba(237,237,238,.6); }
.alm-pied-desc { margin-top: 14px; font-size: 0.92rem; color: rgba(237,237,238,.7); max-width: 34ch; }
.alm-pied-titre { font-family: var(--alm-sans); font-weight: 800; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
.alm-pied li { margin-bottom: 9px; }
.alm-pied a { color: rgba(237,237,238,.78); font-size: 0.94rem; }
.alm-pied a:hover { color: var(--alm-rouge-clair); }
.alm-pied-bas { margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); text-align: center; font-size: 0.82rem; color: rgba(237,237,238,.6); }

/* ─────────────────────────────────────────────────────────────
   Reveal
   ───────────────────────────────────────────────────────────── */
[data-alm-reveal] { opacity: .55; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
[data-alm-reveal].is-vu { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    [data-alm-reveal], .alm-carte { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ─────────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────────── */
@media (max-width: 1080px) {
    .alm-nav {
        position: fixed;
        inset: 0;
        z-index: 120;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        background: var(--alm-blanc);
        padding: 0;
        transform: translateX(100%);
        transition: transform .28s ease;
        overflow-y: auto;
    }
    .alm-nav--open { transform: none; }
    .alm-nav-tete {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px var(--alm-gout);
        border-bottom: 3px solid var(--alm-rouge);
    }
    .alm-nav-logo { display: inline-flex; }
    .alm-nav-close { display: inline-flex; background: none; border: none; color: var(--alm-encre); padding: 6px; }
    .alm-nav-liens { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--alm-gout); }
    .alm-nav-liens li { border-bottom: 1px solid var(--alm-filet); }
    .alm-nav-liens a { display: block; padding: 16px 0; font-size: 1.1rem; }
    .alm-nav-liens a::after { display: none; }
    .alm-nav-contact { margin: 18px var(--alm-gout); text-align: center; }
    .alm-burger { display: inline-flex; }

    .alm-une-grille { grid-template-columns: 1fr; }
    .alm-une-colonne { border-left: none; border-top: 3px solid var(--alm-encre); padding-left: 0; padding-top: 26px; }
    .alm-pied-grille { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
    .alm-grille { grid-template-columns: repeat(2, 1fr); }
    .alm-manchette { grid-template-columns: 1fr; }
    .alm-plume-inner { grid-template-columns: 1fr; }
    .alm-plume-photo { max-width: 300px; }
    .alm-plume-photo::after { display: none; }
    .alm-sommaire { grid-template-columns: 1fr; }
    .alm-contact-inner { grid-template-columns: 1fr; }
    .alm-dossier-inner { grid-template-columns: 1fr; }
    .alm-dossier-vue { order: -1; }
    .alm-plan-bloc ul { columns: 1; }
}

@media (max-width: 560px) {
    body { font-size: 16px; }
    .alm-grille { grid-template-columns: 1fr; }
    .alm-pied-grille { grid-template-columns: 1fr; }
    .alm-une-jauges, .alm-plume-specs, .alm-lecture-marge, .alm-contact-reperes { flex-wrap: wrap; }
    .alm-signature { grid-template-columns: 1fr; }
    .alm-plaque { margin-top: -24px; }
}
