/* Scoped public presentation. Directory/map, shared navigation and management styles stay unchanged. */
.visual-introduction { padding-block:46px 36px; background:#f1ecdf; }
.visual-welcome { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:clamp(24px,4vw,64px); }
.visual-welcome-copy { min-width:0; }
/* Frame the gathering by cropping the source's empty left margin; retain PNG alpha. */
.visual-welcome-art { width:100%; aspect-ratio:8/5; overflow:hidden; }
.visual-welcome-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }
.visual-introduction-heading { margin-bottom:24px; }
.visual-introduction h1 { font-size:clamp(2rem,3.4vw,2.875rem); line-height:1.15; letter-spacing:-.035em; margin-bottom:10px; }
.visual-institution-name { color:#535b4c; font-size:1.0625rem; margin:0; }
.visual-introduction-copy { max-width:1000px; scroll-margin-top:24px; }
.visual-introduction-copy > p { margin-bottom:14px; font-size:1rem; line-height:1.75; color:#555b4f; }
.visual-introduction-links { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:24px; }
.visual-introduction-links .button { min-height:46px; padding:10px 18px; background:#4c5542; border-color:#4c5542; }
.visual-pathway-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:32px; scroll-margin-top:24px; }
.visual-pathway-cards article { padding:16px 20px; background:#fffdf8; border-top:3px solid #a98a5e; display:flex; flex-direction:column; }
.visual-pathway-cards article:last-child { background:#e3e8dc; border-color:#778568; }
.visual-pathway-cards h2 { margin:0 0 8px; font-size:1.375rem; line-height:1.25; letter-spacing:-.015em; }
.visual-pathway-cards p { color:#5d6356; margin:0 0 12px; font-size:.9375rem; line-height:1.5; }
.visual-pathway-cards article > a,.visual-pathway-cards article > div { margin-top:auto; }
.visual-pathway-cards article > div { display:flex; gap:10px 20px; flex-wrap:wrap; }
.visual-pathway-cards .text-link { font-size:.875rem; }
.visual-blog-home { padding-block:42px; background:#eae4d7; border:0; }
.visual-blog-home .blog-strip-heading { align-items:end; gap:20px; }
.visual-blog-home .blog-strip-heading .eyebrow { margin-bottom:10px; }
.visual-blog-home h2 { font-size:clamp(1.875rem,2.8vw,2.125rem); line-height:1.2; margin-bottom:10px; }
.visual-blog-home .blog-strip-heading > div > p:last-child { color:#5d6355; font-size:1rem; }
.visual-blog-home .blog-strip-controls { margin:12px 0; }
.visual-blog-home .blog-strip-controls button { width:40px; height:40px; border-color:#7e8874; }
.visual-blog-home .blog-strip { align-items:stretch; padding-block:4px 16px; }
.visual-blog-home .blog-strip article { display:flex; flex-direction:column; padding:0; border:0; background:#fffdf8; }
.visual-card-photo { display:block; overflow:hidden; }
.visual-card-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.visual-card-copy { padding:20px; display:flex; flex:1; flex-direction:column; }
.visual-article-date { display:block; font-size:.75rem; color:#626951; letter-spacing:.025em; }
.visual-blog-home .blog-strip h3 { font:400 1.375rem/1.25 var(--serif); margin:12px 0 10px; }
.visual-blog-home .blog-strip .visual-card-author { color:#535d4e; font-size:.875rem; margin:0 0 12px; }
.visual-blog-home .blog-strip .visual-card-excerpt { color:#626759; font-size:1rem; margin:0 0 18px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.visual-card-copy .text-link { margin-top:auto; font-size:.875rem; }
.visual-blog-intro { padding-block:42px 36px; background:#eee8db; }
.visual-blog-intro h1 { font-size:clamp(2rem,3.4vw,2.875rem); line-height:1.15; margin:0 0 14px; }
.visual-blog-intro .eyebrow { margin-bottom:12px; }
.visual-blog-intro > div > p:last-child { max-width:700px; color:#555d4f; font-size:1.0625rem; margin:0; }
.visual-blog-archive { padding-block:30px 50px; background:#fffdf8; }
.visual-archive-heading { display:flex; justify-content:space-between; gap:20px; align-items:baseline; border-bottom:1px solid #c9cdbf; padding-bottom:16px; }
.visual-archive-heading .eyebrow { margin:0; }
.visual-archive-heading > span { font-size:.875rem; color:#616555; }
.visual-blog .blog-list { margin-top:0; }
.visual-blog .blog-list article { display:grid; grid-template-columns:minmax(220px,30%) minmax(0,1fr); gap:28px; padding:28px; border:0; border-bottom:1px solid #d5d7ca; align-items:start; }
.visual-blog .blog-list article { min-height:0; }
.visual-blog .blog-list article > a:not(.text-link) { display:block; overflow:hidden; aspect-ratio:3/2; }
.visual-blog .blog-list article > a:not(.text-link) img { display:block; width:100%; height:100%; object-fit:cover; }
.visual-blog .blog-list article:nth-child(even) { background:#f4f1e9; }
.visual-blog .blog-list article.visual-text-only { grid-template-columns:minmax(0,1fr); }
.visual-blog .blog-list h2 { font-size:clamp(1.375rem,2.2vw,1.5rem); margin-bottom:12px; line-height:1.25; overflow-wrap:anywhere; }
.visual-blog .blog-list h2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.visual-blog .article-byline { font-size:.875rem; gap:6px 20px; margin-bottom:12px; }
.visual-article-copy > p:not(.article-byline) { max-width:760px; color:#626759; font-size:1rem; }
.visual-blog .visual-article-copy > p:not(.article-byline) { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:14px; }
.visual-article-copy .text-link { display:inline-block; font-size:.875rem; }
.visual-blog .blog-pagination { padding-top:24px; font-size:.875rem; }
.visual-blog .blog-pagination a { border-bottom:1px solid currentColor; }
.visual-article-reading { max-width:900px; padding:36px 40px 60px; background:#fffdf8; }
.visual-article-reading .breadcrumbs { margin-bottom:24px; font-size:.875rem; }
.visual-article-reading h1 { font-size:clamp(2rem,3.4vw,2.875rem); line-height:1.15; margin-bottom:20px; }
.visual-article-reading .article-byline { padding-bottom:20px; border-bottom:1px solid #d5d7ca; margin-bottom:24px; }
.visual-article-reading .lead { font-size:1.0625rem; }
.visual-featured-photo { margin:0 0 28px; }
.visual-featured-photo img { width:100%; max-height:520px; height:auto; object-fit:contain; background:#f1ecdf; }
.visual-featured-photo figcaption { margin-top:10px; font-size:.875rem; color:#626759; }
.visual-article-reading .rich-text { font-size:1.0625rem; line-height:1.85; }
.visual-article-reading .rich-text p { margin:0 0 1.25em; }
.visual-article-reading .rich-text h2,.visual-article-reading .rich-text h3 { margin-bottom:.65em; }
.visual-article-reading .rich-text h1,.visual-article-reading .rich-text h2 { font-size:clamp(1.75rem,2.8vw,2.125rem); line-height:1.2; margin-top:28px; letter-spacing:-.025em; }
.visual-article-reading .rich-text h3,.visual-article-reading .prose > h2 { font-size:1.375rem; line-height:1.3; }
.visual-article-reading .rich-text a { text-decoration:underline; text-underline-offset:3px; }
.visual-article-reading .rich-text blockquote { margin:24px 0; padding:12px 22px; border-left:3px solid #a96824; font-family:var(--serif); font-size:1.2rem; background:#f4f1e9; }
.visual-article-reading .rich-text iframe { max-width:100%; }
.visual-introduction a:focus-visible,.visual-blog a:focus-visible,.visual-article-reading a:focus-visible { outline:3px solid #74471c; outline-offset:4px; }
.visual-blog .blog-list h2 a:hover,.visual-blog-home h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) {
 .visual-welcome { grid-template-columns:minmax(0,1fr); gap:24px; }
 .visual-welcome-art { max-width:460px; justify-self:center; }
 .visual-pathway-cards { gap:12px; }
 .visual-pathway-cards article { padding:16px; }
 .visual-blog-home .blog-strip article { flex-basis:calc((100% - 24px)/2); }
 .visual-blog .blog-list article { grid-template-columns:220px minmax(0,1fr); padding:24px 16px; gap:22px; }
}
@media(max-width:650px) {
 .visual-welcome-art { max-width:360px; }
 .visual-introduction { padding-block:32px 28px; }
 .visual-introduction-heading { margin-bottom:20px; }
 .visual-institution-name { font-size:1rem; }
 .visual-introduction-links { align-items:flex-start; gap:18px; }
 .visual-pathway-cards { grid-template-columns:1fr; margin-top:26px; }
 .visual-pathway-cards article { padding:16px 18px; }
 .visual-pathway-cards h2 { font-size:1.25rem; }
 .visual-blog-home { padding-block:32px; }
 .visual-blog-home .blog-strip article { flex-basis:85%; }
 .visual-blog-intro { padding-block:32px; }
 .visual-blog-archive { padding-block:24px 40px; }
 .visual-blog .blog-list article { grid-template-columns:minmax(0,1fr); gap:20px; padding:24px 12px; }
 .visual-blog .blog-list h2 { font-size:1.375rem; }
 .visual-article-reading { padding:28px 6vw 45px; }
 .visual-article-reading .rich-text { font-size:1rem; }
}
