/* Sponsorship: diagonal white opening, aligned dark cards, black benefit chapter. */
body:has(.sponsor-page){padding-top:0;background:#050505}
.sponsor-page+.festival-footer.commerce-footer{border-top:0}
body:has(.sponsor-page) .circle-header.circle-tones{mix-blend-mode:normal!important}
.sponsor-page{--sponsor-paper:#fff;background:#050505;color:#fff;isolation:isolate;padding-top:var(--notice-height)}
.sponsor-page h1,.sponsor-page h2,.sponsor-page h3,.sponsor-page h4,.sponsor-page p,.sponsor-page figure{margin:0}
.sponsor-page h1,.sponsor-page h2,.sponsor-page h3,.sponsor-page h4{font-weight:400;text-wrap:balance}
.sponsor-opening{--sponsor-top-cut:min(15.5vw,280px);position:relative;background:#fff;color:#050505;clip-path:polygon(0 0,34% 0,100% var(--sponsor-top-cut),100% calc(100% - 4.3vw),0 100%)}
.sponsor-intro{max-width:1100px;margin:auto;padding:calc(var(--festival-header-stack,155px) + 65px) 32px 70px;text-align:center}
.sponsor-intro h1{font:400 clamp(48px,6vw,88px)/1.05 var(--sans);letter-spacing:-.045em}
.sponsor-intro h2{font:400 clamp(25px,2.7vw,40px)/1.2 var(--sans);margin-top:28px;letter-spacing:-.02em}
.sponsor-intro>p{font-size:clamp(17px,1.25vw,21px);line-height:1.75;color:#535353;max-width:970px;margin:26px auto 0;text-wrap:pretty}
.sponsor-options{padding-bottom:calc(4.3vw + 60px)}
.sponsor-options>h2{font:400 clamp(26px,2.8vw,39px)/1.2 var(--sans);text-align:center;padding:0 25px}
.sponsor-deck{margin-top:12px;padding-top:48px;padding-bottom:32px}
.sponsor-cards{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto auto 1fr;gap:25px 16px;width:min(1660px,calc(100% - 96px))}
.sponsor-card,.sponsor-card .circle-card-turn,.sponsor-card .circle-card-front{display:grid;grid-template-rows:subgrid;grid-row:span 3}
.sponsor-card .circle-card-front{min-height:535px;padding:35px 23px 34px;border:1px solid #ffffff12;border-radius:22px;background:linear-gradient(145deg,#202224,#101112 72%);color:#fff;align-content:start;align-items:start}
.sponsor-card h3{font-size:clamp(24px,1.95vw,34px);line-height:1.08;letter-spacing:-.035em;hyphens:auto;overflow-wrap:anywhere}
.sponsor-card h3{min-height:2.16em;color:#fff}
.sponsor-card-description{font-size:15px;line-height:1.65;color:#c5c7c9;overflow-wrap:anywhere;hyphens:auto}
.sponsor-card .sponsor-tagline{font:400 18px/1.35 Arial,Helvetica,sans-serif;color:#fff;min-height:2.7em;text-wrap:pretty}
.sponsor-card .circle-card-back{border-radius:22px;gap:0;background-color:#dedfe0;background-image:linear-gradient(128deg,#ffffff75,transparent 34%,#ffffff35 49%,transparent 67%,#0000000c),repeating-linear-gradient(0deg,#ffffff0d 0,#ffffff0d .5px,#00000005 .5px,#00000005 2px),linear-gradient(145deg,#f0f1f2,#c5c8cb);border:1px solid #b5babf;box-shadow:inset 0 1px #fff9,inset 0 -1px #0002}
.sponsor-card .circle-card-back::before,.sponsor-card .circle-card-back::after{content:none}
.sponsor-card .circle-card-back img{width:32%;max-width:110px;filter:brightness(0);opacity:1}
.sponsor-card .circle-card-back>.circle-card-sheen{position:absolute;inset:-40%;z-index:0;display:block;pointer-events:none;background:linear-gradient(112deg,transparent 34%,#ffffff10 43%,#ffffff70 50%,#ffffff10 57%,transparent 66%);transform:translate3d(-28%,0,0);opacity:.28}
.sponsor-benefits{position:relative;background:#050505;color:#fff;padding:90px 0 110px}
.sponsor-benefits-inner{max-width:1240px;width:calc(100% - 112px);margin:auto}
.sponsor-benefits h2{font:400 clamp(44px,5vw,76px)/1.06 var(--sans);letter-spacing:-.035em;max-width:850px;margin-bottom:90px}
.sponsor-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8%;row-gap:85px;align-items:start}
.sponsor-benefit:nth-child(even){transform:translateY(145px)}
.sponsor-benefit figure{aspect-ratio:1/1.08;border-radius:24px;overflow:hidden;background:#d8d4cc}
.sponsor-benefit img{width:100%;height:100%;object-fit:cover;display:block}
.sponsor-benefit h3{font:400 clamp(27px,2.6vw,40px)/1.12 var(--sans);letter-spacing:-.025em;margin-top:30px;max-width:500px}
.sponsor-benefit p{font-size:18px;line-height:1.7;color:#bcbcbc;margin-top:20px;max-width:520px;text-wrap:pretty}
.sponsor-benefit:last-child{grid-column:1/-1;width:46%;justify-self:center;margin-top:60px}
.sponsor-closing{max-width:1000px;margin:auto;padding:120px 32px 115px;text-align:center}
.sponsor-closing h2{font:400 clamp(40px,4.5vw,68px)/1.08 var(--sans);letter-spacing:-.035em}
.sponsor-closing-copy{max-width:830px;margin:32px auto 0}
.sponsor-closing-copy p{font-size:18px;line-height:1.8;color:#bcbcbc;margin-top:20px;text-wrap:pretty}
.sponsor-contact{padding-top:70px;display:flex;flex-direction:column;align-items:center;gap:17px}
.sponsor-contact h3{font:400 30px/1.2 var(--sans)}
.sponsor-contact-name{font-size:20px;color:#ddd}
.sponsor-contact a{font-size:18px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:#c9c9c9;overflow-wrap:anywhere;max-width:100%}
.sponsor-contact .sponsor-email{font-size:clamp(16px,2.05vw,26px);color:#fff;gap:20px;word-break:break-word}
.sponsor-email span{font-size:30px;flex:none}
.sponsor-contact a:hover{text-decoration:underline;text-underline-offset:6px}
.sponsor-page a:focus-visible,.sponsor-cards:focus-visible{outline:2px solid #b9ab94;outline-offset:6px}
@media(min-width:761px) and (max-width:1200px){.sponsor-cards{display:grid;grid-template-columns:repeat(5,310px);width:100%;padding:5px 32px 18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:32px;overscroll-behavior-x:contain;scrollbar-width:thin}.sponsor-card{flex:0 0 310px;scroll-snap-align:start}.sponsor-card h3{font-size:31px}.sponsor-card-description{font-size:16px}.sponsor-cards[data-deck-state]:not([data-deck-state=open]){overflow:visible;scroll-snap-type:none}}
@media(max-width:760px){.sponsor-opening{--sponsor-top-cut:125px;clip-path:polygon(0 0,53% 0,100% var(--sponsor-top-cut),100% calc(100% - 30px),0 100%)}.sponsor-intro{padding:calc(var(--festival-header-stack,130px) + 45px) 25px 55px}.sponsor-intro h1{font-size:53px}.sponsor-intro h2{font-size:30px;margin-top:24px}.sponsor-intro>p{font-size:17px;line-height:1.7}.sponsor-options{padding-bottom:55px}.sponsor-deck{padding-top:35px}.sponsor-cards{display:grid;grid-template-columns:repeat(5,min(82vw,340px));width:100%;gap:24px 14px}.sponsor-card h3{font-size:clamp(23px,7.4vw,29px)}.sponsor-card .circle-card-front{padding:33px 27px;min-height:510px}.sponsor-card-description p{font-size:16px}.sponsor-benefits{padding-top:65px;padding-bottom:65px}.sponsor-benefits-inner{width:calc(100% - 50px)}.sponsor-benefits h2{font-size:43px;margin-bottom:45px}.sponsor-benefit-grid{grid-template-columns:1fr;gap:50px}.sponsor-benefit:nth-child(even){transform:none}.sponsor-benefit figure{aspect-ratio:1.05;border-radius:17px}.sponsor-benefit h3{font-size:31px;margin-top:25px}.sponsor-benefit p{font-size:17px;margin-top:17px}.sponsor-benefit:last-child{grid-column:auto;width:100%;margin-top:0}.sponsor-closing{padding:75px 25px 70px}.sponsor-closing h2{font-size:40px}.sponsor-closing-copy p{font-size:17px}.sponsor-contact{padding-top:48px;gap:14px}.sponsor-contact .sponsor-email{display:block;font-size:16px;line-height:1.7}.sponsor-email span{display:block;font-size:26px}}
.sponsor-page h1,.sponsor-page h2,.sponsor-page h3,.sponsor-page h4{font-family:var(--sans);font-weight:500}
.sponsor-card .circle-card-front{box-shadow:inset 0 1px 0 #ffffff0a,0 18px 35px -28px #0009;padding-top:39px}
.sponsor-card h3{font-family:var(--sans);font-weight:500;font-size:clamp(23px,1.8vw,31px);line-height:1.15;letter-spacing:-.025em}
.sponsor-closing{max-width:none;background:#fff;color:#050505;clip-path:polygon(0 4.3vw,100% 0,100% calc(100% - 4.3vw),0 100%);padding:calc(105px + 4.3vw) 32px calc(100px + 4.3vw)}
.sponsor-closing-inner{max-width:1000px;margin:auto}
.sponsor-closing-copy p{color:#535353}
.sponsor-contact{padding-top:65px;gap:28px}
.sponsor-contact h3{font:500 clamp(36px,4vw,52px)/1.1 var(--sans)}
.sponsor-contact .support-contact-details a{font:400 clamp(18px,2vw,25px)/1.6 var(--sans);color:#050505;display:inline-block}
@media(max-width:760px){.sponsor-closing{clip-path:polygon(0 30px,100% 0,100% calc(100% - 30px),0 100%);padding:90px 25px}.sponsor-intro h1{font-size:clamp(43px,11vw,53px)}.sponsor-contact{padding-top:48px}.sponsor-contact .support-contact-details a{font-size:18px}.sponsor-card h3{font-size:27px}}
@media(forced-colors:active){.sponsor-benefits,.sponsor-closing{background:Canvas;color:CanvasText}.sponsor-benefit p,.sponsor-closing-copy p,.sponsor-contact .support-contact-details a{color:CanvasText}.sponsor-card .circle-card-front,.sponsor-card h3,.sponsor-card .sponsor-tagline,.sponsor-card-description{background:Canvas;color:CanvasText;border-color:CanvasText}}
