*{box-sizing:border-box}
:root{--bg:#050708;--text:#f3f7f7;--muted:#aab5b7;--cyan:#16d8f0;--line:rgba(22,216,240,.32)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
.header{position:fixed;z-index:20;top:0;left:0;right:0;height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(4,6,7,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:baseline;gap:8px;letter-spacing:.16em;font-size:.68rem}
.brand b{font-size:1.1rem;font-weight:400;letter-spacing:.08em}
nav{display:flex;align-items:center;gap:30px;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem}
nav a{padding:27px 0;border-bottom:2px solid transparent;color:#c9d0d1}
nav a:hover,nav a.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.menu{display:none;background:none;border:0;color:var(--text);font-size:1.35rem}

.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:#000}
.hero-image{position:absolute;inset:0;display:grid;place-items:center;padding:110px 5vw 70px}
.hero-image img,.hero-video{display:block;width:min(88vw,1180px);height:auto;max-height:78svh;object-fit:contain}
.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,5,7,.25),rgba(0,5,7,.03) 50%,rgba(0,5,7,.25)),linear-gradient(0deg,rgba(0,0,0,.34),transparent 50%,rgba(0,0,0,.12))}
.eyebrow{margin:0 0 16px;color:var(--cyan);font-size:.7rem;font-weight:700;letter-spacing:.27em}
h1,h2,h3{margin:0;font-weight:300;line-height:1.05;letter-spacing:-.04em}
h1{font-size:clamp(3.5rem,8vw,7.5rem)}
h2{font-size:clamp(2.7rem,5vw,5rem)}
h3{font-size:1.7rem}
.button{display:inline-block;padding:12px 22px;background:var(--cyan);color:#031014;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;border:1px solid var(--cyan)}
.scroll{position:absolute;z-index:2;bottom:25px;color:var(--cyan);font-size:1.5rem}






.feature{
  min-height:100svh;
  height:100svh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:0;
  background:#000;
}
.feature-photo{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
  overflow:hidden;
}
.feature-photo img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}

