/* HASS luxury redesign preview — richer cinematic treatment matching Sam's mockup.
   Overlays v4.css. Does not ship to the live site. */
@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-600-italic.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --navy:#101B2B;
  --navy2:#24344A;
  --night:#05070b;
  --gold:#D8B56A;
  --gold-hi:#F3D78A;
  --gold-dim:#8A7040;
  --ivory:#F6F0E5;
  --muted:#E8DCC4;
  --copper:#B57D63;
  --slate:#24344A;
  --line:rgba(216,181,106,.38);
  --serif:"Cormorant Garamond",Cinzel,Georgia,serif;
  --display:Cinzel,Georgia,"Times New Roman",serif;
  --script:"Cormorant Garamond",Cormorant,Georgia,serif;
  --sans:Manrope,Montserrat,Arial,sans-serif;
  --gold-grad:linear-gradient(180deg,#fff6d0 0%,#f3d78a 32%,#d8b56a 58%,#b8923c 86%,#f0d78a 100%);
  --gold-border:linear-gradient(145deg,#f8e7b0 0%,#d8b56a 28%,#8a6a2e 52%,#f3d78a 78%,#c9a44a 100%);
  --panel-glow:0 0 0 1px rgba(243,215,143,.18),0 0 42px rgba(216,181,106,.2),0 28px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,236,190,.18);
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.honey{position:absolute;left:-9999px;width:0;height:0;opacity:0}

body.lux{
  background:
    radial-gradient(ellipse at 50% 0,rgba(216,181,106,.08),transparent 42%),
    var(--night);
  color:var(--ivory);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
}
body.lux h1,body.lux h2,body.lux h3,body.lux h4{
  font-family:var(--display);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--gold-hi);
}
body.lux em{font-family:var(--script);font-style:italic;font-weight:500}
body.lux .btn,
body.lux .start-experience{
  background:linear-gradient(180deg,#f8e7b0 0%,#e4c36a 42%,#c9a044 100%);
  border:1px solid #f3d78a;
  color:#1a1408;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 10px 28px rgba(201,160,68,.32),inset 0 1px 0 rgba(255,255,255,.45);
  padding:14px 28px;
  min-height:48px;
}
body.lux .btn:hover,body.lux .btn:focus-visible,
body.lux .start-experience:hover,body.lux .start-experience:focus-visible{
  background:linear-gradient(180deg,#fff1c4,#f3d78a 50%,#d8b56a);
  color:#1a1408;
}
body.lux .btn.ghost{
  background:transparent;
  color:var(--gold-hi);
  border-color:var(--gold);
  box-shadow:none;
}
body.lux .btn.ghost:hover{background:rgba(216,181,106,.12)}

.preview-banner{
  margin:0;
  padding:8px 5%;
  text-align:center;
  background:#05070b;
  color:var(--gold-hi);
  font-size:10px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  border-bottom:1px solid rgba(216,181,106,.28);
}

/* Gold framed panels */
body.lux .gold-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:28px;
  box-shadow:var(--panel-glow);
}
body.lux .gold-panel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px;
  background:var(--gold-border);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:6;
}
body.lux .gold-swoosh{
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:78px;
  z-index:5;
  pointer-events:none;
}
body.lux .gold-swoosh svg{display:block;width:100%;height:100%}

/* Masthead */
body.lux .masthead{
  background:rgba(5,7,11,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(216,181,106,.28);
  box-shadow:none;
  height:auto;
  min-height:78px;
  padding:14px 4.5%;
  gap:18px;
}
body.lux .brand>span:last-child,
body.lux .brand>span{
  color:var(--gold-hi);
  font-family:var(--display);
  font-weight:700;
  letter-spacing:.16em;
}
body.lux .brand small{color:var(--gold);letter-spacing:.2em}
body.lux .masthead nav a{
  color:var(--ivory);
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
}
body.lux .masthead nav a:hover,
body.lux .masthead nav a.active{color:var(--gold-hi)}
body.lux .free-preview{
  background:linear-gradient(180deg,#f8e7b0,#e4c36a 50%,#c9a044);
  border:1px solid #f3d78a;
  color:#1a1408;
  font-weight:800;
  letter-spacing:.14em;
  border-radius:999px;
  padding:10px 18px;
  height:auto;
  min-height:42px;
  box-shadow:0 8px 20px rgba(201,160,68,.28),inset 0 1px 0 rgba(255,255,255,.4);
}
body.lux .free-preview .icon{display:none}

/* Featured revenue hero */
body.lux .rev-feature{
  background:transparent !important;
  border:0 !important;
  padding:22px 4.5% 10px !important;
  text-align:left !important;
}
body.lux .rev-panel{
  padding:42px 46px 92px;
  background:
    linear-gradient(100deg,rgba(5,7,12,.88) 0%,rgba(5,7,12,.62) 46%,rgba(5,7,12,.34) 100%),
    url("../assets/hero/mockup-lobby.webp") right center/cover no-repeat;
}
body.lux .rev-panel-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  position:relative;
  z-index:2;
}
body.lux .rev-feature .eyebrow{
  color:var(--gold-hi) !important;
  font-weight:800;
  letter-spacing:.24em !important;
  font-size:12px !important;
  margin:0 0 14px !important;
}
body.lux .rev-feature-title{
  font-family:var(--display) !important;
  font-weight:700 !important;
  text-transform:uppercase;
  font-size:clamp(34px,5vw,68px) !important;
  line-height:1.05 !important;
  letter-spacing:.015em !important;
  max-width:14ch;
  margin:0 0 16px !important;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  text-shadow:none !important;
  filter:drop-shadow(0 2px 0 rgba(60,40,10,.35)) drop-shadow(0 10px 22px rgba(216,181,106,.22));
}
body.lux .rev-feature-sub{
  font-family:var(--script) !important;
  font-style:italic;
  font-size:clamp(22px,2.4vw,32px) !important;
  color:var(--ivory) !important;
  margin:0 0 28px !important;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
  max-width:22em;
}
body.lux .rev-path{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding:0;
  margin:0 0 28px;
  max-width:460px;
}
body.lux .rev-path li{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:4px;
  padding:0 10px;
  border-right:1px solid rgba(216,181,106,.45);
}
body.lux .rev-path li:last-child{border-right:0}
body.lux .rev-path .icon{
  width:34px;height:34px;
  stroke:var(--gold-hi);
  fill:none;
  stroke-width:1.6;
  margin-bottom:6px;
  filter:drop-shadow(0 0 8px rgba(243,215,138,.35));
}
body.lux .rev-path b{
  font-family:var(--display);
  font-size:13px;
  letter-spacing:.16em;
  color:var(--gold-hi);
}
body.lux .rev-path span{
  font-size:12px;
  color:var(--ivory);
}
body.lux .start-experience{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}

body.lux .rev-stage{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:#000;
  border:0;
  box-shadow:0 0 0 1.5px rgba(243,215,138,.55),0 18px 48px rgba(0,0,0,.45),0 0 36px rgba(216,181,106,.16);
}
body.lux .rev-hero-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#000;
}
body.lux .rev-play-cta{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(180deg,rgba(5,7,12,.15),rgba(5,7,12,.38));
  color:var(--gold-hi);
  z-index:2;
}
body.lux .rev-play-cta.is-playing{opacity:0;pointer-events:none}
body.lux .rev-play-icon{
  width:78px;height:78px;
  border-radius:50%;
  border:2px solid #fff6d0;
  background:linear-gradient(180deg,#f3d78a,#c9a044);
  color:#1a1408;
  font-size:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-left:4px;
  box-shadow:0 10px 28px rgba(0,0,0,.4),0 0 24px rgba(243,215,138,.4);
}
body.lux .rev-play-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-hi);
}
body.lux .rev-play-time{
  position:absolute;
  left:16px;bottom:12px;
  font-size:12px;
  letter-spacing:.06em;
  color:#f6f0e5;
  opacity:.95;
}
body.lux .rev-play-cc{
  position:absolute;
  right:16px;bottom:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  border:1px solid rgba(246,240,229,.7);
  border-radius:3px;
  padding:1px 5px;
  color:#f6f0e5;
}

