:root { --ink:#191b1c; --deep:#101516; --panel:#262829; --cream:#f3ebdf; --muted:#c3b6a8; --amber:#c89573; --rule:#ffffff21; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
figure { margin:0; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible { outline:2px solid var(--amber); outline-offset:5px; }
section { scroll-margin-top:68px; }
.skip-link { position:absolute; z-index:20; top:-60px; left:14px; background:white; color:black; padding:12px 18px; }
.skip-link:focus { top:8px; }
.site-header { height:86px; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:0 5.2%; border-bottom:1px solid var(--rule); background:#191b1cf7; }
.wordmark { font:18px/1 Georgia,'Times New Roman',serif; white-space:nowrap; }
.wordmark span { color:var(--amber); padding:0 3px; }
.site-header nav { display:flex; align-items:center; gap:clamp(16px,2.7vw,42px); font-size:11px; color:#d1c6b9; }
.site-header nav a:hover,.footer-links a:hover,.header-trailer:hover { color:var(--amber); }
.header-trailer { white-space:nowrap; font-size:10px; letter-spacing:.12em; font-weight:700; color:#d4ab8a; border:1px solid #8f725d; padding:15px 18px; }
.header-trailer span { margin-left:14px; }
.hero { padding:58px 5.2% 0; background:radial-gradient(ellipse at 65% 16%,#48352a55,transparent 51%); }
.kicker,.section-num { font-size:10px; line-height:1.4; letter-spacing:.2em; color:var(--amber); }
.kicker { display:flex; align-items:center; gap:13px; }
.hairline { width:38px; height:1px; background:var(--amber); }
.sep,.section-num i { font-style:normal; color:#756960; }
.hero-title-row { display:grid; grid-template-columns:1.6fr .58fr; gap:35px; align-items:end; padding:36px 0 56px; }
.hero h1 { margin:0 0 0 -6px; font:normal clamp(86px,11vw,178px)/.82 Georgia,'Times New Roman',serif; letter-spacing:-.085em; }
.hero h1 em,.story h2 em,.trailer-section h2 em,.recognition h2 em,.film-info h2 em { font-weight:normal; color:var(--amber); }
.hero h1 em span { color:#f0e3d6; }
.hero-intro { max-width:330px; padding-bottom:13px; }
.hero-intro p { font:21px/1.48 Georgia,'Times New Roman',serif; color:#e0d4c7; margin:0 0 33px; }
.underlined-link { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:0 0 15px; border-bottom:1px solid #b98866; color:#dcb08c; font-size:10px; font-weight:700; letter-spacing:.15em; line-height:1.4; }
.underlined-link:hover { color:#fff; }
.underlined-link span { font-size:17px; line-height:0; }
.ensemble { position:relative; height:clamp(460px,49vw,650px); overflow:hidden; background:#252a23; }
.ensemble picture,.candle-photo picture { display:block; width:100%; height:100%; }
.ensemble img { height:100%; object-fit:cover; object-position:44% 32%; filter:saturate(.74) brightness(.81) contrast(1.06); }
.ensemble::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#111918bb,transparent 33%); pointer-events:none; }
.ensemble figcaption { position:absolute; z-index:1; bottom:25px; left:30px; right:30px; display:flex; justify-content:space-between; gap:30px; font-size:10px; letter-spacing:.16em; }
figcaption i { color:var(--amber); font-style:normal; padding:0 7px; }
.hero-end { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:10px; letter-spacing:.18em; color:#b19d8b; }
.hero-end a span { color:var(--amber); margin-left:14px; font-size:17px; }
.story { display:grid; grid-template-columns:42% 58%; min-height:685px; border-top:1px solid #66564b; }
.story-copy { padding:clamp(68px,8vw,125px) 12% 70px; background:var(--panel); }
h2 { font:normal clamp(55px,5.1vw,84px)/1.04 Georgia,'Times New Roman',serif; letter-spacing:-.064em; }
.story h2 { margin:45px 0 32px; }
.rule { width:66px; height:1px; background:var(--amber); margin-bottom:27px; }
.story-copy p { max-width:440px; font:16px/1.74 Georgia,'Times New Roman',serif; color:#d1c5b9; }
.story-signoff { display:block; color:#c5906d; font:10px/1.5 Arial,sans-serif; letter-spacing:.14em; margin-top:34px; text-transform:uppercase; }
.candle-photo { position:relative; background:#261d1b; overflow:hidden; }
.candle-photo img { height:100%; object-fit:cover; object-position:55% center; filter:saturate(.93); }
.candle-photo figcaption { position:absolute; bottom:24px; right:25px; background:#111b1cb5; padding:12px 15px; font-size:9px; letter-spacing:.13em; }
.trailer-section { display:grid; grid-template-columns:47% 53%; background:#181d1e; min-height:480px; }
.trailer-copy { padding:83px 11% 70px; }
.trailer-section h2 { margin:38px 0 23px; }
.trailer-copy p { font:17px/1.6 Georgia,serif; color:var(--muted); max-width:415px; margin-bottom:30px; }
.solid-button { background:#ba8868; color:#1b1c1c; display:inline-flex; align-items:center; gap:14px; padding:18px 22px; font-size:11px; letter-spacing:.1em; font-weight:700; }
.solid-button:hover { background:#e0aa82; }
.solid-button span:last-child { margin-left:24px; }
.poster-panel { position:relative; overflow:hidden; display:block; min-height:480px; }
.poster-panel:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#0007,transparent 35%); }
.poster-panel img { height:100%; object-fit:cover; filter:brightness(.77) saturate(.72); transition:transform .3s; }
.poster-panel:hover img { transform:scale(1.025); }
.play-circle { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); border:1px solid #ffe8d4; border-radius:50%; width:88px; height:88px; display:grid; place-items:center; padding-left:5px; font-size:25px; background:#15181833; }
.poster-note { position:absolute; z-index:1; bottom:24px; right:30px; font-size:10px; letter-spacing:.17em; }
.recognition { background:#dfd3c1; color:#302b26; padding:105px 5.3% 110px; }
.recognition .section-num { color:#916849; }
.recognition-head { display:grid; grid-template-columns:31% 1fr; gap:20px; }
.recognition-head .section-num { margin-top:17px; }
.recognition h2 { margin:0; }
.recognition h2 em { color:#996749; }
.recognition-layout { display:grid; grid-template-columns:26% 26% 1fr; gap:25px; padding:42px 0 53px; margin-top:67px; border-top:1px solid #aa9a88; }
.stat { display:flex; gap:24px; align-items:flex-start; }
.stat strong { color:#986849; font:normal clamp(78px,7vw,112px)/.9 Georgia,serif; letter-spacing:-.08em; }
.stat span { margin-top:10px; color:#5e564e; font:10px/1.7 Arial,sans-serif; letter-spacing:.12em; }
.recognition-copy { max-width:360px; margin-left:auto; font:17px/1.55 Georgia,serif; }
.recognition-copy p { margin:2px 0 18px; }
.recognition-copy .recognition-extra { color:#68594d; font-size:15px; }
.awards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #a89a89; }
.awards > div { padding:28px 25px 0 0; display:flex; flex-direction:column; gap:11px; }
.awards > div + div { border-left:1px solid #b9a996; padding-left:28px; }
.awards span { font:10px/1.5 Arial,sans-serif; color:#905f42; font-weight:bold; letter-spacing:.09em; }
.awards strong { font:normal 23px/1.2 Georgia,serif; }
.awards small { font:11px Arial,sans-serif; color:#6b6156; }
.film-info { display:grid; grid-template-columns:57% 43%; padding:105px 5.3%; gap:45px; background:#1e2223; }
.film-info h2 { margin:37px 0 0; }
.film-info .film-facts { padding-top:15px; }
.film-facts dl { margin:0 0 34px; }
.film-facts dl div { display:grid; grid-template-columns:43% 1fr; border-bottom:1px solid #ffffff25; padding:13px 0; gap:15px; }
.film-facts dt { color:#b79c88; font-size:11px; }
.film-facts dd { margin:0; color:#eee3d8; font:15px/1.5 Georgia,serif; }
.footer { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding:45px 5.3%; border-top:1px solid #ffffff22; flex-wrap:wrap; }
.footer p { color:#9b8c80; margin:19px 0 0; font:14px Georgia,serif; }
.footer-links { display:flex; gap:25px; color:#cda17e; font:11px Arial,sans-serif; }
.footer small { color:#8e8075; font-size:10px; letter-spacing:.08em; }
@media (max-width:1040px) {
  .site-header nav { display:none; }
  .hero-title-row { grid-template-columns:1fr .55fr; }
  .hero-intro p { font-size:18px; }
  .story { grid-template-columns:47% 53%; }
  .story-copy { padding-left:9%; padding-right:9%; }
  .trailer-copy { padding-left:9%; padding-right:9%; }
  .recognition-layout { grid-template-columns:1fr 1fr; }
  .recognition-copy { margin:0; max-width:none; grid-column:1/-1; }
}
@media (max-width:720px) {
  .site-header { height:71px; }
  .wordmark { font-size:17px; }
  .header-trailer { font-size:9px; padding:12px 13px; }
  .header-trailer span { margin-left:4px; }
  .hero { padding-top:35px; }
  .kicker { font-size:8px; gap:8px; }
  .hairline { width:23px; }
  .hero-title-row { display:block; padding:35px 0; }
  .hero h1 { font-size:clamp(72px,14vw,108px); }
  .hero-intro { margin-top:28px; }
  .hero-intro p { margin-bottom:23px; }
  .ensemble { height:460px; }
  .ensemble img { object-position:49% 31%; }
  .ensemble figcaption { left:15px; bottom:17px; font-size:8px; }
  .ensemble figcaption span:last-child { display:none; }
  .hero-end { min-height:70px; font-size:9px; }
  .hero-end a { display:none; }
  .story { grid-template-columns:1fr; }
  .story-copy { padding:72px 7% 65px; }
  .story h2 { margin:30px 0; }
  .candle-photo { height:520px; }
  .trailer-section { grid-template-columns:1fr; }
  .trailer-copy { padding:74px 7%; }
  .poster-panel { height:360px; min-height:0; }
  .recognition { padding:76px 7%; }
  .recognition-head { display:block; }
  .recognition h2 { margin:28px 0 0; }
  .recognition-layout { margin-top:39px; }
  .stat { display:block; }
  .stat span { display:block; }
  .awards { grid-template-columns:1fr; }
  .awards > div { padding:23px 0; }
  .awards > div + div { padding-left:0; border-left:0; border-top:1px solid #b9a996; }
  .film-info { grid-template-columns:1fr; padding:78px 7%; gap:38px; }
  .film-facts dl div { grid-template-columns:1fr; gap:7px; }
  .footer { align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .poster-panel img { transition:none; } }

/* Full archive additions: retain the original approved charcoal/copper visual language. */
body { overflow-x:hidden; }
button { font:inherit; cursor:pointer; }
button:focus-visible,summary:focus-visible { outline:2px solid var(--amber); outline-offset:4px; }
picture { display:block; }
h1,h2,h3 { text-wrap:balance; }
.site-header { position:sticky; top:0; z-index:30; }
.site-header .desktop-nav { gap:clamp(12px,1.6vw,27px); }
.site-header nav a[aria-current="page"] { color:var(--cream); border-bottom:1px solid var(--amber); padding-bottom:7px; }
.mobile-menu { display:none; }
.story-link { margin-top:24px; }
.recognition-link { margin-top:45px; color:#82573d; border-color:#966e52; }
.archive-paths { padding:105px 5.3% 125px; background:#151919; }
.section-heading { max-width:960px; margin-bottom:45px; }
.section-heading h2 { margin:25px 0 18px; }
.section-heading h2 em,.page-hero h1 em,.gallery-hero h1 em,.editorial-section h2 em,.film-detail-section h2 em,.festival-section h2 em,.theatrical-section h2 em,.endcap h2 em,.production-gallery h2 em,.making-interlude h2 em,.video-section h2 em,.festival-hero h1 em,.producer-section h2 em,.gallery-divider h2 em { color:var(--amber); font-weight:normal; }
.section-heading > p { color:var(--muted); font:18px/1.6 Georgia,serif; max-width:630px; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.feature-card { display:block; background:#252829; padding-bottom:30px; }
.feature-card picture { height:355px; overflow:hidden; }
.feature-card img { height:100%; object-fit:cover; transition:transform .3s; }
.feature-card:hover img { transform:scale(1.025); }
.feature-count { display:block; margin:26px 28px 0; color:var(--amber); font-size:10px; letter-spacing:.16em; }
.feature-card h3 { font:normal clamp(30px,3.3vw,47px)/1.1 Georgia,serif; letter-spacing:-.05em; margin:14px 28px 10px; }
.feature-card h3 span { float:right; font-size:20px; color:var(--amber); }
.feature-card p { margin:0 28px; color:var(--muted); font:15px/1.55 Georgia,serif; }
.footer-links { max-width:520px; flex-wrap:wrap; justify-content:flex-end; }

/* Shared interior-page framework */
.page-hero { padding:0 5.3%; background:radial-gradient(ellipse at 65% 15%,#46352a55,transparent 55%); }
.page-hero--split { display:grid; grid-template-columns:44% 56%; gap:0; align-items:stretch; }
.page-hero-copy { padding:clamp(72px,9vw,125px) 9% 90px 0; }
.page-hero-copy h1,.gallery-hero h1,.festival-hero h1 { font:normal clamp(70px,7.7vw,126px)/.92 Georgia,serif; letter-spacing:-.076em; margin:38px 0 36px; }
.page-hero-copy p,.gallery-hero > div > p { font:clamp(17px,1.8vw,23px)/1.55 Georgia,serif; max-width:530px; color:#d5c5b8; margin:0 0 35px; }
.page-hero-photo { margin:35px 0 35px; min-height:585px; position:relative; background:#2a2f2b; overflow:hidden; }
.page-hero-photo picture { height:100%; }
.page-hero-photo img { height:100%; object-fit:cover; filter:saturate(.76) brightness(.83); }
.page-hero-photo figcaption,.wide-image-section figcaption,.making-interlude figcaption,.gallery-hero figcaption { position:absolute; bottom:20px; right:20px; padding:12px 15px; background:#131919bb; font-size:9px; letter-spacing:.12em; }
.editorial-section { display:grid; grid-template-columns:27% minmax(0,1fr); gap:40px; padding:115px 7%; max-width:1550px; margin:auto; }
.editorial-label { display:flex; flex-direction:column; align-items:flex-start; gap:17px; padding-top:15px; }
.editorial-label > p { color:#8e8075; font-size:10px; line-height:1.6; letter-spacing:.16em; margin:0; }
.small-line { display:block; height:1px; width:52px; background:#ab8064; }
.prose { max-width:820px; }
.prose h2,.content-stack h2 { margin:0 0 37px; }
.prose p { font:17px/1.83 Georgia,serif; color:#d6c8ba; margin:0 0 24px; }
.prose p.lead { font-size:clamp(21px,2.2vw,27px); line-height:1.6; color:#f2e8da; }
.wide-prose { max-width:800px; }
.wide-image-section { min-height:clamp(400px,57vw,800px); position:relative; background:#1d1f1f; }
.wide-image-section figure,.wide-image-section picture { height:100%; position:absolute; inset:0; }
.wide-image-section img { height:100%; object-fit:cover; object-position:center; filter:brightness(.88); }
.credit-list { max-width:760px; }
.credit-list > div { display:grid; grid-template-columns:45% 1fr; gap:20px; border-bottom:1px solid var(--rule); padding:17px 0; }
.credit-list > div:first-child { border-top:1px solid var(--rule); }
.credit-list span,.detail-grid dt { font-size:11px; color:#a9927e; letter-spacing:.08em; }
.credit-list strong { font:normal 22px/1.2 Georgia,serif; }
.credit-divider { height:44px; }
.film-detail-section { background:#2a2b2b; display:grid; grid-template-columns:1fr 1.3fr; padding:95px 7%; gap:8%; }
.film-detail-section h2 { margin:34px 0 22px; }
.film-detail-section p { font:17px/1.6 Georgia,serif; max-width:350px; color:var(--muted); }
.detail-grid { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 30px; }
.detail-grid div { padding:17px 0; border-bottom:1px solid var(--rule); }
.detail-grid dt { margin-bottom:9px; }
.detail-grid dd { margin:0; font:18px/1.4 Georgia,serif; }
.video-section { padding:100px 7% 105px; background:#101617; }
.video-heading { max-width:800px; margin:0 auto 40px; text-align:center; }
.video-heading h2 { margin:27px 0 18px; }
.video-heading p { color:var(--muted); font:16px/1.65 Georgia,serif; }
.video-shell { max-width:1100px; margin:auto; aspect-ratio:16/9; background:#252a28; }
.video-trigger { border:0; padding:0; width:100%; height:100%; display:block; position:relative; background:#252a28; color:white; }
.video-trigger picture,.video-trigger img { height:100%; }
.video-trigger img { object-fit:cover; filter:brightness(.58) saturate(.76); transition:filter .2s; }
.video-trigger:hover img { filter:brightness(.77) saturate(.82); }
.video-label { position:absolute; left:30px; bottom:28px; z-index:2; font-size:11px; letter-spacing:.18em; }
.video-trigger .play-circle { width:82px; height:82px; }
.video-shell iframe { display:block; width:100%; height:100%; border:0; }
.video-alt { margin:20px auto 0; text-align:center; font:13px Georgia,serif; color:#b9aa9a; }
.video-alt a { color:#e5b28d; border-bottom:1px solid #b58b6c; }
.endcap { text-align:center; background:#e0d4c2; color:#272625; padding:93px 7% 103px; }
.endcap .section-num { color:#805e43; }
.endcap h2 { margin:30px auto 36px; }
.endcap h2 em { color:#8b6047; }
.endcap .solid-button { background:#292c2d; color:#ead6c6; }
.endcap .solid-button:hover { background:#433d36; }

/* Making of */
.making-hero .page-hero-photo img { object-position:55% center; }
.director-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr); gap:55px; align-items:start; }
.portrait-frame { margin:0; background:#282a28; }
.portrait-frame img { max-height:500px; object-fit:cover; }
.portrait-frame figcaption { padding:15px 0; color:#b99f8b; font-size:10px; letter-spacing:.1em; }
.film-quote { margin:35px 0 0; padding:26px 0 0; border-top:1px solid #6e584a; }
.film-quote p { font:italic 34px/1.28 Georgia,serif; color:var(--amber); margin-bottom:15px; }
.film-quote cite,.making-interlude blockquote cite { display:block; font:10px/1.5 Arial,sans-serif; color:#baa18e; letter-spacing:.12em; font-style:normal; margin-top:12px; }
.making-interlude { display:grid; grid-template-columns:1.14fr .86fr; background:#d9cbb9; color:#282623; }
.making-interlude figure { position:relative; min-height:600px; }
.making-interlude picture,.making-interlude picture img { height:100%; }
.making-interlude picture img { object-fit:cover; }
.making-interlude > div { padding:100px 12%; }
.making-interlude .section-num { color:#885d3c; }
.making-interlude h2 { margin:33px 0 28px; }
.making-interlude h2 em { color:#986f52; }
.making-interlude p { font:17px/1.75 Georgia,serif; }
.making-interlude blockquote { font:italic 25px/1.5 Georgia,serif; color:#4b4036; margin:38px 0 0; border-top:1px solid #a9937d; padding-top:28px; }
.making-interlude blockquote cite { color:#75604c; }
.production-gallery { background:#252828; padding:108px 7%; }
.production-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:45px 0 40px; }
.production-grid figure { margin:0; }
.production-grid picture { height:300px; overflow:hidden; }
.production-grid img { height:100%; object-fit:cover; }
.production-grid figcaption { color:#caaa90; margin-top:15px; font-size:10px; letter-spacing:.12em; }
.producer-section { display:grid; grid-template-columns:27% minmax(0,1fr); gap:40px; padding:105px 7%; background:#222526; }
.producer-section .prose h2 { margin-bottom:34px; }

/* Festivals, original laurels and press */
.festival-hero { padding-top:90px; padding-bottom:100px; }
.festival-hero .page-hero-copy { padding:0; max-width:1030px; }
.festival-hero h1 { font-size:clamp(78px,9vw,145px); margin:37px 0 34px; }
.festival-hero .page-hero-copy > p { max-width:630px; }
.hero-stat-row { display:flex; gap:clamp(45px,10vw,170px); border-top:1px solid #665548; margin-top:70px; padding-top:44px; }
.hero-stat-row div { display:flex; align-items:center; gap:20px; }
.hero-stat-row strong { font:normal clamp(66px,7vw,100px)/1 Georgia,serif; color:var(--amber); }
.hero-stat-row span { max-width:140px; font-size:10px; line-height:1.5; letter-spacing:.12em; color:var(--muted); }
.awards-showcase { padding:100px 7% 112px; background:#e0d4c2; color:#292622; }
.awards-showcase .section-num,.laurels-section .section-num { color:#885b40; }
.awards-showcase h2 em,.laurels-section h2 em { color:#95674c; }
.award-panel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.award-panel { padding:33px 27px 35px; min-height:345px; border:1px solid #bba991; display:flex; flex-direction:column; }
.award-panel > span { font-size:10px; color:#88664d; letter-spacing:.14em; }
.laurel-sign { font-size:60px; line-height:1; color:#946a4d; padding:30px 0 21px; }
.award-panel h3 { font:normal 32px/1.15 Georgia,serif; margin:0 0 18px; }
.award-panel p { color:#62574b; font:15px/1.55 Georgia,serif; margin:auto 0 0; }
.festival-section { display:grid; grid-template-columns:34% 1fr; padding:110px 7%; gap:7%; }
.festival-intro h2 { margin:32px 0 25px; }
.festival-intro > p { max-width:360px; color:var(--muted); font:17px/1.7 Georgia,serif; }
.festival-list { padding:0; margin:0; list-style:none; border-top:1px solid var(--rule); }
.festival-list li { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--rule); }
.festival-list li > span { color:#bf9a7c; font-size:10px; line-height:1.6; letter-spacing:.1em; }
.festival-list strong { font:normal 21px/1.4 Georgia,serif; }
.festival-list p { margin:7px 0 0; color:#a99989; font-size:12px; line-height:1.5; }
.laurels-section { padding:100px 7%; background:#dcd1c3; color:#292522; }
.laurel-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.laurel-tile { aspect-ratio:1/.94; padding:19px; background:#f3eee7; display:flex; justify-content:center; align-items:center; min-width:0; }
.laurel-tile picture { width:100%; }
.laurel-tile img { max-height:150px; width:100%; object-fit:contain; }
.laurel-tile--dark { background:#141516; }
.laurel-tile--text { text-align:center; flex-direction:column; gap:12px; border:1px solid #b4a18b; background:#e9dfd2; }
.laurel-tile--text span { font-size:9px; letter-spacing:.12em; color:#805b43; }
.laurel-tile--text strong { font:normal 19px/1.15 Georgia,serif; }
.laurel-tile--text small { font-size:10px; color:#706052; }
.theatrical-section { padding:100px 7% 105px; display:grid; grid-template-columns:40% 1fr; gap:9%; background:#2a2b2b; }
.theatrical-section h2 { margin:38px 0 0; }
.theatrical-grid { display:grid; gap:22px; }
.theatrical-grid article { padding:22px 0; border-bottom:1px solid var(--rule); }
.theatrical-grid span { font-size:10px; color:var(--amber); letter-spacing:.13em; }
.theatrical-grid h3 { font:normal 27px/1.2 Georgia,serif; margin:15px 0; }
.theatrical-grid p { font:16px/1.6 Georgia,serif; color:var(--muted); margin:0; }
.press-section { padding:110px 7%; }
.press-list { border-top:1px solid var(--rule); }
.press-list > a { display:grid; grid-template-columns:25% 1fr 35px; gap:25px; border-bottom:1px solid var(--rule); padding:33px 4px; transition:background .2s; }
.press-list > a:hover { background:#ffffff08; }
.press-list > a > span { color:#b9997d; font-size:10px; line-height:1.6; letter-spacing:.12em; padding-top:7px; }
.press-list h3 { font:normal clamp(23px,3vw,37px)/1.17 Georgia,serif; margin:0 0 12px; }
.press-list p { margin:0; color:var(--muted); font:15px/1.6 Georgia,serif; max-width:740px; }
.press-list b { color:var(--amber); font-weight:normal; font-size:24px; }

/* Gallery and native lightbox */
.gallery-hero { padding:90px 5.3% 0; background:radial-gradient(ellipse at 53% 5%,#49352977,transparent 65%); }
.gallery-hero > div { display:flex; align-items:flex-end; gap:80px; justify-content:space-between; }
.gallery-hero h1 { margin:30px 0 55px; }
.gallery-hero > div > p { max-width:400px; margin-bottom:60px; }
.gallery-hero figure { position:relative; height:clamp(380px,39vw,570px); overflow:hidden; }
.gallery-hero figure picture,.gallery-hero figure img { height:100%; }
.gallery-hero figure img { object-fit:cover; filter:brightness(.82) saturate(.8); }
.gallery-content { padding:85px 5.3% 120px; }
.gallery-controls { display:flex; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--rule); padding:0 0 23px; margin-bottom:35px; }
.gallery-controls button { border:1px solid #5b5147; border-radius:0; background:transparent; color:#d2c2b2; padding:12px 15px; font-size:10px; letter-spacing:.09em; }
.gallery-controls button[aria-pressed="true"] { background:#d1ac8e; color:#222526; border-color:#d1ac8e; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.gallery-card { border:0; padding:0; color:inherit; background:transparent; min-width:0; text-align:left; }
.gallery-card picture { display:block; height:clamp(225px,27vw,375px); overflow:hidden; background:#222a28; }
.gallery-card img { height:100%; object-fit:cover; transition:transform .3s,filter .3s; }
.gallery-card:hover img { transform:scale(1.045); filter:brightness(1.08); }
.gallery-card > span { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; color:#eadbca; font-size:11px; letter-spacing:.09em; padding-top:13px; }
.gallery-card > span i { color:var(--amber); font-size:9px; font-style:normal; }
.gallery-card--wide { grid-column:span 2; }
.gallery-card--wide picture { height:clamp(230px,31vw,430px); }
.gallery-card[hidden],.gallery-divider[hidden] { display:none !important; }
.gallery-divider { grid-column:1/-1; padding:62px 0 8px; }
.gallery-divider h2 { margin:26px 0 15px; }
.gallery-divider p { font:16px/1.6 Georgia,serif; color:var(--muted); max-width:610px; }
.lightbox { border:0; padding:0; max-width:95vw; max-height:95vh; width:min(1220px,94vw); background:#121515; color:#f6e9dc; overflow:visible; }
.lightbox::backdrop { background:#000e; backdrop-filter:blur(7px); }
.lightbox figure { margin:0; }
.lightbox figure img { max-width:100%; max-height:82vh; width:auto; height:auto; margin:auto; object-fit:contain; }
.lightbox figcaption { font:13px/1.4 Georgia,serif; padding:12px; text-align:center; }
.lightbox-close { position:absolute; top:-15px; right:-15px; z-index:2; border:1px solid #dec6b1; border-radius:50%; background:#292b2a; color:#fff; width:40px; height:40px; font-size:27px; line-height:1; }
.lightbox-arrow { position:absolute; top:45%; border:0; background:#121515bb; color:#fff; font-size:50px; width:48px; height:70px; line-height:1; }
.lightbox-prev { left:0; }.lightbox-next { right:0; }

@media (max-width:1100px) {
  .site-header .desktop-nav { display:none; }
  .mobile-menu { display:block; position:relative; margin-left:auto; }
  .mobile-menu summary { list-style:none; font-size:11px; letter-spacing:.13em; color:var(--cream); cursor:pointer; padding:10px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { margin-left:5px; color:var(--amber); }
  .site-header .mobile-menu nav { position:absolute; right:0; top:100%; min-width:225px; padding:18px; background:#202425; border:1px solid #564d43; box-shadow:0 12px 28px #0008; display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .site-header .mobile-menu nav a { display:block; padding:13px 0; border-bottom:1px solid #ffffff23; font-size:12px; }
  .site-header .mobile-menu nav a[aria-current="page"] { border-bottom:1px solid var(--amber); }
  .page-hero-copy h1 { font-size:clamp(60px,7.5vw,90px); }
  .page-hero-photo { min-height:520px; }
  .laurel-grid { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:800px) {
  .page-hero--split { grid-template-columns:1fr; }
  .page-hero-copy { padding:70px 0 30px; }
  .page-hero-photo { height:420px; min-height:0; margin:25px 0 30px; }
  .editorial-section,.producer-section { grid-template-columns:1fr; padding:75px 7%; gap:30px; }
  .editorial-label { padding:0; }
  .director-layout { grid-template-columns:1fr; }
  .portrait-frame { max-width:370px; }
  .making-interlude { grid-template-columns:1fr; }
  .making-interlude figure { height:410px; min-height:0; }
  .making-interlude > div { padding:68px 7%; }
  .film-detail-section,.festival-section,.theatrical-section { grid-template-columns:1fr; gap:40px; padding:80px 7%; }
  .award-panel-grid { grid-template-columns:1fr 1fr; }
  .festival-list li { grid-template-columns:145px 1fr; }
  .laurel-grid { grid-template-columns:repeat(3,1fr); }
  .production-grid { grid-template-columns:1fr 1fr; }
  .production-grid figure:last-child { display:none; }
  .feature-card picture { height:270px; }
  .hero-stat-row { gap:35px; }
  .press-list > a { grid-template-columns:1fr 32px; gap:15px; }
  .press-list > a > span { grid-column:1/-1; }
  .gallery-hero > div { display:block; }
  .gallery-hero h1 { margin:24px 0; }
  .gallery-hero > div > p { margin-bottom:35px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:550px) {
  .site-header { padding:0 5%; gap:11px; }
  .site-header .header-trailer { display:none; }
  .hero h1 { font-size:clamp(67px,14vw,94px); }
  .hero .ensemble { height:390px; }
  .feature-grid,.award-panel-grid { grid-template-columns:1fr; }
  .archive-paths,.production-gallery,.awards-showcase,.laurels-section,.press-section,.gallery-content { padding:75px 6%; }
  .feature-card picture { height:300px; }
  .page-hero { padding:0 6%; }
  .page-hero-copy h1,.gallery-hero h1,.festival-hero h1 { font-size:clamp(60px,13vw,84px); }
  .page-hero-photo { height:350px; }
  .editorial-section,.producer-section { padding:70px 6%; }
  .prose p { font-size:16px; }
  .wide-image-section { min-height:400px; }
  .film-detail-section { padding:75px 6%; }
  .detail-grid { grid-template-columns:1fr; }
  .video-section { padding:80px 5%; }
  .video-label { font-size:9px; left:12px; bottom:12px; }
  .video-trigger .play-circle { width:58px; height:58px; font-size:16px; }
  .credit-list > div { grid-template-columns:1fr; gap:8px; }
  .making-interlude figure { height:335px; }
  .production-grid { grid-template-columns:1fr; }
  .production-grid figure:last-child { display:block; }
  .festival-hero { padding-top:65px; }
  .hero-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; padding-top:20px; margin-top:35px; }
  .hero-stat-row div { flex-direction:column; gap:8px; align-items:flex-start; }
  .hero-stat-row strong { font-size:62px; }
  .hero-stat-row span { font-size:8px; }
  .festival-list li { grid-template-columns:1fr; gap:8px; }
  .laurel-grid { grid-template-columns:repeat(2,1fr); }
  .laurel-tile { padding:13px; }
  .laurel-tile--text strong { font-size:16px; }
  .gallery-hero { padding:65px 6% 0; }
  .gallery-hero figure { height:330px; }
  .gallery-grid { gap:17px 10px; }
  .gallery-card picture,.gallery-card--wide picture { height:200px; }
  .gallery-card > span { display:block; font-size:9px; }
  .gallery-card > span i { display:block; margin-top:5px; }
  .gallery-divider { padding-top:45px; }
  .lightbox-arrow { font-size:36px; width:34px; height:55px; }
  .footer-links { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) { .gallery-card img,.feature-card img,.video-trigger img { transition:none; } }

/* Festival milestones and the 2018 Singapore theatrical first. */
.golden-rooster-highlight { display:grid; grid-template-columns:29% minmax(0,1fr); gap:7%; padding:76px 7% 83px; background:radial-gradient(ellipse at 78% 14%,#6b483045,transparent 55%),#232526; border-top:1px solid #745841; border-bottom:1px solid #745841; }
.golden-rooster-highlight > div:first-child { display:flex; flex-direction:column; align-items:flex-start; gap:32px; }
.nomination-seal { display:block; width:min(200px,100%); border:1px solid #ad8260; color:#daa981; padding:28px 22px; font:17px/1.35 Georgia,serif; text-align:center; letter-spacing:.08em; }
.nomination-kicker { font:11px/1.5 Arial,sans-serif; letter-spacing:.18em; color:#d8a57d; }
.golden-rooster-highlight h2 { font-size:clamp(53px,6.5vw,94px); margin:14px 0 23px; }
.golden-rooster-highlight h2 em { color:#c89573; }
.golden-rooster-highlight p { max-width:680px; font:18px/1.7 Georgia,serif; color:#d7c8b8; margin:0 0 26px; }
.premiere-legend { border-top:1px solid var(--rule); margin-top:38px; padding-top:22px; max-width:290px; }
.premiere-legend > span:last-child { display:block; margin-top:13px; color:#a99989; font:13px/1.5 Georgia,serif; }
.premiere-tag { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:6px 10px; margin-top:12px; border:1px solid #b88360; color:#e1aa80; background:#8f55331c; font:9px/1.3 Arial,sans-serif; letter-spacing:.16em; font-weight:700; }
.premiere-legend .premiere-tag { margin-top:0; }
.premiere-tag--world { background:#bd8e69; border-color:#bd8e69; color:#1a1b1b; }
.festival-list-finale { background:#ad735817; border-left:3px solid #bd8e69; padding-left:16px !important; }
.singapore-teaser { display:grid; grid-template-columns:18% 1fr 22%; gap:27px; align-items:center; border-top:1px solid #a89a89; border-bottom:1px solid #a89a89; margin-top:55px; padding:34px 0; }
.singapore-teaser > span { align-self:start; color:#936348; font-size:10px; letter-spacing:.14em; line-height:1.7; }
.singapore-teaser > span i { color:#796b5d; font-style:normal; }
.singapore-teaser h3 { font:normal clamp(23px,2.7vw,36px)/1.2 Georgia,serif; margin:0; }
.singapore-teaser h3 em { color:#996749; }
.singapore-teaser p { margin:0 0 15px; font:15px/1.5 Georgia,serif; color:#605448; }
.singapore-teaser strong { font:10px/1.5 Arial,sans-serif; color:#865938; letter-spacing:.1em; }
.singapore-teaser:hover h3 { color:#8c5b3d; }
.theatrical-grid article.singapore-first { background:#e0d2bd; color:#282522; padding:32px; border:1px solid #b48b6c; }
.theatrical-grid .singapore-first > span { color:#855e41; }
.theatrical-grid .singapore-first .singapore-first-eyebrow { display:block; font-size:10px; font-weight:700; margin-top:27px; }
.singapore-first h3 { font-size:clamp(31px,3vw,46px); line-height:1.1; }
.singapore-first h3 em { color:#976645; }
.theatrical-grid .singapore-first p { color:#554b41; }
.singapore-first a { display:inline-flex; margin-top:24px; gap:18px; padding-bottom:10px; border-bottom:1px solid #8f6245; color:#795035; font-size:10px; line-height:1.4; letter-spacing:.11em; font-weight:700; }
.singapore-first a:hover { color:#342316; }
@media (max-width:800px) {
  .golden-rooster-highlight { grid-template-columns:1fr; gap:35px; padding:70px 7%; }
  .golden-rooster-highlight > div:first-child { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .nomination-seal { padding:16px 22px; width:auto; }
  .singapore-teaser { grid-template-columns:1fr; gap:15px; }
  .singapore-teaser h3 { font-size:32px; }
}
@media (max-width:550px) {
  .golden-rooster-highlight { padding:65px 6%; }
  .golden-rooster-highlight h2 { font-size:clamp(50px,12vw,70px); }
  .golden-rooster-highlight p { font-size:16px; }
  .singapore-teaser { margin-top:38px; padding:26px 0; }
  .singapore-teaser h3 { font-size:27px; }
  .theatrical-grid article.singapore-first { padding:24px; }
}
