:root{
  color-scheme:dark;
  --bg:#07070d;--bg2:#0d0d17;--card:#13131f;--card2:#191928;
  --accent:#8b5cf6;--accent2:#ec4899;--gold:#e0b872;--green:#5ee6a8;
  --text:#f7f7fb;--muted:#9ca3b4;--border:rgba(255,255,255,.09);
  --border2:rgba(255,255,255,.16);--shadow:0 28px 80px rgba(0,0,0,.48);
  --radius:22px;--nav:74px;--max:1460px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 5% -4%,rgba(139,92,246,.2),transparent 30%),radial-gradient(circle at 95% 18%,rgba(236,72,153,.14),transparent 28%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{max-width:100%}
[hidden]{display:none!important}
.container{width:min(var(--max),calc(100% - 11%));margin-inline:auto}
.section{padding:105px 0}
.section-anchor{scroll-margin-top:95px}
.dark-section{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006))}
.soft-section{background:linear-gradient(180deg,transparent,rgba(255,255,255,.018),transparent)}
.reveal{opacity:0;transform:translateY(27px);transition:.7s}
.reveal.visible{opacity:1;transform:none}
.skip-link{position:fixed;top:10px;left:10px;z-index:20000;padding:10px 14px;background:#fff;color:#000;border-radius:9px;font-weight:900;transform:translateY(-150%)}
.skip-link:focus{transform:none}
#stars{position:fixed;inset:0;z-index:-3;pointer-events:none}
.grain{position:fixed;inset:-50%;z-index:-2;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .45s steps(2) infinite}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:none}}
.gradient{background:linear-gradient(90deg,var(--accent),var(--accent2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-block;color:var(--gold);font-size:.74rem;font-weight:950;letter-spacing:2px;text-transform:uppercase}
.heading{max-width:800px;margin:0 auto 50px;text-align:center}
.heading-row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;text-align:left}
.heading-row>div:first-child{max-width:800px}
.heading h2{margin:10px 0 13px;font-size:clamp(2.2rem,4.7vw,4rem);line-height:1.04;letter-spacing:-.045em}
.heading p{margin:0;color:var(--muted)}
.btn{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:1px solid transparent;border-radius:999px;font-weight:900;transition:.22s}
.btn:hover{transform:translateY(-3px)}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 15px 40px rgba(139,92,246,.27)}
.btn.ghost{background:rgba(255,255,255,.035);border-color:var(--border2)}
.btn.compact{min-height:44px;padding:9px 18px}

/* loader */
.loader{position:fixed;inset:0;z-index:30000;display:grid;place-content:center;text-align:center;background:var(--bg);transition:.5s}
.loader.hidden{opacity:0;visibility:hidden}
.loader-ring{width:72px;height:72px;position:relative;margin:0 auto 20px;border-radius:50%;background:conic-gradient(var(--accent),var(--accent2),var(--gold),var(--accent));animation:spin 1s linear infinite}
.loader-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--bg)}
.loader strong{font-size:1.3rem}.loader span{margin-top:4px;color:var(--muted);font-size:.78rem}
@keyframes spin{to{transform:rotate(1turn)}}

