:root {
  --gold:#C9A94E; --gold-light:#E8D08A;
  --sky-deep:#1B3A6B; --sky-azure:#4A7FBD;
  --dark:#0A0C10; --dark2:#111418; --dark3:#1A1E24;
  --white:#F5F2EC; --white-dim:rgba(245,242,236,0.7);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--dark);color:var(--white);font-family:'Jost',sans-serif;font-weight:200;overflow-x:hidden;}

/* LANG SWITCHER — compact globe dropdown (desktop) */
.lang-switcher{position:relative;display:flex;align-items:center;
  margin-left:28px;padding-left:24px;border-left:1px solid rgba(201,169,78,0.18);}
.lang-current{display:flex;align-items:center;gap:7px;padding:6px 2px;
  background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;
  font-size:0.72rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--white-dim);transition:color 0.3s;}
.lang-switcher:hover .lang-current,.lang-switcher:focus-within .lang-current{color:var(--gold);}
.lang-globe{color:var(--gold);flex-shrink:0;}
.lang-caret{font-size:0.62rem;line-height:1;transition:transform 0.3s;}
.lang-switcher:hover .lang-caret,.lang-switcher:focus-within .lang-caret{transform:rotate(180deg);}
.lang-menu{position:absolute;top:100%;right:0;min-width:88px;
  display:flex;flex-direction:column;
  background:rgba(10,12,16,0.92);backdrop-filter:blur(14px);
  border:1px solid rgba(201,169,78,0.2);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity 0.25s,transform 0.25s,visibility 0.25s;z-index:301;}
.lang-switcher:hover .lang-menu,.lang-switcher:focus-within .lang-menu{opacity:1;visibility:visible;transform:none;}
.lang-btn{display:block;padding:9px 14px;font-size:0.66rem;font-weight:300;letter-spacing:0.2em;
  text-transform:uppercase;color:rgba(245,242,236,0.5);background:transparent;text-decoration:none;
  border:none;border-bottom:1px solid rgba(201,169,78,0.1);cursor:pointer;
  text-align:left;transition:all 0.2s;font-family:'Jost',sans-serif;}
.lang-btn:last-child{border-bottom:none;}
.lang-btn:hover,.lang-btn.active{color:var(--gold);background:rgba(201,169,78,0.08);}

