/* A quieter browsing and reading layer over the approved workshop palette. */
html { scroll-padding-top: 110px; }
.portfolio-skip { position: fixed; left: 20px; top: -100px; z-index: 10000; padding: 12px 20px; background: #eee8dc; color: #1b1d1e; border-radius: 3px; }
.portfolio-skip:focus { top: 16px; }
.template-header-title { font-size: clamp(32px,4vw,56px); max-width: 1050px; margin-inline: auto; text-wrap: balance; line-height: 1.15; }
.breadcrumb { flex-wrap: wrap; row-gap: 8px; }
.portfolio-back { white-space: nowrap; }
.portfolio-work-link { display: inline-flex; align-items: center; gap: 18px; margin-left: 28px; padding-block: 14px; color: #e8e1d3; border-bottom: 1px solid #9bbbb066; font: 400 20px/1.3 'Barlow Condensed', sans-serif; text-decoration: none; }
.portfolio-work-link span, .footer-connect-link span { color: #a2c6b9; }
.portfolio-work-link:hover { color: #a2c6b9; }
.footer-connect-link { color: inherit; text-decoration: none; }
.footer-connect-link span { display: inline-block; font: 400 .65em/1 sans-serif; margin-left: .2em; }
.footer-connect-link:hover { color: #d4c5a8; }
/* The work becomes a scannable collection, with captions below the artwork. */
#project-collection .project-component { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 30px; }
#project-collection .project-single-item { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; top: auto; overflow: visible; min-width: 0; }
#project-collection .project-thumb-wrap { width: 100%; --frame-width: 8px; }
#project-collection .project-thumb-wrap a { display: block; }
#project-collection .project-thumb { display: block; width: 100%; height: auto; aspect-ratio: 2000/1130; object-fit: cover; opacity: 1 !important; transform: none !important; }
#project-collection .project-thumb-overlay { pointer-events: none; }
#project-collection .project-content { position: static; width: auto; min-width: 0; margin: 0; padding: 20px 0 14px; background: none; box-shadow: none; border-radius: 0; text-align: left; }
#project-collection .project-item-title { position: static; margin: 0; padding: 0; font: 400 clamp(24px,2.1vw,32px)/1.2 'Barlow Condensed', sans-serif; letter-spacing: 0; text-wrap: balance; }
#project-collection .project-link { position: static; align-self: flex-start; width: auto; height: auto; min-height: 44px; border: 0; border-bottom: 1px solid #ac8c5566; border-radius: 0; background: none; box-shadow: none; opacity: 1 !important; transform: none !important; padding: 8px 0; }
#project-collection .project-link-text { font: 400 17px/1.3 'Barlow Condensed', sans-serif; color: #a2c6b9; text-transform: none; }
#project-collection .project-link-text br { display: none; }
#project-collection .project-link-text::after { content: ' ↗'; margin-left: 12px; }
#project-collection .project-link:hover { border-color: #a2c6b9; box-shadow: none; }
.portfolio-jump-links { padding-block: 24px 36px; }
.portfolio-jump-links a { min-height: 44px; display: inline-flex; align-items: center; }
/* Keep media large, while long paragraphs have a comfortable reading measure. */
:is(.project-body, .blog-body) > :is(p,ul,ol,h2,h3,h4) { max-width: 76ch; margin-inline: auto; }
:is(.project-body, .blog-body) p, :is(.project-body, .blog-body) li { font-family: 'Barlow Condensed', sans-serif; font-size: 21px; line-height: 1.6; color: #c9c6be; }
:is(.project-body, .blog-body) > :is(h2,h3,h4) { margin-top: 1.8em; margin-bottom: .65em; }
:is(.project-body, .blog-body) a { text-underline-offset: .2em; }
.portfolio-contact-invitation { padding: 36px; }
.portfolio-contact-invitation p { margin-block: 18px 26px; }
@media(max-width:767px) {
 html { scroll-padding-top: 85px; }
 #project-collection .project-component { grid-template-columns: 1fr; gap: 34px; }
 #project-collection .project-item-title { font-size: 26px; }
 .portfolio-jump-links { gap: 18px; padding-block: 18px 26px; }
 .template-header-title { font-size: clamp(30px,7vw,44px); }
 .breadcrumb-llink { font-size: 15px; }
 :is(.project-body,.blog-body) p, :is(.project-body,.blog-body) li { font-size: 19px; line-height: 1.55; }
 .footer-top { margin-bottom: 32px; }
}
@media(max-width:479px) {
 .portfolio-work-link { margin-left: 18px; font-size: 18px; gap: 8px; }
 .portfolio-contact-invitation { padding: 24px; }
}

.portfolio-index .section-template-header { padding-top: 145px; padding-bottom: 40px; }
.portfolio-index .portfolio-jump-links { padding-block: 16px 20px; margin-bottom: 20px; }
@media(max-width:767px) { .portfolio-index .section-template-header { padding-top: 112px; padding-bottom: 30px; } }