/* top/nav */
.announcement{height:35px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.055);background:#0b0b14;color:var(--muted);font-size:.77rem}
.announcement-inner{display:flex;align-items:center;justify-content:space-between}
.announcement i{width:7px;height:7px;display:inline-block;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green)}
.announcement a{color:#d9ceff;font-weight:900}
.nav{position:sticky;top:0;z-index:1500;height:var(--nav);background:rgba(7,7,13,.68);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.25s}
.nav.scrolled{background:rgba(7,7,13,.9);border-color:var(--border);box-shadow:0 15px 45px rgba(0,0,0,.23)}
.nav-inner{height:100%;display:flex;align-items:center;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:1.2rem;font-weight:900}
.brand b{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--accent),var(--accent2),var(--gold),var(--accent));box-shadow:0 0 27px rgba(139,92,246,.42);animation:spin 11s linear infinite}
.brand-mark i{width:15px;height:15px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.nav-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-left:auto}
.nav-links a{position:relative;color:var(--muted);font-size:.82rem;font-weight:850}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:.2s}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.shortlist-nav{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.035);font-size:.75rem;font-weight:900}
.shortlist-nav>b{min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;border-radius:20px;background:rgba(139,92,246,.18);font-size:.68rem}
.menu-btn{display:none;width:43px;height:43px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}
.menu-btn span{width:19px;height:2px;display:block;margin:4px auto;background:#fff;transition:.22s}

/* hero */
.hero{min-height:calc(100svh - 35px - var(--nav));display:flex;flex-direction:column;justify-content:space-between;padding-top:75px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:50px;flex:1}
.hero-copy h1{max-width:850px;margin:15px 0 23px;font-size:clamp(3.2rem,6.8vw,6.8rem);line-height:.92;letter-spacing:-.065em}
.hero-copy>p{max-width:680px;margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.2rem)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px}
.hero-stats div{padding:16px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.hero-stats strong{display:block;font-size:1.25rem}.hero-stats span{display:block;color:var(--muted);font-size:.68rem}
.hero-art{min-height:580px;position:relative;display:grid;place-items:center}
.poster-stack{width:min(500px,90%);height:540px;position:relative;perspective:1400px}
.stack-poster{position:absolute;width:265px;aspect-ratio:2/3;overflow:hidden;border:1px solid var(--border2);border-radius:18px;background:var(--card);box-shadow:0 28px 80px rgba(0,0,0,.55);cursor:pointer}
.stack-poster img{width:100%;height:100%;display:block;object-fit:cover}
.stack-center{left:50%;top:47%;z-index:3;transform:translate(-50%,-50%)}
.stack-left{left:5%;top:53%;z-index:2;transform:translateY(-50%) rotate(-10deg) scale(.86)}
.stack-right{right:3%;top:50%;z-index:1;transform:translateY(-50%) rotate(10deg) scale(.84)}
.placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#25203f,#11111c 55%,#2c162f);color:#d9ceff;font-weight:950;text-transform:uppercase;letter-spacing:2px}
.placeholder::after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.11);border-radius:13px}
.orbit{position:absolute;border:1px solid rgba(139,92,246,.12);border-radius:50%}.orbit-a{width:500px;height:500px}.orbit-b{width:670px;height:670px;border-color:rgba(236,72,153,.08)}
.float-tag{position:absolute;z-index:6;padding:12px 15px;border:1px solid var(--border2);border-radius:13px;background:rgba(14,14,24,.77);backdrop-filter:blur(14px);box-shadow:0 20px 48px rgba(0,0,0,.35)}
.float-tag small{display:block;color:var(--gold);font-size:.65rem;font-weight:900;letter-spacing:1px;text-transform:uppercase}.float-tag b{display:block;font-size:.86rem}
.tag-a{left:2%;top:26%}.tag-b{right:1%;bottom:21%}
.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(255,255,255,.018)}
.marquee>div{width:max-content;display:flex;gap:27px;align-items:center;padding:13px 0;color:var(--muted);font-size:.68rem;font-weight:950;letter-spacing:2px;animation:marquee 28s linear infinite}
.marquee i{color:var(--accent2)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* featured */
.carousel-arrows{display:flex;gap:8px}.carousel-arrows button{width:47px;height:47px;border:1px solid var(--border);border-radius:50%;background:rgba(255,255,255,.035);font-size:1.05rem}
.featured-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px,305px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 23px;scrollbar-width:thin}
.featured-card{position:relative;aspect-ratio:2/3;overflow:hidden;scroll-snap-align:start;border:1px solid var(--border);border-radius:19px;background:var(--card);box-shadow:0 21px 54px rgba(0,0,0,.34);cursor:pointer}
.featured-card img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}.featured-card:hover img{transform:scale(1.06)}
.featured-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.95),transparent 62%)}
.featured-info{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:21px}.featured-info small{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:1px}.featured-info h3{margin:6px 0 3px}.featured-info p{margin:0;color:#d5d1dc;font-size:.79rem}
.empty-card{min-height:300px;display:grid;place-content:center;padding:30px;border:1px dashed var(--border2);border-radius:18px;text-align:center;color:var(--muted)}.empty-card strong{color:#fff}.empty-card span{display:block;margin-top:5px}

/* services/pipeline */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{min-height:355px;position:relative;overflow:hidden;padding:32px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,var(--card),rgba(19,19,31,.7));transition:.28s}
.service-card:hover{transform:translateY(-7px);border-color:rgba(139,92,246,.48);box-shadow:0 25px 68px rgba(0,0,0,.27)}
.service-card>b{position:absolute;right:23px;top:18px;color:rgba(255,255,255,.13);font-size:2.2rem}
.service-card>span{width:60px;height:60px;display:grid;place-items:center;margin-bottom:25px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:1.5rem}
.service-card h3{margin:0 0 9px}.service-card p{margin:0;color:var(--muted)}
.service-card ul{margin:20px 0 0;padding:0;list-style:none}.service-card li{position:relative;padding:7px 0 7px 18px;border-top:1px solid rgba(255,255,255,.055);color:#cbccd4;font-size:.82rem}.service-card li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--accent2)}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pipeline article{position:relative;padding:73px 20px 22px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.025);text-align:center}
.pipeline b{position:absolute;top:13px;left:50%;width:42px;height:42px;display:grid;place-items:center;transform:translateX(-50%);border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:.72rem}
.pipeline h3{margin:0 0 7px}.pipeline p{margin:0;color:var(--muted);font-size:.81rem}

/* local/catalog */
.library-section{background:radial-gradient(circle at 50% 0,rgba(139,92,246,.1),transparent 35%)}
.local-help{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:17px 19px;border:1px solid rgba(224,184,114,.28);border-radius:15px;background:rgba(224,184,114,.07)}
.local-help strong{display:block}.local-help span{display:block;color:var(--muted);font-size:.82rem}.local-help code{color:var(--gold)}
.catalog{overflow:hidden;border:1px solid var(--border);border-radius:26px;background:rgba(15,15,25,.79);box-shadow:var(--shadow)}
.catalog-tools{position:sticky;top:var(--nav);z-index:50;display:grid;grid-template-columns:minmax(250px,1fr) 180px 125px 125px auto auto;gap:9px;padding:17px;border-bottom:1px solid var(--border);background:rgba(15,15,25,.93);backdrop-filter:blur(18px)}
.search-wrap{position:relative}.search-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.25rem}
.search-wrap input,.catalog-tools select,.shortlist-filter{width:100%;height:45px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035);outline:none}
.search-wrap input{padding:0 42px}.search-wrap input:focus,.catalog-tools select:focus{border-color:rgba(139,92,246,.7);box-shadow:0 0 0 4px rgba(139,92,246,.12)}
.search-wrap button{position:absolute;right:6px;top:50%;width:33px;height:33px;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:var(--muted)}
.catalog-tools select{padding:0 11px}.shortlist-filter{padding:0 13px;font-size:.78rem;font-weight:900}.shortlist-filter[aria-pressed=true]{border-color:transparent;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.grid-toggle{display:flex;gap:5px}.grid-toggle button{width:45px;height:45px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}.grid-toggle button.active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent2))}
.genre-tabs{display:flex;gap:8px;padding:15px 17px 4px;overflow-x:auto;scrollbar-width:thin}.genre-tabs button{flex:0 0 auto;min-height:33px;padding:5px 13px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:.76rem;font-weight:900}.genre-tabs button.active{border-color:transparent;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff}
.catalog-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 19px 0;color:var(--muted);font-size:.82rem}.catalog-status button{border:0;background:transparent;color:#d7cbff;font-weight:900}
.film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:24px;padding:21px}.film-grid.large{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.film-card{min-width:0;position:relative;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;transform-style:preserve-3d;transition:.22s}
.poster-wrap{position:relative;aspect-ratio:2/3;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.06) 40%,transparent 60%) -200% 0/200% 100%,var(--card);box-shadow:0 18px 40px rgba(0,0,0,.4);animation:skeleton 1.7s linear infinite}.poster-wrap.loaded{animation:none}@keyframes skeleton{to{background-position:200% 0}}
.poster-wrap img{width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:.4s}.poster-wrap.loaded img{opacity:1}.film-card:hover img{transform:scale(1.06)}
.poster-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent 62%);opacity:0;transition:.22s}.film-card:hover .poster-shade{opacity:1}
.favorite{position:absolute;z-index:4;right:10px;top:10px;width:37px;height:37px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(7,7,13,.68);font-size:1.12rem}.favorite.active{color:#ff79b2}
.poster-overlay{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:16px;opacity:0;transition:.22s}.film-card:hover .poster-overlay{opacity:1}.poster-overlay strong{display:block}.poster-overlay small{color:#d5d1dc}
.film-info{display:block;padding:11px 3px 0;text-align:center}.film-info strong,.film-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.film-info strong{font-size:.88rem}.film-info small{margin-top:3px;color:var(--muted);font-size:.71rem}
.poster-fallback{width:100%;height:100%;display:grid;place-content:center;padding:25px;text-align:center;background:linear-gradient(145deg,#271f43,#11111c 55%,#31172f);color:#d9ceff;font-weight:950}
.empty-library{grid-column:1/-1;padding:70px 20px;text-align:center;color:var(--muted)}.empty-library strong{display:block;color:#fff}
.load-more-area{display:flex;justify-content:center;padding:2px 20px 30px}

/* markets/acquisition/performance */
.markets-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:23px}
.world-panel{min-height:490px;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 55% 45%,rgba(139,92,246,.25),transparent 22%),radial-gradient(circle at center,#17172b,#0c0c14 65%)}
.world-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.065);border-radius:50%;transform:translate(-50%,-50%) scaleX(1.6)}.ring-one{width:58%;height:58%}.ring-two{width:86%;height:86%}
.market-point{position:absolute;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(13,13,23,.78);font-size:.67rem;font-weight:900}.market-point::before{content:"";width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%;background:var(--accent2);box-shadow:0 0 12px var(--accent2)}
.p1{left:12%;top:25%}.p2{left:24%;top:61%}.p3{left:55%;top:23%}.p4{left:61%;top:48%}.p5{right:5%;bottom:24%}
.world-copy{position:absolute;left:27px;bottom:24px;max-width:330px}.world-copy h3{margin:6px 0;font-size:1.55rem}.world-copy p{margin:0;color:var(--muted)}
.rights-list{display:grid;gap:9px}.rights-list article{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:19px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.rights-list b{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(139,92,246,.14);font-size:.71rem}.rights-list h3{margin:0 0 3px}.rights-list p{margin:0;color:var(--muted);font-size:.79rem}
.format-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:23px}.format-strip span{padding:13px 6px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02);text-align:center;color:var(--muted);font-size:.64rem;font-weight:950;letter-spacing:.7px}
.acquisition-grid,.performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.acquisition-copy,.submission-process,.performance-copy,.performance-bars{padding:36px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,var(--card),rgba(19,19,31,.68))}
.acquisition-copy h2{margin:8px 0 15px;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.03;letter-spacing:-.04em}.acquisition-copy>p,.performance-copy>p{color:var(--muted)}
.criteria{display:grid;gap:13px;margin:26px 0}.criteria>div{display:grid;grid-template-columns:27px 1fr;gap:10px}.criteria b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(94,230,168,.12);color:var(--green)}.criteria span{color:var(--muted);font-size:.85rem}.criteria strong{color:#fff}
.submission-process article{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:19px 0;border-top:1px solid var(--border)}.submission-process article>b{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:.7rem}.submission-process h3{margin:0 0 3px}.submission-process p{margin:0;color:var(--muted);font-size:.8rem}
.performance-copy h2{margin:8px 0 12px;font-size:2.25rem;line-height:1.08}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:26px}.metrics div{padding:14px;border:1px solid var(--border);border-radius:12px}.metrics strong{display:block;font-size:1.18rem}.metrics span{display:block;color:var(--muted);font-size:.67rem}
.performance-bars{display:grid;gap:20px;align-content:center}.performance-bars>div{display:grid;grid-template-columns:1fr auto;gap:7px}.performance-bars b{color:var(--gold)}.performance-bars i{grid-column:1/-1;height:6px;border-radius:10px;background:rgba(255,255,255,.06);overflow:hidden}.performance-bars i::after{content:"";display:block;width:var(--value);height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}

