/* 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:#626262;}
.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 #500000;outline-offset:3px;}
.news-figure-button {display:block;flex:none;width:100%;border:0;margin:0;padding:0;background:#f6f6f6;color:inherit;text-align:inherit;cursor:zoom-in;}
.news-figure-button:focus-visible {outline:2px solid #500000;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:#202020;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 #500000;border-radius:.2rem;background:#fff;color:#500000;cursor:pointer;}
.news-figure-close:focus-visible {outline:2px solid #500000;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:#626262;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:#d1d1d1;color:#202020;padding:2.4rem;border-bottom:0;box-sizing:border-box;transition:background-color .18s ease;}
.research-theme:hover,.research-theme:focus-within {background:#eaeaea;}
.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:#500000;font-weight:500;font-size:inherit;width:fit-content;}
.research-theme-details summary:focus-visible,.research-theme-link:focus-visible {outline:2px solid #500000;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:#500000;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:#ffffff;border:0;}
.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:#ffffff;}
@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;font:inherit;letter-spacing:inherit;}
@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;}
}

/* Quiet site navigation with clear current-page and disclosure states. */
html {scroll-behavior:smooth;}
.nav {padding:1rem 2.4rem;background:rgba(32,32,32,.94);backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 3px 18px #0002;transition:background-color .2s ease,box-shadow .2s ease;}
.nav.is-scrolled {background:rgba(26,27,30,.97);box-shadow:0 4px 20px #0003;}
.nav .nav-logo-group {flex-shrink:0;text-decoration:none;}
.nav .nav-list {gap:.4rem;}
.nav .nav-item {font-size:1.6rem;font-weight:400;}
.nav .nav-item > a,.nav .nav-item > button.dropdown-toggle {min-height:4.4rem;padding:.9rem 1.2rem;box-sizing:border-box;gap:.8rem;border-radius:.7rem;line-height:1.4;transition:background-color .16s ease,color .16s ease;}
.nav .nav-item > a:hover,.nav .nav-item > button:hover {background:#ffffff12;}
.nav .nav-item > a[aria-current="page"],.nav .nav-item.is-current > .dropdown-toggle {background:rgba(80,0,0,.65);color:#fff;box-shadow:inset 0 -2px #d6d3c4;}
.nav .dropdown-toggle[aria-expanded="true"] {background:#ffffff16;}
.nav a:focus-visible,.nav button:focus-visible {outline:2px solid #d6d3c4;outline-offset:3px;}
.nav .dropdown-toggle .arrow {font-size:0;line-height:0;width:.6rem;height:.6rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;}
.nav .dropdown-toggle[aria-expanded="true"] .arrow {transform:translateY(1px) rotate(225deg);}
.nav .dropdown-menu {top:calc(100% + .8rem);min-width:24rem;max-width:calc(100vw - 3.2rem);padding:.6rem;border-radius:1rem;background:rgba(32,32,32,.98);border:1px solid #ffffff1f;box-shadow:0 12px 30px #0004;}
.nav .dropdown-menu.show {animation:nav-reveal .16s ease-out;}
.nav .dropdown-menu a {min-height:4.4rem;box-sizing:border-box;padding:1rem 1.2rem;border-radius:.5rem;font-size:1.45rem;font-weight:400;line-height:1.4;white-space:normal;}
.nav .dropdown-menu a[aria-current="page"] {background:rgba(80,0,0,.65);box-shadow:inset 2px 0 #d6d3c4;}
.nav .hamburger {min-width:4.4rem;min-height:4.4rem;border-radius:.7rem;}
.nav .hamburger:hover {background:#ffffff12;}
.nav .hamburger-inner,.nav .hamburger-inner::before,.nav .hamburger-inner::after {transition:transform .18s ease,background-color .18s ease,top .18s ease,bottom .18s ease;}
.nav .hamburger[aria-expanded="true"] .hamburger-inner {background:transparent;}
.nav .hamburger[aria-expanded="true"] .hamburger-inner::before {top:0;transform:rotate(45deg);}
.nav .hamburger[aria-expanded="true"] .hamburger-inner::after {bottom:0;transform:rotate(-45deg);}
@keyframes nav-reveal {from {opacity:0;transform:translateY(-4px);} to {opacity:1;transform:translateY(0);}}
@media(max-width:1100px) {
 .nav {padding:1rem 1.6rem;}
 .nav .hamburger {display:block;}
 .nav .nav-list {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(32,32,32,.98);border-bottom:1px solid #ffffff1f;box-shadow:0 10px 22px #0003;}
 .nav .nav-list.show {display:flex;align-items:stretch;padding:1.2rem;max-height:calc(100dvh - 7.2rem);overflow-y:auto;animation:nav-reveal .16s ease-out;}
 .nav .nav-list > .nav-item {display:block;width:100%;}
 .nav .nav-item > a,.nav .nav-item > button.dropdown-toggle {display:flex;width:100%;justify-content:space-between;text-align:left;}
 .nav .dropdown-menu {position:static;min-width:0;width:auto;max-width:none;margin:.4rem .2rem .7rem;padding:.4rem;border:0;border-left:2px solid #ffffff24;border-radius:.4rem;background:#ffffff05;box-shadow:none;}
 .nav .dropdown-menu .submenu-item {background:none;}
}

/* Fixed label column: wrapped method descriptions retain one left edge. */
#in-brief .bullet-list {padding-left:0;}
#in-brief .bullet-item.approach-item {display:grid;grid-template-columns:10.4rem minmax(0,1fr);gap:1.6rem;align-items:start;padding-left:0;line-height:1.5;margin-bottom:1.5rem;}
#in-brief .approach-item::before {display:none;}
#in-brief .approach-label {display:inline-flex;justify-content:center;box-sizing:border-box;width:100%;min-height:2.8rem;padding:.4rem .6rem;border:1px solid #d1d1d1;border-radius:.5rem;background:#f6f6f6;color:#500000;font-size:1.2rem;font-weight:600;line-height:1.5;white-space:nowrap;}
#in-brief .approach-text {font:inherit;min-width:0;}
@media(max-width:600px) {
 #in-brief {padding:4rem 2rem;}
 #in-brief .bullet-item.approach-item {grid-template-columns:8.6rem minmax(0,1fr);gap:1.2rem;font-size:1.6rem;line-height:1.6;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 .nav,.nav .nav-item > a,.nav .nav-item > button,.nav .arrow,.nav .hamburger-inner,.nav .hamburger-inner::before,.nav .hamburger-inner::after {transition:none;}
 .nav .dropdown-menu.show,.nav .nav-list.show {animation:none;}
}

/* Nuclear fuel cycle: subtle corners, with text labels for accessible meaning. */
.research-theme {position:relative;}
.cycle-front {--cycle-color:#732f2f;}
.cycle-middle {--cycle-color:#707070;}
.cycle-back {--cycle-color:#500000;}
.cycle-cross {--cycle-color:#d6d3c4;}
.fuel-cycle-corner {position:absolute;right:0;top:0;width:0;height:0;border-top:2.6rem solid var(--cycle-color);border-left:2.6rem solid transparent;}
.fuel-cycle-stage {font-size:1.1rem;line-height:1.4;letter-spacing:.04em;margin:0 0 1.4rem;color:#535353;}
.research-approach .fuel-cycle-stage {grid-column:2;color:#d1d1d1;}
.research-approach .research-theme-icon {grid-row:1 / 5;}
.fuel-cycle-legend {display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2rem;max-width:112rem;margin:0 auto;padding:0 4rem 1.5rem;box-sizing:border-box;color:#e7e3dc;font-size:1.25rem;line-height:1.6;}
.cycle-key {display:inline-flex;gap:.65rem;align-items:center;}
.cycle-key-marker {width:0;height:0;border-top:1rem solid var(--cycle-color);border-left:1rem solid transparent;}
@media(max-width:600px){.fuel-cycle-legend {padding:0 2rem 1.5rem;justify-content:flex-start;}.research-approach .fuel-cycle-stage {margin-bottom:1.4rem;}}
.fuel-cycle-legend .cycle-key,.fuel-cycle-stage {font-family:var(--guo-body-font);}
.fuel-cycle-legend .cycle-key {font-size:inherit;}
.overview-themes .fuel-cycle-legend {color:#3e3e3e;}

/* Shared call-to-action buttons: compact Inter text and restrained burgundy. */
.meet-lab-button,.meet-lab-button:visited {
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 width:auto;max-width:100%;min-height:4.4rem;padding:1.2rem 2.4rem;
 border:1px solid #500000;border-radius:.6rem;background:#500000;color:#fff;
 font-family:var(--guo-body-font);font-size:1.6rem;font-weight:500;line-height:1.4;
 text-align:center;text-decoration:none;cursor:pointer;
 transition:background-color .16s ease,border-color .16s ease;
}
.meet-lab-button:hover {background:#3c001c;border-color:#3c001c;color:#fff;}
.meet-lab-button:focus-visible {outline:2px solid #732f2f;outline-offset:4px;}
.meet-lab-button:disabled {opacity:.65;cursor:default;}
.meet-lab-button * {font-size:inherit;}
@media(prefers-reduced-motion:reduce){.meet-lab-button {transition:none;}}

/* Texas A&M interface palette; data-category and paper-figure colors are retained. */
:root {--guo-maroon:#500000;--guo-maroon-dark:#3c001c;--guo-maroon-light:#732f2f;--guo-neutral-dark:#202020;--guo-neutral-medium:#535353;--guo-neutral-light:#f6f6f6;}
#admin-bar {background:#500000!important;font-family:var(--guo-body-font);font-size:1.2rem;}
#admin-bar button,#admin-login-modal #login-submit {background:#500000!important;color:#fff!important;border:1px solid #732f2f!important;border-radius:.5rem!important;}
.selectable.selected {background:#500000!important;border-color:#500000!important;color:#fff!important;}
.selectable.selected * {color:#fff!important;}

a,a:visited {color:var(--guo-maroon);}
.nav a,.nav a:visited {color:#fff;}
.research-approach a,.research-approach a:visited {color:#fff;}
.meet-lab-button,.meet-lab-button:visited {color:#fff;}

.overview-themes .fuel-cycle-legend {color:#fff;}
