@import url("calendar.css");
/* Shared typography, controls and page components. Imported styles are layered. */
html { font-size: 100%; scroll-padding-top: 6rem; }
body { font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-body); color: var(--ink); background: var(--paper); overflow-x: visible; }
body > header, body > footer, #main-content, .body-privacy main { display: block; }
#main-content { min-height: 50vh; }
*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6, [class*="heading"], [class*="title"] { font-family: var(--font-heading); line-height: var(--leading-heading); font-weight: 700; overflow-wrap: anywhere; }
h1 { font-size: var(--heading-1); }
h2 { font-size: var(--heading-2); }
h3, h4, h5, h6 { font-size: var(--heading-3); }
p, [class*="paragraph"], li, input, button, select, textarea { font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-body); }
p, li { overflow-wrap: anywhere; }
p { max-width: var(--reading-width); }
a { text-underline-offset: .2em; }
img { max-width: 100%; }
:focus-visible { outline: 0.1875rem solid var(--accent); outline-offset: 0.1875rem; box-shadow: 0 0 0 0.1875rem var(--paper); }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: .5rem; left: .5rem; transform: translateY(-160%); z-index: 2000; padding: .75rem 1rem; color: var(--paper); background: var(--brand); border: 0.125rem solid var(--paper); }
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 0.0625rem; height: 0.0625rem; padding: 0; margin: -0.0625rem; clip-path: inset(50%); overflow: hidden; white-space: nowrap; border: 0; }
.page-heading { max-width: var(--page-width); margin: 0 auto; padding: calc(6rem + var(--gap-4)) var(--page-gutter) var(--gap-4); }
.page-heading h1 { margin: 0; color: var(--brand); }
.nav-bar { background: var(--brand); overflow: visible; }
.w-nav-button { min-width: 2.75rem; min-height: 2.75rem; }
.w-nav-menu a { font-size: var(--text-base); }
.w-button, .button, button, input[type="submit"], .calendar-download-button { font-family: var(--font-body); font-size: var(--text-base); line-height: 1.4; min-height: 2.75rem; padding: .75rem 1.25rem; border-radius: var(--radius-pill); }
.w-button, .button, input[type="submit"] { color: var(--paper); background: var(--accent); }
.w-tab-menu { gap: .25rem; }
.w-tab-link { min-height: 2.75rem; white-space: normal; }
.w-tab-link:not(.w--current) { color: var(--brand); }
.w-tab-link.w--current { color: var(--paper); background: var(--brand); }
.w-tab-link > :is(h1,h2,h3,h4,div) { font-size: inherit; color: inherit; }
.hero-paragraph { display: block; -webkit-line-clamp: unset; overflow: visible; font-size: var(--text-base); }
#about-history-text { color: var(--ink); }
.gallery-status a { color: var(--paper); text-decoration: underline; }
.resources-directory-text-div a { min-height: 1.5rem; }
/* Publication lists: cards flow by available space, without fixed viewport widths. */
.section-resources-soultalk { padding: var(--section-space) var(--page-gutter); }
.section-resources-soultalk-container { width: 100%; max-width: var(--page-width); margin: 0 auto; }
.grid-2, .div-block-36 { width: 100%; min-width: 0; }
.grid-2 { display: grid; gap: var(--section-space); grid-template-columns: minmax(0, 1fr); }
.heading-5 { color: var(--brand); font-size: var(--heading-2); margin-top: 0; margin-bottom: var(--gap-2); }
.paragraph.news { font-size: var(--text-lg); color: var(--ink-muted); margin-bottom: var(--gap-3); }
.list-8, .list-9 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: var(--gap-card); margin: 0; padding: 0; }

