/* STUDiiO — shared paper, type and controls. Each medium composes its own room. */
:root {
  --paper:#fff;
  --ink:#171715;
  --muted:#635f58;
  --line:#c5c2b9;
  --signal:#cf291d;
  --gutter:clamp(18px,3vw,52px);
  --header:151px;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'Courier New',monospace
}

* {
  box-sizing:border-box
}

html {
  scroll-padding-top:90px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:14px;
  -webkit-font-smoothing:antialiased
}

body.modal-open,body.menu-open {
  overflow:hidden
}

a {
  color:inherit;
  text-decoration:none
}

button,input,select,textarea {
  font:inherit;
  color:inherit
}

button {
  cursor:pointer;
  background:none;
  border:0;
  border-radius:0
}

button:disabled {
  opacity:.35;
  cursor:default
}

a,button {
  -webkit-tap-highlight-color:transparent
}

button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid currentColor;
  outline-offset:5px
}

img {
  display:block;
  max-width:100%;
  width:100%;
  height:auto
}

picture {
  display:block
}

figure,h1,h2,h3,p {
  margin:0
}

h1,h2,h3 {
  font-weight:400
}

figure {
  min-width:0
}

svg {
  max-width:100%
}

video {
  max-width:100%
}

[hidden] {
  display:none!important
}

::selection {
  background:var(--signal);
  color:var(--paper)
}

.sr-only {
  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
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  background:var(--ink);
  color:var(--paper);
  padding:16px
}

.skip-link:focus {
  top:12px
}

main {
  min-height:50vh
}

.micro {
  font:11px/1.5 var(--mono);
  letter-spacing:.025em;
  text-transform:uppercase
}

.signal {
  color:var(--signal)
}

.text-link {
  display:inline-flex;
  gap:20px;
  align-items:baseline
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px
}

.work-link {
  display:block;
  position:relative
}

.animation-mark {
  position:absolute;
  bottom:15px;
  right:15px;
  color:#fff;
  background:#111;
  padding:10px
}

.prose {
  font-size:18px;
  line-height:1.6
}

.prose p+p {
  margin-top:1.2em
}

