/* Brand details extend the published header.css without replacing its layout. */
body:has(.tg-header--persistent) { overflow-x: clip; overflow-y: visible !important; }
body:has(.tg-header--persistent .tg-navigation[open]) { overflow: hidden !important; }
body .tg-header.tg-header--persistent .tg-header__date {
  position: static;
  width: auto;
  margin: 0;
  padding: .55rem 1rem .45rem;
  border: 1px solid var(--tg-pink);
  background: var(--tg-paper);
  box-shadow: 4px 4px 0 var(--tg-pink);
  color: var(--tg-plum);
  font-family: var(--tg-accent);
  font-size: clamp(.9rem, 1.3vw, 1.25rem);
  line-height: 1.2;
  letter-spacing: .035em;
  transform: rotate(-2deg);
}
body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .55rem 1rem;
  border: 1px solid var(--tg-paper);
  border-radius: .2rem;
  background: #c01c65;
  box-shadow: 4px 4px 0 var(--tg-paper);
  color: #fff;
  font-family: var(--tg-accent);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .02em;
  text-decoration: none;
  transform: rotate(-2deg);
  transition: background-color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}
body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link:is(:hover, :focus-visible) {
  background: #a91554;
  color: #fff;
  transform: rotate(0deg) translateY(-2px);
}
/* The original monochrome SVG shapes inherit the destination text color. */
.tg-menu-panel__destination { isolation: isolate; transition: color 180ms ease; }
.tg-menu-panel__destination .tg-menu-panel__art {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: 206px;
  max-width: none;
  margin: 0;
  background-color: currentColor;
  -webkit-mask: var(--tg-menu-art) center / contain no-repeat;
  mask: var(--tg-menu-art) center / contain no-repeat;
  transition: filter 180ms ease;
}
.tg-menu-panel__destination:is(:hover, :focus-visible) .tg-menu-panel__art {
  filter: drop-shadow(0 0 .6rem rgb(254 247 232 / .95)) drop-shadow(0 0 1.25rem rgb(255 214 122 / .85));
}
.tg-menu-panel__art--travel { --tg-menu-art: url("/_site-assets/1413-2-reference-imggroup4-c8cde-b091d7be"); }
.tg-menu-panel__art--stays { --tg-menu-art: url("/_site-assets/1413-2-reference-imggroup7-4aac9-51728eba"); }
.tg-menu-panel__art--participate { --tg-menu-art: url("/_site-assets/1413-2-reference-imgframe3-8be45-1abf5203"); }
.tg-menu-panel__art--camping { --tg-menu-art: url("/_site-assets/1413-2-reference-imgframe-40824-39604172"); }
.tg-menu-panel__art--sustainability { --tg-menu-art: url("/_site-assets/1413-2-reference-imgframe1-e98a2-2257bea2"); }
.tg-menu-panel__art--workshops { --tg-menu-art: url("/_site-assets/1413-2-reference-imggroup6-a9536-0ea1c206"); }
.tg-menu-panel__art--faq { --tg-menu-art: url("/_site-assets/1413-2-reference-imgframe2-6d438-5b843a24"); }
.tg-menu-panel__art--shop { --tg-menu-art: url("/_site-assets/1413-2-reference-imggroup8-37106-3a9bf974"); }
.tg-menu-panel__art--music { --tg-menu-art: url("/_site-assets/1413-2-reference-imggroup5-9e298-a44ca33d"); }
.tg-menu-panel__destination--travel .tg-menu-panel__art { height: 142px; }
.tg-menu-panel__destination--stays .tg-menu-panel__art { height: 212px; }
.tg-menu-panel__destination--participate .tg-menu-panel__art { height: 162px; }
.tg-menu-panel__destination--camping .tg-menu-panel__art { height: 203px; }
.tg-menu-panel__destination--sustainability .tg-menu-panel__art { height: 181px; }
.tg-menu-panel__destination--workshops .tg-menu-panel__art { height: 196px; }
.tg-menu-panel__destination--faq .tg-menu-panel__art { height: 156px; }
.tg-menu-panel__destination--shop .tg-menu-panel__art { height: 245px; }
.tg-menu-panel__destination--music .tg-menu-panel__art { height: 202px; }
.tg-menu-panel__destination::before {
  content: '';
  position: absolute;
  inset: -1rem;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(254 247 232 / .24), rgb(254 247 232 / .07) 48%, transparent 72%);
  opacity: 0;
  transition: opacity 220ms ease;
  pointer-events: none;
}
.tg-menu-panel__destination:is(:hover, :focus-visible) {
  color: var(--tg-paper);
  text-shadow: 0 0 1rem rgb(254 247 232 / .35);
  animation: tg-menu-breathe 3.6s ease-in-out infinite;
}
.tg-menu-panel__destination:is(:hover, :focus-visible)::before { opacity: 1; animation: tg-menu-aura 3.6s ease-in-out infinite; }
@keyframes tg-menu-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.035); } }
@keyframes tg-menu-aura { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@media (max-width: 1600px) {
  .tg-menu-panel__destination .tg-menu-panel__art { height: 8rem; }
}
@media (max-width: 800px) {
 body .tg-header.tg-header--persistent .tg-header__date { padding: .3rem .4rem; font-size: .72rem; box-shadow: 3px 3px 0 var(--tg-pink); }
 body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link { padding: .4rem .5rem; font-size: .75rem; }
}
@media (max-width: 640px) {
  .tg-menu-panel__destination .tg-menu-panel__art { height: clamp(5.5rem, 26vw, 8rem); }
}
@media (prefers-reduced-motion: reduce) {
  .tg-menu-panel__destination,
  .tg-menu-panel__destination::before { animation: none !important; transition: none; }
  .tg-menu-panel__destination .tg-menu-panel__art { transition: none; }
  body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link { transition: none; }
}

/* The home navigation remains over the artwork and follows the viewport. */
body:has(.tg-home) .tg-header.tg-header--persistent {
  background: rgb(41 34 84 / .58);
  box-shadow: 0 1px 0 rgb(254 247 232 / .22);
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}
@media (min-width: 801px) {
  body:has(.tg-home) .tg-header .tg-header__inner {
    min-height: clamp(88px, 6.3vw, 112px);
  }
}
body:has(.tg-home) .tg-header .tg-wordmark__logo {
  filter: drop-shadow(0 1px 3px rgb(41 34 84 / .65));
}
body:has(.tg-home) .tg-header .tg-header__desktop-nav .tg-header__locale {
  text-shadow: 0 1px 4px rgb(41 34 84 / .75);
}
body:has(.tg-home) .tg-header .tg-menu-toggle span {
  box-shadow: 0 1px 3px rgb(41 34 84 / .7);
}

/* Keep the illustrated map and its actions in one viewport. */
.tg-navigation[open] .tg-menu-panel { display:flex; flex-direction:column; }
.tg-navigation[open] .tg-menu-panel__map { flex:1 0 auto; width:100%; }
.tg-navigation[open] .tg-menu-panel__nav {
  position:relative;
  flex:0 0 auto;
  width:min(100% - 2rem,1100px);
  margin:0 auto clamp(1rem,3vh,2rem);
  padding:1rem 1.25rem;
  border:1px solid rgb(254 247 232 / .45);
  border-radius:1rem;
  background:rgb(41 34 84 / .94);
  box-shadow:0 5px 14px rgb(18 9 38 / .2),0 24px 48px rgb(18 9 38 / .22);
}
.tg-navigation[open] .tg-menu-panel__nav .tg-menu-panel__portal-link {
  border:1px dashed #fef7e8;
  border-radius:.35rem;
  background:#fef7e8;
  color:#292254;
  padding:.5rem .8rem;
  box-shadow:3px 3px 0 #ffd67a;
  transform:rotate(2deg);
  transition:transform 160ms ease,box-shadow 160ms ease;
}
.tg-navigation[open] .tg-menu-panel__nav .tg-menu-panel__portal-link::before { content:'✦'; margin-inline-end:.45rem; color:#c01c65; }
.tg-navigation[open] .tg-menu-panel__nav .tg-menu-panel__portal-link:is(:hover,:focus-visible) { color:#292254; transform:rotate(0deg) translateY(-2px); box-shadow:4px 5px 0 #ffd67a; }
.tg-navigation[open] .tg-menu-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:2px solid #fef7e8;
  border-radius:.35rem;
  background:#c01c65;
  box-shadow:4px 4px 0 #ffd67a;
  transform:rotate(-3deg);
}
.tg-navigation[open] .tg-menu-toggle:is(:hover,:focus-visible) { background:#a91554; }
@media(max-width:800px){
  .tg-navigation[open] .tg-menu-panel__map { flex:0 0 auto; }
  .tg-navigation[open] .tg-menu-panel__nav { width:calc(100% - 1.5rem); margin-block:0 1rem; }
  .tg-navigation[open] .tg-menu-toggle { right:1rem; top:1rem; }
}
@media(prefers-reduced-motion:reduce){.tg-navigation[open] .tg-menu-panel__nav .tg-menu-panel__portal-link{transition:none}}

/* 2026 reference fidelity: plain date, original drawn menu and Garaje numerals. */
body .tg-header.tg-header--persistent .tg-header__date {
 padding:0; border:0; background:none; box-shadow:none; transform:none;
 color:var(--tg-paper); font-family:"Garaje 0503 VAR",sans-serif;
 font-size:clamp(1rem,2vw,1.6rem); letter-spacing:0; line-height:1.15; white-space:nowrap;
}
body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link {
 background:transparent; border:0; box-shadow:none; transform:none;
 color:var(--tg-paper); padding:.4rem .25rem; font-size:1.1rem;
}
body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link:is(:hover,:focus-visible){background:transparent;color:#fff;transform:none;text-decoration:underline;text-underline-offset:.3em}
body .tg-header .tg-menu-toggle {width:48px;height:48px;padding:0;display:grid;place-items:center;background:none;border:0;position:relative}
body .tg-header .tg-menu-toggle__art {display:block;width:44px;height:40px;object-fit:contain}
body .tg-header .tg-navigation[open] .tg-menu-toggle__art {visibility:hidden}
body .tg-header .tg-navigation[open] .tg-menu-toggle::before,
body .tg-header .tg-navigation[open] .tg-menu-toggle::after {content:"";position:absolute;width:28px;height:2px;background:var(--tg-paper);top:23px;left:10px;transform:rotate(45deg)}
body .tg-header .tg-navigation[open] .tg-menu-toggle::after {transform:rotate(-45deg)}
body .tg-header :is(a,summary):focus-visible{outline:2px solid var(--tg-paper);outline-offset:5px}
@media(max-width:800px){
 body .tg-header.tg-header--persistent .tg-header__date {font-size:1.05rem;padding:0;box-shadow:none}
 body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link{font-size:.95rem;padding:.35rem .15rem}
}
/* Pale editorial backgrounds keep their original dark lettering. */
body:has(:is(.tg-designer-faq,.tg-figma-shop,.tg-figma-product,.tg-figma-music,.tg-figma-participate)) .tg-header :is(.tg-header__date,.tg-header__ticket-link){color:var(--tg-ink)}
body:has(:is(.tg-designer-faq,.tg-figma-shop,.tg-figma-product,.tg-figma-music,.tg-figma-participate)) .tg-header .tg-menu-toggle__art{filter:brightness(.28)}

@media(max-width:400px){body .tg-header.tg-header--persistent .tg-header__date{font-size:.88rem}body .tg-header.tg-header--persistent .tg-header__desktop-nav .tg-header__ticket-link{font-size:.78rem}body:has(.tg-header) .tg-header .tg-header__desktop-nav{gap:.25rem}body:has(.tg-header) .tg-header .tg-header__desktop-nav .tg-header__locale{min-width:36px;padding:.2rem}}