.list-item-4, .list-item-4.soultalk, .list-item-4 > a { width: 100%; min-width: 0; max-width: 100%; height: auto; }
.list-item-4 > a { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.phos-thumbnail-div { width: 100%; min-width: 0; height: auto; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--paper); box-shadow: var(--shadow-card); overflow: hidden; }
.phos-thumbnail-div .phos-thumbnail-div { border: 0; border-radius: 0; box-shadow: none; }
.phos-thumbnail-div .div-block-35 { width: 100%; padding: var(--gap-3); border-bottom: 1px solid var(--line); }
.phos-thumbnail-div .rich-text-block { width: 100%; min-width: 0; padding: var(--gap-3); margin: 0; }
.phos-thumbnail-div ul { margin: 0; padding-left: 1.25rem; }
.phos-thumbnail-div li { font-size: var(--text-base); margin-bottom: .5rem; }
.phos-thumbnail-div .text-block-15, .phos-title { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 700; color: var(--brand); }
.phos-thumbnail-div .button.news { margin: auto var(--gap-3) var(--gap-3); }
.phos-thumbnail-div img { width: 100%; height: auto; object-fit: contain; }
.phos-thumbnail-div .unavailable-cover { display: flex; width: 100%; height: auto; min-height: 16rem; align-items: center; justify-content: center; text-align: center; padding: var(--gap-3); color: var(--ink-muted); background: var(--surface); font-size: var(--text-sm); }
.phos-thumbnail-div .unavailable-cover::before { content: none; }
.soultalk-list-item { width: 100%; max-width: 100%; padding: var(--gap-3); border: 1px solid var(--line); border-radius: var(--radius-card); margin-bottom: var(--gap-3); }
.soultalk-list-item-contents-div { width: 100%; }
/* Academic content must shrink with its grid/flex track. */
.academics-main-list-item, .academics-main-list-item-header, .academics-main-list-item-contents { min-width: 0; max-width: 100%; }
[class*="curriculum"], [class*="faculty"], [class*="special-program"] { overflow-wrap: anywhere; }
/* Search is an explicitly labelled, ordinary navigation form. */
#pcgs-search { padding: var(--section-space) var(--page-gutter); }
#pcgs-search .w-container { width: 100%; max-width: var(--page-width); }
#pcgs-search input[type="search"] { height: auto; min-height: 2.75rem; padding: .75rem; border: 1px solid var(--ink-muted); }
#pcgs-search label { display: block; margin-bottom: .5rem; }
.alumni-table-wrap { max-width: 100%; overflow-x: auto; }
.alumni-table { min-width: 34rem; background: var(--paper); color: var(--ink); }
.alumni-table caption { text-align: left; font-family: var(--font-heading); font-size: var(--heading-3); font-weight: 700; padding: var(--gap-2); }
.alumni-table th { background: var(--surface); }
.alumni-table th, .alumni-table td { padding: var(--gap-2); }
@media (max-width: 767px) {
 .section-resources-soultalk { padding-top: 6rem; }
 .list-8, .list-9 { grid-template-columns: minmax(0, 1fr); }
 .page-heading { padding-top: 6rem; }
 .w-tab-link { padding: .75rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Header is a non-modal disclosure, so content and keyboard order remain natural. */
body > header { background: var(--paper); color: var(--brand); border-bottom: 1px solid var(--line); }
.site-navigation { max-width: 90rem; margin: 0 auto; display: flex; align-items: center; gap: var(--gap-3); padding: var(--gap-2) var(--page-gutter); }
.site-brand { display: flex; align-items: center; gap: .75rem; color: var(--brand); text-decoration: none; }
.site-brand img { flex: 0 0 3rem; width: 3rem; height: 3rem; object-fit: contain; }
.site-brand span { font: 700 var(--text-sm)/1.4 var(--font-heading); max-width: 20rem; }
.site-brand small { display: block; font: 400 var(--text-sm)/1.5 var(--font-body); margin-top: .125rem; }
.primary-navigation { display: flex; align-items: center; flex-wrap: wrap; margin-left: auto; }
.primary-navigation a { color: var(--brand); padding: .625rem .75rem; min-height: 2.75rem; text-decoration: none; font-size: var(--text-sm); }
.primary-navigation a:hover, .primary-navigation a[aria-current] { text-decoration: underline; text-decoration-thickness: 0.125rem; }
.nav-toggle { display: none; color: var(--brand); background: transparent; border: 1px solid currentColor; margin-left: auto; align-items: center; gap: .5rem; }
.page-heading { padding-top: var(--section-space); }
.section-resources-soultalk { padding-top: var(--section-space); }
@media (max-width: 1100px) {
 .site-navigation { flex-wrap: wrap; gap: var(--gap-2); }
 .site-brand { flex: 1; }
 .site-brand span { font-size: .75rem; }
 .nav-toggle { display: inline-flex; padding: .5rem .75rem; }
 .primary-navigation { width: 100%; flex-direction: column; align-items: stretch; }
 .primary-navigation a { font-size: var(--text-base); padding: .75rem; }
}
#home-about-vision-mission-title { color: inherit; }
.w-tab-link.heading-about-link { display: inline-block; }
.page-heading + :is(.section-resources-soultalk, .section-academics, .section-about) { padding-top: var(--gap-3); }
/* Home summaries link to the complete newsletter; keep the preview concise. */
.hero-paragraph { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.link-hero-news, .link-hero-news-1, .link-hero-news-2 { height: auto; min-height: 0; }
.link-hero-news { padding: var(--gap-3); border-radius: var(--radius-card); color: var(--ink); }
.link-hero-news-1 { padding: 0; }
.link-hero-news-2 { position: static; margin-top: var(--gap-2); }
.about-tabs-menu { display: flex; flex-wrap: wrap; align-items: stretch; gap: .5rem; }
.about-tabs-menu .w-tab-link { flex: 1 1 7rem; width: auto; min-width: 0; padding: .75rem; font-size: var(--text-base); text-align: center; }
.about-tabs-menu .heading-about-link { display: block; margin: 0; font-size: var(--text-base); line-height: 1.4; color: inherit; word-break: normal; overflow-wrap: normal; }
/* Flow-based page shells replace fixed offsets left by the former fixed header. */
body { display: block; width: 100%; margin: 0; padding: 0; }
.section-hero { height: auto; min-height: min(70vh, 48rem); margin: 0; padding: var(--section-space) var(--page-gutter); }
.hero-center-div { position: relative; inset: auto; transform: none; width: 100%; height: auto; }
.div-hero-main { height: auto; margin: 0; }
.heading-hero-main { height: auto; margin-top: 0; margin-bottom: var(--gap-4); }
.section-hero.sub { height: auto; min-height: 0; padding: var(--gap-4) var(--page-gutter); overflow: visible; }
.hero-center-div.sub, .div-hero-news-section.sub { height: auto; min-height: 0; }
.section-resources-soultalk-container { padding: 0; }
.soultalk-list-item-contents-div { padding: 0; }
body[data-route$="/news/phos-aletheia"] .resources-soultalk-files-div,
body[data-route$="/news/phos-aletheia-jr"] .resources-soultalk-files-div { display: block; width: 100%; }
body[data-route$="/alumni"] #main-content > .section { padding: var(--gap-2) var(--page-gutter) var(--section-space); height: auto; min-height: 0; margin: 0 auto; max-width: var(--page-width); }
.body-privacy #main-content { max-width: var(--reading-width); margin: 0 auto; padding: var(--section-space) var(--page-gutter); }
.section-about-main { padding-top: var(--gap-4); }
footer a { font-size: var(--text-sm); line-height: 1.6; }
@media (max-width: 479px) {
 .site-brand img { flex-basis: 2.5rem; width: 2.5rem; height: 2.5rem; }
 .site-navigation { gap: .5rem; }
 .section-hero { min-height: 32rem; }
 .section-hero.sub { min-height: 0; }
}
.section-hero > .div-bgimage { min-width: 0; position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; background-position: center; background-size: cover; }
.section-hero > .div-bgimage::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 60%); }
.hero-center-div { z-index: 1; }
.w-tab-menu { display: flex; flex-wrap: wrap; width: 100%; min-width: 0; }
.w-tab-menu .w-tab-link { flex: 1 1 7rem; width: auto; min-width: 0; max-width: 100%; }
.academics-tab-link-heading-div { width: auto; min-width: 0; margin: 0; }
.academics-tab-link-heading-text { font-size: var(--text-sm); white-space: normal; overflow-wrap: anywhere; }
.alumni-dropdown-toggle { width: 100%; min-width: 0; max-width: 100%; height: auto; min-height: 4rem; padding: var(--gap-3) 3rem var(--gap-3) var(--gap-3); border: 0; border-radius: var(--radius-card); text-align: left; white-space: normal; }
.alumni-dropdown-toggle .dropdown-title { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
body[data-route$="/alumni"] .w-dropdown { display: block; width: 100%; max-width: 100%; }
.search-result-items a { color: var(--brand); font-family: var(--font-heading); font-size: var(--heading-3); font-weight: 700; }
.search-result-items > div { padding-block: var(--gap-3); border-bottom: 1px solid var(--line); min-width: 0; overflow-wrap: anywhere; }
.search-result-items > div > div { color: var(--ink-muted); font-size: var(--text-sm); overflow-wrap: anywhere; }
.site-brand, .site-brand span { min-width: 0; overflow-wrap: anywhere; }
.hero-paragraph { height: auto; min-height: 0; max-height: none; }
.link-hero-news { width: 100%; max-width: none; }
.div-hero-news-section .w-dyn-items, .soultalk-hero-collection .w-dyn-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); align-items: stretch; width: 100%; margin: 0; }
.div-hero-news-section .w-dyn-item, .soultalk-hero-collection .w-dyn-item { width: 100%; min-width: 0; }
.div-block-33 { position: relative; width: 18rem; max-width: 100%; min-width: 0; margin: var(--gap-3) auto 0; }
.div-block-33 .button-acads.sub { display: block; width: 100%; height: auto; min-height: 4rem; margin: 0; padding: 1rem 1rem 1rem 4rem; font-size: var(--text-base); white-space: normal; }
.div-block-33 .image-26 { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 2rem; height: 2rem; margin: 0; pointer-events: none; }
@media (max-width: 767px) {
 .div-hero-news-section .w-dyn-items, .soultalk-hero-collection .w-dyn-items { grid-template-columns: minmax(0, 1fr); }
}
.div-block-33 .text-span { white-space: normal; overflow-wrap: anywhere; }
.w-button, .button, .div-block-33 .button-acads.sub { overflow-wrap: anywhere; }
.resources-link-mobile { color: var(--brand); white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
/* Publication metadata is a sibling of the cover, not nested inside it. */
.div-block-35.phos { width: 100%; height: auto; min-height: 0; padding: var(--gap-3); background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius-card) var(--radius-card); }
.div-block-35.phos .phos-title { color: var(--brand); height: auto; }
.phos-school-year { color: var(--ink-muted); font-size: var(--text-sm); margin-top: .5rem; }
.w-tab-link:not(.w--current) { background: var(--surface); }
@media (min-width: 768px) {
 .section-academics-tabbed .dept-tab-content-main { display: grid; grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr); align-items: start; gap: var(--gap-4); width: 100%; }
 .section-academics-tabbed .dept-sub-tabs-menu { width: auto; height: auto; padding: 0; gap: .5rem; }
 .section-academics-tabbed .dept-sub-tabs-menu .w-tab-link { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-start; width: 100%; height: auto; min-height: 2.75rem; padding: var(--gap-2); border: 1px solid var(--line); border-radius: var(--radius-pill); }
 .section-academics-tabbed .dept-sub-tabs-menu .w--current { border-color: var(--paper); }
 .section-academics-tabbed .academics-tab-link-heading-div { width: 100%; height: auto; min-height: 0; padding: 0; text-align: left; }
 .section-academics-tabbed .dept-tab-content-main > .w-tab-content { width: 100%; min-width: 0; height: auto; }
}
.gallery-status { background: var(--paper); color: var(--ink); }
.gallery-status a { color: var(--brand); }
@media (min-width: 768px) {
 .section-academics-tabbed .dept-tab-content-main::before, .section-academics-tabbed .dept-tab-content-main::after { display: none; }
 .section-academics-tabbed .dept-sub-tabs-menu { grid-column: 1; grid-row: 1; }
 .section-academics-tabbed .dept-tab-content-main > .w-tab-content { grid-column: 2; grid-row: 1; }
}
.w-tab-menu { align-items: stretch; }
.w-tab-menu .w-tab-link { display: flex; align-items: center; justify-content: center; align-self: stretch; height: auto; }
.section-academics-tabbed .w-tab-link { font-size: var(--text-base); }
.error-page { max-width: var(--page-width); margin: 0 auto; padding: var(--section-space) var(--page-gutter); }
.error-page a { display: inline-block; min-height: 2.75rem; padding-block: .5rem; color: var(--brand); text-decoration: underline; }

