html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--bg-page);color:var(--fg-1);font:var(--fs-body)/var(--lh-body) var(--font-serif)}
a{color:var(--crepuscule-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color var(--dur-1) var(--ease-souffle)}
a:hover{color:var(--halo-700)}
::selection{background:var(--halo-300);color:var(--nuit-800)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
.b-hand{font-family:var(--font-hand);font-weight:400;line-height:var(--lh-hand)}
.b-display{font-family:var(--font-serif-display);font-weight:400;line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.b-label{font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:500}
/* Accroches : IM Fell italique (la linéale ne s'utilise jamais en italique d'accroche) */
.b-accroche{font:italic var(--fs-body-l)/1.45 var(--font-serif-display)}
/* Titre de section : grand mot transparent en fond + sous-titre manuscrit en minuscules */
.b-ghost{position:relative}
.b-ghost>*{position:relative;z-index:1}
.b-ghost::before{content:attr(data-ghost);position:absolute;z-index:0;left:-.04em;top:0;transform:translateY(-62%);font:400 clamp(52px,9vw,128px)/1 var(--font-serif-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:currentColor;opacity:.07;pointer-events:none}
.b-ghost.is-center::before{left:50%;transform:translate(-50%,-62%)}
.b-subtitle{font:clamp(44px,5vw,60px)/1.05 var(--font-hand);text-wrap:balance}
@media (max-width:700px){.b-ghost::before{font-size:10vw;opacity:.08}}
/* Section : toujours assez d'air au-dessus d'un titre en fond */
.b-sec{padding-top:clamp(120px,11vw,160px)}
/* Gravure d'ornement : derrière le texte, dans sa section, sous le menu, max 30 % de largeur, masquée sur mobile */
.b-orn{position:absolute;z-index:0;pointer-events:none;height:auto;top:clamp(40px,5vw,72px);right:0;max-width:30%}
@media (max-width:700px){.b-orn{display:none}}
/* Séparateur léger dans une même grande section */
.b-stars{text-align:center;font:16px/1 var(--font-serif-display);letter-spacing:.4em;color:var(--fg-accent);opacity:.35;padding:8px 0}
.b-grain{position:relative}
.b-grain::after{content:"";position:absolute;inset:0;background-image:var(--texture-grain);opacity:.35;mix-blend-mode:multiply;pointer-events:none}
