/* Gutenberg wrappers keep the editable blocks in the same visual system as the prototype. */
.fifpa-main .wp-block-post-content,.fifpa-main .wp-block-group{max-width:none}
.fifpa-main .wp-block-group>*+*,.fifpa-main .wp-block-post-content>*+*{margin-block-start:0}
.fifpa-main .wp-block-image,.fifpa-main .wp-block-video{margin:0}
.fifpa-main p:empty{display:none}
.fifpa-main .wp-block-group.wrap,.footer .wrap,.site-header .wrap{max-width:1500px}
.wp-site-blocks>*+*{margin-block-start:0}
.fifpa-main .wp-block-heading{margin-top:0}
.site-header{margin:0}
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20}
.wp-site-blocks>header.wp-block-template-part>.site-header{position:static;top:auto}
.site-header .site-header__inner{display:flex;justify-content:space-between;gap:2rem}
.site-header__brand{display:flex;gap:.65rem;align-items:center;flex:none}
.site-header__brand .wp-block-site-logo{margin:0}
.site-header__brand .custom-logo-link{display:block}
.site-header__brand .custom-logo{width:47px;height:47px;object-fit:cover;object-position:center bottom;border-radius:50%}
.site-header__brand .site-header__wordmark{margin:0;font-family:var(--font-display);font-size:2.1rem;line-height:1;letter-spacing:-.03em}
.site-header__wordmark a{text-decoration:none}
.site-header__wordmark span{color:var(--color-blue)}
.site-header__nav{gap:clamp(1rem,2vw,2rem)}
.site-header__nav .wp-block-navigation-item__content{padding:.6rem 0;font-size:var(--text-sm);font-weight:800;text-decoration:none}
.site-header__nav .wp-block-navigation-item__content:hover{color:var(--color-blue)}
.site-header__nav .site-header__cta .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:48px;padding:.75rem 1rem;background-color:var(--color-navy);color:#fff;transition:background-color .34s var(--ease-out),color .34s var(--ease-out)}
.site-header__nav .site-header__cta .wp-block-navigation-item__content:hover,.site-header__nav .site-header__cta .wp-block-navigation-item__content:focus-visible{background-color:var(--color-blue);color:#fff}
@media(prefers-reduced-motion:reduce){.site-header__nav .site-header__cta .wp-block-navigation-item__content{transition:none}}
.site-header .wp-block-navigation__responsive-container-open{color:var(--color-navy)}
.site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--color-paper);color:var(--color-ink)}
.hero>.wp-block-image.hero__image{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero>.wp-block-image.hero__image img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--color-veil),var(--color-veil-light) 82%),linear-gradient(0deg,var(--color-veil),transparent 65%);pointer-events:none}
.hero>.hero__content{position:relative;z-index:2}
.hero>.hero__caption{position:absolute;z-index:2}
.hero__edition span{display:inline}
.hero__base .text-link,.text-link{margin:0}
.text-link a,.action-link a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;text-decoration:none;color:inherit}
.facts__inner>div{display:grid;gap:var(--space-2xs)}
.facts__inner p{margin:0}
.facts__inner>p:last-child{margin:0}
.facts__inner>p:last-child a{display:flex;gap:1rem;align-items:center;min-height:48px;border-bottom:2px solid currentColor;text-decoration:none;font-weight:800}
.festival-ticker__text{width:max-content;margin:0;white-space:nowrap}
.statement__aside>.wp-block-paragraph{margin-top:var(--space-xl)}
.experiences__list>.experience-item{border-top:var(--rule-hair) solid var(--color-ink)}
.experiences__list>.experience-item:last-child{border-bottom:var(--rule-hair) solid var(--color-ink)}
.experience summary{display:flex;align-items:center;gap:var(--space-xl);font-family:var(--font-display);font-size:clamp(1.45rem,3.4vw,3.5rem);text-transform:uppercase}
.experience summary:before{counter-increment:fifpa-activity;content:counter(fifpa-activity,decimal-leading-zero);align-self:flex-start;padding-top:.8rem;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:800}
.experience summary:after{content:'+';display:grid;place-items:center;width:42px;height:42px;flex:none;margin-left:auto;border:1px solid;border-radius:50%;font-family:var(--font-body);font-size:1.7rem;font-weight:400;line-height:1}
.experiences__list{counter-reset:fifpa-activity}
.experience[open] summary:after{transform:rotate(45deg);background:#fff}
.experience>.experience__detail{padding:var(--space-xl) var(--space-lg) var(--space-2xl) calc(3.5rem + var(--space-xl) + var(--space-lg))}
.experience__detail p{margin:0}
.guest__photo>.wp-block-image{height:100%}
.guest__photo>.wp-block-image img{height:100%;width:100%;object-fit:cover}
.guest__info>.wp-block-group{display:grid;grid-template-columns:1fr}
.guest__info .guest__mode{margin:0 0 var(--space-sm);color:var(--color-blue);font-size:var(--text-xs);font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.guest__info .guest__mode span{display:inline}
.guests__remote-photo.wp-block-image{width:clamp(125px,17vw,220px);margin-bottom:var(--space-xl)}
.guests__remote-photo img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
.guests__remote .wp-block-list{list-style:none;padding:0}
.voices__heading>p:last-child{max-width:28ch}
.voice__screen .wp-block-video{width:100%;height:100%}
.voice__screen .wp-block-video video{width:100%;height:100%;object-fit:contain}
.voice__copy p:first-child{color:var(--color-yellow);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.program__tabs>.program__tab{margin:0;min-width:0;border-right:var(--rule-hair) solid var(--color-light-muted)}
.program__tabs>.program__tab:last-child{border-right:0}
.program__tab a{display:flex;align-items:baseline;justify-content:center;gap:var(--space-md);min-height:138px;padding:var(--space-lg);color:var(--color-light-muted);font-family:var(--font-display);font-size:clamp(2.5rem,5vw,5rem);text-decoration:none;text-transform:uppercase}
.program__tab a strong{font-family:var(--font-display);font-size:clamp(3.8rem,7vw,7rem);font-weight:400;line-height:1}
.program__tab a span{font-family:var(--font-body);font-size:var(--text-sm);font-weight:800}
.program__tab a:hover{color:var(--color-yellow)}
.program__tab a[aria-selected="true"]{background:var(--color-yellow);color:var(--color-ink)}
.program__panel>div>p:first-child,.program__panel aside>p:first-child{color:var(--color-yellow);font-size:var(--text-xs);font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.program__panel h3{margin:var(--space-lg) 0}
.program__panel .program__activities>.program__activity{width:100%;margin:0}
.program__panel aside p{margin:0}
.program__panel aside p strong{display:block;margin-top:var(--space-lg);font-family:var(--font-display);font-size:clamp(1.8rem,2.7vw,2.8rem);font-weight:400;line-height:1.12;text-transform:uppercase}
.fifpa-story:has(.fifpa-program-lineup) .fifpa-story__content{width:100%;max-width:none;padding:0}
.fifpa-story:has(.fifpa-program-lineup) .fifpa-story__hero{padding-block:clamp(2rem,3vw,3rem)}
.fifpa-story:has(.fifpa-program-lineup) .fifpa-story__hero-inner>.wp-block-post-featured-image{max-height:320px;aspect-ratio:16/9}
.fifpa-program-lineup{padding-block:clamp(3.25rem,6vw,6rem) clamp(4rem,7vw,7rem)}
.fifpa-program-lineup .program__head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.fifpa-program-lineup .program__panel{min-height:320px}
.fifpa-program-lineup__follow{margin:0}
.fifpa-program-lineup__follow a{color:var(--color-light)}
.fifpa-program-lineup__follow a:hover{color:var(--color-yellow)}
.river-photo>.wp-block-image{position:absolute;inset:0;width:100%;height:100%}
.river-photo>.wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.river-photo__copy{position:absolute;z-index:1}
.story__photo>.wp-block-image,.story__photo>.wp-block-image img{width:100%;height:100%}
.story__photo>.wp-block-image img{object-fit:cover;filter:grayscale(1)}
.moments__card>.wp-block-group:first-child{aspect-ratio:4/3;overflow:hidden}
.moments__card>.wp-block-group:first-child .wp-block-image,.moments__card>.wp-block-group:first-child img{width:100%;height:100%}
.moments__card>.wp-block-group:first-child img{object-fit:cover}
.moments__card>.wp-block-group:last-child{display:grid;gap:var(--space-xs);padding-block:var(--space-md);border-top:3px solid var(--color-yellow)}
.moments__card>.wp-block-group:last-child p{margin:0}
.moments__card>.wp-block-group:last-child p:first-child{color:var(--color-yellow);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.moments__card>.wp-block-group:last-child p:nth-child(2){font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,2.2rem);text-transform:uppercase}
.team-photo__layout>.wp-block-group:first-child{padding-block:var(--space-4xl)}
.team-photo__layout>.wp-block-group:last-child{margin-block:var(--space-2xl)}
.team-photo__layout>.wp-block-group:last-child img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.team-photo__layout>.wp-block-group:last-child .wp-block-group p{padding-top:var(--space-sm);color:var(--color-light-muted);font-size:var(--text-xs)}
.visit__locations article>p:first-child{margin-bottom:var(--space-3xl);color:var(--color-blue);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.visit__locations article .text-link{font-size:var(--text-sm)}
.partners__logos>.wp-block-group{display:flex;flex-direction:column;min-height:185px;padding:var(--space-md);border-right:var(--rule-hair) solid var(--color-rule)}
.partners__logos>.wp-block-group:last-child{border-right:0}
.partners__logos>.wp-block-group>p{margin:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}
.partners__logos .wp-block-image{margin:auto 0;width:100%}
.partners__logos img{width:100%;height:115px;object-fit:contain;mix-blend-mode:multiply}
.footer>.footer__main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.6fr);gap:var(--space-3xl)}
.footer .footer__main p{margin:0 0 var(--space-sm)}
.footer .footer__main .footer__credit{width:100%;max-width:none;margin-top:var(--space-lg);color:var(--color-light-muted);font-size:var(--text-xs);font-weight:700;line-height:1.5;text-align:left}
.footer .footer__main a{display:inline;margin:0;text-decoration:none}
.footer .footer__brand{font-size:clamp(3.4rem,6vw,6rem)}
.footer .footer__bottom p{margin:0}
.fifpa-interior{min-height:60vh;padding:clamp(4rem,8vw,8rem) var(--page-gutter)}
.fifpa-interior>.wp-block-post-title,.fifpa-interior>h1{max-width:1000px;margin:0 0 2rem;font-size:clamp(3rem,7vw,6.5rem);text-transform:uppercase}
.fifpa-interior .wp-block-post-content{font-size:1.15rem;line-height:1.7}
.fifpa-interior .wp-block-post-content>*{margin-block:1.5rem}
.fifpa-interior .wp-block-post-content h2{margin-top:3rem;font-size:clamp(2rem,4vw,3.5rem);text-transform:uppercase}
.fifpa-news-card{border-top:4px solid var(--color-navy);padding-top:1rem}
.fifpa-news-card .wp-block-post-featured-image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fifpa-news-card h2{font-size:clamp(1.5rem,2.5vw,2.4rem);text-transform:uppercase}
.fifpa-news-card .wp-block-post-terms{font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--color-blue)}
.fifpa-news-card .wp-block-post-excerpt{font-size:.95rem}
.fifpa-news-card .wp-block-post-excerpt__more-link{display:inline-flex;align-items:center;min-height:44px}
.fifpa-news .wp-block-post-template{gap:2rem}
.fifpa-category-nav{display:flex;gap:.75rem;flex-wrap:wrap;list-style:none;margin:2rem 0 3rem;padding:0}
.fifpa-category-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .9rem;border:1px solid var(--color-rule);font-size:var(--text-sm);font-weight:800;text-decoration:none}
.fifpa-category-nav a:hover{background:var(--color-yellow);border-color:var(--color-yellow)}
.fifpa-editorial-page .fifpa-category-nav{gap:.5rem}
.fifpa-editorial-page .fifpa-category-nav a{padding:.5rem .7rem}
.fifpa-editorial-page .wp-block-post-template{gap:var(--space-xl)}
.home-news{background:var(--color-paper-deep)}
.home-news h2{margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:400;text-transform:uppercase}
.home-news .wrap>p:not(.text-link){max-width:48ch;margin-bottom:var(--space-3xl);font-size:var(--text-lg)}
.home-news .wp-block-post-template{gap:var(--space-xl)}
.home-news .fifpa-news-card h3{margin:var(--space-lg) 0 var(--space-sm);font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.75rem);font-weight:400;line-height:1.1;text-transform:uppercase}
.home-news .fifpa-news-card h3 a{text-decoration:none}
.home-news .text-link{margin-top:var(--space-2xl)}
.home-news--featured{background:var(--color-navy-deep);color:var(--color-light)}
.home-news--featured .wrap>p:not(.text-link){color:var(--color-light-muted)}
.home-news--featured .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--space-lg)}
.home-news--featured .fifpa-news-card{display:flex;flex-direction:column;min-width:0;height:100%;padding:0 0 var(--space-lg);border:0;background:var(--color-navy)}
.home-news--featured .fifpa-news-card>.wp-block-post-featured-image{display:block;margin:0;overflow:hidden;aspect-ratio:3/2;background:var(--color-blue)}
.home-news--featured .fifpa-news-card>.wp-block-post-featured-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease-out)}
.home-news--featured .fifpa-news-card:hover>.wp-block-post-featured-image img{transform:scale(1.04)}
.fifpa-news-card:not(:has(.wp-block-post-featured-image))::before{content:'FIFPA2026';display:grid;place-items:center;aspect-ratio:3/2;background:var(--color-blue);color:var(--color-light);font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem)}
.home-news--featured .fifpa-news-card__meta,.home-news--featured .fifpa-news-card>.wp-block-post-title,.home-news--featured .fifpa-news-card>.wp-block-post-excerpt{box-sizing:border-box;width:100%;padding-inline:var(--space-lg)}
.home-news--featured .fifpa-news-card__meta{display:flex;align-items:baseline;justify-content:flex-start;gap:var(--space-md);margin-top:var(--space-lg);color:var(--color-light-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-news--featured .fifpa-news-card__meta .wp-block-post-terms,.home-news--featured .fifpa-news-card__meta .wp-block-post-date{margin:0}
.home-news--featured .fifpa-news-card__meta a{color:var(--color-yellow);text-decoration:none}
.home-news--featured .fifpa-news-card h3{margin-top:var(--space-md);margin-bottom:var(--space-sm);font-size:clamp(1.65rem,2.4vw,2.6rem);line-height:1.18;overflow-wrap:anywhere}
.home-news--featured .fifpa-news-card h3 a{color:var(--color-light)}
.home-news--featured .fifpa-news-card h3 a:hover,.home-news--featured .fifpa-news-card h3 a:focus-visible{color:var(--color-yellow)}
.home-news--featured .fifpa-news-card>.wp-block-post-excerpt{display:flex;flex:1;flex-direction:column;gap:var(--space-md);margin-top:0;color:var(--color-light-muted);font-size:var(--text-body);line-height:1.55}
.home-news--featured .wp-block-post-excerpt p{margin:0}
.home-news--featured .wp-block-post-excerpt__more-text{margin-top:auto!important}
.home-news--featured .wp-block-post-excerpt__more-link,.home-news--featured .text-link a{color:var(--color-yellow);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.home-news--featured .wp-block-query-no-results{padding:var(--space-xl);border:1px solid var(--color-light-muted)}
.home-news--featured .wp-block-post-template:has(>li:only-child){grid-template-columns:minmax(0,1fr)}
.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:auto auto 1fr;min-height:340px;padding:0}
.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-featured-image{grid-column:1;grid-row:1/4;height:100%;min-height:340px;aspect-ratio:auto}
.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card:not(:has(.wp-block-post-featured-image))::before{grid-column:1;grid-row:1/4;min-height:340px;aspect-ratio:auto}
.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card__meta,.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-title,.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-excerpt{grid-column:2}
.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card__meta{padding-top:var(--space-lg)}
.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-excerpt{padding-bottom:var(--space-lg)}
.fifpa-main .participate__actions{margin-block-start:var(--space-xl)}
.participate__actions>.wp-block-paragraph.action-link{display:block;width:auto;min-height:0;margin:0;padding:0;background:transparent;color:var(--color-navy);white-space:normal}
.participate__actions>.wp-block-paragraph.action-link>a.action-link{display:flex;width:100%;justify-content:space-between;color:var(--color-light)}
.participate__actions>.wp-block-paragraph.text-link{display:block;width:auto;min-height:0;margin:0;border:0;white-space:normal}
.participate__actions>.wp-block-paragraph.text-link>a.text-link{color:var(--color-navy)}
@media(prefers-reduced-motion:reduce){.home-news--featured .fifpa-news-card>.wp-block-post-featured-image img{transition:none}.home-news--featured .fifpa-news-card:hover>.wp-block-post-featured-image img{transform:none}}
@media(max-width:900px){.site-header{backdrop-filter:none;background:var(--color-paper)}.site-header__nav{position:static;inset:auto;display:flex;width:auto;min-height:0;max-height:none;overflow:visible;padding:0;gap:0;background:transparent;color:var(--color-ink);box-shadow:none}.site-header .wp-block-navigation__responsive-container-open{display:flex;color:var(--color-ink)}.site-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--color-navy-deep);color:var(--color-light);padding:var(--space-lg) var(--page-gutter)}.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:stretch;width:100%;gap:0}.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:var(--space-md) 0;border-bottom:1px solid var(--color-light-muted);font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2.4rem);font-weight:400;text-transform:uppercase}.site-header .wp-block-navigation__responsive-container.is-menu-open .site-header__cta .wp-block-navigation-item__content{margin-top:var(--space-xl);padding:var(--space-md);background:var(--color-yellow);color:var(--color-ink);border:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:800}.footer>.footer__main{grid-template-columns:1fr 1fr}.hero>.hero__caption{display:none}}
@media(min-width:601px) and (max-width:900px){.fifpa-editorial-page .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.footer>.footer__main{grid-template-columns:1fr}.program__tab a{min-height:100px;display:grid;align-content:center;justify-items:center;gap:0;padding:var(--space-xs)}.program__tab a strong{font-size:3.6rem}.program__tab a span{font-size:var(--text-xs)}.team-photo__layout>.wp-block-group:first-child{padding-block:var(--space-3xl) 0}.fifpa-news .wp-block-post-template,.home-news .wp-block-post-template{grid-template-columns:1fr}.hero::after{background:linear-gradient(0deg,var(--color-veil),var(--color-veil-light) 76%)}}
@media(max-width:600px){.footer>.footer__main{gap:var(--space-lg)}.footer>.footer__main>.wp-block-group{margin-block-start:0}}
@media(max-width:700px){.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card{display:flex;min-height:0;padding-bottom:var(--space-lg)}.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-featured-image{height:auto;min-height:0;aspect-ratio:3/2}.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card__meta{padding-top:0}.home-news--featured .wp-block-post-template>li:only-child .wp-block-post-excerpt{padding-bottom:0}}
@media(max-width:700px){.home-news--featured .wp-block-post-template>li:only-child .fifpa-news-card:not(:has(.wp-block-post-featured-image))::before{min-height:0;aspect-ratio:3/2}}
@media(max-width:560px){.participate__actions>.wp-block-paragraph.action-link{width:100%}.participate__actions>.wp-block-paragraph.action-link>a.action-link{width:100%}}
@media(max-width:900px){.site-header .wp-block-navigation__responsive-container.is-menu-open{background-color:var(--color-navy-deep)!important;color:var(--color-light)!important}.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:var(--color-light);border-bottom:1px solid var(--color-light-muted)}.site-header .wp-block-navigation__responsive-container.is-menu-open .site-header__cta .wp-block-navigation-item__content{color:var(--color-ink);border:0}.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{color:var(--color-light)}}
@media(max-width:900px){
  .site-header .wp-block-navigation__responsive-container-open,
  .site-header .wp-block-navigation__responsive-container-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px}
  .site-header .wp-block-navigation__responsive-container-open svg,
  .site-header .wp-block-navigation__responsive-container-close svg{width:24px;height:24px}
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{right:var(--page-gutter)}
  .site-header .wp-block-navigation__responsive-container.is-menu-open .site-header__cta .wp-block-navigation-item__content:hover,
  .site-header .wp-block-navigation__responsive-container.is-menu-open .site-header__cta .wp-block-navigation-item__content:focus-visible{background-color:oklch(77% 0.17 92);color:var(--color-ink)}
}
@media(prefers-reduced-motion:reduce){.festival-ticker__track{animation:none}}

