.card { width: clamp(62px, 7vw, 96px); }
.stage:not(.collection-gallery) { height: calc(100vh - 225px); min-height: 570px; perspective: clamp(1200px, 110vw, 2200px); }
.orbit.is-energized { animation-duration: 24s !important; }
.orbit.is-paused { animation-play-state: paused !important; }
.stage:not(.collection-gallery) { touch-action: pan-y; user-select: none; }
.logo { width: 92px; height: 34px; display: flex; align-items: center; }
.logo img { display: block; width: 100%; height: auto; }
.header-actions { align-items: center; gap: .9rem; }
.header-socials { display: flex; align-items: center; gap: .55rem; margin-right: .25rem; padding: .4rem .6rem; border: 1px solid rgba(243,199,95,.24); border-radius: 999px; background: rgba(243,199,95,.055); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.header-socials a { --channel: #f080b0; display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid rgba(243,199,95,.4); border-radius: 50%; background: rgba(243,199,95,.065); box-shadow: 0 2px 9px rgba(0,0,0,.18); color: var(--channel); text-decoration: none; transition: color .18s, border-color .18s, background .18s, transform .18s; }
.header-socials a:nth-child(2) { --channel: #58c992; }
.header-socials a:nth-child(3) { --channel: #ff4e45; }
.header-socials a:nth-child(4) { --channel: #609bff; }
.header-socials a:nth-child(5) { --channel: #f36c70; }
.header-socials svg { display: block; width: 20px; height: 20px; stroke-width: 1.8; }
.header-socials a:hover, .header-socials a:focus-visible { color: var(--channel); border-color: var(--channel); background: rgba(243,199,95,.13); box-shadow: 0 0 13px color-mix(in srgb,var(--channel) 24%,transparent); transform: translateY(-2px); outline: none; }
.card-art img { min-width: 0; min-height: 0; object-fit: contain !important; }
.stage:not(.collection-gallery) .card-label { height: 2.25rem; overflow: hidden; }
.stage:not(.collection-gallery) { touch-action: none; cursor: grab; }
.stage:not(.collection-gallery):active { cursor: grabbing; }
.stage:not(.collection-gallery) .instruction { background: rgba(12,16,18,.85); padding: .45rem .65rem; border-radius: .3rem; }
.hero h1 { line-height: 1; letter-spacing: 0; }
.hero-image { object-position: center; opacity: .62; filter: grayscale(1) contrast(1.28) brightness(.68); }
.hero-logo { display: block; width: min(72vw, 720px); height: auto; margin: 0 0 .55rem; }
.hero h1 em { display: block; font-size: .28em; letter-spacing: .12em; }
.card-art img { object-fit: cover !important; object-position: center; }
.card-heartflow .card-art { border: 2px solid rgba(243, 199, 95, .9); box-shadow: 0 0 28px rgba(243, 199, 95, .34); }
.card-heartflow .card-label strong { color: #fff1bd; }
.card-label { position: relative; z-index: 2; padding: .28rem .22rem .18rem; background: linear-gradient(180deg, transparent, rgba(4, 7, 8, .82) 38%); }
.card-label strong { font-size: .58rem; line-height: 1.15; }
.card-label small { font-size: .46rem; }
.stage.collection-gallery { height: auto; min-height: 0; overflow: visible; padding: .8rem; perspective: none; }
.stage.collection-gallery .stage-grid, .stage.collection-gallery #dust, .stage.collection-gallery .instruction { display: none; }
.stage.collection-gallery .orbit { position: relative; inset: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); column-gap: .7rem; row-gap: .805rem; height: auto; transform: none; }
.stage.collection-gallery .card { position: relative; left: auto; width: 100%; transform: none; }
.stage.collection-gallery .card-art { aspect-ratio: 3 / 2; }
.stage.collection-gallery .card-label { min-height: 3.15rem; }
.stage.collection-gallery .card-label strong { display: -webkit-box; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.card-video .card-art { position: relative; }
.video-badge { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; background: rgba(0,0,0,.5); color: #fff; font-size: .8rem; transform: translate(-50%,-50%); text-indent: .1em; }
.legacy-archive .archive-list { display: block; }
.exhibition-group + .exhibition-group { margin-top: 4.5rem; }
.exhibition-group h3 { margin: 0 0 1.2rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(17, 17, 17, .25); font: 500 clamp(1rem, 1.8vw, 1.45rem)/1.35 Georgia, serif; }
.exhibition-works { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }

@media (max-width: 720px) {
  .stage:not(.collection-gallery) { height: 78vh; min-height: 620px; perspective: 700px; }
  .card { width: clamp(59px, 16.5vw, 77px); }
  .logo { width: 68px; height: 28px; }
  .header-socials { flex-basis: auto; padding: .3rem .45rem; margin-left: auto; gap: .45rem; }
  .header-socials a { width: 33px; height: 33px; }
  .header-socials svg { width: 19px; height: 19px; }
  .header-actions { max-width: 260px; }
  .hero-logo { width: min(84vw, 520px); }
  .stage.collection-gallery { padding: .45rem; }
  .stage.collection-gallery .orbit { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: .45rem; row-gap: .518rem; }
  .stage.collection-gallery .card-label { min-height: 2.45rem; }
  .stage.collection-gallery .card-label small { display: none; }
  .video-badge { width: 1.8rem; height: 1.8rem; font-size: .62rem; }
  .exhibition-works { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}