/* content */
.insights-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.insight{min-height:345px;display:flex;flex-direction:column;justify-content:flex-end;padding:27px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(139,92,246,.07));transition:.25s}.insight:hover{transform:translateY(-6px)}.insight.lead{background:radial-gradient(circle at 80% 15%,rgba(236,72,153,.22),transparent 36%),linear-gradient(150deg,#1c1730,#10101a)}.insight>span{color:var(--gold);font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:1.4px}.insight h3{margin:11px 0 9px;font-size:1.32rem;line-height:1.18}.insight p{margin:0;color:var(--muted);font-size:.83rem}.insight small{margin-top:17px;color:#d7cbff;font-weight:900}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}.about-copy{padding:38px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.025)}.about-copy h2{margin:8px 0 16px;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.03}.about-copy p{color:var(--muted)}
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px}.values article{min-height:215px;padding:25px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,var(--card),rgba(19,19,31,.68))}.values b{color:rgba(255,255,255,.18);font-size:1.8rem}.values h3{margin:22px 0 6px}.values p{margin:0;color:var(--muted);font-size:.82rem}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:37px;align-items:start}.faq-heading{text-align:left;margin:0}.faq-list{border-top:1px solid var(--border)}.faq-list article{border-bottom:1px solid var(--border)}.faq-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0;border:0;background:transparent;text-align:left;font-weight:900}.faq-list button b{width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;font-size:1.15rem;transition:.22s}.faq-list button[aria-expanded=true] b{transform:rotate(45deg);background:rgba(139,92,246,.15)}.faq-list article>div{max-height:0;overflow:hidden;transition:.3s}.faq-list p{margin:0;padding:0 47px 21px 0;color:var(--muted)}