/* Interior pages share a clear reading grid without limiting Gutenberg editing. */
.fifpa-story{background:var(--color-paper);color:var(--color-ink)}
.fifpa-story>.fifpa-story__content{margin-block-start:0}
.fifpa-story__hero{margin:0;padding:clamp(2.5rem,5vw,5rem) var(--page-gutter);border-bottom:6px solid var(--color-yellow);background:var(--color-navy-deep);color:var(--color-light)}
.fifpa-story__hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,5.5rem);width:min(100%,1360px);margin-inline:auto}
.fifpa-story__hero-copy{min-width:0}
.fifpa-story__hero-copy .wp-block-post-title{max-width:10ch;margin:0;font-family:var(--font-display);font-size:clamp(4rem,7vw,7.5rem);font-weight:400;line-height:1.04;letter-spacing:-.015em;text-transform:uppercase;overflow-wrap:normal}
.fifpa-story__hero-copy .wp-block-post-excerpt{max-width:49ch;margin:clamp(1.25rem,2.4vw,2.5rem) 0 0;color:var(--color-light-muted);font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.55}
.fifpa-story__hero-copy .wp-block-post-excerpt p{margin:0}
.fifpa-story__hero-inner>.wp-block-post-featured-image{width:100%;max-height:460px;margin:0;aspect-ratio:5/4;overflow:hidden;background:var(--color-navy)}
.fifpa-story__hero-inner>.wp-block-post-featured-image img{display:block;width:100%;height:100%;object-fit:cover}
.fifpa-story__content{width:min(100% - 2*var(--page-gutter),1360px);margin-inline:auto;padding-block:clamp(3rem,5vw,5.5rem) clamp(4rem,8vw,8rem)}
.fifpa-story__content>.wp-block-post-content{width:100%;max-width:none;margin:0}
.fifpa-story__content .fifpa-info-section{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:start;width:100%;margin:0;padding:clamp(2rem,3.4vw,3.5rem) 0 clamp(2.5rem,4vw,4rem);border-top:1px solid var(--color-rule)}
.fifpa-story__content .fifpa-info-section:first-child{border-top:3px solid var(--color-navy)}
.fifpa-story__content .fifpa-info-section:last-child{border-bottom:1px solid var(--color-rule)}
.fifpa-story__content .fifpa-info-section>.wp-block-heading{max-width:17ch;margin:0;font-family:var(--font-display);font-size:clamp(2.15rem,3.1vw,3.6rem);font-weight:400;line-height:1.12;text-transform:uppercase;text-wrap:balance}
.fifpa-story__content .fifpa-info-section__body{max-width:64ch;margin:0;font-size:clamp(1.06rem,1.18vw,1.2rem);line-height:1.65}
.fifpa-story__content .fifpa-info-section__body p{margin:0;overflow-wrap:break-word}
.fifpa-story__content .fifpa-info-section__body p+p{margin-top:1.3rem}
.fifpa-story__content .fifpa-info-section__body a{font-weight:800;text-decoration:underline;text-decoration-color:var(--color-blue);text-decoration-thickness:2px;text-underline-offset:.2em}
.fifpa-story__content .fifpa-info-section__body a:hover{color:var(--color-blue)}
@media(max-width:900px){
  .fifpa-story__hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
  .fifpa-story__content .fifpa-info-section{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:2rem}
}
@media(max-width:720px){
  .fifpa-story__hero{padding-block:2.75rem 0}
  .fifpa-story__hero-inner{grid-template-columns:1fr;gap:2.25rem}
  .fifpa-story__hero-copy .wp-block-post-title{font-size:clamp(3.6rem,13vw,5.75rem)}
  .fifpa-story__hero-copy .wp-block-post-excerpt{margin-top:1rem}
  .fifpa-story__hero-inner>.wp-block-post-featured-image{max-height:310px;aspect-ratio:16/9}
  .fifpa-story__content .fifpa-info-section{grid-template-columns:1fr;gap:1.25rem;padding-block:2rem 2.5rem}
  .fifpa-story__content .fifpa-info-section>.wp-block-heading{max-width:25ch;font-size:clamp(2rem,8vw,2.75rem)}
  .fifpa-story__content .fifpa-info-section__body{font-size:1.05rem;line-height:1.65}
  .fifpa-story:has(.fifpa-program-lineup) .fifpa-story__hero{padding-block:2.75rem 0}
  .fifpa-story:has(.fifpa-program-lineup) .fifpa-story__hero-inner>.wp-block-post-featured-image{max-height:310px;aspect-ratio:16/9}
}

