/* Shared OnShow type scale: page / section / subsection / card. */
:root{--font-body:Arial,Helvetica,sans-serif;--text-title:clamp(32px,4.5vw,60px);--text-section:clamp(25px,3vw,36px);--text-subsection:clamp(20px,2vw,24px);--text-card:20px;--weight-heading:700}
body{font-family:var(--font-body);font-size:16px;line-height:1.65}
body h1,body .hero h1,body .hero h1.event,body .hero.festival-hero h1,body .watchHero h1,body .watchAdminMain h1,body .filmDetail .filmHero h1{font-family:var(--font-body);font-size:var(--text-title);font-weight:var(--weight-heading);line-height:1.12;letter-spacing:-.035em;margin:24px 0;overflow-wrap:anywhere}
body h2,body .document h2,body .watchSections h2,body .watchBox h2,body .watchPlayer h2,body .festivalFilmHeading h2,body .filmDetail>h2{font-family:var(--font-body);font-size:var(--text-section);font-weight:var(--weight-heading);line-height:1.2;letter-spacing:-.025em;margin:36px 0 18px}
body h3{font-family:var(--font-body);font-size:var(--text-subsection);font-weight:var(--weight-heading);line-height:1.3;letter-spacing:-.015em;margin:24px 0 12px}
body .festivalFilmCard h3,body .watchCard h3{font-size:var(--text-card);font-weight:var(--weight-heading);line-height:1.3;margin:16px 0 8px}
body .hero .event,body .hero.festival-hero .event{font-size:var(--text-subsection);font-weight:700;line-height:1.3;color:var(--ink)}
body .eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em}body strong,body b{font-weight:700}.lede{font-size:20px;line-height:1.55}.about-page h3{margin-top:28px}.about-page p{color:var(--muted)}.about-page .organizer{color:var(--ink)}
body .festivalFilmCard p,body .festivalFilmHeading p,body .filmSearchResults,body .watchMuted{color:var(--muted)}body .filmStatus,body .filmDetail .badge{color:var(--accent)}body .filmPagination button{color:var(--ink)}body .filmPagination button[aria-current=page]{background:var(--accent);color:var(--paper)}

/* Brand lines remain readable at every viewport width. */
body .footer>span{display:block;margin:10px 0;max-width:100%;overflow-wrap:anywhere}body .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