/* contact */
.contact-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:27px;margin-bottom:22px;padding:34px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(110deg,rgba(139,92,246,.12),rgba(236,72,153,.06),rgba(255,255,255,.025))}.contact-banner h2{margin:7px 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.contact-banner p{max-width:670px;margin:0;color:var(--muted)}
.contact-stats{display:flex;gap:9px}.contact-stats span{min-width:125px;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(7,7,13,.3);color:var(--muted);font-size:.66rem}.contact-stats strong{display:block;color:#fff;font-size:1rem}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px}.departments,.contact-form{padding:33px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,var(--card),rgba(19,19,31,.68))}
.departments h3{margin-top:0}.departments a{display:block;margin-bottom:8px;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025);transition:.2s}.departments a:hover{transform:translateX(3px);border-color:rgba(139,92,246,.5)}.departments strong,.departments span{display:block}.departments span{color:var(--muted);font-size:.78rem}.departments p{color:#d3a6bc;font-size:.73rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px}.form-grid label>span{font-size:.78rem;font-weight:900}.form-grid .full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea,.submission-modal input,.submission-modal select,.submission-modal textarea,.newsletter input{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.035);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.submission-modal input:focus,.submission-modal select:focus,.submission-modal textarea:focus,.newsletter input:focus{border-color:rgba(139,92,246,.7);box-shadow:0 0 0 4px rgba(139,92,246,.12)}
.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:15px}.form-actions span{color:var(--muted);font-size:.79rem}.form-actions span.success,#newsletterStatus.success{color:#86efac}.form-actions span.error,#newsletterStatus.error{color:#fda4af}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important}.check input{width:auto!important;margin-top:4px}
.newsletter{padding:41px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(139,92,246,.09),rgba(236,72,153,.06))}.newsletter-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:21px}.newsletter h2{margin:6px 0 0;font-size:1.5rem}.newsletter form{display:flex;gap:8px}.newsletter input{min-width:280px;border-radius:999px}.newsletter>div>span:last-child{grid-column:1/-1;text-align:right;color:var(--muted);font-size:.77rem}