body.lux .rev-band{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(216,181,106,.28);
  align-items:end;
}
body.lux .rev-band h1{
  margin:0;
  font-size:clamp(26px,3vw,40px);
  text-transform:uppercase;
  letter-spacing:.04em;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  filter:drop-shadow(0 8px 18px rgba(216,181,106,.18));
}
body.lux .headline-heart{
  width:28px;height:26px;
  color:var(--gold-hi);
  flex:0 0 auto;
  filter:drop-shadow(0 0 8px rgba(243,215,138,.4));
}
body.lux .rev-band p{
  margin:0;
  font-family:var(--script);
  font-style:italic;
  font-size:clamp(18px,2vw,24px);
  color:var(--ivory);
  max-width:26em;
}

/* Sunset brand panel */
body.lux .brand-panel.lobby-hero{
  display:grid !important;
  grid-template-columns:1fr !important;
  min-height:0 !important;
  height:auto !important;
  margin:18px 4.5% 28px !important;
  padding:52px 46px 90px !important;
  overflow:hidden !important;
  background:url("../assets/hero/mockup-sunset.webp") right 60%/cover no-repeat !important;
  border:0;
}
body.lux .brand-panel .hero-shade{
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(100deg,rgba(5,7,12,.72) 0%,rgba(5,7,12,.38) 52%,rgba(5,7,12,.18) 100%) !important;
  z-index:0 !important;
}
body.lux .brand-panel .hero-copy{
  position:relative !important;
  z-index:3;
  width:min(720px,100%) !important;
  max-width:720px !important;
  padding:0 !important;
}
body.lux .brand-panel-logo{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
body.lux .brand-panel-logo img{width:68px;height:68px;object-fit:contain}
body.lux .brand-panel-logo span{
  font-family:var(--display);
  font-size:34px;
  letter-spacing:.14em;
  color:var(--gold-hi);
}
body.lux .brand-panel-logo small{
  display:block;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--gold);
}
body.lux .brand-panel h2{
  font-size:clamp(32px,4.4vw,58px);
  text-transform:uppercase;
  line-height:1.08;
  margin:0 0 16px;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
}
body.lux .brand-services{
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-hi);
  margin:0 0 18px !important;
}
body.lux .brand-services span{color:var(--gold);padding:0 6px}
body.lux .brand-panel .hero-text{
  position:static !important;
  font-family:var(--sans) !important;
  font-size:18px !important;
  color:var(--ivory) !important;
  max-width:36em !important;
  margin:0 0 18px !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45) !important;
}
body.lux .hero-text .hero-focus{color:var(--gold-hi);font-weight:700}
body.lux .brand-panel .hero-pills,
body.lux .hero-pills{
  position:static !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  max-width:100% !important;
  margin:0 0 18px !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
}
body.lux .brand-panel .hero-pills span,
body.lux .hero-pills span{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
  max-width:none !important;
  padding:8px 12px !important;
  border:1px solid rgba(216,181,106,.4) !important;
  border-radius:999px !important;
  background:rgba(5,7,12,.45) !important;
  color:var(--gold-hi) !important;
  font-size:11px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
body.lux .hero-pills .icon{width:15px !important;height:15px !important;stroke:var(--gold)}
body.lux .brand-panel .hero-tagline{
  position:static !important;
  left:auto !important;bottom:auto !important;
  margin:0 !important;
  font-family:var(--script) !important;
  font-size:clamp(22px,2.4vw,30px) !important;
  color:var(--gold-hi) !important;
  text-align:left !important;
}
body.lux .brand-panel .gold-bell{
  display:block !important;
  position:absolute;
  right:6%;
  bottom:78px;
  width:min(220px,32vw);
  z-index:4;
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.45)) drop-shadow(0 0 18px rgba(243,215,138,.25));
}
body.lux .film-composition,
body.lux .film-tail,
body.lux .clapperboard,
body.lux .film-clef,
body.lux .corridor-lamps{display:none !important}

/* Shared section shells */
.training-showcase,
.voices-band,
.consulting-band,
.conflict-band,
body.lux .services-strip,
body.lux .academy-corridor,
body.lux .featured-academies,
body.lux .partner-stage{
  padding:28px 4.5%;
}
.section-intro{max-width:760px;margin:0 auto 36px;text-align:center}
.section-intro h2,.voices-band h2,.consulting-band h2,.conflict-band h2,
body.lux .services-intro h2{
  font-size:clamp(30px,4vw,50px);
  margin:10px 0 14px;
  text-transform:uppercase;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.section-intro p{color:var(--ivory);margin:0 auto;max-width:46em}
.path-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  max-width:1180px;
  margin:0 auto;
}
.path-card,
body.lux .academy-door,
body.lux .service-cards li,
body.lux .feature-academy,
body.lux .home-testimonial,
body.lux .partner-showcase{
  background:linear-gradient(180deg,rgba(16,27,43,.72),rgba(8,10,16,.88));
  border:1px solid rgba(216,181,106,.32);
  border-radius:22px;
  box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,236,190,.12);
  overflow:hidden;
}
.path-card figure{margin:0}
.path-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.path-step{margin:18px 22px 0;color:var(--copper);font-size:12px;font-weight:800;letter-spacing:.18em}
.path-card h3{margin:6px 22px 8px;font-size:28px;color:var(--gold-hi)}
.path-card p:not(.path-step){margin:0 22px 24px;color:var(--ivory);font-size:15px}
.section-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}

body.lux .featured-academies{
  background:transparent;
  padding-top:8px;
  gap:22px;
  max-width:none;
}
body.lux .feature-academy{
  min-height:0;
  border-color:rgba(216,181,106,.38) !important;
  background:linear-gradient(160deg,rgba(36,52,74,.85),rgba(8,10,16,.9)) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.28) !important;
  border-radius:22px;
}
body.lux .feature-academy .eyebrow{color:var(--gold-hi)!important;font-size:22px!important;font-family:var(--display)!important}
body.lux .feature-academy div>p:not(.eyebrow){color:var(--ivory)!important;font-size:14px!important}
body.lux .feature-icon{stroke:var(--gold)}

