@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Lato:wght@300;400;700&display=swap');

:root {
  color-scheme: dark;
  --midnight: #05393f;
  --slate: #0b5b63;
  --slate-2: #157985;
  --text: #efffff;
  --muted: #c8f2f1;
  --amber: #ffe09b;
  --amber-strong: #f6c96f;
  --deep-amber: #694e24;
  --gold: #fff0c8;
  --gold-pale: #fffdf3;
  --water: #79e5e2;
  --aqua-pale: #c9fffb;
  --line: rgba(184, 255, 250, .3);
  --glass: linear-gradient(180deg, rgba(19, 119, 128, .84), rgba(5, 66, 73, .78));
  --page-width: min(1180px, calc(100% - 32px));
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--midnight); scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  color: var(--text);
  font-family: 'Lato', sans-serif;
  background:
    linear-gradient(180deg, rgba(24, 139, 147, .72), rgba(4, 57, 63, .94)),
    url('/assets/campus-background.png') center 24% / cover fixed;
}
body:not(.access-ready)[data-page-unlock] main { visibility: hidden; }
button, a { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .8rem 1rem; background: var(--amber); color: var(--midnight); }
.skip-link:focus { top: 1rem; }

.event-header {
  position: sticky;
  z-index: 50;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: var(--glass);
  box-shadow: 0 18px 40px rgba(0,0,0,.26), inset 0 -1px rgba(255,255,255,.04);
  backdrop-filter: blur(14px);
}
.event-header__frame { width: var(--page-width); margin: 0 auto; }
.event-header__inner { min-height: 104px; display: flex; align-items: center; gap: 1.5rem; }
.event-brand { display: flex; align-items: center; gap: .75rem; margin-right: auto; text-decoration: none; }
.event-brand img { width: 50px; height: 50px; object-fit: contain; }
.event-brand__copy { display: grid; gap: .18rem; }
.event-brand strong, .event-brand span { font-family: 'Cinzel', serif; text-transform: uppercase; }
.event-brand strong { color: var(--gold); font-size: .9rem; letter-spacing: .08em; }
.event-brand span { color: var(--amber); font-size: .59rem; letter-spacing: .2em; }
.participant-ribbon { display: flex; align-items: center; gap: .34rem; margin-right: auto; }
.participant-logo { position: relative; width: 4.3rem; height: 4.3rem; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; border: 0; border-radius: 50%; background: rgba(5,57,63,.74); box-shadow: 0 7px 18px rgba(2,43,48,.24), inset 0 1px rgba(255,255,255,.08); transition: transform 180ms ease, box-shadow 180ms ease; }
.participant-logo:hover, .participant-logo:focus-visible { z-index: 2; box-shadow: 0 8px 22px rgba(2,43,48,.35); transform: translateY(-2px) scale(1.06); outline: none; }
.participant-logo--host { width: 5.3rem; height: 5.3rem; box-shadow: 0 8px 24px rgba(2,43,48,.3); }
.participant-logo img { width: 84%; height: 84%; object-fit: contain; }
.participant-logo--la-fleur img { width: 100%; height: 100%; transform: scale(1.52) translateY(-5%); }
.event-nav { display: flex; align-items: center; gap: .2rem; }
.event-nav a {
  position: relative;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .55rem .65rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--muted);
  font: 600 .7rem/1.05 'Cinzel', serif;
  letter-spacing: .07em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.event-nav a[aria-current='page'], .event-nav a:hover, .event-nav a:focus-visible { color: #fff; border-color: rgba(201,255,251,.3); background: rgba(121,229,226,.15); }
.event-nav a.is-locked { cursor: not-allowed; opacity: .48; }
.event-nav a.is-locked::after { content: '◆'; margin-left: .38rem; color: var(--amber); font-size: .48rem; }
.mobile-toggle { display: none; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(201,255,251,.28); border-radius: 14px; color: #fff; background: rgba(5,57,63,.62); font-size: 1.25rem; }
.mobile-panel { display: none; }

.event-main { width: var(--page-width); flex: 1; margin: 0 auto; padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.page-heading { max-width: 54rem; margin-bottom: 3rem; }
.kicker { margin: 0 0 .8rem; color: var(--amber); font: 700 .68rem/1 'Cinzel', serif; letter-spacing: .2em; text-transform: uppercase; }
h1, h2, h3 { font-family: 'Cinzel', serif; }
.page-heading h1 { margin: 0; color: var(--gold-pale); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; line-height: 1; }
.page-heading p:last-child { max-width: 45rem; margin: 1.2rem 0 0; color: var(--muted); font-size: 1.06rem; line-height: 1.75; }
.gold-rule { width: 8rem; height: 1px; margin-top: 1.7rem; background: linear-gradient(90deg, var(--amber), transparent); }

/* Event landing: an aquamarine orbit frames the acrylic Kepheus stage. */
.home-page { overflow: hidden; }
.home-page .event-header { position: absolute; left: 0; right: 0; background: linear-gradient(180deg, rgba(5,57,63,.94), rgba(5,57,63,.45)); }
.event-hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; padding: 8rem max(1rem, calc((100vw - 1180px) / 2)) 9.5rem; }
.event-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.event-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,57,63,.88), rgba(11,91,99,.52) 48%, rgba(5,57,63,.08)), linear-gradient(0deg, rgba(4,54,60,.9), transparent 58%), radial-gradient(circle at 76% 38%, transparent, rgba(5,57,63,.2)); }
.event-hero__content { position: relative; z-index: 2; width: 100%; display: grid; grid-template-columns: minmax(31rem, 38rem) minmax(12rem, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.hero-orbit { position: relative; isolation: isolate; width: min(36rem, 57vh); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 46% 47%, rgba(5,57,63,.62) 0 45%, rgba(25,145,153,.2) 64%, rgba(121,229,226,.035) 73%, transparent 76%); box-shadow: 0 30px 74px rgba(2,43,48,.38), inset 0 0 58px rgba(201,255,251,.08); }
.hero-orbit::before { content: ''; position: absolute; z-index: -1; inset: -5% -7% -4% -5%; border-radius: 46% 54% 49% 51% / 53% 45% 55% 47%; background: radial-gradient(ellipse at 44% 49%, transparent 55%, rgba(156,248,243,.2) 57%, rgba(121,229,226,.08) 60%, transparent 66%); filter: blur(1.4px); transform: rotate(-7deg); pointer-events: none; }
.hero-orbit::after { content: ''; position: absolute; z-index: 1; inset: .8rem 1.7rem 1.6rem .4rem; border-radius: 54% 46% 51% 49% / 47% 55% 45% 53%; background: conic-gradient(from 14deg, rgba(201,255,251,.56) 0 11%, transparent 13% 27%, rgba(121,229,226,.26) 29% 48%, transparent 50% 68%, rgba(255,224,155,.34) 70% 78%, transparent 80% 92%, rgba(201,255,251,.42) 94% 100%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.4px), #000 calc(100% - 1px)); mask: radial-gradient(farthest-side, transparent calc(100% - 1.4px), #000 calc(100% - 1px)); transform: rotate(6deg); pointer-events: none; }
.orbit-stroke { position: absolute; z-index: 1; border-radius: 50%; pointer-events: none; }
.orbit-stroke--tide { inset: -1.6rem -.35rem -1rem -1.35rem; border-radius: 48% 52% 46% 54% / 54% 45% 55% 46%; background: conic-gradient(from 32deg, transparent 0 7%, rgba(201,255,251,.78) 9% 29%, transparent 31% 43%, rgba(87,219,218,.46) 45% 61%, transparent 63% 79%, rgba(201,255,251,.64) 81% 94%, transparent 96%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2.6px), #000 calc(100% - 1.4px)); mask: radial-gradient(farthest-side, transparent calc(100% - 2.6px), #000 calc(100% - 1.4px)); filter: drop-shadow(0 0 7px rgba(121,229,226,.24)); transform: rotate(-9deg) scaleY(.94); animation: tide-breathe 16s ease-in-out infinite alternate; }
.orbit-stroke--drift { inset: 1rem -1.7rem 2.25rem .8rem; border-radius: 53% 47% 55% 45% / 46% 56% 44% 54%; background: conic-gradient(from 198deg, rgba(109,238,233,.08) 0 9%, rgba(201,255,251,.5) 11% 27%, transparent 29% 52%, rgba(121,229,226,.36) 54% 68%, transparent 70% 89%, rgba(201,255,251,.28) 91% 100%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.8px), #000 calc(100% - 1px)); mask: radial-gradient(farthest-side, transparent calc(100% - 1.8px), #000 calc(100% - 1px)); transform: rotate(18deg) scaleY(1.03); opacity: .82; }
.orbit-stroke--gilded { inset: 3.1rem 1.25rem .9rem 2.55rem; border-radius: 45% 55% 49% 51% / 57% 43% 54% 46%; background: conic-gradient(from 272deg, transparent 0 18%, rgba(255,224,155,.52) 20% 38%, transparent 40% 66%, rgba(255,240,200,.28) 68% 74%, transparent 76% 100%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.35px), #000 calc(100% - .8px)); mask: radial-gradient(farthest-side, transparent calc(100% - 1.35px), #000 calc(100% - .8px)); transform: rotate(-24deg); }
.orbit-fleck { position: absolute; z-index: 2; width: .34rem; aspect-ratio: 1; border-radius: 50%; background: var(--aqua-pale); box-shadow: 0 0 0 .24rem rgba(121,229,226,.08), 0 0 16px rgba(201,255,251,.75); pointer-events: none; }
.orbit-fleck--one { left: 17%; top: 12%; }
.orbit-fleck--two { right: 8%; top: 35%; width: .2rem; opacity: .75; }
.orbit-fleck--three { left: 23%; bottom: 4%; width: .26rem; background: var(--amber); box-shadow: 0 0 0 .2rem rgba(255,224,155,.08), 0 0 14px rgba(255,224,155,.55); }
@keyframes tide-breathe { to { transform: rotate(-5deg) scale(.995, .965); opacity: .84; } }
.hero-title-lockup { position: relative; z-index: 2; width: 76%; text-align: center; }
.event-hero__label { margin: 0 0 1.1rem; color: var(--amber); font: 700 .69rem/1 'Cinzel', serif; letter-spacing: .22em; text-transform: uppercase; }
.event-title { position: relative; margin: 0; color: var(--gold-pale); font-family: 'Cinzel', serif; font-weight: 400; line-height: .9; text-shadow: 0 10px 34px rgba(0,0,0,.42); }
.event-title span { display: block; }
.event-title span:first-child { font-size: clamp(2.1rem, 3.1vw, 3.25rem); }
.event-title span:last-child { margin-top: .18em; color: var(--gold); font-size: clamp(2.8rem, 4.1vw, 4.25rem); }
.hero-date { display: inline-flex; align-items: center; gap: .75rem; margin: 1.5rem 0 0; color: var(--muted); font: 600 .72rem/1.5 'Cinzel', serif; letter-spacing: .1em; text-transform: uppercase; }
.hero-date::before, .hero-date::after { content: ''; width: 2rem; height: 1px; background: var(--amber); }
.discipline { position: absolute; z-index: 4; color: var(--aqua-pale); font: 600 .72rem/1 'Cinzel', serif; letter-spacing: .32em; text-transform: uppercase; text-shadow: 0 2px 14px rgba(5,57,63,.8); }
.discipline--tanz { left: 50%; top: -2rem; transform: translateX(-50%); }
.discipline--mode { left: -3.15rem; top: 50%; transform: translateY(-50%) rotate(-90deg); }
.discipline--musik { right: -3.65rem; top: 50%; transform: translateY(-50%) rotate(90deg); }
.orbit-nav { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.orbit-link { position: absolute; min-width: 6.5rem; min-height: 2.55rem; display: inline-flex; align-items: center; justify-content: center; padding: .55rem .85rem; border: 1px solid rgba(201,255,251,.6); border-radius: 999px; color: var(--gold-pale); background: rgba(5,57,63,.8); box-shadow: 0 9px 24px rgba(2,43,48,.3), inset 0 1px rgba(255,255,255,.12); font: 700 .62rem/1 'Cinzel', serif; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; backdrop-filter: blur(9px); pointer-events: auto; transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.orbit-link:hover, .orbit-link:focus-visible { border-color: var(--gold); background: rgba(21,121,133,.94); transform: translateY(-2px); }
.orbit-link.is-locked { cursor: not-allowed; opacity: .52; }
.orbit-link.is-locked::after { content: '◆'; margin-left: .42rem; color: var(--amber); font-size: .48rem; }
.orbit-link--ablauf { left: 2%; top: 18%; }
.orbit-link--projekte { right: -4%; top: 18%; }
.orbit-link--mode { left: -4%; bottom: 18%; }
.orbit-link--speisen { right: -7%; bottom: 18%; }
.venue-plaque { align-self: center; max-width: 17rem; display: grid; gap: .35rem; padding: 1.3rem 1.45rem 1.35rem; border-left: 1px solid var(--amber); background: linear-gradient(90deg, rgba(5,57,63,.72), rgba(21,121,133,.16)); box-shadow: 0 20px 50px rgba(2,43,48,.24); backdrop-filter: blur(10px); }
.venue-plaque span { color: var(--aqua-pale); font: 700 .62rem/1 'Cinzel', serif; letter-spacing: .18em; text-transform: uppercase; }
.venue-plaque strong { color: var(--gold-pale); font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.1 'Cinzel', serif; }
.venue-plaque small { color: var(--gold); font: 600 .8rem/1.4 'Cinzel', serif; letter-spacing: .1em; }

.countdown-shell { position: absolute; z-index: 3; left: max(1rem, calc((100vw - 1180px) / 2)); right: max(1rem, calc((100vw - 1180px) / 2)); bottom: 1.5rem; display: grid; grid-template-columns: minmax(12rem, 1fr) auto; gap: 1.5rem; align-items: center; padding: 1.15rem 1.3rem; border: 1px solid rgba(201,255,251,.32); border-radius: 8px; background: linear-gradient(180deg, rgba(18,125,134,.8), rgba(5,57,63,.9)); box-shadow: 0 18px 40px rgba(2,43,48,.3), inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(14px); }
.countdown-copy small { display: block; color: var(--amber); font: 700 .62rem/1 'Cinzel', serif; letter-spacing: .18em; text-transform: uppercase; }
.countdown-copy strong { display: block; margin-top: .4rem; color: var(--gold); font: 400 1.02rem/1.3 'Cinzel', serif; }
.countdown-units { display: flex; align-items: center; gap: clamp(.75rem, 2vw, 1.6rem); }
.countdown-unit { min-width: 3.8rem; text-align: center; }
.countdown-unit b { display: block; color: #fff; font: 400 clamp(1.7rem, 3vw, 2.6rem)/.9 'Cinzel', serif; }
.countdown-unit span { display: block; margin-top: .4rem; color: var(--muted); font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.countdown-separator { color: var(--amber); }
.countdown-shell.is-live { grid-template-columns: 1fr auto; }
.countdown-shell.is-live .countdown-units { display: none; }
.countdown-action { display: none; min-height: 42px; align-items: center; justify-content: center; padding: .65rem 1rem; border: 1px solid rgba(251,191,36,.42); border-radius: 999px; color: var(--midnight); background: var(--amber); font: 700 .67rem/1 'Cinzel', serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.countdown-shell.is-live .countdown-action { display: inline-flex; }

.glass-panel { border: 1px solid rgba(201,255,251,.24); border-radius: 8px; background: linear-gradient(180deg, rgba(21,121,133,.76), rgba(5,57,63,.74)); box-shadow: 0 18px 40px rgba(2,43,48,.26), inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(14px); }

/* Ablauf */
.schedule { --progress: 0%; position: relative; margin-top: 2.5rem; padding: 1.5rem clamp(1.2rem, 4vw, 3rem); }
.schedule::before { content: ''; position: absolute; left: 4.65rem; top: 3.25rem; bottom: 3.25rem; width: 1px; background: rgba(139,212,220,.28); }
.schedule-progress { position: absolute; left: 4.65rem; top: 3.25rem; width: 1px; height: var(--progress); max-height: calc(100% - 6.5rem); background: linear-gradient(var(--amber), var(--water)); box-shadow: 0 0 12px rgba(139,212,220,.45); transition: height 500ms ease; }
.schedule-row { position: relative; display: grid; grid-template-columns: 5.2rem 1fr; gap: 1.5rem; min-height: 7.2rem; padding: 1.2rem 0; }
.schedule-row::before { content: ''; position: absolute; left: 3.02rem; top: 1.55rem; width: .72rem; height: .72rem; border: 1px solid var(--water); border-radius: 50%; background: var(--slate); transform: translateX(-50%); }
.schedule-row.is-past::before, .schedule-row.is-current::before { background: var(--amber); border-color: var(--gold); box-shadow: 0 0 0 .35rem rgba(251,191,36,.11); }
.schedule-row time { color: var(--water); font: 700 .74rem/1 'Cinzel', serif; letter-spacing: .12em; }
.schedule-row h2 { margin: -.25rem 0 .35rem; color: var(--gold-pale); font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 400; }
.schedule-row p { margin: 0; color: var(--muted); line-height: 1.65; }
.schedule-status { display: inline-flex; margin-bottom: .65rem; padding: .25rem .55rem; border-radius: 999px; color: var(--amber); background: rgba(245,158,11,.09); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Projekte */
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.project-card { min-height: 21rem; display: grid; grid-template-columns: 6.4rem 1fr; gap: clamp(1.15rem, 2.5vw, 1.7rem); align-items: start; padding: clamp(1.25rem, 2.4vw, 1.75rem); scroll-margin-top: 7rem; }
.project-card__logo { width: 6.4rem; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(201,255,251,.28); border-radius: 20px 20px 50% 50%; background: rgba(5,57,63,.62); box-shadow: inset 0 1px rgba(255,255,255,.06); transition: border-color 180ms ease, transform 180ms ease; }
.project-card__logo:hover, .project-card__logo:focus-visible { border-color: var(--gold); transform: translateY(-2px); outline: none; }
.project-card__logo img { width: 84%; height: 84%; object-fit: contain; }
.project-card__logo--wordmark img { width: 94%; height: 94%; }
.project-card__logo--portrait img { width: 100%; height: 100%; object-fit: cover; }
.project-card__logo--la-fleur img { width: 100%; height: 100%; transform: scale(1.5) translateY(-5%); }
.project-card__copy { min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: flex-start; }
.project-role { display: inline-flex; margin-bottom: .72rem; color: var(--amber); font: 700 .6rem/1 'Cinzel', serif; letter-spacing: .17em; text-transform: uppercase; }
.project-card h2 { margin: 0 0 .65rem; color: var(--gold-pale); font-size: clamp(1.22rem, 2.1vw, 1.7rem); font-weight: 400; line-height: 1.15; }
.project-card p { margin: 0; color: var(--muted); line-height: 1.63; }
.project-card__link { min-height: 2.55rem; display: inline-flex; align-items: center; gap: .55rem; margin-top: auto; padding: .65rem .9rem; border: 1px solid rgba(201,255,251,.34); border-radius: 999px; color: var(--gold-pale); background: rgba(5,57,63,.5); font: 700 .62rem/1 'Cinzel', serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.project-card__link:hover, .project-card__link:focus-visible { border-color: var(--gold); background: rgba(21,121,133,.8); transform: translateY(-1px); outline: none; }
.project-card__link span { color: var(--amber); font-size: .9rem; }

/* Mode */
.look-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.look-card { overflow: hidden; }
.look-card img { width: 100%; aspect-ratio: 4 / 5; display: block; object-fit: cover; border-bottom: 1px solid rgba(201,255,251,.22); background: #074a51; }
.look-card__copy { padding: 1.35rem; }
.look-card h2 { margin: 0 0 .65rem; color: var(--gold-pale); font-size: 1.35rem; font-weight: 400; }
.look-card p { margin: 0; color: var(--muted); line-height: 1.65; }

/* Speisen und Getränke: the content surface intentionally contains images only. */
.menu-gallery { width: min(1040px, calc(100% - 32px)); display: grid; gap: 2rem; flex: 1; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) 0; }
.menu-gallery img { width: 100%; display: block; border: 1px solid rgba(251,191,36,.24); border-radius: 8px; box-shadow: 0 24px 58px rgba(0,0,0,.38); }

.locked-view { max-width: 48rem; margin: clamp(3rem, 10vh, 8rem) auto; padding: clamp(2rem, 6vw, 4rem); text-align: center; }
.locked-mark { width: 5rem; height: 5rem; display: grid; place-items: center; margin: 0 auto 1.5rem; border: 1px solid rgba(251,191,36,.35); border-radius: 50%; color: var(--amber); font: 400 1.6rem/1 'Cinzel', serif; }
.locked-view h1 { margin: 0; color: var(--gold-pale); font: 400 clamp(2rem, 5vw, 3.5rem)/1.05 'Cinzel', serif; }
.locked-view p { margin: 1rem auto 0; color: var(--muted); line-height: 1.7; }
.locked-view a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 1.6rem; padding: .7rem 1rem; border: 1px solid rgba(251,191,36,.4); border-radius: 999px; color: var(--gold-pale); font: 700 .7rem/1 'Cinzel', serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }

.event-footer { margin-top: auto; border-top: 1px solid rgba(201,255,251,.2); background: linear-gradient(180deg, rgba(21,121,133,.76), rgba(5,57,63,.9)); backdrop-filter: blur(14px); }
.event-footer__inner { width: var(--page-width); min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 0 auto; color: var(--muted); }
.event-footer strong { color: #f8d486; font-family: 'Cinzel', serif; letter-spacing: .08em; text-transform: uppercase; }
.event-footer nav { display: flex; gap: 1rem; }
.event-footer a { color: var(--amber); text-decoration: none; }

@media (max-width: 980px) {
  .event-nav { display: none; }
  .mobile-toggle { display: inline-grid; place-items: center; }
  .mobile-panel[hidden] { display: none; }
  .mobile-panel { width: var(--page-width); display: grid; gap: .35rem; margin: 0 auto 1rem; padding: .8rem; border: 1px solid rgba(201,255,251,.24); border-radius: 14px; background: rgba(5,57,63,.96); }
  .mobile-panel a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 .8rem; border-radius: 10px; color: var(--text); font: 600 .78rem/1 'Cinzel', serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .mobile-panel a:hover, .mobile-panel a:focus-visible, .mobile-panel a[aria-current='page'] { background: rgba(121,229,226,.16); }
  .mobile-panel a.is-locked { opacity: .48; }
  .countdown-shell { grid-template-columns: 1fr; }
  .countdown-units { justify-content: space-between; }
  .event-hero__content { grid-template-columns: minmax(27rem, 34rem) minmax(10rem, 1fr); gap: 2.5rem; }
  .hero-orbit { width: min(31rem, 56vh); }
}

@media (max-width: 780px) {
  .home-page { overflow: auto; }
  .event-hero { min-height: max(100svh, 52rem); align-items: start; padding-top: 8.5rem; padding-bottom: 13.5rem; }
  .event-hero__content { display: block; }
  .hero-orbit { width: min(72vw, 22rem); margin: 0 auto; }
  .venue-plaque { max-width: 15rem; margin: 2.2rem auto 0; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card { min-height: 18rem; }
}

@media (max-width: 700px) {
  .event-header__inner { min-height: 132px; }
  .event-brand img { width: 42px; height: 42px; }
  .event-brand strong { font-size: .74rem; }
  .event-brand span { font-size: .5rem; }
  .participant-ribbon { display: grid; grid-template-columns: repeat(3, max-content); gap: .28rem .42rem; }
  .participant-logo { width: 3.24rem; height: 3.24rem; }
  .participant-logo--host { width: 3.9rem; height: 3.9rem; }
  .event-hero { padding-top: 10rem; }
  .event-hero__image { object-position: 62% 54%; }
  .event-hero__content { width: 100%; }
  .hero-title-lockup { width: 79%; }
  .event-title span:first-child { font-size: clamp(1.55rem, 7.3vw, 2.35rem); }
  .event-title span:last-child { font-size: clamp(2.35rem, 11vw, 3.25rem); }
  .hero-date { font-size: .68rem; }
  .hero-date::before, .hero-date::after { width: 1rem; }
  .event-hero__label { font-size: .58rem; }
  .discipline { font-size: .6rem; }
  .discipline--mode { left: -2.8rem; }
  .discipline--musik { right: -3.2rem; }
  .orbit-link { min-width: 5.5rem; min-height: 2.2rem; padding: .45rem .65rem; font-size: .53rem; }
  .orbit-link--ablauf { left: -6%; }
  .orbit-link--projekte { right: -8%; }
  .orbit-link--mode { left: -8%; }
  .orbit-link--speisen { right: -10%; }
  .countdown-shell { bottom: 1rem; padding: 1rem; }
  .countdown-copy strong { font-size: .88rem; }
  .countdown-units { gap: .25rem; }
  .countdown-separator { display: none; }
  .countdown-unit { min-width: 0; }
  .countdown-unit b { font-size: 1.6rem; }
  .project-card { min-height: 0; grid-template-columns: 4.6rem 1fr; gap: .85rem; padding: 1rem; }
  .project-card__logo { width: 4.6rem; border-radius: 14px 14px 50% 50%; }
  .project-card h2 { font-size: 1.12rem; }
  .project-card p { font-size: .92rem; }
  .project-card__link { margin-top: 1.1rem; font-size: .56rem; }
  .look-grid { grid-template-columns: 1fr; }
  .schedule { padding-inline: 1rem; }
  .schedule::before, .schedule-progress { left: 3.35rem; }
  .schedule-row { grid-template-columns: 3.9rem 1fr; gap: .8rem; }
  .schedule-row::before { left: 2.33rem; }
  .event-footer__inner { min-height: auto; padding: 1.4rem 0; flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
