/* Film collaborations: follows the paper / dark-forest visual language. */
.rt-film { padding-block: clamp(3.5rem, 6vw, 6rem); }
.rt-film h2 { max-width: 800px; margin: .5rem 0 1rem; font: 500 clamp(2.25rem, 5vw, 4rem)/1.08 Georgia, "Times New Roman", serif; }
.rt-film-intro { max-width: 780px; margin: 0 0 2rem; font-size: clamp(1rem, 1.8vw, 1.2rem); line-height: 1.7; }
.rt-film-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.rt-film-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(196,162,116,.35); border-radius: 1.25rem; background: linear-gradient(145deg, #1b3025, #0e1b16); color: #f4efe7; }
.rt-film-card h3 { margin: .45rem 0 1rem; font: 500 clamp(1.7rem, 3vw, 2.4rem)/1.15 Georgia, "Times New Roman", serif; }
.rt-film-card > p:not(.rt-film-label):not(.rt-film-status) { color: #dedfd7; line-height: 1.7; }
.rt-film-label { margin: 0; color: #d9bb8b; font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.rt-film-status { margin: auto 0 0; padding-top: 1.3rem; color: #c9d6bd; font-size: .85rem; font-weight: 650; }
.rt-film-attribution { margin: 1.5rem 0 0; font-size: .9rem; opacity: .8; }
@media (max-width: 720px) { .rt-film-grid { grid-template-columns: 1fr; } }

/* Film detail pages and card links */
.rt-film-title-link { color: inherit; text-decoration: none; }
.rt-film-title-link:hover, .rt-film-title-link:focus-visible { text-decoration: underline; text-underline-offset: .16em; }
.rt-film-readmore { display: inline-block; margin-top: 1rem; color: #e6c792; font-weight: 700; text-underline-offset: .2em; }
.rt-film-article { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .8fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.rt-film-article-body { max-width: 760px; }
.rt-film-article-body h2 { margin: 2rem 0 .5rem; font: 500 clamp(1.7rem, 3vw, 2.5rem)/1.2 Georgia, serif; }
.rt-film-article-body > p { line-height: 1.85; }
.rt-film-back { display: inline-block; margin: 0 0 1.5rem; color: inherit; text-underline-offset: .25em; }
.rt-film-article-aside { padding: 1.5rem; border: 1px solid rgba(83,102,69,.25); border-radius: 1rem; background: #f6f2e9; }
.rt-film-producer { padding: 2rem 1rem; text-align: center; border-radius: .7rem; background: #000; color: #f5ead3; }
.rt-film-producer-label { margin: 0 0 .8rem; font-size: .73rem; letter-spacing: .14em; text-transform: uppercase; }
.rt-film-producer-name { margin: 0; font: 600 clamp(1.4rem, 2.5vw, 2rem)/1.2 Georgia, serif; letter-spacing: .08em; }
.rt-film-producer-note { max-width: 270px; margin: 1rem auto 0; font-size: .75rem; opacity: .76; }
.rt-film-facts { display: grid; grid-template-columns: 1fr; gap: .2rem; margin: 1.6rem 0 0; }
.rt-film-facts dt { margin-top: .7rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.rt-film-facts dd { margin: 0; line-height: 1.55; }
@media (max-width: 760px) { .rt-film-article { grid-template-columns: 1fr; } }

.rt-film-producer-logo { display: block; width: min(100%, 300px); height: auto; margin: 0 auto; object-fit: contain; }