/* Guest profiles use real portraits and individual, movable Gutenberg groups. */
.fifpa-story__content .fifpa-guests__section{width:100%;margin:0;padding:clamp(2rem,3.4vw,3.5rem) 0 clamp(4rem,6vw,6rem);border-top:3px solid var(--color-navy)}
.fifpa-story__content .fifpa-guests__section--remote{border-top:0}
.fifpa-story__content .fifpa-guests__section>h2{max-width:20ch;margin:0 0 clamp(2rem,3vw,3rem);font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4.5rem);font-weight:400;line-height:1.1;text-transform:uppercase}
.fifpa-guests__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.75rem);align-items:start}
.fifpa-guest-card{min-width:0;margin:0}
.fifpa-guest-card>.wp-block-image{margin:0;aspect-ratio:4/4.6;overflow:hidden;background:var(--color-paper-deep)}
.fifpa-guest-card>.wp-block-image>a{display:block;width:100%;height:100%}
.fifpa-guest-card>.wp-block-image>a:focus-visible{position:relative;z-index:1;outline:3px solid var(--color-blue);outline-offset:-4px}
.fifpa-guest-card>.wp-block-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:grayscale(1);transition:filter var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}
.fifpa-guest-card:hover>.wp-block-image img,.fifpa-guest-card:focus-within>.wp-block-image img{filter:grayscale(.25);transform:scale(1.02)}
.fifpa-guest-card--julio>.wp-block-image img{object-position:center 20%}
.fifpa-guest-card--lucas>.wp-block-image img{object-position:center 22%}
.fifpa-guest-card__details{margin:0;padding:1.2rem 0 0;border-top:4px solid var(--color-navy)}
.fifpa-guest-card__details>.fifpa-guest-card__mode{margin:0 0 .75rem;color:var(--color-blue);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.fifpa-guest-card__details>h3{margin:0;font-family:var(--font-display);font-size:clamp(2rem,2.7vw,3.25rem);font-weight:400;line-height:1.08;text-transform:uppercase;text-wrap:balance}
.fifpa-guest-card__details>p:not(.fifpa-guest-card__mode){max-width:38ch;margin:1rem 0 0;font-size:1.02rem;line-height:1.55}
.fifpa-guest-card__details>.fifpa-guest-card__link{font-size:var(--text-sm)!important;font-weight:800}
.fifpa-guest-card__link a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:var(--color-blue);text-decoration-thickness:2px;text-underline-offset:.2em}
.fifpa-guest-card__link a:hover{color:var(--color-blue)}
.fifpa-guests__remote-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.fifpa-guests__remote-grid>.fifpa-guest-card{max-width:440px}
.fifpa-guests__remote-grid>.fifpa-guest-card>.wp-block-image{aspect-ratio:1}
.fifpa-guests__remote-grid>.fifpa-guest-card>.wp-block-image img{object-position:center}
.fifpa-guests__remote-others>h3{margin:0 0 1.25rem;font-family:var(--font-display);font-size:clamp(2rem,2.7vw,3rem);font-weight:400;text-transform:uppercase}
.fifpa-guests__remote-names{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-rule)}
.fifpa-guests__remote-names li{margin:0;padding:1rem 0;border-bottom:1px solid var(--color-rule);font-family:var(--font-display);font-size:clamp(1.45rem,2.2vw,2.2rem);line-height:1.15;text-transform:uppercase}
@media(min-width:721px){
  .fifpa-story:has(.fifpa-guests__section) .fifpa-story__hero{padding-block:clamp(2rem,3vw,3rem)}
  .fifpa-story:has(.fifpa-guests__section) .fifpa-story__hero-inner>.wp-block-post-featured-image{max-height:320px;aspect-ratio:16/9}
}
@media(max-width:760px){
  .fifpa-guests__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fifpa-guests__grid>.fifpa-guest-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
  .fifpa-guests__remote-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:560px){
  .fifpa-guests__grid,.fifpa-guests__remote-grid{grid-template-columns:1fr;gap:2.75rem}
  .fifpa-guests__grid>.fifpa-guest-card:last-child{grid-column:auto;display:block}
  .fifpa-guest-card>.wp-block-image{aspect-ratio:4/4.2}
  .fifpa-guests__remote-grid>.fifpa-guest-card{max-width:none}
}
@media(prefers-reduced-motion:reduce){.fifpa-guest-card>.wp-block-image img{transition:none}.fifpa-guest-card:hover>.wp-block-image img{transform:none}}

