/* ============================================================
   LAWNCH — Design system (achromatique)
   Cabinet de droit des plateformes numériques — Paris
   ============================================================ */
:root{
  --obsidienne:#0B0B0C;
  /* Gris ardoise : fond de l'en-tete et du hero. Le noir pur devient un accent
     reserve au bouton d'action et au filet de definition, pas un aplat de fond. */
  --ardoise:#26262A;
  --encre:#1D1D1F;
  --graphite:#48484A;
  --argent:#86868B;
  /* Argent reste la couleur de marque. Sur fond clair, le petit texte (11-13px)
     n'atteint pas 4,5:1 : cette variante plus dense assure WCAG AA sans quitter le gris. */
  --argent-texte:#5A5A5F;
  --brume:#F4F4F6;
  --brume-2:#FAFAFA;
  --blanc:#FFFFFF;
  --hairline:rgba(11,11,12,.12);
  --hairline-strong:rgba(11,11,12,.22);
  --hairline-light:rgba(255,255,255,.16);
  --titane:linear-gradient(140deg,#6E7075 0%,#E9EAEC 28%,#B9BBBF 50%,#F4F5F6 72%,#7A7C81 100%);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
/* Remap Kadence global palette to the achromatic set */
:root{
  --global-palette1:#0B0B0C; --global-palette2:#1D1D1F; --global-palette3:#0B0B0C;
  --global-palette4:#1D1D1F; --global-palette5:#48484A; --global-palette6:#86868B;
  --global-palette7:#F4F4F6; --global-palette8:#FAFAFA; --global-palette9:#FFFFFF;
  --global-palette-highlight:#0B0B0C; --global-palette-highlight-alt:#F4F4F6;
}

html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.6;color:var(--graphite);background:var(--blanc);}
.content-bg,body,#inner-wrap,.site{background:var(--blanc);}

/* ---- Typography ---- */
h1,h2,h3,h4,h5,h6,.entry-title{font-family:var(--serif);font-weight:400;color:var(--obsidienne);line-height:1.06;letter-spacing:.002em;}
h1{font-size:clamp(2.6rem,5.4vw,4.7rem);}
h2{font-size:clamp(2rem,3.8vw,3.15rem);}
h3{font-size:clamp(1.45rem,2.4vw,1.95rem);line-height:1.12;}
h4{font-size:1.3rem;line-height:1.2;}
p{margin:0 0 1.15em;}
a{color:var(--obsidienne);text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .2s ease,color .2s ease;}
strong{font-weight:600;color:var(--encre);}

/* ---- Utility type roles ---- */
.lw-eyebrow{font-family:var(--sans)!important;font-weight:500;font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);margin:0 0 1.4em;}
.lw-ref{font-family:var(--sans)!important;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);}
.lw-lead{font-family:var(--sans);font-weight:400;font-size:clamp(1.15rem,1.6vw,1.31rem);line-height:1.55;color:var(--encre);}
.lw-muted{color:var(--argent);}
.lw-serif-sub{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--graphite);line-height:1.15;}

/* ---- Layout scaffolding ---- */
.lw-section{padding-block:clamp(60px,9vw,132px);padding-inline:24px;}
.lw-section.lw-tight{padding-block:clamp(48px,6vw,84px);}
.lw-wrap{max-width:1180px;margin-inline:auto;}
.lw-wrap.lw-narrow{max-width:768px;}
.lw-brume{background:var(--brume);}
.lw-rule-top{border-top:1px solid var(--hairline);}
hr.wp-block-separator,.lw-hr{border:0;border-top:1px solid var(--hairline);opacity:1;margin-block:0;height:0;max-width:none;}

/* ---- Header ---- */
.site-header-row{background:var(--blanc);}
.site-main-header-wrap,.site-header-main-section-left,.site-header-main-section-right{align-items:center;}
#main-header,.site-header-row-container-inner{border-bottom:1px solid var(--hairline);}
.lawnch-logo{display:inline-flex;align-items:baseline;gap:.02em;font-family:var(--serif);font-weight:300;font-size:26px;letter-spacing:.30em;color:var(--obsidienne);text-decoration:none;line-height:1;padding-inline-end:.30em;}
.lawnch-logo:hover{color:var(--obsidienne);opacity:.72;}
/* A ouvert : trace vectoriel authentique (lawnch-A-ouvert.svg). Hauteur portee a
   1,06x la capitale, conformement au seul ecart optique autorise par la charte. */
.lawnch-logo .lw-a{display:inline-block;width:.555em;height:.70em;}
.lawnch-logo .lw-a svg{display:block;width:100%;height:100%;overflow:visible;}
.lawnch-tag{display:block;font-family:var(--sans);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--argent);margin-top:7px;padding-left:2px;}
/* Nav */
.header-navigation .header-menu-container>ul>li>a,.header-navigation ul li a{font-family:var(--sans)!important;font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--encre)!important;}
.header-navigation ul li a:hover,.header-navigation ul li.current-menu-item>a{color:var(--obsidienne)!important;}
.header-menu-container ul li.menu-item>a:after{display:none;}
/* Header CTA button */
.header-item .header-button,.wp-block-button__link,.button,button.button,input[type=submit],.kb-button,.header-button{font-family:var(--sans)!important;font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.13em;border-radius:2px;}
.header-item .header-button{background:var(--obsidienne)!important;color:var(--blanc)!important;border:1px solid var(--obsidienne)!important;padding:13px 26px!important;box-shadow:none!important;}
.header-item .header-button:hover{background:var(--encre)!important;border-color:var(--encre)!important;color:var(--blanc)!important;}

/* ---- Buttons (content) ---- */
.wp-block-button__link,.wp-block-buttons .wp-block-button__link{background:var(--obsidienne);color:var(--blanc);border:1px solid var(--obsidienne);border-radius:2px;padding:15px 30px;font-family:var(--sans);font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;box-shadow:none;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.wp-block-button__link:hover{background:var(--encre);border-color:var(--encre);color:var(--blanc);}
.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.lw-ghost .wp-block-button__link{background:transparent;color:var(--obsidienne);border:1px solid var(--hairline-strong);}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.lw-ghost .wp-block-button__link:hover{background:transparent;color:var(--obsidienne);border-color:var(--obsidienne);}
.lw-reassure{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--argent-texte);margin-top:16px;}

/* ---- Hero ---- */
.lw-hero{padding-block:clamp(72px,11vw,150px);}
.lw-hero h1{max-width:15ch;margin:0 0 .32em;}
.lw-hero .lw-lead{max-width:52ch;margin-bottom:2.4em;}

/* ---- Numbered situation list ---- */
.lw-rows{border-top:1px solid var(--hairline);}
.lw-row{display:grid;grid-template-columns:88px 1fr;gap:clamp(20px,4vw,64px);align-items:start;padding-block:clamp(30px,3.4vw,46px);border-bottom:1px solid var(--hairline);}
.lw-row .lw-num{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--argent);line-height:1;}
.lw-row h3{margin:0 0 .35em;}
.lw-row p{margin:0 0 .9em;color:var(--graphite);max-width:56ch;}

/* ---- Domaines grid ---- */
.lw-domaines{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-domaine{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:clamp(28px,2.6vw,42px);display:flex;flex-direction:column;gap:12px;min-height:210px;text-decoration:none;background:var(--blanc);transition:background .25s ease;}
.lw-domaine:hover{background:var(--brume);}
.lw-domaine h3{margin:0;font-size:clamp(1.4rem,2vw,1.8rem);}
.lw-domaine p{margin:0;color:var(--graphite);font-size:15.5px;line-height:1.5;flex:1;}
.lw-domaine .lw-ref{margin-top:auto;}
.lw-domaine .lw-idx{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--argent-texte);}

