/* Feuille de structure du site — mises en page, composants propres
   aux pages historiques. Les couleurs et la typographie viennent de
   charte.css, chargee avant.

   Elle s'appelait « cedoo.css ». Le nom a survecu au changement de
   marque, et un diagnostic externe en a conclu que quatorze pages
   etaient restees sur l'ancienne charte — alors que seul le nom du
   fichier l'etait. Un nom de fichier servi est lu. */
/* Les jetons vivent desormais dans charte.css, chargee avant cette
   feuille. Les redefinir ici l'ecraserait — c'est precisement ce
   qui repeignait le pied de l'accueil en vert fonce. */

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:'Source Sans 3',system-ui,sans-serif;
font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
a{color:inherit}:focus-visible{outline:2.5px solid var(--brass);outline-offset:3px}
.display{font-family:'Source Serif 4',Georgia,serif;font-weight:800;line-height:1.02;letter-spacing:-.025em}
.num{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;
text-transform:uppercase;color:var(--brass);font-weight:500}
/* L'en-tete de ces pages — header/.bar/.logo/nav.links — a ete retiree
   le 21.08.2026 : les quinze pages partagent desormais la barre unique
   decrite dans charte.css. Ses regles sont parties avec elle, faute de
   quoi elles auraient repeint la barre commune sur quatorze pages sur
   quinze, et l'unification n'aurait tenu que sur l'accueil.
   `.btn` reste : c'est le bouton neutre, employe dans le corps des
   pages, pas dans la barre. */
.btn{display:inline-block;background:var(--ink);color:var(--paper-2);padding:11px 20px;
border-radius:var(--r);font-size:14.5px;font-weight:500;text-decoration:none;
border:1px solid var(--ink);cursor:pointer}
.btn:hover{background:var(--teal);border-color:var(--teal)}
.hero{padding:70px 0 56px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(34px,5vw,60px);margin:16px 0 20px;max-width:18ch}
.hero p.lede{font-size:18px;color:var(--ink-2);max-width:52ch}
section{padding:64px 0;border-bottom:1px solid var(--line)}
.sec-head h2{font-family:'Source Serif 4',Georgia,serif;font-weight:800;
font-size:clamp(25px,3.2vw,36px);letter-spacing:-.025em;margin-top:8px}
.sec-head p{color:var(--ink-2);max-width:56ch;margin-top:10px}
.sec-head{margin-bottom:28px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}
.fiche{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);
overflow:hidden;display:block;text-decoration:none;
box-shadow:0 1px 0 rgba(22,36,30,.05),0 18px 40px -30px rgba(22,36,30,.4);
transition:transform .18s ease,box-shadow .18s ease}
.fiche:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(22,36,30,.45)}
.media{position:relative;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line);background:#F5EFE3}
.media svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.strip{position:absolute;left:0;right:0;bottom:0;height:26px;display:flex;align-items:flex-end;
gap:2px;padding:0 10px 6px;background:linear-gradient(to top,rgba(22,36,30,.55),rgba(22,36,30,0))}
.strip i{flex:1;background:rgba(240,242,237,.55);border-radius:1px 1px 0 0;display:block}
.strip i.hi{background:rgba(240,242,237,.95)}
.fiche-head{padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.ref{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.08em}
.fiche-head h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:19px;
margin:5px 0 3px;letter-spacing:-.015em;line-height:1.25}
.loc{font-size:13.5px;color:var(--muted)}
.ledger{padding:6px 22px 14px}
.row{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px dotted var(--line)}
.row:last-child{border-bottom:0}
.row .k{font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.row .dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-3px)}
.row .v{font-family:'IBM Plex Mono',monospace;font-size:14.5px;font-variant-numeric:tabular-nums;
font-weight:500;white-space:nowrap}
.v.unknown{color:var(--unknown);font-weight:400}
.fiche-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
padding:15px 22px;background:var(--ink);color:var(--paper-2)}
.fiche-foot .plabel{font-size:12px;opacity:.72}
.fiche-foot .price{font-family:'IBM Plex Mono',monospace;font-size:21px;font-weight:600}
.ratio{font-family:'IBM Plex Mono',monospace;font-size:11.5px;background:rgba(240,242,237,.14);
padding:4px 9px;border-radius:3px}
.honesty{display:flex;gap:11px;align-items:flex-start;margin-top:22px;font-size:13px;
color:var(--muted);max-width:60ch}
.honesty .mark{font-family:'IBM Plex Mono',monospace;color:var(--unknown);font-size:14px;
border:1px solid var(--line);border-radius:3px;padding:1px 6px;background:var(--paper-2)}
.empty{grid-column:1/-1;padding:46px 24px;text-align:center;border:1px dashed var(--line);
border-radius:var(--r);color:var(--muted)}
#contact{background:var(--ink);color:var(--paper);border-bottom:0}
#contact h2{color:var(--paper-2)}#contact .sec-head p{color:var(--doux)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:34px}}
.form{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);
border-radius:var(--r);padding:28px}
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;color:var(--doux);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;
padding:11px 13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
border-radius:var(--r);color:var(--paper-2)}
.field textarea{min-height:90px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.two{grid-template-columns:1fr}}
.check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:#C9D5CD;
margin-bottom:15px;line-height:1.5}
.check input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--brass)}
.submit{width:100%;background:var(--brass);color:#fff;border:0;border-radius:var(--r);
font-family:inherit;font-size:15.5px;font-weight:600;padding:14px;cursor:pointer}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Le pied est peint par charte.css. */
footer .fwrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--doux)}
footer a{color:var(--doux)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.legal h2{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:20px;
margin:34px 0 10px;letter-spacing:-.01em}
.legal p,.legal li{font-size:15px;line-height:1.65;color:var(--ink-2);margin-bottom:10px}
.legal ul{padding-left:20px;margin-bottom:14px}
.legal dl{margin:0 0 14px}
.legal dt{font-size:12px;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em;
text-transform:uppercase;color:var(--muted);margin-top:12px}
.legal dd{margin:2px 0 0;font-size:15px}
.legal .absent{color:var(--seal);font-family:'IBM Plex Mono',monospace;font-size:13px}
.legal .maj{margin-top:40px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}

/* T10 — message d’erreur attaché au champ fautif. Le visiteur voit
   lequel corriger, sans relire tout le formulaire. */
.form .err{display:block;color:var(--seal);font-size:12.5px;margin-top:5px}
.form [aria-invalid="true"]{border-color:var(--seal)}
