/* Registration: opening status first, followed by the announced deadlines. */
.page-registration .prose { padding-top: 36px; }
.page-registration .prose h2 { margin: 0; padding: 0; border: 0; font-size: clamp(1.6rem,2.3vw,2rem); }
.page-registration .prose p { max-width: none; }
.page-registration .registration-status { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: var(--column-gap); align-items: center; padding: 40px; background: #eaf0ec; border-top: 3px solid var(--river); }
.page-registration .registration-eyebrow { margin: 0 0 16px; color: var(--river); font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.page-registration .registration-status h2 { font-size: clamp(1.8rem,3.1vw,2.7rem); line-height: 1.2; color: var(--river-deep); }
.page-registration .registration-status p:not(.registration-eyebrow) { margin: 18px 0 0; font-size: .94rem; line-height: 1.75; }
.page-registration .registration-status p.registration-status__lead { font-size: clamp(1.02rem,1.5vw,1.15rem); line-height: 1.7; }
.page-registration .registration-status__copy, .page-registration .registration-status__details { min-width: 0; }
.page-registration .registration-status__details { border-left: 1px solid #c3d2cc; padding-left: 32px; }
.page-registration .registration-status__details h3 { margin: 0 0 14px; font-family: var(--sans); font-size: .94rem; }
.page-registration .prose .registration-status__details ul { list-style: none; padding: 0; margin: 0; }
.page-registration .registration-status__details li { padding: 10px 0; font-size: .88rem; border-bottom: 1px solid #d0dcd6; }
.page-registration .registration-status__details li:last-child { border-bottom: 0; }
.page-registration .registration-dates { padding: 44px 0; }
.page-registration .registration-section-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 24px; }
.page-registration .registration-section-heading p { margin: 0; font-size: .82rem; color: var(--muted); }
.page-registration .registration-deadlines { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 0; }
.page-registration .registration-deadlines > div { min-width: 0; padding: 22px 0 0; border-top: 1px solid var(--line); }
.page-registration .registration-deadlines dt { font-family: var(--sans); font-size: .87rem; font-weight: 600; color: var(--river-deep); }
.page-registration .registration-deadlines dd { margin: 16px 0 0; }
.page-registration .registration-deadlines time { display: flex; align-items: center; gap: 16px; color: var(--river-deep); }
.page-registration .registration-deadlines__day { font-family: var(--serif); font-size: 2.6rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.page-registration .registration-deadlines__month { font-size: .9rem; font-weight: 500; line-height: 1.6; }
.page-registration .registration-deadlines__month > span { display: block; color: var(--muted); font-size: .79rem; font-weight: 400; }
.page-registration .registration-information { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--column-gap); padding: 36px 0 40px; border-top: 1px solid var(--line); }
.page-registration .registration-information > section { min-width: 0; }
.page-registration .registration-information h2 { margin-bottom: 20px; }
.page-registration .registration-information p { margin: 0 0 18px; font-size: .94rem; line-height: 1.75; }
.page-registration .prose .registration-inclusions { list-style: none; margin: 0 0 22px; padding: 0; }
.page-registration .registration-inclusions li { position: relative; padding: 5px 0 5px 18px; font-size: .94rem; }
.page-registration .registration-inclusions li::before { content: ""; position: absolute; top: 1em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--river); }
.page-registration .registration-information p.registration-information__note { font-size: .85rem; color: var(--muted); margin-bottom: 0; }
.page-registration .registration-link { display: inline-flex; align-items: baseline; gap: 10px; font-size: .88rem; font-weight: 600; text-underline-offset: 5px; }
.page-registration .registration-link span { white-space: nowrap; }
.page-registration .registration-link:focus-visible { outline: 2px solid var(--river); outline-offset: 5px; }
.page-registration .registration-programme { display: flex; align-items: center; justify-content: space-between; gap: 20px 36px; padding: 26px 28px; background: white; border: 1px solid var(--line); }
.page-registration .registration-programme p { margin: 0; font-size: .83rem; color: var(--muted); }
.page-registration .registration-programme p.registration-programme__title { margin-bottom: 4px; font-size: .94rem; font-weight: 600; color: var(--river-deep); }
.page-registration .registration-programme .registration-link { flex-shrink: 0; }
@media(max-width:900px) {
  .page-registration .registration-status { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); padding: 32px; gap: 28px; }
  .page-registration .registration-status__details { padding-left: 24px; }
  .page-registration .registration-programme { flex-wrap: wrap; }
}
@media(max-width:700px) {
  .page-registration .prose { padding-top: 24px; }
  .page-registration .registration-status { grid-template-columns: 1fr; padding: 26px 24px; gap: 28px; }
  .page-registration .registration-status__details { border-left: 0; border-top: 1px solid #c3d2cc; padding: 22px 0 0; }
  .page-registration .registration-dates { padding-block: 32px; }
  .page-registration .registration-deadlines { grid-template-columns: 1fr; gap: 20px; }
  .page-registration .registration-deadlines > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 20px; }
  .page-registration .registration-deadlines dd { margin: 0; flex-shrink: 0; }
  .page-registration .registration-deadlines time { gap: 12px; }
  .page-registration .registration-deadlines__day { font-size: 2.2rem; }
  .page-registration .registration-deadlines__month { font-size: .8rem; }
  .page-registration .registration-information { grid-template-columns: 1fr; gap: 32px; padding-block: 32px; }
  .page-registration .registration-programme { padding: 24px; }
}
