/* Homepage compositions. Figma desktop reference: 1512px; gutters 117px. */
.cj-homepage { --cj-home-gutter: var(--wp--custom--homepage--gutter,clamp(20px, 7.738vw, 160px)); --cj-home-gap: var(--wp--custom--homepage--column-gap,clamp(24px, 2.315vw, 48px)); --cj-home-space: var(--wp--custom--homepage--section-gap,clamp(64px, 7.9365vw, 160px)); color:#000; background:#fff; margin:0; font-family:Inter,sans-serif; }
.cj-homepage *, .cj-homepage *::before, .cj-homepage *::after { box-sizing:border-box; }
.cj-homepage :where(h1,h2,h3,p,figure,.wp-block-group,.wp-block-columns,.wp-block-column) { margin:0; }
.cj-homepage :where(h1,h2,h3) { font-family:Mattone,sans-serif; font-weight:900; line-height:1.2; letter-spacing:0; }
.cj-homepage p { font-size:20px; font-weight:480; line-height:1.2; }
.cj-homepage a { color:inherit; }
.cj-homepage .wp-block-image { margin:0; }
.cj-homepage .wp-block-image img { display:block; width:100%; height:100%; object-fit:cover; }
.cj-homepage .wp-block-image a { display:block; height:100%; }
.cj-homepage .cj-hp-section { margin-block-start:var(--cj-home-space); }
.cj-homepage .cj-hp-inner { margin-inline:auto; padding-inline:var(--cj-home-gutter); }
.cj-homepage .cj-hp-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--cj-home-gap); align-items:start; }
.cj-homepage .cj-hp-copy { display:flex; flex-direction:column; gap:26px; }
.cj-homepage .cj-hp-copy h2 { font-size:clamp(32px,3.6376vw,64px); line-height:normal; }
.cj-homepage sup { font-size:.55em; vertical-align:super; line-height:0; }
.cj-homepage .cj-hp-copy h3 { font-size:clamp(24px,2.2487vw,40px); }
.cj-homepage .cj-hp-copy .cj-hp-lead { font-size:20px; font-weight:700; line-height:1.2; }
.cj-homepage .cj-hp-copy .cj-hp-tag { font-size:12px; border:1px solid; border-radius:30px; padding:2px 8px; align-self:start; }
.cj-homepage .cj-hp-copy .cj-hp-link { margin-top:0; }
.cj-hp-heading { display:flex; flex-direction:column; gap:0; }
.cj-homepage .cj-hp-link { margin-top:14px; font-size:16px; font-weight:600; }
.cj-homepage .cj-hp-link a { display:inline-block; text-decoration:none; border-bottom:1px solid; padding-bottom:10px; }
.cj-homepage .cj-hp-link a:hover { border-bottom-width:3px; padding-bottom:8px; }
.cj-homepage a:focus-visible, .cj-homepage button:focus-visible { outline:3px solid #1bb897; outline-offset:5px; }
.cj-homepage .cj-hp-feature-image { aspect-ratio:621.5/412; overflow:hidden; }
.cj-homepage--offseason .cj-hp-intro .cj-hp-feature-image { aspect-ratio:621.5/475; }
.cj-homepage .cj-hp-aftermovie .cj-hp-feature-image { aspect-ratio:621.5/388; }
.cj-homepage .cj-hp-hero { position:relative; min-height:560px; height:100svh; display:grid; place-items:center; background:#000; color:#fff; overflow:hidden; }
.cj-homepage .cj-hp-hero > .cj-hp-hero-image { position:absolute; inset:0; opacity:.8; }
.cj-homepage .cj-hp-hero-content { position:relative; display:flex; align-items:center; flex-direction:column; gap:32px; width:clamp(210px,20.5vw,310px); padding:0; text-align:center; }
.cj-homepage .cj-hp-hero-logo { width:100%; }
.cj-homepage .cj-hp-hero h1 { font:700 clamp(18px,1.587vw,24px)/1.2 Inter,sans-serif; width:100%; }
.cj-homepage .cj-hp-hero .cj-hp-date { font-size:clamp(18px,2.1vw,32px); font-weight:700; }
.cj-homepage .cj-hp-hero .cj-hp-hero-link { position:absolute; bottom:15%; left:var(--cj-home-gutter); width:168px; aspect-ratio:1; }
.cj-hp-hero-link a { position:relative; display:block; width:100%; height:100%; }
.cj-hp-vlog-ring { width:100%; height:100%; animation:cj-vlog-spin 30s linear infinite; }
.cj-hp-vlog-camera { position:absolute; width:49px; height:57px; inset:50% auto auto 50%; transform:translate(-50%,-50%); }
.cj-homepage .cj-hp-hero .cj-hp-scroll { position:absolute; bottom:70px; left:50%; transform:translateX(-50%); }
.cj-hp-scroll img { display:block; width:30px; height:40px; animation:cj-scroll-cue 2s ease-in-out infinite; }
@keyframes cj-vlog-spin { to { transform:rotate(360deg); } }
@keyframes cj-scroll-cue { 50% { transform:translateY(8px); } }
.cj-hp-marquee { overflow:hidden; width:100%; padding-block:0 40px; border-bottom:1px solid; margin-bottom:60px; }
.cj-hp-marquee__track { display:flex; width:max-content; animation:cj-hp-scroll 35s linear infinite; }
.cj-hp-marquee__track > :is(h2,span) { flex:none; white-space:nowrap; margin:0; padding-right:.22em; font:900 clamp(40px,6.6138vw,140px)/1.2 Mattone,sans-serif; letter-spacing:0; }
.cj-hp-marquee:hover .cj-hp-marquee__track, .cj-hp-marquee:focus-within .cj-hp-marquee__track { animation-play-state:paused; }
@keyframes cj-hp-scroll { to { transform:translateX(-50%); } }
.cj-homepage .cj-hp-row-link { border-block:1px solid #000; margin-top:-1px; text-align:center; }
.cj-homepage .cj-hp-row-link a { display:block; padding:22px 20px; font:900 clamp(25px,3.9683vw,64px)/1.2 Mattone,sans-serif; text-decoration:none; transition:background .18s; }
.cj-homepage .cj-hp-row-link a:hover { background:#dceb69; }
.cj-homepage .cj-hp-podcast { padding-block:0 60px; align-items:center; border-bottom:1px solid #000; }
.cj-homepage--offseason .cj-hp-podcast { border-top:0; padding-top:0; }
.cj-homepage .cj-hp-podcast-image { aspect-ratio:621.5/365; }
.cj-homepage .cj-hp-podcast-image img { object-fit:contain; }
.cj-hp-podcast-player { width:100%; min-width:0; }
.cj-hp-podcast-player iframe { display:block; border:0; width:100%; max-width:100%; }
.cj-homepage .cj-hp-podcast .cj-hp-copy { gap:20px; }
.cj-homepage .cj-hp-podcast .cj-hp-podcast-description { font-size:16px; font-weight:700; }
.cj-homepage .cj-hp-media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid; padding-inline:var(--cj-home-gutter); }
.cj-homepage .cj-hp-media-card { padding:15px 15px 40px; border-right:1px solid; display:flex; flex-direction:column; }
.cj-homepage .cj-hp-media-card:last-child { border-right:0; }
.cj-hp-media-copy { display:flex; flex-direction:column; flex:1; padding:10px 30px 0; gap:26px; }
.cj-homepage .cj-hp-media-card figure { aspect-ratio:1.83; margin-bottom:26px; }
.cj-homepage .cj-hp-media-card figure img { aspect-ratio:1.83; height:auto; }
.cj-homepage .cj-hp-media-card h3 { font-size:clamp(22px,2.2487vw,38px); font-weight:900; min-height:2.4em; }
.cj-homepage .cj-hp-media-card p:not(.cj-hp-link) { font-size:24px; font-weight:700; }
.cj-homepage .cj-hp-media-card .cj-hp-link { margin-top:auto; padding-top:20px; }
.cj-homepage .cj-hp-awards { margin-top:80px; }
.cj-homepage .cj-hp-awards-title { font-size:clamp(28px,3.9683vw,64px); text-align:center; padding:22px 20px 60px; border-top:1px solid; }
.cj-homepage .cj-hp-award { align-items:stretch; }
.cj-homepage .cj-hp-award-image { position:absolute; inset:0; }
.cj-homepage .cj-hp-award-image img { object-position:60% center; }
.cj-homepage .cj-hp-award-visual { position:relative; min-height:360px; }
.cj-homepage .cj-hp-laurels { position:absolute; inset:20px auto auto 20px; width:22%; display:grid; gap:12px; }
.cj-homepage .cj-hp-laurels img { filter:brightness(0) invert(1); }
.cj-homepage .cj-hp-award .cj-hp-copy { gap:16px; }
.cj-homepage .cj-hp-award .cj-hp-copy > p { font-size:16px; }
.cj-hp-prizes { margin-bottom:20px !important; }
.cj-homepage .cj-hp-prizes p { display:flex; align-items:center; gap:10px; font-size:24px; font-weight:700; }
.cj-hp-prizes p::before { content:''; width:32px; height:25px; flex:none; background:url('../images/figma-prize.svg') center/contain no-repeat; }
.cj-homepage .cj-hp-award { margin-bottom:60px; }
.cj-homepage .cj-hp-archives { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-inline:var(--cj-home-gutter); }
.cj-homepage .cj-hp-archive { padding:0 20px 40px; border-right:1px solid; }
.cj-homepage .cj-hp-archive:last-child { border-right:0; }
.cj-homepage .cj-hp-archive figure { aspect-ratio:290/393.89; margin-bottom:24px; }
.cj-homepage .cj-hp-archive h3 { font-size:20px; margin-bottom:12px; }
.cj-homepage .cj-hp-archives-more a { font:700 28px/1.45 Mattone,sans-serif; padding:15px 10px; }
.cj-homepage .cj-hp-archives-more a:is(:hover,:focus-visible) { background:transparent; font-weight:900; box-shadow:inset 0 -5px #000; }
.cj-homepage .cj-hp-locations { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid; margin-top:-60px; }
.cj-homepage .cj-hp-location { padding:50px var(--cj-home-gutter); }
.cj-homepage .cj-hp-location + .cj-hp-location { border-left:1px solid; }
.cj-homepage .cj-hp-location h3 { font-size:clamp(25px,2.2487vw,40px); margin:12px 0 38px; }
.cj-homepage .cj-hp-location p { font-size:22px; font-weight:700; }
.cj-homepage .cj-hp-location strong { font:900 40px/1.2 Mattone,sans-serif; }
.cj-homepage .cj-hp-location .cj-hp-link { font-size:16px; margin-top:50px; }
.cj-homepage .cj-hp-workshops { padding-block:60px; align-items:center; }
.cj-homepage .cj-hp-demo-art { aspect-ratio:621/475; background:#dceb69; display:grid; place-items:center; text-align:center; padding:30px; border:1px solid; }
.cj-homepage .cj-hp-demo-art p { font:900 32px/1.3 Mattone,sans-serif; }
.cj-hp-film-filters { display:flex; overflow:auto; border-block:1px solid; }
.cj-hp-film-filters button { flex:1 0 auto; min-width:85px; padding:24px 14px; color:#000; border:0; border-right:1px solid; background:#fff; cursor:pointer; font:700 20px/1.2 Inter,sans-serif; }
.cj-hp-film-filters button[aria-pressed="true"], .cj-hp-film-filters button:hover { background:#dceb69; box-shadow:inset 0 -4px #000; }
.cj-hp-film-list { display:flex; gap:24px; overflow:auto; padding:60px var(--cj-home-gutter); scroll-snap-type:x mandatory; }
.cj-hp-film-card { flex:0 0 clamp(220px,20vw,330px); background:#dceb69; padding:12px 12px 28px; scroll-snap-align:start; text-align:center; }
.cj-hp-film-card:nth-child(3n+2) { background:#1bb897; }
.cj-hp-film-card:nth-child(3n) { background:#d6b7d7; }
.cj-hp-film-card[hidden] { display:none; }
.cj-hp-film-card figure { aspect-ratio:2/3; display:grid; place-items:center; background:rgba(255,255,255,.45); margin:0 0 20px; }
.cj-hp-film-card figure span { font:900 70px Mattone,sans-serif; opacity:.3; }
.cj-hp-film-card h3 { font:900 22px/1.3 Mattone,sans-serif; margin:18px 0 0; }
.cj-hp-film-card p { font-size:12px; }
.cj-hp-film-status { padding:0 var(--cj-home-gutter) 24px; font-size:14px; }
.cj-hp-film-scroller { position:relative; }
.cj-hp-film-nav { display:none; }
.is-enhanced .cj-hp-film-nav { display:flex; justify-content:space-between; position:absolute; left:var(--cj-home-gutter); right:var(--cj-home-gutter); top:45%; pointer-events:none; }
.cj-hp-film-nav button { pointer-events:auto; border:0; background:#fff; color:#000; border-radius:50%; width:44px; height:44px; font-size:28px; cursor:pointer; box-shadow:0 1px 6px #0002; }
@media (min-width:1800px) { .cj-homepage { --cj-home-gutter:max(117px,calc((100% - 1500px)/2)); } }
@media (max-width:800px) {
 .cj-homepage .cj-hp-split { grid-template-columns:1fr; }
 .cj-homepage .cj-hp-copy { gap:20px; }
 .cj-homepage .cj-hp-copy .cj-hp-lead { font-size:19px; }
 .cj-homepage .cj-hp-hero { min-height:560px; height:100svh; }
 .cj-homepage .cj-hp-hero .cj-hp-hero-link { width:110px; bottom:15%; }
 .cj-homepage .cj-hp-hero .cj-hp-scroll { bottom:32px; }
 .cj-homepage .cj-hp-hero-image img { object-position:57% center; }
 .cj-homepage .cj-hp-hero h1 { max-width:24ch; }
 .cj-homepage .cj-hp-podcast { padding-block:30px; }
 .cj-homepage .cj-hp-podcast-image { max-width:620px; }
 .cj-homepage .cj-hp-media-grid { grid-template-columns:1fr; }
 .cj-homepage .cj-hp-media-card { padding:24px 0; border:0; border-bottom:1px solid; }
 .cj-homepage .cj-hp-media-card:first-child { border-left:0; }
 .cj-homepage .cj-hp-media-card:last-child { border-bottom:0; }
 .cj-homepage .cj-hp-archives { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0; }
 .cj-homepage .cj-hp-archive { padding:0 12px 20px; }
 .cj-homepage .cj-hp-archive:nth-child(even) { border-right:0; }
 .cj-homepage .cj-hp-archive h3 { font-size:15px; }
 .cj-homepage .cj-hp-locations { grid-template-columns:1fr; }
 .cj-homepage .cj-hp-location { padding:35px var(--cj-home-gutter); }
 .cj-homepage .cj-hp-location + .cj-hp-location { border-left:0; border-top:1px solid; }
 .cj-homepage .cj-hp-location p { font-size:19px; }
 .cj-homepage .cj-hp-location strong { font-size:32px; }
 .cj-homepage .cj-hp-awards { margin-top:50px; }
 .cj-homepage .cj-hp-awards-title { padding-bottom:30px; }
 .cj-hp-film-list { padding-block:30px; }
 .cj-hp-film-filters button { min-width:76px; padding:18px 12px; font-size:16px; }
 .cj-hp-marquee { padding-bottom:25px; }
 .cj-hp-media-copy { padding-inline:0; }
 .cj-homepage .cj-hp-media-card h3 { min-height:0; }
 .cj-homepage .cj-hp-media-card p:not(.cj-hp-link) { font-size:20px; }
 .cj-homepage .cj-hp-location { padding:35px 20px; }
}
.cj-homepage .cj-hp-accordion { margin:0; border-bottom:1px solid; }
.cj-hp-accordion:first-of-type { border-top:1px solid; }
.cj-hp-accordion summary { list-style:none; text-align:center; padding:10px 20px; cursor:pointer; font:900 clamp(25px,3.6376vw,64px)/normal Mattone,sans-serif; transition:background .18s; }
.cj-hp-accordion summary::-webkit-details-marker { display:none; }
.cj-hp-accordion summary:focus-visible { outline:3px solid #534ff4; outline-offset:-5px; }
.cj-hp-accordion summary:hover, .cj-hp-accordion[open] { background:var(--cj-accordion-color,var(--wp--preset--color--periwinkle)); }
.cj-hp-accordion[open] > summary::after { content:'×'; display:inline-block; margin-left:25px; font:400 36px/1 Inter,sans-serif; vertical-align:middle; }
.cj-hp-accordion-content { padding:60px var(--cj-home-gutter); }
.cj-hp-prize-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 60px; }
.cj-hp-prize-card { background:#fff; display:flex; flex-direction:column; }
.cj-hp-prize-picture { position:relative; min-width:0; }
.cj-hp-prize-picture > img:first-child { display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:610.5/366; }
.cj-hp-prize-picture .cj-hp-prize-laurel { position:absolute; top:20px; left:20px; width:117px; height:auto; filter:brightness(0) invert(1); }
.cj-hp-prize-copy { padding:26px; display:flex; flex-direction:column; gap:20px; }
.cj-homepage .cj-hp-prize-copy p { font-size:16px; }
.cj-homepage .cj-hp-prize-copy h3 { font:900 clamp(24px,2.2487vw,40px)/normal Mattone,sans-serif; }
.cj-homepage .cj-hp-prize-label { display:flex; gap:10px; align-items:center; font-weight:700; }
.cj-hp-prize-label::before { content:''; width:32px; height:25px; flex:none; background:url('../images/figma-prize.svg') center/contain no-repeat; }
.cj-hp-prize-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; }
.cj-hp-prize-feature .cj-hp-prize-copy { padding:0; }
.cj-hp-prize-feature .cj-hp-prize-picture { min-height:350px; }
.cj-hp-prize-feature .cj-hp-prize-picture > img:first-child { position:absolute; inset:0; aspect-ratio:auto; }
@media(max-width:800px) { .cj-hp-prize-grid,.cj-hp-prize-feature { grid-template-columns:1fr; gap:30px; } .cj-hp-accordion-content { padding:30px var(--cj-home-gutter); } }
.cj-hp-location-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:20px; list-style:none; padding:0; }
.cj-hp-location-list a { text-underline-offset:5px; }
.cj-hp-accordion--college { --cj-accordion-color:var(--wp--preset--color--cj-blue); }
.cj-hp-accordion--public { --cj-accordion-color:var(--wp--preset--color--cj-red); }
.cj-hp-accordion--fresnes { --cj-accordion-color:var(--wp--preset--color--cj-violet); }
.cj-hp-accordion--locations { --cj-accordion-color:var(--wp--preset--color--cj-red); }
@media (prefers-reduced-motion:reduce) { .cj-hp-marquee__track,.cj-hp-vlog-ring,.cj-hp-scroll img { animation:none; } }
html[data-cj-motion="reduced"] :is(.cj-hp-marquee__track,.cj-hp-vlog-ring,.cj-hp-scroll img) { animation:none; }