/* footer/modal */
footer{padding:68px 0 24px;background:#08080e}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:31px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-grid h3{margin:0 0 6px;font-size:.83rem}.footer-grid a,.footer-grid button{padding:0;border:0;background:transparent;color:var(--muted);font-size:.79rem}.footer-brand p{max-width:350px;color:var(--muted);font-size:.81rem}.socials{display:flex;gap:7px;margin-top:15px}.socials a{width:37px;height:37px;display:grid!important;place-items:center;border:1px solid var(--border);border-radius:50%}.footer-bottom{display:flex;justify-content:space-between;gap:18px;margin-top:41px;padding-top:19px;border-top:1px solid var(--border);color:var(--muted);font-size:.72rem}
.top-btn{position:fixed;right:20px;bottom:20px;z-index:3000;width:48px;height:48px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 14px 34px rgba(139,92,246,.33);opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s}.top-btn.show{opacity:1;visibility:visible;transform:none}
.modal-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.22s}.modal-backdrop.open{opacity:1;visibility:visible}
.film-modal,.submission-modal{width:min(900px,100%);max-height:calc(100svh - 44px);position:relative;overflow:auto;border:1px solid var(--border);border-radius:22px;background:var(--bg2);box-shadow:0 40px 120px rgba(0,0,0,.74);transform:translateY(10px) scale(.97);transition:.22s}.modal-backdrop.open .film-modal,.modal-backdrop.open .submission-modal{transform:none}
.film-modal{display:grid;grid-template-columns:minmax(280px,360px) 1fr}.modal-close{position:absolute;right:14px;top:14px;z-index:5;width:41px;height:41px;border:1px solid var(--border);border-radius:50%;background:rgba(7,7,13,.73);font-size:1.3rem}
.modal-poster-wrap{position:relative;min-height:555px;background:var(--card)}.modal-poster-wrap img{width:100%;height:100%;display:block;object-fit:cover}.modal-poster-wrap>button{position:absolute;right:15px;bottom:15px;width:47px;height:47px;border:1px solid var(--border2);border-radius:50%;background:rgba(7,7,13,.73);font-size:1.45rem}.modal-poster-wrap>button.active{color:#ff79b2}
.modal-content{padding:42px 36px}.modal-content h2{margin:8px 45px 15px 0;font-size:clamp(2rem,4vw,2.9rem);line-height:1.04}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.badges span{padding:5px 10px;border:1px solid rgba(139,92,246,.35);border-radius:999px;background:rgba(139,92,246,.1);color:#d9ceff;font-size:.72rem;font-weight:850}.modal-content>p{color:var(--muted)}.modal-content dl{margin:24px 0;border-top:1px solid var(--border)}.modal-content dl>div{display:grid;grid-template-columns:110px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--border)}.modal-content dt{color:var(--muted);font-size:.75rem}.modal-content dd{margin:0;overflow-wrap:anywhere;font-size:.78rem;font-weight:850}.modal-actions,.modal-nav{display:flex;gap:9px;flex-wrap:wrap}.modal-nav{justify-content:space-between;margin-top:23px;padding-top:17px;border-top:1px solid var(--border)}.modal-nav button{border:0;background:transparent;color:#d8ccff;font-weight:900}
.submission-modal{padding:37px}.submission-modal h2{margin:7px 45px 6px 0;font-size:2.3rem}.submission-modal>p{margin:0 0 22px;color:var(--muted)}.submission-modal form{display:grid;gap:14px}

/* responsive */
@media(max-width:1180px){.nav-links{gap:13px}.nav-links a{font-size:.76rem}.catalog-tools{grid-template-columns:minmax(230px,1fr) 175px 120px 120px auto}.grid-toggle{grid-column:5}.shortlist-filter{grid-column:1/-1}.footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}.format-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:930px){.container{width:min(var(--max),calc(100% - 36px))}.announcement{display:none}.nav{position:fixed;inset:0 0 auto}.menu-btn{display:block;margin-left:auto}.nav-links{position:fixed;top:calc(var(--nav) + 10px);left:18px;right:18px;display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:16px;background:rgba(13,13,23,.98);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s}.nav-links.open{opacity:1;visibility:visible;transform:none}.nav-links a{padding:10px;border-radius:9px;font-size:.86rem}.nav-links a:hover{background:rgba(255,255,255,.045)}.nav-links a::after{display:none}.shortlist-nav span{display:none}.hero{min-height:auto;padding-top:120px}.hero-grid{grid-template-columns:1fr;text-align:center}.hero-copy>p{margin-inline:auto}.hero-actions{justify-content:center}.hero-stats{max-width:650px;margin-inline:auto;margin-top:34px}.hero-art{min-height:515px}.services-grid{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:repeat(3,1fr)}.catalog-tools{top:var(--nav);grid-template-columns:1fr 1fr}.search-wrap{grid-column:1/-1}.shortlist-filter{grid-column:auto}.grid-toggle{grid-column:auto;justify-content:flex-end}.markets-grid,.acquisition-grid,.performance-grid,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.insights-grid{grid-template-columns:1fr 1fr}.insight.lead{grid-column:1/-1}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.newsletter-inner{grid-template-columns:1fr}.newsletter form{width:100%}.newsletter input{min-width:0;flex:1}.newsletter>div>span:last-child{text-align:left}}
@media(max-width:650px){:root{--nav:67px}.section{padding:78px 0}.hero-copy h1{font-size:clamp(3rem,14vw,5rem)}.hero-stats{grid-template-columns:1fr 1fr}.hero-art{min-height:430px}.poster-stack{height:410px}.stack-poster{width:210px}.float-tag{display:none}.orbit-a{width:390px;height:390px}.orbit-b{width:500px;height:500px}.heading-row{display:block}.carousel-arrows{margin-top:17px}.services-grid,.pipeline{grid-template-columns:1fr}.catalog-tools{grid-template-columns:1fr 1fr}.search-wrap,.shortlist-filter{grid-column:1/-1}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:13px}.film-grid.large{grid-template-columns:1fr}.local-help,.contact-banner{align-items:flex-start;flex-direction:column}.format-strip{grid-template-columns:1fr 1fr}.insights-grid,.values{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.contact-stats{width:100%}.contact-stats span{flex:1;min-width:0}.newsletter form{flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.film-modal{grid-template-columns:1fr}.modal-poster-wrap{min-height:0;height:min(55svh,510px)}.modal-content{padding:29px 23px}.submission-modal{padding:27px 20px}}
@media(hover:none){.poster-shade{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 45%)}.poster-overlay{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}#stars{display:none}}


/* ==========================================================
   MOBILE HARD FIX V3 — iPhone/Safari stable gallery mode
   ========================================================== */

.library-section,
.library-section.reveal,
#library,
#library .catalog,
#library .film-grid {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 930px) {
  section.reveal,
  header.reveal,
  .reveal {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Reduce iPhone compositing/memory pressure. */
  #stars,
  .grain,
  .orbit,
  .marquee {
    display: none !important;
  }

  .nav,
  .catalog-tools,
  .float-tag {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .catalog,
  .film-grid,
  .film-card,
  .poster-wrap {
    contain: none !important;
    content-visibility: visible !important;
  }

  .film-grid {
    min-height: 120px;
    position: relative;
    z-index: 1;
  }

  .catalog {
    overflow: visible;
  }

  .catalog-tools {
    position: relative;
    top: auto;
  }

  .film-card {
    transform: none !important;
    filter: none !important;
  }

  .poster-wrap {
    box-shadow: 0 10px 24px rgba(0,0,0,.32);
  }
}

@media (max-width: 650px) {
  .film-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
