/* Self-hosted, so no visitor's address reaches a font provider. Licences in /fonts/. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-latin-opsz-normal.woff2) format("woff2-variations"),url(/fonts/newsreader-latin-opsz-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --papier:#E6E7E3; --craie:#F5F6F3; --trait:#CDD0CB; --trait-doux:#DDDED9; --trait-fort:#B4B9B3;
  --encre:#141714; --encre-doux:#515451; --encre-pale:#636562;
  /* Green: --vert fills (buttons, tabs, borders, dots) and --vert-fonce is a
     filled button's hover; --vert-texte is green text and --vert-texte-fonce a
     link's hover. --vert-nuit is the dark end card and featured card. */
  --vert:#157A5A; --vert-fonce:#136B4F; --vert-texte:#136B4F; --vert-texte-fonce:#0E5440;
  --vert-nuit:#2A3F37; --vert-pale:#DAE0DB;
  /* The logo green. Rules, bars and icons only: it is under 4.5:1 as text and
     behind white text, so text, links, buttons and filled areas use --vert. */
  --accent:#1D9E75;
  --ambre:#785721; --brique:#84392B;
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --corps:"IBM Plex Sans",system-ui,sans-serif;
  --data:"IBM Plex Mono",ui-monospace,monospace;
  --pad:clamp(20px,5vw,64px);
  /* Corners: controls (buttons, fields, the language switch, tags) and cards
     (panels, callouts, result and example blocks). Dots stay round. A filled
     part inside a bordered box takes the box's radius less its border. */
  --rayon:6px; --rayon-carte:8px;
}
*{box-sizing:border-box}
/* Author display rules (grid, flex) would otherwise beat the hidden attribute. */
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--corps);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin:0}
p{margin:0}
a{color:var(--vert-texte)}
a:hover{color:var(--vert-texte-fonce)}
:focus-visible{outline:2px solid var(--vert);outline-offset:3px}
i.fr,i.en{font-style:inherit}
html[data-lang="fr"] .en{display:none}
html[data-lang="en"] .fr{display:none}
.wrap{max-width:1080px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-family:var(--data);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vert-texte);margin-bottom:18px}

.nav{border-bottom:1px solid var(--trait);background:var(--papier)}
/* One row from about 470px up; below that the CTA wraps under the logo. */
.nav-in{display:flex;align-items:center;gap:10px 20px;min-height:66px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.nav-cta{white-space:nowrap}
/* The logo at header size: the small icon (icon-32) beside the wordmark, placed
   as the kit's lockup places its icon, in its units (1em = 1000). --h is the
   height of the whole lockup box (1138 units). */
.mark{--h:28px;margin-right:auto;display:flex;align-items:flex-start;font-size:calc(var(--h) / 1.138)}
.mark img{display:block}
.mark-icone{width:.9546em;height:.9546em;margin:.0597em 0 0 -.0355em}
.mark-mot{width:4.331em;height:.946em;margin:.192em 0 0 .0789em}
.nav-lien{font-size:15px;color:var(--encre-doux);text-decoration:none;padding:10px 2px}
.nav-lien:hover,.nav-lien[aria-current="page"]{color:var(--encre)}
.langue{display:inline-flex;border:1px solid var(--trait-fort);border-radius:var(--rayon)}
.langue > :first-child{border-radius:calc(var(--rayon) - 1px) 0 0 calc(var(--rayon) - 1px)}
.langue > :last-child{border-radius:0 calc(var(--rayon) - 1px) calc(var(--rayon) - 1px) 0}
/* Inside the segment, so it stays clear of the switch's border; white on the current one. */
.langue :focus-visible{outline-offset:-4px}
.langue [aria-current="page"]:focus-visible,.langue [aria-pressed="true"]:focus-visible{outline-color:#fff}
.langue button,.langue a{font:inherit;font-family:var(--data);font-size:11px;letter-spacing:.1em;background:transparent;color:var(--encre-doux);border:0;padding:7px 11px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;text-decoration:none}
.langue button[aria-pressed="true"],.langue a[aria-current="page"]{background:var(--vert);color:#fff}

/* Buttons stay at least 44px tall, the smallest comfortable tap target. */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--rayon);font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;text-align:center}
.btn-plein{background:var(--vert);color:#fff}
.btn-plein:hover{background:var(--vert-fonce);color:#fff}
.btn-clair{background:var(--craie);color:var(--encre)}
.btn-clair:hover{background:var(--vert-pale);color:var(--encre)}
.btn-lg{min-height:48px;padding:0 22px;font-size:16px}

.hero{padding:clamp(56px,8vw,96px) 0 clamp(36px,5vw,56px)}
.hero h1{font-size:clamp(32px,5.4vw,58px);max-width:16ch}
.hero .sous{margin-top:22px;max-width:58ch;font-size:clamp(17px,1.6vw,19.5px);color:var(--encre-doux)}
.hero .cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}

.sec{padding:clamp(48px,7vw,88px) 0;border-top:1px solid var(--trait)}
.sec h2{font-size:clamp(26px,3.6vw,40px);max-width:22ch}
.sec .intro{margin-top:18px;max-width:60ch;color:var(--encre-doux);font-size:17.5px}

.etapes{margin-top:40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,26px)}
.etape{border-top:1px solid var(--trait);padding-top:18px}
.etape .n{font-family:var(--data);font-size:11.5px;letter-spacing:.1em;color:var(--vert-texte);margin-bottom:10px}
.etape h3{font-size:19px;margin-bottom:8px}
.etape p{font-size:15px;color:var(--encre-doux)}

.duo{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.carte{background:var(--craie);border:1px solid var(--trait);border-radius:var(--rayon-carte);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px}
.carte h3{font-size:clamp(22px,2.6vw,28px)}
.carte ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.carte li{position:relative;padding-left:18px;font-size:16px;color:var(--encre-doux);line-height:1.5}
.carte li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--vert)}

