.cap-profile {
    --cap-ink: #202523;
    --cap-muted: #4b5650;
    --cap-accent: #005b4a;
    --cap-line: #dce3dc;
    color: var(--cap-ink);
    background: #fff;
    padding: 165px 0 88px;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.75;
}
.cap-container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
body .cap-profile a[href] { color: var(--cap-accent); text-underline-offset: .2em; }
.cap-profile a:hover, .cap-article-author a:hover { text-decoration: underline; }
.cap-profile a:focus-visible, .cap-article-author a:focus-visible, .cap-byline a:focus-visible { outline: 3px solid #005b4a; outline-offset: 5px; }
.cap-profile ::selection { background: #d8eee8; color: #202523; }
.cap-breadcrumbs { display: flex; gap: 12px; flex-wrap: wrap; font-size: .85rem; margin-bottom: 42px; color: var(--cap-muted); }
.cap-profile-header { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 70px; align-items: center; padding-bottom: 60px; border-bottom: 1px solid var(--cap-line); }
.cap-profile h1 { font-family: "Castoro", "Source Serif Pro", Georgia, serif; font-size: clamp(2rem, 3.7vw, 3.5rem); line-height: 1.16; font-weight: 400; letter-spacing: -.025em; margin: 0 0 28px; color: var(--cap-ink); }
.cap-profile-summary { max-width: 60ch; font-size: 1.125rem; color: var(--cap-muted); margin: 0; }
.cap-section-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 30px; font-size: .9rem; font-weight: 600; }
.cap-portrait { margin: 0; }
.cap-portrait img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; object-position: center 25%; border-radius: 14px; }
.cap-profile-body { display: grid; grid-template-columns: minmax(0, 760px) minmax(180px, 1fr); gap: 78px; padding-top: 56px; }
.cap-biography { min-width: 0; }
.cap-section { scroll-margin-top: 130px; }
.cap-section + .cap-section { margin-top: 38px; }
.cap-profile h2 { font-family: "Castoro", "Source Serif Pro", Georgia, serif; font-size: 2rem; font-weight: 400; line-height: 1.25; margin: 0 0 22px; color: var(--cap-ink); }
.cap-profile h3 { font-family: "Plus Jakarta Sans", Arial, sans-serif; font-size: 1.25rem; font-weight: 650; line-height: 1.4; margin: 0 0 18px; color: var(--cap-ink); }
.cap-profile h4 { font-size: 1.05rem; font-weight: 650; line-height: 1.5; margin: 26px 0 10px; }
.cap-profile p { margin: 0 0 18px; }
.cap-profile ul { padding-left: 23px; margin: 0 0 18px; list-style: disc; }
.cap-profile li { margin-bottom: 8px; }
.cap-expertise { columns: 2; column-gap: 35px; }
.cap-expertise li { break-inside: avoid; }
.cap-profile-aside { align-self: start; position: sticky; top: 135px; border-top: 1px solid var(--cap-line); padding-top: 22px; }
.cap-profile-aside h2 { font-family: "Plus Jakarta Sans", Arial, sans-serif; font-size: .95rem; font-weight: 650; margin-bottom: 16px; }
.cap-profile-aside a { display: block; margin: 12px 0; font-size: .9rem; }
.cap-profile-aside .cap-text-link { margin-top: 28px; }
.cap-articles { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--cap-line); }
.cap-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.cap-article { min-width: 0; }
.cap-article img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; margin-bottom: 18px; }
.cap-article time { color: var(--cap-muted); font-size: .8rem; }
.cap-article h3 { margin: 10px 0 14px; font-size: 1.15rem; }
.cap-article h3 a { color: var(--cap-ink); }
.cap-article p { font-size: .9rem; }
.cap-text-link { font-weight: 650; text-decoration: underline; text-underline-offset: .2em; }
body .cap-byline a[href], .post-header-card .cap-byline .publish-date { color: #302719; }
.cap-byline .publish-date { display: block; }
.cap-article-author { margin-block: 40px 70px; }
.cap-author-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 26px; border-top: 1px solid #dce3dc; padding-top: 30px; }
.cap-card-photo { width: 96px; height: 110px; border-radius: 12px; object-fit: cover; }
.cap-author-card h2 { font-size: 1.5rem; margin: 0 0 8px; line-height: 1.3; }
.cap-author-card p { max-width: 74ch; margin: 0 0 14px; }
.cap-author-card .cap-job { font-size: .9rem; color: #4b5650; }
body .cap-author-card a[href] { color: #005b4a; }
@media (max-width: 900px) {
    .cap-profile-header { grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; }
    .cap-profile-body { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cap-profile-aside { display: none; }
    .cap-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .cap-profile { padding-top: 125px; padding-bottom: 56px; }
    .cap-container { width: calc(100% - 40px); }
    .cap-breadcrumbs { margin-bottom: 28px; }
    .cap-profile-header { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 34px; }
    .cap-profile h1 { font-size: 2.15rem; }
    .cap-profile-summary { font-size: 1rem; }
    .cap-portrait { max-width: 360px; width: 100%; }
    .cap-portrait img { max-height: 370px; }
    .cap-profile-body { padding-top: 34px; }
    .cap-profile h2 { font-size: 1.75rem; }
    .cap-expertise { columns: 1; }
    .cap-article-grid { grid-template-columns: minmax(0, 1fr); }
    .cap-author-card { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
    .cap-card-photo { width: 64px; height: 80px; }
    .cap-author-card h2 { font-size: 1.25rem; }
}

/* Atelier supplies a full-color logo for light profile headers. */
body.page-template-clinic-author-profile-php .btMainLogo { display: none !important; }
body.page-template-clinic-author-profile-php .btAltLogo { display: block !important; }
/* The theme switches to a dark sticky header while reading the article list. */
body.page-template-clinic-author-profile-php.btStickyHeaderActive .btMainLogo { display: block !important; }
body.page-template-clinic-author-profile-php.btStickyHeaderActive .btAltLogo { display: none !important; }
