/* Congress menu: one continuous, native-scroll gallery for all nine sections. */
.journey[data-menu-preview=true]{min-height:0;overflow-anchor:none}
.journey[data-menu-preview=true] .interior-anchor{top:calc((100% - 100svh) * var(--menu-journey-end,.64))}
.congress-menu{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden}
.congress-menu-heading{position:absolute;top:var(--menu-heading-top,112px);left:22px;right:22px;text-align:center;will-change:transform,opacity}
.congress-menu-heading .eyebrow{margin:0 0 12px;color:#76767c}
.congress-menu-heading h2{width:fit-content;margin:0 auto;font-size:clamp(38px,4.4vw,62px);font-weight:350;letter-spacing:-.06em;line-height:1.05}
.congress-menu-heading h2:focus-visible{outline:2px solid #242522;outline-offset:8px}
.congress-menu-heading p:last-child{margin:16px auto 0;color:#74747a;font-size:14px;line-height:1.5;max-width:480px;text-wrap:balance}
.congress-piece{position:absolute;left:0;top:0;transform:translate3d(calc(var(--piece-x,50vw) - 50%),calc(var(--piece-y,70vh) - 105px),0);width:var(--menu-column-width,300px);padding:145px 8px 12px;border:0;background:none;font:inherit;color:var(--ink);text-align:center;pointer-events:auto;cursor:pointer;touch-action:pan-y;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}
.congress-menu[aria-hidden=true] .congress-piece{pointer-events:none!important}
.congress-piece-index{display:block;font-size:9px;letter-spacing:.13em;color:#838389;margin-bottom:8px;font-variant-numeric:tabular-nums}
.congress-piece-title{display:inline-flex;align-items:baseline;justify-content:center;gap:10px;font-size:clamp(21px,2vw,28px);font-weight:400;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}
.congress-piece-arrow{font-size:18px;font-weight:300;display:inline-block;transition:transform 250ms var(--ease);color:#79797e}
.congress-piece-detail{display:block;margin-top:8px;font-size:12px;line-height:1.4;color:#74747a}
.congress-piece:focus-visible{outline:2px solid #242522;outline-offset:3px;border-radius:8px}
.congress-piece:is(:hover,:focus-visible) .congress-piece-arrow{transform:translate(3px,-3px);color:var(--ink)}
.congress-piece:active .congress-piece-title{opacity:.65}
.congress-menu-bottom{position:absolute;bottom:0;left:0;right:0;min-height:90px;padding:22px clamp(22px,4.2vw,68px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(0deg,var(--paper) 70%,transparent);box-sizing:border-box}
.congress-menu-browse{font-size:11px;margin:0 0 6px;color:#616167}
.congress-menu-note{font-size:8px;color:#838389;line-height:1.5;margin:0}
.congress-menu-all{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid #d8d8de;font-size:12px;pointer-events:auto;white-space:nowrap}
.congress-menu-all span:last-child{font-size:20px;transition:transform 200ms var(--ease)}
.congress-menu-all:hover span:last-child{transform:translateY(3px)}
.congress-menu-all:focus-visible{outline:2px solid #242522;outline-offset:5px}
.journey[data-menu-active=true] .journey-bottom .scroll-cue,.journey[data-menu-active=true] .journey-bottom .location{visibility:hidden}
.journey[data-menu-active=true] .journey-progress{opacity:.4}
.journey[data-menu-active=true] .interior-poster{opacity:0!important}
body[data-congress-preview=true][data-section-open=true] #journey{display:none}
body[data-congress-preview=true] #explora[data-overview=true]{display:none}
.congress-transition{position:fixed;inset:0;z-index:9;background:var(--paper);opacity:0;pointer-events:none;visibility:hidden}
.congress-transition[data-state=opening],.congress-transition[data-state=revealing]{visibility:visible}
.congress-transition[data-state=revealing]{transition:opacity 320ms cubic-bezier(.22,1,.36,1)}
.congress-menu[aria-busy=true] .congress-piece{pointer-events:none!important}
.congress-selection{position:absolute;left:50%;top:65%;width:calc(100% - 44px);max-width:700px;margin:0;transform:translateX(-50%);text-align:center;font-size:clamp(28px,4vw,48px);font-weight:350;letter-spacing:-.05em;line-height:1.1;opacity:0;pointer-events:none;text-wrap:balance}
.portal[data-menu-entering=true] .portal-heading,.portal[data-menu-entering=true] .portal-layout{animation:congress-section-in 320ms cubic-bezier(.22,1,.36,1) both}
@keyframes congress-section-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body[data-congress-preview=true][data-section-open=true] #explora{padding-top:calc(var(--portal-nav-top) + 22px)}
body[data-congress-preview=true][data-section-open=true] .portal[data-mode=polls][data-poll-study=true]{padding-top:calc(var(--portal-nav-top) + 22px)}
body[data-congress-preview=true] .header-category-menu{display:block}
.congress-return{display:none;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:0 14px;background:var(--paper);border:1px solid #dedee3;border-radius:4px;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}
.congress-return>span:first-child{font-size:20px;line-height:1}
.congress-return:focus-visible{outline:2px solid #242522;outline-offset:3px}
body[data-congress-preview=true][data-section-open=true] .congress-return{display:flex}
body[data-congress-preview=true][data-section-open=true] .header-actions>.cal{display:none}
body[data-congress-preview=true][data-section-open=true] .portal-tabs{position:static}
body[data-congress-preview=true][data-section-open=true] .portal[data-mode=vote] .portal-layout{padding-top:20px}

@media(max-width:760px){
 .congress-return{width:44px;min-width:44px;padding:0}
 .congress-return-label{display:none}
 .congress-menu-heading{text-align:left}
 .congress-menu-heading .eyebrow{font-size:8px;margin-bottom:10px}
 .congress-menu-heading h2{font-size:clamp(32px,9.4vw,46px);margin-inline:0}
 .congress-menu-heading p:last-child{font-size:12px;max-width:300px;margin:11px 0 0;text-wrap:pretty}
 .congress-piece{width:calc(100% - 44px);height:166px;transform:translate3d(var(--piece-x,22px),calc(var(--piece-y,400px) - 94px),0);padding:12px 44% 12px 0;text-align:left;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
 .congress-piece::before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid #dedee380;pointer-events:none}
 .congress-piece-title{font-size:clamp(23px,6.3vw,29px);gap:8px;justify-content:flex-start;text-wrap:pretty}
 .congress-piece-arrow{font-size:17px}
 .congress-piece-index{font-size:8px;margin-bottom:8px}
 .congress-piece-detail{font-size:11px;margin-top:7px}
 .congress-menu-bottom{min-height:82px;padding:17px 22px;gap:12px}
 .congress-menu-browse{font-size:10px;max-width:170px;line-height:1.4;margin-bottom:4px}
 .congress-menu-note{font-size:7px;max-width:170px}
 .congress-menu-all{font-size:10px;gap:10px;min-height:44px}
 body[data-congress-preview=true][data-section-open=true] #explora{padding-top:calc(var(--portal-nav-top) + 12px)}
 body[data-congress-preview=true][data-section-open=true] .portal-intro{padding-bottom:22px}
 body[data-congress-preview=true][data-section-open=true] .portal-visual{position:relative;top:auto}
}
@media(max-height:600px) and (min-width:761px){
 .congress-menu-heading h2{font-size:38px}
 .congress-menu-heading p:last-child{margin-top:10px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .congress-piece-arrow,.congress-menu-all span:last-child{transition:none}
 .congress-transition[data-state=revealing]{transition:none}
 .portal[data-menu-entering=true] .portal-heading,.portal[data-menu-entering=true] .portal-layout{animation:none}
}

/* On phones the settled sculptures travel with native page scroll. The same
   live WebGL scene takes over again for entry, exit and category selection. */
.congress-piece-snapshot{display:none;position:absolute;pointer-events:none}
.journey[data-native-gallery=true] .journey-stage{visibility:hidden}
.congress-menu[data-native=true]{top:var(--native-top);bottom:auto;height:var(--native-height);overflow:clip;visibility:visible!important;opacity:1!important}
.congress-menu[data-native=true] .congress-menu-heading{transform:none!important;opacity:1!important;will-change:auto}
.congress-menu[data-native=true] .congress-piece{top:var(--native-row);left:22px;transform:none!important;opacity:1!important;pointer-events:auto!important;will-change:auto}
.congress-menu[data-native=true] .congress-piece-snapshot{display:block}
.congress-menu[data-native=true] .congress-menu-bottom{opacity:1!important}
.congress-menu[data-native=true] .congress-selection{display:none}
