/* Centered theatrical composition, spacious content and occasional optical figures. */
.hero{justify-content:center;align-items:flex-end;text-align:center;min-height:100svh;padding:160px 24px 85px}
.hero .inner{width:100%;max-width:1000px;padding:0;margin:0 auto}
.hero>img{object-position:50% 30%}
.hero .veil{background:linear-gradient(180deg,rgba(16,14,13,.32),rgba(16,14,13,.04) 24%,rgba(16,14,13,.26) 43%,rgba(16,14,13,.86) 72%,var(--nuit))}
.hero .logo{width:min(580px,80vw);margin:0 auto;filter:drop-shadow(0 6px 24px #000b)}
.hero h1{font-family:"Cinzel Decorative",serif;font-size:clamp(2.2rem,4.6vw,4.4rem);margin-top:34px;line-height:1.25;letter-spacing:.015em}
.hero .script{font-size:clamp(1.5rem,2.5vw,2rem);margin-top:22px}
.hero .cible{max-width:none;margin-top:32px;font-size:.875rem;letter-spacing:.15em}
.hero-actions{justify-content:center;margin-top:34px;gap:18px}.hero .down{margin-top:32px}
main>section{padding:115px 5vw;scroll-margin-top:28px}.wrap{max-width:1240px}
.actes .acte{margin-top:76px}.acte-texte,.acte-2 .acte-texte{padding:60px 56px}.acte-texte p{line-height:1.85}
.grille-persos,.cartes{gap:38px;margin-top:64px}.perso .texte{padding:36px 30px}.perso p:not(.tag){line-height:1.8}
.preuves .duo,.parcours .duo{gap:76px}.teaser .video{max-width:1080px;margin-top:54px}.video.moyen{max-width:860px}.galerie{max-width:1080px;gap:32px}.sous-bloc{margin-top:76px}
.optical{display:none;margin:0;padding:0;border:0;background:none;color:#dfc69e;text-align:center;font:400 .875rem/1.4 "EB Garamond",serif;animation:none}
.optical svg{display:block;width:100%;height:auto;overflow:visible}.optical .opt-caption,.optical figcaption{display:block;margin-top:14px;font-size:.875rem}
.optical .opt-number{color:#c19a58;margin-right:5px;font:.75rem Arial,sans-serif}.optical .opt-hint{display:block;margin-top:7px;font:.75rem/1.4 Arial,sans-serif;color:#c2ad8d}
button.optical{cursor:pointer}.optical.is-revealed .opt-context{opacity:0}.optical.is-revealed .opt-row{transform:translateX(var(--shift))}
@media(min-width:1450px){
 main>section{padding:125px 175px}
 .optical{display:block;width:128px;top:210px}
 .optical-g{left:22px}.optical-d{right:22px;top:440px}
 .fin>.optical,.paliers>.optical,.partenaires>.optical{top:160px}
}
/* Logo above the levitation scene; a quiet atmospheric veil. */
.hero .logo{position:absolute;inset:auto;top:-36px;left:50%;transform:translateX(-50%);width:440px;max-width:68vw;height:auto;margin:0;z-index:2;pointer-events:none;animation:none}
.hero .inner{padding-top:250px}
.fumee{display:block;position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:54;opacity:.55}
.fumee .fu{width:110vw;height:40vh;bottom:-28vh;border-radius:50%;background:radial-gradient(ellipse at center,rgba(219,212,197,.11) 0%,rgba(213,207,193,.045) 38%,transparent 72%);filter:blur(46px);animation-name:unmasked-mist;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}
@keyframes unmasked-mist{0%{transform:translate3d(-8vw,0,0) scale(1);opacity:0}18%{opacity:.7}50%{transform:translate3d(6vw,-58vh,0) scale(1.12);opacity:.8}82%{opacity:.45}100%{transform:translate3d(-4vw,-132vh,0) scale(1.25);opacity:0}}
@media(max-width:720px){.hero .logo{top:-24px;width:340px;max-width:80vw}.hero .inner{padding-top:230px}.fumee{display:block;opacity:.32}.fumee .fu{width:140vw;filter:blur(30px)}}
@media(prefers-reduced-motion:reduce){.fumee{display:none!important}}
@media(min-width:1850px){main>section{padding-inline:190px}.wrap{max-width:1380px}.optical{width:155px}.optical-g{left:24px}.optical-d{right:24px}}
@media(max-width:1449px){
 .optical{position:relative;display:inline-block;top:auto!important;left:auto;right:auto;width:112px;margin:0 18px 42px;vertical-align:top}
 main>section:has(>.optical){text-align:center}.acte-texte,.perso,.preuves .duo,.parcours .duo,.carte{text-align:left}
}
@media(max-width:900px){.acte-texte,.acte-2 .acte-texte{padding:44px 30px}.preuves .duo,.parcours .duo{gap:44px}}
@media(max-width:720px){
 .hero{padding:100px 22px 60px;min-height:100svh}.hero .logo{width:min(420px,85vw);max-width:100%}
 .hero h1{font-size:clamp(2rem,7.5vw,3rem);margin-top:28px}.hero .cible{font-size:.875rem;letter-spacing:.07em}
 .hero .script{font-size:1.45rem}.hero-actions{gap:12px}.hero-actions .btn{flex:0 1 auto;width:100%;max-width:300px}
 main>section{padding:80px 24px}.optical{width:100px;margin:0 12px 38px}.optical .opt-hint{font-size:.75rem}
 .grille-persos,.cartes{gap:32px}.perso .texte{padding:30px 26px}.acte-texte,.acte-2 .acte-texte{padding:38px 26px}.fin{padding-bottom:110px}
}