/* HIDE/SHOW LANG */
[data-lang]{display:none;}
.lang-en [data-lang="en"],.lang-fr [data-lang="fr"],.lang-de [data-lang="de"]{display:inherit;}
/* Inline spans */
span[data-lang]{display:none;}
.lang-en span[data-lang="en"],.lang-fr span[data-lang="fr"],.lang-de span[data-lang="de"]{display:inline;}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;
  padding:28px 60px;
  background:linear-gradient(180deg,rgba(10,12,16,0.95) 0%,transparent 100%);
  transition:backdrop-filter 0.4s,background 0.4s;
}
nav.scrolled{backdrop-filter:blur(20px);background:rgba(10,12,16,0.9);border-bottom:1px solid rgba(201,169,78,0.1);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.4rem;letter-spacing:0.15em;color:var(--white);text-decoration:none;}
.nav-logo span{color:var(--gold);font-style:italic;}
.nav-links{display:flex;gap:44px;list-style:none;margin-left:auto;}
.nav-links a{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--white-dim);text-decoration:none;transition:color 0.3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width 0.3s;}
.nav-links a:hover{color:var(--gold);}
.nav-links a:hover::after{width:100%;}
/* Hamburger (mobile only, shown via media query) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:30px;height:24px;padding:0;background:none;border:none;cursor:pointer;
  position:relative;z-index:2;}
.nav-toggle span{display:block;width:100%;height:1.5px;background:var(--gold);
  transition:transform 0.35s ease,opacity 0.2s;transform-origin:center;}

/* HERO */
.hero{position:relative;height:100vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('../images/ken-mauron-bg.jpg');
  background-size:cover;background-position:center top;
  transform:scale(1.08);transition:transform 8s ease-out;
}
.hero-bg.loaded{transform:scale(1);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,16,0.2) 0%,rgba(10,12,16,0.1) 40%,rgba(10,12,16,0.75) 75%,rgba(10,12,16,0.98) 100%);}
.hero-overlay2{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(27,58,107,0.25) 0%,transparent 60%);}
.hero-content{position:relative;z-index:2;padding:0 60px 80px;max-width:800px;}
.hero-tag{font-size:0.65rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;opacity:0;animation:fadeUp 0.7s 0.15s forwards;}
.hero-name{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,8vw,7rem);font-weight:300;line-height:0.95;margin-bottom:28px;opacity:0;animation:fadeUp 0.7s 0.3s forwards;}
.hero-name .ken{color:var(--white);}
.hero-name .mauron{color:var(--gold);font-style:italic;display:block;}
.hero-desc{font-size:0.9rem;letter-spacing:0.08em;color:var(--white-dim);max-width:460px;line-height:1.8;margin-bottom:44px;opacity:0;animation:fadeUp 0.7s 0.45s forwards;}
.hero-cta{display:flex;gap:20px;opacity:0;animation:fadeUp 0.7s 0.6s forwards;}
.btn-gold{padding:14px 36px;border:1px solid var(--gold);color:var(--dark);background:var(--gold);font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;}
.btn-gold:hover{background:transparent;color:var(--gold);}
.btn-outline{padding:14px 36px;border:1px solid rgba(245,242,236,0.3);color:var(--white);background:transparent;font-family:'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* UNIVERSE */
.universe{background:var(--dark);padding:120px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.universe-img{position:relative;overflow:hidden;}
.universe-img img{width:100%;height:600px;object-fit:cover;display:block;transition:transform 0.8s ease;}
.universe-img:hover img{transform:scale(1.04);}
.universe-img::after{content:'';position:absolute;inset:0;border:1px solid rgba(201,169,78,0.15);pointer-events:none;}
.section-label{font-size:0.62rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:16px;}
.section-label::before{content:'';width:32px;height:1px;background:var(--gold);}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;line-height:1.1;margin-bottom:48px;}
.section-title em{color:var(--gold);font-style:italic;}
.universe-quote{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-style:italic;font-weight:300;line-height:1.5;color:var(--white);margin:32px 0;padding-left:24px;border-left:1px solid var(--gold);}
.universe-body{font-size:0.88rem;line-height:1.9;color:var(--white-dim);margin-bottom:20px;}
.gold-divider{width:60px;height:1px;background:var(--gold);margin:32px 0;}

/* PILLARS */
.pillars{background:var(--dark2);padding:120px 60px;border-top:1px solid rgba(201,169,78,0.12);border-bottom:1px solid rgba(201,169,78,0.12);}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,169,78,0.1);margin-top:60px;border:1px solid rgba(201,169,78,0.1);}
.pillar{background:var(--dark2);padding:48px 36px;position:relative;transition:background 0.4s;overflow:hidden;}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.pillar:hover{background:var(--dark3);}
.pillar:hover::before{transform:scaleX(1);}
.pillar-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:rgba(201,169,78,0.15);line-height:1;margin-bottom:20px;transition:color 0.4s;}
.pillar:hover .pillar-num{color:rgba(201,169,78,0.4);}
.pillar-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--white);margin-bottom:12px;line-height:1.2;}
.pillar-sub{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.pillar-desc{font-size:0.82rem;line-height:1.8;color:var(--white-dim);}

/* MARQUEE */
.instruments{background:var(--dark2);padding:48px 0;border-top:1px solid rgba(201,169,78,0.1);border-bottom:1px solid rgba(201,169,78,0.1);overflow:hidden;}
.marquee-track{display:flex;gap:0;animation:marquee 30s linear infinite;width:max-content;}
.marquee-item{display:flex;align-items:center;gap:20px;padding:0 48px;white-space:nowrap;}
.marquee-item span{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;font-style:italic;color:var(--white-dim);letter-spacing:0.05em;}
.marquee-sep{color:var(--gold);font-size:0.5rem;}

/* MUSIC */
.music{background:var(--dark);padding:120px 60px;}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;border:1px solid rgba(201,169,78,0.15);background:var(--dark3);overflow:hidden;}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.albums-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:60px;background:rgba(201,169,78,0.08);}
.album{background:var(--dark);padding:40px;border:1px solid rgba(201,169,78,0.06);transition:border-color 0.3s,background 0.3s;}
.album:hover{background:var(--dark3);border-color:rgba(201,169,78,0.2);}
.album-year{font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.album-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--white);margin-bottom:8px;}
.album-type{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--white-dim);margin-bottom:20px;}
.tracklist{list-style:none;border-top:1px solid rgba(245,242,236,0.08);padding-top:16px;}
.tracklist li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:0.8rem;color:var(--white-dim);border-bottom:1px solid rgba(245,242,236,0.04);cursor:pointer;transition:color 0.2s;}
.tracklist li:hover{color:var(--gold);}
.track-num{font-family:'Cormorant Garamond',serif;font-size:0.75rem;color:rgba(201,169,78,0.4);width:20px;flex-shrink:0;}
.platforms{margin-top:28px;display:flex;gap:16px;}
.platform-link{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--white-dim);text-decoration:none;padding:8px 16px;border:1px solid rgba(245,242,236,0.15);transition:all 0.3s;}
.platform-link:hover{border-color:var(--gold);color:var(--gold);}

