/* The homepage's IBM Plex system, extended to programmes and past editions. */
.site-page{padding-bottom:112px}
.site-page-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:80px;padding-block:88px 76px;align-items:end}
html[data-mono-font="plex"] .site-page-hero h1{font-family:"IBM Plex Sans",Arial,sans-serif;font-size:clamp(54px,7.3vw,104px);font-weight:500;line-height:1.03;letter-spacing:-.045em;word-spacing:normal;margin-top:25px}
.site-page-hero h1 span{color:var(--purple)}
.page-intro{max-width:470px}
.page-intro>p:not(.label){font-size:18px;color:var(--muted);line-height:1.65;margin-top:18px}
.page-intro .plain-link{margin-top:20px}
.page-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;font-weight:500}
.site-page .label{font-size:14px}
.archive-editions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-edition{display:flex;flex-direction:column;align-items:start;min-height:386px;padding:30px;transition:transform 180ms ease,box-shadow 180ms ease}
.archive-edition:nth-child(3n+1){background:var(--lilac)}
.archive-edition:nth-child(3n+2){background:var(--orange)}
.archive-edition:nth-child(3n){background:var(--sky)}
.archive-edition:hover{transform:translateY(-4px);box-shadow:0 8px 0 var(--ink)}
html[data-mono-font="plex"] .archive-edition h2{font-size:clamp(52px,5.6vw,80px);line-height:1;letter-spacing:-.055em;margin-block:42px 24px}
.archive-edition p{font-size:16px;line-height:1.6}
.archive-edition .edition-keynotes{margin-top:12px;max-width:330px;color:#303030;flex:1}
.archive-edition .plain-link{margin-top:26px;min-height:44px}
.source-note{display:flex;justify-content:space-between;align-items:baseline;gap:32px;padding-block:24px;border-block:1px solid var(--line);font-size:15px;color:var(--muted)}
.source-note p{max-width:800px}
.source-note a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.archive-index-note{margin-top:60px}
.edition-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding-block:24px;border-bottom:1px solid var(--line)}
.edition-nav .label{color:var(--muted);margin-right:auto}
.edition-nav a{font-size:15px;min-height:44px;display:inline-flex;align-items:center;padding:8px 10px}
.edition-nav a:hover{background:var(--sky)}
.edition-nav a[aria-current="page"]{background:var(--purple);color:white}
.programme-day{padding-top:72px;scroll-margin-top:25px}
.day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:30px}
html[data-mono-font="plex"] .day-heading h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;line-height:1.16}
.day-heading .label{color:var(--muted);white-space:nowrap}
.programme-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}
.programme-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.programme-table th{font-size:14px;font-weight:500;padding:16px 24px 16px 0;color:var(--muted);border-block:1px solid var(--line)}
.programme-table th:nth-child(1){width:52%}
.programme-table th:nth-child(2){width:48%}
.programme-table td{padding:28px 28px 28px 0;vertical-align:top;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6;overflow-wrap:break-word}
.programme-table td:last-child{padding-right:16px}
.programme-table tbody tr{transition:background 160ms ease}
.programme-table tbody tr:hover{background:#f7f5fa}
.programme-table .speaker-cell{font-weight:500}
.programme-table .affiliation-cell{color:var(--muted)}
.cell-label{display:none}
html[data-mono-font="plex"] .presentation-title{font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:20px;letter-spacing:-.025em;line-height:1.35;margin:0;overflow-wrap:break-word}
.presentation-type{display:inline-block;font-size:13px;font-weight:500;line-height:1.4;padding:4px 8px;margin-bottom:12px;background:var(--sky)}
.presentation-type.keynote{background:var(--purple);color:#fff}
.presentation-type.roundtable{background:var(--orange);color:var(--ink)}
.author-details{margin-top:16px;font-size:14px;color:var(--muted)}
.author-details summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:4px;padding-block:4px;min-height:30px}
.author-details summary:hover{color:var(--ink)}
.author-details p{font-size:14px;line-height:1.7;margin-top:10px}
.paper-links{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}
.paper-links a{font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:30px;padding-block:4px}
.programme-page-keynote{margin-top:88px}
.site-page .keynote-text h2{margin-block:36px 25px}
.site-page .keynote-image{min-height:600px}
.site-page details.bio{border-top:1px solid #b4c9e5;padding-top:18px;width:100%;max-width:560px}
.bio summary{font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding-block:5px}
.bio p{margin-top:18px}
.programme-release{display:grid;grid-template-columns:1.8fr 1fr;gap:64px;padding:45px;background:var(--lilac);align-items:center}
.programme-release h2{max-width:760px;margin-block:22px}
html[data-mono-font="plex"] .programme-release h2{font-size:clamp(30px,3.4vw,48px);line-height:1.16}
.programme-release p:not(.label){font-size:17px;line-height:1.65;max-width:690px}
.release-action{display:flex;flex-direction:column;align-items:start;gap:18px;justify-self:end}
.release-action p{font-size:14px!important}
.programme-context{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:88px 66px}
.programme-context h2{margin-bottom:28px}
.programme-context p{font-size:17px;color:var(--muted);line-height:1.7;max-width:610px;margin-bottom:20px}
.programme-context .label{color:var(--ink);font-size:14px;margin-bottom:22px}
.closed-chip{display:inline-flex;background:var(--orange);color:var(--ink);padding:8px 14px;font-size:14px;line-height:1.5;margin-bottom:22px}
.archive-cta{display:flex;align-items:baseline;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:24px}
.archive-cta p{font-size:17px;color:var(--muted)}
.en-header nav>a[aria-current="page"]{color:var(--purple);text-decoration:none}
@media(max-width:1023px){.site-page-hero{gap:40px;padding-top:70px}.archive-editions{gap:18px}.archive-edition{padding:24px;min-height:370px}.programme-release{padding:36px;gap:36px;grid-template-columns:1.6fr 1fr}.programme-table td{padding-right:22px}.programme-context{gap:40px}}
@media(max-width:800px){.site-page{padding-bottom:80px}.site-page-hero{grid-template-columns:1fr;gap:30px;padding-block:64px 52px}.page-intro{max-width:640px}.page-intro>p:not(.label){font-size:17px}.page-intro .plain-link{margin-top:12px}.archive-editions{grid-template-columns:1fr 1fr;gap:20px}.archive-edition{min-height:360px;padding:28px}html[data-mono-font="plex"] .archive-edition h2{font-size:70px;margin-top:36px}.source-note{flex-direction:column;gap:12px}.source-note a{min-height:40px;display:inline-flex;align-items:center}.programme-release{grid-template-columns:1fr;gap:24px}.release-action{justify-self:start}.programme-page-keynote{margin-top:70px}.site-page .keynote-image{min-height:0;aspect-ratio:4/3}.programme-context{grid-template-columns:1fr;padding-top:66px;gap:40px}.archive-cta{align-items:start;flex-direction:column;gap:8px}.programme-table th:nth-child(1){width:52%}.programme-table th:nth-child(2){width:48%}.programme-table td{padding:24px 18px 24px 0;font-size:15px}html[data-mono-font="plex"] .presentation-title{font-size:18px;line-height:1.4}.edition-nav{gap:8px 12px}.edition-nav .label{width:100%}}
@media(max-width:600px){.programme-table,.programme-table tbody{display:block}.programme-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.programme-table tr{display:grid;grid-template-columns:1fr;gap:18px;padding-block:28px;border-bottom:1px solid var(--line)}.programme-table tr:first-child{border-top:1px solid var(--line)}.programme-table td,.programme-table td:last-child{display:block;border:0;padding:0;font-size:16px}.programme-table td.title-cell{grid-row:1}.programme-table td.speaker-cell{grid-row:2}.cell-label{display:block;font-size:13px;font-weight:400;color:var(--muted);line-height:1.5;margin-bottom:4px}.programme-table .speaker-cell{font-weight:500}html[data-mono-font="plex"] .presentation-title{font-size:20px;letter-spacing:-.025em}.author-details{margin-top:14px}.author-details summary{min-height:36px}.paper-links a{min-height:36px}.programme-day{padding-top:52px}.day-heading{align-items:start;flex-direction:column;gap:8px;margin-bottom:24px}.day-heading .label{font-size:14px}.edition-nav{gap:4px 6px}.edition-nav a{padding-inline:8px}}
@media(max-width:479px){.site-page-hero{padding-block:54px 44px;gap:25px}html[data-mono-font="plex"] .site-page-hero h1{font-size:clamp(44px,12vw,58px);letter-spacing:-.04em;margin-top:20px}.page-intro>p:not(.label){font-size:16px}.page-meta{gap:12px 18px}.archive-editions{grid-template-columns:1fr;gap:18px}.archive-edition{min-height:350px;padding:28px}html[data-mono-font="plex"] .archive-edition h2{font-size:76px}.archive-index-note{margin-top:40px}.source-note{font-size:14px}.programme-release{padding:28px}html[data-mono-font="plex"] .programme-release h2{font-size:clamp(26px,7.4vw,34px);letter-spacing:-.04em}.programme-release p:not(.label){font-size:16px}.programme-context{padding-block:54px}.programme-context p{font-size:16px}.site-page .keynote-image{aspect-ratio:1}.site-page .keynote-text{padding:28px}.programme-page-keynote{margin-top:56px}.site-page .label{font-size:13px}.programme-table td:last-child{padding-right:0}}
@media(prefers-reduced-motion:reduce){.archive-edition,.programme-table tbody tr{transition:none}.archive-edition:hover{transform:none}}

/* Pair each recorded affiliation with its author, on its own line. */
.author-credits{list-style:none;margin:0;padding:0}
.author-credits li{margin:0;padding:0}
.author-credits li+li{margin-top:8px}
.author-affiliation{color:var(--muted)}
.programme-table .speaker-cell{font-weight:400}
@media(min-width:601px) and (max-width:800px){.programme-table td{font-size:14px;padding-right:16px}html[data-mono-font="plex"] .presentation-title{font-size:17px}}

/* Preserve the keynote's affiliation from that edition, beside every name. */
.keynote-summary-label{font-size:12px!important;font-weight:500;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}
.keynote-summary{display:flex;flex-direction:column;gap:3px;margin-top:12px}
.keynote-summary strong{font-size:16px;font-weight:500;line-height:1.45}.keynote-summary span{font-size:14px;line-height:1.5}
.archive-keynotes{margin-top:24px;color:var(--ink)}.archive-keynotes .keynote-summary span{color:var(--muted)}
.archive-edition .edition-keynotes{max-width:none}.archive-edition .keynote-summary span{color:#38343d}
/* Author credits and presentation titles use the same text size. */
html[data-mono-font="plex"] .programme-table .presentation-title{font-family:inherit;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:normal;margin:0;word-spacing:normal}

/* Read each presentation as one entry: title first, author credits below. */
.archive-presentations{border-top:1px solid var(--line)}
.archive-presentation{padding:26px 0 28px;border-bottom:1px solid var(--line)}
html[data-typeface="source"] body .archive-presentation .presentation-title{font-family:var(--body-type);font-size:16px;font-weight:600;line-height:1.55;letter-spacing:normal;word-spacing:normal;color:var(--purple);margin:0 0 9px;overflow-wrap:anywhere}
.archive-presentation .presentation-authors{font-size:16px;font-weight:400;line-height:1.7;max-width:1200px;margin:0;overflow-wrap:anywhere}
.archive-presentation .presentation-type{margin-bottom:8px}
.archive-presentation .paper-links{margin-top:12px}
@media(max-width:600px){.archive-presentation{padding:22px 0 24px}.archive-presentation .presentation-authors{line-height:1.65}}

/* Give the programme portrait a compact frame beside the biography. */
.site-page .programme-page-keynote{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;padding-right:48px;background:var(--sky);gap:32px}
.site-page .programme-page-keynote .keynote-image{width:100%;max-width:360px;min-height:0;aspect-ratio:4/5;justify-self:center;align-self:center}
@media(max-width:900px){.site-page .programme-page-keynote{grid-template-columns:1fr;padding-right:0;gap:0}.site-page .programme-page-keynote .keynote-image{width:calc(100% - 56px);max-width:320px;margin:0 auto 36px}}
@media(max-width:479px){.site-page .programme-page-keynote .keynote-image{max-width:280px;margin-bottom:28px}}
/* The confirmed debate sits between keynote and programme context. */
.programme-debate{background:var(--orange);padding:clamp(26px,4vw,56px);display:grid;grid-template-columns:1fr 1.15fr;gap:48px;margin-block:64px}
.programme-debate h2{font-size:clamp(44px,5vw,72px);margin-top:28px}
.programme-debaters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.programme-debaters article{min-width:0}
.programme-debaters .photo-tile{position:relative;overflow:hidden;aspect-ratio:1;max-width:240px}
.programme-debaters img{width:100%;height:100%;object-fit:cover;display:block}
.programme-debaters h3{font-size:20px;font-weight:400;margin-top:18px;line-height:1.3}
.programme-debaters p{font-size:14px;margin-top:6px}
.programme-debaters a{display:inline-flex;min-height:44px;align-items:center;font-size:14px}
@media(max-width:800px){.programme-debate{grid-template-columns:1fr;gap:28px}.programme-debaters .photo-tile{max-width:none}}
