:root {
  --bg: #f5f2ed;
  --bg-soft: #f9f7f4;
  --panel: #ffffff;
  --panel-alt: #eef3f0;
  --primary: #0f3d38;
  --primary-soft: #dfeee9;
  --accent: #b9803a;
  --text: #17242c;
  --muted: #58656c;
  --line: rgba(15, 61, 56, 0.12);
  --shadow: 0 18px 40px rgba(17, 33, 30, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: linear-gradient(180deg, #f7f4f1 0%, #eef1ef 100%);
  color: var(--text);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

.nav-toggle { display:none; }
.current-section { display:none; }
.main-nav a[aria-current="location"] { color:var(--primary); border-bottom-color:var(--primary); font-weight:600; }
.is-page-hidden { display:none !important; }
.pagination { grid-column:1 / -1; width:100%; margin-top:12px; padding:16px 0 0; border-top:1px solid var(--line); }
.pagination__status { margin:0 0 12px; text-align:center; color:var(--muted); font-size:.85rem; }
.pagination__controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; }
.pagination button,.pagination select { min-height:44px; padding:8px 12px; font:inherit; font-size:.85rem; border:1px solid var(--line); border-radius:10px; background:white; color:var(--primary); }
.pagination button { cursor:pointer; }
.pagination button:disabled { opacity:.4; cursor:default; }
.pagination label { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.8rem; }
@media(max-width:390px) { .pagination__controls { gap:6px; } .pagination button,.pagination select { padding:8px; } .pagination label { font-size:0; gap:0; } }

.container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}

.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 82px;
}

.brand-block {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--primary), #24554b);
  color: #fff;
  font-weight: 700;
  box-shadow: var(--shadow);
}

.brand-name {
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: 1.02rem;
}

.brand-role {
  font-size: 0.72rem;
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.main-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  font-size: 0.92rem;
  color: var(--muted);
}

.main-nav a {
  border-bottom: 2px solid transparent;
  padding: 8px 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.main-nav a:hover {
  color: var(--primary);
  border-color: var(--primary);
}

.page-shell {
  padding: 42px 0 28px;
}

.hero {
  display: grid;
  grid-template-columns: 1.55fr 0.75fr;
  gap: 28px;
  align-items: center;
  padding: 24px 0 8px;
}

.eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--primary);
}

.hero-copy h1 {
  margin: 0 0 18px;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1.06;
  letter-spacing: -0.06em;
}

.hero-copy p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  line-height: 1.85;
  font-size: 1.03rem;
}

.quick-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}

.quick-facts div {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 16px;
  box-shadow: var(--shadow);
}

.quick-facts strong {
  display: block;
  font-size: 1.7rem;
  color: var(--primary);
}

.quick-facts span {
  color: var(--muted);
  font-size: 0.8rem;
}

.profile-card {
  background: linear-gradient(180deg, #ffffff 0%, #f3f6f3 100%);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px 20px 18px;
  box-shadow: var(--shadow);
}

.profile-card__top {
  display:grid;
  justify-items:center;
  gap:16px;
  margin-bottom: 16px;
}

.brand-mark { object-fit:cover; }
.profile-photo { width:180px; height:auto; aspect-ratio:1; object-fit:cover; border-radius:18px; border:1px solid var(--line); }
.profile-card__identity { min-width:0; text-align:center; }
.profile-card__identity h2 { margin:0 0 10px; color:var(--primary); font-size:1.15rem; line-height:1.3; letter-spacing:-.025em; }
@media(max-width:700px) {
  .profile-card__top { grid-template-columns:96px minmax(0,1fr); align-items:center; justify-items:start; gap:14px; }
  .profile-photo { width:96px; border-radius:14px; }
  .profile-card__identity { text-align:left; }
  .profile-card__identity h2 { font-size:1rem; margin-bottom:8px; }
  .profile-card__identity .status-pill { font-size:.6rem; padding:6px 8px; letter-spacing:.04em; }
}

.status-pill {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.profile-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.profile-list li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.8);
}

.label {
  font-size: 0.7rem;
  color: var(--muted);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.profile-list strong {
  font-size: 1rem;
  color: var(--primary);
}

.profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.profile-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--primary);
  font-weight: 600;
}

.section {
  padding: 48px 0 8px;
}

.section-header {
  margin-bottom: 22px;
}

.section-header h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.14;
  letter-spacing: -0.05em;
}

.section-header--inline {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
}

.meta-divider {
  color: var(--muted);
  margin: 0 2px;
}

.is-view-hidden {
  display: none !important;
}

.timeline {
  display: grid;
  gap: 18px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px 20px;
  box-shadow: 0 10px 22px rgba(13, 24, 22, 0.03);
}

.timeline-year {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  background: var(--panel-alt);
  border-radius: 12px;
  color: var(--primary);
  font-weight: 700;
  font-size: 0.94rem;
}

.timeline-content h3 {
  margin: 0 0 6px;
  font-size: 1.2rem;
}

.timeline-content p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pill-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(15, 61, 56, 0.06);
  color: var(--primary);
  border: 1px solid rgba(15, 61, 56, 0.08);
  font-weight: 600;
}

.cv-books {
  padding-top: 52px;
}

.bookshelf-meta {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(15, 61, 56, 0.06);
  border: 1px solid rgba(15, 61, 56, 0.08);
  border-radius: 14px;
  color: var(--primary);
}

