/* Accueil v3 (03/10/2026) : même univers que les vidéos LinkedIn « Le dev expliqué ». Polices locales (OFL). */
@font-face{font-family:"Manrope";src:url("../fonts/accueil/manrope-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/accueil/manrope-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/accueil/dm-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/accueil/dm-sans-500.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--fond:#08120F;--fond2:#0E1F19;--carte:rgba(255,255,255,.05);--ligne:rgba(255,255,255,.12);--texte:#F5F2EA;--doux:#BFD0C6;
  --vert:#2BD07F;--vertsombre:#123A2A;--or:#F4BC4F;--titre:"Manrope",system-ui,sans-serif;--corps:"DM Sans",system-ui,sans-serif;--vert-rgb:43,208,127;--fond-rgb:8,18,15;--fond2-rgb:14,31,25;--fondcarte:#0B1814;--encre:#06140E;--encre2:#06120D;--bulle-fond:#0F1C17;--bulle-tete:#12241D;--bulle-bot:#18302A;--bulle-saisie:#0B1512;--bulle-puce:#CFEBDD;--vert-b:#28C97A;--vert-b-rgb:40,201,122;--offre:#28C97A;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fond);color:var(--texte);font:400 17px/1.6 var(--corps);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.conteneur{width:min(1120px,100% - 40px);margin-inline:auto}
/* En-tête */
header{position:sticky;top:0;z-index:10;background:rgba(var(--fond-rgb),.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--ligne)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.marque{font:800 20px var(--titre);letter-spacing:-.5px}.marque b{color:var(--vert)}
.liens{display:none;gap:28px;font:500 15px var(--corps);color:var(--doux)}
.liens a:hover{color:var(--texte)}
.bouton{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;font:800 16px var(--titre);transition:transform .15s}
.bouton:hover{transform:translateY(-2px)}
.bouton.plein{background:var(--vert);color:var(--encre);box-shadow:0 10px 30px rgba(var(--vert-rgb),.25)}
.bouton.contour{border:1.5px solid var(--ligne);color:var(--texte)}
.bouton.petit{padding:10px 16px;font-size:14px;border-radius:12px}
svg.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* Accroche */
.accroche{position:relative;padding:56px 0 64px;overflow:hidden}
.accroche::before{content:"";position:absolute;inset:-20% -30% auto auto;width:640px;height:640px;background:radial-gradient(circle,rgba(var(--vert-rgb),.18),transparent 65%);pointer-events:none}
.accroche .conteneur{display:grid;gap:40px;align-items:center}
.etiquette{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(var(--vert-rgb),.12);
  border:1px solid rgba(var(--vert-rgb),.35);color:var(--vert);font:600 13px var(--titre);letter-spacing:.3px}
.point{width:8px;height:8px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 4px rgba(var(--vert-rgb),.2)}
h1{font:800 clamp(36px,8.5vw,64px)/1.05 var(--titre);letter-spacing:-1.5px;margin:18px 0 18px}
h1 em{font-style:normal;color:var(--vert)}
.sous{font-size:clamp(17px,2.4vw,20px);color:var(--doux);max-width:560px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.preuves{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;color:var(--doux);font-size:14px}
.preuves span{display:inline-flex;align-items:center;gap:8px}.preuves svg{width:18px;height:18px;color:var(--vert)}
.portrait{position:relative;justify-self:center;width:min(300px,78vw)}
.portrait img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:32px;border:1.5px solid var(--ligne);display:block}
.carte-flottante{position:absolute;background:rgba(var(--fond2-rgb),.92);border:1px solid var(--ligne);border-radius:16px;padding:12px 14px;
  font:600 13px/1.35 var(--titre);display:flex;gap:10px;align-items:center;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.carte-flottante svg{color:var(--or)}
.cf1{left:-18px;bottom:28px}.cf2{right:-14px;top:22px}
/* Sections */
section{padding:72px 0;border-top:1px solid var(--ligne)}
.surtitre{font:600 13px var(--titre);letter-spacing:2.5px;color:var(--vert);text-transform:uppercase}
h2{font:800 clamp(28px,5.5vw,42px)/1.12 var(--titre);letter-spacing:-1px;margin:10px 0 14px}
.intro{color:var(--doux);max-width:620px;margin-bottom:36px}
.grille{display:grid;gap:16px}
.carte{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--ligne);border-radius:22px;padding:26px}
.pastille{width:52px;height:52px;border-radius:15px;background:var(--vertsombre);display:flex;align-items:center;justify-content:center;color:var(--vert);margin-bottom:18px}
.pastille.or{background:rgba(244,188,79,.14);color:var(--or)}
h3{font:800 21px/1.25 var(--titre);margin-bottom:8px}
.carte p{color:var(--doux);font-size:16px}
.resultat{margin-top:14px;font:600 14px var(--titre);color:var(--vert)}
/* Réalisations */
.realisation{display:flex;flex-direction:column;gap:14px}
.vignette{border-radius:16px;aspect-ratio:16/9;display:flex;align-items:flex-end;padding:16px;font:800 18px var(--titre);
  background:radial-gradient(120% 120% at 0% 0%,rgba(var(--vert-rgb),.35),transparent 55%),linear-gradient(140deg,var(--vertsombre),var(--fondcarte));border:1px solid var(--ligne)}
.vignette.v2{background:radial-gradient(120% 120% at 100% 0%,rgba(244,188,79,.35),transparent 55%),linear-gradient(140deg,#2A2312,var(--fondcarte))}
.vignette.v3{background:radial-gradient(120% 120% at 50% 100%,rgba(110,193,255,.30),transparent 60%),linear-gradient(140deg,#10263A,var(--fondcarte))}
.puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{font:600 12px var(--titre);padding:5px 10px;border-radius:999px;background:var(--carte);border:1px solid var(--ligne);color:var(--doux)}
/* Méthode */
.etapes{counter-reset:e;display:grid;gap:14px}
.etape{display:flex;gap:18px;align-items:flex-start}
.etape::before{counter-increment:e;content:counter(e);flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--vert);color:var(--encre);font:800 18px var(--titre)}
.etape h3{font-size:19px;margin-bottom:4px}.etape p{color:var(--doux);font-size:16px}
/* Le dev expliqué */
.videos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.video{scroll-snap-align:start;aspect-ratio:9/14;border-radius:20px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(170deg,var(--fond2),var(--fond));border:1px solid var(--ligne);position:relative;overflow:hidden}
.video::after{content:"";position:absolute;inset:auto -30% -30% auto;width:220px;height:220px;background:radial-gradient(circle,rgba(var(--vert-rgb),.22),transparent 65%)}
.video .barre{display:flex;gap:4px}.video .barre i{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}.video .barre i:first-child{background:var(--vert)}
.video h3{font-size:20px;position:relative;z-index:1}
.lecture{width:48px;height:48px;border-radius:50%;background:var(--vert);color:var(--encre);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
/* Témoignages */
.temoignage{font-size:17px}.temoignage p{color:var(--texte)}.temoignage footer{margin-top:14px;color:var(--doux);font:600 14px var(--titre)}
.guillemet{font:800 54px/0.6 var(--titre);color:var(--vert);display:block;margin-bottom:12px}
/* Blog */
.article{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--ligne)}
.article h3{font-size:18px;margin:0}.article span{color:var(--doux);font-size:14px}.article svg{color:var(--vert)}
/* Fin */
.final{text-align:center;background:radial-gradient(80% 120% at 50% 0%,rgba(var(--vert-rgb),.16),transparent 70%)}
.final .actions{justify-content:center}
.contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:26px;color:var(--doux);font-size:15px}
.contacts span{display:inline-flex;gap:8px;align-items:center}
footer.pied{padding:28px 0 40px;color:var(--doux);font-size:14px;border-top:1px solid var(--ligne)}
footer.pied .conteneur{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
footer.pied nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.whatsapp-flottant{position:fixed;right:18px;bottom:18px;z-index:20;width:58px;height:58px;border-radius:50%;background:var(--vert);color:var(--encre);
  display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.whatsapp-flottant svg{width:28px;height:28px}
@media (min-width:760px){
  .liens{display:flex}
  .accroche{padding:88px 0 96px}
  .accroche .conteneur{grid-template-columns:1.25fr .75fr}
  .portrait{width:340px}
  .g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
  .etapes{grid-template-columns:repeat(4,1fr)}.etape{flex-direction:column}
  section{padding:96px 0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Contenu venant de l'admin */
.vignette img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.realisation h3{margin:4px 0 0}
.vignette{position:relative;overflow:hidden}.vignette span{position:relative;z-index:1}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* Animations (03/10/2026) : uniquement opacité et transformation (aucun décalage de mise en page). */
.carte,.video,.article,.etape{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s,background .35s}
.carte:hover{transform:translateY(-6px);border-color:rgba(var(--vert-rgb),.45);box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(var(--vert-rgb),.15)}
.realisation{position:relative}
.realisation .vignette::after{content:"";position:absolute;inset:0}
.realisation .lien-carte::after{content:"";position:absolute;inset:0;z-index:2}
.realisation .vignette img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.realisation:hover .vignette img{transform:scale(1.06)}
.realisation h3{transition:color .3s}.realisation:hover h3{color:var(--vert)}
.video:hover{transform:translateY(-6px) rotate(-.6deg);border-color:rgba(var(--vert-rgb),.45)}
.video .lecture{transition:transform .3s}.video:hover .lecture{transform:scale(1.12)}
.article:hover{padding-left:10px}.article svg{transition:transform .3s}.article:hover svg{transform:translateX(6px)}
.bouton.plein{position:relative;overflow:hidden}
.bouton.plein::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:reflet 4.5s ease-in-out infinite}
@keyframes reflet{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.point{animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--vert-rgb),.55)}100%{box-shadow:0 0 0 10px rgba(var(--vert-rgb),0)}}
.cf1{animation:flotte 6s ease-in-out infinite}.cf2{animation:flotte 6s ease-in-out -3s infinite}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.js .apparait{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delai,0s)}
.js .apparait.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .apparait{opacity:1;transform:none;transition:none}
  .bouton.plein::after,.point,.cf1,.cf2{animation:none}.carte:hover,.video:hover{transform:none}}

/* ─── Lot 1 de la refonte (03/10/2026) : menu téléphone + pages À propos, Services, Contact ─── */
.burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--ligne);background:none;color:var(--texte);cursor:pointer}
.burger svg{width:24px;height:24px}
.nav-droite{display:flex;align-items:center;gap:10px}
.liens a.actif{color:var(--vert)}
.menu-mobile{display:none;border-top:1px solid var(--ligne);padding:8px 0 16px}
.menu-mobile.ouvert{display:block}
.menu-mobile a{display:block;padding:14px 20px;font:600 18px var(--titre);color:var(--texte);border-radius:12px}
.menu-mobile a.actif{color:var(--vert)}
@media (min-width:760px){.burger,.menu-mobile,.menu-mobile.ouvert{display:none}}

.entete-page{position:relative;padding:64px 0 40px;overflow:hidden}
.entete-page::before{content:"";position:absolute;inset:-40% -20% auto auto;width:560px;height:560px;background:radial-gradient(circle,rgba(var(--vert-rgb),.16),transparent 65%);pointer-events:none}
.entete-page h1{margin:14px 0 14px}
.entete-page .sous{max-width:680px}
section.sans-bord{border-top:0;padding-top:24px}

.deux-colonnes{display:grid;gap:36px;align-items:start}
.photo-profil{width:min(360px,100%);aspect-ratio:1;object-fit:cover;object-position:50% 25%;border-radius:28px;border:1.5px solid var(--ligne);display:block}
.texte-long p{color:var(--doux);margin-bottom:16px}.texte-long strong{color:var(--texte)}
.texte-long a{color:var(--vert);text-decoration:underline;text-underline-offset:3px}

.parcours{position:relative;display:grid;gap:18px;margin-top:8px}
.parcours::before{content:"";position:absolute;left:21px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--vert),rgba(var(--vert-rgb),.1))}
.etape-parcours{position:relative;padding-left:62px}
.etape-parcours::before{content:"";position:absolute;left:13px;top:26px;width:18px;height:18px;border-radius:50%;background:var(--fond);border:3px solid var(--vert)}
.etape-parcours .quand{display:inline-block;font:600 13px var(--titre);color:var(--or);margin-bottom:6px}

