:root{--bg:#090909;--panel:#111;--text:#f4f0e9;--muted:#9a9893;--red:#e3242d;--line:#292929;--display:'DM Sans',sans-serif;--body:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.8rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:1px solid rgba(255,255,255,.12);position:absolute;inset:0 0 auto;z-index:10}.brand{font:700 1.05rem var(--display);letter-spacing:.09em;color:#fff;text-decoration:none;position:relative}.brand span{color:var(--red)}.brand i{position:absolute;width:4px;height:4px;background:var(--red);border-radius:50%;right:-8px;top:0}.site-header nav{display:flex;gap:2.2rem}.site-header nav a{color:#ccc;text-decoration:none;font-size:.85rem}.site-header nav a:hover{color:#fff}.list-button{border:1px solid rgba(255,255,255,.28);background:rgba(10,10,10,.3);color:#fff;padding:.7rem 1rem;border-radius:999px;display:flex;gap:.7rem;align-items:center;cursor:pointer}.list-button b{background:var(--red);width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:.7rem}.hero{min-height:760px;height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.8) 32%,rgba(5,5,5,.12) 72%),linear-gradient(0deg,#090909 0%,transparent 25%)}.hero-copy{position:relative;z-index:2;width:min(640px,80vw);margin-left:9vw;margin-top:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:700;color:#b6b1aa;display:flex;align-items:center;gap:.7rem}.eyebrow span{display:inline-block;width:27px;height:2px;background:var(--red)}h1,h2{font-family:var(--display);letter-spacing:-.055em;line-height:.9;margin:.75rem 0;font-weight:600}h1{font-size:clamp(4rem,8vw,7.6rem)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:transparent;-webkit-text-stroke:1px rgba(244,240,233,.85)}.hero-meta{display:flex;align-items:center;gap:.75rem;color:#bbb;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.hero-meta strong{color:#fff;background:var(--red);padding:.32rem .46rem;border-radius:3px}.hero-meta i{width:3px;height:3px;background:#777;border-radius:50%}.hero-description{color:#bdb9b3;line-height:1.75;max-width:530px;margin:1.5rem 0 2.1rem}.hero-actions{display:flex;gap:.8rem}.primary-cta,.ghost-cta{display:inline-flex;align-items:center;gap:1.6rem;padding:.9rem 1.2rem;border:1px solid var(--red);font:600 .8rem var(--body);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;cursor:pointer}.primary-cta{background:var(--red);color:#fff}.primary-cta span{font-size:1.2rem}.ghost-cta{background:rgba(8,8,8,.4);border-color:#686868;color:#fff}.hero-number{position:absolute;right:5vw;bottom:7vh;font:600 6rem var(--display);color:rgba(255,255,255,.08)}.scroll-cue{position:absolute;bottom:2rem;left:50%;z-index:3;color:#a9a6a1;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;display:flex;gap:1rem;align-items:center}.scroll-cue i{font-style:normal;color:var(--red);font-size:1rem}.section{padding:8rem 8vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:3.5rem}.section-heading h2,.manifesto h2,.faq h2{font-size:clamp(3rem,6vw,6.2rem)}.section-heading>p{width:min(400px,35vw);color:var(--muted);line-height:1.7}.catalog-toolbar{display:flex;justify-content:space-between;gap:2rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}.filters{display:flex;gap:.4rem;flex-wrap:wrap}.filter{border:0;background:transparent;color:#777;padding:.7rem 1rem;border-radius:99px;font:500 .8rem var(--body);cursor:pointer}.filter:hover,.filter.active{color:#fff;background:#222}.search{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #555;padding:0 .2rem}.search input{border:0;background:transparent;color:#fff;font:400 .8rem var(--body);outline:none;width:150px}.movie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:2.5rem}.movie-card{position:relative;background:var(--bg);min-height:330px;padding:2rem;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s}.movie-card:hover{background:#151515}.card-index{font:600 4rem var(--display);color:#222;transition:color .25s}.movie-card:hover .card-index{color:#3a1719}.rating{position:absolute;right:1.6rem;top:1.6rem;border:1px solid #444;padding:.35rem .5rem;font-size:.7rem;color:#ddd}.card-bottom{position:relative;z-index:2}.card-bottom .genre{color:var(--red);font-size:.65rem;text-transform:uppercase;letter-spacing:.18em}.card-bottom h3{font:600 1.75rem var(--display);margin:.6rem 0}.card-bottom p{color:#777;font-size:.78rem}.card-actions{display:flex;gap:.5rem;margin-top:1.4rem}.card-actions button{border:1px solid #444;background:transparent;color:#ddd;padding:.55rem .8rem;font:500 .7rem var(--body);cursor:pointer}.card-actions button:hover{border-color:var(--red);color:#fff}.fav.is-favorite{background:var(--red);border-color:var(--red)}.empty-state{text-align:center;color:var(--muted);padding:4rem}.manifesto{background:var(--text);color:#101010;display:grid;grid-template-columns:.35fr 1.2fr 1fr;gap:5vw;align-items:start}.manifesto .eyebrow{color:#666}.manifesto-mark{font:700 1rem var(--display);border:1px solid #aaa;width:52px;height:52px;display:grid;place-items:center}.manifesto h2 em{color:transparent;-webkit-text-stroke:1px #333}.feature-list article{display:flex;gap:1.2rem;padding:1.5rem 0;border-top:1px solid #ccc}.feature-list article>span{font:600 .75rem var(--display);color:var(--red)}.feature-list h3{font:600 1rem var(--display);margin:0 0 .5rem}.feature-list p{color:#6b6b6b;line-height:1.6;font-size:.82rem;margin:0}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.accordion details{border-top:1px solid var(--line);padding:1.3rem 0}.accordion details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font:500 1rem var(--display)}summary::-webkit-details-marker{display:none}summary span{color:var(--red);font-size:1.4rem;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);line-height:1.7;padding-right:3rem}footer{padding:3rem 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#777}footer p,footer small{font-size:.7rem}dialog{width:min(560px,90vw);border:1px solid #444;background:#121212;color:#fff;padding:3rem;box-shadow:0 30px 90px #000}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;color:#fff;font-size:1.8rem;cursor:pointer}#dialogContent .dialog-genre{color:var(--red);text-transform:uppercase;letter-spacing:.2em;font-size:.65rem}#dialogContent h2{font-size:3rem}#dialogContent p{color:#aaa;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.site-header{padding:0 1.3rem}.site-header nav{display:none}.hero-copy{margin-left:1.3rem;width:calc(100% - 2.6rem)}.hero-shade{background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.25)),linear-gradient(0deg,#090909,transparent 45%)}.hero-description{max-width:90%}.section{padding:6rem 1.3rem}.section-heading{align-items:start;flex-direction:column}.section-heading>p{width:100%}.catalog-toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}.search input{width:100%}.movie-grid{grid-template-columns:1fr 1fr}.manifesto{grid-template-columns:1fr}.manifesto-mark{display:none}.faq{grid-template-columns:1fr;gap:3rem}footer{flex-direction:column;gap:1rem;text-align:center}}@media(max-width:540px){h1{font-size:3.6rem}.hero{min-height:690px}.hero-actions{align-items:stretch;flex-direction:column;width:220px}.scroll-cue{display:none}.hero-number{font-size:4rem}.movie-grid{grid-template-columns:1fr}.movie-card{min-height:280px}.list-button span{display:none}.filters{gap:.2rem}.filter{padding:.6rem .7rem}.faq h2,.manifesto h2,.section-heading h2{font-size:3rem}}
