/* ── Variables ── */
:root {
  --navy:        #13294b;
  --navy-dark:   #0d1f35;
  --navy-light:  #1e3a5f;
  --orange:      #e84a27;
  --orange-light:#f06040;
  --orange-dim:  rgba(232,74,39,0.12);
  --white:       #ffffff;
  --gray-50:     #f8f9fa;
  --gray-100:    #f1f3f5;
  --gray-200:    #e9ecef;
  --gray-300:    #dee2e6;
  --gray-500:    #adb5bd;
  --gray-600:    #6c757d;
  --text:        #1f2937;
  --text-muted:  #6b7280;
  --radius:      8px;
  --radius-lg:   12px;
  --shadow-sm:   0 1px 3px rgba(0,0,0,.08);
  --shadow:      0 4px 16px rgba(0,0,0,.08);
  --shadow-lg:   0 8px 32px rgba(0,0,0,.12);
  --transition:  0.2s ease;
  --max-width:   1200px;
}

/* ── Reset ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; }
img   { max-width:100%; height:auto; display:block; }
a     { color:var(--orange); text-decoration:none; transition:color var(--transition); }
a:hover { color:var(--orange-light); }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── Typography ── */
h1,h2,h3,h4,h5,h6 {
  font-family: 'Merriweather', Georgia, serif;
  line-height: 1.25;
  color: var(--navy);
}
h1 { font-size: clamp(1.8rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
h3 { font-size: clamp(1.05rem, 2vw, 1.3rem); }
p  { line-height: 1.75; }

/* ── Layout helpers ── */
.container {
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.section { padding-block: 5rem; }
.section-alt { background: var(--gray-50); }

.section-label {
  font-family: 'Inter', sans-serif;
  font-size: .90rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: .5rem;
  display: block;
}
.section-title   { margin-bottom: 1rem; }
.section-subtitle {
  color: var(--text-muted);
  font-size: 1.05rem;
  max-width: 600px;
  margin-bottom: 3rem;
}
.section-cta { margin-top: 2.5rem; text-align: center; }

.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .6rem 1.4rem;
  border-radius: var(--radius);
  font-size: .9rem;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  transition: all var(--transition);
  cursor: pointer;
  border: none;
  text-decoration: none;
}
.btn-primary { background:var(--orange); color:var(--white); }
.btn-primary:hover {
  background: var(--orange-light);
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(232,74,39,.35);
}
.btn-outline { background:transparent; color:var(--navy); border:1.5px solid var(--navy); }
.btn-outline:hover { background:var(--navy); color:var(--white); transform:translateY(-1px); }
.btn-outline-white { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.5); }
.btn-outline-white:hover { background:rgba(255,255,255,.1); color:var(--white); border-color:var(--white); }
.btn-outline-dark { background:transparent; color:rgba(255,255,255,.8); border:1.5px solid rgba(255,255,255,.3); }
.btn-outline-dark:hover { background:rgba(255,255,255,.08); color:var(--white); border-color:rgba(255,255,255,.6); }

/* ── Tags ── */
.tag {
  display: inline-block;
  padding: .2rem .65rem;
  border-radius: 100px;
  font-size: .72rem;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  background: var(--orange-dim);
  color: var(--orange);
}
.tag-blue   { background:#dbeafe; color:#1d4ed8; }
.tag-gold   { background:#fef3c7; color:#b45309; }
.tag-green  { background:#dcfce7; color:#15803d; }
.tag-purple { background:#ede9fe; color:#6d28d9; }
.tag-teal   { background:#ccfbf1; color:#0f766e; }
.tag-navy   { background:#dbeafe; color:#13294b; }

/* ════════════════════════════════
   HEADER
   ════════════════════════════════ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--navy-dark);
  border-bottom: 2px solid var(--orange);
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  gap: 2rem;
}
.site-logo {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  flex-shrink: 0;
}
.logo-mark {
  font-family: 'Merriweather', Georgia, serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--white);
  background: var(--orange);
  width: 44px;
  height: 44px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.logo-text { display:flex; flex-direction:column; line-height:1.2; }
.logo-name {
  font-family: 'Inter', sans-serif;
  font-size: .85rem;
  font-weight: 600;
  color: var(--white);
  white-space: nowrap;
}
.logo-affil {
  font-family: 'Inter', sans-serif;
  font-size: .7rem;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
}
.site-nav { display:flex; align-items:center; gap:.25rem; }
.nav-link {
  font-family: 'Inter', sans-serif;
  font-size: .875rem;
  font-weight: 500;
  color: rgba(255,255,255,.75);
  padding: .4rem .75rem;
  border-radius: 5px;
  text-decoration: none;
  transition: all var(--transition);
  white-space: nowrap;
}
.nav-link:hover  { color:var(--white); background:rgba(255,255,255,.08); }
.nav-link.active { color:var(--orange); background:var(--orange-dim); }
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
  border-radius: 4px;
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all var(--transition);
}

/* ════════════════════════════════
   FOOTER
   ════════════════════════════════ */
.site-footer { background:var(--navy-dark); color:rgba(255,255,255,.7); margin-top:auto; }
.footer-inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 4rem;
  padding-block: 3.5rem;
}
.footer-logo { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:1.25rem; }
.footer-logo .logo-mark { width:40px; height:40px; font-size:1rem; }
.footer-group-name { font-family:'Inter',sans-serif; font-weight:600; font-size:.875rem; color:var(--white); margin-bottom:.15rem; }
.footer-dept { font-size:.775rem; color:rgba(255,255,255,.5); line-height:1.5; }
.footer-tagline { font-size:.85rem; line-height:1.7; color:rgba(255,255,255,.5); max-width:400px; }
.footer-links { display:flex; gap:3rem; }
.footer-col { display:flex; flex-direction:column; gap:.6rem; }
.footer-col h4 {
  font-family: 'Inter', sans-serif;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: .25rem;
}
.footer-col a { font-size:.85rem; color:rgba(255,255,255,.6); text-decoration:none; transition:color var(--transition); }
.footer-col a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); }
.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 1.25rem;
  font-size: .78rem;
  color: rgba(255,255,255,.35);
}
.footer-bottom-inner a { color:rgba(255,255,255,.35); }
.footer-bottom-inner a:hover { color:rgba(255,255,255,.7); }

/* ════════════════════════════════
   HERO — HOME
   ════════════════════════════════ */
.hero-home {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,#0a1628 0%,#13294b 45%,#1a3a5c 100%);
}
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 70% 40%, rgba(232,74,39,.07) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 80%, rgba(30,80,140,.3) 0%, transparent 50%);
}
.hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 60px 60px;
}
.flow-lines { position:absolute; inset:0; overflow:hidden; }
.flow-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,74,39,.25), transparent);
  border-radius: 100%;
  animation: flowMove linear infinite;
  opacity: 0;
}
.flow-line:nth-child(1)  { top:18%; width:55%; left:-55%; animation-duration:9s;   animation-delay:0s;   }
.flow-line:nth-child(2)  { top:28%; width:40%; left:-40%; animation-duration:12s;  animation-delay:2s;   }
.flow-line:nth-child(3)  { top:42%; width:65%; left:-65%; animation-duration:8s;   animation-delay:1s;   }
.flow-line:nth-child(4)  { top:55%; width:50%; left:-50%; animation-duration:11s;  animation-delay:3.5s; }
.flow-line:nth-child(5)  { top:67%; width:45%; left:-45%; animation-duration:10s;  animation-delay:.5s;  }
.flow-line:nth-child(6)  { top:78%; width:60%; left:-60%; animation-duration:7s;   animation-delay:4s;   }
.flow-line:nth-child(7)  { top:34%; width:35%; left:-35%; animation-duration:13s;  animation-delay:6s;   }
.flow-line:nth-child(8)  { top:60%; width:42%; left:-42%; animation-duration:9.5s; animation-delay:2.5s; }
@keyframes flowMove {
  0%   { transform:translateX(0);    opacity:0; }
  10%  { opacity:1; }
  90%  { opacity:1; }
  100% { transform:translateX(220vw); opacity:0; }
}
.hero-home .hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding-block: 6rem;
}
.hero-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 1rem;
}
.hero-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: clamp(2.2rem,5.5vw,3.75rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 1.5rem;
}
.hero-title em { color:var(--orange); font-style:normal; }
.hero-description {
  font-size: clamp(1rem,1.5vw,1.15rem);
  color: rgba(255,255,255,.7);
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.hero-scroll-hint {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  color: rgba(255,255,255,.3);
  font-size: .7rem;
  font-family: 'Inter', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  animation: scrollBounce 2s ease-in-out infinite;
}
@keyframes scrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%      { transform:translateX(-50%) translateY(6px); }
}

