/* Keep the artwork present while giving desktop content more room. */
@media(min-width:821px){
  body{--portrait-column:clamp(230px,26vw,390px);padding-left:var(--portrait-column)}
  .art-panel{width:var(--portrait-column)}
  .art-panel .hero-art{left:50%;transform:translateX(-58%)}
  .wrap{width:min(1100px,calc(100% - 64px))}
  .sticky-main,.sticky-subheader{padding-left:calc(var(--portrait-column) + 32px);padding-right:32px}
  .hero-header-mark{left:calc(var(--portrait-column)/2 - 63px)}
  .topbar:after{left:var(--portrait-column)}
  .skip:focus{left:calc(var(--portrait-column) + 16px)}
}
.festival-friend-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px 26px;margin-top:30px}
.festival-friend-actions .primary{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 22px;text-align:center;line-height:1.4;font-size:.95rem}
.friend-directory-link{display:inline-flex;align-items:center;min-height:44px;color:#1b6474;font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#1b647455}
.event-supporters .wrap>h2{margin:0 0 22px}
.vendor-coming-soon{display:inline-block;border:0;padding-left:0;color:#45616a;font-size:1rem}
.featured-vendor-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 20px;padding:0;list-style:none}
.featured-vendor-preview:empty{display:none}
.featured-vendor-preview .featured-entry{border:0;padding:20px 0}
/* Different, quiet textures for the RSVP, vendor and volunteer chapters. */
#rsvps,#supporters,#volunteers{position:relative;isolation:isolate;overflow:hidden}
#rsvps>.wrap,#supporters>.wrap,#volunteers>.wrap{position:relative;z-index:1}
#rsvps{background:#0b1b30}
#rsvps:before,#supporters:before,#volunteers:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0}
#rsvps:before{background:url('/assets/texture-community-weave.svg') center/280px 280px;opacity:.44;mask-image:linear-gradient(90deg,transparent,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 85%)}
#supporters:before{background:url('/assets/texture-vendor-petals.svg') right center/210px 210px;opacity:.22}
#volunteers:before{background:repeating-linear-gradient(135deg,transparent 0 44px,#58b8b409 44px 46px,transparent 46px 88px);mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}
.footer-guide-button{position:relative;overflow:hidden;background:linear-gradient(110deg,#ffc34b,#ffe9a3 58%,#f6be43);border-color:#ffe6a0;color:#132a3b!important;box-shadow:0 8px 26px #eeb43a20}
.footer-guide-button:hover{background:linear-gradient(110deg,#ffd271,#fff0b8 58%,#ffd05d);color:#132a3b!important}
.footer-guide-button:after{content:'';position:absolute;inset:-40% auto -40% -75%;width:38%;background:linear-gradient(90deg,transparent,#ffffff99,transparent);transform:skewX(-22deg);pointer-events:none}
.footer-participant-guide.guide-ready{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.footer-participant-guide.guide-visible{opacity:1;transform:none}
.guide-visible .footer-guide-button:after{animation:guideShimmer 7s ease-in-out 1s infinite}
@keyframes guideShimmer{0%,65%{left:-75%}90%,100%{left:150%}}
@media(max-width:700px){.festival-friend-actions{flex-direction:column;align-items:flex-start;gap:9px}.festival-friend-actions .primary{width:100%;font-size:.85rem}.friend-directory-link{font-size:.82rem}.featured-vendor-preview{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.footer-participant-guide.guide-ready{opacity:1;transform:none;transition:none}.guide-visible .footer-guide-button:after{animation:none}}
/* Video dialogs are nonmodal: scrolling and page links remain available. */
#timelineMediaDialog.is-floating-media{position:fixed;inset:auto max(16px,env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) auto;width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 150px);margin:0;padding:0;border:1px solid #80d2dc55;border-radius:16px;background:#071225;box-shadow:0 16px 60px #0009;z-index:220;animation:introVideoDock .3s ease}
#timelineMediaDialog.is-floating-media .timeline-dialog-header{padding:10px 12px;gap:8px;display:flex;align-items:center}
#timelineMediaDialog.is-floating-media .timeline-dialog-header h2{font-size:.83rem;line-height:1.35;flex:1;margin:0}
#timelineMediaDialog.is-floating-media .timeline-media-content{aspect-ratio:16/9;width:100%;height:auto;overflow:hidden}
#timelineMediaDialog.is-floating-media iframe{display:block;border:0;width:100%;height:100%;aspect-ratio:auto}
.media-fullscreen{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:10px;border:1px solid #ffffff40;border-radius:50%;background:#102b45;color:white;cursor:pointer}
.media-fullscreen[hidden]{display:none}
.media-fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.intro-video.is-floating{width:min(260px,calc((100dvh - 160px)*.5625));bottom:calc(82px + env(safe-area-inset-bottom))}
#introVideoPlayer:fullscreen,#timelineMediaContent:fullscreen{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;background:#000;border:0;border-radius:0}
#introVideoPlayer:fullscreen iframe,#timelineMediaContent:fullscreen iframe{width:100%;height:100%;aspect-ratio:auto}
#introVideoPlayer:fullscreen .intro-video-tools{display:none}
@media(max-width:700px){.intro-video.is-floating{width:min(190px,calc((100dvh - 170px)*.5625));right:10px}#timelineMediaDialog.is-floating-media{right:10px;width:min(360px,calc(100vw - 20px))}}
@media(prefers-reduced-motion:reduce){#timelineMediaDialog.is-floating-media{animation:none}}

.intro-video.is-floating .intro-video-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.intro-video-tools button{width:min(44px,100%);justify-self:center}

/* Let typography, space and section colors carry the page instead of rules. */
.video-divider{display:none}
.day-schedule,.event-supporters{border-block:0}
.schedule-summary,.festival-opening,.schedule-list li{border:0}
.schedule-list li+li{margin-top:6px}
#history .history-accordion>summary,#history .founders-disclosure,#history .history-founders{border:0}
#fiscalAccordion{border-block:0}
#fiscalAccordion .fiscal-banner,#fiscalAccordion .fiscal-programs .fiscal-program{border-bottom:0}
#fiscalAccordion .fiscal-highlight{border-left:0;padding-left:0}
footer .footer-participant-guide{border:0;padding-bottom:calc(38px + env(safe-area-inset-bottom,0px))}
#rsvpDialog .rsvp-options,#rsvpDialog .rsvp-option{border:0}
#rsvpDialog .student-section,#rsvpDialog .role-details{border-top:0}
