:root {
  color-scheme: light;
  --paper: #fafafa;
  --ink: #171717;
  --muted: #565656;
  --rule: #c8c8c8;
  --serif: Baskerville, "Baskerville Old Face", "Times New Roman", serif;
  --sans: "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --gutter: clamp(20px, 4.2vw, 80px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 20px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.48 var(--sans); -webkit-font-smoothing: antialiased; }
body:has(dialog[open]) { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { border: 0; background: transparent; cursor: pointer; }
:focus-visible { outline: 2px solid #777; outline-offset: 4px; }
[hidden] { display: none !important; }
img, video { display: block; width: 100%; height: auto; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
i { font-weight: 400; }
.container { width: min(100%, 1880px); margin-inline: auto; padding-inline: var(--gutter); }
.skip { position: fixed; top: -10rem; left: 12px; padding: 10px 16px; background: #fff; color: #111; z-index: 10; }
.skip:focus { top: 10px; }
.header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; min-height: 76px; position: relative; z-index: 3; }
.home-link { justify-self: start; display: flex; }
.wordmark { display: inline-flex; gap: 4px; align-items: center; }
.wordmark img { width: 82px; height: 34px; object-fit: contain; }
.wordmark i { font: italic 32px/1 var(--serif); letter-spacing: -.012em; }
.desktop-nav, .header-end, .links, .form-actions { display: flex; align-items: center; gap: 25px; }
.desktop-nav { gap: clamp(17px, 2.2vw, 38px); }
.header-end { justify-self: end; }
.desktop-nav a { font-size: 13px; padding: 8px 0; position: relative; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current]::after { content: ""; position: absolute; bottom: 4px; left: 0; right: 0; height: 1px; background: currentColor; }
.button, .line-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; width: fit-content; font: 500 14px/1.1 var(--sans); }
.button { padding: 14px 18px; border: 1px solid currentColor; }
.button.ink { background: var(--ink); color: white; border-color: var(--ink); }
.button.ink:hover { background: white; color: var(--ink); }
.line-link { border-bottom: 1px solid; padding: 7px 0 4px; }
.line-link:hover, .back:hover { color: var(--muted); }
.button span, .line-link span, .corner-arrow { font-weight: 400; }
.mobile-nav { display: none; }
.eyebrow, .micro, .mono, figcaption, .plate-caption, .medium-caption { font: 500 10.5px/1.5 var(--mono); letter-spacing: .075em; }
.eyebrow, .micro { text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 12px; }
.lanes { display: inline-block; width: 25px; height: 9px; transform: skewX(-27deg); background: repeating-linear-gradient(90deg, currentColor 0 3px, transparent 3px 6px); }
h1, .section-head h2, .rental-copy h2, .credit-section h2 { font: 400 clamp(60px, 7.15vw, 140px)/1.01 var(--serif); letter-spacing: .006em; }
h2 { font: 400 clamp(36px, 4.1vw, 77px)/1.06 var(--serif); letter-spacing: .004em; }
h3 { font: 400 clamp(27px, 3.1vw, 57px)/1.06 var(--serif); letter-spacing: .004em; }
.home-lead { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding-block:clamp(15px,1.65vw,27px); }
.home-lead .eyebrow {margin:0; flex:none}
.home-lead .studio-byline {font:400 clamp(14px,1.14vw,20px)/1.4 var(--sans);letter-spacing:normal;text-align:right}
.screening { background: #111; color: white; }
.screen { width: 100%; overflow: hidden; background: #111; }
.screen video { width: 100%; height: 100%; object-fit: contain; background: #111; }
.hero-screen { max-width: 1880px; margin-inline: auto; }
.hero-screen video { height: min(57vw, 76svh); }
.screen-bar { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 11px var(--gutter); max-width: 1880px; margin: auto; }
.film-label, .transport { display: flex; align-items: center; gap: 14px; }
.film-label strong { font-weight: 500; font-size: 14px; }
.film-label>.mono { color: #bdbdbd; }
.diamond { width: 7px; height: 7px; background: white; transform: skew(-18deg); }
.transport { gap: 20px; }
.transport button { color: #eee; padding: 6px 0; font-size: 12px; }
.transport button:hover { text-decoration: underline; text-underline-offset: 4px; }
.rental-note { display: grid; grid-template-columns: 1fr 3.2fr; gap: 28px; padding-block: clamp(62px, 7.7vw, 145px); }
.aside { padding-top: 6px; color: var(--muted); font: 500 11px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.rental-copy h2 { max-width: 12em; font-size: clamp(48px, 5.4vw, 103px); }
.rental-copy p, .title-block>p:last-of-type:not(.eyebrow), .profile>div>p:not(.quotelike) { font-size: clamp(16px, 1.38vw, 23px); line-height: 1.5; max-width: 42em; }
.rental-copy p { margin: 22px 0 23px; max-width: 38em; }
.work-home { padding: clamp(44px, 5.8vw, 100px) 0 clamp(55px, 6.3vw, 110px); background: #efefef; }
.section-head { display: flex; align-items: flex-end; gap: 20px; justify-content: space-between; margin-bottom: clamp(22px, 3vw, 45px); }
.section-head .eyebrow { margin-bottom: 13px; }
.section-head h2, .credit-section h2 { font-size: clamp(46px, 5.3vw, 94px); }
.work-grid, .work-index { display: grid; grid-template-columns: 1fr 1fr; gap: 39px clamp(18px, 2.7vw, 48px); }
.lead-entry { grid-column: 1/-1; }
.project-entry { min-width: 0; }
.pair-pictures { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.pair-pictures a { position: relative; aspect-ratio: 1.03; display: block; overflow: hidden; background: #ddd; }
.pair-pictures img { height: 100%; width: 100%; object-fit: cover; object-position: var(--crop, center); transition: transform .45s ease; }
.pair-pictures a:hover img { transform: scale(1.025); }
.lead-entry .pair-pictures a { aspect-ratio: 1.71; }
.image-label { position: absolute; bottom: 10px; left: 10px; display: inline-flex; gap: 6px; align-items: center; background: rgba(16,16,16,.86); color: white; padding: 4px 7px; font: 500 10px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.entry-foot { display: flex; align-items: end; justify-content: space-between; padding: 13px 0 8px; gap: 10px; }
.entry-foot .micro { color: var(--muted); margin-bottom: 5px; }
.corner-arrow { font: 28px/1 var(--sans); padding: 8px 0 5px 9px; }
.entry-foot a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.title-block, .project-intro { padding: clamp(41px, 5vw, 85px) 0 clamp(30px, 4.1vw, 70px); }
.title-block .eyebrow, .project-head .eyebrow { margin-bottom: 17px; }
.title-block>p:last-of-type:not(.eyebrow) { max-width: 39em; margin-top: 17px; }
.index-links { display: flex; flex-wrap: wrap; gap: 9px 21px; margin-top: 28px; }
.index-links a, .back { display: inline-block; font-size: 13px; padding-block: 3px; }
.index-links a:hover, .back:hover, .email-address:hover { text-decoration: underline; text-underline-offset: .18em; }
.work-index { padding-bottom: clamp(54px, 6vw, 115px); }
.project-intro { padding-top: 23px; }
.project-head { display: grid; grid-template-columns: 1.5fr 1fr; align-items: end; gap: 35px; margin-top: 42px; }
.project-head h1 { font-size: clamp(48px, 6.3vw, 110px); }
.project-head.title-only { display: block; }
.project-head>p { max-width: 34em; font-size: clamp(15px, 1.2vw, 20px); }
.paired { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 2.6vw, 42px); }
.medium { min-width: 0; }
.medium-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 2px solid var(--ink); padding: 12px 0 14px; }
.medium-label h2 { font-size: clamp(28px, 2.6vw, 46px); }
.medium-label .mono { color: var(--muted); text-transform: uppercase; }
.project-screen, .cover-print { display: block; width: 100%; aspect-ratio: 4/3; }
.cover-print { position: relative; background: #ececec; overflow: hidden; }
.cover-print img { object-fit: contain; height: 100%; }
.cover-print>span { position: absolute; bottom: 12px; left: 12px; background: #141414; color: #fff; padding: 5px 9px; font-size: 12px; }
.medium-caption, figcaption, .plate-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 10px 0; font-size: 11px; letter-spacing: .01em; color: var(--muted); }
.print-section { padding: clamp(54px, 6.2vw, 100px) 0 32px; }
.print-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 26px 18px; }
.plate { display: block; min-width:0; cursor: zoom-in; }
.plate img { height: auto; background:#eee; }
.plate-caption { border-bottom: 1px solid var(--rule); }
.next { margin: 37px 0 65px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid var(--rule); padding: 21px 0; }
.next-link { font: 400 clamp(24px,3vw,51px)/1.1 var(--serif); letter-spacing: .006em; }
dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; background:#111; color:white; padding: 0; }
dialog::backdrop { background: #111; }
.viewer-content { display: flex; flex-direction: column; height: 100%; padding: 12px var(--gutter); gap: 12px; }
.viewer-head, .viewer-strip { display: flex; align-items: center; gap: 18px; padding: 5px 0; font-size: 14px; }
.viewer-head { justify-content: space-between; }
.viewer-head button,.viewer-strip button {color:white; padding:10px; }
.viewer-strip p { margin-right:auto; }
.viewer-strip [data-counter] { font: 12px/1 var(--mono); }
.viewer-strip button { font-size: 21px; }
.viewer-image { flex: 1; min-height: 0; }
.viewer-image img { width:100%; height:100%; object-fit:contain; }
.gear-picture>div { position:relative; background:#161616; }
.gear-picture img { max-height: 76vh; object-fit: cover; object-position: center; aspect-ratio: 16/9; }
.hotspot { position:absolute; display:inline-flex; align-items:center; gap:0; transform:translate(-50%,-50%); color:white; }
.hotspot>span { background: #101010b8; border:1px solid white; border-radius:50%; width:35px; height:35px; display:grid; place-items:center; font:19px/1 var(--sans); }
.hotspot b { position:absolute; top:100%; left:50%; transform:translateX(-50%); padding:4px 7px; background:#111; color:#fff; font:11px/1.3 var(--sans); white-space:nowrap; }
.hotspot:hover span { background:#fff;color:#111; }
.gear-list { display:grid; grid-template-columns:1fr 1fr; gap:48px 5vw; padding:43px 0 75px; }
.gear-group { padding-top:14px; border-top:2px solid #151515; }
.gear-heading { display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:17px; }
.gear-heading h2 { font-size:clamp(34px,3.8vw,66px); }
.gear-group dl>div,.credits-list>div { display:grid; gap:15px; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--rule); padding:12px 0; }
.gear-group dt,.credits-list dt { font-weight:550; }
.gear-group dd,.credits-list dd { font-size:14px;color:var(--muted); }
.gear-group .line-link { margin-top:16px; }
.profile,.inquiry-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,95px); align-items:start; padding-bottom:65px; }
.profile figure img { max-height:560px; object-fit:contain; background:#eee; }
.quotelike,.correspondence h2 { font:400 clamp(32px,3.5vw,66px)/1.09 var(--serif); letter-spacing:.004em; margin-bottom:20px; }
.profile .line-link, .correspondence .line-link { margin-top:22px; }
.credit-section { padding:clamp(34px,4.5vw,76px) 0 clamp(42px,5vw,80px); }
.credit-section h2 { margin-bottom:17px; }
.credits-list>div { grid-template-columns:.8fr 1.2fr; }
.credits-list dd span { color:#5d5d5d; }
.credit-section summary { cursor:pointer; padding:12px 0; text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.correspondence>p:not(.contact-social) { max-width:29em; }
.contact-social {margin:8px 0 24px; font-size:14px;}
.correspondence figure img { aspect-ratio:1.95;object-fit:cover; }
form { border-top:2px solid var(--ink); padding-top:19px; }
label { display:block; margin:0 0 16px; font-size:13px; }
input,select,textarea { width:100%; padding:10px 11px; border:1px solid #959595; background:white; border-radius:0; display:block; margin-top:5px; font-size:16px; }
textarea { min-height:100px;resize:vertical; }
.form-pair { display:grid; grid-template-columns:1fr 1fr;gap:15px; }
.form-note { margin:12px 0;color:var(--muted);font-size:13px; }
.footer { background:#141414;color:white; }
.foot-row { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-block:32px; }
.foot-mark img { width:86px; height:48px; object-fit:contain; filter:invert(1); }
.foot-row p,.foot-contact {font-size:14px; }
.foot-row p span,.foot-contact a:last-child { color:#c9c9c9; }
.foot-contact { display:grid;text-align:right;gap:4px; }
.foot-contact a:hover { text-decoration:underline; }
@media(max-width:800px) {
  .header {gap:13px;min-height:66px}
  .nav-book {font-size:12px;gap:9px;padding:11px 12px}
  .desktop-nav {gap:15px}
  .wordmark img {width:70px}.wordmark i{font-size:28px}
  .hero-screen video {height:auto;aspect-ratio:16/9}
  .rental-note {grid-template-columns:.65fr 2fr}
  .project-head {grid-template-columns:1.2fr 1fr}
  .gear-list {gap:35px 24px}
}
@media(max-width:620px) {
  :root {--gutter:19px}
  .header {display:flex;justify-content:space-between;min-height:62px}
  .desktop-nav {display:none}
  .header-end {gap:12px}
  .mobile-nav {display:block;position:relative}
  .mobile-nav summary {list-style:none;cursor:pointer;font-size:13px;padding:9px 0;text-decoration:underline;text-underline-offset:4px}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav nav {position:absolute;right:0;top:100%;min-width:148px;background:white;color:black;display:grid;border:1px solid #111;padding:6px 14px}
  .mobile-nav nav a {padding:9px 0;font-size:15px}
  .home-lead{gap:16px;padding-block:13px}
  .home-lead .eyebrow{flex:0 1 auto;gap:7px;font-size:9px;line-height:1.4}
  .home-lead .lanes{flex:none;width:16px}
  .home-lead .studio-byline{max-width:58%;font-size:12px;line-height:1.4;text-wrap:balance}
  .screen-bar{padding:8px var(--gutter);gap:8px;flex-wrap:wrap}
  .film-label,.transport{gap:10px}.film-label strong{font-size:13px}.transport button{font-size:11px}
  .rental-note{display:block;padding-block:42px 48px}
  .aside{margin-bottom:14px}.rental-copy h2{font-size:42px}
  .rental-copy p{margin:15px 0 18px}
  .button,.line-link{font-size:13px;gap:10px}.nav-book{font-size:12px;gap:6px}
  .links{gap:18px}.section-head{gap:12px}.section-head .line-link{white-space:nowrap}
  .section-head h2,.credit-section h2{font-size:43px}
  .work-grid,.work-index,.paired,.profile,.inquiry-layout,.gear-list {grid-template-columns:1fr}
  .work-grid,.work-index {gap:28px}
  .lead-entry .pair-pictures a,.pair-pictures a{aspect-ratio:1}
  .entry-foot{padding-top:9px}.entry-foot h3{font-size:34px}
  .index-links{gap:8px 14px}.title-block{padding-block:32px 25px}.title-block h1{font-size:clamp(55px,13vw,76px)}
  .project-head{grid-template-columns:1fr;gap:10px;margin-top:26px}.project-head h1{font-size:53px}
  .project-head .eyebrow{margin-bottom:10px}.project-intro{padding-bottom:20px}
  .paired{gap:22px}.project-screen,.cover-print{aspect-ratio:4/3}
  .medium-label{padding:9px 0}.print-section{padding-top:38px}.print-grid{grid-template-columns:1fr 1fr;gap:16px 10px}
  .plate-caption{font-size:10px}.next{margin-block:16px 34px}
  .viewer-strip{gap:8px;font-size:12px}
  .gear-picture img{aspect-ratio:1.55}.hotspot b{font-size:9px}.hotspot>span{width:25px;height:25px}
  .gear-list{padding:28px 0 45px}.gear-heading{margin-bottom:8px}
  .gear-group dl>div{padding:9px 0}.profile,.inquiry-layout{gap:25px;padding-bottom:37px}
  .profile figure img{max-height:410px}.credit-section{padding-block:22px 34px}
  .credits-list>div{grid-template-columns:1fr;gap:3px}.foot-row{gap:13px;grid-template-columns:auto 1fr}
  .foot-contact{grid-column:1/-1;text-align:left;display:flex;gap:16px;flex-wrap:wrap}
}
@media(max-width:360px){
  :root{--gutter:12px}.wordmark img{width:58px}.wordmark i{font-size:24px}.header-end{gap:9px}
  .button.nav-book{padding:9px}.transport{gap:8px}.section-head h2{font-size:39px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}
}
.vertical-pair .project-screen, .vertical-pair .cover-print {aspect-ratio:3/4}
.project-screen,.cover-print {aspect-ratio:16/9}
.print-grid.wide .plate img {aspect-ratio:3/2;object-fit:contain;background:#f0f0f0}
.print-grid.upright .plate img {aspect-ratio:4/5;object-fit:contain;background:#f0f0f0}
.index-aside {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0 35px;border-top:1px solid var(--rule);font-size:14px}
.sittings .print-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:720px){.sittings .print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-pair .project-screen,.vertical-pair .cover-print{max-height:77svh}}
.film-mark{width:35px;height:20px;object-fit:contain;filter:invert(1)}
.gear-group:target{border-top-width:4px}
.rental-note{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,100px)}
.rental-image img{aspect-ratio:3/2;object-fit:cover}
.rental-copy .eyebrow{font-size:10.5px;line-height:1.5;margin:0 0 16px}
@media(max-width:620px){.rental-note{display:grid;grid-template-columns:1fr;gap:18px}.rental-copy .eyebrow{margin-bottom:10px}}
.screening:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#000}
.screening:fullscreen .hero-screen{width:100%;height:calc(100% - 55px);max-width:none}
.screening:fullscreen .hero-screen video{height:100%;object-fit:contain}
.screening:fullscreen .screen-bar{width:100%}

h1,h2,h3,.next-link {font-kerning:normal;font-variant-ligatures:common-ligatures}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.editorial-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,50px);align-items:start}
.films-stack{display:grid;gap:28px}
.editorial-pair .project-screen{aspect-ratio:auto}
.editorial-pair .project-screen video{height:auto;max-height:74svh;object-fit:contain}
.lead-photo{display:block;cursor:zoom-in}
.lead-photo img{height:auto;max-height:74svh;object-fit:contain;object-position:left top}
.photo-series{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3.2vw,58px);align-items:center}
.photo-series img{width:100%;height:auto;max-height:80svh;object-fit:contain;background:transparent}
.continuation{margin:clamp(28px,4vw,72px) 0 clamp(35px,5vw,82px)}
.portfolio-portraits{padding-block:clamp(24px,3vw,56px) clamp(56px,6vw,110px)}
.portfolio-portraits .photo-series{align-items:start}
.profile figure img{object-fit:contain;object-position:left;background:transparent;max-height:620px;width:auto;max-width:100%}
.credit-note{color:var(--muted);padding-bottom:22px}
.name-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;list-style:none;padding:0;margin:0}
.name-index li{font-size:clamp(14px,1.25vw,21px)}
.client-band{padding-block:clamp(28px,3.4vw,56px);overflow:hidden;background:var(--paper)}
.band-head,.band-tools{display:flex;justify-content:space-between;align-items:center;gap:18px}
.band-head h2{font:500 11px/1.5 var(--mono);letter-spacing:.075em}
.band-tools a,.band-tools button{font:500 12px/1.5 var(--sans);padding:4px 0;border-bottom:1px solid currentColor}
.marquee{overflow:hidden;margin-top:18px}
.marquee-run{display:flex;width:max-content;animation:credit-scroll 248s linear infinite}
.marquee ul{display:flex;align-items:baseline;list-style:none;padding:0;margin:0}
.marquee li{padding-inline-end:clamp(34px,4vw,72px);white-space:nowrap;font:400 clamp(27px,3vw,53px)/1.28 var(--serif)}
@keyframes credit-scroll{to{transform:translateX(-50%)}}
.client-band[data-paused] .marquee-run,.marquee:hover .marquee-run{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.marquee ul[aria-hidden]{display:none}.band-tools button{display:none}}
.contact-card{background:#efefef;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(38px,7vw,110px);margin-inline:calc(-1 * var(--gutter));padding:clamp(32px,4.4vw,72px) var(--gutter)}
.email-address{display:inline-block;font:400 clamp(29px,4.2vw,80px)/1.25 var(--serif);margin:15px 0 19px;overflow-wrap:anywhere}
.contact-intro{font-size:clamp(16px,1.25vw,22px);line-height:1.55}
.contact-shortcuts{display:flex;align-items:center;gap:24px;margin-top:20px}
.contact-facts{display:grid;align-content:start;gap:18px}
.contact-facts>div{display:grid;grid-template-columns:.65fr 1.35fr;align-items:baseline;gap:12px}
.contact-facts dt{font:500 11px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.kit-note{padding-top:18px;font-size:14px;color:var(--muted)}
@media(max-width:820px){.name-index{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){
  .editorial-pair,.contact-card{grid-template-columns:1fr}
  .editorial-pair{gap:33px}.editorial-pair .project-screen video{max-height:76svh}
  .lead-photo img{max-height:74svh;object-position:center}.photo-series{grid-template-columns:1fr;gap:24px}
  .project-head h1{font-size:clamp(43px,11.6vw,68px)}.project-head h1,.title-block h1{text-wrap:balance}
  .profile figure img{max-height:460px}
  .contact-intro br{display:none}
  .name-index{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
}

.editorial-pair+.editorial-pair{margin-top:clamp(30px,4vw,70px)}
.medium-label .subhead{font:400 clamp(28px,2.6vw,46px)/1.06 var(--serif);letter-spacing:.004em}

.series-nav{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:13px}
.series-nav a{border-bottom:1px solid currentColor}
.sculpture-series{margin:clamp(42px,6vw,94px) 0}
.sculpture-series section+section{margin-top:clamp(42px,6vw,94px)}
.series-heading{font-size:clamp(26px,2.8vw,44px);border-top:1px solid var(--rule);padding:15px 0 20px}

#contact .eyebrow{font:500 11px/1.5 var(--mono);letter-spacing:.075em}
#contact{scroll-margin-top:20px;padding-bottom:clamp(36px,5vw,80px)}
.sculpture-edit .continuation .plate:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,750px)}
.rental-copy .links{flex-wrap:wrap}

.photo-diptych{display:grid;grid-template-columns:1fr 1fr;gap:3px;overflow:hidden}
.photo-diptych img{width:100%;aspect-ratio:1.03;object-fit:cover}
.photo-intro{max-width:38em;font-size:clamp(15px,1.2vw,20px)}
.project-head.food-heading {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: clamp(18px, 2vw, 32px);
  text-align: center;
  padding-bottom: clamp(8px, 1.5vw, 24px);
}
.food-heading .photo-intro {
  max-width: 59ch;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.55;
  text-wrap: balance;
}
.food-heading .photo-intro > p + p { margin-top: .8em; }
.food-inquiry {
  margin: clamp(20px, 2vw, 28px) auto 0;
  max-width: 44ch;
  font-size: .88em;
}
.food-inquiry .line-link { margin-top: 5px; font-size: 13px; }
.photographic-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(24px,4vw,68px) clamp(20px,3vw,55px)}
.photographic-story figure{min-width:0}
.photographic-story img{width:100%;height:auto;max-height:78svh;object-fit:contain;object-position:left top}
.event-head{grid-template-columns:auto 1fr;align-items:baseline}
.event-head>div{text-align:right}
.event-head h2{font:500 clamp(16px,1.55vw,25px)/1.25 var(--sans);letter-spacing:normal}
.event-head p{color:var(--muted);font-size:13px;margin-top:5px}
.event-story{max-width:1280px;margin-inline:auto;grid-template-columns:1fr;row-gap:clamp(26px,3.5vw,58px)}
.event-spread{display:grid;grid-template-columns:var(--columns);gap:clamp(14px,2vw,30px);align-items:center}
.event-story img{object-position:center}
@media(max-width:680px){.event-head{grid-template-columns:1fr}.event-head>div{text-align:left}.event-story,.event-spread{grid-template-columns:1fr;gap:22px}}
.venue-credit{margin-top:8px;padding:0;font:500 12px/1.4 var(--sans);letter-spacing:normal;color:var(--muted)}
@media(max-width:620px){.photographic-story{grid-template-columns:1fr}.photographic-story img{max-height:85svh}.venue-credit{margin-top:7px}}

.film-only-card{position:relative;display:block;overflow:hidden}
.film-only-card img{width:100%;height:auto;aspect-ratio:2.06;object-fit:cover}
.film-solo{max-width:1080px;margin:0 auto 42px}
.film-solo .project-screen{aspect-ratio:auto}.film-solo video{max-height:78svh}

/* Index tiles share a baseline even where a neighboring project is stills-only. */
:is(.work-index,.work-grid) .project-entry{--card-media-height:clamp(165px,19vw,340px)}
.work-grid .project-entry.lead-entry{--card-media-height:clamp(215px,25vw,490px)}
:is(.work-index,.work-grid) .pair-pictures{grid-template-columns:.82fr 1.18fr}
.entry-still[href="stevale.html#prints"] img {object-fit:contain;background:var(--paper)}
:is(.work-index,.work-grid) :is(.pair-pictures a,.photo-diptych img,.film-only-card img){height:var(--card-media-height);aspect-ratio:auto;object-fit:cover}
@media(max-width:700px){
  :is(.work-index,.work-grid) .project-entry,.work-grid .project-entry.lead-entry{--card-media-height:clamp(145px,42vw,235px)}
}

/* One horizontal arrow geometry for every forward and back link. */
.nav-arrow{display:inline-block;vertical-align:-.1em;width:1.23em;height:.89em;flex:none}
.back,.next-link,.band-tools a,.series-nav a,.foot-contact a:has(svg),.contact-facts a:has(svg),.transport [data-full],.corner-arrow{display:inline-flex;align-items:center;gap:.45em}
.corner-arrow{align-self:center;padding:9px 0 9px 9px}
.viewer-strip button{display:grid;place-items:center}
.next-link .nav-arrow{width:.95em;height:.7em}

/* A screening followed by a separate, uncaptioned sequence of full-frame prints. */
.project-edition{--edition-gap:clamp(16px,2.15vw,36px);display:grid;gap:clamp(24px,3.4vw,58px)}
.single-screen{width:100%;margin-inline:auto}
.single-screen.landscape{max-width:min(1180px,calc(88svh * 16 / 9))}
.single-screen.upright .movie-column{width:min(100%,calc(84svh * var(--film-ratio)));margin-inline:auto}
.project-edition .project-screen{aspect-ratio:var(--film-ratio);width:100%}
.project-edition .project-screen video{width:100%;height:100%;max-height:none;object-fit:contain}
.single-screen.upright .movie-column:has(video[data-square-poster]:not(.film-started)){width:min(100%,72svh,740px)}
.project-edition .project-screen:has(video[data-square-poster]:not(.film-started)){aspect-ratio:1}
.companion-screenings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--edition-gap);width:min(100%,calc(2 * min(40vw,47svh,490px) + var(--edition-gap)));margin-inline:auto}
.project-prints{width:min(100%,1120px);margin-inline:auto}
.project-prints .photo-series{gap:var(--edition-gap);align-items:center}
.project-prints .photo-series .plate:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - var(--edition-gap))/2);justify-self:center}
.title-credit{display:block;max-width:28em;margin-top:.38em;font:400 clamp(17px,1.65vw,28px)/1.25 var(--serif);letter-spacing:0;text-wrap:pretty}
.entry-foot .title-credit,.next-link .title-credit{font-size:clamp(15px,1.12vw,21px);line-height:1.3}
.viewer-head{justify-content:flex-end}
.viewer-strip:has(:not([data-caption]):first-child) [data-counter]{margin-right:auto}
.play-mark{position:absolute;bottom:10px;left:10px;background:#111b;color:#fff;border:1px solid #fff8;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;padding-left:2px;font:15px/1 var(--sans)}
@media(max-width:700px){
 .project-edition{--edition-gap:16px;gap:24px}
 .single-screen.landscape{max-width:100%}
 .companion-screenings{grid-template-columns:1fr;width:100%}
 .companion-screenings .movie-column{width:min(100%,calc(80svh * var(--film-ratio)));margin-inline:auto}
 .project-prints .photo-series .plate:last-child:nth-child(odd){width:100%}
 .next-link .title-credit{max-width:14em}
}

/* Original Refraction-era xGP Studio and xGotta Production artwork. */
.wordmark{display:block}
.header{min-height:96px}
.wordmark img{width:126px;height:auto}
.footer .foot-mark img{width:clamp(140px,14.5vw,210px);height:auto}
.foot-row{column-gap:clamp(22px,3.5vw,54px)}
.film-mark{width:34px;height:auto}
@media(max-width:800px){.header{min-height:80px}.wordmark img{width:104px}}
@media(max-width:620px){.header{min-height:70px}.wordmark img{width:90px}.footer .foot-mark img{width:125px}.foot-row{column-gap:20px}}

.locker-page { padding-bottom: clamp(54px, 7vw, 112px); }
.locker-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 23rem);
  align-items: end;
  gap: 28px;
  padding: clamp(27px, 3.4vw, 60px) 0 clamp(22px, 2.8vw, 48px);
}
.locker-head .eyebrow { margin-bottom: 12px; }
.locker-head h1 { font-size: clamp(55px, 6.6vw, 115px); }
.locker-guide { max-width: 27ch; padding-bottom: .3em; justify-self: end; line-height: 1.45; }
.locker-index {
  display: flex;
  flex-wrap: wrap;
  gap: 2px clamp(18px, 2.1vw, 39px);
  align-items: center;
  padding: 6px clamp(14px, 1.8vw, 28px);
  background: #f0f0f0;
}
.locker-index a { padding: 8px 0; font-size: 14px; }
.locker-index a:hover, .locker-index a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.locker-group { margin-top: clamp(36px, 4.3vw, 68px); }
.locker-group h3 { margin: 0 0 15px; font-size: clamp(28px, 2.5vw, 47px); }
.locker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 36px) clamp(12px, 1.6vw, 26px);
  list-style: none;
  padding: 0;
  margin: 0;
}
.locker-grid > li { min-width: 0; display: flex; }
.gear-cubby {
  width: 100%;
  min-width: 0;
  container-type: inline-size;
  position: relative;
  background: #f0f0f0;
}
.gear-cubby summary { list-style: none; cursor: pointer; }
.gear-cubby summary::-webkit-details-marker { display: none; }
.gear-cubby summary:focus-visible { outline-color: var(--ink); outline-offset: -4px; }
.cubby-photo, .cubby-info { aspect-ratio: 1.64; min-height: 170px; }
.cubby-photo {
  display: grid;
  place-items: center;
  padding: clamp(21px, 2.1vw, 44px);
  background: white;
  overflow: hidden;
}
.cubby-photo img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.cubby-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 27px;
  align-items: center;
  column-gap: 13px;
  padding: 16px clamp(16px, 1.5vw, 28px);
}
.cubby-name { font: 500 clamp(16px, 1.32vw, 24px)/1.18 var(--sans); letter-spacing: -.01em; overflow-wrap: anywhere; }
.cubby-toggle {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  width: 26px;
  height: 26px;
  border: 1px solid #999;
  border-radius: 50%;
}
.cubby-toggle::before {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: 7px;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
.gear-cubby[open] .cubby-toggle::before { top: 10px; transform: rotate(225deg); }
.cubby-info {
  position: absolute;
  top: 0;
  inset-inline: 0;
  display: flex;
  flex-direction: column;
  height: max(170px, calc(100cqi / 1.64));
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: white;
  background: var(--ink);
  padding: clamp(14px, 1.5vw, 25px);
}
.cubby-info > * { flex: none; }
.cubby-points {
  margin: 0;
  padding-inline-start: 1.15em;
  list-style: disc outside;
  font: 400 clamp(14px, 1.03vw, 17px)/1.4 var(--sans);
  overflow-wrap: anywhere;
}
.cubby-points li + li { margin-top: .32em; }
.cubby-spec {
  align-self: flex-start;
  margin-top: auto;
  padding-block: 4px;
  color: white;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cubby-spec:focus-visible { outline-color: white; }
@media (pointer: coarse) {
  .cubby-spec { padding-block: 8px; }
}
@media (min-width: 1530px) {
  .locker-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 890px) {
  .locker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .locker-head { grid-template-columns: minmax(0, 1fr) minmax(12rem, 15rem); }
}
@media (max-width: 650px) {
  .locker-head { display: block; }
  .locker-guide { margin-top: 13px; max-width: 33ch; font-size: 14px; }
  .locker-index { column-gap: 18px; }
  .locker-index a { font-size: 13px; }
}
@media (max-width: 500px) {
  .locker-grid { grid-template-columns: minmax(0, 1fr); }
  .cubby-label { padding-block: 13px; }
}
.cubby-image-note { color: #dedede; font: 400 12px/1.35 var(--sans); }

.package-group, .dit-service, .locker-catalog { margin-top: clamp(38px, 4.7vw, 78px); }
.package-group > h2 { margin: 0 0 clamp(17px, 1.8vw, 30px); font-size: clamp(34px, 3.7vw, 64px); }
.package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 35px); list-style: none; padding: 0; margin: 0; }
.rental-package { min-width: 0; display: flex; flex-direction: column; }
.package-photo { display: grid; place-items: center; aspect-ratio: 1.75; overflow: hidden; background: white; }
.package-photo img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.package-copy { padding: clamp(13px, 1.4vw, 25px) 0; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 10px; }
.package-copy h3 { font-size: clamp(26px, 2.35vw, 42px); }
.package-description, .package-contents { font: 400 clamp(14px, 1.08vw, 18px)/1.5 var(--sans); }
.package-contents { list-style: disc; padding-inline-start: 1.1em; margin: 0; width: 100%; color: var(--muted); }
.package-contents li + li { margin-top: .3em; }
.package-contents li::marker { font-size: .75em; }
.dit-service { display: grid; grid-template-columns: 1.1fr 1fr; background: var(--ink); color: #fff; }
.dit-copy { align-self: center; padding: clamp(24px, 3.3vw, 60px); }
.dit-copy h2 { font-size: clamp(33px, 4vw, 66px); margin: 9px 0 16px; }
.dit-copy > p:not(.eyebrow) { max-width: 46ch; line-height: 1.5; }
.dit-copy .line-link { margin-top: 14px; }
.dit-copy .line-link:hover { color: white; text-decoration: underline; }
.dit-copy .package-contents { color: #eee; margin-top: 12px; }
.dit-photo { display: grid; place-items: center; min-width: 0; background: white; }
.dit-photo img { width: 100%; height: 100%; max-height: 355px; object-fit: contain; padding: clamp(12px, 2vw, 30px); }
.package-photo-grid { display: grid; width: 100%; height: 100%; grid-template: repeat(2, minmax(0, 1fr)) / repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px; }
.package-photo-grid img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.dit-photo .package-photo-grid { height: clamp(230px, 27vw, 355px); gap: 12px; padding: 16px; }
.dit-photo .package-photo-grid img { padding: 0; }
.catalog-heading { padding-bottom: 21px; display: flex; gap: 16px; justify-content: space-between; align-items: baseline; }
.catalog-heading h2 { font-size: clamp(38px, 4.3vw, 75px); }
.catalog-heading p { color: var(--muted); font-size: 14px; }
.locker-page:has(.gear-inquiry-banner) { padding-bottom: 0; }
.gear-inquiry-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(22px, 4vw, 72px);
  margin: clamp(45px, 6vw, 96px) calc(-1 * var(--gutter)) 0;
  padding: clamp(31px, 4.2vw, 77px) var(--gutter);
  color: var(--ink);
  background: #eee;
}
.gear-inquiry-banner h2 { font-size: clamp(34px, 4.4vw, 78px); }
.gear-inquiry-banner p { max-width: 52ch; margin-top: 8px; font-size: clamp(15px, 1.2vw, 20px); }
.gear-inquiry-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 46px;
  flex: none;
  padding: 11px 19px;
  border: 1px solid var(--ink);
  color: white;
  background: var(--ink);
  font: 500 15px/1.3 var(--sans);
}
.gear-inquiry-link:hover { background: white; color: var(--ink); }
.gear-inquiry-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media(max-width: 730px) {
  .package-grid { grid-template-columns: 1fr; gap: 22px; }
  .package-photo { aspect-ratio: 1.85; }
  .package-copy { gap: 9px; }
  .dit-service { grid-template-columns: 1fr; }
  .dit-photo img { max-height: 255px; }
  .catalog-heading { display: block; }.catalog-heading p { margin-top: 9px; }
  .gear-inquiry-banner { flex-direction: column; align-items: flex-start; gap: 18px; }
}

.rental-copy > p a { text-decoration: underline; text-underline-offset: .16em; }

.creator-bio { --serif: var(--sans); --mono: var(--sans); }
.creator-bio .title-block { padding-block: clamp(24px, 3.3vw, 58px) clamp(24px, 3vw, 50px); }
.creator-bio h1 { font-size: clamp(48px, 6.1vw, 104px); letter-spacing: -.018em; }
.creator-bio .profile { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(28px, 5vw, 82px); }
.creator-bio .profile img { max-height: 570px; }
.creator-bio .profile h2 { margin-bottom: .65em; font-size: clamp(26px, 3vw, 52px); letter-spacing: -.012em; }
.creator-bio .profile p { max-width: 57ch; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.52; }
.creator-bio .profile p + p { margin-top: 1em; }
.creator-bio .profile a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .17em; }
.creator-bio .studio-assistant { padding-top: 0; align-items: center; }
.creator-bio .studio-assistant img { width: auto; max-width: 100%; max-height: 340px; }
@media (max-width: 700px) {
  .creator-bio .profile { grid-template-columns: 1fr; gap: 24px; }
  .creator-bio .profile img { max-height: 360px; }
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.studio-name {
  text-align: left;
  font: 600 13px/1.08 var(--sans);
  letter-spacing: .01em;
}
@media (max-width: 620px) {
  .wordmark { gap: 5px; }
  .studio-name { font-size: 10px; }
}
