@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--black:#151514;--cream:#f2efe8;--red:#d8492f;--line:#77766f;--muted:#adaba5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font:16px/1.5 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(100% - 8vw,1500px);margin:auto}.header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:25px 0}.brand{display:flex;align-items:center;gap:12px;line-height:.88;text-transform:uppercase}.brand strong{font:900 3rem/.78 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.045em}.brand span{font-size:.71rem;line-height:1.08;letter-spacing:.21em;font-weight:700}.nav{display:flex;gap:clamp(18px,3vw,55px);font-size:.78rem;letter-spacing:.08em;font-weight:700}.nav a:hover,.nav a[aria-current]{color:var(--red)}.hero{min-height:680px;position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.93),rgba(10,10,10,.48) 58%,rgba(10,10,10,.25)),linear-gradient(0deg,rgba(10,10,10,.68),transparent 55%),url('/assets/hero-films.gif') center center/cover}.hero-content{padding:90px 0 70px}.kicker{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:700}.display{font:800 clamp(4.6rem,9vw,10rem)/.82 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:20px 0 25px;max-width:960px}.hero p{max-width:420px;margin:0 0 30px}.links{display:flex;flex-wrap:wrap;gap:24px;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.links a{border-bottom:1px solid var(--red);padding-bottom:5px}.links a:hover{color:var(--red)}.arrow{margin-left:12px;font-size:1.2em}.light{background:var(--cream);color:var(--black)}.section{padding:65px 0}.feature{display:grid;grid-template-columns: .85fr 1.25fr;gap:6vw;align-items:center}.feature h2,.section-title{font:800 clamp(2.3rem,4vw,4.4rem)/.9 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:14px 0 20px}.feature p{max-width:430px}.feature .image{height:390px;overflow:hidden;background:#343434}.feature .image img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:contrast(1.17) saturate(1.12)}.meta{font-size:.85rem}.works-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.works-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:center 30%;filter:grayscale(.35);transition:filter .3s,transform .3s}.card:hover img{filter:none;transform:scale(1.02)}.card .clip{overflow:hidden;background:#30302f}.card h3{font:700 clamp(1.45rem,2vw,2.3rem)/.95 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:8px 0}.card p{font-size:.82rem;margin:0;color:#d6d3cc}.statement{display:grid;grid-template-columns:160px 1.4fr .7fr;gap:3vw;align-items:start}.statement h2{font:800 clamp(2.7rem,4vw,5rem)/.92 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0}.statement p{margin:4px 0 22px}.footer{border-top:1px solid #5c5b57;padding:30px 0 45px;display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:28px;font-size:.8rem}.footer p{margin:0}.footer a:hover{color:var(--red)}.footer .brand strong{font-size:2.2rem}.footer .brand span{font-size:.55rem}.page-hero{padding:95px 0 75px}.page-hero .display{max-width:1100px}.intro{max-width:660px;font-size:1.12rem;line-height:1.55}.rule{border:0;border-top:1px solid #5c5b57;margin:0}.film-list{display:grid;gap:0}.film-row{display:grid;grid-template-columns:80px 200px 1fr 150px;gap:26px;padding:24px 0;border-top:1px solid #565550;align-items:center}.film-row img{width:200px;height:125px;object-fit:cover;object-position:center 30%}.film-row h2{font:800 clamp(1.8rem,3vw,3.3rem)/.92 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 9px}.film-row p{margin:0;color:#d5d2cb}.film-row .year{text-align:right;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-grid p{max-width:650px}.facts{border-top:1px solid #575650;margin-top:70px}.fact{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid #575650;padding:17px 0;gap:20px}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px}.team div{border-top:1px solid #5c5b57;padding-top:14px}.team h3{font:700 1.6rem 'Barlow Condensed',sans-serif;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;min-height:45vh}.contact-grid a{border-bottom:1px solid var(--red)}.contact-grid h2{font:700 2.4rem 'Barlow Condensed',sans-serif;margin:0 0 12px;text-transform:uppercase}.muted{color:var(--muted)}@media(max-width:850px){.header{align-items:flex-start}.nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.hero{min-height:620px}.feature{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.statement{grid-template-columns:1fr 2fr}.statement>div:last-child{grid-column:2}.footer{grid-template-columns:1fr 1fr}.film-row{grid-template-columns:50px 130px 1fr}.film-row img{width:130px;height:100px}.film-row .year{display:none}}@media(max-width:600px){.wrap{width:min(100% - 36px,1500px)}.header{display:block;padding:20px 0}.brand strong{font-size:2.4rem}.nav{justify-content:flex-start;margin-top:24px;font-size:.72rem;gap:16px}.hero{min-height:590px}.hero-content{padding:70px 0}.display{font-size:clamp(4.2rem,15vw,6.5rem)}.hero:before{background-position:center,center,57% center}.section{padding:48px 0}.feature .image{height:300px}.grid{gap:20px 12px}.card img{aspect-ratio:1}.card p{font-size:.75rem}.statement{display:block}.statement h2{margin:16px 0}.footer{grid-template-columns:1fr 1fr}.page-hero{padding:65px 0 55px}.film-row{grid-template-columns:90px 1fr;gap:16px}.film-row>span:first-child{display:none}.film-row img{width:90px;height:110px}.film-row h2{font-size:1.8rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:22px}.team{grid-template-columns:1fr 1fr}}
.poster{height:auto;aspect-ratio:1.5;background:linear-gradient(140deg,#343432,#161615 70%);display:flex;flex-direction:column;justify-content:space-between;padding:14px;color:var(--cream)}.poster span{font-size:.7rem;letter-spacing:.14em;color:var(--red)}.poster b{font:700 clamp(1.5rem,2.4vw,2.8rem)/.9 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;max-width:90%}.mini-poster{width:200px;height:125px;background:#292928;border:1px solid #55544e;color:#77766f;display:grid;place-items:center;font:800 2.6rem 'Barlow Condensed',sans-serif}.card:hover .poster{background:linear-gradient(140deg,#403b37,#181717 70%)}@media(max-width:850px){.mini-poster{width:130px;height:100px}}@media(max-width:600px){.mini-poster{width:90px;height:110px}.poster{aspect-ratio:1}}

.brand{display:block;position:relative;width:200px;height:70px;overflow:hidden;flex:none}.brand-logo{position:absolute;width:110%;max-width:none;height:auto;left:-5%;top:50%;transform:translateY(-50%)}.footer .brand{width:155px;height:55px}@media(max-width:600px){.header .brand{width:165px;height:58px}}

@media(prefers-reduced-motion:reduce){.hero:before{background-image:linear-gradient(90deg,rgba(10,10,10,.93),rgba(10,10,10,.48) 58%,rgba(10,10,10,.25)),linear-gradient(0deg,rgba(10,10,10,.68),transparent 55%),url('/assets/hero-films-poster.jpg')}}
@media(max-width:600px){.hero{min-height:760px;background:#151514}.hero-content{padding:45px 0 280px}.hero:before{background-image:linear-gradient(180deg,rgba(10,10,10,.98) 0%,rgba(10,10,10,.97) 62%,rgba(10,10,10,.12) 100%),url('/assets/hero-films.gif');background-size:cover,100% auto;background-position:center,center bottom;background-repeat:no-repeat}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.hero:before{background-image:linear-gradient(180deg,rgba(10,10,10,.98) 0%,rgba(10,10,10,.97) 62%,rgba(10,10,10,.12) 100%),url('/assets/hero-films-poster.jpg')}}

.festival-logos{display:grid;grid-template-columns:2fr 1.65fr .7fr;gap:clamp(12px,2vw,30px);align-items:center;margin-top:20px}.festival-logos img{display:block;width:100%;height:75px;max-height:75px;object-fit:contain;object-position:center}.festival-logos img:last-child{height:90px;max-height:90px}@media(max-width:600px){.festival-logos{grid-template-columns:1.8fr 1.4fr .7fr;gap:9px;margin-top:15px}.festival-logos img{height:58px;max-height:58px}.festival-logos img:last-child{height:68px;max-height:68px}}

.feature-visual{width:94%;justify-self:end}.festival-logos{grid-template-columns:1.35fr 1.35fr .65fr}.festival-logos img{filter:grayscale(1) brightness(0)}.festival-biff{display:block;width:100%;max-width:260px;aspect-ratio:375 / 85;overflow:hidden}.festival-biff img{display:block;width:auto;max-width:none;height:100%;max-height:none;object-fit:initial}.festival-logos>img:nth-child(2){max-width:245px}.festival-logos>img:last-child{max-width:95px}@media(max-width:850px){.feature-visual{width:100%;justify-self:stretch}}@media(max-width:600px){.festival-logos{grid-template-columns:1.45fr 1.4fr .72fr}.festival-biff{max-width:100%}}

.feature .image{height:auto;aspect-ratio:2048 / 1151}.feature .image img{display:block;width:100%;height:auto;object-fit:initial;filter:none}.festival-logos .biff-mark{display:block;width:100%;max-width:260px;height:75px;object-fit:contain;filter:grayscale(1) brightness(0)}@media(max-width:600px){.feature .image{height:auto}.festival-logos .biff-mark{height:58px}}

/* Preserve each supplied poster in full, with its original color and proportions. */
.card img{aspect-ratio:7 / 10;object-fit:contain;object-position:center;filter:none}.card:hover img{filter:none}@media(max-width:600px){.card img{aspect-ratio:7 / 10}}

/* Selected works: smaller, equal poster frames filled edge to edge. */
.grid{grid-template-columns:repeat(4,minmax(0,230px));justify-content:center;gap:clamp(18px,2vw,28px)}
.card img{width:100%;aspect-ratio:11 / 20;object-fit:cover;object-position:center}
@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,230px))}}
@media(max-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.card img{aspect-ratio:11 / 20}}

