:root{--palette-primary:#28569A;--palette-ink:#1D3352;--palette-paper:#FCFDFF;--palette-soft:#E0EBF9;--palette-accent:#BBD7ED}
/* Isolated opt-in colour study. No saved CMS content or live theme is mutated. */
html[data-palette]{--ink:var(--palette-ink);--red:var(--palette-primary);--cream:var(--palette-paper);--sky:var(--palette-soft);--green:var(--palette-primary)}
html[data-palette] body{color:var(--palette-ink);background:var(--palette-paper)}
html[data-palette] header.scrolled{background:var(--palette-paper);color:var(--palette-ink)}
html[data-palette] .page-home .hero{background:var(--palette-ink)}
html[data-palette] .hero-shade{background:linear-gradient(transparent,color-mix(in srgb,var(--palette-ink) 55%,transparent))}
html[data-palette] .page-home .hero-brand h1 em{color:var(--palette-accent)}
html[data-palette] .button.primary,html[data-palette] .header-cta,html[data-palette] .film-coming strong,html[data-palette] .mobile-cta a:last-child{background:var(--palette-primary);color:#fff}
html[data-palette] .button.primary:hover{background:var(--palette-ink)}
html[data-palette] .festival-ribbon{background:var(--palette-accent);color:var(--palette-ink)}
html[data-palette] .page-home .video-section{background:radial-gradient(ellipse at 50% 60%,var(--palette-soft),transparent 65%),var(--palette-paper);color:var(--palette-ink)}
html[data-palette] .page-home .film-coming{background:var(--palette-ink)}
html[data-palette] .page-home .festival-programs{background:radial-gradient(ellipse at 0 0,var(--palette-soft),transparent 75%),var(--palette-paper)}
html[data-palette] .program-tabs button{color:var(--palette-ink);border-color:color-mix(in srgb,var(--palette-ink) 18%,transparent)}
html[data-palette] .program-tabs button[aria-selected=true]{background:var(--palette-primary);border-color:var(--palette-primary);color:white}
html[data-palette] .program-arrows button{color:var(--palette-ink)}
html[data-palette] .page-home .event-section,html[data-palette] .logo-area,html[data-palette] .company-directory{background:var(--palette-paper)}
html[data-palette] .festival-map{background-color:var(--palette-soft)}
html[data-palette] footer,html[data-palette] .mobile-cta{background-color:var(--palette-ink)}
html[data-palette] .map-card,html[data-palette] .company-schedule,html[data-palette] .facts{background-color:var(--palette-soft)}
html[data-palette] .notice{background:var(--palette-soft);border-left-color:var(--palette-primary)}
html[data-palette] body:not(.page-home) main{background:radial-gradient(ellipse 100% 500px at 0 0,var(--palette-soft),transparent),var(--palette-paper)}
html[data-palette] .company-name a:hover,html[data-palette] .kicker,html[data-palette] .eyebrow,html[data-palette] .event-label,html[data-palette] .info-small,html[data-palette] .updates-list span,html[data-palette] .page-home .video-section .kicker{color:var(--palette-primary)}
html[data-palette] .updates-list{border-top-color:var(--palette-primary)}
html[data-palette] .section-head p,html[data-palette] .page-heading p,html[data-palette] .event-panel p,html[data-palette] .festival-card p,html[data-palette] .updates-copy>p,html[data-palette] .page-home .video-section .section-head p,html[data-palette] .logo-track span,html[data-palette] .map-note{color:color-mix(in srgb,var(--palette-ink) 80%,#fff)}
html[data-palette] .event-panel .event-price{color:var(--palette-primary)}