/* Bright Campus: white navigation, blue panels and warm, rounded controls. */
.nav-bar { background: var(--paper); }
.site-brand small { color: var(--ink-muted); }
.primary-navigation a { display: flex; align-items: center; border-radius: var(--radius-pill); }
.primary-navigation a:hover, .primary-navigation a[aria-current] { color: var(--accent-text); background: var(--panel); }
/* White on the reference coral meets AA at large bold size (1.1875rem+).
   Small accent text instead uses the darker coral companion. */
.w-button, .button, input[type="submit"],
.div-block-33 .button-acads.sub { background: var(--accent); color: var(--paper); border: 0; border-radius: var(--radius-pill); font-size: 1.1875rem; font-weight: 700; line-height: 1.4; text-decoration: none; min-height: 2.75rem; }
.w-button:hover, .button:hover, input[type="submit"]:hover { background: var(--accent-hover); color: var(--paper); }
.w-tab-link { border-radius: var(--radius-pill); }
.w-tab-link.w--current { background: var(--brand); color: var(--paper); box-shadow: inset 0 -0.1875rem var(--accent); }
.w-tab-link:hover { box-shadow: inset 0 -0.1875rem var(--accent); }
.section-hero { background: var(--panel); }
.heading-hero-main { color: var(--brand); font-size: clamp(2rem, 1.4rem + 2.8vw, 3.3rem); line-height: 1.1; letter-spacing: -.015em; }
/* Retain the campus photograph beneath a light panel wash and navy type. */
.section-hero:has(> .div-bgimage) { margin: var(--gap-3) var(--page-gutter); width: auto; border-radius: var(--radius-card); }
.section-hero:has(> .div-bgimage) .heading-hero-main { color: var(--brand); }
.section-hero > .div-bgimage { z-index: 0; }
.section-hero > .div-bgimage > .div-block-13 { background: transparent; }
.section-hero > .div-bgimage::after { background: rgb(238 244 248 / 90%); }
.button-hero { box-shadow: 0 0.625rem 1.375rem rgb(228 72 59 / 30%); }
.section-hero.sub { background: var(--paper); padding-block: var(--section-space); }
.hero-center-div, .div-acads-main { max-width: var(--page-width); margin-inline: auto; }
.section-academic { background: var(--panel); padding: var(--section-space) var(--page-gutter); width: 100%; }
.section-academic :is(.heading-3, .div-acads-heading) { color: var(--brand); }
.section-academic :is(.paragraph-3, .paragraph-4) { color: var(--ink-muted); }
.heading.red { color: var(--accent-text); }
.divider-block-short { border-color: var(--accent); }