/* ---- Dark band ---- */
.lw-dark{background:var(--ardoise);color:#C9C9CE;}
.lw-dark h2,.lw-dark h3{color:var(--blanc);}
.lw-dark p{color:#B4B4B9;}
.lw-dark .lw-eyebrow,.lw-dark .lw-ref{color:#9A9AA0;}
/* Meme bouton que le hero et le header : noir plein, texte blanc. */
.lw-dark .wp-block-button__link{background:var(--obsidienne);color:#FFFFFF;border-color:var(--obsidienne);}
.lw-dark .wp-block-button__link:hover{background:var(--encre);border-color:var(--encre);color:#FFFFFF;}
.lw-titane-word{background:var(--titane);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--serif);}

/* ---- Method / two-col ---- */
.lw-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start;}
.lw-steps{list-style:none;margin:0;padding:0;}
.lw-steps li{padding:22px 0;border-top:1px solid var(--hairline);display:grid;grid-template-columns:34px 1fr;gap:18px;}
.lw-steps li:last-child{border-bottom:1px solid var(--hairline);}
/* 21,6px en graisse normale : sous le seuil WCAG du "grand texte", donc 4,5:1 requis. */
.lw-steps .lw-num{font-family:var(--serif);font-size:1.45rem;color:var(--argent-texte);line-height:1.25;}
.lw-steps strong{display:block;color:var(--encre);font-weight:600;margin-bottom:3px;font-size:16px;}
.lw-steps span{font-size:15px;color:var(--graphite);}

/* ---- About / proof ---- */
.lw-portrait{aspect-ratio:4/5;background:#0B0B0C url('portrait.svg') center/cover no-repeat;border:1px solid var(--hairline);position:relative;overflow:hidden;}
.lw-portrait::after{content:"";}
.lw-figures{display:flex;gap:clamp(28px,5vw,64px);flex-wrap:wrap;margin-top:8px;}
.lw-figure .lw-fig-n{font-family:var(--serif);font-size:clamp(2rem,3.4vw,2.9rem);color:var(--obsidienne);line-height:1;}
.lw-figure .lw-fig-l{font-family:var(--sans);font-size:12.5px;letter-spacing:.06em;color:var(--argent-texte);margin-top:8px;max-width:16ch;}

/* ---- Footer ---- */
.site-footer,.site-footer-row-container-inner{background:var(--ardoise)!important;}
.lw-footer{color:#9A9AA0;font-family:var(--sans);font-size:14px;line-height:1.7;}
.lw-footer a{color:#C9C9CE;text-decoration:none;}
.lw-footer a:hover{color:var(--blanc);}
.lw-footer .lw-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(28px,5vw,72px);max-width:1180px;margin-inline:auto;padding:clamp(56px,7vw,92px) 24px clamp(30px,3vw,40px);}
.lw-footer .lawnch-logo{color:var(--blanc);font-size:24px;margin-bottom:18px;}
.lw-footer h4{font-family:var(--sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:#9A9AA0;margin:0 0 16px;}
.lw-footer ul{list-style:none;margin:0;padding:0;}
.lw-footer li{margin-bottom:10px;}
.lw-footer .lw-legal{max-width:40ch;color:#9A9AA0;font-size:13px;}
.lw-foot-bottom{border-top:1px solid var(--hairline-light);max-width:1180px;margin-inline:auto;padding:22px 24px 8px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#9A9AA0;}
.lw-foot-bottom a{color:#9A9AA0;}

/* ---- Kadence resets ---- */
.entry-hero,.page-title,.entry-header .entry-title{}
.single-content>*,.entry-content>*{}
.wp-block-buttons{gap:14px;}

/* ---- Responsive ---- */
@media (max-width:1024px){
  .lw-footer .lw-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:781px){
  body{font-size:16px;}
  .lw-split{grid-template-columns:1fr;}
  .lw-domaines{grid-template-columns:1fr;}
  .lw-row{grid-template-columns:56px 1fr;gap:18px;}
  .lw-footer .lw-foot-grid{grid-template-columns:1fr;gap:36px;}
  .lw-foot-bottom{flex-direction:column;gap:8px;}
  .lawnch-logo{font-size:23px;}
}
/* ============================================================
   AFFINAGES - audit du 4 aout 2026
   Correctifs cibles uniquement. Aucun changement de palette,
   de typographie ni de structure de page.
   ============================================================ */

/* 1. Gouttieres. Kadence applique `.entry-content .alignfull{padding:0}`
   (specificite 0,2,0) qui neutralisait le padding-inline de .lw-section :
   a 390px le texte touchait le bord, a 768px il debordait de 7px.
   La gouttiere passe sur le conteneur interne, que Kadence ne cible pas. */
.lw-wrap{padding-inline:24px;}
@media(min-width:782px){.lw-wrap{padding-inline:32px;}}

/* 2. Focus clavier (WCAG 2.4.7). Aucun style de focus n'existait. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
select:focus-visible,.wp-block-button__link:focus-visible{
  outline:2px solid var(--obsidienne);outline-offset:3px;border-radius:1px;}
.lw-domaine:focus-visible{outline:2px solid var(--obsidienne);outline-offset:-5px;}
.lw-dark a:focus-visible,.lw-dark .wp-block-button__link:focus-visible,
.site-footer a:focus-visible,.lw-footer a:focus-visible{outline-color:#FFFFFF;}
/* 3. Cibles tactiles. Le CTA d'en-tete tombait a 30px de haut, le bouton
   secondaire a 32px, le bouton menu a 31px : sous le seuil confortable.
   Le selecteur `.header-item .header-button` ne matchait pas le balisage reel. */
a.header-button{padding:14px 26px!important;line-height:1.2!important;min-height:46px;
  display:inline-flex!important;align-items:center;justify-content:center;}
.wp-block-button.is-style-outline>.wp-block-button__link,
.wp-block-button.lw-ghost>.wp-block-button__link{padding:15px 30px;line-height:1.4;}
#mobile-toggle,.drawer-toggle,.menu-toggle,button[class*=popup-toggle]{min-width:46px;min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;}

/* 4. Affordance des cartes. Les huit domaines sont des liens : le survol et le
   focus doivent le dire. Fleche typographique simple - jamais le A ouvert,
   que la charte interdit comme signe d'interface. */
.lw-domaine{position:relative;}
.lw-domaine .lw-ref{padding-right:22px;position:relative;display:inline-block;}
.lw-domaine .lw-ref::after{content:"\2192";position:absolute;right:0;top:0;
  opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;
  color:var(--obsidienne);font-size:13px;}
.lw-domaine:hover .lw-ref::after,
.lw-domaine:focus .lw-ref::after,
.lw-domaine:focus-visible .lw-ref::after{opacity:1;transform:translateX(0);}
.lw-domaine h3{transition:opacity .2s ease;}
@media(prefers-reduced-motion:reduce){
  .lw-domaine .lw-ref::after,.lw-domaine h3{transition:none;}}
/* 5. Hero : profondeur. Trace architectural discret construit sur le A ouvert
   authentique (equerres, lignes cadastrales, cotation). Decoratif, sous le texte,
   sans requete tierce ni animation. Retire quand la place manque. */
.lw-hero{position:relative;overflow:hidden;}
.lw-hero .lw-wrap{position:relative;}
.lw-hero .lw-wrap>*{position:relative;z-index:1;}
.lw-hero .lw-wrap::after{content:'';position:absolute;z-index:0;pointer-events:none;
  top:50%;right:32px;transform:translateY(-50%);width:min(34%,400px);aspect-ratio:500/610;
  background:url('https://lawnch.fr/wp-content/uploads/lawnch/hero-trace.svg') no-repeat center/contain;opacity:.5;}
@media(max-width:1000px){.lw-hero .lw-wrap::after{display:none;}}

/* ============================================================
   REEQUILIBRAGE TONAL
   Constat : le blanc dominait, les filets et les gris manquaient de tenue.
   La charte prevoit "titane sur obsidienne - fonds sombres : page d'accueil" :
   cette facette n'avait jamais ete exploitee.
   Bloc entierement reversible : le supprimer restaure l'etat precedent.
   ============================================================ */

/* Filets plus presents : .12 etait quasi invisible. */
:root{--hairline:rgba(11,11,12,.19);--hairline-strong:rgba(11,11,12,.32);}

/* En-tete en obsidienne : le haut de page devient un bloc plein. */
.site-header-row,.site-header-row-container-inner,.site-main-header-wrap,
#main-header,.site-header-wrap{background:var(--ardoise);}
#main-header,.site-header-row-container-inner{border-bottom:1px solid rgba(11,11,12,.6);}
.lawnch-logo{color:#FFFFFF;}
.lawnch-logo:hover{color:#FFFFFF;opacity:.78;}
.header-navigation .header-menu-container>ul>li>a,
.header-navigation ul li a{color:#DCDCE0!important;}
.header-navigation ul li a:hover,
.header-navigation ul li.current-menu-item>a{color:#FFFFFF!important;}
.header-navigation .sub-menu{background:#141416;border:1px solid rgba(255,255,255,.12);}
.header-navigation .sub-menu li a{color:#C9C9CE!important;}
.header-navigation .sub-menu li a:hover{color:#FFFFFF!important;background:rgba(255,255,255,.06);}
#mobile-toggle,.drawer-toggle{color:#FFFFFF;}
/* CTA d'en-tete aligne sur celui du hero : meme bouton, meme noir plein. */
a.header-button{background:var(--obsidienne)!important;color:#FFFFFF!important;border-color:var(--obsidienne)!important;}
a.header-button:hover{background:var(--encre)!important;border-color:var(--encre)!important;color:#FFFFFF!important;}
.header-navigation a:focus-visible,.lawnch-logo:focus-visible,#mobile-toggle:focus-visible{outline-color:#FFFFFF;}
/* Hero en obsidienne : prolonge l'en-tete, ouvre chaque page sur un bloc plein. */
.lw-hero{background:var(--ardoise);color:#C9C9CE;}
.lw-hero h1{color:#FFFFFF;}
.lw-hero .lw-lead{color:#C4C4CA;}
.lw-hero .lw-eyebrow{color:#9A9AA0;}
.lw-hero .lw-reassure{color:#9A9AA0;}
.lw-hero p{color:#B4B4B9;}
/* Bouton principal du hero : noir plein, seul objet vraiment noir sur le gris ardoise. */
.lw-hero .wp-block-button__link{background:var(--obsidienne);color:#FFFFFF;border-color:var(--obsidienne);}
.lw-hero .wp-block-button__link:hover{background:var(--encre);border-color:var(--encre);color:#FFFFFF;}
.lw-hero .wp-block-button.is-style-outline>.wp-block-button__link,
.lw-hero .wp-block-button.lw-ghost>.wp-block-button__link{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.38);}
.lw-hero .wp-block-button.is-style-outline>.wp-block-button__link:hover,
.lw-hero .wp-block-button.lw-ghost>.wp-block-button__link:hover{border-color:#FFFFFF;color:#FFFFFF;background:transparent;}
.lw-hero a:focus-visible,.lw-hero .wp-block-button__link:focus-visible{outline-color:#FFFFFF;}
.lw-hero .lw-wrap::after{opacity:.72;}
/* La section qui suit le hero ne doit pas coller au noir. */
.lw-hero+.lw-section.lw-rule-top{border-top:0;}
/* Rythme des fonds : la grille des domaines passe sur brume pour casser
   la succession de sections blanches (selection par :has, sans toucher au contenu). */
.lw-section:has(.lw-domaines){background:var(--brume);}
.lw-section:has(.lw-domaines) .lw-domaine{background:var(--blanc);}

/* Survol des cartes : inversion pleine. Tactile, sans couleur ajoutee. */
.lw-domaine{transition:background .22s ease,border-color .22s ease;}
.lw-domaine:hover,.lw-domaine:focus-visible{background:var(--obsidienne);}
.lw-domaine:hover h3,.lw-domaine:focus-visible h3{color:#FFFFFF;}
.lw-domaine:hover p,.lw-domaine:focus-visible p{color:#B4B4B9;}
.lw-domaine:hover .lw-ref,.lw-domaine:focus-visible .lw-ref,
.lw-domaine:hover .lw-idx,.lw-domaine:focus-visible .lw-idx{color:#9A9AA0;}
.lw-domaine:hover .lw-ref::after,.lw-domaine:focus-visible .lw-ref::after{color:#FFFFFF;}
.lw-domaine:focus-visible{outline-color:#FFFFFF;outline-offset:-6px;}

/* Chiffres des situations : plus de presence, moins de timidite. */
.lw-row .lw-num{color:var(--encre);}
@media(prefers-reduced-motion:reduce){.lw-domaine{transition:none;}}
/* Le titane, seule matiere non neutre de l'identite, sur fond sombre uniquement. */
.lw-hero .lw-wrap::after{background-image:url('https://lawnch.fr/wp-content/uploads/lawnch/hero-trace-dark.svg');}

/* Alternance des fonds sur l'accueil : obsidienne / blanc / brume / blanc / brume / obsidienne.
   Portee limitee a la page d'accueil pour ne pas defaire le rythme des pages d'expertise. */
:is(body.home,.page-id-70,.page-id-71) .lw-section.lw-brume:has(.lw-steps){background:var(--blanc);}
:is(body.home,.page-id-70,.page-id-71) .lw-section:has(.lw-figures){background:var(--brume);}
:is(body.home,.page-id-70,.page-id-71) .lw-section:has(.lw-figures){border-top:0;}
/* ============================================================
   PHOTOGRAPHIE - Charles Marville (Paris, années 1860), CC0 / domaine public.
   Choix assumé : des tirages d'époque du Paris haussmannien plutôt que des
   photos de banque d'images. Nativement monochromes, donc fidèles a la charte.
   ============================================================ */
body.home .lw-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('https://lawnch.fr/wp-content/uploads/lawnch/hero-paris.webp') no-repeat center right/cover;opacity:.62;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 88%);
  mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 88%);}
/* Les deux decors du hero se melangent desormais sur l'accueil : la photographie
   et le trace metallique du logo (au lieu de masquer l'un des deux). */
@media(max-width:900px){body.home .lw-hero::before{opacity:.28;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 100%);}}

/* Section cabinet : le bloc graphique laisse place a un vrai tirage. */
.lw-portrait{background:#0B0B0C url('https://lawnch.fr/wp-content/uploads/2026/08/lawnch-rue-seguier-marville.webp') center/cover no-repeat;}
.lw-portrait::after{content:'CHARLES MARVILLE · RUE SÉGUIER, PARIS';position:absolute;left:16px;bottom:14px;
  font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.18em;color:rgba(255,255,255,.82);
  text-shadow:0 1px 3px rgba(0,0,0,.85);}

/* ============================================================
   APERCUS DE HERO CLAIR - page 70 (blanc) et page 71 (gris/brume).
   Reprennent la photographie et le logotype sombre.
   Portee strictement limitee a ces deux pages : l'accueil n'est pas touche.
   ============================================================ */
.page-id-70{--hero-ground:#FFFFFF;}
.page-id-71{--hero-ground:#F4F4F6;}

/* En-tete clair, logotype et navigation en obsidienne. */
:is(.page-id-70,.page-id-71) :is(.site-header-row,.site-header-row-container-inner,.site-main-header-wrap,#main-header,.site-header-wrap){background:var(--hero-ground);}
:is(.page-id-70,.page-id-71) :is(#main-header,.site-header-row-container-inner){border-bottom:1px solid var(--hairline);}
:is(.page-id-70,.page-id-71) .lawnch-logo{color:var(--obsidienne);}
:is(.page-id-70,.page-id-71) .header-navigation ul li a{color:var(--encre)!important;}
:is(.page-id-70,.page-id-71) .header-navigation ul li a:hover{color:var(--obsidienne)!important;}
:is(.page-id-70,.page-id-71) .header-navigation .sub-menu{background:var(--blanc);border:1px solid var(--hairline);}
:is(.page-id-70,.page-id-71) .header-navigation .sub-menu li a{color:var(--graphite)!important;}
:is(.page-id-70,.page-id-71) .header-navigation .sub-menu li a:hover{color:var(--obsidienne)!important;background:var(--brume);}
:is(.page-id-70,.page-id-71) :is(#mobile-toggle,.drawer-toggle){color:var(--obsidienne);}
:is(.page-id-70,.page-id-71) a.header-button{background:var(--obsidienne)!important;color:#FFFFFF!important;border-color:var(--obsidienne)!important;}
:is(.page-id-70,.page-id-71) a.header-button:hover{background:var(--encre)!important;border-color:var(--encre)!important;}
:is(.page-id-70,.page-id-71) :is(.header-navigation a,.lawnch-logo,#mobile-toggle):focus-visible{outline-color:var(--obsidienne);}
/* Hero clair : fond, typographie et boutons rebascules en clair. */
:is(.page-id-70,.page-id-71) .lw-hero{background:var(--hero-ground);color:var(--graphite);}
:is(.page-id-70,.page-id-71) .lw-hero h1{color:var(--obsidienne);}
:is(.page-id-70,.page-id-71) .lw-hero .lw-lead{color:var(--encre);}
:is(.page-id-70,.page-id-71) .lw-hero p{color:var(--graphite);}
:is(.page-id-70,.page-id-71) .lw-hero :is(.lw-eyebrow,.lw-reassure){color:var(--argent-texte);}
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button__link{background:var(--obsidienne);color:#FFFFFF;border-color:var(--obsidienne);}
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button__link:hover{background:var(--encre);border-color:var(--encre);color:#FFFFFF;}
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.is-style-outline>.wp-block-button__link,:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.lw-ghost>.wp-block-button__link{background:transparent;color:var(--obsidienne);border-color:var(--hairline-strong);}
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.is-style-outline>.wp-block-button__link:hover,:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.lw-ghost>.wp-block-button__link:hover{border-color:var(--obsidienne);color:var(--obsidienne);}
:is(.page-id-70,.page-id-71) .lw-hero :is(a,.wp-block-button__link):focus-visible{outline-color:var(--obsidienne);}
/* Le trace titane cede la place a la photographie, en version claire. */
:is(.page-id-70,.page-id-71) .lw-hero .lw-wrap::after{display:none;}
:is(.page-id-70,.page-id-71) .lw-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('https://lawnch.fr/wp-content/uploads/lawnch/hero-paris-clair.webp') no-repeat center right/cover;opacity:.85;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 88%);
  mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 88%);}
@media(max-width:900px){:is(.page-id-70,.page-id-71) .lw-hero::before{opacity:.3;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 100%);}}

/* Le pied de page reste sombre sur les apercus : son logotype doit rester blanc. */
:is(.page-id-70,.page-id-71) .lw-footer .lawnch-logo{color:#FFFFFF;}

/* Sur fond clair, le hero et la section suivante ont besoin d'un filet de separation. */
:is(.page-id-70,.page-id-71) .lw-hero+.lw-section.lw-rule-top{border-top:1px solid var(--hairline);}

/* ============================================================
   RETOUCHES DU 4 AOUT 2026 (version sombre conservee)
   ============================================================ */
/* 1. Photographie eclaircie de ~10% a la source ; URL versionnee car le fichier
      garde son nom et les assets sont caches 30 jours. Le fondu atteint sa pleine
      opacite un peu plus tot : la rue se lit mieux a droite, sans toucher au texte. */
body.home .lw-hero::before{background-image:url('https://lawnch.fr/wp-content/uploads/lawnch/hero-paris.webp?v=1785869241');
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 85%);
  mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 85%);}

/* 2. Accroche du hero plus lumineuse. */
.lw-hero .lw-lead{color:#DCDCDF;}

/* 3. Bordure du bouton secondaire plus affirmee (contraste porte de 3,5:1 a 6,4:1). */
.lw-hero .wp-block-button.is-style-outline>.wp-block-button__link,
.lw-hero .wp-block-button.lw-ghost>.wp-block-button__link{border-color:rgba(255,255,255,.55);}

/* 4. Hero raccourci d'environ 50px sur desktop : la section suivante s'amorce. */
@media(min-width:1025px){.lw-hero{padding-block:clamp(72px,9vw,125px);}}

/* ============================================================
   CORRECTIFS - audit du 4 aout 2026
   ============================================================ */

/* BUG 1. .lw-ob et .lw-list etaient utilisees dans le contenu des 8 pages
   Domaines mais n'avaient jamais ete definies (l'appel qui devait les ecrire
   avait echoue). Consequence : dans "Ce que dit le droit", le bloc heritait de
   la grille 88px 1fr de .lw-row et tombait dans la colonne de 88px. */
.lw-rows.lw-ob .lw-row{grid-template-columns:1fr;}
.lw-ob .lw-row>div{min-width:0;}

.lw-list{list-style:none;margin:0;padding:0;}
.lw-list li{padding:14px 0;border-top:1px solid var(--hairline);font-size:15.5px;
  line-height:1.5;color:var(--graphite);}
.lw-list li:last-child{border-bottom:1px solid var(--hairline);}

/* BUG 2. Le tiroir mobile gardait le noir bleute de Kadence (#090C10) et la
   typographie par defaut : ni l'obsidienne de la charte, ni la nav de marque. */
#mobile-drawer .drawer-inner{background:var(--ardoise);}
#mobile-drawer .drawer-header{border-bottom:1px solid rgba(255,255,255,.14);}
#mobile-drawer .menu-toggle-close{color:#FFFFFF;min-width:46px;min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;}
#mobile-drawer .mobile-navigation a{font-family:var(--sans);font-weight:500;font-size:13px;
  text-transform:uppercase;letter-spacing:.13em;color:#DCDCE0;}
#mobile-drawer .mobile-navigation a:hover{color:#FFFFFF;}
#mobile-drawer .mobile-menu-container>ul>li{border-bottom:1px solid rgba(255,255,255,.10);}
#mobile-drawer .sub-menu a{font-size:12px;letter-spacing:.1em;color:#9A9AA0;text-transform:none;}
#mobile-drawer .sub-menu a:hover{color:#FFFFFF;}
#mobile-drawer .drawer-sub-toggle{color:#9A9AA0;min-width:44px;min-height:44px;}
#mobile-drawer :is(a,button):focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;}

/* BUG 3. Aucun CTA sous 1024px : ajoute dans l'en-tete mobile et dans le tiroir. */
.mobile-header-button,#mobile-drawer .mobile-header-button{border-radius:2px;
  font-family:var(--sans)!important;font-weight:500;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.11em;padding:11px 16px!important;min-height:44px;line-height:1.2!important;
  display:inline-flex!important;align-items:center;justify-content:center;box-shadow:none!important;}
#mobile-drawer .mobile-header-button-wrap{margin-top:26px;}
#mobile-drawer .mobile-header-button{width:100%;padding:14px 20px!important;font-size:12.5px;}
/* Petits ecrans (<=400px) : logotype et CTA resserres, sinon ils se touchent a 360px. */
@media(max-width:400px){
  .lawnch-logo{font-size:20px;}
  .mobile-header-button{padding:10px 12px!important;font-size:11px;letter-spacing:.08em;}
  .site-header-main-section-left,.site-header-main-section-right{gap:8px;}
}@media(max-width:400px){
  #main-header .site-container,
  #main-header .site-header-row-container-inner,
  .site-header-row-layout-standard .site-container{padding-left:14px;padding-right:14px;}
  .mobile-header-button{padding:10px 11px!important;}
}
.mobile-header-button{background:var(--obsidienne)!important;color:#FFFFFF!important;border:1px solid var(--obsidienne)!important;}
#mobile-drawer .mobile-header-button{background:var(--obsidienne)!important;color:#FFFFFF!important;border:1px solid var(--obsidienne)!important;}

/* Filigrane du monogramme dans le hero : mobile et tablette uniquement (<1000px),
   la ou le trace titane desktop est masque. Grand format, tres discret, dans l'arriere-plan,
   jamais sur desktop. Contenu par .lw-hero{overflow:hidden} deja en place. */
@media(max-width:1000px){
  /* Deplace de .lw-hero::after vers .lw-wrap::before le 2026-08-10 : le motif anime a
     pris le ::after du hero, seul emplacement pleine largeur encore libre. bottom:-132px
     reproduit a moins d'1px la position rendue par l'ancien -6% du hero, mesuree a
     390px (-131,4) et a 768px (-132,3). */
  .lw-hero .lw-wrap::before{content:'';position:absolute;right:-8%;bottom:-132px;z-index:0;pointer-events:none;
    width:min(62vw,460px);aspect-ratio:67.2/84.8;
    background:url('https://lawnch.fr/wp-content/uploads/lawnch/lawnch-A-watermark.svg') no-repeat center/contain;opacity:.12;}
}

/* Le trace architectural complet (equerres, cadastre, cotation) reapparait aussi
   sur mobile/tablette, en plus du filigrane simple : les deux couches coexistent. */
@media(max-width:1000px){
  .lw-hero .lw-wrap::after{display:block;width:min(58vw,320px);right:4%;}
}

/* ============================================================
   CORPS DE PAGE ENRICHI - 6 aout 2026
   Qualification, timeline, differenciateurs, onglets, chiffres,
   tarification, reassurance. Reprend les tokens existants.
   ============================================================ */

/* ---- Cartes de qualification (cliquables, interactives) ---- */
.lw-qual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-qual-card{appearance:none;-webkit-appearance:none;border:none;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:clamp(26px,2.4vw,38px);
  display:flex;flex-direction:column;gap:10px;min-height:150px;background:var(--blanc);cursor:pointer;text-align:left;
  font-family:inherit;transition:background .2s ease;}
.lw-qual-card:hover,.lw-qual-card:focus-visible{background:var(--brume);}
/* Etat actif : bordure et poids, pas de bascule de fond (fiabilite verifiee). */
.lw-qual-card.is-active{border-color:var(--obsidienne);box-shadow:inset 0 0 0 1px var(--obsidienne);}
.lw-qual-card.is-active h3{font-weight:600;}
.lw-qual-card.is-active .lw-idx{color:var(--obsidienne);}
.lw-qual-card .lw-idx{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--argent-texte);}
.lw-qual-card h3{margin:0;font-size:1.15rem;}
.lw-qual-card p{margin:0;font-size:14.5px;color:var(--graphite);line-height:1.5;}
.lw-qual-result{max-height:0;overflow:hidden;transition:max-height .35s ease;border-top:0 solid var(--hairline);}
.lw-qual-result.is-open{max-height:220px;border-top-width:1px;}
.lw-qual-result-inner{padding-block:clamp(24px,3vw,36px);display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between;}
.lw-qual-result-text{font-family:var(--serif);font-size:1.3rem;color:var(--encre);max-width:44ch;}
.lw-qual-result-text strong{font-weight:600;}
@media(max-width:781px){.lw-qual-grid{grid-template-columns:1fr;}.lw-qual-result.is-open{max-height:280px;}}
/* ---- Timeline du processus ---- */
.lw-timeline{position:relative;padding-left:52px;}
.lw-timeline::before{content:'';position:absolute;left:15px;top:8px;bottom:8px;width:1px;background:var(--hairline-strong);}
.lw-tl-step{position:relative;padding-bottom:clamp(28px,3vw,44px);}
.lw-tl-step:last-child{padding-bottom:0;}
.lw-tl-step::before{content:'';position:absolute;left:-52px;top:2px;width:31px;height:31px;border-radius:50%;
  background:var(--blanc);border:1px solid var(--obsidienne);}
.lw-tl-step .lw-tl-num{position:absolute;left:-52px;top:2px;width:31px;height:31px;display:flex;align-items:center;
  justify-content:center;font-family:var(--serif);font-weight:600;font-size:14px;color:var(--obsidienne);}
.lw-tl-step h3{margin:0 0 .3em;font-size:1.2rem;}
.lw-tl-step p{margin:0;color:var(--graphite);font-size:15px;max-width:52ch;}
/* ---- Differenciateurs (4 cartes, affirmations positives) ---- */
.lw-diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-diff-card{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:clamp(24px,2vw,32px);}
.lw-diff-mark{font-family:var(--serif);font-size:1.7rem;color:var(--argent);line-height:1;margin-bottom:14px;}
.lw-diff-card h3{margin:0 0 .4em;font-size:1.05rem;}
.lw-diff-card p{margin:0;font-size:14px;color:var(--graphite);line-height:1.5;}
@media(max-width:1024px){.lw-diff-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.lw-diff-grid{grid-template-columns:1fr;}}
/* ---- Onglets d'expertise ---- */
.lw-tabs-list{display:flex;gap:0;border-bottom:1px solid var(--hairline);flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.lw-tab-btn{appearance:none;-webkit-appearance:none;font-family:var(--sans);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.11em;
  color:var(--argent-texte);background:var(--blanc)!important;border:none;border-bottom:2px solid transparent;padding:16px 22px 14px;
  cursor:pointer;margin-bottom:-1px;transition:color .2s ease,border-color .2s ease;}
.lw-tab-btn:hover{color:var(--encre);}
.lw-tab-btn[aria-selected="true"]{background:var(--blanc)!important;color:var(--obsidienne);border-bottom-color:var(--obsidienne);}
.lw-tab-btn:focus-visible{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-tabpanel{display:none;padding-top:clamp(28px,3vw,44px);}
.lw-tabpanel.is-active{display:block;}
.lw-tabpanel .lw-lead{margin-bottom:1.6em;}
.lw-tabpanel .lw-two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start;}
.lw-tabpanel .lw-list{margin-top:0;}
@media(max-width:781px){.lw-tabpanel .lw-two-col{grid-template-columns:1fr;}.lw-tabs-list{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;}.lw-tab-btn{white-space:nowrap;padding:14px 16px 12px;font-size:12px;}}
/* ---- Chiffres cles (section sombre) ---- */
.lw-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,48px);}
.lw-stat{text-align:left;border-top:1px solid rgba(255,255,255,.18);padding-top:20px;}
.lw-stat .lw-stat-n{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,5vw,4rem);color:#FFFFFF;line-height:1;}
.lw-stat .lw-stat-l{font-family:var(--sans);font-size:13px;color:#9A9AA0;margin-top:10px;max-width:22ch;}
@media(max-width:600px){.lw-stats-grid{grid-template-columns:1fr;}}
/* ---- Tarification ---- */
.lw-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-price-card{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:clamp(28px,2.6vw,40px);
  display:flex;flex-direction:column;gap:16px;}
.lw-price-card.is-featured{background:var(--obsidienne);}
.lw-price-card.is-featured *{color:#FFFFFF;}
.lw-price-card.is-featured .lw-ref{color:#9A9AA0;}
.lw-price-card h3{margin:0;font-size:1.25rem;}
.lw-price-mode{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--argent-texte);}
.lw-price-card.is-featured .lw-price-mode{color:#9A9AA0;}
.lw-price-card ul{list-style:none;margin:0;padding:0;flex:1;}
.lw-price-card li{padding:9px 0;border-top:1px solid var(--hairline);font-size:14.5px;color:var(--graphite);}
.lw-price-card.is-featured li{border-top-color:rgba(255,255,255,.16);color:#C9C9CE;}
@media(max-width:1024px){.lw-pricing-grid{grid-template-columns:1fr;}}
/* ---- Reassurance finale ---- */
.lw-trust-row{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hairline);}
.lw-trust-item{flex:1 1 220px;padding:22px 24px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.lw-trust-item .lw-ref{display:block;margin-bottom:6px;}
.lw-trust-item p{margin:0;font-size:14.5px;color:var(--graphite);}
/* ---- Coordonnees de contact (portees dans le systeme, remplace le style en ligne injecte) ---- */
.lw-contact-infos{display:grid;gap:0;}
.lw-contact-infos .lw-ci-item{padding:1.5rem 0;border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:140px 1fr;align-items:baseline;gap:1rem;}
.lw-contact-infos .lw-ci-item:first-child{border-top:1px solid var(--hairline);}
.lw-contact-infos .lw-ci-val{font-size:1.15rem;font-weight:400;line-height:1.4;margin:0;color:var(--encre);}
.lw-contact-infos a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;}
.lw-contact-infos a:hover{opacity:.65;}
@media(max-width:600px){.lw-contact-infos .lw-ci-item{grid-template-columns:1fr;gap:.25rem;}}
/* ---- Formulaire de contact ---- */
.lw-form{display:grid;gap:1.25rem;margin-top:2rem;max-width:640px;}
.lw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:640px){.lw-form-row{grid-template-columns:1fr;}}
.lw-form-field{display:flex;flex-direction:column;gap:.4rem;}
.lw-form-field label{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--argent-texte);font-weight:500;}
.lw-form-field input,.lw-form-field textarea,.lw-form-field select{padding:.85rem 1rem;border:1px solid var(--hairline-strong);background:var(--blanc);
  font:inherit;color:var(--encre);border-radius:2px;transition:border-color .15s;appearance:none;-webkit-appearance:none;}
.lw-form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2348484A' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.5rem;}
.lw-form-field input:focus,.lw-form-field textarea:focus,.lw-form-field select:focus{outline:none;border-color:var(--obsidienne);box-shadow:0 0 0 1px var(--obsidienne);}
.lw-form-field textarea{resize:vertical;min-height:140px;font-family:inherit;}
.lw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.lw-form-actions{margin-top:.5rem;}
.lw-form-submit{appearance:none;-webkit-appearance:none;display:inline-block;padding:.9rem 1.75rem;background:var(--obsidienne);
  color:#FFFFFF;border:1px solid var(--obsidienne);font:inherit;font-family:var(--sans);font-weight:500;font-size:14px;
  letter-spacing:.02em;cursor:pointer;border-radius:2px;transition:background .15s;}
.lw-form-submit:hover{background:var(--encre);}
.lw-form-submit:disabled{opacity:.55;cursor:wait;}
.lw-form-submit:focus-visible{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-form-status{min-height:1.5em;font-family:var(--sans);font-size:14.5px;margin-top:.25rem;color:var(--graphite);}
.lw-form-status.is-ok{color:#0a6b3a;}
.lw-form-status.is-err{color:#a01515;}
/* ============================================================
   FAQ - accordeon natif (details/summary), sans JS.
   ============================================================ */
.lw-faq{border-top:1px solid var(--hairline);}
.lw-faq-item{border-bottom:1px solid var(--hairline);}
.lw-faq-item summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;align-items:baseline;
  justify-content:space-between;gap:20px;font-family:var(--serif);font-size:1.15rem;color:var(--encre);}
.lw-faq-item summary::-webkit-details-marker{display:none;}
.lw-faq-item summary::after{content:'+';font-family:var(--sans);font-size:20px;font-weight:400;
  color:var(--argent-texte);flex-shrink:0;transition:transform .25s ease;}
.lw-faq-item[open] summary::after{transform:rotate(45deg);}
.lw-faq-item summary:hover{color:var(--obsidienne);}
.lw-faq-item summary:focus-visible{outline:2px solid var(--obsidienne);outline-offset:4px;}
.lw-faq-answer{padding:0 0 24px;color:var(--graphite);font-size:15.5px;line-height:1.6;max-width:64ch;}
.lw-faq-answer p{margin:0;}

/* ============================================================
   JOURNAL - grille d'articles, page article, composants de contenu
   ============================================================ */

/* ---- Filtres (renvoient vers les dossiers piliers) ---- */
.lw-jfiltres{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.lw-jfiltre{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--argent-texte);text-decoration:none;padding:16px 22px 16px 0;margin-right:22px;transition:color .2s ease;}
.lw-jfiltre:hover{color:var(--obsidienne);}
.lw-jfiltre.est-actif{color:var(--encre);}

/* ---- Grille d'articles ---- */
.lw-journal{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-jcard{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:clamp(26px,2.4vw,38px);display:flex;flex-direction:column;gap:10px;min-height:260px;
  text-decoration:none;background:var(--blanc);transition:background .25s ease;}
.lw-jcard:hover{background:var(--brume);}
.lw-jcard .lw-idx{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--argent-texte);}
.lw-jcard h3{margin:0;font-size:clamp(1.18rem,1.5vw,1.42rem);line-height:1.25;color:var(--encre);}
.lw-jcard p{margin:0;color:var(--graphite);font-size:15px;line-height:1.55;flex:1;}
.lw-jdate{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--argent-texte);margin-top:auto;}
.lw-journal-vide{color:var(--graphite);font-size:15.5px;padding:36px 0;border-top:1px solid var(--hairline);}
.lw-jdossier{margin:28px 0 0;font-family:var(--sans);font-size:13px;}
.lw-jdossier a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--hairline-strong);padding-bottom:2px;}
.lw-jdossier a:hover{border-color:var(--obsidienne);}
/* Le filtre actif n'est pas un lien : il doit rester lisible et non cliquable. */
span.lw-jfiltre.est-actif{cursor:default;}

/* ---- Pagination ---- */
.lw-jpager{display:flex;align-items:center;gap:26px;padding:28px 0 0;font-family:var(--sans);font-size:13px;}
.lw-jpager a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--hairline-strong);padding-bottom:2px;}
.lw-jpager a:hover{border-color:var(--obsidienne);}
.lw-jpager-etat{color:var(--argent-texte);letter-spacing:.1em;text-transform:uppercase;font-size:11px;}

/* ---- Page article (single post) ---- */
.single-post .entry.single-entry{background:transparent;}
.single-post .entry-content-wrap{max-width:768px;margin-inline:auto;padding:clamp(48px,6vw,84px) 24px;}
.single-post .entry-header{margin-bottom:clamp(28px,3vw,44px);}
.single-post .entry-taxonomies .category-links a{font-family:var(--sans);font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);text-decoration:none;}
.single-post .entry-taxonomies .category-links a:hover{color:var(--obsidienne);}
.single-post h1.entry-title{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,3rem);
  line-height:1.12;letter-spacing:-.01em;color:var(--encre);margin:14px 0 16px;}
.single-post .entry-meta{font-family:var(--sans);font-size:12px;color:var(--argent-texte);letter-spacing:.04em;}
.single-post .entry-meta a{color:var(--argent-texte);text-decoration:none;}
.single-post .entry-meta a:hover{color:var(--obsidienne);}
.single-post .entry-content.single-content{font-size:16.5px;line-height:1.68;color:var(--encre);}
.single-post .entry-content > p{margin:0 0 1.35em;max-width:68ch;}
.single-post .entry-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);
  line-height:1.2;margin:2.4em 0 .6em;color:var(--encre);}
.single-post .entry-content h3{font-family:var(--sans);font-weight:600;font-size:1.08rem;margin:2em 0 .5em;color:var(--encre);}
.single-post .entry-content ul,.single-post .entry-content ol{margin:0 0 1.35em;padding-left:1.15em;max-width:68ch;}
.single-post .entry-content li{margin:0 0 .5em;color:var(--encre);}
/* Les liens de corps de texte : soulignes. Le :not() est indispensable, sinon cette regle
   l'emporte en specificite sur .lw-cta-band .wp-block-button__link et rend le bouton illisible. */
.single-post .entry-content a:not(.wp-block-button__link){color:var(--encre);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:var(--hairline-strong);}
.single-post .entry-content a:not(.wp-block-button__link):hover{text-decoration-color:var(--obsidienne);}
.single-post .entry-content .lw-cta-band .wp-block-button__link{color:#FFFFFF;text-decoration:none;}
.single-post .entry-content .lw-lead{margin:0 0 1.8em;}
.single-post .entry-content .lw-ref{display:block;margin:-.9em 0 1.9em;}

/* ---- Fil d'Ariane et retour ---- */
.lw-fil{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--argent-texte);margin:0 0 2.4em;display:flex;gap:10px;flex-wrap:wrap;}
.lw-fil a{color:var(--argent-texte);text-decoration:none;}
.lw-fil a:hover{color:var(--obsidienne);}
.lw-retour{margin-top:3em;padding-top:1.6em;border-top:1px solid var(--hairline);font-family:var(--sans);font-size:13px;}
.lw-retour a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--hairline-strong);padding-bottom:2px;}
.lw-retour a:hover{border-color:var(--obsidienne);}

/* ---- Composants de contenu d'article ---- */
.lw-callout{background:var(--brume);border-left:2px solid var(--obsidienne);padding:clamp(22px,2.4vw,30px);margin:2.4em 0;}
.lw-callout h3{margin:0 0 .7em!important;font-family:var(--sans)!important;font-size:11px!important;
  font-weight:500!important;text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte)!important;}
.lw-callout ul{margin:0!important;padding-left:1.1em;}
.lw-callout li{color:var(--encre);font-size:15.5px;line-height:1.55;}
.lw-cta-band{background:var(--ardoise);color:#C9C9CE;padding:clamp(34px,4vw,52px);margin:3em 0 0;}
.lw-cta-band h2{color:var(--blanc)!important;margin:0 0 .4em!important;font-size:clamp(1.4rem,2.2vw,1.9rem)!important;}
.lw-cta-band p{color:#B4B4B9!important;margin:0 0 1.6em!important;}
.lw-cta-band .wp-block-button__link{background:var(--obsidienne);color:#FFFFFF;border-color:var(--obsidienne);}
.lw-cta-band .wp-block-button__link:hover{background:var(--encre);border-color:var(--encre);color:#FFFFFF;}
.lw-disclaimer{font-size:13px!important;line-height:1.6;color:var(--argent-texte)!important;
  margin:2.4em 0 0!important;padding-top:1.4em;border-top:1px solid var(--hairline);max-width:none!important;}

@media(max-width:1024px){
  .lw-journal{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .lw-journal{grid-template-columns:1fr;}
  .lw-jcard{min-height:0;}
  .lw-jfiltre{padding:12px 18px 12px 0;margin-right:18px;font-size:11px;}
  .lw-jpager{gap:16px;flex-wrap:wrap;}
}


/* ============================================================
   MOTIF DE FOND — Équerres de repérage (sitewide, 7 août 2026)
   Retenu par le client après comparaison de cinq motifs sur pages d'essai.

   Deux nappes d'équerres décalées d'un demi-pas et déphasées de 3,5 s :
   l'allumage se lit comme une vague. Reprend les équerres du tracé du hero.

   Trois choix d'implémentation, chacun délibéré :
   • seule l'OPACITÉ est animée (aucun transform) — donc la couche tient dans
     inset:0 et .lw-section n'a PAS besoin d'overflow:hidden. C'est ce qui rend
     la pose sitewide sûre : rien de ce qui déborde déjà d'une section n'est coupé.
   • le hero est exclu partout : il a déjà son propre tracé.
   • opacité deux fois plus forte sur fond clair que sur fond sombre : à opacité
     égale un filet blanc sur ardoise fait +42 % de luminance quand un filet noir
     sur blanc n'en fait que −5 %. Même opacité n'est pas même présence.
   ============================================================ */

.lw-section:not(.lw-hero){position:relative;isolation:isolate;}
.lw-section:not(.lw-hero) > *{position:relative;z-index:1;}

.lw-section:not(.lw-hero)::before,
.lw-section:not(.lw-hero)::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%230B0B0C' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E");
  background-size:92px 92px;
  /* Opacite de base OBLIGATOIRE, egale au keyframe 0%. Sans elle, l'opacite par
     defaut d'un pseudo-element est 1 : la couche ::after, retardee de 3,5 s,
     s'affichait en NOIR PLEIN pendant les 3,5 premieres secondes de chaque
     chargement. `both` applique en plus le keyframe 0% pendant le delai. */
  opacity:.055;
  animation:lw-puls 7s ease-in-out infinite both;
}
.lw-section:not(.lw-hero)::after{background-position:46px 46px;animation-delay:3.5s;}

.lw-section.lw-dark:not(.lw-hero)::before,
.lw-section.lw-dark:not(.lw-hero)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.04;
  animation-name:lw-puls-sombre;
}

/* Les bandes pleine largeur ne doivent pas etre separees par du vide.
   Kadence applique margin-bottom:var(--global-md-spacing) (32px) a tout bloc de
   .single-content, y compris aux .alignfull : il restait donc une bande de fond
   de page de 32px entre chaque section. Invisible tant que tout etait blanc,
   flagrante des qu'une section sombre ou un motif est arrive. */
.entry-content .lw-section{margin-block:0;}

/* Pic à 13 % et non davantage : à 14,5 % sur brume, un filet croisant le petit
   texte gris tombe à 4,49:1, sous le seuil AA. À 13 % on reste à 4,63:1. */
@keyframes lw-puls{0%,74%,100%{opacity:.055}32%{opacity:.13}}
@keyframes lw-puls-sombre{0%,74%,100%{opacity:.04}32%{opacity:.10}}

/* Les articles ne sont pas construits en .lw-section (Kadence rend l'entree) :
   on pose la meme nappe sur .entry, pleine largeur, derriere la colonne de lecture. */
.single-post .entry.single-entry{position:relative;isolation:isolate;}
.single-post .entry.single-entry > *{position:relative;z-index:1;}
.single-post .entry.single-entry::before,
.single-post .entry.single-entry::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%230B0B0C' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E");
  background-size:92px 92px;
  opacity:.055;
  animation:lw-puls 7s ease-in-out infinite both;
}
.single-post .entry.single-entry::after{background-position:46px 46px;animation-delay:3.5s;}
/* La bande CTA de fin d'article est sombre : elle porte sa propre nappe claire. */
.single-post .lw-cta-band{position:relative;isolation:isolate;}
.single-post .lw-cta-band > *{position:relative;z-index:1;}
.single-post .lw-cta-band::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E");
  background-size:92px 92px;opacity:.04;
  animation:lw-puls-sombre 7s ease-in-out infinite both;
}

@media (prefers-reduced-motion:reduce){
  .lw-section:not(.lw-hero)::before,
  .lw-section:not(.lw-hero)::after,
  .single-post .entry.single-entry::before,
  .single-post .entry.single-entry::after{animation:none!important;opacity:.10;}
  .lw-section.lw-dark:not(.lw-hero)::before,
  .lw-section.lw-dark:not(.lw-hero)::after,
  .single-post .lw-cta-band::before{animation:none!important;opacity:.075;}
}


/* ============================================================
   CORRECTIONS DU 7 AOÛT 2026 (retour client, captures à l'appui)
   ============================================================ */

/* ---- 1. Le motif s'arrête au bord des blocs, pas de la section ----
   Le motif doit continuer à remplir le fond de la section ; il ne doit simplement
   pas TRAVERSER les cartes. La bonne correction n'est donc pas de supprimer la
   nappe, mais de rendre les cartes opaques.

   Trois cartes seulement étaient transparentes : .lw-price-card, .lw-diff-card
   et .lw-trust-item. .lw-qual-card et .lw-domaine avaient déjà background:var(--blanc)
   et n'ont jamais laissé passer le motif.

   Le fond reprend exactement celui de la section : rien ne change visuellement,
   sinon que le motif s'arrête net au filet de la carte.
   Le :not(.is-featured) protège la carte noire du milieu, dont la règle a la même
   spécificité mais est déclarée plus haut dans le fichier. */
.lw-price-card:not(.is-featured),
.lw-diff-card,
.lw-trust-item{background:var(--blanc);}

.lw-brume .lw-price-card:not(.is-featured),
.lw-brume .lw-diff-card,
.lw-brume .lw-trust-item{background:var(--brume);}

.lw-dark .lw-price-card:not(.is-featured),
.lw-dark .lw-diff-card,
.lw-dark .lw-trust-item{background:var(--ardoise);}

/* ---- 2. Le filet vertical gauche manquant ----
   .lw-trust-row était la seule grille du site sans border-left : chaque item
   porte son filet à DROITE, donc le bloc restait ouvert sur sa gauche.
   Toutes les autres grilles (.lw-domaines, .lw-pricing-grid, .lw-diff-grid,
   .lw-qual-grid) ont bien border-top + border-left. */
.lw-trust-row{border-left:1px solid var(--hairline);}

/* ---- 3. Pied de page : marque centrée, texte dessous ----
   La marque quitte la première colonne de la grille pour occuper sa propre
   rangée, centrée sur toute la largeur. Les colonnes de liens passent à deux. */
.lw-foot-marque{
  max-width:1180px;margin-inline:auto;
  padding:clamp(56px,7vw,92px) 24px 0;
  text-align:center;
}
.lw-foot-marque .lawnch-logo{
  display:inline-flex;align-items:baseline;
  color:var(--blanc);font-size:clamp(24px,3vw,30px);margin-bottom:16px;
}
.lw-foot-marque .lw-legal{
  max-width:46ch;margin-inline:auto;
}
.lw-footer .lw-foot-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:720px;
  gap:clamp(28px,5vw,64px);
  padding-top:clamp(38px,4.4vw,58px);
}
@media (max-width:600px){
  .lw-footer .lw-foot-grid{grid-template-columns:1fr;}
}

/* ============================================================
   PARCOURS « LE BAIL EN CLAIR » — page Ressources / Louer (41)
   7 aout 2026. Bloc ajoute en fin de fichier : aucune regle existante
   n'est modifiee, aucun token, aucune police, aucune couleur nouvelle.
   Tout est porte par des classes propres au parcours, donc sans effet
   sur les autres pages.

   Principe d'amelioration progressive : le contenu est ecrit en clair
   dans la page et reste entierement lisible sans JavaScript. Ce sont les
   COMMANDES (boutons de profil, onglets, pas de la frise, bouton d'effacement)
   qui sont masquees tant que le script n'a pas pose `.est-enrichi` : un
   bouton qui ne peut rien declencher ne doit pas etre affiche.
   ============================================================ */

/* Les titres vises par une ancre ne doivent pas coller au bord de la fenetre. */
#boussole,#la-loupe,#le-tempo,#mon-dossier,#vrai-faux,#point-paris{scroll-margin-top:28px;}
#boussole:focus,#la-loupe:focus,#le-tempo:focus,#mon-dossier:focus,#point-paris:focus{outline:none;}

/* Etiquette lue par les lecteurs d'ecran uniquement. */
.lw-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Sans JS : les commandes ne sont pas rendues. */
.lw-bou .lw-bou-choix,
.lw-loupe .lw-tabs-list,
.lw-frise .lw-frise-pas,
.lw-dossier .lw-dossier-actions{display:none;}
.lw-bou.est-enrichi .lw-bou-choix{display:flex;}
.lw-loupe.est-enrichi .lw-tabs-list{display:flex;}
.lw-frise.est-enrichi .lw-frise-pas{display:grid;}
.lw-dossier.est-enrichi .lw-dossier-actions{display:flex;}
.lw-bou [hidden],.lw-frise [hidden]{display:none!important;}

/* ---- 1. La boussole location ---- */
.lw-bou-choix{flex-wrap:wrap;gap:12px;margin:0 0 clamp(28px,3vw,40px);}
.lw-bou-profil{appearance:none;-webkit-appearance:none;cursor:pointer;background:transparent;
  font-family:var(--sans);font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;
  padding:15px 30px;border-radius:2px;border:1px solid var(--hairline-strong);color:var(--obsidienne);
  transition:background .2s ease,color .2s ease,border-color .2s ease;}
.lw-bou-profil:hover{border-color:var(--obsidienne);}
.lw-bou-profil[aria-pressed="true"]{background:var(--obsidienne);border-color:var(--obsidienne);color:var(--blanc);}
.lw-bou-profil:focus-visible{outline:2px solid var(--obsidienne);outline-offset:2px;}

.lw-bou-groupe+.lw-bou-groupe{margin-top:clamp(32px,3.4vw,48px);}
.lw-bou-groupe-lib{margin:0 0 .9em;}
.lw-bou-liste{border-top:1px solid var(--hairline);}
.lw-bou-item{border-bottom:1px solid var(--hairline);}
.lw-bou-lib{margin:0;}
.lw-bou-sit{appearance:none;-webkit-appearance:none;width:100%;background:transparent;border:0;
  padding:20px 0;cursor:pointer;text-align:left;display:flex;align-items:baseline;
  justify-content:space-between;gap:20px;font-family:var(--serif);font-weight:400;
  font-size:1.15rem;line-height:1.2;color:var(--encre);transition:color .2s ease;}
.lw-bou-sit::after{content:'+';font-family:var(--sans);font-size:20px;font-weight:400;
  color:var(--argent-texte);flex-shrink:0;transition:transform .25s ease;}
.lw-bou-sit:hover{color:var(--obsidienne);}
.lw-bou-sit[aria-expanded="true"]{color:var(--obsidienne);}
.lw-bou-sit[aria-expanded="true"]::after{transform:rotate(45deg);}
.lw-bou-sit:focus-visible{outline:2px solid var(--obsidienne);outline-offset:-2px;}
/* Sans JS, l'intitule est un simple titre : ni curseur, ni signe d'ouverture. */
.lw-bou:not(.est-enrichi) .lw-bou-sit{cursor:default;}
.lw-bou:not(.est-enrichi) .lw-bou-sit::after{content:none;}

.lw-bou-fiche{background:var(--brume);border-left:2px solid var(--obsidienne);
  padding:clamp(22px,2.4vw,30px);margin:0 0 22px;}
.lw-bou-fiche .lw-ref{display:block;margin:0 0 .8em;}
.lw-bou-fiche ul{margin:0 0 1.3em;padding-left:1.1em;}
.lw-bou-fiche li{color:var(--encre);font-size:15.5px;line-height:1.55;margin-bottom:.4em;}
.lw-bou-fiche li:last-child{margin-bottom:0;}
.lw-bou-lien{display:inline-block;font-family:var(--sans);font-weight:500;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--obsidienne);text-decoration:none;
  border-bottom:1px solid var(--hairline-strong);padding-bottom:3px;transition:border-color .2s ease;}
.lw-bou-lien:hover{border-bottom-color:var(--obsidienne);}
.lw-bou-lien:focus-visible{outline:2px solid var(--obsidienne);outline-offset:3px;}

/* ---- 2. Le bail a la loupe (reprend .lw-tabs-list / .lw-tab-btn / .lw-tabpanel) ---- */
/* Sans JS, tous les volets restent ouverts et se lisent a la suite. */
.lw-loupe:not(.est-enrichi) .lw-tabpanel{display:block;}
.lw-loupe:not(.est-enrichi) .lw-tabpanel+.lw-tabpanel{border-top:1px solid var(--hairline);}
.lw-loupe .lw-tabpanel h3{font-size:1.35rem;margin:0 0 .55em;}
.lw-loupe .lw-tabpanel .lw-ref{display:block;margin:0 0 .7em;}
.lw-loupe .lw-tabpanel .lw-lead{max-width:62ch;}

/* ---- 3. Les moments qui comptent (frise) ---- */
.lw-frise-pas{grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-frise-btn{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;
  text-align:left;border:0;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:clamp(20px,2vw,28px);transition:box-shadow .2s ease,color .2s ease;}
.lw-frise-num{display:block;font-family:var(--serif);font-weight:600;font-size:14px;
  color:var(--argent-texte);margin-bottom:1em;}
.lw-frise-lib{display:block;font-family:var(--serif);font-size:1.2rem;line-height:1.15;color:var(--encre);}
.lw-frise-btn:hover .lw-frise-lib{color:var(--obsidienne);}
.lw-frise-btn[aria-selected="true"]{box-shadow:inset 0 -2px 0 var(--obsidienne);}
.lw-frise-btn[aria-selected="true"] .lw-frise-lib,
.lw-frise-btn[aria-selected="true"] .lw-frise-num{color:var(--obsidienne);}
.lw-frise-btn:focus-visible{outline:2px solid var(--obsidienne);outline-offset:-2px;}
.lw-frise-panneau{padding-top:clamp(26px,3vw,40px);}
.lw-frise-panneau+.lw-frise-panneau{padding-top:clamp(20px,2.2vw,28px);}
.lw-frise-panneau h3{font-size:1.3rem;margin:0 0 .5em;}
.lw-frise-panneau p{margin:0;max-width:60ch;}

/* ---- 5. Mon dossier en 5 minutes ---- */
.lw-dossier-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline);}
.lw-dossier-liste li{border-bottom:1px solid var(--hairline);}
.lw-dossier-liste label{display:flex;align-items:flex-start;gap:14px;padding:15px 0;cursor:pointer;
  font-family:var(--sans);font-size:15.5px;line-height:1.5;color:var(--graphite);transition:color .2s ease;}
.lw-dossier-liste label:hover{color:var(--encre);}
.lw-dossier-liste input[type="checkbox"]{flex-shrink:0;width:17px;height:17px;margin:3px 0 0;
  accent-color:var(--obsidienne);cursor:pointer;}
.lw-dossier-liste input[type="checkbox"]:focus-visible{outline:2px solid var(--obsidienne);outline-offset:3px;}
.lw-dossier-liste input[type="checkbox"]:checked+span{color:var(--encre);}
.lw-dossier-actions{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:22px;}
.lw-dossier-etat{font-family:var(--sans);font-weight:500;font-size:11px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--argent-texte);margin:0;}
.lw-dossier-effacer{appearance:none;-webkit-appearance:none;background:transparent;border:0;
  padding:0 0 3px;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:11px;
  text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);
  border-bottom:1px solid var(--hairline-strong);transition:color .2s ease,border-color .2s ease;}
.lw-dossier-effacer:hover{color:var(--obsidienne);border-bottom-color:var(--obsidienne);}
.lw-dossier-effacer:focus-visible{outline:2px solid var(--obsidienne);outline-offset:3px;}

/* ---- 4. Le point Paris (bloc pose dans la section brume existante) ---- */
.lw-paris{border-bottom:1px solid var(--hairline);
  padding-bottom:clamp(36px,4vw,56px);margin-bottom:clamp(36px,4vw,56px);}
.lw-paris p{max-width:66ch;}
.lw-paris .lw-mention{font-family:var(--sans);font-size:12px;line-height:1.5;
  color:var(--argent-texte);margin:18px 0 0;}

/* ---- Responsive ---- */
@media(max-width:781px){
  .lw-frise.est-enrichi .lw-frise-pas{grid-template-columns:1fr;border-left:0;}
  .lw-frise-btn{border-right:0;padding:16px 0;display:flex;align-items:baseline;gap:14px;}
  .lw-frise-num{margin-bottom:0;}
  .lw-bou-profil{flex:1 1 100%;text-align:center;}
  .lw-bou-sit{font-size:1.08rem;padding:18px 0;}
  .lw-dossier-actions{flex-direction:column;align-items:flex-start;}
}

/* ---- Mouvement reduit ---- */
@media(prefers-reduced-motion:reduce){
  .lw-bou-profil,.lw-bou-sit,.lw-bou-sit::after,.lw-bou-lien,
  .lw-frise-btn,.lw-dossier-liste label,.lw-dossier-effacer{transition:none!important;}
}
/* Intitule de la fiche de situation (h4 sous le h3 de la situation). */
.lw-bou-fiche h4{margin:0 0 .8em;font-size:1.25rem;line-height:1.15;}

/* ============================================================
   « CE QUI FAIT BASCULER UNE VENTE » — page Ressources / Acheter & vendre (42)
   7 aout 2026. Bloc ajoute en fin de fichier : aucune regle existante n'est
   modifiee, aucun token, aucune police, aucune couleur nouvelle.

   Parti pris technique, different de celui de la page Louer : l'interaction est
   portee par des BOUTONS RADIO NATIFS et par :has(). Elle ne depend donc pas de
   JavaScript. Les navigateurs qui ignorent :has() recoivent l'integralite du
   texte, en lecture continue, et les commandes ne leur sont pas rendues — une
   commande sans effet ne doit pas s'afficher. Le seul JavaScript de la page
   sert au bouton « Copier ma synthese ».
   ============================================================ */

#av-forces,#av-miroir,#av-evenements,#av-bascule{scroll-margin-top:28px;}

.lw-av-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.lw-av-champ{border:0;padding:0;margin:0;min-width:0;}
.lw-av-champ>legend{padding:0;float:none;width:auto;}
/* Le bouton radio reste focalisable au clavier : il est deplace, jamais supprime. */
.lw-av-in{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none;}
.lw-av-lib{font-family:var(--sans);font-weight:500;font-size:11px;line-height:1.4;
  text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);margin:0 0 1em;}
.lw-av-two{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,3.6vw,52px);align-items:start;}

/* Sans :has(), les commandes ne sont pas rendues et tout le texte reste lisible. */
.lw-forces-cadran,.lw-vue-choix,.lw-bas-jeu{display:none;}

/* ---- I. Les quatre forces (cadran) ---- */
.lw-forces-cadran{grid-template-columns:1fr 1fr;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);}
.lw-forces-plaque{display:block;cursor:pointer;padding:clamp(22px,2.6vw,34px);
  border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  transition:background .2s ease;}
.lw-forces-num{display:block;font-family:var(--serif);font-weight:600;font-size:13px;
  letter-spacing:.16em;color:var(--argent-texte);margin-bottom:1em;}
.lw-forces-nom{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,1.95rem);
  line-height:1.1;color:var(--encre);}
.lw-forces-sous{display:block;font-family:var(--sans);font-size:14px;line-height:1.5;
  color:var(--graphite);margin-top:.8em;max-width:32ch;}
.lw-forces-plaque:hover{background:var(--brume-2);}
.lw-forces-vue{padding-top:clamp(30px,3.6vw,48px);}
.lw-forces-vue+.lw-forces-vue{margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--hairline);}
.lw-forces-cit{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.62rem);line-height:1.3;
  color:var(--obsidienne);margin:0 0 1.4em;max-width:42ch;}
.lw-forces-vue .lw-callout{margin:0;}
.lw-forces-vue .lw-list{margin:0;}
/* ---- II. Le miroir acheteur / vendeur ---- */
.lw-vue-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.lw-vue-opt{cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--obsidienne);background:transparent;
  border:1px solid var(--hairline-strong);border-radius:2px;padding:13px 24px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;}
.lw-vue-opt:hover{border-color:var(--obsidienne);}
.lw-miroir-table{margin-top:clamp(28px,3.2vw,44px);border-top:1px solid var(--hairline);}
.lw-miroir-ligne{display:grid;grid-template-columns:1fr minmax(148px,206px) 1fr;
  border-bottom:1px solid var(--hairline);}
.lw-miroir-sujet{grid-column:2;grid-row:1;margin:0;display:flex;align-items:center;
  justify-content:center;text-align:center;font-size:1.12rem;line-height:1.16;
  color:var(--obsidienne);padding:clamp(18px,2vw,26px) 16px;
  border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);}
.lw-miroir-face{grid-row:1;padding:clamp(18px,2vw,26px);transition:background .2s ease;}
.lw-mf-a{grid-column:1;}
.lw-mf-v{grid-column:3;}
.lw-miroir-role{font-family:var(--sans);font-weight:500;font-size:11px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--argent-texte);margin:0 0 .9em;transition:color .2s ease;}
.lw-miroir-txt{margin:0;font-size:15.5px;line-height:1.55;color:var(--encre);transition:color .2s ease;}
.lw-miroir-fin{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.42rem);line-height:1.3;
  color:var(--obsidienne);max-width:56ch;margin:clamp(26px,3vw,38px) 0 0;}

/* ---- III. Les evenements (details/summary natifs : aucun script) ---- */
.lw-evts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,28px);align-items:start;}
.lw-evt{border:1px solid var(--hairline);transition:border-color .2s ease;}
.lw-evt>summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:baseline;
  justify-content:space-between;padding:clamp(20px,2.2vw,28px);font-family:var(--serif);
  font-size:1.22rem;line-height:1.16;color:var(--encre);transition:color .2s ease;}
.lw-evt>summary::-webkit-details-marker{display:none;}
.lw-evt>summary::after{content:'+';font-family:var(--sans);font-size:20px;font-weight:400;
  color:var(--argent-texte);flex-shrink:0;transition:transform .25s ease;}
.lw-evt>summary:hover{color:var(--obsidienne);}
.lw-evt>summary:focus-visible{outline:2px solid var(--obsidienne);outline-offset:-2px;}
.lw-evt[open]{border-color:var(--hairline-strong);}
.lw-evt[open]>summary{color:var(--obsidienne);}
.lw-evt[open]>summary::after{transform:rotate(45deg);}
.lw-evt-corps{padding:0 clamp(20px,2.2vw,28px) clamp(22px,2.4vw,30px);}
.lw-evt-niv{margin:0;}
.lw-evt-niv dt{font-family:var(--sans);font-weight:500;font-size:11px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--argent-texte);margin:0 0 .6em;}
.lw-evt-niv dd{margin:0 0 1.1em;font-size:15.5px;line-height:1.55;color:var(--encre);}
.lw-evt-niv dd+dt{padding-top:1.1em;border-top:1px solid var(--hairline);}
.lw-evt-niv dd:last-child{margin-bottom:0;}
.lw-evts-fin{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--argent-texte);
  margin:clamp(24px,2.6vw,34px) 0 0;max-width:62ch;}
/* ---- IV. Votre point de bascule ---- */
.lw-bas-plaque{background:var(--brume);border-top:2px solid var(--obsidienne);
  padding:clamp(26px,3.2vw,46px);margin-top:clamp(26px,3vw,40px);}
.lw-bas-groupe+.lw-bas-groupe{margin-top:clamp(22px,2.4vw,30px);}
.lw-bas-opts{display:flex;flex-wrap:wrap;gap:10px;}
.lw-bas-opt{cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12.5px;
  letter-spacing:.04em;color:var(--encre);background:var(--blanc);
  border:1px solid var(--hairline-strong);border-radius:2px;padding:11px 20px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;}
.lw-bas-opt:hover{border-color:var(--obsidienne);}
.lw-bas-sortie{margin-top:clamp(28px,3.2vw,42px);padding-top:clamp(24px,2.6vw,32px);
  border-top:1px solid var(--hairline-strong);}
.lw-bas-phrase{font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.26;
  color:var(--obsidienne);margin:0;max-width:36ch;}
/* Les fragments de phrase : masques par defaut, revele un a un par :has(). */
.lw-bas-f{display:none;}
.lw-bas-actions{display:none;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(20px,2.2vw,28px);}
.lw-bas.est-enrichi .lw-bas-actions{display:flex;}
.lw-bas-copier{appearance:none;-webkit-appearance:none;cursor:pointer;background:transparent;
  border:0;padding:0 0 3px;font-family:var(--sans);font-weight:500;font-size:11px;
  text-transform:uppercase;letter-spacing:.2em;color:var(--argent-texte);
  border-bottom:1px solid var(--hairline-strong);transition:color .2s ease,border-color .2s ease;}
.lw-bas-copier:hover{color:var(--obsidienne);border-bottom-color:var(--obsidienne);}
.lw-bas-copier:focus-visible{outline:2px solid var(--obsidienne);outline-offset:3px;}
.lw-bas-etat{font-family:var(--sans);font-weight:500;font-size:11px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--argent-texte);margin:0;}
.lw-bas-etat:empty{display:none;}
.lw-bas-mention{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--argent-texte);
  margin:clamp(26px,3vw,38px) 0 0;padding-top:1.4em;border-top:1px solid var(--hairline);}

/* ============================================================
   Le moteur : :has(). Tout ce qui suit ne s'applique qu'aux navigateurs
   qui le comprennent. Ailleurs, les commandes restent masquees et les
   quatre vues, les deux lectures et la phrase de repli restent affichees.
   ============================================================ */
@supports selector(:has(*)){
  .lw-forces-cadran{display:grid;}
  .lw-vue-choix{display:block;}
  .lw-bas-jeu{display:block;}
  .lw-bas-defaut{display:none;}

  .lw-forces-vue{display:none;}
  .lw-forces-vue+.lw-forces-vue{margin-top:0;border-top:0;}
  .lw-forces:has(#f-prix:checked) #vue-prix,
  .lw-forces:has(#f-temps:checked) #vue-temps,
  .lw-forces:has(#f-financement:checked) #vue-financement,
  .lw-forces:has(#f-information:checked) #vue-information{display:block;}
  .lw-forces-plaque:has(.lw-av-in:checked){background:var(--brume);box-shadow:inset 3px 0 0 var(--obsidienne);}
  .lw-forces-plaque:has(.lw-av-in:checked) .lw-forces-nom,
  .lw-forces-plaque:has(.lw-av-in:checked) .lw-forces-num{color:var(--obsidienne);}
  .lw-forces-plaque:has(.lw-av-in:focus-visible){outline:2px solid var(--obsidienne);outline-offset:-2px;}

  .lw-vue-opt:has(.lw-av-in:checked){background:var(--obsidienne);border-color:var(--obsidienne);color:var(--blanc);}
  .lw-vue-opt:has(.lw-av-in:focus-visible){outline:2px solid var(--obsidienne);outline-offset:2px;}
  /* La lecture non retenue n'est jamais effacee : elle passe en graphite (7,4:1). */
  .lw-miroir:has(#mir-acheteur:checked) .lw-mf-a,
  .lw-miroir:has(#mir-vendeur:checked) .lw-mf-v{background:var(--blanc);}
  .lw-miroir:has(#mir-acheteur:checked) .lw-mf-a .lw-miroir-role,
  .lw-miroir:has(#mir-vendeur:checked) .lw-mf-v .lw-miroir-role{color:var(--obsidienne);}
  .lw-miroir:has(#mir-acheteur:checked) .lw-mf-v .lw-miroir-txt,
  .lw-miroir:has(#mir-vendeur:checked) .lw-mf-a .lw-miroir-txt{color:var(--graphite);}

  .lw-bas-opt:has(.lw-av-in:checked){background:var(--obsidienne);border-color:var(--obsidienne);color:var(--blanc);}
  .lw-bas-opt:has(.lw-av-in:focus-visible){outline:2px solid var(--obsidienne);outline-offset:2px;}
  .lw-bas:has(#bas-achete:checked) .f-r-a,
  .lw-bas:has(#bas-vends:checked) .f-r-v,
  .lw-bas:has(#bas-avant:checked) .f-m-1,
  .lw-bas:has(#bas-apres:checked) .f-m-2,
  .lw-bas:has(#bas-imprevu:checked) .f-m-3,
  .lw-bas:has(#bas-prix:checked) .f-s-prix,
  .lw-bas:has(#bas-delai:checked) .f-s-delai,
  .lw-bas:has(#bas-achete:checked):has(#bas-finance:checked) .f-s-fin-a,
  .lw-bas:has(#bas-vends:checked):has(#bas-finance:checked) .f-s-fin-v,
  .lw-bas:has(#bas-achete:checked):has(#bas-info:checked) .f-s-info-a,
  .lw-bas:has(#bas-vends:checked):has(#bas-info:checked) .f-s-info-v{display:inline;}
}
/* ---- Responsive ---- */
@media(max-width:1024px){
  .lw-miroir-ligne{grid-template-columns:1fr minmax(128px,168px) 1fr;}
}
@media(max-width:900px){
  .lw-av-two{grid-template-columns:1fr;}
  .lw-evts{grid-template-columns:1fr;}
}
@media(max-width:781px){
  .lw-forces-cadran{grid-template-columns:1fr;}
  .lw-forces-sous{max-width:none;}
  /* Le miroir se deplie : le sujet passe en tete, les deux lectures se suivent. */
  .lw-miroir-ligne{grid-template-columns:1fr;padding-block:6px;}
  .lw-miroir-sujet{grid-column:1;grid-row:auto;justify-content:flex-start;text-align:left;
    border-left:0;border-right:0;padding:clamp(16px,3vw,22px) 0 4px;font-size:1.16rem;}
  .lw-miroir-face{grid-column:1;grid-row:auto;padding:14px 16px;}
  .lw-bas-phrase{max-width:none;}
}
@media(max-width:520px){
  .lw-vue-opts{gap:8px;}
  .lw-vue-opt{flex:1 1 100%;text-align:center;}
  .lw-bas-opt{flex:1 1 100%;text-align:center;}
  .lw-evt>summary{font-size:1.14rem;}
}

/* ---- Mouvement reduit ---- */
@media(prefers-reduced-motion:reduce){
  .lw-forces-plaque,.lw-vue-opt,.lw-bas-opt,.lw-bas-copier,
  .lw-miroir-face,.lw-miroir-role,.lw-miroir-txt,
  .lw-evt,.lw-evt>summary,.lw-evt>summary::after{transition:none!important;}
}

/* ===================================================================
   AJOUTS DU 8 AOUT 2026 - suites de l'audit de l'accueil.
   Panneaux de qualification portes par le HTML, test des six questions,
   bande des plafonds, curseur de qualification, FAQ et lexique.
   Aucun jeton nouveau : uniquement les variables de :root.
   Interaction sans script : radios natives + :has(), motif deja eprouve
   sur la page 42. Le CSS ne montre les commandes que si :has() est
   supporte ; sinon tout le contenu reste lisible, deplie.
   =================================================================== */

/* ---- Hero : ligne de rattrapage vers le test ---- */
.lw-hero-alt{font-family:var(--sans);font-size:.95rem;line-height:1.6;color:#DCDCDF;
  margin:18px 0 0;max-width:62ch;}
.lw-hero-alt a{color:inherit;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--hairline-light);}
.lw-hero-alt a:hover,.lw-hero-alt a:focus-visible{text-decoration-color:currentColor;}

/* ---- Panneaux de qualification : le contenu vit dans le HTML ---- */
.lw-qual-panels{border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);}
.lw-qp{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;
  padding:clamp(24px,3vw,36px);border-bottom:1px solid var(--hairline);}
.lw-qp-corps{max-width:58ch;}
.lw-qp-txt{font-family:var(--serif);font-size:1.28rem;line-height:1.38;color:var(--encre);margin:0;}
.lw-qp .lw-ref{margin:12px 0 0;}
.lw-qual.est-enrichi .lw-qp{display:none;}
.lw-qual.est-enrichi .lw-qp.is-active{display:flex;}

/* ---- Le test des six questions ---- */
.lw-test{margin-top:clamp(26px,3vw,38px);}
.lw-test-q{display:grid;grid-template-columns:1fr minmax(196px,236px);gap:18px;align-items:center;
  padding:clamp(15px,1.7vw,21px) 0;border-bottom:1px solid var(--hairline);}
.lw-test-q:first-of-type{border-top:1px solid var(--hairline);}
.lw-test-num{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--argent-texte);display:block;margin-bottom:6px;}
.lw-test-lib{font-family:var(--serif);font-size:1.15rem;line-height:1.32;color:var(--encre);margin:0;}
.lw-test-opts{display:none;gap:8px;justify-content:flex-end;}
.lw-test input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-test-opt{cursor:pointer;font-family:var(--sans);font-weight:500;font-size:12px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--obsidienne);background:var(--blanc);
  border:1px solid var(--hairline-strong);border-radius:2px;padding:11px 20px;
  transition:border-color .2s ease,box-shadow .2s ease;}
.lw-test-opt:hover{border-color:var(--obsidienne);}
.lw-test input[type=radio]:focus-visible + .lw-test-opt{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-test input[type=radio]:checked + .lw-test-opt{border-color:var(--obsidienne);
  box-shadow:inset 0 0 0 1px var(--obsidienne);font-weight:600;}
.lw-test-sortie{margin-top:clamp(28px,3.2vw,40px);}
.lw-test-vide{display:none;font-family:var(--sans);font-size:.98rem;line-height:1.6;
  color:var(--argent-texte);margin:0;max-width:62ch;}
.lw-tr{border:1px solid var(--hairline);background:var(--blanc);
  padding:clamp(20px,2.2vw,28px);margin-bottom:14px;}
.lw-tr-t{font-family:var(--serif);font-size:1.22rem;line-height:1.26;margin:0 0 8px;color:var(--encre);}
.lw-tr p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-tr .lw-ref{margin:12px 0 0;}
.lw-tr-lien{display:inline-block;margin-top:14px;font-family:var(--sans);font-size:11.5px;
  font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--obsidienne);
  text-decoration:underline;text-underline-offset:4px;}
.lw-tr-hors{border-style:dashed;background:transparent;}
.lw-tr-hors .lw-tr-t{color:var(--graphite);}
.lw-test-pied{margin-top:clamp(24px,2.6vw,34px);display:flex;flex-wrap:wrap;gap:20px;
  align-items:center;justify-content:space-between;}
.lw-test-note{font-family:var(--sans);font-size:.92rem;line-height:1.62;color:var(--argent-texte);
  max-width:62ch;margin:0;}
.lw-test-reset{cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;color:var(--argent-texte);
  background:var(--blanc)!important;border:1px solid var(--hairline);border-radius:2px;
  padding:10px 18px;}
.lw-test-reset:hover{color:var(--obsidienne);border-color:var(--hairline-strong);}

/* ---- Bande des plafonds ---- */
.lw-pen-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);
  margin-top:clamp(26px,3vw,36px);}
.lw-pen{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:clamp(22px,2.4vw,32px);}
.lw-pen-n{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1;
  color:var(--obsidienne);}
.lw-pen-l{font-family:var(--sans);font-size:.95rem;line-height:1.58;color:var(--graphite);margin:12px 0 0;}
.lw-pen .lw-ref{margin:14px 0 0;}

/* ---- Curseur de qualification (dans l'onglet Marketplaces) ---- */
.lw-role{margin-top:clamp(24px,2.6vw,34px);border-top:1px solid var(--hairline);
  padding-top:clamp(20px,2.2vw,28px);}
.lw-role-t{font-family:var(--serif);font-size:1.18rem;line-height:1.3;color:var(--encre);margin:0 0 14px;}
.lw-role-opts{display:none;flex-wrap:wrap;gap:8px;}
.lw-role input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-role input[type=radio]:focus-visible + .lw-test-opt{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-role input[type=radio]:checked + .lw-test-opt{border-color:var(--obsidienne);
  box-shadow:inset 0 0 0 1px var(--obsidienne);font-weight:600;}
.lw-role-vue{border-left:2px solid var(--hairline-strong);padding-left:18px;margin-top:20px;}
.lw-role-vue-t{font-family:var(--sans);font-size:11.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);margin:0 0 8px;}
.lw-role-vue p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-role-vue .lw-ref{margin:12px 0 0;}

/* ---- Lexique ---- */
.lw-lex{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);
  margin:clamp(26px,3vw,36px) 0 0;}
.lw-lex-i{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:clamp(18px,2vw,26px);}
.lw-lex-t{font-family:var(--sans);font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);margin:0;}
.lw-lex-d{margin:8px 0 0;color:var(--graphite);line-height:1.6;font-size:.98rem;}
.lw-lex-i .lw-ref{margin:10px 0 0;}

/* ---- FAQ : reprend .lw-evts / .lw-evt, corps propre ---- */
.lw-qr .lw-evt-corps{padding:0 clamp(20px,2.2vw,28px) clamp(20px,2.2vw,28px);}
.lw-qr .lw-evt-corps p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-qr .lw-evt-corps .lw-ref{margin:12px 0 0;}

/* ---- Ce qui n'apparait que si :has() est la ---- */
@supports selector(:has(*)){
  .lw-test-opts{display:flex;}
  .lw-role-opts{display:flex;}
  .lw-tr{display:none;}
  .lw-role-vue{display:none;}
  .lw-test-form:not(:has(input:checked)) .lw-test-vide{display:block;}
  .lw-test-form:has(#q1o:checked) #r-heb{display:block;}
  .lw-test-form:has(#q2o:checked) #r-p2b{display:block;}
  .lw-test-form:has(#q3o:checked) #r-pay{display:block;}
  .lw-test-form:has(#q4o:checked) #r-conso{display:block;}
  .lw-test-form:has(#q5o:checked) #r-auto{display:block;}
  .lw-test-form:has(#q6o:checked) #r-data{display:block;}
  .lw-test-form:has(#q1n:checked) #n-heb{display:block;}
  .lw-test-form:has(#q2n:checked) #n-p2b{display:block;}
  .lw-test-form:has(#q3n:checked) #n-pay{display:block;}
  .lw-test-form:has(input:checked) #r-dma{display:block;}
  .lw-role:has(#role-heb:checked) #v-heb{display:block;}
  .lw-role:has(#role-edi:checked) #v-edi{display:block;}
  .lw-role:has(#role-ven:checked) #v-ven{display:block;}
}

@media(max-width:781px){
  .lw-test-q{grid-template-columns:1fr;gap:12px;}
  .lw-test-opts{justify-content:flex-start;}
  .lw-pen-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lw-lex{grid-template-columns:1fr;}
  .lw-qp{gap:16px;}
}
@media(max-width:520px){
  .lw-pen-grid{grid-template-columns:1fr;}
  .lw-test-opt{flex:1 1 auto;text-align:center;}
  .lw-test-pied{align-items:flex-start;}
}
@media(prefers-reduced-motion:reduce){
  .lw-test-opt,.lw-tr,.lw-role-vue{transition:none!important;}
}

/* ===================================================================
   AJOUTS EXPERTISE MARKETPLACES - 8 aout 2026 (page 32).
   Miroir d'interface, tableau des trois regimes, circuit de l'argent,
   typologies, encadre de maillage. Memes jetons, memes mecaniques :
   cases et radios natives + :has(), commandes masquees sans support.
   =================================================================== */

/* ---- Ce que votre interface dit de vous ---- */
.lw-iface{margin-top:clamp(24px,3vw,34px);}
.lw-iface-intro{font-family:var(--sans);font-size:.95rem;color:var(--argent-texte);margin:0 0 16px;max-width:62ch;}
.lw-iface-liste{display:none;border-top:1px solid var(--hairline);}
.lw-iface input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-iface-opt{display:flex;gap:14px;align-items:baseline;cursor:pointer;
  padding:15px 0;border-bottom:1px solid var(--hairline);
  font-family:var(--sans);font-size:1rem;line-height:1.45;color:var(--encre);}
.lw-iface-opt::before{content:'';flex:0 0 14px;width:14px;height:14px;
  border:1px solid var(--hairline-strong);transform:translateY(2px);
  transition:background .18s ease,border-color .18s ease;}
.lw-iface-opt:hover::before{border-color:var(--obsidienne);}
.lw-iface input[type=checkbox]:checked + .lw-iface-opt::before{background:var(--obsidienne);border-color:var(--obsidienne);}
.lw-iface input[type=checkbox]:checked + .lw-iface-opt{font-weight:600;}
.lw-iface input[type=checkbox]:focus-visible + .lw-iface-opt::before{outline:2px solid var(--obsidienne);outline-offset:3px;}
.lw-iface-sortie{margin-top:clamp(22px,2.4vw,30px);}
.lw-iface-vide{display:none;font-family:var(--sans);font-size:.98rem;line-height:1.6;color:var(--argent-texte);margin:0;max-width:62ch;}
.lw-ic{border-left:2px solid var(--hairline-strong);padding-left:18px;margin-bottom:16px;}
.lw-ic p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-ic .lw-ref{margin:10px 0 0;}
.lw-iface-note{font-family:var(--sans);font-size:.92rem;line-height:1.62;color:var(--argent-texte);
  margin:clamp(20px,2.2vw,28px) 0 0;max-width:62ch;}

/* ---- Les trois regimes cote a cote ---- */
.lw-tri-wrap{overflow-x:auto;margin-top:clamp(24px,3vw,34px);}
.lw-tri{width:100%;border-collapse:collapse;min-width:660px;}
.lw-tri th,.lw-tri td{border:1px solid var(--hairline);padding:clamp(12px,1.4vw,18px);
  vertical-align:top;text-align:left;}
.lw-tri thead th{font-family:var(--sans);font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);}
.lw-tri tbody th{font-family:var(--sans);font-size:11.5px;font-weight:500;text-transform:uppercase;
  letter-spacing:.12em;color:var(--argent-texte);width:150px;}
.lw-tri td{color:var(--graphite);font-size:.96rem;line-height:1.55;}
.lw-tri .lw-ref{margin:0;}

/* ---- Le circuit de l'argent ---- */
.lw-circ{margin-top:clamp(24px,3vw,34px);}
.lw-circ-opts{display:none;flex-wrap:wrap;gap:8px;}
.lw-circ input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-circ input[type=radio]:checked + .lw-test-opt{border-color:var(--obsidienne);
  box-shadow:inset 0 0 0 1px var(--obsidienne);font-weight:600;}
.lw-circ input[type=radio]:focus-visible + .lw-test-opt{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-circ-vue{border-left:2px solid var(--hairline-strong);padding-left:18px;margin-top:22px;}
.lw-circ-vue-t{font-family:var(--sans);font-size:11.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);margin:0 0 8px;}
.lw-circ-vue p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-circ-vue .lw-ref{margin:12px 0 0;}

/* ---- Pour qui ---- */
.lw-pq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);
  margin-top:clamp(24px,3vw,34px);}
.lw-pq-i{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:clamp(18px,2vw,26px);}
.lw-pq-t{font-family:var(--serif);font-size:1.18rem;line-height:1.25;color:var(--encre);margin:0;}
.lw-pq-d{margin:8px 0 0;color:var(--graphite);line-height:1.6;font-size:.98rem;}

/* ---- Aller plus loin ---- */
.lw-plus{border-top:1px solid var(--hairline);margin-top:clamp(24px,3vw,34px);}
.lw-plus-i{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(14px,2vw,30px);
  align-items:baseline;padding:16px 0;border-bottom:1px solid var(--hairline);}
.lw-plus-i a{font-family:var(--sans);font-size:11.5px;font-weight:500;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);text-decoration:underline;text-underline-offset:4px;}
.lw-plus-i p{margin:0;color:var(--graphite);line-height:1.55;font-size:.96rem;}

@supports selector(:has(*)){
  .lw-iface-liste{display:block;}
  .lw-circ-opts{display:flex;}
  .lw-ic{display:none;}
  .lw-circ-vue{display:none;}
  .lw-iface:not(:has(input:checked)) .lw-iface-vide{display:block;}
  .lw-iface:has(#if1:checked) #ic1{display:block;}
  .lw-iface:has(#if2:checked) #ic2{display:block;}
  .lw-iface:has(#if3:checked) #ic3{display:block;}
  .lw-iface:has(#if4:checked) #ic4{display:block;}
  .lw-iface:has(#if5:checked) #ic5{display:block;}
  .lw-circ:has(#circ-a:checked) #vc-a{display:block;}
  .lw-circ:has(#circ-b:checked) #vc-b{display:block;}
  .lw-circ:has(#circ-c:checked) #vc-c{display:block;}
}

@media(max-width:781px){
  .lw-pq{grid-template-columns:1fr;}
  .lw-plus-i{grid-template-columns:1fr;gap:8px;}
  .lw-tri tbody th{width:auto;}
}
@media(prefers-reduced-motion:reduce){
  .lw-iface-opt::before{transition:none!important;}
}

/* ---- Page 33 : la chaine du signalement (jalons numerotes) ---- */
.lw-chn{margin-top:clamp(24px,3vw,34px);}
.lw-chn-ligne{display:none;position:relative;}
.lw-chn-ligne::before{content:'';position:absolute;left:17px;right:17px;top:17px;height:1px;
  background:var(--hairline-strong);}
.lw-chn input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-chn-etape{position:relative;flex:1 1 0;cursor:pointer;display:flex;flex-direction:column;
  align-items:flex-start;gap:12px;padding-right:16px;}
.lw-chn-n{width:34px;height:34px;border-radius:50%;border:1px solid var(--hairline-strong);
  background:var(--blanc);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:1rem;color:var(--graphite);flex-shrink:0;
  transition:background .2s ease,border-color .2s ease,color .2s ease;}
.lw-chn-l{font-family:var(--sans);font-size:11.5px;font-weight:500;text-transform:uppercase;
  letter-spacing:.12em;color:var(--argent-texte);line-height:1.4;}
.lw-chn-etape:hover .lw-chn-n{border-color:var(--obsidienne);}
.lw-chn input[type=radio]:checked + .lw-chn-etape .lw-chn-n{background:var(--obsidienne);
  border-color:var(--obsidienne);color:var(--blanc);}
.lw-chn input[type=radio]:checked + .lw-chn-etape .lw-chn-l{color:var(--obsidienne);font-weight:600;}
.lw-chn input[type=radio]:focus-visible + .lw-chn-etape .lw-chn-n{outline:2px solid var(--obsidienne);outline-offset:3px;}
.lw-chn-vue{border-left:2px solid var(--hairline-strong);padding-left:18px;margin-top:clamp(24px,2.6vw,32px);}
.lw-chn-t{font-family:var(--serif);font-size:1.24rem;line-height:1.25;color:var(--encre);margin:0 0 10px;}
.lw-chn-vue p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-chn-preuve{margin-top:12px!important;color:var(--encre)!important;}
.lw-chn-vue .lw-ref{margin:12px 0 0;}
@supports selector(:has(*)){
  .lw-chn-ligne{display:flex;}
  .lw-chn-vue{display:none;}
  .lw-chn:has(#chn1:checked) #vch1{display:block;}
  .lw-chn:has(#chn2:checked) #vch2{display:block;}
  .lw-chn:has(#chn3:checked) #vch3{display:block;}
  .lw-chn:has(#chn4:checked) #vch4{display:block;}
  .lw-chn:has(#chn5:checked) #vch5{display:block;}
}
@media(max-width:781px){
  .lw-chn-ligne{flex-direction:column;gap:2px;}
  .lw-chn-ligne::before{display:none;}
  .lw-chn-etape{flex-direction:row;align-items:center;gap:14px;padding:10px 0;
    border-bottom:1px solid var(--hairline);}
}
@media(prefers-reduced-motion:reduce){ .lw-chn-n{transition:none!important;} }

/* ---- Famille commune des modules d'expertise (pages 34 a 39) ----
   Convention unique : m1..m6 pour les commandes, v1..v6 pour les vues.
   Un seul module par page, donc six regles :has() couvrent les six pages. */
.lw-mod{margin-top:clamp(24px,3vw,34px);}
.lw-mod-intro{font-family:var(--sans);font-size:.95rem;line-height:1.6;color:var(--argent-texte);
  margin:0 0 16px;max-width:64ch;}
.lw-mod-opts{display:none;flex-wrap:wrap;gap:8px;}
.lw-mod input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-mod input[type=radio]:checked + .lw-test-opt{border-color:var(--obsidienne);
  box-shadow:inset 0 0 0 1px var(--obsidienne);font-weight:600;}
.lw-mod input[type=radio]:focus-visible + .lw-test-opt{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-mod-vue{border-left:2px solid var(--hairline-strong);padding-left:18px;margin-top:clamp(20px,2.4vw,28px);}
.lw-mod-vue-t{font-family:var(--serif);font-size:1.24rem;line-height:1.25;color:var(--encre);margin:0 0 10px;}
.lw-mod-vue p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-mod-vue .lw-ref{margin:12px 0 0;}
.lw-mod-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,28px);margin-top:14px;}
.lw-mod-sub{font-family:var(--sans);font-size:11.5px;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;color:var(--obsidienne);margin:0 0 6px;}
.lw-perimetre,
.lw-mod-note{font-family:var(--sans);font-size:.92rem;line-height:1.62;color:var(--argent-texte);
  margin:clamp(20px,2.2vw,28px) 0 0;max-width:64ch;}

/* ---- Page 34 : la fiche produit annotee (schema, pas image) ---- */
.lw-fp{display:none;border:1px solid var(--hairline);background:var(--blanc);
  padding:clamp(14px,2vw,20px);max-width:540px;}
.lw-fp-rang{display:flex;gap:10px;}
.lw-fp-z{display:block;cursor:pointer;border:1px dashed var(--hairline-strong);
  padding:13px 14px;margin-bottom:10px;font-family:var(--sans);font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--argent-texte);
  background:var(--blanc);transition:border-color .2s ease,color .2s ease;}
.lw-fp-rang .lw-fp-z{flex:1 1 0;}
.lw-fp-z:hover{border-color:var(--obsidienne);color:var(--obsidienne);}
.lw-mod input[type=radio]:checked + .lw-fp-z{border-style:solid;border-color:var(--obsidienne);
  color:var(--obsidienne);font-weight:600;}
.lw-mod input[type=radio]:focus-visible + .lw-fp-z{outline:2px solid var(--obsidienne);outline-offset:2px;}

/* ---- Page 39 : la chaine technique ---- */
.lw-mod-chaine{display:none;flex-wrap:wrap;align-items:center;gap:6px;}
.lw-mod-fleche{color:var(--argent-texte);font-family:var(--sans);font-size:14px;}

@supports selector(:has(*)){
  .lw-mod-opts{display:flex;}
  .lw-mod-chaine{display:flex;}
  .lw-fp{display:block;}
  .lw-mod-vue{display:none;}
  .lw-mod:has(#m1:checked) #v1{display:block;}
  .lw-mod:has(#m2:checked) #v2{display:block;}
  .lw-mod:has(#m3:checked) #v3{display:block;}
  .lw-mod:has(#m4:checked) #v4{display:block;}
  .lw-mod:has(#m5:checked) #v5{display:block;}
  .lw-mod:has(#m6:checked) #v6{display:block;}
}

@media(max-width:781px){
  .lw-mod-2{grid-template-columns:1fr;}
  .lw-fp-rang{flex-direction:column;gap:0;}
}
@media(prefers-reduced-motion:reduce){ .lw-fp-z{transition:none!important;} }

/* ---- Silo 43 : le parcours d'une commande (rail + panneau) ---- */
.lw-parc{margin-top:clamp(24px,3vw,34px);}
.lw-parc-rail{display:none;border-left:1px solid var(--hairline-strong);}
.lw-parc input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.lw-parc-m{display:flex;gap:12px;align-items:baseline;cursor:pointer;position:relative;
  padding:14px 0 14px 20px;border-bottom:1px solid var(--hairline);
  font-family:var(--sans);font-size:.97rem;line-height:1.35;color:var(--argent-texte);
  transition:color .18s ease;}
.lw-parc-m::before{content:'';position:absolute;left:-4px;top:20px;width:7px;height:7px;
  border-radius:50%;background:var(--hairline-strong);transition:background .18s ease;}
.lw-parc-m:hover{color:var(--obsidienne);}
.lw-parc input[type=radio]:checked + .lw-parc-m{color:var(--obsidienne);font-weight:600;}
.lw-parc input[type=radio]:checked + .lw-parc-m::before{background:var(--obsidienne);
  width:9px;height:9px;left:-5px;top:19px;}
.lw-parc input[type=radio]:focus-visible + .lw-parc-m{outline:2px solid var(--obsidienne);outline-offset:2px;}
.lw-parc-n{font-family:var(--serif);font-size:.95rem;color:var(--argent-texte);flex:0 0 auto;}
.lw-parc-vue{padding-left:0;}
.lw-parc-vue-t{font-family:var(--serif);font-size:1.3rem;line-height:1.22;color:var(--encre);margin:0 0 14px;}
.lw-parc-bloc{margin-top:16px;}
.lw-parc-bloc p{margin:0;color:var(--graphite);line-height:1.62;}
.lw-parc-vue .lw-ref{margin:16px 0 0;}

@supports selector(:has(*)){
  .lw-parc{display:grid;grid-template-columns:minmax(186px,248px) 1fr;
    gap:clamp(20px,3vw,48px);align-items:start;}
  .lw-parc-rail{display:block;}
  .lw-parc-vue{display:none;}
  .lw-parc:has(#p1:checked) #pv1{display:block;}
  .lw-parc:has(#p2:checked) #pv2{display:block;}
  .lw-parc:has(#p3:checked) #pv3{display:block;}
  .lw-parc:has(#p4:checked) #pv4{display:block;}
  .lw-parc:has(#p5:checked) #pv5{display:block;}
  .lw-parc:has(#p6:checked) #pv6{display:block;}
}

@media(max-width:781px){
  .lw-parc{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .lw-parc-m,.lw-parc-m::before{transition:none!important;}
}

/* ===================================================================
   APERCU (page 81 uniquement) - le trace qui s'ecrit.
   Meme fichier, meme position, meme opacite qu'aujourd'hui : seul
   change le fait qu'il se dessine au chargement, puis s'arrete.
   L'etat final est identique au design actuel, au pixel pres.
   =================================================================== */
.page-id-81 .lw-hero .lw-wrap::after{display:none;}
.page-id-81 .lw-hero .lw-trace{position:absolute;z-index:0;pointer-events:none;
  top:50%;right:32px;transform:translateY(-50%);width:min(34%,400px);height:auto;
  aspect-ratio:500/610;opacity:.5;}
.lw-trace path{stroke-dasharray:1;stroke-dashoffset:1;
  animation:lw-tracer 1.5s cubic-bezier(.22,.61,.36,1) forwards;}
.lw-trace path:nth-child(1),.lw-trace path:nth-child(2){animation-delay:.15s;}
.lw-trace path:nth-child(3),.lw-trace path:nth-child(4){animation-delay:.4s;}
.lw-trace path:nth-child(5){animation-delay:.6s;}
.lw-trace path:nth-child(6){animation-delay:.75s;}
.lw-trace path:nth-child(7),.lw-trace path:nth-child(8){animation-delay:.85s;}
.lw-trace path:nth-child(9),.lw-trace path:nth-child(10),.lw-trace path:nth-child(11){animation-delay:1.1s;}
.lw-trace path:nth-child(12){animation-delay:1.3s;animation-duration:1.9s;}
@keyframes lw-tracer{to{stroke-dashoffset:0;}}

/* Mouvement reduit : etat final immediat, aucune animation. */
@media(prefers-reduced-motion:reduce){
  .lw-trace path{animation:none!important;stroke-dashoffset:0;}
}
@media(max-width:1000px){
  .page-id-81 .lw-hero .lw-trace{display:none;}
}

/* ==================================================================
   Correctif 2026-08-10 - bouton secondaire du hero, etat :visited.
   Kadence (global.min.css) porte :
     .wp-block-button.is-style-outline .wp-block-button__link
       :not(.has-text-color):visited{color:var(--global-palette-btn-out,
       var(--global-palette-btn-bg))}
   soit une specificite 0,5,0, superieure a notre regle de hero (0,4,0).
   Consequence : des que le visiteur avait ouvert /expertises/, le libelle
   "Voir les expertises" repassait en obsidienne #0B0B0C sur l'ardoise
   #26262A du hero, soit 1,31:1 - illisible. On repond a 0,5,0 / 0,6,0 et
   on couvre explicitement les quatre etats du lien.
   ================================================================== */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):visited,
.wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):visited{
  color:var(--obsidienne);
}
.lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):link,
.lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):visited,
.lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):link,
.lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):visited{
  background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.55);
}
.lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover,
.lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):focus-visible,
.lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):hover,
.lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):focus-visible{
  background:transparent;color:#FFFFFF;border-color:#FFFFFF;
}
/* Les deux apercus a fond clair gardent leur bouton fantome sombre. */
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):link,
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):visited,
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):link,
:is(.page-id-70,.page-id-71) .lw-hero .wp-block-button.lw-ghost > .wp-block-button__link:not(.has-text-color):visited{
  color:var(--obsidienne);border-color:var(--hairline-strong);
}

/* ==================================================================
   Correctifs 2026-08-10 (2) - gouttiere des articles, barre de
   filtres du journal, tenue du motif.
   ================================================================== */

/* --- 1. Article : gouttiere et respiration sous le header. --------
   Une page construite porte sa gouttiere sur .lw-wrap ; un article,
   lui, est rendu par Kadence : .entry-content y prend la largeur de
   contenu (768px), qui deborde des 390px d'un telephone. Le texte
   touchait donc les deux bords, et l'entete d'article demarrait a
   0px du header. La gouttiere se pose sur l'entree elle-meme : au
   desktop la colonne de 768px reste centree a l'identique (1265-48
   laisse 1217px, largement au-dessus de 768), et la nappe du motif
   (inset:0) continue de couvrir toute la largeur. */
.single-post .entry.single-entry{
  padding-inline:24px;
  padding-block-start:clamp(30px,5vw,64px);
}

/* --- 2. Journal : la barre de filtres ne s'emiette plus. ----------
   En flex-wrap les 7 categories tombaient en 2/1/1/2/1. Sous 760px
   la barre devient une piste d'un seul tenant qui defile a
   l'horizontale ; le dernier element visible est coupe net par le
   bord, ce qui signale le defilement sans ajouter d'ornement. */
@media(max-width:760px){
  .lw-jfiltres{
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .lw-jfiltres::-webkit-scrollbar{display:none;}
  .lw-jfiltres .lw-jfiltre{
    flex:0 0 auto;
    white-space:nowrap;
    scroll-snap-align:start;
  }
}

/* --- 3. Le motif ne penetre plus dans les blocs encadres. ---------
   Regle du 2026-08-07 : quand un element transparent laisse voir la
   couche decorative, on rend l'element opaque - on ne retire pas la
   couche. --lw-fond porte le fond reel de la bande courante ; les
   variables personnalisees s'heritant, un bloc reprend le fond de sa
   section meme quand celui-ci est decide par un :has(). Le repli
   `transparent` laisse intact tout bloc pose hors d'une bande. */
.lw-section:not(.lw-hero){--lw-fond:var(--blanc);}
.lw-section:not(.lw-hero).lw-brume{--lw-fond:var(--brume);}
.lw-section:not(.lw-hero).lw-dark{--lw-fond:var(--ardoise);}
.lw-section:not(.lw-hero):has(.lw-domaines){--lw-fond:var(--brume);}
:is(body.home,.page-id-70,.page-id-71) .lw-section:not(.lw-hero).lw-brume:has(.lw-steps){--lw-fond:var(--blanc);}
:is(body.home,.page-id-70,.page-id-71) .lw-section:not(.lw-hero):has(.lw-figures){--lw-fond:var(--brume);}
.single-post .entry.single-entry{--lw-fond:var(--blanc);}
.lw-cta-band{--lw-fond:var(--ardoise);}

.lw-qual-grid,.lw-test-q,.lw-pen-grid,.lw-diff-grid,.lw-pricing-grid,
.lw-role,.lw-role-vue,.lw-tabs-list,.lw-lex,.lw-trust-row,.lw-stat,
.lw-domaines,.lw-rows,.lw-chn-vue,.lw-chn-etape,.lw-faq,.lw-plus,
.lw-frise-pas,.lw-frise-btn,.lw-bou-profil,.lw-dossier-liste,
.lw-journal,.lw-evt,.lw-ci-item,.lw-paris{
  background-color:var(--lw-fond,transparent);
}

/* --- 4. Le motif se poursuit d'une bande a l'autre. ---------------
   Mesure faite sur l'accueil avant correctif : 11 sections, 11 phases
   de pavage differentes - la trame de 92px repartait a zero a chaque
   frontiere. lawnch-motif-align.js publie sur chaque bande le
   decalage qui la recale sur l'origine du document ; le repli 0px
   redonne exactement le rendu d'avant si le script ne s'execute pas.
   Choix assume : background-attachment:fixed aurait suffi en CSS pur,
   mais il aurait fige le motif sur la fenetre - il aurait cesse de
   defiler avec la page, et coute un repaint par image sur telephone. */
.lw-section:not(.lw-hero)::before,
.single-post .entry.single-entry::before,
.single-post .lw-cta-band::before{
  background-position:0 var(--lw-motif-y,0px);
}
.lw-section:not(.lw-hero)::after,
.single-post .entry.single-entry::after{
  background-position:46px calc(46px + var(--lw-motif-y,0px));
}

/* ====================================================================
   5. Le motif entre dans le hero et se retire devant le trace (2026-08-10).
   Emplacement : .lw-hero::after, libere en deplacant le filigrane du
   monogramme sur .lw-wrap::before - c'etait le seul pseudo-element couvrant
   le hero en pleine largeur encore libre (::before porte la photo de Paris,
   .lw-wrap::after porte le trace).
   Une seule nappe ici la ou les autres bandes en ont deux : les deux pas
   sont rendus par deux couches de background sur le meme element, donc meme
   densite, mais elles pulsent en phase - le dephasage de 3,5 s demanderait
   un second pseudo-element, qui n'existe plus.
   Le fondu : masque radial centre sur le trace. Motif plein loin du dessin,
   nul en son centre, et qui monte progressivement de 38 % a 100 % du rayon.
   Le centre du trace se deplace avec la largeur (78 % du hero a 1280 px,
   75 % a 768, 67 % a 390) : seules les trois variables suivent.
   ==================================================================== */
.lw-hero{--lw-tr-x:78%;--lw-tr-rx:34%;--lw-tr-ry:46%;}
@media(max-width:1000px){.lw-hero{--lw-tr-x:74%;--lw-tr-rx:46%;--lw-tr-ry:34%;}}
@media(max-width:600px){.lw-hero{--lw-tr-x:68%;--lw-tr-rx:54%;--lw-tr-ry:32%;}}

/* Le contenu passe au-dessus des nappes : .lw-hero::after vient apres
   .lw-wrap dans l'ordre du document et, a z-index egal, l'emporterait
   sur le titre et les boutons. */
.lw-hero .lw-wrap{z-index:1;}

.lw-hero::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  width:auto;height:auto;aspect-ratio:auto;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.7'%3E%3Cpath d='M8 8 H28 M8 8 V28'/%3E%3C/g%3E%3C/svg%3E");
  background-size:92px 92px,92px 92px;
  background-position:0 var(--lw-motif-y,0px),46px calc(46px + var(--lw-motif-y,0px));
  opacity:.04;
  animation:lw-puls-sombre 7s ease-in-out infinite both;
  -webkit-mask-image:radial-gradient(ellipse var(--lw-tr-rx) var(--lw-tr-ry) at var(--lw-tr-x) 50%,transparent 0,transparent 38%,#000 100%);
  mask-image:radial-gradient(ellipse var(--lw-tr-rx) var(--lw-tr-ry) at var(--lw-tr-x) 50%,transparent 0,transparent 38%,#000 100%);
}

/* Les deux apercus a hero clair n'ont pas de trace : pas de motif blanc. */
:is(.page-id-70,.page-id-71) .lw-hero::after{content:none;}

@media(prefers-reduced-motion:reduce){.lw-hero::after{animation:none!important;opacity:.075;}}


/* ====================================================================
   6. Navigation precedent / suivant des articles (2026-08-10).
   Kadence rend ce bloc HORS de .entry.single-entry : la gouttiere posee
   le meme jour sur l'entree ne l'atteignait pas, et .nav-links prenait
   toute la largeur du conteneur (1265 px) quand le corps de l'article
   tient dans une colonne de 768 px centree. Les deux libelles se
   retrouvaient colles aux bords de l'ecran, sans rapport avec la mesure
   du texte qu'ils suivent. On leur donne exactement la meme mesure que
   .single-post .entry-content-wrap - les deux valeurs vont de pair.
   ==================================================================== */
.single-post .post-navigation{padding-inline:24px;}
.single-post .post-navigation .nav-links{max-width:768px;margin-inline:auto;}

/* Sous 700 px, la grille a deux colonnes tombait sous 330 px par colonne
   et coupait chaque titre en quatre lignes (195 px a 390 px de large) :
   on empile, et un filet marque la separation entre les deux liens. */
@media(max-width:700px){
  .single-post .post-navigation .nav-links{display:block;}
  .single-post .post-navigation .nav-next{margin-top:22px;padding-top:22px;border-top:1px solid var(--hairline);}
  .single-post .post-navigation .nav-next,
  .single-post .post-navigation .nav-next a{text-align:left;}
}

/* --- Extensions de mecaniques existantes (commerce electronique) ---
   Memes declarations que leurs voisines : aucun changement visuel. --- */
:has(#p7:checked) #pv7{display:block;}
:has(#p8:checked) #pv8{display:block;}
:has(#p9:checked) #pv9{display:block;}
:has(#p10:checked) #pv10{display:block;}
:has(#p11:checked) #pv11{display:block;}
:has(#p12:checked) #pv12{display:block;}
:has(#p13:checked) #pv13{display:block;}
:has(#m7:checked) #v7{display:block;}
:has(#tv-a:checked) #vtv-a{display:block;}
:has(#tv-b:checked) #vtv-b{display:block;}
:has(#tv-c:checked) #vtv-c{display:block;}
:has(#tv-d:checked) #vtv-d{display:block;}


/* =====================================================================
   Couche CRO — 2026-09-13
   Composants ADDITIONNELS uniquement. Aucune regle existante n'est
   modifiee, aucun jeton de couleur ni de typographie n'est cree :
   tout reprend les variables deja definies dans :root.
   ===================================================================== */

/* --- Barre d'action mobile -------------------------------------------
   Deux actions, hauteur compacte, visible sous 782px seulement.
   Rendue cote serveur (wp_footer) : le lien telephone fonctionne sans JS
   et n'introduit aucun decalage de mise en page. --- */
.lw-barre{display:none;}
@media(max-width:781px){
  .lw-barre{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:var(--ardoise);border-top:1px solid var(--hairline-light);
    padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));}
  .lw-barre-in{display:flex;gap:10px;max-width:560px;margin:0 auto;}
  .lw-barre a{flex:1 1 0;display:flex;align-items:center;justify-content:center;
    min-height:46px;padding:11px 12px;border:1px solid transparent;
    font-family:var(--sans);font-weight:500;font-size:13.5px;line-height:1.2;
    letter-spacing:.03em;text-align:center;text-decoration:none;}
  .lw-barre-tel{background:var(--blanc);color:var(--obsidienne);}
  .lw-barre-ecr{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.42);}
  .lw-barre a:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;}
  body.lw-a-barre{padding-bottom:78px;}
}
@media print{.lw-barre{display:none!important;}}

/* --- Formulaire : groupe de choix (preference de contact) -------------
   Cases natives + accent-color, comme les listes .lw-dossier du site. --- */
.lw-form-choix{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:4px;}
.lw-form-field .lw-form-choix label{display:inline-flex;align-items:center;gap:9px;
  cursor:pointer;font-family:var(--sans);font-weight:400;font-size:15px;
  line-height:1.4;color:var(--encre);text-transform:none;letter-spacing:0;}
.lw-form-choix input[type=radio]{width:17px;height:17px;margin:0;flex:0 0 auto;
  accent-color:var(--obsidienne);cursor:pointer;}
.lw-form-choix input[type=radio]:focus-visible{outline:2px solid var(--obsidienne);
  outline-offset:3px;}
.lw-form-field .lw-opt{text-transform:none;letter-spacing:0;font-size:12px;
  color:var(--argent);font-weight:400;}

/* --- Formulaire : microcopie et confirmation -------------------------- */
.lw-form-note{font-family:var(--sans);font-size:13.5px;line-height:1.62;
  color:var(--argent-texte);margin:0 0 1.5rem;max-width:62ch;}
.lw-form-pied{font-family:var(--sans);font-size:13px;line-height:1.6;
  color:var(--argent-texte);margin:1rem 0 0;max-width:62ch;}
.lw-confirme{display:none;border:1px solid var(--hairline-strong);
  background:var(--blanc);padding:clamp(22px,2.8vw,34px);}
.lw-confirme.est-visible{display:block;}
.lw-confirme .lw-eyebrow{margin:0 0 10px;}
.lw-confirme h3{font-family:var(--serif);font-size:clamp(1.32rem,2.1vw,1.68rem);
  line-height:1.24;color:var(--encre);margin:0 0 .55em;}
.lw-confirme p{margin:0 0 .9em;color:var(--graphite);line-height:1.62;font-size:15.5px;}
.lw-confirme p:last-child{margin-bottom:0;}
.lw-confirme a{color:var(--obsidienne);text-decoration:underline;
  text-underline-offset:3px;}
@media(prefers-reduced-motion:reduce){
  .lw-barre a,.lw-form-choix input[type=radio]{transition:none!important;}
}

/* --- Bouton secondaire dans les sections sombres ---------------------
   Le hero, qui est lui aussi une section sombre, possede deja ce
   traitement. On l'etend aux autres sections .lw-dark pour qu'un CTA
   secondaire y garde sa hierarchie au lieu d'etre repeint en plein par
   la regle .lw-dark .wp-block-button__link. Memes valeurs que le hero. */
.lw-section.lw-dark:not(.lw-hero) .wp-block-button.lw-ghost>.wp-block-button__link{
  background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.55);}
.lw-section.lw-dark:not(.lw-hero) .wp-block-button.lw-ghost>.wp-block-button__link:hover{
  background:transparent;color:#FFFFFF;border-color:#FFFFFF;}
