/* Summit archives: source content rendered in the site's own visual language. */
.summit-page { --summit-line: #d3e1e9; --summit-paper: #f2f7fa; }
.summit-page .summit-shell { width: min(100%, 1536px); margin-inline: auto; padding-inline: clamp(22px, 4vw, 64px); }
.summit-page :is(h1,h2,h3) { color: var(--blue-deep); }
.summit-page h1 { font-size: clamp(44px, 5.8vw, 84px); font-weight: 500; letter-spacing: -.05em; line-height: 1.04; }
.summit-page h2 { font-size: clamp(32px, 3.3vw, 49px); font-weight: 500; letter-spacing: -.035em; line-height: 1.14; }
.summit-page h3 { font-size: 23px; font-weight: 600; line-height: 1.35; }
.summit-page p { color: var(--copy); font-size: 18px; line-height: 1.7; }
.summit-page p + p { margin-top: 15px; }
.summit-page :is(a,button,summary):focus-visible { outline: 3px solid var(--yellow); outline-offset: 5px; }
.summit-years { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-block: 23px; border-bottom: 1px solid var(--summit-line); }
.summit-years a { min-height: 40px; display: inline-flex; align-items: center; color: var(--copy); font-size: 16px; }
.summit-years a[aria-current] { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 8px; font-weight: 700; }
.summit-hero { padding-block: clamp(38px, 5vw, 80px); }
.summit-hero-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(30px,5vw,80px); align-items: center; }
.summit-hero h1 span { display: block; }
.summit-hero h1 + p { margin-top: 28px; }
.summit-page .summit-date { color: var(--blue-deep); font-size: clamp(21px,2vw,27px); font-weight: 600; line-height: 1.4; }
.summit-hero .btn-primary { margin-top: 28px; gap: 16px; display: inline-flex; }
.summit-hero figure { margin: 0; min-width: 0; }
.summit-hero img { width: 100%; height: auto; display: block; }
.summit-hero figcaption { margin-top: 12px; color: var(--copy); font-size: 14px; }
.summit-inline { display: flex; align-items: center; gap: 12px; width: fit-content; margin-top: 20px; color: var(--blue-deep); font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; line-height: 1.6; }
.summit-section { padding-block: clamp(48px,6vw,84px); }
.summit-tint { background: var(--summit-paper); }
.summit-recap { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(35px,8vw,125px); align-items: start; }
.summit-recap h2 { margin-bottom: 24px; }
.summit-program { list-style: none; padding: 0; margin: 12px 0 26px; }
.summit-program li { padding-block: 14px; border-bottom: 1px solid var(--summit-line); font-size: 17px; line-height: 1.65; color: var(--copy); }
.summit-section-head { margin-bottom: 34px; }
.summit-section-head p { margin-top: 15px; }
.summit-speakers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.summit-speaker { width: 100%; min-width: 0; border: 1px solid var(--summit-line); padding: 22px; background: #fff; text-align: left; font: inherit; cursor: pointer; }
.summit-speaker:hover { border-color: var(--blue); }
.summit-speaker > img { width: 100%; height: 230px; object-fit: contain; margin-bottom: 22px; }
.summit-speaker-name { display: block; color: var(--blue-deep); font-size: 22px; font-weight: 600; line-height: 1.35; }
.summit-speaker-more { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 16px; color: var(--blue); padding-block: 5px; }
.summit-contributors { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 30px; }
.summit-contributors li { color: var(--blue-deep); font-size: 19px; padding-block: 18px; border-bottom: 1px solid var(--summit-line); }
.summit-page .summit-small { font-size: 16px; margin-top: 22px; }
.summit-small a { text-decoration: underline; text-underline-offset: 4px; }
.summit-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px,2vw,25px); align-items: start; }
.summit-photo { display: grid; place-items: center; min-width: 0; aspect-ratio: 4/3; background: var(--summit-paper); cursor: zoom-in; }
.summit-photo img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.summit-sponsors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: 40px; margin-top: 40px; }
.summit-sponsors img { height: 100px; width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.summit-next { border-top: 1px solid var(--summit-line); }
.summit-next .summit-shell,.summit-upcoming { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.summit-next p { margin-top: 18px; }
.summit-next .btn-primary { flex-shrink: 0; }
.summit-upcoming h2 { margin-bottom: 20px; }
.summit-history { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.summit-year-card { min-width: 0; padding-bottom: 24px; border-bottom: 1px solid var(--summit-line); }
.summit-year-card > div { aspect-ratio: 3/2; background: var(--summit-paper); margin-bottom: 24px; display: flex; align-items: center; }
.summit-year-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.summit-year-card h3 { margin-bottom: 10px; }
.summit-page .summit-card-date { margin-bottom: 10px; font-size: 16px; }
.summit-year-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.summit-year-card:hover { opacity: 1; filter: none; transform: none; }
.summit-lightbox { position: fixed; inset: 0; margin: auto; border: 0; background: #fff; padding: 58px 22px 20px; width: min(1200px,calc(100vw - 30px)); max-width: calc(100vw - 30px); max-height: calc(100dvh - 30px); overflow: auto; }
.summit-lightbox::backdrop { background: #12324ce6; }
.summit-lightbox > img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 160px); object-fit: contain; margin-inline: auto; }
.summit-lightbox > p { margin-top: 16px; text-align: center; }
.summit-photo-close { position: absolute; right: 10px; top: 8px; width: 44px; height: 44px; background: white; color: var(--blue-deep); border: 1px solid var(--summit-line); font-size: 28px; cursor: pointer; }
html.summit-modal-open { overflow: hidden; }
.summit-bio-dialog { position: fixed; inset: 0; margin: auto; padding: 0; width: min(940px,calc(100vw - 40px)); max-width: none; max-height: min(760px,calc(100dvh - 40px)); overflow: hidden; overscroll-behavior: contain; border: 0; border-radius: 5px; background: white; color: var(--copy); box-shadow: 0 30px 85px #20354545; }
.summit-bio-dialog::backdrop { background: #1d3040c2; }
.summit-bio-toolbar { position: relative; height: 56px; border-bottom: 1px solid var(--summit-line); }
.summit-bio-inner { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); max-height: min(704px,calc(100dvh - 96px)); overflow: auto; }
.summit-bio-photo { display: flex; align-items: center; justify-content: center; min-height: 490px; background: var(--summit-paper); }
.summit-bio-photo img { display: block; width: 100%; max-height: 680px; object-fit: contain; }
.summit-bio-copy { min-width: 0; align-self: center; padding: 36px clamp(28px,4vw,48px) 40px; }
.summit-bio-copy h2 { font-size: clamp(32px,3.8vw,48px); }
.summit-bio-copy p { margin-top: 24px; font-size: 17px; line-height: 1.72; }
.summit-bio-close { position: absolute; top: 5px; right: 12px; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--summit-line); border-radius: 50%; background: white; color: var(--blue-deep); font-size: 26px; cursor: pointer; }
.summit-agenda-hero { padding-block: 38px 55px; background: var(--summit-paper); }
.summit-agenda-hero .summit-inline { margin: 0 0 32px; }
.summit-agenda-hero h1 { font-size: clamp(39px,5vw,68px); }
.summit-agenda-hero h1 + p { margin-top: 20px; }
.summit-agenda-hero p + .summit-inline { margin-top: 25px; margin-bottom: 0; }
.summit-agenda { padding-bottom: 70px; }
.summit-agenda-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 15px; padding-block: 30px; color: var(--copy); }
.summit-agenda-toolbar button { background: white; color: var(--blue-deep); border: 1px solid var(--summit-line); padding: 12px 17px; font: inherit; cursor: pointer; }
.summit-agenda-day { margin-bottom: 45px; border-top: 2px solid var(--blue-deep); }
.summit-agenda-day > header { padding-block: 28px; }
.summit-agenda-day h2 { font-size: clamp(27px,3vw,38px); }
.summit-agenda-day header p { margin-top: 12px; font-size: 16px; }
.summit-agenda-day > ol { list-style: none; margin: 0; padding: 0; }
.summit-session { display: grid; grid-template-columns: 185px minmax(0,1fr); gap: 35px; padding-block: 25px; border-top: 1px solid var(--summit-line); }
.summit-session-time { padding-top: 3px; color: var(--blue); font-size: 16px; line-height: 1.6; font-weight: 650; }
.summit-session-copy { min-width: 0; }
.summit-session h3 { font-size: clamp(20px,2vw,25px); }
.summit-session-break { padding-block: 17px; }
.summit-session-break h3 { font-size: 18px; font-weight: 400; color: var(--copy); }
.summit-page .summit-session-location { margin-top: 10px; font-size: 15px; }
.summit-session-detail { margin-top: 15px; }
.summit-session-detail summary { cursor: pointer; color: var(--blue); font-size: 16px; padding-block: 5px; }
.summit-session-detail > div { margin-top: 20px; max-width: 1000px; }
.summit-session-detail p { font-size: 17px; }
.summit-session-detail .session-sub-item { padding-block: 16px; border-bottom: 1px solid var(--summit-line); }
.summit-session-detail .session-sub-item:first-child { padding-top: 0; }
.summit-session-detail .session-sub-time { color: var(--blue); font-size: 15px; margin-bottom: 8px; }
.summit-session-detail .session-sub-title { font-weight: 650; color: var(--blue-deep); }
.summit-session-detail .session-speaker-row + .session-speaker-row { margin-top: 22px; }
.summit-session-detail .session-bio-text { margin-top: 8px; }
.summit-disclaimer { padding-block: 25px; border-top: 1px solid var(--summit-line); font-size: 15px !important; }
@media(max-width:1000px) {
 .summit-hero-grid { grid-template-columns: minmax(0,1fr); }
 .summit-hero h1 span { display: inline; }
 .summit-hero h1 { max-width: 15ch; }
 .summit-speakers { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .summit-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .summit-recap { gap: 35px; }
 .summit-contributors { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .summit-years { gap: 6px 22px; padding-block: 13px; }
 .summit-hero { padding-block: 36px 45px; }
 .summit-page h1 { font-size: 47px; }
 .summit-page p { font-size: 17px; }
 .summit-recap, .summit-speakers, .summit-history { grid-template-columns: minmax(0,1fr); }
 .summit-next .summit-shell,.summit-upcoming { flex-direction: column; align-items: flex-start; }
 .summit-speaker { display: grid; grid-template-columns: 95px minmax(0,1fr); gap: 20px; padding: 18px; }
 .summit-speaker > img { height: 120px; margin: 0; }
 .summit-speaker-name { font-size: 21px; }
 .summit-bio-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
 .summit-bio-inner { grid-template-columns: minmax(0,1fr); max-height: calc(100dvh - 80px); }
 .summit-bio-photo { min-height: 0; padding: 24px; }
 .summit-bio-photo img { width: auto; max-width: 100%; height: 200px; }
 .summit-bio-copy { padding: 28px 24px 35px; }
 .summit-contributors { grid-template-columns: minmax(0,1fr); }
 .summit-sponsors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
 .summit-sponsors img { height: 70px; }
 .summit-sponsors img:last-child:nth-child(odd) { grid-column: 1 / -1; width: min(220px,100%); justify-self: center; }
 .summit-session { grid-template-columns: minmax(0,1fr); gap: 9px; padding-block: 23px; }
 .summit-agenda-toolbar > span { display: none; }
 .summit-agenda-day header p { font-size: 15px; }
 .summit-page .summit-disclaimer { font-size: 14px !important; }
 .summit-next .btn-primary { max-width: 100%; }
}
@media(max-height:500px) and (min-width:701px) {
 .summit-bio-photo { min-height: 0; align-self: start; padding: 24px 16px; }
 .summit-bio-photo img { width: auto; max-width: 100%; max-height: 200px; }
 .summit-bio-copy { padding: 24px; }
 .summit-bio-copy h2 { font-size: 30px; }
 .summit-bio-copy p { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { .summit-page * { scroll-behavior: auto; } }