body.lux .academy-corridor{
  background:transparent !important;
  border:0;
  padding-top:20px !important;
}
body.lux .academy-corridor::before,
body.lux .academy-corridor::after{display:none !important}
body.lux .corridor-heading h2{color:var(--ivory);font-size:clamp(30px,4vw,48px);text-transform:uppercase}
body.lux .corridor-heading h2 em{color:var(--gold-hi)}
body.lux .corridor-heading>p:last-child{color:var(--ivory);font-family:var(--script);font-size:24px}
body.lux .academy-doors{display:grid;grid-template-columns:1fr;gap:22px;max-width:1180px;perspective:none}
body.lux .academy-door{
  align-items:stretch !important;
  text-align:left;
  padding:0 !important;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
body.lux .academy-door:hover{
  transform:translateY(-4px);
  border-color:var(--gold);
  box-shadow:0 20px 44px rgba(0,0,0,.35),0 0 24px rgba(216,181,106,.16);
}
body.lux .card-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
body.lux .door-frame{
  background:none !important;border:0 !important;padding:18px 22px 0 !important;
  box-shadow:none !important;width:100%;perspective:none;
}
body.lux .door-face{
  height:auto !important;display:block !important;padding:0 !important;border:0 !important;
  box-shadow:none !important;background:transparent !important;background-image:none !important;
  transform:none !important;text-align:left;
}
body.lux .academy-door.opening .door-face,
body.lux .academy-door:hover .door-frame{transform:none !important;box-shadow:none !important}
body.lux .door-number{display:inline-block;font-size:12px;letter-spacing:.16em;color:var(--copper);border:0;padding:0}
body.lux .door-icon{width:28px;height:28px;margin:10px 0 8px;stroke:var(--gold);filter:none}
body.lux .door-name,body.lux .door-name b{font-size:24px !important;min-height:0 !important;color:var(--gold-hi)!important;text-shadow:none!important}
body.lux .door-plaque{font-size:11px !important;letter-spacing:.12em !important;color:var(--gold)!important;border:0!important;padding:0!important;margin-top:8px!important;width:auto}
body.lux .door-handle,body.lux .key-light{display:none !important}
body.lux .door-copy{font-size:15px !important;color:var(--ivory)!important;margin:10px 22px 0 !important;min-height:0!important}
body.lux .door-enter{margin:16px 22px 22px !important;font-size:12px !important;color:var(--gold-hi)!important}
body.lux .corridor-note{color:var(--ivory)}
body.lux .corridor-note em{color:var(--gold-hi);font-size:26px}

body.lux .services-strip{display:block;background:transparent;border:0}
body.lux .services-intro{max-width:720px;margin:0 auto 36px;text-align:center}
body.lux .services-intro p{max-width:40em;margin:0 auto;color:var(--ivory);font-size:16px}
body.lux .service-cards,body.lux .services-icons{
  display:grid;grid-template-columns:1fr;gap:18px;list-style:none;margin:0 auto;padding:0;max-width:1180px;
}
body.lux .service-cards li{
  align-items:flex-start;text-align:left;gap:10px;padding:24px;
  color:var(--gold-hi);font-size:20px;font-family:var(--display);font-weight:700;
}
body.lux .service-cards .icon{width:28px;height:28px;stroke:var(--gold);filter:none}
body.lux .service-cards small{display:block;font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.6;color:var(--ivory)}

.consulting-band,.conflict-band{
  display:grid;grid-template-columns:1fr;gap:28px;align-items:center;border:0;background:transparent;
}
.split-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;border:1px solid rgba(216,181,106,.35);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.split-copy h2{margin:10px 0 14px}
.split-copy p{color:var(--ivory);margin:0 0 16px}
.fine-list{margin:0 0 18px;padding-left:1.1em;color:var(--ivory)}
.fine-list li{margin:0 0 8px}
.quiet-line{font-family:var(--script);font-size:22px;color:var(--gold-hi)!important}
.conflict-band .btn{margin:6px 10px 0 0}

body.lux .harmony-banner{
  min-height:240px;
  margin:10px 4.5% 24px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--panel-glow);
  background:
    linear-gradient(180deg,rgba(5,7,12,.5),rgba(5,7,12,.55)),
    url("../assets/hero/lobby-v4.webp") 78% 42%/cover no-repeat;
}
body.lux .harmony-banner p{color:var(--gold-hi);text-shadow:0 2px 16px rgba(0,0,0,.55)}

