/* Author profiles and the shared article author card. */
.petaful-author-page { --profile-tint: #eef3f8; --profile-line: #dbe4ef; }
.petaful-author-page .petaful-text-link::after { content: none; }
.petaful-profile-trail { padding: 1.2rem 0; background: #fff; }
.petaful-profile-hero { background: var(--profile-tint); padding: 2.5rem 0; border-block: 1px solid var(--profile-line); }
.petaful-author-page .petaful-btn:focus-visible,.petaful-writer-profile a:focus-visible { outline: 2px solid var(--navy); outline-offset: 4px; }
.petaful-profile-hero--compact { padding-block: 1.5rem; }
.petaful-profile-hero--compact .petaful-profile-hero__grid { grid-template-columns: 7rem minmax(0,1fr); gap: 2rem; }
.petaful-profile-hero--compact .petaful-profile-portrait .petaful-article__writer-avatar { height: 7.5rem; }
.petaful-profile-hero.petaful-profile-hero--compact h1 { font-size: 2rem; margin-block: .4rem; }
.petaful-profile-hero--compact .petaful-profile-hero__role { font-size: 1rem; margin-bottom: .6rem; }
.petaful-profile-hero--compact .petaful-profile-hero__facts { margin-bottom: .7rem; }
.petaful-profile-hero__grid { display: grid; grid-template-columns: 15rem minmax(0,1fr); align-items: center; gap: 3.25rem; max-width: 75rem; }
.petaful-profile-portrait { min-width: 0; }
.petaful-profile-portrait .petaful-article__writer-avatar { width: 100%; height: 17rem; border: 1px solid var(--profile-line); border-radius: 5px; background: #fff; }
.petaful-profile-portrait .petaful-article__writer-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.petaful-profile-portrait .petaful-article__writer-fallback { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-size: 3rem; color: #fff; }
.petaful-profile-portrait__caption { color: var(--ink-soft); font-size: .8rem; line-height: 1.5; margin: .7rem 0 0; }
.petaful-profile-hero h1 { font-family: var(--font-display); font-size: clamp(2.25rem,3.6vw,3.5rem); line-height: 1.15; color: var(--navy); font-weight: 600; margin: .55rem 0 .6rem; }
.petaful-profile-hero__role { color: var(--navy); font-size: 1.25rem; font-weight: 650; margin: 0 0 1rem; }
.petaful-profile-hero__lede { max-width: 70ch; color: var(--body); font-size: 1.125rem; line-height: 1.8; margin: 0 0 1.2rem; }
.petaful-profile-hero__facts { display: flex; gap: 1.5rem; flex-wrap: wrap; color: var(--ink-soft); font-size: .9rem; margin: 0 0 1.4rem; }
.petaful-profile-hero__facts p { margin: 0; }
.petaful-profile-hero__facts strong { color: var(--navy); font-weight: 650; }
.petaful-profile-actions { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.petaful-profile-actions .petaful-btn { font-size: 1.05rem; }
.petaful-profile-social { display: flex; flex-wrap: wrap; list-style: none; gap: 1rem; margin: 1.2rem 0 0; padding: 0; }
.petaful-profile-social a { color: var(--navy); font-size: .85rem; text-underline-offset: 3px; }
.petaful-profile-section { padding-block: 4rem; }
.petaful-profile-section--tint { background: var(--mute); border-block: 1px solid var(--line); }
.petaful-profile-section__head { display: flex; align-items: end; justify-content: space-between; gap: 2.5rem; margin-bottom: 2rem; }
.petaful-profile-section__head h2,.petaful-profile-story h2 { font-size: clamp(1.8rem,2.5vw,2.25rem); line-height: 1.3; max-width: 28ch; margin: .5rem 0 0; }
.petaful-profile-section__head > p { max-width: 42ch; font-size: 1rem; line-height: 1.7; color: var(--ink-soft); margin: 0; }
.petaful-profile-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.petaful-profile-story__grid--text { grid-template-columns: 1fr; }
.petaful-profile-story__body { color: var(--body); font-size: 1.1rem; line-height: 1.85; max-width: 68ch; }
.petaful-profile-story__body h2 { margin-bottom: 1.5rem; }
.petaful-profile-story__body p { margin: 0 0 1.3rem; }
.petaful-profile-story__body p:last-child { margin-bottom: 0; }
.petaful-profile-story__visual { margin: 0; min-width: 0; }
.petaful-profile-story__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--profile-line); border-radius: 5px; }
.petaful-profile-story__visual figcaption { font-size: .8rem; color: var(--ink-soft); line-height: 1.6; margin-top: .7rem; }
.petaful-profile-principles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; padding: 0; margin: 0; list-style: none; }
.petaful-profile-principles li { min-width: 0; padding: 1.7rem; background: #fff; border: 1px solid var(--profile-line); border-radius: 5px; }
.petaful-profile-principles__index { color: var(--paw-ink); font-size: .8rem; font-weight: 700; display: block; margin-bottom: 1rem; }
.petaful-profile-principles h3 { font-size: 1.3rem; line-height: 1.4; margin: 0 0 .8rem; }
.petaful-profile-principles p { color: var(--body); font-size: 1rem; line-height: 1.8; margin: 0; }
.petaful-profile-principles a { display: inline-flex; margin-top: 1rem; gap: .5rem; color: var(--navy); text-decoration: none; font-size: .9rem; font-weight: 700; }
.petaful-profile-principles a:hover { text-decoration: underline; }
.petaful-profile-hero__facts a { color: inherit; text-decoration: none; }
.petaful-profile-hero__facts a:hover { text-decoration: underline; }
.petaful-profile-story__notes { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin-top: 2rem; color: var(--body); font-size: 1.05rem; line-height: 1.85; }
.petaful-profile-story__notes p { margin: 0; }
.petaful-profile-guides { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.petaful-profile-guides h2 { font-size: 2rem; line-height: 1.35; margin: .5rem 0 1.3rem; color: var(--navy); }
.petaful-profile-guides > div > p,.petaful-profile-guides > div > ul { font-size: 1.05rem; line-height: 1.85; color: var(--body); }
.petaful-profile-guides ul { padding-left: 1.2rem; }
.petaful-profile-guides li { margin-block: .7rem; }
.petaful-profile-method { border-top: 2px solid var(--navy); padding-top: 1.25rem; }
.petaful-profile-method h3 { font-family: var(--font); font-size: 1.3rem; margin: 0 0 1.2rem; }
.petaful-profile-method > div { padding-block: 1rem; border-top: 1px solid var(--profile-line); }
.petaful-profile-method h4 { font-family: var(--font); color: var(--navy); font-size: 1rem; margin: 0 0 .5rem; }
.petaful-profile-method p { color: var(--body); font-size: .95rem; line-height: 1.8; margin: 0; }
.petaful-profile-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; align-items: start; }
.petaful-profile-faq details { border: 1px solid var(--profile-line); border-radius: 5px; padding: 0 1.25rem; background: #fff; }
.petaful-profile-faq summary { position: relative; list-style: none; padding: 1.05rem 1.5rem 1.05rem 0; font-size: 1.05rem; line-height: 1.5; color: var(--navy); font-weight: 650; cursor: pointer; }
.petaful-profile-faq summary::-webkit-details-marker { display: none; }
.petaful-profile-faq summary::after { content: '+'; position: absolute; top: 1rem; right: 0; }
.petaful-profile-faq details[open] summary::after { content: '−'; }
.petaful-profile-faq details[open] summary { border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
.petaful-profile-faq details > p { color: var(--body); font-size: 1rem; line-height: 1.8; margin: 0 0 1rem; }
#author-articles { scroll-margin-top: calc(var(--header) + 1rem); }

.petaful-profile-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; border: 1px solid var(--profile-line); border-radius: 5px; overflow: hidden; }
.petaful-profile-process li { padding: 1.6rem; border-left: 1px solid var(--profile-line); margin: 0; }
.petaful-profile-process li:first-child { border-left: 0; }
.petaful-profile-process__index { color: var(--paw-ink); font-size: .8rem; font-weight: 700; }
.petaful-profile-process h3 { margin: .8rem 0 .6rem; font-size: 1.25rem; line-height: 1.4; }
.petaful-profile-process__time { display: block; font-size: .9rem; font-weight: 650; color: var(--navy); margin-bottom: .7rem; }
.petaful-profile-process p { color: var(--body); font-size: 1rem; line-height: 1.75; margin: 0; }
.petaful-profile-topics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 1.2rem; }
.petaful-profile-topics li { min-width: 0; }
.petaful-profile-topics a { display: flex; flex-direction: column; height: 100%; text-decoration: none; padding: 1.5rem; border: 1px solid var(--profile-line); border-radius: 5px; background: #fff; color: var(--navy); }
.petaful-profile-topics a:hover { border-color: var(--navy); }
.petaful-profile-topics h3 { font-size: 1.25rem; line-height: 1.4; margin: 0 0 .7rem; }
.petaful-profile-topics p { color: var(--body); font-size: 1rem; line-height: 1.75; margin: 0 0 1.2rem; }
.petaful-profile-topics__link { display: flex; justify-content: space-between; align-items: center; margin-top: auto; font-size: .92rem; font-weight: 700; }
.petaful-profile-cases { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; list-style: none; padding: 0; margin: 0; }
.petaful-profile-case { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--profile-line); border-radius: 5px; overflow: hidden; background: #fff; }
.petaful-profile-case__media { display: block; background: #f7f9fc; aspect-ratio: 16/10; border-bottom: 1px solid var(--profile-line); }
.petaful-profile-case__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.petaful-profile-case__body { padding: 1.4rem; display: flex; flex-direction: column; flex: 1; }
.petaful-profile-case__label { font-size: .72rem; font-weight: 700; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 .6rem; }
.petaful-profile-case h3 { margin: 0 0 .8rem; font-size: 1.2rem; line-height: 1.45; }
.petaful-profile-case h3 a { text-decoration: none; color: var(--navy); }
.petaful-profile-case h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.petaful-profile-case__body > p:not(.petaful-profile-case__label) { color: var(--body); font-size: .95rem; line-height: 1.7; margin: 0 0 1rem; }
.petaful-profile-case__link { color: var(--navy); font-size: .9rem; font-weight: 700; text-decoration: none; margin-top: auto; }
.petaful-profile-case__link:hover { text-decoration: underline; }
.petaful-profile-articles .petaful-blog-index__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.petaful-profile-close { border-top: 1px solid var(--line); padding-block: 3rem; }
.petaful-profile-close__inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.petaful-profile-close h2 { font-size: 2rem; line-height: 1.35; margin: .4rem 0 .8rem; }
.petaful-profile-close p:last-child { max-width: 66ch; line-height: 1.7; margin: 0; }
/* A single, compact reading finish: author and feedback, then the project route. */
.petaful-article .petaful-article__body-band { padding-bottom: 3.25rem; }
.petaful-article .petaful-article__after { margin-top: 3rem; gap: 2.5rem; }
.petaful-article__after > .petaful-article__end { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; width: 100%; max-width: var(--article-reading); }
.petaful-article__end .petaful-article__credits { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; margin: 0; padding: 1.75rem; border: 1px solid var(--line); border-radius: 5px; background: var(--mute); }
.petaful-writer-profile { margin: 0; padding: 0; border: 0; }
.petaful-writer-profile .petaful-article__writer-card { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: 1rem 1.25rem; align-items: center; padding: 0; border: 0; background: transparent; }
.petaful-writer-profile__portrait { align-self: start; }
.petaful-writer-profile .petaful-article__writer-avatar { width: 5.5rem; height: 5.5rem; border-radius: 5px; border: 1px solid var(--line); }
.petaful-writer-profile .petaful-article__writer-photo { width: 100%; height: 100%; object-fit: cover; }
.petaful-writer-profile__heading { min-width: 0; }
.petaful-writer-profile .petaful-article__writer-eyebrow { font-size: .75rem; color: var(--ink-soft); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin: 0 0 .3rem; }
.petaful-writer-profile .petaful-article__writer-name { margin: 0 0 .3rem; font-size: 1.75rem; line-height: 1.25; }
.petaful-writer-profile .petaful-article__writer-name a { color: var(--navy); text-decoration: none; }
.petaful-writer-profile .petaful-article__writer-name a:hover { text-decoration: underline; text-underline-offset: 4px; }
.petaful-writer-profile .petaful-article__writer-role { color: var(--ink-soft); font-size: .9375rem; font-weight: 600; margin: 0; }
.petaful-writer-profile .petaful-article__writer-body { grid-column: 1 / -1; }
.petaful-writer-profile .petaful-article__writer-bio { max-width: 76ch; color: var(--body); font-size: 1.0625rem; line-height: 1.7; margin: 0; }
.petaful-writer-profile__links { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: .8rem; }
.petaful-writer-profile__links a { color: var(--navy); font-size: .92rem; font-weight: 650; text-decoration: none; }
.petaful-writer-profile__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.petaful-article__end .petaful-article__feedback { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; padding-top: 1rem; margin-top: auto; border-top: 1px solid var(--line); }
.petaful-article__end .petaful-article__feedback-form { gap: .5rem; }
.petaful-article__end .petaful-article__feedback-label { margin-right: .35rem; }
.petaful-article__end .petaful-article__feedback-form button { min-width: 2.8rem; min-height: 2.2rem; margin: 0; padding: .3rem .7rem; border: 1px solid #bac7d5; border-radius: 4px; background: #fff; text-decoration: none; }
.petaful-article__end .petaful-article__feedback-form button:hover { border-color: var(--navy); color: var(--navy); background: #eef3f8; }
.petaful-article__end .petaful-article__feedback-form button:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.petaful-article__end .petaful-article__cta { display: flex; flex-direction: column; align-items: start; min-width: 0; margin: 0; padding: 1.75rem; border: 0; border-radius: 5px; background: var(--navy); }
.petaful-article__end .petaful-article__cta-eyebrow { color: #d7e4f5; font-size: .75rem; font-weight: 650; letter-spacing: .04em; margin: 0 0 .9rem; }
.petaful-article__end .petaful-article__cta-title { font-family: var(--font-display); color: #fff; font-size: 1.625rem; line-height: 1.3; font-weight: 600; margin: 0 0 .9rem; }
.petaful-article__end .petaful-article__cta-text { color: #e2eaf5; font-size: 1rem; line-height: 1.75; margin: 0 0 1.5rem; max-width: 52ch; }
.petaful-article__end .petaful-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: auto; }
.petaful-article__end .petaful-btn { font-size: 1rem; }
.petaful-article__end .petaful-article__cta-service { color: #fff; font-size: .9375rem; font-weight: 600; text-decoration: none; }
.petaful-article__end .petaful-article__cta-service:hover { text-decoration: underline; text-underline-offset: 3px; }
.petaful-article__end .petaful-article__cta a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.petaful-article .petaful-article-more { padding-block: 3.25rem; }
.petaful-article-more__heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.75rem; }
.petaful-article-more__heading .petaful-kicker { margin: 0 0 .5rem; }
.petaful-article-more__heading .petaful-article__more-title { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: 2rem; line-height: 1.3; }
.petaful-article-more__browse { display: inline-flex; align-items: center; gap: .6rem; color: var(--navy); font-size: 1rem; font-weight: 600; text-decoration: none; }
.petaful-article-more__browse:hover { text-decoration: underline; text-underline-offset: 3px; }
.petaful-article-more__browse:focus-visible { outline: 2px solid var(--navy); outline-offset: 4px; }
.petaful-article-more .petaful-blog-index__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.petaful-article-more .petaful-blog-index__card { border-radius: 5px; }
.petaful-article-more .petaful-blog-index__card-media { aspect-ratio: 16 / 10; }
.petaful-article-more .petaful-blog-index__card-body { padding: 1.25rem; gap: .6rem; }
.petaful-article-more .petaful-blog-index__card-title { font-size: 1.25rem; line-height: 1.4; }
@media(min-width:1360px) {
 .petaful-article__after > .petaful-article__end { max-width: none; grid-template-columns: minmax(0,min(var(--article-reading),64%)) minmax(0,1fr); gap: var(--article-toc-gap); }
}
@media(max-width:1199px) {
 .petaful-profile-hero__grid { grid-template-columns: 13rem minmax(0,1fr); gap: 2.5rem; }
 .petaful-profile-portrait .petaful-article__writer-avatar { height: 15rem; }
 .petaful-profile-story__grid { gap: 2.5rem; }
 .petaful-profile-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .petaful-profile-process li { border-bottom: 1px solid var(--profile-line); }
 .petaful-profile-cases,.petaful-profile-articles .petaful-blog-index__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .petaful-article__content > table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
 .petaful-profile-trail { padding-block: 1rem; }
 .petaful-profile-hero { padding-block: 1.8rem; }
 .petaful-profile-hero__grid { grid-template-columns: 1fr; gap: 1.5rem; }
 .petaful-profile-portrait { max-width: 10rem; }
 .petaful-profile-portrait .petaful-article__writer-avatar { height: 11rem; }
 .petaful-profile-hero h1 { font-size: 2.25rem; }
 .petaful-profile-hero--compact .petaful-profile-hero__grid { grid-template-columns: 4.5rem minmax(0,1fr); gap: 1rem; }
 .petaful-profile-hero--compact .petaful-profile-portrait .petaful-article__writer-avatar { height: 5.5rem; }
 .petaful-profile-hero.petaful-profile-hero--compact h1 { font-size: 1.7rem; }
 .petaful-profile-hero--compact .petaful-kicker { font-size: .65rem; }
 .petaful-profile-hero--compact .petaful-profile-hero__facts { font-size: .8rem; }
 .petaful-profile-hero__role { font-size: 1.1rem; }
 .petaful-profile-hero__lede { font-size: 1.05rem; }
 .petaful-profile-hero__facts { gap: .5rem 1.2rem; }
 .petaful-profile-actions { width: 100%; gap: 1rem; }
 .petaful-profile-actions .petaful-btn { width: 100%; }
 .petaful-profile-section { padding-block: 2.75rem; }
 .petaful-profile-section__head,.petaful-profile-close__inner { display: block; }
 .petaful-profile-section__head > p { margin-top: .9rem; }
 .petaful-profile-section__head h2,.petaful-profile-story h2 { font-size: 1.7rem; }
 .petaful-profile-story__grid,.petaful-profile-story__notes,.petaful-profile-guides,.petaful-profile-faq { grid-template-columns: 1fr; gap: 1.5rem; }
 .petaful-profile-guides h2 { font-size: 1.65rem; }
 .petaful-profile-story__body { font-size: 1.05rem; }
 .petaful-profile-principles,.petaful-profile-topics,.petaful-profile-cases,.petaful-profile-articles .petaful-blog-index__grid { grid-template-columns: 1fr; }
 .petaful-profile-principles li,.petaful-profile-process li { padding: 1.25rem; }
 .petaful-profile-process { grid-template-columns: 1fr; }
 .petaful-profile-process li { border-left: 0; }
 .petaful-profile-close { padding-block: 2.5rem; }
 .petaful-profile-close h2 { font-size: 1.65rem; }
 .petaful-profile-close .petaful-btn { margin-top: 1.4rem; width: 100%; }
 .petaful-article .petaful-article__after { margin-top: 2.25rem; gap: 2rem; }
 .petaful-article__end .petaful-article__credits,.petaful-article__end .petaful-article__cta { padding: 1.25rem; }
 .petaful-writer-profile .petaful-article__writer-card { grid-template-columns: 4.5rem minmax(0,1fr); gap: 1rem; }
 .petaful-writer-profile .petaful-article__writer-avatar { width: 4.5rem; height: 4.5rem; }
 .petaful-writer-profile .petaful-article__writer-name { font-size: 1.5rem; }
 .petaful-writer-profile .petaful-article__writer-role { font-size: .875rem; }
 .petaful-writer-profile .petaful-article__writer-bio { font-size: 1rem; line-height: 1.7; }
 .petaful-writer-profile__links { gap: .7rem 1rem; }
 .petaful-article__end .petaful-article__cta-title { font-size: 1.5rem; }
 .petaful-article__end .petaful-cta-row { width: 100%; }
 .petaful-article__end .petaful-btn { width: 100%; }
 .petaful-article .petaful-article-more { padding-block: 2.5rem; }
 .petaful-article-more__heading .petaful-article__more-title { font-size: 1.75rem; }
 .petaful-article-more .petaful-blog-index__grid { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
}
