:root {
  --ink:#101b33;
  --blue:#173f78;
  --red:#e54b38;
  --gold:#f2b84b;
  --cream:#f4f0e8;
  --paper:#fbfaf7;
  --line:#d9d5cc;
  --font-sans:"DM Sans",sans-serif;
  --font-display:"Oswald",sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans)
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  height:auto
}
.site-header {
  min-height:12.25rem;
  max-width:90rem;
  margin:auto;
  padding:0 4.5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem
}
.brand {
  display:flex;
  align-items:center;
  gap:.8rem
}
.site-header>.brand {
  min-width:7.5rem;
  flex-direction:column;
  gap:.25rem;
  text-align:center
}
.brand-mark {
  width:7.5rem;
  height:10rem;
  display:grid;
  place-items:center;
  flex:0 0 7.5rem
}
.brand-mark img {
  width:7rem;
  height:9.5rem;
  object-fit:contain;
  object-position:center;
  rotate:0deg;
  transform:none
}
.brand strong {
  font-size:.9rem;
  white-space:nowrap
}
.brand small {
  display:block;
  font-size:.625rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.65
}
.site-header nav {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(.65rem,1.3vw,1.35rem);
  font-size:.875rem;
  font-weight:700
}
.site-header nav a:hover,.nav-active {
  color:var(--red)
}
.header-actions {
  display:flex;
  flex-direction:column-reverse;
  gap:.5rem
}
.font-controls {
  height:2.6875rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line)
}
.font-controls button {
  width:2.375rem;
  height:2.5625rem;
  border:0;
  background:transparent;
  font-weight:800;
  cursor:pointer
}
.font-controls button:hover {
  background:var(--ink);
  color:#fff
}
.font-controls span {
  min-width:2.8rem;
  text-align:center;
  color:#68707d;
  font-size:.5625rem;
  font-weight:800
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  min-height:3rem;
  padding:0 1.25rem;
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  font-size:.75rem;
  font-weight:800
}
.button:hover {
  background:var(--red);
  border-color:var(--red)
}
.button.compact {
  min-height:2.75rem
}
.button.light {
  background:#fff;
  border-color:#fff;
  color:var(--ink)
}
.button.light:hover {
  background:var(--gold);
  border-color:var(--gold)
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:.65rem;
  font-size:.625rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase
}
.eyebrow span {
  width:2rem;
  border-top:2px solid var(--red)
}
.eyebrow.light span {
  border-color:var(--gold)
}
.show-hero {
  min-height:42rem;
  padding:clamp(4rem,8vw,8rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr minmax(18rem,27rem);
  gap:8vw;
  align-items:center;
  background:var(--blue);
  color:#fff
}
.show-hero h1,.archive-hero h1,.gallery-year-hero h1 {
  margin:1.2rem 0 1.5rem;
  font:500 clamp(5rem,10vw,9rem)/.8 var(--font-display);
  letter-spacing:-.045em;
  text-transform:uppercase
}
.show-hero h1 em,.archive-hero h1 em {
  color:var(--gold);
  font-style:normal
}
.show-hero>div>p:last-child {
  max-width:42rem;
  color:#d5dfeb;
  line-height:1.8
}
.show-date-calendar {
  aspect-ratio:1;
  display:flex;
  position:relative;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  background:#0d2f59;
  box-shadow:1.2rem 1.2rem 0 var(--gold);
  cursor:pointer
}
.show-date-calendar span {
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.2em
}
.show-date-calendar strong {
  font:500 clamp(6rem,12vw,10rem)/.85 var(--font-display)
}
.show-date-calendar em {
  font:500 2.2rem var(--font-display);
  font-style:normal
}
.show-date-calendar small {
  margin-top:1rem
}
.show-date-calendar:hover,
.show-date-calendar:focus-visible {
  background:#e54b38;
  outline:3px solid #fff;
  outline-offset:.4rem
}
.show-save-date-row {
  width:max-content
}
.show-save-date {
  display:inline-flex;
  position:relative;
  z-index:2;
  align-items:center;
  min-height:3rem;
  padding:.72rem 1.15rem;
  border:2px solid var(--gold);
  background:var(--gold);
  color:var(--ink);
  cursor:pointer;
  font-weight:900;
  letter-spacing:.13em;
  text-decoration:none;
  transition:background .2s ease,color .2s ease
}
.show-save-date:hover,
.show-save-date:focus-visible {
  border-color:var(--gold);
  background:#fff;
  color:var(--ink);
  outline:2px solid #fff;
  outline-offset:.35rem
}
/*
 * Calendar links explain their action on mouse hover and keyboard focus.
 * The native title remains as a fallback when custom tooltips are unavailable.
 */
.show-save-date[data-calendar-tooltip]::after,
.show-date-calendar[data-calendar-tooltip]::after {
  content:attr(data-calendar-tooltip);
  position:absolute;
  z-index:20;
  left:50%;
  bottom:calc(100% + .85rem);
  width:max-content;
  max-width:min(19rem,80vw);
  padding:.65rem .8rem;
  transform:translate(-50%,.35rem);
  border:1px solid rgba(255,255,255,.35);
  background:var(--ink);
  box-shadow:0 .45rem 1.1rem rgba(0,0,0,.24);
  color:#fff;
  font:800 .75rem/1.35 var(--font-sans);
  letter-spacing:.04em;
  opacity:0;
  pointer-events:none;
  text-align:center;
  text-transform:none;
  transition:opacity .16s ease,transform .16s ease
}
.show-save-date[data-calendar-tooltip]:hover::after,
.show-save-date[data-calendar-tooltip]:focus-visible::after,
.show-date-calendar[data-calendar-tooltip]:hover::after,
.show-date-calendar[data-calendar-tooltip]:focus-visible::after {
  transform:translate(-50%,0);
  opacity:1
}
.show-facts {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line)
}
.show-facts article {
  padding:2.5rem;
  background:var(--paper)
}
.show-facts small {
  color:var(--red);
  font-weight:800;
  text-transform:uppercase
}
.show-facts h2 {
  font:500 clamp(2rem,3vw,3.2rem)/1 var(--font-display);
  text-transform:uppercase
}
.show-facts p {
  color:#69717d;
  line-height:1.7
}
.show-explained {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(17rem,.65fr);
  gap:clamp(2rem,6vw,6rem);
  background:#fff
}
.show-explained-copy h2 {
  margin:.9rem 0 1.5rem;
  font:500 clamp(3.5rem,7vw,6.4rem)/.88 var(--font-display);
  letter-spacing:-.035em;
  text-transform:uppercase
}
.show-explained-copy > p {
  max-width:49rem;
  color:#596371;
  line-height:1.8
}
.show-source-link {
  display:inline-flex;
  margin-top:1.25rem;
  color:var(--blue);
  font-size:.75rem;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:.25em
}
.show-source-link:hover,
.show-source-link:focus-visible {
  color:var(--red)
}
.show-history-statistics {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  align-self:start;
  background:var(--line)
}
.show-history-statistics article {
  min-height:10rem;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--cream)
}
.show-history-statistics strong {
  color:var(--red);
  font:500 clamp(2rem,4vw,3.6rem)/1 var(--font-display);
  text-transform:uppercase
}
.show-history-statistics span {
  margin-top:.55rem;
  color:#596371;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase
}
.show-history-photos {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}
.show-history-photos figure {
  margin:0;
  background:var(--ink)
}
.show-history-photos img {
  width:100%;
  height:clamp(16rem,25vw,24rem);
  display:block;
  object-fit:cover
}
.show-history-photos figcaption {
  min-height:4.5rem;
  padding:1rem;
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  line-height:1.5
}
.show-history-link {
  grid-column:1 / -1;
  justify-self:start
}
.show-schedule {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:6vw;
  align-items:start;
  background:var(--paper)
}
.show-schedule h2,
.show-information h2 {
  margin:.8rem 0 0;
  font:500 clamp(3.5rem,7vw,6rem)/.9 var(--font-display);
  text-transform:uppercase
}
.show-schedule ol {
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
  list-style:none
}
.show-schedule li {
  min-height:6.5rem;
  display:grid;
  grid-template-columns:3rem 8rem 1fr;
  gap:1rem;
  align-items:center;
  border-bottom:1px solid var(--line)
}
.show-schedule li>span {
  color:var(--red);
  font:500 .75rem var(--font-display)
}
.show-schedule li>strong {
  font:500 1.35rem var(--font-display)
}
.show-schedule li>p {
  margin:0;
  color:#596371;
  font-weight:700
}
.show-promise,.results-callout {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  background:var(--ink);
  color:#fff
}
.show-promise {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6vw
}
.show-promise h2,.results-callout h2,.show-archive-link h2,.section-heading h2 {
  margin:.8rem 0 0;
  font:500 clamp(3.5rem,7vw,6rem)/.9 var(--font-display);
  text-transform:uppercase
}
.promise-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#485166
}
.promise-grid span {
  padding:2rem;
  display:flex;
  gap:1rem;
  background:var(--ink);
  font-weight:800
}
.promise-grid b {
  color:var(--gold)
}
.results-callout {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:4vw;
  align-items:center
}
.results-callout>p {
  color:#d5dce5;
  line-height:1.8
}
.show-archive-link {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:4vw;
  align-items:center
}
.show-archive-link>p {
  color:#67707c;
  line-height:1.8
}
.archive-hero,.gallery-year-hero,.slideshow-title {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:7vw;
  align-items:end;
  background:var(--blue);
  color:#fff
}
.archive-hero h1 {
  font-size:clamp(4rem,8vw,7rem)
}
.archive-hero>p,.gallery-year-hero>p,.slideshow-title>p {
  color:#d3ddea;
  line-height:1.8
}
.gallery-year-hero h1 {
  color:var(--gold)
}
.slideshow-title h1 {
  margin:.8rem 0 0;
  font:500 clamp(3.5rem,7vw,6rem)/.9 var(--font-display);
  text-transform:uppercase
}
.breadcrumb-bar {
  min-height:4.2rem;
  padding:0 max(4.5vw,calc((100vw - 81.875rem)/2));
  display:flex;
  align-items:center;
  gap:.75rem;
  overflow-x:auto;
  background:var(--ink);
  color:#fff;
  white-space:nowrap;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase
}
.breadcrumb-bar a:after {
  content:"/";
  margin-left:.75rem;
  color:#788298
}
.breadcrumb-bar a:hover {
  color:var(--gold)
}
.open-competition-note {
  padding:2rem max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:.5fr 1.7fr;
  gap:4vw;
  align-items:start;
  border-bottom:1px solid var(--line);
  background:var(--cream)
}
.open-competition-note h2 {
  margin:0 0 .55rem;
  font:500 clamp(1.8rem,3vw,2.8rem) var(--font-display);
  text-transform:uppercase
}
.open-competition-note p:last-child {
  max-width:52rem;
  margin:0;
  color:#536071;
  line-height:1.7
}
.year-index,.subject-index {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2))
}
.section-heading {
  display:grid;
  grid-template-columns:.5fr 1fr .7fr;
  gap:4vw;
  align-items:end;
  margin-bottom:3rem
}
.section-heading>p:last-child {
  color:#66707d;
  line-height:1.7
}
.year-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line)
}
.year-grid .year-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#fff
}
.year-grid .year-card header {
  min-height:10rem;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.year-grid .year-card header small {
  color:var(--red);
  font-weight:800;
  text-transform:uppercase
}
.year-grid .year-card header strong {
  font:500 4.5rem var(--font-display)
}
.year-grid .year-actions {
  display:grid;
  gap:2px;
  margin-top:auto;
  background:var(--line)
}
.year-grid .year-actions a,
.year-grid .year-status {
  min-height:3.65rem;
  padding:.85rem 1.25rem;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  font:800 .86rem var(--font-sans);
  letter-spacing:.01em
}
.year-grid .year-actions a {
  background:var(--ink);
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.22em
}
.year-grid .year-actions a span {
  margin-left:.8rem;
  color:var(--gold);
  font-size:1.05rem
}
.year-grid .year-actions a:hover,
.year-grid .year-actions a:focus-visible {
  background:var(--red);
  color:#fff;
  outline:none
}
.year-grid .year-actions a:focus-visible {
  box-shadow:inset 0 0 0 3px var(--gold)
}
.year-grid .year-status {
  background:#eef1f4;
  color:#687281
}
.subject-list {
  display:grid;
  gap:2rem
}
.subject-list article {
  border:1px solid var(--line);
  background:#fff
}
.subject-list article>header {
  padding:1.5rem 2rem;
  display:flex;
  gap:1.5rem;
  align-items:center;
  background:var(--ink);
  color:#fff
}
.subject-list header>span {
  color:var(--gold);
  font:500 2.5rem var(--font-display)
}
.subject-list h3 {
  margin:0;
  font:500 2.5rem var(--font-display);
  text-transform:uppercase
}
.subject-list header p {
  margin:.25rem 0 0;
  color:#aeb9c8;
  font-size:.7rem
}
.subject-list article>div {
  display:grid;
  grid-template-columns:repeat(2,1fr)
}
.subject-list article>div>a {
  min-height:6rem;
  padding:1.25rem 2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.subject-list article>div>a:hover {
  background:var(--gold)
}
.subject-list a span {
  display:flex;
  flex-direction:column;
  gap:.25rem
}
.subject-list a small,.subject-list a b {
  font-size:.65rem
}
.empty-state {
  margin:4rem max(4.5vw,calc((100vw - 81.875rem)/2));
  padding:3rem;
  background:var(--cream)
}
.empty-state h2 {
  font:500 3rem var(--font-display);
  text-transform:uppercase
}
.show-slideshow {
  padding:clamp(2rem,5vw,4rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  background:#092443;
  color:#fff
}
.show-slides {
  position:relative;
  background:#04172c
}
.show-slide {
  display:none;
  min-height:36rem;
  margin:0;
  padding:1.25rem
}
.show-slide.is-active {
  display:grid;
  place-items:center
}
.show-slide img {
  display:block;
  width:auto;
  max-width:100%;
  max-height:74vh;
  margin:auto;
  object-fit:contain
}
.show-slide figcaption {
  width:100%;
  padding:.8rem;
  text-align:center;
  color:#d8e1e9
}
.slide-controls {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  padding:1rem 0
}
.slide-controls .ipms-slide-step-controls {
  display:flex;
  align-items:center;
  gap:.35rem
}
.slide-controls button {
  padding:.8rem 1rem;
  border:1px solid rgba(255,255,255,.5);
  background:transparent;
  color:#fff;
  font-weight:800;
  cursor:pointer
}
.slide-controls button:hover {
  background:var(--gold);
  color:var(--ink)
}
.slide-thumbs {
  display:flex;
  gap:.65rem;
  overflow-x:auto;
  padding:.5rem 0
}
.slide-thumbs a {
  position:relative;
  flex:0 0 6rem;
  border:3px solid transparent
}
.slide-thumbs a.is-active {
  border-color:var(--gold)
}
.slide-thumbs img {
  width:100%;
  height:4.7rem;
  object-fit:cover
}
.slide-thumbs span {
  position:absolute;
  right:.2rem;
  bottom:.2rem;
  padding:.1rem .3rem;
  background:var(--ink);
  font-size:.55rem
}
footer {
  min-height:19rem;
  padding:3.5rem max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:3rem;
  align-items:center;
  border-top:1px solid var(--line)
}
.footer-brand .brand-mark {
  width:5rem;
  height:7rem;
  flex-basis:5rem
}
.footer-brand .brand-mark img {
  width:4.7rem;
  height:6.6rem
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1.3rem;
  font-size:.72rem;
  font-weight:800
}
footer>p {
  text-align:right;
  color:#777e88;
  font-size:.68rem;
  line-height:1.7
}
@media(max-width:950px) {
  .site-header {
    padding:1rem 1.25rem;
    flex-wrap:wrap
  }
  .site-header nav {
    order:3;
    width:100%;
    padding-bottom:1rem
  }
  .show-facts {
    grid-template-columns:1fr
  }
  .show-promise,.show-archive-link,.results-callout,.section-heading {
    grid-template-columns:1fr 1fr
  }
  .year-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .subject-list article>div {
    grid-template-columns:1fr
  }
}
@media(max-width:700px) {
  .show-hero,.archive-hero,.gallery-year-hero,.slideshow-title,.show-promise,.show-archive-link,.results-callout,.section-heading {
    grid-template-columns:1fr
  }
  .open-competition-note {
    grid-template-columns:1fr;
    gap:1rem
  }
  .show-date-calendar {
    max-width:24rem
  }
  .year-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .year-grid a {
    min-height:11rem
  }
  .show-slide {
    min-height:25rem
  }
  .slide-controls {
    flex-wrap:wrap
  }
  footer {
    grid-template-columns:1fr;
    text-align:center
  }
  footer .brand {
    justify-content:center
  }
  footer>p {
    text-align:center
  }
}

/* Shared automatic-playback controls for Spring Show and collection viewers. */
.show-slideshow .ipms-autoplay-controls {
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#fff
}
.show-slideshow .ipms-autoplay-controls label {
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.7rem;
  font-weight:800
}
.show-slideshow .ipms-autoplay-controls select {
  min-height:2.8rem;
  padding:.65rem .7rem;
  border:1px solid rgba(255,255,255,.5);
  background:#101b33;
  color:#fff;
  font:700 .75rem "DM Sans",sans-serif
}
.show-slide.is-active img { cursor:zoom-in }
.show-slideshow.is-zoomed .show-slide.is-active img { cursor:grab }

@media(max-width:700px) {
  .show-slideshow .ipms-autoplay-controls {
    width:100%;
    justify-content:center
  }
}
.spring-show-promo .show-hero {
  background:linear-gradient(135deg,#173f78 0%,#102d56 72%,#26384f 100%)
}
.spring-show-promo .show-hero h1 em {
  color:#fff;
  text-shadow:.045em .045em 0 #9da5b0
}
.spring-show-promo .show-date-calendar {
  border-color:#fff;
  background:linear-gradient(145deg,#173f78,#0d294e);
  box-shadow:1.2rem 1.2rem 0 #c9ced6
}
@media(max-width:950px) {
  .show-explained {
    grid-template-columns:1fr
  }
  .show-history-photos {
    grid-template-columns:1fr 1fr
  }
}
@media(max-width:700px) {
  .show-save-date {
    justify-content:flex-start
  }
  .show-date-calendar {
    width:min(100%,24rem)
  }
  .show-history-statistics,
  .show-history-photos {
    grid-template-columns:1fr
  }
  .show-history-photos img {
    height:20rem
  }
}
.spring-show-promo .eyebrow.light span {
  border-color:#fff
}
.spring-show-promo .promise-grid b {
  color:#d9dde3
}
.spring-show-promo .address-link {
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#b8bec7;
  text-underline-offset:.25em
}
.spring-show-promo .address-link:hover {
  color:var(--red)
}
.show-host-note {
  max-width:34rem;
  margin-top:2rem;
  color:#c9ced6;
  line-height:1.7
}
.show-information {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:7vw;
  align-items:end;
  background:#eef1f4
}
.show-information .button {
  margin-top:2rem
}
.show-contact-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line)
}
.show-contact-list article {
  min-width:0;
  padding:2rem;
  display:flex;
  flex-direction:column;
  gap:.65rem;
  background:#fff
}
.show-contact-list small {
  color:var(--red);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.show-contact-list strong {
  font-size:1.15rem
}
.show-contact-list a {
  overflow-wrap:anywhere;
  color:var(--blue);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.2em
}
.show-contact-list a:hover {
  color:var(--red)
}
@media(max-width:950px) {
  .show-schedule,
  .show-information {
    grid-template-columns:1fr
  }
}
@media(max-width:700px) {
  .show-contact-list {
    grid-template-columns:1fr
  }
  .show-schedule li {
    grid-template-columns:2.5rem 1fr;
    padding:1rem 0
  }
  .show-schedule li>span {
    grid-row:1 / span 2
  }
  .show-schedule li>p {
    grid-column:2
  }
}
.show-slides {
  overflow:auto
}
.show-slide.is-active {
  min-width:100%;
  overflow:auto
}
.show-slide img {
  transition:max-width .18s ease,width .18s ease,max-height .18s ease
}
.show-slideshow.is-zoomed .show-slide.is-active {
  display:block;
  text-align:center
}
.zoom-controls {
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.5)
}
.slide-controls .zoom-controls button {
  min-width:2.65rem;
  border:0;
  border-right:1px solid rgba(255,255,255,.28)
}
.slide-controls .zoom-controls button:last-child {
  border-right:0
}
.zoom-controls [data-zoom-status] {
  font-variant-numeric:tabular-nums
}
.show-slideshow.is-zoomed .show-slide figcaption {
  position:sticky;
  left:0
}
.show-slideshow.is-zoomed .show-slides {
  overflow:hidden
}
.show-slideshow.is-zoomed .show-slide.is-active {
  height:78vh;
  cursor:grab;
  touch-action:none;
  user-select:none
}
.show-slideshow.is-zoomed .show-slide.is-dragging {
  cursor:grabbing
}
.show-slideshow.is-zoomed .show-slide img {
  pointer-events:none
}
.zoom-tools {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.3rem
}
.zoom-controls>[data-zoom-status] {
  min-width:3.25rem;
  text-align:center;
  font-size:.7rem;
  font-weight:800
}
.show-slide.is-active,.show-slideshow.is-zoomed .show-slide.is-active {
  height:clamp(32rem,82vh,60rem);
  min-height:0;
  max-height:60rem;
  overflow:auto
}
@media(max-width:700px) {
  .show-slide.is-active,.show-slideshow.is-zoomed .show-slide.is-active {
    height:60vh;
    min-height:22rem;
    max-height:38rem
  }
}

/*
 * Spring Show winner records
 *
 * These layouts are shared by fully illustrated recent results, text-only
 * historical lists, and newsletter records. Winner photographs appear only
 * when the original source made the identification.
 */
.results-hero {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr auto;
  gap:5vw;
  align-items:end;
  background:var(--blue);
  color:#fff;
}
.results-hero h1 {
  margin:1rem 0 0;
  font:500 clamp(4.5rem,9vw,8rem)/.85 var(--font-display);
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.results-hero h1 em {
  display:block;
  color:var(--gold);
}
.results-hero-summary {
  min-width:13rem;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.45);
}
.results-hero-summary strong {
  color:var(--gold);
  font:500 2.8rem var(--font-display);
  text-transform:uppercase;
}
.results-hero-summary span {
  color:#d3ddea;
  font-size:.72rem;
  font-weight:700;
}
.results-record-note,
.year-results-callout {
  padding:clamp(3rem,6vw,5rem) max(4.5vw,calc((100vw - 81.875rem)/2));
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:4vw;
  align-items:center;
  background:var(--cream);
}
.results-record-note h2,
.year-results-callout h2 {
  margin:.7rem 0 0;
  font:500 clamp(2.3rem,4vw,4rem)/.95 var(--font-display);
  text-transform:uppercase;
}
.results-record-note > p,
.year-results-callout p {
  color:#596574;
  line-height:1.75;
}
.results-record-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1rem;
}
.results-record-actions .text-link {
  font-size:.72rem;
  font-weight:800;
}
.special-awards,
.winner-lists,
.newsletter-result-source {
  padding:clamp(4rem,7vw,7rem) max(4.5vw,calc((100vw - 81.875rem)/2));
}
.winner-lists,
.newsletter-result-source {
  border-top:1px solid var(--line);
}
.results-section-heading {
  margin-bottom:2.5rem;
}
.award-card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.award-card {
  min-width:0;
  border:1px solid var(--line);
  background:#fff;
}
.award-card > a {
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#e5e0d6;
}
.award-card img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.award-card > div {
  padding:1.35rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.award-card p {
  margin:0;
  color:var(--red);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.award-card h3 {
  margin:.25rem 0;
  font:500 1.65rem/1.05 var(--font-display);
  text-transform:uppercase;
}
.award-card small {
  color:#687281;
}
.result-subject-jumps {
  margin-bottom:3rem;
  display:flex;
  flex-wrap:wrap;
  background:var(--ink);
}
.result-subject-jumps a {
  padding:.9rem 1.1rem;
  border-right:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
}
.result-subject-jumps a:hover {
  background:var(--gold);
  color:var(--ink);
}
.result-subject {
  margin-bottom:4rem;
  scroll-margin-top:1rem;
}
.result-subject > header {
  margin-bottom:1rem;
  padding:1rem 1.25rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  background:var(--blue);
  color:#fff;
}
.result-subject > header h3 {
  margin:0;
  font:500 2rem var(--font-display);
  text-transform:uppercase;
}
.result-subject > header a {
  color:#d3ddea;
  font-size:.65rem;
  font-weight:800;
}
.result-subject > header a:hover {
  color:var(--gold);
}
.result-category-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.result-category {
  min-width:0;
  padding:1.25rem;
  border:1px solid var(--line);
  background:#fff;
}
.result-category h4 {
  margin:0 0 1rem;
  padding-bottom:.8rem;
  border-bottom:2px solid var(--ink);
  font:500 1.25rem/1.2 var(--font-display);
  text-transform:uppercase;
}
.result-category ul {
  margin:0;
  padding-left:1.2rem;
}
.result-category li {
  margin:.45rem 0;
  line-height:1.45;
}
.winner-card-list {
  display:grid;
  gap:.7rem;
}
.winner-card {
  display:grid;
  grid-template-columns:5rem 1fr;
  gap:.9rem;
  align-items:center;
}
.winner-card:not(:has(.winner-photo)) {
  grid-template-columns:1fr;
}
.winner-photo {
  width:5rem;
  height:4rem;
  display:block;
  overflow:hidden;
  background:#e5e0d6;
}
.winner-photo img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.winner-card > div {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.15rem .65rem;
  align-items:baseline;
}
.winner-place {
  grid-row:1 / span 2;
  min-width:2.4rem;
  color:var(--red);
  font-weight:800;
}
.winner-card strong,
.winner-card > div > span:last-child {
  min-width:0;
}
.winner-card > div > span:last-child {
  color:#657080;
  font-size:.75rem;
}
.newsletter-viewer {
  height:clamp(42rem,82vh,68rem);
  margin-bottom:1.5rem;
  border:1px solid var(--line);
  background:#d9d5cc;
}
.newsletter-viewer iframe {
  width:100%;
  height:100%;
  border:0;
}
.archive-status-note {
  margin:0 max(4.5vw,calc((100vw - 81.875rem)/2)) 5rem;
  padding:1.5rem;
  border-left:.4rem solid var(--gold);
  background:var(--cream);
}
.archive-status-note p {
  margin:.35rem 0 0;
  line-height:1.65;
}
.results-empty-state .button {
  margin-top:1rem;
}

@media(max-width:950px) {
  .results-record-note,
  .year-results-callout {
    grid-template-columns:1fr 1fr;
  }
  .results-record-actions,
  .year-results-callout .button {
    grid-column:1 / -1;
  }
  .award-card-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px) {
  .results-hero,
  .results-record-note,
  .year-results-callout,
  .result-category-grid,
  .award-card-grid {
    grid-template-columns:1fr;
  }
  .results-hero-summary {
    min-width:0;
  }
  .result-subject > header {
    align-items:flex-start;
  }
  .newsletter-viewer {
    height:65vh;
    min-height:30rem;
  }
}
