/* Scoped additions. The original portfolio and default gallery retain their styles. */
.viewfinder-enter[hidden],.frame-tools[hidden],.strip-tools[hidden],.shot-builder[hidden],.shot-error[hidden],.vf-error[hidden]{display:none}
.viewfinder-enter{display:inline-flex;align-items:center;gap:12px;margin-left:32px;margin-right:auto;padding:8px 0;min-height:44px;border:0;background:none;font-size:.75rem;letter-spacing:.07em;color:#d5d2c9}
.viewfinder-enter:hover{color:#fff}.viewfinder-symbol{width:16px;height:12px;border:1px solid currentColor;position:relative;opacity:.7}.viewfinder-symbol:after{content:"";position:absolute;inset:3px 4px;border:1px solid currentColor}
.frame-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-top:-18px;margin-bottom:28px}.frame-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;background:none;border:0;padding:8px 0;color:var(--muted);font-size:.875rem}.frame-toggle[aria-pressed=true]{color:var(--fg)}.strip-symbol{width:23px;height:14px;border:1px solid currentColor;background:linear-gradient(90deg,transparent 29%,currentColor 30%,currentColor 34%,transparent 35%,transparent 64%,currentColor 65%,currentColor 69%,transparent 70%);opacity:.7}.strip-tools{display:flex;align-items:center;gap:17px}.strip-hint{font-size:.75rem;color:var(--muted);margin-right:12px;letter-spacing:.07em}.strip-position{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted);white-space:nowrap}.frame-direction{background:none;border:0;min-width:44px;min-height:44px;font-size:1.25rem;padding:4px}.frame-direction:disabled{opacity:.3;cursor:default}.film-frame[role=button]{cursor:zoom-in}.film-frame[role=button]:focus-visible{outline-offset:8px}
.frames-grid.is-filmstrip{display:flex;align-items:flex-start;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#54544e #171716;padding:14px 0 26px;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;cursor:grab}.frames-grid.is-filmstrip .film-frame{flex:0 0 clamp(260px,36vw,590px);width:clamp(260px,36vw,590px);grid-column:auto;scroll-snap-align:start;outline:0}.frames-grid.is-filmstrip .film-frame>img{width:100%;height:clamp(170px,23vw,310px);max-height:none;object-fit:contain;aspect-ratio:auto;border:1px solid transparent;transition:border-color .35s,opacity .35s;opacity:.7;user-select:none;-webkit-user-drag:none}.frames-grid.is-filmstrip .film-frame.is-active>img,.frames-grid.is-filmstrip .film-frame:hover>img,.frames-grid.is-filmstrip .film-frame:focus-visible>img{opacity:1;border-color:#8c8b7e}.frames-grid.is-filmstrip .film-frame.is-active figcaption{color:var(--fg)}.frames-grid.is-filmstrip .film-frame figcaption{font-size:.75rem;gap:12px}.frames-grid.is-filmstrip.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.frames-grid.is-filmstrip.is-dragging .film-frame{cursor:grabbing}.frames-grid.is-filmstrip::-webkit-scrollbar{height:3px}.frames-grid.is-filmstrip::-webkit-scrollbar-track{background:#171716}.frames-grid.is-filmstrip::-webkit-scrollbar-thumb{background:#54544e}
.shot-builder{border-block:1px solid var(--line);margin-top:65px}.shot-builder>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;min-height:108px;padding:27px 0}.shot-builder>summary::-webkit-details-marker{display:none}.shot-builder>summary .eyebrow{color:var(--muted);font-size:.75rem;letter-spacing:.12em;margin-bottom:7px}.shot-builder-title{display:block;font-size:clamp(24px,2.7vw,38px);line-height:1.25;letter-spacing:-.045em}.builder-plus{font-size:1.75rem;font-weight:300;transition:transform .3s}.shot-builder[open] .builder-plus{transform:rotate(45deg)}.shot-builder-content{padding-bottom:34px}.shot-choices{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:28px;margin-bottom:36px}.shot-choices fieldset{padding:0;margin:0;border:0;min-width:0}.shot-choices legend{font-size:.875rem;line-height:1.7;color:var(--muted);padding:0;margin-bottom:15px}.shot-options{display:flex;gap:clamp(18px,3vw,45px);flex-wrap:wrap}.shot-options label{position:relative;cursor:pointer}.shot-options input{position:absolute;opacity:0;width:1px;height:1px}.shot-options label>span{display:block;font-size:1rem;min-height:44px;padding:10px 0 13px;border-bottom:1px solid transparent;line-height:1.3;color:var(--muted);transition:color .25s,border-color .25s}.shot-options small{display:block;font-size:.75rem;color:var(--muted);margin-top:7px;letter-spacing:.03em}.shot-options input:checked+span{color:var(--fg);border-bottom-color:#b1aa96}.shot-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:5px}.shot-result-stage{position:relative;overflow:hidden;aspect-ratio:2.39;background:#030303}.shot-result-image{width:100%;height:100%;object-fit:contain;transition:opacity .3s,transform .7s var(--ease)}.shot-result-stage.is-changing .shot-result-image{opacity:0;transform:translateY(5px)}.shot-result figcaption{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:25px}.shot-result .eyebrow{color:var(--muted);letter-spacing:.1em;margin-bottom:11px}.shot-result h3{font-size:clamp(25px,3.4vw,48px);font-weight:400;letter-spacing:-.055em;line-height:1.15}.shot-selection{color:var(--muted);font-size:.75rem;letter-spacing:.055em;margin-top:14px}.shot-open{background:none;border:0;padding:8px 0;min-height:44px;font-size:.875rem;flex-shrink:0}.shot-open svg{width:16px;height:16px}.shot-error{font-size:.875rem;color:var(--muted);margin-top:22px}
.letterboxd-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-block:75px;border-top:1px solid var(--line)}.letterboxd-section .eyebrow{color:var(--muted);margin-bottom:24px}.letterboxd-section h2{font-size:clamp(36px,4vw,62px);font-weight:400;letter-spacing:-.055em;line-height:1.1}.letterboxd-section>div:last-child{align-self:end}.letterboxd-section p{font-size:1rem;color:var(--muted);line-height:1.8;max-width:430px;margin-bottom:24px}.letterboxd-section em{font-style:normal;color:var(--fg)}
.viewfinder{border:0;padding:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;position:fixed;inset:0;background:#030303;color:#e8e7e0;overflow:hidden;overscroll-behavior:none;opacity:0;transition:opacity .38s ease;z-index:1000}.viewfinder:not([open]){display:none}.viewfinder::backdrop{background:#030303;opacity:0;transition:opacity .38s ease}.viewfinder.is-visible,.viewfinder.is-visible::backdrop{opacity:1}.vf-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.vf-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:calc(18px + env(safe-area-inset-top)) max(28px,env(safe-area-inset-left)) 12px;min-height:75px}.vf-record{display:flex;align-items:center;gap:9px;letter-spacing:.17em;font-size:.75rem;opacity:0;transition:opacity .3s}.vf-record i{width:5px;height:5px;border-radius:50%;background:#c94b40;box-shadow:0 0 8px #bc332329}.viewfinder.is-recording .vf-record{opacity:1}.vf-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:#93948b;opacity:0;transition:opacity .4s}.vf-exit{justify-self:end;display:flex;gap:18px;align-items:center;font-size:.8125rem;line-height:1.4;border:0;background:none;padding:8px 0 8px 12px;min-height:44px}.vf-exit>span{font-size:1.65rem;font-weight:300;line-height:1}.vf-stage{position:relative;min-height:0;overflow:hidden;touch-action:pinch-zoom;opacity:0;transition:opacity .7s ease}.viewfinder.is-ready .vf-stage,.viewfinder.is-ready .vf-heading{opacity:1}.vf-images{position:absolute;inset:0}.vf-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;opacity:0;transform:scale(1.012);transition:opacity .62s ease,transform 1.4s var(--ease);user-select:none;-webkit-user-drag:none}.vf-image.is-current{opacity:1;transform:scale(1)}.vf-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px 30px;padding:18px max(28px,env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom));opacity:0;transition:opacity .6s}.viewfinder.is-ready .vf-bottom{opacity:1}.vf-identity{font-size:.875rem;letter-spacing:-.015em;line-height:1.5}.vf-identity>span{display:block;font-size:.75rem;color:#96978f;letter-spacing:.06em}.vf-settings{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:.75rem;letter-spacing:.04em;line-height:1.4;font-variant-numeric:tabular-nums}.vf-preset-label{flex-basis:100%;text-align:center;color:#73756e;font-size:.75rem;letter-spacing:.08em}.vf-settings{row-gap:7px}.vf-navigation{display:flex;align-items:center;justify-self:end;gap:16px}.vf-arrow{width:44px;height:44px;padding:0;border:0;background:none;font-size:1.3rem}.vf-arrow:disabled{opacity:.2;cursor:default}.vf-position{font-variant-numeric:tabular-nums;font-size:.75rem;white-space:nowrap;min-width:52px;text-align:center;letter-spacing:.05em}.vf-instructions{font-size:.75rem;color:#81847a;grid-column:1/3;letter-spacing:.045em;line-height:1.5}.vf-instructions>span{margin-left:18px;color:#63655e}.vf-copyright{font-size:.75rem;color:#74776d;justify-self:end;white-space:nowrap}.vf-error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;background:#030303;color:#a1a299}.vf-error p{font-size:1rem}.vf-error button{background:none;border:0;border-bottom:1px solid #6b6e63;min-height:44px;font-size:.875rem}
@media(min-width:1800px){.vf-top,.vf-bottom{padding-inline:50px}}
@media(max-width:700px){.viewfinder-enter{margin-left:0;gap:9px;font-size:.75rem}.hero-bottom .hero-license{flex-basis:100%;max-width:none;text-align:left}.frame-tools{margin-top:-9px;margin-bottom:20px}.strip-tools{gap:5px}.strip-hint{display:none}.frame-direction{min-width:40px}.frames-grid.is-filmstrip{gap:14px;margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad);scroll-padding-inline:var(--pad)}.frames-grid.is-filmstrip .film-frame{flex-basis:82vw;width:82vw}.frames-grid.is-filmstrip .film-frame>img{height:48vw}.shot-builder{margin-top:38px}.shot-builder>summary{min-height:98px;padding-block:22px}.shot-builder-title{font-size:1.65rem}.shot-choices{grid-template-columns:1fr;gap:25px;padding-top:22px;margin-bottom:28px}.shot-options{gap:30px}.shot-choices legend{margin-bottom:7px}.shot-result-stage{aspect-ratio:16/9}.shot-result figcaption{flex-direction:column;align-items:flex-start;gap:17px;margin-top:20px}.shot-result h3{font-size:1.9rem}.shot-result .eyebrow{font-size:.75rem;line-height:1.6}.shot-builder-content{padding-bottom:23px}.letterboxd-section{grid-template-columns:1fr;gap:28px;padding-block:55px}.letterboxd-section h2{font-size:2.5rem}.letterboxd-section .eyebrow{margin-bottom:20px}.vf-top{grid-template-columns:1fr auto;padding-inline:20px;padding-top:calc(12px + env(safe-area-inset-top));min-height:69px;gap:12px}.vf-heading{display:none}.vf-exit{font-size:.75rem;gap:12px}.vf-bottom{grid-template-columns:1fr auto;padding:16px 20px calc(17px + env(safe-area-inset-bottom));gap:18px 14px}.vf-identity{font-size:.875rem}.vf-settings{grid-column:1/3;grid-row:2;justify-content:flex-start;gap:15px}.vf-preset-label{flex-basis:auto;text-align:left;margin-right:auto}.vf-navigation{grid-column:2;grid-row:1;gap:4px}.vf-arrow{width:38px;height:44px}.vf-instructions{grid-column:1/3;grid-row:3;font-size:.75rem}.vf-instructions>span{display:none}.vf-copyright{grid-column:1/3;grid-row:4;justify-self:start;font-size:.75rem}.vf-position{min-width:49px}.vf-stage{margin-inline:0}}
@media(max-height:520px) and (orientation:landscape){.vf-top{padding-top:6px;padding-bottom:3px;min-height:46px}.vf-exit{min-height:36px}.vf-bottom{padding-top:5px;padding-bottom:7px;gap:4px 20px;grid-template-columns:1fr auto 1fr}.vf-settings{grid-column:2;grid-row:1;gap:16px}.vf-preset-label,.vf-instructions,.vf-copyright{display:none}.vf-navigation{grid-column:3;grid-row:1}.vf-arrow{height:36px}.vf-heading{display:block}}
@media(prefers-reduced-motion:reduce){.viewfinder,.viewfinder::backdrop,.vf-stage,.vf-image,.vf-bottom,.vf-record,.vf-heading,.shot-result-image{transition:none!important;transform:none!important}.frames-grid.is-filmstrip{scroll-behavior:auto}}
