/* The homepage uses the same paper behind the print, work and studio sections. */
.studio-home { --home-paper:#f5f4ef; background-color:var(--home-paper); }
.studio-home .header:not(.over-dark), .studio-home .home-work,
.studio-home .home-studio.studio-atlas, .studio-home .footer { background-color:var(--home-paper); }
.studio-home .header:not(.scrolled) { color:#20181a; }

.signal-poster {
  color:var(--oxblood,#281419); background:var(--home-paper); padding-top:70px;
  font-family:var(--studio-type);
}
.signal-stage {
  position:relative; isolation:isolate; width:100%; overflow:hidden; background:var(--home-paper);
  height:clamp(285px,min(43.7vw,65svh),860px);
}
.signal-still,.signal-still img,.signal-mesh { display:block; width:100%; height:100%; }
.signal-still { position:absolute; inset:0; }
.signal-still img { object-fit:cover; object-position:left center; }
.signal-mesh { position:absolute; inset:0; pointer-events:none; }
.signal-mobile-print { display:none; }
.signal-mesh[hidden] { display:none; }
.signal-stage[data-renderer] .signal-mobile-print { visibility:hidden; }
.signal-foot {
  max-width:2110px; margin:auto; padding:clamp(22px,2.2vw,42px) max(var(--gutter),3vw) clamp(30px,3.15vw,64px);
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) auto;
  gap:clamp(18px,3vw,76px); align-items:end;
}
.signal-title h1 {
  margin:0; color:var(--oxblood,#281419); font:610 clamp(43px,4.7vw,96px)/.88 var(--studio-type);
  letter-spacing:-.074em;
}
.signal-title h1 span { color:var(--brass,#848344); }
.signal-statement p { margin:0; word-break:keep-all; }
.signal-statement p:first-child { font-size:clamp(17px,1.25vw,25px); line-height:1.4; font-weight:620; letter-spacing:-.048em; }
.signal-statement p+p { margin-top:6px; font-size:clamp(12px,.9vw,16px); line-height:1.55; color:#554e49; }
.signal-actions { display:flex; gap:clamp(12px,1.3vw,25px); align-items:center; }
.signal-to-work { display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; font:560 13px/1.3 var(--studio-type); white-space:nowrap; color:var(--oxblood,#281419); }
.signal-to-work { border:1px solid currentColor; border-radius:30px; padding-inline:18px; gap:15px; }
.signal-to-work span { font-size:19px; line-height:1; }
.signal-to-work:is(:hover,:focus-visible) { background:var(--oxblood,#281419); border-color:var(--oxblood,#281419); color:white; }
.signal-poster :is(a,button):focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media(max-width:980px) and (min-width:701px) {
  .signal-foot { grid-template-columns:1fr 1fr; row-gap:9px; }
  .signal-actions { grid-column:2; justify-content:flex-start; }
  .signal-title { grid-row:span 2; align-self:center; }
}
@media(max-width:700px) {
  .signal-poster { padding-top:calc(58px + env(safe-area-inset-top)); }
  .signal-stage { height:clamp(250px,90vw,460px); height:clamp(250px,min(90vw,50svh),460px); }
  .signal-foot { padding:clamp(24px,6.5vw,36px) var(--gutter) 28px; grid-template-columns:1fr; gap:18px; align-items:start; }
  .signal-title h1 { font-size:clamp(54px,16vw,84px); line-height:.9; letter-spacing:-.07em; }
  .signal-statement p:first-child { font-size:clamp(16px,4.1vw,20px); }
  .signal-statement p+p { font-size:13px; line-height:1.55; margin-top:4px; }
  .signal-actions { justify-content:space-between; gap:10px; margin-top:2px; }
  .signal-to-work { margin-left:auto; }
}
@media(max-height:520px) and (max-width:950px) and (orientation:landscape) {
  .signal-stage { height:clamp(150px,58svh,265px); }
  .signal-foot { padding-block:16px; }
}

/* A vector fallback is visible until the first canvas frame has been painted. */
@media (max-width:700px), (max-width:950px) and (max-height:520px) and (orientation:landscape) {
  .signal-mobile-print {
    display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
  }
}

/* A single whole cover, with its controls and caption, on touch-sized layouts. */
@media (max-width: 999px) {
  #featured-work .portfolio-roller { --roller-card: 100%; --roller-gap: 12px; }
  #featured-work .roller-window { clip-path: none; touch-action: pan-y pinch-zoom; }
  #featured-work .roller-item { padding: 0; }
  #featured-work .hero-preview { height: auto; aspect-ratio: 1; }
  #featured-work .hero-preview .work-cover img, #featured-work .edition-thumb img { object-fit: contain; transform: none !important; }
  #featured-work .edition-thumb { aspect-ratio: 1.5; background: #efeeea; }
  #featured-work .edition-caption { min-height: 76px; padding: 12px 8px; }
  #featured-work .edition-panel .roller-window { margin-top: 14px; }
  #featured-work .roller-controls { padding-right: 0; padding-top: 10px; flex-wrap: nowrap; }
  #featured-work .roller-controls > div { gap: 8px; }
  #featured-work .work-tab-panel { min-width: 0; }
}
@media (min-width: 1000px) {
  .atlas-exhibit { width: min(100%, max(375px, 62svh)); justify-self: center; }
  .edition-roller .roller-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.5vw, 27px);
    transform: none !important;
    transition: none;
  }
  .edition-roller .roller-window { margin-top: 16px; overflow: visible; }
  .edition-roller .roller-item:nth-child(n + 3), .edition-roller .roller-controls { display: none; }
  .edition-roller .roller-item { padding: 0; }
}
.atlas-art.atlas-screen-spread { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(4px, .45vw, 8px); background: var(--paper); }
.atlas-screen-spread > img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.atlas-screen-spread:is(:hover, :focus-visible) > img { transform: none; }
.atlas-selector button { min-height: 44px; }
@media (max-width: 700px) {
  .atlas-piece figcaption { gap: 5px; }
  .atlas-piece figcaption > span { min-width: 0; word-break: keep-all; }
}
