/* A soft preview, a decoded full image, then a short reveal of its detail. */
html[data-komkon-progressive] img[data-full-src]:not(.image-ready){filter:var(--komkon-image-filter,opacity(1)) blur(10px)}
.portrait-duotone,.room-slot .program-image img{--komkon-image-filter:url('#congress-duotone')}
.location-photo-duotone{--komkon-image-filter:url('#location-duotone')}
.about-chameleon-image img{--komkon-image-filter:url('#about-chameleon-duotone')}
.komkon-image-host{position:relative}
.komkon-image-preview{pointer-events:none!important}
body.edit-mode-active .komkon-image-preview{display:none!important}
body.edit-mode-active img[data-full-src]:not(.image-ready){filter:var(--komkon-image-filter,opacity(1))}
.komkon-background-picture{position:absolute;inset:0;display:block;pointer-events:none}
.komkon-background-picture img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.speakers-hero{background-image:none}
@media(max-width:760px){.speakers-hero{background-image:none}}
.sponsor-hero{background-image:none}
.sponsor-contact::before{content:none}
.sponsor-contact .komkon-background-picture{z-index:-1}
.sponsor-contact .komkon-background-picture img{object-position:right center}
@media(max-width:900px){.sponsor-contact .komkon-background-picture{height:550px;bottom:auto;mask-image:linear-gradient(#000 80%,transparent)}}
@media(max-width:760px){.sponsor-hero{background-image:none}.sponsor-contact .komkon-background-picture{height:400px}.sponsor-contact .komkon-background-picture img{object-position:center}}
html[data-font-loading] :is(.brand,.hero-signal-motion,.hero-signal-text,.hero-bottom,.hero-bottom h1,.hero-organizers){animation-play-state:paused}
html[data-font-loading] .home-page:not(.about-page) .brand{animation-play-state:paused}
.komkon-reveal-pending{opacity:.16}
/* Start the homepage signal only after the full hero has finished sharpening. */
@media(prefers-reduced-motion:no-preference){
 html[data-komkon-progressive] body:not(.edit-mode-active) .hero--home:has(.hero-picture img[data-full-src]:not(.image-sharp):not(.image-unavailable)) :is(.hero-signal-motion,.hero-signal-text,.hero-bottom){animation:none;visibility:hidden}
}
body:not(.edit-mode-active) #main-content{overflow-x:clip}
body.edit-mode-active .komkon-reveal-pending{opacity:1}
@media(prefers-reduced-motion:reduce){
 html[data-komkon-progressive] img[data-full-src]:not(.image-ready){filter:var(--komkon-image-filter,opacity(1)) blur(4px)}
 .komkon-reveal-pending{opacity:1}
}

/* The homepage copy and organizers arrive together after bubble + lettering.
   All delays begin when the fully decoded hero has finished sharpening. */
@media(prefers-reduced-motion:no-preference){
 .hero--home .hero-bottom :is(h1,.hero-organizers){animation:none}
 body:not(.edit-mode-active) .hero--home .hero-bottom{animation:komkon-hero-bottom-arrive .55s .98s cubic-bezier(.16,1,.3,1) backwards}
 html[data-font-loading] body:not(.edit-mode-active) .hero--home .hero-bottom{animation-play-state:paused}
}
@keyframes komkon-hero-bottom-arrive{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
