:root{
  --night:#020712; --navy:#071a33; --deep:#0b2447;
  --gold:#c9a04e; --gold-hi:#f1d48a; --gold-lo:#8a6422; --gold-ink:#7a5a1c;
  --ivory:#efe7d6; --paper:#f5efe2; --muted:#a9b3c4; --ink:#0b1a30;
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --sans:"Manrope","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1180px;
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px));background:var(--night)}
body{margin:0;background:transparent;color:var(--ivory);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--night) url(background.png) center/100% 100% no-repeat}
main > section + section{border-top:1px solid rgba(201,160,78,.14)}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:2px}
.wrap{width:min(100% - 48px,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--night);padding:8px 14px;z-index:100}
.skip:focus{left:12px}

/* ---------- Gold type: the one bold move ---------- */
.gold{
  background:linear-gradient(180deg,#fff3c4 0%,var(--gold-hi) 28%,var(--gold) 58%,var(--gold-lo) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:100% 1.08em;background-repeat:repeat-y;
}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:.005em}
h3{font-size:1.6rem;font-weight:600}
p{margin:0 0 1em}
.lead{font-size:1.14rem;color:var(--ivory);max-width:62ch}
.note{font-size:.92rem;color:var(--muted)}

/* ---------- Navigation ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .35s,border-color .35s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(2,7,18,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:rgba(201,160,78,.22)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;opacity:0;transition:opacity .35s}
.nav.solid .brand{opacity:1}
.brand img{width:36px;height:36px}
.brand span{font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:.14em;white-space:nowrap}
@media (max-width:420px){.brand span{font-size:.86rem;letter-spacing:.06em}.brand img{width:30px;height:30px}.nav .wrap{gap:14px}}
.brand small{display:block;font-size:.62rem;letter-spacing:.42em;margin-top:-3px}
.links{display:flex;gap:26px;margin-left:auto}
.links a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ivory);opacity:.85}
.links a:hover{opacity:1;color:var(--gold-hi)}
.lang{display:flex;gap:2px;border:1px solid rgba(201,160,78,.45);border-radius:999px;padding:3px}
.lang button{background:none;border:0;color:var(--muted);font:600 .74rem var(--sans);padding:5px 9px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--gold);color:var(--night)}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(201,160,78,.5);color:var(--gold-hi);border-radius:6px;width:42px;height:38px;font-size:1.2rem;cursor:pointer}
@media (max-width:1080px){
  .burger{display:block}
  .links{display:none;position:absolute;top:calc(72px + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;gap:0;background:rgba(2,7,18,.97);border-bottom:1px solid rgba(201,160,78,.25);padding:8px 24px 18px}
  .links.open{display:flex}
  .links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:1rem}
  .lang{margin-left:0}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero img{width:100%;height:auto;max-height:94vh;object-fit:cover;object-position:center 42%;animation:rise 2.2s cubic-bezier(.2,.7,.2,1) both}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(180deg,rgba(2,7,18,0),var(--night))}
@keyframes rise{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}
@media (max-width:960px){.hero{padding-top:calc(72px + env(safe-area-inset-top,0px))}.hero img{aspect-ratio:4/3;max-height:none}}
@media (prefers-reduced-motion:reduce){.hero img{animation:none}html{scroll-behavior:auto}}

/* ---------- Prolog ---------- */
.prolog{padding:72px 0 112px}
.prolog .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
.prolog h1{font-size:clamp(2.8rem,6.4vw,5.4rem);font-weight:500}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:2px;border:1px solid var(--gold);transition:background .2s,color .2s}
.btn.solid{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--night);border-color:var(--gold-hi)}
.btn.solid:hover{background:var(--gold-hi)}
.btn.line{color:var(--gold-hi)}
.btn.line:hover{background:rgba(201,160,78,.12)}
@media (max-width:860px){.prolog .wrap{grid-template-columns:1fr;gap:28px}.prolog{padding:40px 0 80px}}

