:root{--bg:#0c0b0b;--panel:#151313;--panel2:#1d1918;--text:#f7f1e8;--muted:#b5aaa0;--red:#dc2f24;--gold:#e3ae55;--line:#332c29;--max:1240px;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.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}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:0 28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--red);border-radius:50%;font-family:Oswald;font-weight:700;color:var(--red);transform:rotate(-7deg)}.brand strong,.brand small{display:block}.brand strong{font-family:Oswald;font-size:18px;letter-spacing:.08em}.brand small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.22em}.site-header nav{display:flex;gap:26px}.site-header nav a,footer a{text-decoration:none;color:var(--muted);font-size:14px}.site-header nav a:hover,footer a:hover{color:#fff}
.hero{position:relative;max-width:var(--max);margin:auto;padding:88px 28px 42px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 36%,rgba(220,47,36,.18),transparent 27%),linear-gradient(120deg,transparent 45%,rgba(255,255,255,.025));pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:690px}.eyebrow{text-transform:uppercase;color:var(--gold);letter-spacing:.22em;font-size:12px;font-weight:700;margin:0 0 16px}.hero h1,.section-heading h2,.about h2{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;margin:0}.hero h1{max-width:720px;font-size:clamp(44px,6vw,82px);line-height:1.03;letter-spacing:-.012em}.section-heading h2,.about h2{letter-spacing:-.03em;line-height:.98}.hero-text{max-width:610px;color:#d3c8bd;font-size:18px;margin:28px 0 34px}.primary-cta{display:inline-flex;gap:18px;align-items:center;text-decoration:none;background:var(--red);padding:14px 22px;border-radius:99px;font-weight:700}.primary-cta:hover{background:#ef3a2e}.hero-art{position:absolute;right:1%;top:63px;width:420px;height:460px;opacity:.92}.hero-art .sun{position:absolute;width:270px;height:270px;border:40px solid rgba(220,47,36,.12);border-radius:50%;right:10px;top:55px}.kick-line{position:absolute;width:340px;height:160px;border-top:6px solid var(--gold);border-radius:50%;transform:rotate(-28deg);top:180px;left:4px;filter:drop-shadow(0 0 18px rgba(227,174,85,.25))}.film-strip{position:absolute;width:460px;height:62px;border-block:2px solid rgba(255,255,255,.1);transform:rotate(54deg);right:-110px;top:235px;background:repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.08) 35px 50px)}
.hero-stats{position:relative;z-index:2;display:flex;gap:56px;margin-top:86px;border-top:1px solid var(--line);padding-top:24px}.hero-stats div{display:flex;align-items:baseline;gap:10px}.hero-stats strong{font:600 28px Oswald;color:var(--gold)}.hero-stats span{font-size:13px;color:var(--muted)}
.archive{background:#110f0f;padding:100px max(28px,calc((100vw - var(--max))/2 + 28px))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px}.section-heading h2,.about h2{font-size:clamp(38px,5vw,65px)}.section-heading>p{max-width:420px;color:var(--muted)}.controls{display:grid;grid-template-columns:minmax(230px,1fr) auto auto auto;align-items:center;gap:18px;margin:48px 0 20px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#171414}.search{display:flex;align-items:center;gap:10px;background:#211d1b;border:1px solid #39312e;padding:10px 14px;border-radius:12px}.search input{width:100%;background:none;color:#fff;border:0;outline:0;font:inherit}.filter-row{display:flex;gap:7px;flex-wrap:wrap}.filter,.sort-label select{border:1px solid #3b322f;background:transparent;color:var(--muted);padding:9px 13px;border-radius:99px;font:600 13px "DM Sans";cursor:pointer}.filter:hover,.filter.active{background:var(--text);color:#161212;border-color:var(--text)}.sort-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.sort-label select{border-radius:9px;color:#eee;background:#211d1b}.result-line{color:var(--muted);font-size:13px;margin:0 0 20px}.result-line strong{color:#fff}.film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.film-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s,border-color .2s}.film-card:hover{transform:translateY(-5px);border-color:#5b4740}.poster{position:relative;aspect-ratio:2/2.75;background:#241e1b;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.film-card:hover .poster img{transform:scale(1.035)}.poster:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,var(--panel));pointer-events:none}.poster-placeholder{display:grid;place-items:center;align-content:center;width:100%;height:100%;gap:18px;padding:35px 22px;text-align:center;background:radial-gradient(circle at 70% 20%,rgba(220,47,36,.42),transparent 34%),repeating-linear-gradient(135deg,transparent 0 20px,rgba(255,255,255,.018) 21px 22px),linear-gradient(145deg,#3a211d,#121010)}.poster-placeholder span{font:700 clamp(25px,2.3vw,38px)/1.02 Oswald;color:#f3e3c9;text-transform:uppercase;text-wrap:balance}.poster-placeholder small{font:600 11px Oswald;letter-spacing:.16em;color:var(--gold)}.poster-placeholder:before{content:"JC";font:700 54px Oswald;color:rgba(227,174,85,.18);position:absolute;transform:rotate(-8deg)}.year{position:absolute;z-index:2;top:12px;left:12px;background:rgba(12,11,11,.84);border:1px solid rgba(255,255,255,.14);padding:4px 9px;border-radius:99px;font:600 12px Oswald;letter-spacing:.08em}.review-badge{position:absolute;z-index:2;right:12px;top:12px;background:var(--red);padding:4px 9px;border-radius:99px;font:600 10px Oswald;letter-spacing:.1em;text-transform:uppercase}.card-body{padding:17px}.card-body h3{font:600 21px/1.15 Oswald;margin:0 0 9px}.card-body .original-title{display:block;margin:-4px 0 8px;color:var(--muted);font-size:10px}.role-badge{display:inline-block;margin:0 0 11px;padding:4px 8px;border-radius:7px;background:#28211f;color:#d8ccc2;font-size:10px;font-weight:700}.role-cameo{background:#33231f;color:#f0a99f}.role-voice{background:#25243b;color:#c8c6ff}.role-supporting{background:#2d291d;color:#ebcf8d}.card-body p{font-size:13px;color:var(--muted);margin:0 0 17px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.imdb-row{margin:-3px 0 14px}.imdb-row a,.imdb-row span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:8px;background:#211d1b;text-decoration:none}.imdb-row strong{color:#f5c518;font:700 13px Oswald}.imdb-row small{color:var(--muted);font-size:10px}.card-actions{display:flex;gap:8px}.card-actions a,.details-button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:8px 12px;border-radius:10px;text-decoration:none;font-weight:700;font-size:12px;border:1px solid #423632}.amazon{background:var(--gold);border-color:var(--gold)!important;color:#17110a;flex:1}.details-button{background:transparent;color:#eee;cursor:pointer}.empty-state{text-align:center;border:1px dashed #4b3c36;padding:50px;border-radius:var(--radius);color:var(--muted)}
.people-section{padding:100px max(28px,calc((100vw - var(--max))/2 + 28px));background:#0c0b0b}.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:48px}.person-card{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-decoration:none;transition:.2s}.person-card:hover{border-color:#665049;transform:translateY(-3px)}.person-card>img{width:105px;height:128px;object-fit:cover;object-position:center;border-radius:13px;background:#211b19}.person-card small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.person-card h3{font:600 26px Oswald;margin:3px 0}.person-card p{font-size:13px;color:var(--muted);margin:0 0 10px}.person-card strong{font-size:12px}.about{max-width:var(--max);margin:auto;padding:100px 28px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:50px;align-items:start}.about>p,.about aside p{color:var(--muted)}.about aside{border-left:3px solid var(--gold);padding-left:20px}.about aside strong{font-family:Oswald;text-transform:uppercase;letter-spacing:.08em}footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:35px 28px 55px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:var(--muted);font-size:12px}.brand.compact{color:#fff}.brand.compact .brand-mark{width:35px;height:35px}footer>div:last-child{display:flex;gap:20px}
dialog{max-width:720px;width:calc(100% - 32px);padding:0;border:1px solid #4a3b35;border-radius:22px;background:#171414;color:var(--text);box-shadow:0 30px 90px #000}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:15px;top:13px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid #5b4b45;background:#171414;color:#fff;font-size:24px;cursor:pointer}.dialog-layout{display:grid;grid-template-columns:230px 1fr}.dialog-layout img{width:100%;height:100%;min-height:380px;object-fit:cover}.dialog-copy{padding:45px 35px}.dialog-copy .year-text{color:var(--gold);font:600 13px Oswald;letter-spacing:.15em}.dialog-copy h2{font:600 38px/1.05 Oswald;margin:8px 0 20px}.dialog-copy p{color:var(--muted)}.dialog-actions{display:flex;gap:10px;margin-top:25px}.dialog-actions a{padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:700;font-size:13px}.dialog-actions .review-link{border:1px solid #4d403b}
@media(max-width:1000px){.hero-art{opacity:.35}.film-grid{grid-template-columns:repeat(3,1fr)}.controls{grid-template-columns:1fr}.about{grid-template-columns:1fr 1fr}.about aside{grid-column:1/-1}.section-heading{align-items:start;flex-direction:column}.section-heading>p{margin-top:-25px}.hero-copy{max-width:760px}}
@media(max-width:720px){.site-header{height:68px;padding:0 18px}.site-header nav{display:none}.hero{padding:70px 20px 30px}.hero-art{right:-180px}.hero-stats{gap:15px;margin-top:68px;justify-content:space-between}.hero-stats div{display:block}.hero-stats span{display:block}.archive{padding:75px 18px}.film-grid{grid-template-columns:repeat(2,1fr);gap:12px}.card-body{padding:13px}.card-body h3{font-size:18px}.card-actions{display:block}.card-actions a,.details-button{width:100%;margin-top:7px}.about{grid-template-columns:1fr;padding:75px 20px}.about aside{grid-column:auto}footer{align-items:flex-start;flex-direction:column}.dialog-layout{grid-template-columns:1fr}.dialog-layout img{height:230px;min-height:0}.dialog-copy{padding:28px 22px}.dialog-copy h2{font-size:31px}}
.review-page{max-width:980px;margin:auto;padding:60px 28px 100px}.back-link{display:inline-block;margin-bottom:38px;color:var(--muted);text-decoration:none}.back-link:hover{color:#fff}.review-hero,.person-hero{display:grid;grid-template-columns:1fr 280px;gap:55px;align-items:center;padding-bottom:60px;border-bottom:1px solid var(--line)}.review-hero h1,.person-hero h1{font:600 clamp(46px,7vw,78px)/.98 Oswald;margin:0 0 22px;text-transform:uppercase}.review-hero p:not(.eyebrow),.person-hero p:not(.eyebrow){color:var(--muted);font-size:17px}.review-hero img,.person-hero img{width:100%;max-height:390px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.review-image,.person-image{margin:0}.review-image figcaption,.person-image figcaption{padding-top:8px;color:var(--muted);font-size:12px;text-align:center}.review-image figcaption a,.person-image figcaption a{color:var(--gold)}.review-placeholder{display:grid;place-items:center;align-content:center;gap:8px;min-height:340px;border-radius:18px;background:linear-gradient(145deg,#3a211d,#171312);border:1px solid #513832}.review-placeholder span{font:700 74px Oswald;color:var(--gold)}.review-placeholder strong{font:600 22px Oswald;color:#fff}.review-article{max-width:760px;margin:60px auto;font-size:17px;color:#ddd3c9}.review-article h2,.review-article h3{font-family:Oswald;color:#fff;line-height:1.1;margin:50px 0 18px}.review-article h2{font-size:36px}.review-article h3{font-size:26px}.review-article a{color:var(--gold)}.review-article img{max-width:100%;height:auto;border-radius:15px}.review-article figure{margin:35px 0}.review-article hr{border:0;border-top:1px solid var(--line);margin:45px 0}.source-list{display:grid;gap:8px;padding-left:20px}.affiliate-note{max-width:760px;margin:50px auto 0;border-left:3px solid var(--gold);padding:5px 0 5px 20px;color:var(--muted)}.affiliate-note strong{color:#fff}.affiliate-note p{margin-bottom:0}
.curiosity-intro{max-width:760px;margin-bottom:55px}.curiosity-intro h1{font:600 clamp(46px,7vw,76px)/.98 Oswald;text-transform:uppercase;margin:0 0 22px}.curiosity-intro>p:last-child{color:var(--muted);font-size:17px}.curiosity-list{display:grid;gap:16px}.curiosity-card{display:grid;grid-template-columns:105px 1fr;gap:24px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.curiosity-card img,.curiosity-placeholder{width:105px;height:145px;object-fit:cover;border-radius:10px}.curiosity-placeholder{display:grid;place-items:center;background:#2c201d;color:var(--gold);font:700 34px Oswald}.curiosity-card h2{font:600 28px Oswald;margin:0 0 4px}.curiosity-card small{color:var(--muted)}.curiosity-card p:not(.eyebrow){color:var(--muted);font-size:14px}.curiosity-card .details-button{width:max-content}
@media(max-width:700px){.review-hero,.person-hero{grid-template-columns:1fr}.review-hero img,.person-hero img,.review-placeholder{max-height:260px;min-height:240px}.person-image{order:-1}.review-page{padding:35px 20px 70px}.review-article{font-size:16px}.review-article h2{font-size:30px}.people-grid{grid-template-columns:1fr}.person-card{grid-template-columns:80px 1fr}.person-card>img{width:80px;height:105px}.people-section{padding:75px 18px}}
@media(max-width:440px){.film-grid{grid-template-columns:1fr}.poster{aspect-ratio:16/10}.hero h1{font-size:44px;line-height:1.05}.hero-text{font-size:16px}.hero-stats{flex-wrap:wrap;row-gap:12px}.hero-stats span{font-size:11px}}