:root {
  interpolate-size: allow-keywords;
  --ucla-blue: #2774ae;
  --ucla-darkest-blue: #003b5c;
  --ucla-darker-blue: #005587;
  --ucla-lighter-blue: #8bb8e8;
  --ucla-lightest-blue: #daebfe;
  --events-blue-gray: #eaf1f5;
  --events-panel: #f8fafb;
  --ucla-gold: #ffd100;
  --ucla-darkest-gold: #ffb81c;
  --gray-80: #333333;
  --gray-60: #666666;
  --gray-40: #999999;
  --gray-20: #cccccc;
  --gray-10: #e5e5e5;
  --gray-05: #f2f2f2;
  --gray-03: #f7f7f7;
  --soft-white: #f5f5f2;
  --white: #ffffff;
  --font: Helvetica, Arial, Roboto, sans-serif;
  --site-content-max: 1120px;
  --site-content-half: 560px;
  --site-gutter: clamp(1.25rem, 4vw, 4rem);
  --section-space: clamp(4.5rem, 7vw, 6.5rem);
  --content-space: clamp(2.5rem, 4vw, 4rem);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.script-fallback { max-width: var(--site-content-max); margin: 1.5rem auto; padding: 1rem 1.15rem; border-left: 4px solid var(--ucla-gold); background: var(--ucla-lightest-blue); color: var(--ucla-darkest-blue); }
html:not(.js) .news-loading-placeholder { display: none; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--gray-80); background: var(--gray-03); font: 16px/1.6 var(--font); }
img, video, iframe { max-width: 100%; }
main, section, article, details { min-width: 0; }
a { color: var(--ucla-darker-blue); text-underline-offset: .2em; }
a:hover { color: var(--ucla-blue); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--ucla-darkest-blue); outline-offset: 3px; box-shadow: 0 0 0 6px var(--ucla-gold); }
summary:focus-visible { outline: 3px solid var(--ucla-darkest-blue); outline-offset: 3px; box-shadow: 0 0 0 3px var(--ucla-gold); }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: var(--ucla-darkest-blue); color: var(--white); font-weight: 700; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: -98px; z-index: 20; border-top: 6px solid var(--ucla-blue); background: var(--white); }
.header-identity { min-height: 92px; display: flex; align-items: center; gap: 1.5rem; width: 100%; max-width: calc(var(--site-content-max) + var(--site-gutter) + var(--site-gutter)); margin: auto; padding: 1rem var(--site-gutter); }
.logo-placeholder { display: inline-flex; align-items: center; justify-content: center; min-width: 154px; min-height: 48px; padding: .6rem 1rem; border: 2px dashed var(--gray-40); color: var(--gray-60); background: var(--gray-03); font-weight: 700; text-decoration: none; }
.logo-placeholder:hover { border-color: var(--ucla-blue); }
.ucla-logo { display: inline-flex; align-items: center; flex: 0 0 auto; padding: .25rem 0; text-decoration: none; }
.ucla-logo img { display: block; width: 154px; height: auto; }
.ucla-logo:focus-visible { outline: 3px solid var(--ucla-gold); outline-offset: 5px; }
.center-name { color: var(--ucla-darkest-blue); font-size: 1.35rem; font-weight: 700; text-decoration: none; }
.menu-toggle { display: none; margin-left: auto; padding: .7rem .9rem; border: 2px solid var(--ucla-darkest-blue); background: var(--white); color: var(--ucla-darkest-blue); font: 700 1rem var(--font); cursor: pointer; }
.menu-icon, .menu-icon::before, .menu-icon::after { display: inline-block; width: 20px; height: 2px; background: currentColor; }
.menu-icon { position: relative; margin-right: .5rem; vertical-align: middle; transition: background-color 180ms ease; }
.menu-icon::before, .menu-icon::after { content: ""; position: absolute; left: 0; transition: top 220ms ease, transform 220ms ease; }
.menu-icon::before { top: -6px; }.menu-icon::after { top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-icon { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(-45deg); }
.primary-navigation { display: flex; justify-content: center; gap: clamp(1rem, 3vw, 2.5rem); min-height: 58px; padding: 0 clamp(1.25rem, 5vw, 5rem); border-top: 1px solid var(--gray-10); border-bottom: 1px solid var(--gray-20); background: var(--white); box-shadow: 0 7px 16px rgba(0,59,92,.08); }
.primary-navigation a { display: flex; align-items: center; color: var(--ucla-darkest-blue); font-size: 1rem; font-weight: 700; text-decoration: none; }
.primary-navigation a:hover { box-shadow: inset 0 -4px var(--ucla-gold); }
.primary-navigation a[aria-current] { box-shadow: inset 0 -4px var(--ucla-gold); }

#about,
#news,
#events { scroll-margin-top: 4.5rem; }

.hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); align-items: center; column-gap: clamp(2.5rem, 5vw, 5rem); row-gap: 0; padding: clamp(4rem, 7vw, 6.5rem) max(var(--site-gutter), calc(50% - var(--site-content-half))) var(--content-space); background: var(--ucla-lightest-blue); border-bottom: 1px solid var(--ucla-lighter-blue); }
.hero-copy { max-width: 920px; padding: clamp(.5rem, 1vw, 1rem) 0; }
.section-kicker { margin: 0 0 1.25rem; color: var(--ucla-darker-blue); font-size: .82rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1 { max-width: 850px; margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(3.8rem, 7.3vw, 7rem); line-height: .94; letter-spacing: -.055em; text-wrap: balance; }
h1::after { content: ""; display: block; width: clamp(110px, 14vw, 190px); height: 7px; margin-top: 1.75rem; background: linear-gradient(90deg, var(--ucla-gold) 0 72%, var(--ucla-blue) 72% 100%); }
.lead { max-width: 700px; margin: 2rem 0 0; padding-left: 1.25rem; border-left: 5px solid var(--ucla-gold); font-size: clamp(1.2rem, 1.7vw, 1.45rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2.5rem; }
.button { display: inline-block; padding: .9rem 1.2rem; font-weight: 700; text-decoration: none; }
.button-primary { background: var(--ucla-blue); color: var(--white); }
.button-primary:hover { background: var(--ucla-darkest-blue); color: var(--white); }
.text-link { font-weight: 700; }
.logic-diagram { position: relative; display: grid; place-items: center; width: min(30vw, 350px); aspect-ratio: 1; justify-self: center; border: 1px solid var(--ucla-lighter-blue); background: var(--ucla-lightest-blue); color: var(--ucla-darkest-blue); }
.logic-diagram::after { content: ""; position: absolute; right: 0; bottom: 0; width: 40%; height: 8px; background: var(--ucla-gold); }
.logic-main { font-size: clamp(5rem, 9vw, 8rem); font-weight: 400; line-height: 1; }
.logic-item { position: absolute; color: var(--ucla-darker-blue); font-weight: 700; }
.item-one { top: 19%; right: 15%; }.item-two { left: 17%; bottom: 25%; }.item-three { right: 18%; bottom: 17%; }
.random-quote { position: relative; width: min(34vw, 410px); margin: 0; padding: clamp(1.75rem, 3.2vw, 2.75rem); justify-self: end; border: 1px solid rgba(39,116,174,.35); border-bottom: 7px solid var(--ucla-gold); background: rgba(255,255,255,.62); color: var(--ucla-darkest-blue); box-shadow: 0 12px 30px rgba(0,59,92,.08); }
.random-quote blockquote { position: relative; z-index: 1; margin: 0; padding-top: .4rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: 1.5; }
.random-quote figcaption { margin-top: 1.25rem; color: var(--ucla-darker-blue); font-size: .95rem; font-weight: 700; }
.random-quote figcaption::before { content: "— "; color: var(--ucla-darkest-gold); }
.quote-mark { position: absolute; z-index: 0; top: .65rem; right: 1rem; color: var(--ucla-blue); font-size: 3.5rem; line-height: 1; opacity: .18; }
.hero-about { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(140px, .3fr) minmax(0, 1.7fr); column-gap: clamp(2rem, 7vw, 8rem); row-gap: var(--content-space); margin-top: clamp(3rem, 5vw, 4.75rem); padding-top: 0; }
.hero-about > h2 { margin: 0; color: var(--ucla-darkest-blue); font-size: 1.25rem; }
.hero-about > p { max-width: 950px; margin: 0; font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.7; }
.about-resources { grid-column: 2; display: grid; gap: 1.25rem; margin-top: 1rem; }
.about-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.about-links a { padding-bottom: .2rem; border-bottom: 4px solid var(--ucla-gold); color: var(--ucla-darkest-blue); font-weight: 700; text-decoration: none; }
.about-links a:hover { color: var(--ucla-darker-blue); }
.about-subscribe { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding-top: 1.15rem; border-top: 1px solid rgba(0,85,135,.2); color: var(--gray-60); font-size: .96rem; }
.hero-about .detail-grid { grid-column: 2; width: 100%; margin-top: 1rem; border-top-color: var(--ucla-lighter-blue); }

.content-section { display: grid; grid-template-columns: minmax(0, 1fr); padding: var(--section-space) max(var(--site-gutter), calc(50% - var(--site-content-half))); border-top: 1px solid var(--gray-20); background: var(--gray-03); }
.section-gray { background: var(--ucla-lightest-blue); }
.section-index { display: flex; flex-direction: column; justify-content: flex-start; min-height: 100px; padding: 1rem 1.25rem 0 0; border-top: 5px solid var(--ucla-gold); border-right: 1px solid var(--gray-20); color: var(--ucla-darkest-blue); font-weight: 700; }
.section-body { min-width: 0; }
.section-body > h2, .events-heading h2 { margin: 0 0 var(--content-space); color: var(--ucla-darkest-blue); font-size: clamp(3rem, 5vw, 5rem); line-height: 1; letter-spacing: -.04em; }
.section-body > h2::after, .events-heading h2::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 1rem; background: var(--ucla-gold); }
.section-lead { max-width: 850px; margin: 0; color: var(--gray-80); font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.5; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--gray-20); }
.detail-grid h3, .person-card h3, .news-list h3, .course-list h3 { margin: 0 0 .5rem; color: var(--ucla-darkest-blue); font-size: 1.25rem; line-height: 1.3; }
.detail-grid p, .person-card p, .news-list p, .course-list p { margin: 0; }