/* ════════════════════════════════
   HERO — HOME LIGHT
   ════════════════════════════════ */
.hero-light {
  background: var(--white);
  padding-block: 5rem 4rem;
}
.hero-light-content { max-width: 780px; }
.hero-light-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 1rem;
}
.hero-light-title {
  font-family: 'Merriweather', Georgia, serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 700;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 1.5rem;
}
.hero-light-title em { color: var(--orange); font-style: normal; }
.hero-light-description {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  color: var(--text-muted);
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}

/* ════════════════════════════════
   HERO — PAGE
   ════════════════════════════════ */
.hero-page {
  background: linear-gradient(to bottom, var(--gray-50), var(--white));
  border-bottom: 1px solid var(--gray-200);
  padding-block: 3.5rem 2.5rem;
}
.hero-page-title  { font-size:clamp(1.8rem,4vw,2.5rem); margin-top:.25rem; margin-bottom:.75rem; }
.hero-page-desc   { font-size:1.05rem; color:var(--text-muted); max-width:640px; line-height:1.75; }

/* ════════════════════════════════
   RESEARCH CARD
   ════════════════════════════════ */
.research-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition), box-shadow var(--transition);
}
.research-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.card-image {
  height: 180px;
  background: linear-gradient(135deg,#e8edf5,#cdd5e0);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(19,41,75,.25);
  overflow: hidden;
}
.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.card-body { padding:1.5rem; display:flex; flex-direction:column; flex:1; gap:.75rem; }
.card-tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.card-title { font-size:1.1rem; color:var(--navy); line-height:1.3; }
.card-desc  { font-size:.88rem; color:var(--text-muted); line-height:1.7; flex:1; }
.card-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .85rem;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  color: var(--orange);
  text-decoration: none;
  margin-top: .25rem;
  transition: gap var(--transition), color var(--transition);
}
.card-link:hover { gap:.55rem; color:var(--orange-light); }