/* A miniature shelf opens into the complete visual directory. */
.site-header { position:relative; z-index:30; border-bottom:1px solid currentColor; background:var(--paper); color:var(--ink); }
.nav-masthead { height:68px; padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { width:155px; flex:none; display:block; }
.brand img { width:100%; height:auto; }
.nav-identity { position:absolute; left:50%; transform:translateX(-50%); font:35px/1 var(--sans); }
.menu-toggle,.directory-close { min-height:44px; display:flex; align-items:center; gap:18px; padding:0 14px; border:1px solid currentColor; border-radius:28px; font:11px/1 var(--sans); text-transform:uppercase; }
.menu-toggle:hover,.directory-close:hover { background:#dfff70; color:#171715; }
.nav-count { font:10px/1 var(--mono); opacity:.6; }
.nav-switch { width:18px; height:18px; display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.nav-switch i { background:currentColor; }
.primary-nav { height:82px; padding:0 var(--gutter) 10px; margin:0; display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); gap:6px; }
.nav-card { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:8px; min-width:0; color:inherit; }
.nav-object { --object-size:clamp(80px,11.5svh,140px); position:relative; display:flex; justify-content:center; align-items:center; width:100%; height:var(--object-size); transition:transform .22s cubic-bezier(.2,.8,.2,1); }
.nav-object img { width:min(100%,calc(var(--object-size) * 1.5)); height:100%; object-fit:cover; border-radius:2px; box-shadow:0 2px 5px #00000015; }
.nav-object svg { height:85%; width:85%; max-width:160px; }
.nav-disc .nav-object img { width:var(--object-size); border-radius:50%; box-shadow:0 0 0 1px #00000022,0 2px 5px #00000022; }
.nav-disc .nav-object::after { content:''; width:calc(var(--object-size) * .1); height:calc(var(--object-size) * .1); border-radius:50%; background:#fff; box-shadow:0 0 0 3px #eeeeee85; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.nav-screen .nav-object img { border:4px solid #252525; border-radius:6px; }
.nav-film .nav-object img { border-top:5px solid #171715; border-bottom:5px solid #171715; }
.nav-print .nav-object img { width:calc(var(--object-size) * .78); object-fit:contain; background:#fff; transform:rotate(-6deg); }
.nav-object { flex-shrink:0; }
.nav-lab .nav-object { color:#cc3022; }
.nav-index .nav-object { color:#263adc; }
.nav-caption { display:flex; align-items:center; justify-content:center; gap:12px; min-height:30px; padding:5px 10px; border-radius:18px; font-size:16px; line-height:1.15; text-align:center; }
.nav-jump { display:none; font-size:14px; }
.nav-card[aria-current] .nav-caption { background:#dfff70; color:#171715; }
.nav-card[aria-current] .nav-jump { display:inline; }
.nav-card:hover .nav-caption,.nav-card:focus-visible .nav-caption { background:#171715; color:#eeeae2; }
.nav-card:hover .nav-object,.nav-card:focus-visible .nav-object { transform:translateY(-4px) rotate(-3deg); }
.nav-card:nth-child(even):hover .nav-object,.nav-card:nth-child(even):focus-visible .nav-object { transform:translateY(-4px) rotate(3deg); }
.primary-nav .nav-card { gap:5px; justify-content:flex-start; }
.primary-nav .nav-object { --object-size:40px; }
.primary-nav .nav-caption { font-size:9.5px; line-height:1.05; padding:3px 2px; min-height:26px; width:100%; border-radius:3px; }
.primary-nav .nav-card .nav-jump { display:none; }
.primary-nav .nav-disc .nav-object::after { box-shadow:0 0 0 1px #eeeeee85; }
.primary-nav .nav-screen .nav-object img { border-width:2px; border-radius:3px; }
.primary-nav .nav-film .nav-object img { border-width:3px; }
.primary-nav .nav-object svg { width:48px; }
.site-nav:not(.menu-enabled),.site-nav[hidden] { display:none; }
.site-nav.menu-enabled { position:fixed; inset:0; z-index:34; padding:0 var(--gutter) 22px; background:#fff; color:#171715; overflow:auto; overscroll-behavior:contain; display:flex; flex-direction:column; gap:0; }
.directory-masthead { display:flex; align-items:center; justify-content:space-between; min-height:82px; flex-shrink:0; position:sticky; top:0; z-index:3; background:#fff; }
.directory-masthead .brand { order:0; }
.directory-close { order:1; min-width:130px; justify-content:space-between; }
.directory-close>span { font-size:25px; font-weight:300; }
.directory-intro { display:flex; align-items:center; justify-content:space-between; font:9px/1.4 var(--mono); border-top:1px solid #b7b4ab; padding:14px 0 12px; margin-bottom:10px; }
.directory-intro>span:last-child { display:flex; align-items:center; gap:18px; }
.directory-intro>span:last-child>span { font:26px/1 var(--sans); }
.menu-main { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px 4vw; width:100%; max-width:1550px; margin:auto; padding:4px 0 28px; }
.menu-secondary { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 26px; padding-top:10px; border-top:1px solid #b7b4ab; font:10px/1.4 var(--mono); }
.menu-secondary a { min-height:36px; display:flex; align-items:center; }
.menu-open .nav-masthead { visibility:hidden; }
.menu-open .site-header { color:#171715; }
.menu-open .site-nav .brand img { filter:none!important; }
@media(max-width:1199px) {
 :root { --header:69px; }
 .primary-nav { display:none; }
 .menu-main { gap:22px 3vw; }
 .nav-caption { font-size:14px; padding-left:8px; padding-right:8px; }
}

/* Colophon, not a second hero. */
.site-footer {
  padding:45px var(--gutter) 25px;
  display:grid;
  grid-template-columns:2fr 3fr 2fr auto;
  gap:30px;
  border-top:1px solid currentColor;
  position:relative
}

.footer-brand {
  width:min(220px,90%);
  display:block;
  align-self:start
}

.footer-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 20px;
  font:11px var(--mono);
  text-transform:uppercase
}

.footer-links a,.social-links a {
  min-height:32px;
  display:flex;
  align-items:center
}

.social-links {
  font:11px var(--mono);
  display:flex;
  flex-direction:column;
  gap:2px
}

.back-top {
  font-size:34px;
  min-width:44px;
  min-height:44px;
  text-align:right
}

.copyright {
  grid-column:1/-1;
  font:10px var(--mono);
  padding-top:32px
}

/* Viewing is an intentionally quiet, edge-to-edge state. */
#lightbox {
  border:0;
  padding:24px;
  margin:0;
  inset:0;
  width:100vw;
  height:100dvh;
  max-width:none;
  max-height:none;
  background:#101010;
  color:#eeeae2
}

#lightbox::backdrop {
  background:#101010
}

#lightbox[open] {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:18px
}

#lightbox.light-surface {
  background:#fff;
  color:#171715
}

.lightbox-top {
  display:flex;
  justify-content:flex-end
}

.lightbox-close {
  min-height:44px;
  display:flex;
  align-items:center;
  gap:40px;
  font:11px var(--mono);
  text-transform:uppercase
}

.lightbox-close span {
  font-size:28px
}

.lightbox-image {
  width:100%;
  height:100%;
  object-fit:contain
}

.lightbox-image.light-surface {
  background:#fff
}

.lightbox-bottom {
  display:flex;
  align-items:center;
  gap:30px;
  min-height:44px
}

.lightbox-bottom button {
  min-width:44px;
  min-height:44px;
  font-size:24px
}

.lightbox-bottom button:last-child {
  margin-left:auto
}

.lightbox-caption {
  font:12px var(--mono)
}

.lightbox-permalink {
  font:11px var(--mono);
  margin-left:auto;
  text-transform:uppercase
}

/* All films require an explicit provider connection. */
.video-stage {
  position:relative;
  aspect-ratio:16/9;
  background:#090909;
  color:#eeeae2
}

.video-load {
  width:100%;
  height:100%;
  display:block;
  padding:0;
  position:relative
}

.video-load picture,.video-load img {
  width:100%;
  height:100%
}

.video-load img {
  object-fit:contain
}

.play-icon {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:68px;
  height:68px;
  border:1px solid #fff;
  display:grid;
  place-items:center;
  font-size:15px;
  background:#10101088
}

.video-load:hover .play-icon {
  background:var(--paper);
  color:var(--ink)
}

.video-stage iframe {
  width:100%;
  height:100%;
  display:block;
  border:0
}

.film-caption {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:baseline;
  padding:15px 0
}

.film-caption h2 {
  font-size:15px;
  letter-spacing:-.02em
}

.film-external {
  font:10px var(--mono);
  white-space:nowrap
}

.video-consent {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:20px;
  gap:12px;
  text-align:center;
  background:#111
}

.video-consent-title {
  font-size:22px
}

.video-consent-note {
  font:11px var(--mono)
}

.video-consent-actions {
  display:flex;
  gap:15px;
  margin-top:12px
}

.video-consent-actions button {
  padding:12px 20px;
  min-height:44px;
  border:1px solid #eeeae2
}

.video-consent-actions button:hover {
  background:#fff;
  color:#111
}

.video-consent-direct {
  font:11px var(--mono);
  margin-top:8px
}

.video-load[hidden] {
  display:none
}

.project-state {
  font:10px/1.5 var(--mono);
  letter-spacing:.025em;
  white-space:nowrap
}

.state-live>span,.state-building>span {
  color:var(--signal)
}

.concept-link {
  font:11px var(--mono);
  border-bottom:1px solid currentColor;
  padding-bottom:5px
}

.concepts {
  display:flex;
  gap:18px;
  flex-wrap:wrap
}

.action-link {
  font:11px var(--mono);
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid currentColor;
  padding:18px 0;
  gap:50px;
  min-height:48px
}

.action-link span {
  font:30px var(--sans)
}

@media(max-width:760px) {
  :root {
    --header:66px
  }

  .nav-masthead { height:65px; gap:16px; }
  .brand { width:128px; }
  .nav-identity { display:none; }
  .menu-toggle { gap:12px; padding:0 12px; font-size:10px; }
  .site-nav.menu-enabled { padding:0 16px 18px; }
  .directory-masthead { min-height:70px; }
  .directory-close { min-width:112px; font-size:10px; }
  .directory-intro { padding:12px 0 9px; margin-bottom:8px; font-size:8px; }
  .menu-main { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 8px; margin:0; padding:8px 0 20px; }
  .menu-main .nav-object { --object-size:clamp(46px,6svh,60px); }
  .menu-main .nav-card { gap:4px; }
  .menu-main .nav-caption { font-size:11px; padding:3px 4px; min-height:24px; gap:4px; }
  .menu-main .nav-jump { font-size:10px; }
  .menu-secondary { gap:8px 20px; font-size:9px; }

  .site-footer {
    grid-template-columns:1fr 1fr;
    gap:28px 15px;
    padding-top:30px
  }

  .footer-brand {
    width:150px;
    grid-column:1/-1
  }

  .footer-links {
    grid-column:1
  }

  .social-links {
    grid-column:2
  }

  .back-top {
    position:absolute;
    right:var(--gutter);
    top:22px
  }

  .copyright {
    padding-top:12px
  }

  .film-caption {
    gap:14px
  }

  .film-caption h2 {
    font-size:12px
  }

  .film-external {
    font-size:9px
  }

  .video-consent {
    gap:6px;
    padding:12px
  }

  .video-consent-title {
    font-size:16px
  }

  .video-consent-actions {
    margin-top:3px;
    gap:10px
  }

  .video-consent-actions button {
    padding:8px 12px
  }

  .video-consent-note,.video-consent-direct {
    font-size:10px
  }

  .play-icon {
    width:48px;
    height:48px
  }

  #lightbox {
    padding:12px;
    gap:10px
  }

  .lightbox-bottom {
    gap:10px
  }

  .lightbox-caption {
    font-size:10px
  }

  .lightbox-permalink {
    font-size:10px
  }




}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto!important
  }

  *,*:before,*:after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }

}

/* Reserve the control footprint until enhancement; no opening layout jump. */
.menu-toggle[hidden] {
  display:flex!important;
  visibility:hidden;
}

/* Page compositions. No repeated hero / card / feature-page template. */
.folio-line,.world-register {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font:10px/1.5 var(--mono);
  letter-spacing:.03em;
  text-transform:uppercase
}

.frontispiece {
  padding:20px var(--gutter) 0;
  position:relative
}

.front-title {
  font-size:clamp(88px,20.6vw,350px);
  line-height:.76;
  letter-spacing:-.095em;
  font-weight:500;
  display:block;
  position:relative;
  z-index:1;
  margin:44px 0 16px
}

.front-title-end {
  display:block;
  margin:30px 0 35px;
  font-size:23.8vw;
  line-height:.78;
  letter-spacing:-.085em;
  pointer-events:none
}

.front-art {
  position:relative;
  min-height:0
}

.front-main {
  width:75.6%;
  margin-left:auto
}

.front-main .work-link {
  width:100%
}

.front-main img {
  width:100%;
  height:auto
}

.front-counter {
  position:absolute;
  left:0;
  top:8%;
  width:18%
}

.front-enter {
  position:absolute;
  left:0;
  bottom:10%;
  font:10px/1.6 var(--mono)
}

.front-enter span {
  font:40px var(--sans);
  display:block;
  margin-top:10px
}

.frontispiece>.folio-line:last-child {
  border-bottom:1px solid var(--ink);
  padding-bottom:18px
}

.home-worlds {
  padding-top:100px
}

.home-worm {
  position:relative;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  margin:0 var(--gutter);
  padding-bottom:10vw;
  border-bottom:1px solid var(--line)
}

.home-worm .world-register {
  grid-column:1/-1;
  padding-bottom:25px
}

.home-worm-picture {
  grid-column:2/7;
  display:block
}

.home-worm-type {
  grid-column:7/13;
  align-self:center;
  margin-left:2vw
}

.home-worm-type h2 {
  font-size:clamp(60px,9vw,158px);
  letter-spacing:-.065em;
  line-height:1
}

.home-worm-type p {
  font-size:clamp(18px,2.5vw,38px);
  letter-spacing:-.035em;
  margin-top:35px;
  line-height:1.05
}

.home-worm-type .action-link {
  margin-top:60px
}

.home-worm-secondary {
  grid-column:9/12;
  margin-top:7vw
}

.home-optics {
  display:grid;
  grid-template-columns:5fr 7fr;
  min-height:640px;
  margin:0 var(--gutter);
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:90px 0
}

.optics-title h2 {
  font-size:clamp(32px,4.5vw,72px);
  line-height:1;
  letter-spacing:-.055em;
  margin:45px 0 65px
}

.optics-title .action-link {
  max-width:360px
}

.optics-field {
  padding-left:30px;
  color:var(--signal)
}

.optical-drawing {
  display:block;
  width:100%;
  height:auto
}

.optics-phase {
  font:10px var(--mono);
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--ink);
  padding-top:35px
}

.optics-phase input {
  appearance:none;
  height:1px;
  background:var(--ink);
  width:100%;
  min-width:30px;
  flex:1;
  cursor:ew-resize
}

.optics-phase input::-webkit-slider-thumb {
  appearance:none;
  width:14px;
  height:14px;
  border:1px solid var(--signal);
  border-radius:0;
  background:var(--signal)
}

.optics-phase input::-moz-range-thumb {
  width:14px;
  height:14px;
  border:0;
  border-radius:0;
  background:var(--signal)
}

.optics-phase output {
  white-space:nowrap
}

.home-fashion {
  background:var(--ink);
  color:var(--paper);
  padding:32px var(--gutter) 90px;
  position:relative
}

.home-fashion .world-register {
  margin-bottom:55px
}

.home-fashion-picture {
  display:block;
  width:83.33%;
  margin:auto
}

.home-fashion h2 {
  font-size:clamp(38px,7.8vw,124px);
  letter-spacing:-.065em;
  line-height:.96;
  margin-top:50px
}

.home-fashion h2 span {
  margin-left:17vw;
  display:block
}

.home-fashion>.action-link {
  width:30%;
  margin:55px 0 0 auto
}

.home-working {
  padding:100px var(--gutter);
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:20px 8vw
}

.home-working>.micro {
  grid-column:1/-1
}

.home-working h2 {
  font-size:clamp(48px,7vw,115px);
  letter-spacing:-.06em;
  line-height:.95;
  margin-top:45px
}

.home-instruments {
  margin-top:45px
}

.home-instruments>a {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px 24px;
  padding:25px 0;
  border-top:1px solid var(--ink)
}

.home-instruments>a>span:first-child {
  font-size:28px;
  letter-spacing:-.04em
}

.home-instruments>a>span:nth-child(2) {
  grid-row:2;
  font:11px var(--mono)
}

.home-instruments>a>span:last-child {
  grid-row:1/3;
  grid-column:2;
  font-size:32px;
  align-self:center
}

.home-instruments>a:hover {
  color:var(--signal)
}

.home-last {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:14vw;
  padding:25px 10vw 140px
}

.home-last figure {
  width:100%
}

.home-last>div>p {
  font-size:clamp(34px,5.2vw,84px);
  letter-spacing:-.05em;
  line-height:1
}

.home-last .action-link {
  margin-top:60px
}

.atlas-nav {
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:20px 0;
  border-block:1px solid var(--ink);
  font:12px var(--mono)
}

.atlas-nav .text-link {
  gap:12px
}

.atlas-coda {
  display:flex;
  justify-content:space-between;
  padding:0 0 80px;
  font-size:24px;
  letter-spacing:-.03em
}

/* Instrument directory: five deliberately different plates. */
.lab-directory {
  padding:0 var(--gutter) 100px
}

.lab-door {
  display:grid;
  grid-template-columns:7fr 5fr;
  align-items:end;
  gap:40px;
  padding:50px 0 80px
}

.lab-door h1 {
  font-size:clamp(100px,24vw,350px);
  line-height:.8;
  letter-spacing:-.085em
}

.lab-door>p {
  font-size:clamp(18px,2.5vw,40px);
  letter-spacing:-.025em;
  line-height:1.16;
  max-width:450px
}

.lab-plates {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:80px 28px
}

.lab-plate {
  grid-column:1/8;
  min-width:0;
  padding:22px 0;
  border-top:1px solid var(--ink)
}

.plate-register {
  display:flex;
  justify-content:space-between;
  gap:15px;
  font:10px var(--mono)
}

.plate-drawing {
  display:block;
  color:var(--signal);
  padding:40px 0
}

.plate-drawing>svg {
  width:100%;
  height:auto;
  display:block
}

.plate-title {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px
}

.plate-title h2 {
  font-size:clamp(30px,4vw,65px);
  letter-spacing:-.05em;
  line-height:1.05
}

.plate-title>a {
  font-size:36px
}

.lab-plate>p {
  padding-top:20px
}

.plate-synth {
  grid-column:1/9;
  background:var(--ink);
  color:var(--paper);
  padding:24px 32px
}

.plate-synth .plate-drawing {
  color:var(--paper)
}

.plate-laser {
  grid-column:6/-1;
  margin-top:30px
}

.plate-midi {
  grid-column:1/10
}

.plate-rubens {
  grid-column:3/-1;
  background:#10100f;
  color:var(--paper);
  padding:24px 32px
}

.plate-rubens .plate-drawing {
  color:#e75633
}

.plate-mirror {
  grid-column:1/8
}

.plate-mirror .plate-drawing {
  color:var(--ink);
  padding:60px 20px
}

.lab-other {
  margin-top:75px
}

.lab-other>a {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  padding:24px 0;
  border-top:1px solid var(--ink);
  font-size:34px;
  letter-spacing:-.04em
}

.lab-other>a>span {
  font:11px var(--mono)
}

.instrument-register {
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin:25px var(--gutter);
  font:10px var(--mono)
}

.instrument-body {
  margin:0 var(--gutter)
}

.experiment-note {
  margin:30px var(--gutter);
  font:12px/1.5 var(--mono)
}

/* Record room: dense row rhythm, large responsive image preview. */
.record-room {
  padding:0 var(--gutter) 90px
}

.record-header {
  display:flex;
  justify-content:space-between;
  align-items:end;
  padding:50px 0 35px;
  gap:20px
}

.record-header h1 {
  font-size:clamp(44px,5vw,76px);
  line-height:1;
  letter-spacing:-.055em
}

.record-header p {
  line-height:2
}

.index-modes {
  display:flex;
  border-bottom:1px solid var(--ink);
  gap:0
}

.index-modes button {
  font:12px var(--mono);
  padding:18px 28px 18px 0;
  margin-right:30px;
  position:relative
}

.index-modes button[aria-pressed=true]:after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  right:28px;
  height:4px;
  background:var(--signal)
}

.index-filters {
  display:grid;
  grid-template-columns:2fr 1.3fr 1.1fr .8fr auto;
  gap:24px;
  padding:25px 0;
  border-bottom:1px solid var(--line)
}

.index-filters label {
  font:9px var(--mono);
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0
}

.index-filters input,.index-filters select {
  font:13px var(--sans);
  background:transparent;
  border:0;
  border-bottom:1px solid var(--ink);
  height:40px;
  width:100%;
  border-radius:0;
  min-width:0
}

.index-filters button {
  align-self:end;
  font:10px var(--mono);
  min-height:40px
}

.index-result {
  padding:20px 0
}

.record-projects {
  display:grid;
  grid-template-columns:8fr 4fr;
  gap:40px;
  position:relative
}

.record-table {
  min-width:0
}

.project-row,.index-columns {
  display:grid;
  grid-template-columns:minmax(0,2.8fr) minmax(0,1.7fr) .55fr .85fr 20px;
  align-items:center;
  gap:14px
}

.index-columns {
  border-bottom:1px solid var(--ink);
  padding:0 0 10px;
  font-size:8px
}

.project-row {
  min-height:74px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  transition:color .15s
}

.row-title {
  font-size:clamp(15px,1.65vw,26px);
  line-height:1.07;
  letter-spacing:-.035em;
  overflow-wrap:anywhere
}

.row-tags {
  font:8px/1.5 var(--mono)
}

.row-year {
  font:10px var(--mono)
}

.row-arrow {
  font-size:20px
}

.project-row .project-state {
  font-size:8px
}

.project-row:hover,.project-row:focus-visible {
  color:var(--signal)
}

.record-preview {
  position:sticky;
  top:30px;
  align-self:start;
  padding-top:22px;
  min-width:0
}

.record-preview>div {
  height:36vw;
  max-height:550px;
  display:flex;
  align-items:start
}

.record-preview picture {
  height:100%;
  width:100%
}

.record-preview img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:top
}

.record-preview>p {
  font-size:22px;
  letter-spacing:-.03em;
  margin:22px 0 7px
}

.image-records {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:35px 18px;
  padding-top:10px
}

.image-record {
  min-width:0
}

.image-record picture,.image-record>img {
  height:16vw;
  max-height:240px
}

.image-record img {
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:bottom
}

.image-record-title {
  display:block;
  font-size:12px;
  margin-top:10px
}

.image-record .micro {
  font-size:8px;
  display:block;
  padding-top:3px
}

.index-empty {
  padding:80px 0;
  font-size:32px;
  letter-spacing:-.04em
}

/* Context comes after the work. */
.related {
  margin:100px var(--gutter) 75px;
  border-top:1px solid var(--ink);
  padding-top:25px;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:50px
}

.related-label .concepts {
  margin-top:28px
}

.related .project-row {
  grid-template-columns:2fr 1fr .5fr .75fr 20px
}

.project-opening {
  padding:70px var(--gutter)
}

.project-opening h1 {
  font-size:clamp(45px,8vw,120px);
  letter-spacing:-.055em;
  margin:30px 0
}

.project-media {
  padding:20px var(--gutter);
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:80px 24px
}

.project-media figure {
  grid-column:2/10
}

.project-media figure:nth-child(even) {
  grid-column:5/-1
}

.project-description,.project-external,.project-credits {
  margin:45px var(--gutter) 45px auto;
  max-width:650px;
  font-size:20px;
  line-height:1.5
}

.project-credits {
  font:12px/1.5 var(--mono)
}

.project-credits dd {
  margin-left:0;
  margin-top:10px
}

.project-hosted-video,.project-audio {
  margin:50px var(--gutter)
}

.project-hosted-video video {
  display:block;
  width:100%;
  height:auto
}

.project-hosted-video figcaption {
  font:11px var(--mono);
  padding-top:15px
}

.project-track {
  border-top:1px solid var(--line);
  padding:30px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}

.project-track h2 {
  font-size:24px;
  letter-spacing:-.03em
}

.project-track audio {
  max-width:100%;
  width:100%
}

.project-transcript {
  grid-column:1/-1;
  line-height:1.6
}

.project-transcript summary {
  font:11px var(--mono);
  cursor:pointer
}

.project-transcript p {
  margin-top:20px
}

/* A fashion film opens as a cover, then becomes a screening. */
.fashion-world {
  padding:40px var(--gutter) 60px
}

.fashion-world header {
  display:grid;
  grid-template-columns:8fr 4fr;
  gap:30px;
  align-items:end
}

.fashion-world header>.micro {
  grid-column:1/-1
}

.fashion-world h1 {
  font-size:clamp(100px,19vw,300px);
  letter-spacing:-.075em;
  line-height:.8;
  margin:40px 0 50px
}

.fashion-world header>div {
  padding-bottom:50px
}

.fashion-world header>div>p {
  font-size:clamp(24px,3.4vw,54px);
  letter-spacing:-.045em;
  margin-bottom:24px
}

.fashion-screen {
  background:#111;
  color:var(--paper);
  padding:4vw;
  margin-inline:calc(-1 * var(--gutter))
}

.fashion-screen .film-caption h2 {
  font:11px var(--mono)
}

.fashion-colophon {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9vw;
  padding:80px 0
}

.fashion-colophon>p {
  font-size:clamp(36px,5vw,80px);
  line-height:1;
  letter-spacing:-.05em
}

.fashion-colophon>div {
  font-size:20px;
  line-height:1.45
}

.fashion-colophon dl {
  font:11px/1.5 var(--mono);
  margin-top:40px
}

.fashion-colophon dd {
  margin:12px 0 0
}

/* WORM is a world, not an archive heading above a gallery. */
.world-worm {
  background:#121212;
  color:#eeeae2;
  --line:#43433f;
  --signal:#ef4c37
}

.world-worm .site-header {
  background:#121212;
  color:#eeeae2;
  border-color:#5a5852
}

.world-worm .brand img,.world-worm .footer-brand img {
  filter:invert(1)
}

.world-worm.menu-open .site-header {
  color:var(--ink)
}

/* Founder: a human portrait in an open editorial spread. */
.about-world {
  padding:35px var(--gutter) 80px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0 24px
}

.about-world>header {
  grid-column:1/9;
  grid-row:1;
  z-index:1
}

.about-world h1 {
  font-size:clamp(60px,10.3vw,165px);
  line-height:.94;
  letter-spacing:-.065em;
  margin-top:50px
}

.about-portrait {
  grid-column:8/-1;
  grid-row:1;
  margin-top:18vw
}

.about-portrait>p {
  font:10px/1.8 var(--mono);
  margin-top:16px
}

.about-portrait>p>span {
  color:var(--muted)
}

.about-introduction {
  grid-column:2/8;
  padding:7vw 0
}

.about-introduction p {
  font-size:clamp(24px,3.7vw,58px);
  letter-spacing:-.04em;
  line-height:1.12
}

.about-introduction p+p {
  margin-top:1em
}

.about-history {
  grid-column:1/-1;
  border-top:1px solid var(--ink);
  padding:45px 0 70px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8vw
}

.about-history h2 {
  font-size:clamp(35px,5vw,75px);
  line-height:1;
  letter-spacing:-.05em
}

.about-history>div {
  font-size:19px;
  line-height:1.55;
  max-width:650px
}

.about-history p+p {
  margin-top:1em
}

.about-evidence {
  grid-column:3/-1;
  margin-top:25px
}

.about-evidence>p {
  padding-bottom:25px
}

.about-evidence>a {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:25px;
  border-top:1px solid var(--line);
  padding:25px 0;
  font-size:clamp(20px,3vw,45px);
  letter-spacing:-.04em
}

.about-evidence>a>span {
  font:9px var(--mono);
  white-space:nowrap
}

.about-current {
  grid-column:1/-1;
  margin-top:80px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:25px
}

.about-current>a {
  font-size:26px;
  letter-spacing:-.04em
}

/* Actual relationships: a legible wiring diagram, with a native link list on phones. */
.connection-world {
  padding:55px var(--gutter) 100px
}

.connection-world header {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:55px
}

.connection-world h1 {
  font-size:clamp(40px,6vw,96px);
  letter-spacing:-.05em;
  line-height:1
}

.connection-world header>p {
  line-height:2
}

.connection-map {
  padding:0 3vw
}

.connection-map>p {
  padding-bottom:28px;
  border-bottom:1px solid var(--ink)
}

.connection-map svg {
  width:100%;
  height:auto;
  margin-top:30px;
  overflow:visible
}

.map-wires path {
  fill:none;
  stroke:var(--ink);
  stroke-width:.6;
  opacity:.1;
  transition:opacity .15s,stroke .15s
}

.map-nodes circle {
  fill:var(--paper);
  stroke:var(--ink);
  stroke-width:1
}

.map-nodes text {
  font:14px var(--mono);
  fill:var(--ink)
}

.map-nodes a:hover text,.map-nodes a:focus text {
  fill:var(--signal)
}

.map-wires path.is-active {
  opacity:1;
  stroke:var(--signal);
  stroke-width:1.25
}

.connection-list {
  display:none
}

.connection-list section {
  border-top:1px solid var(--ink);
  padding:22px 0;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:30px
}

.connection-list h2 {
  font-size:20px;
  letter-spacing:-.03em
}

.connection-list section>div {
  display:flex;
  flex-direction:column;
  gap:20px
}

.connection-list .text-link {
  font-size:16px;
  justify-content:space-between
}

@media(min-width:1700px) {
  .front-title-end {
    font-size:400px
  }

}

@media(max-width:1000px) and (min-width:761px) {
  .record-projects {
    grid-template-columns:1fr
  }

  .record-preview {
    display:none
  }

  .related {
    grid-template-columns:1fr
  }

  .home-worm-type h2 {
    font-size:8vw
  }

  .instrument-register {
    font-size:8px
  }

}

@media(max-width:760px) {
  .folio-line,.world-register {
    font-size:8px;
    gap:12px
  }

  .frontispiece {
    padding-top:18px
  }

  .front-title {
    margin-top:36px;
    margin-bottom:18px;
    font-size:19.7vw;
    line-height:.82
  }

  .front-title-end {
    font-size:23vw;
    line-height:.85;
    margin:38px 0 20px
  }

  .front-art {
    padding-bottom:16px;
    min-height:0
  }

  .front-main {
    width:85%;
    margin-left:15%
  }

  .front-counter {
    width:27%;
    top:auto;
    bottom:0;
    z-index:1;
    border:5px solid var(--paper);
    border-left:0
  }

  .front-enter {
    left:0;
    top:0;
    bottom:auto;
    font-size:8px
  }

  .front-enter span {
    font-size:26px;
    margin-top:2px
  }

  .frontispiece>.folio-line:last-child {
    font-size:7px;
    gap:20px;
    min-height:41px;
    padding-top:6px
  }

  .frontispiece>.folio-line:last-child>span:first-child {
    max-width:210px
  }

  .home-worlds {
    padding-top:65px
  }

  .home-worm {
    gap:12px;
    padding-bottom:50px
  }

  .home-worm .world-register {
    padding-bottom:12px
  }

  .home-worm-picture {
    grid-column:1/10
  }

  .home-worm-type {
    grid-column:2/-1;
    margin-left:0;
    z-index:2
  }

  .home-worm-type h2 {
    font-size:21vw;
    line-height:.95;
    margin-top:8px
  }

  .home-worm-type p {
    font-size:24px;
    margin-top:22px
  }

  .home-worm-type .action-link {
    margin-top:25px;
    width:70%
  }

  .home-worm-secondary {
    grid-column:9/13;
    margin-top:-110px;
    align-self:end;
    z-index:1
  }

  .home-optics {
    grid-template-columns:1fr;
    min-height:0;
    padding:55px 0;
    gap:30px
  }

  .optics-title h2 {
    font-size:40px;
    margin:26px 0
  }

  .optics-title .action-link {
    max-width:none;
    margin-top:30px
  }

  .optics-field {
    padding-left:0;
    grid-row:2
  }

  .optics-phase {
    padding-top:15px;
    font-size:9px;
    gap:12px
  }

  .home-fashion {
    padding-top:25px;
    padding-bottom:45px
  }

  .home-fashion .world-register {
    margin-bottom:30px
  }

  .home-fashion-picture {
    width:100%
  }

  .home-fashion h2 {
    font-size:10vw;
    margin-top:35px;
    line-height:1
  }

  .home-fashion h2 span {
    margin-left:6vw;
    margin-top:5px
  }

  .home-fashion>.action-link {
    width:65%;
    margin-top:30px
  }

  .home-working {
    grid-template-columns:1fr;
    padding-top:60px;
    padding-bottom:60px;
    gap:0
  }

  .home-working h2 {
    font-size:20vw;
    margin-top:25px
  }

  .home-instruments {
    margin-top:40px
  }

  .home-instruments>a {
    padding:20px 0
  }

  .home-instruments>a>span:first-child {
    font-size:27px
  }

  .home-instruments>a>span:nth-child(2) {
    font-size:10px
  }

  .home-last {
    grid-template-columns:repeat(12,1fr);
    gap:30px 0;
    padding:0 var(--gutter) 70px
  }

  .home-last figure {
    grid-column:1/10
  }

  .home-last>div {
    grid-column:4/-1
  }

  .home-last>div>p {
    font-size:39px
  }

  .home-last .action-link {
    margin-top:28px
  }

  .atlas-nav {
    gap:12px 22px;
    justify-content:flex-start;
    font-size:11px;
    padding:16px 0
  }

  .atlas-coda {
    font-size:16px;
    padding-bottom:50px;
    gap:25px
  }

  .lab-directory {
    padding-bottom:60px
  }

  .lab-door {
    grid-template-columns:1fr;
    padding:35px 0 55px;
    gap:35px
  }

  .lab-door h1 {
    font-size:30vw
  }

  .lab-door>p {
    font-size:24px;
    margin-left:20%;
    line-height:1.16
  }

  .lab-plates {
    gap:50px 0
  }

  .lab-plate {
    grid-column:1/-1!important;
    padding:20px 0
  }

  .plate-synth,.plate-rubens {
    padding:20px 16px
  }

  .plate-laser {
    grid-column:3/-1!important;
    margin-top:0
  }

  .plate-mirror {
    grid-column:1/12!important
  }

  .plate-drawing {
    padding:30px 0
  }

  .plate-title h2 {
    font-size:34px
  }

  .plate-title>a {
    font-size:28px
  }

  .plate-register {
    font-size:8px;
    gap:12px
  }

  .plate-register .project-state {
    font-size:8px
  }

  .plate-mirror .plate-drawing {
    padding:35px 0
  }

  .lab-plate>.micro {
    font-size:9px
  }

  .lab-other {
    margin-top:50px
  }

  .lab-other>a {
    font-size:28px
  }

  .lab-other>a>span {
    font-size:8px
  }

  .instrument-register {
    margin-block:20px;
    flex-wrap:wrap;
    font-size:8px;
    gap:12px
  }

  .instrument-register>span:nth-child(2) {
    margin-left:auto
  }

  .instrument-register .project-state {
    font-size:8px
  }

  .instrument-body {
    margin:0 var(--gutter)
  }

  .record-room {
    padding-bottom:50px
  }

  .record-header {
    padding:35px 0 25px
  }

  .record-header h1 {
    font-size:52px
  }

  .record-header p {
    font-size:8px;
    max-width:105px;
    line-height:1.8
  }

  .index-modes button {
    font-size:11px
  }

  .index-filters {
    grid-template-columns:1fr 1fr 1fr;
    gap:20px 14px;
    padding:20px 0
  }

  .index-filters label:first-child {
    grid-column:1/-1
  }

  .index-filters label {
    font-size:8px;
    gap:5px
  }

  .index-filters input,.index-filters select {
    font-size:12px
  }

  .index-filters button {
    grid-column:3;
    justify-self:end;
    font-size:9px
  }

  .index-result {
    font-size:9px;
    padding:15px 0
  }

  .record-projects {
    display:block
  }

  .record-preview {
    display:none
  }

  .project-row,.index-columns {
    grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) 20px;
    gap:10px
  }

  .row-title {
    font-size:19px
  }

  .project-row {
    min-height:78px;
    position:relative;
    padding:14px 0 27px
  }

  .row-tags {
    font-size:8px;
    line-height:1.4
  }

  .row-year {
    display:none
  }

  .project-row .project-state {
    position:absolute;
    left:0;
    bottom:10px;
    font-size:7px
  }

  .index-columns>span:nth-child(3),.index-columns>span:nth-child(4) {
    display:none
  }

  .image-records {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px 12px
  }

  .image-record picture,.image-record>img {
    height:35vw
  }

  .image-record-title {
    font-size:10px
  }

  .image-record .micro {
    font-size:7px
  }

  .related {
    display:block;
    margin-top:65px;
    margin-bottom:50px;
    padding-top:20px
  }

  .related-label .concepts {
    margin:20px 0 30px;
    gap:16px
  }

  .related .project-row {
    grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) 20px
  }

  .related .row-title {
    font-size:20px
  }

  .project-description,.project-external,.project-credits {
    margin:30px var(--gutter);
    font-size:16px
  }

  .project-credits {
    font-size:11px
  }

  .project-media {
    gap:45px 12px
  }

  .project-media figure {
    grid-column:1/12
  }

  .project-media figure:nth-child(even) {
    grid-column:3/-1
  }

  .project-track {
    grid-template-columns:1fr;
    gap:20px
  }

  .project-track h2 {
    font-size:24px
  }

  .fashion-world {
    padding-top:25px
  }

  .fashion-world header {
    grid-template-columns:1fr;
    gap:0
  }

  .fashion-world h1 {
    font-size:27vw;
    margin:40px 0 35px
  }

  .fashion-world header>div {
    padding-bottom:30px;
    margin-left:25%
  }

  .fashion-world header>div>p {
    font-size:29px;
    margin-bottom:15px
  }

  .fashion-screen {
    padding:20px 0
  }

  .fashion-screen .film-caption {
    padding-inline:var(--gutter)
  }

  .fashion-colophon {
    grid-template-columns:1fr;
    gap:40px;
    padding:50px 0 0
  }

  .fashion-colophon>p {
    font-size:44px
  }

  .fashion-colophon>div {
    font-size:18px
  }

  .about-world {
    padding-top:25px;
    gap:0 12px
  }

  .about-world>header {
    grid-column:1/-1;
    grid-row:auto
  }

  .about-world h1 {
    font-size:15vw;
    margin-top:30px
  }

  .about-portrait {
    grid-column:4/-1;
    grid-row:auto;
    margin-top:40px
  }

  .about-portrait>p {
    font-size:8px
  }

  .about-introduction {
    grid-column:1/-1;
    padding:50px 0
  }

  .about-introduction p {
    font-size:28px
  }

  .about-history {
    grid-template-columns:1fr;
    gap:30px;
    padding:30px 0 45px
  }

  .about-history h2 {
    font-size:40px
  }

  .about-history>div {
    font-size:17px
  }

  .about-evidence {
    grid-column:1/-1;
    margin-top:0
  }

  .about-evidence>a {
    font-size:24px;
    display:block;
    padding:22px 0
  }

  .about-evidence>a>span {
    display:block;
    font-size:8px;
    margin-top:14px
  }

  .about-current {
    flex-wrap:wrap;
    gap:20px;
    margin-top:45px
  }

  .about-current>p {
    width:100%
  }

  .about-current>a {
    font-size:21px
  }

  .connection-world {
    padding-top:35px;
    padding-bottom:60px
  }

  .connection-world header {
    display:block;
    margin-bottom:55px
  }

  .connection-world h1 {
    font-size:12vw
  }

  .connection-world header>p {
    margin-top:35px;
    font-size:9px
  }

  .connection-map {
    display:none
  }

  .connection-list {
    display:block
  }

  .connection-list section {
    grid-template-columns:1fr;
    gap:24px;
    padding:25px 0
  }

  .connection-list section>div {
    padding-left:14%;
    gap:15px
  }

  .connection-list h2 {
    font-size:25px
  }

  .connection-list .text-link {
    line-height:1.2;
    overflow-wrap:anywhere;
    min-height:36px;
    align-items:center
  }

}

/* A single hanging: different worlds seen together, not six portfolio covers. */
.work-room {
  padding:0 var(--gutter)
}

.work-room-header {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:25px;
  padding:40px 0 30px
}

.work-room-header h1 {
  font-size:60px;
  letter-spacing:-.055em;
  line-height:1
}

.work-hanging {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  column-gap:24px;
  row-gap:75px;
  margin:60px 0 90px
}

.exhibit {
  min-width:0;
  align-self:start
}

.exhibit>a {
  display:block
}

.exhibit picture,.exhibit img {
  width:100%;
  height:auto
}

.exhibit-label {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:clamp(15px,1.6vw,25px);
  line-height:1.1;
  letter-spacing:-.035em;
  padding:12px 0 8px
}

.exhibit>a:hover .exhibit-label {
  color:var(--signal)
}

.exhibit>p {
  font-size:8px;
  line-height:1.5
}

.exhibit-worm {
  grid-column:1/5;
  grid-row:1
}

.exhibit-nabil-nayal {
  grid-column:6/13;
  grid-row:1;
  margin-top:6vw
}

.exhibit-motion {
  grid-column:5/9;
  grid-row:2
}

.exhibit-tarns {
  grid-column:8/13;
  grid-row:3
}

.exhibit-laser-speaker {
  grid-column:1/5;
  grid-row:2;
  color:var(--signal);
  margin-top:8vw
}

.exhibit-laser-speaker .exhibit-label,.exhibit-laser-speaker>p {
  color:var(--ink)
}

.exhibit-graphics {
  grid-column:2/6;
  grid-row:3;
  margin-top:7vw
}

.exhibit-loebeat {
  grid-column:2/12;
  grid-row:4;
  margin:25px 0 15px
}

.exhibit-beat-girl {
  grid-column:3/12;
  grid-row:5;
  margin:0 0 25px
}

/* WORM: a photographic sequence operated by the visitor. */
.worm-installation {
  padding:28px var(--gutter) 60px
}

.worm-installation-header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:32px
}

.worm-installation-header h1 {
  font-size:clamp(70px,13vw,210px);
  line-height:.86;
  letter-spacing:-.06em
}

.worm-installation-header>div>p {
  font-size:clamp(16px,2vw,30px);
  line-height:1.1;
  letter-spacing:-.03em;
  margin-bottom:16px
}

.worm-stage {
  display:grid;
  grid-template-columns:7fr 5fr;
  gap:5vw;
  align-items:center
}

.worm-frames {
  min-width:0
}

.worm-frames:not(.sequence-ready) .worm-frame:not(:first-child) {
  display:none;
}

.worm-frame img {
  width:100%;
  height:auto
}

.worm-frame {
  height:min(69svh,780px)
}

.worm-frame .work-link,.worm-frame picture {
  height:100%;
  width:100%
}

.worm-frame img {
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:center
}

.worm-stage-statement {
  font-size:clamp(65px,8.5vw,145px);
  font-weight:500;
  letter-spacing:-.06em;
  line-height:.92
}

.worm-stage-statement>span {
  display:block
}

.worm-stage-statement>span:last-child {
  font-size:.76em;
  color:#ef4c37;
  margin-top:12px
}

.worm-sequence-controls {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-block:1px solid var(--line);
  padding:12px 0;
  margin-top:30px
}

.worm-transport {
  display:flex;
  align-items:center;
  gap:30px
}

.worm-transport button {
  width:44px;
  height:44px;
  font-size:25px
}

.worm-transport>span {
  font:10px var(--mono);
  min-width:50px
}

.worm-sequence-controls>[data-worm-play] {
  font:10px var(--mono);
  display:flex;
  align-items:center;
  gap:35px;
  min-height:44px
}

.worm-sequence-controls>[data-worm-play][aria-pressed=true] {
  color:#ef4c37
}

.worm-contact-rail {
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:16px;
  margin-top:24px
}

.worm-contact-rail button {
  padding:0;
  border-bottom:3px solid transparent;
  padding-bottom:10px;
  opacity:.55;
  transition:opacity .15s
}

.worm-contact-rail button[aria-pressed=true] {
  border-color:#ef4c37;
  opacity:1
}

.worm-contact-rail button:hover {
  opacity:1
}

.worm-contact-rail picture,.worm-contact-rail img {
  width:100%;
  height:auto
}

.worm-installation-exit {
  display:flex;
  justify-content:space-between;
  gap:40px;
  margin-top:65px;
  font:11px var(--mono)
}

.worm-installation-exit a {
  display:flex;
  justify-content:space-between;
  gap:70px;
  border-top:1px solid currentColor;
  padding-top:20px;
  width:40%
}

.worm-installation-exit a>span {
  font-size:25px
}

.worm-sound {
  margin-top:70px
}

.worm-sound>h2 {
  font-size:48px;
  letter-spacing:-.04em
}

.worm-sound .project-audio {
  margin-inline:0
}

.lab-extensions {
  margin-top:70px
}

@media(max-width:760px) {
  .work-room-header {
    padding:30px 0 25px;
    gap:15px
  }

  .work-room-header h1 {
    font-size:48px
  }

  .work-room-header>.micro {
    font-size:8px;
    max-width:90px
  }

  .work-room-header>p {
    display:none
  }

  .work-hanging {
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:auto;
    gap:45px 14px;
    margin:40px 0 65px
  }

  .exhibit {
    grid-row:auto;
    margin:0
  }

  .exhibit-worm {
    grid-column:1/5
  }

  .exhibit-nabil-nayal {
    grid-column:2/7
  }

  .exhibit-motion {
    grid-column:1/4
  }

  .exhibit-laser-speaker {
    grid-column:2/7;
    grid-row:4
  }

  .exhibit-tarns {
    grid-column:1/5;
    grid-row:5
  }

  .exhibit-graphics {
    grid-column:2/7;
    grid-row:6
  }

  .exhibit-loebeat {
    grid-column:1/7;
    grid-row:7;
    margin-top:10px
  }

  .exhibit-beat-girl {
    grid-column:1/7;
    grid-row:8;
    margin:0
  }

  .exhibit-label {
    font-size:19px;
    padding:12px 0 6px
  }

  .exhibit>p {
    font-size:7px
  }

  .worm-installation {
    padding-top:25px;
    padding-bottom:40px
  }

  .worm-installation-header {
    display:block;
    margin-bottom:35px
  }

  .worm-installation-header h1 {
    font-size:26vw
  }

  .worm-installation-header>div {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-top:25px;
    gap:20px
  }

  .worm-installation-header>div>p {
    font-size:18px;
    margin:0
  }

  .worm-installation-header .project-state {
    font-size:8px
  }

  .worm-stage {
    display:block
  }

  .worm-stage-statement {
    display:none
  }

  .worm-frame {
    height:112vw;
    max-height:65svh
  }

  .worm-sequence-controls {
    gap:12px;
    flex-wrap:wrap;
    margin-top:22px;
    padding-block:5px
  }

  .worm-sequence-controls>.micro {
    display:none
  }

  .worm-sequence-controls>[data-worm-play] {
    font-size:8px;
    gap:12px
  }

  .worm-transport {
    gap:12px
  }

  .worm-transport>span {
    font-size:8px;
    min-width:45px
  }

  .worm-transport button {
    font-size:22px
  }

  .worm-contact-rail {
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    padding-bottom:8px;
    margin-top:18px
  }

  .worm-contact-rail button {
    width:17vw;
    flex:none;
    scroll-snap-align:start;
    min-width:50px
  }

  .worm-installation-exit {
    margin-top:40px;
    gap:24px;
    font-size:8px
  }

  .worm-installation-exit a {
    width:auto;
    flex:1;
    gap:20px
  }

  .worm-installation-exit a>span {
    font-size:20px
  }

}

/* Server-rendered first frame and control footprints match the enhanced state. */
.worm-sequence-controls[hidden] {
  display:flex!important;
  visibility:hidden;
}
.worm-contact-rail[hidden] {
  display:grid!important;
  visibility:hidden;
}
@media(max-width:760px) {
  .worm-contact-rail[hidden] { display:flex!important; }
}

/* Keep the catalogue stationary while filters initialise. */
.index-modes[hidden] {
  display:flex!important;
  visibility:hidden;
}
.index-filters[hidden] {
  display:grid!important;
  visibility:hidden;
}
.index-result { min-height:57px; }
@media(max-width:760px) {
  .index-result { min-height:44px; }
}

/* Physics: a sixth Lab object, photographed from the live chrome study. */
.plate-physics{grid-column:5/-1;margin-top:65px}
.plate-physics .plate-drawing{display:block;padding:0;background:var(--paper);overflow:hidden}
.plate-physics .plate-drawing img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(max-width:760px){.plate-physics{grid-column:1/-1;margin-top:0}}

/* The archive is a set of rooms: a hanging, a cinema, printed matter,
   editions, a light installation. Each follows the dimensions of its work. */
.ex-micro,.ex-bar,.ex-exit,.ex-view-controls,.ex-theatre-top,.ex-object-state,
.ex-object-record dl,.ex-source-notes>summary,.ex-published-material>summary,
.ex-solo-top,.ex-animation-controls {
  font:11px/1.4 var(--mono);
  letter-spacing:.045em;
  text-transform:uppercase;
}
.ex-bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:100px;
  gap:20px;
  margin:0 var(--gutter);
  border-bottom:1px solid var(--line);
}
.ex-bar h1 {font:inherit; font-size:14px;}
.ex-bar>div {display:flex;align-items:center;gap:20px;}
.ex-bar a,.ex-bar button {min-height:44px;display:inline-flex;align-items:center;}
.ex-frame {min-width:0; margin:0;}
.ex-frame .work-link {display:block; position:relative;}
.ex-frame img {width:100%; height:auto;}
.ex-frame .animation-mark {position:absolute;bottom:16px;right:16px;background:var(--paper);padding:10px;color:var(--ink);}
.ex-exit {margin:80px var(--gutter) 0;border-top:1px solid var(--line);padding:25px 0 45px;}
.ex-exit a {display:flex;justify-content:space-between;min-height:44px;align-items:center;}
.ex-view-controls {display:flex;gap:22px;}
.ex-view-controls button {position:relative;padding:0;}
.ex-view-controls [aria-pressed="true"]::before {content:'';width:5px;height:5px;background:var(--signal);margin-right:7px;}

/* Image: irregular hanging with close/far changes of scale. */
.ex-hanging {padding:50px var(--gutter) 100px;}
.ex-sequence-group {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start; margin-bottom:clamp(90px,16vw,260px);}
.ex-sequence-group:last-child {margin-bottom:0;}
.ex-duet .ex-frame:first-child {grid-column:2/7;}
.ex-duet .ex-frame:nth-child(2) {grid-column:9/13;margin-top:clamp(90px,18vw,280px);}
.ex-panorama .ex-frame {grid-column:1/13;}
.ex-panorama .ex-portrait {grid-column:4/10;}
.ex-triptych .ex-frame:first-child {grid-column:1/5;}
.ex-triptych .ex-frame:nth-child(2) {grid-column:5/9;margin-top:15vw;}
.ex-triptych .ex-frame:nth-child(3) {grid-column:10/13;margin-top:4vw;}
.ex-counterpoint .ex-frame:first-child {grid-column:1/8;}
.ex-counterpoint .ex-frame:nth-child(2) {grid-column:9/13;margin-top:10vw;}
.ex-isolated .ex-frame {grid-column:4/10;}
.ex-isolated .ex-wide {grid-column:2/12;}
.ex-images[data-ex-mode="sheet"] .ex-hanging {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,3vw,50px);padding-bottom:70px;align-items:center;}
.ex-images[data-ex-mode="sheet"] .ex-sequence-group {display:contents;}
.ex-images[data-ex-mode="sheet"] .ex-frame {grid-column:auto;margin:0!important;}
.ex-images[data-ex-mode="sheet"] .ex-frame img {max-height:280px;object-fit:contain;}

