:root{--bg:#fff;--ink:#161616;--mute:#666;--line:#e4e4e4;--dark:#1d1d1d}
*{box-sizing:border-box;margin:0}
body{font:16px/1.55 "Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:inherit;text-decoration:none}
.top{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--line)}
.logo{font-weight:700;font-size:1.25rem;letter-spacing:-.02em}
nav a{margin-left:28px;font-size:.9rem}
nav a:hover{text-decoration:underline;text-underline-offset:4px}
.hero{position:relative;background:var(--dark);color:#fff;padding:96px 5vw 72px}
.hero h1{display:flex;flex-wrap:wrap;gap:0 .3em;font:300 clamp(2rem,5.6vw,4.6rem)/1.1 "Helvetica Neue","Segoe UI",Arial,sans-serif;letter-spacing:-.025em}
.hero .tag{position:absolute;top:22px;right:5vw;margin:0;max-width:none;font:italic 300 1.15rem/1 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;letter-spacing:.03em;color:#c4c4c4}
.hero .tag i{display:inline-block;width:8px;height:8px;margin-right:11px;border-radius:50%;background:#c4c4c4;vertical-align:middle}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero h1 span,.hero .tag{animation:rise 2.2s cubic-bezier(.2,.7,.2,1) both}
.hero h1 span:nth-child(1){animation-delay:.4s}
.hero h1 span:nth-child(2){animation-delay:1.7s}
.hero h1 span:nth-child(3){animation-delay:3s}
.hero .tag{animation-delay:4.6s}
.js .card{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .card.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.hero p{margin-top:20px;color:#aaa;max-width:46ch}
.hero .lead{font:italic 300 clamp(1rem,1.7vw,1.2rem)/1.5 "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;letter-spacing:.02em;color:#cfcfcf;width:max-content;max-width:100%;margin-top:28px}
.hero .lead span{display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:48px 32px;padding:64px 5vw}
.film{padding:56px 5vw 72px;max-width:1200px}
.film h1{font:300 clamp(1.8rem,4.2vw,3.2rem)/1.1 "Helvetica Neue","Segoe UI",Arial,sans-serif;letter-spacing:-.02em;margin:6px 0 4px}
.film .sub{font:italic 300 1.15rem/1.4 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--mute);margin-bottom:32px}
.film .shot{display:block;width:100%;height:auto;border:1px solid var(--line)}
.top-crop img{object-position:top}
.film video{display:block;width:100%;height:auto;background:#000}
.thumb{aspect-ratio:16/9;background:#f3f3f3;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .thumb img{transform:scale(1.03)}
.locked .thumb{display:flex;align-items:center;justify-content:center;background:var(--dark)}
.lock{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid #555;padding:10px 18px}
.meta{margin-top:14px;font-size:.78rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.card h2{font-size:1.15rem;margin:4px 0 6px}
.card p:last-child{color:var(--mute);font-size:.92rem}
footer{border-top:1px solid var(--line);padding:32px 5vw;color:var(--mute);font-size:.9rem}
footer .small{font-size:.8rem;margin-top:4px}
@media(max-width:600px){nav a{margin-left:16px}.hero{padding:64px 5vw 48px}}