.piliers{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.pilier{border-top:2px solid var(--encre);padding-top:18px}
.pilier h3{font-size:20px;margin-bottom:10px}
.pilier p{font-size:15.5px;color:var(--encre-doux)}
.pilier p + p{margin-top:10px}

.contact{max-width:min(1080px,calc(100% - 2*var(--pad)));margin:0 auto clamp(48px,7vw,88px);background:var(--vert);border-radius:var(--rayon-carte);padding:clamp(32px,5vw,60px);display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.contact h2{font-size:clamp(24px,3.4vw,38px);color:var(--craie);max-width:24ch}
.contact p{margin-top:12px;color:var(--craie);font-size:17px;max-width:46ch}
.contact .txt{margin-right:auto}
.contact .actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact a.ecrire{font-size:14.5px;color:var(--craie);display:inline-flex;align-items:center;min-height:44px}
.contact a.ecrire:hover{color:#fff}
.ecrire{font-size:14.5px;color:var(--encre-doux)}

.pied{border-top:1px solid var(--trait);padding:32px 0 48px;font-size:13.5px;line-height:1.6;color:var(--encre-doux)}
.pied-in{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.pied p{max-width:64ch}
.pied-liens{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:20px;font-size:13px}
.pied-liens a,.lien-bouton{display:inline-flex;align-items:center;min-height:44px}
.lien-bouton{font:inherit;font-size:13px;color:var(--vert-texte);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.lien-bouton:hover{color:var(--vert-texte-fonce)}
.pied-liens .choix{font-family:var(--data);font-size:12px;color:var(--encre-pale)}

/* Articles and policies: one readable column, left edge on the header's. */
.page{padding:clamp(48px,7vw,88px) 0 clamp(56px,8vw,96px)}
.prose{max-width:68ch}
.prose h1{font-size:clamp(32px,4.2vw,44px);line-height:1.1}
.prose h2{font-size:clamp(22px,2.4vw,26px);line-height:1.2;margin:2.1em 0 .6em}
.prose h3{font-size:20px;line-height:1.25;margin:1.6em 0 .5em}
.prose p,.prose ul,.prose ol{margin:0 0 1.05em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--vert-texte)}
.prose strong{font-weight:600}
.prose hr{border:0;border-top:1px solid var(--trait);margin:2.4em 0}
/* A wide table scrolls inside its box; the page never scrolls sideways. */
.tableau{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--trait);border-radius:var(--rayon-carte);background:var(--craie)}
.tableau table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.45}
.tableau th,.tableau td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--trait-doux)}
.tableau tr:last-child td{border-bottom:0}
.tableau thead th{font-weight:600;border-bottom:1px solid var(--trait)}
.tableau tbody th,.tableau td:first-child{font-weight:600}
/* A stacked table: on a phone each row is a block, each cell under its column's heading. */
@media(max-width:600px){
  .tableau-empile table{min-width:0}
  .tableau-empile thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tableau-empile tr,.tableau-empile td{display:block}
  .tableau-empile tr{padding:12px 14px;border-bottom:1px solid var(--trait)}
  .tableau-empile tr:last-child{border-bottom:0}
  .tableau-empile td{padding:0;border:0}
  .tableau-empile td + td{margin-top:8px}
  .tableau-empile td:first-child{font-family:var(--display);font-size:18px;line-height:1.3}
  .tableau-empile td + td::before{content:attr(data-label);display:block;font-family:var(--data);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-doux);margin-bottom:2px}
}
.meta{margin:18px 0 0;font-family:var(--data);font-size:12.5px;letter-spacing:.04em;color:var(--encre-doux)}
.chapeau{margin-top:30px}
.encart{margin-top:2.4em;padding:clamp(22px,3vw,30px);background:var(--craie);border:1px solid var(--trait);border-radius:var(--rayon-carte)}
.encart p{margin:0}
.encart .btn{margin-top:16px}
.avertissement{margin-top:18px;font-size:14px;color:var(--encre-doux)}
/* Blog posts: a 680px text column, with the two-card examples breaking out
   to 960px. The end card and disclaimer keep the text's edges. Left edge on
   the header's, like the other pages. */
.prose.billet-article{max-width:960px;font-size:17px;line-height:1.65}
.billet-article > *,.billet-corps > *{max-width:680px}
.billet-corps > .c-exemples-2,.billet-article > .billet-corps{max-width:960px}
.billet-article h1{font-size:44px;line-height:1.1}
.billet-article h2{font-size:28px;line-height:1.2;margin:44px 0 14px}
.billet-article p,.billet-article ul,.billet-article ol{margin:0 0 20px}
.billet-article .lead{font-size:19px;line-height:1.6}
.c-label{font-family:var(--data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-doux);margin:0 0 8px}
.c-byline{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 32px !important;font-family:var(--data);font-size:13px;color:var(--encre-doux)}

