/* Shared author profile for course and book landing pages. */
.author-profile { display: grid; grid-template-columns: minmax(0, 225px) minmax(0, 1fr); align-items: stretch; gap: 34px; padding: 32px; border: 1px solid var(--studio-line); border-radius: 10px; background: #fff; box-shadow: 4px 4px 0 #eee9f8; color: var(--studio-ink); scroll-margin-top: calc(var(--site-header-height, 70px) + 24px); }
.author-profile__identity { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 26px 22px; border: 1px solid #ded5f1; border-radius: 7px; background: var(--studio-lilac); }
.author-profile__monogram { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 92px; aspect-ratio: 1; margin-bottom: 28px; border: 1px solid var(--studio-ink); border-radius: 8px; background: var(--studio-purple); box-shadow: 4px 4px 0 var(--studio-ink); color: #fff; font-size: 2.2rem; font-weight: 800; letter-spacing: -.05em; }
.author-profile__monogram > span { margin-top: 2px; color: var(--studio-mint); font: .8rem ui-monospace, monospace; letter-spacing: .12em; }
.author-profile__label { margin: 0 0 9px; }
.author-profile h2 { margin: 0; color: var(--studio-ink); font-size: 1.65rem; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.author-profile__role { margin: 9px 0 0; color: var(--studio-muted); font-size: .82rem; line-height: 1.5; }
.author-profile__copy { align-self: center; min-width: 0; }
.author-profile__copy > p { max-width: 76ch; margin: 0; color: #575260; font-size: .94rem; line-height: 1.8; }
.author-profile__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 24px 0; margin: 22px 0; border-block: 1px solid var(--studio-line); list-style: none; }
.author-profile__facts li { min-width: 0; }
.author-profile__facts li + li { padding-left: 18px; border-left: 1px solid var(--studio-line); }
.author-profile__facts strong { display: block; margin-bottom: 8px; color: var(--studio-purple); font-size: 1.03rem; font-weight: 800; line-height: 1.4; letter-spacing: -.025em; }
.author-profile__facts span { display: block; color: var(--studio-muted); font-size: .76rem; line-height: 1.65; }
.author-profile__copy > .author-profile__approach { font-size: .87rem; }
.author-profile__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; }
.author-profile__links a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; color: #5743c3; font-size: .79rem; font-weight: 700; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.author-profile__links a:hover { color: var(--studio-ink); }
.author-profile__links a:focus-visible { outline: 3px solid var(--studio-purple); outline-offset: 4px; }

@media (max-width: 1000px) {
  .author-profile { grid-template-columns: minmax(0, 205px) minmax(0, 1fr); gap: 25px; padding: 26px; }
  .author-profile__facts { gap: 13px; }
  .author-profile__facts li + li { padding-left: 13px; }
}
@media (max-width: 760px) {
  .author-profile { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .author-profile__identity { display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: center; justify-content: initial; gap: 4px 20px; padding: 21px; }
  .author-profile__monogram { grid-column: 1; grid-row: 1 / 4; width: 74px; margin: 0; font-size: 1.8rem; }
  .author-profile__label { grid-column: 2; margin: 0; }
  .author-profile h2 { grid-column: 2; font-size: 1.55rem; }
  .author-profile__role { grid-column: 2; margin: 0; }
}
@media (max-width: 480px) {
  .author-profile { gap: 21px; padding: 20px; }
  .author-profile__identity { grid-template-columns: 58px minmax(0, 1fr); gap: 4px 16px; padding: 17px 14px; }
  .author-profile__monogram { width: 56px; font-size: 1.45rem; box-shadow: 3px 3px 0 var(--studio-ink); }
  .author-profile__monogram > span { font-size: .65rem; }
  .author-profile h2 { font-size: 1.35rem; }
  :root .author-profile .author-profile__label { font-size: .6rem; }
  .author-profile__role { font-size: .74rem; }
  .author-profile__copy > p { font-size: .89rem; }
  .author-profile__facts { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-block: 19px; padding-block: 19px; }
  .author-profile__facts li + li { padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--studio-line); }
  .author-profile__facts strong { margin-bottom: 4px; }
  .author-profile__links { gap: 7px; }
  .author-profile__links a { width: 100%; }
}