/* ---------- Mission (paper) ---------- */
.mission{padding:112px 0}
.mission .intro{max-width:60ch;margin:18px 0 56px;color:var(--muted);font-size:1.08rem}
.fields{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(201,160,78,.3)}
.field{padding:34px 34px 38px 0;border-bottom:1px solid rgba(201,160,78,.3)}
.field:not(:nth-child(3n+1)){padding-left:34px;border-left:1px solid rgba(201,160,78,.3)}
.field h3{color:var(--gold-hi);font-size:1.75rem;margin-bottom:10px}
.field p{margin:0;color:#c9d1dd;font-size:1rem}
@media (max-width:900px){.fields{grid-template-columns:1fr 1fr}.field:not(:nth-child(3n+1)){padding-left:0;border-left:0}.field:nth-child(2n){padding-left:28px;border-left:1px solid rgba(201,160,78,.3)}}
@media (max-width:560px){.fields{grid-template-columns:1fr}.field:nth-child(2n){padding-left:0;border-left:0}.field{padding-right:0}}

/* ---------- Film festival ---------- */
.film{position:relative;padding:96px 0 120px;overflow:hidden}
.festfade{width:min(100%,1100px);margin:0 auto}
.festlogo{width:100%;mix-blend-mode:lighten;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.filmtext{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:start;margin-top:48px}
.film .sub{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--gold-hi);margin:0 0 20px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;margin:6px 0 0;padding-left:32px;border-left:1px solid rgba(201,160,78,.35)}
.facts dt{color:var(--muted);font-size:.9rem}
.facts dd{margin:0;font-weight:500}
@media (max-width:860px){.filmtext{grid-template-columns:1fr;gap:28px;margin-top:28px}.facts{padding-left:0;border-left:0;padding-top:22px;border-top:1px solid rgba(201,160,78,.35)}.film{padding:64px 0 88px}}
.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}

/* ---------- Folklore & formats ---------- */
.folklore{padding:120px 0}
.folklore .head{max-width:760px}
.folklore .sub{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--gold-hi);margin:12px 0 24px}
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:72px}
.format{border-top:2px solid var(--gold);padding-top:24px}
.format h3{margin-bottom:12px;color:var(--ivory)}
.format p{color:#c9d1dd;font-size:1rem;margin:0}
.partner{margin-top:88px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:40px 44px;border:1px solid rgba(201,160,78,.45);background:rgba(2,7,18,.35)}
.partner h3{font-size:2rem;margin-bottom:10px}
.partner p{margin:0;color:#c9d1dd;max-width:64ch}
@media (max-width:860px){.formats{grid-template-columns:1fr;gap:32px}.partner{grid-template-columns:1fr;padding:30px 26px}}

/* ---------- Media ---------- */
.media{padding:120px 0}
.media .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.fp{border-left:2px solid var(--gold);padding-left:32px}
.fp .mark{font-family:var(--serif);font-size:2.4rem;font-weight:600;letter-spacing:.02em}
.fp .role{color:var(--gold-hi);font-size:.95rem;margin:4px 0 18px}
.fp a.url{color:var(--gold-hi);text-decoration:none;border-bottom:1px solid rgba(241,212,138,.4)}
.network{margin-top:48px}
.network h3{font-size:1.35rem;margin-bottom:14px;color:var(--muted);font-weight:500}
.network ul{list-style:none;padding:0;margin:0}
.network li{border-top:1px solid rgba(255,255,255,.08)}
.network a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;text-decoration:none}
.network a:hover span:first-child{color:var(--gold-hi)}
.network a span:last-child{color:var(--muted);font-size:.9rem}
@media (max-width:860px){.media .wrap{grid-template-columns:1fr;gap:48px}}

/* ---------- Board ---------- */
.board{padding:100px 0 120px}
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px;margin-top:44px}
.person .name{font-family:var(--serif);font-size:1.7rem;font-weight:600}
.person .alt{color:var(--muted);font-size:.92rem}
.person .fn{color:var(--gold-hi);margin-top:8px;font-size:.98rem}
.person.tbd .name{color:var(--muted);font-style:italic;font-weight:500}

/* ---------- Footer ---------- */
footer{background:rgba(0,3,12,.55);border-top:1px solid rgba(201,160,78,.3);padding:80px 0 48px}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px}
.flogo{display:flex;align-items:center;gap:16px}
.flogo img{width:64px;height:64px}
.flogo div{font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.12em;line-height:1.1}
.flogo small{display:block;font-size:.75rem;letter-spacing:.45em}
footer h4{font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--gold-hi);margin:0 0 14px}
footer p,footer li{color:#c2cad6;font-size:.95rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:8px}
footer a{text-decoration:none}
footer a:hover{color:var(--gold-hi)}
.legal{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.86rem;color:var(--muted)}
.legal nav{display:flex;gap:22px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr}}