#news { background: var(--ucla-darkest-blue); color: var(--white); }
#news .section-body > h2 { color: var(--white); }
#news .section-body > h2::after { width: 96px; height: 7px; background: var(--ucla-gold); }
.events-section { padding: clamp(4rem, 6vw, 5.75rem) max(var(--site-gutter), calc(50% - var(--site-content-half))); background: #e9eef2; }
#people { background: var(--soft-white); }
#courses { background: var(--soft-white); }
#students { background: var(--ucla-lightest-blue); }
#history { background: var(--soft-white); }
.events-heading { margin-bottom: var(--content-space); padding: 0 0 1.5rem; border-bottom: 4px solid var(--ucla-blue); }
.events-heading h2 { margin-bottom: 0; }
.events-heading h2::after { width: 96px; }
.events-intro { max-width: 900px; margin: 1.5rem 0 0; color: var(--gray-80); font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.6; }
.mailing-list-button { display: inline-flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border: 1px solid rgba(0,85,135,.34); border-bottom: 3px solid var(--ucla-gold); background: rgba(255,255,255,.5); color: var(--ucla-darkest-blue); font-size: .88rem; font-weight: 700; line-height: 1.3; text-decoration: none; box-shadow: 0 2px 7px rgba(0,59,92,.04); transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.mailing-list-button::after { content: "\2192"; color: var(--ucla-blue); font-size: 1.1rem; font-weight: 400; transition: transform 180ms ease; }
.mailing-list-button:hover { border-color: rgba(0,85,135,.52); border-bottom-color: var(--ucla-darkest-gold); background: var(--white); color: var(--ucla-darker-blue); box-shadow: 0 5px 12px rgba(0,59,92,.08); transform: translateY(-1px); }
.mailing-list-button:hover::after { transform: translateX(3px); }
#events .events-heading { position: relative; width: 100%; margin-bottom: 1.25rem; padding-bottom: 0; border-bottom: 0; }
#events .events-heading h2 { margin-bottom: clamp(1.25rem, 2vw, 1.75rem); }
#events .events-intro { margin-top: 0; }
.events-archive-access { margin: 0 0 clamp(2rem, 3vw, 3rem); }
.events-archive-access a { display: inline-block; padding-bottom: .15rem; border-bottom: 3px solid var(--ucla-gold); color: var(--ucla-darkest-blue); font-weight: 700; text-decoration: none; }
.events-archive-access a:hover { color: var(--ucla-blue); }
#events .series-grid { align-items: start; gap: clamp(1.5rem, 3vw, 3rem); }
#events .series-section { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid rgba(0,85,135,.16); border-top: 6px solid var(--ucla-blue); background: var(--events-panel); box-shadow: 0 8px 22px rgba(0,59,92,.06); }
#events .combined-series-section,
#events .other-events { width: 100%; max-width: none; }
#events .series-heading { margin-bottom: 1.4rem; padding: 0 0 0 1rem; border: 0; border-left: 5px solid var(--ucla-gold); }
#events .series-heading h3 { font-size: clamp(1.55rem, 2.2vw, 2rem); letter-spacing: -.02em; }
#events .series-section > h4,
#events .other-events > h4 { margin-top: 0; color: var(--ucla-darker-blue); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
#events .past-disclosure { margin-top: 1.5rem; }
.event-archive { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); margin-bottom: var(--content-space); }
.series-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
.series-section { min-width: 0; }
.series-grid .series-section:first-child { order: 2; }
.series-grid .series-section:nth-child(2) { order: 1; }
.series-heading { margin-bottom: 1.5rem; padding-bottom: .75rem; border-bottom: 2px solid var(--ucla-lighter-blue); }
.series-heading h3 { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(1.6rem, 2.5vw, 2.25rem); line-height: 1.15; }
.series-heading a { font-weight: 700; }
.series-section > h4 { margin: 2rem 0 1rem; color: var(--ucla-darkest-blue); font-size: 1.2rem; }
.past-disclosure { margin-top: 2rem; }
.past-disclosure > summary { position: relative; padding: .8rem 2rem .8rem 0; border-top: 1px solid var(--gray-20); border-bottom: 1px solid var(--gray-20); color: var(--ucla-darkest-blue); font-size: 1.1rem; font-weight: 700; cursor: pointer; list-style: none; }
.past-disclosure > summary::-webkit-details-marker { display: none; }
.past-disclosure > summary::after { content: "+"; position: absolute; right: .25rem; color: var(--ucla-blue); font-size: 1.4rem; line-height: 1; }
.past-disclosure[open] > summary::after { content: "−"; }
.past-disclosure > .event-list { padding-top: 1rem; }
.past-disclosure::details-content { block-size: 0; overflow: clip; opacity: 0; transition: block-size 320ms cubic-bezier(.22, 1, .36, 1), opacity 180ms ease, content-visibility 320ms allow-discrete; }
.past-disclosure[open]::details-content { block-size: auto; opacity: 1; }
.other-events { margin-top: var(--content-space); padding-top: var(--content-space); border-top: 1px solid var(--gray-20); }
.other-events .series-heading { min-height: auto; }
.other-events-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
.other-events-grid h4 { margin: 0 0 1rem; color: var(--ucla-darkest-blue); font-size: 1.2rem; }
.event-group > h3 { margin: 0 0 1.25rem; padding-bottom: .75rem; border-bottom: 5px solid var(--ucla-gold); color: var(--ucla-darkest-blue); font-size: 1.5rem; }
.event-list { display: grid; gap: 1rem; }
.event-card { border: 1px solid var(--gray-20); border-left: 5px solid var(--ucla-blue); background: var(--white); box-shadow: 0 3px 9px rgba(0,59,92,.04); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.event-card:hover,
.event-card:focus-within { transform: translateY(-3px); border-color: var(--ucla-lighter-blue); border-left-color: var(--ucla-blue); box-shadow: 0 9px 20px rgba(0,59,92,.12); }
.event-card summary { position: relative; padding: 1.25rem 3rem 1.25rem 1.25rem; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.event-card > .event-card-static { position: relative; padding: 1.25rem; }
.event-card summary::-webkit-details-marker { display: none; }
.event-card summary::after { content: "+"; position: absolute; top: 1.05rem; right: 1rem; width: 2rem; color: var(--ucla-darker-blue); font-size: 1.6rem; font-weight: 700; line-height: 1; text-align: center; }
.event-card[open] summary::after { content: "−"; }
.event-card summary:focus-visible { outline: 3px solid var(--ucla-darkest-blue); outline-offset: -3px; box-shadow: inset 0 0 0 2px var(--ucla-gold); }
.event-meta { display: block; margin-bottom: .35rem; color: var(--ucla-darkest-blue); font-weight: 700; }
.event-card time { color: inherit; font-weight: inherit; }
.event-place { color: inherit; font-weight: inherit; }
.event-place::before { content: " · "; }
.event-title { display: block; color: var(--gray-80); font-size: 1.15rem; font-weight: 700; line-height: 1.35; }
.event-speaker { display: block; margin-top: .35rem; color: var(--gray-60); }
.event-prompt { display: none; }
.event-details { padding: 1.25rem; border-top: 1px solid var(--gray-20); background: var(--gray-03); }
.event-details p { margin: 0 0 .65rem; color: var(--gray-80); }
.event-details p:last-child { margin-bottom: 0; }
.event-description { line-height: 1.55; }
.event-description p { margin: .6rem 0; }
.event-description > :first-child { margin-top: 0; }
.event-description > :last-child { margin-bottom: 0; }
.event-description br + br + br { display: none; }
.event-description > a:not([href]) { display: none; }
.event-description ul, .event-description ol { margin: .75rem 0; padding-left: 1.5rem; }
.event-description a { overflow-wrap: anywhere; font-weight: 700; }
.event-source { display: none; }
.past-events .event-card { border-left-color: var(--gray-40); }
#events .event-list { gap: .85rem; }
#events .event-card { border: 0; border-left: 4px solid var(--ucla-blue); box-shadow: 0 5px 14px rgba(0,59,92,.09); }
#events .event-card:hover,
#events .event-card:focus-within { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,59,92,.15); }
#events .event-card summary { padding: 1.15rem 3rem 1.2rem 1.25rem; }
#events .event-meta { margin-bottom: .55rem; color: var(--ucla-darker-blue); font-size: .82rem; letter-spacing: .035em; line-height: 1.45; text-transform: uppercase; }
#events .event-title { color: var(--ucla-darkest-blue); font-size: 1.12rem; }
#events .event-speaker { margin-top: .45rem; }
#events .event-card summary::after { top: 1rem; color: var(--ucla-blue); font-weight: 400; }
#events .event-details { padding: 1.25rem 1.4rem 1.4rem; border-top-color: var(--ucla-lightest-blue); background: #f5f8fa; }
#events .past-events .event-card { border-left-color: var(--ucla-lighter-blue); }
#events .event-card[data-archive-series="seminar"] { border-left-color: var(--ucla-blue); }
#events .event-card[data-archive-series="colloquium"] { border-left-color: var(--ucla-darkest-blue); }
#events .past-disclosure > summary { border-color: rgba(0,85,135,.24); }
#events .other-events { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid rgba(0,85,135,.16); border-top: 6px solid var(--ucla-blue); background: var(--events-panel); box-shadow: 0 8px 22px rgba(0,59,92,.06); }
.archive-link { display: inline-block; margin-top: 1.5rem; font-weight: 700; }
.event-empty { margin: 0; padding: 1.25rem; border: 1px solid var(--gray-20); background: var(--white); }
.events-updated { margin: 0 0 1.5rem; color: var(--gray-60); }
.calendar-link { display: inline-block; margin-bottom: var(--content-space); font-weight: 700; }
.calendar-placeholder { min-height: 520px; display: flex; align-items: center; justify-content: center; gap: 1.5rem; padding: 2rem; border: 1px solid var(--gray-20); background: var(--gray-03); }
.calendar-placeholder h3 { margin: 0 0 .5rem; color: var(--ucla-darkest-blue); font-size: 1.5rem; }
.calendar-placeholder p { margin: 0 0 .5rem; }
.calendar-placeholder code { color: var(--gray-60); font-size: 1rem; }
.calendar-icon { position: relative; display: grid; place-items: center; flex: 0 0 78px; height: 78px; padding-top: 12px; border: 2px solid var(--ucla-blue); color: var(--ucla-darkest-blue); font-size: 2rem; font-weight: 700; }
.calendar-icon::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 16px; background: var(--ucla-gold); }
.calendar-embed { width: 100%; min-height: 620px; border: 1px solid var(--gray-20); background: var(--white); overflow: hidden; }
.calendar-embed iframe { display: block; width: 100%; height: 620px; border: 0; }
.calendar-disclosure { border: 1px solid var(--gray-20); background: var(--white); }
.calendar-disclosure > summary { position: relative; padding: 1.25rem 3.5rem 1.25rem 1.25rem; color: var(--ucla-darkest-blue); font-weight: 700; cursor: pointer; list-style: none; }
.calendar-disclosure > summary::-webkit-details-marker { display: none; }
.calendar-disclosure > summary::after { content: "+"; position: absolute; right: 1.25rem; top: .85rem; color: var(--ucla-blue); font-size: 1.8rem; line-height: 1; }
.calendar-disclosure[open] > summary::after { content: "−"; }
.calendar-disclosure[open] > summary { border-bottom: 1px solid var(--gray-20); }
.calendar-disclosure .calendar-embed { border: 0; }

.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2.5rem); }
.photo-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 5; margin-bottom: 1.25rem; border: 1px solid var(--gray-20); border-top: 6px solid var(--ucla-gold); background: var(--ucla-lightest-blue); color: var(--gray-60); }
.news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.news-list article { display: flex; height: 100%; flex-direction: column; gap: .8rem; min-height: 190px; padding: 1.5rem; border: 0; border-top: 6px solid var(--ucla-gold); background: var(--white); color: var(--gray-80); box-shadow: 0 10px 24px rgba(0,0,0,.2); transition: translate 180ms ease, box-shadow 180ms ease; }
.news-list article:hover { translate: 0 -4px; box-shadow: 0 16px 32px rgba(0,0,0,.28); }
.news-list article.has-image { display: block; min-height: 0; padding-bottom: 1rem; }
.news-list article.has-image::after { content: ""; display: block; clear: both; }
.news-list article.has-image > time { display: block; margin-bottom: .65rem; }
.news-list article.has-image > h3 { margin-bottom: .65rem; }
.news-list article.has-image > p { margin: 0 0 .8rem; }
.news-card-image { display: block; float: left; width: min(44%, 240px); height: 210px; margin: 0 1.35rem .35rem 0; object-fit: cover; object-position: center 38%; background: var(--gray-10); }
.news-card-image.is-portrait { object-position: center 18%; }
.news-list h3 { margin: 0; }
.news-list h3 a { color: var(--ucla-darkest-blue); text-decoration-color: var(--ucla-lighter-blue); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.news-list h3 a:hover { color: var(--ucla-darker-blue); }
.news-list time, .course-list article > span { color: var(--ucla-darkest-blue); font-weight: 700; }
.news-abstract { margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--gray-20); }
.news-dialog-control { margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--gray-20); }
.news-abstract summary { width: fit-content; padding: .55rem 0 .15rem; color: var(--ucla-darker-blue); font-weight: 700; cursor: pointer; list-style: none; text-decoration: underline; text-decoration-color: var(--ucla-lighter-blue); text-underline-offset: .2em; }
.news-dialog-trigger { width: fit-content; padding: .55rem 0 .15rem; border: 0; background: transparent; color: var(--ucla-darker-blue); font: 700 1rem var(--font); cursor: pointer; text-decoration: underline; text-decoration-color: var(--ucla-lighter-blue); text-underline-offset: .2em; }
.news-dialog-trigger:hover { color: var(--ucla-blue); text-decoration-color: var(--ucla-gold); }
.news-dialog-trigger:focus-visible { outline: 3px solid var(--ucla-darkest-blue); outline-offset: 3px; box-shadow: 0 0 0 5px var(--ucla-gold); }
.news-abstract summary::-webkit-details-marker { display: none; }
.news-abstract summary::after { content: " +"; color: var(--ucla-blue); text-decoration: none; }
.news-abstract[open] summary::after { content: " −"; }
.news-abstract > p { margin: .8rem 0 0; font-size: .96rem; line-height: 1.65; }
.news-list article.has-image :is(.news-abstract, .news-dialog-control) {
  margin-top: .5rem;
  padding-top: .35rem;
  border-top: 0;
  background: linear-gradient(to right,
    transparent 0,
    transparent calc(min(44%, 240px) + 1.35rem),
    var(--gray-20) calc(min(44%, 240px) + 1.35rem),
    var(--gray-20) 100%) top left / 100% 1px no-repeat;
}
.news-list article.has-image .news-abstract > summary { display: inline-block; }
.news-list article.has-image .news-dialog-trigger { display: inline-block; }
.news-list article.has-image :is(.news-abstract, .news-dialog-control) + :is(.news-abstract, .news-dialog-control) { margin-top: .35rem; }
.news-abstract mjx-container,
.event-description mjx-container { color: inherit; }