/* ════════════════════════════════
   PERSON CARD
   ════════════════════════════════ */
.person-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  transition: transform var(--transition), box-shadow var(--transition);
}
.person-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.person-card.compact { flex-direction:row; text-align:left; align-items:flex-start; padding:1rem; }
.person-avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy-light), var(--navy));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  flex-shrink: 0;
  overflow: hidden;
}
.person-card.compact .person-avatar { width:52px; height:52px; font-size:.95rem; }
.person-avatar img { width:100%; height:100%; object-fit:cover; }
.person-info { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.person-name { font-size:1rem; color:var(--navy); font-family:'Inter',sans-serif; font-weight:600; line-height:1.3; }
.person-name a { color:var(--navy); }
.person-name a:hover { color:var(--orange); }
.person-role  { font-size:.8rem; color:var(--orange); font-family:'Inter',sans-serif; font-weight:500; }
.person-focus { font-size:.8rem; color:var(--text-muted); line-height:1.5; }
.person-position {
  font-size: .78rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: .3rem;
}
.person-card.compact .person-position { justify-content:flex-start; }
.person-email {
  font-size: .78rem;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .3rem;
  text-decoration: none;
  transition: color var(--transition);
}
.person-email:hover { color:var(--orange); }

/* ════════════════════════════════
   PUBLICATION ITEM
   ════════════════════════════════ */
.pub-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--gray-200);
  background: var(--white);
  position: relative;
  overflow: hidden;
  transition: box-shadow var(--transition);
}
.pub-item:hover { box-shadow:var(--shadow); }
.pub-item.highlighted { border-color:rgba(232,74,39,.2); background:linear-gradient(to right,rgba(232,74,39,.03),var(--white)); }
.pub-highlight-bar { position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--orange); border-radius:3px 0 0 3px; }
.pub-body { flex:1; min-width:0; }
.pub-title  { font-family:'Inter',sans-serif; font-weight:600; font-size:.95rem; color:var(--navy); line-height:1.45; margin-bottom:.4rem; }
.pub-authors { font-size:.85rem; color:var(--text-muted); margin-bottom:.25rem; font-style:italic; }
.pub-venue  { font-size:.85rem; color:var(--text-muted); margin-bottom:.75rem; }
.pub-venue em { font-style:normal; font-weight:500; color:var(--navy); }
.pub-links  { display:flex; flex-wrap:wrap; gap:.4rem; }
.pub-link {
  display: inline-flex;
  align-items: center;
  padding: .2rem .7rem;
  border-radius: 4px;
  font-size: .73rem;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all var(--transition);
}
.pub-link-doi   { background:var(--navy); color:var(--white); }
.pub-link-doi:hover { background:var(--navy-light); color:var(--white); }
.pub-link-pdf   { background:var(--orange); color:var(--white); }
.pub-link-pdf:hover { background:var(--orange-light); color:var(--white); }
.pub-link-arxiv { background:transparent; color:var(--navy); border:1px solid var(--gray-300); }
.pub-link-arxiv:hover { border-color:var(--navy); background:var(--gray-50); }
.pub-year { font-family:'Inter',sans-serif; font-size:.75rem; font-weight:600; color:var(--text-muted); white-space:nowrap; padding-top:.1rem; flex-shrink:0; }