/* Keep every word and festival mark visible; fill side margins with the same poster. */
.card .poster-frame{position:relative;isolation:isolate;aspect-ratio:7 / 10;background:#252523}
.card .poster-frame::before{content:"";position:absolute;inset:-12px;z-index:-1;background-image:var(--poster-image);background-position:center;background-size:cover;filter:blur(14px) brightness(.45)}
.card .poster-frame img{position:relative;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;filter:none;transform:none}
.card:hover .poster-frame img{filter:none;transform:none}
@media(max-width:600px){.card .poster-frame img{aspect-ratio:auto}}

/* Selfie: extended side scenery, original poster centered and untouched. */
.card .selfie-frame::before{display:none}
.card .selfie-frame img{width:auto;max-width:100%;height:100%;margin-inline:auto;object-fit:contain}

/* Selfie: untouched original poster, with only its sky palette extended at the sides. */
.card .selfie-frame{background:linear-gradient(180deg,#add4e2 0%,#b0d5e0 48%,#bad5d9 72%,#dccdb9 100%)}
.card .selfie-frame img{display:block;width:auto;height:100%;max-width:100%;margin-inline:auto;object-fit:contain}
.card .selfie-frame::before,.card .selfie-frame::after{display:block;content:"";position:absolute;top:0;bottom:0;width:15%;z-index:0;background-image:url('/assets/poster-selfie.jpeg');background-repeat:no-repeat;background-size:950% 280%;background-position:left -65px;filter:none;inset-block:0}
.card .selfie-frame::before{left:0;right:auto}
.card .selfie-frame::after{right:0;left:auto;background-position:right -65px}
.card .selfie-frame img{position:relative;z-index:1}

/* Footer: social links on the left, Creative Europe MEDIA opposite. */
.footer{grid-template-columns:1fr 1.4fr 1fr 220px;align-items:start}
.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.footer-label{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:8px}
.footer-social a{font-weight:700;font-size:.9rem;border-bottom:1px solid #6f6d68;padding-bottom:2px}
.media-logo{justify-self:end;display:block;width:min(100%,220px);background:#fff;padding:9px}
.media-logo img{width:100%;height:75px;object-fit:contain}
@media(max-width:850px){.footer{grid-template-columns:1fr 1fr}.media-logo{justify-self:start}}
@media(max-width:600px){.footer{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-social{grid-column:1}.media-logo{grid-column:2;grid-row:1;width:150px;justify-self:end}.media-logo img{height:55px}}

/* Six festival marks; Locarno receives the primary line. */
.feature .festival-logos{display:flex;flex-direction:column;align-items:center;gap:17px;margin-top:24px}
.feature .festival-logos .locarno-logo{display:block;width:min(100%,310px);max-width:310px;height:74px;max-height:none;object-fit:contain;filter:grayscale(1) brightness(0)}
.festival-others{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;width:100%}
.feature .festival-others img,.feature .festival-logos .festival-others img:last-child{display:block;width:auto;max-width:125px;height:48px;max-height:48px;object-fit:contain;filter:grayscale(1) brightness(0)}
.feature .festival-others .biff-mark{max-width:145px;width:145px;height:45px}
.feature .festival-others .festival-tiff{max-width:58px;width:58px;height:48px}
@media(max-width:600px){.feature .festival-logos{gap:10px;margin-top:18px}.feature .festival-logos .locarno-logo{width:min(85%,250px);height:62px}.festival-others{gap:11px 15px}.feature .festival-others img,.feature .festival-logos .festival-others img:last-child{max-width:94px;height:38px;max-height:38px}.feature .festival-others .biff-mark{width:105px}.feature .festival-others .festival-tiff{width:43px}}
/* The MEDIA mark is rendered white on the black footer, without a white plaque. */
.media-logo{background:transparent;padding:0}
.media-logo img{filter:grayscale(1) invert(1);mix-blend-mode:screen}

/* One equal frame per festival mark, in two intentional rows. */
.feature .festival-logos{gap:8px;margin-top:22px}
.feature .festival-logos .locarno-logo{width:120px;max-width:120px;height:68px;max-height:68px;object-fit:contain}
.festival-others{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;gap:12px;width:100%}
.feature .festival-others img,.feature .festival-logos .festival-others img:last-child,.feature .festival-others .biff-mark,.feature .festival-others .festival-tiff{display:block;width:100%;max-width:120px;height:68px;max-height:68px;object-fit:contain}
@media(max-width:600px){.feature .festival-logos{gap:6px}.feature .festival-logos .locarno-logo{width:100px;max-width:100px;height:58px;max-height:58px}.festival-others{gap:5px}.feature .festival-others img,.feature .festival-logos .festival-others img:last-child,.feature .festival-others .biff-mark,.feature .festival-others .festival-tiff{width:100%;max-width:100%;height:58px;max-height:58px}}
/* Remove the white field while retaining MEDIA's original logo colors. */
.media-filter-def{position:absolute;width:0;height:0;overflow:hidden}
.media-logo img{filter:url(#media-white-out);mix-blend-mode:normal}

/* Six equal festival slots, three per line; Locarno at the top center. */
.feature .festival-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:8px 20px;width:100%;margin-top:20px}
.feature .festival-logos img,.feature .festival-logos .locarno-logo,.feature .festival-logos .biff-mark,.feature .festival-logos img:last-child{display:block;width:100%;max-width:175px;height:70px;max-height:70px;object-fit:contain;filter:grayscale(1) brightness(0)}
@media(max-width:600px){.feature .festival-logos{gap:7px 9px;margin-top:15px}.feature .festival-logos img,.feature .festival-logos .locarno-logo,.feature .festival-logos .biff-mark,.feature .festival-logos img:last-child{width:100%;max-width:100%;height:53px;max-height:53px}}

/* Final balance: Locarno a touch larger, MEDIA quieter in the footer. */
.feature .festival-logos .locarno-logo{max-width:200px;height:80px;max-height:80px}
.footer{grid-template-columns:1fr 1.4fr 1fr 190px}
.media-logo{width:min(100%,190px)}
.media-logo img{height:65px}
@media(max-width:850px){.footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feature .festival-logos .locarno-logo{max-width:100%;height:64px;max-height:64px}.footer{grid-template-columns:1fr 1fr}.media-logo{width:130px}.media-logo img{height:48px}}

.feature .festival-logos .festival-tiff{transform:scale(1.17);transform-origin:center}
.media-logo{width:min(100%,160px)}
.media-logo img{height:55px}
@media(max-width:600px){.feature .festival-logos .festival-tiff{transform:scale(1.12)}.media-logo{width:110px}.media-logo img{height:40px}}

/* Thessaloniki's source is nearly square; allow it a taller frame for readable type. */
.feature .festival-logos .festival-tiff{width:100%;max-width:175px;height:132px;max-height:132px;object-fit:contain;transform:none}
@media(max-width:600px){.feature .festival-logos .festival-tiff{width:112%;max-width:112%;height:102px;max-height:102px;transform:none}}

/* A quieter warm paper tone for the light bands. */
.light{background:#e8e3da}

/* Let the film sequence live beside the headline and fade gently beneath it. */
@media(min-width:601px){
  .hero{background:#151514}
  .hero:before{inset:0;background-image:url('/assets/hero-films.gif');background-size:auto 100%;background-position:right center;background-repeat:no-repeat}
  .hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#151514 0%,rgba(21,21,20,.99) 18%,rgba(21,21,20,.91) 34%,rgba(21,21,20,.55) 51%,rgba(21,21,20,.08) 76%),linear-gradient(0deg,rgba(21,21,20,.48),transparent 48%)}
}
@media(min-width:601px) and (prefers-reduced-motion:reduce){
  .hero:before{background-image:url('/assets/hero-films-poster.jpg')}
}

/* A more compact Selected film band. */
.hero + .light.section{padding-block:48px}
.hero + .light .feature-visual{width:90%}
@media(max-width:850px){.hero + .light .feature-visual{width:100%}}
@media(max-width:600px){.hero + .light.section{padding-block:40px}}

/* Selfie: original poster centered on its own sky blue, without repeated side art. */
.card .selfie-frame{background:#aad4e0}
.card .selfie-frame::before,.card .selfie-frame::after{display:none}
.card .selfie-frame img{display:block;width:auto;max-width:100%;height:100%;margin-inline:auto;object-fit:contain}

/* Give Selfie's original festival marks and billing a blue margin on every edge. */
.card .selfie-frame{padding:14px}
.card .selfie-frame img{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:contain}
@media(max-width:600px){.card .selfie-frame{padding:9px}}

/* News ticker on every page */
.news-band{overflow:hidden;padding:20px 0;border-top:1px solid #cbc4b9}
.news-track{display:flex;width:max-content;animation:news-scroll 38s linear infinite}
.news-set{display:flex;flex:none;align-items:center;gap:clamp(28px,3vw,50px);padding-right:clamp(28px,3vw,50px);white-space:nowrap}
.news-label{font:800 .74rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.15em;color:#bd3921}
.news-item{font:500 clamp(.83rem,1.05vw,.95rem)/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.015em}
.news-item strong{font-weight:800}
.news-dot{color:#bd3921;font-size:.8rem}
.news-band:hover .news-track{animation-play-state:paused}
@keyframes news-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.news-track{display:block;width:auto;animation:none}.news-set{white-space:normal;flex-wrap:wrap;padding:0 18px}.news-set[aria-hidden=true]{display:none}}

/* Filmography sections */
.film-section{padding-bottom:75px}.film-section-head{padding:0 0 23px}.film-section-head .section-title{margin:8px 0 0}.film-section+.film-section{padding-top:54px;border-top:1px solid #565550}.film-row h3{font:800 clamp(1.8rem,3vw,3.3rem)/.92 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 9px}.film-tile{width:200px;height:125px;display:grid;place-items:center;background:#2b2b29;color:#9e9b95;border:1px solid #504f4b;font:800 2.3rem 'Barlow Condensed',Impact,sans-serif}.film-row .year{font-size:1rem;color:#d5d2cb}.film-row p+p{margin-top:5px;font-size:.9rem;color:#aaa8a1}@media(max-width:850px){.film-tile{width:130px;height:100px}}@media(max-width:600px){.film-section{padding-bottom:52px}.film-section+.film-section{padding-top:44px}.film-tile{width:90px;height:110px;font-size:1.7rem}}
/* Film stills and verified festival credits */
.film-section .film-row{grid-template-columns:70px 220px minmax(0,1fr) 78px;gap:25px;align-items:start;padding:30px 0}
.film-thumb{position:relative;width:220px;height:145px;overflow:hidden;background:#262624}
.film-thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center}
.film-thumb-contain::before{content:"";position:absolute;inset:-12px;background-image:var(--film-image);background-size:cover;background-position:center;filter:blur(15px) brightness(.42)}
.film-thumb-contain img{object-fit:contain}
.film-festivals{display:flex;flex-wrap:wrap;gap:11px 23px;margin-top:16px}
.festival-mark{display:flex;flex-direction:column;border-left:2px solid var(--red);padding-left:9px;max-width:205px;line-height:1.12}
.festival-mark strong{font:800 .98rem 'Barlow Condensed',Impact,sans-serif;letter-spacing:.035em;text-transform:uppercase;color:var(--cream)}
.festival-mark small{font-size:.7rem;color:#b8b6b0;line-height:1.3;margin-top:3px}
@media(max-width:850px){.film-section .film-row{grid-template-columns:40px 160px minmax(0,1fr);gap:18px}.film-thumb{width:160px;height:110px}}
@media(max-width:600px){.film-section .film-row{grid-template-columns:105px minmax(0,1fr);gap:15px}.film-thumb{width:105px;height:100px}.film-festivals{gap:10px;margin-top:12px}.festival-mark{max-width:100%}.festival-mark strong{font-size:.84rem}.festival-mark small{font-size:.66rem}}
.festival-wordmark{display:block;width:auto!important;height:28px!important;max-width:140px;object-fit:contain!important;object-position:left center!important}
.festival-mark:has(img[src*="locarno"]) .festival-wordmark,.festival-mark:has(img[src*="thessaloniki"]) .festival-wordmark{filter:invert(1)}
/* Supplied festival artwork for the Samir film */
.film-festival-logos{gap:16px;align-items:flex-start}
.film-festival-logos .official-logo-mark{border:0;padding:0;max-width:none;width:170px}
.film-festival-logos .festival-wordmark{width:170px!important;max-width:none;height:76px!important;padding:10px;background:var(--cream);object-fit:contain!important;object-position:center!important}
.film-festival-logos .official-logo-mark:nth-child(2) .festival-wordmark{padding:4px 40px}
.film-festival-logos small{margin-top:7px}
/* Festival marks on the filmography: transparent artwork, red rule retained */
.film-section .film-festivals{gap:18px 22px;align-items:flex-start}
.film-section .festival-mark{width:155px;max-width:155px;border-left:2px solid var(--red);padding-left:10px;min-height:80px}
.film-section .festival-wordmark{display:block;width:140px!important;max-width:100%;height:46px!important;object-fit:contain!important;object-position:left center!important;background:none!important;padding:0!important}
.film-section .festival-wordmark:not([src*="biff-mark"]):not([src*="sevilla"]):not(.festival-jpeg-cutout){filter:brightness(0) invert(1)}
.film-section .festival-wordmark.festival-jpeg-cutout{filter:url(#festival-white-cutout)!important}
.film-section .festival-mark small{margin-top:7px}
@media(max-width:600px){.film-section .film-festivals{gap:13px}.film-section .festival-mark{width:min(100%,145px);max-width:145px;min-height:0}.film-section .festival-wordmark{width:125px!important;height:40px!important}}
.film-section .festival-wordmark[src$=".svg"]{filter:none!important}
/* A quiet, consistent festival register across the full filmography. */
.film-section .film-festivals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:22px;max-width:740px}
.film-section .festival-mark{box-sizing:border-box;width:auto;max-width:none;min-height:112px;padding:13px 12px 12px 15px;border-left:2px solid var(--red);background:#242423;justify-content:space-between}
.film-section .festival-mark strong{font-size:1.13rem;line-height:1;letter-spacing:.015em;max-width:170px}
.film-section .festival-wordmark{height:54px!important;width:100%!important;max-width:160px;object-position:left center!important}
.film-section .festival-mark small{display:block;margin-top:12px;font-size:.76rem;line-height:1.35;color:#c8c5bf}
@media(max-width:600px){.film-section .film-festivals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.film-section .festival-mark{width:auto;max-width:none;min-height:104px;padding:10px 9px 10px 12px}.film-section .festival-wordmark{height:44px!important;width:100%!important}.film-section .festival-mark strong{font-size:1rem}.film-section .festival-mark small{font-size:.72rem}}
/* MUBI reference: a light, unboxed festival index with restrained monochrome marks. */
.film-section .film-festivals{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:22px 20px;margin-top:24px;padding:25px 24px;background:#e9e8e5}
.film-section .festival-mark{display:block;width:auto;max-width:none;min-height:0;padding:0;border:0;background:transparent;line-height:1.3}
.film-section .festival-mark strong{display:block;max-width:none;margin-top:10px;color:#5d5d5b;font:700 .88rem/1.3 Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:0}
.film-section .festival-mark small{display:block;margin-top:7px;color:#777775;font:.82rem/1.35 Arial,Helvetica,sans-serif}
.film-section .festival-symbol{display:flex;align-items:center;height:31px;color:#777775;font:900 1.12rem/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.03em}
.film-section .festival-wordmark{display:block;width:90px!important;max-width:100%;height:31px!important;object-fit:contain!important;object-position:left center!important;opacity:.52}
@media(max-width:1000px){.film-section .film-festivals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.film-section .film-festivals{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 16px;gap:23px 14px}.film-section .festival-mark strong{font-size:.82rem}.film-section .festival-mark small{font-size:.78rem}}
@media(max-width:420px){.film-section .film-festivals{grid-template-columns:1fr 1fr}}
.film-section .film-festivals{background:#151514;padding:24px 0 0;border-top:1px solid #464541}
.film-section .festival-mark strong{color:#d5d2cb}
.film-section .festival-mark small,.film-section .festival-symbol{color:#aaa8a1}
.film-section .festival-wordmark{filter:brightness(0) invert(1)!important;opacity:.52}
.film-section .festival-wordmark[src$=".svg"]{filter:none!important;opacity:.62}
.film-section .festival-wordmark[src*="mubi-icon-"]{filter:brightness(0) invert(1)!important;opacity:.62}
.film-section .festival-wordmark[src*="mubi-icon-david"]{width:110px!important;height:45px!important;max-width:100%;opacity:.72}
.film-section .festival-wordmark[src*="festival-icon-tirana"]{width:110px!important;height:40px!important;opacity:.75}
.film-section .festival-wordmark[src*="film-award-efa"]{width:125px!important;height:42px!important;opacity:.74}
.film-thumb-paura{background:#fefefe}
.film-thumb-paura::before{display:none}
.project-group{padding-bottom:72px}
.project-group+.project-group{padding-top:55px;border-top:1px solid #565550}
.project-group .section-title{margin:0 0 27px}
.project-group .film-row{grid-template-columns:70px 200px minmax(0,1fr)}
.project-group .film-row h3{font:800 clamp(1.8rem,3vw,3.3rem)/.92 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 9px}
.project-group .film-row p{max-width:720px}
.project-group .film-row p+p{color:#c8c5bf}
@media(max-width:850px){.project-group .film-row{grid-template-columns:40px 130px minmax(0,1fr)}}
@media(max-width:600px){.project-group{padding-bottom:52px}.project-group+.project-group{padding-top:42px}.project-group .film-row{grid-template-columns:90px minmax(0,1fr)}.project-group .film-row h3{font-size:1.8rem}}
.about-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 7vw;margin-top:30px}
.about-hero{padding-bottom:85px}.about-hero .display{margin-bottom:48px}.about-hero .about-grid p{max-width:660px;margin:0 0 22px;line-height:1.65}.about-hero .about-grid .intro{font-size:1.16rem;line-height:1.55}@media(max-width:700px){.about-hero .display{margin-bottom:32px}.about-hero .about-grid p{margin-bottom:18px}}
.about-team article{border-top:1px solid #5c5b57;padding-top:18px}
.about-team h3{font:800 clamp(1.8rem,2.4vw,2.7rem)/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 5px}
.about-team .team-role{display:block;color:var(--red);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.about-team p{max-width:58ch;margin:20px 0 0;color:#cbc8c1;font-size:1rem;line-height:1.6}
@media(max-width:700px){.about-team{grid-template-columns:1fr;gap:34px}}

/* Fixed light navigation across the site. */
.header{position:sticky;top:0;z-index:50;display:block;width:100%;padding:0;background:var(--cream);color:var(--black);border-bottom:1px solid #d9d3c9}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:12px 0}.header .nav a:hover,.header .nav a[aria-current]{color:var(--red)}
@media(max-width:850px){.header-inner{align-items:flex-start}}
@media(max-width:600px){.header{padding:0}.header-inner{display:block;padding:9px 0 12px}.header .brand{height:58px}.header .nav{margin-top:7px;gap:10px 16px}}

/* Film index and the two project-type monograms. */
.films-hero{padding-bottom:55px}
.film-jump-nav{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:36px}
.film-jump-nav a{display:inline-flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #77766f;color:#dedbd4;font-size:.83rem;font-weight:700}
.film-jump-nav a span{color:var(--red);font-size:1.2rem;line-height:1}
.film-jump-nav a:hover{color:var(--red)}
.film-section{scroll-margin-top:110px}
.project-type-mark{width:200px;min-height:126px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 18px 12px;background:#242423;border-left:3px solid var(--red)}
.project-type-mark strong{font:800 5rem/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.045em;color:var(--cream)}
.project-type-mark span{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#aaa8a1}
.about-team .team-portrait{display:block;width:176px;height:176px;object-fit:cover;object-position:center;filter:grayscale(1);margin:0 0 20px}
@media(max-width:850px){.project-type-mark{width:130px;min-height:110px;padding:12px}.project-type-mark strong{font-size:3.9rem}}
@media(max-width:600px){.film-jump-nav{display:grid;gap:0;margin-top:26px}.film-jump-nav a{padding:10px 0}.film-section{scroll-margin-top:130px}.project-type-mark{width:90px;min-height:95px;padding:9px}.project-type-mark strong{font-size:2.8rem}.project-type-mark span{font-size:.55rem;letter-spacing:.03em}.about-team .team-portrait{width:146px;height:146px}}

/* Company production credits are shown only with films produced by CDV. */
.film-production-credits{max-width:760px;margin:20px 0 0;padding-top:15px;border-top:1px solid #55544e}
.film-production-credits div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;margin:0 0 8px}
.film-production-credits dt{color:#aaa8a1;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.film-production-credits dd{margin:0;color:#e1ded8;font-size:.88rem;line-height:1.45}
@media(max-width:600px){.film-production-credits div{display:block}.film-production-credits dd{margin-top:2px}}
.transparency-hero{padding-bottom:30px}.transparency-content{padding-bottom:90px;max-width:1100px}.transparency-content .section-title{margin:32px 0 20px}.transparency-details{border-top:1px solid #565550;margin:0}.transparency-details div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;border-bottom:1px solid #565550;padding:13px 0}.transparency-details dt{color:#aaa8a1;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.transparency-details dd{margin:0}.transparency-details a,.transparency-content a{border-bottom:1px solid var(--red)}.transparency-note{color:#bdbab3;max-width:780px;margin:18px 0 25px;font-size:.9rem}.transparency-table-wrap{overflow-x:auto}.transparency-table{border-collapse:collapse;width:100%;min-width:620px;text-align:left;font-size:.88rem}.transparency-table th{color:#aaa8a1;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.transparency-table th,.transparency-table td{border-bottom:1px solid #565550;padding:13px 15px 13px 0;vertical-align:top}.transparency-table th:first-child,.transparency-table td:first-child{white-space:nowrap}.transparency-table th:last-child,.transparency-table td:last-child{text-align:right;white-space:nowrap}@media(max-width:600px){.transparency-content{padding-bottom:55px}.transparency-details div{grid-template-columns:1fr;gap:3px}.transparency-table{font-size:.82rem}}
.privacy-hero{padding-bottom:30px}.privacy-content{max-width:1100px;padding-bottom:90px}.privacy-content section{display:grid;grid-template-columns:230px minmax(0,1fr);gap:45px;border-top:1px solid #565550;padding:24px 0}.privacy-content h2{font:800 clamp(1.4rem,2vw,2rem)/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0}.privacy-content p{grid-column:2;max-width:740px;margin:0 0 13px;color:#d0cdc6;line-height:1.65}.privacy-content section p:first-of-type{grid-row:1}.privacy-content a{border-bottom:1px solid var(--red)}.privacy-content .privacy-updated{margin:15px 0 0;color:#aaa8a1;font-size:.85rem}@media(max-width:700px){.privacy-content{padding-bottom:55px}.privacy-content section{display:block;padding:20px 0}.privacy-content h2{margin-bottom:10px}.privacy-content p{margin-bottom:12px}}
.transparency-table{min-width:780px;table-layout:fixed}.transparency-table th:first-child,.transparency-table td:first-child{width:110px}.transparency-table th:nth-child(2){width:49%}.transparency-table th:last-child,.transparency-table td:last-child{width:115px}.contribution-basis{display:block;margin-top:7px;color:#aaa8a1;font-size:.82em;line-height:1.45}
.trailer-frame{position:relative;aspect-ratio:16/9;background:#151514;overflow:hidden}.trailer-frame iframe,.trailer-launch{display:block;width:100%;height:100%;border:0}.trailer-launch{position:relative;padding:0;cursor:pointer;background:#151514;color:#fff}.trailer-launch img{width:100%;height:100%;object-fit:cover}.trailer-launch:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 50%)}.trailer-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(20,20,20,.85);font-size:25px;padding-left:5px}.trailer-label{position:absolute;z-index:1;left:22px;bottom:18px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.trailer-launch:hover .trailer-play,.trailer-launch:focus-visible .trailer-play{background:#d8492f}.trailer-launch:focus-visible{outline:3px solid #d8492f;outline-offset:-3px}
.footer-social .social-icons{display:flex;align-items:center;gap:13px;margin-top:5px}.footer-social .social-icons a{display:grid;place-items:center;width:36px;height:36px;padding:5px;border:1px solid #6f6d68;border-radius:50%;color:inherit}.footer-social .social-icons a:hover{color:var(--red);border-color:var(--red)}.footer-social .social-icons svg{display:block;width:22px;height:22px}
/* Full-width warm-white dividers for the three film categories. */
.film-section-band{background:var(--cream);color:var(--black)}
.film-section-band .film-section-head{padding:27px 0 29px}
.film-section-band .section-title{margin:7px 0 0}
.film-section+.film-section{padding-top:0;border-top:0}
.film-section .film-list{padding-top:10px}
@media(max-width:600px){.film-section+.film-section{padding-top:0}.film-section-band .film-section-head{padding:22px 0 23px}.film-section .film-list{padding-top:5px}}

.about-people{border-top:1px solid #565550}
/* Keep the film sequence untouched; shade only the area behind the hero copy. */
@media(min-width:601px){.hero:after{background:linear-gradient(90deg,#151514 0%,rgba(21,21,20,.98) 17%,rgba(21,21,20,.86) 30%,rgba(21,21,20,.45) 44%,transparent 62%)}}
@media(max-width:600px){.hero:before{background-image:url('/assets/hero-films.gif');background-size:100% auto;background-position:center bottom;background-repeat:no-repeat}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#151514 0%,rgba(21,21,20,.98) 34%,rgba(21,21,20,.82) 46%,transparent 60%)}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.hero:before{background-image:url('/assets/hero-films-poster.jpg')}}
/* Preserve full-colour source stills: no GIF palette or filter on the images. */
.hero:before{content:none!important}
.hero .hero-slides{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero .hero-slide{position:absolute;inset:0;display:block;background-size:auto 100%;background-position:right center;background-repeat:no-repeat;opacity:0;transition:opacity .55s ease}
.hero .hero-slide.is-active{opacity:1}
.hero:after{z-index:1}
.hero .hero-content{position:relative;z-index:2}
@media(max-width:600px){.hero .hero-slide{background-size:100% auto;background-position:center bottom}}
@media(prefers-reduced-motion:reduce){.hero .hero-slide{transition:none}.hero .hero-slide:not(:first-child){display:none}}
/* Place Karidja on the open side of the headline without changing the photo file. */
.hero .hero-slide--mirror{background-position:left center;transform:scaleX(-1)}
@media(max-width:600px){.hero .hero-slide--mirror{background-position:center bottom}}