.news-reader-dialog { width: min(820px, calc(100vw - 2rem)); max-width: none; max-height: min(88dvh, 900px); margin: auto; padding: 0; overflow: hidden; border: 1px solid rgba(0,59,92,.24); border-top: 8px solid var(--ucla-gold); background: var(--white); color: var(--gray-80); box-shadow: 0 28px 70px rgba(0,36,61,.32); opacity: 0; transform: translateY(14px) scale(.985); transition: opacity 180ms ease, transform 220ms cubic-bezier(.22,1,.36,1); }
.news-reader-dialog.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.news-reader-dialog.is-closing { pointer-events: none; }
.news-reader-dialog::backdrop { background: rgba(0,36,61,.58); opacity: 0; backdrop-filter: blur(2px); transition: opacity 180ms ease; }
.news-reader-dialog.is-visible::backdrop { opacity: 1; }
.news-reader-shell { display: flex; max-height: calc(min(88dvh, 900px) - 8px); flex-direction: column; }
.news-reader-header { display: flex; flex: 0 0 auto; gap: 1.5rem; justify-content: space-between; align-items: flex-start; padding: clamp(1.35rem, 3vw, 2rem) clamp(1.35rem, 4vw, 2.5rem) 1.25rem; border-bottom: 1px solid var(--gray-20); background: linear-gradient(135deg, var(--ucla-lightest-blue), var(--white) 72%); }
.news-reader-heading-group { min-width: 0; }
.news-reader-date { margin: 0 0 .45rem; color: var(--ucla-darker-blue); font-size: .82rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.news-reader-header h2 { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(1.5rem, 3vw, 2.15rem); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.news-reader-header h2 a { color: inherit; text-decoration-color: var(--ucla-lighter-blue); text-decoration-thickness: 2px; text-underline-offset: .18em; }
.news-reader-header h2 a:hover { color: var(--ucla-darker-blue); text-decoration-color: var(--ucla-gold); }
.news-reader-close { border: 1px solid rgba(0,59,92,.35); background: var(--white); color: var(--ucla-darkest-blue); font: 700 1rem var(--font); cursor: pointer; }
.news-reader-close:hover { border-color: var(--ucla-blue); background: var(--ucla-lightest-blue); }
.news-reader-close-icon { flex: 0 0 auto; width: 42px; height: 42px; padding: 0; font-size: 1.65rem; font-weight: 400; line-height: 1; }
.news-reader-content { min-height: 0; padding: clamp(1.5rem, 4vw, 2.5rem); overflow-y: auto; overscroll-behavior: contain; }
.news-reader-content.has-image { display: grid; grid-template-columns: minmax(180px, 230px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 2.5rem); align-items: center; }
.news-reader-content.has-image.has-long-text { align-items: start; }
.news-reader-image { display: block; width: 100%; height: clamp(190px, 36dvh, 320px); border: 1px solid var(--gray-20); border-top: 5px solid var(--ucla-gold); object-fit: cover; background: var(--gray-05); }
.news-reader-image[hidden] { display: none; }
.news-reader-text { min-width: 0; }
.news-reader-intro { margin: 0 0 1.35rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--gray-20); color: var(--gray-80); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.65; }
.news-reader-intro[hidden] { display: none; }
.news-reader-content h3 { margin: 0 0 1rem; color: var(--ucla-darkest-blue); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.news-reader-body { max-width: 72ch; margin: 0; color: var(--gray-80); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.75; }
.news-reader-content mjx-container { font-family: var(--font) !important; }
.news-empty { grid-column: 1 / -1; margin: 0; padding: 1.75rem 0; border-top: 1px solid var(--gray-20); border-bottom: 1px solid var(--gray-20); color: var(--gray-60); }
#news .news-empty { border-color: var(--ucla-lighter-blue); color: var(--white); }
.news-archive-link { margin: 2rem 0 0; }
.news-archive-link a { display: inline-block; padding-bottom: .2rem; border-bottom: 4px solid var(--ucla-gold); color: var(--white); font-weight: 700; text-decoration: none; }
.news-archive-link a:hover { color: var(--ucla-lightest-blue); }
.course-list { border-top: 1px solid var(--gray-20); }
.course-list article { display: grid; grid-template-columns: minmax(120px, .3fr) 1.7fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--gray-20); }
.student-section { background: var(--ucla-lightest-blue); color: var(--gray-80); }
.student-section .section-index { border-right-color: var(--ucla-lighter-blue); color: var(--ucla-darkest-blue); }
.student-section .section-body > h2 { color: var(--ucla-darkest-blue); }
.student-section .section-lead { color: var(--gray-80); }
.button-light { margin-top: 2.5rem; border-bottom: 5px solid var(--ucla-gold); background: var(--ucla-blue); color: var(--white); }
.button-light:hover { background: var(--ucla-darkest-blue); color: var(--white); }
.history-entry { display: grid; grid-template-columns: minmax(130px, .3fr) 1.7fr; gap: 3rem; padding-top: 2rem; border-top: 1px solid var(--gray-20); }
.history-entry strong { color: var(--ucla-darkest-blue); font-size: 1.25rem; }
.history-entry p { max-width: 760px; margin: 0; font-size: clamp(1.15rem, 1.6vw, 1.45rem); }
.history-page-section { margin-top: var(--section-space); padding-top: var(--content-space); border-top: 6px solid var(--ucla-gold); scroll-margin-top: 2rem; }
.history-page-section h2 { margin: 0 0 1.25rem; color: var(--ucla-darkest-blue); font-size: clamp(2rem, 4vw, 3.25rem); }
.history-page-section p { max-width: 800px; margin: 0; font-size: 1.15rem; line-height: 1.7; }
.history-page-section p + p { margin-top: 1rem; }
.logic-lineage { margin-top: 1.5rem; padding-top: 0; border-top: 0; }
.logic-lineage > .lineage-legend { margin-top: 0; }
.lineage-introduction { max-width: 850px; margin: 0; color: var(--gray-80); font-size: 1.15rem; line-height: 1.7; }
.lineage-heading { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(300px, 1.2fr); gap: 2rem 4rem; align-items: end; }
.lineage-heading .section-kicker { margin-bottom: .5rem; }
.lineage-heading h2 { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(2.2rem, 4.5vw, 4rem); line-height: 1; letter-spacing: -.04em; }
.lineage-heading > p { max-width: 680px; margin: 0; font-size: 1.1rem; line-height: 1.7; }
.lineage-legend { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 2rem 0 2.5rem; padding: 1rem 0; border-top: 1px solid var(--gray-20); border-bottom: 1px solid var(--gray-20); color: var(--gray-60); font-size: .9rem; font-weight: 700; }
.lineage-legend span { display: inline-flex; align-items: center; gap: .45rem; }
.role-dot { width: .7rem; height: .7rem; background: var(--ucla-blue); }
.role-dot.student { background: var(--ucla-gold); }
.role-dot.postdoc { background: var(--ucla-lighter-blue); }
.role-dot.fellow { background: var(--ucla-darkest-blue); }
.lineage-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.lineage-timeline::before { content: ""; position: absolute; top: .5rem; bottom: .5rem; left: 9.65rem; width: 3px; background: linear-gradient(var(--ucla-blue), var(--ucla-lighter-blue)); }
.lineage-timeline > li { position: relative; display: grid; grid-template-columns: 8rem minmax(0, 1fr); column-gap: 3.5rem; row-gap: 1.25rem; padding: 0 0 3.25rem; }
.lineage-timeline > li::before { content: ""; position: absolute; top: .45rem; left: 9.25rem; width: .85rem; height: .85rem; border: 3px solid var(--soft-white); background: var(--ucla-gold); box-shadow: 0 0 0 2px var(--ucla-blue); }
.lineage-era { grid-column: 1; grid-row: 1 / span 2; text-align: right; }
.lineage-era time { display: block; color: var(--ucla-darkest-blue); font-size: 1.05rem; font-weight: 700; }
.lineage-highlight { grid-column: 2; max-width: 940px; margin: 0; color: var(--gray-80); font-size: 1.08rem; line-height: 1.65; }
.lineage-people { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.lineage-person { min-width: 0; padding: 1rem 1.1rem; border-left: 4px solid var(--ucla-blue); background: var(--white); box-shadow: 0 4px 12px rgba(0,59,92,.08); }
.lineage-person.student { border-left-color: var(--ucla-gold); }
.lineage-person.postdoc { border-left-color: var(--ucla-lighter-blue); }
.lineage-person.fellow { border-left-color: var(--ucla-darkest-blue); }
.lineage-person h3 { margin: 0 0 .2rem; color: var(--ucla-darkest-blue); font-size: 1rem; line-height: 1.3; }
.lineage-person p { margin: 0; color: var(--gray-60); font-size: .84rem; line-height: 1.45; }
.lineage-source { margin: .25rem 0 0 11.5rem; color: var(--gray-60); font-size: .9rem; }
.student-info-section { padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.student-info-section + .student-info-section { margin-top: 0; border-top: 6px solid var(--ucla-gold); }
.student-info-section > h2 { margin: 0 0 2rem; color: var(--ucla-darkest-blue); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; letter-spacing: -.025em; }
.student-info-section .button { margin-top: 2rem; }
.student-page-nav { position: sticky; top: 58px; z-index: 5; display: flex; flex-wrap: wrap; gap: .55rem 1.4rem; align-items: center; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-left: 5px solid var(--ucla-gold); background: var(--ucla-darkest-blue); box-shadow: 0 8px 20px rgba(0,59,92,.14); }
.student-page-nav span { color: var(--ucla-gold); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.student-page-nav a { color: var(--white); font-size: .92rem; font-weight: 700; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: .22em; }
.student-page-nav a:hover { color: var(--ucla-gold); }
.student-info-section { scroll-margin-top: 8rem; }
.student-page-nav + .student-info-section { padding-top: clamp(2rem, 4vw, 3rem); border-top: 6px solid var(--ucla-gold); }
.student-info-section .section-kicker { margin-bottom: .55rem; }
.student-info-section > h2 { margin-bottom: 1.5rem; }
.student-section-intro, .student-prose { max-width: 850px; color: var(--gray-80); font-size: 1.08rem; line-height: 1.72; }
.student-section-intro { margin: 0 0 1.5rem; }
.student-prose p { margin: 0; }
.student-prose p + p { margin-top: 1rem; }
.student-course-list article { grid-template-columns: minmax(150px, .32fr) 1.68fr; gap: clamp(1.25rem, 4vw, 3rem); padding: 1.55rem 0; }
.student-course-list h3 { margin-bottom: .35rem; }
.student-course-list h3 a { color: var(--ucla-darkest-blue); text-decoration-color: var(--ucla-lighter-blue); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.student-course-list h3 a:hover { color: var(--ucla-blue); }
.student-course-list p { max-width: 760px; color: var(--gray-60); line-height: 1.6; }
.student-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 1.75rem; }
.student-info-section .student-actions .button { margin-top: 0; }
.student-actions .text-link { font-weight: 700; }
.student-qual-section { margin-bottom: 0; padding: clamp(2rem, 5vw, 4rem); border-left: 6px solid var(--ucla-gold); background: var(--ucla-lightest-blue); }

.department-footer { padding: 3rem max(var(--site-gutter), calc(50% - var(--site-content-half))); border-top: 6px solid var(--ucla-gold); background: var(--ucla-lightest-blue); color: var(--gray-80); }
.footer-inner { width: 100%; max-width: var(--site-content-max); margin: auto; }
.department-footer .footer-inner { display: grid; grid-template-columns: minmax(150px, .4fr) minmax(280px, 1.15fr) minmax(190px, .65fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.footer-logo { align-self: start; }
.department-footer h2 { margin: 0 0 1rem; font-size: 1.5rem; }
.department-footer address { font-style: normal; }
.department-footer a { color: var(--ucla-darkest-blue); }
.department-footer .footer-contact { margin-top: 1.25rem; padding: .4rem .75rem; border: 1px solid rgba(0,85,135,.45); background: transparent; color: var(--ucla-darker-blue); font-size: .9rem; }
.department-footer .footer-contact:hover { border-color: var(--ucla-blue); background: rgba(255,255,255,.55); color: var(--ucla-darkest-blue); }
.footer-utility-links { display: grid; gap: .2rem; justify-self: end; padding-left: clamp(1rem, 2vw, 1.75rem); border-left: 1px solid rgba(0,85,135,.14); }
.footer-utility-links a { color: var(--gray-60); font-size: .78rem; font-weight: 400; line-height: 1.45; text-decoration-color: transparent; text-decoration-thickness: 1px; transition: color 160ms ease, text-decoration-color 160ms ease; }
.footer-utility-links a:hover,
.footer-utility-links a:focus-visible { color: var(--ucla-darker-blue); text-decoration-color: currentColor; }
.global-footer { padding: 1.5rem max(var(--site-gutter), calc(50% - var(--site-content-half))); background: var(--gray-80); color: var(--white); }
.global-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem 3rem; }
.global-footer p { margin: 0; }
.global-footer a { color: var(--white); }
.global-footer nav { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }

@media (max-width: 1040px) {
  .site-header,
  .home-page .site-header { position: sticky; top: 0; box-shadow: 0 4px 14px rgba(0,59,92,.14); }
  .primary-navigation { position: static; flex-direction: column; align-items: stretch; gap: 0; padding: .75rem clamp(1.25rem, 5vw, 5rem) 1.25rem; }
  .js .menu-toggle { display: inline-flex; align-items: center; }
  .js .primary-navigation { position: absolute; top: 100%; left: 0; right: 0; min-height: 0; max-height: 0; overflow: hidden; padding-top: 0; padding-bottom: 0; border: 0; box-shadow: none; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-.5rem); transition: max-height 340ms cubic-bezier(.22, 1, .36, 1), padding 340ms cubic-bezier(.22, 1, .36, 1), opacity 180ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 340ms; }
  .js .primary-navigation.is-open { max-height: 30rem; max-height: min(30rem, calc(100dvh - 70px)); overflow-y: auto; padding-top: .75rem; padding-bottom: 1.25rem; border-top: 1px solid var(--gray-10); border-bottom: 1px solid var(--gray-20); box-shadow: 0 12px 20px rgba(0,0,0,.15); opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
  .primary-navigation a { min-height: 48px; border-bottom: 1px solid var(--gray-10); }
  #about,
  #news,
  #events { scroll-margin-top: 7rem; }
  .student-page-nav { position: static; }
  .student-info-section { scroll-margin-top: 7rem; }
}

@media (max-width: 760px) {
  .header-identity { min-height: 76px; flex-wrap: nowrap; gap: .75rem; padding-top: .65rem; padding-bottom: .65rem; }
  .logo-placeholder { min-width: 130px; }
  .ucla-logo img { width: 130px; }
  .center-name { order: initial; flex: 1 1 auto; flex-basis: auto; min-width: 0; font-size: 1.05rem; line-height: 1.2; }
  .menu-toggle { margin-left: auto; }
  .hero { grid-template-columns: 1fr; row-gap: var(--content-space); }
  .hero-about { grid-template-columns: 1fr; gap: 1rem; margin-top: 0; }
  .about-resources { grid-column: 1; }
  .hero-about .detail-grid { grid-column: 1; }
  .logic-diagram { width: min(75vw, 330px); justify-self: start; }
  .random-quote { width: auto; justify-self: stretch; }
  .content-section { grid-template-columns: 1fr; gap: 2rem; }
  .section-index { min-height: auto; flex-direction: row; padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--gray-20); }
  .detail-grid, .people-grid, .people-card-grid { grid-template-columns: 1fr; }
  .news-list { grid-template-columns: 1fr; }
  .news-list article.has-image { grid-template-columns: minmax(120px, .36fr) minmax(0, .64fr); }
  .course-list article, .history-entry { grid-template-columns: 1fr; gap: .75rem; }
  .calendar-placeholder { min-height: 420px; flex-direction: column; text-align: center; }
  .home-upcoming-heading { display: grid; gap: 1rem; }
  .event-archive-callout { width: 100%; min-width: 0; }
  .event-archive { grid-template-columns: 1fr; }
  .series-grid { grid-template-columns: 1fr; }
  .other-events-grid { grid-template-columns: 1fr; }
  .calendar-embed, .calendar-embed iframe { min-height: 540px; height: 540px; }
  .department-footer .footer-inner { grid-template-columns: 1fr; }
  .footer-utility-links { justify-self: start; padding-top: .9rem; padding-left: 0; border-top: 1px solid rgba(0,85,135,.14); border-left: 0; }
  .lineage-heading { grid-template-columns: 1fr; align-items: start; }
  .lineage-timeline::before { left: .45rem; }
  .lineage-timeline > li { grid-template-columns: 1fr; gap: 1rem; padding-left: 2.25rem; }
  .lineage-timeline > li::before { left: 0; }
  .lineage-era { grid-column: 1; grid-row: auto; text-align: left; }
  .lineage-highlight { grid-column: 1; }
  .lineage-people { grid-column: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lineage-source { margin-left: 2.25rem; }
  .student-page-nav { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; align-items: stretch; padding: .9rem 1rem 1rem; }
  .student-page-nav span { grid-column: 1 / -1; }
  .student-page-nav a { display: flex; align-items: center; min-height: 48px; padding: .5rem .65rem; background: rgba(255,255,255,.08); line-height: 1.3; text-decoration-color: transparent; }
  .student-page-nav a:hover,
  .student-page-nav a:focus-visible { background: rgba(255,255,255,.14); }
  .student-page-nav a:first-of-type { grid-column: 1 / -1; justify-content: center; }
  .student-info-section { scroll-margin-top: 6rem; }
  .student-course-list article { grid-template-columns: 1fr; gap: .55rem; }
  .student-qual-section { padding: 1.5rem; }
}

@media (max-width: 520px) {
  .header-identity { min-height: 70px; padding-right: 1rem; padding-left: 1rem; }
  .ucla-logo img { width: 96px; }
  .center-name { display: block; font-size: .92rem; line-height: 1.12; }
  .menu-toggle { min-height: 44px; padding: .5rem .6rem; font-size: .88rem; }
  .menu-icon { margin-right: .4rem; }
  #about,
  #news,
  #events { scroll-margin-top: 5.5rem; }
  .news-list article.has-image { display: flex; }
  .news-card-image { float: none; width: 100%; height: clamp(220px, 62vw, 250px); min-height: 0; margin: 0; }
  .news-list article.has-image :is(.news-abstract, .news-dialog-control) { padding-top: .35rem; border-top: 1px solid var(--gray-20); background: none; }
  #events { padding-left: 1rem; padding-right: 1rem; }
  #events .series-section,
  #events .other-events { padding: 1rem; }
  #events .series-heading { padding-left: .75rem; border-left-width: 4px; }
  #events .event-card summary { padding: 1rem 2.5rem 1rem 1rem; }
  #events .event-meta { font-size: .76rem; letter-spacing: .02em; }
  #events .event-title { font-size: 1.05rem; }
  #events .event-details { padding: 1rem; }
  .lineage-people { grid-template-columns: 1fr; }
}

@media (max-width: 960px) and (max-height: 500px) and (orientation: landscape) {
  .header-identity { min-height: 60px; gap: .75rem; padding-top: .35rem; padding-bottom: .35rem; }
  .ucla-logo img { width: 96px; }
  .center-name { font-size: .95rem; line-height: 1.15; }
  .menu-toggle { min-height: 40px; padding: .4rem .6rem; font-size: .86rem; }
  .js .primary-navigation.is-open { max-height: calc(100dvh - 66px); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (prefers-reduced-motion: reduce) { .mailing-list-button, .mailing-list-button::after { transition: none; } .mailing-list-button:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .news-list article { transition: none; } .news-list article:hover { translate: none; } }
@media (prefers-reduced-motion: reduce) { .event-card { transition: none; } .event-card:hover, .event-card:focus-within { transform: none; } }
@media (prefers-reduced-motion: reduce) { .past-disclosure::details-content { transition: none; } }
@media (prefers-reduced-motion: reduce) { .news-abstract::details-content { transition: none; } }

.archive-main,
.people-main { width: 100%; max-width: calc(var(--site-content-max) + var(--site-gutter) + var(--site-gutter)); margin: auto; padding: var(--section-space) var(--site-gutter); }
.people-page-heading { margin-bottom: var(--content-space); padding-bottom: 0; border-bottom: 0; }
.history-page-heading { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.people-page-heading h1 { margin-bottom: 1.5rem; font-size: clamp(3rem, 6vw, 5.5rem); }
.people-page-heading h1::after { height: 6px; }
.people-page-heading p:last-child { max-width: 760px; margin: 0; font-size: 1.15rem; }
.not-found-main { min-height: 55vh; }
.people-page-nav { position: sticky; top: 58px; z-index: 10; isolation: isolate; display: flex; flex-wrap: wrap; gap: .55rem 1.35rem; align-items: center; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-left: 5px solid var(--ucla-gold); background: var(--ucla-lightest-blue); box-shadow: 0 8px 20px rgba(0,59,92,.12); color: var(--ucla-darkest-blue); transition: box-shadow 180ms ease; }
.people-page-nav.is-stuck { box-shadow: 0 10px 22px rgba(0,59,92,.2), 0 2px 5px rgba(0,36,61,.12); }
.people-page-nav span { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.people-page-nav a { color: var(--ucla-darkest-blue); font-size: .92rem; font-weight: 700; }
.people-page-nav a:hover { color: var(--ucla-darker-blue); }
.people-directory-section { padding: clamp(2.5rem, 5vw, 4.5rem) 0; border-top: 6px solid var(--ucla-gold); }
.people-page-heading + .people-directory-section { padding-top: 0; border-top: 0; }
.people-page-nav + .people-directory-section { padding-top: clamp(2.5rem, 5vw, 4.5rem); border-top: 6px solid var(--ucla-gold); }
.people-directory-section { scroll-margin-top: 8rem; }
.people-section-heading { margin-bottom: 1.5rem; }
.people-section-heading h2 { margin: 0 0 .75rem; color: var(--ucla-darkest-blue); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; letter-spacing: -.025em; }
.people-section-heading p { max-width: 760px; margin: 0; color: var(--gray-80); font-size: 1.1rem; line-height: 1.6; }
.people-group + .people-group { margin-top: clamp(2rem, 4vw, 3rem); }
.people-group h3 { margin: 0 0 1rem; color: var(--ucla-darker-blue); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.people-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.person-directory-card { display: grid; grid-template-columns: minmax(145px, .42fr) minmax(0, 1fr); min-height: 210px; overflow: hidden; border: 1px solid var(--gray-20); border-top: 6px solid var(--ucla-blue); background: var(--white); box-shadow: 0 6px 18px rgba(0,59,92,.08); transition: transform 180ms ease, box-shadow 180ms ease; }
.person-directory-card:hover,
.person-directory-card:focus-within { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(0,59,92,.14); }
.person-card-media { position: relative; min-height: 204px; overflow: hidden; background: var(--ucla-lightest-blue); }
.person-card-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 204px; object-fit: cover; object-position: center 20%; background: var(--gray-05); }
.person-card-placeholder { display: grid; place-items: center; width: 100%; height: 100%; min-height: 204px; color: var(--ucla-darker-blue); background: linear-gradient(145deg, var(--ucla-lightest-blue), #eef5fb); font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.person-card-content { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(1.4rem, 2.6vw, 2rem); }
.person-card-content h4 { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.16; letter-spacing: -.015em; }
.person-card-content h4 a { color: inherit; text-decoration-color: var(--ucla-lighter-blue); text-decoration-thickness: 2px; text-underline-offset: .18em; }
.person-role { width: fit-content; margin: .7rem 0 0; padding: .18rem .55rem .2rem; border-left: 3px solid var(--ucla-gold); background: #fff8d8; color: var(--ucla-darkest-blue); font-size: .82rem; font-weight: 700; line-height: 1.35; }
.person-department { margin: .9rem 0 0; color: var(--gray-80); font-size: .95rem; line-height: 1.4; }
.person-research { margin: .9rem 0 0; color: var(--gray-80); font-size: .98rem; line-height: 1.45; }
.person-department + .person-research { margin-top: .75rem; }
.person-field-label { display: block; margin-bottom: .25rem; color: var(--ucla-darker-blue); font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.student-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.student-directory-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 154px; border-top-width: 4px; }
.student-directory-card .person-card-media,
.student-directory-card .person-card-photo,
.student-directory-card .person-card-placeholder { min-height: 150px; }
.student-directory-card .person-card-content { padding: 1.1rem; }
.student-directory-card .person-card-content h4 { font-size: clamp(1.15rem, 1.55vw, 1.35rem); }
.socal-logician-groups { display: grid; gap: clamp(2rem, 4vw, 3rem); }
.other-ucla-department-groups { display: grid; gap: clamp(2rem, 4vw, 3rem); }
.socal-institution-group h3 { margin: 0 0 1rem; color: var(--ucla-darker-blue); font-size: 1rem; letter-spacing: .075em; line-height: 1.35; text-transform: uppercase; }
.socal-people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin: 0; padding: 0; list-style: none; }
.socal-person-card { min-width: 0; padding: 1rem 1.1rem 1.05rem; border: 1px solid var(--gray-20); border-top: 4px solid var(--ucla-blue); background: var(--white); box-shadow: 0 3px 10px rgba(0,59,92,.06); transition: transform 160ms ease, box-shadow 160ms ease; }
.socal-person-card:hover,
.socal-person-card:focus-within { transform: translateY(-2px); box-shadow: 0 7px 17px rgba(0,59,92,.11); }
.socal-person-card h4 { margin: 0; color: var(--ucla-darkest-blue); font-size: 1.08rem; line-height: 1.3; }
.socal-person-card h4 a { color: inherit; text-decoration-color: var(--ucla-lighter-blue); text-decoration-thickness: 2px; text-underline-offset: .16em; }
.socal-person-card p { margin: .5rem 0 0; color: var(--gray-80); font-size: .9rem; line-height: 1.45; }
.socal-person-role { display: inline-block; margin-left: .5rem; color: var(--gray-60); font-size: .76rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
@media (max-width: 820px) {
  .people-card-grid { grid-template-columns: 1fr; }
  .student-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .socal-people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .people-page-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; align-items: stretch; padding: .9rem 1rem 1rem; }
  .people-directory-section { scroll-margin-top: 6rem; }
  .people-page-nav span { grid-column: 1 / -1; }
  .people-page-nav a { display: flex; align-items: center; min-height: 48px; padding: .5rem .65rem; background: rgba(255,255,255,.5); line-height: 1.3; text-decoration-color: transparent; }
  .people-page-nav a:first-of-type { grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 520px) {
  .student-card-grid { grid-template-columns: 1fr; }
  .person-directory-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 180px; }
  .person-card-media,
  .person-card-photo,
  .person-card-placeholder { min-height: 174px; }
  .person-card-content { padding: 1.15rem; }
  .person-card-content h4 { font-size: 1.25rem; }
  .person-role { margin-top: .55rem; font-size: .76rem; }
  .person-research { margin-top: .75rem; padding-top: .65rem; font-size: .92rem; }
  .student-directory-card { min-height: 154px; }
  .student-directory-card .person-card-media,
  .student-directory-card .person-card-photo,
  .student-directory-card .person-card-placeholder { min-height: 150px; }
  .student-directory-card .person-card-content { padding: 1rem; }
  .socal-people-grid { grid-template-columns: 1fr; }
}
.student-page-heading { padding-bottom: 0; border-bottom: 0; }
.news-archive-heading { padding-bottom: 0; border-bottom: 0; }
.archive-main .events-heading { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.archive-page .archive-main .events-heading { padding-bottom: 0; border-bottom: 0; }
.archive-main .events-heading h1 { margin-bottom: 1.25rem; font-size: clamp(3rem, 5.5vw, 4.9rem); }
.archive-main .events-heading h1::after { height: 5px; }
.archive-main .events-heading p:last-child { max-width: 700px; margin: 0; font-size: 1.15rem; }
.event-period-navigation { display: flex; gap: 2rem; justify-content: space-between; align-items: center; margin: 0 0 clamp(2.5rem, 4vw, 3.5rem); padding: .7rem 0; border-top: 1px solid rgba(0,85,135,.2); border-bottom: 1px solid rgba(0,85,135,.2); background: transparent; }
.event-period-links { display: flex; flex-wrap: wrap; gap: .25rem .8rem; }
.event-period-navigation a { color: var(--ucla-darkest-blue); font-weight: 700; text-decoration: none; }
.event-period-links a { min-height: 42px; padding: .55rem .5rem .4rem; border-bottom: 3px solid transparent; }
.event-period-links a:hover,
.event-period-links a:focus-visible { color: var(--ucla-blue); border-bottom-color: var(--ucla-gold); background: rgba(218,235,254,.45); }
.event-directory-toolbar { margin-bottom: 1.5rem; padding: 0; border: 0; }
.event-filter-toggle { display: none; }
.event-filter-jump { display: none; }
#home-event-filters,
#event-filters { scroll-margin-top: 6rem; }
.home-event-directory-toolbar { margin-bottom: 1rem; }
.home-upcoming-events { margin-top: 0; }
.home-upcoming-heading { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.home-upcoming-heading h3 { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(1.45rem, 2.5vw, 1.85rem); line-height: 1.15; }
.event-archive-callout { display: block; flex: 0 0 auto; min-width: min(100%, 265px); padding: .8rem 1rem; border: 1px solid rgba(0,85,135,.3); border-left: 5px solid var(--ucla-gold); background: #f5f8fa; color: var(--ucla-darkest-blue); text-decoration: none; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.event-archive-callout strong,
.event-archive-callout span { display: block; }
.event-archive-callout strong { font-size: .94rem; line-height: 1.35; }
.event-archive-callout span { margin-top: .18rem; color: var(--gray-60); font-size: .8rem; line-height: 1.35; }
.event-archive-callout:hover { border-color: var(--ucla-blue); background: var(--ucla-lightest-blue); color: var(--ucla-darkest-blue); transform: translateY(-1px); }
.home-upcoming-list { display: grid; gap: 1rem; }
.home-upcoming-empty { margin: 0; }
#events .home-upcoming-events .event-meta { margin-bottom: .35rem; color: var(--ucla-darkest-blue); font-family: inherit; font-size: inherit; letter-spacing: normal; line-height: normal; text-transform: none; }
.home-event-filter-panel { position: sticky; top: 58px; z-index: 12; margin-bottom: 1rem; box-shadow: 0 8px 18px rgba(0,59,92,.12); }
.home-event-directory-frame { width: 100%; }
.home-event-directory-frame iframe { display: block; width: 100%; height: 900px; border: 0; background: transparent; }
.home-event-directory-fallback { margin: 1rem 0 0; font-size: .9rem; }
.home-event-directory-fallback a { font-weight: 700; }
.event-directory-embed,
.event-directory-embed body { min-height: 0; overflow: hidden; background: transparent; }
.event-directory-embed body > .site-header,
.event-directory-embed body > footer,
.event-directory-embed .archive-main > .events-heading,
.event-directory-embed .archive-main > .event-directory-toolbar,
.event-directory-embed .events-browser > .event-filter-toggle,
.event-directory-embed .events-browser > .archive-filter-panel,
.event-directory-embed .event-filter-jump { display: none !important; }
.event-directory-embed .archive-main { width: 100%; max-width: none; margin: 0; padding: 0; }
.event-directory-embed .archive-unified-events,
.event-directory-embed .events-browser { scroll-margin-top: 0; }
.event-directory-summary { max-width: 760px; margin: 0; color: var(--gray-80); font-size: 1.15rem; line-height: 1.6; }
.calendar-subscription { position: relative; flex: 0 0 auto; }
.calendar-subscription > summary { position: relative; min-height: 42px; padding: .52rem 1.8rem .45rem .7rem; border: 1px solid rgba(0,85,135,.32); background: var(--white); color: var(--ucla-darkest-blue); font-weight: 700; white-space: nowrap; cursor: pointer; list-style: none; }
.calendar-subscription > summary::-webkit-details-marker { display: none; }
.calendar-subscription > summary::after { content: "▾"; position: absolute; top: .5rem; right: .55rem; color: var(--ucla-blue); transition: transform 180ms ease; }
.calendar-subscription[open] > summary::after { transform: rotate(180deg); }
.calendar-subscription[open] > summary { color: var(--ucla-blue); border-color: var(--ucla-blue); box-shadow: inset 0 -3px var(--ucla-gold); }
.calendar-subscription > summary:hover,
.calendar-subscription > summary:focus-visible { color: var(--ucla-blue); border-color: var(--ucla-blue); }
.calendar-subscription-menu { position: absolute; z-index: 30; top: calc(100% + .55rem); right: 0; width: min(340px, 85vw); padding: .65rem; border: 1px solid var(--gray-20); border-top: 4px solid var(--ucla-gold); background: var(--white); box-shadow: 0 12px 26px rgba(0,59,92,.15); }
.calendar-subscription-menu > p:first-child { margin: .25rem .45rem .65rem; color: var(--gray-60); font-size: .86rem; line-height: 1.45; }
.calendar-subscription-menu > :is(a, button) { display: block; width: 100%; padding: .7rem .75rem; border: 0; background: transparent; color: var(--ucla-darkest-blue); font: inherit; text-align: left; cursor: pointer; }
.calendar-subscription-menu > :is(a, button) + :is(a, button) { border-top: 1px solid var(--gray-20); }
.calendar-subscription-menu > :is(a, button):hover,
.calendar-subscription-menu > :is(a, button):focus-visible { background: var(--ucla-lightest-blue); }
.calendar-subscription-menu strong,
.calendar-subscription-menu span { display: block; }
.calendar-subscription-menu strong { font-size: .92rem; }
.calendar-subscription-menu span { margin-top: .18rem; color: var(--gray-60); font-size: .76rem; font-weight: 400; line-height: 1.35; }
.calendar-copy-status { margin: .55rem .45rem .2rem; color: var(--ucla-darker-blue); font-size: .8rem; line-height: 1.4; overflow-wrap: anywhere; }
.archive-upcoming-events,
.archive-past-events { scroll-margin-top: 5.5rem; }
.archive-unified-events { scroll-margin-top: 1rem; }
.archive-upcoming-events > h2,
.archive-past-events > h2 { margin: 0 0 .7rem; color: var(--ucla-darkest-blue); font-size: clamp(2.1rem, 3.5vw, 3rem); line-height: 1.05; letter-spacing: -.025em; }
.upcoming-filter-panel { grid-template-columns: minmax(220px, 1.8fr) repeat(2, minmax(140px, 1fr)) auto; }
.archive-filter-panel.unified-filter-panel { grid-template-columns: minmax(220px, 1.65fr) minmax(105px, .8fr) minmax(78px, .5fr) minmax(130px, 1fr) minmax(115px, .9fr) max-content; gap: .75rem; padding: 1rem; }
html:not(.event-directory-embed) .archive-page .archive-filter-panel.unified-filter-panel { position: sticky; top: 58px; z-index: 12; box-shadow: 0 8px 18px rgba(0,59,92,.12); }
.upcoming-source-groups { display: grid; gap: 2rem; }
.upcoming-source-series > h3 { margin: 0 0 1rem; color: var(--ucla-darker-blue); font-size: 1.15rem; }
.archive-introduction { max-width: 760px; margin: 0 0 1.5rem; color: var(--gray-80); font-size: 1.05rem; line-height: 1.55; }
.archive-browser { scroll-margin-top: 1rem; }
.archive-view-switch { display: inline-flex; margin-bottom: .7rem; border: 1px solid var(--ucla-darker-blue); background: var(--white); }
.archive-view-switch button { min-height: 2.75rem; padding: .6rem 1rem; border: 0; background: transparent; color: var(--ucla-darkest-blue); font: 700 .92rem var(--font); cursor: pointer; }
.archive-view-switch button + button { border-left: 1px solid var(--ucla-darker-blue); }
.archive-view-switch button[aria-pressed="true"] { background: var(--ucla-darkest-blue); color: var(--white); box-shadow: inset 0 -4px var(--ucla-gold); }
.archive-view-switch button:hover:not([aria-pressed="true"]) { background: var(--ucla-lightest-blue); }
.archive-view-switch button:focus-visible,
.archive-reset-filters:focus-visible { outline: 2px solid var(--ucla-gold); outline-offset: 2px; }
.archive-filter-panel { display: grid; grid-template-columns: minmax(220px, 1.8fr) repeat(3, minmax(130px, 1fr)) auto; gap: .9rem; align-items: end; margin-bottom: 1.5rem; padding: 1.1rem; border: 1px solid rgba(0,85,135,.28); border-left: 5px solid var(--ucla-blue); background: var(--events-blue-gray); box-shadow: 0 4px 12px rgba(0,59,92,.045); }
.archive-filter label { display: block; margin-bottom: .3rem; color: var(--ucla-darkest-blue); font-size: .78rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.archive-filter input,
.archive-filter select { width: 100%; height: 2.75rem; padding: .5rem .65rem; border: 1px solid rgba(0,59,92,.42); border-radius: 0; background: var(--white); color: var(--gray-80); font: inherit; }
.archive-filter input:focus,
.archive-filter select:focus { border-color: var(--ucla-blue); outline: 2px solid var(--ucla-gold); outline-offset: 1px; }
.archive-reset-filters { min-height: 2.75rem; padding: .55rem .85rem; border: 1px solid var(--ucla-darkest-blue); background: var(--ucla-darkest-blue); color: var(--white); font: 700 .88rem var(--font); cursor: pointer; }
.archive-reset-filters:hover { border-color: var(--ucla-blue); background: var(--ucla-blue); }
.unified-filter-panel .archive-reset-filters { min-height: 2.35rem; justify-self: start; padding: .35rem .35rem .3rem; border: 0; border-bottom: 2px solid var(--ucla-gold); background: transparent; color: var(--ucla-darker-blue); font-size: .8rem; white-space: nowrap; }
.unified-filter-panel .archive-reset-filters:hover { border-bottom-color: var(--ucla-darkest-gold); background: transparent; color: var(--ucla-blue); }
.archive-results-heading { display: flex; gap: 1rem; justify-content: space-between; align-items: baseline; margin: 0 0 1rem; padding-bottom: .65rem; border-bottom: 3px solid var(--ucla-gold); }
.archive-results-heading :is(h2, h3) { margin: 0; color: var(--ucla-darkest-blue); font-size: clamp(1.4rem, 2.25vw, 1.8rem); line-height: 1.2; }
.archive-results-heading p { margin: 0; color: var(--gray-60); font-size: .9rem; }
.archive-results-controls { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; justify-content: space-between; align-items: center; margin: 0 0 .85rem; }
.archive-result-count { margin: 0; color: var(--gray-60); font-size: .9rem; }
#news-archive-status { scroll-margin-top: 7rem; }
.archive-page-size { display: flex; gap: .55rem; align-items: center; color: var(--ucla-darkest-blue); font-size: .82rem; font-weight: 700; }
.archive-page-size select { height: 2.25rem; min-width: 4.5rem; padding: .35rem 1.75rem .35rem .55rem; border: 1px solid rgba(0,59,92,.42); background: var(--white); color: var(--gray-80); font: inherit; }
.archive-page-size select:focus { border-color: var(--ucla-blue); outline: 2px solid var(--ucla-gold); outline-offset: 1px; }
.archive-view-switch + .archive-filter-panel[hidden] + .archive-result-count { margin-bottom: .45rem; }
.archive-browser-results { display: grid; gap: 1.6rem; }
.archive-result-year > :is(h2, h4) { margin: 0 0 .85rem; color: var(--ucla-darkest-blue); font-size: 1.15rem; letter-spacing: .03em; }
.archive-browser-list { gap: .85rem; }
.archive-series-label { display: inline-block; margin: 0 0 .45rem; padding: .12rem .45rem; background: var(--ucla-lightest-blue); color: var(--ucla-darkest-blue); font-size: .75rem; font-weight: 700; letter-spacing: .05em; line-height: 1.5; text-transform: uppercase; }
.archive-period-label { display: inline-block; margin: 0 0 .45rem .4rem; padding: .12rem .45rem; background: var(--gray-05); color: var(--gray-60); font-size: .75rem; font-weight: 700; letter-spacing: .05em; line-height: 1.5; text-transform: uppercase; }
.archive-browser .event-card[data-archive-series="colloquium"],
.upcoming-browser .event-card[data-archive-series="colloquium"],
.events-browser .event-card[data-archive-series="colloquium"] { border-left-color: var(--ucla-darkest-blue); }
.archive-browser .event-card[data-archive-series="seminar"],
.upcoming-browser .event-card[data-archive-series="seminar"],
.events-browser .event-card[data-archive-series="seminar"] { border-left-color: var(--ucla-blue); }
.archive-browser .event-card[data-archive-series="other"],
.upcoming-browser .event-card[data-archive-series="other"],
.events-browser .event-card[data-archive-series="other"] { border-left-color: var(--ucla-darkest-gold); }
.archive-no-results { margin: 0; padding: 1.25rem; border-left: 5px solid var(--ucla-gold); background: var(--gray-05); }
.archive-pagination { display: flex; gap: .9rem; justify-content: center; align-items: center; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--gray-20); }
.archive-pagination[hidden] { display: none; }
.archive-pagination button { min-width: 5.5rem; padding: .48rem .75rem; border: 1px solid rgba(0,59,92,.38); background: var(--white); color: var(--ucla-darker-blue); font: 700 .86rem var(--font); cursor: pointer; }
.archive-pagination button:hover:not(:disabled) { border-color: var(--ucla-blue); background: var(--ucla-lightest-blue); }
.archive-pagination button:focus-visible { outline: 2px solid var(--ucla-gold); outline-offset: 2px; }
.archive-pagination button:disabled { opacity: .42; cursor: default; }
.archive-pagination span { min-width: 6.5rem; color: var(--gray-60); font-size: .85rem; text-align: center; }
#colloquium-results-title { scroll-margin-top: 7rem; }
.archive-older-talks-link { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--gray-20); color: var(--gray-60); font-size: .92rem; }
.archive-past-events { margin-top: var(--content-space); padding-top: var(--content-space); border-top: 6px solid var(--ucla-gold); }
.archive-page .event-card { border-color: rgba(0,85,135,.2); box-shadow: 0 2px 7px rgba(0,59,92,.045); }
.archive-page .event-card:hover,
.archive-page .event-card:focus-within { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(0,59,92,.09); }
.archive-event-list { gap: 1.25rem; }
.archive-series { margin-top: var(--content-space); }
.archive-series > h2 { margin: 0 0 1.5rem; padding-bottom: 1rem; border-bottom: 6px solid var(--ucla-gold); color: var(--ucla-darkest-blue); font-size: clamp(1.8rem, 3vw, 2.6rem); }
.archive-disclosure { margin-top: 1rem; border: 1px solid var(--gray-20); background: var(--gray-03); scroll-margin-top: 1rem; }
.archive-disclosure > summary { display: flex; position: relative; gap: 1rem; justify-content: space-between; align-items: baseline; padding: 1.25rem 3.5rem 1.25rem 1.25rem; color: var(--ucla-darkest-blue); background: var(--white); font-size: 1.25rem; font-weight: 700; cursor: pointer; list-style: none; }
.archive-disclosure > summary::-webkit-details-marker { display: none; }
.archive-disclosure > summary::after { content: "+"; position: absolute; top: 1.05rem; right: 1rem; width: 2rem; color: var(--ucla-darker-blue); font-size: 1.6rem; font-weight: 700; line-height: 1; text-align: center; }
.archive-disclosure[open] > summary::after { content: "−"; }
.archive-disclosure[open] > summary { border-bottom: 1px solid var(--gray-20); }
.archive-disclosure-count { color: var(--gray-60); font-size: .82rem; font-weight: 400; white-space: nowrap; }
.archive-disclosure::details-content,
.calendar-disclosure::details-content {
  block-size: 0;
  overflow: clip;
  opacity: 0;
  transition:
    block-size 420ms cubic-bezier(.22, 1, .36, 1),
    opacity 220ms ease,
    content-visibility 420ms allow-discrete;
}
.archive-disclosure[open]::details-content,
.calendar-disclosure[open]::details-content {
  block-size: auto;
  opacity: 1;
}
.archive-disclosure > summary::after { transition: color 180ms ease; }
.calendar-disclosure > summary::after { transition: transform 220ms ease, color 220ms ease; }
.calendar-disclosure[open] > summary::after { transform: rotate(180deg); }
.archive-series-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); padding: var(--content-space); }
.archive-series-grid .archive-series { min-width: 0; margin-top: 0; }
.archive-series-grid .archive-series:first-child { order: 2; }
.archive-series-grid .archive-series:nth-child(2) { order: 1; }
.archive-disclosure > .archive-series { margin-top: 0; padding: var(--content-space); }
.archive-disclosure > .colloquium-archive { padding-bottom: 1.5rem; }
.archive-return-link { margin: 1.5rem 0 0; font-size: .9rem; }
.archive-return-link a { font-weight: 700; }
.archive-return-link a::before { content: "↑ "; color: var(--ucla-blue); }
.older-talks-link { margin: 2.25rem 0 0; }
.colloquium-archive-heading { margin-bottom: 1.5rem !important; }
.archive-year-navigation { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: var(--content-space); padding: 1rem 1.25rem; border-left: 5px solid var(--ucla-gold); background: var(--ucla-lightest-blue); }
.archive-year-navigation > span { flex: 0 0 auto; color: var(--ucla-darkest-blue); font-weight: 700; }
.archive-year-navigation > div { display: flex; flex-wrap: wrap; gap: .35rem .9rem; }
.archive-year-navigation a { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.colloquium-archive-list { display: grid; gap: 1rem; }
.colloquium-browser .archive-filter-panel { grid-template-columns: minmax(220px, 1.8fr) repeat(2, minmax(130px, 1fr)) auto; }
.historic-result-year { min-width: 0; }
.historic-result-year > h3 { margin: 0 0 .75rem; color: var(--ucla-darkest-blue); font-size: 1.2rem; letter-spacing: .03em; }
.historic-result-year .historic-talk-list { border: 1px solid var(--gray-20); }
.historic-year { margin-top: 0; }
.historic-year > summary { padding-top: 1rem; padding-bottom: 1rem; }
.historic-talk-list { padding: 0 1.25rem 1.25rem; background: var(--white); }
.historic-talk { margin: 0; border-bottom: 1px solid var(--gray-20); background: var(--white); }
.historic-talk:last-child { border-bottom: 0; }
.historic-talk-summary { display: grid; position: relative; grid-template-columns: 8.5rem minmax(12rem, .7fr) minmax(16rem, 1.3fr); gap: .75rem 1.25rem; align-items: baseline; padding: 1rem 2.8rem 1rem 0; cursor: pointer; list-style: none; }
.historic-talk summary::-webkit-details-marker { display: none; }
.historic-talk details-marker { display: none; }
.historic-talk details-marker,
.historic-talk-summary::marker { display: none; content: ""; }
.historic-talk details-marker { font-size: 0; }
.historic-talk > summary::after { content: "+"; position: absolute; top: .85rem; right: .35rem; color: var(--ucla-blue); font-size: 1.45rem; line-height: 1; }
.historic-talk[open] > summary::after { content: "−"; }
.historic-talk > summary:focus-visible { outline: 3px solid var(--ucla-gold); outline-offset: 3px; }
.historic-talk-date { color: var(--gray-60); font-size: .88rem; font-weight: 700; }
.historic-talk-speaker { color: var(--ucla-darker-blue); font-weight: 700; }
.historic-talk-title { color: var(--gray-80); font-weight: 600; line-height: 1.4; }
.historic-talk-availability { grid-column: 3; color: var(--gray-60); font-size: .82rem; font-style: italic; }
.historic-talk-without-abstract .historic-talk-summary { cursor: default; }
.historic-talk-abstract { margin: 0 0 1rem; padding: 1rem 1.25rem; border: 0; border-left: 3px solid var(--ucla-lighter-blue); background: var(--gray-03); }
.historic-talk-abstract p { margin: 0 0 .65rem; line-height: 1.55; }
.historic-talk-abstract p:last-child { margin-bottom: 0; }
.archive-source-note { margin: var(--content-space) 0 0; color: var(--gray-60); font-size: .9rem; }
@media (max-width: 1040px) {
  .people-page-nav { position: static; }
  .people-directory-section { scroll-margin-top: 7rem; }
  .home-event-filter-panel,
  html:not(.event-directory-embed) .archive-page .archive-filter-panel.unified-filter-panel { top: 98px; }
}
@media (max-width: 960px) {
  .event-filter-toggle { display: flex; width: 100%; min-height: 48px; justify-content: space-between; align-items: center; margin: 0 0 .75rem; padding: .7rem 1rem; border: 1px solid rgba(0,85,135,.28); border-left: 5px solid var(--ucla-blue); background: var(--events-blue-gray); color: var(--ucla-darkest-blue); font: 700 .95rem var(--font); text-align: left; cursor: pointer; }
  .event-filter-toggle::after { content: "+"; margin-left: 1rem; color: var(--ucla-darker-blue); font-size: 1.35rem; line-height: 1; }
  .event-filter-toggle[aria-expanded="true"]::after { content: "−"; }
  .event-filter-toggle:hover,
  .event-filter-toggle:focus-visible { border-color: var(--ucla-blue); background: var(--ucla-lightest-blue); }
  .home-event-filter-panel,
  html:not(.event-directory-embed) .archive-page .archive-filter-panel.unified-filter-panel { position: relative; top: auto; }
  .archive-filter-panel.unified-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-filter-panel.unified-filter-panel .archive-filter-search { grid-column: 1 / -1; }
  .event-filter-jump.is-visible { display: inline-flex; position: fixed; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom)); z-index: 18; align-items: center; gap: .4rem; min-height: 44px; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.35); border-bottom: 3px solid var(--ucla-gold); background: var(--ucla-darkest-blue); box-shadow: 0 7px 18px rgba(0,36,61,.24); color: var(--white); font-size: .86rem; font-weight: 700; line-height: 1; text-decoration: none; }
  .event-filter-jump.is-visible:hover,
  .event-filter-jump.is-visible:focus-visible { background: var(--ucla-darker-blue); color: var(--white); }
}
@media (max-width: 820px) {
  .archive-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-filter-panel.unified-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .colloquium-browser .archive-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-filter-search { grid-column: 1 / -1; }
  .historic-talk-summary { grid-template-columns: 1fr; gap: .25rem; }
  .historic-talk-availability { grid-column: 1; }
  .archive-year-navigation { display: block; }
  .archive-year-navigation > div { margin-top: .5rem; }
}
@media (max-width: 520px) {
  .home-event-filter-panel,
  html:not(.event-directory-embed) .archive-page .archive-filter-panel.unified-filter-panel { position: relative; top: auto; }
  .event-period-navigation { flex-wrap: wrap; gap: .65rem 1.25rem; justify-content: flex-start; padding: .55rem 0 .75rem; }
  .event-period-links { width: 100%; gap: .15rem .65rem; }
  .event-directory-toolbar { padding: 0; }
  .event-directory-summary { flex-basis: 100%; }
  .calendar-subscription { flex-basis: 100%; }
  .calendar-subscription > summary { width: fit-content; }
  .calendar-subscription-menu { right: auto; left: 0; width: min(320px, calc(100vw - var(--site-gutter) - var(--site-gutter))); }
  .archive-view-switch { display: flex; }
  .archive-view-switch button { flex: 1 1 50%; }
  .archive-filter-panel { grid-template-columns: 1fr; padding: 1rem; }
  .archive-filter-panel.unified-filter-panel { grid-template-columns: 1fr; }
  .colloquium-browser .archive-filter-panel { grid-template-columns: 1fr; }
  .archive-filter-search { grid-column: auto; }
  .archive-results-controls { align-items: flex-start; }
  .archive-result-count { flex-basis: 100%; }
  .archive-pagination { gap: .55rem; }
  .archive-pagination button { min-width: 0; flex: 1 1 0; }
  .archive-results-heading { display: block; }
  .archive-results-heading p { margin-top: .25rem; }
  .archive-disclosure > summary { display: block; }
  .archive-disclosure-count { display: block; margin-top: .2rem; }
  .archive-disclosure > .archive-series { padding: 1rem; }
}
.archive-page .events-updated { margin-top: 2rem; }
@media (max-width: 760px) { .archive-series-grid { grid-template-columns: 1fr; } }
@media (max-width: 380px) {
  .student-page-nav { grid-template-columns: 1fr; }
  .student-page-nav a:first-of-type { grid-column: auto; justify-content: flex-start; }
  .people-page-nav { grid-template-columns: 1fr; }
  .people-page-nav a:first-of-type { grid-column: auto; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .primary-navigation,
  .people-page-nav,
  .menu-icon,
  .menu-icon::before,
  .menu-icon::after { transition: none; }
  .archive-disclosure > summary::after,
  .calendar-disclosure > summary::after { transition: none; }
  .archive-disclosure::details-content,
  .calendar-disclosure::details-content { transition: none; }
  .news-reader-dialog,
  .news-reader-dialog::backdrop { transition: none; }
}

/* Keep the archive callout and event cards inside narrow home-page viewports.
   This rule must follow the base home-upcoming-heading declaration above. */
@media (max-width: 760px) {
  .home-upcoming-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .home-upcoming-heading .event-archive-callout {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .news-reader-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); border-top-width: 6px; }
  .news-reader-shell { max-height: calc(100dvh - 1rem - 6px); }
  .news-reader-header { gap: 1rem; padding: 1.15rem 1rem 1rem; }
  .news-reader-header h2 { font-size: 1.35rem; }
  .news-reader-close-icon { width: 40px; height: 40px; }
  .news-reader-content { padding: 1.35rem 1rem; }
  .news-reader-content.has-image { grid-template-columns: 1fr; gap: 1.25rem; }
  .news-reader-image { width: min(100%, 320px); height: auto; margin-inline: auto; aspect-ratio: 4 / 5; }
  .news-reader-intro,
  .news-reader-body { font-size: 1rem; line-height: 1.7; }
}