/* ════════════════════════════════
   NEWS PAGE — SIMPLE LIST
   ════════════════════════════════ */

.news-simple-section {
  padding-top: 4rem;
}

.news-simple-container {
  max-width: 1050px;
}

.news-simple-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.news-simple-item {
  display: grid;
  grid-template-columns: 110px 125px 1fr;
  gap: 1.25rem;
  align-items: baseline;
}

.news-simple-tag {
  justify-self: start;
  white-space: nowrap;
}

.news-simple-date {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  color: var(--text);
  font-size: 1rem;
  white-space: nowrap;
}

.news-simple-link {
  font-family: 'Inter', sans-serif;
  font-size: 1.1rem;
  line-height: 1.45;
  color: #0b57b7;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.news-simple-link:hover {
  color: var(--orange);
}

/* ════════════════════════════════
   HOME PAGE
   ════════════════════════════════ */
.about-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 4rem;
  align-items: center;
}
.about-text p { color:var(--text-muted); font-size:1rem; }
.about-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gray-200);
}
.stat-num   { font-family:'Merriweather',serif; font-size:2rem; font-weight:700; color:var(--orange); line-height:1; display:block; }
.stat-label { font-size:.75rem; color:var(--text-muted); font-family:'Inter',sans-serif; line-height:1.3; }
.about-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  display: block;
}
.about-image-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg,#e8edf5,#d1dce9);
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  color: rgba(19,41,75,.3);
  font-size: .8rem;
  font-family: 'Inter', sans-serif;
}
.featured-grid { display:flex; flex-direction:column; gap:4rem; margin-top:1rem; }
.featured-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: center;
}
.featured-item.reverse { direction:rtl; }
.featured-item.reverse > * { direction:ltr; }
.featured-image-placeholder {
  width: 100%;
  aspect-ratio: 16/10;
  background: linear-gradient(135deg,#e8edf5,#d1dce9);
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(19,41,75,.25);
}
.featured-text h3 { font-size:1.4rem; margin-bottom:.75rem; }
.featured-text p  { color:var(--text-muted); font-size:.95rem; line-height:1.8; }
.pubs-list { display:flex; flex-direction:column; gap:.75rem; margin-bottom:2rem; }
.cta-block { background:var(--navy); }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap; }
.cta-text h2  { color:var(--white); margin-bottom:.75rem; }
.cta-text p   { color:rgba(255,255,255,.65); font-size:1rem; line-height:1.75; max-width:560px; }
.cta-actions  { display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0; }

/* ════════════════════════════════
   RESEARCH PAGE
   ════════════════════════════════ */