.ph{outline:1px dashed rgba(201,160,78,.55);outline-offset:3px;display:inline-block}
/* ---------- Subpages ---------- */
a.festfade{display:block}
.nav .links a[aria-current="page"]{color:var(--gold-hi);opacity:1}
.film .btn{margin-top:10px}
.subhero{padding:calc(100px + env(safe-area-inset-top,0px)) 0 88px}
.statement{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;max-width:24ch;margin:44px 0 0}
.subhero .lead{margin-top:26px}
.block{padding:96px 0}
.block h2{margin-bottom:24px}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.two .facts{margin-top:14px}
.block .formats{margin-top:40px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.tile{aspect-ratio:3/2;border:1px dashed rgba(201,160,78,.45);display:grid;place-items:center;color:var(--muted);font-size:.9rem;background:rgba(2,7,18,.35)}
.tile.wide{aspect-ratio:16/9;grid-column:1/-1}
.block .partner{margin-top:0}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:28px}.gallery{grid-template-columns:1fr 1fr}.block{padding:64px 0}.subhero{padding-bottom:56px}}

.formats-4{grid-template-columns:repeat(4,1fr);gap:32px}
@media (max-width:1000px){.formats-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.formats-4{grid-template-columns:1fr}}

/* ---------- Home v2: claims, mission 01–07, projects, international, foundation ---------- */
.claim{letter-spacing:.07em;line-height:1.12}
.gold.claim{background-size:100% 1.12em}
.kicker{font-family:var(--serif);font-weight:600;letter-spacing:.34em;font-size:1rem;color:var(--gold);text-align:center;margin:0 0 6px}
.statement.center{margin:28px auto 0;text-align:center;max-width:40ch}
.film .statement{font-size:clamp(1.6rem,3.2vw,2.4rem)}
.media .wrap.single{display:block}