.bookshelf-meta span {
  font-size: 1.8rem;
  font-weight: 700;
}

.bookshelf-meta small {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.bookshelf-shell {
  width: min(100%, 980px);
  margin: 0 auto;
}

.bookshelf_slider *,
.bookshelf_slider *:before,
.bookshelf_slider *:after {
  box-sizing: border-box !important;
}

.bookshelf_slider {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.panel_title {
  background: linear-gradient(135deg, #f8f4ef 0%, #eef4f2 100%);
  color: var(--primary);
  width: 100%;
  padding: 22px 20px 18px;
  text-align: center;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
}

.selected_title_box {
  text-align: center;
  display: block;
}

.selected_title {
  color: var(--primary);
  background: transparent;
  border: none;
  font-size: clamp(1.1rem, 2vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  padding: 0;
  margin: 0;
  display: block;
  float: none;
  line-height: 1.3;
  border-radius: 0;
}

.panel_slider {
  position: relative;
  width: 100%;
  min-height: 340px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: rgba(245, 242, 237, 0.9);
}

.panel_items {
  width: 100%;
}

.slide_animate {
  position: relative;
  width: 100%;
  min-height: 320px;
  float: none;
  background: transparent;
  display: block;
}

.products_box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 20px 18px;
  width: 100%;
  min-height: 260px;
  padding: 24px 20px 28px;
}

.product {
  position: relative;
  width: 100%;
  max-width: 160px;
  margin: 0 auto;
  display: block;
  cursor: pointer;
  padding: 12px 10px 10px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(17, 28, 25, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 28px rgba(17, 28, 25, 0.1);
}

.img_thumb {
  position: relative;
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: block;
  margin: 0 auto 12px;
  border: 1px solid rgba(15, 61, 56, 0.08);
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.08);
}

.product_title {
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: auto;
  padding: 0 4px 4px;
  text-align: center;
  color: var(--text);
  background: transparent;
  overflow: visible;
  max-height: none;
  line-height: 1.45;
  box-shadow: none;
  word-wrap: break-word;
}

.product_title p {
  margin: 0;
  padding: 0;
  font-size: 0.74rem;
  line-height: 1.45;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--text);
  font-weight: 600;
}

.fx_magazine,
.fx_shadow,
.icons_sprite {
  display: none !important;
}

.panel_bar {
  background: linear-gradient(180deg, rgba(15, 61, 56, 0.04), rgba(15, 61, 56, 0.08));
  width: 100%;
  height: auto;
  text-align: left;
  margin: 0 auto;
  overflow: visible;
  box-shadow: none;
  border-top: 1px solid var(--line);
}

.buttons_container {
  margin: 0 auto;
  position: relative;
  height: auto;
  padding: 14px 18px;
}

#arrow_box {
  display: none;
}

#arrow_menu {
  display: none;
}

.button_items {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  height: auto;
  flex-wrap: wrap;
}

.button_bar {
  float: none;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
}

.button_bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  color: var(--muted);
  text-decoration: none;
  text-shadow: none;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.button_bar.active {
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 12px 20px rgba(15, 61, 56, 0.18);
}

.button_bar.active a {
  color: #fff;
}

.chapter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 20px 18px;
}

.chapter-card {
  position: relative;
  width: 100%;
  max-width: 170px;
  margin: 0 auto;
  display: block;
  cursor: pointer;
  padding: 12px 10px 10px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(17, 28, 25, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.chapter-card:hover,
.chapter-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 18px 28px rgba(17, 28, 25, 0.1);
  outline: none;
}

.chapter-card__image {
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: block;
  margin: 0 auto 12px;
  border: 1px solid rgba(15, 61, 56, 0.08);
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.08);
}

.chapter-card__title {
  text-align: center;
  color: var(--text);
  font-size: 0.74rem;
  line-height: 1.45;
  font-weight: 600;
  word-wrap: break-word;
}

.publication-section {
  padding-top: 54px;
}

.publication-header {
  align-items: flex-end;
  gap: 18px;
}

.publication-archive {
  display: grid;
  gap: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
  box-shadow: var(--shadow);
}

.publication-group,
.publication-subgroup {
  width: 100%;
  border: 1px solid rgba(15, 61, 56, 0.08);
  border-radius: 18px;
  background: rgba(248, 245, 241, 0.95);
  overflow: hidden;
}

.publication-group > summary,
.publication-subgroup > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 14px 18px;
  font-weight: 700;
  color: var(--primary);
  background: linear-gradient(135deg, #f8f4ef 0%, #eef4f2 100%);
  border-bottom: 1px solid rgba(15, 61, 56, 0.08);
}

.publication-group > summary::-webkit-details-marker,
.publication-subgroup > summary::-webkit-details-marker {
  display: none;
}

.publication-group > summary {
  font-size: clamp(1.05rem, 1.8vw, 1.5rem);
  letter-spacing: 0.02em;
}

.publication-subgroup > summary {
  padding-left: 16px;
  font-size: 0.98rem;
  background: rgba(185, 128, 58, 0.08);
  border-left: 4px solid var(--accent);
}

.publication-group__body,
.publication-list {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.publication-item {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 61, 56, 0.08);
  background: rgba(255, 255, 255, 0.82);
  line-height: 1.7;
  color: var(--text);
  font-size: 0.95rem;
}

.publication-item .code {
  display: inline-block;
  min-width: 74px;
  color: var(--primary);
  font-weight: 700;
}

