/* v27 homepage film */
.film-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:clamp(24px,5vw,80px); align-items:end; width:var(--page,min(100% - 48px,1480px)); margin:0 auto; padding:clamp(40px,6vw,96px) 0; border-bottom:1px solid #111; }
.film-copy span { font:13px/1.3 "Courier New",monospace; letter-spacing:.1em; }
.film-copy p { margin:18px 0 0; font-size:clamp(54px,8vw,150px); letter-spacing:-.095em; line-height:.8; font-weight:500; }
.film-copy em { color:#a84e2f; font-style:normal; }
.film-frame { margin:0; border:1px solid #111; background:#111; position:relative; }
.film-frame video { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; background:#cfc8bd; }
.film-frame figcaption { padding:10px 12px; background:#ececea; color:#101010; border-top:1px solid #111; font:10px/1.3 "Courier New",monospace; letter-spacing:.12em; }
@media (max-width:760px) { .film-section { grid-template-columns:1fr; gap:24px; padding:40px 0; } .film-copy p { font-size:clamp(48px,15vw,80px); } .film-frame { max-width:420px; } }
