:root{
  --ink:#050505;
  --paper:#f3f0e9;
  --paper-2:#e9e4da;
  --white:#fff;
  --muted:#77736c;
  --line:rgba(5,5,5,.18);
  --line-light:rgba(255,255,255,.22);
  --pad:clamp(18px,3vw,52px);
  --ease:cubic-bezier(.22,.78,.18,1);
  --header-h:68px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.2;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--ink);color:var(--white)}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* loader */
.site-loader{position:fixed;inset:0;z-index:999;background:var(--ink);color:#fff;display:grid;place-items:center;transition:opacity .55s var(--ease),visibility .55s}
.site-loader.done{opacity:0;visibility:hidden}
.loader-word{font-weight:900;letter-spacing:-.07em;font-size:clamp(48px,10vw,150px);text-transform:uppercase;line-height:.8}
.loader-word small{display:block;font-size:10px;letter-spacing:.2em;font-weight:400;text-align:center;margin-top:22px}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--header-h);z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);background:rgba(243,240,233,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:transform .35s var(--ease),background .35s}
.site-header.hide{transform:translateY(-101%)}
.brand{font-size:clamp(19px,1.8vw,30px);font-weight:900;text-transform:uppercase;letter-spacing:-.055em;white-space:nowrap}
.brand span{font-weight:400;letter-spacing:.015em}
.desktop-nav{display:flex;align-items:center;gap:7px}
.desktop-nav a,.lang-btn,.menu-btn,.micro-link{border:1px solid currentColor;border-radius:999px;padding:8px 11px;background:transparent;font-size:10px;text-transform:uppercase;letter-spacing:.13em;transition:background .2s,color .2s,transform .2s}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"],.lang-btn:hover,.menu-btn:hover,.micro-link:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}
.header-actions{justify-self:end;display:flex;gap:7px;align-items:center}
.menu-btn{display:none}

