/* Exuno, le Journal et les pages de service. S'ajoute à exuno.css, sans toucher aux règles de la façade.
   Direction artistique : claude/exuno-page-web-direction-artistique.md, section 14. Valeurs du socle, section 6 : aucune autre couleur. */
.pg{padding:22px 24px 40px;min-height:100vh;min-height:100svh}
.pg .barre .lien{font-size:12px;letter-spacing:.06em;color:var(--demi)}
.pg .colonne{padding-top:48px}
.pg .titre{font-size:clamp(30px,3.6vw,52px);margin:6px 0 10px}
.pg .colonne .fen{margin-top:0;position:static}
.meta{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--demi);line-height:1.9}
.meta a{color:var(--lumiere)}
.colonne p.chapo{font-size:18px;line-height:1.65}
.colonne p.soustitre{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--demi)}
.pg h2.q{margin:30px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.2;text-wrap:balance}
.sources{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--veille);padding-top:18px;margin-top:20px}
.colonne .sources p{font-family:var(--mono);font-size:11px;color:var(--demi);line-height:1.7}
.sources a{color:var(--demi);text-decoration:underline;text-underline-offset:3px}
.suite{display:flex;flex-direction:column;gap:6px;margin-top:22px}
.suite .fen{white-space:normal;height:auto;min-height:44px;align-items:flex-start;padding:12px 0}
.suite .fen .vitre{background:var(--lumiere);margin-top:.45em}
.suite .fen.pilier .vitre{background:var(--veille)}
/* Les liens de suite d'un article : le trait suit chaque ligne d'un titre sur 2 lignes, comme les titres en liste du Journal (décision du 7 octobre 2026). Correction du 14 octobre 2026. */
@property --trait{syntax:'<color>';inherits:false;initial-value:transparent}
.pg .suite .fen{display:block;position:relative;padding-left:22px}
.pg .suite .fen .vitre{position:absolute;left:0;top:12px}
.suite .txt::after{display:none}
.suite .txt{--trait:transparent;padding-bottom:3px;background-image:linear-gradient(90deg,transparent,var(--trait) 1.6em,var(--trait) calc(100% - 1.6em),transparent);background-repeat:no-repeat;background-position:-1.6em 100%;background-size:0 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:--trait 900ms linear,background-size 0s linear 900ms}
.suite .fen:focus-visible .txt{--trait:var(--lumiere);background-size:calc(100% + 3.2em) 1px;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),--trait 0s}
@media (hover:hover){.suite .fen:hover .txt{--trait:var(--lumiere);background-size:calc(100% + 3.2em) 1px;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),--trait 0s}}
.txt{position:relative}

/* Le pied de page */
.pied{margin-top:96px;border-top:1px solid var(--veille);padding-top:10px;display:flex;flex-wrap:wrap;gap:0 22px;font-size:11px;letter-spacing:.06em}
.pied a{position:relative;display:flex;align-items:center;height:44px;color:var(--demi)}

/* Le soulignement, section 3 bis : le même trait sur les nouveaux liens */
.pied a::after,.barre .lien::after{content:"";position:absolute;left:0;right:0;top:calc(50% + 1em);height:1px;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,currentColor 1.6em,currentColor calc(100% - 1.6em),transparent) no-repeat;background-position:-1.6em 0;background-size:0 100%;transition:opacity 900ms linear,background-size 0s linear 900ms}
/* Les titres d'articles en liste (Journal, pages de service) : le trait suit chaque ligne d'un titre sur 2 ou 3 lignes, décision de Grégory du 7 octobre 2026 */
@property --trait{syntax:'<color>';inherits:false;initial-value:transparent}
.fens a b,.theme a .t{--trait:transparent;padding-bottom:3px;background-image:linear-gradient(90deg,transparent,var(--trait) 1.6em,var(--trait) calc(100% - 1.6em),transparent);background-repeat:no-repeat;background-position:-1.6em 100%;background-size:0 1px;transition:--trait 900ms linear,background-size 0s linear 900ms}
.fens a:focus-visible b,.theme a:focus-visible .t{--trait:var(--lumiere);background-size:calc(100% + 3.2em) 1px;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),--trait 0s}
@media (hover:hover){.fens a:hover b,.theme a:hover .t{--trait:var(--lumiere);background-size:calc(100% + 3.2em) 1px;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),--trait 0s}}
.barre .lien{position:relative}
.pied a:focus-visible::after,.barre .lien:focus-visible::after{opacity:1;background-size:calc(100% + 3.2em) 100%;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),opacity 0s}
@media (hover:hover){.pied a:hover::after,.barre .lien:hover::after{opacity:1;background-size:calc(100% + 3.2em) 100%;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),opacity 0s}}

