/* First reading order: dates, free admission, shared invitation, then the marquee.
   Existing programme, route, music, community, shop and artwork remain intact. */
body[data-festival-page="home"] .festival-opening{color:#fff;font-family:Montserrat,Arial,sans-serif;text-align:left;margin:0 0 18px}
body[data-festival-page="home"] .festival-opening p{max-width:none;margin:0;letter-spacing:0}
body[data-festival-page="home"] .festival-opening-dates{font:800 clamp(24px,2.4vw,34px)/1.15 Montserrat,Arial,sans-serif;color:#c6f28b}
body[data-festival-page="home"] .festival-opening-dates span{display:inline-block;font-size:.5em;font-weight:600;letter-spacing:.08em;margin-left:.25em}
body[data-festival-page="home"] .festival-date-break{display:none}
body[data-festival-page="home"] .festival-opening-free{font:800 clamp(38px,4.6vw,68px)/1.04 Montserrat,Arial,sans-serif;letter-spacing:-.045em;margin:18px 0 16px}
body[data-festival-page="home"] .festival-opening-free strong{display:inline;color:#c6f28b;font:inherit}
body[data-festival-page="home"] .festival-opening-motto{font:800 clamp(22px,2.4vw,34px)/1.15 Montserrat,Arial,sans-serif;color:#f4a8d0;letter-spacing:-.025em}
body[data-festival-page="home"] .festival-opening-place{font:500 13px/1.4 Montserrat,Arial,sans-serif;color:#f4eefa;margin-top:12px}
body[data-festival-page="home"] .festival-opening-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:12px 18px;border:2px solid #c6f28b;border-radius:0;background:#c6f28b;color:#230d39;font:800 14px/1.3 Montserrat,Arial,sans-serif;text-decoration:none;box-shadow:none}
body[data-festival-page="home"] .festival-opening-cta:hover{background:#fff;border-color:#fff}
body[data-festival-page="home"] .festival-opening-cta:focus-visible{outline:3px solid currentColor;outline-offset:4px}
body.verbena-texture-page section#vs-route-app .vs-hero{min-height:0;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);align-items:center;gap:36px;padding:30px clamp(20px,4vw,58px) 34px}
body.verbena-texture-page section#vs-route-app .vs-hero-editorial{max-width:760px;margin:0}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair,.cinema-page .hero .festival-brand-pair{max-width:340px;justify-content:flex-start;gap:22px;margin:12px 0 16px}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .vs-logo{max-width:166px!important;flex:0 1 166px}
body.verbena-texture-page section#vs-route-app .vs-hero .vs-logo img{max-height:104px;width:100%}
body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .festival-mascot,.cinema-page .hero .festival-brand-pair .festival-mascot{height:100px;max-width:90px;width:auto}
body.verbena-texture-page section#vs-route-app .vs-hero-copy{margin:0;padding:0}
body.verbena-texture-page section#vs-route-app .vs-hero>.film-posters,.cinema-page .hero .film-posters{width:100%;max-width:420px;margin:0 auto;align-self:center}
.cinema-page .hero{padding-block:30px}
.cinema-page .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:36px;align-items:center;padding-block:0}
.cinema-page .hero .festival-brand-pair .cinema-cover-logo{max-width:225px!important;flex:0 1 225px}
body.cinema-page .festival-opening,body.cinema-page .festival-opening :is(.festival-opening-dates,.festival-opening-free,.festival-opening-free strong,.festival-opening-motto,.festival-opening-place){color:#111}
body.cinema-page .festival-opening-free strong{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px}
body.cinema-page .festival-opening-cta{background:#111;border-color:#111;color:#fff}
body.cinema-page .festival-opening-cta:hover{background:#333;border-color:#333}
/* Secondary actions belong to planning, after the programme cards. */
body[data-festival-page="home"] .festival-more{padding:28px clamp(18px,4vw,48px);background:#1b0c2b;color:#fff}
body[data-festival-page="home"] .festival-more-inner{max-width:980px;margin:auto}
body[data-festival-page="home"] .festival-more :is(.verbena-cover-statement,.cinema-cover-statement){font:800 clamp(20px,2.5vw,28px)/1.3 Montserrat,Arial,sans-serif!important;margin:0 0 12px!important}
body[data-festival-page="home"] .festival-more :is(.verbena-cover-description,.cinema-cover-description){font:400 16px/1.6 Montserrat,Arial,sans-serif!important;max-width:70ch;margin:0 0 20px!important}
body[data-festival-page="home"] .festival-more .verbena-cover-finale{font:500 14px/1.5 Montserrat,Arial,sans-serif;margin:14px 0}
body[data-festival-page="home"] .festival-more .verbena-cover-finale :is(strong,span){display:block}
body[data-festival-page="home"] .festival-more .festival-music-top{padding:14px 0 0;margin:0;background:transparent;border:0;justify-content:flex-start}
body[data-festival-page="home"] .festival-more .festival-support-intro{max-width:720px;margin:22px 0 0}
body.cinema-page .festival-more{background:#f4f4f4;color:#111}
body.cinema-page .festival-more p{color:#111}
body[data-festival-page="home"] .festival-quick-access{margin:0 0 22px!important;display:flex;flex-wrap:wrap;gap:8px}
body[data-festival-page="home"] .festival-quick-access a{font:700 13px/1.3 Montserrat,Arial,sans-serif!important;min-height:44px;padding:10px 12px;border:1px solid currentColor;text-decoration:none}
body[data-festival-page="home"] .festival-date-disclosure{padding:0;background:transparent;color:inherit;border:0;border-bottom:1px solid #aaa;margin-bottom:16px}
body[data-festival-page="home"] .festival-date-disclosure>summary{padding:14px 0;font:700 14px/1.4 Montserrat,Arial,sans-serif;cursor:pointer}
body[data-festival-page="home"] .festival-date-disclosure .session-strip-inner{width:100%;padding:16px 0 22px}
html body[data-festival-page="home"] .festival-menu-workshops{display:none}
@media(max-width:760px){
 html{scroll-padding-top:82px}
 html body[data-festival-page="home"] .festival-site-nav>a[href="/talleres/"]{display:none}
 html body[data-festival-page="home"] .festival-menu-workshops{display:flex}
 body.verbena-texture-page section#vs-route-app .vs-hero,.cinema-page .hero-grid{grid-template-columns:1fr;gap:22px}
 body.verbena-texture-page section#vs-route-app .vs-hero{padding:24px 18px 28px}
 .cinema-page .hero{padding:24px 0 28px}
 .cinema-page .hero-grid{padding:0}
 body[data-festival-page="home"] .festival-opening{margin-bottom:12px}
 body[data-festival-page="home"] .festival-opening-dates{font-size:clamp(23px,6.3vw,30px);line-height:1.12}
 body[data-festival-page="home"] .festival-date-break{display:block}
 body[data-festival-page="home"] .festival-opening-free{font-size:clamp(34px,9.5vw,54px);line-height:1.06;margin:16px 0}
 body[data-festival-page="home"] .festival-opening-motto{font-size:clamp(22px,6.2vw,29px);line-height:1.14;max-width:22ch}
 body[data-festival-page="home"] .festival-opening-place{font-size:12px;margin-top:10px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair,.cinema-page .hero .festival-brand-pair{margin:12px 0;gap:20px;max-width:280px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .vs-logo{max-width:134px!important;flex-basis:134px}
 body.verbena-texture-page section#vs-route-app .vs-hero .vs-logo img{max-height:80px}
 body.verbena-texture-page section#vs-route-app .vs-hero .festival-brand-pair .festival-mascot,.cinema-page .hero .festival-brand-pair .festival-mascot{height:80px;max-width:68px}
 .cinema-page .hero .festival-brand-pair .cinema-cover-logo{max-width:190px!important;flex-basis:190px}
 body[data-festival-page="home"] .festival-opening-cta{min-height:46px;padding:11px 16px;font-size:13px}
 body.verbena-texture-page section#vs-route-app .vs-hero>.film-posters,.cinema-page .hero .film-posters{max-width:420px}
 body[data-festival-page="home"] .festival-more .festival-support-intro{grid-template-columns:1fr}
 body[data-festival-page="home"] .festival-date-disclosure .session-strip-inner{gap:12px}
 body[data-festival-page="home"] .festival-date-disclosure .quick-dates{gap:16px 0}
}
@media(prefers-reduced-motion:reduce){body[data-festival-page="home"] .festival-opening-cta{transition:none}}
/* Preserve breathing room against older broad paragraph and .wrap rules. */
body[data-festival-page="home"] .festival-opening .festival-opening-free{margin:16px 0 18px}
body[data-festival-page="home"] .festival-opening .festival-opening-place{margin-top:10px}
body.cinema-page .hero.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}
@media(max-width:760px){body.cinema-page .hero.wrap{width:calc(100% - 36px)}body[data-festival-page="home"] .festival-opening .festival-opening-free{font-size:clamp(34px,10.7vw,54px);margin:14px 0}}
body.verbena-texture-page[data-festival-page="home"]{min-width:0}
body.cinema-page .hero.wrap{width:100%;margin-inline:0;padding-inline:40px}
body.cinema-page .hero-grid{max-width:1280px;margin-inline:auto}
@media(max-width:760px){body.cinema-page .hero.wrap{width:100%;padding-inline:18px}}
/* Requested review: two complete lines, with real marker lettering and hashtags.
   Permanent Marker is the same licensed font used in the festival's merch art. */
@font-face{font-family:'Permanent Marker';src:url('/fonts/PermanentMarker-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body[data-festival-page="home"] .festival-opening{container-type:inline-size}
body[data-festival-page="home"] .festival-opening .festival-opening-dates{font:800 clamp(14px,5.5cqw,32px)/1.35 Montserrat,Arial,sans-serif;letter-spacing:-.035em;white-space:normal}
body[data-festival-page="home"] .festival-opening .festival-opening-free{font:400 clamp(15px,5.6cqw,40px)/1.35 'Permanent Marker','Comic Sans MS',cursive;letter-spacing:0;white-space:normal;color:#c6f28b;margin:16px 0}
body[data-festival-page="home"] .festival-opening .festival-opening-motto{font:400 clamp(18px,7.6cqw,42px)/1.3 'Permanent Marker','Comic Sans MS',cursive;letter-spacing:0;max-width:none;overflow-wrap:anywhere;color:#f4a8d0}
body.cinema-page .festival-opening .festival-opening-free,body.cinema-page .festival-opening .festival-opening-motto{color:#111;text-decoration:none}
body.cinema-page .festival-opening .festival-opening-motto{font-size:clamp(18px,6.9cqw,40px)}
@supports not (font-size:1cqw){
 body[data-festival-page="home"] .festival-opening .festival-opening-dates{font-size:clamp(14px,4.65vw,28px)}
 body[data-festival-page="home"] .festival-opening .festival-opening-free{font-size:clamp(15px,4.8vw,36px)}
 body[data-festival-page="home"] .festival-opening .festival-opening-motto{font-size:clamp(18px,6vw,38px)}
}
/* Legacy brand styles force Montserrat globally; keep the requested marker face. */
body[data-festival-page="home"] .festival-opening .festival-opening-free,
body[data-festival-page="home"] .festival-opening .festival-opening-motto{font-family:'Permanent Marker','Comic Sans MS',cursive!important;font-weight:400!important;font-style:normal!important}