/* mobile nav */
.mobile-drawer{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;padding:calc(var(--header-h) + 34px) var(--pad) 28px;transform:translateY(-105%);transition:transform .55s var(--ease);overflow:auto}
.mobile-drawer.open{transform:translateY(0)}
.mobile-drawer nav{display:grid}
.mobile-drawer a{font-size:clamp(38px,11vw,86px);line-height:.9;font-weight:900;letter-spacing:-.065em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid var(--line-light)}
.mobile-meta{margin-top:32px;display:flex;justify-content:space-between;gap:15px;color:#aaa;font-size:10px;text-transform:uppercase;letter-spacing:.14em}

/* shared typography */
.eyebrow,.kicker,.overline{font-size:10px;text-transform:uppercase;letter-spacing:.17em}
.eyebrow{display:flex;align-items:center;gap:11px}
.eyebrow:before{content:"";width:42px;height:1px;background:currentColor}
.kicker{color:var(--muted)}
.black .kicker,.page-dark .kicker{color:#aaa}
.display{font-size:clamp(46px,7.5vw,124px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;margin:8px 0 0;font-weight:900}
.lead{font-size:clamp(19px,2.1vw,31px);line-height:1.25;letter-spacing:-.025em}
.body-copy{font-size:15px;line-height:1.58;color:var(--muted)}
.black .body-copy,.page-dark .body-copy{color:#b7b7b7}

/* home hero */
.hero{min-height:100svh;position:relative;overflow:hidden;background:#ded7ca;color:#fff;display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.08) 57%,rgba(0,0,0,.88) 100%)}
.hero-content{position:relative;z-index:2;width:100%;padding:calc(var(--header-h) + 70px) var(--pad) 42px}
.hero-lockup{max-width:1420px}
.hero-edition{font-size:clamp(11px,1vw,16px);font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin:0 0 12px}
.hero h1{font-size:clamp(56px,9.4vw,162px);line-height:.78;letter-spacing:-.082em;text-transform:uppercase;margin:0;font-weight:900;text-shadow:0 2px 28px rgba(0,0,0,.14)}
.hero h1 .thin{font-weight:400;letter-spacing:-.065em}
.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-top:27px}
.hero-meta{font-size:clamp(13px,1.25vw,19px);text-transform:uppercase;letter-spacing:.08em;max-width:620px}
.hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hero-scroll{position:absolute;right:var(--pad);top:calc(var(--header-h) + 18px);z-index:3;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:4px}

.pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid currentColor;border-radius:999px;padding:11px 15px;background:transparent;font-size:10px;text-transform:uppercase;letter-spacing:.13em;transition:background .22s,color .22s,transform .22s}
.pill:hover{background:#fff;color:#000;transform:translateY(-2px)}
.pill.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.dark:hover{background:transparent;color:var(--ink)}
.pill.arrow:after{content:"↗";font-size:13px}

/* ribbon */
.ticker{overflow:hidden;background:var(--ink);color:#fff;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.ticker-track{width:max-content;display:flex;gap:28px;align-items:center;padding:12px 0;animation:ticker 34s linear infinite;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.ticker-track span:after{content:"✦";margin-left:28px;font-size:8px}
@keyframes ticker{to{transform:translateX(-50%)}}

/* generic sections */
.section{position:relative;padding:clamp(76px,9vw,150px) var(--pad)}
.section:not(.black):before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:var(--line)}
.section.black{background:var(--ink);color:#fff}
.section-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:36px;align-items:end;margin-bottom:clamp(38px,5vw,72px)}
.section-intro{font-size:clamp(17px,1.6vw,24px);line-height:1.4;max-width:670px;justify-self:end;margin:0}

/* statement */
.manifesto{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.manifesto-big{grid-column:1/9;font-size:clamp(36px,5.8vw,94px);line-height:.94;letter-spacing:-.062em;font-weight:800;margin:0}
.manifesto-side{grid-column:10/13;align-self:end;font-size:14px;line-height:1.6;border-left:1px solid var(--line);padding-left:18px}

/* editorial feature rail */
.feature-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.feature{min-height:420px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .25s}
.feature:hover{background:var(--paper-2)}
.feature-index{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.feature h3{font-size:clamp(34px,4.6vw,72px);line-height:.86;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-weight:900}
.feature p{max-width:360px;font-size:13px;line-height:1.55;margin:0;color:var(--muted)}

/* film cards */
.filter-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.filter-row{display:flex;gap:7px;flex-wrap:wrap}
.filter{appearance:none;background:transparent;border:1px solid currentColor;border-radius:999px;padding:8px 11px;text-transform:uppercase;font-size:9px;letter-spacing:.13em}
.filter.active{background:currentColor;color:var(--paper)}
.black .filter.active,.page-dark .filter.active{background:#fff;color:#000}
.search-input{min-width:min(310px,100%);border:0;border-bottom:1px solid currentColor;background:transparent;padding:8px 2px;text-transform:uppercase;font-size:10px;letter-spacing:.13em;outline:0}
.search-input::placeholder{color:currentColor;opacity:.55}
.film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-light);border:1px solid var(--line-light)}
.film-card{position:relative;min-height:470px;background:#0c0c0c;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate}
.film-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 75% 15%,rgba(255,255,255,.16),transparent 31%),linear-gradient(145deg,transparent 32%,rgba(255,255,255,.06));transition:transform .55s var(--ease),opacity .55s}
.film-card:hover:before{transform:scale(1.09) rotate(1deg);opacity:1.15}
.film-num{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#aaa}
.film-title{font-size:clamp(34px,3.5vw,60px);line-height:.81;letter-spacing:-.07em;text-transform:uppercase;font-weight:900;margin:0;word-break:normal}
.film-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.25);padding-top:11px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.film-card[data-country="Romania"]{background:#171717}.film-card[data-country="Kazakhstan"]{background:#101010}.film-card[data-country="Uzbekistan"]{background:#151515}.film-card[data-country="Kyrgyzstan"]{background:#090909}.film-card[data-country="Pakistan"]{background:#181818}
.film-status{position:absolute;right:17px;top:17px;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.14em}

/* program */
.days{border-top:1px solid var(--line)}
.day{display:grid;grid-template-columns:95px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center;transition:padding .25s var(--ease),background .25s}
.day:hover{padding-left:10px}
.day-index{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.day-title{font-size:clamp(25px,3.6vw,56px);font-weight:900;letter-spacing:-.05em;text-transform:uppercase}
.day-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tag{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.schedule-grid{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line)}
.schedule-row{display:contents}
.schedule-time,.schedule-event{padding:18px 0;border-bottom:1px solid var(--line)}
.schedule-time{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.schedule-event{display:grid;grid-template-columns:1fr auto;gap:15px;font-size:clamp(20px,2.2vw,34px);font-weight:800;letter-spacing:-.035em;text-transform:uppercase}
.schedule-event small{font-size:9px;letter-spacing:.13em;font-weight:400;align-self:center;color:var(--muted)}

/* guests */
.guests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.guest{border-top:1px solid rgba(255,255,255,.3);padding-top:14px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between}
.guest-name{font-size:clamp(31px,4.1vw,64px);line-height:.88;letter-spacing:-.065em;font-weight:900;text-transform:uppercase;margin:0}
.guest-role{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#aaa}
.guest-note{font-size:13px;line-height:1.5;max-width:345px;color:#d0d0d0}
.guest-badge{align-self:flex-start;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.14em}

/* hub */
.industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.industry-card{min-height:280px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.industry-card b{font-size:clamp(25px,2.5vw,43px);letter-spacing:-.05em;text-transform:uppercase;line-height:.9}
.industry-card p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:34px}
.metric{padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric strong{display:block;font-size:clamp(40px,5vw,76px);letter-spacing:-.065em;line-height:.85}
.metric span{display:block;margin-top:12px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* city visual */
.visual-band{min-height:72vh;position:relative;overflow:hidden;background:#000}
.visual-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.visual-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 65%)}
.visual-copy{position:absolute;z-index:2;left:var(--pad);bottom:var(--pad);color:#fff;max-width:1000px}
.visual-copy h2{font-size:clamp(52px,8.4vw,138px);line-height:.79;letter-spacing:-.078em;text-transform:uppercase;margin:0;font-weight:900}

/* location list */
.location-list{border-top:1px solid var(--line)}
.location{display:grid;grid-template-columns:80px 1.2fr 1fr;gap:22px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start}
.location-num{font-size:10px;color:var(--muted);letter-spacing:.14em}
.location-name{font-size:clamp(28px,3.5vw,54px);font-weight:900;letter-spacing:-.05em;text-transform:uppercase;line-height:.9}
.location-copy{font-size:13px;line-height:1.55;color:var(--muted)}

/* horizontal marquee phrase */
.big-marquee{overflow:hidden;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
.big-marquee-track{width:max-content;display:flex;animation:ticker 42s linear infinite}
.big-marquee span{font-size:clamp(72px,11vw,190px);line-height:.8;letter-spacing:-.075em;text-transform:uppercase;font-weight:900;white-space:nowrap;margin-right:42px}
.big-marquee em{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-transform:none}

/* CTA blocks */
.cta-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cta-block{min-height:410px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s,color .25s}
.cta-block:hover{background:var(--ink);color:#fff}
.cta-block small{font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.cta-block strong{font-size:clamp(42px,5.8vw,94px);line-height:.83;letter-spacing:-.07em;text-transform:uppercase}
.cta-block span{font-size:12px;max-width:420px;line-height:1.5}

/* footer */
.footer{background:var(--ink);color:#fff;padding:clamp(58px,7vw,100px) var(--pad) 24px}
.footer-top{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end}
.footer-title{font-size:clamp(52px,9.5vw,160px);line-height:.78;letter-spacing:-.082em;text-transform:uppercase;font-weight:900;margin:0}
.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 20px;align-self:end}
.footer-links a{border-bottom:1px solid rgba(255,255,255,.3);padding:8px 0;text-transform:uppercase;font-size:9px;letter-spacing:.13em}
.footer-actions{margin-top:50px;display:flex;gap:8px;flex-wrap:wrap}
.footer-bottom{margin-top:55px;padding-top:16px;border-top:1px solid rgba(255,255,255,.25);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#aaa}

/* inner pages */
.page-dark{background:var(--ink);color:#fff}
.page-hero{padding:calc(var(--header-h) + 88px) var(--pad) 70px;min-height:72vh;display:grid;align-content:end;position:relative}
.page-hero:after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:currentColor;opacity:.24}
.page-hero h1{font-size:clamp(68px,12vw,205px);line-height:.72;letter-spacing:-.09em;text-transform:uppercase;margin:12px 0 28px;font-weight:900;max-width:1500px}
.page-hero p{font-size:clamp(17px,2vw,28px);line-height:1.3;max-width:800px;margin:0}
.page-hero .hero-note{margin-top:26px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:.65}
.page-section{padding:clamp(64px,8vw,120px) var(--pad)}
.catalog{padding:0 var(--pad) 90px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.22)}
.catalog-card{min-height:390px;background:#0d0d0d;padding:19px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.catalog-card small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#aaa}
.catalog-card h2{font-size:clamp(32px,3.5vw,58px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase;margin:0}
.catalog-card p{font-size:12px;line-height:1.55;color:#bbb;margin:0;max-width:360px}
.catalog-card .status{position:absolute;right:16px;top:16px;border:1px solid #777;border-radius:999px;padding:4px 7px;font-size:7px;text-transform:uppercase;letter-spacing:.14em}

/* press */
.download-list{border-top:1px solid var(--line)}
.download-item{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}
.download-type{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.download-title{font-size:clamp(23px,2.8vw,42px);font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.download-action{font-size:9px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid currentColor;padding-bottom:3px}

/* utility */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}
.muted{color:var(--muted)}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.center{text-align:center}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-btn{display:block}
  .film-grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid{grid-template-columns:repeat(2,1fr)}
  .metric-row{grid-template-columns:repeat(2,1fr)}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  :root{--header-h:62px}
  .site-header{grid-template-columns:1fr auto}.header-actions{grid-column:2}.brand span{display:none}
  .hero{min-height:88svh}.hero-media img{object-position:62% center}.hero-content{padding-bottom:31px}.hero h1{font-size:clamp(52px,13vw,106px)}
  .hero-bottom{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.hero-scroll{display:none}
  .section-head{grid-template-columns:1fr}.section-intro{justify-self:start}
  .manifesto-big{grid-column:1/13}.manifesto-side{grid-column:1/9;margin-top:18px}
  .feature-rail{grid-template-columns:1fr}.feature{min-height:320px}
  .guests{grid-template-columns:repeat(2,1fr)}
  .day{grid-template-columns:72px 1fr}.day-tags{grid-column:2;justify-content:flex-start}.day-title{font-size:clamp(24px,6vw,42px)}
  .visual-band{min-height:58vh}.visual-band img{object-position:62% center}
  .location{grid-template-columns:54px 1fr}.location-copy{grid-column:2}
  .cta-split{grid-template-columns:1fr}.cta-block{min-height:330px}
  .footer-top{grid-template-columns:1fr}.footer-links{margin-top:24px}
  .page-hero{min-height:64vh}.page-hero h1{font-size:clamp(58px,15vw,130px)}
  .filter-toolbar{align-items:flex-start;flex-direction:column}.search-input{width:100%}
}
@media(max-width:560px){
  .film-grid,.catalog-grid,.guests,.industry-grid,.metric-row{grid-template-columns:1fr}
  .film-card{min-height:370px}.catalog-card{min-height:315px}.guest{min-height:260px}
  .manifesto-side{grid-column:1/13}.schedule-grid{grid-template-columns:74px 1fr}.schedule-event{grid-template-columns:1fr}.schedule-event small{margin-top:7px}
  .footer-bottom{flex-direction:column}.download-item{grid-template-columns:1fr}.download-action{justify-self:start}.download-type{margin-bottom:-10px}
  .big-marquee span{font-size:70px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ticker-track,.big-marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.site-loader{display:none}
}


/* ========================= V4 / CINEMA EXPERIENCE ========================= */
@media (pointer:fine){body.cursor-enabled,body.cursor-enabled a,body.cursor-enabled button{cursor:none}.cinema-cursor{position:fixed;left:0;top:0;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;pointer-events:none;z-index:1200;transform:translate(-50%,-50%);mix-blend-mode:difference;color:#fff;transition:width .18s,height .18s,background .18s}.cinema-cursor.hot{width:54px;height:54px;background:#fff}.cursor-dot{position:fixed;width:3px;height:3px;background:#fff;border-radius:50%;pointer-events:none;z-index:1201;transform:translate(-50%,-50%);mix-blend-mode:difference}}
.page-transition{position:fixed;inset:0;background:#050505;z-index:1100;pointer-events:none;transform:translateY(100%);transition:transform .55s var(--ease)}.page-transition.enter{transform:translateY(0)}
.catalog-card[data-film],.guest[data-guest]{cursor:pointer;transition:transform .35s var(--ease),background .35s,color .35s}.catalog-card[data-film]:hover{background:#fff;color:#050505;transform:translateY(-5px)}.catalog-card[data-film]:hover small,.catalog-card[data-film]:hover p{color:#555}.catalog-card[data-film]:after,.guest[data-guest]:after{content:'OPEN ↗';position:absolute;right:18px;bottom:18px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:.25s}.catalog-card[data-film]:hover:after,.guest[data-guest]:hover:after{opacity:1;transform:none}.guest[data-guest]{position:relative}.guest[data-guest]:hover{background:#fff;color:#050505}.guest[data-guest]:hover .guest-note,.guest[data-guest]:hover .guest-role{color:#555}
.favorite-chip{position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.2);color:#fff;display:grid;place-items:center;z-index:3;font-size:17px;backdrop-filter:blur(8px)}.catalog-card:hover .favorite-chip{border-color:#222;color:#111}.favorite-chip.saved{background:#fff;color:#000}.saved-strip{border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);padding:22px 0;display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.saved-strip>span{font-size:clamp(30px,5vw,76px);font-weight:900;text-transform:uppercase;letter-spacing:-.06em}
.detail-hero{min-height:92svh;padding:calc(var(--header-h) + 45px) var(--pad) 42px;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(30px,6vw,100px);align-items:end}.detail-poster{aspect-ratio:2/3;max-height:72vh;border:1px solid rgba(255,255,255,.28);background:radial-gradient(circle at 70% 20%,#444 0,transparent 29%),linear-gradient(145deg,#171717,#050505 70%);position:relative;overflow:hidden}.detail-poster:before{content:'';position:absolute;inset:-20%;background:repeating-linear-gradient(110deg,transparent 0 80px,rgba(255,255,255,.05) 82px 84px);transform:rotate(-8deg)}.detail-poster span{position:absolute;left:18px;bottom:18px;border:1px solid currentColor;border-radius:999px;padding:6px 9px;font-size:8px;letter-spacing:.15em}.detail-copy h1,.guest-detail-hero h1{font-size:clamp(58px,10vw,180px);line-height:.76;letter-spacing:-.085em;text-transform:uppercase;margin:16px 0 22px;max-width:1200px}.detail-director{font-size:clamp(18px,2vw,30px);margin:0 0 28px;color:#bbb}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.back-link{font-size:9px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block;margin-bottom:28px}.detail-grid{padding:clamp(68px,9vw,130px) var(--pad);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,8vw,130px);border-top:1px solid rgba(255,255,255,.2)}.fact-list{margin:0;border-top:1px solid rgba(255,255,255,.25)}.fact-list div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.25)}.fact-list dt{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#888}.fact-list dd{margin:0;font-size:12px}.detail-warning{margin:0 var(--pad) clamp(70px,10vw,150px);padding:22px;border:1px solid rgba(255,255,255,.25);display:grid;grid-template-columns:180px 1fr;gap:30px}.detail-warning strong{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.detail-warning p{margin:0;color:#aaa;line-height:1.55;max-width:850px}.guest-detail-hero{min-height:86svh;padding:calc(var(--header-h) + 80px) var(--pad) 50px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.guest-monogram{position:absolute;right:-2vw;top:10vh;font-size:clamp(180px,37vw,620px);font-weight:900;line-height:.7;letter-spacing:-.1em;color:#111;z-index:-1}.guest-detail-hero h1{max-width:1000px}.programme-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.programme-help{max-width:700px;margin-top:20px}.schedule-row.program-hidden{display:none}
.teaser-modal{position:fixed;inset:0;z-index:1000;background:#050505;color:#fff;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.4s}.teaser-modal.open{opacity:1;visibility:visible}.teaser-close{position:absolute;right:var(--pad);top:24px;border:1px solid #fff;border-radius:999px;background:transparent;color:#fff;padding:9px 12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.teaser-reel{width:min(1200px,90vw);text-align:center;overflow:hidden}.teaser-frame{min-height:55vh;display:grid;place-items:center;position:relative;background:linear-gradient(90deg,#050505,#181818,#050505)}.teaser-frame:before{content:'';position:absolute;inset:0;background:url('../images/sighisoara-filmstrip-original.png') center/cover;opacity:.18;filter:grayscale(1);animation:teaserZoom 8s ease-in-out infinite alternate}.teaser-frame h2{position:relative;font-size:clamp(55px,11vw,175px);line-height:.75;letter-spacing:-.085em;text-transform:uppercase;margin:0}.teaser-frame h2 span{display:block;font-weight:400}.teaser-caption{padding:16px 0;border-top:1px solid #444;border-bottom:1px solid #444;font-size:9px;text-transform:uppercase;letter-spacing:.16em;display:flex;justify-content:space-between;gap:15px}@keyframes teaserZoom{to{transform:scale(1.08)}}
.saved-drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,100%);z-index:1050;background:#f3f0e9;color:#050505;padding:calc(var(--header-h) + 30px) 24px 24px;transform:translateX(105%);transition:transform .5s var(--ease);overflow:auto;border-left:1px solid #aaa}.saved-drawer.open{transform:none}.saved-drawer h2{font-size:clamp(45px,7vw,80px);line-height:.82;letter-spacing:-.07em;text-transform:uppercase;margin:10px 0 35px}.saved-close{position:absolute;right:20px;top:20px}.saved-list{display:grid;border-top:1px solid #aaa}.saved-item{padding:17px 0;border-bottom:1px solid #aaa;display:grid;grid-template-columns:1fr auto;gap:15px}.saved-item b{text-transform:uppercase;font-size:20px;letter-spacing:-.04em}.saved-item small{display:block;margin-top:4px;color:#777;text-transform:uppercase;letter-spacing:.1em;font-size:8px}
@media(max-width:800px){.detail-hero{grid-template-columns:1fr;padding-top:calc(var(--header-h) + 38px)}.detail-poster{max-width:72vw;max-height:none}.detail-grid{grid-template-columns:1fr}.detail-warning{grid-template-columns:1fr}.guest-monogram{top:22vh}.teaser-frame{min-height:62vh}.saved-strip>span{width:100%}}
@media(max-width:560px){.detail-poster{max-width:88vw}.fact-list div{grid-template-columns:90px 1fr}.teaser-caption{flex-direction:column;align-items:center}.page-transition,.cinema-cursor,.cursor-dot{display:none}}


/* V5 — public launch layer */
.launch-status{display:grid;grid-template-columns:1fr 1.7fr;gap:24px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:24px 0;align-items:end}.launch-status .status-big{font-size:clamp(42px,8vw,118px);line-height:.8;letter-spacing:-.055em}.launch-status .status-side{max-width:620px}.countdown-shell{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #222;margin-top:24px}.countdown-cell{padding:22px;border-right:1px solid #222}.countdown-cell:last-child{border-right:0}.countdown-cell b{display:block;font-size:clamp(28px,5vw,64px);font-weight:500;letter-spacing:-.04em}.countdown-cell small{text-transform:uppercase;letter-spacing:.13em;font-size:10px}.countdown-tba{grid-column:1/-1;padding:25px;font-size:clamp(20px,3vw,38px)}
.country-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #222}.country-card{min-height:330px;padding:28px;border-right:1px solid #222;border-bottom:1px solid #222;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s,color .3s}.country-card:nth-child(2n){border-right:0}.country-card:hover{background:#080808;color:#fff}.country-card .country-day,.country-card .country-status{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.country-card h3{font-size:clamp(44px,6vw,88px);line-height:.86;letter-spacing:-.055em;margin:24px 0 16px}.country-card p{max-width:520px}.country-card .country-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.poster-hover-stage{position:relative;min-height:76vh;background:#050505;color:#fff;overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr}.poster-list{position:relative;z-index:2;padding:7vw 5vw;border-right:1px solid #333}.poster-list a{display:block;color:inherit;text-decoration:none;font-size:clamp(28px,4.6vw,70px);line-height:.94;letter-spacing:-.04em;padding:10px 0;opacity:.42;transition:opacity .25s,transform .25s}.poster-list a:hover,.poster-list a.active{opacity:1;transform:translateX(10px)}.poster-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.poster-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:grayscale(1) contrast(1.1);transform:scale(1.04)}.poster-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,transparent 48%),linear-gradient(0deg,#050505 0%,transparent 45%)}.poster-title-card{position:relative;z-index:2;width:min(72%,600px);aspect-ratio:2/3;border:1px solid #fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(5,5,5,.78);backdrop-filter:blur(8px);transition:transform .3s}.poster-title-card h3{font-size:clamp(42px,6vw,92px);line-height:.85;letter-spacing:-.06em}.poster-title-card small{text-transform:uppercase;letter-spacing:.16em}
.pass-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #222;border-left:1px solid #222}.pass-card{padding:28px;min-height:380px;border-right:1px solid #222;border-bottom:1px solid #222;display:flex;flex-direction:column}.pass-card h3{font-size:clamp(30px,3.2vw,52px);line-height:.9;letter-spacing:-.04em;margin:28px 0 12px}.pass-card .pass-price{font-size:20px;margin-top:auto;padding-top:28px}.pass-card .pass-note{font-size:13px;opacity:.72;margin-top:10px}.pass-card button{margin-top:18px;align-self:flex-start}
.planner-bar{position:sticky;bottom:12px;z-index:22;margin:0 auto 22px;width:min(calc(100% - 32px),1100px);background:#fff;border:1px solid #111;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;box-shadow:0 10px 40px rgba(0,0,0,.16)}.planner-bar strong{font-size:13px}.schedule-add{margin-left:auto;border:1px solid #222;background:transparent;border-radius:999px;width:34px;height:34px;font-size:18px;cursor:pointer}.schedule-add.saved{background:#050505;color:#fff}.schedule-row{align-items:center}.schedule-event{flex:1}
.campus-map{display:grid;grid-template-columns:1.5fr .75fr;min-height:650px;border:1px solid #222}.map-canvas{position:relative;overflow:hidden;background:#eee}.map-canvas::before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(26deg,transparent 0 58px,rgba(0,0,0,.06) 59px 61px),repeating-linear-gradient(114deg,transparent 0 93px,rgba(0,0,0,.05) 94px 96px);transform:rotate(3deg)}.map-route{position:absolute;left:12%;right:13%;top:48%;height:2px;background:#111;transform:rotate(-10deg);transform-origin:center}.map-pin{position:absolute;width:42px;height:42px;border-radius:50%;background:#050505;color:#fff;display:grid;place-items:center;font-size:12px;border:4px solid #fff;box-shadow:0 0 0 1px #050505;cursor:pointer}.map-pin[data-active="true"]{transform:scale(1.25)}.pin-1{left:17%;top:58%}.pin-2{left:37%;top:38%}.pin-3{left:56%;top:46%}.pin-4{left:72%;top:25%}.pin-5{left:79%;top:60%}.map-side{padding:34px}.map-detail{margin-top:38px;border-top:1px solid #222;padding-top:24px}.map-detail h3{font-size:40px;letter-spacing:-.04em;line-height:.9}.map-legend{display:grid;gap:9px;margin-top:28px}.map-legend button{text-align:left;background:none;border:0;border-bottom:1px solid #ddd;padding:11px 0;cursor:pointer}
.detail-country-hero{min-height:70vh;padding:140px 5vw 6vw;display:flex;flex-direction:column;justify-content:flex-end;background:#050505;color:#fff}.detail-country-hero h1{font-size:clamp(74px,15vw,220px);line-height:.72;letter-spacing:-.07em;margin:15px 0 25px}.country-statement{font-size:clamp(24px,3vw,48px);max-width:1100px;line-height:1.02;letter-spacing:-.025em}.status-ribbon{display:inline-flex;border:1px solid currentColor;border-radius:999px;padding:7px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.pass-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:90;display:none;align-items:center;justify-content:center;padding:22px}.pass-modal.open{display:flex}.pass-modal-card{background:#fff;color:#111;width:min(650px,100%);padding:34px;position:relative}.pass-modal-card h2{font-size:clamp(48px,8vw,100px);letter-spacing:-.06em;line-height:.82;margin:18px 0}.pass-modal-close{position:absolute;right:18px;top:18px;background:none;border:0;cursor:pointer}.pass-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.pass-form input,.pass-form select{padding:14px;border:1px solid #222;background:#fff}.pass-form button{grid-column:1/-1;padding:14px;background:#050505;color:#fff;border:0}.prototype-note{font-size:11px;opacity:.65;margin-top:14px}
@media(max-width:900px){.launch-status,.poster-hover-stage,.campus-map{grid-template-columns:1fr}.poster-list{border-right:0;border-bottom:1px solid #333}.poster-visual{min-height:620px}.pass-grid{grid-template-columns:1fr 1fr}.country-grid{grid-template-columns:1fr}.country-card{border-right:0}.countdown-shell{grid-template-columns:1fr 1fr}.countdown-cell:nth-child(2){border-right:0}.countdown-cell{border-bottom:1px solid #222}.map-canvas{min-height:480px}}
@media(max-width:620px){.pass-grid{grid-template-columns:1fr}.pass-form{grid-template-columns:1fr}.poster-visual{min-height:520px}.poster-title-card{width:82%}.planner-bar{bottom:8px}.countdown-shell{grid-template-columns:1fr 1fr}}