.publication-group[open] > summary,
.publication-subgroup[open] > summary {
  background: linear-gradient(135deg, var(--primary), #2b584f);
  color: #fff;
}

.publication-subgroup[open] > summary {
  background: rgba(185, 128, 58, 0.9);
  color: #fff;
}

.stats-section {
  padding-top: 48px;
}

.stats-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.stats-summary__card {
  display: grid;
  gap: 8px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(15, 61, 56, 0.08);
  background: linear-gradient(135deg, #ffffff 0%, #f5f1ea 100%);
  box-shadow: 0 12px 24px rgba(15, 61, 56, 0.04);
}

.stats-summary__label {
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stats-summary__card strong {
  color: var(--primary);
  font-size: clamp(1.4rem, 2vw, 2rem);
  letter-spacing: -0.04em;
}

.stats-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(15, 61, 56, 0.04);
  border: 1px solid rgba(15, 61, 56, 0.06);
  color: var(--muted);
  font-size: 0.9rem;
}

.stats-legend strong {
  color: var(--primary);
}

.stats-table-wrap {
  overflow-x: auto;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(15, 61, 56, 0.08);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.stats-table {
  width: 100%;
  min-width: 800px;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.stats-table th,
.stats-table td {
  border-bottom: 1px solid rgba(15, 61, 56, 0.08);
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
}

.stats-table thead th {
  background: linear-gradient(135deg, #f3efe9 0%, #edf4f1 100%);
  color: var(--primary);
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  text-transform: none;
  padding-top: 12px;
  padding-bottom: 12px;
}

.stats-table thead .stats-table__header-main th {
  border-bottom: 1px solid rgba(15, 61, 56, 0.08);
}

.stats-table thead .stats-table__header-sub th {
  background: #f9f6f1;
  font-size: 0.68rem;
  letter-spacing: 0.02em;
  padding-top: 10px;
  padding-bottom: 10px;
}

.stats-table thead .stats-table__header-sub th small {
  display: block;
  font-size: 0.62rem;
  opacity: 0.85;
  letter-spacing: 0;
  line-height: 1.3;
}

.stats-table thead th small {
  display: block;
  font-size: 0.7rem;
  opacity: 0.85;
  letter-spacing: 0;
  text-transform: none;
}

.stats-table tbody tr:nth-child(even) {
  background: rgba(15, 61, 56, 0.02);
}

.stats-table tbody tr:hover {
  background: rgba(15, 61, 56, 0.05);
}

.stats-table tfoot td {
  background: rgba(15, 61, 56, 0.06);
  font-weight: 800;
  color: var(--primary);
}

.stats-intro { color: var(--muted); line-height: 1.7; }
.stats-summary__card small, .stats-source { color: var(--muted); line-height: 1.6; }
.stats-summary__card:first-child { background: var(--primary); color: white; }
.stats-summary__card:first-child strong, .stats-summary__card:first-child small { color: white; }
.stats-note { padding: 18px 22px; border-left: 3px solid var(--accent); background: #f6eddf; line-height: 1.7; border-radius: 0 14px 14px 0; margin-bottom: 24px; }
.stats-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.stats-panel { min-width: 0; background: white; border: 1px solid var(--line); border-radius: 20px; padding: 24px; }
.stats-panel h3 { margin: 0; font-size: 1.15rem; }
.stats-panel p { color: var(--muted); font-size: .85rem; }
.stats-bars { display: grid; gap: 25px; margin-top: 30px; }
.stats-bar > div:first-child { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.stats-track { height: 9px; background: #edf2ef; border-radius: 8px; overflow: hidden; }
.stats-track i { display: block; height: 100%; background: var(--primary); border-radius: inherit; }
.stats-panel-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.stats-panel label { font-size: .8rem; display: grid; gap: 6px; }
.stats-panel select { min-height: 44px; padding: 8px; border: 1px solid var(--line); background: white; border-radius: 8px; color: var(--primary); }
.stats-years { max-height: 290px; overflow-y: auto; padding-right: 12px; margin-top: 16px; }
.stats-year { display: grid; grid-template-columns: 42px 1fr 30px; gap: 12px; align-items: center; min-height: 32px; font-size: .85rem; font-variant-numeric: tabular-nums; }
.stats-year strong { text-align: right; }
.stats-details { margin-top: 24px; }
.stats-details summary { cursor: pointer; padding: 18px 0; font-weight: 600; color: var(--primary); }
.stats-details p { line-height: 1.6; color: var(--muted); }
.stats-table caption { text-align: left; padding: 16px; }
.stats-table th:first-child { position: sticky; left: 0; background: #edf4f1; }
.stats-source { font-size: .8rem; margin-top: 20px; }
:focus-visible { outline: 3px solid #b9803a; outline-offset: 3px; }
.dashboard-controls { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:18px 0 24px; }
.dashboard-controls label { display:block; font-size:.75rem; color:var(--muted); margin-bottom:6px; }
.dashboard-controls select,.dashboard-controls button { min-height:44px; border:1px solid var(--line); border-radius:10px; padding:8px 14px; background:white; color:var(--primary); font:inherit; }
.dashboard-controls button { align-self:flex-end; cursor:pointer; }
.dashboard-controls p { margin-left:auto; color:var(--muted); font-size:.85rem; }
.dashboard-timeline { margin-bottom:24px; }
.chart-key { display:flex; flex-wrap:wrap; gap:18px; margin:20px 0; font-size:.8rem; }
.chart-key span { display:flex; gap:7px; align-items:center; }
.chart-key i { width:10px; height:10px; border-radius:3px; }
.research-color { background:#205d54; }
.review-color { background:#85ac9b; }
.ktr-color { background:#be8b46; }
.timeline-scroll { overflow-x:auto; padding:10px 0; }
.timeline-columns { --timeline-height:240px; display:flex; align-items:flex-end; gap:12px; min-width:100%; width:max-content; }
.timeline-column { display:flex; flex:1 0 52px; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; min-width:52px; height:calc(var(--timeline-height) + 44px); padding:4px; background:transparent; border:0; border-radius:6px; font:inherit; cursor:pointer; color:var(--primary); }
.timeline-column:hover,.timeline-column:focus-visible { background:#eef4f0; }
.column-stack { display:flex; flex:none; flex-direction:column-reverse; justify-content:flex-start; width:100%; max-width:44px; }
.column-stack i { display:block; flex:none; width:100%; }
.column-count { font-size:.7rem; font-weight:700; }
.column-year { font-size:.7rem; color:var(--muted); }
.turkish-color { background:#3976aa; }
.english-color { background:#b66a39; }
.other-language-color { background:#8265a7; }
.card-languages { display:flex; flex-wrap:wrap; gap:8px 12px; border-top:1px solid var(--line); padding-top:12px; margin-top:4px; font-size:.73rem; font-variant-numeric:tabular-nums; }
.card-languages span { display:inline-flex; align-items:center; gap:4px; }
.card-languages i { width:8px; height:8px; border-radius:50%; }
.stats-summary__card:first-child .card-languages { border-color:#ffffff40; }
.stats-summary__card:first-child .turkish-color { background:#8bc5f2; }
.stats-summary__card:first-child .english-color { background:#edb17e; }
.stats-summary__card:first-child .other-language-color { background:#cbb5ed; }
.timeline-controls { display:grid; grid-template-columns:auto auto; gap:6px 12px; align-items:center; }
.timeline-controls label { font-size:.75rem; color:var(--muted); }
.timeline-controls select { min-width:170px; }
.chart-scroll-hint { font-size:.75rem; margin:8px 0 0; }
.year-detail { min-height:42px; padding:12px 16px; background:#f3f6f3; border-radius:10px; }
.dashboard-distributions { margin-top:24px; }
.location-heading { margin:30px 0 0; border-top:1px solid var(--line); padding-top:24px; }
.stats-bar small { font-size:.75rem; font-weight:400; color:var(--muted); margin-left:5px; }
@media (max-width:700px) { .dashboard-controls p { margin:0; width:100%; } .dashboard-controls { gap:10px; } .timeline-columns { --timeline-height:210px; } }
@media (max-width: 700px) { .stats-panels { grid-template-columns: 1fr; } .stats-panel { padding: 18px; } }

.stats-total-label {
  text-align: left !important;
  font-weight: 700;
}

.stats-total {
  font-weight: 800;
  color: var(--primary);
}

.book-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 50;
  padding: 24px;
}

.book-modal.is-open {
  display: flex;
}

.book-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.72);
}

.book-modal__content {
  position: relative;
  z-index: 1;
  width: min(440px, 92vw);
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.2);
}

.book-modal__content img {
  width: 100%;
  max-height: 75vh;
  object-fit: contain;
  background: #f7f5f1;
}

.book-modal__content h3 {
  margin: 0;
  padding: 16px 18px 20px;
  font-size: 1rem;
  line-height: 1.5;
  color: #1b1b1b;
}

.book-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #111;
  font-size: 1.6rem;
  cursor: pointer;
  z-index: 2;
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .section-header--inline {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .topbar-inner {
    flex-direction: column;
    justify-content: center;
    padding: 14px 0;
  }

  .main-nav {
    justify-content: center;
  }

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

  .timeline-item {
    grid-template-columns: 1fr;
  }

  .product {
    width: 78px;
    height: 118px;
  }

  .img_thumb,
  .fx_magazine {
    width: 76px;
    height: 108px;
  }
}

@media (max-width: 480px) {
  .quick-facts {
    grid-template-columns: 1fr;
  }

  .button_items {
    gap: 4px;
  }
}

/* Shared responsive layout: keep overflow inside data views, not the page. */
html { scroll-padding-top:110px; }
.hero > *, .section-header > *, .topbar-inner > *, .stats-summary > * { min-width:0; }
.section-header h2, .hero h1, .publication-item, .product_title, .chapter-card__title { overflow-wrap:anywhere; }
.stats-table-wrap, .timeline-scroll { max-width:100%; overscroll-behavior-x:contain; }
.img_thumb, .chapter-card__image { object-fit:contain; background:#f7f5f1; }
.book-modal__content { max-height:calc(100dvh - 48px); overflow-y:auto; }
@media (max-width:980px) {
  .topbar-inner { flex-wrap:wrap; padding:12px 0; gap:8px 20px; }
  .main-nav { gap:8px 14px; }
}

@media (max-width:980px) {
  html { scroll-padding-top:80px; }
  .topbar.nav-ready .topbar-inner { position:relative; min-height:64px; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; }
  .topbar.nav-ready .brand-block { gap:9px; justify-content:flex-start; }
  .topbar.nav-ready .brand-mark { flex:none; width:34px; height:34px; border-radius:11px; box-shadow:none; }
  .topbar.nav-ready .brand-name { font-size:.88rem; line-height:1.3; letter-spacing:0; }
  .topbar.nav-ready .brand-role { display:none; }
  .topbar.nav-ready .current-section { display:block; margin-top:3px; font-size:.65rem; line-height:1.2; color:var(--muted); letter-spacing:.02em; }
  .nav-ready .nav-toggle { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--primary); font:inherit; font-size:.8rem; cursor:pointer; }
  .nav-toggle__icon { display:grid; gap:4px; width:16px; }
  .nav-toggle__icon i { display:block; height:2px; width:100%; background:currentColor; border-radius:2px; }
  .nav-open .nav-toggle__icon i:first-child { transform:translateY(6px) rotate(45deg); }
  .nav-open .nav-toggle__icon i:nth-child(2) { opacity:0; }
  .nav-open .nav-toggle__icon i:last-child { transform:translateY(-6px) rotate(-45deg); }
  .topbar.nav-ready .main-nav { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; max-height:calc(100dvh - 88px); overflow-y:auto; padding:8px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
  .topbar.nav-open .main-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  .topbar.nav-ready .main-nav a { white-space:normal; display:flex; align-items:center; min-height:48px; padding:10px 12px; border:0; border-radius:9px; color:var(--primary); font-size:.88rem; }
  .topbar.nav-ready .main-nav a:hover,.topbar.nav-ready .main-nav a:focus-visible { background:var(--primary-soft); }
  .topbar.nav-ready .main-nav a[aria-current="location"] { background:var(--primary-soft); font-weight:600; }
}
@media (max-width:700px) {
  html { scroll-padding-top:80px; }
  .topbar-inner { align-items:stretch; }
  .brand-block { justify-content:center; }
  .main-nav { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; max-width:100%; gap:16px; padding:4px 0; }
  .main-nav a { flex:none; min-height:44px; display:flex; align-items:center; }
  .stats-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stats-summary__card { padding:16px 12px; }
  .stats-summary__card > span { font-size:.85rem; }
  .page-shell { padding-top:22px; }
  .section { padding-top:32px; }
  .hero-copy h1 { font-size:clamp(2rem,8vw,3rem); }
  .products_box,.chapter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px 12px; }
  .product,.chapter-card { width:100%; height:auto; max-width:190px; padding:10px; }
  .img_thumb,.chapter-card__image { width:100%; height:160px; }
  .publication-archive { padding:12px; }
  .publication-group__body,.publication-list { padding:10px; }
  .publication-item { padding:12px; }
  .bookshelf-meta { flex-wrap:wrap; }
  .timeline-controls { width:100%; grid-template-columns:auto minmax(0,1fr); }
  .timeline-controls select { width:100%; min-width:0; }
}

/* A quieter mobile type scale; keep reading text and touch controls comfortable. */
@media (max-width:700px) {
  body { font-size:.9375rem; }
  .hero-copy h1 { font-size:clamp(1.7rem,6.5vw,2rem); line-height:1.18; letter-spacing:-.035em; margin-bottom:14px; }
  .hero-copy p { font-size:.9375rem; line-height:1.7; }
  .section-header h2 { font-size:clamp(1.35rem,5.5vw,1.65rem); line-height:1.25; letter-spacing:-.035em; }
  .section-header { margin-bottom:16px; }
  .eyebrow { font-size:.68rem; letter-spacing:.09em; margin-bottom:8px; }
  .timeline-content h3,.stats-panel h3 { font-size:1rem; line-height:1.35; }
  .timeline-content p,.publication-item { font-size:.875rem; line-height:1.65; }
  .timeline-year { font-size:.8125rem; }
  .quick-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:20px; }
  .quick-facts div { padding:14px; }
  .quick-facts strong { font-size:1.4rem; }
  .profile-list strong { font-size:.9375rem; }
  .profile-list li { gap:5px; padding:10px 12px; }
  .profile-links a { font-size:.875rem; min-height:44px; }
  .pill-grid { gap:8px; }
  .pill-grid span { font-size:.8125rem; padding:8px 12px; }
  .selected_title { font-size:1rem; line-height:1.4; }
  .bookshelf-meta span { font-size:1.4rem; }
  .bookshelf-meta small { font-size:.68rem; }
  .publication-group > summary { font-size:.9375rem; line-height:1.4; padding:14px; }
  .publication-subgroup > summary { font-size:.875rem; line-height:1.45; }
  .publication-item .code { min-width:0; margin-right:6px; }
  .stats-intro { font-size:.875rem; line-height:1.65; }
  .stats-summary__card > span { font-size:.8125rem; }
  .stats-summary__card > strong { font-size:1.5rem; line-height:1.2; }
  .stats-summary__card > small { font-size:.75rem; }
  .stats-panel p,.stats-bar,.stats-details summary { font-size:.8125rem; line-height:1.5; }
  .chart-key { font-size:.75rem; gap:10px 14px; }
  .stats-panel select,.dashboard-controls select,.pagination select { font-size:1rem; }
}

/* Short landscape viewports need a shorter plot, rather than scaled-down text. */
@media (orientation:landscape) and (max-height:600px) and (max-width:980px) {
  .dashboard-timeline { padding:10px 14px; }
  .dashboard-timeline .stats-panel-heading { gap:8px 16px; align-items:center; }
  .dashboard-timeline .stats-panel-heading > div:first-child { flex:1; min-width:180px; }
  .dashboard-timeline .eyebrow { display:none; }
  .dashboard-timeline h3 { font-size:1rem; line-height:1.25; }
  .dashboard-timeline #timelineCaption { font-size:.75rem; line-height:1.3; margin:4px 0 0; }
  .dashboard-timeline .timeline-controls { display:grid; width:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; }
  .timeline-controls label[for="chartBreakdown"] { grid-column:1; grid-row:1; }
  .timeline-controls label[for="chartMode"] { grid-column:2; grid-row:1; }
  .dashboard-timeline .timeline-controls select { grid-row:2; min-width:0; width:100%; min-height:44px; padding:6px; font-size:1rem; }
  .dashboard-timeline .chart-key { margin:6px 0; font-size:.75rem; gap:8px 14px; }
  .dashboard-timeline .timeline-columns { --timeline-height:clamp(48px,calc(100dvh - 300px),180px); }
  .dashboard-timeline .timeline-scroll { padding:4px 0; }
  .dashboard-timeline .chart-scroll-hint { display:none; }
  .dashboard-timeline .year-detail { min-height:0; padding:6px 10px; margin:6px 0 0; font-size:.75rem; line-height:1.4; }
}

/* Academic profile: an editorial timeline, then an explorable career record. */
.profile-personal-note { margin:18px 0 0; color:var(--muted); font-size:.75rem; line-height:1.6; }
.profile-photo-link { display:block; border-radius:18px; }
.profile-photo-link .profile-photo { object-position:center 24%; }
.career-photos { margin:28px 0 8px; }
.career-photos__heading { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.career-photos__portrait { flex:0 0 52px; border-radius:50%; overflow:hidden; border:2px solid #fff; box-shadow:0 0 0 1px var(--line); }
.career-photos__portrait img { width:52px; height:52px; object-fit:cover; }
.career-photos__heading h3 { margin:0 0 5px; font-size:1.15rem; letter-spacing:-.025em; }
.career-photos__heading p { margin:0; color:var(--muted); font-size:.8125rem; line-height:1.6; }
.career-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border-radius:18px; }
.photo-card { min-width:0; margin:0; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.photo-link { position:relative; display:block; background:var(--panel-alt); cursor:zoom-in; }
.profile-photo-link,.career-photos__portrait { cursor:zoom-in; }
.photo-link img { width:100%; height:auto; }
.career-photo-grid .photo-link { aspect-ratio:4/3; display:grid; place-items:center; }
.career-photo-grid .photo-link img { height:100%; object-fit:contain; }
.photo-expand { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#ffffffed; color:var(--primary); font-size:1.2rem; box-shadow:0 2px 8px #17242c12; pointer-events:none; }
.photo-link:focus-visible { outline-offset:-4px; }
.photo-card figcaption { display:grid; gap:6px; padding:17px 18px 19px; }
.photo-card figcaption > span { color:var(--muted); font-size:.7rem; letter-spacing:.06em; }
.photo-card figcaption > strong { font-size:.9375rem; line-height:1.4; font-weight:600; color:var(--primary); }
.career-photos__hint { display:none; }
.award-showcase { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr); align-items:start; gap:24px; }
.award-showcase .award-entry { grid-template-columns:64px minmax(0,1fr); gap:18px; }
.award-showcase .award-year { white-space:nowrap; font-variant-numeric:tabular-nums; }
.publication-photo { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); align-items:center; gap:32px; padding:18px; margin:0 0 24px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(115deg,#eaf0e9,#faf8f4); }
.publication-photo > .photo-link { border-radius:12px; overflow:hidden; }
.publication-photo figcaption { min-width:0; padding:12px 18px 12px 0; }
.publication-photo h3 { margin:0 0 12px; font-size:clamp(1.25rem,2.5vw,1.85rem); line-height:1.2; letter-spacing:-.035em; color:var(--primary); }
.publication-photo p { margin:0; color:var(--muted); font-size:.875rem; line-height:1.7; }
.publication-photo__link { display:inline-flex; align-items:center; gap:18px; min-height:44px; margin-top:14px; font-size:.8125rem; font-weight:600; color:var(--primary); border-bottom:1px solid #afc5b6; }
body.photo-viewer-open { overflow:hidden; }
.photo-viewer { --viewer-chrome:182px; width:min(1100px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border:1px solid var(--line); border-radius:20px; padding:18px 24px; overflow:hidden; background:var(--bg-soft); color:var(--text); }
.photo-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:14px; }
.photo-viewer::backdrop { background:#0d201ee0; }
.photo-viewer__top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.photo-viewer__top h2 { margin:0; font-size:.875rem; font-weight:600; color:var(--primary); }
.photo-viewer__top form { margin:0; }
.photo-viewer button { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--primary); font:inherit; font-size:1.25rem; cursor:pointer; }
.photo-viewer__close { font-size:1.7rem !important; }
.photo-viewer__stage { display:flex; align-items:center; justify-content:center; min-height:0; min-width:0; }
.photo-viewer__stage img { flex:0 1 auto; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - var(--viewer-chrome)); object-fit:contain; border-radius:6px; }
.photo-viewer__bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.photo-viewer__bottom p { margin:0; max-width:660px; font-size:.875rem; line-height:1.6; overflow-wrap:anywhere; }
.photo-viewer__controls { display:flex; flex:0 0 auto; align-items:center; gap:16px; }
.photo-viewer__controls span { min-width:40px; text-align:center; font-size:.8125rem; color:var(--muted); font-variant-numeric:tabular-nums; }
@media(hover:hover) {
  .photo-link:hover .photo-expand { background:var(--primary); color:#fff; }
  .publication-photo__link:hover { border-color:var(--primary); }
}
@media(max-width:980px) {
  .career-photo-grid { gap:12px; }
  .photo-card figcaption { padding:14px; }
  .award-showcase { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:18px; }
  .award-showcase .award-list { padding:0 18px; }
  .award-showcase .award-entry { grid-template-columns:48px minmax(0,1fr); gap:12px; }
  .award-showcase .award-year { font-size:1.3rem; }
  .publication-photo { gap:24px; }
}
@media(max-width:700px) {
  .career-photos { margin-top:22px; }
  .career-photos__heading { gap:12px; margin-bottom:12px; }
  .career-photos__heading h3 { font-size:1rem; }
  .career-photos__heading p { font-size:.75rem; }
  .career-photo-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; padding:3px 2px 12px; scrollbar-width:thin; scrollbar-color:#adc5b8 transparent; }
  .career-photo-grid > .photo-card { flex:0 0 86%; scroll-snap-align:start; }
  .career-photos__hint { display:block; margin:4px 0 0; color:var(--muted); font-size:.7rem; }
  .photo-card figcaption > strong { font-size:.875rem; }
  .award-showcase { grid-template-columns:1fr; gap:16px; }
  .award-photo { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); align-items:center; }
  .award-photo figcaption { padding:18px; gap:10px; }
  .publication-photo { grid-template-columns:1fr; gap:0; padding:12px; border-radius:18px; }
  .publication-photo figcaption { padding:20px 8px 8px; }
  .publication-photo h3 { font-size:1.3rem; }
  .publication-photo p { font-size:.8125rem; }
  .publication-photo .eyebrow { font-size:.65rem; }
  .publication-photo__link { margin-top:8px; }
  .photo-viewer { --viewer-chrome:220px; padding:12px; border-radius:14px; }
  .photo-viewer[open] { gap:10px; }
  .photo-viewer__bottom { flex-direction:column; align-items:stretch; gap:10px; }
  .photo-viewer__bottom p { text-align:center; font-size:.8125rem; }
  .photo-viewer__controls { justify-content:center; }
}
@media(orientation:landscape) and (max-height:500px) {
  .photo-viewer { --viewer-chrome:152px; padding:8px 14px; }
  .photo-viewer[open] { gap:6px; }
  .photo-viewer__bottom { flex-direction:row; align-items:center; }
  .photo-viewer__bottom p { text-align:left; font-size:.75rem; }
}
.academic-timeline { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; padding:12px 24px; background:#fff; border:1px solid var(--line); border-radius:22px; }
.academic-step { position:relative; display:grid; align-content:start; gap:12px; padding:24px 20px 24px 26px; border-bottom:1px solid var(--line); }
.academic-step:nth-last-child(-n+3) { border-bottom:0; }
.academic-step::before { content:""; position:absolute; left:6px; top:30px; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.academic-step__period { font-size:.8rem; color:var(--primary); font-weight:600; font-variant-numeric:tabular-nums; }
.academic-step h3 { font-size:1.05rem; margin:0 0 8px; }
.academic-step p { margin:0; font-size:.875rem; color:var(--muted); line-height:1.6; }
.career-section { padding-top:64px; }
.career-section__header p { max-width:680px; color:var(--muted); line-height:1.7; }
.career-jumps { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 0; }
.career-jumps a { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--primary); font-size:.875rem; }
.career-jumps a:hover { background:var(--primary-soft); }
.career-jumps span { color:var(--muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.career-block { padding-top:44px; scroll-margin-top:12px; }
.career-block__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:22px; }
.career-block__heading h3 { font-size:clamp(1.2rem,2vw,1.6rem); margin:0; line-height:1.3; letter-spacing:-.025em; }
.career-block__heading > p { margin:0; max-width:340px; font-size:.875rem; line-height:1.65; color:var(--muted); }
.career-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--primary); border-radius:22px; overflow:hidden; }
.career-highlights[hidden] { display:none; }
.career-highlight { padding:28px; color:#fff; border-right:1px solid #ffffff26; }
.career-highlight:last-child { border-right:0; }
.career-date { font-size:.75rem; font-variant-numeric:tabular-nums; color:var(--muted); }
.career-highlight .career-date { color:#edc68f; }
.career-highlight h4 { margin:18px 0 10px; font-size:1.25rem; letter-spacing:-.02em; }
.career-highlight p { margin:0; color:#ddeae5; font-size:.875rem; line-height:1.65; }
.career-directory { margin-top:22px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:22px; }
.career-directory__heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.career-directory h4 { margin:0; font-size:1.05rem; }
.career-search { display:grid; gap:6px; flex:0 1 380px; font-size:.75rem; color:var(--muted); }
.career-search input { min-height:46px; width:100%; padding:10px 14px; font:inherit; font-size:1rem; color:var(--text); border:1px solid var(--line); border-radius:10px; background:#fbfcfb; }
.career-filters { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.career-filters button { min-height:44px; border:1px solid var(--line); border-radius:10px; padding:8px 12px; font:inherit; font-size:.8125rem; color:var(--muted); background:#fff; cursor:pointer; }
.career-filters button[aria-pressed="true"] { background:var(--primary-soft); color:var(--primary); border-color:#aecbc0; }
.career-filter-select { display:none; }
.career-role-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.career-role { padding:22px 0; border-bottom:1px solid var(--line); }
.career-role h5 { font-size:.9375rem; line-height:1.5; margin:8px 0 6px; }
.career-role p { margin:0; font-size:.8125rem; line-height:1.65; color:var(--muted); }
.career-role-list .pagination { border-top:0; }
.career-empty { grid-column:1/-1; color:var(--muted); font-size:.875rem; line-height:1.6; padding:20px 0; }
.membership-block { padding-bottom:8px; }
.membership-list { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; }
.membership-list li { padding:12px 18px; border:1px solid var(--line); border-radius:10px; background:#eef3ef; color:var(--primary); font-size:.9375rem; }
.award-list { list-style:none; padding:0 26px; margin:0; border:1px solid var(--line); background:#fff; border-radius:22px; }
.award-entry { display:grid; grid-template-columns:100px minmax(0,1fr); gap:24px; padding:26px 0; border-bottom:1px solid var(--line); }
.award-entry:last-child { border-bottom:0; }
.award-year { font-family:Georgia,serif; font-size:1.75rem; color:var(--primary); }
.award-entry h4 { margin:0 0 8px; font-size:1rem; line-height:1.5; }
.award-entry p { margin:0; font-size:.875rem; line-height:1.7; }
.award-entry .award-event { color:var(--muted); font-size:.8125rem; margin-top:8px; }
.fellowship-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:22px; }
.fellowship-panel { padding:24px; background:#f0f3ee; border:1px solid var(--line); border-radius:18px; }
.career-small-label { color:var(--muted); font-size:.75rem; }
.fellowship-panel h4 { margin:8px 0 18px; font-size:1.05rem; }
.fellowship-panel ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.fellowship-panel li { font-size:.8125rem; line-height:1.55; padding-left:12px; border-left:2px solid #b4c9bb; }
.career-project-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.career-project { padding:22px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.career-project__meta { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; color:var(--muted); font-size:.72rem; line-height:1.5; }
.career-project h4 { margin:20px 0 12px; font-size:1.05rem; line-height:1.45; color:var(--primary); }
.project-code { margin:0; color:var(--muted); font-size:.75rem; line-height:1.7; font-variant-numeric:tabular-nums; }
.career-highlight,.career-role,.career-project,.award-entry,.fellowship-panel,.academic-step { min-width:0; overflow-wrap:anywhere; }
.career-project-list > .pagination { margin-top:0; }
@media(max-width:980px) {
  .career-block__heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .career-block__heading > p { max-width:600px; }
  .career-highlight { padding:22px; }
  .career-project-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .academic-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 12px; }
  .academic-step { padding:18px 10px 18px 18px; }
  .academic-step::before { top:24px; left:3px; width:6px; height:6px; }
  .academic-step:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }
  .academic-step:nth-last-child(-n+2) { border-bottom:0; }
  .academic-step h3 { font-size:.875rem; }
  .academic-step p { font-size:.75rem; }
  .academic-step__period { font-size:.75rem; }
  .career-section { padding-top:36px; }
  .career-section__header p { font-size:.875rem; }
  .career-jumps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
  .career-jumps a { justify-content:space-between; font-size:.8125rem; padding:10px 12px; }
  .career-block { padding-top:32px; }
  .career-block__heading h3 { font-size:1.15rem; }
  .career-block__heading > p { font-size:.8125rem; }
  .career-highlights { grid-template-columns:1fr; border-radius:18px; }
  .career-highlight { padding:20px; border-right:0; border-bottom:1px solid #ffffff26; }
  .career-highlight:last-child { border-bottom:0; }
  .career-highlight h4 { margin:10px 0 6px; font-size:1.05rem; }
  .career-highlight p { font-size:.8125rem; }
  .career-directory { padding:16px; border-radius:18px; }
  .career-directory__heading { gap:16px; }
  .career-search { flex-basis:100%; }
  .career-role-list { grid-template-columns:1fr; }
  .career-role { padding:18px 0; }
  .career-filters { gap:6px; }
  .career-filters button { padding:8px 10px; font-size:.75rem; }
  .career-filters { display:none; }
  .career-filter-select { display:grid; gap:6px; padding-bottom:18px; border-bottom:1px solid var(--line); font-size:.75rem; color:var(--muted); }
  .career-filter-select select { width:100%; min-height:46px; border:1px solid var(--line); border-radius:10px; padding:8px 10px; font:inherit; font-size:1rem; color:var(--primary); background:#fff; }
  .membership-list { gap:8px; }
  .membership-list li { padding:10px 14px; font-size:.8125rem; }
  .award-list { padding:0 18px; }
  .award-entry { grid-template-columns:48px minmax(0,1fr); gap:14px; padding:22px 0; }
  .award-year { font-size:1.25rem; }
  .award-entry h4 { font-size:.875rem; }
  .award-entry p { font-size:.8125rem; line-height:1.6; }
  .fellowship-grid { grid-template-columns:1fr; gap:16px; }
  .fellowship-panel { padding:20px; }
  .fellowship-panel h4 { font-size:.9375rem; }
  .career-project-list { grid-template-columns:1fr; gap:12px; }
  .career-project { padding:20px; }
  .career-project h4 { margin-top:14px; font-size:1rem; }
}