/* A row's stretch must continue through every wrapper down to the CTA. */
.div-hero-news-section.sub { display: flex; flex-direction: column; align-items: stretch; width: 100%; padding: 0; gap: var(--gap-3); }
.div-hero-news-label { display: flex; position: static; float: none; width: 100%; height: auto; background: transparent; justify-content: flex-start; }
.div-hero-news-label-text { position: static; transform: none; writing-mode: horizontal-tb; margin: 0; color: var(--brand); font-family: var(--font-heading); font-size: var(--heading-2); font-weight: 700; }
.soultalk-hero-collection { display: block; width: 100%; min-width: 0; }
/* Webflow clearfix pseudo-elements otherwise become extra grid cells (2 + 1). */
:is(.div-hero-news-section, .soultalk-hero-collection) .w-dyn-items::before,
:is(.div-hero-news-section, .soultalk-hero-collection) .w-dyn-items::after { content: none; }
:is(.div-hero-news-section, .soultalk-hero-collection) .w-dyn-item { display: flex; flex-direction: column; padding: 0; margin: 0; float: none; }
.link-hero-news { display: flex; flex-direction: column; flex: 1; height: 100%; min-width: 0; margin: 0; padding: 1.375rem 1.25rem; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow-card); text-decoration: none; cursor: pointer; }
.link-hero-news-1 { display: flex; flex-direction: column; flex: 1; width: 100%; min-width: 0; }
.hero-newsheading { color: var(--brand); font-size: var(--text-lg); font-weight: 700; margin: 0 0 var(--gap-2); }
.hero-paragraph { color: var(--ink-muted); }
.link-hero-news .div-block-2 { background: var(--accent); }
.link-hero-news-2 { margin-top: auto; padding-top: var(--gap-2); width: 100%; height: auto; }
.link-hero-news .text-block-8 { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .6rem 1rem; border-radius: var(--radius-pill); background: var(--accent); color: var(--paper); font-size: 1.1875rem; font-weight: 700; }
.link-hero-news:hover .text-block-8 { background: var(--accent-hover); }
.list-item-4, .list-item-4.soultalk { display: flex; flex-direction: column; height: 100%; margin: 0; padding: 0; }
.list-item-4 > .phos-thumbnail-div { display: flex; flex-direction: column; flex: 1; height: 100%; }
.phos-thumbnail-div .rich-text-block { flex: 1; color: var(--ink-muted); }
.phos-thumbnail-div .button.news { align-self: flex-start; }
/* Cover and sibling metadata form one card; nested cover wrappers do not stretch. */
.list-item-4 > a { border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--paper); box-shadow: var(--shadow-card); overflow: hidden; }
.list-item-4 > a .phos-thumbnail-div { flex: none; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.list-item-4 > a > .div-block-35.phos { display: flex; flex-direction: column; flex: 1; border: 0; }
.phos-school-year { margin-top: auto; padding-top: .5rem; }
.list-item-4 > a :is(img, .unavailable-cover) { display: flex; width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 4; object-fit: contain; background: var(--panel); }
.phos-thumbnail-div .unavailable-cover { align-items: center; justify-content: center; text-align: center; font-size: var(--text-sm); line-height: 1.5; padding: var(--gap-3); }
.phos-thumbnail-div .phos-thumbnail-div:has(> .hidden) { display: none; }

/* Department summaries follow the same equal-height card and footer pattern. */
.div-acads-main-2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; align-items: stretch; gap: var(--gap-card); width: 100%; height: auto; }
.div-acads-main-2 > .div-block-30 { display: none; }
.div-acads-main-2-block { display: flex; flex-direction: column; width: 100%; min-width: 0; height: 100%; padding: 1.375rem 1.25rem; margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.div-acads-main-2-text { display: flex; flex-direction: column; flex: 1; width: 100%; height: auto; padding: 0; }
.div-acads-heading { font-size: var(--text-lg); margin: 0 0 var(--gap-2); }
.div-acads-main-2-text .paragraph-4 { font-size: var(--text-base); line-height: var(--leading-body); margin-bottom: 0; }
.div-acads-block { position: static; display: block; width: 100%; height: auto; margin-top: auto; padding: var(--gap-2) 0 0; background: transparent; }
.button-acads:hover { transform: none; }
.button-acads { width: auto; max-width: 100%; height: auto; margin: 0; padding: .75rem 1rem; }
.academics-main-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: var(--gap-card); width: 100%; }
.academics-main-list-item { display: flex; flex-direction: column; align-items: stretch; height: 100%; margin: 0; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 1.375rem 1.25rem; }
.academics-main-list-item-header, .academics-main-list-item-content { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-width: 0; min-height: 0; padding: 0; background: transparent; border-radius: 0; }
.academics-main-list-item-header { margin-bottom: var(--gap-2); }
.academics-main-list-item-header-text { color: var(--brand); }
.academics-main-list-item-content { flex: 1; color: var(--ink-muted); }
/* Sky pills use navy text on a light sky tint to preserve small-text contrast. */
.academics-main-list-item-header-text { align-self: flex-start; color: var(--brand); background: var(--sky-soft); border: 1px solid var(--sky); border-radius: 1.25rem; padding: 0.25rem 0.6875rem; }

