/* Le Poussoir d'Or — feuille de style du site. Dépend de tokens.css. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--font-body);font-size:var(--step-0);line-height:1.68;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.5rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--accent);color:var(--fonte);
  padding:.6rem 1rem;font-family:var(--font-label)}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
h1,h2,h3,h4{text-wrap:balance;margin:0}
h1{font-family:var(--font-display);font-weight:500;font-size:var(--step-4);line-height:1}
h2{font-family:var(--font-display);font-weight:500;font-size:var(--step-2);line-height:1.15;margin:2.6rem 0 .9rem}
h3{font-family:var(--font-label);font-weight:600;font-size:var(--step-0);text-transform:uppercase;
  letter-spacing:.11em;margin:2rem 0 .7rem}
h4{font-family:var(--font-label);font-weight:400;font-size:var(--step--1);text-transform:uppercase;
  letter-spacing:.13em;color:var(--ink-2);margin:1.6rem 0 .5rem}
p{margin:0 0 1.15em}
a{color:var(--accent-hi);text-underline-offset:.16em;text-decoration-thickness:1px}
strong{font-weight:600}
code{font-family:var(--font-label);font-size:.92em;letter-spacing:.04em;color:var(--accent-hi)}
hr{border:0;border-top:1px solid var(--rule);margin:2.6rem 0}
.eyebrow{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.22em;
  font-size:var(--step--1);color:var(--accent);margin:0 0 .7rem}
.lede{font-size:var(--step-1);line-height:1.5}
header.site{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20;
  background:var(--ground)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem 1.5rem}
.logo{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);text-decoration:none;line-height:1}
.logo em{font-style:italic;color:var(--accent)}
header.site nav{display:flex;gap:1.4rem}
header.site nav a{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;
  font-size:var(--step--1);color:var(--ink-2);text-decoration:none}
header.site nav a:hover{color:var(--accent-hi)}
footer.site{border-top:1px solid var(--rule);margin-top:4rem;padding:2.6rem 0 4rem;
  color:var(--ink-2);font-size:.92rem}
footer.site .fl{color:var(--ink)}
footer.site .fw{font-size:.84rem;line-height:1.55;border-left:2px solid var(--accent);
  padding-left:.9rem;margin-top:1.4rem;max-width:44rem}
.home .hero{padding:clamp(3.5rem,11vh,7rem) 0 3rem}
.home .hero h1{font-size:clamp(3.2rem,10vw,6rem);line-height:.94}
.home .hero h1 em{font-style:italic;color:var(--accent)}
.home .hero .lede{max-width:38rem;margin-top:1.4rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.btn{display:inline-block;font-family:var(--font-label);text-transform:uppercase;
  letter-spacing:.13em;font-size:var(--step--1);text-decoration:none;padding:.75rem 1.4rem;
  background:var(--accent);color:var(--fonte);border:1px solid var(--accent)}
.btn:hover{background:var(--accent-hi);border-color:var(--accent-hi)}
.btn.ghost{background:transparent;color:var(--accent-hi)}
.btn.ghost:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.band{border-block:1px solid var(--rule);background:var(--panel)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;
  padding:0;background:var(--rule)}
.vg{background:var(--panel);padding:1.5rem 1.1rem;text-decoration:none;display:flex;
  flex-direction:column;gap:.3rem;transition:background .18s}
.vg:hover{background:var(--raise)}
.vp{font-family:var(--font-label);font-size:.68rem;text-transform:uppercase;
  letter-spacing:.2em;color:var(--accent)}
.vn{font-family:var(--font-label);font-weight:600;text-transform:uppercase;
  font-size:1.05rem;line-height:1.1;color:var(--ink)}
.cols{padding:3.5rem 0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2.4rem}
.grid3 p{color:var(--ink-2);font-size:.96rem;margin:0}
.grid3 h3{margin-top:0;color:var(--ink)}
.mail{border-top:1px solid var(--rule);padding:3.5rem 0}
.mail h2{margin-top:0}
.mail p{max-width:38rem;color:var(--ink-2)}
.ph{padding:3rem 0 2rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}
.ph .lede{max-width:42rem;color:var(--ink-2);margin-top:1rem}
.crumb{font-family:var(--font-label);font-size:var(--step--1);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);padding:1.6rem 0 0}
.crumb a{color:var(--ink-2);text-decoration:none}
.crumb a:hover{color:var(--accent-hi)}
.fiche{max-width:47rem}
.fh{padding:1.4rem 0 1.8rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
.fh h1{font-size:clamp(2.4rem,7vw,3.6rem)}
.fh .meta{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;
  font-size:var(--step--1);color:var(--ink-2);margin:.7rem 0 0}
.fiche h2{border-top:1px solid var(--rule);padding-top:1.7rem}
.fiche ol,.fiche ul{padding-left:1.2rem;margin:0 0 1.2em}
.fiche li{margin-bottom:.5em}
.fiche blockquote{margin:1.6rem 0;padding:1rem 1.2rem;background:var(--panel);
  border-left:3px solid var(--accent)}
.fiche blockquote p{margin:0;font-size:.96rem}
.badge{display:inline-block;margin-top:1rem;font-family:var(--font-label);font-weight:600;
  font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;padding:.34rem .75rem;
  border:1px solid currentColor}
.badge.ea{color:var(--etage-a)}.badge.ea-{color:var(--etage-as)}
.badge.eb{color:var(--etage-b)}.badge.ec{color:var(--etage-c)}
.tw{overflow-x:auto;margin:0 0 1.6rem;border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;font-size:.94rem}
th,td{text-align:left;padding:.62rem .85rem;border-bottom:1px solid var(--rule);
  font-variant-numeric:tabular-nums}
th{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.09em;
  font-size:var(--step--1);font-weight:600;color:var(--accent);background:var(--panel)}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--panel)}
.etages{padding:0 0 2rem;border-bottom:1px solid var(--rule);margin-bottom:1rem}
.etages .sub{color:var(--ink-2);max-width:44rem}
.egrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule)}
.ebox{background:var(--panel);padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.55rem}
.ebox .badge{margin-top:0;align-self:flex-start}
.ebox .ec{font-family:var(--font-label);font-size:1.9rem;line-height:1;color:var(--ink)}
.ebox .ed{font-size:.85rem;line-height:1.45;color:var(--ink-2)}
.reg{padding:2.2rem 0;border-bottom:1px solid var(--rule)}
.reg h2{margin:0 0 1.1rem;display:flex;align-items:baseline;gap:.7rem}
.reg .ct{font-family:var(--font-label);font-size:var(--step--1);color:var(--accent);
  letter-spacing:.1em}
.glist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.glist a{background:var(--panel);display:flex;flex-direction:column;gap:.2rem;
  padding:.8rem .95rem;text-decoration:none;height:100%;transition:background .16s}
.glist a:hover{background:var(--raise)}
.glist .n{font-family:var(--font-label);font-weight:600;font-size:.95rem;color:var(--ink);
  line-height:1.2}
.glist .p{font-size:.78rem;color:var(--ink-2)}
