:root{font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:auto;scrollbar-gutter:stable}
body{margin:0;background:#09090a;color:#eeece6;font-family:'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{display:block;width:100%;height:100%;object-fit:cover}
a:focus-visible,button:focus-visible{outline:2px solid #d48c6c;outline-offset:5px}
.skip-link{position:fixed;top:-80px;left:12px;z-index:20;padding:12px;background:#eeece6;color:#09090a}
.skip-link:focus{top:12px}

.pc-shell{max-width:1900px;margin:auto;padding:0 clamp(22px,3vw,58px)}
.pc-header{min-height:78px;border-bottom:1px solid #8c89804f;display:flex;align-items:center;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.pc-header>a{font-size:29px;line-height:.9;font-weight:600;letter-spacing:-.06em;text-transform:none}
.pc-header>a{display:inline-block;padding:2px 0}
.pc-header>a .pc-star{display:inline-block;color:#be7454;font:23px/.9 Georgia,serif;vertical-align:top;margin-left:4px;transform-origin:55% 29%}
.pc-header>span:last-child{color:#aaa59c}
.pc-header-end{display:flex;align-items:center;gap:18px}

.pc-grid{position:relative;margin:63px 0 110px;scroll-margin-top:24px;min-height:100dvh}
.pc-item{position:absolute;top:0;left:0;min-width:0;transition:z-index 0s linear .7s}
.pc-grid .pc-item:hover,.pc-grid .pc-item:focus-within{z-index:3;transition-delay:0s}
.pc-trigger{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left}
.pc-frame{display:block;position:relative;overflow:hidden;background:#272323;transform-origin:0 0;transition:transform .7s cubic-bezier(.2,.7,.1,1),opacity .5s ease}
.pc-item-wide .pc-frame{aspect-ratio:1.55}
.pc-item-portrait-left .pc-frame,.pc-item-portrait-right .pc-frame{aspect-ratio:.72}
.pc-item-landscape-left .pc-frame,.pc-item-landscape-right .pc-frame{aspect-ratio:1.4}
.pc-frame img{filter:brightness(.88);transition:transform .9s ease,filter .5s ease}
.pc-trigger:hover .pc-frame img,.pc-trigger:focus-visible .pc-frame img{transform:scale(1.025);filter:brightness(1)}
.pc-number{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:.15em;text-shadow:0 1px 8px #000}
.pc-play{position:absolute;right:12px;bottom:12px;border:1px solid #eeece6a6;border-radius:100px;padding:8px 11px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;background:#09090a75;transition:opacity .35s ease}
.pc-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;pointer-events:none}
.is-previewing .pc-preview{opacity:1}
.is-previewing .pc-play{opacity:0}
.pc-footer{border-top:1px solid #8c89804f;padding:26px 0 50px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.14em;font-size:11px}


.pc-viewer{border:0;padding:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;background:rgba(9,9,10,.74);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#eeece6;overflow:auto}
.pc-viewer::backdrop{background:transparent}
.pc-viewer-shell{cursor:zoom-out}
.pc-viewer-stage .pc-media{cursor:default}
.pc-viewer-shell button{cursor:pointer}
.pc-ghost{position:fixed;z-index:2;overflow:hidden;pointer-events:none;background:#272323}
.pc-ghost img{width:100%;height:100%;object-fit:cover}
.pc-viewer-shell{max-width:1900px;min-height:100%;margin:auto;padding:24px 3vw 28px;display:flex;flex-direction:column}
.pc-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}
.pc-viewer-header span{font-size:11px;letter-spacing:.14em;color:#aaa59c}
.pc-viewer-header button,.pc-viewer-footer button{border:0;background:transparent;color:inherit;font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;padding:10px}
.pc-viewer-header button span{font-size:28px;color:inherit;vertical-align:-4px;margin-left:9px}
.pc-viewer-stage{height:min(72dvh,900px);min-height:280px;display:flex;justify-content:center;align-items:center;overflow:hidden;touch-action:pan-y pinch-zoom}
.pc-viewer-stage img,.pc-viewer-stage video{width:100%;height:100%;object-fit:contain}
.pc-viewer-stage .pc-media{flex:none}
/* Film player: quiet controls in the site's type, resting out of sight while a film plays */
.pc-player{position:relative;overflow:hidden;background:#000;container-type:inline-size;--p:0;--b:0;--h:0}
.pc-player video{display:block}
.pc-player.is-idle{cursor:none}
.pc-player:fullscreen{width:100%!important;height:100%!important}
.pc-player:-webkit-full-screen{width:100%!important;height:100%!important}
.pc-player-cue{position:absolute;top:50%;left:50%;translate:-50% -50%;border:1px solid #eeece6a6;border-radius:100px;padding:10px 15px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:#09090a75;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;opacity:0;scale:.9;transition:opacity .3s ease,scale .6s cubic-bezier(.2,.7,.1,1)}
.pc-player.is-cued .pc-player-cue{opacity:1;scale:1;transition-delay:.25s}
.pc-player-line{position:absolute;left:0;bottom:0;width:100%;height:1px;background:#eeece6;transform-origin:0 50%;transform:scaleX(var(--p));opacity:0;transition:opacity .6s ease}
.pc-player.is-idle .pc-player-line{opacity:.65}
.pc-controls{position:absolute;inset:auto 0 0;padding:48px 16px 8px;background:linear-gradient(#09090a00,#09090a99);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.7,.1,1)}
.pc-player.is-idle .pc-controls{opacity:0;transform:translateY(10px);pointer-events:none}
.pc-scrub{position:relative;height:24px}
.pc-scrub-bar{position:absolute;left:0;right:0;top:50%;height:1px;translate:0 -50%;background:#eeece62e;transition:height .4s cubic-bezier(.2,.7,.1,1)}
.pc-scrub-bar i{position:absolute;inset:0;transform-origin:0 50%}
.pc-scrub-bar .is-buffer{transform:scaleX(var(--b));background:#eeece633;transition:transform .4s ease}
.pc-scrub-bar .is-hover{transform:scaleX(var(--h));background:#eeece640;opacity:0;transition:opacity .25s ease}
.pc-scrub-bar .is-fill{transform:scaleX(var(--p));background:#eeece6}
.pc-scrub-bar::after{content:'';position:absolute;top:50%;left:calc(var(--p) * 100%);width:9px;height:9px;border-radius:50%;background:#eeece6;translate:-50% -50%;scale:0;transition:scale .4s cubic-bezier(.2,.7,.1,1)}
.pc-scrub-time{position:absolute;bottom:100%;left:clamp(14px,calc(var(--h) * 100%),calc(100% - 14px));translate:-50% 4px;font-size:10px;letter-spacing:.08em;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #000;opacity:0;pointer-events:none;transition:opacity .25s ease,translate .45s cubic-bezier(.2,.7,.1,1)}
.pc-scrub input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.pc-scrub:has(input:focus-visible){outline:2px solid #d48c6c;outline-offset:2px}
.is-scrubbing .pc-scrub-bar{height:3px}
.is-scrubbing .pc-scrub-bar::after{scale:1}
@media(hover:hover){
  .pc-scrub:hover .pc-scrub-bar{height:3px}
  .pc-scrub:hover .pc-scrub-bar::after{scale:1}
  .pc-scrub:hover .is-hover{opacity:1}
  .pc-scrub:hover .pc-scrub-time{opacity:1;translate:-50% 0}
}
.pc-controls-row{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.pc-controls button{border:0;background:none;color:#eeece6;padding:8px 0;font:inherit;letter-spacing:inherit;text-transform:inherit;opacity:.72;transition:opacity .25s ease}
.pc-controls button:hover,.pc-controls button[aria-pressed=true]{opacity:1}
.pc-controls button:focus-visible{outline-offset:2px}
.pc-toggle{position:relative;width:28px;height:28px;margin-left:-9px;opacity:1!important}
.pc-toggle span{position:absolute;inset:8px 9px;background:#eeece6;transition:clip-path .45s cubic-bezier(.2,.7,.1,1)}
.pc-toggle span:first-child{clip-path:polygon(0 0,34% 0,34% 100%,0 100%)}
.pc-toggle span:last-child{clip-path:polygon(66% 0,100% 0,100% 100%,66% 100%)}
.is-paused .pc-toggle span:first-child{clip-path:polygon(0 0,50% 25%,50% 75%,0 100%)}
.is-paused .pc-toggle span:last-child{clip-path:polygon(50% 25%,100% 50%,100% 50%,50% 75%)}
.pc-time{margin-left:-6px;color:#aaa59c;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.pc-time span:first-child{color:#eeece6}
.pc-time span+span::before{content:'/';margin:0 .5em}
.pc-controls-end{margin-left:auto;display:flex;gap:14px}
@container (max-width:280px){
  .pc-controls{padding-inline:12px}
  .pc-controls-row,.pc-controls-end{gap:12px}
  .pc-time span+span{display:none}
}
.pc-media-error{color:#aaa59c;font-size:14px;padding:24px;text-align:center}
.pc-viewer-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 0;color:#aaa59c;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.pc-viewer-footer>div{display:flex;gap:24px}
.pc-viewer-footer button:disabled{opacity:.3;cursor:default}

/* Scroll reveal, added by app.js only when motion is welcome */
.pc-motion .pc-item{opacity:0;transform:translate3d(0,56px,0);transition:opacity 1s cubic-bezier(.2,.7,.1,1) var(--delay,0ms),transform 1.2s cubic-bezier(.2,.7,.1,1) var(--delay,0ms),z-index 0s linear .7s}
.pc-motion .pc-frame{clip-path:inset(16% 0 0 0);transition:clip-path 1.3s cubic-bezier(.2,.7,.1,1) var(--delay,0ms),transform .7s cubic-bezier(.2,.7,.1,1),opacity .5s ease}
.pc-motion .pc-item.is-in{opacity:1;transform:none}
.pc-motion .is-in .pc-frame{clip-path:inset(0)}
.pc-item.is-now,.pc-item.is-now .pc-frame{transition:none}
.pc-item.is-away{visibility:hidden}

/* Hover: app.js grows the piece and shrinks its row neighbors; the rest step back */
@media(hover:hover) and (pointer:fine){
  .pc-grid:has(.pc-trigger:hover) .pc-trigger:not(:hover) .pc-frame{opacity:.42}
}
@media(min-width:1001px){.pc-motion .pc-trigger{will-change:transform}}
.pc-motion .pc-star{animation:pc-turn 28s linear infinite}
@keyframes pc-turn{to{rotate:360deg}}

/* Custom cursor, mouse and trackpad only */
.pc-has-cursor .piece-page,.pc-has-cursor .piece-page *{cursor:none}
.pc-cursor{position:fixed;top:0;left:0;z-index:30;pointer-events:none;opacity:0;transition:opacity .3s ease}
.pc-cursor.is-visible{opacity:1}
.pc-cursor-dot{position:absolute;top:0;left:0;display:grid;place-items:center;width:10px;height:10px;border:1px solid transparent;border-radius:50%;background:#eeece6;box-shadow:0 0 14px #0005;transform:translate(-50%,-50%);transition:width .5s cubic-bezier(.2,.7,.1,1),height .5s cubic-bezier(.2,.7,.1,1),background-color .3s ease,border-color .3s ease,scale .25s ease}
.pc-cursor-label{color:#09090a;font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s ease}
.pc-cursor.is-piece .pc-cursor-dot{width:88px;height:88px}
.pc-cursor.is-piece .pc-cursor-label{opacity:1;transition-delay:.12s}
.pc-cursor.is-link .pc-cursor-dot{width:34px;height:34px;background:transparent;border-color:#eeece6}
.pc-cursor.is-down .pc-cursor-dot{scale:.86}
.pc-has-cursor .pc-trigger:hover .pc-play{opacity:0}

@media(max-width:560px){
  .pc-shell{padding:0 5vw}
  .pc-header{min-height:66px;font-size:10px}
  .pc-header>a{font-size:24px}
  .pc-header>span:nth-child(2){display:none}
  .pc-grid{margin:31px 0 70px}
  .pc-viewer-shell{padding:18px 5vw}
  .pc-viewer-stage{height:62dvh}
  .pc-viewer-footer{align-items:flex-start}
  .pc-viewer-footer>div{gap:7px}
  .pc-viewer-footer button{padding:0 4px;min-height:24px}
  .pc-footer{font-size:9px}
  .pc-footer span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
