.dossier-panel {
  background: #f4e65c;
  color: #20201b;
  padding: clamp(1rem, 3vw, 2.25rem);
  margin-block: 1.5rem 2.25rem;
  border: 1px solid currentColor;
}
.dossier-panel h2, .booking-checklist h2, .appointment-comparison h2, .professional-answers h2 {
  font-size: clamp(1.75rem, 3.6vw, 3rem);
  line-height: 1.06;
  margin: 0 0 .8rem;
  overflow-wrap: anywhere;
}
.dossier-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
}
.dossier-heading .btn, .appointment-branch .btn { white-space: normal; }
.dossier-grid, .appointment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: .85rem;
  margin-block: .8rem;
}
.dossier-grid > div, .appointment-branch {
  min-width: 0;
  background: #fffef6;
  color: #20201b;
  border: 1px solid #25251f;
  padding: 1rem;
  overflow-wrap: anywhere;
}
.dossier-grid h3, .appointment-branch h3, .career-specialties h3 { margin: 0 0 .5rem; }
.dossier-grid ul, .dossier-details ul { padding-inline-start: 1.25rem; }
.dossier-grid li + li, .dossier-details li + li { margin-top: .55rem; }
.dossier-source { display: block; font-size: .83rem; margin-top: .25rem; }
.dossier-gap { margin-block: .85rem; }
.dossier-details {
  border-block-start: 1px solid currentColor;
  margin-block: 1rem;
  padding-block: .7rem;
  overflow-wrap: anywhere;
}
.dossier-details summary { font-weight: 700; cursor: pointer; padding-block: .35rem; }
.appointment-branch dl, .career-specialties dl, .professional-answers dl { margin-block: .8rem; }
.appointment-branch dl > div, .career-specialties dl > div, .professional-answers dl > div {
  border-top: 1px solid #c2c0ad;
  padding-block: .65rem;
}
.appointment-branch dt, .career-specialties dt, .professional-answers dt { font-weight: 700; }
.appointment-branch dd, .career-specialties dd, .professional-answers dd { margin: .3rem 0 0; }
.professional-answers dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.career-specialties small { display: inline-block; margin-inline-start: .6rem; }
.booking-questions { border: 0; margin: .75rem 0; padding: 0; min-width: 0; }
.booking-questions label, .professional-consent { display: flex; align-items: baseline; gap: .65rem; padding-block: .4rem; }
.booking-questions input[type=checkbox], .professional-consent input { flex: 0 0 auto; }
.booking-questions .booking-custom, .professional-answers form > label:not(.professional-consent) { display: grid; gap: .35rem; }
.booking-checklist textarea, .booking-custom input, .professional-answers textarea, .professional-answers input[type=password] {
  font: inherit;
  padding: .65rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #fffef6;
  color: #20201b;
  border: 1px solid #25251f;
}
.professional-answers form { display: grid; gap: .75rem; max-width: 42rem; }
.professional-answers button { justify-self: start; }
.ratings-context small { display: block; }
@media (max-width: 38rem) {
  .dossier-grid, .appointment-grid { grid-template-columns: minmax(0, 1fr); }
  .dossier-heading .btn, .booking-checklist .btn { width: 100%; }
}
.career-timeline { padding: 0; list-style: none; }
.career-timeline li {
  display: grid;
  grid-template-columns: 3.8rem minmax(0, 1fr);
  gap: .45rem;
  border-top: 1px solid #c2c0ad;
  padding-block: .55rem;
}
.career-timeline time { font-weight: 700; }
.rating-criteria .text-link { margin-top: .3rem; }
