/* sRGB operands extracted from the PDF-compatible Illustrator original.
   These are proven file values, awaiting confirmation as final agency tokens. */
:root{--komkon-font-unit:1px;--komkon-green:#44836f;--komkon-signal:#e74124;--komkon-signal-hover:#cf341c;--komkon-cream:#fef1e7;--komkon-paper:#fff9f5;--komkon-ink:#0f0f0f;}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:var(--komkon-paper);color:var(--komkon-ink);font-family:APNGgantija,Georgia,serif;font-size:calc(18 * var(--komkon-font-unit));line-height:1.36;padding-bottom:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid var(--komkon-ink);outline-offset:5px}.skip-link{position:fixed;z-index:200;top:-100px;left:20px;padding:12px;background:var(--komkon-cream)}.skip-link:focus{top:8px}.site-header{position:relative;background:var(--komkon-green);color:var(--komkon-cream);height:124px;padding:0 3.3% 0 28%;display:flex;gap:28px;align-items:center;z-index:5}.brand{position:absolute;top:0;left:3.3%;width:21.7%;z-index:10}.brand img{display:block;width:100%;height:auto}#header-nav{display:flex;gap:25px;flex:1;align-items:center}#header-nav a{text-decoration:none;font-size:calc(17 * var(--komkon-font-unit));white-space:nowrap}#header-nav a:hover{text-decoration:underline}.menu-toggle{display:none}.ticket-control{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:3px;padding:10px 22px;font-weight:700;font-size:calc(17 * var(--komkon-font-unit));text-decoration:none;background:var(--komkon-green);color:var(--komkon-cream);white-space:nowrap}.ticket-control:hover{filter:brightness(.94)}.header-ticket{background:var(--komkon-cream);color:var(--komkon-green);font-size:calc(14 * var(--komkon-font-unit));padding:10px 16px}.hero{position:relative;aspect-ratio:16/9;background:var(--komkon-green);color:var(--komkon-cream)}.hero-picture,.hero-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-signal{position:absolute;right:0;top:3%;width:48%;height:auto}.hero-bottom{position:absolute;bottom:8%;left:5%;right:3.3%;display:flex;align-items:end;gap:5%;justify-content:space-between}h1{font-size:clamp(calc(26 * var(--komkon-font-unit)),3.35vw,calc(54 * var(--komkon-font-unit)));line-height:1.16;margin:0;max-width:75%;font-weight:700}.hero-organizers{width:17%;text-align:right;font-size:calc(16 * var(--komkon-font-unit));flex-shrink:0}.hero-organizers img{width:100%;height:auto;display:block}.announcement{max-width:calc(1230 * var(--komkon-font-unit));margin:auto;padding:76px 5% 90px;display:grid;grid-template-columns:1.2fr 1fr;gap:11%;min-height:470px}.announcement p{margin:0 0 26px}.event-information{padding-top:8px}.event-information>p:first-child{font-weight:700;font-size:calc(30 * var(--komkon-font-unit));line-height:1.2}.offer-text{font-size:calc(15 * var(--komkon-font-unit));margin-top:14px!important}.site-footer{padding:40px 5% 20px;background:var(--komkon-cream);color:var(--komkon-green);font-size:calc(15 * var(--komkon-font-unit))}.footer-organizers{width:225px;height:auto;display:block;margin-bottom:20px}.site-footer p{margin:8px 0}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}.credits{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--komkon-green);padding-top:18px;font-size:calc(13 * var(--komkon-font-unit))}.ticket-dock{position:fixed;right:0;bottom:24px;z-index:20;display:flex;flex-direction:column;align-items:end;gap:6px}.ticket-dock>span{background:var(--komkon-cream);color:var(--komkon-ink);padding:4px 10px;font-size:calc(13 * var(--komkon-font-unit));max-width:330px}.sticky-ticket{box-shadow:0 3px 14px #0002;border:2px solid var(--komkon-cream)}dialog{border:2px solid var(--komkon-green);background:var(--komkon-paper);color:var(--komkon-ink);max-width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 36px);padding:28px;z-index:100}dialog::backdrop{background:#0f0f0f88}dialog h2{font-size:calc(26 * var(--komkon-font-unit));line-height:1.15}dialog p{font-size:calc(17 * var(--komkon-font-unit))}.briefing-note{font-size:calc(14 * var(--komkon-font-unit))!important;border-top:1px solid var(--komkon-green);padding-top:18px}.dialog-close{padding:8px 14px;background:var(--komkon-green);color:var(--komkon-cream);border:0;border-radius:3px}dialog form{text-align:right}.ticket-dock[hidden],[hidden]{display:none!important}
@media(max-width:1150px){.site-header{height:100px;padding-left:28%;gap:15px}#header-nav{gap:14px;flex-wrap:wrap}#header-nav a{font-size:calc(15 * var(--komkon-font-unit))}.hero-organizers{font-size:calc(13 * var(--komkon-font-unit))}.header-ticket{font-size:calc(13 * var(--komkon-font-unit));padding:8px 12px}}
@media(max-width:760px){.site-header{height:86px;padding:0 24px;justify-content:flex-end;gap:18px}.brand{left:20px;width:148px}.header-ticket{display:none}.menu-toggle{display:block;color:var(--komkon-green);background:var(--komkon-cream);border:0;padding:10px 18px;border-radius:3px;min-height:44px}#header-nav{position:absolute;top:86px;right:0;width:100%;padding:120px 24px 24px;background:var(--komkon-green);display:none;gap:18px;flex-direction:column;align-items:flex-start;border-bottom:2px solid var(--komkon-cream)}#header-nav.open{display:flex}#header-nav a{font-size:calc(19 * var(--komkon-font-unit));min-height:36px}.hero{aspect-ratio:auto;height:640px}.hero-picture img{object-fit:cover;object-position:35% center}.hero-signal{top:104px;width:75%;right:0}.hero-bottom{left:24px;right:24px;bottom:32px;display:block}h1{font-size:calc(33 * var(--komkon-font-unit));max-width:100%;line-height:1.13}.hero-organizers{display:flex;justify-content:flex-end;align-items:center;gap:12px;width:100%;margin-top:22px}.hero-organizers img{width:135px}.announcement{padding:42px 24px 40px;display:block;min-height:0}.event-information{margin-top:35px}.event-information>p:first-child{font-size:calc(28 * var(--komkon-font-unit))}.site-footer{padding:32px 24px 24px}.credits{display:block}.credits span{display:block;margin-bottom:10px}.ticket-dock{left:auto;right:0;bottom:max(14px,env(safe-area-inset-bottom));align-items:stretch}.sticky-ticket{min-height:54px;width:100%}.ticket-dock>span{max-width:none;text-align:center}.footer-organizers{width:200px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:360px){h1{font-size:calc(29 * var(--komkon-font-unit))}.hero{height:650px}.hero-signal{top:125px;width:80%}}
/* Small copy uses the original ink token for contrast. Large branded controls retain green. */
#header-nav a{font-size:calc(19 * var(--komkon-font-unit));font-weight:700}.ticket-control,.header-ticket{font-size:calc(19 * var(--komkon-font-unit));font-weight:700}.hero-organizers{font-size:calc(19 * var(--komkon-font-unit));font-weight:700}.site-footer{color:var(--komkon-ink)}.menu-toggle{color:var(--komkon-ink)}.dialog-close{font-size:calc(19 * var(--komkon-font-unit));font-weight:700}
@media(max-width:760px){#header-nav{max-height:calc(100dvh - 115px);overflow-y:auto}.hero-organizers{font-size:calc(15 * var(--komkon-font-unit))}.hero-organizers span{background:var(--komkon-green);font-size:calc(19 * var(--komkon-font-unit));font-weight:700}}

/* Short pages end at the viewport edge; long pages keep their natural flow. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body>.site-header,body>main,body>.site-footer{flex-shrink:0}
.site-footer{margin-top:auto}
.page-main{width:100%}

/* Footer: Veranstalter links, Kontakt mittig, Rechtslinks rechts auf breiten Screens. */
.footer-main{display:grid;gap:24px;margin-bottom:28px}.footer-contact span{display:inline}.site-footer .footer-legal{margin:0;gap:24px;align-items:baseline}.credits-left{display:flex;flex-wrap:wrap;gap:12px 24px}
@media(min-width:1150px){.footer-main{grid-template-columns:max-content max-content max-content;justify-content:space-between;align-items:last baseline;gap:28px}.site-footer .footer-contact{margin:0;text-align:center}.site-footer .footer-brand p{margin-bottom:0}.site-footer .footer-legal{justify-self:end;flex-wrap:nowrap;white-space:nowrap;padding-bottom:0}}
@media(max-width:760px){.credits-left{display:block}.credits-left span{margin-bottom:10px}}

@media(min-width:1000px){.footer-contact{white-space:nowrap}}

/* Der vorhandene KOMKON-Linkeffekt: selectors.css .fancy-links / .big-button.
   Die identische SVG-Kurve wird als Maske mit der jeweiligen 2027-Textfarbe verwendet. */
a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link):not(.skip-link){position:relative;display:inline-block;overflow:hidden;padding-bottom:.4em;margin-bottom:-.4em;text-decoration:none;vertical-align:baseline}
a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link)::after{content:"";position:absolute;top:-.3em;left:0;width:300%;height:100%;pointer-events:none;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300%25' height='100%25' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,56.5c0,0,298.666,0,399.333,0C448.336,56.5,513.994,46,597,46c77.327,0,135,10.5,200.999,10.5c95.996,0,402.001,0,402.001,0' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-size:100% 100%;transition:transform .7s cubic-bezier(0,.25,.5,1)}
a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link):is(:hover,:focus-visible)::after{transform:translate3d(-66.6%,0,0)}
/* Menu links reveal a simple underline; the current page/section stays still. */
#header-nav a{overflow:visible;padding-bottom:0;margin-bottom:0;text-decoration:underline;text-decoration-thickness:1.5px;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s ease,text-underline-offset .3s ease}
#header-nav a::after{content:none}
#header-nav a:not([aria-current]):is(:hover,:focus-visible){text-decoration-color:currentColor;text-underline-offset:6px}
#header-nav a[aria-current]{text-decoration-color:currentColor;text-underline-offset:3px;transition:none}
@media(prefers-reduced-motion:reduce){#header-nav a{transition:none}#header-nav a:not([aria-current]):is(:hover,:focus-visible){text-underline-offset:3px}}
.ticket-control{transition:transform .3s cubic-bezier(.25,1.5,.5,1),background-color .3s,color .3s}
.ticket-control:is(:hover,:focus-visible){filter:none;background:var(--komkon-signal);color:var(--komkon-cream);transform:rotate(-2deg) scale(1.02)}
.brand img{transition:transform .35s ease}.brand:is(:hover,:focus-visible) img{transform:scale(1.03)}
.hero-organizers{display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left}.hero-organizers span{display:block}
::selection{background:var(--komkon-green);color:var(--komkon-cream)}
/* Leseseiten erweitern dieselbe Gestaltung mit ruhiger, linearer Inhaltsstruktur. */
.interior-page .brand{width:148px;left:5%}.interior-page .site-header{padding-left:calc(5% + 190px)}
.page-main{max-width:calc(1230 * var(--komkon-font-unit));margin:0 auto;padding:100px 5% 84px;min-height:60vh}.page-article>h1{max-width:100%;font-size:clamp(calc(36 * var(--komkon-font-unit)),4vw,calc(54 * var(--komkon-font-unit)));margin:0 0 40px;color:var(--komkon-green);text-wrap:balance}
.page-body{max-width:75ch;overflow-wrap:anywhere}.page-body p{margin:0 0 24px}.page-body h2{font-size:calc(30 * var(--komkon-font-unit));line-height:1.2;margin:48px 0 20px;text-wrap:balance}.page-body h3{font-size:calc(24 * var(--komkon-font-unit));line-height:1.25;margin:36px 0 16px}.page-body li{margin-bottom:10px}.page-body ul,.page-body ol{padding-left:24px;margin:0 0 28px}.page-body a{color:var(--komkon-ink)}.page-body img{max-width:100%;height:auto;display:block}.page-body figure{margin:28px 0}.page-body figcaption{font-size:calc(15 * var(--komkon-font-unit));margin-top:10px}.page-body table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto;margin:28px 0}.page-body td,.page-body th{padding:12px;border-bottom:1px solid var(--komkon-green);text-align:left}.page-body blockquote{margin:28px 0;padding:0;font-size:calc(22 * var(--komkon-font-unit))}.page-body hr{border:0;border-top:1px solid var(--komkon-green);margin:40px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0}.gallery-image-link{display:block;overflow:hidden}.gallery-image-link img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}.gallery-image-link:is(:hover,:focus-visible) img{transform:scale(1.05)}
@media(max-width:760px){.hero-organizers{width:135px;margin-left:auto;align-items:flex-start;gap:12px}.hero-organizers img{width:135px}.interior-page .site-header{padding:0 24px}.interior-page .brand{left:20px}.page-main{padding:124px 24px 52px}.page-article>h1{font-size:calc(36 * var(--komkon-font-unit));margin-bottom:32px}.page-body h2{font-size:calc(28 * var(--komkon-font-unit));margin-top:36px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(prefers-reduced-motion:reduce){a::after,.ticket-control,.brand img,.gallery-image-link img{transition:none!important}a::after{transform:none!important}.ticket-control:is(:hover,:focus-visible),.brand:is(:hover,:focus-visible) img,.gallery-image-link:is(:hover,:focus-visible) img{transform:none}a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link):is(:hover,:focus-visible)::after{background-color:var(--komkon-signal)}}
.source-context{font-size:calc(16 * var(--komkon-font-unit));margin:0 0 32px}.page-body h4{font-size:calc(22 * var(--komkon-font-unit));line-height:1.25;margin:36px 0 16px}.page-body img[src$="icon-apa-comm.svg"],.page-body img[src$="icon-prva.svg"]{width:180px;max-height:100px;object-fit:contain;object-position:left;margin:24px 0}.page-body img{margin:20px 0}
.enquiry-form{margin-top:32px;max-width:calc(650 * var(--komkon-font-unit))}.enquiry-field{margin-bottom:24px}.enquiry-field label{display:block;font-weight:700;margin-bottom:8px}.enquiry-field input,.enquiry-field select,.enquiry-field textarea{font:inherit;color:var(--komkon-ink);background:var(--komkon-paper);border:1px solid var(--komkon-green);border-radius:0;padding:12px;width:100%;min-height:48px;caret-color:var(--komkon-green)}.enquiry-field textarea{resize:vertical}.enquiry-field :is(input,select,textarea):focus-visible{outline:3px solid var(--komkon-ink);outline-offset:3px}.enquiry-submit{font:inherit;font-weight:700;background:var(--komkon-green);color:var(--komkon-cream);border:0;padding:12px 20px;min-height:48px}.enquiry-submit:disabled{opacity:.6;cursor:not-allowed}.enquiry-submit:is(:hover,:focus-visible):not(:disabled){background:var(--komkon-signal)}.form-hint{font-size:calc(15 * var(--komkon-font-unit))}
/* Korrekturen aus dem gebündelten Desktop-/Mobilcheck. */
.skip-link{position:fixed;display:block;overflow:hidden}.page-article>h1{hyphens:auto;overflow-wrap:anywhere}.gallery-image-link img{aspect-ratio:auto}

/* Keep all footer links on the text baseline; confine the wave to its mask. */
.site-footer a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link):not(.skip-link){overflow:visible}
.site-footer a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link)::after{width:100%;mask-size:300% 100%;mask-position:0 0;transition:mask-position .7s cubic-bezier(0,.25,.5,1)}
.site-footer a:not(.brand):not(.ticket-control):not(.gallery-image-link):not(.organizer-logo-link):is(:hover,:focus-visible)::after{transform:none;mask-position:100% 0}
/* One finite entrance, using separate unchanged layers of the original signal. */
.hero-signal-static{display:block;width:100%;height:auto}
.hero{overflow:clip}
.hero-signal-motion{display:none;position:absolute;inset:0}
.hero-signal-bubble,.hero-signal-text{display:block;position:absolute;inset:0;width:100%;height:100%}
.hero-organizer-logos{display:grid;grid-template-columns:minmax(0,284fr) minmax(0,114fr);column-gap:9.13242%;width:100%;align-items:end}
.organizer-logo-link{display:block;position:relative;line-height:0}
.hero-organizer-logos img{display:block;width:100%;height:auto}
.organizer-logo-link::before{content:"";position:absolute;inset:50% auto auto 50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.organizer-logo-link:focus-visible{outline-color:var(--komkon-cream)}
@media(prefers-reduced-motion:no-preference){
 .home-page .brand{transform-origin:top left;animation:komkon-logo-arrive .85s cubic-bezier(.16,1,.3,1) backwards}
 .home-page:not(.about-page) .brand{animation:komkon-logo-swing 2.4s cubic-bezier(.45,0,.25,1) backwards}
 .sponsoring-page .brand{transform-origin:top left;animation:komkon-home-logo-arrive .85s cubic-bezier(.16,1,.3,1) backwards}
 .hero-signal-static{visibility:hidden}
 .hero-signal-motion{display:block;transform-origin:1.5264% 93.1774%;animation:komkon-bubble-grow .82s cubic-bezier(.2,.8,.3,1) backwards}
 .hero-signal-text{animation:komkon-words-arrive .65s .28s cubic-bezier(.16,1,.3,1) backwards}
 .hero-bottom h1{animation:komkon-title-arrive .65s .45s cubic-bezier(.16,1,.3,1) backwards}
 .hero-organizers{animation:komkon-organizers-arrive .65s .55s cubic-bezier(.16,1,.3,1) backwards}
}
@keyframes komkon-logo-arrive{from{transform:translate(-24%,-30%) rotate(-22deg)}to{transform:none}}
@keyframes komkon-home-logo-arrive{from{opacity:0;transform:rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes komkon-logo-swing{0%{opacity:0;transform:rotate(-32deg)}12%{opacity:1;transform:rotate(-23deg)}40%{opacity:1;transform:rotate(12deg)}64%{transform:rotate(-7deg)}82%{transform:rotate(3.5deg)}93%{transform:rotate(-1.2deg)}100%{opacity:1;transform:none}}
@keyframes komkon-bubble-grow{0%{transform:scale(.45)}65%{transform:scale(1.08)}84%{transform:scale(.985)}100%{transform:none}}
@keyframes komkon-words-arrive{from{opacity:0;transform:translateY(24px);clip-path:inset(8% 0 8% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}

@keyframes komkon-title-arrive{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes komkon-organizers-arrive{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

/* Compact shared ticket tab: label expands on hover and keyboard focus. */
.ticket-dock{align-items:flex-end;max-width:calc(100vw - 24px);bottom:230px}
.ticket-dock>[data-ticket-offer]{position:absolute;right:0;bottom:calc(100% + 8px);width:max-content;max-width:min(330px,calc(100vw - 24px))}
.ticket-dock .sticky-ticket{display:inline-flex;justify-content:flex-start;width:auto;min-width:56px;min-height:56px;padding:16px;border:0;border-radius:4px 0 0 4px;overflow:hidden;transform:none}
.ticket-icon{display:block;flex:0 0 32px;width:32px;height:24px}
.ticket-icon svg{display:block;width:100%;height:100%;overflow:visible;stroke-width:1.4}
.header-ticket{gap:8px;flex-shrink:0}
.ticket-dock .sticky-ticket{padding:16px 12px}
.sticky-ticket .ticket-label{display:block;min-width:0;max-width:0;margin-left:0;overflow:hidden;white-space:nowrap;opacity:0;transform:translateX(8px);transition:max-width .28s cubic-bezier(.16,1,.3,1),margin-left .28s cubic-bezier(.16,1,.3,1),opacity .2s,transform .28s cubic-bezier(.16,1,.3,1)}
.ticket-dock .sticky-ticket:is(:hover,:focus-visible){transform:none}
.sticky-ticket:is(:hover,:focus-visible) .ticket-label{max-width:min(260px,calc(100vw - 80px));margin-left:12px;opacity:1;transform:none}
.ticket-dock .sticky-ticket:focus-visible{outline-offset:-5px;outline-color:var(--komkon-cream)}
@media(prefers-reduced-motion:reduce){.sticky-ticket .ticket-label{transition:none}}

/* Keep navigation in its original flow, then tuck it away when reading down. */
.site-header{position:sticky;top:0;z-index:30;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s ease}
.site-header.is-scroll-hidden{transform:translateY(calc(-100% - var(--komkon-brand-overhang,0px)));opacity:0;pointer-events:none}
.site-header:has(:focus-visible){transform:none;opacity:1;pointer-events:auto}
html{scroll-padding-top:calc(var(--komkon-nav-height,124px) + 16px)}
@media(max-width:760px){body.has-admin-bar #header-nav{max-height:calc(100dvh - 86px - var(--nibbly-admin-bar-height,44px))}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* Three unequal, left-aligned strokes become a centered close icon. */
.menu-icon{display:block;position:relative;width:36px;height:28px}
.menu-icon>span{position:absolute;left:0;top:calc(50% - 1.75px);width:36px;height:3.5px;border-radius:4px;background:currentColor;transform-origin:center;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .15s ease}
.menu-icon>span:first-child{transform:translate(-8.1px,-9px) scaleX(.55)}
.menu-icon>span:last-child{transform:translate(-5.76px,9px) scaleX(.68)}
.menu-toggle[aria-expanded=true] .menu-icon>span:first-child{transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon>span:nth-child(2){opacity:0;transform:scaleX(.5)}
.menu-toggle[aria-expanded=true] .menu-icon>span:last-child{transform:rotate(-45deg)}
@media(max-width:760px){.menu-toggle{padding:6px;min-width:48px;min-height:48px;background:transparent;color:var(--komkon-cream);border-radius:0}.menu-toggle:focus-visible{outline-color:var(--komkon-cream)}}
@media(prefers-reduced-motion:reduce){.menu-icon>span{transition:none}}

/* The PNG contains an opaque green corner outside the slanted cream label. */
.brand img{clip-path:polygon(0 0,83.6% 0,100% 84.9%,100% 100%,0 100%)}
.brand{transform-origin:top left;transition:scale .32s cubic-bezier(.16,1,.3,1)}
.home-page .site-header.is-scrolled .brand{scale:var(--komkon-compact-brand-scale,1)}
@media(prefers-reduced-motion:reduce){.brand{transition:none}}

@media(max-width:1149px){.credits{display:block}.credits>span{display:block;text-align:center;margin-top:18px}}
@media(min-width:600px) and (max-width:1149px){.credits-left{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.credits-left>span{margin-bottom:0}.credits-left>span:nth-child(2){text-align:center}.credits-left>span:last-child{text-align:right}}


/* One shared type unit: the 1400px composition grows at the viewport ratio.
   Viewport-based font operands already grow at exactly that same rate. */
@media(min-width:1400px){:root{--komkon-font-unit:calc(100vw / 1400)}}
.hero--home h1{text-shadow:0 3px 2px var(--komkon-green),0 6px 10px color-mix(in srgb,var(--komkon-green) 85%,transparent)}
.hero-organizers>span{text-shadow:0 .08em .06em var(--komkon-green),0 .16em .28em color-mix(in srgb,var(--komkon-green) 85%,transparent)}
@media(max-width:760px){
 .site-header{gap:12px}
 .header-ticket{display:inline-flex;order:1;min-height:48px}
 .menu-toggle{order:2}
 #header-nav{order:3}
 .hero--home{height:650px}
 .hero--home .hero-picture{top:96px;height:calc(100% - 96px)}
 .hero--home .hero-signal{top:48px;width:min(80%,360px)}
 .hero--home .hero-organizers{width:100%;margin-left:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}
 .hero--home .hero-organizers>span{background:transparent;font-size:calc(15 * var(--komkon-font-unit));white-space:nowrap}
 .hero--home .hero-organizer-logos{width:135px;flex-shrink:0}
}
@media(max-width:480px){
 .header-ticket{width:48px;padding:10px 8px}
 .header-ticket .ticket-label{display:none}
}
@media(max-width:599px){.credits>span{text-align:left}}

/* The smaller foreground crop stays put; a passive copy carries the same
   progressive image texture all the way up beneath the mobile navigation. */
.hero-texture{display:none}
@media(max-width:760px){
 .hero--home .hero-texture{display:block;position:absolute;inset:0;pointer-events:none}
 .hero--home .hero-texture img{object-position:35% center}
 .hero--home>.hero-picture{mask-image:linear-gradient(transparent,#000 24px)}
}