.research-section {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 4rem;
  align-items: center;
  padding-block: 3.5rem;
  border-bottom: 1px solid var(--gray-200);
}
.research-section:last-child { border-bottom:none; }
.research-section.alt { direction:rtl; }
.research-section.alt > * { direction:ltr; }
.research-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  background: var(--white);
  display: block;
}
.research-image-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg,#e8edf5,#cdd5e0);
  border-radius: var(--radius-lg);
  border: 1px solid var(--gray-200);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: rgba(19,41,75,.3);
  font-size: .82rem;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
}
.research-heading { font-size:1.65rem; margin-bottom:1.25rem; }
.research-body { display:flex; flex-direction:column; gap:.85rem; }
.research-body p { color:var(--text-muted); font-size:.97rem; line-height:1.8; }
.collab-inner { display:grid; grid-template-columns:1fr auto; gap:4rem; align-items:center; }
.collab-inner p { color:var(--text-muted); max-width:520px; margin-top:.75rem; line-height:1.75; }
.collab-logos { display:flex; gap:2rem; flex-wrap:wrap; align-items:center; }
.collab-logo { height: 150px; width: auto; object-fit: contain; }
.logo-placeholder {
  width: 90px; height: 60px;
  background: var(--gray-200);
  border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Inter', sans-serif; font-size: .8rem; font-weight: 700; color: var(--text-muted);
}

/* ════════════════════════════════
   TEAM PAGE
   ════════════════════════════════ */
.faculty-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 2rem;
  align-items: start;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 2rem;
  max-width: 760px;
}
.faculty-avatar {
  width: 120px; height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy-light), var(--navy));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Merriweather', serif; font-size: 1.75rem; font-weight: 700;
  color: rgba(255,255,255,.8);
  overflow: hidden;
}
.faculty-avatar img { width:100%; height:100%; object-fit:cover; }
.faculty-name { font-size:1.25rem; margin-bottom:.2rem; }
.faculty-name a { color:var(--navy); }
.faculty-name a:hover { color:var(--orange); }
.faculty-title  { font-size:.9rem; color:var(--orange); font-weight:500; font-family:'Inter',sans-serif; margin-bottom:.15rem; }
.faculty-dept   { font-size:.82rem; color:var(--text-muted); margin-bottom:.75rem; }
.faculty-focus  { font-size:.88rem; color:var(--text-muted); line-height:1.6; margin-bottom:1rem; }
.faculty-links  { display:flex; flex-wrap:wrap; gap:1rem; }
.faculty-link {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .83rem; font-family: 'Inter', sans-serif;
  color: var(--text-muted); text-decoration: none; transition: color var(--transition);
}
.faculty-link:hover { color:var(--orange); }
.alumni-list { border:1px solid var(--gray-200); border-radius:var(--radius-lg); overflow:hidden; }
.alumni-row {
  display: grid;
  grid-template-columns: 280px 220px 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--gray-200);
  transition: background var(--transition);
}
.alumni-row:last-child { border-bottom:none; }
.alumni-row:hover { background:var(--gray-50); }
.alumni-name-row { display:inline-flex; align-items:center; gap:1.0rem; }
.alumni-name  { font-family:'Inter',sans-serif; font-weight:600; font-size:.9rem; color:var(--navy); }
.alumni-linkedin { display:inline-flex; align-items:center; color:var(--text-muted); transition:color var(--transition); }
.alumni-linkedin:hover { color:#0a66c2; }
.alumni-linkedin svg { width:20px; height:20px; }
.alumni-title { font-size:.8rem; color:var(--text-muted); display:block; margin-top:.1rem; }
.alumni-position { font-size:.83rem; color:var(--text-muted); display:flex; align-items:center; gap:.3rem; }
.alumni-focus { font-size:.82rem; color:var(--text-muted); line-height:1.5; }
.grad-alumni-list { list-style:none; padding-left:0; display:flex; flex-direction:column; gap:.75rem; }
.grad-alumni-item { display:flex; flex-direction:column; gap:.15rem; }
.undergrad-list { list-style:none; padding-left:0; display:flex; flex-direction:column; gap:.5rem; }
.undergrad-list li { font-size:.95rem; color:var(--text); }
.undergrad-degree { font-size:.85rem; color:var(--text-muted); }
.join-section { background:var(--gray-50); }
.join-section p { color:var(--text-muted); max-width:560px; margin-top:.75rem; line-height:1.75; }

/* ════════════════════════════════
   PUBLICATIONS PAGE
   ════════════════════════════════ */
.pubs-layout { display:grid; grid-template-columns:200px 1fr; gap:3.5rem; align-items:start; }
.pubs-sidebar { position:sticky; top:80px; }
.sidebar-card { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius); padding:1.25rem; }
.sidebar-card h3 {
  font-family: 'Inter', sans-serif; font-size: .75rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: .75rem;
}
.year-nav { display:flex; flex-direction:column; gap:.35rem; }
.year-link {
  font-family: 'Inter', sans-serif; font-size: .9rem; font-weight: 500;
  color: var(--navy); text-decoration: none; padding: .25rem .5rem;
  border-radius: 4px; transition: all var(--transition);
}
.year-link:hover { background:var(--orange-dim); color:var(--orange); }
.legend-item { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:var(--text-muted); }
.legend-bar  { width:4px; height:20px; background:var(--orange); border-radius:2px; flex-shrink:0; }
.pubs-main   { display:flex; flex-direction:column; gap:3rem; }
.year-group  { scroll-margin-top:80px; }
.year-heading {
  font-family: 'Inter', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--navy);
  border-bottom: 2px solid var(--gray-200); padding-bottom: .5rem; margin-bottom: 1.25rem;
}
.pub-list { display:flex; flex-direction:column; gap:.75rem; }

