/* Passe 3 : typographie home, références, projets d’auteur et avis. */
.home-clean{--home-eyebrow-size:.72rem;--home-eyebrow-weight:600;--home-eyebrow-spacing:.16em;--home-eyebrow-after:1.5rem}
.home-clean .hero .kicker,.home-clean main>.page-section:not(#contact):not(#apropos) .index{font:var(--home-eyebrow-weight) var(--home-eyebrow-size)/1.55 var(--sans);letter-spacing:var(--home-eyebrow-spacing);text-transform:uppercase;color:var(--ink);margin:0 0 var(--home-eyebrow-after)}
.home-clean :is(#portfolio-title,#references-title) em{font-family:inherit;font-weight:inherit;font-style:italic;color:var(--accent)}
.home-clean .hero .lead{font-size:.8rem;line-height:1.7;margin-top:2.5rem;max-width:25rem}
.home-clean #references .reference-selection{align-items:start}
.home-clean #references .reference-entry:nth-child(-n+2) figure{position:relative;aspect-ratio:1/1;overflow:visible;margin:0 0 1.2rem}
.home-clean #references .reference-entry:nth-child(-n+2) figure img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;transform:none}
.home-clean .home-signatures{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem);row-gap:1.5rem;max-width:none;width:100%;justify-self:stretch;align-items:start}
.home-clean .home-signatures>.index{grid-column:1/-1}
.home-clean .home-signatures :is(.author-project,button){min-width:0;width:100%;margin:0}
.home-clean .home-signatures .author-image{display:flex;justify-content:center;align-items:center;width:100%;height:clamp(18rem,28vw,28rem);margin:0 0 1rem;overflow:visible}
.home-clean .home-signatures .author-image img{display:block;width:100%;height:100%;max-width:100%;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;transform:none}
.home-clean .home-signatures :is(.author-project,button)>.author-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:baseline;color:var(--ink);font:500 1.3rem/1.2 var(--serif)}
.home-clean .home-signatures .author-name>span{color:var(--accent);font:400 1rem/1 var(--sans)}
.home-clean .home-reviews{padding:clamp(3rem,5vw,5rem) var(--pad);color:var(--deep);background:var(--paper)}
.home-clean .home-reviews-inner{max-width:1100px;margin-inline:auto}
.home-clean .home-reviews h2{max-width:32ch;margin:0 0 2rem;color:var(--deep);font:500 clamp(1.75rem,2.8vw,2.6rem)/1.12 var(--serif);letter-spacing:-.025em}
.home-clean .home-reviews h2 em{font-family:inherit;font-weight:inherit;font-style:italic;color:var(--accent)}
.reviews-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(1.5rem,4vw,4rem)}
.review-card{position:relative;min-width:0;margin:0;padding:1.8rem 0 0;border-top:1px solid var(--rule);color:var(--deep)}
.review-card blockquote{position:relative;margin:0;padding:1.25rem 0 .6rem;font:400 .9rem/1.75 var(--sans);color:var(--deep)}
.review-card blockquote:before,.review-card blockquote:after{position:absolute;color:var(--accent);font:500 2.8rem/1 var(--serif);pointer-events:none}
.review-card blockquote:before{content:'“';top:-.65rem;left:0}
.review-card blockquote:after{content:'”';right:0;bottom:-1rem}
.review-card blockquote p{margin:0;color:var(--deep)}
.review-card figcaption{margin:1.3rem 0 0;color:var(--deep);font:400 .78rem/1.55 var(--sans);letter-spacing:0;text-transform:none;opacity:1}
.review-card figcaption strong{display:block;color:var(--deep);font-weight:600}
.review-card figcaption span{display:block;color:var(--deep)}
@media(max-width:680px){
 .home-clean .home-signatures{grid-template-columns:minmax(0,1fr);gap:2.5rem}
 .home-clean .home-signatures .author-image{display:block;height:auto;margin-bottom:1rem}
 .home-clean .home-signatures .author-image img{height:auto;width:100%;aspect-ratio:auto;object-fit:contain}
 .home-clean #references .reference-selection{grid-template-columns:minmax(0,1fr);gap:3rem}
 .home-clean #references .reference-entry figure{aspect-ratio:1/1}
 .home-clean #references .reference-entry figure img{width:100%;height:100%;object-fit:contain}
 .home-clean .home-reviews{padding-block:3rem}
 .reviews-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:1rem}
 .review-card{scroll-snap-align:start;scroll-snap-stop:always}
 .review-card blockquote{font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){.reviews-track{scroll-behavior:auto}}
.home-clean #references .reference-entry:nth-child(-n+2) .reference-name{min-height:2.16em}
.home-clean .home-signatures .author-image{position:relative;display:block;aspect-ratio:4/3;height:auto}
.home-clean .home-signatures .author-image img{position:absolute;inset:0}
.review-card blockquote{padding-bottom:1.8rem}
.review-card blockquote:after{bottom:0}
@media(max-width:680px){
 .home-clean .home-signatures .author-image{aspect-ratio:auto;height:auto}
 .home-clean .home-signatures .author-image img{position:static;inset:auto}
}
.review-card blockquote{padding-bottom:2.6rem}
.review-card blockquote:after{font-size:2.4rem;line-height:1}
