/* Shared Inter typography and identity. Original sizing/layout/colors retained. */
:root { --guo-body-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --guo-heading-font: var(--guo-body-font); }
body, body * { font-family: var(--guo-body-font); }
#in-brief { scroll-margin-top: 7rem; }
#news { scroll-margin-top:7rem; }
h1, h2, .overlay-text, .sct-title, .sct-two-title, .heading-text, .subheading-text { font-family: var(--guo-heading-font); font-weight: 400; }
/* The hero's descriptive subheading remains body text. */
.overlay-subtext { font-family: var(--guo-body-font); }
.overlay .overlay-text {font-family:var(--guo-heading-font);font-weight:400;line-height:1.15;margin:0 0 1.6rem;}
.overlay .overlay-subtext {font-family:var(--guo-body-font);font-weight:400;font-size:clamp(2rem,2.5vw,3rem);line-height:1.45;width:80%;max-width:80rem;margin:0;}
.nav { box-sizing: border-box; }
.nav * { font-family: var(--guo-body-font); }
.nav .logo { width: 5rem; height: 5rem; box-sizing: border-box; padding: 0; background: transparent; flex-shrink: 0; }
.nav .brand-copy { display: flex; flex-direction: column; gap: 0.6rem; }
.nav .logo-caption { font-family: var(--guo-body-font); font-size: 1.8rem; font-weight: 600; white-space: nowrap; }
.nav .logo-subtitle { font-size: 1.15rem; font-weight: 400; line-height: 1.2; color: white; margin: 0; }
@media (max-width: 480px) {
 .nav .logo-caption { font-size: 1.4rem; }
 .nav .logo-subtitle { font-size: 1rem; }
 .nav .nav-logo-group { gap: 0.8rem; }
}

/* Fit the two-line identity and existing navigation on intermediate widths. */
@media (min-width: 877px) and (max-width: 1100px) {
 .nav .hamburger { display: block; }
 .nav .nav-list { display: none; position: absolute; top: 100%; left: 0; right: 0; background-color: rgba(0,0,0,0.95); flex-direction: column; padding: 1rem; }
 .nav .nav-list.show { display: flex; }
 .nav .dropdown-menu { position: static; background-color: transparent; width: 100%; }
}
@media (max-width: 480px) {
 .overlay-text { font-size: clamp(3.6rem, 10vw, 8rem); }
}

/* Scientific symbols, legends, and instructions use the body face. */
.symbol, .keyText, .caption { font-family: var(--guo-body-font); }

/* Complete the shared heading style, including headings made from links or paragraphs. */
h3,h4,h5,h6,.title-text,.graduate-section-title,.graduate-title,.professor-name,
.news-grid-item-title,.alumni-name,.alumni-title,.publication-category-title {
  font-family:var(--guo-heading-font);
}
/* Scientific symbols, controls and descriptive text keep the readable sans face. */
.symbol,.keyText,.caption,.overlay-subtext,button,input,textarea,select,table,table * {
  font-family:var(--guo-body-font);
}
.news-img {object-fit:contain;}
.local-figure-credit {font-size:1.1rem;line-height:1.4;margin-top:.5rem;}

h1:not(.symbol):not(.overlay-subtext) *,h2 *,h3 *,h4 *,h5 *,h6 *, .title-text *, .news-grid-item-title * {font-family:var(--guo-heading-font);}

