
/* V4.76 — cinematic production-stills landing only. The gallery styles below remain V4.75. */
.stills-portal{position:relative;background:#10100e;overflow:hidden;isolation:isolate}
.stills-portal::after{content:"";position:absolute;inset:0;background:#050505;opacity:0;pointer-events:none;z-index:20;transition:opacity .48s cubic-bezier(.4,0,.2,1)}
.stills-portal.is-drawer-opening::after{opacity:.78}
.stills-shell{position:relative;width:min(1050px,100%);margin:auto;padding:12px 32px 24px;z-index:1}
.stills-kicker{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#cfb07c;margin:0 0 14px}
.stills-shell h2,.stills-gallery h2{font-size:clamp(48px,6vw,82px);font-weight:400;letter-spacing:-.055em;line-height:.98;margin:0 0 18px}
.stills-shell h2 em,.stills-gallery h2 em{font-family:Georgia,serif;font-weight:400}
.stills-stage{--mx:0px;--my:0px;position:relative;min-height:clamp(310px,41vw,455px);margin:0 -10px 6px;perspective:1200px;isolation:isolate;touch-action:pan-y}
.stills-stage::before{content:"";position:absolute;left:50%;top:50%;width:76%;height:74%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(210,178,119,.115) 0%,rgba(156,123,73,.055) 32%,rgba(64,51,35,.015) 58%,transparent 75%);filter:blur(22px);opacity:.74;pointer-events:none;z-index:0;animation:stillsPool 11s ease-in-out infinite alternate}
.stills-stage::after{content:"";position:absolute;inset:2% 1%;pointer-events:none;z-index:8;opacity:.055;mix-blend-mode:screen;background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.55) 0 .7px,transparent .85px),radial-gradient(circle at 74% 38%,rgba(255,255,255,.4) 0 .65px,transparent .8px),radial-gradient(circle at 44% 79%,rgba(255,255,255,.35) 0 .65px,transparent .8px);background-size:113px 109px,151px 137px,181px 167px;animation:stillsGrainDrift 1.8s steps(2,end) infinite}
.stills-projector-light{position:absolute;left:50%;top:48%;width:58%;height:48%;transform:translate(-50%,-50%) rotate(-4deg);background:linear-gradient(105deg,transparent 2%,rgba(241,211,153,.035) 38%,rgba(255,227,173,.082) 50%,rgba(241,211,153,.025) 63%,transparent 92%);filter:blur(10px);pointer-events:none;z-index:0;animation:stillsProjectorSweep 13s ease-in-out infinite alternate}
.stills-triptych{position:absolute;inset:0;z-index:2}
.stills-triptych button{--px:0px;--py:0px;--focus:1;position:absolute;width:38%;padding:8px;border:1px solid #5b5140;background:#191813;color:#eee9e1;box-shadow:0 20px 42px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.03) inset;transition:transform .42s cubic-bezier(.22,.68,.2,1),filter .35s ease,opacity .35s ease,box-shadow .35s ease,border-color .35s ease;will-change:transform;transform:translate3d(var(--px),var(--py),0) rotate(var(--rot)) scale(calc(var(--base-scale) * var(--focus)));transform-origin:center center}
.stills-triptych button:nth-child(1){left:4%;top:17%;--rot:-4.1deg;--base-scale:.96;z-index:1}
.stills-triptych button:nth-child(2){left:31%;top:3%;--rot:1.35deg;--base-scale:1.035;z-index:3;box-shadow:0 27px 54px rgba(0,0,0,.38),0 1px 0 rgba(255,255,255,.035) inset}
.stills-triptych button:nth-child(3){right:3%;top:18%;--rot:3.25deg;--base-scale:.955;z-index:2}
.stills-triptych img{width:100%;height:clamp(235px,31vw,340px);object-fit:cover;display:block;transform:scale(1.002);transition:filter .35s ease,transform .45s ease;will-change:transform}
.stills-triptych button:nth-child(2) img{object-position:25% 50%;animation:stillsCentreBreath 7.5s ease-in-out infinite alternate}
.stills-triptych span{display:block;font-size:9px;letter-spacing:.18em;padding:9px 3px 2px;text-align:left;color:#c5b597}
.stills-triptych:has(button:hover) button:not(:hover),.stills-triptych.has-touch-focus button:not(.is-focus){opacity:.74;filter:saturate(.78) brightness(.88)}
.stills-triptych button:hover,.stills-triptych button:focus-visible,.stills-triptych button.is-focus{--focus:1.055;z-index:6;border-color:#8d7650;box-shadow:0 30px 58px rgba(0,0,0,.44),0 1px 0 rgba(255,255,255,.04) inset}
.stills-triptych button:hover img,.stills-triptych button:focus-visible img,.stills-triptych button.is-focus img{transform:scale(1.012)}
.stills-portal.stills-enhanced:not(.is-entered) .stills-triptych button{opacity:0}
.stills-portal.is-drawer-opening .stills-stage::before,.stills-portal.is-drawer-opening .stills-projector-light{opacity:0;transition:opacity .32s ease}
.stills-portal.is-drawer-opening .stills-triptych button{transition:transform .52s cubic-bezier(.32,.02,.2,1),opacity .4s ease,filter .4s ease}
.stills-portal.is-drawer-opening .stills-triptych button:nth-child(1){transform:translate3d(calc(var(--px) - 46vw),calc(var(--py) + 5vh),0) rotate(-11deg) scale(.88);opacity:.12;filter:blur(1px)}
.stills-portal.is-drawer-opening .stills-triptych button:nth-child(2){transform:translate3d(var(--px),calc(var(--py) - 32vh),0) rotate(.5deg) scale(.92);opacity:.08;filter:blur(1px)}
.stills-portal.is-drawer-opening .stills-triptych button:nth-child(3){transform:translate3d(calc(var(--px) + 46vw),calc(var(--py) + 6vh),0) rotate(11deg) scale(.88);opacity:.12;filter:blur(1px)}
.stills-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:4px}
.stills-intro p{font-size:13px;color:#b5b2a8}
.stills-enter{position:relative;overflow:hidden;border:1px solid #766345;padding:18px;background:rgba(20,19,15,.18);color:#eee9e1;font-size:13px;transition:border-color .3s ease,background .3s ease,transform .3s ease}
.stills-enter::before{content:"";position:absolute;inset:0;transform:translateX(-105%);background:linear-gradient(90deg,transparent,rgba(207,176,124,.08),transparent);transition:transform .7s ease;pointer-events:none}
.stills-enter:hover::before,.stills-enter:focus-visible::before{transform:translateX(105%)}
.stills-enter:hover,.stills-enter:focus-visible{border-color:#9a8056;background:rgba(39,34,25,.24);transform:translateY(-1px)}
.stills-enter span{font-size:10px;color:#d0b07c;margin-left:16px}
@keyframes stillsPool{0%{transform:translate(-52%,-50%) scale(.98);opacity:.58}100%{transform:translate(-47%,-48%) scale(1.05);opacity:.82}}
@keyframes stillsProjectorSweep{0%{transform:translate(-54%,-50%) rotate(-5deg);opacity:.45}100%{transform:translate(-45%,-47%) rotate(3deg);opacity:.8}}
@keyframes stillsGrainDrift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(1.4%,-1%,0)}100%{transform:translate3d(-.8%,1.1%,0)}}
@keyframes stillsCentreBreath{0%{transform:scale(1.002) translate3d(0,0,0)}100%{transform:scale(1.022) translate3d(.25%,-.35%,0)}}

.stills-gallery,.stills-viewer{max-width:none;max-height:none;width:100%;height:100dvh;margin:0;border:0;padding:0;background:#10100e;color:#eee9e1;overscroll-behavior:contain}.stills-gallery::backdrop,.stills-viewer::backdrop{background:#080908}.stills-gallery-top,.stills-viewer header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 30px;position:sticky;top:0;background:#10100ef5;z-index:2;border-bottom:1px solid #3a3428}.stills-gallery-top span{font-size:11px;letter-spacing:.08em}.stills-gallery button,.stills-viewer button{color:inherit;cursor:pointer}.stills-gallery-top button{background:none;border:1px solid #6d5940;border-radius:30px;padding:13px 18px;font-size:12px}.stills-gallery-content{max-width:1440px;padding:45px 35px 70px;margin:auto}.stills-gallery-summary{font-size:13px;line-height:1.7;color:#b9b5a9;margin-bottom:32px}.stills-gallery-summary span{display:block;color:#cfb07c;margin-top:9px;font-size:11px;letter-spacing:.1em}.stills-grid{columns:4;column-gap:20px}.stills-grid button{display:inline-block;break-inside:avoid;width:100%;margin:0 0 20px;padding:8px;background:#1b1913;border:1px solid #423a2d;text-align:left}.stills-grid img{display:block;width:100%;height:auto}.stills-grid span{display:block;margin:10px 2px 2px;font-size:10px;letter-spacing:.14em;color:#c1b296}.stills-gallery-footer{padding-top:30px;border-top:1px solid #3d372c;font-size:11px;color:#b9b5a9}.stills-viewer[open]{display:flex;flex-direction:column}.stills-viewer header{position:static;padding:12px 24px;flex-shrink:0}.stills-viewer header span{font-size:11px;letter-spacing:.13em}.stills-viewer button{background:none;border:1px solid #594b36;border-radius:50%;width:44px;height:44px;font-size:20px;flex-shrink:0}.stills-view-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:15px}.stills-view-stage img{max-width:100%;max-height:100%;object-fit:contain}.stills-viewer footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;flex-shrink:0}.stills-viewer footer p{font-size:12px;line-height:1.5;text-align:center;margin:0;color:#c9c2b6}.stills-gallery-open,.stills-viewer-open{overflow:hidden}.stills-gallery-open,.stills-gallery-open *{cursor:auto!important}.stills-gallery-open button{cursor:pointer!important}.stills-gallery-open .cursor,.stills-gallery-open .cursor-dot{display:none}.scene-portal[data-kind="stills-splice"]{background:#1e1c15}
@media(max-width:1000px){.stills-grid{columns:3}.topbar .nav{gap:18px}}
@media(max-width:650px){.stills-shell{padding:8px 18px 20px}.stills-triptych{gap:8px}.stills-triptych button{padding:4px}.stills-triptych img{height:175px}.stills-triptych span{font-size:7px;padding:8px 0 2px}.stills-intro{display:block;margin-top:8px}.stills-enter{margin-top:6px;width:100%;padding:17px 12px}.stills-shell h2{font-size:56px;margin-bottom:22px}.stills-grid{columns:2;column-gap:10px}.stills-grid button{padding:5px;margin-bottom:10px}.stills-gallery-content{padding:30px 14px 50px}.stills-gallery-top{padding:14px}.stills-gallery-top span{font-size:9px}.stills-gallery-top button{font-size:11px;padding:12px}.stills-gallery h2{font-size:58px}.stills-viewer footer{padding:12px;gap:9px}.stills-viewer footer p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.stills-triptych button{transition:none}}
.stills-triptych button:nth-child(2) img{object-position:25% 50%;}

@media(max-width:650px){
  .stills-shell{padding:8px 18px 22px}
  .stills-shell h2{font-size:56px;margin-bottom:12px}
  .stills-stage{min-height:360px;margin:0 -18px 2px;overflow:hidden}
  .stills-stage::before{width:98%;height:74%;filter:blur(18px)}
  .stills-projector-light{width:84%;height:54%}
  .stills-triptych button{width:50%;padding:5px}
  .stills-triptych button:nth-child(1){left:-3%;top:22%;--rot:-5.2deg;--base-scale:.93}
  .stills-triptych button:nth-child(2){left:25%;top:4%;--rot:1deg;--base-scale:1.015}
  .stills-triptych button:nth-child(3){right:-4%;top:24%;--rot:4.5deg;--base-scale:.925}
  .stills-triptych img{height:270px}
  .stills-triptych span{font-size:7px;padding:8px 1px 2px}
  .stills-intro{display:block;margin-top:2px}
  .stills-enter{margin-top:6px;width:100%;padding:17px 12px}
  .stills-portal.is-drawer-opening .stills-triptych button:nth-child(1){transform:translate3d(calc(var(--px) - 62vw),calc(var(--py) + 3vh),0) rotate(-12deg) scale(.84)}
  .stills-portal.is-drawer-opening .stills-triptych button:nth-child(2){transform:translate3d(var(--px),calc(var(--py) - 35vh),0) rotate(0) scale(.9)}
  .stills-portal.is-drawer-opening .stills-triptych button:nth-child(3){transform:translate3d(calc(var(--px) + 62vw),calc(var(--py) + 4vh),0) rotate(12deg) scale(.84)}
}
@media(prefers-reduced-motion:reduce){
  .stills-stage::before,.stills-stage::after,.stills-projector-light,.stills-triptych button:nth-child(2) img{animation:none!important}
  .stills-triptych button,.stills-enter{transition:none!important}
}