.puces-liste{list-style:none;display:grid;gap:10px;margin-top:14px}
.puces-liste li{display:flex;gap:10px;color:var(--doux);font-size:16px}
.puces-liste li{position:relative}.puces-liste li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border-radius:50%;background:var(--vertsombre)}/* coche dessinée en CSS : sa couleur suit le thème (une image SVG intégrée ne peut pas lire une variable) */.puces-liste li::after{content:"";position:absolute;left:7.5px;top:7px;width:5px;height:10px;border:solid var(--vert);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}

.technos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.techno{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;border-radius:18px;background:var(--carte);border:1px solid var(--ligne);text-align:center;font:600 13px var(--titre);color:var(--doux)}
.techno img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}

.service-ligne{display:grid;gap:22px;align-items:start}
.numero{font:800 64px/1 var(--titre);color:transparent;-webkit-text-stroke:1.5px rgba(var(--vert-rgb),.6)}
.sous-services{display:grid;gap:14px;margin-top:18px}

.formule{display:flex;flex-direction:column}
.formule .bouton{margin-top:auto;align-self:flex-start}
.formule .puces-liste{margin-bottom:22px}
.note{color:var(--doux);font-size:14px;margin-top:18px}

.formulaire{display:grid;gap:16px}
.champ{display:grid;gap:8px}
.champ label{font:600 14px var(--titre);color:var(--texte)}
.champ input,.champ textarea{width:100%;padding:14px 16px;border-radius:14px;border:1.5px solid var(--ligne);background:rgba(255,255,255,.04);
  color:var(--texte);font:400 16px var(--corps);transition:border-color .2s,background .2s}