.c-serie{display:inline-flex;flex-direction:column;gap:8px;max-width:100%;margin-bottom:22px;color:var(--encre-doux);text-decoration:none}
.c-serie:hover{color:var(--encre)}
.c-serie:hover .c-serie-ligne{text-decoration:underline}
.c-serie-ligne{font-family:var(--data);font-size:12px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}
/* "Part N of M" stays whole; a narrow screen breaks the line after the dot. */
.c-serie-partie{white-space:nowrap}
.c-serie-barre{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:4px;width:180px;max-width:100%}
.c-serie-barre span{height:3px;background:#C4C8C2}
.c-serie-barre .fait{background:var(--accent)}

.c-situations{list-style:none;padding:0 !important;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.c-situations li{margin:0;background:var(--craie);border:1px solid var(--trait);border-radius:var(--rayon-carte);padding:16px;display:flex;flex-direction:column;gap:4px}
.c-num{font-family:var(--data);font-size:12px;letter-spacing:.04em;color:var(--vert-texte)}
.c-situations .c-corps{font-size:15px;line-height:1.55;color:#2B2E2B}

.c-points{list-style:none;padding:0 !important;counter-reset:point;display:flex;flex-direction:column;gap:12px}
.c-points li{margin:0;counter-increment:point;position:relative;padding-left:42px}
.c-points li::before{content:counter(point);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:var(--vert);color:#fff;font-family:var(--data);font-size:13px;display:flex;align-items:center;justify-content:center}
.c-titre{font-weight:600}
.c-points .c-titre{display:block}

.c-checklist{list-style:none;padding:0 !important;display:flex;flex-direction:column;gap:12px}
.c-checklist li{margin:0;display:flex;gap:12px}
.c-checklist svg{flex:none;margin-top:3px;color:var(--accent)}

/* Report-level cards: the accountant's report, one mock page per level. */
.c-rapports{margin:0 0 20px}
.c-rapports-grille{list-style:none;padding:0 !important;margin:0 !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.c-rapport{position:relative;margin:0;min-width:0;display:flex;flex-direction:column;background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:14px}
.c-rapport-tete{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.c-rapport-titre{font-weight:600;font-size:15px;line-height:1.3}
.c-niveau{display:flex;align-items:center;gap:6px;font-family:var(--data);font-size:11px;line-height:1.3;color:var(--encre-doux)}
.c-niveau-barre{display:flex;gap:3px}
.c-niveau-barre span{width:14px;height:6px;background:#C4C8C2}
.c-niveau-barre .fait{background:var(--accent)}
.c-page{flex-grow:1;background:#fff;border:1px solid var(--trait);padding:14px 14px 18px;box-shadow:0 1px 2px rgba(20,23,20,.06);font-family:Georgia,"Times New Roman",serif}
.billet-article .c-page p{margin:0}
.c-page-titre{font-weight:600;font-size:13px;line-height:1.35;text-align:center;margin-bottom:10px !important}
.c-page-titre-seul{margin-bottom:2px !important}
.c-page-ligne{display:block;height:5px;background:#E3E5E1;margin-bottom:6px}
.c-page-texte{font-size:12px;line-height:1.55;color:#3E413E;margin:4px 0 10px !important}
.c-page mark{background:#D6EFE5;color:var(--encre);padding:0 2px}
.c-page-tampon{font-family:var(--data);font-size:11px;line-height:1.4;text-align:center;margin-bottom:10px !important}
.c-page-tampon mark{padding:0 3px}
.c-page-tableau{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px 10px}
.c-page-tableau .c-page-ligne{margin:0}
.billet-article .c-rapport-ligne{margin:10px 0 0;font-size:13px;line-height:1.5;color:#3E413E}
.billet-article .c-rapports-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--encre-doux)}

.c-note{background:var(--craie);border:1px solid var(--trait);border-radius:var(--rayon-carte);padding:18px 20px;margin:0 0 20px}
.c-note p:last-child{margin-bottom:0}

.c-exemples{margin:8px 0 20px}
.c-exemples-cartes{display:grid;gap:16px}
.c-exemples-2 .c-exemples-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-exemple{background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:22px;min-width:0}
.c-exemple p{font-size:15px;line-height:1.6;margin:0 0 12px}
.c-exemple p:last-child{margin-bottom:0}
.c-exemple-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:14px}
.billet-article .c-exemple-titre{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.2;margin:0}
.billet-article .c-exemple-meta{font-family:var(--data);font-size:12px;color:var(--encre-doux);margin:0}
.c-chiffres{margin:0 0 16px;padding-top:12px;border-top:1px solid var(--trait);font-family:var(--data);font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:6px}
.c-chiffres div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline}
.c-chiffres dt{color:var(--encre-doux)}
.c-chiffres dd{margin:0;text-align:right;max-width:24ch}
.c-chiffres .c-risque{color:#8A3B12;font-weight:500}

.c-formule{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:#fff;border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:18px 20px;margin:0 0 20px;font-family:var(--data);font-size:18px}
.c-op{color:var(--encre-doux)}
.c-resultat{font-weight:500;color:var(--vert-texte);font-size:22px}
.c-formule-note{flex-basis:100%;font-size:13px;color:var(--encre-doux)}

.c-client{background:#fff;border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);margin:0 0 20px}
.c-client-tete{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--trait);background:var(--craie);border-radius:calc(var(--rayon-carte) - 1px) calc(var(--rayon-carte) - 1px) 0 0}
.c-client-tete .c-label{margin:0 auto 0 0}
.c-copier{font:inherit;font-size:14px;font-weight:500;color:#fff;background:var(--vert);border:1px solid var(--vert);border-radius:var(--rayon);min-height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.c-copier:hover{background:var(--vert-fonce)}
.c-client-texte{padding:20px 22px;font-size:16px;line-height:1.65}
.c-client-texte p:last-child{margin-bottom:0}
.c-puce{background:#E3EBE5;border-radius:var(--rayon);padding:1px 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.c-crochet,.c-statut,.c-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.c-essentiel{margin:44px 0 0;border-top:3px solid var(--accent);padding-top:16px}
.c-essentiel .c-label{color:var(--vert-texte)}
.billet-article .c-essentiel p:not(.c-label){font-family:var(--display);font-size:23px;line-height:1.45;margin:0}

.c-sources{margin:40px 0 0;font-size:14px;color:var(--encre-doux)}
.c-sources ul{margin:0;padding-left:18px}
.c-sources li{margin-bottom:4px}

/* Previous and next share the row 50/50; a lone card spans it. */
.c-serie-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:40px 0 0}
.c-serie-nav > :only-child{grid-column:1 / -1}
.c-serie-nav a{display:block;border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:14px 16px;text-decoration:none;color:var(--encre)}
.c-serie-nav a:hover{border-color:var(--vert);background:var(--craie)}
.c-serie-nav .c-label{text-transform:none;letter-spacing:0;margin-bottom:4px}
.c-serie-titre{display:block;font-weight:600;line-height:1.4}

.c-fin{margin:56px 0 0;background:var(--vert-nuit);color:var(--craie);border-radius:var(--rayon-carte);padding:32px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center}
.c-fin > div{flex:1 1 420px;min-width:0}
.c-fin p{margin:0;font-size:16px;line-height:1.6;color:#D9DED9}
.c-fin .c-fin-titre{font-family:var(--display);font-size:26px;font-weight:600;line-height:1.2;color:var(--craie);margin-bottom:8px}
.c-fin-bouton{flex:none;display:inline-flex;align-items:center;min-height:48px;font-weight:600;font-size:15px;color:var(--vert-nuit);background:#fff;padding:0 20px;border-radius:var(--rayon);text-decoration:none}
.c-fin-bouton:hover{color:var(--vert-nuit);background:var(--craie)}
.c-fin :focus-visible{outline-color:#fff}
.billet-article .avertissement{font-size:13px;line-height:1.55;margin-top:16px}
.billet-article .avertissement:has(+ .avertissement){margin-bottom:0}
.billet-article .avertissement + .avertissement{margin-top:6px}

@media(max-width:820px){.c-exemples-2 .c-exemples-cartes{grid-template-columns:1fr}}
@media(max-width:639px){.c-rapports-grille{grid-template-columns:1fr}}
@media(max-width:480px){
  .c-chiffres div{grid-template-columns:1fr;gap:0}
  .c-chiffres dd{max-width:none}
  .c-exemple{padding:18px}
}
@media(max-width:600px){
  .billet-article h1{font-size:32px}
  .c-serie-nav{grid-template-columns:1fr}
  .c-fin{padding:24px}
}

.a-confirmer{background:#F1E6CF;color:var(--ambre);font-family:var(--data);font-size:.82em;padding:1px 5px;border-radius:var(--rayon)}

/* Blog index: the series as cards, part 1 featured. Each card is one link. */
.index-blogue{max-width:960px}
.index-blogue h1{font-size:clamp(36px,5vw,52px);line-height:1.05}
.i-serie{margin-top:48px}
.i-serie-tete{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;border-top:3px solid var(--accent);padding-top:12px;margin-bottom:20px;font-family:var(--data);font-size:13px;color:var(--encre-doux)}
.i-serie-tete h2{font-family:var(--data);font-weight:500;font-size:13px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--encre)}
.i-vedette{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-end;background:var(--vert-nuit);color:var(--craie);border-radius:var(--rayon-carte);padding:36px;text-decoration:none}
.i-vedette:hover{color:var(--craie)}
.i-vedette-texte{display:block;flex:1 1 520px;min-width:0}
.i-vedette-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:14px;font-family:var(--data);font-size:13px;color:#CFE3D9}
.i-debut{border:1px solid #3CC596;color:#fff;padding:3px 8px;border-radius:var(--rayon)}
.i-vedette h3{font-size:36px;line-height:1.12;letter-spacing:-.01em;color:#fff}
.i-vedette .i-resume{display:block;margin-top:14px;max-width:620px;font-size:17px;line-height:1.6;color:#D9DED9}
.i-vedette-bouton{flex:none;font-weight:600;font-size:15px;color:var(--vert-nuit);background:#fff;padding:12px 18px;border-radius:var(--rayon)}
.i-vedette:hover .i-vedette-bouton{background:var(--craie)}
.i-vedette:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.i-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.i-carte{display:flex;flex-direction:column;background:var(--craie);border:1px solid var(--trait-fort);border-top:4px solid var(--accent);border-radius:var(--rayon-carte);padding:22px;text-decoration:none;color:var(--encre)}
.i-carte:hover{color:var(--encre);background:#fff;border-color:var(--vert);border-top-color:var(--accent)}
.i-carte:hover .i-lire{text-decoration:underline}
.i-carte-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-family:var(--data);font-size:13px;color:var(--encre-doux)}
.i-carte h3{font-size:23px;line-height:1.2}
.i-carte .i-resume{display:block;flex-grow:1;margin:10px 0 18px;font-size:15px;line-height:1.55;color:#3E413E}
.i-lire{font-size:14px;font-weight:600;color:var(--vert-texte)}
/* An odd card left alone on the last row takes the whole row. */
.i-cartes > .i-carte:last-child:nth-child(odd){grid-column:1 / -1}
.i-cartes > .i-carte:last-child:nth-child(odd) .i-resume{max-width:620px}
.i-prochain{margin-top:16px;border:1px dashed var(--trait-fort);border-radius:var(--rayon-carte);padding:16px 22px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-family:var(--data);font-size:13px;color:var(--encre-doux)}
.i-prochain-titre{font-family:var(--display);font-size:20px;font-weight:500;color:var(--encre)}
.index-blogue .c-fin{margin-top:64px}
/* A featured post outside the series, above it: a full-width card with its label. */
.i-une{margin-top:32px}
.i-une .i-resume{max-width:620px}
.i-une-label{border:1px solid var(--vert);color:var(--vert-texte);padding:2px 8px;border-radius:2px}
.i-une .i-carte-meta{align-items:center}
@media(max-width:639px){.i-cartes{grid-template-columns:1fr}}
@media(max-width:600px){
  .i-vedette{padding:24px}
  .i-vedette h3{font-size:28px}
}

/* Early-access form. */
.formulaire{margin-top:36px;max-width:600px;display:grid;gap:22px}
.champ{display:grid;gap:7px}
.champ label,.champ legend{font-size:15px;font-weight:600;padding:0}
.champ .aide{font-weight:400;color:var(--encre-doux)}
.champ input[type="text"],.champ input[type="email"],.champ select{font:inherit;font-size:16px;color:var(--encre);background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon);min-height:48px;padding:0 12px;width:100%}
.champ input:focus-visible,.champ select:focus-visible{outline:2px solid var(--vert);outline-offset:1px;border-color:var(--vert)}
.champ input[aria-invalid="true"],.champ select[aria-invalid="true"]{border-color:var(--brique)}
fieldset.champ{border:0;margin:0;padding:0;min-width:0}
/* display:grid above would otherwise show a field the script has hidden. */
.champ[hidden]{display:none}
/* Read by screen readers, never seen; positioned so it takes no row in the form's grid. */
.hors-ecran{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.choix-radio{display:flex;flex-wrap:wrap;gap:8px 22px}
.choix-radio label,.case{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:16px;min-height:44px;padding-top:10px;cursor:pointer}
.choix-radio input,.case input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--vert);flex:none}
.case{padding-top:0;font-size:15.5px}
.erreur{font-size:14px;color:var(--brique)}
.erreur:empty{display:none}
.piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.formulaire .btn{justify-self:start;font:inherit;font-size:16px;font-weight:600;cursor:pointer;min-height:48px;padding:0 22px}
.formulaire .btn[disabled]{opacity:.6;cursor:progress}
.envoi{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.envoi .ecrire{display:inline-flex;align-items:center;min-height:44px}
/* Takes no room until Turnstile has drawn its widget into it. */
#f-turnstile:empty{display:none}
.formulaire .debug{font-family:var(--data);font-size:12px;color:var(--ambre)}
.avis{font-size:14px;color:var(--encre-doux);max-width:60ch}
.merci{margin-top:36px;max-width:600px;padding:clamp(22px,3vw,30px);background:var(--craie);border:1px solid var(--trait);border-left:3px solid var(--vert);border-radius:var(--rayon-carte);font-size:18px}
.merci:focus{outline:none}

/* Cookie banner and settings: built to docs/handoff/design/cookie-consent_*.dc.html. */
.qp-banniere{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--craie);border-top:1px solid var(--trait-fort);box-shadow:0 -8px 28px rgba(20,23,20,.08);padding:26px var(--pad) 28px}
.qp-banniere[hidden]{display:none}
.qp-banniere-in{max-width:1152px;margin:0 auto;display:flex;gap:48px;align-items:center}
.qp-banniere .txt{flex:1 1 auto;min-width:0}
.qp-banniere h2{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:normal}
.qp-banniere p{font-size:15px;color:var(--encre-doux);max-width:70ch}
.qp-banniere .boutons{flex:none;display:flex;flex-direction:column;gap:10px;width:300px}
.qp-paire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qp-btn{font:inherit;font-size:15px;font-weight:600;color:#fff;background:var(--vert);border:1px solid var(--vert);border-radius:var(--rayon);height:46px;padding:0 10px;cursor:pointer}
.qp-btn:hover{background:var(--vert-fonce);border-color:var(--vert-fonce)}
.qp-btn-trait{font-weight:500;color:var(--encre);background:transparent;border-color:var(--trait-fort);height:44px}
.qp-btn-trait:hover{background:var(--vert-pale);border-color:var(--trait-fort)}

.qp-dialogue{width:600px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);padding:0;color:var(--encre);background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);box-shadow:0 18px 48px rgba(20,23,20,.22)}
.qp-dialogue::backdrop{background:rgba(20,23,20,.42)}
.qp-dialogue .tete{padding:26px 30px 6px}
.qp-dialogue h2{margin:0 0 6px;font-size:26px;line-height:1.2;letter-spacing:normal}
.qp-dialogue h2:focus{outline:none}
.qp-dialogue .tete p{font-size:14.5px;color:var(--encre-doux)}
.qp-dialogue .corps{padding:10px 30px}
.qp-cat{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--trait-doux)}
.qp-cat:last-child{border-bottom:0}
.qp-cat .nom{flex:1;cursor:pointer}
.qp-cat .nom>span{display:block}
.qp-cat .titre{font-weight:600;font-size:15.5px}
.qp-cat .desc{font-size:14px;color:var(--encre-doux)}
.qp-cat input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--vert);cursor:pointer}
.qp-badge{flex:none;font-family:var(--data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte);background:var(--vert-pale);padding:4px 8px;border-radius:var(--rayon)}
.qp-dialogue .pied-d{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 30px 24px;border-top:1px solid var(--trait)}
.qp-dialogue .pied-d .qp-btn{font-size:14.5px;height:46px}

/* The lot-number lookup (src/lot-tool.html, assets/lot-tool.js), after the mock's three boards.
   One 860px column on the header's left edge; at phone width every row stacks, and the units
   table scrolls inside its box, never the page. */
.lot{max-width:860px}
.lot-sur-titre{font-family:var(--data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-doux)}
.lot h1{margin:8px 0 10px;font-size:clamp(28px,4.2vw,40px);line-height:1.12}
.lot-intro{margin:0 0 28px;font-size:clamp(16px,1.6vw,18px);color:var(--encre);max-width:640px}
.lot-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:18px}
.lot-champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.lot-champ-adresse{position:relative;flex:999 1 380px}
.lot-champ-unite{flex:1 1 120px}
.lot-champ-unite label{white-space:nowrap}
/* The two tabs over the forms. No overflow:hidden on the box: the suggestions hang out of it. */
.lot-recherche{background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte)}
.lot-recherche .lot-form{background:none;border:0;border-radius:0}
.lot-recherche .lot-aide{margin:0;padding:0 18px 16px}
.lot-onglets{display:flex;border-bottom:1px solid var(--trait);background:var(--papier);border-radius:calc(var(--rayon-carte) - 1px) calc(var(--rayon-carte) - 1px) 0 0}
.lot-onglet{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-bottom:-1px;font:inherit;font-size:15px;font-weight:600;color:var(--encre-doux);background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer}
.lot-onglet:first-child{border-top-left-radius:calc(var(--rayon-carte) - 1px)}
.lot-onglet:last-child{border-top-right-radius:calc(var(--rayon-carte) - 1px)}
.lot-onglet[aria-selected="true"]{color:var(--encre);background:var(--craie);border-bottom-color:var(--vert)}
.lot-onglet:focus-visible{outline-offset:-4px}
.lot-panneau[hidden]{display:none}
.lot-champ-lot{flex:999 1 260px}
.lot-champ-lot input{font-family:var(--data);font-size:18px;letter-spacing:.04em}
/* A button that reads as a link: in the hint, and on the common lot's card. */
.lot-lien{font:inherit;color:var(--vert-texte);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.lot-unite > .lot-lien{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:15px}
.lot-unite-titre{font-weight:600;font-size:15px}
.lot-cherche{background:var(--vert-pale);border-color:var(--vert)}
.lot-champ label{font-size:13px;font-weight:600}
.lot-champ .aide{font-weight:400;color:var(--encre-doux)}
/* #8C918B: the mock's field border, 3.2:1 on white, which a field's edge needs. */
.lot-champ input{font:inherit;font-size:16px;padding:11px 12px;border:1px solid #8C918B;border-radius:var(--rayon);background:#fff;color:var(--encre);width:100%;min-width:0;min-height:48px}
.lot-champ input:focus-visible{outline:2px solid var(--vert);outline-offset:1px;border-color:var(--vert)}
.lot-champ input[aria-expanded="true"]{border-color:var(--vert)}
.lot-chercher{margin-top:25px;min-height:48px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;border:0}
.lot-suggestions{position:absolute;z-index:5;left:0;right:0;top:100%;margin:4px 0 0;padding:4px 0;list-style:none;background:#fff;border:1px solid #8C918B;border-radius:var(--rayon);box-shadow:0 6px 18px rgba(20,23,20,.12);max-height:min(60vh,420px);overflow-y:auto}
.lot-suggestions li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;line-height:1.4}
.lot-suggestions li[aria-selected="true"],.lot-suggestions li:hover{background:var(--vert-pale)}
.lot-suggestions .rue{font-weight:600}
.lot-suggestions .ville{color:var(--encre-doux)}
.lot-suggestions .genre{flex:none;font-family:var(--data);font-size:12px;color:var(--encre-doux);text-align:right}
.lot-suggestions .genre.copro{color:var(--vert-texte)}
.lot-aide{margin:10px 0 0;font-size:14px;color:var(--encre-doux)}
/* Cloudflare sizes its box when it shows one; most of the time it stays invisible and takes no room. */
.lot-turnstile:not(:empty){margin-top:14px}
.lot-turnstile iframe{display:block}
.lot-etat{margin-top:12px;font-size:15px}
.lot-etat:empty{display:none}
.lot-etat a{font-weight:500}
/* Several matches after a search, as buttons under the message, drawn like the list's rows. */
.lot-choix{margin-top:8px;background:#fff;border:1px solid #8C918B;border-radius:var(--rayon)}
.lot-choix[hidden]{display:none}
.lot-choix-bouton{display:flex;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:0;border-top:1px solid var(--vert-pale);background:none;font:inherit;color:inherit;text-align:left;line-height:1.4;cursor:pointer}
.lot-choix-bouton:first-child{border-top:0;border-radius:calc(var(--rayon) - 1px) calc(var(--rayon) - 1px) 0 0}
.lot-choix-bouton:last-child{border-bottom-left-radius:calc(var(--rayon) - 1px);border-bottom-right-radius:calc(var(--rayon) - 1px)}
.lot-choix-bouton:hover,.lot-choix-bouton:focus-visible{background:var(--vert-pale)}
.lot-choix-bouton:focus-visible{outline:2px solid var(--vert);outline-offset:-2px}
.lot-choix .rue{font-weight:600}
.lot-choix .ville{color:var(--encre-doux)}
.lot-choix .genre{flex:none;font-family:var(--data);font-size:12px;color:var(--encre-doux);text-align:right}
.lot-choix .genre.copro{color:var(--vert-texte)}

.lot-resultat{margin-top:28px;background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte)}
.lot-tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:baseline;padding:20px 22px;border-bottom:1px solid var(--trait)}
.lot-tete h2{font-size:clamp(22px,2.6vw,26px);line-height:1.2}
.lot-tete h2:focus{outline:none}
.lot-tete h2:focus-visible{outline:2px solid var(--vert);outline-offset:3px}
.lot-meta{font-size:14px;color:var(--encre-doux)}
.lot-carte-lien{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:44px;font-size:14px;font-weight:500}
.lot-carte-lien svg{flex:none}
.lot-badge{font-family:var(--data);font-size:12px;color:var(--vert-texte);border:1px solid var(--vert);border-radius:var(--rayon);padding:3px 8px}
.lot-corps{padding:20px 22px;display:flex;flex-direction:column;gap:22px}
.lot-unite{background:#fff;border:1px solid var(--vert);border-radius:var(--rayon-carte);padding:18px}
.lot-etiquette{font-family:var(--data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte)}
.lot-sous{font-size:15px;margin:4px 0 12px}
.lot-note{margin-top:12px !important;font-size:14px;color:var(--encre-doux)}
.lot-lots{display:flex;flex-wrap:wrap;gap:10px}
.lot-lot{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--trait-fort);border-radius:var(--rayon);padding:6px 6px 6px 12px;background:#fff}
.lot-numero{font-family:var(--data);font-size:18px;font-weight:500;white-space:nowrap}
.lot-copier{font:inherit;font-size:13px;color:var(--vert-texte);background:transparent;border:1px solid var(--vert);border-radius:var(--rayon);padding:6px 10px;min-height:44px;min-width:76px;cursor:pointer}
/* Inside a lot's box, 6px in: a little tighter than the box, so the curves nest. */
.lot-lot .lot-copier{border-radius:calc(var(--rayon) - 2px)}
.lot-copier:hover{background:var(--vert-pale)}
.lot-seul .lot-lot{border-color:var(--vert)}
.lot-seul .lot-numero{font-size:22px}
.lot-communes{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.lot-communes-texte{flex:1 1 260px}
.lot-communes-titre{font-weight:600;font-size:15px}
.lot-communes .lot-meta{font-size:14px}
.lot-unites{border-top:1px solid var(--trait);padding-top:14px}
.lot-unites summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--vert-texte);min-height:44px;display:flex;align-items:center}
.lot-unites .lot-tableau{overflow-x:auto;margin-top:10px}
.lot-unites table{width:100%;border-collapse:collapse;font-size:14px}
.lot-unites caption{text-align:left;font-size:13px;color:var(--encre-doux);padding-bottom:6px}
.lot-unites th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--trait-fort);font-weight:600}
.lot-unites td{padding:8px 10px;border-bottom:1px solid var(--trait-doux);vertical-align:top}
.lot-unites td.lots{font-family:var(--data)}
.lot-unites td.lot-voir-case{text-align:right;padding-top:2px;padding-bottom:2px;vertical-align:middle}
.lot-voir{font:inherit;font-size:13px;color:var(--vert-texte);background:transparent;border:1px solid var(--vert);border-radius:var(--rayon);padding:6px 12px;min-height:44px;min-width:64px;cursor:pointer}
.lot-voir:hover{background:var(--vert-pale)}
.lot-voir:disabled{color:var(--encre-pale);border-color:var(--trait-fort);background:transparent;cursor:default}
.lot-trouvee{font-size:14px;color:var(--encre-doux);margin:4px 0 0}
.lot-message{font-size:15px}
/* The assessment and the estimate (ASSESSMENT_VISIBLE, or ?apercu=evaluation): drawn by assets/lot-tool.js. */
.lot-type{font-family:var(--data);font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--vert-texte);border:1px solid var(--vert);border-radius:var(--rayon);padding:1px 7px;margin-left:6px;white-space:nowrap}
.lot-paire{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;align-items:start}
.lot-fiche{background:#fff;border:1px solid var(--trait);border-radius:var(--rayon-carte);padding:18px 20px;min-width:0}
.lot-fiche-taxes{border-color:var(--vert)}
.lot-fiche-age{background:var(--craie);border-color:var(--trait-fort)}
.lot-fiche-titre{font-family:var(--data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte)}
.lot-fiche-sous{font-size:13px;color:var(--encre-doux)}
.lot-montant{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:6px 0 2px}
.lot-montant-chiffre{font-family:var(--data);font-size:clamp(26px,4vw,32px);font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.lot-variation{font-family:var(--data);font-size:12.5px;color:#1D7A5C;background:#E3F1EB;border-radius:var(--rayon);padding:2px 7px;white-space:nowrap}
.lot-aucune{font-family:var(--display);font-size:22px;font-weight:500;margin:6px 0 0}
.lot-ligne{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--trait-doux);font-size:15px}
.lot-ligne-nom{color:#3E413E;min-width:0}
.lot-ligne-sous{display:block;font-size:12.5px;color:var(--encre-pale)}
.lot-ligne-valeur{flex:none;font-family:var(--data);font-variant-numeric:tabular-nums;white-space:nowrap}
.lot-ligne-total{font-weight:600;border-bottom:0}
.lot-ligne-total .lot-ligne-nom{color:var(--encre)}
.lot-faits{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:8px 24px;margin-top:8px}
.lot-fait-nom{font-size:13px;color:var(--encre-doux)}
.lot-fait-valeur{font-family:var(--data);font-size:17px}
.lot-fait-mots{font-family:var(--corps);font-size:15px}
.lot-fait-aparte{font-family:var(--corps);font-size:13px;color:var(--encre-doux)}
.lot-fiche-age ul{margin:10px 0 0;padding-left:20px;font-size:15px;display:flex;flex-direction:column;gap:6px}
.lot-plus{border-top:1px solid var(--trait);padding-top:14px}
.lot-plus summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--vert-texte);min-height:44px;display:flex;align-items:center}
.lot-plus-corps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px 28px;margin-top:10px;background:#fff;border:1px solid var(--trait);border-radius:var(--rayon-carte);padding:18px 20px}
.lot-plus-corps > .lot-note{grid-column:1 / -1;margin-top:0 !important}
.lot-etendue{position:relative;height:24px;margin:10px 8px 0}
.lot-etendue::before{content:"";position:absolute;left:-8px;right:-8px;top:11px;height:2px;background:var(--trait)}
.lot-etendue-mediane,.lot-etendue-unite{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%}
.lot-etendue-mediane{width:10px;height:10px;background:var(--trait-fort)}
.lot-etendue-unite{width:16px;height:16px;background:var(--vert);border:2px solid #fff}
.lot-etendue-bornes{display:flex;justify-content:space-between;font-family:var(--data);font-size:12px;color:var(--encre-pale)}
.lot-etendue-texte{font-size:15px;margin-top:4px}
.lot-etendue-texte strong{font-weight:600}
.lot-barre{display:grid;grid-template-columns:minmax(0,9.5em) 1fr auto;align-items:center;gap:10px;font-size:14px;margin-top:8px}
.lot-barre-piste{height:10px}
.lot-barre-plein{display:block;height:10px;border-radius:3px}
.lot-barre-unite{background:var(--vert)}
.lot-barre-immeuble{background:#8FA59B}
.lot-barre-secteur{background:var(--trait-fort)}
.lot-barre-valeur{font-family:var(--data);text-align:right;white-space:nowrap}
.lot-avant-chiffres{margin-top:0}
.lot-avant-chiffres h3{font-family:var(--corps);font-size:16px;letter-spacing:0;margin-bottom:8px}
#lot-credit-evaluation{margin-top:12px}

.lot-ailleurs,.lot-plus-loin,.lot-faq{margin-top:36px}
.lot-ailleurs h2,.lot-plus-loin h2,.lot-faq h2{font-size:22px;margin-bottom:12px}
.lot-faq-item{border-top:1px solid var(--trait);padding:16px 0}
.lot-faq-item h3{font-family:var(--corps);font-size:16px;letter-spacing:0;line-height:1.4;margin-bottom:6px}
.lot-faq-item p{font-size:15px;line-height:1.6;color:var(--encre-doux)}
.lot-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.lot-carte{background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:16px;font-size:14px;color:var(--encre-doux)}
.lot-carte-titre{font-weight:600;font-size:16px;color:var(--encre)}
.lot-lien{display:flex;flex-direction:column;gap:6px;text-decoration:none;min-height:44px}
.lot-lien:hover{border-color:var(--vert)}
.lot-lien-tete{display:flex;justify-content:space-between;gap:8px}
.lot-prix{flex:none;font-family:var(--data);font-size:12px;color:var(--vert-texte)}
.lot-prix-payant{color:var(--encre-doux)}
.lot-avant{margin-top:22px;background:var(--craie);border:1px solid var(--trait-fort);border-radius:var(--rayon-carte);padding:18px 22px}
.lot-avant h2{font-family:var(--corps);font-size:16px;letter-spacing:0;margin-bottom:8px}
.lot-avant ul{margin:0;padding-left:20px;font-size:15px}
.lot-offre{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:#1A1A18;color:var(--craie);border-radius:var(--rayon-carte);padding:20px 22px}
.lot-offre-texte{flex:999 1 420px;min-width:0}
.lot-offre-titre{font-family:var(--display);font-size:21px;font-weight:500}
.lot-offre-texte p:not(.lot-offre-titre){font-size:15px;color:#D4D7D2}
.lot-offre-bouton{font-size:14px;font-weight:600;color:#1A1A18;background:var(--craie);padding:11px 16px;border-radius:var(--rayon);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.lot-offre-bouton:hover{color:#1A1A18;background:#fff}
.lot-credit{margin-top:28px;font-size:13px;color:var(--encre-doux);line-height:1.55}
@media(max-width:600px){
  .lot-form{flex-direction:column;align-items:stretch;padding:14px}
  .lot-champ-adresse,.lot-champ-unite{flex:none}
  .lot-chercher{margin-top:0;width:100%}
  .lot-lot{flex:1 1 100%}
  .lot-resultat .lot-tete,.lot-corps{padding:16px}
}

@media(max-width:900px){.etapes{grid-template-columns:repeat(2,minmax(0,1fr))}.piliers{grid-template-columns:1fr}}
@media(max-width:760px){
  .duo{grid-template-columns:1fr}
  .qp-banniere{padding:22px 20px 26px;box-shadow:0 -8px 28px rgba(20,23,20,.10)}
  .qp-banniere-in{display:block}
  .qp-banniere h2{font-size:21px}
  .qp-banniere p{font-size:14.5px;margin-bottom:16px}
  .qp-banniere .boutons{width:auto}
  .qp-banniere .qp-btn{height:48px}
  .qp-banniere .qp-btn-trait{height:46px}
}
@media(max-width:560px){
  .nav-in{column-gap:12px}
  .mark{--h:24px}
  .etapes{grid-template-columns:1fr}
  .qp-dialogue .tete{padding:22px 20px 6px}
  .qp-dialogue .corps{padding:6px 20px}
  .qp-dialogue .pied-d{grid-template-columns:1fr;padding:16px 20px 20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
