/* IPN Brand: existing plum, Sunflower, typography and calm profile-dialog palette. */
.labs-archive .lead{max-width:780px}
body.inner-page .labs-tabs .btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:12px 18px;height:auto;min-height:68px;white-space:normal}
.labs-tabs .btn span{margin:0;color:var(--muted);font-size:13px}
.labs-tabs .btn strong{font-family:Poppins,sans-serif;font-size:17px;line-height:1.4}
body.inner-page .labs-tabs .btn[aria-selected=true]{background:#fffaf0!important;color:var(--ink)!important;border-color:#eee2c9;box-shadow:inset 0 -3px var(--sun)}
.labs-tabs .btn[aria-selected=true] span{color:#624277}
.labs-panel[role=tabpanel] .labs-fallback-title{display:none}
.labs-description{color:var(--muted);margin-bottom:28px;font-size:18px}
.labs-archive [hidden]{display:none!important}
.labs-archive .px-rail{padding-inline:0}
.labs-archive .px-rail>article{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
.labs-talk{background:var(--dark-panel);border-color:var(--rule)}
.labs-cover{display:block;width:100%;height:auto;aspect-ratio:3/4;flex-shrink:0;object-fit:contain;object-position:center top;background:var(--ink)}
.labs-talk .px-card-body{padding:20px}
.labs-talk h3{font-size:20px;line-height:1.4;margin:16px 0}
.labs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;line-height:1.5}
.labs-meta time{color:var(--muted)}
.labs-meta .program-status{margin:0;flex-shrink:0}
.labs-meta .development{background:var(--ink);color:var(--body)}
.labs-talk .labs-speaker{font-size:16px;margin-bottom:8px}
.labs-talk .labs-affiliation{font-size:14px;color:var(--muted);margin:0 0 16px}
.labs-quote{margin:16px 0 24px;padding-left:16px;border-left:2px solid var(--sun)}
.labs-quote p{font-style:italic;margin:0;font-size:15px;line-height:1.65}
.labs-quote cite{display:block;font-size:14px;margin-top:12px;font-style:normal}
.labs-earlier-talk{border-top:1px solid var(--rule);padding-top:20px;min-width:0}
.labs-earlier-talk .labs-cover{aspect-ratio:4/5;object-position:center;border-radius:8px;margin-bottom:16px}
.labs-earlier-talk time{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
.labs-earlier-talk h3{font:600 16px/1.5 'Work Sans',sans-serif;margin-bottom:8px}
.labs-earlier-talk p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
body .labs-archive-link{--link-rest:var(--body);--link-active:var(--sun);display:inline-flex;align-items:center;min-height:44px;margin-top:28px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
body.inner-page .labs-archive .px-controls .btn{background:transparent!important;color:var(--body)!important;border-color:transparent!important;box-shadow:none!important}
body.inner-page .labs-archive .px-controls .btn:not(:disabled):hover,body.inner-page .labs-archive .px-controls .btn:focus-visible,.labs-talk .px-bio summary:hover,.labs-talk .px-bio summary:focus-visible{color:var(--sun)!important}
.labs-talk .px-bio summary{color:var(--body);min-height:44px;display:flex;align-items:center}
.labs-profile-dialog .labs-archive-link{--link-rest:var(--head);--link-active:var(--head)}
.labs-profile-dialog .labs-archive-link:hover,.labs-profile-dialog .labs-archive-link:focus-visible{text-decoration-color:var(--sun);text-decoration-thickness:3px}
.labs-profile-dialog{width:min(1080px,calc(100vw - 40px))}
.labs-profile-dialog .px-dialog-content{padding:32px}
.labs-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:32px}
.labs-dialog-art .labs-cover{border-radius:8px;aspect-ratio:auto}
.labs-facts{margin:24px 0 0;font-size:14px;line-height:1.6}
.labs-facts>div{margin-bottom:16px}.labs-facts dt{font-weight:600}.labs-facts dd{margin:4px 0 0;color:var(--muted)}
.labs-dialog-main h3{color:var(--head);font-size:28px;line-height:1.3;margin:20px 0}
.labs-dialog-main h3:focus{outline:none}
.labs-dialog-main p,.labs-dialog-main li{font-size:17px;line-height:1.7}
.labs-dialog-main .labs-subtitle,.labs-dialog-main .labs-affiliation{color:var(--muted)}
.labs-dialog-main .labs-speaker{font-weight:600;margin-bottom:8px}
.labs-dialog-main h4{font-size:18px;margin-top:28px}
.labs-dialog-main ul{padding-left:22px}.labs-dialog-main li+li{margin-top:12px}
.labs-dialog-main .labs-quote{margin:28px 0}
.labs-dialog-main .development{color:var(--sun)}
.labs-talk .px-bio[open]{max-height:none;overflow:visible}
.labs-talk .px-bio .labs-dialog-layout{display:block}
@media(max-width:1000px){.labs-archive .px-rail>article{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:760px){
 .labs-tabs{flex-direction:column}
 .labs-archive .px-rail>article{flex-basis:88%}
 body.inner-page .labs-tabs .btn{padding:10px 16px;min-height:64px}
 .labs-profile-dialog{width:calc(100vw - 24px)}
 .labs-profile-dialog .px-dialog-content{padding:20px}
 .labs-dialog-layout{grid-template-columns:1fr;gap:28px}
 .labs-dialog-art .labs-cover{max-width:320px;margin-inline:auto}
 .labs-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .labs-facts>div:first-child{grid-column:1/-1}.labs-facts>div{margin:0}
 .labs-dialog-main h3{font-size:26px}
}

/* Compact, filterable earlier archive; series cards retain their existing layout. */
body.inner-page .labs-filter-tabs{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:24px 0}
body.inner-page .labs-filter-tabs .btn{flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;min-height:46px;padding:10px 16px;white-space:nowrap;scroll-snap-align:start}
.labs-filter-tabs .btn strong{font-size:14px}.labs-filter-tabs .btn span{font-size:13px}
.labs-filtered-archive .px-carousel{margin:0;padding:0}
.labs-filtered-archive .px-rail{gap:16px;scrollbar-width:none;overflow-anchor:none;padding-bottom:8px}
.labs-filtered-archive .px-rail::-webkit-scrollbar,.labs-filter-tabs::-webkit-scrollbar{display:none}
.labs-filtered-archive .px-rail>.labs-earlier-talk{flex-basis:220px;cursor:pointer;padding:0;border:1px solid var(--rule)}
.labs-earlier-talk>.labs-cover{aspect-ratio:1;object-fit:contain;object-position:center;margin:0;border-radius:0}
.labs-earlier-talk .px-card-body{padding:16px}
.labs-format{align-self:flex-start;display:inline-block;width:fit-content;font:600 11px/1.4 'Work Sans',sans-serif;border:1px solid var(--rule);border-radius:5px;padding:3px 7px;margin:0 0 10px;color:var(--body)}
.labs-earlier-talk time{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.labs-earlier-talk h3{font:700 16px/1.4 Poppins,sans-serif;margin:0 0 8px;min-height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.labs-earlier-talk .labs-speaker{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.labs-earlier-talk .px-card-body{min-height:260px}
.labs-earlier-talk .px-read-more{margin-top:auto}
.labs-dialog-main .labs-format{color:var(--head);border-color:var(--rule);margin-right:10px}
.labs-filtered-archive .px-rail:focus-visible{outline-offset:2px}
@media(max-width:767px){
 .labs-filtered-archive .px-rail>.labs-earlier-talk{flex-basis:160px}
 .labs-filtered-archive .px-rail{gap:12px}
 .labs-earlier-talk .px-card-body{padding:12px}
 .labs-earlier-talk h3{font-size:14px}
 .labs-earlier-talk .labs-speaker{font-size:13px}
}

@media(max-width:767px){.labs-filtered-archive .px-carousel{margin-right:-24px}.labs-filtered-archive .px-controls{padding-right:24px}}

/* Poster-only previews: all event information remains in the accessible detail modal. */
.labs-archive .px-rail>.labs-talk{background:transparent;border:0;border-radius:0;overflow:visible;padding:0}
.labs-archive .labs-talk>.labs-cover{background:transparent;border-radius:10px;margin:0;object-fit:contain;object-position:left center}
.labs-archive .labs-talk>.px-card-body{flex:none;height:auto;min-height:0;padding:8px 0 0}
.labs-archive .labs-talk .px-read-more{margin:0;padding:10px 0;min-height:44px}
.labs-archive .labs-talk .px-bio{margin:0;padding:0;border:0}

/* Three readable posters per desktop row; keep phone/tablet sizing intact. */
@media(min-width:1001px){
 .labs-filtered-archive .px-rail>.labs-earlier-talk{flex-basis:calc((100% - 32px)/3)}
}

.labs-talk[data-profile-clickable]:has(.px-read-more)>.labs-cover{cursor:pointer}
