@font-face{font-family:Norms;src:url('../fonts/TTNormsPro-Regular.woff2') format('woff2'),url('../fonts/TTNormsPro-Regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Norms;src:url('../fonts/TTNormsPro-Bold.woff2') format('woff2'),url('../fonts/TTNormsPro-Bold.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Norms;src:url('../fonts/TTNormsPro-Italic.woff2') format('woff2'),url('../fonts/TTNormsPro-Italic.woff') format('woff');font-style:italic;font-display:swap}
:root{--red:#c64e32;--blue:#171563;--beige:#fbf7f5;--radius:40px;--gutter:60px;--header-height:162px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;padding-top:var(--header-height);background:var(--beige);color:var(--blue);font:16px/1.375 Norms,Arial,sans-serif}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{width:calc(100% - 2 * var(--gutter));max-width:1600px;margin-inline:auto}.header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:100;isolation:isolate;height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.brand{display:block;flex-shrink:0}.brand img{width:190px;height:115px;object-fit:contain}.header nav{display:flex;align-items:center;gap:53px;font-weight:700}.language{border:2px solid var(--red);border-radius:40px;padding:8px 17px;color:#000}.menu-toggle{display:none}.skip{position:fixed;left:12px;top:-100px;background:white;padding:12px;z-index:101}.skip:focus{top:12px}.home-hero{height:673px;position:relative;display:flex;align-items:flex-end;padding-bottom:55px}.home-hero h1{font-size:135px;line-height:120px;width:800px;letter-spacing:-3px;z-index:1}.home-hero h1 span{color:var(--red)}.hero-art{position:absolute;right:-60px;top:79px;width:562px;height:531px;overflow:hidden}.hero-art img{position:absolute;max-width:none}.loop-one{left:28px;top:262px;transform:scaleY(-1)}.loop-two{left:293px;top:0;transform:scaleX(-1)}.hero-art:after{content:'';position:absolute;left:0;top:262px;width:108px;height:190px;background:linear-gradient(var(--beige),transparent)}.dark{background:var(--blue);color:var(--beige)}.fund{min-height:1081px;padding:96px 0 155px}.split{display:grid;grid-template-columns:427px minmax(0,1fr);gap:20px}.fund-copy{max-width:761px;padding-top:61px}.lead{font-size:40px;line-height:45px}.lead p+p{margin-top:0}.lead mark{background:none;color:inherit;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:17px;text-underline-offset:-9px;text-decoration-skip-ink:none}.prose{font-size:16px;line-height:22px}.prose p+p{margin-top:0}.fund-copy .prose{margin-top:28px}.fund-copy .button{margin-top:36px}.section-heading{position:relative}.eyebrow{color:var(--red);font-weight:700;font-size:16px;min-height:58px;display:flex;align-items:center;position:relative}.eyebrow>img{position:absolute;left:-61px;top:0;transform:rotate(90deg);max-width:none}.section-heading h2{font-size:62px;line-height:60px;font-weight:700}.section-heading h2 p{margin:0}.section-heading h2 strong{color:var(--red)}.section{padding-top:150px;padding-bottom:150px}.projects{padding-top:158px;padding-bottom:160px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:68px}.card{background:#fff;border-radius:var(--radius);padding:60px 26px 36px;display:flex;flex-direction:column;min-height:390px}.card h3{font-size:32px;line-height:32px;color:var(--red);min-height:64px}.card-excerpt{margin-top:18px;margin-bottom:25px;flex:1;line-height:22px}.button{border:2px solid var(--red);border-radius:40px;min-height:52px;padding:12px 16px 12px 24px;display:inline-flex;gap:20px;align-items:center;justify-content:center;font-weight:700;width:fit-content;line-height:24px}.button:hover{background:var(--red);color:var(--beige);text-decoration:none}.button img{max-width:none;flex-shrink:0}.engagement-inner{height:587px;position:relative;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--beige)}.engagement-image{position:absolute;width:100%;height:125.46%;top:0;object-fit:cover}.engagement-inner>div{position:relative;width:510px}.engagement-inner .eyebrow{justify-content:center}.engagement h2{font-size:62px;line-height:60px;font-weight:400}.engagement h2 strong{font-weight:700}.engagement .button{margin-top:33px;color:var(--blue)}.footer{min-height:298px;padding-top:155px;padding-bottom:26px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-links a:has(img){margin-left:15px}.cover-inner{height:758px;border-radius:var(--radius);position:relative;overflow:hidden;background:var(--blue);display:grid;place-items:center}.cover-image{position:absolute;width:129.72%;height:126.73%;max-width:none;left:-19.18%;top:-4.82%;object-fit:cover}.festival-cover .cover-inner:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6)}.cover-content{position:relative;z-index:1;text-align:center;color:var(--beige);width:100%;padding:20px}.cover h1{font-size:135px;line-height:120px}.festival-label{font-size:40px;line-height:120px;color:var(--red)}.festival-dates{font-size:40px;line-height:100px}.cover .button{margin-top:0}.festival-intro{padding-top:130px;padding-bottom:131px}.festival-intro .lead{padding-top:17px}.film-grid{margin-top:55px;gap:25px 20px}.film.card{padding:0;overflow:hidden;min-height:390px}.film-image{width:100%;aspect-ratio:427/215.3;object-fit:cover}.film-info{padding:25px 30px 35px}.film-title{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.film-title h3{min-height:0;max-width:300px}.film-title>span{font-size:16px;color:var(--red);flex-shrink:0}.film-info>p{margin-top:16px}.agenda{margin-top:150px;padding-top:110px;padding-bottom:140px}.section-top{display:flex;align-items:flex-end;justify-content:space-between}.agenda-day{display:grid;grid-template-columns:203px minmax(0,1fr);gap:20px;margin-top:90px}.day-date{font-size:62px;line-height:60px}.day-date strong,.day-date span{display:block}.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event{position:relative}.event-time{font-size:32px;line-height:32px;font-weight:700;position:relative}.event-time:before{content:'';position:absolute;left:51px;right:-20px;top:18px;border-top:1px solid var(--red)}.event-time:after{content:'';position:absolute;left:-6px;top:3px;width:44px;height:27px;background:url('../images/imgEllipse1.svg') center no-repeat}.event h3{font-size:32px;line-height:32px;color:var(--red);min-height:64px;margin-top:4px}.event .prose{margin-top:18px}.event>p{margin-top:14px}.awards{padding-top:180px;padding-bottom:145px}.award-list{margin-top:80px}.award{border-top:1px solid var(--red);min-height:104px;padding:24px 0;display:grid;grid-template-columns:44px 1fr 427px;gap:20px;align-items:center}.award:last-child{border-bottom:1px solid var(--red)}.award>span{color:var(--red);font-weight:700}.award h3{font-size:32px;line-height:32px}.professionals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:53px 20px;margin-top:90px}.professionals h3{font-size:32px;line-height:32px;color:var(--red);min-height:64px}.professionals p{margin-top:18px}.news{padding-top:150px;padding-bottom:0}.news .cards{margin-top:68px}.detail-image{width:100%;height:100%;object-fit:cover;position:absolute}.bee{position:absolute;width:751.55px;height:857.36px;max-width:none;object-fit:cover}.bee-one{left:516px;top:92px}.bee-two{left:-7px;top:-478px}.detail-body{padding-top:130px;padding-bottom:0;min-height:708px}.detail-body .lead{padding-top:17px}.detail-body .prose{margin-top:50px}.legal{min-height:60vh;max-width:900px}.legal h1{font-size:62px;line-height:1;margin-bottom:50px}.legal .prose p+p{margin-top:20px}
@media(min-width:1441px){.home-hero h1{width:800px}.hero-art{right:-60px}}@media(max-width:1100px){:root{--gutter:32px}.header nav{gap:25px}.home-hero h1,.cover h1{font-size:100px;line-height:.94}.home-hero{height:600px}.hero-art{right:-32px;opacity:.8}.split{grid-template-columns:32% minmax(0,1fr)}.section-heading h2{font-size:50px;line-height:1}.lead{font-size:32px;line-height:1.15}.eyebrow>img{left:-33px}.card{padding:38px 22px}.card h3,.film-title h3,.event h3,.award h3{font-size:26px;line-height:1.1}.professionals{grid-template-columns:repeat(3,minmax(0,1fr))}.award{grid-template-columns:30px 1fr 32%}.agenda-day{grid-template-columns:130px 1fr}.footer{padding-top:100px}.footer-links{font-size:14px}}
@media(max-width:700px){:root{--gutter:22px;--radius:24px;--header-height:112px}.header{height:var(--header-height)}.brand img{width:130px;height:80px}.menu-toggle{display:block;background:transparent;border:2px solid var(--red);border-radius:30px;padding:8px 16px;color:var(--blue)}.header nav{display:none;position:absolute;top:100px;left:22px;right:22px;background:var(--beige);border:1px solid var(--red);padding:25px;z-index:5;border-radius:20px;flex-direction:column;align-items:flex-start;gap:22px}.header nav.open{display:flex}.home-hero{height:520px;align-items:flex-end;padding-bottom:45px}.home-hero h1{font-size:64px;line-height:.96;letter-spacing:-1px;width:100%}.hero-art{transform:scale(.55);transform-origin:top right;top:0;right:-22px}.home-hero h1{position:relative}.fund{padding:60px 0 75px;min-height:0}.split{grid-template-columns:1fr;gap:35px}.fund-copy{padding-top:0}.section-heading h2,.engagement h2{font-size:42px;line-height:1}.lead{font-size:28px;line-height:1.15}.eyebrow>img{left:-23px;width:40px;height:35px;top:11px}.eyebrow{padding-left:12px;font-size:14px}.section,.projects{padding-top:70px;padding-bottom:70px}.cards{grid-template-columns:1fr;margin-top:35px;gap:20px}.card{min-height:330px;padding:35px 25px}.card h3{min-height:0;font-size:30px;line-height:1.05}.card-excerpt{margin-top:25px}.engagement-inner{height:430px}.engagement-inner>div{width:auto;padding:25px}.engagement-image{object-fit:cover;height:100%}.engagement h2{font-size:42px}.footer{min-height:260px;flex-direction:column;align-items:flex-start;padding-top:70px;padding-bottom:30px}.footer-links{gap:8px}.footer-links a:has(img){margin-left:8px}.cover-inner{height:500px}.cover h1{font-size:64px;line-height:1;overflow-wrap:anywhere}.festival-label,.festival-dates{font-size:25px;line-height:1.3;margin:20px 0}.cover .button{margin-top:15px}.film.card{padding:0;min-height:0}.film-title h3{font-size:28px}.films{padding-bottom:0}.agenda{margin-top:70px}.section-top{align-items:flex-start;gap:20px;flex-direction:column}.agenda-day{grid-template-columns:1fr;margin-top:60px;gap:30px}.day-date time{display:flex;gap:12px;font-size:48px}.events{grid-template-columns:1fr;gap:40px}.event h3{min-height:0;font-size:30px}.event-time:before{right:0}.event .prose{margin-top:15px}.award-list{margin-top:35px}.award{grid-template-columns:25px 1fr;gap:12px;padding:25px 0}.award>div{grid-column:2}.award h3{font-size:25px}.professionals{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px;gap:35px 20px}.professionals h3{font-size:26px;min-height:0}.professionals p{margin-top:12px}.news{padding-bottom:0}.bee{width:500px;height:570px}.bee-one{left:0;top:100px}.bee-two{left:-100px;top:-370px}.detail-body{min-height:0;padding-bottom:20px}.detail-body .prose{margin-top:35px}.legal h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.film-image-frame{aspect-ratio:427/215.3;overflow:hidden;position:relative}.film-image-frame .film-image{height:100%;aspect-ratio:auto}.film-image-placeholder{background:var(--blue)}.event-time{font-size:16px}.event-time:before{border:0;height:1px;background:url("../images/imgLine1.svg") left center/auto 1px no-repeat}.award{border:0;background:url("../images/imgLine4.svg") left top/100% 1px no-repeat}.award:last-child{border:0;background-image:url("../images/imgLine4.svg"),url("../images/imgLine4.svg");background-position:left top,left bottom;background-size:100% 1px;background-repeat:no-repeat}

.card{position:relative}.card h3 a:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.card .button{position:relative;z-index:1}.detail-cover .cover-inner{mask-image:url("../images/imgPifAbeilleDapresPubPifPocheRedessineJLucM1.svg");mask-size:100% 100%;mask-repeat:no-repeat}
.film-image-frame:has(img[src*="/film-01.png"]) img{position:absolute;width:117.55%;height:100%;left:-8.77%;top:0;max-width:none}
.film-image-frame:has(img[src*="/film-02.png"]) img{position:absolute;width:109.03%;height:121.34%;left:-9.03%;top:-10.67%;max-width:none}
.film-image-frame:has(img[src*="/film-03.png"]) img{position:absolute;width:125.38%;height:105.81%;left:0;top:-2.91%;max-width:none}
.film-image-frame:has(img[src*="/film-05.png"]) img{position:absolute;width:100%;height:111.43%;left:0;top:-5.71%;max-width:none}
.film-image-frame:has(img[src*="/film-06.png"]) img{position:absolute;width:119.61%;height:100%;left:-6.13%;top:0;max-width:none}
.film-image-frame:has(img[src*="/film-07.png"]) img{position:absolute;width:100%;height:111.88%;left:0;top:-5.94%;max-width:none}
.film-image-frame:has(img[src*="/film-08.png"]) img{position:absolute;width:101.86%;height:113.65%;left:0;top:-6.83%;max-width:none}
.film-image-frame:has(img[src*="/film-09.png"]) img{position:absolute;width:100%;height:110.95%;left:0;top:-5.47%;max-width:none}

.projects .section-heading h2{font-weight:400}.projects .section-heading h2 strong{font-weight:700;color:var(--blue)}

/* Full-width backdrop appears after 50px of scrolling. */
.header::before {
  content: '';
  position: absolute;
  inset-block: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  background: var(--beige);
  opacity: 0;
  transition: opacity 180ms ease;
  pointer-events: none;
}
.header.is-scrolled::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .header::before { transition: none; }
}

/* Compact fixed header after the existing 50px scroll threshold. */
.header {
  transition: height 220ms ease;
}
.header .brand img {
  transition: width 220ms ease, height 220ms ease;
}
.header.is-scrolled {
  height: 96px;
}
.header.is-scrolled .brand img {
  width: 120px;
  height: 72px;
}
@media (max-width: 700px) {
  .header.is-scrolled {
    height: 80px;
  }
  .header.is-scrolled .brand img {
    width: 104px;
    height: 64px;
  }
  .header nav {
    top: calc(100% - 12px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .header,
  .header .brand img {
    transition: none;
  }
}
