  .film-section { padding: 36px 0 64px; }
  .film-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 48px; }
  .film-copy h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.12; margin: 14px 0 18px; }
  .film-copy p { color: var(--dim); margin-bottom: 24px; }
  .film-launch { position: relative; display: block; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
  .film-launch img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .film-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,.13); }
  .film-play svg { width: 72px; height: 72px; padding: 23px; border-radius: 50%; background: rgba(14,14,21,.88); border: 1px solid rgba(255,255,255,.65); color: #fff; box-shadow: 0 4px 30px rgba(0,0,0,.4); }
  .film-launch:hover, .film-launch:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
  .film-duration { position: absolute; right: 14px; bottom: 14px; background: #0e0e15; color: #fff; padding: 3px 9px; border-radius: 6px; font-family: var(--font-mono); font-size: .75rem; }
  .film-dialog { width: min(1100px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 16px; margin: auto; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: auto; }
  .film-dialog::backdrop { background: rgba(6,6,10,.9); }
  .film-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
  .film-dialog-head h2 { font: 600 1.05rem var(--font-display); }
  .film-close { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; color: var(--text); border: 1px solid var(--border); background: var(--surface-2); cursor: pointer; font-size: 1.7rem; }
  .film-dialog video { display: block; width: 100%; height: auto; max-height: calc(100dvh - 116px); aspect-ratio: 16 / 9; background: #000; }
  body.film-open { overflow: hidden; }
  @media (max-width: 720px) { .film-layout { grid-template-columns: 1fr; gap: 24px; } .film-section { padding: 32px 0 48px; } .film-dialog { padding: 10px; } }
  .film-gallery .film-copy { max-width: 820px; margin-bottom: 28px; }
  .film-gallery .film-copy p { margin-bottom: 0; }
  .film-feature { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:32px; align-items:center; }
  .film-detail h3 {font:600 clamp(1.3rem,2.3vw,1.8rem)/1.2 var(--font-display); margin:0 0 16px;}
  .film-detail p {color:var(--dim); font-size:1rem; line-height:1.65;}
  .film-watch-note {border-left:3px solid var(--violet); padding:12px 16px; margin-top:20px; background:rgba(142,116,255,.06); border-radius:0 12px 12px 0;}
  .film-watch-note strong {display:block; color:var(--text); margin-bottom:6px;}
  #film-language:empty {display:none;} #film-language {font-size:.8rem;color:var(--violet);margin-bottom:10px;}
  .film-choices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;}
  .film-choice {display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none; min-width:0;}
  .film-choice img {width:92px;aspect-ratio:16/9;object-fit:cover;border-radius:7px;}
  .film-choice strong {display:block;font-size:.9rem;line-height:1.3;}
  .film-choice small {display:block;color:var(--dim);margin-top:5px;}
  .film-choice[aria-current=true] {border-color:var(--violet);background:rgba(142,116,255,.13);box-shadow:inset 0 0 0 1px var(--violet);}
  .film-choice:focus-visible {outline:3px solid var(--violet);outline-offset:3px;}
  @media(max-width:900px){.film-gallery>.container{display:flex;flex-direction:column}.film-feature{display:contents}.film-gallery .film-copy{order:0}.film-launch{order:1}.film-choices{order:2;margin-top:16px}.film-detail{order:3;margin-top:22px}.film-choice{flex-direction:column;align-items:flex-start}.film-choice img{width:100%}.film-choices{gap:8px}.film-choice{padding:8px}.film-choice strong{font-size:.8rem}.film-detail h3{margin-bottom:10px}.film-watch-note{margin-top:12px}}


.features-page .film-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.features-page .film-choice{flex-direction:column;align-items:flex-start}.features-page .film-choice img{width:100%;height:auto}.features-page .film-feature{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}
.film-provenance{font-size:.85rem;line-height:1.65;color:var(--dim);max-width:800px;margin-top:24px}.features-page .page-header{padding-bottom:42px}.features-page .film-section{padding-top:12px}.features-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.features-page .card{height:100%}
@media(max-width:900px){.features-page .film-choices{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 3px 12px}.features-page .film-choice{flex:0 0 142px;scroll-snap-align:start}.features-page .film-provenance{order:4}.features-page .film-feature{display:contents}}
@media(max-width:600px){.features-page .cards{grid-template-columns:1fr}}
