/* Base : reset court, typographie, conteneur. Les composants vivent chacun dans leur fichier. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:var(--step-0);line-height:1.55;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2{font-family:var(--font-display);font-weight:500;line-height:1.1;margin:0;text-wrap:balance;font-variation-settings:"opsz" 72}
h1{font-size:var(--step-4);font-style:italic;font-weight:600;font-variation-settings:"opsz" 96}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);font-weight:600;margin:0}
p{margin:0}
.house{max-width:1120px;margin:0 auto;padding:0 max(20px, env(safe-area-inset-left)) 0 max(20px, env(safe-area-inset-right))}
.stage{padding:var(--space-6) 0 var(--space-7)}
.stage__head{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}
.stage__lead{color:var(--text-2);max-width:60ch}
.stage__more{margin-top:var(--space-5);display:flex;justify-content:center}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--text);padding:8px 12px;border-radius:8px}
.skip:focus{left:8px;z-index:20}
:focus-visible{outline:2px solid var(--live);outline-offset:2px}
.velvet{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:var(--radius-button);padding:10px 16px;font:600 var(--step-0) var(--font-text);text-decoration:none;cursor:pointer;min-height:44px}
.velvet:hover{background:var(--accent-hover)}
.velvet--quiet{background:transparent;color:var(--text);border:1px solid var(--line)}
.velvet--quiet:hover{background:var(--surface)}
.marquee{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--text-2);font-size:var(--step--1);margin:var(--space-4) 0}
@media (min-width:800px){body{padding-bottom:0}h1{font-size:var(--step-5)}.stage{padding-top:var(--space-7)}.house{padding-left:var(--space-6);padding-right:var(--space-6)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.consent{position:fixed;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom) + 8px);z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-room);padding:12px 14px;display:grid;gap:10px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.consent p{font-size:var(--step--1);color:var(--text-2);max-width:60ch}
.consent__actions{display:flex;gap:8px;justify-content:flex-end}
.consent__actions .velvet{min-height:40px;padding:8px 14px}
@media (min-width:800px){.consent{left:auto;right:20px;bottom:20px;max-width:440px}}