.voices-band{background:transparent;border:0}
body.lux .home-testimonial{max-width:980px;margin:0 auto;padding:36px 32px}
body.lux .testimonial-photo{background:radial-gradient(ellipse at 50% 40%,#3a3328,#101B2B 72%);border-color:var(--gold);color:var(--gold-hi)}
body.lux .testimonial blockquote{color:var(--ivory);font-size:clamp(22px,2.4vw,30px)}
body.lux .testimonial cite{color:var(--gold-hi)}

body.lux .partner-stage{background:transparent;border:0;padding-bottom:40px}
body.lux .partner-showcase{
  max-width:820px;margin:0 auto;padding:56px 40px;border-radius:22px;
  background:
    linear-gradient(160deg,rgba(36,52,74,.72),rgba(8,10,16,.88)),
    url("../assets/hero/lobby.webp") center/cover;
}
body.lux .partner-showcase h2{color:var(--gold-hi)}
body.lux .partner-showcase p:not(.eyebrow){color:var(--ivory)}
body.lux .partner-invite{font-family:var(--script);font-size:22px!important;color:var(--gold-hi)!important}
body.lux .partner-slots,body.lux .partner-marquee{display:none !important}

body.lux .share-ribbon{background:#101018;border-color:rgba(216,181,106,.28)}
body.lux .share-ribbon>p{color:var(--gold-hi);font-size:14px;font-weight:700}
body.lux .newsletter-band{
  background:linear-gradient(90deg,#05070b,#101B2B 50%,#05070b);
  border-top:1px solid rgba(216,181,106,.28);
  padding:40px 4.5%;
}
body.lux .newsletter-band h2{color:var(--gold-hi);font-family:var(--display);text-transform:uppercase}
body.lux .newsletter-form input[type=email]{background:#05070b;border:1px solid var(--gold);color:var(--ivory);min-height:46px;border-radius:999px}
body.lux footer{background:#05070b;border-top:1px solid rgba(216,181,106,.28);color:var(--muted);font-size:12px;padding:28px 4.5%;flex-wrap:wrap}
body.lux footer b{color:var(--gold-hi);font-family:var(--display)}
body.lux footer a{color:var(--gold-hi)}

body.lux .room{background:radial-gradient(ellipse at 45% 0,#24344A,#101B2B 58%,#05070b)}
body.lux .service-card,body.lux .song-card,body.lux .contact-form,body.lux .assessment,
body.lux .plan-card,body.lux .academy-contact-band{
  background:linear-gradient(160deg,#24344A,#141820);
  border-color:rgba(216,181,106,.35);
  border-radius:16px;
}
body.lux .player{background:#05070b;border-color:var(--gold);color:var(--ivory);border-radius:18px}

@media (min-width:900px){
  body.lux .rev-panel-inner{grid-template-columns:minmax(280px,1fr) minmax(320px,1.1fr);gap:40px;align-items:center}
  body.lux .rev-band{grid-template-columns:1.1fr .9fr;gap:24px}
  body.lux .rev-band p{text-align:right;justify-self:end}
}
@media (min-width:720px){
  .path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.lux .academy-doors{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.lux .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consulting-band,.conflict-band{grid-template-columns:1.05fr 1fr;gap:48px}
  body.lux .home-testimonial{grid-template-columns:140px 1fr}
}
@media (min-width:1100px){
  body.lux .masthead{flex-wrap:nowrap;padding:14px 4.5%}
  body.lux .academy-doors{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.lux .service-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Mobile mirrors desktop — stacked, same language */
@media (max-width:700px){
  body.lux{font-size:15px}
  body.lux .masthead{padding:12px 5%}
  body.lux .rev-feature{padding:14px 4% 8px !important}
  body.lux .rev-panel{padding:28px 20px 82px;background:
    linear-gradient(180deg,rgba(5,7,12,.78) 0%,rgba(5,7,12,.55) 48%,rgba(5,7,12,.72) 100%),
    url("../assets/hero/mockup-lobby.webp") right 42%/cover no-repeat}
  body.lux .rev-feature-title{font-size:clamp(30px,9vw,40px) !important;max-width:none}
  body.lux .rev-path{max-width:none}
  body.lux .rev-path .icon{width:28px;height:28px}
  body.lux .rev-path b{font-size:11px}
  body.lux .rev-path span{font-size:11px}
  body.lux .start-experience{width:100%}
  body.lux .rev-band{margin-top:26px}
  body.lux .rev-band p{font-size:18px}
  body.lux .brand-panel.lobby-hero{margin:12px 4% 22px !important;padding:36px 22px 86px !important}
  body.lux .brand-panel .gold-bell{width:132px;right:4%;bottom:70px}
  body.lux .gold-swoosh{height:64px}
  .training-showcase,.voices-band,.consulting-band,.conflict-band,
  body.lux .services-strip,body.lux .academy-corridor,body.lux .partner-stage{padding:22px 4%}
  body.lux .partner-showcase{padding:36px 22px}
  body.lux .home-testimonial{padding:24px 20px}
  body.lux .hero-pills span{white-space:normal !important}
}

@media (prefers-reduced-motion:reduce){
  body.lux .academy-door,
  body.lux .partner-showcase::before,
  body.lux .partner-showcase::after{transition:none !important;animation:none !important}
  body.lux .academy-door:hover{transform:none}
}

/* —— Mockup lock: beat leftover v4 !important rules —— */
body.lux .rev-panel-inner{
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:
    "copy-top"
    "stage"
    "copy-actions";
  gap:22px;
}
body.lux .rev-copy-top{grid-area:copy-top}
body.lux .rev-stage{grid-area:stage}
body.lux .rev-copy-actions{grid-area:copy-actions}
body.lux .rev-copy-actions .start-experience{margin-top:4px}
@media (min-width:900px){
  body.lux .rev-panel-inner{
    grid-template-columns:minmax(280px,1fr) minmax(340px,1.15fr);
    grid-template-areas:
      "copy-top stage"
      "copy-actions stage";
    gap:18px 42px;
    align-items:center;
  }
  body.lux .rev-copy-top{align-self:end}
  body.lux .rev-copy-actions{align-self:start}
  body.lux .rev-stage{align-self:center}
}

body.lux .free-preview{
  background:linear-gradient(180deg,#f8e7b0,#e4c36a 50%,#c9a044) !important;
  border:1px solid #f3d78a !important;
  color:#1a1408 !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  height:auto !important;
  min-height:42px !important;
  box-shadow:0 8px 20px rgba(201,160,68,.28),inset 0 1px 0 rgba(255,255,255,.4) !important;
}
body.lux .btn,
body.lux .start-experience{
  background:linear-gradient(180deg,#f8e7b0 0%,#e4c36a 42%,#c9a044 100%) !important;
  border:1px solid #f3d78a !important;
  color:#1a1408 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  border-radius:999px !important;
  box-shadow:0 10px 28px rgba(201,160,68,.32),inset 0 1px 0 rgba(255,255,255,.45) !important;
}
body.lux .btn.ghost{
  background:transparent !important;
  color:var(--gold-hi) !important;
  border-color:var(--gold) !important;
  box-shadow:none !important;
}

body.lux .brand-panel .gold-bell{
  left:auto !important;
  right:6% !important;
  bottom:78px !important;
  width:min(220px,32vw) !important;
  opacity:1 !important;
  z-index:4 !important;
}
body.lux .brand-panel .hero-copy{
  width:min(720px,100%) !important;
  max-width:720px !important;
  padding:0 !important;
}
body.lux .brand-panel.lobby-hero{
  height:auto !important;
  min-height:0 !important;
  background-image:url("../assets/hero/mockup-sunset.webp") !important;
  background-size:cover !important;
  background-position:right 60% !important;
}

body.lux .featured-academies{
  display:grid !important;
  grid-template-columns:1fr !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:8px 4.5% 28px !important;
  background:transparent !important;
  gap:22px !important;
}
body.lux .feature-academy,
body.lux .feature-academy.training-feature,
body.lux .feature-academy.marketing-feature{
  background:linear-gradient(160deg,rgba(36,52,74,.88),rgba(8,10,16,.94)) !important;
  border:1px solid rgba(216,181,106,.42) !important;
  border-radius:22px !important;
  box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,236,190,.12) !important;
}
body.lux .feature-academy .eyebrow{font-size:22px !important;color:var(--gold-hi) !important}
body.lux .feature-academy div>p:not(.eyebrow){font-size:15px !important;color:var(--ivory) !important;line-height:1.6 !important;max-width:none !important}
body.lux .feature-academy div>span{font-size:12px !important;color:var(--gold-hi) !important;border:0 !important;background:none !important;padding:0 !important}

body.lux .rev-path .icon{
  width:34px !important;
  height:34px !important;
  stroke:var(--gold-hi) !important;
  fill:none !important;
  color:var(--gold-hi) !important;
}

@media (min-width:720px){
  body.lux .featured-academies{grid-template-columns:1fr 1fr !important}
}
@media (max-width:700px){
  body.lux .brand-panel .gold-bell{
    width:132px !important;
    right:4% !important;
    bottom:70px !important;
  }
  body.lux .rev-copy-actions .start-experience{width:100%}
  body.lux .rev-path{max-width:none;margin-top:6px}
}

/* —— Cinematic hospitality techniques (motion restrained, reduced-motion safe) —— */
@keyframes lux-kenburns{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(-1.4%,-1%,0)}
}
body.lux .cinematic-bg{
  position:absolute;
  inset:-8%;
  z-index:0;
  background-size:cover;
  background-repeat:no-repeat;
  pointer-events:none;
  will-change:transform;
  animation:lux-kenburns 36s ease-in-out infinite alternate;
}
body.lux .rev-panel > .cinematic-bg{
  background-image:url("../assets/hero/mockup-lobby.webp");
  background-position:right center;
}
body.lux .brand-panel > .cinematic-bg{
  background-image:url("../assets/hero/mockup-sunset.webp");
  background-position:right 60%;
}
body.lux .rev-panel{
  background:#08090d;
}
body.lux .rev-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(100deg,rgba(5,7,12,.88) 0%,rgba(5,7,12,.58) 46%,rgba(5,7,12,.3) 100%);
}
body.lux .rev-panel-inner,
body.lux .rev-band{position:relative;z-index:3}
body.lux .brand-panel.lobby-hero{
  background-color:#08090d !important;
  background-image:none !important;
}

/* Keep html as the only vertical scrollport so position:sticky on the
   masthead is relative to the viewport. overflow-x:hidden on html/body
   computes overflow-y to auto and creates a body scroll container, which
   makes sticky descendants scroll away with the page. overflow-x:clip
   clips without forming that containing block. */
:root{ --header-offset: 102px; }
html{
  overflow-x: clip;
  overflow-y: auto;
  scroll-padding-top: var(--header-offset);
}
html, body{ max-width: 100%; }
body{
  overflow-x: clip;
  overflow-y: visible;
}
html.boot-academies{ scroll-behavior: auto; }

/* Sticky transparent-to-solid nav */
body.lux .masthead{
  position:sticky !important;
  top:0;
  z-index:80;
  background:rgba(5,7,11,.28) !important;
  backdrop-filter:blur(10px);
  border-bottom-color:transparent !important;
  transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;
}
body.lux .masthead.is-scrolled{
  background:rgba(5,7,11,.94) !important;
  border-bottom:1px solid rgba(216,181,106,.32) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}

/* Editorial whitespace and hairline rules */
.training-showcase,
.voices-band,
.consulting-band,
.conflict-band,
body.lux .services-strip,
body.lux .academy-corridor,
body.lux .featured-academies,
body.lux .partner-stage{
  padding:68px 5.5% !important;
}
.section-intro{margin:0 auto 48px}
.section-intro .eyebrow,
.corridor-heading .eyebrow,
.services-intro .eyebrow,
.voices-band .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--gold-hi);
  letter-spacing:.22em;
  font-weight:700;
}
.section-intro .eyebrow::before,
.section-intro .eyebrow::after,
.corridor-heading .eyebrow::before,
.corridor-heading .eyebrow::after{
  content:"";
  width:42px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-hi),transparent);
}

/* Image zoom on hover (cards + split media) */
body.lux .path-card img,
body.lux .card-media img,
body.lux .split-media img{
  transform:scale(1);
  transition:transform 1.15s ease;
}
body.lux .path-card:hover img,
body.lux .academy-door:hover .card-media img,
body.lux .split-media:hover img{
  transform:scale(1.06);
}
body.lux .path-card figure,
body.lux .card-media,
body.lux .split-media{
  overflow:hidden;
}

/* Scroll reveal must never hide real content if JS/observer miss. */
body.lux .lux-reveal,
body.lux .lux-reveal.is-inview{
  opacity:1;
  transform:none;
}

/* Large editorial pull quote */
body.lux .home-testimonial{
  padding:48px 40px !important;
  border:1px solid rgba(216,181,106,.35);
}
body.lux .quote-mark{
  font-family:var(--display);
  font-size:92px;
  line-height:.7;
  color:var(--gold-hi);
  opacity:.7;
  height:auto;
  margin-bottom:8px;
}
body.lux .testimonial blockquote{
  font-size:clamp(24px,2.8vw,40px) !important;
  line-height:1.4;
  color:var(--ivory) !important;
}

/* Mobile horizontal snap carousels — same cards, swipeable */
@media (max-width:700px){
  body.lux .path-grid,
  body.lux .academy-doors,
  body.lux .service-cards{
    display:flex !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px !important;
    max-width:none !important;
    padding-bottom:10px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(216,181,106,.45) transparent;
  }
  body.lux .path-card,
  body.lux .academy-door,
  body.lux .service-cards li{
    flex:0 0 84%;
    scroll-snap-align:start;
  }
  .training-showcase,
  .voices-band,
  .consulting-band,
  .conflict-band,
  body.lux .services-strip,
  body.lux .academy-corridor,
  body.lux .featured-academies,
  body.lux .partner-stage{
    padding:40px 5% !important;
  }
  body.lux .home-testimonial{padding:28px 20px !important}
  body.lux .quote-mark{font-size:68px}
}

/* Refined footer */
body.lux footer{
  display:grid !important;
  grid-template-columns:1fr;
  gap:18px !important;
  padding:42px 5.5% 36px !important;
  font-size:13px !important;
  letter-spacing:.04em;
  border-top:1px solid rgba(216,181,106,.32) !important;
}
body.lux footer .foot-brand b{
  display:block;
  font-size:22px;
  letter-spacing:.16em;
}
body.lux footer .foot-brand p{
  margin:6px 0 0;
  font-family:var(--script);
  font-style:italic;
  font-size:16px;
  color:var(--ivory);
  letter-spacing:0;
}
body.lux .foot-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
}
body.lux .foot-nav a{color:var(--gold-hi);text-decoration:none;font-size:13px}
body.lux .foot-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  justify-content:space-between;
  color:var(--muted);
  padding-top:14px;
  border-top:1px solid rgba(216,181,106,.22);
}
@media (min-width:900px){
  body.lux footer{
    grid-template-columns:1.1fr 1fr;
    align-items:end;
  }
  body.lux .foot-meta{grid-column:1/-1}
}

@media (prefers-reduced-motion:reduce){
  body.lux .cinematic-bg,
  body.lux .lux-reveal,
  body.lux .path-card img,
  body.lux .card-media img,
  body.lux .split-media img,
  body.lux .masthead{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
    will-change:auto;
  }
}

/* —— Visual QA fixes —— */
body.lux .rev-band h1,
body.lux .brand-panel h2{
  display:block !important;
}
body.lux .headline-heart{
  display:inline-block;
  width:.72em;
  height:.66em;
  vertical-align:-.08em;
  margin-left:.18em;
}

body.lux .door-face{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  width:100%;
}
body.lux .door-number{display:block;order:0}
body.lux .door-icon{display:block;order:1;margin:8px 0 4px !important}
body.lux .door-name{display:block;order:2}
body.lux .door-plaque{display:block;order:3;margin-top:8px !important}
body.lux .door-copy{display:block}

@media (max-width:700px){
  body.lux .masthead{
    padding:10px 5% 8px !important;
    gap:10px !important;
  }
  body.lux .masthead nav{
    order:3;
    width:100%;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    justify-content:flex-start !important;
    gap:16px !important;
    padding-top:6px !important;
    border-top:1px solid rgba(216,181,106,.18);
  }
  body.lux .masthead nav a{flex:0 0 auto}
  body.lux .rev-feature{padding:10px 4% 8px !important}
  body.lux .rev-panel{padding:22px 16px 70px !important}
  body.lux .rev-panel-inner{gap:16px}
  body.lux .rev-feature-sub{margin-bottom:0 !important}
  body.lux .rev-play-label{font-size:11px}
  body.lux .rev-band{margin-top:18px;padding-top:16px}
}

body.lux footer{
  grid-template-areas:"brand" "nav" "meta";
}
body.lux .foot-brand{grid-area:brand}
body.lux .foot-nav{grid-area:nav}
body.lux .foot-meta{grid-area:meta}
@media (min-width:900px){
  body.lux footer{grid-template-areas:"brand nav" "meta meta"}
}

/* —— Phone hamburger menu —— */
body.lux .nav-toggle{display:none;appearance:none;-webkit-appearance:none;padding:0;margin:0;cursor:pointer}
body.lux .nav-toggle-bars{display:flex;flex-direction:column;justify-content:center;gap:5px}
body.lux .nav-toggle-bars span{
  display:block;width:18px;height:1.8px;background:var(--gold-hi);
  border-radius:2px;transition:transform .25s ease,opacity .2s ease;
}
body.menu-open{overflow:hidden}
@media (max-width:900px){
  body.lux .masthead{
    flex-wrap:nowrap !important;
    padding:10px 4.5% !important;
    gap:10px !important;
  }
  body.lux .masthead nav,
  body.lux .site-nav{
    display:none !important;
    position:fixed !important;
    top:72px;left:0;right:0;
    width:100% !important;
    order:unset !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    padding:18px 7% 28px !important;
    background:rgba(5,7,11,.97) !important;
    border-top:1px solid rgba(216,181,106,.32) !important;
    border-bottom:1px solid rgba(216,181,106,.32);
    box-shadow:0 24px 50px rgba(0,0,0,.45);
    z-index:45;
    overflow:auto !important;
    max-height:calc(100vh - 72px);
  }
  body.lux .masthead nav.is-open,
  body.lux .site-nav.is-open{
    display:flex !important;
  }
  body.lux .masthead nav a{
    display:block !important;
    font-size:16px !important;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:14px 0;
    min-height:48px;
    border-bottom:1px solid rgba(216,181,106,.16);
    color:var(--ivory) !important;
  }
  body.lux .masthead nav a:hover,
  body.lux .masthead nav a:focus-visible{color:var(--gold-hi) !important}
  body.lux .free-preview{margin-left:auto}
  body.lux .nav-toggle{
    display:inline-flex !important;
    align-items:center;justify-content:center;
    width:46px;height:46px;min-width:46px;
    border:1px solid rgba(216,181,106,.5) !important;
    border-radius:12px;
    background:rgba(5,7,11,.4) !important;
    color:var(--gold-hi);
    z-index:50;
  }
  body.lux .masthead.is-menu-open .nav-toggle-bars span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
  body.lux .masthead.is-menu-open .nav-toggle-bars span:nth-child(2){opacity:0}
  body.lux .masthead.is-menu-open .nav-toggle-bars span:nth-child(3){transform:translateY(-6.8px) rotate(-45deg)}
}
@media (min-width:901px){
  body.lux .nav-toggle{display:none !important}
  body.lux .masthead nav,
  body.lux .site-nav{display:flex !important;position:static !important;background:none !important;border:0 !important;box-shadow:none !important;max-height:none !important}
}

/* —— Full-screen cinematic first impression —— */
body.lux .cinema-hero{
  --lux-mast:80px;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  height:100svh;
  min-height:640px;
  margin-top:calc(-1 * var(--lux-mast));
  overflow:hidden;
  color:var(--ivory);
  background:#05070b;
}
body.lux:has(.preview-banner) .cinema-hero{height:calc(100svh - 34px)}
body.lux .cinema-fallback,
body.lux .cinema-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
body.lux .cinema-fallback{
  z-index:0;
  background:url("../assets/hero/lobby.webp") center 42%/cover no-repeat;
  animation:lux-kenburns 36s ease-in-out infinite alternate;
}
body.lux .cinema-bg-video{z-index:1;background:#05070b}
body.lux .cinema-shade{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,7,12,.62) 0%,rgba(5,7,12,.38) 28%,rgba(5,7,12,.48) 52%,rgba(5,7,12,.78) 100%),
    radial-gradient(ellipse at 50% 42%,rgba(5,7,12,.18),rgba(5,7,12,.72) 78%);
}
body.lux .cinema-copy{
  position:relative;
  z-index:3;
  width:min(1040px,92vw);
  margin:0 auto;
  padding:130px 4% 120px;
  text-align:center;
}
body.lux .cinema-logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
body.lux .cinema-logo img{width:64px;height:64px;object-fit:contain}
body.lux .cinema-logo span{
  font-family:var(--display);
  font-size:28px;
  letter-spacing:.16em;
  color:var(--gold-hi);
}
body.lux .cinema-logo small{
  display:block;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--gold);
}
body.lux .cinema-hero h1{
  margin:0 0 18px;
  font-size:clamp(34px,6.2vw,76px);
  line-height:1.08;
  letter-spacing:.01em;
  text-transform:none;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.45)) drop-shadow(0 2px 0 rgba(60,40,10,.3));
}
body.lux .cinema-sub{
  margin:0 auto 20px;
  max-width:22em;
  font-family:var(--script);
  font-style:italic;
  font-size:clamp(20px,2.6vw,32px);
  color:var(--ivory);
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
body.lux .cinema-pillars{
  margin:0 0 32px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-hi);
}
body.lux .cinema-pillars span{color:var(--gold);padding:0 8px}
body.lux .cinema-ctas{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
}
body.lux .sound-chip{
  position:absolute;
  left:4.5%;
  bottom:28px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px 10px 14px;
  border:1px solid rgba(216,181,106,.5);
  border-radius:999px;
  background:rgba(5,7,12,.58);
  color:var(--gold-hi);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,236,190,.12);
  text-align:left;
  cursor:pointer;
}
body.lux .sound-chip-icon{font-size:16px;line-height:1}
body.lux .sound-chip-state{
  display:block;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.lux .sound-chip-track{
  display:block;
  font-family:var(--script);
  font-style:italic;
  font-size:14px;
  color:var(--ivory);
  letter-spacing:0;
}
body.lux .sound-chip.is-on{border-color:#f3d78a}
body.lux .scroll-cue{
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:5;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  color:var(--gold-hi);
  text-decoration:none;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
}
body.lux .scroll-cue svg{width:22px;height:22px;animation:lux-bob 2.2s ease-in-out infinite}
@keyframes lux-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

body.lux .training-showcase .rev-feature{
  padding:8px 0 28px !important;
  background:transparent !important;
  border:0 !important;
}
body.lux .training-showcase .rev-panel{margin:0 auto}

@media (max-width:700px){
  body.lux .cinema-copy{padding:120px 6% 150px}
  body.lux .cinema-logo img{width:54px;height:54px}
  body.lux .cinema-logo span{font-size:22px}
  body.lux .cinema-ctas{flex-direction:column;align-items:stretch}
  body.lux .cinema-ctas .btn{width:100%}
  body.lux .sound-chip{
    left:50%;
    bottom:58px;
    transform:translateX(-50%);
    max-width:calc(100% - 32px);
  }
  body.lux .scroll-cue{bottom:14px}
}
@media (min-width:701px){
  body.lux .cinema-ctas{flex-direction:row}
}

@media (prefers-reduced-motion:reduce){
  body.lux .cinema-bg-video{display:none}
  body.lux .cinema-fallback{animation:none}
  body.lux .scroll-cue svg{animation:none}
}

/* Solid hamburger panel */
@media (max-width:900px){
  body.lux .masthead nav.is-open,
  body.lux .site-nav.is-open{
    background:#05070b !important;
  }
}
body.lux .cinema-bg-video{opacity:0;transition:opacity .9s ease}
body.lux .cinema-bg-video.is-ready{opacity:1}
@media (prefers-reduced-motion:reduce){
  body.lux .cinema-bg-video{transition:none}
}
body.lux .cinema-hero h1{
  font-family:"Cormorant Garamond",Cormorant,Georgia,serif !important;
  font-weight:600 !important;
  text-transform:none !important;
  letter-spacing:.01em;
}
body.lux .cinema-shade{
  background:
    linear-gradient(180deg,rgba(5,7,12,.66) 0%,rgba(5,7,12,.56) 28%,rgba(5,7,12,.64) 56%,rgba(5,7,12,.86) 100%),
    radial-gradient(ellipse at 50% 40%,rgba(5,7,12,.55) 0%,rgba(5,7,12,.3) 38%,rgba(5,7,12,.74) 82%) !important;
}


/* —— Mockup-as-source hero (preview8): Sam's picture, cropped —— */
body.lux .site-soundtrack{
  position:fixed;
  left:0;
  bottom:0;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  z-index:-1;
}
body.lux .mock-featured{
  background:transparent !important;
  border:0 !important;
  padding:18px 4.5% 8px !important;
  text-align:left !important;
}
body.lux .mock-featured .rev-panel{
  padding:42px 46px 96px;
  background:
    linear-gradient(100deg,rgba(5,7,12,.88) 0%,rgba(5,7,12,.52) 44%,rgba(5,7,12,.16) 100%),
    url("../assets/hero/mockup-lobby.webp") right center/cover no-repeat !important;
}
body.lux .mock-featured .rev-panel::after{display:none}
body.lux .mock-featured .cinematic-bg{display:none}
body.lux .mock-stage{
  aspect-ratio:1140/534;
  background:#0a0c10;
}
body.lux .mock-staff-thumb{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
}
body.lux .mock-staff-hit{
  position:absolute;
  inset:0;
  z-index:3;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
body.lux .mock-title-bell{display:none}
body.lux .mock-featured .sound-chip{
  position:static;
  transform:none;
  margin:16px 0 0;
  align-self:flex-start;
  left:auto;
  bottom:auto;
}
body.lux .mock-featured .rev-copy-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body.lux .mock-restoring-band{
  margin:6px 4.5% 16px;
  padding:22px 32px;
  border:1px solid rgba(216,181,106,.38);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(12,14,20,.94),rgba(5,7,12,.96));
  box-shadow:var(--panel-glow);
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:center;
}
body.lux .mock-restoring-band h2{
  margin:0;
  font-size:clamp(26px,3vw,40px);
  text-transform:uppercase;
  letter-spacing:.04em;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(216,181,106,.18));
}
body.lux .mock-restoring-band .headline-heart{
  display:inline-block;
  width:.72em;
  height:.66em;
  vertical-align:-.08em;
  margin-left:.12em;
}
body.lux .mock-restoring-band p{
  margin:0;
  font-family:var(--script);
  font-style:italic;
  font-size:clamp(18px,2vw,24px);
  color:var(--ivory);
  max-width:28em;
}
body.lux .brand-panel.lobby-hero{
  background:#08090d url("../assets/hero/mockup-sunset.webp") right 62%/cover no-repeat !important;
}
body.lux .brand-panel > .cinematic-bg{
  background-image:url("../assets/hero/mockup-sunset.webp") !important;
  background-position:right 62% !important;
  background-size:cover !important;
  animation:none;
}
body.lux .brand-panel .gold-bell{display:none !important}
body.lux .brand-panel .hero-shade{
  background:linear-gradient(100deg,rgba(5,7,12,.78) 0%,rgba(5,7,12,.42) 48%,rgba(5,7,12,.12) 100%) !important;
}

@media (min-width:900px){
  body.lux .mock-restoring-band{
    grid-template-columns:1.15fr .85fr;
    gap:24px;
    padding:24px 36px;
  }
  body.lux .mock-restoring-band p{text-align:right;justify-self:end}
}

@media (max-width:700px){
  body.lux .mock-featured{padding:12px 4% 8px !important}
  body.lux .mock-featured .rev-panel{
    padding:26px 18px 78px !important;
    background:
      linear-gradient(180deg,rgba(5,7,12,.78) 0%,rgba(5,7,12,.48) 46%,rgba(5,7,12,.7) 100%),
      url("../assets/hero/mockup-lobby.webp") 82% 38%/cover no-repeat !important;
  }
  body.lux .rev-copy-top{position:relative;padding-right:30%}
  body.lux .mock-title-bell{
    display:block;
    position:absolute;
    right:0;
    bottom:2px;
    width:min(112px,28vw);
    height:auto;
    pointer-events:none;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));
  }
  body.lux .mock-featured .sound-chip{
    margin:14px auto 0;
    align-self:center;
  }
  body.lux .mock-featured .rev-copy-actions{align-items:stretch}
  body.lux .mock-featured .start-experience{width:100%}
  body.lux .mock-restoring-band{margin:8px 4% 14px;padding:18px 18px}
  body.lux .mock-restoring-band p{text-align:left}
}


