/* WordPress wrappers preserve the 2026 composition, without editor layout overrides. */
:root { --wp--style--block-gap:0; --font-body:"sinter", "Arial Narrow", "Helvetica Neue", sans-serif; --fifv-header-height:clamp(72px,5.208333vw,100px); --fifv-activity-cover:clamp(380px,28.3578125vw,544.47px); }
body,.editor-styles-wrapper { font-family:var(--font-body); font-weight:300; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
/* Reserve the header's space while its navigation stays available on scroll. */
:root { --fifv-toolbar-height:0px; }
:root:has(body.admin-bar) { --fifv-toolbar-height:32px; }
.wp-site-blocks > header.wp-block-template-part { height:var(--fifv-header-height); }
.wp-block-group, .wp-block-post-content { box-sizing: border-box; }
.wp-block-image { margin: 0; }
.wp-block-image img { height: auto; }
.wp-block-group p:first-child { margin-top: 0; }
.site-header-wp {
  box-sizing:border-box; position:fixed; inset:var(--fifv-toolbar-height) 0 auto; z-index:30; height:var(--fifv-header-height); padding:0 var(--page-gutter); display:flex; align-items:center;
  background:var(--fifv-red); color:var(--fifv-cream); border:0;
  font:700 clamp(20px,1.71875vw,33px)/1.15 var(--font-display); text-transform:uppercase;
}
.site-header-wp::after { content:none; }
@media (max-width:782px) { :root:has(body.admin-bar) { --fifv-toolbar-height:46px; } }
@media (max-width:600px) { body.admin-bar #wpadminbar { position:fixed; } }
.mobile-brand { display:none; }
.site-header-wp .wp-block-navigation { justify-content: space-between; width: 100%; }
.site-header-wp .wp-block-navigation__container { justify-content:flex-start; width:100%; gap:0 clamp(18px,1.5625vw,30px); }
.site-header-wp .wp-block-navigation__container > .wp-block-navigation-item:last-child { margin-left:auto; }
.site-header-wp a { text-decoration: none; }
.site-header-wp .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; }
.site-header-wp .wp-block-navigation__submenu-container { background: var(--fifv-cream); color: var(--fifv-red); border: 1px solid var(--fifv-red); min-width: 19rem !important; padding: .6rem; font-size: 1.05rem; }
.site-header-wp .wp-block-navigation__submenu-container a { white-space: normal; padding: .65rem; }
.site-header-wp .current-menu-item > a { text-decoration: underline; text-underline-offset: .3em; }
.site-header-wp button { min-width: 44px; min-height: 44px; }
.site-header-wp a:focus-visible, .site-header-wp button:focus-visible, a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.site-header-wp .wp-block-navigation__responsive-container.is-menu-open { background: var(--fifv-cream); color: var(--fifv-red); padding: 2rem; }
.site-header-wp .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.site-header-wp .wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open,
.site-header-wp .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container,
.site-header-wp .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container { background:var(--fifv-cream); color:var(--fifv-red); }
.site-header-wp .is-menu-open .wp-block-navigation__container { gap: .75rem; align-items: stretch; }
.site-header-wp .is-menu-open .wp-block-navigation-item { align-items: stretch; }
.site-header-wp .is-menu-open .wp-block-navigation__submenu-container { min-width: 0 !important; border: 0; padding: .25rem 0 .25rem 1rem; }
.festival-hero { margin: 0; }
.editorial-section .editorial-question { margin-top: 0; }
.editorial-section .curatorial-copy p { margin-bottom: 1.5em; }
.page-heading { padding: clamp(2rem, 6vw, 6rem) var(--page-gutter); color: var(--fifv-red); border-bottom: 1px solid currentColor; }
.page-heading h1 { margin:0; font:700 clamp(2.4rem,7vw,7rem)/.98 var(--font-display); text-transform:uppercase; overflow-wrap:normal; }
.page-heading p { margin: 1rem 0 0; }
.page-content { max-width: 76.5rem; padding: 3rem var(--page-gutter) 5rem; margin: auto; font-size: 1.125rem; line-height: 1.65; }
.page-content > * + *, .single-copy > * + * { margin-top: 1.5rem; }
.page-content h2, .single-copy h2 { color: var(--fifv-red); font-family: var(--font-display); }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 3rem; list-style: none; padding: 0; }
.news-grid .wp-block-post { padding-bottom: 2rem; border-bottom: 1px solid var(--fifv-red); min-width: 0; }
.news-grid .wp-block-post-featured-image { margin: 0 0 1.25rem; aspect-ratio: 3/2; }
.news-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.news-grid h2 { font:700 clamp(1.6rem,3vw,2.8rem)/1.1 var(--font-display); color:var(--fifv-red); }
.news-grid h2 a { text-decoration: none; }
.news-grid .wp-block-post-date { font-size: .875rem; }
.news-grid .wp-block-post-excerpt { font-size: 1rem; }
.home-photo { margin:0; }
.wp-block-image.home-photo img { display:block; width:100%; height:300px; object-fit:cover; object-position:50% 40%; }
.home-photo .wp-element-caption { margin:0; padding:8px var(--page-gutter) 0; color:var(--fifv-black); text-align:right; font:300 12px/1.4 var(--font-body); }
.home-news { box-sizing:border-box; max-width:1224px; margin:0 auto; padding:48px var(--page-gutter) 64px; }
.home-news .news-grid { gap:40px 32px; margin:0; }
.home-news .news-grid > .wp-block-post { display:flex; flex-direction:column; align-items:flex-start; padding-bottom:28px; }
.home-news .news-grid .wp-block-post-featured-image { width:100%; margin:0; }
.home-news .news-grid .wp-block-post-date { margin:16px 0 8px; color:var(--fifv-black); font:300 14px/1.4 var(--font-body); }
.home-news .news-grid h2 { margin:0 0 14px; font:700 clamp(24px,2.1vw,28px)/1.2 var(--font-display); text-transform:none; text-wrap:pretty; overflow-wrap:anywhere; }
.home-news .news-grid h2 a { min-height:0; }
.home-news .news-grid .wp-block-post-excerpt { margin:0 0 20px; font:300 17px/1.5 var(--font-body); }
.home-news .news-grid .wp-block-post-excerpt__excerpt { margin:0; }
.home-news .news-card__cta { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:auto; padding:10px 18px; border:1px solid var(--fifv-red); border-radius:0; background:transparent; color:var(--fifv-red); font:700 17px/1.3 var(--font-display); text-decoration:none; }
@media (max-width:900px) { .home-news .news-grid { grid-template-columns:minmax(0,1fr); } }
.home-empty { margin:0; text-align:center; font:300 20px/1.5 var(--font-body); }
@media (max-width:600px) { .wp-block-image.home-photo img { height:260px; } .home-news { padding-block:32px 48px; } .home-empty { font-size:18px; } }
.wp-block-query-pagination { padding-top: 2rem; display: flex; gap: 1.5rem; flex-wrap: wrap; }
.wp-block-query-pagination a { min-height: 44px; display: inline-flex; align-items: center; }
.single-copy { max-width: 52rem; padding: 3rem var(--page-gutter) 5rem; margin: auto; font-size: 1.125rem; line-height: 1.7; }
.single-copy .wp-block-post-featured-image { margin-bottom: 2rem; }
.post-header { box-sizing:border-box; max-width:1120px; margin:auto; padding:64px var(--page-gutter) 32px; text-align:center; }
.post-header h1 { margin:0 auto; max-width:1040px; color:var(--fifv-red); font:700 clamp(30px,3.35vw,48px)/1.14 var(--font-display); text-transform:none; text-wrap:balance; overflow-wrap:anywhere; }
.post-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 20px; margin-top:24px; font:300 15px/1.4 var(--font-body); }
.post-meta > * { margin:0; }
.post-meta .wp-block-post-author-name { padding-left:20px; border-left:1px solid var(--fifv-red); }
.post-header .post-meta { display:flex; flex-direction:row; gap:8px 20px; margin-top:24px; color:var(--fifv-black); font:300 15px/1.5 var(--font-body); }
.post-meta .post-meta__byline { margin:0; font-size:16px; }
.post-meta__byline span { font-weight:700; }
.post-meta__byline::after { content:""; display:inline-block; height:.85em; margin-left:20px; border-left:1px solid var(--fifv-red); vertical-align:-.05em; }
.post-meta__details { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 20px; }
.post-meta__reading { font-weight:400; }
.post-meta__reading::before { content:""; display:inline-block; height:.85em; margin-right:20px; border-left:1px solid var(--fifv-red); vertical-align:-.05em; }
.post-cover { box-sizing:border-box; width:calc(100% - 2 * var(--page-gutter)); max-width:1040px; margin:0 auto 40px; }
.post-cover img { display:block; width:100%; height:auto; }
.single-copy.post-body { box-sizing:border-box; width:100%; max-width:800px; margin:auto; padding:0 var(--page-gutter) 72px; font:300 19px/1.65 var(--font-body); overflow-wrap:anywhere; }
.post-body .wp-block-post-content > * + * { margin-top:1.4em; }
.post-body .wp-block-post-content > :first-child { margin-top:0; }
.post-body .wp-block-post-content h2 { margin-top:2em; margin-bottom:.7em; font:700 clamp(26px,2.4vw,32px)/1.2 var(--font-display); text-transform:none; }
.post-body .wp-block-post-content h3 { font:700 24px/1.25 var(--font-display); }
.post-body .wp-block-post-content li + li { margin-top:.5em; }
.post-body .wp-block-post-content > .wp-block-image img { height:auto; max-width:100%; }
.post-body :is(figcaption,.wp-element-caption) { margin-top:10px; font:300 14px/1.5 var(--font-body); text-align:left; }
.post-body blockquote { margin-inline:0; padding-left:24px; border-left:2px solid var(--fifv-red); }
.post-body .wp-block-table { overflow-x:auto; }
.post-share { margin-top:56px; padding-top:28px; border-top:1px solid var(--fifv-red); }
.post-share h2 { margin:0 0 20px; font:700 26px/1.2 var(--font-display); color:var(--fifv-red); }
.post-share__actions { display:flex; flex-wrap:wrap; gap:10px; }
.post-share .post-share__button { display:inline-flex; box-sizing:border-box; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid var(--fifv-red); border-radius:0; background:var(--fifv-cream); color:var(--fifv-red); font:700 16px/1.3 var(--font-display); text-decoration:none; cursor:pointer; }
.post-share .post-share__button--whatsapp { background:var(--fifv-red); color:var(--fifv-cream); }
.post-share [hidden] { display:none !important; }
.post-share .post-share__status { min-height:1.5em; margin:12px 0 0; font:300 15px/1.5 var(--font-body); }
.post-share__fallback { margin:16px 0; }
.post-share__fallback label { display:block; margin-bottom:8px; font:400 16px/1.4 var(--font-body); }
.post-share__fallback input { box-sizing:border-box; width:100%; min-height:44px; border:1px solid var(--fifv-red); border-radius:0; background:var(--fifv-cream); color:var(--fifv-black); padding:10px; font:300 16px/1.4 var(--font-body); }
.post-share .post-share__return { margin:20px 0 0; font:400 16px/1.4 var(--font-body); }
.post-share__return a { display:inline-flex; align-items:center; min-height:44px; }
.post-related { box-sizing:border-box; max-width:1120px; margin:0 auto 64px; padding:32px var(--page-gutter) 0; border-top:1px solid var(--fifv-red); }
.post-related > h2 { margin:0 0 28px; color:var(--fifv-red); font:700 32px/1.2 var(--font-display); }
.post-related .news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:0; }
.post-related .wp-block-post { display:flex; flex-direction:column; align-items:flex-start; }
.post-related .wp-block-post-featured-image { width:100%; margin:0 0 16px; }
.post-related .wp-block-post-date { font:300 14px/1.4 var(--font-body); }
.post-related h3 { margin:10px 0 20px; color:var(--fifv-red); font:700 24px/1.2 var(--font-display); overflow-wrap:anywhere; }
.post-related h3 a { text-decoration:none; }
.post-related .news-card__excerpt { margin:0 0 20px; color:var(--fifv-black); font:300 17px/1.5 var(--font-body); }
.post-related .news-card__cta { display:inline-flex; min-height:44px; align-items:center; justify-content:center; margin-top:auto; padding:10px 16px; border:1px solid var(--fifv-red); background:var(--fifv-cream); color:var(--fifv-red); font:700 16px/1.3 var(--font-display); text-decoration:none; }
@media (max-width:900px) { .post-related .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .post-related .news-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:600px) {
  .post-header { padding-block:40px 24px; }
  .post-header h1 { font-size:30px; text-wrap:pretty; }
  .post-meta { margin-top:20px; gap:8px 12px; font-size:14px; }
  .post-meta .wp-block-post-author-name { padding-left:12px; }
  .post-header .post-meta { font-size:14px; }
  .post-meta__byline::after { content:none; }
  .post-meta__details { gap:6px 12px; }
  .post-meta__reading::before { margin-right:12px; }
  .post-cover { margin-bottom:28px; }
  .single-copy.post-body { padding-top:0; padding-bottom:48px; font-size:18px; line-height:1.6; }
  .post-share { margin-top:40px; }
  .post-share__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:400px) { .post-meta__details { flex-direction:column; } .post-meta__reading::before { content:none; } }
