/* Hallmark · shape: Film edition · genre: editorial · theme: brand · redesign: full · copy: verbatim · hero: Stage · signature: official HOROOMON poster and ticket desk · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V3 · weakest: V, keep the owner's white review and laurel bands; tighten story measure */
.language-control { display: inline-flex; align-items: center; flex-shrink: 0; }
.language-control select { appearance: auto; font: 500 12px/1.4 var(--font-sans); color: var(--ink-152); background: var(--ink-153); border: 1px solid var(--ink-154); border-radius: 4px; min-height: 40px; max-width: 112px; padding: var(--space-xs); cursor: pointer; }
.language-control select:focus-visible, .booking-provider:focus-visible, .booking-action:focus-visible { outline: 2px solid var(--ink-155); outline-offset: 5px; }
.booking-section { scroll-margin-top: 110px; padding-block: var(--space-md) 80px; }
.booking-heading { margin-bottom: 28px; }
.booking-heading h3 { font-size: clamp(26px, 3vw, 40px); color: var(--ink-156); line-height: 1.25; margin: 0 0 14px; }
.booking-heading p, .booking-notice { color: var(--ink-157); font-size: 15px; line-height: 1.8; max-width: 75ch; }
.booking-list { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: var(--space-xl); }
.booking-provider { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--ink-158); min-width: 0; padding: 26px 0; color: var(--ink-156); text-decoration: none; }
.booking-provider > span:first-child { min-width: 0; }
.booking-provider strong { display: block; font-size: 21px; line-height: 1.5; font-weight: 600; }
.booking-provider small { display: block; color: var(--ink-157); font-size: 14px; margin-top: 6px; }
.booking-action { color: var(--ink-156); display: inline-flex; gap: var(--space-sm); align-items: center; font-size: 14px; line-height: 1.5; flex-shrink: 0; text-decoration: none; }
.booking-action > span { color: var(--ink-159); }
a.booking-provider:hover strong, .booking-action:hover, .booking-source:hover { color: var(--ink-160); }
.booking-notice { margin: var(--space-lg) 0 var(--space-sm); }
.booking-source { font-size: 14px; color: var(--ink-156); text-decoration: underline; text-underline-offset: 5px; }
.hero-actions { flex-wrap: wrap; }
.hero-premiere::after { z-index: 1; }
.hero-premiere .hero-content { position: relative; z-index: 3; }
.hero-premiere .hero-quote, .hero-premiere .hero-schedule-bar, .hero-premiere .hero-actions { animation: none; }
.hero-premiere .sch-val { color: var(--ink-156); white-space: normal; }
.hero-premiere .sch-label { color: var(--ink-157); }
.hero-premiere.hero-premiere .booking-hero-link { background: var(--ink-161); padding: 0 22px 0 26px; min-width: 220px; min-height: 64px; flex-direction: row; justify-content: space-between; font-size: 1rem; letter-spacing: 0; border: 1px solid var(--ink-162); transition: background .25s ease, transform .25s ease; }
.hero-premiere.hero-premiere .booking-hero-link:hover { background: var(--ink-163); transform: translateY(-3px); }
.hero-premiere.hero-premiere .booking-hero-link .action-arrow { background: var(--ink-164); padding: 14px; width: 44px; height: 44px; }
.hero-premiere.hero-premiere .booking-hero-link:focus-visible { outline: 3px solid var(--ink-17); outline-offset: 4px; }
@media (min-width: 1025px) {
 .header-container { max-width: 1680px; margin-inline: auto; }
 .nav-item { font-size: .85rem; color: var(--ink-165); }
 .hero-premiere .hero-content { padding-top: clamp(110px, 12vh, 150px); padding-bottom: clamp(70px, 8vh, 105px); }
 .hero-premiere.hero-premiere .hero-laurels { margin-bottom: clamp(32px, 5vh, 56px); }
 .hero-premiere .hero-quote { margin-top: clamp(26px, 4vh, var(--space-xl)); color: var(--ink-166); font-size: clamp(16px, 1.25vw, 20px); line-height: 1.75; }
 .hero-premiere .hero-schedule-bar { margin-top: clamp(26px, 4vh, 42px); display: flex; flex-wrap: wrap; column-gap: 32px; row-gap: 20px; }
 .hero-premiere .schedule-point { margin-right: 0; }
 .hero-premiere .schedule-point + .schedule-point { padding-left: 28px; }
 .hero-premiere .sch-val { font-size: 15px; line-height: 1.6; }
 .hero-premiere.hero-premiere .hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 14px var(--space-lg); align-items: center; }
 .hero-premiere.hero-premiere .booking-hero-link { min-width: 206px; min-height: 60px; }
 .hero-premiere.hero-premiere .btn-cinema-outline { min-height: 50px; }
 .hero-premiere.hero-premiere .btn-trailer-cta { min-height: 50px; }
 .acclaim-carousel { max-width: 1020px; }
 .acclaim-slide blockquote { max-width: 34em; line-height: 1.65; word-break: keep-all; }
 .about-text-column .text-paragraph, .director-statement-col .dir-body-paragraph { max-width: 66ch; line-height: 1.95; }
 .booking-section { padding-block: clamp(45px, 5vw, 75px) clamp(90px, 8vw, 130px); }
 .booking-heading { margin-bottom: 42px; }
 .booking-heading h3 { font-family: var(--font-serif); font-weight: 400; letter-spacing: -.025em; }
 .booking-list { gap: 0 clamp(36px, 4vw, var(--space-2xl)); border-top: 1px solid var(--ink-167); }
 .booking-provider { min-height: 108px; padding: var(--space-lg) var(--space-xs) var(--space-lg) 0; transition: background-color .2s ease, opacity .2s ease; }
 .booking-provider:hover { padding-left: var(--space-sm); background: var(--ink-13); }
 .booking-provider strong { font-size: clamp(19px, 1.4vw, 22px); }
 .booking-action { min-height: 44px; font-weight: 600; }
 .booking-notice { max-width: 80ch; margin-top: 28px; }
}
.mobile-nav { overflow-x: hidden; }
.mobile-nav-inner { min-width: 0; max-width: 100%; }
html[lang="ja"] .wrap { overflow-wrap: anywhere; word-break: normal; }
.about-text-column, .director-statement-col, .director-portrait-col, .detail-card { min-width: 0; }
html { overflow-x: clip; }
html:not([lang="ko"]) .hero-quote { font-size: clamp(18px, 2vw, 27px); overflow-wrap: anywhere; }
html:not([lang="ko"]) .hero-content { max-width: 760px; }
html:not([lang="ko"]) .nav-menu { gap: 20px; }
html:not([lang="ko"]) .nav-item { font-size: 12px; }
html:not([lang="ko"]) .editorial-title, html:not([lang="ko"]) .release-spotlight h3 { font-size: clamp(32px, 4vw, 60px); overflow-wrap: break-word; hyphens: auto; }
html[lang="ja"] .release-spotlight-copy h3, html[lang="zh"] .release-spotlight-copy h3 { font-size: clamp(26px, 2.5vw, 36px); line-height: 1.5; letter-spacing: -.02em; word-break: normal; overflow-wrap: normal; line-break: strict; text-wrap: balance; }
html[lang="ja"] :is(.editorial-title, .release-spotlight-copy p, .acclaim-slide blockquote, .shin-quote, .generations-list, .award-clean-item, .dir-body-paragraph), html[lang="zh"] :is(.editorial-title, .release-spotlight-copy p, .acclaim-slide blockquote, .shin-quote, .generations-list, .award-clean-item, .dir-body-paragraph) { word-break: normal; overflow-wrap: break-word; line-break: strict; hyphens: none; }
html :is(h2, h3, h4) { text-wrap: balance; }
html :is(p, blockquote) { text-wrap: pretty; }
html:not([lang="ko"]) .text-paragraph, html:not([lang="ko"]) .detail-body, html:not([lang="ko"]) .dir-body-paragraph { word-break: normal; overflow-wrap: break-word; hyphens: auto; }
html:is([lang="ja"],[lang="zh"]) :is(.text-paragraph, .detail-body, .dir-body-paragraph, .generations-list li > span, .award-clean-item h4, .award-name, .verdict-result strong, .column-title) { word-break: normal; overflow-wrap: break-word; line-break: strict; hyphens: none; }
html:not([lang="ko"]) .laurel-text > span { white-space: normal; text-wrap: balance; }
html:not([lang="ko"]) .laurel-text { max-width: 160px; }
html:not([lang="ko"]) .laurel-text span { line-height: 1.5; }
@media (max-width: 1200px) { html:not([lang="ko"]) .btn-trailer-nav { display: none; } }
@media (max-width: 1000px) { .nav { display: none; } .nav-toggle { display: flex; } }
@media (max-width: 767px) {
 .language-control select { min-height: 44px; max-width: 100px; font-size: 13px; }
 .language-control { margin-right: 48px; }
 .header .nav-toggle { width: 44px; height: 44px; top: 13px; }
 .gallery-filter-minimal .filter-btn { min-height: 44px; }
 .hero-premiere .hero-media { z-index: 0; }
 .header-right { gap: 10px; }
 .booking-section { padding-bottom: 48px; }
 .booking-list { grid-template-columns: minmax(0,1fr); }
 .booking-provider { padding-block: 22px; gap: 14px; }
 .booking-provider strong { font-size: 19px; }
 .booking-provider small, .booking-action { font-size: 13px; }
 .booking-heading p, .booking-notice { font-size: 14px; }
 html:not([lang="ko"]) .hero-content { max-width: 100%; }
 html:not([lang="ko"]) .hero-quote { font-size: 19px; line-height: 1.65; }
 html:not([lang="ko"]) .hero-schedule-bar { flex-wrap: wrap; }
 html:not([lang="ko"]) .hero-actions a, html:not([lang="ko"]) .hero-actions button { min-width: 0; white-space: normal; line-height: 1.5; height: auto; min-height: 52px; padding-block: 14px; }
 html:not([lang="ko"]) .acclaim-slide blockquote { word-break: normal; font-size: clamp(20px, 5vw, 30px); }
 html[lang="ja"] .release-spotlight-copy h3, html[lang="zh"] .release-spotlight-copy h3 { font-size: clamp(25px, 6.7vw, 32px); }
 .screening-application-panel .input-row { grid-template-columns: minmax(0, 1fr); }
 .screening-application-panel .input-field { min-width: 0; }
 .acclaim-controls { min-width: 0; flex-wrap: wrap; }
 .screening-application-header { padding: 18px 20px var(--space-md); gap: var(--space-sm); }
 .screening-application-header .column-title { font-size: clamp(21px, 6vw, 27px); line-height: 1.35; overflow-wrap: anywhere; }
 .screening-application-panel .clean-form { padding-top: 22px; padding-bottom: max(72px, env(safe-area-inset-bottom)); }
 .screening-application-panel .input-row { gap: 20px; margin-bottom: 20px; }
 .screening-application-panel .input-field label { color: var(--ink-168); font-size: 14px; }
 .screening-application-panel .input-field input,
 .screening-application-panel .input-field select,
 .screening-application-panel .input-field textarea { font-size: 16px; min-width: 0; max-width: 100%; }
 .screening-application-panel .input-field input::placeholder,
 .screening-application-panel .input-field textarea::placeholder { color: var(--ink-169); opacity: 1; }
 .booking-provider { min-height: 88px; }
 .booking-action { min-height: 44px; }
}
@media (max-width: 380px) { .header-right .btn-screening { display: none; } }
