@font-face {
  font-family: "Big Caslon Medium";
  src: url("../fonts/Big Caslon Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}

:root {
  --font-sans: "NanumSquare", "Noto Sans KR", "Malgun Gothic", sans-serif;
  --font-display: "Roboto", "NanumSquare", sans-serif;
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-soft: #fafbfd;
  --line: #d8dfe8;
  --line-soft: #e9edf2;
  --ink: #1b2a3a;
  --muted: #667483;
  --primary: #143f6b;
  --primary-dark: #0f2f51;
  --primary-soft: #edf3fa;
  --accent: #9d7c48;
  --radius-lg: 14px;
  --radius-md: 10px;
  --radius-sm: 6px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: #ffffff;
  color: var(--ink);
  font-family: var(--font-sans);
  line-height: 1.62;
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  color: var(--primary-dark);
  text-decoration: underline;
}

main {
  min-height: calc(100vh - 320px);
}

img {
  max-width: 100%;
}

.header-shell {
  width: min(1240px, calc(100% - 2rem));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #fff;
  box-shadow: 0 2px 10px rgba(20, 39, 66, 0.08);
}

.header-nav {
  background: #fff;
}

.navbar {
  padding: 0.75rem 0;
}

.brand-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.brand-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.brand-title {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.brand-title strong {
  font-family: "Big Caslon Medium", serif;
  font-size: 1.35rem;
  color: var(--primary-dark);
  letter-spacing: 0.02em;
}

.brand-title span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #7a8796;
}

.navbar-light .navbar-nav .nav-link {
  color: #2b3c4f;
  font-size: 0.89rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.5rem 0.8rem;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .show > .nav-link {
  color: var(--primary);
}

.dropdown-menu {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.35rem;
  box-shadow: 0 10px 20px rgba(20, 44, 71, 0.1);
}

.dropdown-item {
  font-size: 0.87rem;
  border-radius: var(--radius-sm);
  color: #2b3c4f;
}

.dropdown-item:hover {
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.site-footer {
  margin-top: 3rem;
  background: #fff;
  border-top: 1px solid var(--line);
}

.footer-shell {
  width: min(1240px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.2rem 0 1.4rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 1.8rem;
}

.footer-title {
  margin: 0 0 0.35rem;
  font-family: "Big Caslon Medium", serif;
  font-size: 1.55rem;
  color: var(--primary-dark);
}

.footer-muted {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.footer-list {
  margin: 0;
  padding-left: 1rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.footer-list li {
  margin-bottom: 0.35rem;
}

.footer-meta {
  margin-top: 1.2rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line-soft);
  color: #7d8894;
  font-size: 0.8rem;
}

.page-shell {
  width: min(1240px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

.page-hero {
  border: 1px solid var(--line);
  border-left: 5px solid var(--primary);
  border-radius: var(--radius-sm);
  background: #fff;
  padding: 1.5rem 1.6rem;
}

.page-eyebrow {
  display: inline-block;
  color: var(--primary);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

.page-title {
  margin: 0.35rem 0 0.45rem;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  color: var(--primary-dark);
}

.page-subtitle {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.page-tools {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.section-block {
  margin-top: 1.5rem;
}

.section-heading {
  margin: 0 0 0.85rem;
  font-size: 1.2rem;
  color: #1d3044;
  font-weight: 700;
}

.section-heading.with-line {
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--line-soft);
}

.surface-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}

.card-pad {
  padding: 1rem 1.15rem;
}

.card-title {
  margin: 0 0 0.45rem;
  font-size: 1.03rem;
  font-weight: 700;
  color: #1f3247;
}

.card-text {
  margin: 0;
  color: var(--muted);
  font-size: 0.93rem;
}

.grid-2,
.grid-3,
.grid-4 {
  display: grid;
  gap: 1rem;
}

.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.media-frame {
  background: #eef2f7;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.media-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-card-top {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.media-4x3 {
  width: 100%;
  height: 180px;
  aspect-ratio: auto;
}

.media-3x4 {
  width: 100%;
  height: 240px;
  aspect-ratio: auto;
}

.media-empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  text-align: center;
  padding: 0.75rem;
}

.member-card-grid {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0;
  align-items: stretch;
}

.member-photo {
  width: 160px;
  height: 100%;
  min-height: 214px;
  border-radius: 0;
  border-left: 0;
  border-top: 0;
  border-bottom: 0;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.chip,
.member-chip,
.status-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d4dde8;
  border-radius: 999px;
  padding: 0.12rem 0.52rem;
  font-size: 0.73rem;
  color: #3f4f60;
  background: #f6f9fc;
}

.status-chip {
  background: #fef7ea;
  border-color: #ecd9b7;
  color: #815f27;
}

.meta-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.meta-list strong {
  color: #2a3a4a;
}

.modern-table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}

.modern-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.modern-table thead {
  background: #f0f4f9;
}

.modern-table th,
.modern-table td {
  padding: 0.82rem 0.9rem;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--line-soft);
  text-align: left;
}

.modern-table tbody tr:hover {
  background: #fafcff;
}

.button-primary,
.button-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.3rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}

.button-primary {
  background: var(--primary);
  color: #fff;
  border: 1px solid var(--primary);
}

.button-primary:hover {
  background: var(--primary-dark);
  color: #fff;
  text-decoration: none;
}

.button-ghost {
  background: #fff;
  color: var(--primary);
  border: 1px solid #b6c6da;
}

.button-ghost:hover {
  background: #f1f6fc;
  text-decoration: none;
}

.pagination-shell {
  margin-top: 1.1rem;
  display: flex;
  justify-content: center;
}

.pagination {
  gap: 0.25rem;
}

.page-item .page-link {
  color: #314255;
  border: 1px solid #cfdae7;
  border-radius: var(--radius-sm);
  min-width: 34px;
  text-align: center;
  font-size: 0.84rem;
  background: #fff;
}

.page-item.active .page-link,
.page-item .page-link:hover {
  color: var(--primary-dark);
  border-color: #98b1cf;
  background: #eef4fb;
}

.notice-body {
  color: #3a495a;
  white-space: pre-line;
}

.notice-article { padding-top: 4.5rem; }
.notice-article-toolbar {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 1.4rem;
  border-bottom: 2px solid #1b2026;
}
.notice-article-toolbar a { color: #20262d; font-size: 1.35rem; text-decoration: none; }
.notice-article-toolbar a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.notice-article-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 2rem;
  align-items: center;
  padding: 1.45rem 0;
  border-bottom: 1px solid #d8dde2;
}
.notice-article-head h1 {
  margin: 0;
  color: #111820;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 800;
  line-height: 1.5;
}
.notice-article-head time { color: #7d8791; font-size: .82rem; white-space: nowrap; }
.notice-article-content { width: min(100%, 980px); padding: 3rem 0 1rem; }

.notice-photo-story { display: grid; gap: 2.75rem; margin-bottom: 3.5rem; }
.notice-photo-story figure { width: min(100%, 820px); margin: 0; }
.notice-photo-story img {
  display: block;
  width: 100%;
  height: auto;
  background: #eef1f4;
}
.notice-photo-story figcaption { margin-top: .7rem; color: #77818b; font-size: .82rem; }
.notice-body { max-width: 900px; font-size: 1rem; line-height: 1.9; }

.notice-poster {
  max-width: 820px;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e1e6eb;
}
.notice-poster h2,
.notice-attachments h2 { margin: 0 0 1rem; color: #111820; font-size: 1.15rem; font-weight: 800; }
.notice-poster figure { width: min(100%, 620px); margin: 0; }
.notice-poster img { display: block; width: 100%; height: auto; border: 1px solid #e1e6eb; }

.notice-attachments {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #e1e6eb;
}

.notice-attachment-list { display: grid; gap: .75rem; }
.notice-attachment-list a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) max-content;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.15rem;
  border: 1px solid #dbe3eb;
  border-radius: 8px;
  color: #173f6c;
  text-decoration: none;
}

.notice-attachment-list a:hover { border-color: #8fa9c3; background: #f6f9fc; }
.notice-attachment-list span {
  padding: .32rem 0;
  border-radius: 4px;
  background: #173f6c;
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  text-align: center;
}
.notice-attachment-list strong { line-height: 1.45; }
.notice-attachment-list small { color: #667482; white-space: nowrap; }

@media (max-width: 640px) {
  .notice-article { padding-top: 2.5rem; }
  .notice-article-head { grid-template-columns: 1fr; gap: .65rem; }
  .notice-article-content { padding-top: 2rem; }
  .notice-photo-story { gap: 2rem; }
  .notice-attachment-list a { grid-template-columns: 42px minmax(0, 1fr); }
  .notice-attachment-list small { display: none; }
}

.advisor-header-grid {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 1rem;
  align-items: start;
}

.advisor-portrait {
  width: 180px;
  height: 240px;
  margin: 0 auto;
}

.advisor-portrait .media-cover {
  height: 100%;
}

.advisor-intro {
  margin-top: 0.8rem;
}

.detail-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.empty-state {
  border: 1px dashed #c5d2e1;
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--muted);
  text-align: center;
  padding: 1.5rem;
}

.home-hero {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(rgba(16, 43, 72, 0.72), rgba(16, 43, 72, 0.72)),
    url("../images/home2.jpeg") center/cover no-repeat;
}

.home-hero-inner {
  width: min(1240px, calc(100% - 2rem));
  margin: 0 auto;
  min-height: 340px;
  display: flex;
  align-items: center;
  padding: 2.4rem 0;
}

.home-hero-copy {
  max-width: 760px;
  color: #f3f7fc;
}

.home-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #dbe8f7;
}

.home-heading {
  margin: 0;
  font-family: "Big Caslon Medium", serif;
  font-size: clamp(2.1rem, 4vw, 3.2rem);
  color: #ffffff;
}

.home-summary {
  margin: 0.85rem 0 1.2rem;
  color: #e1ecf8;
  max-width: 670px;
}

.home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.home-overview-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--muted);
}

.home-overview-list li {
  margin-bottom: 0.35rem;
}

.home-archive {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-soft);
}

.home-archive li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line-soft);
}

.home-archive time {
  color: #7d8793;
  font-size: 0.78rem;
  white-space: nowrap;
}

.home-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid #bdd0e4;
  border-radius: var(--radius-sm);
  padding: 0.1rem 0.35rem;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #3c5570;
  background: #f5f9fe;
}

.reveal { animation: none; }

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Scroll reveal system, modelled on the reference site's restrained AOS motion. */
.scroll-reveal {
  --reveal-delay: 0ms;
  --reveal-duration: 820ms;
}

.reveal-ready .scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition:
    opacity var(--reveal-duration) cubic-bezier(.2, .65, .3, 1) var(--reveal-delay),
    transform var(--reveal-duration) cubic-bezier(.2, .65, .3, 1) var(--reveal-delay);
  will-change: opacity, transform;
}

.reveal-ready .scroll-reveal[data-reveal="fade"] { transform: none; }
.reveal-ready .scroll-reveal[data-reveal="left"] { transform: translate3d(-48px, 0, 0); }
.reveal-ready .scroll-reveal[data-reveal="right"] { transform: translate3d(48px, 0, 0); }
.reveal-ready .scroll-reveal[data-reveal="scale"] { transform: translate3d(0, 20px, 0) scale(.975); }

.reveal-ready .scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-ready .scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .ines-project-card,
  .ines-project-brand-lockup img,
  .ines-card-link b { transition: none; }
}

