/* Keynote, debate and programme share a single responsive highlight row. */
.event-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:88px}
.event-card{position:relative;min-width:0;min-height:320px;overflow:hidden;text-decoration:none;container-type:inline-size}
.keynote-event-card{display:grid;grid-template-columns:40% 60%;background:var(--purple);color:white}
.event-portrait{overflow:hidden;min-width:0}.event-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform 220ms ease}
.event-card-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:32px;gap:38px}
html body .event-card h2{font-size:clamp(28px,6.6cqw,46px);line-height:1.07;letter-spacing:-.04em;color:inherit;margin:0 0 12px}
.event-card p{font-size:14px;line-height:1.5}.event-card .label{font-size:12px;letter-spacing:0}
.event-card-action{display:flex;align-items:center;gap:14px;justify-content:space-between;font-size:13px;padding-top:20px;border-top:1px solid #ffffff40}
.event-card-action svg,.satellite-cta svg,.satellite-design-toolbar>a svg,.satellite-study-caption>a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0;transition:transform 180ms ease}
.event-card:hover .event-portrait img{transform:scale(1.04)}.event-card:hover .event-card-action svg{transform:translateX(4px)}
.programme-event-card{background:var(--sky);color:var(--ink)}.programme-event-card .event-card-copy{height:100%;max-width:100%;gap:36px}.programme-event-card .event-card-action{border-color:#0a0a0a25}.programme-event-card h2{max-width:65%}
.programme-card-star{position:absolute;right:-50px;top:52px;width:55%;height:200px;fill:none;stroke:var(--purple);stroke-width:1.25;opacity:.45}.programme-card-star circle{fill:var(--sky)}
.event-card:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
@media(max-width:800px){.event-highlights{gap:12px;padding-bottom:64px}.event-card{min-height:280px}.event-card-copy{padding:22px;gap:28px}.keynote-event-card{grid-template-columns:36% 64%}html body .event-card h2{font-size:30px}.event-card .label{font-size:11px}.event-card-action{font-size:12px;gap:8px}.programme-card-star{width:62%;right:-60px}}
@media(max-width:600px){.event-highlights{grid-template-columns:1fr;gap:14px}.event-card{min-height:280px}.keynote-event-card{grid-template-columns:40% 60%}.event-card-copy{padding:26px}html body .event-card h2{font-size:38px}.programme-card-star{width:55%;right:-20px;top:45px}.event-card-action{font-size:13px}}
@media(max-width:359px){.event-card-copy{padding:20px}html body .event-card h2{font-size:32px}}
/* The four banners share content, but each uses a different composition. */
.satellite-design-section{padding:0 0 88px}.satellite-design-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px;font-size:13px}.satellite-design-picker{display:flex;gap:4px;flex-wrap:wrap}.satellite-design-picker button{font:inherit;padding:10px 14px;min-height:44px;border:1px solid #ded9e4;background:white;cursor:pointer;color:var(--ink)}.satellite-design-picker button[aria-pressed=true]{background:var(--purple);color:white;border-color:var(--purple)}.satellite-design-picker button:hover:not([aria-pressed=true]){background:var(--lilac)}.satellite-design-toolbar>a{display:flex;gap:8px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.satellite-concept{position:relative;overflow:hidden;container-type:inline-size;min-width:0;min-height:470px;color:var(--ink)}.satellite-concept[hidden]{display:none!important}
html body .satellite-concept h2{font-size:clamp(38px,6.8cqw,76px);line-height:1.03;letter-spacing:-.045em;font-weight:400;margin:24px 0;color:inherit;word-spacing:-.06em;font-synthesis:none}
.satellite-concept .label{font-size:12px;line-height:1.5;letter-spacing:.02em;text-transform:uppercase;color:inherit}.satellite-text{position:relative;z-index:1;min-width:0}.satellite-description{max-width:510px;font-size:17px;line-height:1.65;margin:0 0 30px}.satellite-note{font-size:12px;line-height:1.5;margin-top:14px;opacity:.75}
.satellite-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:12px 0;border-bottom:1px solid currentColor;font-size:15px;font-weight:500}.satellite-cta:hover svg{transform:translateX(4px)}
.satellite-vector{fill:none;stroke:currentColor;stroke-width:1.5;pointer-events:none}.satellite-design-picker button:focus-visible,.satellite-cta:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.concept-1{background:#f5f5f5;padding:60px;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.editorial-year{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #d9d3df;padding-right:50px;color:var(--purple)}.editorial-year strong{font-family:'IBM Plex Sans',Arial,sans-serif;font-size:clamp(70px,13cqw,170px);line-height:.9;font-weight:400;letter-spacing:-.08em}.editorial-vector{width:100%;max-width:310px;align-self:center}.editorial-vector circle{fill:currentColor;stroke:0}
.concept-2{background:var(--purple);color:#fff;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.orbit-art{position:relative;aspect-ratio:1;width:100%;max-width:530px;justify-self:center}.orbit-vector{position:absolute;inset:0;width:100%;height:100%;stroke:#e1d3f2}.orbit-core{fill:#f09366;stroke:#f09366}.orbit-node{fill:#f09366;stroke:#f09366}.orbit-node-small{fill:#d8e7ff;stroke:#d8e7ff}.orbit-year{position:absolute;left:0;right:0;top:41%;text-align:center;font-family:'IBM Plex Sans',Arial,sans-serif;font-size:clamp(55px,8cqw,116px);line-height:1;font-weight:400;letter-spacing:-.07em}.orbit-caption{position:absolute;bottom:5%;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.04em}.concept-2 .satellite-cta{color:#fff}
.concept-3{background:#d8e7ff;padding:44px 60px;background-image:linear-gradient(#602fa209 1px,transparent 1px),linear-gradient(90deg,#602fa209 1px,transparent 1px);background-size:32px 32px}.diagram-top,.poster-top{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #0a0a0a35;padding-bottom:20px}.diagram-main{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-block:24px}.diagram-main h2{margin:0!important}.diagram-main h2 span{color:var(--purple)}.diagram-vector{width:100%;color:var(--purple)}.diagram-vector circle{fill:#d8e7ff}.diagram-vector circle:nth-last-child(1){fill:var(--lilac)}.diagram-labels{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding-inline:7% 4%;margin-top:-8px}.diagram-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid #0a0a0a35;padding-top:26px}.diagram-bottom .satellite-description{font-size:15px;max-width:490px;margin:0}.diagram-bottom>div{justify-self:end}.diagram-bottom .satellite-cta{padding-top:0}
.concept-4{background:#f09366;color:#19151e;padding:44px 60px}.poster-main{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.poster-main h2{font-size:clamp(45px,7.5cqw,94px)}.poster-art{position:relative;align-self:stretch;min-height:360px;display:flex;align-items:end;justify-content:end}.poster-vector{position:absolute;width:130%;height:auto;top:5%;right:-12%;stroke-width:2.2}.poster-art strong{font-family:'IBM Plex Sans',Arial,sans-serif;font-size:clamp(80px,14cqw,184px);font-weight:400;letter-spacing:-.07em;line-height:1;padding-bottom:20px}.concept-4 .satellite-cta{color:#19151e}
.satellite-study{padding-block:64px 90px}.satellite-study-intro{margin-bottom:56px}.satellite-study-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.07;letter-spacing:-.04em;margin:22px 0}.satellite-study-intro>p:not(.label){max-width:620px;margin-bottom:20px;color:var(--muted)}.satellite-study-grid{display:grid;gap:56px}.satellite-study-caption{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:16px}.satellite-study-caption h2{font:500 17px/1.4 'IBM Plex Sans',Arial,sans-serif!important;letter-spacing:0!important}.satellite-study-caption>a{display:flex;align-items:center;gap:12px;font-size:14px}.satellite-study-caption>a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1023px){.concept-1,.concept-2{padding:42px;gap:38px}.editorial-year{padding-right:28px}.concept-3,.concept-4{padding:32px 42px}.satellite-description{font-size:16px}.poster-main{gap:30px}.poster-art{min-height:320px}}
@media(max-width:700px){.satellite-design-toolbar{gap:12px}.satellite-design-picker{display:grid;grid-template-columns:1fr 1fr;width:100%}.satellite-design-toolbar>a{font-size:12px}.satellite-concept{min-height:0}.concept-1{grid-template-columns:1fr;padding:32px;gap:32px}.editorial-year{padding:0 0 24px;border-right:0;border-bottom:1px solid #d9d3df;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.editorial-year>.label{grid-column:1/-1}.editorial-year strong{font-size:78px}.editorial-vector{max-width:145px;justify-self:end}html body .satellite-concept h2{font-size:clamp(36px,9.3vw,56px);margin:20px 0}.satellite-description{font-size:16px;margin-bottom:22px}.concept-2{grid-template-columns:1fr;padding:32px;gap:28px}.orbit-art{max-width:300px}.orbit-year{font-size:66px}.concept-3,.concept-4{padding:28px}.diagram-top,.poster-top{gap:12px;align-items:start}.diagram-top>.label:last-child{max-width:110px;text-align:right}.satellite-concept .label{font-size:11px}.diagram-main{grid-template-columns:1fr;gap:28px}.diagram-illustration{max-width:420px}.diagram-bottom{grid-template-columns:1fr;gap:24px}.diagram-bottom>div{justify-self:start}.poster-main{grid-template-columns:1fr;gap:8px}.poster-art{min-height:230px}.poster-vector{width:75%;max-width:350px;top:-10%;right:-1%}.poster-art strong{font-size:112px;padding-bottom:0}.satellite-design-section{padding-bottom:64px}.satellite-study{padding-top:42px}.satellite-study-caption{align-items:start}.satellite-study-caption>a{font-size:12px;gap:6px}.satellite-study-intro{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.event-portrait img,.event-card-action svg,.satellite-cta svg{transition:none}}
/* Keep the orbital year legible against the purple field. */
.orbit-core{fill:none;stroke:#e1d3f2}
/* Reserve clear space for the programme title and avoid repeating a large portrait on phones. */
.programme-event-card h2{max-width:none}.programme-card-star{right:22px;top:42px;width:42%;height:165px}
@media(max-width:600px){.keynote-event-card{grid-template-columns:1fr}.keynote-event-card .event-portrait{display:none}.event-card{min-height:250px}.programme-card-star{width:85px;height:85px;top:22px;right:20px;opacity:.55}}

/* Selected poster: the diagram grid, with separate rows for arrow and year. */
.concept-4{background-image:linear-gradient(#19151e0d 1px,transparent 1px),linear-gradient(90deg,#19151e0d 1px,transparent 1px);background-size:32px 32px}
.poster-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px}
.poster-art{min-height:360px;display:grid;grid-template-rows:auto auto;align-content:center;justify-content:stretch;gap:24px;min-width:0;padding:24px 0}
.poster-vector{position:static;width:100%;height:auto;max-width:440px;justify-self:end;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.poster-art>strong{display:block;justify-self:end;padding:0;line-height:1}
@media(max-width:1023px){.poster-main{gap:32px}.poster-art{min-height:320px;gap:20px}}
@media(max-width:700px){.poster-main{grid-template-columns:1fr;gap:24px}.poster-art{min-height:0;padding:0;gap:16px;max-width:380px;width:100%;justify-self:end}.poster-vector{width:100%;max-width:none}.poster-art>strong{font-size:clamp(96px,25vw,140px)}.poster-top .label:last-child{flex-shrink:0}}

/* A two-node arrow replaces the decorative branched diagram. */
.programme-card-star{top:28px;right:28px;width:72px;height:72px;stroke:var(--ink);stroke-width:5;fill:none;stroke-linecap:butt;opacity:1;transform-origin:center}
@media(hover:hover) and (pointer:fine){
 .programme-card-star{transition:transform 180ms ease}
 .programme-event-card:hover .programme-card-star{transform:scale(1.08)}
}
@media(max-width:600px){.programme-card-star{top:20px;right:20px;width:64px;height:64px;opacity:1}}
@media(prefers-reduced-motion:reduce){.programme-card-star{transition:none}.programme-event-card:hover .programme-card-star{transform:none}}

.event-highlights{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.event-highlights .event-card{min-height:370px}
.event-highlights .event-card-copy{padding:26px;gap:24px}
.debate-event-card{background:var(--orange);color:var(--ink)}
.debate-event-card .event-card-copy{height:100%}
.debate-event-card .event-card-action{border-color:#0a0a0a25}
.debate-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.debate-person{min-width:0}
.debate-person .photo-tile{aspect-ratio:1;position:relative;overflow:hidden}
.debate-person .photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.debate-person p{font-size:13px;line-height:1.35;margin-top:10px}
@media(min-width:801px){.event-highlights .keynote-event-card{grid-template-columns:34% 66%}.event-highlights .keynote-event-card .event-card-copy{padding-inline:22px}}
@media(min-width:601px) and (max-width:1000px){.event-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.event-highlights .programme-event-card{grid-column:1/-1;min-height:250px}.event-highlights .programme-event-card .event-card-copy{max-width:70%}.event-highlights .programme-card-star{width:180px}}
@media(max-width:600px){.event-highlights{grid-template-columns:1fr}.event-highlights .event-card{min-height:280px}.event-highlights .debate-event-card{min-height:360px}.debate-portraits{max-width:320px}.event-highlights .event-card-copy{padding:26px}}

/* Full-bleed portrait bands align the three invitations and give faces room. */
.event-highlights .event-card{display:flex;flex-direction:column;min-height:528px}
.event-highlights .event-portrait,.event-highlights .debate-portraits{flex:0 0 224px;height:224px;width:100%;padding:0;margin:0}
.event-highlights .keynote-event-card .event-portrait{display:block}
.event-highlights .debate-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:none}
.event-highlights .debate-portraits .photo-tile{position:relative;overflow:hidden;min-width:0;height:100%}
.event-highlights .photo-tile img,.event-highlights .photo-tile canvas{object-position:50% 36%}
.event-highlights .event-card .event-card-copy{flex:1;padding:26px;gap:22px;max-width:none;height:auto}
.event-highlights .event-card .event-card-body{flex:1}
html[data-typeface="source"] body .event-highlights .event-card h2{font-size:clamp(32px,9.4cqw,44px);line-height:1.04;font-weight:400;letter-spacing:-.025em;margin:0 0 14px}
.event-highlights .event-card p{margin:0}
.event-affiliation-detail{font-size:12px;opacity:.8}
.debate-person-credits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.event-highlights .debate-person-credits p{font-size:14px;line-height:1.35}
.debate-person-credits span{display:block;margin-top:6px;font-size:12px;opacity:.75}
.event-highlights .event-card-action{margin-top:auto;min-height:40px;padding-top:16px}
.event-highlights .programme-event-card .event-card-body{display:flex;flex-direction:column;justify-content:center;padding-top:58px;padding-bottom:50px}
.programme-event-card .event-card-body{transform-origin:left center}
@media(hover:hover) and (pointer:fine){
 .programme-event-card .event-card-body{transition:transform 180ms ease}
 .programme-event-card:hover .event-card-body{transform:scale(1.05)}
}
@media(prefers-reduced-motion:reduce){
 .programme-event-card .event-card-body{transition:none}
 .programme-event-card:hover .event-card-body{transform:none}
}
html[data-typeface="source"] body .event-highlights .programme-event-card h2{font-size:clamp(48px,14.6cqw,68px);line-height:1.02;font-weight:300;letter-spacing:-.035em;margin-bottom:20px}
.event-highlights .programme-card-star{top:68px;right:26px;width:72px;height:72px}
@media(min-width:601px) and (max-width:1000px){
 .event-highlights .programme-event-card{min-height:320px}
 .event-highlights .programme-event-card .event-card-body{padding:30px 0}
 .event-highlights .programme-card-star{top:62px;right:40px;width:130px;height:130px}
 html[data-typeface="source"] body .event-highlights .programme-event-card h2{font-size:60px}
}
@media(max-width:600px){
 .event-highlights .event-card{min-height:0}
 .event-highlights .event-portrait,.event-highlights .debate-portraits{flex-basis:224px;height:224px}
 .event-highlights .event-card .event-card-copy{padding:24px;gap:22px;min-height:274px}
 .event-highlights .programme-event-card .event-card-copy{min-height:366px}
 .event-highlights .programme-event-card .event-card-body{padding-block:40px}
 .event-highlights .programme-card-star{top:68px;right:24px;width:64px;height:64px}
}
