/* Shared, progressive section anchors. No public content is moved or duplicated. */
.section-anchor { scroll-margin-top: 1.5rem; }
.section-anchor:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
header nav a[aria-current="location"] { text-decoration: underline; text-underline-offset: .3em; }
header nav a { overflow-wrap: anywhere; }
.project-cover { display: block; width: 100%; height: 14rem; object-fit: cover; }
.team-portrait { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.team-profile-portrait { width: min(100%, 24rem); margin: 0 0 2rem; }
.gallery-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin: 2rem 0; }
.gallery-images figure { min-width: 0; margin: 0; }
.gallery-images img { display: block; width: 100%; height: auto; }
.gallery-images figcaption { margin-top: .75rem; overflow-wrap: anywhere; }
@media (max-width: 600px) { .gallery-images { grid-template-columns: 1fr; } }
.project-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.project-list .project-card { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.project-card h2 { font-size: clamp(1.4rem, 2.2vw, 2rem); overflow-wrap: anywhere; }
.project-card p { margin: 0; }
.project-card > a:last-child { margin-top: auto; }
@media (max-width: 900px) { .project-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .project-list { grid-template-columns: 1fr; } }
.project-detail { max-width: 75rem; margin: 0 auto; }
.project-detail > .rich-text, .project-detail > .plain-text { max-width: 70ch; }
.project-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1.25rem; margin: 2rem 0; }
.project-images figure { margin: 0; }
.project-images img { display: block; width: 100%; height: auto; }
.preview-publish { display: inline-block; margin: .5rem 0 .5rem 1rem; }
.preview-publish button { font: inherit; padding: .6rem 1rem; cursor: pointer; }