@media (max-width: 1100px) {
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-hero-inner {
    min-height: 280px;
  }
}

@media (max-width: 767px) {
  .page-shell,
  .header-shell,
  .footer-shell,
  .home-hero-inner {
    width: calc(100% - 1rem);
  }

  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }

  .advisor-header-grid {
    grid-template-columns: 1fr;
  }

  .advisor-portrait {
    width: min(180px, 100%);
    height: 240px;
  }

  .member-card-grid {
    grid-template-columns: 1fr;
  }

  .member-photo {
    width: min(160px, 100%);
    height: 214px;
    margin: 0.9rem auto 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .home-archive li {
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* Homepage: editorial research-lab layout. */
.home-site-header {
  position: absolute;
  inset: 0 0 auto;
  background: transparent;
  box-shadow: none;
}

.home-site-header .header-nav,
.home-site-header .navbar {
  background: transparent;
}

.home-site-header .navbar {
  padding: 1.1rem 0;
}

.home-site-header .brand-logo {
  width: 132px;
  height: 40px;
  filter: brightness(0) invert(1);
}

.home-site-header .brand-title {
  display: none;
}

.home-site-header .navbar-light .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.home-site-header .navbar-light .navbar-nav .nav-link:hover {
  color: #ffffff;
}

.ines-hero {
  position: relative;
  min-height: 720px;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(2, 13, 25, 0.93) 0%, rgba(5, 20, 36, 0.78) 42%, rgba(7, 19, 34, 0.46) 100%),
    url("../images/home3.jpeg") center/cover no-repeat;
}

.ines-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.42));
  pointer-events: none;
}

.ines-hero-inner,
.ines-dark-inner,
.ines-intro,
.ines-research,
.ines-news {
  width: min(1280px, calc(100% - 4rem));
  margin-inline: auto;
}

.ines-hero-inner {
  position: relative;
  z-index: 1;
  padding: 0 0 11rem;
}

