/* Hallmark · shape: Film edition · genre: editorial · theme: brand · redesign: full
 * paper: #0a0a09 · accent: #b8322d · display: Noto Serif · body: Noto Sans · hero: Stage · nav: edge-aligned · footer: colophon · signature: official HOROOMON poster with a compact ticket desk
 * axes: film black / regional serif / cinema red · posture: restrained · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V3 · weakest: V, retain the film's white review and laurel bands requested by the owner while giving the story a tighter measure */
/* Hallmark · waive 24b · legacy responsive spacing measured at six viewport widths · Existing HOROOMON controls and poster proportions retain calibrated intermediate spacing without content overflow. */
/* Hallmark · waive 37 · four catalog families are alternatives by language · HOROOMON uses Noto Sans and Serif for Korean and Manrope and Bodoni for Latin; only two families render in each locale. */
/* Hallmark · waive 44c · hero fills 900px at 1440px width in edition-ko-1440-hero.png · The detector selects an inner text block; the complete HOROOMON poster stage occupies the first viewport. */
/* Hallmark · waive 79 · official poster reaches below the copy in the first-screen capture · The HOROOMON visual occupies the space the text-only detector reports as empty. */
/* User-owned copy preserved: director credit above the logo, festival identifiers above laurels, credits and support line punctuation, per explicit prior requests. */
:root {
 --page-gutter: clamp(24px, 4vw, 64px);
 --section-space: clamp(80px, 8vw, 128px);
 --edition-width: 1440px;
 --edition-gap: clamp(32px, 5vw, 80px);
 --paper: #f7f5f0;
 --paper-ink: #22211e;
 --paper-muted: #605d57;
 --red-ink: #a32f29;
 --text-body: #c3c0b9;
 --text-muted: #aaa69f;
 --surface-raised: #171715;
 --focus-ring: #e8786e;
 --font-sans: 'Noto Sans KR', sans-serif;
 --font-serif: 'Noto Serif KR', serif;
 --font-display: var(--font-serif);
 --font-mono: var(--font-sans);
 --color-clear: transparent;
 --button-ink: #f7f5f0;
 --button-hover: #a62c27;
}
html[lang="ja"] { --font-sans: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; --font-serif: 'Noto Serif JP', 'Hiragino Mincho ProN', serif; }
html[lang="zh"] { --font-sans: 'Noto Sans SC', 'PingFang SC', sans-serif; --font-serif: 'Noto Serif SC', 'Songti SC', serif; }
html:is([lang="en"],[lang="de"]) { --font-sans: 'Manrope', sans-serif; --font-serif: 'Bodoni Moda', Georgia, serif; }
html, body { overflow-x: clip; }
body { font-family: var(--font-sans); font-weight: 400; letter-spacing: 0; }
h1,h2,h3,h4 { min-width: 0; overflow-wrap: break-word; text-wrap: balance; }
p,blockquote { text-wrap: pretty; }
.wrap { width: 100%; max-width: var(--edition-width); padding-inline: var(--page-gutter); }
:is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; transition: none; }
button:disabled { background: var(--surface-raised); color: var(--text-muted); cursor: not-allowed; cursor: not-allowed; }
.header, .header.scrolled { height: 80px; background: var(--bg-primary); backdrop-filter: none; }
.header-container { max-width: var(--edition-width); margin-inline: auto; }
.nav-menu { gap: var(--space-lg); }
.nav-item, html:not([lang="ko"]) .nav-item { font-size: 13px; letter-spacing: 0; }
.header-right { gap: var(--space-sm); margin-left: var(--space-lg); }
.language-control select { font-family: var(--font-sans); font-size: 13px; min-height: 44px; padding: var(--space-xs) var(--space-sm); max-width: 120px; border-color: var(--border-line); background: var(--surface-raised); color: var(--text-pure); }
.btn-screening { background: var(--color-clear); box-shadow: inset 0 0 0 1px var(--border-line); }
.btn-screening:hover { background: var(--surface-raised); }
/* Poster and release information share one contained stage. */
.hero-premiere.hero-premiere { max-width: var(--edition-width); margin-inline: auto; min-height: min(900px,100svh); padding-top: 80px; }
.hero-premiere.hero-premiere .hero-content { width: 48%; max-width: none; padding: 48px var(--space-lg) 56px var(--page-gutter); }
.hero-premiere.hero-premiere .hero-laurels { justify-content: flex-start; gap: 20px; margin-bottom: 36px; }
.hero-premiere.hero-premiere .laurel-item { min-width: 0; }
.hero-premiere.hero-premiere .laurel-text { max-width: 168px; }
.hero-premiere.hero-premiere .laurel-text > span { white-space: normal; }
.hero-premiere .hero-title-area { max-width: 520px; }
.hero-premiere .hero-director-credit { font-family: var(--font-sans); font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--text-muted); margin-bottom: 20px; }
.hero-premiere.hero-premiere .title-logo { width: 100%; max-width: 520px; }
.hero-premiere.hero-premiere .hero-quote { font-family: var(--font-serif); font-size: clamp(20px,1.7vw,26px); line-height: 1.7; max-width: 36em; margin-top: var(--space-lg); overflow-wrap: break-word; }
.hero-premiere.hero-premiere .hero-schedule-bar { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--space-sm); margin-top: var(--space-lg); }
.hero-premiere.hero-premiere .schedule-point { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2xs) var(--space-sm); padding: 0; border: 0; margin: 0; }
.hero-premiere .sch-label { font-family: var(--font-sans); font-size: 12px; letter-spacing: 0; }
.hero-premiere .sch-val { font-family: var(--font-sans); font-size: 15px; line-height: 1.6; }
.hero-premiere.hero-premiere .hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm) 20px; margin-top: var(--space-lg); }
.hero-premiere.hero-premiere .booking-hero-link { flex: 1 1 100%; max-width: 360px; min-height: 56px; padding: var(--space-sm) 20px; border: none; background: var(--red-cinema); }
.hero-premiere.hero-premiere .booking-hero-link .action-arrow { width: 24px; height: 24px; padding: 0; background: var(--color-clear); }
.hero-premiere.hero-premiere :is(.btn-trailer-cta,.btn-cinema-outline) { min-width: 0; min-height: 44px; height: auto; padding: var(--space-xs) 0; background: var(--color-clear); box-shadow: none; font-size: 14px; gap: var(--space-sm); white-space: normal; line-height: 1.5; }
.hero-premiere.hero-premiere .btn-trailer-cta .play-triangle { width: 24px; height: 24px; padding: var(--space-2xs); background: var(--color-clear); border: 1px solid var(--border-line); }
.hero-premiere.hero-premiere .btn-cinema-outline .action-arrow { width: 20px; height: 20px; padding: 0; background: var(--color-clear); }
.hero-premiere .hero-media { width: 54%; right: 0; left: auto; }
.poster-motion { position: absolute; right: var(--page-gutter); bottom: 32px; z-index: 4; padding: var(--space-xs) var(--space-sm); min-height: 44px; font: inherit; font-size: 12px; background: var(--bg-primary); color: var(--text-body); border: 1px solid var(--border-line); cursor: pointer; }
/* Copy leads without a competing decorative label column. */
section:not(.hero) { padding-block: var(--section-space); }
.sec-about { padding-top: 0 !important; }
.editorial-header { display: block; max-width: none; margin-bottom: 48px; }
.editorial-title, html:not([lang="ko"]) .editorial-title { font-size: clamp(32px,3.4vw,52px); line-height: 1.4; max-width: 24em; font-weight: 400; letter-spacing: -.025em; }
.about-lead-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: var(--edition-gap); margin-bottom: var(--space-3xl); }
.about-artwork { max-width: 480px; top: 112px; }
.about-text-column { padding-top: 0; max-width: none; }
.about-subheading { font-size: 24px; line-height: 1.6; margin-bottom: var(--space-lg); }
:is(.text-paragraph,.detail-body,.dir-body-paragraph,.release-spotlight-copy p) { font-size: 16px; line-height: 1.9; max-width: 65ch; }
.text-paragraph { margin-bottom: var(--space-lg); }
.narrative-callout { margin-top: 32px; padding-block: var(--space-lg) 0; }
.acclaim-band { padding-block: var(--space-2xl); margin-bottom: var(--space-3xl); }
.acclaim-carousel { max-width: 1040px; }
.acclaim-heading .sec-kicker { font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--red-ink); }
.acclaim-slide { min-height: 260px; padding-block: var(--space-md) var(--space-lg); }
.acclaim-slide blockquote { font-size: clamp(24px,2.4vw,36px); max-width: 42em; line-height: 1.65; font-weight: 400; }
.acclaim-slide figcaption { font-size: 14px; }
.acclaim-arrows button:disabled { background: var(--paper); color: var(--paper-muted); cursor: not-allowed; opacity: .45; cursor: not-allowed; }
.release-spotlight { gap: var(--edition-gap); margin-block: var(--space-3xl); align-items: start; }
.release-spotlight-copy h3, html:not([lang="ko"]) .release-spotlight h3 { margin: 0 0 var(--space-lg); font-size: clamp(32px,3vw,48px); line-height: 1.5; max-width: 20em; hyphens: none; }
html:is([lang="ja"],[lang="zh"]) .release-spotlight-copy h3 { font-size: clamp(28px,2.45vw,36px); letter-spacing: 0; }
.release-spotlight-copy p { max-width: 65ch; }
.release-spotlight-images { gap: var(--space-md); }
.release-spotlight-images figure:nth-child(2) { margin-top: 32px; }
.release-spotlight-images figcaption { font-size: 13px; }
.about-details-grid { gap: 48px var(--edition-gap); }
.about-details-grid .detail-card-head h4 { margin-top: 0; font-size: clamp(22px,2vw,28px); }
.about-details-grid .detail-body, .about-details-grid .generations-list li > span { font-size: 16px; line-height: 1.85; }
.about-details-grid .detail-card.highlight-card { padding: 32px; gap: var(--space-lg) var(--space-xl); }
.about-details-grid .verdict-box p { font-size: 14px; }
.director-lead-layout { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: var(--edition-gap); margin-bottom: var(--space-3xl); }
.director-statement-text { font-size: clamp(24px,2.4vw,36px); line-height: 1.65; margin-bottom: 32px; }
.dir-body-paragraph { font-size: 16px; }
.dir-bio { font-size: 14px; line-height: 1.85; }
.sec-director > .wrap { display: contents; }
.sec-director > .wrap > :is(.editorial-header,.director-lead-layout) { width: 100%; max-width: var(--edition-width); padding-inline: var(--page-gutter); margin-inline: auto; }
.awards-editorial-section { width: 100%; margin: 0; padding: var(--space-2xl) var(--page-gutter); color: var(--paper-ink); background: var(--paper); }
.awards-clean-grid { max-width: calc(var(--edition-width) - 2 * var(--page-gutter)) !important; margin-inline: auto; }
.awards-editorial-section .sec-subhead { font-size: 20px; letter-spacing: 0; margin-bottom: 32px; }
.awards-editorial-section .awards-clean-grid { gap: var(--space-lg) 32px; }
.awards-editorial-section .award-clean-item { min-height: 180px; padding: var(--space-lg) var(--space-xl); }
.awards-editorial-section .award-year { letter-spacing: 0; font-size: 13px; }
.awards-editorial-section .award-name { font-size: 14px; line-height: 1.7; }
.awards-editorial-section .award-clean-item h4 { font-size: 16px; }
.sec-director { padding-bottom: 0 !important; }
.gallery-header-row { gap: var(--space-lg); align-items: end; margin-bottom: 32px; }
.gallery-header-row .editorial-title { font-size: clamp(32px,3.4vw,52px); }
.gallery-filter-minimal { display: flex; flex-wrap: wrap; gap: var(--space-xs) 20px; }
.gallery-filter-minimal .filter-btn { min-height: 44px; padding: var(--space-xs) 0; font-size: 14px; letter-spacing: 0; }
.sec-gallery .gallery-wall { column-gap: var(--space-md); }
.sec-gallery .wall-item { margin-bottom: var(--space-md); }
.sec-gallery .wall-item img, .sec-gallery .wall-item:hover img { transform: none !important; }
.sec-gallery .wall-item:hover { transform: none; outline: 1px solid var(--text-muted); outline-offset: -1px; }
.booking-section { padding-block: 32px 80px; }
.booking-list { gap: 0 var(--space-xl); }
.booking-heading h3 { font-size: 28px; font-weight: 400; }
.booking-provider, .booking-provider:hover { padding: var(--space-lg) 0; transition: color .2s; }
.booking-provider:hover { background: var(--color-clear); }
.booking-provider strong { font-size: 20px; }
.booking-action { font-size: 14px; }
.screening-community-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--edition-gap); }
.sch-block h3, .column-title { font-size: clamp(22px,2vw,28px); line-height: 1.5; }
.column-title small { display: block; margin: var(--space-xs) 0 0; }
.editorial-table :is(th,td) { font-size: 15px; font-variant-numeric: tabular-nums; padding: var(--space-md) var(--space-xs); }
.credits-grid-row { gap: 32px; }
.credit-label { font-size: 13px; letter-spacing: 0; }
.credit-value { font-size: 16px; line-height: 1.8; }
/* Language rules keep words together without forcing CJK paragraphs into short columns. */
html[lang="ko"] :is(p,h2,h3,h4,blockquote,.sch-val,.credit-value) { word-break: keep-all; overflow-wrap: break-word; }
html:is([lang="ja"],[lang="zh"]) :is(p,h2,h3,h4,blockquote,span,strong,label,li,.wrap) { word-break: normal; overflow-wrap: break-word; line-break: strict; hyphens: none; letter-spacing: 0; }
html:is([lang="en"],[lang="de"]) :is(h2,h3,h4,blockquote,button,a,.sch-val) { word-break: normal; overflow-wrap: break-word; hyphens: none; }
html:is([lang="en"],[lang="de"]) :is(.text-paragraph,.detail-body,.dir-body-paragraph) { hyphens: auto; }
html[lang="de"] .screening-application-header .column-title { font-size: clamp(20px,2.5vw,28px); }
.editorial-reveal { opacity: 1; transform: none; }
.screening-application-header .column-title { min-width: 0; }
@media (min-width: 1025px) and (max-height: 820px) {
 .hero-premiere.hero-premiere .hero-content { padding-block: var(--space-lg) 32px; }
 .hero-premiere.hero-premiere .hero-laurels { margin-bottom: var(--space-lg); }
 .hero-premiere.hero-premiere .hero-quote { margin-top: var(--space-md); font-size: 20px; }
 .hero-premiere.hero-premiere .hero-schedule-bar, .hero-premiere.hero-premiere .hero-actions { margin-top: var(--space-md); }
}
@media (max-width: 1100px) {
 .nav { display: none; } .nav-toggle { display: flex; }
 .header-right { margin-left: auto; }
 .hero-premiere.hero-premiere .hero-content { width: 52%; }
 .hero-premiere .hero-media { width: 50%; }
 .hero-premiere.hero-premiere .hero-laurels { gap: var(--space-sm); }
 .awards-editorial-section .awards-clean-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .about-lead-grid { gap: var(--space-xl); }
}
@media (max-width: 767px) {
 :root { --page-gutter: 20px; --section-space: 64px; --edition-gap: 32px; }
 .header, .header.scrolled { height: 64px; }
 .header .nav-toggle { top: 10px; right: 12px; }
 .language-control { margin-right: 48px; }
 .language-control select { font-size: 13px; }
 .hero-premiere.hero-premiere { min-height: 0; padding-top: var(--space-2xl); }
 .hero-premiere.hero-premiere .hero-content { width: 100%; padding: var(--space-xl) var(--page-gutter) 48px; }
 .hero-premiere.hero-premiere .hero-media { inset: 64px -24% auto 24%; width: auto; height: 480px; opacity: .2; }
 .hero-premiere.hero-premiere .hero-laurels { grid-template-columns: repeat(2,minmax(0,1fr)); display: grid; gap: var(--space-sm); margin-bottom: 32px; }
 .hero-premiere.hero-premiere .laurel-item { padding: 0; gap: var(--space-xs); }
 .hero-premiere.hero-premiere .laurel-branch { width: 16px; height: 52px; }
 .hero-premiere.hero-premiere .laurel-text { max-width: none; }
 .hero-premiere.hero-premiere .laurel-text strong { font-size: 11px; }
 .hero-premiere.hero-premiere .laurel-text > span { font-size: 10px; }
 .hero-premiere .hero-director-credit { font-size: 11px; margin-bottom: var(--space-md); }
 .hero-premiere .hero-title-area { margin-inline: auto; max-width: 400px; }
 .hero-premiere.hero-premiere .hero-quote { font-size: 20px; max-width: 100%; line-height: 1.65; margin-top: var(--space-lg); }
 .hero-premiere.hero-premiere .hero-schedule-bar { margin-top: var(--space-lg); gap: var(--space-sm); }
 .hero-premiere .sch-val { font-size: 14px; }
 .hero-premiere.hero-premiere .hero-actions { gap: var(--space-xs) 20px; margin-top: var(--space-lg); }
 .hero-premiere.hero-premiere .booking-hero-link { max-width: none; min-height: 56px; }
 .hero-premiere.hero-premiere :is(.btn-trailer-cta,.btn-cinema-outline) { font-size: 13px; min-height: 44px; }
 .poster-motion { display: none; }
 .editorial-title, html:not([lang="ko"]) .editorial-title { font-size: 30px; line-height: 1.5; }
 .editorial-header { margin-bottom: 32px; }
 .about-lead-grid { grid-template-columns: minmax(0,1fr); gap: 32px; margin-bottom: var(--space-2xl); }
 .about-artwork { position: static; max-width: 400px; margin-inline: auto; }
 .about-subheading { font-size: 22px; }
 .acclaim-band { padding-block: var(--space-xl); margin-bottom: var(--space-2xl); }
 .acclaim-slide { min-height: 360px; }
 .acclaim-slide blockquote, html:not([lang="ko"]) .acclaim-slide blockquote { font-size: 22px; line-height: 1.75; }
 .acclaim-slide figcaption { font-size: 13px; margin-top: var(--space-lg); }
 .acclaim-controls { gap: var(--space-xs); }
 .acclaim-dots button { width: 22px; }
 .release-spotlight { grid-template-columns: minmax(0,1fr); margin-block: var(--space-2xl); }
 .release-spotlight-copy h3, html:not([lang="ko"]) .release-spotlight h3 { font-size: 32px; line-height: 1.5; }
 html:is([lang="ja"],[lang="zh"]) .release-spotlight-copy h3 { font-size: clamp(24px,6.15vw,30px); }
 .release-spotlight-images { gap: var(--space-sm); }
 .about-details-grid { grid-template-columns: minmax(0,1fr); gap: var(--space-xl); }
 .about-details-grid .detail-card.highlight-card { grid-template-columns: minmax(0,1fr); padding: var(--space-lg); gap: 0; }
 .about-details-grid .verdict-box { grid-column: 1; grid-row: auto; margin-top: var(--space-lg); }
 .director-lead-layout { grid-template-columns: minmax(0,1fr); margin-bottom: var(--space-2xl); }
 .director-portrait-col { max-width: 400px; margin-inline: auto; }
 .director-statement-text { font-size: 24px; }
 .awards-editorial-section { padding-block: var(--space-xl); }
 .awards-editorial-section .awards-clean-grid { grid-template-columns: minmax(0,1fr); gap: var(--space-xs); max-width: 440px !important; }
 .awards-editorial-section .award-clean-item { min-height: 160px; padding: 20px var(--space-xl); }
 .gallery-header-row { display: block; }
 .gallery-filter-minimal { margin-top: 20px; }
 .sec-gallery .gallery-wall { columns: 2; column-gap: var(--space-sm); }
 .sec-gallery .wall-item { margin-bottom: var(--space-sm); }
 .booking-list, .screening-community-grid { grid-template-columns: minmax(0,1fr); }
 .booking-section { padding-block: var(--space-lg) 56px; }
 .booking-provider { gap: var(--space-sm); }
 .booking-provider strong { font-size: 18px; }
 .booking-provider small { font-size: 12px; }
 .booking-action { font-size: 13px; }
 .screening-community-grid { gap: var(--space-xl); }
 .column-title { font-size: 23px; }
 .screening-application-header .column-title { font-size: 22px; }
 .screening-application-header { gap: var(--space-sm); }
 .screening-application-header > div { min-width: 0; }
 .credits-grid-row { grid-template-columns: minmax(0,1fr); gap: var(--space-lg); }
 .mobile-link { font-size: 24px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.trailer-intro.needs-play::after { content: attr(data-play-label); letter-spacing: 0; width: min(80%,480px); text-align: center; }
@media (min-width: 768px) {
 .hero-premiere.hero-premiere { display: grid; grid-template-columns: minmax(0, .48fr) minmax(0, .52fr); align-items: center; }
 .hero-premiere.hero-premiere .hero-content { width: 100%; display: block; }
 .hero-premiere.hero-premiere .hero-media { width: 100%; height: min(680px,calc(100svh - 144px)); min-height: 480px; padding: 0; }
 .hero-premiere.hero-premiere .hero-poster { max-height: 100%; }
}
@media (min-width: 768px) and (max-width: 1100px) {
 .hero-premiere.hero-premiere .hero-laurels { grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
 .hero-premiere .laurel-item { grid-template-columns: 16px minmax(0,1fr) 16px; }
 .hero-premiere .laurel-branch { width: 16px; }
 .hero-premiere .laurel-text strong { font-size: 11px; }
 .hero-premiere .laurel-text > span { font-size: 10px; }
}
.mobile-link { white-space: normal; overflow-wrap: anywhere; }
html[lang="de"] .mobile-link.js-screening-open { font-size: 22px; hyphens: auto; }
@media (max-width: 767px) {
 .hero-premiere.hero-premiere .laurel-item { grid-template-columns: 16px minmax(0,1fr) 16px; }
}
.footer-meta, .footer-copyright, .footer-copyright p { color: var(--text-muted); }
.poster-motion { top: calc(min(900px,100svh) - 68px); bottom: auto; }
::selection { color: var(--button-ink); background: var(--red-cinema); }
input,textarea { caret-color: var(--focus-ring); }
@media (max-width: 767px) {
 .hero-premiere.hero-premiere { display: flex; flex-direction: column; }
 .hero-premiere.hero-premiere .hero-content { order: 1; padding-bottom: var(--space-lg); }
 .hero-premiere.hero-premiere .hero-media { order: 2; position: relative; inset: auto; width: 100%; height: 360px; min-height: 0; margin: 0 0 32px; opacity: 1; }
 .hero-premiere.hero-premiere .hero-media::after { display: none; }
 .hero-premiere.hero-premiere .hero-media .hero-poster { width: 42%; max-height: 330px; }
 .hero-premiere.hero-premiere .hero-quote { font-weight: 400; color: var(--text-pure); }
 .hero-premiere::after { display: none; }
 .hero-premiere.hero-premiere .schedule-point + .schedule-point { display: none; }
}
html:not(.js) .trailer-intro { display: none; }
html:not(.js) .wall-item { opacity: 1; transform: none; }
html:not(.js) .editorial-reveal { opacity: 1; transform: none; }
.gallery-wall .wall-item:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
.sec-gallery .wall-item:focus-visible .wall-info { opacity: 1; }
[hidden] { display: none !important; }
.language-control select { border-color: var(--text-muted); }
.js .sec-gallery .wall-info { opacity: 0; }
.js .sec-gallery .wall-item:hover .wall-info, .js .sec-gallery .wall-item:focus-visible .wall-info { opacity: 1; }

/* Poster stage and mobile credit alignment. */
@media (min-width:768px) {
 .hero-premiere.hero-premiere { min-height:100svh; }
 .hero-premiere.hero-premiere .hero-media { height:calc(100svh - 144px); min-height:0; }
}
@media (max-width:767px) {
 .hero-premiere.hero-premiere { display:grid; grid-template-columns:minmax(0,1fr); padding:96px var(--page-gutter) 48px; }
 .hero-premiere.hero-premiere .hero-content { display:contents; }
 .hero-premiere.hero-premiere .hero-laurels { grid-row:1; grid-column:1; }
 .hero-premiere .hero-title-area { grid-row:2; grid-column:1; width:100%; }
 .hero-premiere.hero-premiere .hero-media { grid-row:3; grid-column:1; width:100%; height:clamp(280px,86vw,400px); margin:24px 0 0; }
 .hero-premiere.hero-premiere .hero-media .hero-poster { width:52%; }
 .hero-premiere.hero-premiere .hero-quote { grid-row:4; grid-column:1; }
 .hero-premiere.hero-premiere .hero-schedule-bar { grid-row:5; grid-column:1; }
 .hero-premiere.hero-premiere .hero-actions { grid-row:6; grid-column:1; }
 .credits-grid-row, .credit-unit { text-align:center; }
}

/* Language menu */
.language-control { position:relative; }
.language-control.enhanced select, .language-control.enhanced .sr-only { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.language-trigger { display:flex; align-items:center; gap:12px; min-height:44px; padding:0 14px; background:var(--surface-raised); border:1px solid var(--border-line); color:var(--text-pure); font:inherit; cursor:pointer; }
.language-trigger:hover, .language-trigger[aria-expanded="true"] { border-color:var(--red-cinema); }
.language-trigger:focus-visible, .language-menu button:focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }
.language-chevron { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.language-menu { position:absolute; top:calc(100% + 10px); right:0; width:190px; padding:6px; background:var(--surface-raised); border:1px solid var(--border-line); box-shadow:0 16px 36px var(--ink-127); z-index:100; }
.language-menu button { width:100%; min-height:44px; border:0; background:transparent; color:var(--text-body); display:flex; justify-content:space-between; align-items:center; text-align:left; padding:10px 12px; font:inherit; cursor:pointer; }
.language-menu button:hover, .language-menu button[aria-current="true"] { color:var(--text-pure); background:var(--bg-primary); }
.language-menu button[aria-current="true"]::after { content:'✓'; color:var(--red-cinema); }

.hero-premiere.hero-premiere .hero-poster.is-hidden { opacity:0; pointer-events:none; }

/* Fine laurels frame each award with centered copy. */
.hero-premiere.hero-premiere .hero-laurels { display:flex; align-items:center; justify-content:flex-start; gap:clamp(26px,3vw,48px); }
.hero-premiere.hero-premiere .laurel-item { display:grid; grid-template-columns:20px minmax(0, max-content) 20px; align-items:center; justify-content:center; column-gap:3px; padding:0; }
.hero-premiere.hero-premiere .laurel-branch { display:block; width:20px; height:68px; object-fit:contain; transform:none; }
.hero-premiere.hero-premiere .laurel-text { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; max-width:175px; min-width:0; margin:0; }
@media (max-width:767px) {
 .hero-premiere.hero-premiere .hero-laurels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,5vw,28px); }
 .hero-premiere.hero-premiere .laurel-item { grid-template-columns:14px minmax(0,max-content) 14px; column-gap:2px; }
 .hero-premiere.hero-premiere .laurel-branch { width:14px; height:54px; }
 .hero-premiere.hero-premiere .laurel-text { max-width:100%; }
}

/* Matched film laurels and international press links. */
.hero-premiere.hero-premiere .hero-laurels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,520px); gap:clamp(28px,4vw,60px); }
.hero-premiere.hero-premiere .laurel-item { grid-template-columns:30px minmax(0,1fr) 30px; gap:2px; width:100%; }
.hero-premiere.hero-premiere .laurel-branch { width:30px; height:68px; object-fit:cover; object-position:20% center; }
.hero-premiere.hero-premiere .laurel-branch-right { transform:scaleX(-1); }
.hero-premiere.hero-premiere .laurel-text { width:100%; max-width:none; }
.awards-editorial-section .awards-clean-grid { column-gap:clamp(52px,7vw,110px); row-gap:var(--space-lg); }
.awards-editorial-section .award-clean-item { width:100%; max-width:350px; justify-self:center; padding-inline:34px; }
.awards-editorial-section .award-clean-item::before, .awards-editorial-section .award-clean-item::after { width:30px; height:100px; background-image:url('assets/laurel-generated.png'); background-size:cover; background-position:20% center; }
.film-press { background:var(--bg-primary); color:var(--text-pure); }
.film-press-inner { max-width:var(--edition-width); margin-inline:auto; }
.film-press h2 { font-size:clamp(30px,3vw,46px); margin:0 0 48px; }
.film-press-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(32px,4vw,64px); }
.film-press-group h3 { color:var(--red-cinema); font-size:14px; margin:0 0 18px; }
.film-press-group a { display:flex; align-items:start; justify-content:space-between; gap:16px; color:var(--text-pure); text-decoration:none; border-top:1px solid var(--border-line); padding:18px 0; line-height:1.6; font-size:15px; }
.film-press-group a:hover { color:var(--red-cinema); }
.film-press-group a:focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }
@media (max-width:767px) {
 .hero-premiere.hero-premiere .hero-laurels { gap:clamp(12px,5vw,24px); width:100%; }
 .hero-premiere.hero-premiere .laurel-item { grid-template-columns:20px minmax(0,1fr) 20px; gap:1px; }
 .hero-premiere.hero-premiere .laurel-branch { width:20px; height:54px; }
 .awards-editorial-section .awards-clean-grid { row-gap:28px; }
 .awards-editorial-section .award-clean-item { max-width:350px; padding-inline:34px; }
 .film-press-groups { grid-template-columns:minmax(0,1fr); gap:40px; }
}