.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.28) 70%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 45%);pointer-events:none}
.feature-panel{position:relative;z-index:1;max-width:650px;padding:48px;border-left:2px solid var(--cyan);background:rgba(2,5,6,.58);backdrop-filter:blur(5px)}
.feature-panel-right{margin-left:auto;border-left:0;border-right:2px solid var(--cyan)}
.feature-panel p:not(.eyebrow){color:#c5cdce;max-width:600px}
.text-link{display:inline-block;margin-top:18px;color:var(--cyan);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:120px 7vw;background:#091011}
.contact p:not(.eyebrow){color:var(--muted);max-width:600px}
.contact-action{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap}
.mail{font-size:1.05rem}.mail:hover{color:var(--cyan)}
footer{display:flex;justify-content:space-between;padding:24px 7vw;color:#697577;font-size:.65rem;letter-spacing:.1em}
@keyframes slowzoom{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image img,.hero-video{animation:none}}
@media(max-width:760px){
.header{height:66px}.menu{display:block}
nav{display:none;position:absolute;top:66px;left:0;right:0;padding:15px 6vw;background:#050708;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid rgba(255,255,255,.1)}
nav.open{display:flex}nav a{width:100%;padding:13px 0;border-bottom:0}
.hero-image{padding:100px 4vw 60px}
.hero-image img,.hero-video{width:94vw;max-height:62svh}


.feature-photo img{width:100%;height:auto;max-width:100%;max-height:100%;object-fit:contain}.feature-panel{padding:30px}.feature-panel-right{margin-left:0;border-right:0;border-left:2px solid var(--cyan)}
.contact{grid-template-columns:1fr;gap:40px;padding:90px 5vw}
footer{flex-direction:column;gap:9px;padding:22px 5vw}
}

/* V12.5: photographic panels use real IMG elements, never background cover. */
.feature-photo img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}

@media (max-width:760px){
  .feature-photo img{
    width:100%;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
}

/* Social links */
.social-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  margin-top:2rem;
}
.social-links a{
  color:inherit;
  text-decoration:none;
  opacity:.72;
  transition:opacity .2s ease, transform .2s ease;
}
.social-links a:hover{
  opacity:1;
  transform:translateY(-1px);
}


/* V13.1 — grands dégradés lumineux latéraux */
.feature{
  isolation:isolate;
}
.feature-photo{
  z-index:0;
}
.feature-panel{
  z-index:2;
}
.feature-music .feature-photo::after,
.feature-listen .feature-photo::after,
.feature-mix .feature-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}
.feature-music .feature-photo::after,
.feature-listen .feature-photo::after{
  background:
    radial-gradient(ellipse 58% 100% at 0% 50%,
      rgba(255,255,255,.30) 0%,
      rgba(255,255,255,.16) 28%,
      rgba(255,255,255,.07) 48%,
      rgba(255,255,255,0) 72%);
}
.feature-mix .feature-photo::after{
  background:
    radial-gradient(ellipse 58% 100% at 100% 50%,
      rgba(255,255,255,.30) 0%,
      rgba(255,255,255,.16) 28%,
      rgba(255,255,255,.07) 48%,
      rgba(255,255,255,0) 72%);
}

/* Contact : même principe, lumière venant du côté droit */
.contact-with-photo{
  position:relative;
}
.contact-photo{
  z-index:-2;
}
.contact-photo::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(ellipse 58% 100% at 100% 50%,
      rgba(255,255,255,.28) 0%,
      rgba(255,255,255,.15) 28%,
      rgba(255,255,255,.06) 50%,
      rgba(255,255,255,0) 74%);
}

/* V14 — panneaux texte clairs, alternance gauche/droite */
.feature-panel{
  background:rgba(250,250,248,.96) !important;
  color:#090c0d !important;
  border-left:2px solid rgba(8,12,13,.9) !important;
  box-shadow:0 18px 70px rgba(0,0,0,.22);
  backdrop-filter:none;
}
.feature-panel-right{
  border-left:0 !important;
  border-right:2px solid rgba(8,12,13,.9) !important;
}
.feature-panel p:not(.eyebrow){
  color:#303637 !important;
}
.feature-panel h1,
.feature-panel h2,
.feature-panel h3{
  color:#050708 !important;
}
.feature-panel .eyebrow{
  color:#087f91 !important;
}
.feature-panel .text-link{
  color:#087f91 !important;
}
.feature-panel .button{
  background:#087f91;
  color:#fff;
  border-color:#087f91;
}

/* Contact déjà plein écran : panneau blanc à droite */
.contact-with-photo .contact-copy,
.contact-with-photo .contact-action{
  color:#090c0d;
}
.contact-with-photo .contact-copy{
  background:rgba(250,250,248,.96);
  padding:48px;
  box-shadow:0 18px 70px rgba(0,0,0,.22);
}
.contact-with-photo .contact-copy h2,
.contact-with-photo .contact-copy p:not(.eyebrow){
  color:#090c0d;
}
.contact-with-photo .contact-copy .eyebrow{
  color:#087f91;
}
.contact-with-photo .contact-action{
  background:rgba(250,250,248,.96);
  padding:36px 42px;
  box-shadow:0 18px 70px rgba(0,0,0,.22);
}
.contact-with-photo .mail{
  color:#090c0d;
}
.contact-with-photo .mail:hover{
  color:#087f91;
}

@media(max-width:760px){
  .feature-panel,
  .contact-with-photo .contact-copy,
  .contact-with-photo .contact-action{
    padding:30px;
  }
}


/* V14.5 — formulaire flottant : aucun panneau derrière */
.contact-form-wrap{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}

.contact-form{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  color:#fff!important;
}

.contact-form label,
.contact-form span,
.contact-form input,
.contact-form textarea{
  color:#fff!important;
}

.contact-form input,
.contact-form textarea{
  background:rgba(0,0,0,.25)!important;
  border:1px solid rgba(255,255,255,.45)!important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(255,255,255,.70)!important;
}


/* V14.6 — Contact : tous les textes en blanc */
#contact,
#contact *,
#contact h1,
#contact h2,
#contact h3,
#contact p,
#contact label,
#contact span,
#contact a,
#contact .mail,
#contact .eyebrow,
#contact .contact-copy,
#contact .contact-form,
#contact .contact-form-wrap{
  color:#fff!important;
}

#contact input,
#contact textarea{
  color:#fff!important;
  caret-color:#fff!important;
}

#contact input::placeholder,
#contact textarea::placeholder{
  color:rgba(255,255,255,.70)!important;
}

#contact .button{
  color:#fff!important;
}


/* V14.7 — TOUS les textes du site en blanc */
body,
body *{
  color:#fff!important;
}

input,
textarea,
select,
button{
  color:#fff!important;
}

::placeholder{
  color:rgba(255,255,255,.70)!important;
}

a,
a:visited,
a:hover,
a:focus,
a:active{
  color:#fff!important;
}

.brand,
.brand *,
.nav,
.nav *,
.hero,
.hero *,
.feature,
.feature *,
.contact,
.contact *{
  color:#fff!important;
}
