/* Final local design pass: preserve the dark room, warm paper and photography. */
:root{--graphite:#a5a29b;--muted:#aaa69e;--line:rgba(237,233,225,.18);--gold:#c5c0b7}
html{scroll-padding-top:84px}
body{overflow-wrap:break-word}
:focus-visible{outline:2px solid #ede9e1;outline-offset:5px}
.dis,.dis.in{opacity:1;transform:none;transition:none}
img{height:auto}
button,a{touch-action:manipulation}
.skip{position:fixed;inset-inline-start:-9999px;top:12px;z-index:1500;background:#ede9e1;color:#0a0a0b;padding:12px 18px;text-decoration:none}
.skip:focus{inset-inline-start:12px}
.menu-toggle{display:none}
html:not(.js) .rail{position:relative;background:#0a0a0b}
.rail-in{gap:16px}
.nav a{letter-spacing:.13em;min-height:44px;display:inline-flex;align-items:center}
.lang a{min-height:40px;display:inline-flex;align-items:center}
.card-img.loaded{opacity:.68}
.card-in{padding-top:100px}
.card-billing{max-width:55ch}
.card-cta a{min-height:38px}
.bleed .cred{color:#c4c0b8;text-shadow:0 1px 12px #000}
.bleed--work{min-height:clamp(320px,58svh,620px)}
.film-detail-link{margin-top:24px}
.film-detail-link a,.back a{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid var(--line);font-size:.86rem;letter-spacing:.04em}
.film-detail-link a:hover{border-color:#ede9e1}
.haifa-new-media{border-color:var(--line)}
.haifa-media-head h3{font-size:clamp(1.45rem,2.4vw,2rem);font-weight:400}
.haifa-media-grid{gap:14px}
.haifa-media-grid figure:has(img[data-portrait]),.media-grid figure:has(img[data-portrait]){grid-column:1/-1;display:flex;justify-content:center;background:#101011}
.haifa-media-grid img[data-portrait],.media-grid img[data-portrait]{width:100%;height:560px;max-height:75svh;aspect-ratio:auto;object-fit:contain}
.haifa-media-grid video,.media-grid video{aspect-ratio:16/9;object-fit:contain;background:#050505}
.haifa-media-grid figcaption,.media-grid figcaption{color:#aaa69e;line-height:1.7}
.haifa-media-grid figure[data-set],.stills figure,.cell{transition:border-color .25s}
.haifa-media-grid figure[data-set]:hover,.haifa-media-grid figure[data-set]:focus-visible{outline:1px solid #aaa69e;outline-offset:3px}
.seo-directory{background:linear-gradient(180deg,#101012,#0a0a0b);padding-block:80px}
.seo-directory h2{font-family:var(--disp,'Big Shoulders Display'),sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(2.8rem,6vw,5rem);line-height:1.08;margin:18px 0}
html[lang=ar] .seo-directory h2{font-family:var(--ar-disp,'Reem Kufi'),sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.4}
.seo-directory p{color:#aaa69e}
.seo-film-links{background:transparent;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}
.seo-film-links a{background:transparent;border-top:1px solid var(--line);padding:20px 0;gap:16px;align-items:baseline;font-size:.93rem}
.seo-film-links a:hover{color:#fff;border-color:#aaa69e}
.seo-film-links span{font-size:.78rem;opacity:1;color:#aaa69e;flex:none;font-variant-numeric:tabular-nums}
.ovx{min-width:44px;min-height:44px;display:grid;place-items:center}
.lbx-nav{opacity:1;background:rgba(10,10,11,.65);border-radius:2px}
html[dir=rtl] .lbx-nav{scale:-1 1}
.lbx-cap{max-height:18vh;overflow:auto;font-size:.82rem;line-height:1.6}
.vbx-cap,.lbx-cap,.lbx-count{color:#aaa69e}
.video-direct{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:.85rem;color:#ede9e1;text-decoration:underline;text-underline-offset:4px}
.lbx img{max-height:70svh}
.site-header{max-width:100%;padding-inline:max(24px,calc((100% - 1220px)/2));gap:24px}
.brand{font-family:'Big Shoulders Display',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.25rem;flex-shrink:0}
html[lang=ar] .brand{font-family:'Reem Kufi',sans-serif;text-transform:none;letter-spacing:0}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.hero{padding-inline:max(24px,calc((100% - 1172px)/2));min-height:76svh}
.hero>div{min-width:0;width:100%;position:relative;z-index:2}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.work-hero:before{display:none}
.work-hero:after{z-index:1;pointer-events:none}
.hero h1,.page-intro h1,.about-hero h1,.film-card h2,.media-heading h2{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;text-transform:uppercase;line-height:1.05;font-weight:600;overflow-wrap:normal;text-wrap:balance}
html[lang=ar] :is(.hero h1,.page-intro h1,.about-hero h1,.film-card h2,.media-heading h2){font-family:'Reem Kufi',sans-serif;text-transform:none;line-height:1.35;letter-spacing:0}
.hero h1{font-size:clamp(3rem,8vw,7rem);max-width:18ch}
html[lang=ar] .hero h1{font-size:clamp(2.6rem,6.2vw,5.8rem)}
.eyebrow{color:#bdb8ae;letter-spacing:.13em}
html[lang=ar] .eyebrow{letter-spacing:0;line-height:1.9}
.lead{font-family:'Archivo','Readex Pro',sans-serif;font-weight:300;line-height:1.65;font-size:clamp(1.18rem,2vw,1.6rem)}
html[lang=ar] .lead{font-family:'Readex Pro',sans-serif;line-height:1.95;font-size:clamp(1.1rem,1.8vw,1.4rem)}
.bio-copy{font-family:'Archivo','Readex Pro',sans-serif;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.85}
html[lang=ar] .bio-copy{font-family:'Readex Pro',sans-serif;line-height:2}
.bio-copy p+p{margin-top:1.7em}
.film-grid{background:transparent;gap:42px 28px}
.film-card{border-bottom:1px solid var(--line);padding-bottom:8px}
.film-card a>div:last-child{padding:22px 0}
.film-card h2{font-size:clamp(1.8rem,3vw,3rem)}
html[lang=ar] .film-card h2{font-size:clamp(1.6rem,2.8vw,2.35rem)}
.film-card img{aspect-ratio:16/9;filter:none}
.year-card{font-family:'Big Shoulders Display',sans-serif;color:#aaa69e}
.film-card a:hover h2{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
.work-content>.copy:only-child{grid-column:1/-1;max-width:820px}
.media-heading h2{font-size:clamp(2rem,4vw,3.7rem)}
.media-grid{gap:20px}
.media-grid figure{border:1px solid var(--line)}
.media-grid figure:has(img){cursor:zoom-in}
.about-hero img{filter:grayscale(1)}
.still-dialog{border:0;background:rgba(6,6,7,.98);color:#ede9e1;width:100vw;max-width:100vw;height:100svh;max-height:100svh;padding:64px 24px 36px;margin:0;position:fixed;inset:0}
.still-dialog::backdrop{background:#060607}
.still-dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.still-dialog img{max-height:75svh;max-width:94vw;width:auto;object-fit:contain}
.still-dialog button{position:absolute;top:14px;inset-inline-end:20px;background:none;color:inherit;border:1px solid #777;padding:10px 16px;min-height:44px;cursor:pointer}
.still-dialog p{margin:0;color:#aaa69e;text-align:center;font-size:.85rem}
@media(max-width:1060px){
 .rail-in{flex-wrap:wrap;min-height:64px;gap:10px}
 .sig{margin-inline-end:auto}
 .js .menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px;font-size:.8rem;border:0;background:none;color:inherit;cursor:pointer}
 .nav{display:grid;order:4;flex:0 0 100%;padding:12px 0 20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}
 .js .nav{display:none}
 .js .nav.is-open{display:grid}
 .rail:has(.is-open){background:#0a0a0b;border-bottom:1px solid var(--line)}
 .nav a{font-size:.85rem;min-height:44px}
 .seo-film-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .site-header{padding:10px 20px;align-items:center;flex-wrap:wrap;gap:3px 20px}
 .site-header nav{gap:16px;flex-wrap:wrap}
 .site-header nav a:nth-child(3){display:inline-flex}
 .site-header nav a{font-size:.8rem}
 .hero{min-height:65svh;padding-top:90px;padding-bottom:48px}
 .hero h1{font-size:clamp(2.5rem,12vw,4rem)}
 .work-content{padding-top:42px;gap:30px}
 .gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
 .gallery img+img{margin-top:30px}
 .page-intro{padding-top:58px;padding-bottom:40px}
 .page-intro h1{font-size:clamp(2.5rem,10vw,4rem)}
 .about-hero{padding-top:42px}
 .about-hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}
 .film-grid{padding-bottom:64px}
 .media-section{padding-bottom:64px}
 .media-grid{gap:14px}
 .seo-film-links{grid-template-columns:1fr}
 .seo-directory{padding-block:55px}
 .lbx-cap{padding-inline:24px}
 .lbx-nav{top:auto;bottom:20vh;padding:5px 16px;font-size:1.8rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){:root{--graphite:#d2cec6;--muted:#d2cec6;--line:#888}}