.alumni-dropdown-toggle { background: var(--panel); color: var(--brand); }
.alumni-dropdown-toggle[aria-expanded="true"] { background: var(--brand); color: var(--paper); box-shadow: inset 0 -0.1875rem var(--accent); }
.alumni-table th { color: var(--brand); border-bottom: 0.125rem solid var(--sky); }
.alumni-table th, .alumni-table td { border-color: var(--line); }
.alumni-table tbody tr:nth-child(even) { background: var(--panel); }
body > footer, .section-footer { background: var(--brand); color: var(--footer-muted); }
.section-footer :is(p, .footer-poweredby, .footer-socmedtext) { color: var(--footer-muted); }
.section-footer a, .section-footer .list-heading { color: var(--paper); }
.section-footer a:hover { text-decoration: underline; text-decoration-color: var(--accent); }

.link-hero-news, .list-item-4 > a, .list-item-4 > .phos-thumbnail-div, .div-acads-main-2-block { transition: transform .18s, box-shadow .18s; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
 .link-hero-news:hover, .list-item-4 > a:hover, .list-item-4 > .phos-thumbnail-div:hover, .div-acads-main-2-block:hover { transform: translateY(-0.1875rem); box-shadow: var(--shadow-card-hover); }
}
/* Cancel the legacy scale effect for touch and reduced-motion users as well. */
@media (hover: none), (prefers-reduced-motion: reduce) { .link-hero-news:hover { transform: none; box-shadow: var(--shadow-card); } }
@media (max-width: 991px) {
 .div-acads-main-2, .academics-main-list, .list-8, .list-9 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .list-8, .list-9, .academics-main-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
 .div-acads-main-2 { grid-template-columns: minmax(0, 1fr); }
}


