/* Original room listing and circular Speaker composition in the 2027 palette. */
.congress-main{padding:80px 0 72px;color:var(--komkon-green)}
.congress-container{width:min(calc(1280 * var(--komkon-font-unit)),90%);margin-inline:auto}
.congress-filter-defs{position:absolute;pointer-events:none}
.congress-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.congress-heading{margin-bottom:44px;text-align:center}
.congress-heading h1,.speakers-heading h1{max-width:calc(1050 * var(--komkon-font-unit));margin-inline:auto;font-size:clamp(calc(36 * var(--komkon-font-unit)),4vw,calc(50 * var(--komkon-font-unit)));line-height:1.2;text-wrap:balance}
.congress-notice{font-size:calc(15 * var(--komkon-font-unit));font-weight:400;margin:20px 0;color:#24463b;text-wrap:balance}
.congress-view-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:24px;font-weight:400}
.congress-view-links [aria-current]{color:var(--komkon-green)}
.congress-photo{margin:0}.congress-photo img{display:block;width:100%;height:auto}
.congress-photo figcaption{font-size:calc(12 * var(--komkon-font-unit));line-height:1.4;margin-top:10px;color:#24463b}
.program-entry{display:grid;grid-template-columns:150px 230px minmax(0,1fr);gap:32px;padding:32px 0;border-top:1px solid var(--komkon-green);align-items:start}
.program-time{font-weight:700;font-size:calc(24 * var(--komkon-font-unit));line-height:1.25;font-variant-numeric:tabular-nums}
.program-time span{display:block;margin-top:10px;font-size:calc(17 * var(--komkon-font-unit));font-weight:400}
.program-image img{aspect-ratio:4/3;object-fit:cover}
.program-copy h2{font-size:calc(30 * var(--komkon-font-unit));line-height:1.2;margin:0 0 20px;text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
.program-copy p{margin:0 0 18px}.program-speakers{font-size:calc(17 * var(--komkon-font-unit))}
.congress-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;align-items:start;color:#24463b}
.congress-detail-copy{min-width:0}.congress-detail-copy h2{color:var(--komkon-green);font-size:calc(28 * var(--komkon-font-unit));line-height:1.25;text-wrap:balance;margin:36px 0 20px}.congress-detail-copy h2:first-child{margin-top:0}
.congress-prose{color:#24463b;max-width:70ch;hyphens:auto;overflow-wrap:break-word}.congress-prose p{margin:0 0 24px}
.event-schedule{text-align:center;font-weight:700;font-size:calc(24 * var(--komkon-font-unit));margin:-16px 0 48px}
.event-speakers{list-style:none;padding:0;margin:0}.event-speakers li{margin:0 0 24px}.event-speakers a{font-weight:700}.event-speakers span{display:block;margin-top:6px}
/* Speaker overview: background chameleon, red speech bubble, round portraits. */
.congress-speakers{padding-top:0}
.speakers-hero{position:relative;height:clamp(460px,41.5vw,600px);background:var(--komkon-green) url('/assets/sponsoring-hero.webp') center/cover no-repeat;overflow:clip}
.speakers-signal{position:absolute;top:16%;right:2%;width:min(48%,calc(650 * var(--komkon-font-unit)));color:var(--komkon-cream)}
.speakers-signal>img{display:block;width:100%;height:auto}
.speakers-signal>div{position:absolute;inset:17% 6% 15% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(calc(60 * var(--komkon-font-unit)),8.5vw,calc(122 * var(--komkon-font-unit)));font-weight:700;line-height:.92}
.speakers-signal span:first-child{transform:rotate(-3deg)}.speakers-signal span:last-child{transform:rotate(1.5deg);margin-left:.3em;font-size:.82em}
.speakers-heading{text-align:center;margin:64px 0 108px}
.speakers-heading h2{font-size:calc(28 * var(--komkon-font-unit));line-height:1.25;margin:18px 0 0;text-wrap:balance}
.speakers-intro{font-size:calc(21 * var(--komkon-font-unit));font-weight:700;line-height:1.4;margin:52px auto 24px;max-width:calc(850 * var(--komkon-font-unit));text-wrap:balance}
.speaker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(100 * var(--komkon-font-unit)) calc(48 * var(--komkon-font-unit))}
.speaker-entry{min-width:0;text-align:center}
.speaker-portrait-shell{position:relative;width:100%;margin:0;container-type:inline-size}
.portrait-photo-link{display:block;position:relative;border-radius:50%;aspect-ratio:1;overflow:hidden}
#main-content .portrait-photo-link{display:block;overflow:hidden;padding-bottom:0;margin-bottom:0}
#main-content .portrait-photo-link:is(:hover,:focus-visible),#main-content .portrait-photo-link img{transform:none;scale:none}
.portrait-photo-link img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.portrait-photo-link .portrait-duotone{position:absolute;inset:0;filter:url('#congress-duotone');opacity:1;transition:opacity 1s ease}
.portrait-photo-link:hover .portrait-duotone,.speaker-portrait-shell:focus-within .portrait-duotone{opacity:0}
.portrait-copyright{position:absolute;inset:0;width:100%;height:auto;aspect-ratio:1;overflow:visible;pointer-events:none;z-index:2;opacity:0;visibility:hidden}
.portrait-copyright.is-ready{opacity:1;visibility:visible;transition:opacity .8s ease-in-out}
.portrait-copyright text{font-size:13px;fill:#24463b;letter-spacing:.3px}
.portrait-caption{position:absolute;bottom:-1.2em;left:50%;transform:translateX(-50%);font-size:min(calc(40 * var(--komkon-font-unit)),8.6cqi,calc(145cqi / var(--name-length)));z-index:3}
.speaker-name{display:flex;flex-direction:column;align-items:flex-start;font-size:inherit;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}
/* Override the shared inline-block link mask without clipping angled name strips. */
#main-content .speaker-name{display:flex;overflow:visible;padding-bottom:0;margin-bottom:0;text-decoration:none}
.speaker-name>span{display:block;position:relative;z-index:3;width:max-content;max-width:none;padding:.3em .7em;border-radius:4px;background:var(--komkon-signal);color:var(--komkon-cream);transform:rotate(-9deg);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:4px;transition:background-color .25s ease,text-underline-offset .3s ease}
.speaker-name>span:nth-child(2){--name-underline-delay:.1s;z-index:2;transform:rotate(-5deg);margin-left:1.5em;margin-top:-.15em}
.speaker-name>span:nth-child(3){--name-underline-delay:.2s;z-index:1;transform:rotate(1.5deg);margin-left:.7em;margin-top:0}
/* Three strips share one angle and a regular staircase instead of zigzagging. */
.speaker-name--three-lines{gap:.12em;transform:rotate(-7deg)}
.speaker-name--three-lines>span:nth-child(n){transform:none;margin-top:0}
.speaker-name--three-lines>span:nth-child(2){margin-left:1.1em}
.speaker-name--three-lines>span:nth-child(3){margin-left:2.2em}
#main-content .speaker-name::after,#main-content .portrait-photo-link::after{content:none}
/* Start successive underlines 100ms apart; exit without delays cancels pending lines. */
.speaker-entry:is(:hover,:focus-within) .speaker-name>span,.speaker-portrait-shell:is(:hover,:focus-within) .speaker-name>span{background:var(--komkon-signal-hover);text-underline-offset:7px;transition-delay:0s,var(--name-underline-delay,0s)}
.speaker-entry .speaker-designation{margin:calc(76 * var(--komkon-font-unit)) 0 24px;font-size:calc(20 * var(--komkon-font-unit));font-weight:700;line-height:1.3;text-wrap:balance}
.speaker-appearances{display:flex;flex-direction:column;gap:12px;font-size:calc(17 * var(--komkon-font-unit));font-weight:700;line-height:1.3;text-wrap:balance}
.speaker-closing{color:#24463b;text-align:center;font-size:calc(21 * var(--komkon-font-unit));margin:84px 0 0}
/* Speaker detail follows the original 50/50 portrait and biography layout. */
.congress-speaker{padding-top:64px}
.speaker-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:start}
.speaker-detail-visual{min-width:0;text-align:center}
.speaker-detail-visual .speaker-portrait-shell{max-width:calc(540 * var(--komkon-font-unit));margin-inline:auto}
.speaker-quote{font-size:calc(32 * var(--komkon-font-unit));line-height:1.2;font-weight:700;text-wrap:balance;margin:calc(96 * var(--komkon-font-unit)) auto 0;max-width:24ch}
.speaker-detail-copy{min-width:0}
.speaker-detail-copy h1{max-width:none;font-size:calc(34 * var(--komkon-font-unit));line-height:1.1;margin:0 0 8px;text-wrap:balance}
.speaker-detail-copy .speaker-designation{font-size:calc(22 * var(--komkon-font-unit));font-weight:700;margin:0 0 48px;line-height:1.2}
.speaker-detail-copy .congress-prose{color:var(--komkon-green);font-size:calc(20 * var(--komkon-font-unit));font-weight:600;line-height:1.4;border-bottom:1px solid var(--komkon-green);padding-bottom:20px;margin-bottom:32px}
.speaker-detail-copy .congress-prose:empty{display:none}
.speaker-detail-events h2{font-size:calc(27 * var(--komkon-font-unit));line-height:1.2;margin:0 0 14px;text-wrap:balance}
.speaker-detail-events p{font-size:calc(20 * var(--komkon-font-unit));margin:0 0 32px}
/* Only the detail text column uses native underlines that follow wrapped lines. */
#main-content .speaker-detail-copy a{display:inline;overflow:visible;padding-bottom:0;margin-bottom:0;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-underline-offset .3s ease}
#main-content .speaker-detail-copy a::after{content:none}
#main-content .speaker-detail-copy a:is(:hover,:focus-visible){text-underline-offset:6px}
.speaker-detail-copy .congress-notice{margin-top:44px}
#main-content .congress-back{display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--komkon-green);border-radius:3px;padding:8px 18px;margin-top:112px;text-decoration:none;font-size:calc(17 * var(--komkon-font-unit));font-weight:700}
#main-content .speaker-quote+.congress-back{margin-top:48px}
#main-content .congress-back::after{content:none}.congress-back:hover{background:var(--komkon-green);color:var(--komkon-cream)}
/* Room listing: compact alternating rows, true room filters and anchored links. */
.room-heading-small{display:none}
.room-instruction{font-size:calc(26 * var(--komkon-font-unit));line-height:1.3;margin:18px 0 0;text-wrap:balance}
:is(.congress-rooms,.congress-program) .congress-container{width:min(calc(1000 * var(--komkon-font-unit)),90%)}
.room-navigation{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:60px}
.room-navigation button{border:1.5px solid var(--komkon-green);border-radius:24px;padding:10px 24px;min-height:48px;color:var(--komkon-green);background:transparent;font-size:calc(18 * var(--komkon-font-unit));font-weight:700}
.room-navigation button:hover,.room-navigation button[aria-pressed="true"]{background:var(--komkon-green);color:var(--komkon-paper)}
.room-navigation button[aria-pressed="true"]::before{content:'';display:inline-block;width:16px;height:12px;margin-right:8px;background:currentColor;clip-path:polygon(0 50%,12% 36%,36% 71%,88% 0,100% 14%,36% 100%)}
.program-room{border-bottom:1px solid var(--komkon-green);margin-top:44px;scroll-margin-top:32px}
.program-room>h2{font-size:calc(26 * var(--komkon-font-unit));margin:0 0 28px}
.room-slot{position:relative;isolation:isolate;grid-template-columns:120px 110px minmax(0,1fr);gap:15px;padding:13px 0 10px}
.room-slot::before{content:'';position:absolute;inset:4px 0 4px 120px;background:var(--komkon-green);border-radius:4px;z-index:-1}
.room-slot .program-time{color:#24463b;font-size:calc(18 * var(--komkon-font-unit));font-weight:500;padding-top:4px}
.room-slot .program-type{display:block;margin-top:8px;font-size:calc(12 * var(--komkon-font-unit));font-weight:700}
.room-slot .program-image{width:110px;height:110px;border-radius:50%;overflow:hidden}
.room-slot .program-image img{width:110px;height:110px;border-radius:50%;filter:url('#congress-duotone');object-fit:cover}
.room-slot .program-copy{padding:0 20px 0 14px;color:var(--komkon-paper)}
.room-slot .program-copy h2{font-size:calc(27 * var(--komkon-font-unit));margin:0 0 2px;text-wrap:initial}
.room-slot .program-subtitle{color:inherit;font-size:calc(18 * var(--komkon-font-unit));margin:8px 0 12px}
.room-slot .program-speakers{font-size:calc(16 * var(--komkon-font-unit));font-weight:700;margin:18px 0 8px}
.room-slot .congress-photo figcaption{display:none}
/* Inline text links share the surrounding baseline; retain the wave inside its mask. */
#main-content .room-slot .program-copy a{display:inline;overflow:visible;padding-bottom:0;margin-bottom:0;vertical-align:baseline}
#main-content .room-slot .program-copy a::after{top:auto;bottom:0;width:100%;height:1em;mask-size:300% 100%;mask-position:0 0;transition:mask-position .7s cubic-bezier(0,.25,.5,1)}
#main-content .room-slot .program-copy a:is(:hover,:focus-visible)::after{transform:none;mask-position:100% 0}
#main-content .program-image{overflow:hidden}
#main-content .program-image::after,#main-content .room-slot h2 a::after,#main-content .speaker-appearances a::after{content:none}
#main-content .room-slot h2 a{text-decoration:none}#main-content .room-slot h2 a:hover{text-decoration:underline}
#main-content .speaker-appearances a{display:inline;align-self:center;overflow:visible;padding-bottom:0;margin-bottom:0;text-decoration:underline;text-underline-offset:3px;transition:text-underline-offset .3s ease}
#main-content .speaker-appearances a:is(:hover,:focus-visible){text-underline-offset:6px}
@media(max-width:1100px){.program-entry:not(.room-slot){grid-template-columns:130px 190px minmax(0,1fr);gap:24px}.congress-detail{gap:36px}.speaker-grid{gap:90px 32px}.speaker-detail-layout{gap:44px}.speaker-detail-copy .congress-prose{font-size:calc(19 * var(--komkon-font-unit))}.speaker-quote{font-size:calc(28 * var(--komkon-font-unit))}}
@media(max-width:1023px){.speaker-detail-layout{grid-template-columns:1fr;gap:64px;max-width:760px;margin:auto}.speaker-detail-visual{max-width:calc(540 * var(--komkon-font-unit));margin:auto;width:100%}.speaker-detail-copy{max-width:70ch}.speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:90px 48px}}
@media(max-width:760px){.room-heading-wide{display:none}.room-heading-small{display:inline}.congress-main{padding:120px 0 48px}.congress-container{width:calc(100% - 48px)}.congress-heading{margin-bottom:32px}.congress-heading h1,.speakers-heading h1{font-size:calc(36 * var(--komkon-font-unit))}.congress-view-links{gap:16px;font-size:calc(16 * var(--komkon-font-unit))}.program-entry:not(.room-slot){grid-template-columns:1fr;gap:20px;padding:28px 0}.program-time{font-size:calc(22 * var(--komkon-font-unit))}.program-time span{display:inline;margin-left:12px}.program-copy h2{font-size:calc(28 * var(--komkon-font-unit))}.program-image{max-width:360px}.congress-detail{grid-template-columns:1fr;gap:36px}.event-schedule{font-size:calc(20 * var(--komkon-font-unit))}.congress-speakers{padding-top:0}.speakers-hero{height:480px;background-image:url('/assets/sponsoring-hero-mobile.webp');background-position:center}.speakers-signal{top:64px;right:2%;width:88%;max-width:460px}.speakers-signal>div{font-size:clamp(calc(48 * var(--komkon-font-unit)),14vw,calc(100 * var(--komkon-font-unit)))}.speakers-heading{margin:48px 0 72px}.speakers-heading h2{font-size:calc(25 * var(--komkon-font-unit))}.speakers-intro{font-size:calc(19 * var(--komkon-font-unit));margin-top:32px}.speaker-grid{grid-template-columns:1fr;gap:80px;max-width:420px;margin:auto}.speaker-entry .speaker-designation{margin-top:72px}.speaker-detail-copy h1{font-size:calc(32 * var(--komkon-font-unit))}.speaker-detail-copy .speaker-designation{margin-bottom:32px}.speaker-detail-copy .congress-prose{font-size:calc(19 * var(--komkon-font-unit))}.speaker-quote{font-size:calc(26 * var(--komkon-font-unit));margin-top:84px}.speaker-closing{font-size:calc(19 * var(--komkon-font-unit));margin-top:60px}:is(.congress-rooms,.congress-program) .congress-container{width:calc(100% - 40px)}
.room-instruction{font-size:calc(21 * var(--komkon-font-unit))}.room-navigation{gap:8px;margin-bottom:40px}.room-navigation button{font-size:calc(17 * var(--komkon-font-unit));padding:8px 16px}.program-room>h2{text-align:center;background:var(--komkon-green);color:var(--komkon-cream);border-radius:8px 8px 0 0;padding:12px;margin:0 0 4px;font-size:calc(24 * var(--komkon-font-unit))}.room-slot{grid-template-columns:1fr;gap:0;padding:16px 0 12px}.room-slot::before{inset:4px 0}.room-slot .program-image{grid-row:1;justify-self:center;margin-bottom:14px}.room-slot .program-time{padding:0 20px;margin-bottom:12px;font-size:calc(19 * var(--komkon-font-unit))}.room-slot .program-copy{padding:0 20px}.room-slot .program-copy h2{font-size:calc(24 * var(--komkon-font-unit))}.room-slot .program-subtitle{font-size:calc(17 * var(--komkon-font-unit))}.room-slot .program-speakers{font-size:calc(16 * var(--komkon-font-unit));line-height:1.4}}
@media(max-width:760px){#main-content .speaker-portrait-shell+.congress-back{margin-top:96px}}
@media(max-width:760px){.room-slot .program-time,.program-room>h2{color:var(--komkon-paper)}}
@media(prefers-reduced-motion:reduce){.portrait-photo-link .portrait-duotone,.portrait-copyright.is-ready,.room-slot::before,#main-content .speaker-name>span,#main-content .speaker-appearances a,#main-content .speaker-detail-copy a{transition:none}#main-content .speaker-name>span{text-underline-offset:4px}#main-content .speaker-appearances a:is(:hover,:focus-visible),#main-content .speaker-detail-copy a:is(:hover,:focus-visible){text-underline-offset:3px}}
@media print{.room-navigation,.congress-view-links,.congress-notice{display:none}.program-room[hidden]{display:block!important}.room-slot{break-inside:avoid}.speakers-hero{display:none}}

/* The time view shares compact room rows and keeps the room beside each time. */
.program-timeline{border-bottom:1px solid var(--komkon-green)}