/* Bring the credits closer to the community screening information. */
.sec-screening .screening-community-grid { margin-bottom:clamp(48px,6vw,72px); }
.sec-screening .screening-community-grid .sch-block, .sec-screening .screening-community-grid .fee-column { padding-bottom:0; }
.sec-screening .end-credits-area { padding-top:clamp(36px,5vw,60px); }
.sec-screening .credits-divider { margin-bottom:clamp(36px,4vw,56px); }
#press { scroll-margin-top:90px; }

.hero-premiere.hero-premiere .hero-press-link { flex:0 0 100%; width:fit-content; color:var(--text-muted); font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; margin-top:0; }
.hero-premiere.hero-premiere .hero-press-link:hover { color:var(--text-pure); }
.hero-press-link:focus-visible { outline:2px solid var(--focus-ring); outline-offset:4px; }
.film-press-groups { grid-template-columns:minmax(0,1fr); max-width:800px; }

.hero-premiere.hero-premiere .hero-press-list { flex:0 0 100%; display:grid; gap:4px; margin-top:4px; max-width:480px; }
.hero-press-list a { display:flex; gap:8px; justify-content:space-between; align-items:baseline; color:var(--text-muted); text-decoration:none; font-size:12px; line-height:1.55; }
.hero-press-list a span:first-child { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.hero-press-list a:hover { color:var(--text-pure); }
.hero-press-list a:focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }

/* Keep article dates immediately before the external-link arrow. */
.hero-press-list a > span:first-child, .film-press-group a > span:first-child { flex:1; min-width:0; }
.hero-press-list time, .film-press-group time { flex:none; white-space:nowrap; color:var(--text-muted); font-size:.78em; font-variant-numeric:tabular-nums; }
.hero-press-list a > span:last-child, .film-press-group a > span:last-child { flex:none; }

/* Gallery categories: a compact editorial navigation with a clear active state. */
.sec-gallery .gallery-filter-minimal {
 display:flex; flex-wrap:wrap; align-items:stretch; gap:4px;
 width:auto; max-width:100%; padding:4px; margin-top:0;
 background:#171717; border:1px solid #292929; overflow:visible;
}
.sec-gallery .gallery-filter-minimal .filter-btn {
 position:relative; flex:0 0 auto; min-height:44px; padding:0 18px;
 border:0; border-radius:2px; background:transparent; color:#aaa;
 font-size:13px; font-weight:500; letter-spacing:0; white-space:nowrap;
 transition:color .2s ease, background-color .2s ease;
}
.sec-gallery .gallery-filter-minimal .filter-btn:hover { color:#fff; background:#262626; }
.sec-gallery .gallery-filter-minimal .filter-btn.active {
 color:#fff; background:#a92528; font-weight:700;
}
.sec-gallery .gallery-filter-minimal .filter-btn:focus-visible {
 outline:2px solid #fff; outline-offset:2px;
}
@media (max-width:767px) {
 .sec-gallery .gallery-filter-minimal { width:100%; gap:2px; margin-top:12px; }
 .sec-gallery .gallery-filter-minimal .filter-btn { flex:1 1 auto; padding:0 10px; font-size:12px; }
}

/* Match the language control to the adjacent header actions. */
.header .language-trigger, .header .language-menu button {
 font-family:var(--font-sans); font-size:.74rem; font-weight:500; letter-spacing:0;
}