/* Fine-tune mockup match: 2-line desktop title, room for the cart, mobile 3-line + bell */
@media (min-width:901px){
  body.lux .mock-featured .rev-feature-title{
    font-size:clamp(36px,3.4vw,48px) !important;
    max-width:none !important;
  }
  body.lux .mock-featured .rev-panel{padding:38px 36px 88px 46px}
  body.lux .mock-featured .rev-panel-inner{
    padding-right:clamp(104px,9vw,160px);
    grid-template-columns:minmax(440px,1.35fr) minmax(220px,.65fr) !important;
  }
}
@media (max-width:700px){
  body.lux .mock-featured .rev-feature-title{max-width:none !important}
  body.lux .rev-copy-top{padding-right:0 !important}
  body.lux .mock-featured .rev-feature-sub{padding-right:36%;max-width:none}
  body.lux .mock-title-bell{
    right:-6px;
    bottom:-4px;
    width:min(92px,26vw);
  }
}

/* ===== Rooms homepage restore: luxury lobby hero + stacked lessons ===== */
body.lux .home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:10px 3.4% 18px;
  padding:0;
  min-height:min(72svh,680px);
  border-radius:22px;
  border:1px solid rgba(216,181,106,.42);
  box-shadow:0 24px 70px rgba(0,0,0,.38), inset 0 0 0 1px rgba(248,231,176,.08);
  background:#08090d;
}
body.lux .home-hero-photo,
body.lux .home-hero-sunset,
body.lux .home-hero-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
}
body.lux .home-hero-photo img,
body.lux .home-hero-sunset img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.lux .home-hero-photo img{object-position:center 42%}
body.lux .home-hero-sunset{
  opacity:.42;
  mix-blend-mode:soft-light;
  mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,#000 72%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,#000 72%);
}
body.lux .home-hero-shade{
  background:
    linear-gradient(105deg, rgba(5,7,12,.88) 0%, rgba(5,7,12,.72) 38%, rgba(5,7,12,.28) 68%, rgba(5,7,12,.45) 100%),
    linear-gradient(180deg, rgba(5,7,12,.25) 0%, transparent 28%, rgba(5,7,12,.55) 100%);
}
body.lux .home-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.75fr);
  gap:28px 36px;
  align-items:center;
  padding:86px 46px 152px 54px;
}
body.lux .home-hero-copy{max-width:720px}
body.lux .home-hero .eyebrow{
  color:#e8d49a;
  letter-spacing:.16em;
  font-size:12px;
}
body.lux .home-hero h1{
  margin:.18em 0 .2em;
  font-family:"Cormorant Garamond", "Cinzel", Georgia, serif;
  font-weight:600;
  font-size:clamp(38px,4.6vw,68px);
  line-height:.95;
  color:#f6f0e5;
  text-wrap:balance;
}
body.lux .home-hero h1 em{
  display:block;
  margin-top:.18em;
  font-style:italic;
  font-weight:500;
  color:#e8d49a;
  font-size:.62em;
}
body.lux .home-hero .headline-heart{
  width:34px;
  height:30px;
  margin:0 6px -4px;
  color:#d8b56a;
}
body.lux .home-hero .hero-services{
  margin:10px 0 14px;
  color:#d8b56a;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
body.lux .home-hero .hero-text{
  color:#f6f0e5;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.55;
  max-width:36em;
}
body.lux .home-hero .hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 20px;
}
body.lux .home-hero .hero-pills span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(216,181,106,.35);
  background:rgba(10,12,18,.45);
  color:#f6f0e5;
  font-size:12px;
}
body.lux .home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:8px 0 16px;
}
body.lux .home-hero .hero-tagline{
  color:#e8d49a;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-size:20px;
  margin:0 0 8px;
  position:relative;
  z-index:4;
}
body.lux .home-hero-composition{
  position:relative;
  justify-self:end;
  width:min(340px,32vw);
}
body.lux .home-filmstrip{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 14px 16px;
  border-radius:16px;
  border:1px solid rgba(216,181,106,.48);
  background:linear-gradient(180deg, rgba(12,14,20,.55), rgba(8,10,14,.72));
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
body.lux .home-filmstrip figure{
  margin:0;
  overflow:hidden;
  border-radius:8px;
  border:1px solid rgba(216,181,106,.28);
}
body.lux .home-filmstrip img{
  display:block;
  width:100%;
  height:92px;
  object-fit:cover;
}
body.lux .home-hero-bell{
  position:absolute;
  right:-28px;
  bottom:-36px;
  width:min(128px,28vw);
  height:auto;
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.45));
  z-index:2;
  pointer-events:none;
}
body.lux .home-hero > .gold-swoosh{
  position:absolute;
  left:0; right:0; bottom:-2px;
  z-index:3;
  height:78px;
}
body.lux .home-hero > .gold-swoosh svg{display:block;width:100%;height:100%}

