/* Página El Festival — versión sencilla y equilibrada */
.festival-page .brand { width: 190px; height: 190px; top: 12px; }
.festival-page .header-inner { min-height: 116px; }
.festival-page .main-nav a.active { border-color: var(--orange); }
.festival-simple { overflow: hidden; }
.festival-simple-hero { text-align: center; max-width: 1180px; margin: 0 auto; padding: 112px 24px 48px; }
.simple-eyebrow { margin: 0 0 20px; color: var(--orange); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.festival-simple-hero h1, .simple-about h2, .simple-closing h2 { margin: 0; font-family: Hofisem, Impact, sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: -.025em; line-height: .96; font-size: clamp(3.2rem, 7.4vw, 7rem); }
.festival-simple-hero h1 em, .simple-about h2 em { color: var(--orange); font-style: normal; }
.simple-lead { margin: 24px auto 0; font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.5; }
.simple-photo { position: relative; margin: 0; width: 100%; height: clamp(300px, 44vw, 560px); overflow: hidden; background: var(--blue); }
.simple-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.simple-photo figcaption { position: absolute; left: clamp(18px, 4vw, 56px); bottom: 18px; background: var(--orange); color: white; padding: 10px 14px; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.simple-about { max-width: 1220px; margin: 0 auto; padding: clamp(60px, 8vw, 110px) clamp(22px, 5vw, 64px); display: grid; grid-template-columns: .55fr 1.45fr; gap: 30px 55px; align-items: start; }
.simple-about .simple-eyebrow { margin-top: 8px; }
.simple-about h2 { font-size: clamp(2.7rem, 5.4vw, 5.2rem); }
.simple-about > div > p { max-width: 720px; font-size: 1.03rem; line-height: 1.7; margin: 24px 0; color: #344d83; }
.simple-link { font-size: .78rem; font-weight: 900; text-transform: uppercase; text-underline-offset: 5px; }
.simple-values { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1220px; margin: 0 auto; padding: 0 clamp(22px, 5vw, 64px) 85px; }
.value-item { border-top: 1px solid #8194bf; padding: 20px 20px 0 0; margin-right: 24px; }
.value-item span { color: var(--orange); font-size: .72rem; font-weight: 900; }
.value-item h3 { margin: 14px 0 0; font-family: Hofisem, Impact, sans-serif; font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 400; text-transform: uppercase; line-height: 1.05; }
.simple-closing { text-align: center; background: var(--blue); color: white; padding: clamp(60px, 8vw, 105px) 22px; }
.simple-closing > p { margin: 0 0 18px; font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.simple-closing h2 { font-size: clamp(3.4rem, 8vw, 7.5rem); }
.simple-closing h2 em { color: #ffb13e; font-style: normal; }
.simple-closing > a { display: inline-block; margin-top: 28px; color: white; font-size: .78rem; font-weight: 900; text-transform: uppercase; text-underline-offset: 5px; }
.festival-footer { border-top: 1px solid var(--line); padding: 28px clamp(22px,5vw,70px); display: grid; grid-template-columns: auto 1fr; gap: 15px 30px; align-items: center; }
.festival-footer-brand { font-family: Hofisem, Impact, sans-serif; font-size: 1.7rem; line-height: .8; text-decoration: none; }
.festival-footer-brand span { font-size: .85rem; }
.festival-footer > p { margin: 0; color: #53648c; font-size: .8rem; }
.festival-footer-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px 20px; border-top: 1px solid var(--line); padding-top: 16px; }
.festival-footer-links a { font-size: .68rem; text-transform: uppercase; font-weight: 900; text-decoration: none; }
.festival-footer-links a:hover { color: var(--orange); }
@media(max-width: 850px) {
 .festival-page .brand { width: 155px; height: 155px; top: 14px; }
 .festival-simple-hero { padding-top: 90px; }
 .simple-about { grid-template-columns: 1fr; gap: 12px; }
}
@media(max-width: 720px) {
 .festival-page .brand { width: 92px; height: 92px; top: 6px; }
 .festival-simple-hero { padding: 68px 18px 35px; }
 .festival-simple-hero h1 { font-size: clamp(2.7rem, 12vw, 5rem); }
 .simple-lead { font-size: .95rem; }
 .simple-photo { height: 300px; }
 .simple-photo figcaption { left: 12px; bottom: 12px; font-size: .62rem; }
 .simple-about { padding: 55px 22px; }
 .simple-about h2 { font-size: clamp(2.5rem, 10.5vw, 4.3rem); }
 .simple-about > div > p { font-size: .95rem; }
 .simple-values { grid-template-columns: 1fr; padding: 0 22px 55px; }
 .value-item { margin-right: 0; padding: 18px 0; border-bottom: 1px solid #c4cde0; }
 .value-item h3 { margin-top: 8px; }
 .simple-closing h2 { font-size: clamp(3rem, 12vw, 5rem); }
 .festival-footer { grid-template-columns: 1fr; }
 .festival-footer-links { grid-column: 1; }
}