.section-index { list-style:none; padding:0; margin:0; border-top:1px solid var(--fifv-red); }
.section-index li { border-bottom:1px solid var(--fifv-red); }
.section-index a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; min-height:104px; padding:24px 12px; color:var(--fifv-red); text-decoration:none; }
.section-index__title { font:700 clamp(24px,2.25vw,36px)/1.12 var(--font-display); text-wrap:pretty; }
.section-index__action { font:400 15px/1.3 var(--font-body); white-space:nowrap; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.section-index a:focus-visible { outline:2px solid var(--fifv-red); outline-offset:4px; }
.section-index a:focus-visible .section-index__title { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
@media (hover:hover) { .section-index a:hover { background:var(--fifv-red); color:var(--fifv-cream); } }
.section-index a:active { background:var(--fifv-red); color:var(--fifv-cream); }
.section-index-page .page-heading { max-width:1224px; margin:auto; padding-block:clamp(48px,5.5vw,80px); border-bottom:0; }
.section-index-page .page-heading h1 { font-size:clamp(40px,6.4vw,92px); line-height:1.02; }
.section-index-page .page-content { padding-top:0; padding-bottom:clamp(64px,8vw,112px); }
.section-index-page .wp-block-post-content { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,2.6fr); gap:32px 64px; align-items:start; }
.section-index-page .wp-block-post-content > * { grid-column:1 / -1; }
.section-index-page .wp-block-post-content > p:first-child { grid-column:1; grid-row:1; margin:0; padding-top:22px; font:300 clamp(18px,1.55vw,22px)/1.4 var(--font-body); }
.section-index-page .wp-block-post-content > .section-index { grid-column:2; grid-row:1; margin:0; }
@media (max-width:900px) {
  .section-index-page .wp-block-post-content { display:block; }
  .section-index-page .wp-block-post-content > p:first-child { max-width:34em; padding-top:0; margin-bottom:32px; }
}
@media (max-width:600px) {
  .section-index a { grid-template-columns:minmax(0,1fr); gap:12px; padding:24px 8px; min-height:0; }
  .section-index__title { font-size:26px; }
  .section-index-page .page-heading { padding-block:40px 24px; }
  .section-index-page .page-heading h1 { font-size:clamp(40px,10.4vw,62px); overflow-wrap:normal; }
}
.archive-calls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3rem; }
.archive-calls img { width: 100%; }
.archive-calls h2 { font-size: 1.7rem; line-height: 1.2; }
.program-cover figure img, figure.program-closing img, figure.program-map img { width: 100%; }
.program-cover figure { margin: 0; }
.program-day .program-date { font-size: inherit; }
.program-day .program-date > span { display: block; }
.program-day .program-date > span:last-child { font-size:2.2rem; letter-spacing:.25em; font-weight:300; }
.program-date span { font-weight:300; }
.program-sheet-title > p { font-weight:700; }
.program-event-time { margin: 0; }
.program-document .wp-block-file { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin:0; padding:1rem 4.7%; font:400 1rem var(--font-body); }
.program-document .wp-block-file__button { background:var(--program-paper); color:var(--program-red); border-radius:0; }
.program-page .page-heading { max-width:1224px; margin:auto; padding-block:clamp(48px,5.5vw,80px) 28px; border:0; background:var(--fifv-cream); color:var(--fifv-red); text-align:center; }
.program-page main { background:var(--fifv-cream); }
.program-page main > .wp-block-post-content { background:var(--program-red); }
.program-page .page-heading h1 { font-size:clamp(40px,6.4vw,92px); line-height:1.02; }
.program-page .program-document:has(> .wp-block-file) { width:100%; }
.program-page .program-document > .wp-block-file { box-sizing:border-box; display:flex; justify-content:center; width:100%; margin:0; padding:0 var(--page-gutter) 48px; background:var(--fifv-cream); text-align:center; }
.program-page .program-document > .wp-block-file a { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:52px; padding:14px 28px; border:1px solid var(--fifv-red); background:var(--fifv-red); color:var(--fifv-cream); font:700 20px/1.2 var(--font-display); text-decoration:none; }
@media (hover:hover) { .program-page .program-document > .wp-block-file a:hover { background:var(--fifv-cream); color:var(--fifv-red); } }
.program-page .program-document > .wp-block-file a:focus-visible { outline:2px solid var(--fifv-red); outline-offset:4px; }
.program-page .program-address-sheet { padding-bottom:64px; }
.program-page .program-address-box { margin-inline:auto; }
.program-page figure.program-fish { width:min(32%,24.5rem); margin:0 0 0 auto; }
.program-page figure.program-fish img { display:block; width:100%; height:auto; }
@media (max-width:768px) { .program-page figure.program-fish { width:40%; } }
@media (max-width:600px) { .program-page .page-heading { padding-block:40px 24px; } .program-page .page-heading h1 { font-size:clamp(40px,10.4vw,62px); } }
.program-event-list > .wp-block-group + .wp-block-group { margin-top: 1.4rem; }
.program-city .wp-block-group h4 { margin: 0; font-size: 1rem; }
.program-city .wp-block-group p { margin: 0; font-size: 1rem; }
.partner-footer { background: var(--fifv-cream); color: var(--fifv-black); }
.partner-row figure { flex: 1; min-width: 0; }
.partner-row figure img { width: 100%; }
.partner-row__label { margin: 0; }
.back-to-top { position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:max(24px,env(safe-area-inset-bottom)); z-index:25; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:116px; height:52px; padding:0 18px; border:1px solid var(--fifv-red); border-radius:0; outline:2px solid var(--fifv-cream); outline-offset:0; background:var(--fifv-cream); color:var(--fifv-red); font:700 16px/1 var(--font-display); text-transform:uppercase; cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity 160ms ease,transform 160ms ease,visibility 160ms,background-color 160ms,color 160ms; -webkit-tap-highlight-color:transparent; }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.back-to-top__icon { display:block; flex:none; width:24px; height:24px; }
.back-to-top:focus-visible { outline:3px solid var(--fifv-black); outline-offset:4px; }
.back-to-top:active { background:var(--fifv-red); color:var(--fifv-cream); }
@media (hover:hover) { .back-to-top:hover { background:var(--fifv-red); color:var(--fifv-cream); } }
@media (max-width:768px) { .back-to-top { right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); min-width:48px; width:48px; height:48px; padding:0; } }
@media (prefers-reduced-motion:reduce) { .back-to-top { transition:none; transform:none; } }
.editor-styles-wrapper { background:var(--fifv-cream); }
.editor-styles-wrapper .program-document { background:#d90000; color:#f3f1df; font-family:var(--font-display); }
.editor-styles-wrapper .festival-hero { min-height: min(56vw, 60rem); }
.editor-styles-wrapper .block-editor-block-list__block { max-width:100%; }
/* Activity sheets follow the supplied October 23 artwork; copy remains native blocks. */
.activity-hero { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(var(--fifv-activity-cover) - var(--fifv-header-height)); padding:32px var(--page-gutter); background:var(--fifv-red); color:var(--fifv-cream); text-align:center; }
.activity-hero:has(.activity-presenter) { justify-content:flex-start; padding-top:clamp(18px,1.26927vw,24.37px); gap:clamp(24px,3.427vw,65.8px); }
.activity-hero .activity-presenter { width:min(100%,1400px); margin:0; font:700 clamp(36px,4.296875vw,82.5px)/1.15 var(--font-display); text-transform:uppercase; text-wrap:balance; }
.activity-hero h1 { width:min(100%,1022px); margin:0 auto; font:700 clamp(36px,4.296875vw,82.5px)/1.09 var(--font-display); text-transform:uppercase; text-wrap:initial; overflow-wrap:normal; hyphens:none; }
.fifv-activity-creacion-fotografica-analoga .activity-presenter { font-size:clamp(26px,2.86458vw,55px); }
.activity-body { width:min(calc(100% - 2 * var(--page-gutter)),970px); margin:0 auto; padding:clamp(40px,2.83854vw,54.5px) 0 80px; color:var(--fifv-red); font:300 clamp(18px,1.145833vw,22px)/1.090909 var(--font-body); }
.activity-body > .wp-block-columns { gap:clamp(40px,4.583333vw,88px); margin:0; align-items:flex-start; }
.activity-body .wp-block-column { min-width:0; }
.activity-body p { margin:0 0 24px; }
.activity-body h2,.activity-body h3 { margin:32px 0 20px; color:inherit; font:700 1em/1.2 var(--font-display); }
.activity-body h2:first-child,.activity-body .activity-selection:first-child h2,.activity-body .activity-selection:first-child h3 { margin-top:0; }
.activity-credits h2 { font-size:clamp(22px,1.71875vw,33px); text-transform:uppercase; }
.activity-body .activity-affiliation { font-size:.9em; margin-bottom:12px; }
.activity-names { list-style:none; padding:0; margin:0 0 32px; font-size:clamp(18px,1.43229vw,27.5px); line-height:1.1; }
.activity-names li { margin:0; overflow-wrap:normal; }
/* Global logo bar: the supplied 4500 × 3333 PNG is the source of truth.
   Its three transparent strips have identical left edges; Produce occupies
   3584/4085 of the other rows' width. The document's silhouette is a separate
   decorative layer, shared by the footer throughout the site. */
.institutional-footer { position:relative; overflow:hidden; background:var(--fifv-cream); color:#000; padding:32px var(--page-gutter); }
.institutional-rows { position:relative; z-index:1; width:min(100%,900px); margin:auto; }
.institutional-row + .institutional-row { margin-top:32px; }
.institutional-label { margin:0 0 24px; padding:0 0 16px; border-bottom:1px solid #888; text-align:left; font:400 16px/1.3 var(--font-body); text-transform:none; }
.institutional-row:last-child .institutional-label { border-bottom-color:#f0f0de; }
.institutional-row figure { margin:0; }
.institutional-row img { width:100%; height:auto; display:block; }
.institutional-row:first-child figure { width:87.735618%; margin:0 auto 0 0; }
.institutional-dates { position:relative; z-index:1; max-width:900px; margin:32px auto 0; color:var(--fifv-black); text-align:center; font:700 clamp(18px,1.66667vw,32px)/1.1 var(--font-display); text-transform:uppercase; }
.institutional-footer::before { content:""; position:absolute; z-index:0; inset:0 auto 0 50%; width:min(calc(100% - 2 * var(--page-gutter)),900px); transform:translateX(-50%); background:url("brand/images/footer-fish-20261023.svg") no-repeat center bottom/contain; pointer-events:none; }
.institutional-footer::after { content:none; }
.program-page .institutional-footer { --footer-top-gap:clamp(32px,3.333333vw,64px); padding-top:calc(32px + var(--footer-top-gap)); }
.program-page .institutional-footer::before { top:var(--footer-top-gap); }
@media (max-width:768px) { .program-page .institutional-footer { padding-top:calc(24px + var(--footer-top-gap)); } }
@media (max-width:768px) {
  .activity-body > .wp-block-columns { flex-direction:column; gap:2.5rem; }
  .activity-body > .wp-block-columns > .wp-block-column { flex-basis:auto !important; width:100%; }
  .activity-hero,.activity-hero:has(.activity-presenter) { min-height:0; padding:40px var(--page-gutter); gap:28px; }
  .activity-hero .activity-presenter { font-size:clamp(26px,7.7vw,40px); }
  .activity-hero h1 { font-size:clamp(30px,8.5vw,48px); line-height:1.05; text-wrap:balance; }
  .fifv-activity-creacion-fotografica-analoga .activity-presenter { font-size:clamp(22px,5.8vw,30px); }
  .activity-body { padding-top:40px; padding-bottom:48px; font-size:18px; line-height:1.4; }
  .activity-names { font-size:20px; line-height:1.3; }
  .institutional-footer { padding:24px var(--page-gutter); }
  .institutional-row + .institutional-row { margin-top:24px; }
  .institutional-label { padding-bottom:12px; margin-bottom:20px; }
  .institutional-rows { min-width:0; }
}
@media (max-width:1100px) {
  :root { --fifv-header-height:72px; }
  .site-header-wp { display:flex; align-items:center; justify-content:space-between; height:72px; font-size:20px; }
  .site-header-wp .mobile-brand { display:block; margin:0; }
  .mobile-brand a { display:flex; align-items:center; min-height:44px; }
  .site-header-wp .wp-block-navigation { width:auto; margin-left:auto; }
  .site-header-wp .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .site-header-wp .wp-block-navigation__responsive-container-open { display:flex; }
  .site-header-wp .is-menu-open .wp-block-navigation-item:last-child { margin-left:0; }
}
@media (max-width:760px) {
  .news-grid, .archive-calls { grid-template-columns:minmax(0,1fr); }
  .page-content,.single-copy { font-size:1rem; padding-top:2rem; }
  .program-day .program-date > span:last-child { font-size:1.5rem; }
  .program-day .program-date strong { font-size:2.8rem; }
  .program-event-time { font-size:.75rem !important; }
  .back-to-top__label { display:none; }
}

/* Figma website / 35:10340. These WordPress-specific rules deliberately
   override the preserved Astro CSS without changing the reference project. */
strong,b { font-weight:700; }
body .wp-site-blocks :is(h1,h2,h3,h4,h5,h6,strong,b) { font-weight:700; }
.curatorial-copy strong,.editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6,strong,b) { font-weight:700; }
.editor-styles-wrapper .festival-hero { min-height:0; height:auto; aspect-ratio:16/9; }
.page-content,.single-copy { font-weight:300; }
.page-content h2,.single-copy h2,.archive-calls h2 { font-weight:700; }
.curatorial-page .festival-hero { min-height:0; height:min(56.25vw,1080px); overflow:visible; }
.curatorial-page .hero-map { top:13.108%; left:50%; width:44.8735%; transform:translateX(-50%); }
.curatorial-page .hero-letter--f-left { top:25.314%; left:23.438%; width:11.179%; }
.curatorial-page .hero-letter--i { top:13.108%; left:38.139%; width:5.722%; }
.curatorial-page .hero-letter--f-right { top:13.108%; left:47.384%; width:11.179%; }
.curatorial-page .hero-letter--v { top:38.778%; left:62.128%; width:14.434%; }
.curatorial-page .hero-edition { top:13.108%; left:62.128%; right:auto; width:14.434%; font:300 clamp(16px,1.875vw,36px)/1.09 var(--font-display); transform:none; }
.curatorial-page .hero-date { top:76.08%; bottom:auto; display:block; width:6.25%; line-height:1; }
.curatorial-page .hero-date strong { display:block; font-size:min(5vw,96px); font-weight:700; line-height:.82; }
.curatorial-page .hero-date span { display:block; width:100%; margin-top:min(2.1vw,40px); font-size:min(2.1vw,40px); font-weight:300; letter-spacing:0; line-height:1; text-align:justify; text-align-last:justify; }
.curatorial-page .editorial-question { font-weight:700; }
.curatorial-page .curatorial-copy { width:min(100%,1020px); font:300 22px/1.25 var(--font-body); }
.curatorial-page .curatorial-author { font-size:clamp(22px,1.55vw,29.6px); font-weight:700; }
.curatorial-page .side-label { font-weight:400; }
.curatorial-page .horizon-diagram,.curatorial-page .broken-line-diagram { width:100%; margin:64px auto; font:700 22px/1 var(--font-display); }
.curatorial-page .horizon-diagram { padding-bottom:16px; border-bottom-width:2px; }
.curatorial-page .broken-line-diagram { height:auto; }
.curatorial-page .broken-line-diagram img { display:block; width:100%; height:auto; }
.curatorial-page .broken-label { position:absolute; bottom:auto; right:auto; line-height:1; }
.curatorial-page .broken-label--one { top:32.4%; left:27.45%; }
.curatorial-page .broken-label--two { top:66.7%; left:46.1%; }
.curatorial-page .broken-label--three { top:32.4%; left:61.84%; }
@media (min-width:769px) {
  .activity-body > .wp-block-columns { flex-wrap:nowrap !important; }
  .activity-body > .wp-block-columns > .wp-block-column { flex-basis:0 !important; flex-grow:1; }
}
@media (min-width:1101px) {
  .curatorial-page .wp-site-blocks > header.wp-block-template-part { height:0; }
  /* Original Illustrator text matrix is 20 × 22: preserve that horizontal
     proportion as native, selectable text instead of rasterising the copy. */
  .activity-description > p,.activity-description > h2,.activity-credits .activity-names { width:110%; transform:scaleX(.9090909); transform-origin:top left; }
  .activity-description { text-align:justify; hyphens:auto; }
}
@media (max-width:1100px) {
  .curatorial-page .curatorial-copy { font-size:20px; }
}
@media (max-width:768px) {
  .curatorial-page .festival-hero { height:clamp(420px,calc(100svh - 72px),720px); overflow:hidden; }
  .curatorial-page .hero-map { top:12%; width:min(88%,48svh); }
  .curatorial-page .hero-letter--f-left { top:20%; left:9%; width:19.5%; }
  .curatorial-page .hero-letter--i { top:12%; left:31.5%; width:9.99%; }
  .curatorial-page .hero-letter--f-right { top:12%; left:49%; width:19.5%; }
  .curatorial-page .hero-letter--v { top:36%; left:71.5%; width:20.5%; }
  .curatorial-page .hero-edition { top:12%; left:73%; width:24%; font-size:clamp(12px,3.3vw,18px); line-height:1.1; }
  .curatorial-page .hero-date { top:auto; bottom:12%; width:64px; }
  .curatorial-page .hero-date--start { left:var(--page-gutter); right:auto; }
  .curatorial-page .hero-date--end { right:var(--page-gutter); left:auto; }
  .curatorial-page .hero-date strong { font-size:64px; line-height:.9; }
  .curatorial-page .hero-date span { font-size:22px; margin-top:14px; }
  .curatorial-page .editorial-section { padding-top:56px; }
  .curatorial-page .editorial-question { display:flex; flex-direction:column; gap:.2em; font-size:clamp(32px,8.5vw,60px); line-height:1.05; letter-spacing:-.025em; }
  .curatorial-page .editorial-question span { display:block; }
  .curatorial-page .curatorial-layout { padding:72px var(--page-gutter) 48px; }
  .curatorial-page .curatorial-copy { width:100%; font-size:18px; line-height:1.4; text-align:left; }
  .curatorial-page .side-label { display:none; }
  .curatorial-page .horizon-diagram,.curatorial-page .broken-line-diagram { width:100%; margin:48px auto; font-size:14px; }
  .curatorial-page .broken-line-diagram { font-size:12px; }
}
