*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#050607;color:#f3f4f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}
:root{--bg:#050607;--muted:#858b90;--line:rgba(255,255,255,.11);--panel:rgba(255,255,255,.055)}
.shell{width:min(1310px,calc(100% - 64px));margin:0 auto}
.nav{height:78px;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:28px;position:relative;z-index:20}.brand{font-size:24px;letter-spacing:-.055em;font-weight:500;white-space:nowrap}.navlinks{display:flex;justify-content:center;gap:35px;color:#c3c6c9;font-size:13px}.navlinks a:hover,.login:hover{color:#fff}.navright{display:flex;align-items:center;gap:20px}.search{width:235px;border:1px solid rgba(255,255,255,.15);background:rgba(10,11,12,.35);backdrop-filter:blur(12px);border-radius:9px;padding:10px 13px;color:#fff;outline:0}.search::placeholder{color:#767c81}.login{color:#d8dadd;font-size:13px}
/* HOME */
.homePage{background:#050607;min-height:100vh}.homeHero{height:min(850px,100vh);min-height:680px;position:relative;overflow:hidden}.homeHeroBg{position:absolute;inset:0;background-size:cover;background-position:center 42%;transform:scale(1.015)}.homeHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.83) 18%,rgba(5,6,7,.28) 53%,rgba(5,6,7,.05) 82%),linear-gradient(0deg,#050607 0%,rgba(5,6,7,.02) 45%,rgba(5,6,7,.42) 100%)}.homeNav{position:absolute;top:0;left:0;right:0;z-index:10}.homeHeroInner{height:100%;position:relative;display:flex;align-items:flex-end}.homeHeroCopy{position:relative;z-index:2;width:650px;padding-bottom:92px}.homeHeroTitle{font-size:clamp(65px,8vw,118px);font-weight:300;line-height:.86;letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;max-width:900px}.homeHeroSubtitle{font-size:24px;letter-spacing:.48em;text-transform:uppercase;font-weight:300;margin-bottom:27px}.homeHeroMeta{font-size:14px;margin-bottom:18px}.homeHeroDescription{color:#b8bdc1;line-height:1.65;font-size:14px;max-width:600px;margin:0}.homeWatch{padding:13px 25px}.homeMore{padding:13px 25px}.homeHeroActions{margin-top:38px}.heroSideQuote{position:absolute;right:0;top:185px;color:rgba(255,255,255,.72);font-size:10px;line-height:2.25;letter-spacing:.33em;text-align:left}.heroPager{position:absolute;right:0;bottom:83px;display:flex;align-items:center;gap:15px;color:#ddd;font-size:12px;z-index:2}.heroPager i{width:38px;height:1px;background:rgba(255,255,255,.35)}.heroPager button,.roundBtn{border:0;width:40px;height:40px;border-radius:50%;background:rgba(7,8,9,.72);color:#fff;cursor:pointer;display:grid;place-items:center}.heroPager button:hover,.roundBtn:hover{background:#fff;color:#000}.homeContent{position:relative;z-index:3}.homeContent .section{padding-top:42px}.homeContent .section:first-child{padding-top:48px}
/* LIST CARDS */
.section{padding:34px 0 2px}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sectionTitle{font-size:19px;font-weight:500;letter-spacing:-.025em}.seeAll{color:#81878c;font-size:12px}.seeAll:hover{color:#fff}.row{display:grid;grid-auto-flow:column;grid-auto-columns:174px;gap:18px;overflow-x:auto;padding:3px 2px 14px;scrollbar-width:none}.row::-webkit-scrollbar{display:none}.card{min-width:174px}.poster{aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:#111416;position:relative}.poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.posterEmpty{width:100%;height:100%;background:#101214}.card:hover .poster img{transform:scale(1.035)}.cardOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.30);opacity:0;transition:.2s}.card:hover .cardOverlay{opacity:1}.cardName{margin-top:10px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cardMeta{margin-top:4px;color:#777d82;font-size:11px}
/* DETAIL */
.detailPage{background:#050607;min-height:100vh}.detailNav{position:absolute;left:50%;transform:translateX(-50%);right:auto;z-index:20}.detailTop{position:relative;min-height:850px;overflow:hidden}.detailTopBg{position:absolute;inset:0;background-size:cover;background-position:center 30%}.detailTopShade{position:absolute;inset:0;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.87) 19%,rgba(5,6,7,.35) 53%,rgba(5,6,7,.12) 78%,rgba(5,6,7,.38) 100%),linear-gradient(0deg,#050607 0%,rgba(5,6,7,.03) 48%,rgba(5,6,7,.52) 100%)}.detailTopInner{position:relative;min-height:850px;padding-top:125px}.back{color:#90969b;font-size:12px;display:inline-block;margin-bottom:48px}.back:hover{color:#fff}.eyebrow{color:#858b90;letter-spacing:.36em;font-size:9px;text-transform:uppercase;margin-bottom:18px}.detailTitle{font-size:clamp(54px,7vw,100px);font-weight:300;line-height:.88;letter-spacing:.15em;text-transform:uppercase;margin:0 0 17px}.tagline{font-size:13px;color:#d6d9db;font-style:italic;margin:0 0 18px}.meta{color:#c5c8ca;font-size:13px;display:flex;gap:9px;flex-wrap:wrap}.dot{color:#555}.detailActions{display:flex;align-items:center;gap:10px;margin-top:24px}.btn{border:1px solid rgba(255,255,255,.22);border-radius:9px;padding:12px 20px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s}.btn.primary{background:#fff;color:#08090a;border-color:#fff}.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.10)}.btn.primary:hover{background:#eee}.roundBtn{margin-left:2px;border:1px solid rgba(255,255,255,.2);background:rgba(8,9,10,.65);font-size:14px}.detailOverview{position:relative;margin:36px 0 0;color:#b7bcc0;font-size:14px;line-height:1.65;max-width:620px}.detailLower{display:grid;grid-template-columns:minmax(430px,1fr) 145px minmax(440px,1.05fr);gap:42px;align-items:center;margin-top:42px;padding-top:34px;border-top:1px solid rgba(255,255,255,.10)}.infoList{display:grid;grid-template-columns:95px 1fr;gap:11px 20px;font-size:12px}.infoList dt{color:#747a7f}.infoList dd{margin:0;color:#c4c7c9;line-height:1.4}.infoList a:hover{color:#fff}.detailScore{align-self:start;padding-top:2px}.scoreNumber{font-size:38px;font-weight:300;line-height:1}.scoreNumber span{font-size:15px;color:#72787d;margin-left:4px}.scoreLabel{font-size:10px;color:#747a7f;margin-top:5px;letter-spacing:.08em;text-transform:uppercase}.scoreBar{height:2px;width:105px;background:rgba(255,255,255,.12);margin-top:13px}.scoreBar i{display:block;height:100%;background:#fff}.detailMedia{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px}.detailShotsWrap{min-width:0}.detailShotsTitle{font-size:10px;color:#858b90;text-transform:uppercase;letter-spacing:.16em;margin:0 0 8px}.detailShots{height:calc(100% - 20px);display:grid;grid-template-rows:repeat(3,1fr);gap:10px}.shotEmpty{display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#666;font-size:10px;background:#0e1011}.detailTrailer{aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.12)}.detailTrailer iframe{width:100%;height:100%;border:0}.trailerPreview{position:relative;width:100%;height:100%;border:0;padding:0;background:#111;cursor:pointer;color:#fff;text-align:left;overflow:hidden}.trailerPreview img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:.3s}.trailerPreview:hover img{transform:scale(1.03);opacity:1}.trailerPlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.42)}.trailerLabel{position:absolute;left:15px;bottom:15px;font-size:12px}.trailerSource{position:absolute;left:15px;bottom:1px;color:#aaa;font-size:10px}.trailerFallback{display:grid;place-items:center;height:100%;color:#777}.detailShots{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}.detailShots img{width:100%;height:100%;object-fit:cover;border-radius:7px;background:#111}.detailBody{position:relative;z-index:4;margin-top:-10px}.detailSection{padding-top:28px}.cast{display:grid;grid-auto-flow:column;grid-auto-columns:145px;gap:16px;overflow-x:auto;scrollbar-width:none}.cast::-webkit-scrollbar{display:none}.personImg{aspect-ratio:1/1.05;object-fit:cover;width:100%;border-radius:8px;background:#111}.personName{margin-top:8px;font-size:12px}.personRole{margin-top:3px;font-size:11px;color:#72787d}.footer{border-top:1px solid var(--line);margin-top:70px;padding:28px 0 48px;color:#73797e;font-size:11px;display:flex;justify-content:space-between}
/* search/person */
.searchPage{padding:50px 0 80px}.searchLarge{width:100%;font-size:24px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 0;outline:0;color:#fff}.searchResults{display:grid;grid-template-columns:repeat(7,1fr);gap:24px 14px;margin-top:30px}
.personPage{padding-bottom:30px}.personHero{display:grid;grid-template-columns:220px 1fr;gap:42px;align-items:end;padding:100px 0 42px;border-bottom:1px solid var(--line)}.personPortrait{width:220px;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block;background:#111416}.personPortraitEmpty{display:grid;place-items:center;color:#686e73;font-size:12px}.personHeroInfo{padding-bottom:3px}.personTitle{font-size:clamp(48px,6vw,76px);font-weight:300;letter-spacing:-.045em;line-height:.95;margin:0 0 34px}.personFacts{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:22px 42px;max-width:820px}.personFacts div{display:flex;flex-direction:column;gap:6px}.personFacts span{font-size:10px;color:#6f757a;text-transform:uppercase;letter-spacing:.13em}.personFacts strong{font-size:14px;font-weight:400;color:#d2d5d7;line-height:1.4}.personBio{padding:30px 0 8px;max-width:900px}.personBioText{color:#aeb3b7;font-size:14px;line-height:1.75;margin:12px 0 0;max-width:850px}
@media(max-width:1100px){.shell{width:min(100% - 42px,1000px)}.nav{grid-template-columns:180px 1fr auto}.navlinks{gap:22px}.search{width:190px}.heroSideQuote{display:none}.detailLower{grid-template-columns:1fr 100px}.detailMedia{grid-column:1/-1;max-width:720px}.searchResults{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.shell{width:calc(100% - 28px)}.nav{height:68px;grid-template-columns:1fr auto}.navlinks{display:none}.search{width:145px}.homeHero{min-height:700px;height:92vh}.homeHeroCopy{padding-bottom:60px;width:min(620px,100%)}.homeHeroTitle{font-size:58px}.homeHeroSubtitle{font-size:18px;letter-spacing:.35em}.heroPager{bottom:28px}.detailTop,.detailTopInner{min-height:760px}.detailTopInner{padding-top:105px}.detailTitle{font-size:55px}.detailLower{grid-template-columns:1fr;gap:28px}.detailScore{order:2}.detailMedia{order:3}.detailBody{margin-top:0}.personHero{grid-template-columns:130px 1fr;gap:22px;padding-top:90px}.personPortrait{width:130px}.personTitle{font-size:42px;margin-bottom:24px}.personFacts{grid-template-columns:1fr;gap:14px}.personFacts div:nth-child(n+3){display:none}.searchResults{grid-template-columns:repeat(3,1fr)}}
@media(max-width:500px){.homeHeroTitle{font-size:49px}.homeHeroSubtitle{font-size:15px}.homeHeroDescription{font-size:13px}.row{grid-auto-columns:150px}.card{min-width:150px}.detailTitle{font-size:44px}.detailMedia{grid-template-columns:1fr}.detailShots{display:none}.personHero{grid-template-columns:1fr;align-items:start}.personPortrait{width:150px}.searchResults{grid-template-columns:repeat(2,1fr)}}

/* ACCESS MODAL */
.accessOverlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.68);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}.accessModal{width:min(430px,100%);position:relative;background:#0b0d0e;border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:38px 36px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.accessClose{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.04);color:#aaa;display:grid;place-items:center;cursor:pointer}.accessModal h2{font-size:32px;line-height:1.05;font-weight:350;letter-spacing:-.03em;margin:0 0 14px}.accessModal p{font-size:13px;color:#888f94;line-height:1.6;margin:0 0 24px}.accessChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.accessChoices .btn{justify-content:center}.accessBack{border:0;background:none;color:#777e83;padding:0;margin:0 0 34px;cursor:pointer;font-size:12px}.accessForm{display:grid;gap:10px}.accessForm input{width:100%;height:45px;border:1px solid rgba(255,255,255,.12);background:#101214;border-radius:9px;padding:0 13px;color:#fff;outline:none}.accessForm input:focus{border-color:rgba(255,255,255,.28)}.accessForm .btn{justify-content:center;margin-top:4px}.accessError{font-size:12px;line-height:1.45;color:#f08c8c;background:rgba(180,45,45,.10);border:1px solid rgba(220,80,80,.20);border-radius:8px;padding:10px 12px}
.navright > .login{border:0;background:none;padding:0;cursor:pointer}
@media(max-width:500px){.accessModal{padding:32px 24px}.accessChoices{grid-template-columns:1fr}.detailMedia{grid-template-columns:1fr 92px}.detailShotsTitle{font-size:9px}.detailShots{height:calc(100% - 18px)}}

.actions{display:flex;gap:16px;margin-top:26px}

.trailerPreview{width:100%;height:100%;min-height:260px;padding:0;border:0;border-radius:11px;overflow:hidden;background:#111;position:relative;cursor:pointer;text-align:left}
.trailerPreview img{width:100%;height:100%;object-fit:cover;display:block}
.trailerPreview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 45%)}
.trailerPlay{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.28);font-size:18px}
.trailerLabel{position:absolute;z-index:2;left:15px;bottom:12px;color:#fff;font-size:12px}.trailerLabel small{color:#aaa}
.modalBackdrop{position:fixed;z-index:1000;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:30px}
.trailerModal{width:min(1100px,92vw);position:relative}
.modalVideo{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 90px rgba(0,0,0,.6)}
.modalVideo iframe{width:100%;height:100%;border:0}
.modalClose{position:absolute;right:-4px;top:-46px;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(10,10,10,.8);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.actions{gap:16px}

/* v7 — trailer opens in a modal; never turns the inline preview into an iframe */
.detailTrailer{min-width:0}
.trailerPreview{width:100%;height:100%;min-height:250px;padding:0;border:0;border-radius:11px;overflow:hidden;background:#111;position:relative;cursor:pointer;text-align:left;display:block}
.trailerPreview img{width:100%;height:100%;object-fit:cover;display:block}
.trailerPreview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 48%)}
.trailerPlay{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.72);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.25)}
.trailerLabel{position:absolute;z-index:2;left:15px;bottom:25px;color:#fff;font-size:12px}
.trailerSource{position:absolute;z-index:2;left:15px;bottom:10px;color:#aaa;font-size:10px}
.detailShotsTitle{font-size:10px!important;line-height:1.35}
.detailShotsMore{margin-top:8px;color:#8a9095;font-size:11px;text-align:right}
.trailerModalBackdrop{position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:32px}
.trailerModal{position:relative;width:min(1100px,92vw)}
.trailerModalVideo{width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 28px 100px rgba(0,0,0,.7)}
.trailerModalVideo iframe{display:block;width:100%;height:100%;border:0}
.trailerModalClose{position:absolute;z-index:2;right:-2px;top:-46px;width:34px;height:34px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(8,9,10,.82);color:#fff;display:grid;place-items:center;cursor:pointer}
.trailerModalClose:hover{background:#fff;color:#000}

.hubHero{position:relative;min-height:560px;overflow:hidden;margin:0 -32px 18px;padding:0 32px;display:flex;align-items:flex-end}
.hubHeroBg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9)}
.hubHeroBg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.78) 25%,rgba(5,6,7,.25) 65%,rgba(5,6,7,.52) 100%),linear-gradient(0deg,#050607 0%,transparent 55%,rgba(5,6,7,.35) 100%)}
.hubHeroContent{position:relative;z-index:1;width:650px;padding:0 0 62px}
.hubHeroKicker{font-size:11px;letter-spacing:.35em;color:#858b90;margin:12px 0}
.hubHero h1{font-size:clamp(52px,7vw,100px);font-weight:300;letter-spacing:.08em;line-height:.9;margin:0 0 18px}
.hubHero p{color:#b8bdc1;max-width:560px;line-height:1.55;font-size:14px}

.errorPage{padding:120px 0 160px;min-height:70vh}.errorTitle{max-width:900px}.errorMessage{max-width:760px;margin:22px 0}.errorBox{max-width:720px;margin:28px 0 32px;padding:22px 24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.errorBox strong{display:block;margin-bottom:8px}.errorBox p{margin:0 0 14px;color:rgba(255,255,255,.62);line-height:1.6}.errorBox code{font-family:monospace;color:rgba(255,255,255,.8)}