/* La page du Journal, piste 2B : chaque article est une fenêtre, la plus récente allumée */
.fens{display:flex;flex-direction:column;gap:26px;margin-top:18px}
.fens a{display:grid;grid-template-columns:12px 1fr;gap:16px;align-items:start}
.fens .vitre{margin-top:10px;width:12px;height:12px;background:var(--veille)}
.fens a:first-child .vitre{background:var(--lumiere)}
.fens b{display:inline;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.25}
.fens time{display:block;margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--demi)}
@media (min-width:700px){.fens a{grid-template-columns:16px 1fr}.fens .vitre{width:16px;height:16px;margin-top:12px}.fens b{font-size:26px}}

/* La liste « Au Journal » des pages de service */
.theme{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.theme h2{margin:0;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--demi)}
.theme a{font-family:var(--serif);font-size:22px;line-height:1.25}
.theme a small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--demi);margin-top:8px}

/* L'article, piste 3B : la marge sur ordinateur */
.marge aside{margin:28px 0 20px;display:flex;flex-direction:column;gap:18px}
.marge aside ol{display:none;margin:0;padding:0;list-style:none;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.04em;line-height:1.5}
.marge aside ol a{color:var(--demi)}
.marge aside ol a.ici{color:var(--lumiere)}
.marge .colonne{padding-top:0}
@media (min-width:1000px){
  .marge{display:grid;grid-template-columns:220px minmax(0,620px);gap:0 60px;padding-top:48px}
  .marge .colonne{margin-left:0}
  .marge aside{position:sticky;top:24px;align-self:start;margin:0;padding-top:6px}
  .marge aside ol{display:flex}
  .marge .titre{margin-top:0}
}

/* La page de service, piste 4B : le bandeau de façade, qui vit comme la façade */
.bande{position:relative;height:150px;margin:18px -24px 0;overflow:hidden}
.bande i{position:absolute;width:12px;height:12px;background:var(--facade);transition:background-color 1260ms linear}
.bande i.veille{background:var(--veille);transition:background-color 840ms linear}
.bande i.on{background:var(--lumiere);transition:background-color 125ms linear}
@media (min-width:700px){
  .pg{padding:36px 32px 48px}
  .bande{height:210px;margin:24px -32px 0}
  .bande i{width:16px;height:16px}
}