/* LIVE */
.live{background:var(--dark);padding:120px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.live-img{position:relative;}
.live-img img{width:100%;height:500px;object-fit:cover;display:block;}
.live-img-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(10,12,16,0.9) 0%,transparent 100%);padding:24px;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);}
.live-video{grid-column:1/-1;margin-top:24px;}
.live-video .section-label{margin-bottom:20px;}
.concerts-list{margin-top:20px;}
.concert-item{display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(245,242,236,0.08);transition:all 0.3s;}
.concert-item:hover{padding-left:12px;border-color:rgba(201,169,78,0.3);}
.concert-date{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--gold);line-height:1;}
.concert-date small{display:block;font-size:0.65rem;letter-spacing:0.15em;font-family:'Jost',sans-serif;color:var(--white-dim);margin-top:2px;}
.concert-info h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--white);margin-bottom:4px;}
.concert-info p{font-size:0.75rem;color:var(--white-dim);}
.concert-tag{font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;padding:4px 10px;border:1px solid rgba(201,169,78,0.4);color:var(--gold);}
.concert-actions{display:flex;align-items:center;gap:12px;}
.concert-ticket{font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;padding:5px 14px;background:var(--gold);color:var(--dark);text-decoration:none;transition:all 0.3s;white-space:nowrap;}
.concert-ticket:hover{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);}
/* Tickets not on sale yet — disabled, non-interactive */
.concert-ticket-disabled{opacity:0.4;cursor:not-allowed;}
.concert-ticket-disabled:hover{background:var(--gold);color:var(--dark);box-shadow:none;}

/* RESEARCH */
.research{background:var(--dark2);padding:120px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.research-img img{width:100%;height:560px;object-fit:cover;display:block;}
.instrument-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;}
.chip{padding:6px 14px;border:1px solid rgba(201,169,78,0.25);font-size:0.68rem;letter-spacing:0.1em;color:var(--white-dim);transition:all 0.3s;}
.chip:hover{border-color:var(--gold);color:var(--gold);}

/* CINEMA */
.cinema{background:var(--dark);padding:120px 60px;}
.films-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:60px;}
.film-card{padding:36px;border:1px solid rgba(201,169,78,0.1);background:var(--dark3);position:relative;overflow:hidden;transition:border-color 0.3s;}
.film-card:hover{border-color:rgba(201,169,78,0.4);}
.film-card::before{content:attr(data-year);position:absolute;top:-20px;right:24px;font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:rgba(201,169,78,0.06);line-height:1;}
.film-type{font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.film-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--white);margin-bottom:8px;}
.film-director{font-size:0.78rem;color:var(--white-dim);}

/* CONTACT */
.contact{background:var(--dark2);text-align:center;padding:120px 60px;position:relative;overflow:hidden;}
.contact::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse,rgba(27,58,107,0.15) 0%,transparent 70%);pointer-events:none;}
.contact-email{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:var(--white);text-decoration:none;border-bottom:1px solid rgba(201,169,78,0.3);padding-bottom:4px;transition:border-color 0.3s,color 0.3s;display:inline-block;margin:32px 0 48px;}
.contact-email:hover{color:var(--gold);border-color:var(--gold);}
.social-links{display:flex;justify-content:center;gap:32px;margin-top:40px;flex-wrap:wrap;}
.social-link{font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--white-dim);text-decoration:none;transition:color 0.3s;}
.social-link:hover{color:var(--gold);}

/* FOOTER */
footer{background:var(--dark);border-top:1px solid rgba(245,242,236,0.06);padding:40px 60px;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--white);}
.footer-logo span{color:var(--gold);font-style:italic;}
.footer-copy{font-size:0.68rem;color:rgba(245,242,236,0.3);letter-spacing:0.1em;}
.footer-psi a{color:var(--sky-azure);text-decoration:none;font-size:0.68rem;}
.footer-psi a:hover{color:var(--gold);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease;}
.reveal.visible{opacity:1;transform:none;}

