/* Five music chapters share a clock, but each has its own choreography. */
.je-live-chapter{--chapter-x:0;--chapter-y:0;--chapter-progress:.5;--chapter-drift:0;--chapter-spin:0deg;--chapter-bass:0;position:relative;isolation:isolate}
.je-live-chapter>.je-chapter-field{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;user-select:none;opacity:.85}
.je-live-chapter>:not(.je-chapter-field){position:relative;z-index:1}
.je-live-chapter .reveal{transition-delay:var(--chapter-stagger,0ms)}
.je-live-chapter:not(.chapter-in-view) .je-chapter-field{visibility:hidden}

/* The lyric fills with color as it passes through the viewport. Its layout stays still. */
.manifesto .motion-line{display:block;--line-fill:100%;--word-color:#f2f1ec}
.manifesto .motion-line em{--word-color:#d875fb}
.manifesto .motion-line .orange-text{--word-color:#ff7a46}
.manifesto .motion-word{color:var(--word-color)}
@supports(background-clip:text){
  .manifesto.je-live-chapter .motion-word{color:transparent;background-image:linear-gradient(100deg,var(--word-color) 0 var(--line-fill),#8b8798 calc(var(--line-fill) + 12%),#8b8798 100%);background-clip:text;-webkit-background-clip:text}
}
.manifesto.je-live-chapter:before{transform:translate(calc(var(--chapter-x)*35px),calc(var(--chapter-y)*24px)) rotate(calc(-24deg + var(--chapter-progress)*40deg)) scaleY(.67)}
.manifesto.je-live-chapter .mini-mark img{transform:rotate(calc(var(--chapter-x)*7deg + var(--chapter-drift)*3deg))}

/* A listening portal breathes and the music pads push energy into the field. */
.sound-section.je-live-chapter:before{transform:translate(calc(var(--chapter-x)*32px),calc(var(--chapter-y)*20px)) rotate(calc(var(--chapter-progress)*45deg)) scaleY(.74)}
.sound-section.je-live-chapter .sound-cover img{transform:perspective(600px) rotateX(calc(var(--chapter-y)*-8deg)) rotateY(calc(var(--chapter-x)*13deg)) rotate(calc(var(--chapter-drift)*5deg));transition:none}
.sound-section.je-live-chapter .sound-player:after{transform:scaleY(calc(.7 + var(--chapter-bass)*.3));opacity:calc(.65 + var(--chapter-bass)*.35)}
.sound-section.je-live-chapter .sound-cover:after{content:'';position:absolute;inset:15% 18%;border:1px solid rgba(69,218,224,.28);border-radius:50%;transform:rotate(var(--chapter-spin)) scaleX(.8);pointer-events:none;z-index:-1}

/* Art floats at different depths; the caption and its button hit area stay in place. */
.details.je-live-chapter .study-image{position:relative;transform:perspective(1000px) translateY(var(--card-float,0px)) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) rotate(var(--card-rz,0deg));transition:box-shadow .3s;will-change:transform;box-shadow:calc(var(--chapter-x)*-8px) 26px 35px -24px rgba(17,18,24,.4)}
.details.je-live-chapter .study-image:after{content:'';position:absolute;inset:0;z-index:2;border-radius:inherit;background:radial-gradient(ellipse at var(--card-light-x,50%) var(--card-light-y,35%),rgba(255,255,255,.22),transparent 58%);opacity:var(--card-light,0);pointer-events:none}
.details.je-live-chapter .study-card:focus-visible .study-image{outline:3px solid var(--orange);outline-offset:6px}
.details.je-live-chapter .study-type img{transform:perspective(600px) rotateY(calc(var(--chapter-x)*14deg)) rotate(calc(-8deg + var(--chapter-progress)*16deg + var(--chapter-drift)*4deg))}
.details.je-live-chapter .study-type:after{transform:rotate(calc(-30deg + var(--chapter-progress)*80deg)) scaleY(.55)}

/* The merch mark becomes a floating gyroscope without moving shopping controls. */
.merch.je-live-chapter .merch-mark{transform:translate(-50%,-50%) perspective(800px) rotateX(calc(var(--chapter-y)*-12deg)) rotateY(calc(var(--chapter-x)*18deg)) rotate(calc(-8deg + var(--chapter-x)*9deg + var(--chapter-drift)*4deg)) translateY(calc(var(--chapter-drift)*9px));transition:none}
.merch.je-live-chapter .merch-orbit{transform:rotate(calc(var(--chapter-progress)*90deg + var(--chapter-x)*12deg))}
.merch.je-live-chapter .merch-ring{animation:none}
.merch.je-live-chapter .merch-ring-one{transform:rotate(var(--chapter-spin)) scaleY(.57)}
.merch.je-live-chapter .merch-ring-two{transform:rotate(calc(var(--chapter-spin)*-.7 + 55deg)) scaleY(.76)}
.merch.je-live-chapter .merch-ring-three{transform:rotate(calc(var(--chapter-spin)*.45 - 38deg)) scaleY(.45)}
.merch.je-live-chapter .merch-art:after{transform:translateX(calc(var(--chapter-x)*22px)) scale(calc(1 + var(--chapter-drift)*.12))}

/* Bass pressure rolls through the last chapter and gathers around the booking control. */
.contact.je-live-chapter:before{transform:translate(calc(var(--chapter-x)*35px),calc(var(--chapter-y)*25px)) rotate(calc(-25deg + var(--chapter-progress)*55deg)) scaleY(.62)}
.contact.je-live-chapter .contact-wordmark{transform:translateY(calc((var(--chapter-progress) - .5)*70px)) rotate(calc(var(--chapter-x)*3deg + var(--chapter-drift)*2deg))}
.contact.je-live-chapter .contact-dot{transform:scale(calc(.85 + var(--chapter-bass)*.22));box-shadow:0 0 0 calc(6px + var(--chapter-bass)*12px) rgba(17,18,24,.07)}
.contact.je-live-chapter .contact-button{position:relative;isolation:isolate}
.contact.je-live-chapter .contact-button:after{content:'';position:absolute;inset:calc(-8px - var(--chapter-bass)*9px);border:1px solid rgba(17,18,24,.22);border-radius:50%;pointer-events:none;transition:border-color .3s}
.contact.je-live-chapter .contact-button:hover:after{border-color:var(--ink)}

@media(max-width:760px){
  .je-live-chapter>.je-chapter-field{opacity:.68}
  .details.je-live-chapter .study-image{transform:translateY(var(--card-float,0px)) rotate(var(--card-rz,0deg))}
  .contact.je-live-chapter .contact-wordmark{transform:translateY(calc((var(--chapter-progress) - .5)*30px))}
}
.reduce-motion .je-chapter-field,.je-live-chapter.chapter-motion-off>.je-chapter-field{display:none}
.reduce-motion .je-live-chapter .motion-word,.je-live-chapter.chapter-motion-off .motion-word{background:none;color:var(--word-color)}
.reduce-motion .je-live-chapter .reveal,.je-live-chapter.chapter-motion-off .reveal{transition-delay:0ms}
.reduce-motion .je-live-chapter .study-image,.je-live-chapter.chapter-motion-off .study-image{transform:none;will-change:auto}
.reduce-motion .je-live-chapter .merch-mark,.je-live-chapter.chapter-motion-off .merch-mark{transform:translate(-50%,-50%) rotate(-6deg)}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-explicit) .je-chapter-field{display:none}
  html:not(.motion-explicit) .je-live-chapter .motion-word{background:none;color:var(--word-color)}
  html:not(.motion-explicit) .je-live-chapter .study-image{transform:none;will-change:auto}
}
@media print{.je-chapter-field{display:none}.je-live-chapter .motion-word{background:none!important;color:var(--word-color)!important}.je-live-chapter .study-image{transform:none!important}}