/* ════════════════════════════════
   SOFTWARE PAGE
   ════════════════════════════════ */
.software-feature { background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-lg); overflow:hidden; margin-bottom:2.5rem; }
.software-header { display:flex; gap:1.25rem; align-items:flex-start; padding:2rem 2rem 1.5rem; border-bottom:1px solid var(--gray-200); }
.software-icon { width:56px; height:56px; background:var(--navy); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--white); flex-shrink:0; }
.software-meta { display:flex; gap:.5rem; margin-bottom:.4rem; flex-wrap:wrap; }
.sw-badge {
  font-family: 'Inter', sans-serif; font-size: .72rem; font-weight: 600;
  letter-spacing: .05em; padding: .15rem .55rem; border-radius: 100px; text-transform: uppercase;
}
.sw-lang    { background:#dbeafe; color:#1d4ed8; }
.sw-license { background:var(--gray-100); color:var(--text-muted); }
.sw-version { background:var(--orange-dim); color:var(--orange); }
.software-name    { font-size:1.75rem; margin-bottom:.25rem; }
.software-tagline { font-size:.95rem; color:var(--text-muted); }
.software-body { display:grid; grid-template-columns:1.2fr 1fr; border-bottom:1px solid var(--gray-200); }
.software-desc { padding:2rem; border-right:1px solid var(--gray-200); }
.software-desc p { font-size:.95rem; color:var(--text-muted); line-height:1.8; margin-bottom:.75rem; }
.software-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.software-features { padding:2rem; }
.features-heading {
  font-family: 'Inter', sans-serif; font-size: .72rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 1rem;
}
.features-list { list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.feature-item { display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; color:var(--text); line-height:1.5; }
.feature-check { color:var(--orange); flex-shrink:0; margin-top:.1rem; }
.code-block { background:#0d1f35; border-radius:0 0 var(--radius-lg) var(--radius-lg); overflow:hidden; }
.code-header { display:flex; align-items:center; gap:.5rem; padding:.75rem 1.25rem; border-bottom:1px solid rgba(255,255,255,.06); }
.code-dot  { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.15); }
.code-lang { margin-left:auto; font-family:monospace; font-size:.72rem; color:rgba(255,255,255,.3); letter-spacing:.08em; text-transform:uppercase; }
.code-pre  {
  padding: 1.5rem 1.25rem;
  font-family: 'JetBrains Mono','Fira Code','Consolas',monospace;
  font-size: .83rem; line-height: 1.75; color: #cdd9ea;
  overflow-x: auto; white-space: pre; margin: 0;
}
.kw  { color:#c792ea; }
.cmt { color:#546e7a; font-style:italic; }
.num { color:#f78c6c; }
.contrib-section p { color:var(--text-muted); max-width:520px; margin-top:.75rem; line-height:1.75; }

/* ════════════════════════════════
   NEWS PAGE
   ════════════════════════════════ */
.tag-bar { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:2.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--gray-200); }
.tag-bar-label { font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600; color:var(--text-muted); }
.tag-list { display:flex; flex-wrap:wrap; gap:.5rem; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.news-year-section { margin-bottom: 3.5rem; }
.news-year-section:last-child { margin-bottom: 0; }

/* ════════════════════════════════
   NEWS DETAIL PAGE — LARGE ARTICLE STYLE
   ════════════════════════════════ */

.news-detail-section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.news-detail-container {
  max-width: 900px;
}

.news-back {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  margin-bottom: 2rem;
  transition: color var(--transition);
}

.news-back:hover {
  color: var(--orange);
}

.news-detail-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}

.news-detail-title {
  font-family: 'Inter', sans-serif;
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}

.news-detail-divider {
  border: none;
  border-top: 1px solid var(--gray-200);
  margin: 2rem 0;
}

.news-detail-body {
  max-width: 850px;
}

.news-detail-body p {
  color: var(--text);
  line-height: 1.85;
  margin-bottom: 1.25rem;
  font-size: 1.1rem;
}

.news-detail-body p:last-child {
  margin-bottom: 0;
}

.news-detail-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: 2.5rem;
  font-family: 'Inter', sans-serif;
  font-size: .95rem;
  font-weight: 600;
  color: var(--orange);
  text-decoration: none;
  transition: gap var(--transition), color var(--transition);
}

.news-detail-link:hover {
  gap: .55rem;
  color: var(--orange-light);
}
/* ════════════════════════════════
   CONTACT PAGE
   ════════════════════════════════ */
.contact-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:3.5rem; align-items:start; }
.info-card { background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-lg); padding:2rem; margin-bottom:1.5rem; }
.info-heading { font-family:'Inter',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--orange); margin-bottom:1rem; }
.info-block { margin-bottom:1.75rem; padding-bottom:1.75rem; border-bottom:1px solid var(--gray-100); }
.pi-name   { font-family:'Merriweather',serif; font-weight:700; font-size:1.2rem; color:var(--navy); margin-bottom:.2rem; }
.pi-title  { font-size:.9rem; color:var(--orange); font-weight:500; margin-bottom:.15rem; }
.pi-dept, .pi-school { font-size:.83rem; color:var(--text-muted); line-height:1.5; }
.contact-row { display:flex; gap:1rem; align-items:flex-start; padding:1rem 0; border-bottom:1px solid var(--gray-100); }
.contact-row:last-child { border-bottom:none; }
.contact-icon { width:36px; height:36px; border-radius:8px; background:var(--orange-dim); display:flex; align-items:center; justify-content:center; color:var(--orange); flex-shrink:0; }
.contact-label { font-family:'Inter',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin-bottom:.15rem; }
.contact-value { font-size:.9rem; color:var(--navy); font-weight:500; text-decoration:none; transition:color var(--transition); display:block; }
.contact-value:hover { color:var(--orange); }
.contact-sub { font-size:.8rem; color:var(--text-muted); margin-top:.1rem; }
.map-placeholder {
  width: 100%; height: 180px;
  background: linear-gradient(135deg,#e8edf5,#cdd5e0);
  border-radius: var(--radius-lg); border: 1px solid var(--gray-200);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .5rem; color: rgba(19,41,75,.35);
  font-family: 'Inter', sans-serif; font-size: .85rem; font-weight: 500;
}
.prospective-card { background:var(--navy); border-radius:var(--radius-lg); padding:2rem; margin-bottom:1.5rem; }
.prospective-icon { width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:var(--orange); margin-bottom:1rem; }
.prospective-card h3 { color:var(--white); font-size:1.15rem; margin-bottom:1rem; }
.prospective-card p  { font-size:.9rem; line-height:1.75; margin-bottom:.75rem; color:rgba(255,255,255,.65); }
.prospective-card p strong { color:rgba(255,255,255,.9); font-weight:600; }
.other-inquiries h3 { font-size:1.1rem; margin-bottom:1.25rem; }
.inquiry-list { display:flex; flex-direction:column; gap:1.25rem; }
.inquiry-item { display:flex; gap:1rem; align-items:flex-start; }
.inquiry-dot  { width:8px; height:8px; border-radius:50%; background:var(--orange); flex-shrink:0; margin-top:.45rem; }
.inquiry-title { font-family:'Inter',sans-serif; font-weight:600; font-size:.9rem; color:var(--navy); margin-bottom:.3rem; }
.inquiry-desc  { font-size:.85rem; color:var(--text-muted); line-height:1.65; }

/* ════════════════════════════════
   RESPONSIVE
   ════════════════════════════════ */
@media (max-width: 900px) {
  .grid-3, .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-2  { grid-template-columns:1fr; }
  .section { padding-block:3.5rem; }
  .about-inner     { grid-template-columns:1fr; }
  .about-stats     { grid-template-columns:repeat(2,1fr); }
  .featured-item   { grid-template-columns:1fr; }
  .featured-item.reverse { direction:ltr; }
  .research-section { grid-template-columns:1fr; gap:2rem; }
  .research-section.alt { direction:ltr; }
  .collab-inner    { grid-template-columns:1fr; gap:2rem; }
  .pubs-layout     { grid-template-columns:1fr; }
  .pubs-sidebar    { position:static; }
  .software-body   { grid-template-columns:1fr; }
  .software-desc   { border-right:none; border-bottom:1px solid var(--gray-200); }
  .contact-layout  { grid-template-columns:1fr; }
  .logo-affil      { display:none; }
  .footer-inner    { grid-template-columns:1fr; gap:2.5rem; }
  .nav-toggle      { display:flex; }
  .site-nav {
    position: absolute;
    top: 64px; left: 0; right: 0;
    background: var(--navy-dark);
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: .25rem;
    border-bottom: 2px solid var(--orange);
    display: none;
  }
  .site-nav.open { display:flex; }
  .nav-link { padding:.6rem 1rem; }
  .faculty-card { grid-template-columns:1fr; }
  .alumni-row   { grid-template-columns:1fr; gap:.3rem; }
}
@media (max-width: 600px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; }
  .section { padding-block:2.5rem; }
  .container { padding-inline:1rem; }
  .cta-inner { flex-direction:column; text-align:center; }
  .cta-actions { justify-content:center; }
  .footer-bottom-inner { flex-direction:column; gap:.5rem; text-align:center; }
  .news-simple-item {
    grid-template-columns: 1fr;
    gap: .35rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--gray-200);
  }

  .news-simple-tag {
    width: fit-content;
  }

  .news-simple-date {
    font-size: .95rem;
  }

  .news-simple-link {
    font-size: 1rem;
  }
}