@media(max-width:900px){
  nav{padding:20px 24px;}
  /* Pinned deterministically to the viewport-wide nav (engine-independent,
     avoids flexbox space-between interacting with the fixed overlay sibling) */
  .nav-toggle{display:flex;position:absolute;right:24px;top:50%;transform:translateY(-50%);}
  /* Full-screen overlay menu (reuses the nav <ul>) */
  .nav-links{
    position:fixed;inset:0;z-index:1;
    flex-direction:column;justify-content:center;align-items:center;gap:18px;
    background:rgba(10,12,16,0.97);backdrop-filter:blur(20px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity 0.45s ease,visibility 0.45s ease;
  }
  .menu-open .nav-links{opacity:1;visibility:visible;pointer-events:auto;}
  /* Menu open: drop nav's backdrop-filter so the fixed full-screen overlay (and
     the open lang switcher) anchor to the viewport, not to the nav. nav.scrolled's
     backdrop-filter otherwise makes nav a containing block and traps them when
     scrolled (cut off / too high / no background). transition:none = instant. */
  .menu-open #navbar{backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;}
  /* Editorial links */
  .nav-links a{font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:2rem;letter-spacing:0.04em;text-transform:none;}
  /* Staggered reveal of items */
  .nav-links li{opacity:0;transform:translateY(18px);
    transition:opacity 0.5s ease,transform 0.5s ease;}
  .menu-open .nav-links li{opacity:1;transform:none;}
  .menu-open .nav-links li:nth-child(1){transition-delay:0.08s;}
  .menu-open .nav-links li:nth-child(2){transition-delay:0.14s;}
  .menu-open .nav-links li:nth-child(3){transition-delay:0.20s;}
  .menu-open .nav-links li:nth-child(4){transition-delay:0.26s;}
  .menu-open .nav-links li:nth-child(5){transition-delay:0.32s;}
  .menu-open .nav-links li:nth-child(6){transition-delay:0.38s;}
  /* Lang switcher: hidden when closed; flat 3-button row centered at bottom of overlay when open */
  .lang-switcher{display:none;}
  .menu-open .lang-switcher{display:flex;position:fixed;z-index:3;
    margin:0;padding:0;border:none;
    top:auto;right:auto;bottom:64px;left:50%;transform:translateX(-50%);}
  .lang-current{display:none;}
  .lang-menu{position:static;flex-direction:row;min-width:0;
    opacity:1;visibility:visible;transform:none;
    background:rgba(10,12,16,0.8);backdrop-filter:blur(12px);
    border:1px solid rgba(201,169,78,0.2);}
  .lang-menu .lang-btn{border-bottom:none;border-right:1px solid rgba(201,169,78,0.15);text-align:center;}
  .lang-menu .lang-btn:last-child{border-right:none;}
  /* Hamburger -> X */
  .menu-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .menu-open .nav-toggle span:nth-child(2){opacity:0;}
  .menu-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  /* Scroll lock */
  html.menu-open,html.menu-open body{overflow:hidden;}
  .universe,.live,.research{grid-template-columns:1fr;gap:40px;padding:80px 24px;}
  .pillars{padding:80px 24px;}
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .albums-grid,.films-grid{grid-template-columns:1fr;}
  .concert-actions{flex-direction:column;align-items:flex-end;gap:8px;}
  .hero-content{padding:0 24px 60px;}
  /* Hero legibility on mobile: the gold "Mauron"/tag fall over the bright white
     shirt. Denser lower scrim behind the text + a soft halo. */
  .hero-overlay{background:linear-gradient(180deg,rgba(10,12,16,0.25) 0%,rgba(10,12,16,0.45) 45%,rgba(10,12,16,0.9) 80%,rgba(10,12,16,0.99) 100%);}
  .hero-tag,.hero-name,.hero-desc{text-shadow:0 2px 16px rgba(10,12,16,0.6);}
  footer{flex-direction:column;gap:16px;text-align:center;}
  .music,.cinema,.contact{padding:80px 24px;}
  /* Social links wrap onto multiple lines on mobile (were cut off on one line) */
  .social-links{gap:14px 24px;}
}