/* All NEWS cards share the original white panels, shadow and fonts. */
.news-grid-item.news-card-compact {display:flex;flex-direction:column;}
.news-card-compact .news-img {display:block;flex:none;width:100%;height:20rem;box-sizing:border-box;padding:1rem;object-fit:contain;object-position:center;}
.news-card-compact .news-grid-item-content {display:flex;flex-direction:column;flex:1;gap:1rem;padding:1.5rem;}
.news-card-compact .news-grid-item-date {position:static;margin:0;padding:0;font-size:1.2rem;line-height:1.5;font-weight:400;color:#575757;}
.news-card-compact .news-card-heading {margin:0;font-size:1.7rem;line-height:1.3;}
.news-card-compact .news-grid-item-title {display:inline;margin:0;font-size:inherit;line-height:inherit;font-weight:600;}
.news-card-compact .news-grid-item-text {margin:0;font-size:1.4rem;line-height:1.5;font-weight:400;}
.news-card-compact .news-read-more {align-self:flex-start;margin-top:auto;padding-top:.5rem;font-family:var(--guo-body-font);font-size:1.3rem;line-height:1.5;font-weight:500;color:inherit;}
.news-card-compact a:focus-visible {outline:2px solid #7c2635;outline-offset:3px;}
.news-figure-button {display:block;flex:none;width:100%;border:0;margin:0;padding:0;background:#f4f4f4;color:inherit;text-align:inherit;cursor:zoom-in;}
.news-figure-button:focus-visible {outline:2px solid #7c2635;outline-offset:-3px;}
.news-figure-button:disabled {cursor:default;}
.news-figure-open {overflow:hidden;}
.news-figure-dialog {width:96vw;max-width:128rem;max-height:94vh;max-height:94dvh;box-sizing:border-box;margin:auto;padding:2rem;border:0;border-radius:.3rem;background:#fff;color:#222;box-shadow:0 1rem 5rem #0006;}
.news-figure-dialog::backdrop {background:#000b;}
.news-figure-dialog-header {display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;}
.news-figure-dialog-title {font-family:var(--guo-heading-font);font-size:2rem;font-weight:400;line-height:1.3;margin:0;}
.news-figure-close {flex:none;font-family:var(--guo-body-font);font-size:1.4rem;line-height:1.4;padding:.6rem 1.2rem;border:1px solid #7c2635;border-radius:.2rem;background:#fff;color:#6e182c;cursor:pointer;}
.news-figure-close:focus-visible {outline:2px solid #7c2635;outline-offset:3px;}
.news-figure-enlarged {display:block;width:100%;height:auto;max-height:calc(94vh - 12rem);max-height:calc(94dvh - 12rem);object-fit:contain;}
@media(max-width:600px){.news-figure-dialog{padding:1.2rem;}.news-figure-dialog-header{gap:1rem;}.news-figure-dialog-title{font-size:1.7rem;}}

#news-grid {scroll-margin-top:15rem;}
#news {scroll-margin-top:3rem;}

.news-card-compact .news-figure-missing {display:grid;place-items:center;color:#575757;font-family:var(--guo-body-font);font-size:1.3rem;text-align:center;}

/* Local research overview: retain charcoal, light panels and burgundy accent. */
#research-grid.research-themes {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:112rem;padding:1rem 4rem 5rem;box-sizing:border-box;scroll-margin-top:15rem;}
.research-theme {min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:#d9d9d9;color:#222;padding:2.4rem;border-bottom:4px solid #a60f2d;box-sizing:border-box;transition:background-color .18s ease;}
.research-theme:hover,.research-theme:focus-within {background:#e6e6e6;}
.research-theme-icon {width:6.4rem;height:6.4rem;display:block;margin-bottom:1.8rem;}
.research-theme-title {font-family:var(--guo-heading-font);font-weight:400;font-size:2.4rem;line-height:1.2;margin:0 0 1.2rem;}
.research-theme-summary {font-family:var(--guo-body-font);font-size:1.45rem;line-height:1.6;margin:0 0 1.8rem;}
.research-theme-details {margin-top:auto;width:100%;font-size:1.3rem;line-height:1.6;}
.research-theme-details summary {cursor:pointer;color:#6e182c;font-weight:500;font-size:inherit;width:fit-content;}
.research-theme-details summary:focus-visible,.research-theme-link:focus-visible {outline:2px solid #7c2635;outline-offset:4px;}
.research-theme-focus {border-top:1px solid #bcbcbc;margin-top:1rem;padding-top:.8rem;font-size:inherit;}
.research-theme-focus p {margin:0 0 .8rem;font-size:inherit;}
.research-theme-link {color:#6e182c;text-underline-offset:.3rem;font-size:inherit;}
@media (max-width:900px) {#research-grid.research-themes {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px) {#research-grid.research-themes {grid-template-columns:1fr;padding:1rem 2rem 4rem;gap:1.6rem;}.content-section-two .sct-two-title {font-size:3.6rem;}.research-theme {padding:2.2rem;}}
@media (prefers-reduced-motion:reduce) {.research-theme {transition:none;}}

/* The shared methods panel links the subject areas without adding another topic. */
.research-theme.research-approach {grid-column:span 2;display:grid;grid-template-columns:6.4rem minmax(0,1fr);column-gap:2rem;background:transparent;color:#f3f0e9;border:1px solid #888;border-bottom:4px solid #a60f2d;}
.research-approach .research-theme-icon {grid-column:1;grid-row:1 / 4;}
.research-approach .research-theme-title,.research-approach .research-theme-summary,.research-approach .research-theme-details {grid-column:2;}
.research-approach .research-theme-details summary,.research-approach .research-theme-link {color:#f3f0e9;}
@media(max-width:600px) {.research-theme.research-approach {grid-column:span 1;display:flex;}}

.news-grid-item.news-card-compact{scroll-margin-top:12rem;}

@media(max-width:600px){.content-section-three{padding:4rem 1.5rem;}.news-grid{justify-content:center;}.news-grid-item.news-card-compact{width:100%;max-width:32rem;}}

/* Phone reading and touch controls, using the same Inter design. */
.home-hero .keep-together {white-space:nowrap;}
@media(max-width:1100px) {
 .nav .hamburger {min-width:4.4rem;min-height:4.4rem;}
 .nav .nav-list.show {max-height:calc(100dvh - 7rem);overflow-y:auto;}
 .nav .nav-item > a,.nav .nav-item > button.dropdown-toggle,.nav .dropdown-menu a {min-height:4.4rem;box-sizing:border-box;}
 .nav .dropdown-menu a {display:flex;align-items:center;}
}
@media(max-width:900px) {
 .news-card-compact .news-grid-item-text {font-size:1.5rem;line-height:1.6;}
 .news-card-compact .news-read-more,.publication-more {min-height:4.4rem;box-sizing:border-box;display:inline-flex;align-items:center;}
 .research-theme-summary {font-size:1.55rem;}
 .research-theme-details summary {min-height:4.4rem;box-sizing:border-box;padding:.9rem 0;}
 .publication-filters input,.publication-filters select,.publication-filters button {font-size:1.6rem;min-height:4.4rem;}
 .publication-authors,.publication-citation {font-size:1.4rem;}
 .news-figure-close {min-height:4.4rem;min-width:4.4rem;}
}