.fields7{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid rgba(201,160,78,.3)}
.fields7 li{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1.25fr);gap:32px;padding:30px 0;border-bottom:1px solid rgba(201,160,78,.3);align-items:baseline}
.fields7 .num{font-family:var(--serif);font-weight:600;color:var(--gold);letter-spacing:.2em;font-size:1.05rem}
.fields7 h3{color:var(--gold-hi);font-size:1.85rem}
.fields7 p{margin:0;color:#c9d1dd}
@media (max-width:860px){.fields7 li{grid-template-columns:48px 1fr;gap:6px 16px}.fields7 p{grid-column:2}}

.projects{padding:120px 0}
.projects .lead{margin-top:22px}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:56px}
.ptile{display:flex;flex-direction:column;min-height:300px;padding:36px;border:1px solid rgba(201,160,78,.28);background:rgba(2,7,18,.42);text-decoration:none;color:inherit;transition:border-color .3s,transform .3s}
a.ptile:hover{border-color:var(--gold);transform:translateY(-3px)}
.ptile img{width:100%;max-width:380px;margin:0 auto 22px;mix-blend-mode:lighten}
.ptitle{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:.12em;line-height:1.12;background-size:100% 1.12em}
.ptile p{color:#c9d1dd;margin:14px 0 0}
.ptile .more{margin-top:auto;padding-top:22px;color:var(--gold-hi);font-weight:600;font-size:.92rem}
.ptile.full{grid-column:1/-1}
.ptile.music{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;min-height:260px}
.ptile.music .ptitle{font-size:clamp(2.4rem,5vw,3.8rem);letter-spacing:.18em}
.wave{width:100%;height:160px}
@media (prefers-reduced-motion:no-preference){.wave path{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 3.2s ease-out .3s forwards}}
@keyframes draw{to{stroke-dashoffset:0}}
@media (max-width:860px){.pgrid{grid-template-columns:1fr}.ptile{min-height:0;padding:28px}.ptile.music{grid-template-columns:1fr;gap:10px}.wave{height:100px}.projects{padding:80px 0}}

.rooted{padding:64px 0 120px;text-align:center}
.rooted img{width:min(100%,640px);margin:0 auto;mix-blend-mode:lighten}
.rooted h2{font-size:clamp(1.8rem,4.2vw,3.3rem);margin-top:8px}
.rooted .lead{margin:26px auto 0}

.foundation{padding:120px 0}
.foundation .two{gap:80px}
.foundation .lead{margin-top:22px}
.foundation .facts{margin-top:30px}
.govlabel{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.gov .person{margin-bottom:44px}
.council{list-style:none;padding:0;margin:0}
.council li{font-family:var(--serif);font-size:1.45rem;font-weight:500;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.council li:first-child{border-top:1px solid rgba(255,255,255,.08)}
.transp{margin-top:88px;padding-top:40px;border-top:1px solid rgba(201,160,78,.3);display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:baseline}
.transp h3{font-size:clamp(1.3rem,2.2vw,1.7rem)}
.transp p{margin:0;color:#c9d1dd}
@media (max-width:860px){.transp{grid-template-columns:1fr;gap:14px;margin-top:56px}.foundation{padding:80px 0}.foundation .two{gap:48px}}

.fp .fptext{color:#c9d1dd;margin:0 0 18px}
#partners .wrap:not(.single){align-items:center}

/* ---------- Legal pages ---------- */
.legalpage{padding:calc(120px + env(safe-area-inset-top,0px)) 0 96px}
.legalpage .wrap{max-width:820px}
.legalpage h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:36px}
.legalpage h2{font-size:1.6rem;color:var(--gold-hi);margin:40px 0 12px}
.legalpage p,.legalpage li{color:#c9d1dd}
.legalpage ul{padding-left:1.2em}
.legalpage a{color:var(--gold-hi)}
.legalpage .stand{margin-top:48px;font-size:.9rem;color:var(--muted)}

/* ---------- Trailer (click-to-load YouTube) ---------- */
.tile.yt{position:relative;overflow:hidden;border-style:solid;background:#01040b}
.yt-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.55;mix-blend-mode:lighten}
.yt-play{position:relative;display:inline-flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--night);border:0;border-radius:2px;padding:14px 26px;font:600 1rem var(--sans);cursor:pointer}
.yt-play:hover{background:var(--gold-hi)}
.yt-icon{font-size:.9rem}
.yt-note{position:absolute;left:0;right:0;bottom:12px;margin:0;text-align:center;font-size:.8rem;color:var(--muted);padding-inline:16px}
.tile.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Photo gallery ---------- */
.tile.photo{padding:0;overflow:hidden;border:1px solid rgba(201,160,78,.35);display:block}
.tile.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile.photo:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.tile.photo img{transition:none}}

/* ---------- FilmFreeway submission button ---------- */
.btn.ff{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--night);border-color:var(--gold-hi)}
.btn.ff:hover{background:var(--gold-hi)}
.ff-mark{font-weight:600;letter-spacing:-.01em;padding-right:12px;border-right:1px solid rgba(2,7,18,.3)}
.film .actions .btn{margin-top:0}

/* ---------- Next edition ---------- */
.nextdate{margin:36px 0 0;padding:4px 0 4px 22px;border-left:2px solid var(--gold)}
.nextdate p{margin:0}
.nd-label{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.nd-date{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.3rem);font-weight:600;line-height:1.15;color:var(--gold-hi);font-variant-numeric:lining-nums;margin-top:6px!important}
.nd-place{font-size:1rem;color:var(--ivory);margin-top:2px!important}
.dd-sub{color:var(--muted);font-weight:400;font-size:.92rem}

/* ---------- Films: video cards ---------- */
.filmgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:40px}
.filmcard .tile.yt{aspect-ratio:16/9}
.filmtype{margin:20px 0 4px;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.filmcard h3{font-size:1.9rem;color:var(--ivory);margin-bottom:12px}
.imdb{display:inline-block;font-weight:600;font-size:.9rem;color:var(--night);background:#f5c518;padding:6px 12px;border-radius:3px;text-decoration:none}
.imdb:hover{background:#ffd84d}
@media (max-width:860px){.filmgrid{grid-template-columns:1fr}}
/* ---------- Partner cities ---------- */
.cities{margin-top:64px;padding-top:36px;border-top:1px solid rgba(201,160,78,.3)}
.cities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cities li{display:flex;flex-direction:column;gap:2px;padding-left:18px;border-left:1px solid rgba(201,160,78,.45)}
.cities .city{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--gold-hi)}
.cities .country{font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.cities ul{grid-template-columns:1fr 1fr}}

/* ---------- Upcoming production ---------- */
.upcoming{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center;margin-top:64px;padding:28px;border:1px solid rgba(201,160,78,.45);background:rgba(2,7,18,.35)}
.upcoming img{width:100%;height:auto}
.upcoming h3{font-size:clamp(1.9rem,3vw,2.6rem);color:var(--ivory);margin:4px 0 14px}
.upcoming .lead{color:#c9d1dd;margin-bottom:14px}
.upcoming .badge{display:inline-block;margin:0 0 14px;padding:5px 12px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--night);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.upcoming .filmtype{margin:0}
.upcoming .credit{margin:0;color:var(--gold-hi)}
@media (max-width:860px){.upcoming{grid-template-columns:1fr;gap:24px;padding:18px}}

.upcoming .posters{display:grid;gap:14px}
.upcoming .alttitle{font-family:var(--serif);font-size:1.4rem;color:var(--gold-hi);margin:-6px 0 14px}

.yt-poster.yt-thumb{object-fit:cover;opacity:1;mix-blend-mode:normal}
.tile.yt:has(.yt-thumb)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,18,.05) 40%,rgba(2,7,18,.75));pointer-events:none}
.tile.yt .yt-play,.tile.yt .yt-note{z-index:1}

.facts-sep{grid-column:1/-1;height:1px;background:rgba(201,160,78,.25);margin:4px 0}

.ft-label{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}

/* ---------- Footer addresses ---------- */
.ft-name{margin:20px 0 0;font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ivory)}
.ft-addr{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}
.ft-addr p{margin:0;line-height:1.55}
.ft-addr .ft-label{display:block;margin-bottom:6px}
@media (max-width:420px){.ft-addr{grid-template-columns:1fr}}

