/* One shared festival header; the planner retains its own navigation controls. */
.festival-header.header,.festival-header.phone-header{position:sticky;top:0;z-index:50;background:linear-gradient(110deg,#a76740eb,#aa794feb 60%,#8e805beb);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 #fffaf030;color:#fffaf0}
.festival-header-links{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.festival-header-links>a,.festival-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid #fffaf080;border-radius:24px;font:700 11px/1.3 'Space Mono',monospace;color:#fffaf0;background:transparent;text-decoration:none;white-space:nowrap;cursor:pointer}
.festival-header-links>a{background:#fffaf0;color:#493c29;border-color:#fffaf0}
.festival-menu-toggle:hover{background:#fffaf022}
.festival-header.header{gap:12px}.festival-header.header>nav{margin-left:auto;margin-right:0}.festival-header.header .brand-wordmark{width:180px}
body.festival-menu-open{overflow:hidden}
#festival-menu{box-sizing:border-box;position:fixed;inset:12px 12px auto auto;margin:0;width:min(680px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid #e6dcc4;border-radius:16px;background:#fffaf0;color:#2a2418;box-shadow:0 20px 70px #2a241840;font-family:Montserrat,system-ui,sans-serif}
#festival-menu::backdrop{background:#2a241866;backdrop-filter:blur(4px)}
.festival-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.festival-menu-heading h2{margin:0;font-size:22px}
.festival-menu-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #e6dcc4;border-radius:50%;background:transparent;color:#2a2418;font-size:28px;cursor:pointer}
#festival-menu nav{display:block}.festival-menu-primary{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid #e6dcc4}
#festival-menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;box-sizing:border-box;padding:10px;border-radius:8px;color:#493c29;font-size:13px;line-height:1.5;text-decoration:none}
#festival-menu a:hover{background:#f3e6d6}#festival-menu a[aria-current]{background:#efe2cc;font-weight:700}#festival-menu a span{font-size:10px;font-weight:400}
.festival-menu-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.festival-menu-columns h3{margin:0 10px 8px;font:700 11px/1.4 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1100px){.festival-header.header .brand-wordmark{width:145px}.festival-header.header .nav{padding-inline:8px}.festival-header.header{padding-inline:12px;gap:8px}.festival-header.header .tour-nav{display:none}}
@media(max-width:760px){.festival-header.phone-header{gap:6px;padding-inline:12px;min-height:64px}.festival-header.phone-header .phone-brand{gap:6px;min-width:0;flex-shrink:1}.festival-header.phone-header .brand-wordmark{width:116px}.festival-header.phone-header .brand-emblem{width:26px;height:26px}.festival-header.phone-header .phone-header-actions{gap:0;margin-left:auto}.festival-header.phone-header .icon-button{width:36px;height:40px}.festival-header-links{margin-left:0}.phone-header .festival-header-links>a,.phone-header .festival-menu-label{display:none}.phone-header .festival-menu-toggle{padding:8px 10px;min-height:44px;font-size:10px}.phone-header .festival-header-links{gap:0}.festival-menu-columns{grid-template-columns:1fr;gap:20px}#festival-menu{padding:18px}.festival-header.header .brand-wordmark{width:100px}.festival-header.header .brand-emblem,.festival-header.header .festival-header-links>a{display:none}.festival-header.header .nav{font-size:10px;padding-inline:5px}.festival-header.header .festival-menu-label{display:none}}
@media(max-width:360px){.festival-header.phone-header .brand-wordmark{width:96px}.festival-header.phone-header .brand-emblem{display:none}}
@media print{.festival-header,#festival-menu{display:none!important}}
