/* BrillSync v1 release-candidate presentation overrides. */

.marketing-page .concert-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  max-width: none;
  min-height: clamp(620px, 78vh, 820px);
  margin-inline: calc(50% - 50vw);
  border-block: 1px solid rgba(170,180,255,.1);
  background: #020711;
  box-shadow: var(--shadow);
}

.concert-hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background-color: #020711;
  background-image: linear-gradient(135deg,#071224,#020711);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.concert-hero-media::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,7,16,.97) 0%, rgba(2,7,16,.84) 28%, rgba(2,7,16,.34) 52%, rgba(2,7,16,.08) 78%, rgba(2,7,16,.18) 100%),
    linear-gradient(0deg, rgba(2,7,16,.72) 0%, transparent 44%);
  pointer-events: none;
}

.concert-hero-copy {
  display: flex;
  min-height: inherit;
  width: min(680px, calc(100% - 40px));
  margin-left: max(20px, calc((100vw - var(--container)) / 2));
  padding: clamp(60px,8vw,104px) 0 clamp(54px,7vw,88px);
  flex-direction: column;
  justify-content: center;
}

.concert-hero h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(3.5rem,7vw,7rem);
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: .9;
  text-shadow: 0 8px 34px rgba(0,0,0,.62);
}

.concert-hero h1 em { color: var(--cyan); font-style: normal; }
.concert-hero .lead {
  max-width: 58ch;
  margin: 1.45rem 0 0;
  color: rgba(239,247,255,.88);
  font-size: clamp(1.02rem,1.5vw,1.18rem);
  line-height: 1.7;
  text-shadow: 0 3px 18px rgba(0,0,0,.72);
}
.concert-hero .hero-tagline { color: rgba(239,247,255,.8); }

.hero-light-rig {
  position: absolute;
  z-index: 2;
  inset: -8% -4% 0;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

.spotlight {
  position: absolute;
  top: -18%;
  width: clamp(70px,8vw,136px);
  height: 120%;
  transform-origin: 50% 0;
  opacity: .2;
  filter: blur(1.4px);
  background: linear-gradient(180deg,rgba(205,246,255,.9),rgba(70,181,255,.36) 42%,transparent 83%);
  clip-path: polygon(44% 0,56% 0,100% 100%,0 100%);
  will-change: transform,opacity;
}
.spotlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%,-20%);
  border-radius: 50%;
  background: #effcff;
  box-shadow: 0 0 28px rgba(132,223,255,.95),0 0 72px rgba(69,168,255,.72);
}
.spotlight:nth-child(1){left:50%;animation:rcSweep1 9.5s ease-in-out infinite alternate}
.spotlight:nth-child(2){left:64%;animation:rcSweep2 11.5s ease-in-out .8s infinite alternate}
.spotlight:nth-child(3){left:78%;animation:rcSweep3 8.7s ease-in-out 1.7s infinite alternate}
.spotlight:nth-child(4){left:89%;opacity:.15;animation:rcSweep4 12.4s ease-in-out .2s infinite alternate}
@keyframes rcSweep1{from{transform:rotate(12deg) translateX(-8%);opacity:.11}48%{opacity:.27}to{transform:rotate(-14deg) translateX(12%);opacity:.18}}
@keyframes rcSweep2{from{transform:rotate(-10deg) translateX(8%);opacity:.2}56%{opacity:.3}to{transform:rotate(16deg) translateX(-14%);opacity:.14}}
@keyframes rcSweep3{from{transform:rotate(8deg) translateX(-5%);opacity:.13}38%{opacity:.26}to{transform:rotate(-18deg) translateX(9%);opacity:.19}}
@keyframes rcSweep4{from{transform:rotate(-5deg) translateX(4%);opacity:.09}60%{opacity:.2}to{transform:rotate(13deg) translateX(-8%);opacity:.12}}

.marketing-page .rc-experience-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(220px,1fr));
  gap: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding-bottom: 8px;
}
.marketing-page .rc-experience-row .experience-card,
.marketing-page .rc-experience-row .experience-card.featured { grid-column: auto; min-width: 0; }

