@font-face { font-family: Manrope; src: url('assets/manrope.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: Cormorant; src: url('assets/cormorant.ttf') format('truetype'); font-weight: 500; font-display: swap; }
:root { --bg:#151614; --ink:#f5f2e9; --muted:#c1c1b7; --accent:#d6e97a; --line:#45463e; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-padding-top:5.5rem; }
body { margin:0; background:var(--bg); color:var(--ink); font:1rem/1.65 Manrope,Arial,sans-serif; }
p { max-width:68ch; }
a { color:inherit; text-underline-offset:.25em; }
button, select, input { font:inherit; }
button, summary { cursor:pointer; }
:focus-visible { outline:3px solid #88a9ff; outline-offset:3px; }
[hidden] { display:none !important; }
h1,h2,h3,.tagline { font:500 clamp(2.4rem,4.6vw,4.5rem)/1.04 Cormorant,Georgia,serif; margin:0; text-wrap:balance; }
h1 { font-size:clamp(3rem,7vw,7.2rem); }
h3,.tagline { font-size:clamp(1.65rem,2.6vw,2.5rem); }
img,video { display:block; max-width:100%; height:auto; }
video { width:100%; background:black; }
.wrap { width:min(100%,90rem); margin:auto; padding-inline:clamp(1.15rem,5vw,5rem); }
.block { padding-block:clamp(3.25rem,7vw,7rem); border-top:1px solid var(--line); }
.skip { position:fixed; z-index:30; inset:.25rem auto auto .25rem; background:white; color:black; padding:.75rem; transform:translateY(-160%); }
.skip:focus { transform:none; }
header { display:flex; align-items:center; gap:2rem; padding:0 5%; background:var(--bg); border-bottom:1px solid var(--line); }
header nav, footer { display:flex; align-items:center; gap:clamp(.9rem,2.4vw,2.4rem); }
header a,footer a,.crumbs a { text-decoration:none; }
header a:hover,footer a:hover,.crumbs a:hover,.film h3 a:hover { text-decoration:underline; }
header nav a,.quick,.menu-toggle { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; }
.brand { margin-right:auto; }
.brand img { width:84px; height:84px; }
.quick,.menu-toggle,.button { border-radius:.25rem; padding:.65rem 1rem; }
.quick,.light { background:var(--accent); color:#191b13; }
.menu-toggle { display:none; background:transparent; border:1px solid var(--line); color:inherit; }
.hero { position:relative; isolation:isolate; display:grid; align-items:end; min-height:clamp(25rem,62svh,43rem); }
.hero::before,.hero-image { content:""; position:absolute; inset:0; width:100%; height:100%; z-index:-1; }
.hero-image { object-fit:cover; object-position:50% 36%; z-index:-2; }
.hero::before { background:linear-gradient(85deg,#0b0b0bed,transparent 84%),linear-gradient(0deg,#1119,transparent 80%); }
.hero-content { max-width:65rem; padding:clamp(2rem,5vw,5rem); }
.eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:bold; margin:0 0 .8rem; }
.hero-content p:not(.eyebrow) { margin:1rem 0 1.5rem; }
.button,.hero-link,.card-link,.text-link { display:inline-flex; align-items:center; min-height:46px; }
.button { text-decoration:none; gap:1.4rem; font-size:.92rem; font-weight:600; }
.button:hover { filter:brightness(1.1); }
.hero-link { margin-left:1.3rem; }
.catalog h2 { margin-bottom:1.5rem; }
.filters { display:flex; flex-wrap:wrap; gap:.55rem; margin:0 0 2rem; }
.filters button { background:none; color:inherit; border:1px solid var(--line); border-radius:2rem; min-height:44px; padding:.45rem 1rem; }
.filters [aria-pressed=true] { background:var(--ink); color:var(--bg); }
.film-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3rem 1.5rem; }
.poster { display:grid; place-items:center; aspect-ratio:2/3; background:#21221e; }
.poster img { width:100%; height:100%; object-fit:contain; }
.film .eyebrow { margin:1rem 0 .4rem; }
.film h3 { overflow-wrap:anywhere; }
.film h3 a { text-decoration:none; }
.card-link { font-size:.85rem; color:var(--muted); }
.split,.film-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:clamp(2rem,7vw,8rem); align-items:start; }
.split > div > p:first-child { margin-top:0; }
.campaign { background:#d9ddc7; color:#22251a; }
.campaign .eyebrow { color:#495338; }
.dark { background:#25281d; color:white; }
footer { flex-wrap:wrap; border-top:1px solid var(--line); padding-block:2rem; font-size:.85rem; color:var(--muted); }
footer span { margin-right:auto; }
.crumbs { display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; padding-block:1.4rem; color:var(--muted); font-size:.85rem; }
.film-detail { padding-bottom:3rem; }
.film-detail figure { margin:0; }
.detail-poster { max-height:70vh; object-fit:contain; margin:auto; }
figcaption { margin-top:.75rem; color:var(--muted); font-size:.8rem; }
.tagline { margin:1.2rem 0; }
#opis { margin-top:2.5rem; }
#opis h2,.legal h2 { font-size:2rem; }
dl { margin:0; }
dl > div { padding:.85rem 0; display:grid; grid-template-columns:1fr 1.5fr; gap:1rem; border-bottom:1px solid var(--line); }
dt { color:var(--muted); }
dd { margin:0; }
details summary { padding:.8rem 0; }
.text-link { margin-right:1.2rem; }
.legal { max-width:58rem; }
.legal h2 { margin-top:2rem; }
@media (max-width:900px) {
  header { gap:.85rem; }
  header nav { gap:.85rem; }
  .film-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  header { flex-wrap:wrap; gap:.5rem; padding:0 5%; }
  .js header { position:sticky; top:0; z-index:10; }
  .brand img { width:66px; height:66px; }
  .js .menu-toggle { display:inline-flex; }
  header nav { width:100%; flex-wrap:wrap; padding-bottom:.5rem; }
  .js header nav { display:none; }
  .js header nav.is-open { display:grid; gap:0; max-height:65svh; overflow:auto; }
  .hero { min-height:23rem; }
  .hero-image { object-position:60% center; }
  .hero-content { padding:3rem 6% 2rem; }
  .split,.film-detail { grid-template-columns:1fr; gap:1.75rem; }
  .film-detail figure { max-width:230px; margin:auto; }
  .film-grid { gap:2rem .9rem; }
  .film .eyebrow { font-size:.65rem; }
  dl > div { grid-template-columns:1fr; gap:.25rem; }
  footer { display:grid; gap:.4rem; }
  footer a { padding:.45rem 0; }
}
@media (max-width:350px) {
  header { padding-inline:3%; }
  .film-grid { grid-template-columns:1fr; }
}