.champ input:focus,.champ textarea:focus{outline:none;border-color:var(--vert);background:rgba(var(--vert-rgb),.06)}
.champ .erreur{color:#FF8A7D;font-size:14px}
.champ.invalide input,.champ.invalide textarea{border-color:#FF8A7D}
.alerte-ok{padding:16px 18px;border-radius:14px;background:rgba(var(--vert-rgb),.12);border:1px solid rgba(var(--vert-rgb),.4);color:var(--texte);margin-bottom:18px}
.coordonnees{display:grid;gap:12px}
.coordonnee{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:var(--carte);border:1px solid var(--ligne)}
.coordonnee .pastille{margin:0;width:46px;height:46px;flex:none}
.coordonnee small{display:block;color:var(--doux);font-size:13px}.coordonnee b{font:600 16px var(--titre)}

@media (min-width:760px){
  .deux-colonnes{grid-template-columns:.8fr 1.2fr;gap:56px}
  .deux-colonnes.contact{grid-template-columns:1.3fr .7fr}
  .service-ligne{grid-template-columns:110px 1fr}
  .g2-formulaire{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .entete-page{padding:96px 0 48px}
}
/* Retouches lot 1 : boutons non soulignés dans un texte ; logos foncés lisibles sur fond sombre */
.texte-long a.bouton{text-decoration:none}.texte-long a.bouton.plein{color:var(--encre)}.texte-long a.bouton.contour{color:var(--texte)}
.techno img{background:#F5F2EA;border-radius:12px;padding:6px;width:52px;height:52px}

/* ─── Lot 2 de la refonte (03/10/2026) : Portfolio et liste du blog ─── */
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 26px}
.filtre{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--ligne);color:var(--doux);font:600 14px var(--titre);transition:border-color .2s,color .2s,background .2s}
.filtre:hover{border-color:rgba(var(--vert-rgb),.5);color:var(--texte)}
.filtre.actif{background:var(--vert);border-color:var(--vert);color:var(--encre)}
.filtre small{opacity:.7;font-weight:500}
.filtre .couleur{width:9px;height:9px;border-radius:50%}

.recherche{display:flex;gap:8px;max-width:560px;margin-top:22px}
.recherche input{flex:1;min-width:0;padding:14px 16px;border-radius:14px;border:1.5px solid var(--ligne);background:rgba(255,255,255,.05);color:var(--texte);font:400 16px var(--corps)}
.recherche input:focus{outline:none;border-color:var(--vert)}
.recherche button{border:0;cursor:pointer}

.cartes-articles{display:grid;gap:16px}
.carte-article{display:flex;flex-direction:column;padding:0;overflow:hidden;position:relative}
.carte-article .image{aspect-ratio:1200/630;background:linear-gradient(140deg,var(--vertsombre),var(--fondcarte));overflow:hidden;position:relative}
.carte-article .image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.carte-article:hover .image img{transform:scale(1.05)}
.carte-article .corps{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.carte-article h3{font-size:18px;margin:0}
.carte-article h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.carte-article .meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--doux);font-size:13px;margin-top:auto}
.carte-article .resume{color:var(--doux);font-size:15px}
.carte-article .etiquettes{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:2}
.rang{position:absolute;top:12px;left:12px;z-index:2;width:34px;height:34px;border-radius:50%;background:var(--vert);color:var(--encre);display:flex;align-items:center;justify-content:center;font:800 14px var(--titre)}

.pagination-v3{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:34px}
.pagination-v3 a,.pagination-v3 span{min-width:44px;height:44px;padding:0 12px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  border:1.5px solid var(--ligne);font:600 15px var(--titre);color:var(--doux)}
.pagination-v3 a:hover{border-color:var(--vert);color:var(--texte)}
.pagination-v3 .courante{background:var(--vert);border-color:var(--vert);color:var(--encre)}
.pagination-v3 .trou{border:0;min-width:auto}

.vide{text-align:center;padding:56px 24px}

.projets{display:grid;gap:16px}
.projet .image{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:linear-gradient(140deg,var(--vertsombre),var(--fondcarte));border:1px solid var(--ligne);position:relative}
.projet .image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.projet:hover .image img{transform:scale(1.05)}
.projet{display:flex;flex-direction:column;gap:12px;position:relative}
.projet h3{margin:4px 0 0}.projet h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.projet .externe{display:inline-flex;align-items:center;gap:6px;color:var(--vert);font:600 13px var(--titre)}
.projet .externe svg{width:15px;height:15px}

.fil-ariane{display:flex;flex-wrap:wrap;gap:8px;color:var(--doux);font-size:14px;margin-bottom:6px}
.fil-ariane a:hover{color:var(--vert)}
.image-projet{width:100%;border-radius:22px;border:1px solid var(--ligne);display:block}
.contenu-riche{color:var(--doux)}
.contenu-riche h2,.contenu-riche h3{color:var(--texte);margin:26px 0 10px}
.contenu-riche p,.contenu-riche ul,.contenu-riche ol{margin-bottom:14px}.contenu-riche ul,.contenu-riche ol{padding-left:22px}
.contenu-riche a{color:var(--vert);text-decoration:underline}
.fiche dl{display:grid;gap:12px}.fiche dt{font:600 13px var(--titre);color:var(--doux);text-transform:uppercase;letter-spacing:1.5px}.fiche dd{margin:2px 0 0}

@media (min-width:760px){
  .cartes-articles,.projets{grid-template-columns:repeat(2,1fr)}
  .fiche-projet{display:grid;grid-template-columns:1.5fr .7fr;gap:40px;align-items:start}
}
@media (min-width:1080px){.cartes-articles,.projets{grid-template-columns:repeat(3,1fr)}}
.rang{left:auto;right:12px}

/* ===== Lot 3 (03/10/2026) : page article + pages légales, zone de lecture CLAIRE ===== */
.conteneur.etroit{width:min(820px,100% - 32px)}
.entete-article{padding-bottom:28px}
.titre-article{font-size:clamp(30px,6.4vw,48px);line-height:1.12;letter-spacing:-1px}
.entete-page .etiquette{margin-top:14px}
.meta-article{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:18px;color:var(--doux);font-size:14px}
.meta-article span{display:inline-flex;align-items:center;gap:8px}.meta-article span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vert)}
.image-article{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:22px;border:1px solid var(--ligne);margin:8px 0 22px}

