/* Each edition has its own story, with the same editorial system as MCON 2026. */
.recap-page {background:#fff;color:#111}
.recap-page [hidden] {display:none!important}
.recap-page h1,.recap-page h2,.recap-page h3 {font-family:var(--display)}
.recap-page .orange {color:var(--orange)}
.recap-page .recap-opening {color:white}
.recap-opening .year-opening-aside img {height:340px;object-position:center}
.recap-opening .year-opening-aside p {max-width:540px}
.recap-venue {display:block;font-size:12px;color:#aaa;margin-top:7px}
.recap-jump {position:sticky;top:var(--site-chrome-height);z-index:20;border-bottom:1px solid #d2d2cb}
.recap-page .section-pad {scroll-margin-top:60px}
.recap-page .section-heading {align-items:end}
.recap-page .section-heading h2 {font-size:clamp(48px,5vw,76px);line-height:.96}
.recap-page .section-heading p {font-size:15px;line-height:1.8;max-width:440px}
.recap-story {display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start}
.recap-story figure img {width:100%;aspect-ratio:4/3;object-fit:cover}
.recap-story figcaption {font-size:11px;line-height:1.6;color:#666;margin-top:13px}
.recap-programs article {display:flex;gap:23px;padding:25px 0;border-bottom:1px solid #ddd}
.recap-programs article:first-child {padding-top:0}
.recap-programs article>span {font-size:11px;color:#73736d;padding-top:6px}
.recap-programs h3 {font-size:31px;line-height:1.1}
.recap-programs p {font-size:14px;line-height:1.8;color:#62625c;margin-top:13px}
.recap-programs .text-link {font-size:13px}
.recap-activities {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.recap-activities img {width:100%;aspect-ratio:4/3;object-fit:cover;background:#eeeee9}
.recap-activities h3 {font-size:26px;line-height:1.12;margin-top:20px;max-width:370px}
.recap-speakers {background:#f2f2ee}
.recap-tools {display:flex;gap:28px;align-items:end;margin:32px 0;flex-wrap:wrap}
.recap-tools label {display:block;font-size:12px;font-weight:600;width:min(100%,360px)}
.recap-tools input,.recap-tools select {display:block;width:100%;background:#fff;border:1px solid #bbb;border-radius:0;padding:14px 15px;font:400 14px DM,sans-serif;color:#111;min-height:49px;margin-top:9px}
.recap-tools input:focus,.recap-tools select:focus {outline:2px solid var(--orange);outline-offset:3px}
.recap-tools>p {font-size:12px;color:#666;margin-left:auto;padding-bottom:14px}
.recap-people {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 26px}
.recap-people article>div {background:#e3e3dc;aspect-ratio:4/4.5;overflow:hidden}
.recap-people img {width:100%;height:100%;object-fit:cover;object-position:center top}
.recap-initials {display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:700 70px var(--display);color:#777}
.recap-people h3 {font-size:28px;margin-top:19px;line-height:1.05}
.recap-people p {font-size:12px;line-height:1.6;color:#62625c;margin-top:9px;max-width:280px}
.recap-more {display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cfcfc7;padding-top:24px;margin-top:38px;gap:24px}
.recap-more p {font-size:12px;color:#62625c}
.recap-button {border:1px solid #999;background:transparent;color:#111;min-height:48px;font-size:13px}
.recap-button:hover {background:#111;color:white;border-color:#111}
.recap-button span {font-size:24px;font-weight:400;line-height:1}
.recap-schedule {background:#111;color:#fff}
.recap-schedule .section-heading p,.recap-schedule .recap-tools>p {color:#bbb}
.recap-day-tabs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #555;margin-top:40px}
.recap-day-tabs button {text-align:left;padding:20px 22px;background:transparent;color:white;border:1px solid #555;border-bottom:0;margin-right:-1px;min-height:90px}
.recap-day-tabs button[aria-pressed="true"] {background:var(--orange);color:#111;border-color:var(--orange)}
.recap-day-tabs button:hover:not([aria-pressed="true"]) {background:#282828}
.recap-day-tabs span {display:block;font-size:12px;margin-bottom:7px}
.recap-day-tabs strong {font:700 28px/.95 var(--display);display:block}
.recap-schedule .recap-tools input {background:#222;border-color:#666;color:#fff}
.recap-schedule .recap-tools input::placeholder {color:#bbb}
.recap-session-list {border-top:1px solid #555}
.recap-session-list details {border-bottom:1px solid #444}
.recap-session-list summary {display:grid;grid-template-columns:170px 1fr 24px;gap:30px;align-items:start;padding:27px 0;cursor:pointer;list-style:none}
.recap-session-list summary::-webkit-details-marker {display:none}
.recap-session-list summary:hover .recap-session-title>strong {color:var(--orange)}
.recap-session-time {font-size:14px;font-weight:600;color:var(--orange);padding-top:3px}
.recap-session-time small,.recap-session-title small {display:block;font:400 12px/1.7 DM,sans-serif;color:#bdbdb7;margin-top:8px}
.recap-session-title>strong {display:block;font:700 29px/1.12 var(--display);max-width:950px}
.recap-plus {font-size:25px;font-weight:400;line-height:1.2;text-align:center;transition:transform .2s}
.recap-session-list details[open] .recap-plus {transform:rotate(45deg)}
.recap-session-list details[open] .recap-session-title>strong {color:var(--orange)}
.recap-session-body {padding:0 55px 30px 200px;max-width:1100px;color:#d1d1cc;font-size:14px;line-height:1.85}
.recap-session-body>p {margin-bottom:16px;white-space:pre-line;max-width:none}
.recap-session-body>p:last-child {margin-bottom:0}
.recap-session-tag {font-size:12px;color:#bbb}
.recap-session-speakers strong {display:block;color:white;font-size:12px;margin-bottom:7px}
.recap-partner-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.recap-partner-grid article {padding:28px 14px;border-bottom:1px solid #ddd;text-align:center}
.recap-partner-grid article>a,.recap-partner-grid article>div {display:flex;height:80px;align-items:center;justify-content:center;margin-bottom:20px}
.recap-partner-grid img {max-width:85%;max-height:75px;width:auto;height:auto;object-fit:contain}
.recap-partner-grid h3 {font:600 12px/1.5 DM,sans-serif;letter-spacing:0}
.recap-partner-grid p {font-size:10px;color:#666;margin:6px auto 0;line-height:1.6}
.recap-footnote {font-size:12px;line-height:1.8;color:#666;margin-top:35px}
.recap-empty {padding:45px 0;border-bottom:1px solid #999;font-size:14px}
.recap-empty .text-link {background:none;padding:10px 0;font-size:13px;margin-top:16px}
.recap-other-years {background:#f2f2ee;display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:center}
.recap-other-years h2 {font-size:48px}
.recap-other-years nav {display:flex;gap:30px}
.recap-other-years a {flex:1;font:700 32px var(--display);display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #999}

/* A photographic index, rather than a list of dates. */
.history-index {padding-top:0!important}
.history-card {padding:44px 0;display:grid;grid-template-columns:1fr 1.1fr;gap:7%;border-top:1px solid #ccc;align-items:center}
.history-card .history-photo {display:block;overflow:hidden}
.history-card img {width:100%;aspect-ratio:3/2;object-fit:cover}
.history-card .history-year {display:block;font:700 clamp(80px,9vw,145px)/.9 var(--display);letter-spacing:-.03em;margin-bottom:20px}
.history-card time {font-size:12px;display:block;color:#646460;margin-bottom:22px}
.inner-page .history-card h2 {font-size:clamp(32px,3.2vw,50px);line-height:1.03}
.history-card p {font-size:14px;color:#646460;margin:18px 0;max-width:430px;line-height:1.8}
.history-card .text-link {font-size:13px;margin-top:8px}
.history-shortcuts {display:flex;gap:22px;flex-wrap:wrap;margin-top:27px;font-size:11px;color:#666}
.history-shortcuts a {border-bottom:1px solid #bbb;padding-bottom:3px}
.history-shortcuts a:hover {color:#111;border-color:#111}
.directory-more {display:flex;justify-content:center;padding-top:35px}
.directory-more .button {border:1px solid #777;background:transparent;color:#111}
.directory-more .button:hover {background:#111;color:white}
.directory-more[hidden] {display:none}
.related-press {background:#f2f2ee}
.related-press>h2 {font-size:45px;margin-bottom:35px}
.related-press-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.related-press-grid img {width:100%;aspect-ratio:16/10;object-fit:cover}
.related-press-grid time {font-size:11px;color:#666;display:block;margin-top:18px}
.inner-page .related-press-grid h3 {font-size:28px;line-height:1.12;margin-top:12px}
.related-press-grid .text-link {font-size:12px}
@media(max-width:1000px){
 .recap-opening .year-opening-aside img{height:290px}.recap-story{gap:5%}.recap-programs h3{font-size:26px}.recap-programs article{padding:20px 0}
 .recap-people{gap:30px 20px}.recap-people h3{font-size:25px}.recap-tools label{width:310px}.recap-partner-grid{gap:0 18px}.recap-session-list summary{grid-template-columns:145px 1fr 24px;gap:23px}.recap-session-body{padding-left:168px}
 .recap-other-years{display:block}.recap-other-years nav{margin-top:20px}.recap-other-years a{font-size:29px}
}
@media(max-width:700px){
 .recap-page .section-pad{scroll-margin-top:40px}
 .recap-page .section-heading{display:block}.recap-page .section-heading p{margin-top:25px}.recap-page .section-heading h2{font-size:51px}
 .recap-jump .text-link{font-size:11px;gap:5px;padding:19px 10px}.recap-jump svg{width:14px;height:14px}.recap-story{grid-template-columns:1fr;gap:35px}
 .recap-activities{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.recap-activities h3{font-size:22px}
 .recap-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.recap-people h3{font-size:27px}.recap-people p{font-size:12px}
 .recap-tools{gap:16px}.recap-tools label{width:100%}.recap-tools>p{margin:0;padding:0;width:100%}
 .recap-day-tabs{display:flex;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:#777 #222}.recap-day-tabs button{flex:0 0 135px;padding:17px 16px;min-height:84px}.recap-day-tabs strong{font-size:24px;white-space:nowrap}
 .recap-session-list summary{grid-template-columns:1fr 24px;gap:13px 18px;padding:23px 0}.recap-session-time{grid-column:1/-1;font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}.recap-session-time small{margin:0;font-size:11px}.recap-session-title>strong{font-size:27px}.recap-session-body{padding:0 0 25px;font-size:14px}.recap-session-title small{font-size:11px}
 .recap-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.recap-partner-grid article{padding:25px 7px}.recap-partner-grid article>a,.recap-partner-grid article>div{height:65px}.recap-partner-grid img{max-height:60px}
 .recap-more{align-items:flex-start;flex-direction:column;gap:18px}.recap-button{width:100%;justify-content:space-between;padding:15px 18px}
 .recap-other-years h2{font-size:40px}.recap-other-years nav{gap:20px}.recap-other-years a{font-size:24px;display:block}.recap-other-years svg{width:17px;height:17px;margin-top:15px}
 .history-card{grid-template-columns:1fr;gap:27px;padding:32px 0 40px}.history-card .history-year{font-size:95px}.history-card h2{font-size:38px}.history-card time{margin-bottom:18px}.history-card p{max-width:100%}.history-shortcuts{margin-top:23px}
 .related-press-grid{grid-template-columns:1fr;gap:35px}.related-press-grid>a{display:block}.related-press>h2{font-size:40px}
}
@media(max-width:540px){
 .recap-opening .year-opening-aside img{height:230px}.recap-jump{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 16px}
 .recap-jump .text-link{font-size:10px;padding:17px 7px!important;border:0!important;justify-content:center}.recap-jump svg{display:none}
 .recap-page .section-pad{scroll-margin-top:35px}
}
