/* Shared navigation and interaction layer. */
body{--paper:#191919;--ink:#f2f1eb;--muted:#b9b9b0;--line:#f2f1eb40;--accent:#e99b63;background:var(--paper);color:var(--ink)}
body[data-theme=light]{--paper:#f2f1eb;--ink:#191919;--muted:#595952;--line:#19191935;--accent:#984515;--vowel-color:#984515;background:var(--paper);color:var(--ink)}body[data-theme=dark]{--vowel-color:#e99b63}body .vowel{color:var(--accent)!important}body p .vowel,body footer .vowel{color:inherit!important}
body>header.site-header{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:14px 24px;padding:18px 4vw;margin:0;width:auto;max-width:none;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}.site-header .brand{color:var(--ink);font-size:18px;letter-spacing:-.035em;margin-right:auto;text-decoration:none;white-space:nowrap}.site-header nav.main-nav{display:flex;gap:22px;width:auto;order:0;align-items:center}.site-header nav.main-nav a{color:var(--ink);font-size:14px;min-height:44px;display:flex;align-items:center;text-decoration:none}.site-header nav.main-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
body header.site-header .language-switcher{position:static;display:flex;gap:6px;margin:0;order:0;transform:none}header.site-header .language-switcher a{display:flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;color:var(--muted)}body header.site-header .language-switcher a[aria-current=true]{color:var(--accent)!important}.language-menu{display:none}.site-header .theme-toggle{width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:50%;color:var(--ink);font-size:20px}.preview-toggle{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--muted);font:inherit;font-size:12px;min-height:44px;padding:0 4px}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:12px;z-index:5000}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)!important;outline-offset:4px}.role-card:focus-visible img,.role-card:focus-visible video,.work-photo:focus-visible img,.hero-assignment:focus-visible img,.school-tile:focus-visible img{filter:grayscale(0)!important;transform:scale(1.015)}.role-card img,.role-card video,.work-image,.example img,.school-tile img{transition:filter .25s,transform .3s,opacity .3s!important}.previews-paused .zooming,.motion-paused .poster-preview img{animation-play-state:paused!important}
.site-home-heading{max-width:1280px;margin:30px auto 20px;padding:0 4vw;font-size:clamp(23px,3vw,38px);line-height:1.3;letter-spacing:-.035em;font-weight:400}.work-categories{display:flex;flex-wrap:wrap;gap:10px 22px;margin:28px 0}.work-categories a{min-height:44px;display:flex;align-items:center;font-size:14px;text-underline-offset:5px;color:var(--ink)}.work-photo{display:block;color:inherit;text-decoration:none}.work-photo:focus-visible img{filter:grayscale(0)}
.project-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 25px;font-size:14px;color:var(--muted)}.project-breadcrumb a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}.site-footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0}.site-footer-links a{display:flex;align-items:center;min-height:44px;color:var(--ink);font-size:14px;text-underline-offset:5px}.next-project{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding:25px 0;margin-top:45px;font-size:16px;color:var(--ink)}.vfx-introduction{margin-top:50px;padding-top:28px;border-top:1px solid var(--line);font-size:17px;line-height:1.7;color:var(--muted)}.role-credit,.eyebrow,.module-status,.coming-soon,.module-card .status{font-size:12px!important}.role-credit{color:var(--muted)}
.video-status{font:13px/1.5 Arial,sans-serif;color:var(--muted);margin:8px 0 22px}.video-status:empty{display:none}.video-status button{color:var(--ink);background:transparent;border:1px solid var(--line);min-height:44px;padding:8px 14px}dialog{background:var(--paper);color:var(--ink);border-color:var(--line)}dialog #close,dialog #previous,dialog #next{min-width:44px;min-height:44px}dialog #caption{font-size:14px;color:var(--ink)}.viewer-counter{display:block;font-size:13px;color:var(--muted);text-align:center;margin:10px 0}
body[data-theme=light] main a:not(.role-card):not(.school-tile):not(.example):not(.work-photo):not(.button):not(.poster-link){color:var(--ink)}body[data-theme=light] .gallery-back,body[data-theme=light] .description,body[data-theme=light] #description,body[data-theme=light] .intro-copy,body[data-theme=light] footer{color:var(--muted)}body[data-theme=light] #filters button,body[data-theme=light] dialog button{background:var(--paper);color:var(--ink);border-color:var(--line)}
.floating-contact{position:fixed;right:20px;bottom:20px;z-index:900;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;padding:12px}.floating-contact svg{width:24px;height:24px}#contact-dialog{padding:38px;max-width:520px;width:calc(100% - 40px);box-sizing:border-box}#contact-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.contact-close{position:absolute;right:12px;top:12px;width:44px;height:44px;font-size:25px;border:0;background:transparent;color:var(--ink)}#contact-dialog h2{font-size:32px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-decoration:none}.contact-option svg{width:24px;height:24px}.contact-option:hover{border-color:var(--accent)}
@media(hover:hover) and (pointer:fine){body{cursor:url('assets/cursor-default.svg?v=ux60') 3 2,default}a,button,summary,a *,button *{cursor:url('assets/cursor-link.svg?v=ux60') 8 2,pointer}p,input,textarea{cursor:text}video,video *{cursor:auto}}
@media(max-width:800px){body>header.site-header{padding:10px 5vw;gap:4px 12px}.site-header .brand{font-size:17px}.site-header nav.main-nav{order:4;width:100%;gap:0;justify-content:space-between}.site-header nav.main-nav a{font-size:14px}.site-header .language-switcher{display:none!important}.language-menu{display:block;max-width:110px;height:44px;font-size:12px;padding:0 6px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:5px}.preview-toggle{order:5;margin-left:auto;min-height:36px;font-size:12px}.site-home-heading{margin-top:24px;font-size:25px}.floating-contact{right:12px;bottom:12px}footer{padding-bottom:80px}.page-head{padding-top:35px}.role-grid{gap:22px}.project-breadcrumb{margin-bottom:16px}}
@media(max-width:360px){.site-header .brand{font-size:15px}.language-menu{max-width:84px}.site-header .theme-toggle{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cursor-trail{display:none!important}}
header.site-header .language-switcher a{opacity:1!important;font-size:12px!important}
body .home-practice-tile>span,body .module-tile>span,body .role-label{color:#f2f1eb!important;background:#111!important}body .home-practice-tile>span .vowel,body .role-label .vowel{color:#e99b63!important}
.editorial-home .bio-portrait img{width:100%;height:auto!important;aspect-ratio:1!important;object-fit:cover!important;object-position:50% 28%!important;display:block}
.module-placeholder small,.module-tile>small{font-size:12px!important;line-height:1.45!important;background:#191919;color:#f2f1eb;padding:7px 9px!important;max-width:calc(100% - 30px)}.module-tile>span{font-size:14px!important;height:auto!important;min-height:56px}
.module-slides>img:not(.module-media){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.module-slides .module-media{z-index:1;transition:opacity .3s,filter .25s!important}.module-tile:focus-visible .module-media,.module-tile:hover .module-media{filter:grayscale(0)}
.community-slideshow .community-slide{z-index:1;transition:opacity .3s}.home-practice-tile .home-slide{transition:opacity .3s,filter .25s!important}
.work-photo .photo-label h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:0}.work-photo .photo-label{opacity:1!important;transform:none!important}.work-photo:hover img{transform:scale(1.015)}
@media(max-width:800px){.preview-toggle{order:0;margin-left:0;min-height:44px;padding:0 8px;border:1px solid var(--line);border-radius:4px}.site-header nav.main-nav{order:4}.editorial-home .bio-portrait img{max-height:480px;aspect-ratio:1!important}.contact-options{gap:8px}.contact-option{padding:12px;font-size:14px}#contact-dialog{padding:28px 20px}.site-header:has(.preview-toggle) .language-menu{max-width:94px}.site-header:has(.preview-toggle) .brand{flex-basis:calc(100% - 66px)}.site-header:has(.preview-toggle) .theme-toggle{margin-left:auto}.site-header:has(.preview-toggle) nav.main-nav{flex:1;order:3;min-width:240px}.site-header:has(.preview-toggle) .language-menu{order:4}.site-header:has(.preview-toggle) .preview-toggle{order:5;margin-left:auto}}
@media(max-width:420px){.site-header:has(.preview-toggle) nav.main-nav{min-width:100%;order:2}.site-header:has(.preview-toggle) .language-menu{order:3}.site-header:has(.preview-toggle) .preview-toggle{order:3}}
@media(max-width:800px){body>header.site-header{display:grid;grid-template-columns:minmax(0,1fr) 44px max-content 44px;gap:4px 8px;padding:8px 4vw}.site-header .brand,.site-header:has(.preview-toggle) .brand{grid-column:1;grid-row:1;margin:0;flex-basis:auto;font-size:16px}.site-header .theme-toggle,.site-header:has(.preview-toggle) .theme-toggle{grid-column:2;grid-row:1;margin:0}.site-header .language-menu,.site-header:has(.preview-toggle) .language-menu{grid-column:3;grid-row:1;width:56px;max-width:56px;margin:0}.site-header .preview-toggle,.site-header:has(.preview-toggle) .preview-toggle{grid-column:4;grid-row:1;margin:0;width:44px;min-height:44px;padding:0;font-size:0;border-radius:50%}.preview-toggle:before{content:'Ⅱ';font:18px Arial}.preview-toggle[aria-pressed=true]:before{content:'▷'}.site-header nav.main-nav,.site-header:has(.preview-toggle) nav.main-nav{grid-column:1/-1;grid-row:2;width:100%;min-width:0;gap:8px;justify-content:space-between;margin:0}.site-header:not(:has(.preview-toggle)){grid-template-columns:minmax(0,1fr) 44px max-content}.site-header nav.main-nav a{font-size:14px}.site-header button[hidden]{display:none}}
@media(max-width:360px){.site-header .brand,.site-header:has(.preview-toggle) .brand{font-size:14px}.site-header nav.main-nav a{font-size:13px}}
.module-placeholder{background:linear-gradient(145deg,#292a27,#151615);border:1px solid var(--line)}.module-placeholder:before{content:'↗';position:absolute;right:18px;top:18px;font-size:28px;opacity:.55;color:#f2f1eb}.module-placeholder:hover:before,.module-placeholder:focus-visible:before{opacity:1}.module-placeholder small{top:55px!important}
body[data-theme=light] .role-credit,body[data-theme=light] .workshops-intro{color:var(--muted)}
body[data-theme=light] .intro,body[data-theme=light] .workshop-meta,body[data-theme=light] .imdb-preview>small,body[data-theme=light] figcaption,body[data-theme=light] .empty,body[data-theme=light] .module-description{color:var(--muted)}
body[data-theme=light] .eyebrow,body[data-theme=light] #film-count{color:var(--muted)}body[data-theme=light] .film-index-card .eyebrow{color:#f2f1eb}
@font-face{font-family:'Josefin Sans';src:url('assets/JosefinSans.ttf') format('truetype');font-weight:100 700;font-style:normal;font-display:swap}
.site-header,.site-footer-links,.preview-toggle{font-family:'Josefin Sans',Arial,sans-serif}.gallery-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px}#filters button{min-height:44px;padding:9px 14px}

#large{touch-action:pan-y pinch-zoom}
