/*
Theme Name: Society & Organizations — Quotidien
Description: Thème code pur du journal Society & Organizations (05/10/2026). Papier teinté, une de quotidien, Business au premier plan. Blocs figés généralistes dans /blocs.
Version: 1.0.0
Text Domain: soq
*/

/* ===================================================================== jetons */
:root {
	--papier: #FBEBDD;
	--ble: #F3DCC8;
	--ble-fonce: #EACBB0;
	--encre: #2B2622;
	--doux: #625B56;
	--filet: #DEC6B0;
	--bordeaux: #8E1B3A;
	--petrole: #0B5F68;
	--nuit: #1F2A36;
	--saumon: #F2A98B;
	--f-titre: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
	--f-texte: "Libre Caslon Text", Georgia, "Times New Roman", serif;
	--f-ui: "Geologica", "Helvetica Neue", Arial, sans-serif;
	--rayon: 8px;
	--ombre: 0 1px 2px rgba(43,38,34,.08), 0 10px 28px -12px rgba(43,38,34,.30);
	--ombre-haute: 0 2px 6px rgba(43,38,34,.10), 0 26px 50px -22px rgba(43,38,34,.55);

	/* habillage des blocs figés */
	--sb-fond: var(--papier);
	--sb-encre: var(--encre);
	--sb-doux: var(--doux);
	--sb-filet: var(--filet);
	--sb-accent: var(--bordeaux);
	--sb-accent-fort: #6E1229;
	--sb-accent-2: var(--petrole);
	--sb-surf: #F6E1CE;
	--sb-surf2: #EFD2BA;
	--sb-rayon: 8px;
	--sb-ombre: 0 1px 2px rgba(43,38,34,.07), 0 6px 18px -8px rgba(43,38,34,.25);
	--sb-ombre-haut: var(--ombre-haute);
	--sb-titre: "Geologica", "Helvetica Neue", Arial, sans-serif;
	--sb-lecture: "Libre Caslon Text", Georgia, serif;
	--sb-aside-largeur: 300px;
	--sb-haut-collant: 120px;
	--sb-faq-largeur: 780px;
}
/* le site est en mode clair uniquement : les blocs reprennent les valeurs claires */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) { --sb-fond: #FBEBDD; --sb-encre: #2B2622; --sb-doux: #625B56; --sb-filet: #DEC6B0; --sb-surf: #F6E1CE; --sb-surf2: #EFD2BA; color-scheme: light; }
}
:root[data-theme="dark"] { --sb-fond: #FBEBDD; --sb-encre: #2B2622; --sb-doux: #625B56; --sb-filet: #DEC6B0; --sb-surf: #F6E1CE; --sb-surf2: #EFD2BA; }

/* ===================================================================== base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 130px; }
body { margin: 0; background: var(--papier); color: var(--encre); font: 400 16px/1.55 var(--f-ui); overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--petrole); }
:focus-visible { outline: 3px solid var(--petrole); outline-offset: 2px; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.soq-saut { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--encre); color: var(--papier); padding: 10px 14px; }
.soq-saut:focus { top: 8px; }
.soq-cadre, .sb-cadre { width: min(1280px, 100% - 32px); margin-inline: auto; }

/* ===================================================================== bandeau « En continu » */
.soq-continu { background: var(--nuit); color: #F4E3D4; font: 500 13px/1 var(--f-ui); }
.soq-continu-in { display: flex; align-items: center; gap: 18px; height: 40px; }
.soq-continu-pastille { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; background: var(--bordeaux); color: #fff; padding: 7px 12px; border-radius: 999px; font-weight: 600; letter-spacing: .01em; }
.soq-point { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: soq-pouls 1.6s ease-in-out infinite; }
@keyframes soq-pouls { 50% { opacity: .25; } }
.soq-continu-defile { flex: 1 1 auto; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.soq-continu-defile ul { display: flex; width: max-content; gap: 36px; animation: soq-defile 70s linear infinite; }
.soq-continu-defile:hover ul, .soq-continu-defile:focus-within ul { animation-play-state: paused; }
.soq-continu-defile li { display: flex; gap: 10px; white-space: nowrap; }
.soq-continu-defile time { color: var(--saumon); font-variant-numeric: tabular-nums; }
.soq-continu-defile a:hover { color: #fff; text-decoration: underline; }
@keyframes soq-defile { to { transform: translateX(-50%); } }
.soq-continu-maj { flex: 0 0 auto; color: #C9B8AA; }

/* ===================================================================== en-tête */
.soq-tete { position: sticky; top: 0; z-index: 50; background: var(--papier); border-bottom: 1px solid var(--filet); transition: box-shadow .25s; }
.soq-tete.is-pose { box-shadow: 0 6px 18px -12px rgba(43,38,34,.45); }
.soq-tete-haut { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding-block: 16px 14px; }
.soq-date { font: 500 13.5px/1.3 var(--f-ui); color: var(--doux); }
.soq-logo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.soq-logo-embleme { width: 46px; height: 46px; flex: 0 0 auto; transition: width .25s, height .25s; }
.soq-logo-mot { height: 40px; width: 295px; max-width: 100%; transition: height .25s, width .25s; }
.soq-tete.is-pose .soq-logo-embleme { width: 36px; height: 36px; }
.soq-tete.is-pose .soq-logo-mot { height: 32px; width: 236px; }
.soq-tete-outils { display: flex; justify-content: flex-end; align-items: center; gap: 14px; }
.soq-cherche { display: flex; align-items: center; background: #fff8f2; border: 1px solid var(--filet); border-radius: 999px; padding-left: 14px; }
.soq-cherche input { border: 0; background: transparent; width: 150px; height: 38px; font-size: 14px; outline: none; }
.soq-cherche button { border: 0; background: transparent; width: 40px; height: 38px; display: grid; place-items: center; cursor: pointer; }
.soq-cherche svg { width: 18px; height: 18px; fill: none; stroke: var(--encre); stroke-width: 2; stroke-linecap: round; }
.soq-tete-contact { font: 600 13.5px/1 var(--f-ui); background: var(--encre); color: var(--papier); padding: 12px 16px; border-radius: 4px; white-space: nowrap; }
.soq-tete-contact:hover { background: var(--bordeaux); color: #fff; }
.soq-burger { display: none; }
.soq-nav { border-top: 1px solid var(--filet); }
.soq-nav ul { display: flex; justify-content: center; gap: clamp(16px, 2.4vw, 34px); }
.soq-nav a { display: block; padding: 13px 0 11px; font: 600 12.5px/1 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; border-bottom: 3px solid transparent; white-space: nowrap; }
.soq-nav a:hover { color: var(--encre); border-bottom-color: var(--rub, var(--encre)); }
.soq-nav a[aria-current="page"] { border-bottom-color: var(--rub, var(--petrole)); color: var(--encre); }

/* ===================================================================== titres de section : filet noir épais + segment de rubrique */
.soq-sec-tete { position: relative; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; border-top: 7px solid var(--encre); padding-top: 12px; margin-bottom: 22px; }
.soq-sec-tete::before { content: ""; position: absolute; left: 0; top: -7px; width: 64px; height: 7px; background: var(--rub, var(--bordeaux)); }
.soq-sec-titre { font: 400 30px/1.1 var(--f-titre); letter-spacing: -.005em; }
.soq-sec-tete--etroit { margin-bottom: 14px; }
.soq-sec-tete--etroit .soq-sec-titre { font-size: 24px; }
.soq-sec-compte { font: 500 13px/1.2 var(--f-ui); color: var(--doux); }
.soq-sec-lien { margin-left: auto; font: 600 13.5px/1.2 var(--f-ui); color: var(--petrole); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.soq-sec-tete--clair { border-top-color: #F4E3D4; }
.soq-sec-tete--clair .soq-sec-compte { color: #C9B8AA; }

/* ===================================================================== étiquettes */
.soq-tag { display: inline-flex; align-items: center; gap: 7px; font: 600 13px/1.2 var(--f-ui); color: var(--rub, var(--bordeaux)); margin-bottom: 8px; }
.soq-tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.soq-tag:hover { color: var(--encre); }
.soq-tag--mini { font-size: 12px; margin-bottom: 4px; }
.soq-tag--clair { color: var(--saumon); }
.soq-statut { display: inline-block; font: 700 11.5px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--bordeaux); padding: 6px 9px; border-radius: 3px; margin-bottom: 12px; }

/* ===================================================================== cartes */
.soq-carte { display: flex; flex-direction: column; min-width: 0; }
.soq-carte-photo { display: block; overflow: hidden; border-radius: var(--rayon); box-shadow: var(--ombre); background: var(--ble); }
.soq-carte-photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.soq-carte:hover .soq-carte-photo img { transform: scale(1.035); }
/* l'étiquette passe à cheval sur le bas de la photo */
.soq-carte-photo + .soq-carte-texte .soq-tag { position: relative; margin-top: -15px; margin-left: 12px; padding: 6px 11px 5px; background: var(--fond-carte, var(--papier)); border-radius: 999px; box-shadow: 0 4px 12px -6px rgba(43,38,34,.45); }
.soq-carte-texte { padding-top: 10px; }
.soq-carte-titre { font: 400 21px/1.22 var(--f-texte); letter-spacing: -.005em; }
.soq-carte-titre a:hover { color: var(--petrole); }
.soq-carte-chapo { margin-top: 8px; color: var(--doux); font-size: 15px; line-height: 1.5; }
.soq-carte-meta { margin-top: 10px; font: 500 12.5px/1.3 var(--f-ui); color: var(--doux); }
.soq-carte-meta span { color: var(--filet); margin-inline: 4px; }

.soq-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 4px; border: 0; background: var(--bordeaux); color: #fff; font: 600 15px/1 var(--f-ui); cursor: pointer; transition: background .2s, transform .2s; }
.soq-bouton:hover { background: #6E1229; color: #fff; transform: translateY(-1px); }
.soq-bouton--clair { background: var(--papier); color: var(--bordeaux); }
.soq-bouton--clair:hover { background: #fff; color: var(--bordeaux); }
.soq-bouton--ligne { background: transparent; color: var(--encre); border: 1.5px solid var(--encre); }
.soq-bouton--ligne:hover { background: var(--encre); color: var(--papier); }

/* ===================================================================== bandes */
.soq-bande { padding-block: 44px; }
.soq-bande--ble { background: var(--ble); --fond-carte: var(--ble); }
.soq-bande--nuit { background: var(--nuit); color: #F4E3D4; }

/* ===================================================================== UNE */
.soq-une { display: grid; grid-template-columns: minmax(0, 7.3fr) minmax(0, 2.6fr) minmax(0, 2.9fr); gap: 30px; padding-block: 26px 46px; align-items: start; }
.soq-une-grand { position: relative; }
.soq-une-photo { display: block; border-radius: 10px; overflow: hidden; box-shadow: var(--ombre); }
.soq-une-photo img { width: 100%; aspect-ratio: 16 / 10; max-height: 470px; object-fit: cover; }
.soq-une-carte { position: relative; margin: -132px 44px 0 28px; background: var(--ble); border-top: 6px solid var(--rub); border-radius: 0 0 8px 8px; padding: 22px 28px 22px; box-shadow: var(--ombre-haute); }
.soq-une-carte .soq-tag { margin-bottom: 10px; }
.soq-une-titre { font: 400 clamp(30px, 3vw, 44px)/1.08 var(--f-titre); letter-spacing: -.012em; text-wrap: balance; }
.soq-une-titre a:hover { color: var(--bordeaux); }
.soq-une-chapo { margin-top: 12px; font-size: 16.5px; line-height: 1.5; color: var(--doux); max-width: 46em; }
.soq-une-auteur { display: flex; align-items: center; gap: 12px; margin-top: 16px; font: 400 13.5px/1.35 var(--f-ui); color: var(--doux); }
.soq-une-auteur strong { color: var(--encre); font-weight: 600; margin-right: 6px; }
.soq-une-auteur .sb-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--ble), 0 0 0 3.5px var(--rub); }
.soq-une-sec { display: grid; gap: 26px; }
.soq-carte--sec .soq-carte-titre { font-size: 19px; }
.soq-minute-fil { position: relative; }
.soq-minute-fil::before { content: ""; position: absolute; left: 51px; top: 6px; bottom: 6px; width: 1px; background: var(--filet); }
.soq-minute-fil li { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 9px 0 10px; border-bottom: 1px solid var(--filet); }
.soq-minute-fil li:last-child { border-bottom: 0; }
.soq-minute-fil li::before { content: ""; position: absolute; left: 48px; top: 15px; width: 7px; height: 7px; border-radius: 50%; background: var(--papier); border: 1.5px solid var(--bordeaux); }
.soq-minute-fil time { font: 600 12.5px/1.6 var(--f-ui); color: var(--bordeaux); font-variant-numeric: tabular-nums; }
.soq-minute-fil a:not(.soq-tag) { display: block; font: 400 15.5px/1.3 var(--f-texte); }

/* ===================================================================== Business & Tech */
.soq-biz { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1.2fr) minmax(0, .95fr); gap: 34px; align-items: start; }
.soq-biz-photo { display: block; border-radius: var(--rayon); overflow: hidden; box-shadow: var(--ombre); margin-bottom: 14px; }
.soq-biz-photo img { width: 100%; aspect-ratio: 16 / 9.5; object-fit: cover; }
.soq-biz-titre { font: 400 30px/1.12 var(--f-titre); letter-spacing: -.01em; text-wrap: balance; }
.soq-biz-liste li { display: grid; grid-template-columns: 104px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--ble-fonce); }
.soq-biz-liste li:first-child { padding-top: 0; }
.soq-biz-vign, .soq-breves-vign, .soq-fil-vign { display: block; border-radius: 6px; overflow: hidden; }
.soq-biz-vign img, .soq-breves-vign img, .soq-fil-vign img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.soq-sur { display: block; font: 600 12px/1.4 var(--f-ui); color: var(--bordeaux); margin-bottom: 3px; }
.soq-biz-liste a:not(.soq-biz-vign) { font: 400 17px/1.3 var(--f-texte); }
.soq-reco { background: var(--papier); border-radius: var(--rayon); padding: 18px 18px 6px; box-shadow: var(--ombre); }
.soq-reco .soq-sec-tete::before { background: var(--encre); width: 100%; }
.soq-reco-item { display: grid; grid-template-columns: 84px 1fr; gap: 12px; padding: 0 0 14px; margin-bottom: 14px; border-bottom: 1px solid var(--filet); }
.soq-reco-item:last-child { border-bottom: 0; margin-bottom: 0; }
.soq-reco-item img { border-radius: 5px; aspect-ratio: 1; object-fit: cover; width: 84px; }
.soq-reco-item h3 { font: 400 15.5px/1.3 var(--f-texte); }

/* ===================================================================== sélection numérotée */
.soq-sel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 26px; counter-reset: s; }
.soq-sel li { position: relative; padding-top: 6px; border-left: 1px solid rgba(244,227,212,.18); padding-left: 18px; }
.soq-sel li:first-child { border-left: 0; padding-left: 0; }
.soq-sel-num { display: block; font: 400 68px/.9 var(--f-titre); color: var(--saumon); margin-bottom: 14px; }
.soq-sel-photo { display: block; border-radius: 6px; overflow: hidden; margin-bottom: 12px; }
.soq-sel-photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; opacity: .92; }
.soq-sel h3 { font: 400 18px/1.28 var(--f-texte); color: #FBEFE5; }
.soq-sel h3 a:hover { color: var(--saumon); }

/* ===================================================================== Maison | Santé */
.soq-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; position: relative; }
.soq-duo::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--filet); }
.soq-carte--duo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom: 20px; }
.soq-carte--duo .soq-carte-photo img { aspect-ratio: 4 / 3; }
.soq-carte--duo .soq-carte-texte { padding-top: 0; }
.soq-carte--duo .soq-carte-photo + .soq-carte-texte .soq-tag { margin: 0 0 8px; padding: 0; background: none; box-shadow: none; }
.soq-carte--duo .soq-carte-titre { font: 400 25px/1.15 var(--f-titre); }
.soq-breves { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; border-top: 1px solid var(--filet); padding-top: 16px; }
.soq-breves li { display: flex; flex-direction: column; gap: 9px; }
.soq-breves li a:not(.soq-breves-vign) { font: 400 15.5px/1.3 var(--f-texte); }
.soq-breves--serre { grid-template-columns: 1fr; gap: 12px; }
.soq-breves--serre li { display: grid; grid-template-columns: 92px 1fr; gap: 12px; align-items: start; }

/* ===================================================================== grand format */
.soq-grand { margin-top: 44px; }
.soq-appel { margin-top: 44px; }
.soq-grand-lien { position: relative; display: block; background: var(--nuit); min-height: clamp(420px, 62vh, 580px); color: #fff; overflow: hidden; }
.soq-grand-lien img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.soq-grand-lien:hover img { transform: scale(1.03); }
.soq-grand-lien:hover { color: #fff; }
.soq-grand-voile { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,24,30,.86) 0%, rgba(20,24,30,.55) 42%, rgba(20,24,30,0) 75%); }
.soq-grand-texte { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: clamp(420px, 62vh, 580px); padding-block: 54px; }
.soq-grand-sur { font: 600 13px/1 var(--f-ui); color: var(--saumon); margin-bottom: 14px; }
.soq-grand-titre { display: block; max-width: 760px; font: 400 clamp(32px, 3.6vw, 54px)/1.06 var(--f-titre); text-wrap: balance; }
.soq-grand-chapo { display: block; max-width: 620px; margin: 14px 0 22px; font-size: 17px; line-height: 1.5; color: #EADBD0; }

/* ===================================================================== Mode, Auto, Loisirs */
.soq-trio { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 36px; }
.soq-carte--trio { margin-bottom: 16px; }
.soq-carte--trio .soq-carte-photo img { aspect-ratio: 16 / 9; }
.soq-carte--trio .soq-carte-titre { font: 400 23px/1.16 var(--f-titre); }
.soq-trio .soq-breves { border-top-color: var(--ble-fonce); }

/* ===================================================================== fil daté */
.soq-fil-grille { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.soq-fil li { display: grid; grid-template-columns: 120px 150px minmax(0, 1fr); gap: 22px; padding: 16px 0; border-bottom: 1px solid var(--filet); }
.soq-fil li:first-child { padding-top: 0; }
.soq-fil-date { font: 600 12.5px/1.4 var(--f-ui); color: var(--doux); text-transform: uppercase; letter-spacing: .04em; }
.soq-fil h3 { font: 400 20px/1.25 var(--f-texte); }
.soq-fil p { margin-top: 6px; color: var(--doux); font-size: 14.5px; line-height: 1.5; }
.soq-fil li > div { min-width: 0; }
.soq-fil li:not(:has(.soq-fil-vign)) { grid-template-columns: 120px minmax(0, 1fr); }
.soq-rubindex ul { display: grid; gap: 2px; }
.soq-rubindex a { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-left: 4px solid var(--rub); background: #FFF6EE; font: 500 15px/1.2 var(--f-ui); border-radius: 0 6px 6px 0; transition: background .2s; }
.soq-rubindex a:hover { background: var(--ble); color: var(--encre); }
.soq-rubindex em { font-style: normal; font-weight: 700; color: var(--rub); font-variant-numeric: tabular-nums; }
.soq-fil-cote { position: sticky; top: 130px; }

/* ===================================================================== appel rédaction */
.soq-appel { background: var(--bordeaux); color: #FBEFE5; }
.soq-appel-in { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; padding-block: 38px; }
.soq-appel-emblem { width: 62px; height: 72px; color: var(--saumon); }
.soq-appel h2 { font: 400 32px/1.1 var(--f-titre); color: #fff; }
.soq-appel p { margin-top: 6px; max-width: 640px; color: #F3D7CB; }

/* ===================================================================== ARTICLE — en-tête */
.soq-entete-bande { background: var(--ble); padding-block: 26px 120px; position: relative; }
.soq-entete-bande::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 7px; background: linear-gradient(90deg, var(--rub) 0 140px, var(--encre) 140px); }
.soq-entete--sans-photo .soq-entete-bande { padding-bottom: 36px; }
.soq-entete-texte { max-width: 920px; }
.soq-ariane { display: flex; flex-wrap: wrap; gap: 8px; font: 500 13px/1.4 var(--f-ui); color: var(--doux); margin-bottom: 14px; }
.soq-ariane a { color: var(--rub, var(--petrole)); font-weight: 600; }
.soq-ariane--clair { color: #C9B8AA; }
.soq-ariane--clair a { color: var(--saumon); }
.soq-entete-titre { font: 400 clamp(34px, 3.7vw, 56px)/1.06 var(--f-titre); letter-spacing: -.014em; text-wrap: balance; }
.soq-entete-chapo { margin-top: 16px; font: 400 clamp(17px, 1.3vw, 19.5px)/1.5 var(--f-ui); color: var(--doux); max-width: 46em; }
.soq-entete-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 22px; }
.soq-entete-auteur { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; }
.soq-entete-auteur .sb-avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--ble), 0 0 0 4.5px var(--rub); }
.soq-entete-auteur span { display: flex; flex-direction: column; font: 400 13px/1.35 var(--f-ui); color: var(--doux); }
.soq-entete-auteur strong { font-weight: 600; font-size: 15px; color: var(--encre); }
.soq-entete-auteur em { font-style: normal; }
.soq-entete-infos { display: flex; flex-wrap: wrap; gap: 4px 18px; font: 500 13px/1.4 var(--f-ui); color: var(--doux); }
.soq-entete-photo-cadre { margin-top: -96px; position: relative; z-index: 1; }
.soq-entete-figure { position: relative; margin: 0; max-width: calc(100% - var(--sb-aside-largeur) - 48px); }
.soq-entete-figure::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; background: var(--rub); border-radius: 10px; opacity: .9; z-index: -1; }
.soq-entete-figure img { width: 100%; aspect-ratio: 16 / 9; max-height: min(520px, 58vh); object-fit: cover; border-radius: 10px; box-shadow: var(--ombre-haute); }
.soq-entete-figure figcaption { margin-top: 26px; font: 400 12.5px/1.4 var(--f-ui); color: var(--doux); }
.soq-article-cadre .sb-art-corps { margin-top: 40px; }

/* corps d'article : lecture */
.sb-texte { font: 400 18.5px/1.72 var(--f-texte); }
.sb-texte > p, .sb-texte > ul, .sb-texte > ol { margin: 0 0 1.05em; }
.sb-texte > p:first-child::first-letter { float: left; font: 400 4.1em/.82 var(--f-titre); color: var(--rub, var(--bordeaux)); margin: .06em .1em 0 0; }
.sb-texte h2 { font: 400 31px/1.15 var(--f-titre); margin: 1.5em 0 .55em; letter-spacing: -.008em; scroll-margin-top: 130px; }
.sb-texte h3 { font: 600 20px/1.3 var(--f-ui); margin: 1.3em 0 .45em; }
.sb-texte a:not([class]) { color: var(--petrole); text-decoration: underline; text-underline-offset: 3px; }
.sb-texte img { border-radius: 8px; }
.sb-texte blockquote { margin: 1.4em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--rub, var(--bordeaux)); font: 400 23px/1.4 var(--f-titre); }
.soq-encart { background: var(--nuit); color: #F4E3D4; border-radius: var(--rayon); padding: 22px 20px; box-shadow: var(--ombre); }
.soq-encart-sur { font: 600 12.5px/1 var(--f-ui); color: var(--saumon); margin-bottom: 10px; }
.soq-encart-titre { font: 400 22px/1.2 var(--f-titre); color: #fff; margin-bottom: 8px; }
.soq-encart p:not([class]) { font-size: 14.5px; color: #D9C8BA; margin-bottom: 16px; }
.soq-encart .soq-bouton { width: 100%; background: var(--saumon); color: var(--nuit); }
.soq-encart .soq-bouton:hover { background: #fff; color: var(--nuit); }

/* suite de lecture */
.soq-suite { background: var(--ble); --fond-carte: var(--ble); padding-block: 44px 52px; margin-top: 56px; }
.soq-grille-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.soq-grille-4 .soq-carte-titre { font-size: 18.5px; }

/* ===================================================================== RUBRIQUE */
.soq-rub-tete { background: var(--ble); position: relative; }
.soq-rub-tete::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 7px; background: linear-gradient(90deg, var(--rub) 0 30%, var(--encre) 30%); }
.soq-rub-tete-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; padding-block: 30px 22px; }
.soq-rub-titre { font: 400 clamp(40px, 4.6vw, 70px)/1 var(--f-titre); letter-spacing: -.02em; }
.soq-rub-chapo { margin-top: 12px; font-size: 17.5px; line-height: 1.5; color: var(--doux); max-width: 44em; }
.soq-rub-chiffres { display: flex; gap: 14px; margin: 0; }
.soq-rub-chiffres div { background: var(--papier); border-radius: var(--rayon); padding: 14px 18px 12px; min-width: 128px; box-shadow: var(--ombre); border-top: 4px solid var(--rub, var(--bordeaux)); }
.soq-rub-chiffres dd { margin: 0; font: 700 40px/1 var(--f-ui); color: var(--rub, var(--bordeaux)); font-variant-numeric: tabular-nums; order: -1; }
.soq-rub-chiffres div { display: flex; flex-direction: column; gap: 4px; }
.soq-rub-chiffres dt { font: 500 13px/1.2 var(--f-ui); color: var(--doux); }
.soq-rub-autres { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 0 26px; }
.soq-rub-autres a { font: 600 13px/1 var(--f-ui); padding: 9px 14px; border-radius: 999px; border: 1px solid var(--ble-fonce); background: rgba(255,248,242,.7); }
.soq-rub-autres a:hover { border-color: var(--rub); color: var(--encre); }
.soq-rub-autres a[aria-current="page"] { background: var(--rub); border-color: var(--rub); color: #fff; }
.soq-rub-une-grille { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; padding-block: 36px 20px; align-items: start; }
.soq-rub-une { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; background: color-mix(in srgb, var(--rub) 9%, var(--papier)); border-radius: 10px; padding: 30px 0 30px 32px; margin-right: 36px; box-shadow: var(--ombre); }
.soq-rub-une-texte { padding-right: 28px; }
.soq-rub-une-titre { font: 400 clamp(28px, 2.6vw, 40px)/1.1 var(--f-titre); text-wrap: balance; }
.soq-rub-une-chapo { margin-top: 12px; color: var(--doux); font-size: 16px; line-height: 1.5; }
.soq-rub-une-photo { display: block; margin-right: -36px; border-radius: 10px; overflow: hidden; box-shadow: var(--ombre-haute); }
.soq-rub-une-photo img { width: 100%; aspect-ratio: 4 / 3; max-height: clamp(300px, 100vh - 260px, 440px); object-fit: cover; }
.soq-reco--rub { background: transparent; box-shadow: none; padding: 0; }
.soq-reco--rub .soq-sec-tete::before { width: 64px; background: var(--rub); }
.soq-rub-fil { padding-block: 26px 56px; max-width: 980px; }
.soq-plus { margin-top: 30px; }
.soq-liste-tete { padding-block: 30px 18px; }
.soq-liste-compte { margin-top: 10px; color: var(--doux); }
.soq-vide { padding: 30px 0; color: var(--doux); }
.soq-cherche--grand { margin-top: 18px; max-width: 620px; padding: 5px 5px 5px 18px; background: #fff8f2; }
.soq-cherche--grand input { width: 100%; height: 46px; font-size: 16px; }
.soq-cherche--grand .soq-bouton { min-height: 46px; border-radius: 999px; }

/* auteur */
.soq-auteur-tete { background: var(--ble); }
.soq-auteur-tete-in { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 34px; align-items: center; padding-block: 34px; }
.soq-auteur-photo .sb-avatar { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 5px var(--papier), 0 0 0 7px var(--bordeaux), var(--ombre-haute); }
.soq-auteur-role { margin-top: 8px; font: 600 14px/1.3 var(--f-ui); color: var(--bordeaux); }

/* pages annexes */
.soq-page-tete { background: var(--ble); position: relative; }
.soq-page-tete::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 7px; background: linear-gradient(90deg, var(--bordeaux) 0 120px, var(--encre) 120px); }
.soq-page-tete-in { padding-block: 30px 34px; }
.soq-page-maj { margin-top: 12px; font: 500 13px/1.3 var(--f-ui); color: var(--doux); }
.soq-page-corps { padding-block: 40px 64px; }
.soq-page-texte { max-width: 780px; background: #FFF6EE; border-radius: 10px; padding: clamp(22px, 4vw, 44px); box-shadow: var(--ombre); }
.soq-page-texte h2 { font-size: 26px; margin-top: 1.2em; }
.soq-page-texte h2:first-child { margin-top: 0; }
.soq-page-texte > p:first-child::first-letter { float: none; font: inherit; color: inherit; margin: 0; }

/* contact */
.soq-contact-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; padding-block: 40px 64px; align-items: start; }
.soq-contact-carte { background: #FFF6EE; border-radius: 10px; padding: clamp(20px, 3vw, 36px); box-shadow: var(--ombre-haute); border-top: 6px solid var(--bordeaux); }
.soq-contact-bloc { padding: 18px 0; border-top: 1px solid var(--filet); }
.soq-contact-bloc:first-child { border-top: 7px solid var(--encre); }
.soq-contact-bloc h2 { font: 400 22px/1.2 var(--f-titre); margin-bottom: 6px; }
.soq-contact-bloc p { color: var(--doux); }
.soq-contact-bloc a { color: var(--petrole); font-weight: 600; word-break: break-word; }
.soq-form p { margin-bottom: 16px; }
.soq-form label { display: block; font: 600 14px/1.3 var(--f-ui); margin-bottom: 6px; }
.soq-form input, .soq-form select, .soq-form textarea { width: 100%; min-height: 48px; padding: 11px 14px; border: 1.5px solid var(--filet); border-radius: 6px; background: #fff; font-size: 16px; }
.soq-form input:focus, .soq-form select:focus, .soq-form textarea:focus { border-color: var(--petrole); outline: none; box-shadow: 0 0 0 3px rgba(14,110,120,.18); }
.soq-form-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.soq-form-pied { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.soq-form-pied span { font-size: 13px; color: var(--doux); }
.soq-form-ok { background: #E3F1EE; border-left: 4px solid var(--petrole); padding: 12px 14px; border-radius: 4px; }
.soq-piege { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* à propos */
.soq-apropos-tete { background: var(--nuit); color: #F4E3D4; position: relative; overflow: hidden; }
.soq-apropos-tete-in { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-block: 48px 56px; }
.soq-apropos-titre { font: 400 clamp(36px, 4.2vw, 62px)/1.04 var(--f-titre); color: #fff; text-wrap: balance; }
.soq-apropos-chapo { margin-top: 18px; font-size: 18px; line-height: 1.55; color: #D9C8BA; max-width: 40em; }
.soq-apropos-embleme { justify-self: center; display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--saumon); text-align: center; font: 400 26px/1.1 var(--f-titre); }
.soq-apropos-embleme .soq-emblem { width: clamp(120px, 15vw, 200px); height: auto; }
.soq-apropos-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: -32px; position: relative; z-index: 1; }
.soq-apropos-chiffres div { background: var(--papier); border-radius: 10px; padding: 20px 22px; box-shadow: var(--ombre-haute); border-top: 5px solid var(--bordeaux); display: flex; flex-direction: column; gap: 4px; }
.soq-apropos-chiffres strong { font: 700 44px/1 var(--f-ui); color: var(--bordeaux); font-variant-numeric: tabular-nums; }
.soq-apropos-chiffres span { color: var(--doux); font-weight: 500; }
.soq-apropos-deux { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.soq-apropos-deux p { font: 400 18px/1.65 var(--f-texte); margin-bottom: 1em; }
.soq-apropos-lettrine::first-letter { float: left; font: 400 4.2em/.8 var(--f-titre); color: var(--bordeaux); margin: .06em .1em 0 0; }
.soq-etapes { counter-reset: e; display: grid; gap: 14px; }
.soq-etapes li { counter-increment: e; position: relative; background: var(--papier); border-radius: 10px; padding: 18px 20px 18px 74px; box-shadow: var(--ombre); }
.soq-etapes li::before { content: counter(e); position: absolute; left: 20px; top: 16px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--bordeaux); color: #fff; font: 700 17px/1 var(--f-ui); }
.soq-etapes strong { display: block; font: 600 16.5px/1.3 var(--f-ui); }
.soq-etapes span { display: block; margin-top: 4px; color: var(--doux); font-size: 15px; }
.soq-apropos-redac { padding-block: 48px; }
.soq-redac { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 22px; }
.soq-redac-carte { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; background: #FFF6EE; border-radius: 12px; padding: 26px 18px 22px; box-shadow: var(--ombre); transition: transform .25s, box-shadow .25s; }
.soq-redac-carte:hover { transform: translateY(-3px); box-shadow: var(--ombre-haute); color: var(--encre); }
.soq-redac-carte .sb-avatar { width: 108px; height: 108px; border-radius: 50%; object-fit: cover; margin-bottom: 8px; box-shadow: 0 0 0 4px var(--papier), 0 0 0 5.5px var(--bordeaux); }
.soq-redac-carte strong { font: 400 23px/1.15 var(--f-titre); }
.soq-redac-carte em { font-style: normal; color: var(--doux); font-size: 14px; }
.soq-redac-carte span { font: 600 13px/1 var(--f-ui); color: var(--bordeaux); margin-top: 4px; }
.soq-apropos-rubs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.soq-apropos-rubs a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 20px; border-radius: 10px; background: rgba(255,255,255,.05); border-top: 4px solid var(--rub); }
.soq-apropos-rubs a:hover { background: rgba(255,255,255,.1); color: #fff; }
.soq-apropos-rubs strong { font: 400 24px/1.1 var(--f-titre); color: #fff; }
.soq-apropos-rubs span { color: #D9C8BA; font-size: 14.5px; }
.soq-apropos-rubs em { font-style: normal; font: 600 13px/1 var(--f-ui); color: var(--saumon); margin-top: auto; }

/* 404 */
.soq-404 { padding-block: 48px 72px; }
.soq-404-num { font: 400 120px/1 var(--f-titre); color: var(--bordeaux); }
.soq-404-rubs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.soq-404-rubs a { display: inline-block; padding: 11px 16px; border-radius: 999px; background: #FFF6EE; border-left: 4px solid var(--rub); font-weight: 600; }

/* ===================================================================== pied (bloc figé) : habillage */
.sb-pied { background: var(--nuit); color: #F4E3D4; margin-top: 0; }
.sb-pied a { color: #F4E3D4; }
.sb-pied .sb-mono { width: min(300px, 100%); height: auto; }
.sb-pied-marque { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.sb-pied-marque .sb-pied-nom { display: none; }
.sb-pied-baseline { font-family: var(--f-texte); }

/* ===================================================================== responsive */
@media (max-width: 1180px) {
	.soq-une { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.soq-minute { grid-column: 1 / -1; }
	.soq-minute-fil { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; }
	.soq-minute-fil::before { display: none; }
	.soq-biz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.soq-reco { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.soq-reco .soq-sec-tete { grid-column: 1 / -1; }
	.soq-sel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.soq-tete-contact { display: none; }
}
@media (max-width: 900px) {
	.soq-duo { grid-template-columns: 1fr; gap: 40px; }
	.soq-duo::before { display: none; }
	.soq-trio { grid-template-columns: 1fr; }
	.soq-fil-grille, .soq-rub-une-grille, .soq-contact-grille, .soq-apropos-deux, .soq-apropos-tete-in { grid-template-columns: 1fr; }
	.soq-fil-cote { position: static; }
	.soq-grille-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.soq-entete-figure { max-width: 100%; }
	.soq-apropos-rubs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.soq-apropos-embleme { display: none; }
}
@media (max-width: 760px) {
	html { scroll-padding-top: 80px; }
	.soq-continu-maj { display: none; }
	.soq-tete-haut { grid-template-columns: 1fr auto; padding-block: 12px 10px; }
	.soq-date, .soq-cherche { display: none; }
	.soq-logo { justify-self: start; }
	.soq-logo { gap: 8px; }
	.soq-logo-embleme, .soq-tete.is-pose .soq-logo-embleme { width: 30px; height: 30px; }
	.soq-logo-mot, .soq-tete.is-pose .soq-logo-mot { height: auto; width: min(200px, 100%); }
	.soq-tete-outils { gap: 6px; }
	.soq-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; border: 0; background: transparent; padding: 10px; cursor: pointer; order: 2; }
	.soq-burger span:not(.screen-reader-text) { display: block; height: 2px; background: var(--encre); border-radius: 2px; transition: transform .25s, opacity .25s; }
	.soq-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.soq-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.soq-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.soq-tete-haut { grid-template-columns: auto 1fr auto; }
	.soq-tete-haut .soq-burger { order: 0; }
	.soq-nav ul { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; gap: 20px; mask-image: linear-gradient(90deg, #000 88%, transparent); padding-right: 30px; }
	.soq-nav ul::-webkit-scrollbar { display: none; }
	.soq-nav.is-ouvert ul { flex-wrap: wrap; overflow: visible; mask-image: none; gap: 0 22px; }

	.soq-une { grid-template-columns: 1fr; gap: 26px; padding-block: 14px 34px; }
	.soq-une-photo { border-radius: 8px; }
	.soq-une-photo img { aspect-ratio: 4 / 3; }
	.soq-une-carte { margin: -54px 12px 0; padding: 18px 18px 18px; }
	.soq-une-titre { font-size: 29px; }
	.soq-une-chapo { font-size: 15.5px; }
	.soq-une-sec { grid-template-columns: 1fr 1fr; gap: 16px; }
	.soq-carte--sec .soq-carte-titre { font-size: 17px; }
	.soq-minute-fil { grid-template-columns: 1fr; }
	.soq-bande { padding-block: 34px; }
	.soq-sec-titre { font-size: 26px; }
	.soq-biz { grid-template-columns: 1fr; gap: 24px; }
	.soq-biz-titre { font-size: 26px; }
	.soq-reco { grid-template-columns: 1fr; }
	.soq-sel { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
	.soq-sel li, .soq-sel li:first-child { border-left: 0; padding-left: 0; }
	.soq-sel-num { font-size: 50px; }
	.soq-sel h3 { font-size: 16.5px; }
	.soq-carte--duo { grid-template-columns: 1fr; }
	.soq-breves { grid-template-columns: 1fr; }
	.soq-breves li { display: grid; grid-template-columns: 96px 1fr; gap: 12px; }
	.soq-grand-titre { font-size: 30px; }
	.soq-grand-voile { background: linear-gradient(0deg, rgba(20,24,30,.9) 0%, rgba(20,24,30,.55) 55%, rgba(20,24,30,.1) 100%); }
	.soq-fil li { grid-template-columns: 96px minmax(0, 1fr); gap: 6px 14px; }
	.soq-fil-date { grid-column: 1 / -1; }
	.soq-fil-date:empty { display: none; }
	.soq-fil li:not(:has(.soq-fil-vign)) { grid-template-columns: 1fr; }
	.soq-fil h3 { font-size: 17.5px; }
	.soq-fil p { display: none; }
	.soq-appel-in { grid-template-columns: 1fr; gap: 16px; padding-block: 30px; }
	.soq-appel-emblem { width: 46px; height: 54px; }
	.soq-appel h2 { font-size: 27px; }

	.soq-entete-bande { padding-block: 18px 70px; }
	.soq-entete-titre { font-size: 31px; }
	.soq-entete-photo-cadre { margin-top: -54px; }
	.soq-entete-figure::before { inset: 10px -8px -10px 10px; }
	.soq-entete-figure img { aspect-ratio: 4 / 3; }
	.sb-texte { font-size: 17.5px; }
	.sb-texte h2 { font-size: 26px; }
	.soq-grille-4 { grid-template-columns: 1fr 1fr; gap: 18px; }
	.soq-grille-4 .soq-carte-titre { font-size: 16.5px; }

	.soq-rub-tete-in { grid-template-columns: 1fr; gap: 18px; padding-block: 22px 16px; }
	.soq-rub-titre { font-size: 40px; }
	.soq-rub-chiffres div { min-width: 0; flex: 1; padding: 12px 14px; }
	.soq-rub-chiffres dd { font-size: 30px; }
	.soq-rub-autres { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.soq-rub-autres a { white-space: nowrap; }
	.soq-rub-une { grid-template-columns: 1fr; padding: 0; margin-right: 0; overflow: hidden; }
	.soq-rub-une-texte { padding: 20px 18px 22px; order: 2; }
	.soq-rub-une-photo { margin-right: 0; border-radius: 10px 10px 0 0; box-shadow: none; order: 1; }
	.soq-rub-une-photo img { aspect-ratio: 16 / 10; }
	.soq-auteur-tete-in { grid-template-columns: 1fr; gap: 16px; }
	.soq-auteur-photo .sb-avatar { width: 110px; height: 110px; }
	.soq-form-ligne { grid-template-columns: 1fr; gap: 0; }
	.soq-apropos-chiffres { grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
	.soq-apropos-chiffres div { padding: 14px 12px; }
	.soq-apropos-chiffres strong { font-size: 30px; }
	.soq-apropos-chiffres span { font-size: 13px; }
	.soq-apropos-rubs { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.soq-continu-defile { overflow-x: auto; }
}

/* repères de lecture tirés du texte */
.soq-points-cles { margin: 1.4em 0 1.6em; }
.soq-exergue { margin: 1.6em 0; padding: 18px 0 18px 26px; border-left: 5px solid var(--rub, var(--bordeaux)); background: linear-gradient(90deg, color-mix(in srgb, var(--rub, #8E1B3A) 7%, transparent), transparent 70%); }
.soq-exergue p { font: 400 25px/1.35 var(--f-titre) !important; color: var(--encre); margin: 0; }
@media (max-width: 760px) {
	.soq-contact .soq-page-tete-in { padding-block: 14px 18px; }
	.soq-contact .soq-rub-titre { font-size: 32px; }
	.soq-contact .soq-rub-chapo { display: none; }
	.soq-contact-grille { padding-block: 16px 40px; gap: 24px; }
	.soq-contact-carte { padding: 16px 14px; }
	.soq-form p { margin-bottom: 10px; }
	.soq-form label { margin-bottom: 4px; font-size: 13.5px; }
	.soq-form input, .soq-form select { min-height: 44px; padding: 8px 12px; }
	.soq-form textarea { min-height: 84px; height: 84px; }
	.soq-form-pied span { display: none; }
	.soq-form-pied .soq-bouton { width: 100%; }
}

/* ===================================================================== infographies du socle (habillage du site) */
.sb-bloc-infographie { margin: 1.8em 0; }
sbs-jauges, sbs-tarifs, sbs-frise, sbs-lieu, sbs-jauge, sbs-tarif, sbs-etape { display: block; }
.sbs_jauges, .sbs_tarifs, .sbs_frise, .sbs_lieu { background: #FFF6EE; border-radius: 10px; padding: 22px 24px 18px; box-shadow: var(--ombre); border-top: 6px solid var(--rub, var(--bordeaux)); font-family: var(--f-ui); }
.sbs_jauges_titre, .sbs_tarifs_titre, .sbs_frise_titre { display: block; font: 400 23px/1.2 var(--f-titre); margin-bottom: 16px; }
.sbs_jauges_titre::first-letter, .sbs_tarifs_titre::first-letter, .sbs_frise_titre::first-letter { text-transform: uppercase; }
.sbs_jauges { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.sbs_jauges_titre, .sbs_jauges .sbs_source { grid-column: 1 / -1; }
.sbs_jauge { display: flex; flex-direction: column; gap: 4px; background: var(--papier); border-radius: 8px; padding: 14px 16px; border-left: 4px solid var(--rub, var(--bordeaux)); }
.sbs_jauge_valeur { order: -1; font: 700 34px/1 var(--f-ui); color: var(--rub, var(--bordeaux)); font-variant-numeric: tabular-nums; }
.sbs_jauge_unite { font: 600 13px/1.2 var(--f-ui); color: var(--rub, var(--bordeaux)); order: -1; }
.sbs_jauge_libelle { font-size: 14px; line-height: 1.4; color: var(--encre); }
.sbs_tarif { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: center; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--filet); }
.sbs_tarif:last-of-type { border-bottom: 0; }
.sbs_tarif_libelle { font-size: 14.5px; }
.sbs_tarif_barre { width: 100%; height: 14px; -webkit-appearance: none; appearance: none; border: 0; background: var(--ble); border-radius: 999px; }
.sbs_tarif_barre::-webkit-meter-bar { background: var(--ble); border-radius: 999px; border: 0; }
.sbs_tarif_barre::-webkit-meter-optimum-value, .sbs_tarif_barre::-webkit-meter-suboptimum-value { background: var(--rub, var(--bordeaux)); border-radius: 999px; }
.sbs_tarif_barre::-moz-meter-bar { background: var(--rub, var(--bordeaux)); border-radius: 999px; }
.sbs_tarifs_notes, .sbs_source { display: block; margin-top: 12px; font-size: 12.5px; color: var(--doux); }
.sbs_frise { position: relative; }
.sbs_etape { position: relative; padding: 0 0 16px 28px; border-left: 2px solid var(--filet); margin-left: 8px; }
.sbs_etape::before { content: ""; position: absolute; left: -8px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--papier); border: 3px solid var(--rub, var(--bordeaux)); }
.sbs_etape_date { display: block; font: 700 13px/1.3 var(--f-ui); color: var(--rub, var(--bordeaux)); }
.sbs_etape_titre { display: block; font: 600 16px/1.35 var(--f-ui); margin-top: 2px; }
.sbs_etape_desc { display: block; font-size: 14.5px; color: var(--doux); margin-top: 2px; }
.sbs_lieu_nom { display: block; font: 400 22px/1.2 var(--f-titre); }
.sbs_lieu_adresse { font-style: normal; color: var(--doux); }
.sbs_lieu_carte { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--petrole); font-weight: 600; }
.sbs_icone_repere { fill: currentColor; }
.soq-entete-figure::before { display: none; }
.soq-entete-figure img { box-shadow: 18px 18px 0 0 var(--rub, var(--bordeaux)), var(--ombre-haute); }
.soq-entete-figure figcaption { margin-top: 30px; }
@media (max-width: 760px) { .soq-entete-figure img { box-shadow: 9px 9px 0 0 var(--rub, var(--bordeaux)), var(--ombre); } .soq-entete-figure figcaption { margin-top: 18px; } .sbs_tarif { grid-template-columns: 1fr; gap: 6px; } }

/* contact : le formulaire tient entier au premier écran (1440×780) */
.soq-contact .soq-page-tete-in { padding-block: 20px 24px; }
.soq-contact .soq-rub-titre { font-size: clamp(36px, 3.4vw, 50px); }
.soq-contact .soq-rub-chapo { margin-top: 6px; font-size: 16px; }
.soq-contact-grille { padding-block: 26px 56px; }
.soq-contact-carte { padding: 22px 28px; }
.soq-contact .soq-form p { margin-bottom: 12px; }
.soq-contact .soq-form textarea { height: 110px; min-height: 110px; }
@media (max-width: 760px) {
	.soq-contact .soq-page-tete-in { padding-block: 12px 14px; }
	.soq-contact .soq-rub-titre { font-size: 30px; }
	.soq-contact .soq-rub-chapo { display: none; }
	.soq-contact-grille { padding-block: 14px 40px; }
	.soq-contact-carte { padding: 14px 14px; }
	.soq-contact .soq-form p { margin-bottom: 8px; }
	.soq-contact .soq-form textarea { height: 76px; min-height: 76px; }
}

.soq-encart-form label { display: block; font: 600 12.5px/1.3 var(--f-ui); color: #E9D8CA; margin: 8px 0 4px; }
.soq-encart-form input[type=email], .soq-encart-form textarea { width: 100%; border: 0; border-radius: 6px; background: #FFF8F2; color: var(--encre); padding: 9px 11px; font-size: 14.5px; min-height: 42px; }
.soq-encart-form textarea { min-height: 74px; resize: vertical; }
.soq-encart-form .soq-bouton { margin-top: 12px; }

/* ===================================================================== passe 2 (juge visuel 05/10) */
/* une : titre gras et grand, comme un vrai titre de quotidien */
.soq-une-titre { font: 700 clamp(34px, 3.3vw, 52px)/1.06 var(--f-texte); letter-spacing: -.022em; }
.soq-une-carte { border-top-width: 8px; }
/* bouton rédaction : visible partout, icône seule sur petit écran */
.soq-tete-contact { display: inline-flex; align-items: center; gap: 8px; }
.soq-tete-contact svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; flex: 0 0 auto; }
@media (max-width: 1180px) {
	.soq-tete-contact { display: inline-flex; padding: 11px 13px; }
}
@media (max-width: 760px) {
	.soq-tete-contact { padding: 0; width: 42px; height: 42px; justify-content: center; border-radius: 50%; background: var(--bordeaux); }
	.soq-tete-contact span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.soq-une-titre { font-size: 30px; }
}

/* rubrique : grille photo, bandes de rupture, « Charger plus » */
.soq-rub-fil { max-width: none; padding-block: 30px 60px; }
.soq-rub-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 28px; padding-block: 8px 34px; }
.soq-carte--rub .soq-carte-titre { font-size: 19px; }
.soq-carte--rub .soq-sur { margin-top: 2px; color: var(--rub, var(--bordeaux)); }
.soq-carte--rub-tete { grid-column: span 2; grid-row: span 2; }
.soq-carte--rub-tete .soq-carte-photo img { aspect-ratio: 4 / 3; }
.soq-carte--rub-tete .soq-carte-titre { font: 700 clamp(24px, 2.2vw, 32px)/1.12 var(--f-texte); letter-spacing: -.015em; }
.soq-carte--rub-tete .soq-carte-chapo { font-size: 16.5px; }
.soq-carte--sans-photo { border-top: 4px solid var(--rub, var(--bordeaux)); padding-top: 8px; }
.soq-rub-rupture { background: var(--nuit); color: #F4E3D4; padding-block: 44px; margin-block: 6px 34px; }
.soq-rub-large { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 44px; align-items: center; }
.soq-rub-large-photo { display: block; border-radius: 10px; overflow: hidden; box-shadow: 14px 14px 0 0 var(--rub, var(--bordeaux)); }
.soq-rub-large-photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.soq-rub-large .soq-sur { color: var(--saumon); }
.soq-rub-large h3 { font: 400 clamp(28px, 2.8vw, 42px)/1.1 var(--f-titre); color: #fff; text-wrap: balance; }
.soq-rub-large h3 a:hover { color: var(--saumon); }
.soq-rub-large-texte > p:not(.soq-sur):not(.soq-carte-meta) { margin-top: 14px; font-size: 17px; line-height: 1.55; color: #E9D7C8; }
.soq-rub-large .soq-carte-meta { color: #C9B8AA; }
.soq-rub-appel { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; background: color-mix(in srgb, var(--rub, #8E1B3A) 10%, var(--papier)); border-left: 6px solid var(--rub, var(--bordeaux)); border-radius: var(--rayon); padding: 22px 26px; margin-bottom: 34px; }
.soq-rub-appel-emblem { width: 52px; height: 52px; }
.soq-rub-appel p { font-size: 17px; line-height: 1.45; }
.soq-plus { display: flex; justify-content: center; margin-top: 6px; }
.soq-plus .soq-bouton span { font-weight: 400; opacity: .75; margin-left: 4px; }
@media (max-width: 1180px) { .soq-rub-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .soq-rub-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } .soq-rub-large { grid-template-columns: 1fr; gap: 26px; } .soq-rub-appel { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .soq-rub-grille { grid-template-columns: 1fr; } .soq-carte--rub-tete { grid-column: auto; grid-row: auto; } }

/* article : fiches, chiffre, relance, sources, sommaire replié */
.soq-fiche { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0; margin: 1.1em 0 1.8em; border: 1px solid var(--filet); border-top: 4px solid var(--rub, var(--bordeaux)); border-radius: 0 0 var(--rayon) var(--rayon); background: #FFF8F2; overflow: hidden; }
.soq-fiche p { margin: 0 !important; padding: 14px 18px; font-size: 16px !important; line-height: 1.5 !important; border-right: 1px solid var(--filet); }
.soq-fiche p:last-child { border-right: 0; }
.soq-fiche b { display: block; font: 600 12px/1.3 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--rub, var(--bordeaux)); margin-bottom: 5px; }
.soq-fiche .soq-fiche-source { grid-column: 1 / -1; border-right: 0; border-top: 1px solid var(--filet); background: var(--ble); font-size: 14px !important; color: var(--doux); padding-block: 9px; }
.soq-fiche .soq-fiche-source b { display: inline; margin: 0 8px 0 0; }
.soq-chiffre { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin: 1.8em 0; padding: 22px 26px; background: var(--nuit); color: #F4E3D4; border-radius: var(--rayon); }
.soq-chiffre-nb { font: 700 clamp(36px, 4vw, 52px)/1 var(--f-ui) !important; color: var(--saumon) !important; margin: 0 !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.soq-chiffre-txt { margin: 0 !important; font-size: 16.5px !important; line-height: 1.5 !important; color: #F4E3D4 !important; }
.soq-relance { margin: 2em 0; }
.soq-relance a { display: grid; grid-template-columns: 170px 1fr; gap: 20px; align-items: center; padding: 12px; background: var(--ble); border-radius: var(--rayon); border-left: 5px solid var(--rub, var(--bordeaux)); text-decoration: none !important; }
.soq-relance img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; }
.soq-relance em { display: block; font: 600 12px/1.3 var(--f-ui); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--rub, var(--bordeaux)); margin-bottom: 6px; }
.soq-relance strong { font: 400 20px/1.25 var(--f-texte); color: var(--encre); }
.soq-relance a:hover strong { color: var(--petrole); }
.soq-sources-date { font-size: 14px !important; color: var(--doux); font-style: italic; }
.soq-som-plus summary { cursor: pointer; font: 600 13.5px/1.3 var(--f-ui); color: var(--petrole); padding: 8px 0 2px; list-style: none; }
.soq-som-plus summary::-webkit-details-marker { display: none; }
.soq-som-plus summary::before { content: "+ "; }
.soq-som-plus[open] summary::before { content: "− "; }
@media (max-width: 560px) { .soq-relance a { grid-template-columns: 110px 1fr; gap: 14px; } .soq-relance strong { font-size: 17px; } .soq-chiffre { grid-template-columns: 1fr; gap: 10px; } .soq-fiche p { border-right: 0; border-bottom: 1px solid var(--filet); } }
/* contact : la rédaction en photo ; à propos : rédaction sur 3 colonnes, rubriques illustrées */
.soq-contact-equipe { background: var(--nuit); color: #F4E3D4; border-radius: 12px; padding: 22px 22px 14px; margin-bottom: 22px; box-shadow: var(--ombre); }
.soq-contact-equipe h2 { font: 400 22px/1.2 var(--f-titre); color: #fff; margin-bottom: 12px; }
.soq-contact-equipe ul { list-style: none; margin: 0; padding: 0; }
.soq-contact-equipe li + li { border-top: 1px solid rgba(255,255,255,.12); }
.soq-contact-equipe a { display: grid; grid-template-columns: 54px 1fr; gap: 14px; align-items: center; padding: 10px 0; color: #F4E3D4; }
.soq-contact-equipe .sb-avatar { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--nuit), 0 0 0 3.5px var(--saumon); }
.soq-contact-equipe strong { display: block; font: 600 15.5px/1.25 var(--f-ui); color: #fff; }
.soq-contact-equipe em { font-style: normal; font-size: 13.5px; line-height: 1.35; color: #D9C8BA; }
.soq-redac { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.soq-apropos-rubs img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; margin-bottom: 6px; }
@media (max-width: 760px) { .soq-redac { grid-template-columns: 1fr; } }
.soq-cherche--grand .soq-bouton { width: auto; height: auto; padding: 0 24px; background: var(--bordeaux); color: #fff; }
.soq-fiche { display: flex; flex-wrap: wrap; }
.soq-fiche p { flex: 1 1 190px; }
.soq-fiche .soq-fiche-source { flex-basis: 100%; }
/* passe 3 : dernière rangée de rubrique sans case vide ; À propos ; Sélection mobile */
.soq-carte--rub-double { grid-column: span 2; }
.soq-carte--rub-double .soq-carte-photo img { aspect-ratio: 16 / 8; }
.soq-carte--rub-pleine { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.soq-carte--rub-pleine .soq-carte-titre { font-size: 26px; }
.soq-rub-appel { margin-top: 4px; }
.soq-apropos-rubs li:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
.soq-apropos-rubs li:last-child:nth-child(3n+1) a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 6px 26px; align-items: center; }
.soq-apropos-rubs li:last-child:nth-child(3n+1) img { grid-row: span 3; margin: 0; }
.soq-apropos-note { margin-top: 18px; color: #D9C8BA; font-size: 14.5px; }
@media (max-width: 1180px) { .soq-carte--rub-double, .soq-carte--rub-pleine { grid-column: auto; display: flex; } }
@media (max-width: 760px) { .soq-sel li:last-child:nth-child(odd) { grid-column: 1 / -1; } .soq-apropos-rubs li:last-child:nth-child(3n+1) a { display: flex; } }
.soq-logo-h1 { margin: 0; font: inherit; display: flex; justify-content: center; min-width: 0; }
@media (max-width: 760px) { .soq-logo-h1 { justify-content: flex-start; } }
/* colonne d'article (retour Mathias 05/10 « barre latérale buguée ») : les deux zones collantes séparées
   laissaient le formulaire loin en bas (trou) puis le faisaient remonter sur le sommaire. La colonne entière
   (sommaire + formulaire) colle maintenant comme UN bloc ; si elle est plus haute que l'écran, elle défile
   jusqu'à montrer son bas puis colle (app.js calcule le top). */
.sb-art-aside { position: sticky; top: 142px; align-self: start; }
.sb-art-aside .sb-colle-zone { flex: none; min-height: 0; }
.sb-art-aside .sb-colle, .sb-art-aside .sb-colle[data-colle="true"] { position: static; }
@media (max-width: 900px) { .sb-art-aside { position: static; } }

/* Grand format (retour Mathias 05/10 : texte et photo mal équilibrés — visage coupé, texte perdu dans le noir) :
   deux colonnes franches sur fond nuit, la photo entière dans un cadre décalé couleur de rubrique (comme l'en-tête d'article) */
.soq-grand { margin-top: 44px; background: var(--nuit); color: #fff; padding-block: 64px; }
.soq-grand-grille { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 60px; align-items: center; }
.soq-grand-texte { display: flex; flex-direction: column; align-items: flex-start; min-height: 0; padding: 0; }
.soq-grand-titre { display: block; max-width: none; color: #fff; font: 400 clamp(32px, 3.2vw, 50px)/1.08 var(--f-titre); text-wrap: balance; }
.soq-grand-titre:hover { color: var(--saumon); }
.soq-grand-chapo { display: block; max-width: none; margin: 18px 0 14px; font-size: 17.5px; line-height: 1.55; color: #EADBD0; }
.soq-grand-auteur { display: block; margin-bottom: 26px; font: 500 13.5px/1.3 var(--f-ui); color: #C9B8AA; }
.soq-grand-photo { display: block; border-radius: 10px; overflow: hidden; box-shadow: 18px 18px 0 0 var(--rub, var(--bordeaux)); }
.soq-grand-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.soq-grand-photo:hover img { transform: scale(1.03); }
@media (max-width: 900px) {
	.soq-grand { padding-block: 40px 48px; }
	.soq-grand-grille { grid-template-columns: 1fr; gap: 30px; }
	.soq-grand-photo { order: -1; box-shadow: 10px 10px 0 0 var(--rub, var(--bordeaux)); margin-right: 10px; }
	.soq-grand-titre { font-size: 30px; }
}

/* ===================================================================== en-tête d'article v2 (05/10, retour Mathias)
   ENTETE-titre-pleine-encre-carte-de-presse-photo-signature-filet-noir : le texte de l'article est visible dès le 1er écran */
.soq-ent { background: var(--ble); position: relative; }
.soq-ent::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--rub, var(--bordeaux)) 0 18%, var(--encre) 18%); }
.soq-ent-grille { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 52px; align-items: center; padding-block: 24px 40px; }
.soq-ent-texte .soq-statut { margin-top: 12px; }
.soq-ent-titre { margin-top: 12px; font: 400 clamp(30px, 2.8vw, 46px)/1.08 var(--f-titre); letter-spacing: -.014em; text-wrap: balance; }
.soq-ent-chapo { margin-top: 14px; font: 400 clamp(16.5px, 1.2vw, 18.5px)/1.5 var(--f-ui); color: var(--doux); max-width: 40em; }
.soq-ent-carte { background: #FFF8F2; border-top: 6px solid var(--encre); border-radius: 0 0 10px 10px; box-shadow: var(--ombre-haute); overflow: hidden; }
.soq-ent-figure { position: relative; margin: 0; }
.soq-ent-figure img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 40%; }
.soq-ent-figure figcaption { position: absolute; right: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 4px 9px; border-radius: 4px; background: rgba(31,42,54,.78); color: #F4E3D4; font: 400 11.5px/1.3 var(--f-ui); }
.soq-ent-signature { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 18px; padding: 12px 16px; border-top: 3px solid var(--rub, var(--bordeaux)); }
.soq-ent-auteur { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
.soq-ent-auteur .sb-avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px #FFF8F2, 0 0 0 3.5px var(--rub, var(--bordeaux)); }
.soq-ent-auteur span { display: flex; flex-direction: column; font: 400 12.5px/1.3 var(--f-ui); color: var(--doux); }
.soq-ent-auteur strong { font-weight: 600; font-size: 14.5px; color: var(--encre); }
.soq-ent-auteur em { font-style: normal; }
.soq-ent-infos { display: flex; flex-wrap: wrap; gap: 2px 14px; font: 500 12.5px/1.4 var(--f-ui); color: var(--doux); }
.soq-ent--sans-photo .soq-ent-grille { grid-template-columns: minmax(0, 1fr); }
.soq-ent--sans-photo .soq-ent-carte { max-width: 560px; }
.soq-ent + .soq-article-cadre .sb-art-corps, .soq-ent ~ .sb-cadre .sb-art-corps { margin-top: 34px; }
@media (max-width: 900px) {
	.soq-ent-grille { grid-template-columns: 1fr; gap: 18px; padding-block: 16px 30px; }
	.soq-ent-titre { font-size: 29px; }
	.soq-ent-chapo { font-size: 16px; margin-top: 10px; }
	.soq-ent-figure img { aspect-ratio: 16 / 9; }
	.soq-ent-signature { padding: 10px 12px; }
}
@media (max-width: 600px) {
	.soq-ent-grille { gap: 14px; padding-block: 12px 24px; }
	.soq-ent-texte .soq-statut { margin-top: 8px; }
	.soq-ent-titre { font-size: 27px; margin-top: 8px; }
	.soq-ent-figure img { aspect-ratio: 2 / 1; }
	.soq-ent-signature { flex-wrap: nowrap; padding: 8px 12px; gap: 10px; }
	.soq-ent-auteur { min-height: 40px; }
	.soq-ent-auteur .sb-avatar { width: 34px; height: 34px; }
	.soq-ent-auteur em { display: none; }
	.soq-ent-infos { flex-direction: column; align-items: flex-end; text-align: right; gap: 0; font-size: 12px; }
	.soq-ent-infos span:not(:last-child) { display: none; }
}
/* gouttière texte → barre latérale (retour Mathias 08/10, BE-0054 : « trop d'espace entre la barre latérale et le contenu »).
   Le bloc commun plafonnait le texte à 820 px dans une case de 932 px : 112 px de vide + 48 px de gouttière.
   Ici le texte remplit sa case, la barre latérale s'élargit avec l'écran et le corps grossit un peu pour garder la même longueur de ligne. */
@media (min-width: 981px) {
	.soq-article-cadre .sb-art-corps { --soq-lat: clamp(280px, 25vw, 360px); grid-template-columns: minmax(0, 1fr) var(--soq-lat); gap: 52px; }
	.soq-article-cadre .sb-art-corps:not(.sb-art-corps--seul) > .sb-art-principal { max-width: none; }
	.soq-article-cadre .sb-art-corps--seul { grid-template-columns: minmax(0, 860px); }
}
@media (min-width: 1200px) { .soq-article-cadre .sb-art-corps:not(.sb-art-corps--seul) .sb-texte { font-size: 19.5px; } }
.soq-encart-titre { text-wrap: balance; }