/* One compact header; both disclosures are positioned outside the bar flow. */
.header-bar { position: relative; display: flex; align-items: center; gap: .5rem; max-width: 90rem; min-height: 3.5rem; margin-inline: auto; padding: .125rem var(--page-gutter); }
.site-navigation { display: contents; }
.site-brand { flex: none; gap: .5rem; min-height: 2.75rem; }
.site-brand img { flex: 0 0 2rem; width: 2rem; height: 2rem; }
.site-brand span { font-size: .9rem; line-height: 1.2; }
.site-brand small { font-size: .75rem; margin: 0; }
.site-brand .brand-short { display: none; }
.primary-navigation { flex-wrap: nowrap; margin-left: auto; }
.primary-navigation a { min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; font-size: .85rem; }
.primary-navigation a:hover, .primary-navigation a[aria-current] { text-decoration-color: var(--accent); text-decoration-thickness: .125rem; }
.nav-search, .lang-toggle, .nav-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; color: var(--brand); background: transparent; border: 0; text-decoration: none; }
.nav-search svg, .lang-toggle svg { width: 1.25rem; height: 1.25rem; flex: none; }
.nav-search:hover, .nav-search[aria-current], .lang-toggle:hover { color: var(--accent-text); background: var(--surface); }
.lang-menu { position: relative; }
.lang-toggle { gap: .25rem; font-size: .85rem; }
.lang-list { position: absolute; z-index: 1002; right: 0; top: 100%; min-width: 9rem; margin: .25rem 0 0; padding: .375rem; list-style: none; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.lang-list a { display: flex; align-items: center; min-height: 2.75rem; padding: .5rem .75rem; color: var(--brand); text-decoration: none; border-radius: .5rem; }
.lang-list a:hover { background: var(--surface); }
.lang-list a[aria-current]::after { content: "✓"; margin-left: auto; color: var(--accent-text); }
.nav-toggle { display: none; order: 4; margin: 0; }
@media (max-width: 1100px) {
 .header-bar { min-height: 3.25rem; }
 .site-brand { margin-right: auto; }
 .nav-toggle { display: inline-flex; }
 .primary-navigation { position: absolute; z-index: 1001; top: 100%; left: 0; right: 0; width: auto; margin: 0; padding: .5rem var(--page-gutter); background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-card); }
 .primary-navigation a { min-height: 2.75rem; padding: .5rem .75rem; }
}
@media (max-width: 600px) { .site-brand .brand-full { display: none; } .site-brand .brand-short { display: inline; } }
@media (max-width: 479px) { .site-brand small { display: none; } .header-bar { gap: .125rem; } }


