/* Responsive additions are scoped: all Desktop rules and effects remain in their original sheets. */
.menu-toggle{display:none}
@media(max-width:1024px){
 html{scroll-padding-top:calc(var(--site-header-height,78px) + 16px);scroll-padding-bottom:calc(var(--site-dock-height,96px) + 16px)}
 body{padding-top:var(--site-header-height,78px);padding-bottom:var(--site-dock-height,96px)}
 header{position:fixed;inset:0 0 auto;z-index:70;display:flex;align-items:center;gap:16px;min-height:76px;padding:14px max(5%,env(safe-area-inset-right)) 14px max(5%,env(safe-area-inset-left));padding-top:calc(14px + env(safe-area-inset-top));background:#070809ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);isolation:isolate}
 .wordmark{font-size:18px;letter-spacing:.12em;line-height:1.15;white-space:nowrap;flex-shrink:0}.wordmark span{font-size:7px;margin-top:7px;letter-spacing:.24em}
 .menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-width:86px;min-height:48px;padding:10px 0 10px 12px;border:0;background:none;color:#d5c4a8;font:10px monospace;letter-spacing:.1em;margin-left:auto;z-index:2}
 .menu-lines{position:relative;width:24px;height:14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:border-color .2s}
 .menu-lines:before,.menu-lines:after{content:'';position:absolute;top:5px;left:0;width:24px;height:1px;background:currentColor;transition:transform .2s}
 .menu-open .menu-lines{border-color:transparent}.menu-open .menu-lines:before{transform:rotate(45deg)}.menu-open .menu-lines:after{transform:rotate(-45deg)}
 #siteNavigation{position:fixed;inset:var(--site-header-height,78px) 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:24px max(6%,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(6%,env(safe-area-inset-left));max-height:calc(100dvh - var(--site-header-height,78px));overflow-y:auto;overscroll-behavior:contain;background:#070809fa;border-bottom:1px solid #bfa98155;box-shadow:0 35px 60px #000b;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
 .menu-open #siteNavigation{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 #siteNavigation a{display:flex;align-items:center;gap:20px;min-height:72px;padding:18px 0;border-bottom:1px solid #ffffff18;font:clamp(23px,4vw,32px)/1.2 'CS Cruze',Georgia,serif;letter-spacing:0;color:#e7dfd2}
 #siteNavigation a:before{content:attr(data-nav-index);font:10px monospace;color:#ba9f77;letter-spacing:.1em}#siteNavigation a:after{display:none}#siteNavigation a:active{color:#d3b788}
 html.menu-open,html.viewer-open{overflow:hidden}html.menu-open body:before{content:'';position:fixed;inset:var(--site-header-height,78px) 0 0;z-index:60;background:#0009;backdrop-filter:blur(5px);pointer-events:none}
 .stack-pager{display:flex;align-items:center;justify-content:center;gap:4px}.stack-pager button{min-height:44px;padding:0;background:none;border:0;touch-action:manipulation}.frame-arrow{width:44px;font:20px Georgia,serif;color:#cbb18b}.frame-dot{width:30px;display:grid;place-items:center}.frame-dot:after{content:'';display:block;width:9px;height:5px;border:1px solid #9e927b88;border-radius:2px;transition:width .2s,background .2s}.frame-dot[aria-pressed=true]:after{width:23px;background:#d0b589;border-color:#d0b589}
 .stack-instruction .desktop-hint{display:none}.stack-instruction .touch-hint{display:block;font:8px/1.6 monospace!important;letter-spacing:.1em!important;color:#aaa394!important}.stack-footer{display:flex;flex-direction:column;gap:6px}.stack-scrubber{display:none!important}
 .frame-stack,#photoSpotlight,#media:has(img){touch-action:pan-y pinch-zoom}
 .card,.photo{ -webkit-tap-highlight-color:transparent}.card:active .card-media{filter:brightness(1.12)}.photo:active{border-color:#d2b991}.card:active .thumbnail-leak,.photo:active .thumbnail-leak{opacity:.16!important}
 .photo-enlarge{opacity:1;pointer-events:none}.photo-stage-footer button,.photo-views button,.views button{min-width:44px;min-height:44px}.photo-stage-footer{height:56px;display:flex;align-items:center;justify-content:space-between;padding:5px 12px;font-size:9px}.photo-stage-footer>div{gap:0}.photo-autoplay{min-width:44px!important}
 .filters{max-width:100%;min-width:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.filters button{min-height:48px;font-size:12px}.toolbar{min-width:0;gap:12px}.search input{font-size:16px;min-height:36px}
 .contact-dock{gap:20px;min-height:60px}.contact-dock .dock-name{display:none}.contact-dock a{min-height:44px;display:inline-flex;align-items:center}.dock-social{min-width:44px}
 dialog{position:fixed;inset:0;width:min(900px,94vw);max-width:94vw;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:58px 18px 22px;overscroll-behavior:contain;overflow-y:auto;scrollbar-width:thin}#close{position:absolute;right:10px;top:8px;min-width:44px;min-height:44px;z-index:5;background:#08090aee;border:1px solid #ffffff25;border-radius:50%;font-size:20px}#media{overflow:hidden;min-width:0}#media img{max-width:100%;max-height:60dvh}.view-details h3{font-size:24px;overflow-wrap:anywhere}.view-details p{font-size:14px;overflow-wrap:anywhere}#youtube{display:inline-flex;align-items:center;min-height:44px}.viewer-nav button{min-height:44px;min-width:100px}
}
@media(min-width:701px) and (max-width:1024px){
 .hero{padding-inline:5%;padding-top:36px}.hero-copy h1{font-size:clamp(52px,7vw,72px)}.frame-stack{min-height:330px;height:calc(36cqw + 110px)}
 #frameStack.touch-open .stack-card{transform:translate(calc(-50% + var(--slot)*10%),calc(var(--distance)*2%)) rotate(calc(-2deg + var(--slot)*3deg)) scale(calc(1 - var(--distance)*.02))!important}
 .toolbar{display:flex;align-items:center}.filters{flex:1 1 auto;flex-wrap:nowrap}.views{flex-shrink:0}.section{padding:64px 5%}.section-heading h2{font-size:clamp(42px,5.8vw,60px)}.section-heading{gap:20px}.search{width:220px}.gallery:not(.list){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.gallery:not(.list) .card{width:100%;margin:0;min-width:0}.card h3{font-size:14px}
 .about{gap:5%}.about h2{font-size:44px}.about .roles{font-size:8px;line-height:2}.bio p,.bio p:last-child{font-size:17px;line-height:1.75}.bio-label{font-size:8px;letter-spacing:.04em}
 .photo-exhibition{padding-right:122px}.photo-browser{width:122px}.photo-browser>.rail-label{font-size:5px;padding-inline:12px}.photo-browser .photo-rail{padding-inline:12px}
 footer{padding-inline:5%}.contact-dock .dock-social-label{display:none}.contact-dock{font-size:12px}
}
@media(max-width:700px){
 html,body{max-width:100%;overflow-x:clip}body{min-width:0;min-height:100svh}main,section,.section-heading>div,.bio{min-width:0}
 header{min-height:76px;padding-bottom:12px}.wordmark{font-size:17px}.wordmark span{font-size:7px}.menu-toggle{font-size:9px;gap:9px;min-width:80px}
 .hero{padding:28px 5% 30px;min-height:0}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.06em;margin-bottom:18px;line-height:1.7}.hero-copy h1{font-size:clamp(43px,11.1vw,56px);line-height:1.07}.hero-copy h1 em{font-size:.71em;white-space:nowrap}
 .stack-stage{margin-top:12px}.frame-stack{min-height:235px;height:calc(46cqw + 92px)}.frame-stack .stack-card{top:8%}.stack-edge{font-size:6px;padding-bottom:6px}.stack-border-title{font-size:7px}.stack-border-duration{font-size:6px}.stack-watch{font-size:7px;gap:8px}.stack-play{width:30px;height:30px}.stack-card .stack-bottom{min-height:25px;padding-top:7px}.stack-footer{padding-top:0;gap:5px}.stack-pager{gap:4px}.stack-pager button{min-height:44px}.stack-instruction .touch-hint{font-size:8px!important}
 .hero-tail{align-items:center;gap:16px;padding-top:18px;margin-top:22px}.hero-tail .intro{font-size:13px;line-height:1.65}.hero-tail .outline{font-size:8px;min-height:44px;padding:12px 0;gap:8px;max-width:48%;white-space:normal;line-height:1.6}
 .section{padding:48px 5%}.section-heading{gap:16px;margin-bottom:24px}.section-heading h2{font-size:clamp(36px,9.4vw,46px);line-height:1.16;margin-top:8px}.eyebrow{font-size:9px;letter-spacing:.13em}.search{margin:0;width:100%;padding:5px 0;gap:10px}.search span{font-size:28px}.search input{font-size:16px;line-height:1.5}.toolbar{margin-bottom:24px}.filters{gap:22px;padding-bottom:4px}.filters button{font-size:12px;line-height:1.5;padding-top:12px;padding-bottom:12px}
 #gallery,#gallery.list{gap:24px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}#gallery .card h3{font-size:13px;margin-top:9px;line-height:1.5}.duration{font-size:9px;padding:4px 5px}.card-media:after{content:'▶';opacity:1;left:auto;right:7px;top:7px;transform:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #e4d2b466;border-radius:50%;background:#050607aa;font:8px/1 monospace;letter-spacing:0}.badge{font-size:7px}.see-more{min-height:48px;font-size:11px;margin-top:28px}.section-aside{font-size:15px;line-height:1.5}.section-aside br{display:none}
 .photo-toolbar{gap:10px;align-items:center;padding:12px 0;margin-bottom:16px}.photo-toolbar>.eyebrow{font-size:8px;letter-spacing:.06em;max-width:60%;line-height:1.6}.photo-views{flex-shrink:0}.photo-views button{padding:8px}.photo-views svg{width:22px;height:22px}
 .photo-exhibition{padding-right:0;display:flex;flex-direction:column}.photo-stage{width:100%;height:auto}.photo-browser{position:relative;width:100%;height:134px;top:auto;right:auto;bottom:auto;border-left:0}.photo-browser .photo-rail{padding-block:8px 12px;gap:10px;scroll-snap-type:x proximity}.photo-rail .photo{flex-basis:94px;width:94px;scroll-snap-align:center}.photo-rail .photo img{height:62px;min-height:0}.photo-browser>.rail-label{font-size:8px;line-height:1.5}.photo-browser>.rail-label:first-child>span:last-child{font-size:0}.photo-browser>.rail-label:first-child>span:last-child:after{content:'↔';font-size:14px}.photo-stage-footer{height:56px;padding:5px 8px;font-size:8px}.photo-enlarge{font-size:8px;padding:8px 10px}.contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-sheet .photo{margin:0;padding:6px!important}.contact-sheet .photo img{width:100%;aspect-ratio:3/2;object-fit:contain;min-height:0}
 .about{grid-template-columns:minmax(0,1fr);gap:24px}.about h2{font-size:clamp(40px,10.5vw,50px);line-height:1.14}.about .roles{font-size:9px;line-height:1.9;margin-top:18px}.bio-label{font-size:8px;line-height:1.6;gap:12px;margin-bottom:22px}.bio p,.bio p:last-child{font-size:17px;line-height:1.8;margin-bottom:22px}.bio p:last-child{margin-bottom:0}
 footer{padding:48px 5% 30px}footer h2{font-size:clamp(40px,10.5vw,50px)}footer>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:26ch}.email.contact-link{font-size:clamp(19px,5.5vw,24px);gap:10px;min-height:48px;margin-block:20px}.email.contact-link svg{width:20px;height:20px}.footer-links{gap:8px 22px;font-size:12px;flex-wrap:wrap}.footer-links a{min-height:44px}.newsletter{font-size:12px;line-height:1.6;margin-top:28px;gap:6px}.newsletter a{min-height:44px;display:inline-flex;align-items:center}.footer-end{font-size:10px;gap:16px;margin-top:28px;align-items:center}.footer-end a{min-height:44px;display:inline-flex;align-items:center}
 .contact-dock{grid-template-columns:minmax(0,1fr) 44px 44px;grid-template-rows:40px 40px;gap:0 8px;min-height:96px;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#070809!important}.contact-dock .dock-email,.contact-dock .dock-phone{font-size:12px;min-height:40px;gap:8px;max-width:100%;white-space:nowrap}.contact-dock .dock-email svg,.contact-dock .dock-phone svg{width:16px;height:16px}.contact-dock a.dock-social{width:44px;height:44px;min-height:44px;padding:11px;border-radius:12px}.contact-dock .dock-social svg{width:20px;height:20px}.contact-dock .dock-social-label{display:none}
 dialog{width:96vw;max-width:96vw;padding:58px 12px 20px}.view-details h3{font-size:23px;line-height:1.3}.view-details p{font-size:14px;line-height:1.75}.view-details{padding-top:16px}#media.video-media iframe{max-height:58dvh}#media img{max-height:58dvh}#close{right:8px}.viewer-nav{gap:14px}
 .ambient-grain{background-size:800px auto}.stack-floor{filter:none}
}
@media(max-width:375px){.wordmark{font-size:16px}.hero-copy>.eyebrow{font-size:7px}.hero-tail .intro{font-size:12px}.hero-tail .outline{font-size:7px}.contact-dock{gap:0 6px}.contact-dock .dock-email,.contact-dock .dock-phone{font-size:11px}.frame-dot{width:28px}.stack-border-title{font-size:6px}}
@media(max-width:1024px) and (max-height:500px){#siteNavigation{padding-block:8px}#siteNavigation a{min-height:48px;padding:10px 0;font-size:22px}.contact-dock{min-height:48px;display:flex;justify-content:center;padding-block:2px}.contact-dock .dock-email,.contact-dock .dock-phone{display:inline-flex!important;font-size:11px}.contact-dock .dock-social{display:none!important}}
@media(max-width:1024px) and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#siteNavigation,.menu-lines,.menu-lines:before,.menu-lines:after,.frame-dot:after{transition:none!important}#spotlightImg,.photo-outgoing{will-change:auto}}

@media(max-width:1024px){#about .bio-label,#about .roles{font-size:11px;line-height:1.8}}

/* Protect Safari's top edge and retain motion when inline video autoplay is blocked. */
@media(max-width:1024px){
 header{background:#070809;backdrop-filter:none;-webkit-backdrop-filter:none}
 header:before{content:'';position:absolute;inset:-120px 0 0;background:#070809;z-index:-1;pointer-events:none}
 .ambient-background:before{content:'';position:absolute;inset:-8%;background:#050607 url('assets/cinema/dark-poster.jpg') center/cover;opacity:1;animation:mobile-ambient-drift 12s ease-in-out infinite alternate;will-change:transform;transition:opacity .4s}
 .ambient-playing .ambient-background:before{opacity:0;animation-play-state:paused}
 .ambient-motion{z-index:1}.ambient-grain{z-index:2}.ambient-background:after{z-index:3}
}
@keyframes mobile-ambient-drift{from{transform:translate(-3%,-2%) scale(1.04)}to{transform:translate(3%,2%) scale(1.12)}}
@media(max-width:1024px) and (prefers-reduced-motion:reduce){.ambient-background:before{animation:none;will-change:auto}}

#youtube[hidden],#viewTitle[hidden]{display:none!important}
@media(max-width:1024px){
 #frameStack,#frameStack *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 #frameStack img{-webkit-user-drag:none;pointer-events:none}
 #frameStack .stack-card{translate:none;touch-action:pan-y pinch-zoom;transition:transform .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1),filter .2s,border-color .2s,box-shadow .2s}
}
@media(prefers-reduced-motion:reduce){#frameStack .stack-card{transition:none!important}}

/* Contact links remain direct native links with a full touch target. */
@media(max-width:1024px){#contact .contact-link,.contact-dock .contact-link{position:relative;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:#c7aa8033}#contact .contact-link svg,.contact-dock .contact-link svg{pointer-events:none}#contact .footer-links a{min-height:48px;padding-block:8px}}