/* ════════════════════════════════
   TEAM — MEMBER ROW (list layout)
   ════════════════════════════════ */
.member-list { display: flex; flex-direction: column; }

.member-row {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 2.5rem;
  align-items: start;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--gray-200);
}
.member-row:last-child { border-bottom: none; }
.member-row.pi { grid-template-columns: 1fr 240px; }

.member-photo-wrap {
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: linear-gradient(135deg, var(--navy-light), var(--navy));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.member-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.member-photo-initials {
  font-family: 'Inter', sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  color: rgba(255,255,255,.8);
}
.member-row.pi .member-photo-initials { font-size: 3rem; }

.member-info { display: flex; flex-direction: column; gap: .5rem; padding-top: .25rem; }
.member-name {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
  line-height: 1.25;
}
.member-row.pi .member-name { font-size: 1.6rem; }
.member-role-label {
  font-family: 'Inter', sans-serif;
  font-size: .875rem;
  font-weight: 500;
  color: var(--orange);
}
.member-dept {
  font-family: 'Inter', sans-serif;
  font-size: .83rem;
  color: var(--text-muted);
  line-height: 1.5;
}
.member-focus {
  font-size: .93rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-top: .25rem;
}
.member-education {
  margin-top: .75rem;
}
.edu-label {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: .2rem;
}
.edu-item {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
}
.member-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: .5rem;
}
.member-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-family: 'Inter', sans-serif;
  font-size: .82rem;
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--transition);
}
.member-link:hover { color: var(--orange); }

.member-link-icon {
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  text-decoration: none;
  transition: color var(--transition), transform var(--transition);
}

.member-link-icon:hover {
  color: var(--orange);
  transform: translateY(-2px);
}

.member-link-icon svg {
  display: block;
  width: 30px;
  height: 30px;
}

@media (max-width: 700px) {
  .member-row,
  .member-row.pi {
    grid-template-columns: 1fr;
  }
  .member-photo-wrap {
    width: 140px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    margin: 0 auto 1rem;
  }
  .member-photo-initials { font-size: 2rem; }
}