/* Dans un article : 1 tableau ou 1 liste au plus, consignes du Journal */
.tableau{overflow-x:auto;margin:6px 0}
.tableau table{border-collapse:collapse;width:100%;min-width:480px;font-family:var(--sans);font-size:14px;line-height:1.55}
.tableau th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--demi);padding:0 16px 10px 0;border-bottom:1px solid var(--veille)}
.tableau td{padding:12px 16px 12px 0;border-bottom:1px solid var(--veille);vertical-align:top}
.tableau td:first-child{white-space:nowrap}
/* Sur ordinateur, le critère passe à la ligne dans une colonne fixe d'un quart de la largeur, les autres colonnes se partagent le reste à parts égales. Décision de Grégory du 8 octobre 2026. */
@media (min-width:700px){
.tableau table{table-layout:fixed}
.tableau th:first-child{width:24%}
.tableau td:first-child{white-space:normal}
}
/* Sur téléphone, chaque ligne du tableau devient une fiche : le critère, puis chaque colonne avec son nom au-dessus. Décision de Grégory du 8 octobre 2026. La classe fiches et les noms viennent de pages.js : sans JavaScript, le tableau reste tel quel. */
@media (max-width:699px){
.tableau.fiches{overflow:visible}
.tableau.fiches table{min-width:0}
.tableau.fiches thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tableau.fiches tr{display:block;padding:18px 0 8px;border-bottom:1px solid var(--veille)}
.tableau.fiches td{display:block;border:0;padding:0 0 12px}
.tableau.fiches td:first-child{white-space:normal;font-size:16px;color:var(--lumiere);padding-bottom:14px}
.tableau.fiches td+td::before{content:attr(data-label);display:block;margin-bottom:3px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--demi)}
}
.colonne ul,.colonne ol{margin:0;padding-left:1.2em;font-family:var(--sans);line-height:1.75;max-width:62ch}
.colonne li{margin:4px 0}
.colonne p a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--demi)}

/* Les images d'un article : une figure dans la colonne, sa légende en DM Mono. Chantier des images du Journal, 6 octobre 2026 */
.colonne figure{margin:28px 0 6px}
.colonne figure img{display:block;width:100%;height:auto;background:var(--facade)}
.colonne figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.6;color:var(--demi)}

/* Les adresses des sources passent à la ligne pour que la page ne déborde jamais sur téléphone, décision de Grégory du 7 octobre 2026 */
.sources a{overflow-wrap:anywhere}

/* La page Offre, piste 1 « le relevé », et les prix des pages de service, décisions de Grégory du 8 octobre 2026 */
.porte{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.pg .porte h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.2}
.colonne p.prix{font-family:var(--mono);font-size:13px;letter-spacing:.04em;line-height:1.6;color:var(--lumiere)}
.colonne p.note{font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.6;color:var(--demi)}
.porte .fen,.tarif .fen{margin-top:2px}
.porte .fen .vitre,.tarif .fen .vitre{background:var(--veille)}
.conditions{border-top:1px solid var(--veille);padding-top:26px;margin-top:40px;display:flex;flex-direction:column;gap:14px}
.tarif{display:flex;flex-direction:column;gap:10px;margin-top:6px}

/* Le sélecteur du Journal : 3 thèmes, sans « Tout ». La fenêtre du thème choisi s'allume, un 2e clic l'éteint et la liste complète revient.
   Décision de Grégory du 8 octobre 2026. Il n'apparaît qu'avec JavaScript (pages.js). */
.filtre{display:flex;flex-wrap:wrap;gap:0 20px;margin:6px 0 4px}
.filtre[hidden],.fens a[hidden],.vide[hidden]{display:none}
.filtre button{display:flex;align-items:center;gap:10px;height:44px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--demi)}
.filtre .vitre{width:12px;height:12px;background:var(--facade);transition:background-color 840ms linear}
.filtre button[aria-pressed=true]{color:var(--lumiere)}
.filtre button[aria-pressed=true] .vitre{background:var(--lumiere);transition:background-color 125ms linear}
@media (hover:hover){.filtre button:hover{color:var(--lumiere)}}
.fens a.premier .vitre{background:var(--lumiere)}
.filtre ~ .fens a:first-child:not(.premier) .vitre{background:var(--veille)}
.colonne p.vide{margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--demi)}
@media (max-width:389px){.filtre .long{display:none}}
@media (min-width:700px){.filtre button{font-size:13px}.filtre .vitre{width:16px;height:16px}}
@media (prefers-reduced-motion:reduce){.filtre .vitre{transition:none}}

/* Le modèle de brief, étape 3 de la lettre (12 octobre 2026) : le formulaire de /brief/, l'encart des articles, la ligne du Journal.
   La case à cocher est une fenêtre : éteinte, cerclée de demi ; cochée, allumée. Le bouton porte le carré rouge, comme la fenêtre rouge de la façade. */