/* About: aligned content and photographs, without source floats or negative offsets. */
:is(.section-about-main, .section-about-vm, .section-about-history, .section-about-bot) { display: block; width: 100%; min-height: 0; padding: var(--section-space) var(--page-gutter); }
.section-about-main { padding-top: var(--gap-2); }
.section-about-main .div-block-23, .section-about-vm .div-block-24, .section-about-history .div-block-25 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: var(--gap-4); width: 100%; max-width: calc(var(--page-width) - 2 * var(--page-gutter)); margin: 0 auto; }
.section-about-main .div-block-23 + .div-block-23 { margin-top: var(--section-space); }
:is(.about-main-image-div, .about-main-image-div.right, .about-main-text-div, .about-vm-image-div, .about-vm-text-div, .about-history-image-div, .about-history-text-div) { position: static; inset: auto; width: 100%; height: auto; min-height: 0; max-height: none; margin: 0; padding: 0; align-items: flex-start; text-align: left; }
.about-main-image-div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.about-main-image-div :is(.div-block-21, .div-block-22) { display: block; margin: 0; padding: 0; min-width: 0; }
.section-about-main img, .section-about-vm img, .section-about-history img { display: block; position: static; inset: auto; width: 100%; min-width: 0; max-width: 100%; height: auto; max-height: none; border-radius: var(--radius-card); object-fit: cover; }
.section-about-main img { aspect-ratio: 3 / 4; }
.section-about-main :is(h2,p), .section-about-history :is(h2,p) { margin-left: 0; margin-right: 0; width: 100%; text-align: left; color: var(--ink); }
.section-about-main h2, .section-about-history h2, .section-about-bot h2 { color: var(--brand); }
.section-about-vm { background: var(--brand); color: var(--paper); }
.section-about-vm :is(h2,p) { color: inherit; text-align: left; }
.section-about-vm img { max-height: 28rem; }
.section-about-history { background: var(--surface); }
.section-about-board-container, .boardlist { width: 100%; max-width: calc(var(--page-width) - 2 * var(--page-gutter)); margin-inline: auto; }
.section-about-board-container { align-items: flex-start; }
.boardlist { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); gap: var(--gap-3); align-items: start; }
.about-boardmembers { width: 100%; padding: 0; }
.about-board-list, .about-board-list.boardmembers { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; margin: 0; padding: 0; gap: .75rem; }
.about-board-list.boardmembers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-board-list-item { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-width: 0; padding: .75rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }
.about-board-list-item-name { color: var(--brand); font-size: 1rem; line-height: 1.5; margin: .25rem 0; }
.about-board-list-item-position { color: var(--ink-muted); font-size: .875rem; line-height: 1.5; }

/* Resource directory: consistent section gutters and contact cards. */
body[data-route$="/resources"] :is(.section-library, .section-directory, .section-gallery) { width: 100%; min-height: 0; padding: var(--gap-4) var(--page-gutter); }
.section-library, .section-directory { background: var(--surface); }
.resources-directory-text-div, .resources-gallery-text-div { display: block; width: 100%; max-width: calc(var(--page-width) - 2 * var(--page-gutter)); margin: 0 auto; padding: 0; min-height: 0; }
.resources-directory-text-div :is(h2,h3,.heading,.paragraph-6.white) { color: var(--brand); text-align: left; }
.resources-directory-text-div .paragraph-6.white { font-size: var(--text-lg); }
.resources-directory-text-div .list-4 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap-4); width: 100%; max-width: none; margin: var(--gap-3) 0 0; padding: 0; }
.resources-directory-text-div .list-item { display: block; width: 100%; height: auto; margin: 0; padding: var(--gap-3); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); }
.resources-directory-text-div :is(.div-block-28,.div-block-29) { width: 100%; min-width: 0; margin: 0; padding: 0; }
.resources-directory-text-div .list-5 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-2); width: 100%; margin: var(--gap-2) 0 0; padding: 0; }
.resources-directory-text-div .list-item-2 { width: 100%; min-width: 0; margin: 0; padding: 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; color: var(--ink); }
.resources-directory-text-div :is(.text-block-10,.directory-item-detail-holder) { color: var(--ink); width: 100%; min-width: 0; overflow-wrap: anywhere; }
.resources-directory-text-div a { display: inline-flex; align-items: center; min-height: 2.75rem; max-width: 100%; color: var(--brand); overflow-wrap: anywhere; }
.resources-directory-text-div .w-button { color: var(--paper); }
.resources-directory-text-div .div-socmedicon { flex: none; }
.gallery-status { border: 1px solid var(--line); border-radius: var(--radius-card); padding: var(--gap-3); }