@media (max-width:900px){
  body.lux .home-hero{margin:6px 3.2% 12px; min-height:0}
  body.lux .home-hero-inner{
    display:flex;
    flex-direction:column;
    grid-template-columns:1fr;
    padding:16px 16px 16px;
    gap:10px;
  }
  body.lux .home-hero-copy{display:contents}
  body.lux .home-hero .eyebrow{order:1; margin:0 0 2px; font-size:10px; letter-spacing:.12em}
  body.lux .home-hero h1{order:2; font-size:clamp(28px,8.2vw,38px); margin:.06em 0 .04em}
  body.lux .home-hero-composition{order:3; width:100%; justify-self:stretch}
  body.lux .home-hero .hero-services{order:4; margin:2px 0 0; font-size:11px}
  body.lux .home-hero .hero-text{order:5; margin:0; font-size:15px; line-height:1.4}
  body.lux .home-hero .hero-pills{order:6; margin:6px 0 2px !important; gap:6px !important; display:flex !important; flex-wrap:wrap !important; grid-template-columns:none !important}
  body.lux .home-hero .hero-pills span{padding:5px 9px !important; font-size:11px !important; gap:5px !important; justify-content:flex-start; text-align:left; white-space:nowrap !important}
  body.lux .home-hero .hero-pills span:last-child{grid-column:auto !important; grid-row:auto !important; justify-self:auto}
  body.lux .home-hero-actions{order:7; margin:6px 0 0; flex-direction:column; align-items:stretch; gap:8px}
  body.lux .home-hero-sunset{opacity:.22; mask-image:linear-gradient(180deg,transparent 0%,#000 55%); -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 55%)}
  body.lux .home-filmstrip{flex-direction:row; gap:6px; padding:8px}
  body.lux .home-filmstrip img{height:92px}
  body.lux .home-hero-bell{width:70px; right:-4px; bottom:-16px}
  body.lux .home-hero-actions .btn,
  body.lux .home-hero-actions .sound-chip{width:100%; justify-content:center}
  body.lux .home-hero-actions .btn.ghost{display:none}
  body.lux .home-hero .sound-chip{position:static !important; left:auto !important; bottom:auto !important; transform:none !important; max-width:none}
}
@media (max-width:700px){
  .preview-banner{padding:6px 4%; font-size:9px; letter-spacing:1.4px}
}

/* Room cards: keep door structure, richer gold finish */
body.lux .academy-corridor{
  padding-top:8px;
}
body.lux .academy-door{
  overflow:hidden;
}
body.lux .academy-door .card-media{
  border-bottom:1px solid rgba(216,181,106,.28);
}

/* Module cards: video on top, training & assessment under */
body.lux .song-shelf{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
@media (min-width:760px){
  body.lux .song-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  body.lux .song-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
}
body.lux .song-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.lux .song-card .song-art,
body.lux .song-card figure,
body.lux .song-card > img,
body.lux .song-card a.thumb,
body.lux .song-card .art{
  display:block;
}
body.lux .song-card-copy{padding:16px 18px 18px}
body.lux .song-card-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

/* Lesson: video on top, then training, then assessment */
body.lux .lesson-layout.lesson-stack{
  display:flex !important;
  flex-direction:column;
  gap:22px;
}
body.lux .lesson-layout.lesson-stack .lesson-film{
  width:100%;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(216,181,106,.42);
  background:#05070b;
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}
body.lux .lesson-video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#05070b;
}
body.lux .lesson-layout.lesson-stack .lesson-play{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
}
body.lux .lesson-layout.lesson-stack .lesson-film:has(video[controls]) .lesson-play{
  display:none;
}
body.lux .lesson-layout.lesson-stack .lesson-info{
  width:100%;
  max-width:760px;
}
body.lux .lesson-training{
  margin:28px 0 12px;
}
body.lux .lesson-training h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(28px,3vw,40px);
  color:#f6f0e5;
  margin:.2em 0 .8em;
}
body.lux .assessment{
  margin-top:28px;
}


/* Homepage Every Room mini player — bottom of opening hero, not a page overlay */
body.lux .hero-room-player{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:4;
  width:min(400px, 36vw, max(196px, calc(100% - 640px)));
  margin:0;
  pointer-events:auto;
}
body.lux .hero-room-player-shell{
  padding:6px;
  border-radius:14px;
  background:#0a101a;
  border:1px solid var(--gold);
  box-shadow:0 14px 36px rgba(0,0,0,.42), inset 0 0 0 1px rgba(184,150,82,.55);
}
body.lux .hero-room-player-stage{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  aspect-ratio:16/9;
  background:#08090d;
}
body.lux .hero-room-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#08090d;
}
body.lux .hero-room-player-label{
  position:absolute;
  left:0; right:0; top:0;
  z-index:2;
  margin:0;
  padding:9px 12px 20px;
  background:linear-gradient(180deg, rgba(10,16,26,.78), transparent);
  color:var(--gold);
  font-family:var(--display);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
  pointer-events:none;
}
body.lux .hero-room-toggle{
  position:absolute;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  z-index:3;
  width:56px;
  height:56px;
  border-radius:50%;
  border:1.5px solid var(--gold);
  background:rgba(16,27,43,.82);
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  cursor:pointer;
  padding:0;
}
body.lux .hero-room-toggle::before{
  content:"";
  display:block;
  width:0;
  height:0;
  margin:0 auto;
  border-style:solid;
  border-width:9px 0 9px 16px;
  border-color:transparent transparent transparent var(--gold);
  transform:translateX(2px);
}
body.lux .hero-room-player.is-playing .hero-room-toggle{
  opacity:0;
  pointer-events:none;
}
body.lux .hero-room-player-stage:hover .hero-room-toggle,
body.lux .hero-room-toggle:focus-visible{
  opacity:1;
  pointer-events:auto;
}
body.lux .hero-room-player.is-playing .hero-room-toggle::before{
  border:0;
  width:5px;
  height:16px;
  margin-left:14px;
  background:var(--gold);
  box-shadow:10px 0 0 var(--gold);
  transform:none;
}
body.lux .hero-room-bar{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  padding:22px 10px 8px;
  background:linear-gradient(180deg, transparent, rgba(8,14,24,.82));
}
body.lux .hero-room-ctrl{
  flex:0 0 auto;
  width:22px;
  height:22px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  position:relative;
}
body.lux .hero-room-ctrl.is-play::before{
  content:"";
  position:absolute;
  left:7px; top:4px;
  border-style:solid;
  border-width:7px 0 7px 11px;
  border-color:transparent transparent transparent var(--gold);
}
body.lux .hero-room-ctrl.is-pause::before,
body.lux .hero-room-ctrl.is-pause::after{
  content:"";
  position:absolute;
  top:4px;
  width:4px;
  height:14px;
  border-radius:1px;
  background:var(--gold);
}
body.lux .hero-room-ctrl.is-pause::before{left:5px}
body.lux .hero-room-ctrl.is-pause::after{left:12px}
body.lux .hero-room-progress{
  flex:1 1 auto;
  height:4px;
  margin:0;
  accent-color:var(--gold);
  cursor:pointer;
}
body.lux .hero-room-sound{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:3px 8px 3px 6px;
  border-radius:999px;
  border:1px solid rgba(216,181,106,.7);
  background:rgba(16,27,43,.72);
  color:var(--gold-hi);
  cursor:pointer;
}
body.lux .hero-room-sound-icon{
  width:14px;
  height:14px;
  background:
    linear-gradient(var(--gold), var(--gold)) 1px 4px / 5px 6px no-repeat,
    linear-gradient(var(--gold), var(--gold)) 5px 2px / 3px 10px no-repeat;
  position:relative;
}
body.lux .hero-room-player.is-muted .hero-room-sound-icon::after{
  content:"";
  position:absolute;
  left:0; top:6px;
  width:14px; height:1.5px;
  background:var(--gold);
  transform:rotate(-35deg);
}
body.lux .hero-room-sound-label{
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.lux .hero-room-player:not(.is-muted) .hero-room-sound{
  border-color:var(--gold-hi);
}

@media (min-width:901px) and (max-width:1200px){
  body.lux .hero-room-player{width:min(320px, max(200px, calc(100% - 680px)));}
}
@media (max-width:900px){
  body.lux .home-hero-inner{padding-bottom:16px}
  body.lux .hero-room-player{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:min(280px, 84%);
    margin:8px auto 12px;
    z-index:4;
  }
  body.lux .hero-room-toggle{width:48px;height:48px}
}
@media (max-width:900px) and (max-height:720px){
  body.lux .hero-room-player{width:min(280px, 90%); margin:6px auto 10px}
}

@media (prefers-reduced-motion:reduce){
  body.lux .hero-room-video{/* poster remains; autoplay is skipped in JS */}
}


/* ===== Candidate cinematic 20261106: Sound clip + mobile hero gap ===== */
body.lux .sound-chip{
  max-width:100%;
  box-sizing:border-box;
}
body.lux .sound-chip-copy{
  min-width:0;
  overflow:hidden;
}
body.lux .sound-chip-track{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.lux .hero-room-bar{
  min-width:0;
  overflow:visible;
  gap:6px;
}
body.lux .hero-room-progress{
  flex:1 1 0;
  min-width:0;
}
body.lux .hero-room-sound{
  flex:0 0 auto;
  white-space:nowrap;
  overflow:visible;
}
@media (max-width:900px){
  body.lux .home-hero-inner{padding-bottom:16px}
  body.lux .hero-room-player{
    width:min(320px,92%);
    margin:8px auto 12px;
  }
  body.lux .home-hero-actions .sound-chip,
  body.lux .home-hero .sound-chip{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    justify-content:flex-start;
  }
}
@media (max-width:900px) and (max-height:720px){
  body.lux .hero-room-player{width:min(280px,90%); margin:6px auto 10px}
}


/* Declutter: soundtrack control is an icon button, not a tab/chip bar */
body.lux .sound-chip.sound-chip-quiet{
  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  justify-content:center !important;
  border-radius:50% !important;
  position:static !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
}
body.lux .sound-chip.sound-chip-quiet .sound-chip-copy{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Lock the real html scrollport when the mobile menu is open so the
   sticky/fixed header and drawer cannot scroll off /academies. */
html.menu-open,
html.menu-open body,
body.menu-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}
@media (max-width:900px){
  html.menu-open body.lux .masthead,
  body.lux.menu-open .masthead{
    position:fixed !important;
    top:0;
    left:0;
    right:0;
    width:100%;
  }
  body.lux .nav-toggle{margin-left:auto;}
}
