/* HÉRO — affinages livrés avec le moteur hero-engine.js (7 sept. 2026), repris tels quels.
   La typographie, les tags et le lien de contact héritent strictement de l’export original. */
.hero{min-height:100svh}
.hero-content::before{content:none}
.hero-overlay{background:linear-gradient(90deg,rgba(19,27,42,.76) 0%,rgba(19,27,42,.62) 27%,rgba(19,27,42,.38) 50%,rgba(19,27,42,.12) 76%,rgba(19,27,42,0) 100%)}
.hero-poster,.hero-render,.hero-snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-poster{background-size:cover;background-position:center;opacity:0;transform:scale(1.06);will-change:transform,opacity}
.hero-render{opacity:0;z-index:2}.hero-snow{z-index:1}
.hero-h1 em[data-roll]{display:inline-block;white-space:nowrap}
.scene-controls{position:absolute;z-index:4;right:var(--pad);bottom:25px;display:flex;align-items:center;gap:8px;color:#f7f5f3;font-family:var(--mu);font-size:13px;padding:6px 8px 6px 14px;border:1px solid #ffffff2e;background:#101b2cc9;border-radius:4px;backdrop-filter:blur(12px)}
.scene-controls select{appearance:none;background:transparent;border:0;color:inherit;font:inherit;max-width:205px;width:175px;cursor:pointer;padding:10px 4px}.scene-controls option{background:#172338;color:#f7f5f3}.scene-controls button{color:inherit;font:inherit;min-width:36px;min-height:40px;padding:8px;border-radius:2px}.scene-controls button:hover{background:#ffffff19}.scene-controls #motionToggle{border-left:1px solid #ffffff30;border-radius:0;min-width:70px}.scene-controls button:disabled{opacity:.7;cursor:default}.scene-number{font-size:11px;font-variant-numeric:tabular-nums;color:#d0d9e7;margin-right:4px}.scene-arrow{font-size:20px!important}

.preview-tools{position:absolute;right:24px;bottom:24px;z-index:5;font:12px var(--mu);color:#f7f5f3}
.preview-tools summary{cursor:pointer;list-style:none;padding:9px 12px;background:rgba(19,27,42,.65);border:1px solid #ffffff25;border-radius:3px}
.preview-tools summary::-webkit-details-marker{display:none}
.preview-tools .scene-controls{position:relative;right:auto;bottom:auto;margin-top:6px;gap:5px}
.preview-tools a{display:block;padding:9px 12px;background:rgba(19,27,42,.85);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:600px){.preview-tools{right:16px;bottom:16px;max-width:calc(100vw - 32px)}.scene-controls{padding:4px}.scene-number{display:none}.scene-controls select{width:140px;font-size:12px}.scene-controls button{min-width:30px;padding:6px}.scene-controls #motionToggle{min-width:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-poster{will-change:auto}.hero-h1 .line-inner,.hero-tags,.hero-cta{animation:none!important;transform:none!important;opacity:1!important}}
/* Empêche le déplacement interne causé par le focus et le débordement du zoom. */
.hero,.hero-slideshow{overflow:clip}

/* Neige devant le voile photographique, derrière le texte (z-index:2). */

.water-toggle{display:flex;align-items:center;gap:9px;padding:10px 12px;background:rgba(19,27,42,.85);cursor:pointer;font:13px var(--mu)}
.water-toggle input{width:16px;height:16px;accent-color:#BFCDF0}

.replay-camera{display:block;width:100%;padding:10px 12px;background:rgba(19,27,42,.85);color:var(--cream);font:13px var(--mu);text-align:left}
.replay-camera:hover{background:#26364e}
/* Keep preview controls inside the hero even when a scrollbar reduces its width. */
.preview-tools{max-width:calc(100% - 48px)}
.preview-tools .scene-controls select{min-width:0;flex:1}
@media(max-width:600px){.preview-tools{max-width:calc(100% - 32px)}}

/* Panneau « Aperçu » (outil de comparaison livré) : le moteur en a besoin dans le DOM, mais il n'est pas affiché sur le site. */
.preview-tools{display:none}