/* Film: a dark programme with a still before any player connection. */
.ex-cinema,.ex-theatre,.ex-production,.ex-motion {background:#111210;color:#eeeae2;--line:#41423f;}
.ex-cinema-opening {padding:22px var(--gutter) 75px;}
.ex-cinema-opening>a {display:block;position:relative;}
.ex-cinema-opening img {max-height:74vh;object-fit:contain;object-position:center;background:#050605;}
.ex-cinema-feature {display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:clamp(17px,2.1vw,34px);border-bottom:1px solid var(--line);}
.ex-programme {margin:0 var(--gutter);padding-bottom:30px;}
.ex-programme-entry {display:grid;grid-template-columns:60px minmax(0,1fr) 18% 40px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;min-height:135px;}
.ex-programme-entry:first-child {border-top:1px solid var(--line);}
.ex-programme-number {font:11px var(--mono);color:#aaa;align-self:start;padding-top:8px;}
.ex-programme-entry h2 {font-size:clamp(19px,3.3vw,54px);font-weight:400;line-height:1.05;letter-spacing:-.045em;max-width:850px;}
.ex-programme-entry>span:last-child {font-size:28px;text-align:right;}
.ex-programme-still img {width:100%;aspect-ratio:16/9;object-fit:contain;}
.ex-programme-entry:hover h2,.ex-programme-entry:focus-visible h2 {color:#f34739;}
.ex-theatre {min-height:calc(100svh - 72px);padding:0 var(--gutter) 65px;}
.ex-theatre-top {display:flex;justify-content:space-between;align-items:center;min-height:80px;}
.ex-theatre-top a {min-height:44px;display:flex;align-items:center;}
.ex-theatre-screen {max-width:1540px;margin:0 auto;}
.ex-screen {position:relative;background:#000;aspect-ratio:16/9;}
.ex-screen .video-load {padding:0;display:block;width:100%;height:100%;position:relative;}
.ex-screen .video-load img {width:100%;height:100%;object-fit:contain;}
.ex-screen .video-load picture {height:100%;}
.ex-screen iframe {width:100%;height:100%;border:0;position:absolute;inset:0;}
.ex-play {position:absolute;left:24px;bottom:24px;background:var(--paper);color:var(--ink);padding:15px 19px;display:flex;gap:28px;align-items:center;font:11px/1 var(--mono);text-transform:uppercase;}
.ex-play>span {color:var(--signal);font-size:17px;}
.ex-screen .video-load:hover .ex-play,.ex-screen .video-load:focus-visible .ex-play {background:#d52b1e;color:#fff;}
.ex-screen .video-load:hover .ex-play>span {color:inherit;}
.ex-film-title {padding-top:25px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;}
.ex-film-title h1 {font-size:clamp(24px,4vw,64px);max-width:1000px;font-weight:400;line-height:1.08;letter-spacing:-.045em;}
.ex-film-title>a {font:11px/1.5 var(--mono);padding:10px 0;}

/* Two artist doors: a portrait world and an artificial human. */
.ex-world-doors {display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 72px);background:#10110f;color:var(--paper);}
.ex-world-door {position:relative;display:grid;grid-template-rows:1fr auto;min-width:0;padding:40px;border-right:1px solid #454641;}
.ex-door-image {min-width:0;display:flex;align-items:center;justify-content:center;}
.ex-door-image picture {width:100%;}
.ex-door-image img {max-height:66vh;object-fit:contain;width:100%;}
.ex-door-type {padding-top:40px;display:grid;grid-template-columns:1fr auto;gap:15px;}
.ex-door-type h2 {font-size:clamp(45px,8vw,135px);line-height:.8;letter-spacing:-.065em;}
.ex-door-type>span:nth-child(2) {grid-row:2;font:11px/1.4 var(--mono);text-transform:uppercase;}
.ex-door-type>span:last-child {grid-column:2;grid-row:1/3;align-self:end;font-size:40px;}
.ex-door-tarns {background:var(--paper);color:var(--ink);}
.ex-tarns {background:#d8d9d2;color:#20221f;}
.ex-tarns-opening {padding:35px var(--gutter) 80px;display:grid;grid-template-columns:1fr 1fr;gap:35px;}
.ex-tarns-opening h1 {grid-column:1/3;font-size:clamp(95px,21.5vw,340px);font-weight:300;letter-spacing:-.085em;line-height:.85;}
.ex-tarns-opening p {font-size:clamp(30px,7vw,112px);line-height:.9;letter-spacing:-.06em;max-width:550px;margin-top:60px;}
.ex-tarns-question {align-self:end;justify-self:end;font:11px/1.5 var(--mono);text-transform:uppercase;}
.ex-tarns-screen {margin:0 var(--gutter);}
.ex-release-block {display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:130px var(--gutter);align-items:center;}
.ex-release-copy {display:flex;flex-direction:column;align-items:start;gap:30px;}
.ex-release-copy h2 {font-size:clamp(30px,5vw,76px);line-height:1;letter-spacing:-.055em;}
.ex-release-copy a {font:12px var(--mono);border-bottom:1px solid;padding:15px 0;}
.ex-release {display:grid;grid-template-columns:7fr 5fr;min-height:80vh;align-items:center;background:#d8d9d2;padding:70px var(--gutter);gap:7vw;}
.ex-release-notes {display:flex;flex-direction:column;align-items:start;gap:30px;}
.ex-release-notes h1 {font-size:clamp(30px,5vw,80px);line-height:1;letter-spacing:-.055em;}
.ex-release-notes>a {font:12px var(--mono);min-height:44px;display:flex;align-items:center;border-bottom:1px solid;}
.ex-release-notes details {max-width:480px;line-height:1.6;font-size:14px;}
.ex-release-notes summary {font:11px var(--mono);text-transform:uppercase;cursor:pointer;padding:14px 0;}
.ex-release-notes p+p {margin-top:15px;}
.ex-worm-archive {background:#111210;color:var(--paper);padding:50px 0 0;--line:#41423f;}
.ex-worm-archive>header {display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:25px;padding:0 var(--gutter) 55px;}
.ex-worm-archive h1 {font-size:clamp(90px,20vw,320px);letter-spacing:-.09em;line-height:.85;grid-column:1/3;}
.ex-worm-archive header p {font:12px/1.5 var(--mono);}
.ex-worm-archive header a {justify-self:end;font:12px/1.5 var(--mono);}
.ex-worm-strip {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;}
.ex-worm-strip .ex-frame:nth-child(3n+2) {padding-top:45px;}
.ex-worm-strip .ex-frame:nth-child(3n+1) {padding-bottom:45px;}

/* Collections are broad drawers with their actual contents exposed. */
.ex-collections {padding-bottom:30px;}
.ex-drawers {margin:40px var(--gutter) 0;}
.ex-collection-drawer {display:grid;grid-template-columns:minmax(0,1fr) 37% 45px 45px;gap:25px;align-items:center;border-bottom:1px solid var(--ink);min-height:215px;padding:25px 0;}
.ex-collection-drawer:first-child {border-top:1px solid var(--ink);}
.ex-collection-drawer h2 {font-size:clamp(26px,4.5vw,72px);font-weight:400;letter-spacing:-.05em;line-height:.97;max-width:600px;}
.ex-drawer-images {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:center;}
.ex-drawer-images picture {min-width:0;}
.ex-drawer-images img {height:150px;object-fit:contain;}
.ex-drawer-count {font:11px var(--mono);align-self:start;}
.ex-drawer-arrow {font-size:30px;text-align:right;}
.ex-collection-drawer:hover h2 {color:var(--signal);}
.ex-stage-sequence {padding:55px var(--gutter) 100px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:100px 25px;align-items:center;}
.ex-stage-sequence .ex-frame:nth-child(1) {grid-column:2/12;}
.ex-stage-sequence .ex-frame:nth-child(2) {grid-column:1/6;}
.ex-stage-sequence .ex-frame:nth-child(3) {grid-column:7/13;margin-top:150px;}
.ex-stage-sequence .ex-frame:nth-child(4) {grid-column:2/12;}
.ex-stage-sequence .ex-frame:nth-child(5) {grid-column:4/13;}
.ex-graphics {background:#fff;}
.ex-print-table {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 35px;align-items:center;padding:65px var(--gutter) 130px;}
.ex-print-table .ex-frame {grid-column:span 4;}
.ex-print-table .ex-frame:nth-child(6n+1) {grid-column:span 5;}
.ex-print-table .ex-frame:nth-child(6n+2) {grid-column:span 3;}
.ex-print-table .ex-frame:nth-child(6n+2) img {width:84%;margin:auto;}
.ex-print-table .ex-frame:nth-child(6n+5) {grid-column:span 4;}
.ex-print-table .ex-frame:nth-child(6n+6) img {width:75%;margin:auto;}
.ex-screened {background:#fff;}
.ex-screened-heading {display:flex;justify-content:space-between;align-items:center;gap:30px;padding:55px var(--gutter) 60px;}
.ex-screened-heading h1 {font-size:clamp(45px,9.4vw,150px);line-height:.88;letter-spacing:-.085em;font-weight:600;}
.ex-screened-heading>picture {width:8vw;flex:none;}
.ex-screened-heading>img {width:8vw;flex:none;}
.ex-screened-sequence {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 20px;padding:0 var(--gutter) 80px;align-items:center;}
.ex-screened-sequence .ex-frame:nth-child(7n+1) {grid-column:2/6;}
.ex-screened-sequence .ex-frame:nth-child(7n+2) {grid-column:7/13;margin-top:90px;}
.ex-screened-sequence .ex-frame:nth-child(7n+3) {grid-column:1/9;}
.ex-screened-sequence .ex-frame:nth-child(7n+4) {grid-column:10/13;margin-top:100px;}
.ex-screened-sequence .ex-frame:nth-child(7n+5) {grid-column:1/5;}
.ex-screened-sequence .ex-frame:nth-child(7n+6) {grid-column:5/9;margin-top:90px;}
.ex-screened-sequence .ex-frame:nth-child(7n+7) {grid-column:9/13;}
.ex-five-works {padding:55px var(--gutter) 130px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:100px 20px;align-items:center;}
.ex-five-works .ex-frame:nth-child(1) {grid-column:1/9;}
.ex-five-works .ex-frame:nth-child(2) {grid-column:10/13;margin-top:140px;}
.ex-five-works .ex-frame:nth-child(3) {grid-column:3/11;}
.ex-five-works .ex-frame:nth-child(4) {grid-column:1/6;}
.ex-five-works .ex-frame:nth-child(5) {grid-column:8/13;margin-top:140px;}
.ex-photographers {display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:60px 18vw 100px;align-items:center;}
.ex-photographers .ex-frame:last-child {margin-top:90px;}
.ex-live-sequence {background:#0f100e;padding:80px var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:center;}
.ex-live-sequence .ex-frame {grid-column:span 3;}
.ex-live-sequence .ex-frame:nth-child(7n+1) {grid-column:span 6;}
.ex-live-sequence .ex-frame:nth-child(7n+2) {grid-column:span 6;}
.ex-live-sequence .ex-frame:nth-child(7n+3) {grid-column:span 4;}
.ex-live-sequence .ex-frame:nth-child(7n+4) {grid-column:span 4;}
.ex-live-sequence .ex-frame:nth-child(7n+5) {grid-column:span 4;}
.ex-photography>.ex-hanging {padding-top:140px;}
.ex-source-notes,.ex-published-material {margin:0 var(--gutter);border-top:1px solid var(--line);}
.ex-source-notes>summary,.ex-published-material>summary {padding:25px 0;cursor:pointer;min-height:65px;}
.ex-source-notes>div {max-width:600px;font-size:14px;line-height:1.6;padding:10px 0 50px;}
.ex-source-notes p+p {margin-top:15px;}
.ex-published-sheet {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px;align-items:center;padding:30px 0 70px;}

/* A single image gets a wall, not a synthetic project title. */
.ex-solo {padding:0 var(--gutter) 70px;min-height:calc(100svh - 72px);}
.ex-solo-top {display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:70px;}
.ex-solo-top h1 {font:inherit;font-size:11px;}
.ex-solo-top a {min-height:44px;display:flex;align-items:center;}
.ex-solo-art {min-height:60vh;display:flex;align-items:center;justify-content:center;}
.ex-solo-art .ex-frame {width:100%;}
.ex-solo-art img {max-height:calc(100svh - 210px);width:100%;object-fit:contain;}
.ex-animation-controls {display:flex;justify-content:center;padding-top:25px;}
.ex-animation-controls button {min-height:44px;border-bottom:1px solid;padding:10px 0;}

/* Editions: garment elevations and quiet accession records. */
.ex-objects {background:#fff;}
.ex-object-room {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:110px 25px;padding:70px var(--gutter) 140px;align-items:end;}
.ex-object {min-width:0;grid-column:span 4;}
.ex-object-1 {grid-column:2/7;}
.ex-object-2 {grid-column:8/12;}
.ex-object-3 {grid-column:1/5;}
.ex-object-4 {grid-column:6/10;}
.ex-object-5 {grid-column:2/6;}
.ex-object-6 {grid-column:7/11;}
.ex-object-7 {grid-column:4/10;}
.ex-object-elevation {background:#fff;}
.ex-object-elevation img {width:100%;height:auto;}
.ex-object-label {display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--ink);padding:15px 0 12px;align-items:center;margin-top:25px;}
.ex-object-label h2 {font-size:clamp(16px,1.7vw,26px);letter-spacing:-.035em;}
.ex-object-state {font-size:10px;}
.ex-object-detail {background:#fff;padding:60px var(--gutter) 110px;display:grid;grid-template-columns:7fr 5fr;gap:7vw;align-items:center;}
.ex-object-plinth {background:#fff;}
.ex-object-record h1 {font-size:clamp(35px,5.1vw,83px);line-height:1;letter-spacing:-.055em;margin:40px 0;}
.ex-object-record dl {border-top:1px solid var(--ink);margin:0 0 35px;}
.ex-object-record dl>div {display:flex;justify-content:space-between;gap:25px;padding:14px 0;border-bottom:1px solid var(--line);}
.ex-object-record dd {margin:0;}
.ex-object-record p {font-size:15px;line-height:1.5;margin-bottom:20px;}
.ex-object-record>a {font:12px var(--mono);display:inline-flex;min-height:44px;align-items:center;}

/* Press: reading table, no invented logos or accolades. */
.ex-press {background:#fff;}
.ex-reading-table {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:100px 40px;padding:65px var(--gutter) 110px;}
.ex-reading-table .ex-frame {grid-column:span 6;}
.ex-reading-table .ex-frame:nth-child(4n+1) {grid-column:1/7;}
.ex-reading-table .ex-frame:nth-child(4n+2) {grid-column:8/13;margin-top:100px;}
.ex-reading-table .ex-frame:nth-child(4n+3) {grid-column:2/6;}
.ex-reading-table .ex-frame:nth-child(4n+4) {grid-column:7/13;margin-top:80px;}

/* Motion: nine real moving works in a composed multiscreen installation. */
.ex-motion {padding-bottom:35px;}
.ex-motion .ex-bar {border-color:#41423f;}
.ex-motion .ex-bar button {font:inherit;border-bottom:1px solid #777;}
.ex-motion .ex-bar button[aria-pressed="true"]::before {content:'';width:5px;height:5px;background:#f34739;margin-right:8px;}
.ex-motion-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;height:calc(100svh - 174px);min-height:540px;padding:25px var(--gutter);}
.ex-moving-work {min-width:0;min-height:0;}
.ex-moving-1 {grid-column:4/10;grid-row:1/3;}
.ex-moving-2 {grid-column:1/4;grid-row:1;}
.ex-moving-3 {grid-column:10/13;grid-row:1;}
.ex-moving-4 {grid-column:1/4;grid-row:2;}
.ex-moving-5 {grid-column:10/13;grid-row:2;}
.ex-moving-6 {grid-column:1/5;grid-row:3;}
.ex-moving-7 {grid-column:5/9;grid-row:3;}
.ex-moving-8 {grid-column:9/11;grid-row:3;}
.ex-moving-9 {grid-column:11/13;grid-row:3;}
.ex-motion .motion-surface {display:block;position:relative;overflow:hidden;background:#000;height:100%;}
.ex-motion .motion-poster {width:100%;height:100%;object-fit:contain;}
.ex-motion .motion-video {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;}
.ex-motion .motion-video[data-ready] {opacity:1;}
.ex-motion .motion-expand {position:absolute;right:7px;bottom:7px;background:#fff;color:#171715;width:30px;height:30px;display:grid;place-items:center;font-size:19px;}
#motion-viewer {border:0;padding:20px 28px;width:100vw;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;background:#090a08;color:var(--paper);}
#motion-viewer[open] {display:grid;grid-template-rows:44px minmax(0,1fr) 60px;gap:15px;}
#motion-viewer::backdrop {background:#090a08;}
.motion-viewer-top {display:flex;justify-content:flex-end;align-items:center;}
.motion-viewer-stage {min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;position:relative;}
.motion-viewer-stage video {max-width:100%;max-height:100%;width:auto;height:auto;}
.motion-viewer-top button,.motion-viewer-bottom button,.motion-viewer-bottom a {font:11px var(--mono);text-transform:uppercase;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
.motion-viewer-bottom {display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #41423f;}
.motion-playback-status {position:absolute;bottom:20px;background:#090a08;padding:15px;font:12px var(--mono);}

/* Notes and an empty room: utility routes still belong to the practice. */
.ex-privacy {padding:80px var(--gutter) 120px;display:grid;grid-template-columns:5fr 7fr;gap:7vw;}
.ex-privacy h1 {font-size:clamp(50px,7vw,112px);letter-spacing:-.065em;line-height:1;margin-top:28px;}
.ex-privacy-record {border-top:1px solid var(--ink);}
.ex-privacy-record section {display:grid;grid-template-columns:1fr 2fr;gap:35px;border-bottom:1px solid var(--line);padding:28px 0;}
.ex-privacy-record h2 {font:11px/1.5 var(--mono);text-transform:uppercase;}
.ex-privacy-record p {font-size:15px;line-height:1.6;max-width:520px;}
.ex-not-found {position:relative;padding:40px var(--gutter) 80px;min-height:80vh;}
.ex-empty-space {height:25vh;margin:35px 18vw;border:1px solid var(--line);border-bottom:0;}
.ex-not-found h1 {font-size:clamp(45px,8.5vw,136px);line-height:.9;letter-spacing:-.065em;}
.ex-not-found>a {display:inline-flex;margin-top:40px;min-height:44px;align-items:center;font:12px var(--mono);}

@media(min-width:1800px) {
  .ex-hanging,.ex-print-table,.ex-reading-table {max-width:1900px;margin:auto;}
}
@media(max-width:900px) {
  .ex-programme-entry {grid-template-columns:35px minmax(0,1fr) 21% 25px;gap:15px;}
  .ex-collection-drawer {grid-template-columns:minmax(0,1fr) 35% 24px 25px;gap:15px;}
  .ex-drawer-images img {height:100px;}
  .ex-release,.ex-object-detail {gap:35px;}
  .ex-privacy {grid-template-columns:1fr;gap:50px;}
}
@media(max-width:720px) {
  .ex-bar {min-height:75px;gap:12px;}
  .ex-bar>div {gap:12px;}
  .ex-bar h1 {font-size:12px;}
  .ex-view-controls {gap:15px;letter-spacing:0;font-size:10px;}
  .ex-exit {margin-top:45px;padding:15px 0 30px;}
  .ex-hanging {padding:35px 0 65px;}
  .ex-sequence-group {gap:12px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:65px;}
  .ex-duet .ex-frame:first-child {grid-column:1/5;margin-left:var(--gutter);}
  .ex-duet .ex-frame:nth-child(2) {grid-column:3/7;margin-top:15px;margin-right:var(--gutter);}
  .ex-panorama .ex-frame {grid-column:1/7;}
  .ex-panorama .ex-portrait {grid-column:2/6;}
  .ex-triptych .ex-frame:first-child {grid-column:1/4;margin-left:var(--gutter);}
  .ex-triptych .ex-frame:nth-child(2) {grid-column:4/7;margin-top:60px;margin-right:var(--gutter);}
  .ex-triptych .ex-frame:nth-child(3) {grid-column:2/6;margin-top:18px;}
  .ex-counterpoint .ex-frame:first-child {grid-column:1/6;}
  .ex-counterpoint .ex-frame:nth-child(2) {grid-column:3/7;margin-top:25px;margin-right:var(--gutter);}
  .ex-isolated .ex-frame {grid-column:2/6;}
  .ex-isolated .ex-wide {grid-column:1/7;}
  .ex-images[data-ex-mode="sheet"] .ex-hanging {grid-template-columns:repeat(3,minmax(0,1fr));padding:30px var(--gutter) 50px;gap:20px 12px;}
  .ex-images[data-ex-mode="sheet"] .ex-frame img {max-height:160px;}
  .ex-cinema-opening {padding-top:18px;padding-bottom:45px;}
  .ex-cinema-feature {font-size:17px;padding:15px 0;}
  .ex-programme-entry {grid-template-columns:22px minmax(0,1fr) 84px;min-height:110px;gap:12px;padding:20px 0;}
  .ex-programme-entry h2 {font-size:21px;letter-spacing:-.045em;}
  .ex-programme-entry>span:last-child {display:none;}
  .ex-programme-number {font-size:9px;}
  .ex-theatre {padding-bottom:45px;}
  .ex-theatre-top {min-height:65px;}
  .ex-theatre-screen {margin:0 calc(-1 * var(--gutter));}
  .ex-play {left:12px;bottom:12px;padding:12px;gap:15px;font-size:10px;}
  .ex-film-title {grid-template-columns:1fr;gap:18px;padding-top:24px;}
  .ex-film-title h1 {font-size:34px;}
  .ex-film-title>a {justify-self:start;min-height:44px;}
  .ex-world-doors {grid-template-columns:1fr;}
  .ex-world-door {padding:28px var(--gutter);min-height:75vh;border-right:0;}
  .ex-door-image img {max-height:56vh;}
  .ex-door-type h2 {font-size:23vw;}
  .ex-tarns-opening {padding-top:35px;padding-bottom:45px;gap:25px;}
  .ex-tarns-opening h1 {font-size:22vw;}
  .ex-tarns-opening p {font-size:45px;margin-top:35px;}
  .ex-tarns-question {font-size:9px;max-width:100px;}
  .ex-tarns-screen {margin:0;}
  .ex-release-block {gap:25px;padding:65px var(--gutter);grid-template-columns:5fr 4fr;align-items:start;}
  .ex-release-copy {gap:20px;}
  .ex-release-copy h2 {font-size:28px;}
  .ex-release {grid-template-columns:1fr;padding:35px var(--gutter) 65px;gap:35px;}
  .ex-release-notes {gap:25px;}
  .ex-release-notes h1 {font-size:44px;}
  .ex-worm-archive {padding-top:30px;}
  .ex-worm-archive h1 {font-size:24vw;}
  .ex-worm-archive>header {padding-bottom:35px;}
  .ex-worm-archive header p,.ex-worm-archive header a {font-size:10px;}
  .ex-worm-strip {grid-template-columns:repeat(2,minmax(0,1fr));}
  .ex-worm-strip .ex-frame:nth-child(n) {padding:0;}
  .ex-worm-strip .ex-frame:nth-child(2n) {padding-top:50px;}
  .ex-drawers {margin-top:25px;}
  .ex-collection-drawer {grid-template-columns:1fr 35px;gap:25px;min-height:0;padding:30px 0;}
  .ex-collection-drawer h2 {font-size:36px;max-width:300px;}
  .ex-drawer-images {grid-column:1;grid-row:2;}
  .ex-drawer-images img {height:100px;}
  .ex-drawer-count {grid-column:2;grid-row:1;justify-self:end;}
  .ex-drawer-arrow {grid-column:2;grid-row:2;align-self:end;}
  .ex-stage-sequence {gap:50px 15px;padding:35px 0 65px;grid-template-columns:repeat(6,minmax(0,1fr));}
  .ex-stage-sequence .ex-frame:nth-child(1) {grid-column:1/7;}
  .ex-stage-sequence .ex-frame:nth-child(2) {grid-column:1/6;}
  .ex-stage-sequence .ex-frame:nth-child(3) {grid-column:2/7;margin-top:0;}
  .ex-stage-sequence .ex-frame:nth-child(4) {grid-column:1/7;}
  .ex-stage-sequence .ex-frame:nth-child(5) {grid-column:2/7;}
  .ex-print-table {grid-template-columns:repeat(6,minmax(0,1fr));gap:50px 20px;padding:40px var(--gutter) 70px;}
  .ex-print-table .ex-frame:nth-child(n) {grid-column:span 3;}
  .ex-print-table .ex-frame:nth-child(5n+1) {grid-column:1/7;max-width:90%;}
  .ex-print-table .ex-frame:nth-child(6n+2) img,.ex-print-table .ex-frame:nth-child(6n+6) img {width:100%;}
  .ex-screened-heading {padding:35px var(--gutter) 40px;gap:10px;}
  .ex-screened-heading h1 {font-size:10.1vw;}
  .ex-screened-heading>picture,.ex-screened-heading>img {width:10vw;}
  .ex-screened-sequence {grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 12px;padding:0 0 55px;}
  .ex-screened-sequence .ex-frame:nth-child(7n+1) {grid-column:1/4;margin-left:var(--gutter);}
  .ex-screened-sequence .ex-frame:nth-child(7n+2) {grid-column:4/7;margin-top:50px;margin-right:var(--gutter);}
  .ex-screened-sequence .ex-frame:nth-child(7n+3) {grid-column:1/7;}
  .ex-screened-sequence .ex-frame:nth-child(7n+4) {grid-column:2/6;margin-top:25px;}
  .ex-screened-sequence .ex-frame:nth-child(7n+5) {grid-column:1/4;margin-left:var(--gutter);}
  .ex-screened-sequence .ex-frame:nth-child(7n+6) {grid-column:4/7;margin-top:45px;margin-right:var(--gutter);}
  .ex-screened-sequence .ex-frame:nth-child(7n+7) {grid-column:2/6;}
  .ex-five-works {grid-template-columns:repeat(6,minmax(0,1fr));padding:35px 0 70px;gap:50px 15px;}
  .ex-five-works .ex-frame:nth-child(1) {grid-column:1/7;}
  .ex-five-works .ex-frame:nth-child(2) {grid-column:3/7;margin-top:0;margin-right:var(--gutter);}
  .ex-five-works .ex-frame:nth-child(3) {grid-column:1/6;}
  .ex-five-works .ex-frame:nth-child(4) {grid-column:1/5;margin-left:var(--gutter);}
  .ex-five-works .ex-frame:nth-child(5) {grid-column:3/7;margin-top:0;}
  .ex-photographers {padding:35px var(--gutter) 65px;gap:25px;}
  .ex-photographers .ex-frame:last-child {margin-top:70px;}
  .ex-live-sequence {padding:40px 12px;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr));}
  .ex-live-sequence .ex-frame:nth-child(n) {grid-column:span 3;}
  .ex-live-sequence .ex-frame:nth-child(7n+1) {grid-column:1/7;}
  .ex-photography>.ex-hanging {padding-top:65px;}
  .ex-published-sheet {grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 15px;padding-top:20px;}
  .ex-solo {padding-bottom:45px;}
  .ex-solo-art {min-height:55vh;margin:0 calc(-1 * var(--gutter));}
  .ex-solo-art img {max-height:72svh;}
  .ex-solo-art .ex-portrait {padding:0 var(--gutter);}
  .ex-object-room {grid-template-columns:repeat(6,minmax(0,1fr));gap:60px 15px;padding:40px var(--gutter) 80px;}
  .ex-object:nth-child(n) {grid-column:1/6;}
  .ex-object:nth-child(2n) {grid-column:2/7;}
  .ex-object-3 {max-width:80%;}
  .ex-object-label {margin-top:15px;}
  .ex-object-label h2 {font-size:21px;}
  .ex-object-detail {grid-template-columns:1fr;padding:35px var(--gutter) 70px;gap:35px;}
  .ex-object-record h1 {font-size:45px;margin:25px 0 35px;}
  .ex-reading-table {grid-template-columns:repeat(6,minmax(0,1fr));padding:35px var(--gutter) 70px;gap:50px 15px;}
  .ex-reading-table .ex-frame:nth-child(4n+1) {grid-column:1/7;}
  .ex-reading-table .ex-frame:nth-child(4n+2) {grid-column:2/7;margin-top:0;}
  .ex-reading-table .ex-frame:nth-child(4n+3) {grid-column:1/6;}
  .ex-reading-table .ex-frame:nth-child(4n+4) {grid-column:1/7;margin-top:0;}
  .ex-motion-grid {grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;gap:7px;padding:30px 8px 50px;height:auto;min-height:0;align-items:center;}
  .ex-motion .motion-surface {height:auto;}
  .ex-motion .motion-poster {height:auto;}
  .ex-moving-1 {grid-column:2/6;grid-row:1;}
  .ex-moving-2 {grid-column:1/4;grid-row:2;margin-top:35px;}
  .ex-moving-3 {grid-column:4/7;grid-row:2;margin-top:75px;}
  .ex-moving-4 {grid-column:1/4;grid-row:3;margin-top:25px;}
  .ex-moving-5 {grid-column:4/7;grid-row:3;margin-top:60px;}
  .ex-moving-6 {grid-column:1/7;grid-row:4;margin-top:45px;}
  .ex-moving-7 {grid-column:1/6;grid-row:5;margin-top:50px;}
  .ex-moving-8 {grid-column:3/7;grid-row:6;margin-top:20px;}
  .ex-moving-9 {grid-column:2/6;grid-row:7;margin-top:50px;}
  #motion-viewer {padding:10px 14px;}
  #motion-viewer[open] {grid-template-rows:44px minmax(0,1fr) auto;}
  .motion-viewer-bottom {gap:7px;flex-wrap:wrap;justify-content:center;padding-top:10px;}
  .motion-viewer-bottom button,.motion-viewer-bottom a {font-size:10px;}
  .motion-viewer-bottom button:first-child {margin-right:auto;}
  .motion-viewer-bottom button:last-child {margin-left:auto;}
  .ex-privacy {padding:45px var(--gutter) 75px;gap:45px;}
  .ex-privacy h1 {font-size:65px;margin-top:20px;}
  .ex-privacy-record section {grid-template-columns:1fr;gap:15px;padding:25px 0;}
  .ex-privacy-record p {font-size:15px;}
  .ex-not-found {padding-top:30px;}
  .ex-empty-space {height:25vh;margin:30px 15vw;}
  .ex-not-found h1 {font-size:13vw;}
}
@media(prefers-reduced-motion:reduce) {
  .ex-frame,.ex-frame img,.ex-programme-entry,.ex-collection-drawer {transition:none;}
}

/* Small discoveries inside existing marks. Artwork and layout stay untouched. */
.nav-identity.play-mark {
  width:44px;
  height:44px;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  cursor:grab;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.play-mark:active { cursor:grabbing; }
.play-mark:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.play-mark-fallback {
  position:absolute;
  inset:0;
  display:block;
  font:35px/44px var(--sans,sans-serif);
  text-align:center;
  pointer-events:none;
}
.play-mark-canvas {
  position:absolute;
  left:50%;
  top:50%;
  width:64px;
  height:64px;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.play-mark[data-shader="ready"] .play-mark-fallback { visibility:hidden; }
.play-mark-canvas[hidden] { display:none; }
.play-glyph { transform-box:fill-box; transform-origin:center; }
.play-glyph.play-moving { will-change:transform; }
.play-switch-piece { transform-origin:center; }
.nav-card .nav-object.play-glyph-holder { transition:none; }
.nav-card:hover .nav-object.play-glyph-holder,
.nav-card:focus-visible .nav-object.play-glyph-holder,
.nav-card:nth-child(even):hover .nav-object.play-glyph-holder,
.nav-card:nth-child(even):focus-visible .nav-object.play-glyph-holder { transform:none; }
.play-rule { position:relative; }
.play-rule-line {
  position:absolute;
  left:0;
  top:-9px;
  width:100%;
  height:18px;
  pointer-events:none;
  display:block;
}
.play-rule-bottom>.play-rule-line { top:auto; bottom:-9px; }
.site-footer.play-rule-ready { border-top-color:transparent; }
.frontispiece>.folio-line.play-rule-ready { border-bottom-color:transparent; }
.play-connection-trace { fill:none; stroke-width:1.4; stroke-linecap:round; pointer-events:none; }
@media(prefers-reduced-motion:reduce) {
  .play-glyph { transform:none!important; }
  .play-rule-line { visibility:hidden; }
  .site-footer.play-rule-ready { border-top-color:currentColor; }
  .frontispiece>.folio-line.play-rule-ready { border-bottom-color:var(--ink,currentColor); }
}

/* Chrome objects live in the negative space of each room. */
.jewel-unique .jewel-engraving{background-image:none}
.jewel-unique .jewel-engraving svg{opacity:1;visibility:visible}
.jewel-object:target::before{opacity:1;transform:scale(1.1)}
.jewel-sound-toggle{display:inline-flex;align-items:center;gap:8px;padding:12px 0;margin:8px 0 0;border:0;background:none;color:inherit;font:inherit;font-size:11px;letter-spacing:.07em;cursor:pointer;opacity:.65}
.jewel-sound-toggle:hover,.jewel-sound-toggle:focus-visible{opacity:1}
.jewel-sound-toggle svg{width:18px;height:18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.jewel-sound-toggle[aria-pressed=false] .jewel-sound-waves{opacity:.15}
.jewel-field{--jewel-light:#e4ff00;position:relative;isolation:isolate;min-width:0;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:clamp(6px,2vw,30px);color:inherit;contain:style}
.jewel-object{--jewel-color:#e4ff00;position:relative;display:block;flex:0 1 auto;width:clamp(105px,13vw,190px);height:clamp(105px,13vw,190px);min-width:0;max-width:100%;padding:0;margin:0;border:0!important;border-radius:50%;background:transparent!important;color:inherit;line-height:1;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;vertical-align:middle;isolation:isolate;transition:filter .3s ease;overflow:visible}
.jewel-object:disabled{opacity:1;cursor:default}.jewel-object:active{cursor:grabbing}.jewel-object:focus-visible{outline:1px solid currentColor;outline-offset:0}
.jewel-palette-0{--jewel-color:#e4ff00}.jewel-palette-1{--jewel-color:#ff6a00}.jewel-palette-2{--jewel-color:#ff283c}.jewel-palette-3{--jewel-color:#ff16b8}.jewel-palette-4{--jewel-color:#245bff}.jewel-palette-5{--jewel-color:#38ff44}
.jewel-object::after{content:none}
.jewel-object::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--jewel-color) 11%,transparent),transparent 67%);opacity:.38;transform:scale(.9);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.jewel-object:is(:hover,:focus-visible)::before,.jewel-object[data-jewel-active]::before{opacity:1;transform:scale(1.1)}
.jewel-touch-halo{position:absolute;inset:10%;border:1px solid var(--jewel-color);border-radius:50%;opacity:0;pointer-events:none}
.jewel-still{position:absolute;inset:0;display:block;background-position:center;background-size:contain;background-repeat:no-repeat;pointer-events:none;transition:opacity .18s ease}
.jewel-still svg{display:block;width:76%;height:76%;margin:12%;color:#8d9498;filter:drop-shadow(0 2px 1px #fff)}.jewel-fallback-bead{fill:var(--jewel-color)}
.jewel-object[data-jewel-renderer="webgl"]>.jewel-still{opacity:0}
.jewel-webgl{position:fixed;inset:0;width:100%;height:100%;pointer-events:none!important;z-index:12;display:block;contain:strict}
body.menu-open>.jewel-webgl{z-index:40}
body.modal-open>.jewel-webgl{visibility:hidden}
.jewel-directory{margin:0 var(--gutter) 22px;min-height:132px;padding:0 2vw;gap:10px}
.jewel-directory .jewel-object{width:16%;height:132px}
.jewel-crown{display:inline-flex!important;justify-content:center;flex:0 0 auto;gap:0!important;width:clamp(150px,17vw,240px);height:clamp(82px,7.8vw,114px);margin:0 2vw;align-self:center;vertical-align:middle}
.jewel-crown .jewel-object{width:50%;height:100%;min-height:0;max-height:114px}
.jewel-crown .jewel-object:nth-child(2){transform:translateY(8px)}
.jewel-garland,.jewel-bridge,.jewel-coda,.jewel-ribbon{margin:clamp(14px,2.5vw,42px) var(--gutter);padding:16px clamp(0px,3vw,40px);min-height:170px;clear:both}
.jewel-bridge{min-height:136px;margin-top:16px;margin-bottom:22px;padding:0 clamp(0px,8vw,100px)}
.jewel-bridge .jewel-object{width:clamp(100px,11vw,158px);height:clamp(100px,11vw,158px)}
.jewel-garland .jewel-object:nth-of-type(2n){align-self:flex-start;transform:translateY(-14px)}
.jewel-garland .jewel-object:nth-of-type(3n){align-self:flex-end;transform:translateY(14px)}
.jewel-arrangement-1.jewel-garland{padding-left:7vw;padding-right:2vw}
.jewel-arrangement-2.jewel-garland{padding-left:1vw;padding-right:7vw}
.jewel-ribbon{min-height:100px;margin-top:0;margin-bottom:5px;padding:0 3vw}
.jewel-ribbon .jewel-object{width:clamp(84px,8vw,125px);height:clamp(84px,8vw,125px)}
.jewel-wire{position:absolute;inset:12% 0;width:100%;height:76%;overflow:visible;pointer-events:none;z-index:-1}
.jewel-wire path{fill:none;stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linecap:round}
.jewel-wire-base{stroke:currentColor;opacity:.21}.jewel-wire-light{stroke:var(--jewel-light);stroke-width:2!important;stroke-dasharray:100 1100;stroke-dashoffset:1100;opacity:0}
.jewel-field[data-jewel-resonating] .jewel-wire-light{opacity:.95;animation:jewel-conduct 1.4s cubic-bezier(.12,.4,.45,1) both}
@keyframes jewel-conduct{0%{stroke-dashoffset:1100;opacity:0}12%{opacity:1}100%{stroke-dashoffset:-1100;opacity:0}}
.jewel-pin{height:72px;min-height:72px;justify-content:flex-end;gap:0;margin:0;isolation:isolate}
.jewel-pin .jewel-object{width:82px;height:82px;flex:0 0 82px;margin-top:4px}
.jewel-pin .jewel-object:nth-child(2){margin-left:-12px;transform:translateY(10px)}
.jewel-pin .jewel-object::after{opacity:.55}
.jewel-pocket{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:0}
.jewel-home-pocket{position:relative;width:auto;min-height:130px;height:150px;justify-content:space-between;margin:14px 0 0;padding:0 8%}
.jewel-home-pocket .jewel-object{width:160px;height:150px;flex:0 1 160px;max-height:150px}
.jewel-fashion-pocket{position:relative;grid-column:1/4;grid-row:3;align-self:start;justify-self:center;width:min(18vw,250px);height:320px;margin-top:28px}
.jewel-fashion-pocket .jewel-object{height:50%;width:100%}
.jewel-cabinet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:clamp(10px,4vw,60px);max-width:900px;margin:-150px auto 55px;padding:0 var(--gutter)}
.jewel-cabinet .jewel-object{width:clamp(100px,19vw,250px);height:clamp(100px,19vw,250px)}
.jewel-final{margin:50px var(--gutter) 12px;min-height:180px;padding:8px 5vw}
.jewel-final::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.1}
.ex-bar:has(>.jewel-crown),.ex-solo-top:has(>.jewel-crown),.nn-piece-header:has(>.jewel-crown),.work-room-header:has(>.jewel-crown),.loe-register:has(>.jewel-crown),.bg-register:has(>.jewel-crown){flex-wrap:wrap}
.ex-bar>.jewel-crown{order:1}.ex-bar>div:not(.jewel-crown){order:2}
.ex-solo-top>.jewel-crown,.nn-piece-header>.jewel-crown{order:1}.ex-solo-top>a,.nn-piece-header>h1{order:2}
.ex-solo-top h1,.nn-piece-header h1{min-width:0}
.nn-register>.jewel-crown{margin-top:-12px;margin-bottom:-12px}
.nn-masthead>.jewel-fashion-pocket{z-index:2}
.record-preview>.jewel-bridge{margin:0;padding:0;min-height:120px}
.record-preview>.jewel-bridge{height:140px;max-height:140px}
.record-preview>.jewel-bridge .jewel-object{width:50%;height:120px}
.record-header>.jewel-crown,.connection-world>header>.jewel-crown{margin-left:auto}
.about-world>header>.jewel-crown,.ex-tarns-opening>.jewel-crown{display:flex!important;margin:22px 0 0;justify-content:flex-start}
.about-world>.jewel-field{grid-column:1/-1}
.about-current>.jewel-field{margin:30px 0 0;padding:0}
.lab-door>.jewel-crown{justify-self:start;margin:12px 0 0}
.instrument-register:has(>.jewel-crown){flex-wrap:wrap;align-items:center}
.instrument-register>.jewel-crown{margin:-14px 0;height:84px}
.nn-collection-title>.jewel-crown{margin:0}
.lab-plate>.jewel-bridge{margin:18px 0 0;padding:0;min-height:110px}
.lab-plate>.jewel-bridge .jewel-object{width:115px;height:115px}
.ex-sequence-group>.jewel-bridge{margin:12px 0 0;width:100%}
.ex-object-record+.jewel-field{grid-column:1/-1}
.ex-object-detail>.jewel-bridge,.ex-release>.jewel-bridge{grid-column:1/-1;order:3}
.ex-theatre>.jewel-bridge{margin-top:0;margin-bottom:0}
.ex-not-found .ex-empty-space{height:180px}
.jewel-sound-cabinet{margin:35px auto 60px;max-width:1150px;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.jewel-sound-cabinet .jewel-object{width:100%;height:165px}
.jewel-ledger{margin:0!important;padding:0 12%!important;height:108px;min-height:108px;max-height:108px}.jewel-ledger .jewel-object{width:110px;height:110px}
.jewel-programme,.jewel-drawer{margin:0 6vw;min-height:120px}
@media(min-width:1400px){.jewel-garland{padding-left:8vw;padding-right:8vw}.jewel-object{max-width:220px}.jewel-coda{padding-left:12vw;padding-right:12vw}}
@media(max-width:760px){
 .jewel-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 var(--gutter) 14px;min-height:184px;gap:0}
 .jewel-directory .jewel-object{width:100%!important;height:92px!important}
 .jewel-object{width:clamp(72px,23vw,140px);height:clamp(72px,23vw,140px)}
 .jewel-crown{width:142px;height:78px;margin:0}.jewel-crown .jewel-object{width:71px;height:78px;min-height:0}
 .jewel-garland,.jewel-bridge,.jewel-coda{margin:16px var(--gutter);padding:0;min-height:110px;gap:0}
 .jewel-garland:has(>.jewel-object:nth-of-type(5)){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:0;min-height:190px}
 .jewel-garland:has(>.jewel-object:nth-of-type(5)) .jewel-object{width:100%;max-width:130px;height:100px}
 .jewel-garland:has(>.jewel-object:nth-of-type(5)) .jewel-object:nth-of-type(4){grid-column:1/3;justify-self:center;transform:translateX(15px)}
 .jewel-garland:has(>.jewel-object:nth-of-type(5)) .jewel-object:nth-of-type(5){grid-column:3;transform:none}
 .jewel-garland .jewel-object:nth-of-type(2n){transform:translateY(-5px)}.jewel-garland .jewel-object:nth-of-type(3n){transform:translateY(5px)}
 .jewel-bridge .jewel-object{width:clamp(72px,25vw,126px);height:clamp(72px,25vw,126px)}
 .jewel-ribbon{margin:0 0 8px;min-height:88px;padding:0}.jewel-ribbon .jewel-object{width:23%;height:84px}
 .jewel-pin{min-height:65px;height:65px}.jewel-pin .jewel-object{width:68px;height:68px;flex-basis:68px}
 .jewel-final{margin:24px var(--gutter) 0;min-height:118px;gap:0}.jewel-final .jewel-object{width:25%;height:95px}
 .jewel-fashion-pocket{grid-column:6/9;grid-row:4;width:100%;height:165px;align-self:start;margin:36px 0 0}.jewel-fashion-pocket .jewel-object{width:100%;height:50%;max-height:none}
 .jewel-home-pocket{width:auto;min-height:100px;height:100px;margin:20px 0 0;padding:0 8%}.jewel-home-pocket .jewel-object{height:100px;width:100px;flex-basis:100px}
 .jewel-cabinet{margin:-120px auto 36px;gap:8px}.jewel-cabinet .jewel-object{width:100%;height:110px}
 .jewel-sound-cabinet{margin:20px auto 30px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .record-header{flex-wrap:wrap}
 .work-room-header>.jewel-crown,.record-header>.jewel-crown{order:4;flex:0 0 100%;justify-content:flex-end;width:auto;margin:0;height:76px}
 .work-room-header>.jewel-crown .jewel-object,.record-header>.jewel-crown .jewel-object{width:80px;height:76px}
 .nn-piece-header>.jewel-crown{order:3;flex-basis:100%;justify-content:center}.nn-piece-header>.jewel-crown .jewel-object{width:80px}
 .ex-bar:has(>.jewel-crown){gap:8px}.ex-bar>.jewel-crown{margin-left:auto}.ex-bar>div:not(.jewel-crown){flex-wrap:wrap;gap:12px}
 .nn-register>.jewel-crown{width:110px;height:68px}.nn-register>.jewel-crown .jewel-object{width:55px;height:68px}
 .loe-register>.jewel-crown,.bg-register>.jewel-crown{flex-basis:100%;width:100%;height:78px;justify-content:space-around}
 .loe-register>.jewel-crown .jewel-object,.bg-register>.jewel-crown .jewel-object{width:88px;height:78px}
 .about-current>.jewel-field{margin:24px 0 0}.lab-door>.jewel-crown{height:82px}.instrument-register>.jewel-crown{margin:0 0 0 auto;height:65px;width:130px}
 .instrument-register>.jewel-crown .jewel-object{width:65px;height:65px}
}
@media(prefers-reduced-motion:reduce){.jewel-object,.jewel-still,.jewel-object::before{transition:none}.jewel-field[data-jewel-resonating] .jewel-wire-light{animation:none;opacity:.6;stroke-dasharray:none}.jewel-touch-halo{display:none}}

/* Generated by scripts/capture_static_jewels.cjs from actual local 3D forms. */
.jewel-palette-0 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-0.png')}
.jewel-palette-1 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-1.png')}
.jewel-palette-2 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-2.png')}
.jewel-palette-3 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-3.png')}
.jewel-palette-4 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-4.png')}
.jewel-palette-5 .jewel-still-gyroscope{background-image:url('/media/jewel-gyroscope-5.png')}
.jewel-palette-0 .jewel-still-cradle{background-image:url('/media/jewel-cradle-0.png')}
.jewel-palette-1 .jewel-still-cradle{background-image:url('/media/jewel-cradle-1.png')}
.jewel-palette-2 .jewel-still-cradle{background-image:url('/media/jewel-cradle-2.png')}
.jewel-palette-3 .jewel-still-cradle{background-image:url('/media/jewel-cradle-3.png')}
.jewel-palette-4 .jewel-still-cradle{background-image:url('/media/jewel-cradle-4.png')}
.jewel-palette-5 .jewel-still-cradle{background-image:url('/media/jewel-cradle-5.png')}
.jewel-palette-0 .jewel-still-abacus{background-image:url('/media/jewel-abacus-0.png')}
.jewel-palette-1 .jewel-still-abacus{background-image:url('/media/jewel-abacus-1.png')}
.jewel-palette-2 .jewel-still-abacus{background-image:url('/media/jewel-abacus-2.png')}
.jewel-palette-3 .jewel-still-abacus{background-image:url('/media/jewel-abacus-3.png')}
.jewel-palette-4 .jewel-still-abacus{background-image:url('/media/jewel-abacus-4.png')}
.jewel-palette-5 .jewel-still-abacus{background-image:url('/media/jewel-abacus-5.png')}
.jewel-palette-0 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-0.png')}
.jewel-palette-1 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-1.png')}
.jewel-palette-2 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-2.png')}
.jewel-palette-3 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-3.png')}
.jewel-palette-4 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-4.png')}
.jewel-palette-5 .jewel-still-ribbon{background-image:url('/media/jewel-ribbon-5.png')}
.jewel-palette-0 .jewel-still-gem{background-image:url('/media/jewel-gem-0.png')}
.jewel-palette-1 .jewel-still-gem{background-image:url('/media/jewel-gem-1.png')}
.jewel-palette-2 .jewel-still-gem{background-image:url('/media/jewel-gem-2.png')}
.jewel-palette-3 .jewel-still-gem{background-image:url('/media/jewel-gem-3.png')}
.jewel-palette-4 .jewel-still-gem{background-image:url('/media/jewel-gem-4.png')}
.jewel-palette-5 .jewel-still-gem{background-image:url('/media/jewel-gem-5.png')}
.jewel-palette-0 .jewel-still-prism{background-image:url('/media/jewel-prism-0.png')}
.jewel-palette-1 .jewel-still-prism{background-image:url('/media/jewel-prism-1.png')}
.jewel-palette-2 .jewel-still-prism{background-image:url('/media/jewel-prism-2.png')}
.jewel-palette-3 .jewel-still-prism{background-image:url('/media/jewel-prism-3.png')}
.jewel-palette-4 .jewel-still-prism{background-image:url('/media/jewel-prism-4.png')}
.jewel-palette-5 .jewel-still-prism{background-image:url('/media/jewel-prism-5.png')}
.jewel-palette-0 .jewel-still-liquid{background-image:url('/media/jewel-liquid-0.png')}
.jewel-palette-1 .jewel-still-liquid{background-image:url('/media/jewel-liquid-1.png')}
.jewel-palette-2 .jewel-still-liquid{background-image:url('/media/jewel-liquid-2.png')}
.jewel-palette-3 .jewel-still-liquid{background-image:url('/media/jewel-liquid-3.png')}
.jewel-palette-4 .jewel-still-liquid{background-image:url('/media/jewel-liquid-4.png')}
.jewel-palette-5 .jewel-still-liquid{background-image:url('/media/jewel-liquid-5.png')}
.jewel-palette-0 .jewel-still-coil{background-image:url('/media/jewel-coil-0.png')}
.jewel-palette-1 .jewel-still-coil{background-image:url('/media/jewel-coil-1.png')}
.jewel-palette-2 .jewel-still-coil{background-image:url('/media/jewel-coil-2.png')}
.jewel-palette-3 .jewel-still-coil{background-image:url('/media/jewel-coil-3.png')}
.jewel-palette-4 .jewel-still-coil{background-image:url('/media/jewel-coil-4.png')}
.jewel-palette-5 .jewel-still-coil{background-image:url('/media/jewel-coil-5.png')}
.jewel-palette-0 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-0.png')}
.jewel-palette-1 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-1.png')}
.jewel-palette-2 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-2.png')}
.jewel-palette-3 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-3.png')}
.jewel-palette-4 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-4.png')}
.jewel-palette-5 .jewel-still-ratchet{background-image:url('/media/jewel-ratchet-5.png')}
.jewel-palette-0 .jewel-still-mobile{background-image:url('/media/jewel-mobile-0.png')}
.jewel-palette-1 .jewel-still-mobile{background-image:url('/media/jewel-mobile-1.png')}
.jewel-palette-2 .jewel-still-mobile{background-image:url('/media/jewel-mobile-2.png')}
.jewel-palette-3 .jewel-still-mobile{background-image:url('/media/jewel-mobile-3.png')}
.jewel-palette-4 .jewel-still-mobile{background-image:url('/media/jewel-mobile-4.png')}
.jewel-palette-5 .jewel-still-mobile{background-image:url('/media/jewel-mobile-5.png')}
.jewel-palette-0 .jewel-still-constellation{background-image:url('/media/jewel-constellation-0.png')}
.jewel-palette-1 .jewel-still-constellation{background-image:url('/media/jewel-constellation-1.png')}
.jewel-palette-2 .jewel-still-constellation{background-image:url('/media/jewel-constellation-2.png')}
.jewel-palette-3 .jewel-still-constellation{background-image:url('/media/jewel-constellation-3.png')}
.jewel-palette-4 .jewel-still-constellation{background-image:url('/media/jewel-constellation-4.png')}
.jewel-palette-5 .jewel-still-constellation{background-image:url('/media/jewel-constellation-5.png')}
.jewel-palette-0 .jewel-still-reel{background-image:url('/media/jewel-reel-0.png')}
.jewel-palette-1 .jewel-still-reel{background-image:url('/media/jewel-reel-1.png')}
.jewel-palette-2 .jewel-still-reel{background-image:url('/media/jewel-reel-2.png')}
.jewel-palette-3 .jewel-still-reel{background-image:url('/media/jewel-reel-3.png')}
.jewel-palette-4 .jewel-still-reel{background-image:url('/media/jewel-reel-4.png')}
.jewel-palette-5 .jewel-still-reel{background-image:url('/media/jewel-reel-5.png')}
.jewel-palette-0 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-0.png')}
.jewel-palette-1 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-1.png')}
.jewel-palette-2 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-2.png')}
.jewel-palette-3 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-3.png')}
.jewel-palette-4 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-4.png')}
.jewel-palette-5 .jewel-still-pinwheel{background-image:url('/media/jewel-pinwheel-5.png')}
.jewel-palette-0 .jewel-still-chain{background-image:url('/media/jewel-chain-0.png')}
.jewel-palette-1 .jewel-still-chain{background-image:url('/media/jewel-chain-1.png')}
.jewel-palette-2 .jewel-still-chain{background-image:url('/media/jewel-chain-2.png')}
.jewel-palette-3 .jewel-still-chain{background-image:url('/media/jewel-chain-3.png')}
.jewel-palette-4 .jewel-still-chain{background-image:url('/media/jewel-chain-4.png')}
.jewel-palette-5 .jewel-still-chain{background-image:url('/media/jewel-chain-5.png')}
.jewel-palette-0 .jewel-still-marble{background-image:url('/media/jewel-marble-0.png')}
.jewel-palette-1 .jewel-still-marble{background-image:url('/media/jewel-marble-1.png')}
.jewel-palette-2 .jewel-still-marble{background-image:url('/media/jewel-marble-2.png')}
.jewel-palette-3 .jewel-still-marble{background-image:url('/media/jewel-marble-3.png')}
.jewel-palette-4 .jewel-still-marble{background-image:url('/media/jewel-marble-4.png')}
.jewel-palette-5 .jewel-still-marble{background-image:url('/media/jewel-marble-5.png')}
.jewel-palette-0 .jewel-still-fork{background-image:url('/media/jewel-fork-0.png')}
.jewel-palette-1 .jewel-still-fork{background-image:url('/media/jewel-fork-1.png')}
.jewel-palette-2 .jewel-still-fork{background-image:url('/media/jewel-fork-2.png')}
.jewel-palette-3 .jewel-still-fork{background-image:url('/media/jewel-fork-3.png')}
.jewel-palette-4 .jewel-still-fork{background-image:url('/media/jewel-fork-4.png')}
.jewel-palette-5 .jewel-still-fork{background-image:url('/media/jewel-fork-5.png')}
.jewel-still svg{visibility:hidden}

/* A cabinet of the actual objects, each with its own place in the collection. */
.trinket-index{min-width:0;padding:8px 0 0}
.trinket-index[hidden],.trinket-index [hidden]{display:none!important}
.trinket-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;min-width:0}
.trinket-card{min-width:0;position:relative;border:1px solid var(--line,#dedede);background:#fff;color:var(--ink,#151719)}
.trinket-card-dark{background:#141519;color:#f8f8f8;border-color:#2f3136}
.trinket-well{display:grid;place-items:center;position:relative;aspect-ratio:1/1;min-width:0;padding:10px}
.trinket-well>.jewel-object{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:1/1;flex:none}
.trinket-well>.jewel-object:focus-visible{outline:1px solid currentColor;outline-offset:-9px}
.trinket-source{position:relative;display:flex;flex-direction:column;gap:5px;min-height:78px;padding:15px 35px 18px 17px;border-top:1px solid var(--line,#dedede);text-decoration:none;color:inherit;overflow-wrap:anywhere}
.trinket-card-dark .trinket-source{border-color:#34363b}
.trinket-name{font:500 13px/1.35 var(--sans,Arial,sans-serif);letter-spacing:-.015em}
.trinket-source-title{font:10px/1.45 var(--mono,monospace);opacity:.68;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.trinket-voice{font:9px/1.4 var(--mono,monospace);opacity:.68}
.trinket-source-arrow{position:absolute;right:16px;top:16px;font:16px/1 var(--sans,Arial,sans-serif);transition:transform .2s ease}
a.trinket-source:is(:hover,:focus-visible) .trinket-source-arrow{transform:translate(2px,-2px)}
a.trinket-source:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.trinket-index .trinket-drawing{width:88%;height:88%;margin:6%;overflow:visible;filter:none}
.trinket-drawing polyline{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.trinket-card-dark .trinket-drawing{color:#c7ced6}
.trinket-notice{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.trinket-notice p{font:13px/1.5 var(--sans,Arial,sans-serif);margin:0}
.trinket-notice button{font:11px/1.3 var(--mono,monospace);padding:11px 17px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.trinket-index [data-trinket-prev],.trinket-index [data-trinket-next]{min-width:90px;min-height:46px;font:11px/1.3 var(--mono,monospace);background:transparent;color:inherit;border:1px solid var(--line,#dedede);padding:12px 16px;cursor:pointer}
.trinket-index :is([data-trinket-prev],[data-trinket-next]):disabled{opacity:.32;cursor:default}
.trinket-index [data-trinket-position]{font:11px/1.4 var(--mono,monospace);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.trinket-pagination{display:flex;align-items:center;justify-content:center;gap:24px;padding:32px 0 8px}
@media(max-width:1000px){.trinket-collection{gap:16px 12px}.trinket-source{padding:12px 28px 14px 12px;min-height:88px}.trinket-source-arrow{right:11px;top:14px}.trinket-name{font-size:12px}.trinket-source-title{font-size:9px}}
@media(max-width:640px){.trinket-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.trinket-well{padding:4px}.trinket-source{min-height:88px}.trinket-pagination{gap:16px;padding-top:25px}.trinket-index :is([data-trinket-prev],[data-trinket-next]){min-width:76px;padding:12px}.trinket-index [data-trinket-position]{font-size:10px}}
@media(prefers-reduced-motion:reduce){.trinket-source-arrow{transition:none}}

/* DOM surfaces keep their authored transform, layout, typography and pixels.
   The controller owns only these individual transform channels and variables. */
.spatial-space{
  perspective:var(--spatial-perspective,1600px);
  perspective-origin:var(--spatial-origin-x,50%) var(--spatial-origin-y,50%);
}
.spatial-object{
  --spatial-thickness:1.2px;
  translate:var(--spatial-x,0px) var(--spatial-y,0px) var(--spatial-z,0px);
  rotate:var(--spatial-axis-x,0) var(--spatial-axis-y,1) 0 var(--spatial-angle,0deg);
  transform-style:preserve-3d;
}
.spatial-object[data-spatial-active]{will-change:translate,rotate}
/* Reading and operating surfaces return to the browser's untransformed raster
   plane after their direct gesture settles, keeping type and controls crisp. */
.spatial-object[data-spatial-front]:not([data-spatial-active]):not([data-spatial-engaged]){
  translate:none;
  rotate:none;
}
.spatial-object[data-spatial-kind="art"]{--spatial-thickness:1.8px}
.spatial-object[data-spatial-kind="sheet"]{--spatial-thickness:1.35px}
.spatial-object[data-spatial-kind="control"]{--spatial-thickness:.85px}
.spatial-object[data-spatial-kind="nav"]{--spatial-thickness:.45px}
.spatial-object[data-spatial-kind="rule"]{--spatial-thickness:.55px}

/* Only hosts explicitly marked by the selector receive these children. The
   selector keeps their existing position/overflow rules and adds no wrappers.
   Edge and light children must have aria-hidden="true". */
.spatial-surface>.spatial-edge,
.spatial-surface>.spatial-light{
  position:absolute;
  inset:0;
  display:block;
  margin:0;
  padding:0;
  border:0;
  border-radius:inherit;
  pointer-events:none!important;
  user-select:none;
  -webkit-user-select:none;
}
.spatial-surface>.spatial-edge{
  transform:translateZ(calc(-1 * var(--spatial-thickness,1.2px)));
  transform-style:preserve-3d;
  background:transparent;
  box-shadow:0 .65px 0 rgb(17 25 34 / .07),0 2.5px 5px rgb(17 25 34 / .035);
}
.spatial-surface>.spatial-edge::before,
.spatial-surface>.spatial-edge::after{
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
  backface-visibility:hidden;
}
/* Actual bottom and right side planes run from the front rim to the backplate.
   They remain subpixel/shallow at rest and catch the light when a surface tilts. */
.spatial-surface>.spatial-edge::before{
  left:0;
  top:calc(100% - .2px);
  width:100%;
  height:var(--spatial-thickness,1.2px);
  transform-origin:50% 0;
  transform:translateZ(var(--spatial-thickness,1.2px)) rotateX(-90deg);
  background:linear-gradient(180deg,rgb(249 250 251 / .90),rgb(137 146 154 / .46) 42%,rgb(60 70 79 / .24));
}
.spatial-surface>.spatial-edge::after{
  left:calc(100% - .2px);
  top:0;
  width:var(--spatial-thickness,1.2px);
  height:100%;
  transform-origin:0 50%;
  transform:translateZ(var(--spatial-thickness,1.2px)) rotateY(90deg);
  background:linear-gradient(90deg,rgb(255 255 255 / .78),rgb(170 179 186 / .42) 50%,rgb(64 75 86 / .22));
}

/* Reflection is confined to a one-pixel rim. The mask leaves all photograph,
   film, canvas, type and control interiors completely transparent. */
.spatial-surface>.spatial-light{
  box-sizing:border-box;
  padding:1px;
  transform:translateZ(.2px);
  background:
    radial-gradient(ellipse at var(--spatial-light-x,50%) var(--spatial-light-y,30%),
      rgb(255 255 255 / .98),rgb(232 240 247 / .62) 17%,transparent 48%),
    linear-gradient(128deg,rgb(255 255 255 / .24),transparent 32%,rgb(172 187 202 / .14) 66%,rgb(255 255 255 / .4));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:calc(.045 + var(--spatial-energy,0) * .26);
}
/* A nearby jewel can lend its light to this rim. It only becomes visible
   during the shared pulse; neutral white/silver reflections dominate at rest. */
.spatial-surface>.spatial-light::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(126deg,transparent 37%,
    color-mix(in srgb,var(--spatial-accent,#e4ff00) 65%,transparent) 47%,
    color-mix(in srgb,var(--spatial-accent,#e4ff00) 24%,transparent) 50%,transparent 56%);
  opacity:var(--spatial-energy,0);
}
.spatial-object[data-spatial-kind="control"]>.spatial-light{
  opacity:calc(.07 + var(--spatial-energy,0) * .32);
}
.spatial-object[data-spatial-kind="rule"]>.spatial-edge{
  box-shadow:0 .5px 0 rgb(96 112 126 / .06);
}
.spatial-object[data-spatial-kind="rule"]>.spatial-light{
  padding:.5px;
  opacity:calc(.08 + var(--spatial-energy,0) * .25);
}
/* PICTURE has an existing media-sized box but cannot contain arbitrary spans.
   Its own pseudo-elements supply a rear metal plane and the same masked rim;
   its source/img children and responsive source selection remain untouched. */
.spatial-surface[data-spatial-pseudo]::before,
.spatial-surface[data-spatial-pseudo]::after{
  content:"";
  position:absolute;
  inset:0;
  display:block;
  box-sizing:border-box;
  margin:0;
  border:0;
  border-radius:inherit;
  pointer-events:none!important;
  user-select:none;
  -webkit-user-select:none;
}
.spatial-surface[data-spatial-pseudo]::before{
  transform:translateZ(calc(-1 * var(--spatial-thickness,1.8px)));
  background:transparent;
  border:.75px solid rgb(159 168 176 / .70);
  border-top-color:rgb(249 250 251 / .90);
  border-left-color:rgb(231 235 238 / .88);
  box-shadow:.4px .6px 0 rgb(72 83 95 / .18),0 2.5px 5px rgb(17 25 34 / .035);
}
.spatial-surface[data-spatial-pseudo]::after{
  padding:1px;
  transform:translateZ(.2px);
  background:
    linear-gradient(126deg,transparent 37%,
      color-mix(in srgb,var(--spatial-accent,#e4ff00) calc(clamp(0,var(--spatial-energy,0),1) * 65%),transparent) 47%,
      transparent 55%),
    radial-gradient(ellipse at var(--spatial-light-x,50%) var(--spatial-light-y,30%),
      rgb(255 255 255 / .98),rgb(232 240 247 / .62) 17%,transparent 48%),
    linear-gradient(128deg,rgb(255 255 255 / .24),transparent 32%,rgb(172 187 202 / .14) 66%,rgb(255 255 255 / .4));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:calc(.045 + var(--spatial-energy,0) * .26);
}
/* Bare media uses this only when explicitly selected and its authored shadow
   is none. Shadows do not alter intrinsic dimensions, border or image pixels. */
.spatial-object[data-spatial-plate]{
  box-shadow:.35px .45px 0 rgb(255 255 255 / .58),
    .85px 1.05px 0 rgb(75 90 102 / .21),0 3px 6px rgb(17 25 34 / .035);
}
/* Opt-in only where the original computed text-shadow is none. No duplicated
   text nodes, new outlines, altered font metrics or generic card backgrounds. */
.spatial-object[data-spatial-text-depth]:is([data-spatial-active],[data-spatial-engaged]){
  text-shadow:.25px .45px 0 rgb(14 23 32 / .075),.5px 1px .65px rgb(14 23 32 / .045);
}

/* A user who requests less motion retains the original authored transform.
   Static edge geometry may remain; parallax and spring displacement do not. */
@media(prefers-reduced-motion:reduce){
  .spatial-space{perspective:none}
  .spatial-object{translate:none;rotate:none}
  .spatial-object[data-spatial-active]{will-change:auto}
  .spatial-surface>.spatial-light{opacity:.055}
  .spatial-surface>.spatial-light::after{opacity:0}
  .spatial-surface[data-spatial-pseudo]::after{--spatial-energy:0;opacity:.055}
  .spatial-object[data-spatial-text-depth]{text-shadow:none!important}
}
@media(forced-colors:active){
  .spatial-surface>.spatial-edge,
  .spatial-surface>.spatial-light,
  .spatial-surface[data-spatial-pseudo]::before,
  .spatial-surface[data-spatial-pseudo]::after{display:none}
  .spatial-object[data-spatial-plate]{box-shadow:none}
  .spatial-object[data-spatial-text-depth]{text-shadow:none!important}
}
@media print{
  .spatial-space{perspective:none}
  .spatial-object{translate:none;rotate:none;transform-style:flat}
  .spatial-surface>.spatial-edge,
  .spatial-surface>.spatial-light,
  .spatial-surface[data-spatial-pseudo]::before,
  .spatial-surface[data-spatial-pseudo]::after{display:none}
  .spatial-object[data-spatial-plate]{box-shadow:none}
  .spatial-object[data-spatial-text-depth]{text-shadow:none!important}
}

/* A tiny permanent switch, and thirteen seconds of entirely temporary excess. */
.bonanza-bar{display:none}
/* The original chrome identity is the entire control; no extra header strip. */
.bonanza-enabled .skip-link:focus{z-index:8001}
.bonanza-enabled .bonanza-bar{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:8000;width:44px;height:44px;display:block;pointer-events:none}
.bonanza-bar .bonanza-trigger{position:relative;display:block;inset:auto;transform:none;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:50%;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.bonanza-trigger:focus-visible{outline:2px solid #245bff;outline-offset:3px}
.bonanza-trigger:disabled{cursor:default;opacity:1}
.bonanza-active .bonanza-trigger{visibility:hidden}
.menu-open .bonanza-bar{visibility:hidden}
.bonanza-active>.jewel-webgl,.bonanza-active [data-jewel] .jewel-engraving{visibility:hidden!important}
.bonanza-overlay{position:fixed;inset:0;z-index:7900;isolation:isolate;overflow:hidden;touch-action:none;color:#151519;font-family:var(--sans,sans-serif);contain:layout paint style;animation:bonanza-appear .18s ease-out both}
.bonanza-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 10% 90%,#ff16b829,transparent 45%),radial-gradient(ellipse at 90% 20%,#245bff19,transparent 50%),#ffffff45;pointer-events:none}
.bonanza-atmosphere::after{content:"";position:absolute;inset:52px 10px 10px;border:1px solid #245bff50;box-shadow:inset 0 0 40px #e4ff001f;clip-path:polygon(0 0,12% 0,12% 1px,88% 1px,88% 0,100% 0,100% 100%,88% 100%,88% calc(100% - 1px),12% calc(100% - 1px),12% 100%,0 100%)}
.bonanza-stage{position:absolute;inset:0;pointer-events:none;z-index:2}
.bonanza-stage canvas{display:block;width:100%;height:100%}
.bonanza-speedlines{position:absolute;z-index:1;inset:-50%;background:repeating-conic-gradient(from 4deg at 50% 50%,transparent 0 8deg,#245bff1a 8.2deg 8.6deg,transparent 8.8deg 16deg,#ff16b815 16.3deg 16.6deg);mask-image:radial-gradient(ellipse,transparent 0 17%,#000 60%);pointer-events:none;opacity:0;animation:bonanza-rays 2.05s ease-out both}
.bonanza-title{position:absolute;z-index:5;left:50%;top:48%;width:96%;max-width:1200px;text-align:center;pointer-events:none;transform:translate(-50%,-50%) rotate(-7deg);animation:bonanza-title .55s cubic-bezier(.2,.85,.25,1) both;will-change:transform,opacity}
.bonanza-title-out .bonanza-title{animation:bonanza-title-exit .55s ease-in both}
.bonanza-title strong{display:block;font-family:var(--sans,sans-serif);font-style:italic;font-weight:950;font-size:clamp(64px,13.7vw,204px);line-height:.78;letter-spacing:-.085em;-webkit-text-stroke:2px #151519;paint-order:stroke fill;color:#e4ff00;text-shadow:3px 3px 0 #151519,6px 6px 0 #151519,10px 10px 0 #ff16b8,13px 13px 0 #151519,18px 18px 0 #245bff,22px 22px 0 #151519,0 22px 60px #fff}
.bonanza-title strong span{display:block}
.bonanza-title strong span+span{color:#fff;margin-top:.12em}
.bonanza-title-kicker{display:inline-block;margin-bottom:30px;padding:8px 16px;background:#151519;color:#e4ff00;font:700 11px/1 var(--mono,monospace);letter-spacing:.2em;box-shadow:5px 5px 0 #ff16b8}
.bonanza-title-orbit{display:block;margin-top:42px;font-size:34px;letter-spacing:22px;color:#245bff;text-shadow:2px 2px 0 #fff}
.bonanza-hud{position:absolute;top:65px;left:25px;right:25px;z-index:7;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}
.bonanza-score{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center;filter:drop-shadow(0 2px 1px #fff)}
.bonanza-score>span{grid-column:1/-1;font:700 9px/1.2 var(--mono,monospace);letter-spacing:.18em;color:#245bff;margin-bottom:5px}
.bonanza-score>b{font:800 26px/1 var(--mono,monospace);letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.bonanza-score>strong{background:#e4ff00;border:1px solid #151519;padding:5px 7px;transform:rotate(-7deg);font:900 19px/1 var(--sans,sans-serif);box-shadow:2px 2px 0 #151519}
.bonanza-phase{margin-top:6px;align-self:start;padding:7px 14px;background:#151519;color:#fff;font:800 italic 15px/1 var(--sans,sans-serif);letter-spacing:.02em;transform:skew(-7deg);box-shadow:4px 4px 0 #ff16b8}
.bonanza-controls{display:flex;align-items:center;gap:7px;pointer-events:auto}
.bonanza-controls button{min-height:36px;padding:0 12px;border:1px solid #151519;border-radius:0;background:#fff;color:#151519;font:11px/1 var(--mono,monospace);cursor:pointer;box-shadow:2px 2px 0 #151519}
.bonanza-controls button:hover{background:#e4ff00}
.bonanza-controls button:focus-visible{outline:3px solid #245bff;outline-offset:3px}
.bonanza-controls button span{font-size:22px;vertical-align:middle;margin-left:6px}
.bonanza-pointer{position:absolute;top:0;left:0;width:0;height:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .25s ease;color:#245bff}
.bonanza-pointer.is-visible{opacity:.8}
.bonanza-pointer i{position:absolute;inset:-36px;width:72px;height:72px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 12px #245bff0d,inset 0 0 18px #245bff12;transition:width .2s,height .2s,inset .2s}
.bonanza-pointer i::after{content:"";position:absolute;inset:9px;border:1px dashed currentColor;border-radius:50%}
.bonanza-pointer span{position:absolute;left:-8px;top:-15px;font:300 30px/1 var(--sans,sans-serif)}
.bonanza-pointer.is-repelling{color:#ff16b8}
.bonanza-pointer.is-repelling i{inset:-62px;width:124px;height:124px;box-shadow:0 0 0 18px #ff16b810,inset 0 0 35px #ff16b81a}
.bonanza-floor{position:absolute;bottom:0;left:0;right:0;height:30px;z-index:6;background:#151519;color:#fff;display:flex;align-items:center;gap:18px;padding:0 25px;border-top:4px solid #e4ff00;pointer-events:none}
.bonanza-floor::before{content:"";position:absolute;bottom:30px;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#151519 0 12px,#fff 12px 24px);transform:skew(-20deg);opacity:.75}
.bonanza-floor-glow{position:absolute;inset:-80px 0 26px;background:linear-gradient(0deg,#e4ff001d,transparent);pointer-events:none}
.bonanza-remaining{font:700 13px/1 var(--mono,monospace);font-variant-numeric:tabular-nums;min-width:35px;color:#e4ff00}
.bonanza-meter{height:3px;flex:1;background:#ffffff2b;overflow:hidden}
.bonanza-meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#38ff44,#e4ff00,#ff6a00,#ff16b8,#245bff);transform-origin:left}
.bonanza-floor-mark{font:9px/1 var(--mono,monospace);letter-spacing:.1em}
.bonanza-finale .bonanza-phase{background:#e4ff00;color:#151519;box-shadow:4px 4px 0 #245bff;transform:skew(-7deg) scale(1.2)}
.bonanza-returning{animation:none;opacity:0;transition:opacity .7s ease}
.bonanza-fallback-object{position:absolute;left:var(--x);top:var(--y);width:clamp(65px,12vw,145px);height:clamp(65px,12vw,145px);filter:drop-shadow(0 12px 8px #15151925);animation:bonanza-fallback-drift 3s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.23s)}
.bonanza-fallback-object svg{width:100%;height:100%}
@keyframes bonanza-appear{from{opacity:0}to{opacity:1}}
@keyframes bonanza-title{0%{opacity:1;transform:translate(-50%,-50%) rotate(-11deg) scale(.8)}65%{transform:translate(-50%,-50%) rotate(-7deg) scale(1.035)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(1)}}
@keyframes bonanza-title-exit{from{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(1)}to{opacity:0;transform:translate(-50%,-70%) rotate(-7deg) scale(1.2);visibility:hidden}}
@keyframes bonanza-rays{0%{opacity:0;transform:scale(.5) rotate(-4deg)}22%,60%{opacity:1}100%{opacity:0;transform:scale(1.15) rotate(4deg)}}
@keyframes bonanza-fallback-drift{from{transform:translate(-50%,-45%) rotate(-15deg)}to{transform:translate(-50%,-65%) rotate(18deg)}}
.bonanza-reduced .bonanza-title{animation:none}
.bonanza-reduced.bonanza-title-out .bonanza-title{animation:bonanza-reduced-title .5s linear both}
.bonanza-reduced .bonanza-speedlines{display:none}
.bonanza-reduced .bonanza-fallback-object{animation:none;transform:translate(-50%,-50%)}
.bonanza-reduced .bonanza-pointer{display:none}
@keyframes bonanza-reduced-title{0%,70%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(max-width:620px){
 .bonanza-hud{left:14px;right:14px;top:62px;gap:8px;flex-wrap:wrap}
 .bonanza-score{column-gap:7px}.bonanza-score>b{font-size:20px}.bonanza-score>strong{font-size:16px;padding:4px}
 .bonanza-phase{position:absolute;top:55px;left:0;font-size:11px;padding:6px 9px;box-shadow:3px 3px 0 #ff16b8}
 .bonanza-controls{gap:5px}.bonanza-controls button{min-height:34px;padding:0 8px;font-size:9px}
 .bonanza-title{width:98%;top:45%}.bonanza-title strong{font-size:15.2vw;-webkit-text-stroke:1px #151519;text-shadow:2px 2px 0 #151519,4px 4px 0 #ff16b8,6px 6px 0 #151519,10px 10px 0 #245bff,12px 12px 0 #151519,0 15px 30px #fff}
 .bonanza-title-kicker{font-size:8px;margin-bottom:20px;letter-spacing:.1em;padding:6px 10px}
 .bonanza-title-orbit{font-size:24px;margin-top:30px}
 .bonanza-floor{padding:0 14px;gap:12px}.bonanza-floor-mark{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.bonanza-trigger{transition:none}.bonanza-title{animation:none}.bonanza-title-out .bonanza-title{animation:bonanza-reduced-title .5s linear both}.bonanza-speedlines{display:none}.bonanza-fallback-object{animation:none;transform:translate(-50%,-50%)}.bonanza-overlay{animation:none}}

/* A one-second lift-off, followed by the unchanged thirteen-second round. */
.bonanza-intro{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.bonanza-opening .bonanza-title,.bonanza-opening .bonanza-speedlines{visibility:hidden;animation-play-state:paused}
.bonanza-opening .bonanza-stage,.bonanza-opening .bonanza-score,.bonanza-opening .bonanza-phase,.bonanza-opening .bonanza-floor,.bonanza-opening .bonanza-pointer{visibility:hidden}
.bonanza-opening .bonanza-atmosphere{opacity:0}
@media(max-width:380px){.bonanza-enabled .bonanza-bar{left:calc(50% + 1.5px)}}
@media(max-width:335px){
 .bonanza-enabled .bonanza-bar,.bonanza-bar .bonanza-trigger{width:28px}
 .bonanza-trigger .play-mark-canvas{width:48px;height:48px}
 .bonanza-trigger .play-mark-fallback{font-size:28px}
}

/* A quiet little ceremony, on the same white paper as the rest of STUDiiO. */
.trinket-hunt-invitation{margin:24px var(--gutter);font:12px/1.6 var(--sans);letter-spacing:.025em;text-align:center}
.trinket-hunt-whisper{margin:15px 0 0;text-align:right;font:11px/1.6 var(--sans);letter-spacing:.025em;color:#687078}
.frontispiece>.folio-line:has(+.trinket-hunt-whisper){border-bottom:1px solid var(--ink);padding-bottom:18px}
.trinket-claim{--claim-color:#e4ff00;position:fixed;inset:0;width:min(408px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:31px 32px 27px;overflow:auto;border:1px solid #d9dde1;border-radius:14px;background:#fff;color:#171719;box-shadow:0 30px 100px #151d2820,0 3px 12px #151d280a;font-family:var(--sans);text-align:center;overscroll-behavior:contain;isolation:isolate}
.trinket-claim[open]{animation:trinket-claim-arrive .42s cubic-bezier(.2,.8,.2,1) both}
.trinket-claim::backdrop{background:#f5f7fa80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:trinket-claim-veil .32s ease both}
.trinket-claim::before{content:"";position:absolute;left:17%;right:17%;top:0;height:1px;background:linear-gradient(90deg,transparent,#727e8c,#fff,var(--claim-color),#9ca6af,transparent)}
.trinket-claim-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;font:25px/1 var(--sans);color:#72777e;border-radius:50%;transition:color .2s,background .2s}
.trinket-claim-close:hover{background:#f6f7f8;color:#171719}
.trinket-claim-close:focus-visible{outline:1px solid #245bff;outline-offset:-5px}
.trinket-claim-mark{display:block;font:9px/1.4 var(--mono);letter-spacing:.15em;color:#747b82}
.trinket-claim-keepsake{position:relative;width:152px;height:152px;margin:10px auto 8px;filter:drop-shadow(0 5px 3px #1623390d)}
.trinket-claim-keepsake::before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--claim-color) 13%,transparent),transparent 72%);filter:blur(5px)}
.trinket-claim-keepsake svg{position:relative;display:block;width:100%;height:100%;overflow:visible;transform:rotate(-8deg);animation:trinket-claim-hover 7s ease-in-out infinite}
.trinket-claim-keepsake .jewel-fallback-bead{fill:var(--claim-color);filter:drop-shadow(0 2px 1px #ffffffb3)}
.trinket-claim-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0}
.trinket-claim-keepsake[data-preview-renderer="webgl"]{filter:none}
.trinket-claim-keepsake[data-preview-renderer="webgl"]::before,.trinket-claim-keepsake[data-preview-renderer="webgl"]>svg{visibility:hidden}
.trinket-claim-keepsake[data-preview-renderer="webgl"]>.trinket-claim-canvas{opacity:1}
.trinket-claim h2{margin:0;font-size:32px;font-weight:500;line-height:1.12;letter-spacing:-.05em}
.trinket-claim-object{margin:8px 0 23px;font-size:12px;line-height:1.5;color:#687078}
.trinket-claim-form{text-align:left}
.trinket-claim-field{display:block;margin:15px 0;font-size:10px;line-height:1.5;color:#616a72}
.trinket-claim-field>span{display:block;margin:0 0 5px;letter-spacing:.025em}
.trinket-claim-field input{display:block;width:100%;height:44px;border:1px solid #d9dee3;border-radius:5px;background:#fff;padding:10px 12px;font:16px/1.3 var(--sans);color:#171719;box-shadow:0 1px 2px #121c2803;transition:border-color .2s,box-shadow .2s}
.trinket-claim-field input:focus{outline:0;border-color:#8d9aab;box-shadow:0 0 0 3px #eaf0f780}
.trinket-claim-optin{display:flex;gap:9px;align-items:center;margin:18px 0 20px;font-size:11px;line-height:1.45;color:#606a73;cursor:pointer}
.trinket-claim-optin input{width:15px;height:15px;margin:0;accent-color:#171719;flex:0 0 15px}
.trinket-claim-submit{display:block;width:100%;min-height:46px;padding:12px 16px;border:1px solid #171719;border-radius:5px;background:#171719;color:#fff;font:500 12px/1.5 var(--sans);letter-spacing:.025em;transition:background .2s,transform .2s,box-shadow .2s}
.trinket-claim-submit:hover{background:#303840;box-shadow:0 3px 10px #17213014;transform:translateY(-1px)}
.trinket-claim-submit:active{transform:translateY(0)}
.trinket-claim-submit:disabled{opacity:.6;transform:none;cursor:wait}
.trinket-claim-submit:focus-visible,.trinket-claim-board:focus-visible{outline:2px solid #245bff;outline-offset:4px}
.trinket-claim-privacy{margin:13px auto 0;max-width:260px;text-align:center;font-size:9px;line-height:1.6;color:#7b828a}
.trinket-claim-privacy a{text-decoration:underline;text-underline-offset:3px}
.trinket-claim-error{margin:13px 0;font-size:12px;line-height:1.55;color:#a03341}
.trinket-claim-error[hidden]{display:none}
.trinket-claim-returning{text-align:center;margin:0 0 22px;color:#687078;font-size:12px;line-height:1.5}
.trinket-claim-count{text-align:center;margin:0 0 24px;color:#687078;font-size:12px;line-height:1.6}
.trinket-claim-board{display:block;width:max-content;max-width:100%;margin:17px auto 0;padding:5px 0;font-size:11px;line-height:1.6;color:#687078}
.trinket-claim-board:hover{color:#171719}
.trinket-claim-owned .trinket-claim-keepsake{margin-top:22px;margin-bottom:20px}
.trinket-claim-keynote{margin:2px auto 0;text-align:center;font-size:9px;line-height:1.6;color:#7b828a}
.trinket-account-dialog h2{margin-top:42px}
.trinket-claim-account-copy{max-width:285px;margin:18px auto 28px;color:#687078;font-size:13px;line-height:1.7}
.trinket-claim-delete{background:#8b2835;border-color:#8b2835}.trinket-claim-delete:hover{background:#a13342}
.trinket-hunt-page{max-width:1200px;padding:75px var(--gutter) 120px;margin:auto}
.trinket-hunt-intro{padding-bottom:56px}
.trinket-hunt-intro h1{margin:26px 0 20px;font-size:clamp(54px,8vw,116px);line-height:.94;letter-spacing:-.07em;font-weight:500}
.trinket-hunt-intro>p{max-width:470px;font-size:15px;line-height:1.6;color:#6b737b}
[data-trinket-leaderboard]{min-height:200px;border-top:1px solid #171719}
.trinket-hunt-leaders{list-style:none;padding:0;margin:0}
.trinket-hunt-leaders>li{display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:25px;min-height:95px;border-bottom:1px solid #dce0e4}
.trinket-hunt-rank{font:11px/1.4 var(--mono);color:#77818b}
.trinket-hunt-name{font-size:clamp(19px,3vw,32px);font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere}
.trinket-hunt-total{display:flex;gap:12px;align-items:baseline;text-align:right}
.trinket-hunt-total strong{font-size:26px;font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.trinket-hunt-total>span{font-size:10px;color:#77818b}
.trinket-hunt-empty{padding:60px 0 70px;color:#77818b;text-align:center}
.trinket-hunt-empty>span{display:block;font-size:66px;font-weight:300;line-height:1;background:linear-gradient(135deg,#c4cbd2,#273846 30%,#edf3f8 48%,#536573 55%,#becad4);background-clip:text;-webkit-background-clip:text;color:transparent}
.trinket-hunt-empty p{margin:16px 0 0;font-size:13px}
.trinket-hunt-unavailable{padding:42px 0;font-size:13px;color:#77818b}
.trinket-hunt-unavailable button{padding:12px 0;margin-top:8px;color:#171719;border-bottom:1px solid #171719;font-size:12px}
[data-trinket-personal]{margin:30px 0 0;color:#6b737b;font-size:13px}
.trinket-hunt-explore{display:inline-flex;min-height:44px;align-items:center;margin-top:25px;border-bottom:1px solid #171719;font-size:12px}
.trinket-hunt-account{display:flex;gap:8px 22px;flex-wrap:wrap;padding-top:38px;margin-top:38px;border-top:1px solid #dce0e4}
.trinket-hunt-account>button{min-height:44px;padding:8px 0;font-size:10px;color:#707b84}
.trinket-hunt-account>button:hover{color:#171719}.trinket-hunt-account-error{flex-basis:100%;font-size:12px;line-height:1.5;color:#a03341}
@keyframes trinket-claim-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes trinket-claim-veil{from{opacity:0}to{opacity:1}}
@keyframes trinket-claim-hover{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:600px){.trinket-claim{padding:25px 25px 24px}.trinket-claim-keepsake{width:128px;height:128px;margin-top:8px}.trinket-claim h2{font-size:30px}.trinket-claim-object{margin-bottom:20px}.trinket-hunt-page{padding-top:44px;padding-bottom:80px}.trinket-hunt-intro{padding-bottom:36px}.trinket-hunt-leaders>li{grid-template-columns:28px minmax(0,1fr) auto;gap:15px;min-height:84px}.trinket-hunt-total{display:block}.trinket-hunt-total>span{display:block;margin-top:3px}.trinket-hunt-total strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.trinket-claim[open],.trinket-claim::backdrop,.trinket-claim-keepsake svg{animation:none}.trinket-claim-submit,.trinket-claim-field input,.trinket-claim-close{transition:none}}
@media(max-width:760px){.trinket-hunt-whisper{font-size:10px}.frontispiece>.folio-line:has(+.trinket-hunt-whisper){font-size:7px;gap:20px;min-height:41px;padding-top:6px}.frontispiece>.folio-line:has(+.trinket-hunt-whisper)>span:first-child{max-width:210px}}