/* Festival history is composed of movable core groups, headings, images and text. */
.fifpa-story__content .fifpa-festival-history{width:100%;margin:0}
.fifpa-history__lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);align-items:end;gap:1.5rem clamp(2rem,6vw,6rem);padding:clamp(2rem,4vw,4rem) 0 clamp(3rem,6vw,6rem);border-top:4px solid var(--color-navy)}
.fifpa-history__lead .fifpa-history__eyebrow{grid-column:1/-1}
.fifpa-history__eyebrow{margin:0;color:var(--color-blue);font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.fifpa-history__lead h2,.fifpa-history__feature-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(3rem,5.2vw,5.9rem);font-weight:400;line-height:1.06;text-transform:uppercase;text-wrap:balance}
.fifpa-history__intro{max-width:55ch;margin:0;font-size:clamp(1.12rem,1.4vw,1.35rem);line-height:1.62}
.fifpa-history__timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 clamp(3rem,6vw,6rem);background:var(--color-yellow)}
.fifpa-history__milestone{min-width:0;margin:0;padding:clamp(1.4rem,2.5vw,2.5rem);border-right:1px solid var(--color-ink)}
.fifpa-history__milestone:last-child{border-right:0}
.fifpa-history__year{margin:0 0 1.3rem;font-family:var(--font-display);font-size:clamp(3.4rem,5vw,5.5rem);line-height:1}
.fifpa-history__milestone h3{margin:0 0 .7rem;font-family:var(--font-display);font-size:clamp(1.45rem,2vw,2.25rem);font-weight:400;line-height:1.15;text-transform:uppercase}
.fifpa-history__milestone p:last-child{max-width:35ch;margin:0;font-size:clamp(.94rem,1.1vw,1.08rem);line-height:1.5}
.fifpa-history__feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;margin:0 0 clamp(3rem,6vw,6rem);background:var(--color-navy-deep);color:var(--color-light)}
.fifpa-history__photo{min-height:430px;margin:0;overflow:hidden}
.fifpa-history__photo .wp-block-image{width:100%;height:100%;margin:0}
.fifpa-history__photo img{display:block;width:100%;height:100%;object-fit:cover}
.fifpa-history__feature-copy{display:flex;flex-direction:column;justify-content:center;gap:1.5rem;min-width:0;margin:0;padding:clamp(2rem,4vw,4rem)}
.fifpa-history__feature-copy .fifpa-history__eyebrow{color:var(--color-yellow)}
.fifpa-history__feature-copy h2{font-size:clamp(2.7rem,4vw,4.75rem)}
.fifpa-history__feature-copy h2 em{color:var(--color-yellow)}
.fifpa-history__feature-copy p:last-child{max-width:50ch;margin:0;color:var(--color-light-muted);font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.6}
.fifpa-festival-history>.fifpa-info-section{border-top:3px solid var(--color-navy)}
.fifpa-history__quote{margin:clamp(3rem,6vw,6rem) 0;padding:clamp(2rem,5vw,5rem);background:var(--color-yellow)}
.fifpa-history__quote-text{max-width:31ch;margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,4.4vw,5rem);line-height:1.17;text-transform:uppercase;text-wrap:balance}
.fifpa-history__quote-credit{margin:clamp(1.75rem,3vw,3rem) 0 0;font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:900px){
  .fifpa-history__lead{grid-template-columns:1fr}
  .fifpa-history__lead h2{max-width:14ch}
  .fifpa-history__timeline{grid-template-columns:1fr}
  .fifpa-history__milestone{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:.3rem 1.5rem;border-right:0;border-bottom:1px solid var(--color-ink)}
  .fifpa-history__milestone:last-child{border-bottom:0}
  .fifpa-history__year{grid-row:1/3;margin:0}
  .fifpa-history__feature{grid-template-columns:1fr}
  .fifpa-history__photo{min-height:0;aspect-ratio:16/9}
}
@media(max-width:560px){
  .fifpa-history__lead h2{font-size:clamp(2.7rem,11vw,4.2rem)}
  .fifpa-history__milestone{grid-template-columns:1fr;gap:.55rem}
  .fifpa-history__year{grid-row:auto;margin-bottom:.4rem;font-size:3.5rem}
  .fifpa-history__feature-copy{padding:2rem 1.4rem}
  .fifpa-history__feature-copy h2{font-size:clamp(2.5rem,10vw,3.8rem)}
  .fifpa-history__quote{padding:2rem 1.4rem}
  .fifpa-history__quote-text{font-size:clamp(2.1rem,8vw,3.2rem)}
}