.zone-lecture{--l-fond:#FBF9F4;--l-texte:#22302A;--l-titre:#0B1A14;--l-doux:#5A6B63;--l-ligne:#E4E0D6;--l-lien:#0E7A4A;--l-code:#F1EEE6;
  background:var(--l-fond);color:var(--l-texte);border-radius:24px;padding:28px 20px;margin-bottom:28px;
  font:400 18px/1.75 var(--corps);overflow-wrap:break-word;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.zone-lecture>:first-child{margin-top:0}
.zone-lecture h2{font:800 clamp(23px,4.4vw,29px)/1.25 var(--titre);color:var(--l-titre);letter-spacing:-.4px;margin:40px 0 14px;scroll-margin-top:90px}
.zone-lecture h3{font:800 clamp(19px,3.6vw,22px)/1.3 var(--titre);color:var(--l-titre);margin:30px 0 10px;scroll-margin-top:90px}
.zone-lecture h4{font:800 17px/1.35 var(--titre);color:var(--l-titre);margin:24px 0 8px}
.zone-lecture p{margin:0 0 18px}
.zone-lecture ul,.zone-lecture ol{margin:0 0 18px;padding-left:24px}
.zone-lecture li{margin-bottom:6px}
.zone-lecture li::marker{color:var(--l-lien)}
.zone-lecture strong{color:var(--l-titre)}
.zone-lecture a{color:var(--l-lien);text-decoration:underline;text-underline-offset:3px}
.zone-lecture a:hover{text-decoration-thickness:2px}
.zone-lecture img{max-width:100%;height:auto;border-radius:12px;margin:22px 0}
.zone-lecture hr{border:0;border-top:1px solid var(--l-ligne);margin:32px 0}
.zone-lecture blockquote{border-left:4px solid var(--vert);background:#F0F6F1;padding:14px 20px;margin:22px 0;border-radius:0 12px 12px 0;color:#33443C}
.zone-lecture blockquote p:last-child{margin-bottom:0}
.zone-lecture code{font:500 .86em/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;background:var(--l-code);color:#7A2E12;padding:2px 6px;border-radius:6px;border:1px solid var(--l-ligne)}
.zone-lecture pre{background:var(--fond2);color:#E6EFE9;padding:18px 20px;border-radius:14px;overflow-x:auto;margin:0 0 22px;font-size:15px;line-height:1.6}
.zone-lecture pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.zone-lecture .table-defile,.zone-lecture table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:22px 0;font-size:16px}
.zone-lecture th,.zone-lecture td{border:1px solid var(--l-ligne);padding:10px 14px;text-align:left;vertical-align:top}
.zone-lecture th{background:var(--l-code);color:var(--l-titre);font-weight:600}
.zone-lecture .sommaire{background:#fff;border:1px solid var(--l-ligne);border-radius:16px;padding:16px 20px;margin-bottom:28px}
.zone-lecture .sommaire summary{font:800 17px var(--titre);color:var(--l-titre);cursor:pointer}
.zone-lecture .sommaire ol{margin:12px 0 0;padding-left:22px;font-size:16px;line-height:1.8}
.zone-lecture .sommaire a{text-decoration:none}
.zone-lecture .sommaire a:hover{text-decoration:underline}
.zone-lecture .a-lire{border-left:4px solid var(--or);background:#FFF7E6;padding:14px 20px;margin:28px 0;border-radius:0 12px 12px 0}
.zone-lecture .a-lire strong{font-family:var(--titre)}
.zone-lecture .a-lire ul{margin:8px 0 0}
.zone-lecture .faq{margin-top:44px}
.zone-lecture .faq details{background:#fff;border:1px solid var(--l-ligne);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.zone-lecture .faq summary{font-weight:600;color:var(--l-titre);cursor:pointer}
.zone-lecture .faq details p{margin:10px 0 0}
.zone-lecture .tags-article{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:22px;border-top:1px solid var(--l-ligne)}
.zone-lecture .tags-article a{padding:6px 12px;border-radius:999px;background:var(--l-code);color:var(--l-doux);font-size:14px;text-decoration:none}
.zone-lecture .tags-article a:hover{background:var(--l-lien);color:#fff}
.carte.partage{margin-bottom:18px}
.carte.partage h2{font-size:20px;margin:0}
.carte.partage .actions{margin-top:16px}
.carte.auteur{display:flex;gap:18px;align-items:center;margin-bottom:48px}
.carte.auteur img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(var(--vert-rgb),.4)}
.carte.auteur strong{font:800 18px var(--titre)}
.carte.auteur p{margin:4px 0 6px;font-size:15px}
.carte.auteur a{color:var(--vert);font:600 14px var(--titre)}
@media (min-width:720px){.zone-lecture{padding:48px 56px}}
.zone-lecture .bouton{margin:0 0 18px;text-decoration:none;cursor:pointer;border:0}

/* Logo « le sceau » (03/10/2026) */
.marque{display:inline-flex;align-items:center}.marque img{height:40px;width:auto;display:block}
.marque{margin-right:12px;flex-shrink:0}@media (max-width:440px){.marque img{height:31px}}