.subhead{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:40px 0 0}
#projects .upcoming{margin-top:20px}
#projects .subhead + .filmgrid{margin-top:20px}
.filmcard .credit,.upcoming .credit{margin:0 0 14px;font-size:.92rem;color:#c9d1dd}
.credit a{color:var(--gold-hi);text-decoration:none;border-bottom:1px solid rgba(241,212,138,.4)}
.credit a:hover{border-bottom-color:var(--gold-hi)}

/* ---------- Social media ---------- */
.social{display:flex;align-items:center;gap:6px}
.social a{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(201,160,78,.45);border-radius:50%;color:var(--gold-hi);transition:background .2s,color .2s,border-color .2s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.social svg{width:15px;height:15px;fill:currentColor}
.nav .links{margin-left:auto}
.social-menu{display:none}
.social-foot{margin-top:18px}
@media (max-width:1240px){
  .burger{display:block}
  .links{display:none;position:absolute;top:calc(72px + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;gap:0;background:rgba(2,7,18,.97);border-bottom:1px solid rgba(201,160,78,.25);padding:8px 24px 18px}
  .links.open{display:flex}
  .links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:1rem}
  .nav > .wrap > .social{display:none}
  .links .social-menu{display:flex;gap:10px;padding-top:14px}
  .links .social-menu a{padding:0;border:1px solid rgba(201,160,78,.45);width:38px;height:38px}
  .lang{margin-left:0}
}
.film .statement{font-weight:600}

/* ---------- Programme 2026 ---------- */
.program{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;margin-top:40px}
.pday h3{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid rgba(201,160,78,.35)}
.pday ol{list-style:none;margin:0;padding:0}
.pday li{display:grid;grid-template-columns:56px 1fr;column-gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.ptime{grid-row:span 2;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums;padding-top:3px}
.ptitle2{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ivory);line-height:1.25}
.pmeta{font-size:.88rem;color:#a9b3c4}
.pday li.award .ptitle2{color:var(--gold-hi)}
@media (max-width:860px){.program{grid-template-columns:1fr;gap:32px}}

/* ---------- Submitted films ---------- */
.subfilms{list-style:none;margin:36px 0 0;padding:0;columns:3 260px;column-gap:48px}
.subfilms li{break-inside:avoid;display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid rgba(201,160,78,.2)}
.sf-title{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ivory);line-height:1.25}
.sf-country{font-size:.88rem;color:var(--gold-hi)}

.film .statement .caps{display:inline-block;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15em}
.film .statement.center{max-width:50ch}
.film .statement .caps{font-size:.82em;letter-spacing:.05em}

/* ---------- Tile icons (heritage, education) ---------- */
.ptile.icon .picon{width:140px;height:140px;margin:0 auto 22px;display:block}
@media (prefers-reduced-motion:no-preference){.picon *{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 3.2s ease-out .3s forwards}}
@media (max-width:860px){.ptile.icon .picon{width:110px;height:110px}}

.film-quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.35;color:var(--gold-hi);text-align:center;max-width:44ch;margin:0 auto 18px}

.masks{width:100%;height:160px}
@media (prefers-reduced-motion:no-preference){.masks path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 3.2s ease-out .3s forwards}}
@media (max-width:860px){.masks{height:120px}}