.inscription{display:flex;flex-direction:column;gap:20px;margin-top:8px;max-width:520px}
.champ{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--demi)}
.champ input{font-family:var(--mono);font-size:16px;letter-spacing:.02em;text-transform:none;color:var(--lumiere);background:transparent;border:0;border-bottom:1px solid var(--veille);border-radius:0;padding:10px 0;margin:0;outline:none;-webkit-appearance:none;appearance:none}
.champ input:focus{border-bottom-color:var(--lumiere)}
.champ input[aria-invalid="true"]{border-bottom-color:var(--signal)}
.case{position:relative;display:grid;grid-template-columns:12px 1fr;gap:14px;align-items:start;cursor:pointer;font-family:var(--sans);font-size:14px;line-height:1.6}
.case input{position:absolute;left:0;top:0;width:12px;height:12px;margin:0;opacity:0}
.case .vitre{margin-top:.4em;background:transparent;box-shadow:inset 0 0 0 1px var(--demi);transition:background-color 125ms linear}
.case input:checked+.vitre{background:var(--lumiere);box-shadow:none}
.case input:focus-visible+.vitre{outline:2px solid var(--signal);outline-offset:3px}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pg .inscription .envoi{position:static;align-self:flex-start;font-family:var(--mono)}
.pg .inscription .envoi .vitre,.pg .suite .fen.telecharger .vitre,.pg .encart .fen .vitre,.offert .vitre{background:var(--signal)}
.envoi:focus-visible .txt::after{opacity:1;background-size:calc(100% + 3.2em) 100%;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),opacity 0s}
@media (hover:hover){.envoi:hover .txt::after{opacity:1;background-size:calc(100% + 3.2em) 100%;transition:background-size 600ms cubic-bezier(.22,.61,.36,1),opacity 0s}}
.envoi[disabled]{cursor:default;opacity:.55}
.colonne .inscription p.erreur{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--lumiere);border-left:2px solid var(--signal);padding-left:12px}
.colonne .inscription p.info{font-family:var(--mono);font-size:11px;letter-spacing:.02em;line-height:1.7;color:var(--demi)}
.inscription .info a{color:var(--demi);text-decoration:underline;text-underline-offset:3px}
.encart{display:flex;flex-direction:column;gap:12px;margin-top:34px;padding:24px 0 10px;border-top:1px solid var(--veille);border-bottom:1px solid var(--veille)}
.encart+.conditions{border-top:0;margin-top:14px}
.colonne .encart p.encart-titre{font-family:var(--serif);font-size:24px;line-height:1.25;text-wrap:balance}
.pg .encart .fen{align-self:flex-start;font-family:var(--mono)}
.colonne p.offert{font-family:var(--mono);margin:-6px 0 0}
.colonne p.offert a{text-decoration:none}
.offert a{display:inline-flex;align-items:center;gap:10px;height:44px;font-size:12px;letter-spacing:.06em}
.offert .vitre{width:12px;height:12px}
/* L'encart du modèle de brief est un aside dans l'article : il ne suit pas la règle de la marge (position collante), il reste à sa place sous le texte. */
.pg .marge .encart{position:static;top:auto;align-self:auto;margin:34px 0 0;padding:24px 0 10px;gap:12px}

/* Lot 1 de la conversion du site (21 octobre 2026) : la ligne de la relecture, la ligne sous le bouton du modèle, ses 3 vignettes,
   le champ e-mail dans un cadre visible. */
