/* ==========================================================================
   OLIVER STONE Paris — hero.css
   Slider hero plein écran + bandeau défilant (marquee)
   ========================================================================== */
.hero{position:relative;overflow:hidden}
.slide{display:none;min-height:78vh}
.slide.on{display:grid}
.slide{grid-template-rows:auto 1fr;align-items:center}
.slide-txt{padding:52px 8vw 8px;text-align:center;z-index:2}
.slide-txt .eyebrow{display:block;margin-bottom:16px}
.slide-txt h1,.slide-txt h2{font-size:clamp(3rem,9vw,5.8rem);letter-spacing:.04em}
.slide-txt .sig{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;opacity:.78;margin-top:10px}
.slide-txt .desc{max-width:430px;margin:16px auto 0;font-size:.92rem;line-height:1.75;opacity:.8}
.slide-cta{display:inline-block;margin-top:28px;padding:17px 46px;border:1px solid var(--encre);background:var(--encre);color:#fff;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;transition:all var(--tr)}
.s-noir .slide-cta,.s-bleu .slide-cta{background:#F2F0EC;border-color:#F2F0EC;color:var(--noir)}
.slide-cta:hover,.band-cta:hover{background:var(--or);border-color:var(--or);color:#fff}
.slide-img{display:flex;align-items:flex-end;justify-content:center;padding:10px 6vw 56px}
.slide-img img{width:min(560px,86vw);height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.16));animation:flotte 6s ease-in-out infinite}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@media(prefers-reduced-motion:reduce){.slide-img img{animation:none}}
@media(min-width:960px){
  .slide.on{grid-template-columns:44% 56%;grid-template-rows:none;min-height:82vh}
  .slide-txt{text-align:left;padding:0 0 0 8vw}
  .slide-txt .desc{margin:16px 0 0}
  .slide-img{align-items:center;padding:60px 5vw}
  .slide-img img{width:min(640px,46vw)}
}
.s-blanc{background:linear-gradient(160deg,#FFFFFF, #F4F1EA);color:var(--encre)}
.s-rose{background:linear-gradient(160deg,#FBEDF0,#F3D8DE);color:#3A2A2E}
.s-noir{background:#0A0A0C;color:#F2F0EC}
.s-noir .eyebrow{color:var(--or-clair)}
.s-teal{background:linear-gradient(165deg,#6FCBDC,#2E9FB5);color:#06333C}
.s-teal .eyebrow{color:#06333C;opacity:.8}
.s-bleu{background:linear-gradient(165deg,#16233A,#0C1626);color:#EDEAE2}
.s-bleu .eyebrow{color:var(--or-clair)}
.hero-nav{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:12px;z-index:5}
.dot{width:34px;height:34px;display:grid;place-items:center}
.dot i{display:block;width:26px;height:2px;background:currentColor;opacity:.28;transition:opacity var(--tr)}
.dot.on i{opacity:1}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;display:grid;place-items:center;color:inherit;opacity:.55;transition:opacity var(--tr)}
.hero-arrow:hover{opacity:1}
.hero-arrow svg{width:22px;height:22px}
.ar-l{left:8px}.ar-r{right:8px}
.hero-color{position:absolute;inset:0;pointer-events:none}

/* Slides photo plein écran (format utilisé par les 2 slides actuelles :
   Orbit et Riviera). s-fonce = légende sur fond noir, s-clair = légende
   sur fond clair. */
.slide.s-photo{position:relative;grid-template-rows:none}
.slide.s-photo.on{display:block}
.s-photo .photo-bg{height:54vh;min-height:330px;overflow:hidden}
.s-photo .photo-bg img{width:100%;height:100%;object-fit:cover}
.s-photo.s-fonce .photo-bg img{object-position:center 16%}
.s-photo.s-clair .photo-bg img{object-position:center 38%}
.s-photo .slide-txt{padding:44px 8vw 64px;text-align:center}
.s-photo.s-fonce .slide-txt{background:var(--noir);color:#fff}
.s-photo.s-fonce .sig,.s-photo.s-fonce .desc,.s-photo.s-fonce .eyebrow{color:#fff}
.s-photo.s-fonce .slide-cta{background:transparent;border:1px solid rgba(255,255,255,.85);color:#fff}
.s-photo.s-fonce .slide-cta:hover{background:#fff;color:var(--noir);border-color:#fff}
.s-photo.s-clair .slide-txt{background:#F2F0EC;color:var(--noir)}
.s-photo.s-clair .slide-cta{background:var(--encre);border-color:var(--encre);color:#fff}
@media(min-width:960px){
  .s-photo .photo-bg{height:62vh}
  .s-photo .slide-txt{padding:56px 8vw 72px}
}

/* MARQUEE */
.marquee{overflow:hidden;background:var(--noir);color:#EFEDE8;padding:18px 0;border-bottom:1px solid #1D1D21}
.marquee-track{display:flex;gap:42px;align-items:center;width:max-content;animation:defile 28s linear infinite;font-size:.82rem;letter-spacing:.34em;text-transform:uppercase}
.marquee-track span{flex:none}
.marquee-track i{width:7px;height:7px;background:var(--or);transform:rotate(45deg);flex:none}
@keyframes defile{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