/* events page */
.ptile.events .more{margin-top:18px;padding-top:0}
.evsub .masks.evhero{height:200px;margin:0 auto 8px;display:block}
.evtitle{text-align:center;font-size:clamp(3rem,8vw,6rem);letter-spacing:.18em;margin:0}
.evsub .statement{margin-left:auto;margin-right:auto;text-align:center}
.evsub .lead{max-width:62ch;margin-left:auto;margin-right:auto;text-align:center}
.evlist{display:grid;gap:18px;margin-top:40px}
.event{display:grid;grid-template-columns:150px 1fr auto;gap:32px;align-items:center;padding:24px 28px;border:1px solid rgba(201,160,78,.35);background:rgba(2,7,18,.42)}
.evdate{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border-right:1px solid rgba(201,160,78,.35);font-family:var(--serif);color:var(--gold-hi);line-height:1.05}
.evdate .d{font-size:1.7rem;font-weight:600;white-space:nowrap}
.evdate .m{font-size:1.25rem;margin-top:4px;text-transform:capitalize}
.evdate .y{font-size:1rem;color:#c9d1dd;margin-top:4px;letter-spacing:.08em}
.evcat{margin:0 0 4px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.event h3{margin:0 0 6px;color:var(--ivory);font-size:clamp(1.3rem,2.2vw,1.7rem)}
.evplace{margin:0;color:#c9d1dd}
.evlist.past .event{opacity:.75}
.evnote{margin-top:28px;color:#c9d1dd;font-style:italic}
@media (max-width:760px){.event{grid-template-columns:1fr;gap:14px;padding:20px}.evdate{flex-direction:row;gap:10px;justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(201,160,78,.35);padding:0 0 12px}.evdate .m,.evdate .y{margin-top:0}.event .btn{justify-self:start}.evsub .masks.evhero{height:140px}}

/* ONE WHITE LIGHT */
.owltitle{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:.14em;margin:0}
.owlcard{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:center;margin-top:40px;padding:28px;border:1px solid rgba(201,160,78,.45);background:rgba(2,7,18,.42)}
.owlcard .tile.yt{aspect-ratio:16/9}
.owlinfo h3{margin:0 0 10px;color:var(--ivory);font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:.06em}
.owldate{margin:8px 0 0;font-family:var(--serif);font-size:1.5rem;color:var(--gold-hi)}
@media (max-width:860px){.owlcard{grid-template-columns:1fr;gap:20px;padding:18px}}
.owlmore{display:inline-block;margin-top:14px;color:var(--gold-hi);font-weight:600;font-size:.92rem;text-decoration:none}
.owlmore:hover{text-decoration:underline}
#projects .subhead + .owlcard{margin-top:20px}
.owlcard + .owlcard{margin-top:28px}
.secmark{display:block;width:64px;height:64px;margin:0 auto 28px}
@media (prefers-reduced-motion:no-preference){.secmark *{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 3.2s ease-out .3s forwards}}
@media (max-width:860px){.secmark{width:52px;height:52px;margin-bottom:20px}}

/* collapsible menu on desktop */
@media (min-width:1241px){
  .nav .wrap{position:relative}
  .burger{display:flex;align-items:center;justify-content:center;margin-left:0}
  .nav > .wrap > .social{margin-left:auto}
  .nav .links{display:none;position:absolute;top:100%;right:0;margin:0;width:300px;flex-direction:column;gap:0;background:rgba(2,7,18,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,160,78,.3);border-top-color:rgba(201,160,78,.15);padding:6px 26px 14px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
  .nav .links.open{display:flex}
  .nav .links a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:1rem}
  .nav .links a:last-of-type{border-bottom:0}
}
.burger[aria-expanded="true"]{background:rgba(201,160,78,.12)}
/* menu colours: gold, white on hover */
.nav .links > a{color:var(--gold-hi);opacity:1;transition:color .2s}
.nav .links > a:hover,.nav .links > a:focus-visible{color:#fff}
.nav .links > a[aria-current="page"]{color:#fff}
