@font-face { font-family: "Mona Sans Wide Bold"; src: url("assets/mona-sans-bold-wide.woff2") format("woff2"); font-weight: 700; font-display: swap; }
[hidden] { display: none !important; }
.ticket-button {
  display: inline-flex; flex: none; align-items: center; gap: .35rem; border-radius: 999px;
  padding: .65rem .9rem; background: #e6a119; color: #201d1a !important;
  font: 700 .72rem/1 "Mona Sans Wide Bold", "Mona Sans", sans-serif; text-decoration: none;
}
.ticket-button > span { color: inherit; opacity: 1; font: inherit; }
.ticket-button > span:first-child { font-size: 1.25rem; transform: rotate(-20deg); }
.ticket-button svg { width: 1.15rem; height: 1.15rem; flex: none; }
.resources-wrap { width: min(88%, 80rem); margin-inline: auto; }
.resources-section { padding-block: clamp(2.8rem, 7vw, 6rem); color: var(--archive-text, #eee2c9); font-family: var(--archive-copy, "Mona Sans", system-ui, sans-serif); }
.resources-section h2 { color: inherit; font: var(--archive-heading-weight,900) clamp(2rem,5vw,4.6rem)/1.06 var(--archive-heading,"Mona Sans Wide",sans-serif); letter-spacing: -.04em; margin: 0 0 1.3rem; }
.resources-section h3 { font-family: var(--archive-label,"Mona Sans",sans-serif); }
.resources-section p { line-height: 1.65; }
.resources-kicker { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.edition-partners { background: var(--green); }
.archive-2024 .edition-partners { background: #522b04 url("assets/historia/24-marrom-textura.webp") center/cover; }
.archive-2025 .edition-partners { background: #3f3f3f; }
.partner-logos { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap: 1.3rem; list-style: none; padding: 0; margin: 1.4rem 0 2.5rem; align-items: center; }
.partner-logos li { display: grid; place-items: center; padding: .6rem; min-height: 5rem; }
.partner-logos .partner-on-light { background: var(--archive-text, #eee2c9); }
.partner-logos img { display: block; max-width: 100%; width: 8.5rem; max-height: 5.5rem; object-fit: contain; }
.walk-of-fame { background: #2e4a2c; }
.walk-2025 { background: #3f3f3f url("assets/historia/25-papel-textura.webp") center/cover; border-block: .4rem solid #cb0000; }
.walk-navigation, .walk-controls { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; margin-block: .8rem; }
.walk-of-fame button { color: inherit; background: transparent; border: 1px solid currentColor; font: inherit; padding: .6rem; cursor: pointer; }
.walk-navigation button { min-height: 2.75rem; }
.walk-track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x proximity; padding: 1rem .3rem 1.5rem; }
.walk-art { flex: 0 0 clamp(11rem,25vw,19rem); scroll-snap-align: start; }
.walk-art img { display: block; width: 100%; height: auto; }
.walk-art span { display: block; margin-top: .7rem; font-size: .85rem; }
.walk-2026 .walk-art { border: none; background: #201d1a; box-shadow: .3rem .35rem #e6a119; }
.walk-2026 .walk-art:nth-child(3n+2) { translate: 0 .45rem; box-shadow: .3rem .35rem #c5341e; }
.walk-2025 .walk-art { border-block: .6rem dashed #ffe9db; background: #3f3f3f; }
.walk-dialog { color: var(--archive-text,#eee2c9); background: var(--archive-base,#201d1a); border: 1px solid currentColor; width: min(62rem,calc(100% - 1rem)); max-height: calc(100dvh - 1rem); padding: .75rem; }
.walk-dialog::backdrop { background: #201d1af2; }
:root:has(.walk-dialog[open]) { overflow: hidden; }
.walk-close { display: block; margin-left: auto; min-width: 2.75rem; min-height: 2.75rem; }
.walk-viewport { overflow: auto; height: 66dvh; background: #201d1a; }
.walk-viewport img { display: block; width: 100%; height: 100%; object-fit: contain; transform-origin: top left; }
.walk-dialog .walk-controls button { min-width: 3rem; min-height: 2.75rem; }
.festival-statistics { background: #201d1a; }
.stat-rows { display: grid; gap: 1.4rem; }
.stat-year { position: relative; isolation: isolate; padding: 1.3rem 1.3rem 2rem; }
.stat-year::after { content: ""; position: absolute; z-index: -1; inset: auto auto 0 0; width: var(--stat-width); height: .5rem; background: currentColor; }
.stat-year h3 { margin: 0 0 .8rem; font-size: 1.7rem; }
.stat-year strong { font-size: clamp(3rem,8vw,7rem); line-height: 1; }
.stat-year p { margin: .6rem 0 0; }
.stat-2024 { color: #ffe1b0; font-family: "Outfit Arquivo",sans-serif; }
.stat-2024 h3 { font-family: "Abril Arquivo",serif; }
.stat-2024::after { background: linear-gradient(90deg,#fbf3db,#ffe1b0,#ffb000,#e6a817,#ff490d,#f31920,#009ef1,#0029e6); }
.stat-2025 { background: #3f3f3f; color: #fff; font-family: "Courier New",monospace; }
.stat-2025 h3 { font: 400 2.4rem/1 "Brandon Arquivo",sans-serif; }
.stat-2026 { color: #e6a119; }
.university-map { background: #eee2c9; color: #201d1a; }
.university-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.university-nodes { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 1rem; padding: 2rem 0; }
.university-center { grid-column: 1/-1; padding: 1rem; text-align: center; background: #c5341e; color: #eee2c9; font: 900 2rem/1 "Mona Sans Wide",sans-serif; clip-path: polygon(3% 0,100% 8%,96% 100%,0 89%); }
.university-nodes button { border: 2px solid #2e4a2c; background: #eee2c9; padding: 1rem; color: #201d1a; font: 700 1rem/1.2 "Mona Sans",sans-serif; cursor: pointer; }
.university-nodes button[aria-pressed="true"] { color: #eee2c9; background: #2e4a2c; }
.university-info { padding: 1.2rem; border: 1px solid #2e4a2c; }
.university-info h3 { font-size: 1.35rem; }
.university-info li { margin-block: .4rem; }
.calendar-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.calendar-tools :is(select,button) { font: inherit; background: var(--cream); color: var(--ink); padding: .6rem; border: 1px solid currentColor; min-height: 2.75rem; }
.calendar-notice { border-inline-start: .3rem solid var(--red); padding-inline-start: 1rem; }
.calendar-date { font: 900 clamp(1.5rem,4vw,3rem)/1.2 "Mona Sans Wide",sans-serif; padding-block: 1.2rem; border-bottom: 1px solid; }
.calendar-month { width: min(100%, 28rem); margin-block: 1.5rem; padding: 1rem; border: 1px solid; }
.calendar-month h3 { margin: 0 0 .8rem; text-transform: capitalize; }
.calendar-month-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: .25rem; text-align: center; }
.calendar-month-days > * { padding-block: .45rem; min-width: 0; }
.calendar-month-days button { color: var(--ink); background: var(--yellow); border: 1px solid; font: inherit; font-weight: 800; cursor: pointer; }
.calendar-month-days .calendar-weekday { font-size: .75rem; }
.schedule-timeline, .calendar-historical { scroll-margin-top: calc(var(--header) + 1rem); }
.calendar-historical { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: 1rem; }
.calendar-historical article { padding: 1rem; border: 1px solid; }
.calendar-historical time { font-weight: 800; font-size: 1.5rem; }
.calendar-by-date .schedule-timeline { padding-left: 1rem; border-left: .4rem solid var(--green); }
.resources-footer { padding-block: 2rem; color: var(--archive-text,#eee2c9); background: var(--archive-base,#201d1a); font-family: var(--archive-copy,"Mona Sans",sans-serif); }
.resources-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .8rem 2rem; }
.resources-footer nav a { min-height: 2.75rem; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: .25em; }
.newsletter-placeholder { margin-top: 1.25rem; max-width: 52ch; border-top: 1px solid; padding-top: 1rem; }
.newsletter-placeholder h2 { font: 700 1.2rem/1.3 var(--archive-label,"Mona Sans",sans-serif); color: inherit; letter-spacing: 0; }
.newsletter-placeholder p { font-size: .9rem; line-height: 1.6; }
.resource-page { font-family: "Mona Sans",sans-serif; color: #eee2c9; }
.resource-page main { padding-block: clamp(2.5rem,6vw,6rem); }
.resource-page h1 { font: 900 clamp(2.5rem,7vw,6rem)/1 "Mona Sans Wide",sans-serif; margin: 0 0 1.5rem; letter-spacing: -.06em; }
.resource-page h2 { color: inherit; font: 800 clamp(1.2rem,2.6vw,2rem)/1.2 "Mona Sans",sans-serif; letter-spacing: -.03em; }
.press-list { display: grid; gap: 1.3rem; margin-block: 2rem; }
.press-list article { padding: 1rem 1.4rem; border-inline-start: .3rem solid #e6a119; background: #2e4a2c; }
.press-list a { text-underline-offset: .2em; }
.resource-page select { padding: .65rem; font: inherit; color: #201d1a; background: #eee2c9; }
.press-materials { margin-top: 3rem; }
.press-materials > div { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
.press-materials article { padding: 1rem; border: 1px solid #eee2c9; line-height: 1.7; }
.faq-list details { border-block-start: 1px solid #eee2c980; padding: 1rem 0; max-width: 70ch; }
.faq-list summary { cursor: pointer; font-size: clamp(1.05rem,2.6vw,1.5rem); font-weight: 700; padding-block: .5rem; }
.faq-list p { line-height: 1.75; }
.festival-countdown { background: #2e4a2c; }
.festival-countdown p { font-size: clamp(1.5rem,4vw,3rem); }
@media (prefers-reduced-motion: no-preference) {
 .ticket-button { transition: transform 150ms ease; }
 .ticket-button:hover { transform: translateY(-2px); }
 .stat-rows .stat-year::after { transform: scaleX(.15); transform-origin: left; transition: transform 700ms cubic-bezier(.2,.65,.3,1); }
 .stat-rows.is-in-view .stat-year::after { transform: scaleX(1); }
 .walk-dialog[open] { animation: resource-reveal 170ms ease-out; }
 @keyframes resource-reveal { from { opacity: 0; transform: translateY(.6rem) scale(.98); } }
 .faq-list details { interpolate-size: allow-keywords; }
 .faq-list details::details-content { transition: content-visibility .2s allow-discrete, height .2s ease; height: 0; overflow: clip; }
 .faq-list details[open]::details-content { height: auto; }
}
@media (min-width: 850px) { .stat-rows { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; } }
@media (max-width: 850px) { .header nav[aria-label="Menu principal"] { gap: .4rem; } .ticket-button { padding: .55rem .65rem; } }
@media (max-width: 640px) {
 :root:has(.ticket-button) { --header: 7.4rem; }
 .header nav[aria-label="Menu principal"] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(5.2rem,1.2fr); gap: .8rem .35rem; align-items: center; }
 .header [data-menu] { width: fit-content; font-size: clamp(.6rem,2.3vw,.74rem); }
 .ticket-button { justify-content: center; grid-column: 4; grid-row: 1 / 3; align-self: center; padding: .65rem .35rem; font-size: .63rem; }
 .ticket-button svg { width: .85rem; height: .85rem; }
 .university-layout { grid-template-columns: minmax(0,1fr); }
 .walk-art { flex-basis: 66vw; }
}
.header .brand.official-brand{display:inline-flex;align-items:center;flex:none;padding:3px 6px;background:transparent;line-height:1;letter-spacing:normal}
.header .official-brand img{display:block;width:auto;height:2.4rem;max-width:100%;object-fit:contain;filter:none}
.header .official-brand:after{display:none}
.resources-footer.institutional-footer{position:static;background:#201d1a;color:#eee2c9;font-family:'Mona Sans',sans-serif;padding:3rem 0 1rem;scroll-margin-top:calc(var(--header) + 1rem);border-top:1px solid #eee2c933}
.institutional-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:2rem 3rem;align-items:start}
.institutional-footer .institutional-mark{display:inline-block;background:transparent;padding:8px}
.institutional-footer .institutional-mark img{display:block;height:5rem;width:auto;object-fit:contain;filter:none}
.resources-footer.institutional-footer h2{font:700 .85rem/1.5 'Mona Sans Wide Bold','Mona Sans',sans-serif;letter-spacing:.03em;color:#e6a119;margin:0 0 1rem}
.institutional-footer p,.institutional-footer a{font-size:.85rem;line-height:1.7}
.institutional-footer a{color:#eee2c9;text-decoration:none;overflow-wrap:anywhere}.institutional-footer a:hover{text-decoration:underline;text-underline-offset:.25em}
.institutional-identity p{max-width:24ch;margin:1rem 0 0}
.institutional-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.institutional-social{display:inline-flex;align-items:center;gap:.6rem;margin-top:.5rem}
.institutional-social svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.6}
.institutional-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.institutional-footer nav a{min-height:0;font-weight:400;text-decoration:none}
.institutional-footer .institutional-copyright{margin:2.5rem 0 0;padding:1rem 0 0;border-top:1px solid #eee2c933;font-size:.72rem}
@media(max-width:850px){.institutional-grid{grid-template-columns:1fr 1fr}.institutional-links{grid-column:2}.institutional-footer .resources-wrap{width:88%}}
@media(max-width:640px){.header .official-brand img{height:1.7rem}.header .brand.official-brand{padding:2px 5px}.institutional-grid{grid-template-columns:1fr;gap:2rem}.institutional-links{grid-column:auto}.institutional-footer .institutional-mark img{height:4rem}.institutional-footer{padding-top:2rem}}