.community-panel {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(280px,.95fr);
  gap: clamp(28px,5vw,72px);
  align-items: center;
  padding: clamp(34px,6vw,68px);
  border: 1px solid var(--line-strong);
  border-radius: 34px;
  background:
    radial-gradient(circle at 88% 20%,rgba(113,229,255,.14),transparent 22rem),
    radial-gradient(circle at 8% 90%,rgba(198,249,112,.09),transparent 20rem),
    linear-gradient(135deg,rgba(13,38,59,.96),rgba(7,19,32,.98));
}
.community-panel h2 { max-width: 12ch; margin: 0; font-size: clamp(2.4rem,5vw,4.8rem); letter-spacing: -.065em; line-height: .96; }
.community-panel p { max-width: 62ch; color: var(--muted); line-height: 1.7; }
.community-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.community-tags span { padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:var(--cyan); background:rgba(113,229,255,.05); font-size:.84rem; font-weight:850; }
.community-actions { display:grid; gap:12px; }
.community-actions .button { width:100%; justify-content:center; text-align:center; }
.community-note { margin:6px 0 0; font-size:.82rem; }

.studio-page .rc-model-row {
  display: grid;
  grid-template-columns: repeat(5,minmax(150px,1fr)) !important;
  gap: 10px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding-bottom: 8px;
}
.studio-page .rc-experience-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(220px,1fr)) !important;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding-bottom: 8px;
}
.studio-page .rc-model-row .choice-card,
.studio-page .rc-experience-row .choice-card { min-width: 0; }

.experience-download-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px 28px;
  align-items: center;
  margin-bottom: 18px;
  padding: clamp(22px,3vw,30px);
  border: 1px solid rgba(113,229,255,.34);
  border-radius: 22px;
  background:
    radial-gradient(circle at 90% 10%,rgba(113,229,255,.1),transparent 16rem),
    rgba(255,255,255,.025);
}
.experience-download-panel h3 { margin: 0 0 8px; font-size: clamp(1.4rem,2.5vw,2rem); }
.experience-download-panel p { margin: 0; color: var(--muted); line-height: 1.6; }
.experience-download-panel .studio-status { grid-column: 1 / -1; margin: 0; }

.individual-downloads {
  width: 100%;
  margin-top: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.individual-downloads summary { cursor:pointer; color:var(--muted); font-size:.86rem; font-weight:800; }
.individual-downloads .delivery-grid { margin-top: 16px; }

.order-community {
  margin-top: 24px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(113,229,255,.045);
}
.order-community h2 { margin: 0 0 8px; }
.order-community p { margin: 0 0 14px; color:var(--muted); line-height:1.6; }
.order-community small { display:block; margin-top:12px; color:var(--muted); }

@media (max-width:820px) {
  .concert-hero { min-height: 700px; }
  .concert-hero-media { background-position: 66% center; }
  .concert-hero-media::after { background: linear-gradient(180deg,rgba(2,7,16,.2) 0%,rgba(2,7,16,.42) 43%,rgba(2,7,16,.96) 80%); }
  .concert-hero-copy { width:auto; margin:0; padding:330px 24px 42px; justify-content:flex-end; }
  .spotlight:nth-child(4){display:none}
}
@media (max-width:760px) {
  .community-panel { grid-template-columns:1fr; }
  .experience-download-panel { grid-template-columns:1fr; }
  .experience-download-panel .button { width:100%; }
}
@media (max-width:560px) {
  .concert-hero { min-height: 670px; }
  .concert-hero-copy { padding:300px 20px 34px; }
  .concert-hero h1 { font-size:clamp(3rem,15vw,4.6rem); }
  .spotlight { width:74px; opacity:.15; }
}
@media (prefers-reduced-motion:reduce) {
  .spotlight { animation:none !important; opacity:.11; transform:rotate(0deg); }
}