.colonne p.relecture{font-family:var(--mono);font-size:12px;letter-spacing:.02em;line-height:1.7;color:var(--demi)}
.colonne p.relecture a{color:var(--lumiere);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--demi)}
.pg .encart p.relecture{margin:0 0 10px}
.colonne .inscription p.sous-bouton{margin-top:-12px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;line-height:1.6;color:var(--demi)}
.apercu{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px}
.apercu img{display:block;width:100%;height:auto;background:var(--facade)}
.champ input{border:1px solid var(--demi);padding:12px 14px}
.champ input:focus{border-color:var(--lumiere)}
.champ input[aria-invalid="true"]{border-color:var(--signal)}
/* La page Travaux, lot 3 de la conversion du site (21 octobre 2026) : chaque cas, son nom, avant, décision, résultat, puis les slides du carrousel en vidéos muettes. */
.cas{display:flex;flex-direction:column;gap:14px;margin-top:34px;scroll-margin-top:24px}
.pg .cas h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.2}
.faits{margin:4px 0 0;display:flex;flex-direction:column;gap:12px}
.faits div{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:baseline}
.faits dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--demi)}
.faits dd{margin:0;font-family:var(--sans);line-height:1.6}
.pieces{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.piece{margin:0}
.piece video{display:block;width:100%;height:auto;aspect-ratio:3/4;background:var(--facade)}
.cas-liens{display:flex;flex-wrap:wrap;gap:0 22px;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.colonne p.cas-liens a{display:inline-flex;align-items:center;min-height:44px;color:var(--lumiere)}
.piece video{cursor:pointer}

/* Lot 4 de la conversion, 21 octobre 2026 : le relais vers un cas de la page Travaux, après la 2e question, et le bloc auteur en fin d'article. */
.pg .suite.relais{margin:30px 0 8px}
.auteur{display:flex;flex-direction:column;gap:6px;margin-top:34px;padding-top:22px;border-top:1px solid var(--veille);scroll-margin-top:24px}
.encart+.auteur{border-top:0;padding-top:0;margin-top:26px}
.colonne .auteur p{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.04em;line-height:1.9;color:var(--demi)}
.colonne .auteur p:first-child{color:var(--lumiere)}
.colonne .auteur p.auteur-liens{display:flex;gap:22px;margin-top:6px}
.auteur-liens a{color:var(--lumiere)}
/* Correctif du 22 octobre 2026 : le bloc auteur est un aside dans l'article. Comme l'encart, il ne suit pas la règle de la marge (position collante sur ordinateur), il reste à sa place sous le texte. */
.pg .marge .auteur{position:static;top:auto;align-self:auto;margin:34px 0 20px;padding-top:22px}
.pg .marge .encart+.auteur{margin-top:26px;padding-top:0}
/* « Tranché », lancement du 22 octobre 2026 : la 2e fenêtre de la ligne du Journal, l'extrait du n° 1 sur /lettre/, le cadre de l'outil à garder. */
.colonne p.offert{display:flex;flex-wrap:wrap;column-gap:28px}
.colonne p.repere.extrait{margin-top:44px;padding-top:26px;border-top:1px solid var(--veille)}
.outil{margin-top:24px;padding:22px 22px 18px;border:1px solid var(--veille)}
.colonne .outil p.outil-titre{margin:0 0 14px;font-family:var(--serif);font-size:22px;line-height:1.25;text-wrap:balance}
.colonne .outil ol{padding-left:1.4em}
.colonne .outil li+li{margin-top:6px}
.colonne .outil p{margin-top:14px}
.colonne p.source{font-family:var(--mono);font-size:11px;letter-spacing:.02em;line-height:1.7;color:var(--demi)}
.colonne p.source a{color:var(--demi);text-decoration:underline;text-underline-offset:3px}
/* Les boutons d'action, validés par Grégory le 23 octobre 2026 : un rectangle blanc, le carré et le texte noirs, toujours sur une ligne.
   Au survol, un trait noir se trace sous le texte de gauche à droite. Au clic, le blanc s'efface : le tour du rectangle et le carré passent au rouge,
   le texte au blanc, jusqu'à la page suivante (classe « clique », posée par pages.js). Concernés : l'envoi de /lettre/ et de /brief/,
   « Recevoir le modèle » (articles et Offre), « Parler de ce projet » (Offre), les 2 boutons de la Messagerie. Les liens de navigation ne changent pas. */
.pg .inscription button.envoi,.pg a.fen[data-geste="brief-encart"],.pg a.fen[data-geste="brief-offre"],.pg a.fen[data-geste="porte-messagerie"],.pg a.fen[data-geste="messagerie-whatsapp"],.pg a.fen[data-geste="messagerie-rdv"]{display:inline-flex;align-items:center;align-self:flex-start;gap:14px;position:relative;width:auto;height:auto;min-height:52px;margin-top:6px;padding:0 24px 0 20px;background:var(--lumiere);color:var(--eteint);border:2px solid var(--lumiere);border-radius:0;font-family:var(--mono);font-size:13px;letter-spacing:.04em;white-space:nowrap;cursor:pointer;opacity:1;outline:2px solid transparent;outline-offset:4px;transition:background-color 120ms linear,border-color 120ms linear,color 120ms linear}
.pg .inscription button.envoi .vitre,.pg a.fen[data-geste="brief-encart"] .vitre,.pg a.fen[data-geste="brief-offre"] .vitre,.pg a.fen[data-geste="porte-messagerie"] .vitre,.pg a.fen[data-geste="messagerie-whatsapp"] .vitre,.pg a.fen[data-geste="messagerie-rdv"] .vitre{position:static;flex:none;width:12px;height:12px;margin:0;background:var(--eteint);transition:background-color 120ms linear}
.pg .inscription button.envoi .txt,.pg a.fen[data-geste="brief-encart"] .txt,.pg a.fen[data-geste="brief-offre"] .txt,.pg a.fen[data-geste="porte-messagerie"] .txt,.pg a.fen[data-geste="messagerie-whatsapp"] .txt,.pg a.fen[data-geste="messagerie-rdv"] .txt{position:relative;white-space:nowrap;padding:0;background:none}
.pg .inscription button.envoi .txt::after,.pg a.fen[data-geste="brief-encart"] .txt::after,.pg a.fen[data-geste="brief-offre"] .txt::after,.pg a.fen[data-geste="porte-messagerie"] .txt::after,.pg a.fen[data-geste="messagerie-whatsapp"] .txt::after,.pg a.fen[data-geste="messagerie-rdv"] .txt::after{content:"";display:block;position:absolute;left:0;right:0;top:calc(100% + 4px);height:1px;opacity:1;background:var(--eteint);transform:scaleX(0);transform-origin:left;transition:transform 600ms cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.pg .inscription button.envoi:hover .txt::after,.pg a.fen[data-geste="brief-encart"]:hover .txt::after,.pg a.fen[data-geste="brief-offre"]:hover .txt::after,.pg a.fen[data-geste="porte-messagerie"]:hover .txt::after,.pg a.fen[data-geste="messagerie-whatsapp"]:hover .txt::after,.pg a.fen[data-geste="messagerie-rdv"]:hover .txt::after{transform:scaleX(1)}}
.pg .inscription button.envoi:focus-visible,.pg a.fen[data-geste="brief-encart"]:focus-visible,.pg a.fen[data-geste="brief-offre"]:focus-visible,.pg a.fen[data-geste="porte-messagerie"]:focus-visible,.pg a.fen[data-geste="messagerie-whatsapp"]:focus-visible,.pg a.fen[data-geste="messagerie-rdv"]:focus-visible{outline-color:var(--lumiere)}
.pg .inscription button.envoi:focus-visible .txt::after,.pg a.fen[data-geste="brief-encart"]:focus-visible .txt::after,.pg a.fen[data-geste="brief-offre"]:focus-visible .txt::after,.pg a.fen[data-geste="porte-messagerie"]:focus-visible .txt::after,.pg a.fen[data-geste="messagerie-whatsapp"]:focus-visible .txt::after,.pg a.fen[data-geste="messagerie-rdv"]:focus-visible .txt::after{transform:scaleX(1)}
.pg .inscription button.envoi:active,.pg a.fen[data-geste="brief-encart"]:active,.pg a.fen[data-geste="brief-offre"]:active,.pg a.fen[data-geste="porte-messagerie"]:active,.pg a.fen[data-geste="messagerie-whatsapp"]:active,.pg a.fen[data-geste="messagerie-rdv"]:active,.pg .inscription button.envoi.clique,.pg a.fen[data-geste="brief-encart"].clique,.pg a.fen[data-geste="brief-offre"].clique,.pg a.fen[data-geste="porte-messagerie"].clique,.pg a.fen[data-geste="messagerie-whatsapp"].clique,.pg a.fen[data-geste="messagerie-rdv"].clique{background:transparent;border-color:var(--signal);color:var(--lumiere)}
.pg .inscription button.envoi:active .vitre,.pg a.fen[data-geste="brief-encart"]:active .vitre,.pg a.fen[data-geste="brief-offre"]:active .vitre,.pg a.fen[data-geste="porte-messagerie"]:active .vitre,.pg a.fen[data-geste="messagerie-whatsapp"]:active .vitre,.pg a.fen[data-geste="messagerie-rdv"]:active .vitre,.pg .inscription button.envoi.clique .vitre,.pg a.fen[data-geste="brief-encart"].clique .vitre,.pg a.fen[data-geste="brief-offre"].clique .vitre,.pg a.fen[data-geste="porte-messagerie"].clique .vitre,.pg a.fen[data-geste="messagerie-whatsapp"].clique .vitre,.pg a.fen[data-geste="messagerie-rdv"].clique .vitre{background:var(--signal)}
.pg .inscription button.envoi.clique .txt::after,.pg a.fen[data-geste="brief-encart"].clique .txt::after,.pg a.fen[data-geste="brief-offre"].clique .txt::after,.pg a.fen[data-geste="porte-messagerie"].clique .txt::after,.pg a.fen[data-geste="messagerie-whatsapp"].clique .txt::after,.pg a.fen[data-geste="messagerie-rdv"].clique .txt::after{transform:scaleX(0)}
.pg .inscription button.envoi[disabled]{cursor:default;opacity:1}
@media (min-width:700px){.pg .inscription button.envoi,.pg a.fen[data-geste="brief-encart"],.pg a.fen[data-geste="brief-offre"],.pg a.fen[data-geste="porte-messagerie"],.pg a.fen[data-geste="messagerie-whatsapp"],.pg a.fen[data-geste="messagerie-rdv"]{min-height:56px;padding:0 26px 0 22px;font-size:14px}.pg .inscription button.envoi .vitre,.pg a.fen[data-geste="brief-encart"] .vitre,.pg a.fen[data-geste="brief-offre"] .vitre,.pg a.fen[data-geste="porte-messagerie"] .vitre,.pg a.fen[data-geste="messagerie-whatsapp"] .vitre,.pg a.fen[data-geste="messagerie-rdv"] .vitre{width:14px;height:14px}}
@media (prefers-reduced-motion:reduce){.pg .inscription button.envoi .txt::after,.pg a.fen[data-geste="brief-encart"] .txt::after,.pg a.fen[data-geste="brief-offre"] .txt::after,.pg a.fen[data-geste="porte-messagerie"] .txt::after,.pg a.fen[data-geste="messagerie-whatsapp"] .txt::after,.pg a.fen[data-geste="messagerie-rdv"] .txt::after{transition:none}}
/* La page « Le studio » (26 octobre 2026). Le manifeste, piste B de Grégory : un paragraphe à part, entre guillemets, un filet gris à gauche. */
.studio .manifeste-studio{display:flex;flex-direction:column;gap:22px;margin:34px 0}
.studio .manifeste-studio h2.repere{font-family:var(--mono);font-weight:400}
.studio .manifeste-studio blockquote{display:flex;flex-direction:column;gap:14px;margin:0;padding-left:24px;border-left:2px solid var(--veille)}
.studio .manifeste-studio p.t{font-family:var(--serif);font-size:22px;line-height:1.25}
.studio .manifeste-studio .g{font-family:var(--sans)}