/* Publication issue cards share a row height and align download actions. */
body[data-route$="/news/soultalk"] .section-resources-soultalk-container > .w-dyn-list { width: 100%; max-width: none; }
body[data-route$="/news/soultalk"] .w-dyn-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); width: 100%; margin: 0; }
body[data-route$="/news/soultalk"] .w-dyn-items::before, body[data-route$="/news/soultalk"] .w-dyn-items::after { content: none; }
.soultalk-list-item { display: flex; flex-direction: column; margin: 0; background: var(--paper); box-shadow: var(--shadow-card); }
.soultalk-list-item-contents-div { display: flex; flex-direction: column; align-items: flex-start; flex: 1; height: 100%; min-width: 0; }
.soultalk-list-item-contents-div :is(h2,.w-richtext) { width: 100%; min-width: 0; }
.soultalk-list-item-contents-div h2 { margin-top: 0; font-size: var(--heading-3); color: var(--brand); }
.soultalk-list-item-contents-div > a { margin-top: auto; }
.soultalk-list-item-contents-div .w-richtext { margin-bottom: var(--gap-2); color: var(--ink-muted); }
.publication-empty { padding: var(--gap-4); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--surface); color: var(--ink-muted); }
.publication-empty a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--brand); }
html[lang="en"] .publication-empty [lang="zh-CN"], html[lang="zh-CN"] .publication-empty [lang="en"] { display: none; }

/* Standalone utilities keep a readable measure and clear actions. */
.body-privacy #main-content { width: 100%; max-width: calc(68ch + 2 * var(--page-gutter)); }
.body-privacy h1, .body-privacy h2 { color: var(--brand); }
.body-privacy h2 { margin: var(--gap-4) 0 .75rem; font-size: var(--heading-3); font-weight: 700; }
.body-privacy p { margin: 0 0 var(--gap-3); line-height: var(--leading-body); overflow: visible; }
#pcgs-search .w-container { max-width: 60rem; }
#pcgs-search input[type="search"] { border-radius: .75rem; background: var(--paper); color: var(--ink); }
#pcgs-search .search-result-items p { color: var(--ink); }
.search-result-items strong { color: var(--brand); background: var(--sky-soft); font-weight: 700; }
.error-page { margin-block: var(--gap-4); background: var(--surface); border-radius: var(--radius-card); }
.error-page h1 { color: var(--brand); }
.section-footer { padding: var(--gap-4) var(--page-gutter); }
.section-footer a { display: inline-flex; align-items: center; min-height: 2.75rem; min-width: 2.75rem; }
@media (max-width: 1023px) {
 .boardlist { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
 .resources-directory-text-div .list-5, body[data-route$="/news/soultalk"] .w-dyn-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .section-about-main .div-block-23, .section-about-vm .div-block-24, .section-about-history .div-block-25, .boardlist { grid-template-columns: minmax(0, 1fr); }
 .about-main-text-div { order: -1; }
 .resources-directory-text-div .list-5, body[data-route$="/news/soultalk"] .w-dyn-items { grid-template-columns: minmax(0, 1fr); }
 .resources-directory-text-div .list-item { padding: var(--gap-2); }
}
@media (max-width: 400px) { .about-board-list.boardmembers { grid-template-columns: minmax(0, 1fr); } }
/* Inherit the disclosure state color instead of the source's fixed white label. */
.alumni-dropdown-toggle :is(.dropdown-title, .w-icon-dropdown-toggle) { color: inherit; }
.resources-directory-text-div > .paragraph-2 { color: var(--ink-muted); text-align: left; margin-inline: 0; }
.section-about-vm .divider-block-short, .section-about-board-container .divider-block-short { margin-left: 0; margin-right: auto; }
@media (min-width: 1024px) { .list-8, .list-9 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Older publication chrome keeps its five source links and footer information. */
body:is([data-route$="/news/soultalk"],[data-route$="/news/phos-aletheia"],[data-route$="/news/phos-aletheia-jr"]) .div-footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-3); width: 100%; margin: 0 0 var(--gap-4); padding: 0; }
body:is([data-route$="/news/soultalk"],[data-route$="/news/phos-aletheia"],[data-route$="/news/phos-aletheia-jr"]) .div-footer-links .list { width: 100%; min-width: 0; margin: 0; padding: 0; }
@media (max-width: 600px) {
 body:is([data-route$="/news/soultalk"],[data-route$="/news/phos-aletheia"],[data-route$="/news/phos-aletheia-jr"]) .div-footer-links { grid-template-columns: minmax(0, 1fr); }
}
.div-footer-links .list-heading { margin-bottom: .75rem; }
/* Directory group labels and source white icons must read on the new light cards. */
.resources-directory-text-div .text-block-9 { color: var(--brand); font: 700 1.25rem/1.4 var(--font-heading); margin-bottom: .5rem; }
.resources-directory-text-div .socmedicon { filter: brightness(0); opacity: .7; }
.resources-directory-text-div > .paragraph-2 a { margin-inline: .375rem; max-width: calc(100% - .75rem); }
.section-library .resources-directory-text-div { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); padding: var(--gap-3); }
.resources-gallery-text-div h2 { color: var(--brand); }
body[data-route$="/resources"] #web-gallery { width: 100%; max-width: calc(var(--page-width) - 2 * var(--page-gutter)); margin-inline: auto; }
.gallery-status a { display: inline-flex; align-items: center; min-height: 2.75rem; }
/* Keep the complete focus ring inside the slim bar at the top of the viewport. */
.header-bar :focus-visible { outline-offset: .0625rem; }
