/* Main chapters: explicit viewport compositions, grounded in the B&C artwork. */
.music-heading h2 em { color: var(--pink); font-style: normal; }
.white-period { color: #fff; }
.platforms a small { display: none; }
.spray-copy,.spray-visual { mix-blend-mode: normal !important; }
.globe .signal-node { display: none; }
.globe::before { inset: 12% 8% 6%; background: radial-gradient(ellipse,#ff00900b,transparent 68%); filter: none; }
.transition-light { display: none; }
.rail-toggle { position: relative; display: block; width: 100%; min-width: 0; height: 110px; border: 0; background: transparent; padding: 0; cursor: pointer; }
.rail-toggle .nav-mark { position: absolute; left: 50%; top: 50%; translate: -50% -50%; pointer-events: none; }
.rail-toggle:focus-visible { outline: 1px solid #ffcde9; outline-offset: -8px; border-radius: 50%; }
@media (min-width:1101px) {
  .chapter-mode [data-section] { overflow: hidden; border: 0; }
  .chapter-mode main { perspective: none; }
  [data-section] .section-inner { max-width: none; height: 100%; min-height: 0; }
  [data-section]:not(.hero) .atmosphere-drift,[data-section]:not(.hero) .video-raster { display: none; }
  .about .brand-atmosphere { opacity: .72; }
  .music .brand-atmosphere { opacity: .52; }
  .contact .brand-atmosphere { opacity: .68; }
  .about .ghost-mark { display: none; }
  .side-rail { width: 92px; height: 92px; min-height: 0; padding: 0; right: 1.5vw; border-radius: 50%; grid-template-rows: 0 0 0 92px 0 0 0; overflow: visible; background: #0a060acc; transition: height 360ms var(--ease),border-radius 360ms var(--ease),opacity 220ms; }
  .side-rail .rail-toggle { height: 92px; }
  .side-rail .nav-mark { width: 124px; height: 124px; max-width: none; }
  .side-rail > a { visibility: hidden; opacity: 0; pointer-events: none; min-height: 0; padding: 0; transition: opacity 140ms; }
  .side-rail.is-open { height: min(64dvh,600px); border-radius: 20px; padding: 10px 4px; grid-template-rows: repeat(3,minmax(0,1fr)) 108px repeat(3,minmax(0,1fr)); }
  .side-rail.is-open .rail-toggle { height: 108px; }
  .side-rail.is-open > a { visibility: visible; opacity: 1; pointer-events: auto; min-height: 36px; padding: 4px 0; font-size: min(1.12vw,2.25dvh); transition-delay: 100ms; }
  .side-rail.is-open > a::after { bottom: 1px; }
  .about__inner { padding: 4.5dvh 9vw 4dvh 5.2vw; }
  .about .eyebrow { font-size: min(2.25vw,4dvh); margin-bottom: 6.2dvh; }
  .about-copy { width: 40.5vw; max-width: none; padding: 0; }
  .about-copy h1 { font-size: min(9.3vw,16.5dvh); line-height: .94; }
  .about .paint-strike { height: 6px; width: 23vw; margin: 2.1dvh 0 2.5dvh; }
  .about-copy > p { max-width: 94%; font-size: min(1.12vw,2.05dvh); line-height: 1.5; margin-bottom: 1.4dvh; }
  .about-artists.press-photo { width: 53vw; height: auto; max-height: 86dvh; max-width: none; top: 11dvh; right: 2vw; bottom: auto; object-fit: contain; object-position: center; filter: none; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 99%,transparent); mask-composite: intersect; }
  .about .kpi-grid { margin-top: 3.1dvh; gap: 1.1vw; }
  .about .kpi { height: 15.5dvh; max-height: none; min-height: 0; padding: 1.3dvh 8px; border-radius: 9px; }
  .about .kpi strong { font-size: min(4.1vw,7.2dvh); line-height: 1; }
  .about .kpi span { font-size: min(1.35vw,2.35dvh); line-height: 1.06; margin-top: .7dvh; }
  .about .kpi span::before { font-size: 10px; height: 11px; margin-bottom: .5dvh; }
  .about .button-row { margin-top: 3.2dvh; gap: 2vw; }
  .about .signal-button--wide { width: 49%; min-height: 5.8dvh; padding: 10px; font-size: min(1.7vw,3dvh); border-radius: 6px; }
  .about .text-link { min-height: 5dvh; font-size: min(1.3vw,2.3dvh); }
  .music__inner { display: grid; grid-template-columns: minmax(0,44fr) minmax(0,56fr); grid-template-rows: 6dvh 24dvh 39dvh 10dvh 5dvh 7dvh; column-gap: 3vw; padding: 3.5dvh 9vw 5.5dvh 4.5vw; }
  .music .eyebrow { grid-area: 1 / 1 / 2 / 3; font-size: min(2.25vw,4dvh); margin: 0; align-self: start; }
  .music-heading { grid-area: 2 / 1; width: 100%; align-self: start; }
  .music-heading h2 { font-size: min(6.9vw,12dvh); line-height: .96; white-space: nowrap; }
  .music-heading .brush-copy.spray-copy { --spray-cap: min(1.34vw,2.32dvh); margin: .6dvh 0 .8dvh; }
  .music-heading > p:not(.brush-copy) { font-size: min(1.12vw,2dvh); line-height: 1.28; margin: 0; }
  .music-layout,.signal-world { display: contents; }
  .tracks { grid-area: 3 / 1 / 7 / 2; min-height: 0; display: flex; flex-direction: column; align-items: stretch; }
  .tracks h3,.tour h3 { font-size: min(1.65vw,2.9dvh); margin: 0 0 .9dvh; }
  .tracks h3::after,.tour h3::after { margin-top: .4dvh; }
  .track-list { display: grid; grid-template-rows: repeat(6,minmax(0,1fr)); gap: .7dvh; flex: 1; min-height: 0; margin-bottom: 1.4dvh; }
  .track-row { height: auto; max-height: none; min-height: 0; grid-template-columns: 25px min(3vw,5.7dvh) minmax(0,1fr) 132px; gap: .65vw; padding: .7dvh .7vw; }
  .track-title strong { font-size: min(1.52vw,2.7dvh); line-height: 1.02; }
  .track-title small { font-size: min(.7vw,1.25dvh); line-height: 1.15; margin-top: 4px; }
  .track-no { font-size: min(1.65vw,2.85dvh); }
  .platforms { grid-column: auto; grid-template-columns: repeat(4,30px); gap: 4px; margin: 0; }
  .platforms a { width: 30px; height: 36px; display: grid; place-items: center; padding: 0; }
  .platforms a svg { width: 20px; height: 20px; }
  .tracks > .outline-button { align-self: flex-start; font-size: min(1.3vw,2.3dvh); min-height: 4.5dvh; padding: .7dvh 18px; }
  .tour { grid-area: 2 / 2; position: static; width: 78%; max-width: 550px; justify-self: center; align-self: start; }
  .tour-list { gap: .5dvh; }
  .tour-list a { height: 3.9dvh; grid-template-columns: 24% 32% 1fr 12px; padding: .3dvh .7vw; gap: .5vw; }
  .tour-list time { font-size: min(1.13vw,2dvh); }
  .tour-list strong { font-size: min(1.2vw,2.1dvh); }
  .tour-list span { font-size: min(.8vw,1.4dvh); }
  .tour > .outline-button { font-size: min(1.14vw,2dvh); padding: .5dvh 14px; min-height: 3.4dvh; margin-top: .65dvh; }
  .globe { grid-area: 3 / 2; width: 116%; height: calc(100% + 4dvh); max-height: none; margin: -2dvh 0 0 -8%; }
  .world-counts { grid-area: 4 / 2; margin: 0 6%; align-self: center; }
  .world-counts strong { font-size: min(3.7vw,6.5dvh); line-height: 1; }
  .world-counts small { font-size: min(1.25vw,2.2dvh); margin-top: .7dvh; }
  .signal-thanks { grid-area: 5 / 2; align-self: center; margin: 0; font-size: min(.95vw,1.65dvh); }
  .free-downloads { grid-area: 6 / 2; justify-self: center; align-self: start; min-height: 4.8dvh; font-size: min(1.5vw,2.6dvh); padding: .8dvh 25px; }
  .contact__inner { height: 81dvh !important; min-height: 0; padding: 3.4dvh 9vw 2.2dvh 3.3vw; }
  .contact h2 { font-size: min(5.8vw,10.3dvh); margin-top: 1.5dvh; }
  .contact .eyebrow { top: 5.3dvh; font-size: min(2.25vw,4dvh); }
  .contact-cards { margin-top: 2.5dvh; margin-bottom: 2.5dvh; }
  .contact-card { height: 23dvh; padding: 2dvh 1.4vw; }
  .contact-card h3 { font-size: min(2vw,3.5dvh); }
  .contact-card p { font-size: min(.87vw,1.55dvh); }
  .contact-card .signal-button { font-size: min(1.55vw,2.7dvh); }
  .crew-form { height: max(27dvh,192px); max-height: none; padding: 1.7dvh 1.5vw; }
  .crew-form h3 { font-size: min(1.45vw,2.5dvh); }
  .contact > .site-footer { height: 19dvh; min-height: 0; }
}
@media (prefers-reduced-motion:reduce) { .side-rail,.side-rail > a { transition: none; } }
