.info-dialog[open] {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  overflow: hidden;
}
.info-dialog-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--control-gap);
  padding: .35rem .6rem .85rem;
  border-block-end: 1px solid #f5d9cd26;
}
.info-dialog-heading .eyebrow { color: var(--contrast); }
.info-dialog-heading h2 { margin-block-start: .32rem; font-size: clamp(2rem, 4.4vw, 3.95rem); line-height: 1.06; }
.info-dialog-close { flex: none; margin: 0; }
.info-dialog-close .slider-control { width: 44px; }
.info-dialog-close span { font-size: 1.4rem; }
.info-dialog-content { min-height: 0; padding: .5rem .65rem .7rem; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.info-lead { max-width: 64ch; margin-block-end: 1.2rem; color: var(--ink); }
.profile-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--panel-gap); }
.profile-dialog-card, .catalogue-course {
  min-width: 0;
  border: 1px solid var(--glass-edge);
  border-radius: 15px;
  background-image: var(--glass-surface);
  box-shadow: var(--glass-shadow);
}
.profile-dialog-card { display: flex; flex-direction: column; padding: clamp(.85rem, 2.1vw, 1.35rem); }
.profile-dialog-card h3 { font-size: 1.13rem; }
.profile-dialog-card p { margin-block-start: .55rem; color: var(--muted); }
.profile-references, .profile-clients {
  display: flex;
  flex-wrap: wrap;
  gap: var(--control-gap);
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
}
.profile-references a {
  color: var(--contrast);
  font-size: .84rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.profile-references { margin-block-start: auto; padding-block-start: .65rem; }
.profile-clients li { padding: .22rem .55rem; border: 1px solid var(--glass-edge); border-radius: 999px; font-size: .84rem; }
.course-catalogue {
  --catalogue-gap: var(--panel-gap);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--catalogue-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.course-catalogue > li { display: flex; flex: 0 1 calc((100% - 2 * var(--catalogue-gap)) / 3); min-width: 0; }
.catalogue-course { display: flex; flex: 1; flex-direction: column; gap: var(--control-gap); padding: .65rem; }
.catalogue-course:is(:hover, :focus-visible) { border-color: var(--hover-border); background-color: var(--hover-tint); }
.catalogue-course img { width: 100%; height: auto; aspect-ratio: 1; border-radius: 10px; object-fit: contain; background: #24181a; }
.catalogue-course-title { display: flex; justify-content: space-between; gap: .45rem; padding-inline: .15rem; line-height: 1.35; }
.catalogue-course-note { margin-block-start: auto; padding-inline: .15rem; color: var(--muted); font-size: .79rem; }

@media (max-width: 600px) {
  .profile-dialog-grid { grid-template-columns: minmax(0, 1fr); }
  .course-catalogue > li { flex-basis: calc((100% - var(--catalogue-gap)) / 2); }
  .catalogue-course-title { font-size: .89rem; }
}
