:root { --paper: #f4f5f2; --graphite: #15232e; --rule: #cdd4d5; }
.edition-object { min-width: 0; }
.edition-stage { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; }
.edition-caption { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding-top: .7rem; }
.edition-meta, .edition-work .edition-meta { display: block; color: #52636e; font-size: .78rem; font-weight: 550; line-height: 1.4; letter-spacing: .01em; margin: 0 0 .18rem; }
.edition-name { display: inline-block; color: var(--graphite); font-weight: 680; text-decoration: none; letter-spacing: -.025em; font-size: clamp(1rem,1.55vw,1.4rem); line-height: 1.2; }
.edition-name:hover { text-decoration: underline; }
.edition-works .section-heading { border-bottom: 0; margin-bottom: .95rem; padding-bottom: 0; }
.edition-spread { display: grid; grid-template-columns: minmax(0,1.36fr) minmax(0,1fr); gap: clamp(1.3rem,3.3vw,3.3rem); align-items: start; }
.edition-work:nth-child(2) { margin-top: clamp(1rem,3.8vw,3.9rem); }
.edition-work .work-photo { aspect-ratio: 1.72; border-radius: 2px; background: var(--mist); }
.edition-work:nth-child(2) .work-photo { aspect-ratio: 1.56; }
.edition-work .work-photo img { width: 100%; height: 100%; object-fit: cover; }
.work-copy { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-top: .75rem; }
.work-copy h3 { color: var(--ink); font-size: clamp(1.45rem,2.3vw,2.2rem); font-weight: 620; letter-spacing: -.047em; }
.edition-work .work-count { margin: 0; color: var(--muted); font-size: .8rem; letter-spacing: 0; white-space: nowrap; }
.edition-work p { color: var(--muted); margin-top: .3rem; font-size: .93rem; }
.edition-hire { border-radius: 0; background: #edf1f0; gap: clamp(1.4rem,3vw,3rem); padding: clamp(1.25rem,3.5vw,3.35rem); }
.edition-hire .edition-meta { margin-bottom: .65rem; }
.edition-hire .rental-samples { gap: clamp(.45rem,1.2vw,1.15rem); }
.edition-hire .show-sample { display: flex; min-width: 0; align-items: stretch; }
.show-sample .sample-image { display: grid; place-items: center; margin: 0; padding: .85rem .4rem .65rem; height: clamp(120px,13.5vw,195px); border-bottom: 1px solid #aab9be; }
.show-sample .sample-image img { width: 100%; height: 100%; min-height: 0; padding: 0; background: transparent; filter: drop-shadow(1px 4px 3px rgb(50 63 67 / .14)); }
.show-sample .sample-name { margin-top: .55rem; }
.archive-heading { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(1.5rem,4vw,4.5rem); align-items: center; padding-block: clamp(1.5rem,2.8vw,3rem); }
.archive-intro { min-width: 0; }
.archive-intro h1 { font-size: clamp(3.1rem,6.6vw,6.5rem); letter-spacing: -.072em; line-height: .99; max-width: 8.5ch; }
.archive-intro p { max-width: 35ch; color: var(--muted); margin: 1.1rem 0 1.3rem; font-size: clamp(1rem,1.35vw,1.16rem); }
.archive-jump { display: inline-flex; align-items: center; gap: .65rem; color: var(--blue); font-weight: 650; text-decoration: none; border-bottom: 1px solid #a6b9c6; }
.archive-jump span { font-size: 1.2em; }
.room-stage { aspect-ratio: 2; background: #e7ede7; }
.room-stage img { height: 100%; width: 100%; min-height: 0; object-fit: cover; object-position: 50% 52%; }
.room-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem .8rem; justify-content: end; }
.room-controls a { display: inline-flex; align-items: center; min-height: 40px; color: var(--blue); font-size: .84rem; text-underline-offset: .27em; }
.archive-index { border-top: 1px solid var(--rule); padding-top: clamp(1.25rem,2.3vw,2.4rem); }
.archive-toolbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.archive-toolbar .search { width: min(35%,23rem); background: var(--mist); border: 0; min-height: 44px; }
.archive-filters { display: flex; gap: .25rem 1.3rem; flex-wrap: wrap; border-bottom: 1px solid var(--rule); margin-top: .75rem; }
.archive-filters button, [data-reset-archive] { border: 0; color: var(--muted); background: none; cursor: pointer; }
.archive-filters button { font-weight: 600; padding: .75rem 0 .6rem; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.archive-filters button:is(:hover,[aria-pressed=true]) { color: var(--blue); }
.archive-filters button[aria-pressed=true] { border-color: var(--orange); }
.archive-count, .archive-index [data-empty] { font-size: .9rem; color: var(--muted); margin-top: .8rem; }
.archive-index [data-reset-archive] { color: var(--blue); text-decoration: underline; }
.archive-index .album-grid { margin-top: .7rem; }
.studio-footer { overflow: hidden; background: #071527; color: #e3eaf0; }
.studio-foot { position: relative; isolation: isolate; display: grid; grid-template-columns: .95fr 1.25fr .85fr; gap: 1.4rem; align-items: start; padding-block: clamp(2.1rem,4vw,4.2rem); }
.foot-identity { display: grid; gap: .3rem; align-self: end; }
.foot-identity strong { font-size: 1.12rem; letter-spacing: -.025em; }
.foot-identity span { color: #b4c2cf; font-size: .85rem; }
.foot-contacts h2 { font-size: clamp(1.55rem,2.8vw,2.55rem); margin: 0 0 .7rem; color: white; }
.foot-contacts a { color: #edf3f8; }
.foot-contacts .department-links { margin: 0 0 .6rem; gap: .28rem 1.05rem; }
.foot-contacts > a { color: #bccedc; font-size: .88rem; }
.foot-office { align-self: end; font-size: .88rem; color: #bdcbd6; }
.foot-office strong { color: white; }
.foot-office address { margin: .35rem 0; }
.foot-office a { color: #e2edf5; }
@media (max-width: 970px) {
  .room-object .edition-caption { align-items: start; flex-direction: column; gap: .3rem; }
  .room-controls { justify-content: start; }
}
@media (max-width: 700px) {
  .archive-heading { grid-template-columns: .8fr 1.2fr; gap: 1.1rem; }
  .archive-intro h1 { font-size: clamp(2.75rem,6vw,3.55rem); }
  .studio-foot { grid-template-columns: .75fr 1.25fr; }
}
@media (max-width: 560px) {
  .edition-meta, .edition-work .edition-meta { font-size: .72rem; }
  .edition-name { font-size: .95rem; }
  .edition-spread { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .edition-work:nth-child(2) { margin-top: 0; }
  .edition-work:nth-child(2) .work-photo { aspect-ratio: 1.85; }
  .work-copy { padding-top: .5rem; align-items: center; }
  .edition-work p { font-size: .86rem; }
  .edition-hire .rental-samples { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .edition-hire .show-sample:last-child { grid-column: auto; }
  .show-sample .sample-image { height: clamp(86px,25vw,120px); padding: .5rem .1rem; }
  .show-sample .sample-name { font-size: .76rem; }
  .archive-heading { grid-template-columns: minmax(0,1fr); gap: 1rem; padding-block: 1.3rem; }
  .archive-intro h1 { max-width: none; font-size: clamp(2.45rem,10vw,3.55rem); }
  .archive-intro p { max-width: 42ch; margin: .6rem 0 .8rem; font-size: .93rem; }
  .room-stage { aspect-ratio: 1.85; }
  .archive-toolbar { align-items: stretch; flex-direction: column; }
  .archive-toolbar .search { width: 100%; }
  .archive-filters { gap: 0 .9rem; }
  .archive-filters button { font-size: .9rem; padding-block: .6rem .45rem; }
  .studio-foot { grid-template-columns: minmax(0,1fr); gap: 1.4rem; padding-block: 1.7rem; }
  .foot-identity { align-self: start; }
}
@media (prefers-reduced-motion: no-preference) {
  .archive-filters button { transition: color 180ms, border-color 180ms; }
}
@media print {
  .studio-footer, .room-controls, .archive-filters { display: none; }
}
