/* site-v3 — Zodiak (titres) + Hanken Grotesk (texte). Validé Dibran via Cabinet / planche-polices.
   Zodiak: ITF Free Font License — commercial/web OK, pas de subset/conversion. Servi tel que fourni.
   Hanken: SIL OFL — auto-hébergement OK. */
@font-face{
  font-family:Zodiak;
  src:url(fonts/Zodiak-Regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Zodiak;
  src:url(fonts/Zodiak-Bold.woff2) format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Hanken;
  src:url(fonts/hk.woff2) format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --display:Zodiak,serif;
  --sans:Hanken,sans-serif;
}
body{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.6}
/* ---- titres — échelle planche : H1 72/40 · H2 44/30 · H3 26/22 · Zodiak 400 ---- */
.hero h1:not(.eyebrow),.hero p.display,.page-hero h1:not(.eyebrow),.page-hero p.display,.intro h2,.section-heading h2,.showroom h2,.contact h2,.statement h2,.collection-card h3,.split h2,.faq h2,.steps h2,.gallery-head h2,.info h2,.step-row h3,.project-list h3{font-family:var(--display);font-weight:400;letter-spacing:-.01em;line-height:1.1;padding-top:.1em;text-align:left;font-kerning:normal}
.hero p.display,.page-hero p.display{font-size:clamp(40px,5vw,72px);line-height:1.1;letter-spacing:-.01em;margin:34px 0 34px}
.intro h2,.section-heading h2,.showroom h2,.contact h2,.statement h2,.split h2,.faq h2,.steps h2,.gallery-head h2,.info h2{font-size:clamp(30px,3.5vw,44px);line-height:1.15;letter-spacing:-.005em}
.collection-card h3,.step-row h3,.project-list h3{font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:0}
.statement h2{line-height:1.1}
.related a,.mobile-menu>a{font-family:var(--display);font-weight:400;letter-spacing:-.01em}
.brand-mark,.brand-copy strong{font-family:var(--display);font-weight:400}
.brand-copy strong{letter-spacing:.06em}
/* mot accent : romain + couleur palette (pas d'italique) */
.hero h1:not(.eyebrow) em,.hero p.display em,.page-hero p.display em,.section-heading h2 em,.intro h2 span,.collection-card h3 em,.statement h2 span,.showroom h2 em,.contact h2 em,.split h2 em,.faq h2 em,.steps h2 em,.gallery-head h2 em,.info h2 em,.ed-display em,.ed-h2 em{font-family:var(--display);font-style:normal;font-weight:400}
.statement h2 span{-webkit-text-stroke:0;color:var(--accent-on-dark)}
/* ---- texte courant : Hanken 400 17/1.6, mesure 640-760px ---- */
.page-hero-lead,.body-copy p,.spec-list li,.gallery-head p,.step-row p,.faq details p,.price-note,.intro-copy>p:not(.lead),.section-heading>p,.statement-bottom p,.showroom-copy>p,.contact-right p,.hero-bottom p{font-size:17px;line-height:1.6}
.body-copy p,.faq details p,.price-note,.page-hero-lead{max-width:700px}
.gallery-head p,.intro-copy,.section-heading>p,.showroom-copy>p,.contact-right,.statement-bottom p{max-width:min(100%,640px)}
.lead{font-size:20px;line-height:1.45;font-weight:500}
.faq summary{font-size:18px;font-weight:500}
/* labels : Hanken 600 12px uppercase ls 0.14em */
.cap,.section-kicker,h1.eyebrow,.eyebrow{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:650px){.page-hero-lead,.hero-bottom p{font-size:17px}.hero p.display,.page-hero p.display{font-size:40px}}
