.cinema { padding-top: var(--nav-height); }
.cinema-wrap { width: min(1320px, 90%); margin-inline: auto; }
.cinema-hero { position: relative; isolation: isolate; background: #102c29; color: #f4f0e6; }
.cinema-hero::before { content: ''; position: absolute; inset: 0 0 0 23%; z-index: -1; background: linear-gradient(90deg,#102c29,transparent 66%),linear-gradient(0deg,#102c2980,transparent 50%),url('/assets/films/spring-still.jpg') center/cover; }
.cinema-hero .cinema-wrap { padding-block: clamp(40px,5vw,84px); }
.cinema-hero .eyebrow { color: #e0ce96; margin-bottom: 22px; }
.cinema-hero h1 { font: 400 clamp(50px,6.8vw,106px)/.98 var(--serif); letter-spacing: -.055em; margin: 0 0 26px; }
.cinema-hero em { color: #e5d8ae; }
.cinema-pill { display: inline-block; border: 1px solid #ddd6ba99; border-radius: 32px; padding: 11px 21px; font-size: 14px; }
.cinema-pill:hover { background: var(--paper); color: var(--green); }
.still-credit { position: absolute; bottom: 22px; right: 5%; font-size: 13px; color: white; text-shadow: 0 1px 5px black; }
.library,.own-copy { padding-block: clamp(38px,5vw,72px) 80px; }
.library { scroll-margin-top: 55px; }
.library-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 0 18px; }
.library-heading h2,.own-copy h2 { font-size: clamp(40px,4.5vw,70px); margin-bottom: 18px; }
.library-heading p,.film-results,.film-tags { font-size: 14px; }
.film-filters { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: end; gap: 12px; padding-block: 15px 23px; border-block: 1px solid var(--line); }
.film-filters label { display: grid; gap: 6px; font-size: 12px; }
.film-filters input,.film-filters select,.film-filters button { width: 100%; min-width: 0; padding: 11px 13px; height: 44px; color: var(--green); background: transparent; border: 1px solid #a4afa3; border-radius: 5px; font: 15px var(--sans); }
.film-filters button { background: var(--green); color: white; padding-inline: 23px; }
.film-results { display:flex; justify-content:space-between; margin: 22px 0 14px; }
.film-results a,.film-watch { text-decoration: underline; text-underline-offset: 4px; }
.cinema-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(14px,2vw,30px); }
.film-frame { position: relative; overflow: hidden; border-radius: 5px; }
.film-frame img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .2s; }
.film-card:hover img { transform:scale(1.025); }
.film-frame i { position:absolute; right:10px; bottom:10px; border-radius:50%; background:#102c29cf; color:white; font:12px/34px Arial; width:34px; text-align:center; }
.film-card { display:block; }
.film-meta { font-size:12px; margin:14px 0 3px; }
.film-card h3 { font-size:clamp(24px,2.4vw,38px); margin-bottom:6px; }
.film-tags { margin-bottom:12px; }
.film-watch { font-size:13px; font-weight:600; }
.own-film::before { background-image: linear-gradient(90deg,#102c29,transparent 80%),url('/assets/video.png'); background-size:cover; }
.own-copy h2 { max-width:850px; }
@media(max-width:800px) {
  .cinema-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .film-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:550px) {
  .cinema-hero::before { left:0; opacity:.65; }
  .cinema-hero .cinema-wrap { padding-bottom:65px; }
  .still-credit { font-size:11px; }
  .film-filters label:first-child,.film-filters button { grid-column:1/-1; }
  .film-filters select { font-size:14px; }
  .film-tags { font-size:12px; }
}