.ines-eyebrow,
.ines-section-label {
  margin: 0;
  color: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ines-hero h1 {
  max-width: 900px;
  margin: 0.9rem 0 1.45rem;
  color: #ffffff;
  font-family: "Poppins", "Segoe UI", sans-serif;
  font-size: clamp(3.1rem, 6.2vw, 6.25rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0;
}

.ines-hero-copy {
  max-width: 600px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.03rem;
}

.ines-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.ines-hero-actions a,
.ines-panel-head > a {
  display: inline-flex;
  align-items: center;
  gap: 1.3rem;
  min-height: 50px;
  padding: 0.8rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.85);
  color: #ffffff;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.ines-hero-actions a:hover,
.ines-panel-head > a:hover {
  background: #ffffff;
  color: #09254a;
  text-decoration: none;
}

.ines-hero-actions .ines-text-link {
  border-color: transparent;
}

.ines-scroll-cue {
  position: absolute;
  z-index: 1;
  right: max(2rem, calc((100% - 1280px) / 2));
  bottom: 2.4rem;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ines-scroll-cue:hover { color: #ffffff; text-decoration: none; }
.ines-scroll-cue span { font-size: 1.2rem; }

.ines-intro { padding: 8rem 0; }

.ines-wide-grid {
  display: grid;
  grid-template-columns: minmax(170px, 0.55fr) minmax(0, 2fr);
  gap: 2rem;
}

.ines-section-label { color: #536273; }
.ines-section-label span { display: block; margin-bottom: 0.7rem; color: #154b86; }

.ines-intro-content h2 {
  margin: 0;
  color: #101a26;
  font-family: "Poppins", "Segoe UI", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3.55rem);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: 0;
}

.ines-intro-content > p {
  max-width: 710px;
  margin: 1.9rem 0 0;
  color: #596674;
  font-size: 1.02rem;
}

.ines-stat-row {
  display: flex;
  gap: 0;
  margin-top: 3.2rem;
  border-top: 1px solid #dbe1e8;
}

.ines-stat-row div {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.15rem;
  padding: 1.35rem 1rem 0 0;
}

.ines-stat-row strong { color: #0b3568; font-size: 2.35rem; font-weight: 500; line-height: 1; }
.ines-stat-row span { color: #6a7683; font-size: 0.73rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.ines-research {
  width: 100%;
  padding: 7.5rem max(2rem, calc((100% - 1280px) / 2));
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 12%, rgba(53, 105, 157, 0.12), transparent 28rem),
    #f1f4f8;
}

.ines-research-intro {
  display: grid;
  grid-template-columns: minmax(170px, 0.55fr) minmax(0, 2fr);
  gap: 2rem;
  margin-bottom: 4rem;
}

.ines-research-copy { max-width: 820px; }
.ines-research-copy .ines-eyebrow { margin-bottom: 0.8rem; color: #24527f; }
.ines-research-copy h2 {
  margin: 0;
  color: #101a26;
  font-size: clamp(2.35rem, 4.5vw, 4.25rem);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.045em;
}
.ines-research-copy > p:last-child {
  max-width: 720px;
  margin: 1.65rem 0 0;
  color: #596674;
  font-size: 1rem;
  line-height: 1.9;
}

.ines-section-head,
.ines-panel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.3rem;
}

.ines-more-link {
  color: #0b3568;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ines-more-link span { margin-left: 0.65rem; }

.ines-research-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ines-research-item {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  padding: 2.15rem;
  border: 1px solid #d5dde6;
  background: rgba(255, 255, 255, 0.88);
  color: #132235;
  box-shadow: 0 18px 42px rgba(24, 48, 76, 0.06);
}

.ines-research-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: #174e86;
}
.ines-research-item:nth-child(2)::before { background: #3c7183; }
.ines-research-item:nth-child(3)::before { background: #6e5b92; }
.ines-research-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #6b7886;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ines-index { color: #174e86; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.08em; }
.ines-research-item h3 {
  margin: auto 0 1rem;
  color: #142539;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: -0.035em;
}
.ines-research-item p { max-width: 310px; margin: 0; color: #667483; font-size: 0.9rem; }
.ines-research-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 1.7rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid #e1e6ec;
  list-style: none;
}
.ines-research-keywords li {
  padding: 0.28rem 0.58rem;
  border: 1px solid #d3dce6;
  border-radius: 999px;
  color: #52667b;
  font-family: "Roboto", sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
}
.ines-research-synthesis {
  display: grid;
  grid-template-columns: max-content 20px max-content 20px max-content minmax(260px, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1.45rem 1.6rem;
  background: #0b2e54;
  color: #fff;
}
.ines-research-synthesis > span {
  font-family: "Roboto", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ines-research-synthesis > b { color: #7fa6cd; font-weight: 400; text-align: center; }
.ines-research-synthesis > p {
  margin: 0 0 0 auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.83rem;
  text-align: right;
}

.ines-dark-panel { background: #06182d; color: #ffffff; }
.ines-dark-inner { padding: 7.5rem 0; }
.ines-panel-head { margin-bottom: 2.8rem; }
.ines-panel-head .ines-eyebrow { color: #aac6e3; }
.ines-panel-head h2 { margin: 0.5rem 0 0; color: #ffffff; font-size: clamp(2.2rem, 3.5vw, 3.6rem); font-weight: 500; letter-spacing: 0; }

.ines-project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.ines-project-card {
  position: relative;
  display: flex;
  min-height: 470px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(173, 193, 214, .28);
  background: #f8fafc;
  color: #10243a;
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(0, 8, 20, 0.2);
  transition: box-shadow .3s ease, transform .3s ease;
}

.ines-project-brand-stage {
  --ines-project-accent: #1f4f8f;
  position: relative;
  display: grid;
  min-height: 160px;
  flex: 0 0 160px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #dce4ec;
  background:
    radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--ines-project-accent) 10%, transparent) 0, transparent 34%),
    linear-gradient(135deg, #fff, #f6f9fc);
}
.ines-project-brand-stage::before {
  content: "";
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 30px;
  height: 30px;
  border-top: 1px solid color-mix(in srgb, var(--ines-project-accent) 28%, transparent);
  border-right: 1px solid color-mix(in srgb, var(--ines-project-accent) 28%, transparent);
}
.ines-project-brand-stage--nrf { --ines-project-accent: #0877bd; }
.ines-project-brand-stage--kribb { --ines-project-accent: #204a99; }
.ines-project-brand-stage--msit { --ines-project-accent: #1f4f8f; }
.ines-project-brand-stage--gachon { --ines-project-accent: #0768b2; }
.ines-project-brand-stage--pending { --ines-project-accent: #74818e; }
.ines-project-brand-lockup {
  display: grid;
  width: calc(100% - 4rem);
  place-items: center;
  color: var(--ines-project-accent);
  text-align: center;
}
.ines-project-brand-lockup img {
  display: block;
  width: min(74%, 300px);
  max-height: 76px;
  object-fit: contain;
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.ines-project-brand-stage--msit .ines-project-brand-lockup img { width: min(82%, 340px); }
.ines-project-brand-lockup strong {
  font-family: "Roboto", sans-serif;
  font-size: clamp(2.2rem, 4vw, 4.3rem);
  font-weight: 900;
  letter-spacing: -.055em;
}
.ines-project-brand-lockup small { margin-top: .35rem; color: #536171; font-weight: 700; }
.ines-project-brand-label {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: .42rem .8rem;
  background: var(--ines-project-accent);
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.ines-project-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.55rem 1.65rem 1.65rem;
}
.ines-project-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #66788a;
  font-family: "Roboto", sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ines-project-card-top > span {
  padding: .32rem .58rem;
  border: 1px solid #c7d5e3;
  background: #eef4f9;
  color: #24547f;
}
.ines-project-card-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: 1.45rem;
}
.ines-project-card h3 {
  max-width: 760px;
  margin: 0;
  color: #14273c;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: -.025em;
}
.ines-project-summary {
  display: -webkit-box;
  max-width: 720px;
  margin: .8rem 0 0 !important;
  overflow: hidden;
  color: #5e6f80 !important;
  font-size: .82rem !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ines-card-link {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .8rem;
  border-top: 1px solid #d5e0ea;
  color: #174f82;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ines-card-link b { font-size: 1rem; font-weight: 500; transition: transform .25s ease; }
.ines-project-card:hover {
  color: #10243a;
  box-shadow: 0 24px 58px rgba(0, 8, 20, .34);
  text-decoration: none;
  transform: translateY(-3px);
}
.ines-project-card:hover .ines-project-brand-lockup img { transform: scale(1.035); }
.ines-project-card:hover .ines-card-link b { transform: translateX(4px); }
.ines-project-card:focus-visible { outline: 3px solid #9fc9ef; outline-offset: 4px; }

.ines-news { padding: 7.5rem 0; }
.ines-news-list { border-top: 1px solid #cfd7e1; }
.ines-news-item { display: grid; grid-template-columns: 110px 62px 1fr 26px; gap: 1rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid #dce2e9; color: #162438; text-decoration: none; }
.ines-news-item time, .ines-news-item > span { color: #6d7a88; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; }
.ines-news-item > span { color: #24588f; }
.ines-news-item h3 { margin: 0; color: inherit; font-size: 1rem; font-weight: 500; letter-spacing: 0; }
.ines-news-item b { font-size: 1.15rem; font-weight: 500; text-align: right; }
.ines-news-item:hover { color: #13508e; text-decoration: none; }
.ines-empty { padding: 2.5rem; border: 1px solid rgba(206, 222, 239, 0.35); color: #bdcce0; text-align: center; }
.ines-empty-light { border-color: #dce2e9; color: #718092; }

/* Shared team roster experience for both AI and HW members. */
.member-page {
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 4.5rem 0 6rem;
}

.member-page-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 0 3.2rem;
  border-bottom: 1px solid #d5dde6;
}

.member-page-eyebrow {
  margin: 0 0 0.85rem;
  color: #1b558f;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.member-page-hero h1 {
  margin: 0;
  color: #10233a;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 500;
  letter-spacing: 0;
}

.member-page-hero > p {
  max-width: 360px;
  margin: 0;
  color: #677585;
  font-size: 0.95rem;
}

.member-filter-section {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 1.5rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid #d5dde6;
}

.member-filter-section > p {
  margin: 0.45rem 0 0;
  color: #31465c;
  font-size: 0.83rem;
  font-weight: 700;
}

.member-filter-list { display: flex; flex-wrap: wrap; gap: 0.45rem; }

.member-filter-link {
  padding: 0.45rem 0.75rem;
  border: 1px solid #d2dbe5;
  border-radius: 0;
  color: #526477;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.member-filter-link:hover,
.member-filter-link.is-active {
  border-color: #0e4279;
  background: #0e4279;
  color: #ffffff;
  text-decoration: none;
}

.member-roster-section { padding-top: 4.3rem; }
.member-alumni-section { padding-top: 5rem; }

.member-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.member-section-heading > div { display: flex; align-items: baseline; gap: 0.85rem; }
.member-section-heading span { color: #1c5792; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; }
.member-section-heading h2 { margin: 0; color: #16283d; font-size: 1.65rem; font-weight: 500; letter-spacing: 0; }
.member-section-heading > p { margin: 0; color: #758393; font-size: 0.79rem; }

.member-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }

.member-profile-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid #d7dfe8;
  background: #ffffff;
}

.member-profile-card:hover { border-color: #1b568f; box-shadow: 0 12px 24px rgba(16, 46, 79, 0.08); }

.member-profile-photo {
  display: flex;
  aspect-ratio: 4 / 3;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #e9eff6;
  color: #69809a;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.member-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.member-profile-content { display: flex; min-height: 225px; flex: 1; flex-direction: column; padding: 1.3rem; }
.member-profile-meta { display: flex; justify-content: space-between; gap: 0.6rem; color: #1e5790; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.member-profile-meta span:last-child { color: #7a8794; }
.member-profile-content h3 { margin: 1.25rem 0 0.35rem; color: #14273d; font-size: 1.28rem; font-weight: 500; letter-spacing: 0; }
.member-department { margin: 0; color: #607081; font-size: 0.85rem; line-height: 1.55; }
.member-motto { margin: 1rem 0 0; color: #4b5d70; font-size: 0.85rem; }
.member-email { display: block; margin-top: auto; padding-top: 1.05rem; border-top: 1px solid #e2e7ed; color: #1a528a; font-size: 0.76rem; overflow-wrap: anywhere; }
.member-empty { padding: 2.5rem; border: 1px solid #d6dee7; color: #748191; text-align: center; }

@media (max-width: 900px) {
  .member-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.home-site-header + main + .site-footer { margin-top: 0; }
.home-site-header ~ .site-footer { background: #06182d; border-top: 0; color: #ffffff; }
.home-site-header ~ .site-footer .footer-title, .home-site-header ~ .site-footer h5 { color: #ffffff; }
.home-site-header ~ .site-footer .footer-muted, .home-site-header ~ .site-footer .footer-list, .home-site-header ~ .site-footer .footer-meta, .home-site-header ~ .site-footer a { color: #a9bacd; }
.home-site-header ~ .site-footer .footer-meta { border-top-color: rgba(255, 255, 255, 0.18); }

/* Pretendard gives Korean and Latin text a consistent, modern rhythm. */
button,
input,
select,
textarea,
.navbar-light .navbar-nav .nav-link,
.brand-title strong,
.footer-title,
.page-title,
.ines-hero h1,
.ines-intro-content h2,
.ines-research-item h3,
.ines-panel-head h2,
.ines-project-card h3,
.member-page-hero h1,
.member-section-heading h2,
.member-profile-content h3 {
  font-family: var(--font-sans);
}

@media (max-width: 900px) {
  .ines-hero { min-height: 660px; }
  .ines-project-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .ines-research-grid { grid-template-columns: 1fr; }
  .ines-research-item { min-height: 240px; }
  .ines-research-synthesis { grid-template-columns: max-content 18px max-content 18px max-content; }
  .ines-research-synthesis > p { grid-column: 1 / -1; margin: .25rem 0 0; text-align: left; }
  .ines-project-card { min-height: 420px; }
}

@media (max-width: 767px) {
  .home-site-header { background: rgba(4, 20, 37, 0.94); }
  .home-site-header .navbar { padding: 0.7rem 0; }
  .home-site-header .navbar-toggler { border-color: rgba(255, 255, 255, 0.62); }
  .home-site-header .navbar-toggler-icon { filter: invert(1); }
  .home-site-header .navbar-collapse { padding: 0.4rem 0 0.7rem; }
  .home-site-header .navbar-light .navbar-nav .nav-link { padding: 0.55rem 0; }
  .ines-hero-inner, .ines-dark-inner, .ines-intro, .ines-news { width: calc(100% - 2rem); }
  .ines-hero-inner { padding-bottom: 7rem; }
  .ines-hero h1 { font-size: clamp(2.55rem, 12vw, 4.1rem); }
  .ines-hero-copy { font-size: 0.94rem; }
  .ines-scroll-cue { right: 1rem; bottom: 1.25rem; }
  .ines-intro, .ines-news { padding: 5rem 0; }
  .ines-wide-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ines-research-intro { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
  .ines-research-copy h2 { font-size: 2.25rem; }
  .ines-intro-content h2 { font-size: 2.05rem; }
  .ines-stat-row { margin-top: 2rem; }
  .ines-stat-row strong { font-size: 1.85rem; }
  .ines-research { padding: 5rem 1rem; }
  .ines-research-item { min-height: 285px; padding: 1.6rem; }
  .ines-project-grid { gap: 1rem; }
  .ines-project-card { min-height: 405px; }
  .ines-project-card-content { padding: 1.35rem; }
  .ines-section-head, .ines-panel-head { align-items: start; flex-direction: column; margin-bottom: 1.7rem; }
  .ines-dark-inner { padding: 5rem 0; }
  .ines-news-item { grid-template-columns: 1fr auto; gap: 0.5rem; }
  .ines-news-item time, .ines-news-item > span { grid-column: auto; }
  .ines-news-item h3 { grid-column: 1; font-size: 0.96rem; }
  .ines-news-item b { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .member-page { width: calc(100% - 2rem); padding: 3rem 0 4rem; }
  .member-page-hero { align-items: start; flex-direction: column; gap: 1rem; padding-bottom: 2.25rem; }
  .member-page-hero h1 { font-size: 2.35rem; }
  .member-filter-section { grid-template-columns: 1fr; gap: 0.75rem; }
  .member-filter-section > p { margin-top: 0; }
  .member-roster-section, .member-alumni-section { padding-top: 3.4rem; }
  .member-profile-grid { grid-template-columns: 1fr; gap: 1rem; }
  .member-profile-content { min-height: 205px; }
}

/* QE-inspired visual system: typography, spacious sections and navy accents. */
html { scroll-behavior: smooth; }

body,
button,
input,
select,
textarea {
  font-family: var(--font-sans);
}

h1,
h2,
.page-title,
.ines-hero h1,
.ines-intro-content h2,
.ines-panel-head h2,
.ines-resource-column h2,
.member-page-hero h1 {
  font-family: var(--font-display);
}

.site-header:not(.home-site-header) {
  position: relative;
  box-shadow: none;
  border-bottom: 1px solid #e4e7eb;
}

.site-header:not(.home-site-header) .navbar { min-height: 92px; }
.site-header:not(.home-site-header) .brand-logo { width: 112px; height: 46px; }
.site-header:not(.home-site-header) .brand-title { display: none; }
.site-header:not(.home-site-header) .navbar-light .navbar-nav .nav-link {
  padding-inline: 1rem;
  color: #1c2733;
  font-family: "Roboto", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.page-shell {
  width: 100%;
  padding: 0 0 7rem;
}

.page-shell > :not(.page-hero) {
  width: min(1280px, calc(100% - 4rem));
  margin-right: auto;
  margin-left: auto;
}

.page-hero {
  margin-bottom: 4.5rem;
  padding: 5.5rem max(2rem, calc((100% - 1280px) / 2));
  border: 0;
  border-radius: 0;
  background: linear-gradient(115deg, #06182d, #123f73);
  color: #fff;
}

.page-hero .page-eyebrow { color: #a9caeb; }
.page-hero .page-title { margin-top: 0.6rem; color: #fff; font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 700; }
.page-hero .page-subtitle { max-width: 720px; color: rgba(255,255,255,.72); }
.section-block { margin-top: 4rem; }
.section-heading { font-size: 1.7rem; font-weight: 800; }
.surface-card,
.modern-table-wrap,
.member-profile-card { border-radius: 0; }

.site-footer {
  margin-top: 0;
  border: 0;
  background: #010511;
  color: #fff;
}

.footer-shell { padding-top: 3.4rem; padding-bottom: 2rem; }
.footer-title,
.site-footer h5 { color: #fff; }
.footer-muted,
.footer-list,
.site-footer a,
.footer-meta { color: #91a0b1; }
.footer-meta { border-top-color: rgba(255,255,255,.12); }

.home-site-header .header-shell { width: min(1180px, calc(100% - 4rem)); }
.home-site-header .navbar { min-height: 96px; padding: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.home-site-header .brand-logo { width: 94px; height: 52px; object-fit: contain; }
.home-site-header .navbar-light .navbar-nav .nav-link {
  padding: 1rem .95rem;
  font-family: "Roboto", sans-serif;
  font-size: .94rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.ines-hero {
  min-height: 700px;
  background:
    linear-gradient(90deg, rgba(5,12,19,.72), rgba(7,14,20,.4)),
    url("../images/home3.jpeg") center/cover no-repeat;
  align-items: center;
}
.ines-hero::after { display: none; }
.ines-hero-inner { padding: 7rem 0 0; }
.ines-hero .ines-eyebrow { font-size: 1.9rem; font-weight: 300; letter-spacing: -.02em; text-transform: none; }
.ines-hero h1 { max-width: 780px; margin: .35rem 0 1.5rem; font-size: clamp(3.3rem, 5.3vw, 5rem); font-weight: 700; line-height: 1.13; }
.ines-hero h1::after { content: ""; display: block; width: 96px; margin-top: 2.2rem; border-bottom: 3px solid #fff; }
.ines-hero-copy { max-width: 720px; font-size: 1.2rem; font-weight: 300; line-height: 1.75; }
.ines-hero-actions { display: none; }
.ines-scroll-cue { display: none; }

.ines-intro { padding-top: 9rem; padding-bottom: 9rem; }
.ines-intro-content h2 { font-size: clamp(2.6rem, 4.6vw, 4.2rem); font-weight: 700; }
.ines-intro-content > p { font-size: 1rem; line-height: 2; }
.ines-section-label { font-family: "Roboto", sans-serif; }
.ines-section-label span { color: #123d70; }
.ines-research { padding-top: 8.5rem; padding-bottom: 8.5rem; }
.ines-dark-panel { background: #06182d; }

.ines-resources {
  display: grid;
  width: min(1280px, calc(100% - 4rem));
  grid-template-columns: 1.35fr .65fr;
  gap: 5rem;
  margin: 0 auto;
  padding: 8rem 0;
}

.ines-resource-column .ines-section-head { align-items: center; margin-bottom: 2rem; }
.ines-resource-column .ines-eyebrow { margin-bottom: .45rem; color: #496078; }
.ines-resource-column h2 { margin: 0; color: #101820; font-size: clamp(2.3rem, 3.5vw, 3.6rem); font-weight: 700; }
.ines-paper-list { border-top: 2px solid #172b43; }
.ines-paper-item {
  display: grid;
  grid-template-columns: 76px 1fr 24px;
  gap: 1.2rem;
  align-items: center;
  min-height: 112px;
  border-bottom: 1px solid #d9dfe6;
  color: #172536;
  text-decoration: none;
}
.ines-paper-item:hover { color: #0c4f91; text-decoration: none; }
.ines-paper-item time { color: #687788; font-family: "Roboto", sans-serif; font-size: .72rem; text-align: center; }
.ines-paper-item time strong { display: block; color: #0c3970; font-size: 1.8rem; line-height: 1; }
.ines-paper-item > span { min-width: 0; }
.ines-paper-item b { display: block; font-size: 1rem; line-height: 1.45; }
.ines-paper-item small { display: block; margin-top: .35rem; color: #75818e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ines-paper-item em {
  display: inline-flex;
  margin-top: .55rem;
  padding: .15rem .48rem;
  border: 1px solid #b9c8d8;
  border-radius: 999px;
  color: #315a83;
  font-size: .61rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}
.ines-paper-item i,
.ines-team-links i { font-family: "Roboto", sans-serif; font-style: normal; }
.ines-team-links > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  padding: 0 1.4rem;
  border-bottom: 1px solid rgba(255,255,255,.28);
  background: #0a3565;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
}
.ines-team-links > a:hover { background: #0e4e8f; text-decoration: none; }

@media (max-width: 900px) {
  .ines-resources { grid-template-columns: 1fr; gap: 4rem; }
  .page-shell > :not(.page-hero) { width: calc(100% - 2rem); }
}

@media (max-width: 767px) {
  .home-site-header .header-shell { width: calc(100% - 2rem); }
  .home-site-header .navbar { min-height: 76px; }
  .home-site-header .brand-logo { width: 84px; }
  .ines-hero { min-height: 570px; }
  .ines-hero-inner { width: calc(100% - 2rem); padding-top: 5rem; }
  .ines-hero .ines-eyebrow { font-size: 1.25rem; }
  .ines-hero h1 { font-size: clamp(2rem, 8vw, 2.45rem); line-height: 1.16; }
  .ines-hero-copy { font-size: .96rem; }
  .ines-resources { width: calc(100% - 2rem); padding: 5rem 0; }
  .ines-paper-item { grid-template-columns: 56px 1fr 18px; gap: .75rem; min-height: 104px; }
  .ines-paper-item time strong { font-size: 1.4rem; }
  .page-hero { padding: 4rem 1rem; margin-bottom: 3rem; }
  .footer-grid { gap: 2.2rem; }
}

/* Unified QE-style global navigation. */
.qe-nav { align-items: stretch; }
.qe-nav > .nav-item { position: relative; display: flex; align-items: stretch; }
.qe-nav > .nav-item > .nav-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 92px;
  padding: 0 1.05rem !important;
  color: #1e2834 !important;
  font-family: "Roboto", var(--font-sans);
  font-size: .95rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none;
  white-space: nowrap;
}

.qe-nav > .nav-item > .nav-link::before {
  content: "";
  position: absolute;
  right: 1.05rem;
  bottom: -1px;
  left: 1.05rem;
  height: 3px;
  background: #0c3f78;
  opacity: 0;
  transform: scaleX(.2);
  transition: opacity .18s ease, transform .18s ease;
}

.qe-nav > .nav-item:hover > .nav-link::before,
.qe-nav > .nav-item > .nav-link.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.qe-nav .dropdown-toggle::after { display: none; }

.qe-submenu {
  top: calc(100% - 1px);
  left: 50%;
  width: 320px;
  margin: 0;
  padding: 1.4rem;
  border: 0;
  border-top: 3px solid #0b4b89;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 14, 34, .18);
  transform: translateX(-50%);
}

.qe-submenu-wide { width: 600px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qe-submenu-news { right: 0; left: auto; width: 610px; grid-template-columns: repeat(2, minmax(0, 1fr)); transform: none; }
.qe-submenu-wide.show,
.qe-submenu-news.show { display: grid; }

.qe-submenu-title {
  margin: 0 0 .65rem;
  padding: 0 .7rem .8rem;
  border-bottom: 1px solid #dce2e9;
  color: #0b2f5a;
  font-family: "Roboto", var(--font-sans);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.qe-submenu-wide .qe-submenu-title,
.qe-submenu-news .qe-submenu-title { grid-column: 1 / -1; }

.qe-submenu .dropdown-item {
  display: flex;
  flex-direction: column;
  gap: .18rem;
  padding: .72rem;
  border-radius: 0;
  color: #18283a;
  white-space: normal;
}
.qe-submenu .dropdown-item + .dropdown-item { border-top: 1px solid #edf0f3; }
.qe-submenu-wide .dropdown-item:nth-of-type(2),
.qe-submenu-news .dropdown-item:nth-of-type(2) { border-top: 0; }
.qe-submenu .dropdown-item span { font-size: .9rem; font-weight: 700; }
.qe-submenu .dropdown-item small { color: #7c8996; font-size: .72rem; }
.qe-submenu .dropdown-item:hover,
.qe-submenu .dropdown-item:focus { background: #f0f5fb; color: #0c4b89; }

.home-site-header .qe-nav > .nav-item > .nav-link { min-height: 96px; color: rgba(255,255,255,.92) !important; }
.home-site-header .qe-nav > .nav-item > .nav-link::before { background: #fff; }

@media (min-width: 1200px) {
  .site-header .header-shell {
    width: min(1280px, calc(100% - 4rem));
  }
  .site-header .navbar,
  .home-site-header .navbar,
  .site-header:not(.home-site-header) .navbar {
    min-height: 96px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .home-site-header .navbar {
    border-bottom: 0;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.2);
  }
  .site-header .brand-logo,
  .home-site-header .brand-logo,
  .site-header:not(.home-site-header) .brand-logo {
    width: 94px;
    height: 52px;
    object-fit: contain;
  }
  .qe-nav-item:hover > .dropdown-menu { display: block; }
  .qe-nav-item:hover > .qe-submenu-wide,
  .qe-nav-item:hover > .qe-submenu-news { display: grid; }
}

@media (max-width: 1199.98px) {
  .site-header:not(.home-site-header),
  .home-site-header { background: #07192e; }
  .site-header .header-nav { background: transparent; }
  .site-header .header-shell { width: calc(100% - 2rem); }
  .site-header .navbar { min-height: 76px !important; padding: 0; }
  .site-header .brand-logo,
  .site-header:not(.home-site-header) .brand-logo { width: 86px; height: 46px; filter: brightness(0) invert(1); }
  .site-header .navbar-toggler { border-color: rgba(255,255,255,.5); }
  .site-header .navbar-toggler-icon { filter: invert(1); }
  .site-header .navbar-collapse { max-height: calc(100vh - 76px); overflow-y: auto; padding: .6rem 0 1rem; border-top: 1px solid rgba(255,255,255,.16); }
  .qe-nav { align-items: stretch; }
  .qe-nav > .nav-item { display: block; border-bottom: 1px solid rgba(255,255,255,.12); }
  .qe-nav > .nav-item > .nav-link,
  .home-site-header .qe-nav > .nav-item > .nav-link {
    min-height: 52px;
    padding: 0 .25rem !important;
    color: #fff !important;
    font-size: .94rem !important;
  }
  .qe-nav > .nav-item > .nav-link::before { display: none; }
  .qe-nav .dropdown-toggle::after {
    display: block;
    position: absolute;
    right: .35rem;
    width: 8px;
    height: 8px;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.75);
    border-bottom: 1px solid rgba(255,255,255,.75);
    transform: rotate(45deg);
  }
  .qe-nav .dropdown.show > .dropdown-toggle::after { transform: rotate(225deg); }
  .qe-submenu,
  .qe-submenu-wide,
  .qe-submenu-news {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    padding: .35rem 0 .8rem 1rem;
    border: 0;
    background: rgba(255,255,255,.06);
    box-shadow: none;
    transform: none;
  }
  .qe-submenu-wide.show,
  .qe-submenu-news.show { display: block; }
  .qe-submenu-title { display: none; }
  .qe-submenu .dropdown-item { padding: .62rem .8rem; border-top: 0 !important; color: #fff; }
  .qe-submenu .dropdown-item small { color: rgba(255,255,255,.56); }
  .qe-submenu .dropdown-item:hover,
  .qe-submenu .dropdown-item:focus { background: rgba(255,255,255,.1); color: #fff; }
}

/* Section navigation shown below subpage title areas. */
.page-hero:has(+ .section-local-nav) { margin-bottom: 0; }
.page-shell > .section-local-nav {
  width: 100%;
  max-width: none;
  margin: 0;
  border-bottom: 1px solid #d9dfe6;
  background: #fff;
}
.section-local-inner {
  display: flex;
  width: min(1280px, calc(100% - 4rem));
  min-height: 68px;
  align-items: stretch;
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
}
.section-local-inner::-webkit-scrollbar { display: none; }
.section-local-nav a,
.section-team-switch {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 145px;
  padding: 0 1.35rem;
  border-right: 1px solid #e1e5ea;
  color: #5c6977;
  font-family: "Roboto", var(--font-sans);
  font-size: .86rem;
  font-weight: 500;
  text-decoration: none;
}
.section-local-nav a:first-child { border-left: 1px solid #e1e5ea; }
.section-local-nav a:hover { background: #f4f7fa; color: #0b477f; text-decoration: none; }
.section-local-nav a.is-current { background: #0b3768; color: #fff; }
.section-local-nav a.is-current::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background: #0b3768;
  transform: rotate(45deg);
}
.section-team-switch { margin-left: auto; border-left: 1px solid #e1e5ea; color: #0b477f; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.member-page > .section-local-nav {
  margin-bottom: 1.2rem;
  border-bottom: 1px solid #d9dfe6;
  background: #fff;
}
.member-page > .section-local-nav .section-local-inner { width: 100%; }

@media (max-width: 767px) {
  .section-local-inner { width: 100%; min-height: 56px; padding: 0 1rem; }
  .section-local-nav a,
  .section-team-switch { min-width: auto; padding: 0 1rem; font-size: .78rem; }
  .section-team-switch { display: none; }
  .page-shell > .section-local-nav { width: 100%; }
}

/* Professor profile: spacious editorial layout based on the supplied reference. */
.professor-section {
  padding-top: 5.5rem;
  color: #222a33;
}

.professor-section-head {
  padding-bottom: 4.5rem;
  border-bottom: 1px solid #d7dce1;
}

.professor-section-head > span {
  display: block;
  width: 54px;
  height: 4px;
  margin-bottom: 1.8rem;
  background: #0a3c73;
}

.professor-section-head h2 {
  margin: 0;
  color: #05080c;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(3rem, 5vw, 4.6rem);
  font-weight: 700;
  letter-spacing: -.035em;
}

.professor-profile {
  padding: 5.5rem 0 1rem;
}

.professor-profile + .professor-profile {
  margin-top: 5rem;
  border-top: 1px solid #cfd5dc;
}

.professor-summary {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 4.5rem;
  align-items: start;
}

.professor-photo {
  width: 300px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid #d9dde2;
  background: #f2f4f6;
}

.professor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.professor-photo-empty {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #84909c;
  font-family: "Roboto", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.professor-primary { padding-top: 1.5rem; }

.professor-primary h3 {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0;
  color: #070a0e;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.035em;
}

.professor-primary h3 > span {
  color: #0a3c73;
  font-family: "Roboto", sans-serif;
  font-size: 1.55em;
  font-weight: 700;
  line-height: .8;
}

.professor-primary h3 small {
  color: #253342;
  font-size: .48em;
  font-weight: 700;
}

.professor-affiliation {
  margin: 2.4rem 0 2.5rem 2.3rem;
  color: #434b54;
  font-size: 1.05rem;
  line-height: 1.75;
}

.professor-affiliation p { margin: .15rem 0; }

.professor-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.4rem;
  margin: 0 0 0 2.3rem;
  color: #343c45;
  font-size: .96rem;
  font-style: normal;
}

.professor-contact a,
.professor-contact p {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  color: inherit;
  text-decoration: none;
}

.professor-contact a:hover { color: #0b4a86; }
.professor-contact .professor-address { flex-basis: 100%; }
.professor-contact svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  fill: currentColor;
}
.professor-contact span { display: inline-flex; flex-wrap: wrap; gap: .35rem; }
.professor-contact strong::after { content: ":"; }

.professor-details {
  margin: 3.7rem 0 0 372px;
  border-top: 1px solid #d7dce1;
}

.professor-detail-row {
  padding: 2.5rem 0 2.8rem;
  border-bottom: 1px solid #d7dce1;
}

.professor-detail-row h4 {
  position: relative;
  margin: 0 0 1.65rem;
  padding-left: 1.25rem;
  color: #080b0f;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

.professor-detail-row h4::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0a3c73;
}

.professor-detail-row > p,
.professor-detail-row li {
  color: #4b545e;
  font-size: .96rem;
  line-height: 1.8;
}

.professor-detail-row > p { margin: 0; padding-left: 1.25rem; }
.professor-detail-row ul,
.professor-publications { display: grid; gap: .85rem; margin: 0; padding-left: 2.5rem; }
.professor-detail-row li::marker { color: #a5adb6; }
.professor-detail-row li span { margin-right: .45rem; color: #6a747f; }
.professor-detail-row .professor-history-list {
  gap: 0;
  padding-left: 1.25rem;
  list-style: none;
}

.professor-history-list li {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
  gap: 1.2rem;
  padding: .8rem 0;
  border-bottom: 1px solid #e8ebef;
}

.professor-history-list li:first-child { padding-top: 0; }
.professor-history-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.professor-detail-row .professor-history-date {
  margin: 0;
  color: #687582;
  font-family: "Roboto", var(--font-sans);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .01em;
}
.professor-detail-row .professor-history-content {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: .2rem .55rem;
  margin: 0;
  color: #4b545e;
}
.professor-history-content strong { color: #253342; font-weight: 700; }
.professor-detail-row a { color: #173f6c; font-weight: 700; }
.professor-detail-row a:hover { color: #0b5a9f; }
.professor-muted { color: #8a949e !important; }

.professor-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.25rem 0 0 1.25rem;
}

.professor-keywords span {
  padding: .38rem .7rem;
  border: 1px solid #ccd5df;
  color: #3f5267;
  font-size: .74rem;
  font-weight: 700;
}

.professor-publications li { padding-left: .35rem; }
.professor-publications small {
  display: block;
  margin-top: .2rem;
  color: #7a858f;
  font-size: .8rem;
  line-height: 1.55;
}

@media (max-width: 1000px) {
  .professor-summary { grid-template-columns: 240px minmax(0, 1fr); gap: 2.5rem; }
  .professor-photo { width: 240px; }
  .professor-details { margin-left: 280px; }
  .professor-affiliation,
  .professor-contact { margin-left: 0; }
}

@media (max-width: 767px) {
  .professor-section { padding-top: 3.5rem; }
  .professor-section-head { padding-bottom: 2.8rem; }
  .professor-section-head h2 { font-size: 2.8rem; }
  .professor-profile { padding-top: 3rem; }
  .professor-summary { grid-template-columns: 1fr; gap: 1.8rem; }
  .professor-photo { width: min(280px, 100%); margin: 0 auto; }
  .professor-primary { padding-top: 0; }
  .professor-primary h3 { font-size: 2rem; }
  .professor-affiliation { margin-top: 1.4rem; margin-bottom: 1.5rem; }
  .professor-contact { display: grid; gap: 1rem; font-size: .88rem; }
  .professor-contact .professor-address { align-items: flex-start; }
  .professor-details { margin: 2.8rem 0 0; }
  .professor-detail-row { padding: 2rem 0; }
  .professor-detail-row ul,
  .professor-publications { padding-left: 1.7rem; }
  .professor-detail-row .professor-history-list { padding-left: 1.25rem; }
  .professor-history-list li { grid-template-columns: 1fr; gap: .12rem; }
}

/* Shared Members category header: Professor / Students / Alumni. */
.members-category-hero {
  position: relative;
  display: grid;
  min-height: 470px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(3, 18, 34, .78), rgba(7, 25, 43, .46) 52%, rgba(5, 18, 32, .68)),
    url("../images/home3.jpeg") center 48% / cover no-repeat;
}

.members-category-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .08) 58%, rgba(0, 0, 0, .35));
}

.page-shell > .members-category-hero {
  width: 100%;
  max-width: none;
  margin: 0;
}

.members-category-title {
  position: relative;
  z-index: 1;
  align-self: center;
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto 2.5rem;
  text-align: center;
}

.members-category-title span {
  display: block;
  margin-bottom: .85rem;
  color: rgba(255, 255, 255, .76);
  font-family: "Roboto", var(--font-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.members-category-title h1 {
  margin: 0;
  color: #fff;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(4rem, 7vw, 6.7rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .95;
}

.members-category-tabs {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, .33);
}

.members-category-tabs a {
  position: relative;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .78);
  font-family: "Roboto", var(--font-sans);
  font-size: 1.05rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}

.members-category-tabs a::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 20%;
  left: 20%;
  height: 3px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

.members-category-tabs a:hover,
.members-category-tabs a.is-current {
  color: #fff;
  background: rgba(255, 255, 255, .06);
}

.members-category-tabs a:hover::before,
.members-category-tabs a.is-current::before { transform: scaleX(1); }

#students,
#alumni { scroll-margin-top: 2rem; }

.members-team-nav {
  width: min(1280px, calc(100% - 4rem)) !important;
  margin: 0 auto !important;
  padding: 3.5rem 0 0;
  border: 0 !important;
  background: transparent !important;
}
.members-team-nav .section-local-inner {
  width: auto;
  min-height: 62px;
  justify-content: center;
  padding: 0;
}
.members-team-nav a {
  min-width: 180px;
  min-height: 62px;
  border: 1px solid #d9dde2;
  border-right: 0;
  color: #969da5;
  font-size: .88rem;
  font-weight: 700;
}
.members-team-nav a:last-of-type { border-right: 1px solid #d9dde2; }
.members-team-nav a::after { display: none; }
.members-team-nav a.is-current {
  z-index: 1;
  border-color: #222a33;
  background: #fff;
  color: #12171d;
  box-shadow: 0 0 0 1px #222a33;
}

@media (max-width: 767px) {
  .members-category-hero { min-height: 370px; }
  .members-category-title {
    width: calc(100% - 2rem);
    margin-bottom: 2.2rem;
  }
  .members-category-title h1 { font-size: clamp(3.2rem, 17vw, 4.7rem); }
  .members-category-tabs {
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    padding: 0 1rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .members-category-tabs::-webkit-scrollbar { display: none; }
  .members-category-tabs a { min-height: 68px; font-size: .78rem; }
  .members-category-tabs a::before { right: 10%; left: 10%; }
  .members-team-nav { width: 100% !important; padding: 2rem 1rem 0; }
  .members-team-nav a { min-width: 96px; min-height: 54px; font-size: .78rem; }
}

/* Editorial member directory, following the supplied QE members reference. */
.member-directory { padding-top: 1rem; }

.member-degree-section + .member-degree-section { margin-top: 5.8rem; }

.member-degree-head {
  padding-bottom: 3.7rem;
  border-bottom: 1px solid #d8dce1;
}

.member-degree-head > span {
  display: block;
  width: 54px;
  height: 4px;
  margin-bottom: 1.7rem;
  background: #0a3c73;
}

.member-degree-head h2 {
  margin: 0;
  color: #05080c;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(2.8rem, 4.6vw, 4.1rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.member-directory-row {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 4rem;
  align-items: start;
  padding: 4.5rem 0;
  border-bottom: 1px solid #d8dce1;
}

.member-directory-photo {
  display: flex;
  width: 260px;
  aspect-ratio: 4 / 5;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #d9dde2;
  background: #f2f4f6;
  color: #84909c;
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.member-directory-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.member-directory-info h3 {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 2rem;
  color: #080b0f;
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -.035em;
}

.member-directory-info h3 > span {
  color: #0a3c73;
  font-family: "Roboto", sans-serif;
  font-size: 1.55em;
  line-height: .8;
}

.member-directory-info dl {
  display: grid;
  gap: .8rem;
  margin: 0;
}

.member-directory-info dl > div {
  position: relative;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: .35rem;
  padding-left: .85rem;
  color: #4a535d;
  font-size: 1rem;
  line-height: 1.6;
}

.member-directory-info dl > div::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #a5adb6;
}

.member-directory-info dt {
  color: #151a20;
  font-weight: 800;
}

.member-directory-info dt::after { content: ":"; }
.member-directory-info dd { margin: 0; overflow-wrap: anywhere; }
.member-directory-info a { color: inherit; text-decoration: none; }
.member-directory-info a:hover { color: #0a4c88; text-decoration: underline; }

.member-publication-history {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.6rem;
  padding-top: 1.35rem;
  border-top: 1px solid #e3e8ed;
}

.member-publication-history h4 {
  margin: 0 0 .65rem;
  color: #173f6c;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.member-publication-history ol {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding-left: 1.25rem;
}

.member-publication-history li { padding-left: .2rem; color: #25313d; }
.member-publication-history li::marker { color: #9ba7b3; }
.member-publication-history li > a { color: #173f6c; font-weight: 700; }
.member-publication-history small {
  display: block;
  margin-top: .18rem;
  color: #6a747f;
  font-size: .78rem;
}

.member-alumni-directory { padding-top: 7rem; }
.member-alumni-head { margin-bottom: 0; }

@media (max-width: 900px) {
  .member-directory-row { grid-template-columns: 220px minmax(0, 1fr); gap: 2.5rem; }
  .member-directory-photo { width: 220px; }
}

@media (max-width: 767px) {
  .member-directory { padding-top: 0; }
  .member-degree-section + .member-degree-section { margin-top: 4.5rem; }
  .member-degree-head { padding-bottom: 2.6rem; }
  .member-degree-head h2 { font-size: 2.55rem; }
  .member-directory-row { grid-template-columns: 1fr; gap: 1.8rem; padding: 3rem 0; }
  .member-directory-photo { width: min(260px, 78vw); margin: 0 auto; }
  .member-directory-info h3 { margin-bottom: 1.4rem; font-size: 1.65rem; }
  .member-directory-info dl > div { grid-template-columns: 1fr; gap: .05rem; font-size: .9rem; }
  .member-alumni-directory { padding-top: 5rem; }
}

/* Shared visual language for Research, Publications, Projects and News. */
.category-hero {
  position: relative;
  display: grid;
  min-height: 470px;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background-position: center;
  background-size: cover;
}

.page-shell > .category-hero {
  width: 100%;
  max-width: none;
  margin: 0;
}

.category-hero::before,
.category-hero::after {
  content: "";
  position: absolute;
  inset: 0;
}

.category-hero::before { background: rgba(4, 18, 32, .56); }
.category-hero::after { background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.26)); }

.category-hero-projects { background-image: url("../images/home2.jpeg"); }
.category-hero-publications { background-image: url("../images/home.jpeg"); }
.category-hero-news { background-image: url("../images/home3.jpeg"); }
.category-hero-research { background-image: url("../images/research_topic/web1.jpg"); }

.category-hero-title {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 4rem));
  margin-bottom: 2.5rem;
  text-align: center;
}

.category-hero-title span {
  display: block;
  margin-bottom: .85rem;
  color: rgba(255,255,255,.76);
  font-family: "Roboto", var(--font-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.category-hero-title h1 {
  margin: 0;
  color: #fff;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(4rem, 7vw, 6.7rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .95;
}

.category-hero-tabs {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.category-hero-tabs::-webkit-scrollbar { display: none; }

.category-hero-tabs-inner {
  display: grid;
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, .34);
}

.category-hero-tabs-2 .category-hero-tabs-inner { grid-template-columns: repeat(2, 1fr); }
.category-hero-tabs-3 .category-hero-tabs-inner { grid-template-columns: repeat(3, 1fr); }
.category-hero-tabs-4 .category-hero-tabs-inner { grid-template-columns: repeat(4, 1fr); }

.category-hero-tabs a {
  position: relative;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  color: rgba(255, 255, 255, .78);
  font-family: "Roboto", var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}

.category-hero-tabs a::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 15%;
  left: 15%;
  height: 3px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

.category-hero-tabs a:hover,
.category-hero-tabs a.is-current {
  color: #fff;
  background: rgba(255, 255, 255, .07);
}

.category-hero-tabs a:hover::before,
.category-hero-tabs a.is-current::before { transform: scaleX(1); }

.category-page > .section-local-nav {
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 3.5rem 0 0;
  border: 0;
  background: transparent;
}

.category-page > .section-local-nav .section-local-inner {
  width: auto;
  min-height: 62px;
  justify-content: center;
  padding: 0;
}

.category-page > .section-local-nav a {
  min-width: 180px;
  min-height: 62px;
  border: 1px solid #d9dde2;
  border-right: 0;
  color: #969da5;
  font-size: .88rem;
  font-weight: 700;
}

.category-page > .section-local-nav a:last-of-type { border-right: 1px solid #d9dde2; }
.category-page > .section-local-nav a::after { display: none; }
.category-page > .section-local-nav a.is-current {
  z-index: 1;
  border-color: #222a33;
  background: #fff;
  color: #12171d;
  box-shadow: 0 0 0 1px #222a33;
}

.category-page > .section-local-nav .section-team-switch { display: none; }
.category-page > .section-block { margin-top: 4rem; }

.award-category-page .card-pad > .chip,
.gallery-category-page .card-pad > .chip { margin-bottom: .85rem; }

.project-category-page .grid-2 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.project-category-page .surface-card,
.award-category-page .surface-card,
.gallery-category-page .surface-card,
.research-category-page .surface-card { border-radius: 0; }
.project-category-page .media-4x3 { height: 240px; }
.project-category-page .card-pad { padding: 1.5rem; }
.project-category-page .card-title { font-size: 1.2rem; line-height: 1.45; }

.project-logo-panel {
  --project-logo-accent: #0b4d84;
  position: relative;
  display: grid;
  height: 240px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #d9dde2;
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--project-logo-accent) 8%, transparent) 0, transparent 34%),
    linear-gradient(135deg, #fff 0%, #fbfcfd 100%);
}

.project-logo-panel::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 34px;
  height: 34px;
  border-top: 1px solid color-mix(in srgb, var(--project-logo-accent) 25%, transparent);
  border-right: 1px solid color-mix(in srgb, var(--project-logo-accent) 25%, transparent);
}

.project-logo-panel--nrf { --project-logo-accent: #0877bd; }
.project-logo-panel--kribb { --project-logo-accent: #204a99; }
.project-logo-panel--msit { --project-logo-accent: #1f4f8f; }
.project-logo-panel--gachon { --project-logo-accent: #0768b2; }
.project-logo-panel--pending { --project-logo-accent: #7a8490; }

.project-agency-lockup {
  display: grid;
  width: calc(100% - 3rem);
  place-items: center;
  padding-bottom: 1rem;
  color: var(--project-logo-accent);
  text-align: center;
}

.project-agency-lockup strong {
  display: block;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(2.8rem, 4vw, 4.7rem);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .95;
  white-space: nowrap;
}

.project-agency-lockup img {
  display: block;
  width: min(76%, 310px);
  max-height: 92px;
  object-fit: contain;
}

.project-logo-panel--msit .project-agency-lockup img {
  width: min(84%, 340px);
}

.project-agency-lockup small {
  display: block;
  margin-top: .75rem;
  color: #505b66;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}

.project-logo-panel--pending .project-agency-lockup strong {
  font-size: clamp(2rem, 3vw, 3rem);
  letter-spacing: -.035em;
}

.project-logo-label {
  position: absolute;
  bottom: 0;
  left: 0;
  min-width: 145px;
  padding: .62rem 1.1rem;
  background: #0c3769;
  color: #fff;
  font-size: .84rem;
  font-weight: 700;
  text-align: center;
}

/* Editorial project detail, aligned with the unified Projects category. */
.project-detail-page > .project-detail-intro,
.project-detail-page > .project-detail-layout {
  width: min(1280px, calc(100% - 4rem));
  margin-right: auto;
  margin-left: auto;
}
.project-detail-intro {
  padding: 4.5rem 0 4rem;
  border-bottom: 1px solid #d9dee4;
}
.project-back-link {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 3.2rem;
  color: #687481;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}
.project-back-link span { color: #0a3c73; font-size: 1.1rem; }
.project-back-link:hover { color: #0a3c73; text-decoration: none; }
.project-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3rem;
  align-items: end;
}
.project-detail-eyebrow {
  display: flex;
  gap: .7rem;
  align-items: center;
  margin: 0 0 1rem;
  color: #76818c;
  font-family: "Roboto", var(--font-sans);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.project-detail-eyebrow span {
  padding: .38rem .7rem;
  background: #0a3c73;
  color: #fff;
}
.project-detail-heading h2 {
  max-width: 980px;
  margin: 0;
  color: #070b10;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(2.6rem, 4.5vw, 4.8rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.13;
  overflow-wrap: anywhere;
}
.project-detail-actions { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; }
.project-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 5rem;
  align-items: start;
  padding: 5.5rem 0 6rem;
}
.project-detail-section-head { margin-bottom: 2.6rem; }
.project-detail-section-head > span {
  display: block;
  width: 54px;
  height: 4px;
  margin-bottom: 1.5rem;
  background: #0a3c73;
}
.project-detail-section-head p {
  margin: 0 0 .5rem;
  color: #7a8590;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.project-detail-section-head h3 {
  margin: 0;
  color: #070b10;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(2.1rem, 3.6vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -.035em;
}
.project-description p {
  margin: 0 0 1.2rem;
  color: #46515c;
  font-size: 1.02rem;
  line-height: 1.9;
}
.project-detail-groups { margin-top: 4rem; border-top: 1px solid #d9dee4; }
.project-detail-groups section { padding: 2rem 0; border-bottom: 1px solid #d9dee4; }
.project-detail-groups h4 {
  margin: 0 0 1rem;
  color: #151b22;
  font-size: .9rem;
  font-weight: 800;
}
.project-facts {
  position: sticky;
  top: 2rem;
  padding: 2.2rem;
  background: #082541;
  color: #fff;
}
.project-facts-label {
  margin: 0 0 1.8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.24);
  color: #a9c2dc;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.project-facts dl { display: grid; gap: 1.5rem; margin: 0; }
.project-facts dl > div { display: grid; gap: .4rem; }
.project-facts dt {
  color: #9fb3c8;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.project-facts dd { margin: 0; color: #fff; font-size: .92rem; line-height: 1.65; }
.project-facts dd span { margin: 0 .3rem; color: #7892ac; }

.publication-category-page > .section-block > .surface-card {
  margin-bottom: 4.5rem !important;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.publication-category-page .section-heading {
  margin-bottom: 0;
  padding: 0 0 1.3rem;
  border-bottom: 2px solid #252c34;
  color: #0d1116;
  font-family: "Roboto", var(--font-sans);
  font-size: 2rem;
}

.publication-category-page .grid-2 { grid-template-columns: 1fr; gap: 0; }
.publication-category-page .grid-2 > .surface-card {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 170px;
  padding: 2rem 1.25rem;
  border: 0;
  border-bottom: 1px solid #dde1e5;
  border-radius: 0;
  background: #fff !important;
}
.publication-category-page .grid-2 > .surface-card::before {
  content: "PAPER";
  color: #0a3c73;
  font-family: "Roboto", sans-serif;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.publication-category-page .grid-2 > .surface-card .chip-row { grid-column: 3; grid-row: 1; margin: 0 !important; }
.publication-category-page .grid-2 > .surface-card .card-title,
.publication-category-page .grid-2 > .surface-card .card-text,
.publication-category-page .grid-2 > .surface-card .meta-list { grid-column: 2; }
.publication-category-page .grid-2 > .surface-card .card-title { font-size: 1.15rem !important; line-height: 1.55; }

.publication-directory { padding-top: 0; }
.publication-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  color: #66717d;
  font-size: .84rem;
}
.publication-summary p { margin: 0; }
.publication-summary strong { color: #0a3c73; }
.publication-summary span {
  color: #8a929b;
  font-family: "Roboto", var(--font-sans);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.publication-category-page .publication-year-group { margin-bottom: 4.5rem !important; }
.publication-category-page .publication-row {
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 1.5rem;
}
.publication-category-page .publication-row::before { display: none; }
.publication-team-mark {
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border: 1px solid #0a3c73;
  color: #0a3c73;
  font-family: "Roboto", var(--font-sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.publication-team-ai { border-color: #4787a6; color: #2f718f; }
.publication-row-body { min-width: 0; }
.publication-kind {
  margin: 0 0 .4rem;
  color: #8c959e;
  font-size: .78rem;
  font-weight: 500;
}
.publication-category-page .publication-row-body .card-title {
  margin: 0;
  font-size: 1.15rem !important;
  line-height: 1.55;
}
.publication-category-page .publication-row-body .card-text {
  margin: .55rem 0 0;
  color: #59636d;
}
.publication-category-page .publication-row-body .meta-list { margin-top: .6rem; }
.publication-category-page .publication-links {
  grid-column: 3;
  grid-row: 1;
  margin: 0 !important;
}

.news-category-page .modern-table-wrap {
  border: 0;
  border-top: 2px solid #252c34;
  border-radius: 0;
}
.news-category-page .modern-table thead { background: #fff; }
.news-category-page .modern-table th { padding-top: 1.25rem; padding-bottom: 1.25rem; color: #171b20; }
.news-category-page .modern-table td { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.news-category-page .modern-table tbody tr:hover { background: #f6f7f8; }

.award-category-page .grid-3,
.gallery-category-page .grid-3 { gap: 1.35rem; }
.award-category-page .media-4x3,
.gallery-category-page .media-4x3 { height: 250px; }
.award-category-page .award-certificate-image {
  object-fit: contain;
  padding: .65rem;
  background: #f6f7f9;
}
.award-category-page .card-pad,
.gallery-category-page .card-pad,
.research-category-page .card-pad { padding: 1.5rem; }

.research-category-page .grid-2 { gap: 1.5rem; }
.research-category-page .media-4x3 { height: 300px; }

@media (max-width: 1000px) {
  .project-category-page .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-detail-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; }
  .category-page > .section-local-nav { overflow-x: auto; }
  .category-page > .section-local-nav .section-local-inner { justify-content: flex-start; }
}

@media (max-width: 767px) {
  .category-hero { min-height: 370px; }
  .category-hero-title { width: calc(100% - 2rem); margin-bottom: 2.2rem; }
  .category-hero-title h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .category-hero-news .category-hero-title h1 { font-size: clamp(2.65rem, 12vw, 3.8rem); }
  .category-hero-tabs-inner { width: calc(100% - 2rem); }
  .category-hero-tabs a { min-height: 68px; padding: 0 .65rem; font-size: .78rem; }
  .category-hero-tabs a::before { right: 10%; left: 10%; }
  .category-hero-tabs-4 .category-hero-tabs-inner {
    width: max-content;
    min-width: calc(100% - 2rem);
    margin-left: 1rem;
    grid-template-columns: repeat(4, minmax(145px, 1fr));
  }
  .category-page > .section-local-nav { width: 100%; padding: 2rem 1rem 0; }
  .category-page > .section-local-nav a { min-width: 145px; min-height: 54px; font-size: .78rem; }
  .category-page > .section-block { margin-top: 3rem; }
  .project-category-page .grid-2 { grid-template-columns: 1fr; }
  .project-agency-lockup { width: calc(100% - 2rem); }
  .project-agency-lockup strong { font-size: clamp(2.6rem, 14vw, 4rem); }
  .project-logo-panel--pending .project-agency-lockup strong { font-size: clamp(1.8rem, 10vw, 2.6rem); }
  .project-detail-page > .project-detail-intro,
  .project-detail-page > .project-detail-layout,
  .project-detail-intro { padding: 3rem 0; }
  .project-back-link { margin-bottom: 2.2rem; }
  .project-detail-heading { grid-template-columns: 1fr; gap: 1.6rem; }
  .project-detail-heading h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .project-detail-actions { justify-content: flex-start; }
  .project-detail-layout { grid-template-columns: 1fr; gap: 3.5rem; padding: 4rem 0; }
  .project-facts { position: static; }
  .publication-category-page .grid-2 > .surface-card { grid-template-columns: 1fr; gap: .7rem; padding: 1.8rem 0; }
  .publication-category-page .grid-2 > .surface-card::before,
  .publication-category-page .grid-2 > .surface-card .card-title,
  .publication-category-page .grid-2 > .surface-card .card-text,
  .publication-category-page .grid-2 > .surface-card .meta-list,
  .publication-category-page .grid-2 > .surface-card .chip-row { grid-column: 1; grid-row: auto; }
  .publication-category-page .section-heading { font-size: 1.65rem; }
  .publication-summary { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .publication-category-page .publication-row { grid-template-columns: 58px minmax(0, 1fr); gap: 1rem; }
  .publication-category-page .publication-row > .publication-team-mark { grid-column: 1; grid-row: 1; }
  .publication-category-page .publication-row > .publication-row-body { grid-column: 2; grid-row: 1; }
  .publication-category-page .publication-row > .publication-links { grid-column: 2; grid-row: 2; }
  .publication-team-mark { width: 48px; height: 48px; }
  .award-category-page .media-4x3,
  .gallery-category-page .media-4x3,
  .research-category-page .media-4x3 { height: 230px; }
}

/* Dedicated About experience. */
.about-hero {
  position: relative;
  display: grid;
  min-height: 500px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(5,18,31,.77), rgba(5,18,31,.42) 58%, rgba(5,18,31,.68)),
    url("../images/home3.jpeg") center / cover no-repeat;
}

.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.32));
}

.about-hero-title {
  position: relative;
  z-index: 1;
  align-self: center;
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto 2.5rem;
  text-align: center;
}

.about-hero-title > span {
  display: block;
  margin-bottom: .85rem;
  color: rgba(255,255,255,.76);
  font-family: "Roboto", var(--font-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.about-hero-title h1 {
  margin: 0;
  color: #fff;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(4rem, 7vw, 6.7rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .95;
}

.about-hero-tabs {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,.34);
}

.about-hero-tabs a {
  position: relative;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.78);
  font-family: "Roboto", var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}

.about-hero-tabs a::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 15%;
  left: 15%;
  height: 3px;
  background: #fff;
  transform: scaleX(0);
  transition: transform .25s ease;
}

.about-hero-tabs a:hover,
.about-hero-tabs a.is-current { color: #fff; background: rgba(255,255,255,.06); }
.about-hero-tabs a:hover::before,
.about-hero-tabs a.is-current::before { transform: scaleX(1); }

.about-content {
  width: min(1280px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 6rem 0 8rem;
}

.about-section { scroll-margin-top: 1rem; }
.about-section + .about-section { padding-top: 8rem; }

.about-section-head {
  padding-bottom: 3.7rem;
  border-bottom: 1px solid #d8dce1;
}

.about-section-head > span {
  display: block;
  width: 54px;
  height: 4px;
  margin-bottom: 1.7rem;
  background: #0a3c73;
}

.about-section-head h2 {
  margin: 0;
  color: #05080c;
  font-family: "Roboto", var(--font-sans);
  font-size: clamp(3rem, 5vw, 4.6rem);
  font-weight: 700;
  letter-spacing: -.04em;
}

.about-introduction { max-width: 1080px; padding: 4.2rem 0; }
.about-lead {
  margin: 0;
  color: #202a34;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.75;
}
.about-introduction > p:last-child { margin: 1.6rem 0 0; color: #59636e; font-size: 1rem; line-height: 1.9; }

.about-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; padding-top: 4rem; }
.about-feature { overflow: hidden; border: 1px solid #d8dde3; background: #fff; }
.about-feature-wide { display: grid; grid-column: 1 / -1; grid-template-columns: 1.25fr 1fr; }
.about-feature img { width: 100%; height: 260px; object-fit: cover; }
.about-feature-wide img { height: 100%; min-height: 360px; }
.about-feature > div { padding: 1.8rem; }
.about-feature small { color: #0a4a85; font-size: .69rem; font-weight: 800; letter-spacing: .14em; }
.about-feature h3 { margin: .7rem 0; color: #111820; font-size: 1.4rem; font-weight: 800; }
.about-feature p { margin: 0; color: #626e79; font-size: .92rem; line-height: 1.75; }
.about-outline-link { display: flex; width: max-content; align-items: center; gap: 2.5rem; margin-top: 2rem; padding: 1rem 1.3rem; border: 1px solid #aebac6; color: #17354f; font-weight: 700; text-decoration: none; }
.about-outline-link:hover { border-color: #0b3d72; background: #0b3d72; color: #fff; text-decoration: none; }

.about-facility-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; padding-top: 3.5rem; }
.about-facility-grid article { border: 1px solid #d8dde3; }
.about-facility-grid img { width: 100%; height: 220px; object-fit: cover; border-bottom: 1px solid #d8dde3; }
.about-facility-grid span { display: block; padding: 1.4rem 1.5rem 0; color: #0a4a85; font-size: .72rem; font-weight: 800; }
.about-facility-grid h3 { margin: .7rem 1.5rem; color: #111820; font-size: 1.3rem; font-weight: 800; }
.about-facility-grid p { margin: 0; padding: 0 1.5rem 1.7rem; color: #626e79; font-size: .9rem; line-height: 1.65; }

.contact-content { padding-top: 6rem; }
.contact-content > .about-lead { margin: 3rem 0; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.contact-panel { padding: 1.6rem; border: 1px solid #d6dde5; }
.contact-panel h3 { margin: 0 0 1.4rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e6ea; color: #14283e; font-size: 1.55rem; font-weight: 800; }
.contact-panel .meta-list { gap: .7rem; font-size: .92rem; line-height: 1.65; }
.contact-panel label { color: #293b4d; font-size: .85rem; font-weight: 700; }
.contact-panel .form-control { margin-top: .35rem; border-radius: 0; }
.contact-panel textarea { resize: vertical; }

@media (max-width: 900px) {
  .about-facility-grid { grid-template-columns: 1fr; }
  .about-feature-wide { grid-template-columns: 1fr; }
  .about-feature-wide img { min-height: 0; height: 300px; }
  .contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .about-hero { min-height: 410px; }
  .about-hero-title { width: calc(100% - 2rem); margin-bottom: 2.5rem; }
  .about-hero-title h1 { font-size: 4rem; }
  .about-hero-tabs { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-hero-tabs a { min-height: 68px; padding: 0 .75rem; font-size: .82rem; }
  .about-content { width: calc(100% - 2rem); padding: 4.5rem 0 6rem; }
  .about-section + .about-section { padding-top: 6rem; }
  .about-section-head { padding-bottom: 2.7rem; }
  .about-section-head h2 { font-size: 2.65rem; }
  .about-introduction { padding: 3rem 0; }
  .about-feature-grid { grid-template-columns: 1fr; padding-top: 3rem; }
  .about-feature-wide { grid-column: auto; }
  .about-feature img,
  .about-feature-wide img { height: 230px; }
  .about-facility-grid { padding-top: 2.5rem; }
  .contact-content { padding-top: 4.5rem; }
  .contact-panel { padding: 1.2rem; }
}

/* Official Gachon University campus imagery and unified subpage hero sizing. */
.members-category-hero,
.category-hero,
.about-hero {
  min-height: 500px;
}

.ines-hero {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  background:
    linear-gradient(90deg, rgba(2,13,25,.88) 0%, rgba(3,17,30,.66) 48%, rgba(4,14,25,.48) 100%),
    url("../images/campus/ai_engineering_building_real.jpg") center center / cover no-repeat;
}

.ines-hero-credit {
  position: absolute;
  right: 1.25rem;
  bottom: 1rem;
  z-index: 2;
  color: rgba(255,255,255,.62);
  font-size: .67rem;
  letter-spacing: .02em;
}

.ines-hero-credit:hover {
  color: #fff;
  text-decoration: none;
}

.members-category-hero {
  background:
    linear-gradient(90deg, rgba(3,18,34,.79), rgba(7,25,43,.43) 52%, rgba(5,18,32,.65)),
    url("../images/campus/campus_scenery.jpg") center / cover no-repeat;
}

.about-hero {
  background:
    linear-gradient(90deg, rgba(5,18,31,.68), rgba(5,18,31,.28) 58%, rgba(5,18,31,.54)),
    url("../images/campus/global_campus.jpg") center / cover no-repeat;
}

.category-hero-projects {
  background-image: url("../images/campus/vision_tower.jpg");
  background-position: center;
}

.category-hero-publications {
  background-color: #06182d;
  /* Photo: Matheus Bertelli via Pexels (photo 34774320). */
  background-image: url("../images/articles/conference-speaker-pexels-34774320.jpg");
  background-position: center 48%;
  background-size: cover;
  background-repeat: no-repeat;
}

.category-hero-publications::before {
  background:
    linear-gradient(180deg, rgba(4, 18, 34, .42), rgba(4, 18, 34, .62)),
    linear-gradient(90deg, rgba(4, 18, 34, .64), rgba(8, 33, 61, .34) 52%, rgba(4, 18, 34, .58));
}

.category-hero-news {
  background-image: url("../images/campus/campus_landmark.jpg");
  background-position: center;
}

.category-hero-research {
  background-image: url("../images/campus/ai_poster_session.jpg");
  background-position: center 44%;
}

@media (max-width: 767px) {
  .members-category-hero,
  .category-hero,
  .about-hero { min-height: 410px; }

  .ines-hero {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    background-position: 54% center;
  }
  .ines-hero-credit { right: 1rem; bottom: .75rem; font-size: .6rem; }
  .members-category-hero { background-position: 58% center; }
  .category-hero-publications {
    background-position: 42% center;
    background-size: cover;
  }
  .category-hero-research { background-position: 62% center; }
  .category-hero-news { background-position: 25% center; }
}

/* Refined adaptive navigation: visually connected to the hero on compact screens. */
.ines-menu-toggle {
  width: 46px;
  height: 46px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 13px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.ines-menu-toggle:hover,
.ines-menu-toggle:focus {
  border-color: rgba(255,255,255,.68) !important;
  background: rgba(255,255,255,.12);
  outline: 0;
}

.ines-menu-toggle:active { transform: scale(.96); }

.ines-menu-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 16px;
}

.ines-menu-icon span {
  position: absolute;
  left: 0;
  width: 20px;
  height: 1.5px;
  border-radius: 999px;
  background: #fff;
  transform-origin: center;
  transition: top .22s ease, transform .22s ease, opacity .16s ease;
}

.ines-menu-icon span:nth-child(1) { top: 1px; }
.ines-menu-icon span:nth-child(2) { top: 7px; }
.ines-menu-icon span:nth-child(3) { top: 13px; }
.ines-menu-toggle[aria-expanded="true"] .ines-menu-icon span:nth-child(1) { top: 7px; transform: rotate(45deg); }
.ines-menu-toggle[aria-expanded="true"] .ines-menu-icon span:nth-child(2) { opacity: 0; }
.ines-menu-toggle[aria-expanded="true"] .ines-menu-icon span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

.category-site-header {
  position: absolute !important;
  inset: 0 0 auto;
  z-index: 1030;
  border-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.category-site-header .header-nav,
.category-site-header .navbar { background: transparent; }
.category-site-header .navbar { border-bottom: 1px solid rgba(255,255,255,.2); }
.category-site-header .brand-logo { filter: brightness(0) invert(1); }
.category-site-header .qe-nav > .nav-item > .nav-link { color: rgba(255,255,255,.92) !important; }
.category-site-header .qe-nav > .nav-item > .nav-link::before { background: #fff; }

@media (max-width: 1199.98px) {
  .site-header,
  .site-header:not(.home-site-header) {
    position: relative;
    z-index: 1030;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: rgba(5,19,35,.94);
    box-shadow: 0 8px 30px rgba(0,10,24,.12);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    backdrop-filter: blur(16px) saturate(120%);
  }

  .home-site-header {
    position: absolute;
    background: linear-gradient(180deg, rgba(2,12,24,.78) 0%, rgba(2,12,24,.34) 72%, rgba(2,12,24,0) 100%);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .category-site-header,
  .site-header.category-site-header {
    position: absolute;
    border-bottom: 0;
    background: linear-gradient(180deg, rgba(2,12,24,.76) 0%, rgba(2,12,24,.3) 72%, rgba(2,12,24,0) 100%) !important;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .site-header .navbar { position: relative; }
  .site-header .ines-menu-toggle { display: inline-flex !important; }
  .site-header .navbar-collapse {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    max-height: calc(100vh - 104px);
    max-height: calc(100dvh - 104px);
    padding: .65rem .75rem .8rem;
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background: rgba(4,17,31,.94);
    box-shadow: 0 22px 56px rgba(0,8,20,.34);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
    backdrop-filter: blur(22px) saturate(130%);
  }

  .qe-nav { gap: 2px; }
  .qe-nav > .nav-item {
    border-bottom: 0;
    border-radius: 11px;
  }

  .qe-nav > .nav-item > .nav-link,
  .home-site-header .qe-nav > .nav-item > .nav-link {
    min-height: 50px;
    padding: 0 .9rem !important;
    border-radius: 10px;
    color: rgba(255,255,255,.86) !important;
    font-size: .91rem !important;
    transition: color .18s ease, background .18s ease;
  }

  .qe-nav > .nav-item > .nav-link:hover,
  .qe-nav > .nav-item > .nav-link:focus,
  .qe-nav > .nav-item > .nav-link.is-active {
    color: #fff !important;
    background: rgba(255,255,255,.1);
  }

  .qe-nav > .nav-item > .nav-link:focus { outline: 0; }
  .qe-nav > .nav-item > .nav-link:focus-visible {
    box-shadow: inset 0 0 0 1px rgba(114,183,255,.75);
  }

  .qe-nav > .nav-item > .nav-link.is-active {
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 #72b7ff;
  }

  .qe-nav .dropdown-toggle::after {
    right: 1rem;
    width: 7px;
    height: 7px;
    border-color: rgba(255,255,255,.64);
    transition: transform .2s ease;
  }

  .qe-submenu,
  .qe-submenu-wide,
  .qe-submenu-news {
    width: auto;
    margin: .1rem .35rem .55rem;
    padding: .3rem .4rem .45rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.055);
  }

  .qe-submenu .dropdown-item {
    gap: .1rem;
    padding: .62rem .72rem;
    border-radius: 8px;
  }

  .qe-submenu .dropdown-item span { font-size: .86rem; }
  .qe-submenu .dropdown-item small { font-size: .69rem; }
}

@media (min-width: 576px) and (max-width: 1199.98px) {
  .site-header .navbar-collapse {
    right: 0;
    left: auto;
    width: min(430px, calc(100vw - 2rem));
  }
}

@media (max-width: 575.98px) {
  .site-header .header-shell { width: calc(100% - 1.5rem); }
  .site-header .navbar-collapse { right: -.1rem; left: -.1rem; }
  .site-header .brand-logo,
  .home-site-header .brand-logo,
  .site-header:not(.home-site-header) .brand-logo { width: 88px; }
}

/* Keep the primary navigation visible on compact screens. */
@media (max-width: 1199.98px) {
  .site-header .ines-menu-toggle { display: none !important; }

  .site-header .navbar {
    flex-wrap: wrap;
    align-content: flex-start;
    padding: .35rem 0 .45rem;
  }

  .site-header .navbar-brand {
    display: flex;
    min-height: 58px;
    align-items: center;
  }

  .site-header .navbar-collapse,
  .site-header .navbar-collapse.collapse,
  .site-header .navbar-collapse.collapsing {
    position: static;
    display: block !important;
    flex: 0 0 100%;
    width: 100%;
    max-height: none;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .site-header .qe-nav {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: .15rem;
    width: 100%;
    margin: 0 !important;
    padding: 0 0 .1rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .site-header .qe-nav::-webkit-scrollbar { display: none; }
  .site-header .qe-nav > .nav-item {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    border: 0;
    border-radius: 0;
  }

  .site-header .qe-nav > .nav-item > .nav-link,
  .home-site-header .qe-nav > .nav-item > .nav-link,
  .category-site-header .qe-nav > .nav-item > .nav-link {
    min-height: 42px;
    padding: 0 .78rem !important;
    border-radius: 8px;
    font-size: .82rem !important;
    white-space: nowrap;
  }

  .site-header .qe-nav > .nav-item > .nav-link.is-active {
    box-shadow: inset 0 -2px 0 #72b7ff;
  }

  .site-header .qe-nav .dropdown-toggle::after {
    position: static;
    flex: 0 0 auto;
    margin: -.2rem 0 0 .55rem;
  }

  .site-header .qe-submenu,
  .site-header .qe-submenu-wide,
  .site-header .qe-submenu-news {
    position: fixed;
    top: 112px;
    right: 1rem;
    left: 1rem;
    z-index: 1060;
    width: auto;
    max-width: 430px;
    max-height: calc(100vh - 128px);
    max-height: calc(100dvh - 128px);
    margin: 0 auto;
    padding: .55rem;
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(4,17,31,.96);
    box-shadow: 0 22px 56px rgba(0,8,20,.36);
    transform: none;
    -webkit-backdrop-filter: blur(22px) saturate(130%);
    backdrop-filter: blur(22px) saturate(130%);
  }
}

@media (min-width: 900px) and (max-width: 1199.98px) {
  .site-header .navbar {
    flex-wrap: nowrap;
    min-height: 78px !important;
    padding: 0;
  }

  .site-header .navbar-brand { min-height: 78px; }
  .site-header .navbar-collapse,
  .site-header .navbar-collapse.collapse {
    flex: 1 1 auto;
    width: auto;
  }

  .site-header .qe-nav { justify-content: flex-end; }
  .site-header .qe-nav > .nav-item > .nav-link,
  .home-site-header .qe-nav > .nav-item > .nav-link,
  .category-site-header .qe-nav > .nav-item > .nav-link {
    padding: 0 .58rem !important;
    font-size: .78rem !important;
  }

  .site-header .qe-submenu,
  .site-header .qe-submenu-wide,
  .site-header .qe-submenu-news { top: 76px; }
}

@media (max-width: 899.98px) {
  .site-header .qe-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    overflow: visible;
  }

  .site-header .qe-nav > .nav-item { min-width: 0; }
  .site-header .qe-nav > .nav-item > .nav-link,
  .home-site-header .qe-nav > .nav-item > .nav-link,
  .category-site-header .qe-nav > .nav-item > .nav-link {
    width: 100%;
    min-height: 40px;
    justify-content: center;
    padding: 0 .28rem !important;
    font-size: .74rem !important;
    text-align: center;
  }

  .site-header .qe-nav .dropdown-toggle::after { margin-left: .42rem; }
  .site-header .qe-submenu,
  .site-header .qe-submenu-wide,
  .site-header .qe-submenu-news { top: 148px; }

  .category-site-header + main .members-category-title,
  .category-site-header + main .category-hero-title,
  .category-site-header + main .about-hero-title { transform: translateY(34px); }
}

/* Modern iNES identity sizing. */
.site-header .brand-logo,
.home-site-header .brand-logo,
.category-site-header .brand-logo,
.site-header:not(.home-site-header) .brand-logo {
  width: 174px;
  height: 60px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 1199.98px) {
  .site-header .brand-logo,
  .home-site-header .brand-logo,
  .category-site-header .brand-logo,
  .site-header:not(.home-site-header) .brand-logo {
    width: 152px;
    height: 54px;
  }
}
