
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400&family=Montserrat:wght@300;400;500&display=swap');
:root{--bg:#050c12;--bg2:#08131c;--ink:#f3f0e9;--muted:#9ca8ae;--line:#23313a;--warm:#d3aa76}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300}
a{color:inherit;text-decoration:none}.section{max-width:1280px;margin:auto;padding:110px 6vw}.menu-btn{position:fixed;z-index:20;right:32px;top:28px;width:48px;height:48px;border:0;background:rgba(4,10,15,.4);backdrop-filter:blur(8px);cursor:pointer}.menu-btn span{display:block;width:25px;height:1px;background:#eee;margin:6px auto;transition:.3s}.overlay{position:fixed;inset:0;z-index:15;background:rgba(4,10,15,.96);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;pointer-events:none;transition:.35s}.overlay.open{opacity:1;pointer-events:auto}.overlay a{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,5vw,5rem)}
.hero{height:100vh;min-height:650px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 20%,#152a3a 0,#09131c 35%,#03080c 72%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#050c12 100%)}
.stars{position:absolute;inset:0;opacity:.35;background-image:radial-gradient(#fff 0.7px,transparent .8px);background-size:87px 83px}
.moon{position:absolute;width:74px;height:74px;border-radius:50%;right:23%;top:15%;background:#fff7df;box-shadow:0 0 60px #e7e1cc66}
.water{position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(165deg,transparent 0 47%,#0b1c28 48%),linear-gradient(180deg,#09131c,#07131c);opacity:.9}.water:after{content:"";position:absolute;width:9%;height:100%;right:20%;background:linear-gradient(180deg,#d9c89b22,#f2d9a888 55%,transparent);filter:blur(18px);transform:skewX(-12deg)}
.brand{position:absolute;z-index:2;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:90%}.logo{font-size:clamp(4rem,10vw,9rem);letter-spacing:.24em;margin-right:-.24em;font-weight:300}.tagline{letter-spacing:.65em;margin-right:-.65em;font-size:.72rem;color:#c5cbd0}.scroll{position:absolute;z-index:3;bottom:38px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.35em;text-align:center}.scroll span{display:block;font-size:1.4rem;margin-top:8px}
.about{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:8vw;align-items:center}.portrait-wrap{min-height:620px;overflow:hidden;background:#0a141c}.portrait-wrap img{width:100%;height:100%;min-height:620px;object-fit:cover;filter:saturate(.72) contrast(1.05)}.eyebrow{font-size:.68rem;letter-spacing:.42em;color:#aeb7bb;margin-bottom:24px}.about h1,.single h2,.section-head h2{font-family:"Cormorant Garamond",serif;font-weight:300;line-height:.95}.about h1{font-size:clamp(3rem,6vw,6.2rem);margin:0 0 36px}.about p{max-width:650px;color:#c4c9cb;line-height:1.9}.manifesto{color:#fff!important;margin-top:28px}
.single{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.single-art{aspect-ratio:1/1.1;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 24%,#d8d1b6 0 1.2%,transparent 1.5%),linear-gradient(155deg,#081724,#04080d 65%);border:1px solid #26343d}.single-art:before{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(160deg,#0c1921,#010407)}.art-road{position:absolute;left:42%;bottom:-10%;width:45%;height:55%;background:linear-gradient(100deg,transparent 45%,#ab342d 48% 50%,transparent 52%),linear-gradient(80deg,transparent 45%,#d6b77b55 48% 49%,transparent 51%);transform:perspective(300px) rotateX(40deg)}.single-art span,.single-art small{position:absolute;left:8%;z-index:2;letter-spacing:.35em}.single-art span{bottom:14%;font-size:2rem}.single-art small{bottom:9%;font-size:.55rem}.single h2{font-size:clamp(3.4rem,6vw,7rem);margin:0 0 15px}.single-copy>p{color:#b8c0c4}.player{display:flex;align-items:center;gap:18px;margin:38px 0 28px}.play{width:58px;height:58px;border-radius:50%;border:1px solid #aab2b7;background:transparent;color:#fff;cursor:pointer}.wave{height:44px;flex:1;opacity:.5;background:repeating-linear-gradient(90deg,#aeb7bc 0 1px,transparent 1px 4px);mask-image:linear-gradient(180deg,transparent 10%,#000 48%,transparent 90%)}.player span{font-size:.7rem;color:#9aa5aa}.platforms{display:flex;gap:12px;flex-wrap:wrap}.platforms a{border:1px solid #34434c;border-radius:99px;padding:12px 20px;font-size:.72rem}.platforms a[aria-disabled=true]{opacity:.38;pointer-events:none}
.releases{border-top:1px solid var(--line)}.section-head h2{font-size:clamp(3rem,5vw,5.5rem);margin:0 0 50px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.cover{aspect-ratio:1.35;background:#0d1b24;border:1px solid #25343e;position:relative;overflow:hidden}.c1{background:radial-gradient(circle at 65% 22%,#c8c1a6 0 2%,transparent 2.5%),linear-gradient(155deg,#102433,#05090d)}.c2{background:linear-gradient(120deg,#07131d,#263744 50%,#100e0b)}.c3{background:radial-gradient(circle at 52% 45%,#c8a6a5 0 3%,#18222b 4%,#050b10 60%)}.c4{background:radial-gradient(circle at 70% 25%,#d7d3c8 0 2%,transparent 2.5%),linear-gradient(#08141e,#03070a)}.card h3{font-weight:400;margin:14px 0 5px}.card p{margin:0;color:#89959a;font-size:.72rem;letter-spacing:.1em}
footer{border-top:1px solid var(--line);min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#aeb6ba;letter-spacing:.35em;font-size:.65rem}.logo.small{font-size:2.4rem;color:#fff}footer small{margin-top:20px;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.section{padding:80px 7vw}.about,.single{grid-template-columns:1fr}.portrait-wrap,.portrait-wrap img{min-height:480px}.single-art{max-width:520px}.cards{grid-template-columns:1fr 1fr}.logo{font-size:clamp(3.4rem,16vw,6rem)}.tagline{letter-spacing:.38em;margin-right:-.38em}.moon{right:15%}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.portrait-wrap,.portrait-wrap img{min-height:410px}.menu-btn{right:14px;top:14px}.platforms a{padding:10px 14px}}

.audio-tag{font-size:.62rem!important;color:#667982!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* V6 — bannière officielle Lümia fournie par Véro */
.official-hero{
  height:100vh;
  min-height:620px;
  position:relative;
  overflow:hidden;
  background:#03070c;
}
.hero-official-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,6,10,.04) 0%,rgba(2,6,10,0) 65%,rgba(5,12,18,.72) 100%);
}
.official-hero .scroll{
  color:#f5f1ea;
  text-shadow:0 2px 12px #000;
}
@media(max-width:850px){
  .official-hero{height:82vh;min-height:560px}
  .hero-official-image{
    object-position:center center;
  }
}
@media(max-width:560px){
  .official-hero{height:74vh;min-height:500px}
  /* Sur téléphone on garde le centre LÜMIA lisible plutôt que d'écraser l'image. */
  .hero-official-image{
    object-fit:cover;
    object-position:52% center;
  }
}

/* V7 — portrait Lümia dédié à la présentation */
.about{
  grid-template-columns:minmax(340px,.92fr) 1.08fr;
  gap:7vw;
}
.portrait-wrap{
  min-height:690px;
  max-width:520px;
  width:100%;
  justify-self:center;
  border:1px solid rgba(255,255,255,.07);
  background:#071018;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.portrait-wrap img{
  width:100%;
  height:690px;
  min-height:0;
  object-fit:cover;
  object-position:50% 43%;
  filter:saturate(.92) contrast(1.02);
  display:block;
}
@media(max-width:850px){
  .about{grid-template-columns:1fr;gap:52px}
  .portrait-wrap{max-width:600px;min-height:0}
  .portrait-wrap img{height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center}
}

/* V8 — Gravity Between Us : section cinématique sans nouvelle photo de Lümia */
.gravity-section{
  position:relative;overflow:hidden;border-top:1px solid var(--line);
  min-height:920px;padding:140px 6vw;
  background:
    radial-gradient(circle at 78% 36%,rgba(118,143,156,.13),transparent 24%),
    radial-gradient(circle at 25% 75%,rgba(178,112,67,.08),transparent 28%),
    linear-gradient(135deg,#040a0f,#07131b 56%,#03080c);
}
.gravity-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;top:120px;background:#d4b17a0d;filter:blur(40px)}
.gravity-orbit{position:absolute;border:1px solid rgba(190,205,211,.09);border-radius:50%;pointer-events:none}
.orbit-one{width:760px;height:760px;right:-240px;top:40px}.orbit-two{width:1060px;height:1060px;right:-350px;top:-110px}
.gravity-inner{position:relative;z-index:2;max-width:1320px;margin:auto;display:grid;grid-template-columns:70px 1.05fr .95fr;gap:5vw;align-items:center}
.gravity-number{align-self:start;padding-top:7px;font-family:"Cormorant Garamond",serif;color:#61727c;font-size:1.1rem;letter-spacing:.2em}
.gravity-copy h2{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(4.4rem,7.5vw,8.7rem);line-height:.76;letter-spacing:-.025em;margin:30px 0 42px}
.gravity-copy h2 span{display:block}.gravity-copy h2 span:last-child{margin-left:7vw;color:#d7d5cf}
.gravity-intro{max-width:620px;color:#aeb9be;line-height:1.9;font-size:.95rem}
.gravity-player{display:flex;align-items:center;gap:25px;margin:52px 0 35px;max-width:680px}
.gravity-play{width:72px;height:72px;flex:0 0 72px;border-radius:50%;border:1px solid #778790;background:rgba(255,255,255,.02);color:#fff;transition:.3s}
.gravity-play:hover{transform:scale(1.06);border-color:#e2d5bd;background:#e2d5bd0d}
.gravity-play span{display:block;margin-left:4px}
.gravity-track{flex:1}.gravity-meta{display:flex;justify-content:space-between;gap:20px;font-size:.62rem;letter-spacing:.14em;color:#8f9ba1}.gravity-meta b{font-weight:400;color:#dce1e3}
.gravity-wave{height:52px;margin:8px 0;background:repeating-linear-gradient(90deg,#87969d 0 1px,transparent 1px 5px);opacity:.58;mask-image:linear-gradient(180deg,transparent 7%,#000 48%,transparent 93%)}
.gravity-time{display:flex;justify-content:space-between;font-size:.55rem;color:#60717a}
.gravity-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.primary-link{font-size:.67rem;letter-spacing:.19em;padding-bottom:7px;border-bottom:1px solid #667780}.primary-link span{margin-left:8px}.coming{font-size:.6rem;letter-spacing:.17em;color:#52636d}
.gravity-art{position:relative;justify-self:end;width:min(100%,500px);aspect-ratio:.84;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 35px 100px #0008;background:linear-gradient(180deg,#102432 0,#07131b 51%,#03070a 100%)}
.gravity-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 66% 28%,#e3b9781c,transparent 23%),linear-gradient(180deg,transparent 62%,#0007)}
.gravity-moon{position:absolute;width:46px;height:46px;border-radius:50%;right:15%;top:12%;background:#eee7d2;box-shadow:0 0 42px #e5d2a65e}
.gravity-horizon{position:absolute;left:-10%;right:-10%;bottom:36%;height:20%;background:linear-gradient(170deg,transparent 48%,#0b1820 49% 65%,transparent 66%),linear-gradient(190deg,transparent 48%,#101c22 49% 64%,transparent 65%)}
.gravity-road{position:absolute;left:28%;bottom:-12%;width:65%;height:58%;clip-path:polygon(40% 0,57% 0,100% 100%,0 100%);background:linear-gradient(90deg,#071015,#12191c 48%,#071015)}
.gravity-road:after{content:"";position:absolute;left:49%;top:6%;width:1px;height:92%;background:linear-gradient(#bca77e55,transparent 80%);transform:rotate(-3deg)}
.tail-light{position:absolute;bottom:23%;width:19px;height:5px;border-radius:50%;background:#b52e2e;box-shadow:0 0 20px #d23535}.tail-light.left{left:47%}.tail-light.right{left:58%}
.gravity-title{position:absolute;left:9%;bottom:8%;font-size:1.6rem;letter-spacing:.34em;font-weight:300}.gravity-title small{display:block;font-size:.46rem;letter-spacing:.26em;margin-top:8px;color:#aab3b7}
@media(max-width:980px){.gravity-section{min-height:auto;padding:100px 7vw}.gravity-inner{grid-template-columns:1fr}.gravity-number{display:none}.gravity-art{justify-self:start;width:min(100%,560px);grid-row:2}.gravity-copy h2 span:last-child{margin-left:0}.gravity-copy h2{line-height:.85}}
@media(max-width:560px){.gravity-section{padding:80px 7vw}.gravity-copy h2{font-size:clamp(3.6rem,17vw,5.4rem)}.gravity-player{gap:15px}.gravity-play{width:58px;height:58px;flex-basis:58px}.gravity-meta{display:block}.gravity-meta span{display:block;margin-top:5px}}

/* V9 — visuel officiel Gravity Between Us, format paysage 16:9 */
.gravity-inner{
  max-width:1440px;
  grid-template-columns:60px .82fr 1.18fr;
  gap:4vw;
}
.official-gravity-art{
  width:100%;
  max-width:760px;
  aspect-ratio:16/9;
  margin:0;
  justify-self:end;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 38px 110px rgba(0,0,0,.48);
  background:#03070a;
}
.official-gravity-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.official-gravity-art:before{display:none}
@media(max-width:1100px){
  .gravity-inner{grid-template-columns:1fr}
  .gravity-number{display:none}
  .official-gravity-art{justify-self:start;max-width:900px;grid-row:2}
  .gravity-copy h2 span:last-child{margin-left:0}
}


/* V10 — lecteur audio réel + discographie publique */
.gravity-wave{position:relative;cursor:pointer;overflow:hidden}
.gravity-progress{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(226,213,189,.28);pointer-events:none}
.gravity-play span{font-size:1rem}
#gravityAudio{display:none}
.cards.single-release{grid-template-columns:minmax(260px,360px)}
.gravity-release-card a{display:block}
.gravity-cover{aspect-ratio:16/9;background:#03070a}
.gravity-cover img{width:100%;height:100%;display:block;object-fit:cover}
.gravity-release-card h3{margin-top:16px}
@media(max-width:560px){.cards.single-release{grid-template-columns:1fr}}
