:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  
    border-block-end: var(--border-dark);
    background-color: var(--white);
}
.site-header__inner {
  
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s) var(--space-m);
    padding-block: var(--space-xs);
}
.site-header__brand {
  
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--text-dark);
    text-decoration: none;
}
.site-header__logo {
  
    inline-size: 4.5rem;
    flex-shrink: 0;
    @media (width >= 48rem) {
      inline-size: 6.625rem;
    }
}
.site-header__brand-text {
  
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}
.site-header__name {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: var(--text-m);
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.site-header__tagline {
  
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-dark-muted);
}
.site-header__nav {
  
    display: flex;
    align-items: center;
    gap: var(--space-m);
}
.site-nav {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-m);
}
.site-nav__link {
  
    font-size: var(--text-s);
    font-weight: 500;
    color: var(--text-dark);
    text-decoration: none;
    &:hover {
      color: var(--primary);
    }
    &[aria-current='page'] {
      color: var(--primary);
      font-weight: 600;
    }
}
.site-header__cta {
  
    &.btn--base {
      display: none;
      @media (width >= 48rem) {
        display: inline-flex;
      }
    }
}
.site-footer {
  
    background-color: var(--bg-dark);
    color: var(--bg-dark-text);
}
.site-footer__inner {
  
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s) var(--space-l);
    padding-block: var(--space-l);
}
.site-footer__name {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: var(--text-s);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--white);
}
.site-footer__links {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-m);
}
.site-footer__item {
  
    font-size: var(--text-s);
    color: var(--text-light-muted);
}
.site-footer__link {
  
    color: var(--text-light-muted);
    text-decoration: none;
    &:hover {
      color: var(--white);
    }
}
.site-footer__credit {
  
    font-weight: 600;
    color: var(--white);
    text-decoration: none;
}
.section-intro {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
    &[data-variant='dark'] {
      --_eyebrow: oklch(87.9% 0.162 91deg);
      --_heading: var(--white);
    }
    /* Page titles size to their column so the widest word ("everybody", ~6.5em in wide Archivo) never splits. */
    &[data-size='page'] {
      container-type: inline-size;
    }
}
.section-intro__eyebrow {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--_eyebrow, var(--primary));
}
.section-intro__heading {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: var(--h2);
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--_heading, var(--text-dark));
    max-inline-size: 22ch;
    :where([data-size='page']) > & {
      font-size: min(calc(var(--h1) * 1.5), 15cqi);
      line-height: 0.96;
      letter-spacing: -0.035em;
      max-inline-size: 16ch;
    }
}
.reunion-card {
  
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
    padding-block: var(--space-l);
    border-block-start: 1px solid color-mix(in srgb, var(--white) 18%, transparent);
    @media (width >= 48rem) {
      padding-inline: var(--space-l);
      border-block-start: 0;
      border-inline-start: 1px solid color-mix(in srgb, var(--white) 18%, transparent);
      &:first-child {
        padding-inline-start: 0;
        border-inline-start: 0;
      }
      &:last-child {
        padding-inline-end: 0;
      }
    }
    &[data-status='past'] {
      --_ordinal: var(--base-semi-dark);
      --_meta: var(--text-light-muted);
      --_text: var(--text-light-muted);
    }
    &[data-status='latest'] {
      --_meta: oklch(87.9% 0.162 91deg);
    }
    &[data-status='next'] {
      --_ordinal: var(--primary);
    }
}
.reunion-card__ordinal {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: min(calc(var(--h1) * 2.4), 30cqi);
    line-height: 0.9;
    letter-spacing: -0.05em;
    color: var(--_ordinal, var(--white));
}
.reunion-card__meta {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--_meta, var(--white));
}
.reunion-card__text {
  
    color: var(--_text, var(--text-light-muted));
    max-inline-size: 38ch;
}
.reunion-card__link {
  
    font-weight: 600;
    color: var(--white);
    text-underline-offset: 0.2em;
    &:hover {
      color: oklch(87.9% 0.162 91deg);
    }
}
.classmate-row {
  
    display: flex;
    align-items: center;
    gap: var(--space-s);
    padding-block: var(--space-s);
    border-block-end: var(--border-dark);
}
.classmate-row__initials {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    display: grid;
    place-items: center;
    inline-size: 3rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    border-radius: var(--radius-circle);
    background-color: var(--bg-light);
    font-size: var(--text-s);
    font-weight: 800;
    color: var(--text-dark);
}
.classmate-row__identity {
  
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    flex: 1;
    @media (width >= 48rem) {
      flex-direction: row;
      align-items: center;
      gap: var(--space-m);
    }
}
.classmate-row__name {
  
    font-size: var(--text-m);
    font-weight: 600;
    color: var(--text-dark);
    @media (width >= 48rem) {
      flex: 1;
    }
}
.classmate-row__maiden {
  
    font-weight: 400;
    color: var(--text-dark-muted);
}
.classmate-row__location {
  
    font-size: var(--text-s);
    color: var(--text-dark-muted);
    @media (width >= 48rem) {
      inline-size: 40%;
    }
}
.classmate-row__link {
  
    flex-shrink: 0;
    font-size: var(--text-s);
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
    &:hover {
      color: var(--primary-hover);
    }
}
.cta-band {
  
    padding-block: var(--section-space-l);
    background-color: var(--primary);
    color: var(--white);
}
.cta-band__inner {
  
    container-type: inline-size;
    display: grid;
    gap: var(--space-l);
    align-items: end;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3-2);
    }
}
.cta-band__heading {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: min(calc(var(--h1) * 2.6), 13.5cqi);
    line-height: 0.92;
    letter-spacing: -0.045em;
    color: var(--white);
    @media (width >= 48rem) {
      font-size: min(calc(var(--h1) * 2.6), 8.2cqi);
    }
}
.cta-band__body {
  
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-m);
}
.cta-band__text {
  
    font-size: var(--text-l);
    color: var(--white);
}
.hero {
  
    padding-block: var(--section-space-m) var(--section-space-l);
}
.hero__inner {
  
    display: grid;
    gap: var(--space-l);
    align-items: center;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3-2);
      gap: var(--space-xl);
    }
}
.hero__copy {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
}
.hero__eyebrow {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--primary);
}
.hero__title {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: calc(var(--h1) * 1.5);
    line-height: 0.96;
    letter-spacing: -0.035em;
    color: var(--text-dark);
}
.hero__lead {
  
    font-size: var(--text-l);
    color: var(--text-dark-muted);
    max-inline-size: 36ch;
}
.hero__actions {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    padding-block-start: var(--space-xs);
}
.hero__numeral {
  
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    order: -1;
    @media (width >= 48rem) {
      align-items: flex-end;
      order: 0;
    }
}
.hero__year {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: min(calc(var(--h1) * 6), 54cqi);
    line-height: 0.82;
    letter-spacing: -0.06em;
    white-space: nowrap;
    color: var(--primary);
}
.hero__caption {
  
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-dark-muted);
}
.reunions {
  
    padding-block: var(--section-space-l);
    background-color: var(--bg-dark);
    color: var(--bg-dark-text);
}
.reunions__inner {
  
    gap: var(--space-xl);
}
.reunion-list {
  
    display: grid;
    border-block-start: 1px solid color-mix(in srgb, var(--white) 18%, transparent);
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3);
    }
}
.directory-preview {
  
    padding-block: var(--section-space-l);
}
.directory-preview__inner {
  
    display: grid;
    gap: var(--space-xl);
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-1-2);
    }
}
.directory-preview__intro {
  
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-m);
}
.directory-preview__text {
  
    font-size: var(--text-l);
    color: var(--text-dark-muted);
}
.directory-preview__actions {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}
.classmate-list {
  
    display: flex;
    flex-direction: column;
    border-block-start: 2px solid var(--text-dark);
}
.classmate-card {
  
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-m);
    padding: var(--space-m);
    border: var(--border-dark);
    border-radius: var(--radius);
    background-color: var(--white);
}
.classmate-card__initials {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    display: grid;
    place-items: center;
    inline-size: 3.5rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    border-radius: var(--radius-circle);
    background-color: var(--bg-light);
    font-size: var(--text-m);
    font-weight: 800;
    color: var(--text-dark);
}
.classmate-card__name {
  
    font-size: var(--text-l);
    font-weight: 600;
    line-height: 1.25;
    color: var(--text-dark);
}
.classmate-card__maiden {
  
    font-weight: 400;
    color: var(--text-dark-muted);
}
.classmate-card__location {
  
    font-size: var(--text-s);
    color: var(--text-dark-muted);
}
.event-fact {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding-block: var(--space-l);
    border-block-end: var(--border-dark);
    @media (width >= 48rem) {
      padding-inline: var(--space-l);
      border-block-end: 0;
      border-inline-start: var(--border-dark);
      &:first-child {
        padding-inline-start: 0;
        border-inline-start: 0;
      }
      &:last-child {
        padding-inline-end: 0;
      }
    }
}
.event-fact__label {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--primary);
}
.event-fact__value {
  
    font-family: var(--heading-font-family);
    font-weight: 800;
    font-stretch: 112%;
    font-size: var(--h4);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--text-dark);
}
.event-fact__note {
  
    color: var(--text-dark-muted);
}
.form-field {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}
.form-field__label {
  
    font-size: var(--text-s);
    font-weight: 600;
    color: var(--text-dark);
}
.form-field__mark {
  
    color: var(--primary);
}
.form-field__hint {
  
    font-weight: 400;
    color: var(--text-dark-muted);
}
.form-field__input {
  
    inline-size: 100%;
    padding: var(--space-xs) var(--space-s);
    border: 1.5px solid var(--border-color-dark);
    border-radius: var(--radius);
    background-color: var(--white);
    color: var(--text-dark);
    &::placeholder {
      color: var(--text-dark-muted);
      opacity: 0.7;
    }
    &:focus-visible {
      outline: 2px solid var(--primary);
      outline-offset: 2px;
      border-color: var(--primary);
    }
}
.form-field__input--textarea {
  
    resize: vertical;
    min-block-size: 11.25rem;
}
.form-choice {
  
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s);
    padding: var(--space-s) 0;
    border: 0;
    border-block-end: 1px solid var(--border-color-dark);
}
.form-choice__question {
  
    float: left;
    flex: 1 1 0;
    min-inline-size: 11.25rem;
    padding: 0;
    font-weight: 500;
    color: var(--text-dark);
}
.form-choice__options {
  
    display: flex;
    padding: 0.25rem;
    border: 1.5px solid var(--border-color-dark);
    border-radius: var(--radius-circle);
    background-color: var(--white);
}
.form-choice__option {
  
    position: relative;
    display: block;
    cursor: pointer;
    &:has(:focus-visible) {
      outline: 2px solid var(--primary);
      outline-offset: 2px;
      border-radius: var(--radius-circle);
    }
}
.form-choice__radio {
  
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
.form-choice__text {
  
    display: block;
    min-inline-size: 4.5rem;
    padding: 0.5rem var(--space-s);
    border-radius: var(--radius-circle);
    font-size: var(--text-s);
    font-weight: 500;
    text-align: center;
    color: var(--text-dark-muted);
    :checked + & {
      background-color: var(--base);
      font-weight: 600;
      color: var(--white);
    }
}
.directory {
  
    padding-block: var(--section-space-m) var(--section-space-l);
}
.directory__inner {
  
    gap: var(--space-xl);
}
.directory__intro {
  
    display: grid;
    gap: var(--space-l);
    align-items: end;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3-1);
    }
}
.directory__aside {
  
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-s);
}
.directory__text {
  
    font-size: var(--text-l);
    color: var(--text-dark-muted);
}
.directory__link {
  
    font-weight: 600;
    color: var(--primary);
    text-underline-offset: 0.2em;
}
.classmate-grid {
  
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr));
    gap: var(--grid-gap);
}
.add-card {
  
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-m);
    padding: var(--space-m);
    border-radius: var(--radius);
    background-color: var(--primary);
    color: var(--white);
}
.add-card__heading {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: var(--h4);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--white);
}
.add-card__body {
  
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-s);
}
.add-card__text {
  
    color: var(--white);
}
.reunion-hero {
  
    padding-block: var(--space-xl) var(--section-space-m);
    background-color: var(--bg-dark);
    color: var(--bg-dark-text);
}
.reunion-hero__inner {
  
    gap: var(--space-xl);
}
.breadcrumb {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    font-size: var(--text-s);
    color: var(--text-light-muted);
}
.breadcrumb__link {
  
    color: var(--text-light-muted);
    text-decoration: none;
    &:hover {
      color: var(--white);
    }
}
.breadcrumb__current {
  
    color: var(--white);
}
.reunion-hero__body {
  
    display: grid;
    gap: var(--space-l);
    align-items: end;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3-1);
    }
}
.reunion-hero__ordinal {
  
    container-type: inline-size;
}
.reunion-hero__number {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: min(calc(var(--h1) * 6), 35cqi);
    line-height: 0.8;
    letter-spacing: -0.06em;
    white-space: nowrap;
    color: var(--white);
}
.reunion-hero__aside {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
}
.reunion-hero__eyebrow {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: oklch(87.9% 0.162 91deg);
}
.reunion-hero__intro {
  
    font-size: var(--text-l);
    color: var(--text-light-muted);
}
.event-fact-list {
  
    display: grid;
    border-block-end: var(--border-dark);
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-3);
    }
}
.reunion-photos {
  
    padding-block: var(--section-space-l);
}
.reunion-photos__inner {
  
    gap: var(--space-l);
}
.reunion-photos__header {
  
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-m);
}
.photo-mosaic {
  
    display: grid;
    gap: var(--space-s);
    grid-template-columns: var(--grid-2);
    @media (width >= 48rem) {
      grid-template-columns: 2fr 1fr 1fr;
      grid-template-rows: repeat(2, 15.625rem);
    }
}
.photo-mosaic__tile {
  
    min-block-size: 10rem;
    border-radius: var(--radius);
    background-color: var(--bg-light);
    &:first-child {
      grid-column: 1 / -1;
      @media (width >= 48rem) {
        grid-column: auto;
        grid-row: span 2;
      }
    }
    &:last-child {
      display: flex;
      align-items: flex-end;
      padding: var(--space-m);
      @media (width >= 48rem) {
        grid-column: 3;
        grid-row: 1 / span 2;
      }
    }
}
.photo-mosaic__note {
  
    font-weight: 600;
    color: var(--text-dark);
}
.reunion-pager {
  
    border-block-start: var(--border-dark);
}
.reunion-pager__link {
  
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-block: var(--space-l);
    text-decoration: none;
    &[rel='next'] {
      grid-column: -2;
      align-items: flex-end;
      text-align: end;
    }
}
.reunion-pager__label {
  
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-dark-muted);
}
.reunion-pager__title {
  
    font-family: var(--heading-font-family); font-weight: 900; font-stretch: 125%;
    font-size: var(--h3);
    letter-spacing: -0.03em;
    color: var(--text-dark);
    [rel='next'] > & {
      color: var(--primary);
    }
}
.form-page {
  
    padding-block: var(--section-space-m) var(--section-space-l);
}
.form-page__inner {
  
    display: grid;
    gap: var(--space-xl);
    align-items: start;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-2-3);
    }
}
.form-page__intro {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
}
.form-page__lead {
  
    font-size: var(--text-l);
    color: var(--text-dark-muted);
}
.check-list {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding-block-start: var(--space-m);
    border-block-start: var(--border-dark);
}
.check-list__item {
  
    display: flex;
    gap: var(--space-xs);
    font-weight: 500;
    color: var(--text-dark);
    &::before {
      content: '✓';
      font-weight: 700;
      color: var(--primary);
    }
}
.form-panel {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
    padding: var(--space-l);
    border-radius: var(--radius);
    background-color: var(--bg-light);
}
.form-panel__row {
  
    display: grid;
    gap: var(--space-m);
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-2);
    }
}
.form-panel__choices {
  
    display: flex;
    flex-direction: column;
    border-block-start: 1px solid var(--border-color-dark);
}
.form-panel__footer {
  
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-m);
}
.form-panel__note {
  
    font-size: var(--text-s);
    color: var(--text-dark-muted);
    max-inline-size: 40ch;
}
.topic-picker {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: 0;
    border: 0;
}
.topic-picker__legend {
  
    padding: 0;
    margin-block-end: var(--space-xs);
    font-size: var(--text-s);
    font-weight: 600;
    color: var(--text-dark);
}
.topic-picker__options {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}
.topic-chip {
  
    position: relative;
    cursor: pointer;
    &:has(:focus-visible) {
      outline: 2px solid var(--primary);
      outline-offset: 2px;
      border-radius: var(--radius-circle);
    }
}
.topic-chip__radio {
  
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
.topic-chip__text {
  
    display: block;
    padding: 0.625rem var(--space-s);
    border: 1.5px solid var(--border-color-dark);
    border-radius: var(--radius-circle);
    background-color: var(--white);
    font-size: var(--text-s);
    font-weight: 500;
    color: var(--text-dark);
    :checked + & {
      border-color: var(--base);
      background-color: var(--base);
      font-weight: 600;
      color: var(--white);
    }
}
.reunion-pager__nav {
  
    display: grid;
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-2);
    }
}
.form-panel__botcheck {
  
    display: none;
}
.legal {
  
    padding-block: var(--section-space-m) var(--section-space-l);
}
.legal__inner {
  
    display: grid;
    gap: var(--space-xl);
    @media (width >= 48rem) {
      grid-template-columns: var(--grid-2-3);
    }
}
.legal__intro {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
    @media (width >= 48rem) {
      position: sticky;
      inset-block-start: var(--space-l);
      align-self: start;
    }
}
.legal__updated {
  
    font-size: var(--text-s);
    color: var(--text-dark-muted);
}
.legal-copy {
  
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
    max-inline-size: 68ch;
    & h2 {
      margin-block-start: var(--space-m);
      font-family: var(--heading-font-family);
      font-weight: 800;
      font-stretch: 112%;
      font-size: var(--h4);
      line-height: 1.15;
      letter-spacing: -0.02em;
      color: var(--text-dark);
      &:first-child {
        margin-block-start: 0;
      }
    }
    & p,
    & li {
      color: var(--text-dark-muted);
    }
    & ul {
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
      padding-inline-start: var(--space-m);
    }
    & strong {
      font-weight: 600;
      color: var(--text-dark);
    }
    & a {
      color: var(--primary);
      text-underline-offset: 0.2em;
    }
}
.classmate-card__header {
  
    display: flex;
    align-items: center;
    gap: var(--space-s);
}
.classmate-card__identity {
  
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-inline-size: 0;
}
.classmate-card__links {
  
    display: flex;
    gap: var(--space-xs);
    &:empty {
      display: none;
    }
}
.classmate-card__link {
  
    display: grid;
    place-items: center;
    inline-size: 2.75rem;
    aspect-ratio: 1;
    border-radius: var(--radius-circle);
    background-color: var(--bg-light);
    color: var(--text-dark);
    transition: background-color 0.15s, color 0.15s;
    &:hover {
      background-color: var(--primary);
      color: var(--white);
    }
    &:focus-visible {
      outline: 2px solid var(--primary);
      outline-offset: 2px;
    }
}
.classmate-card__icon {
  
    inline-size: 1.25rem;
    block-size: 1.25rem;
}
.thanks {
  
    padding-block: var(--section-space-l);
}
.thanks__inner {
  
    gap: var(--space-l);
    max-inline-size: 47.5rem;
}
.thanks__actions {
  
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-s);
}