:root {
  color-scheme: dark;
  --ar-bg: #050816;
  --ar-bg-2: #0b1220;
  --ar-card: rgba(255, 255, 255, .075);
  --ar-card-2: rgba(255, 255, 255, .11);
  --ar-border: rgba(255, 255, 255, .13);
  --ar-text: #eef5ff;
  --ar-muted: #a8b3c7;
  --ar-primary: #5eead4;
  --ar-primary-rgb: 94, 234, 212;
  --ar-secondary: #a78bfa;
  --ar-secondary-rgb: 167, 139, 250;
  --ar-info: #38bdf8;
  --ar-radius: 1.35rem;
  --ar-shadow: 0 1.35rem 3.5rem rgba(0, 0, 0, .30);
  --ar-shadow-soft: 0 .75rem 2rem rgba(0, 0, 0, .18);
  --bs-primary: #5eead4;
  --bs-primary-rgb: 94, 234, 212;
  --bs-link-color-rgb: 94, 234, 212;
  --bs-link-hover-color-rgb: 167, 139, 250;
  --bs-body-bg: var(--ar-bg);
  --bs-body-color: var(--ar-text);
  --bs-border-color: var(--ar-border);
}

[data-bs-theme="light"] {
  color-scheme: light;
  --ar-bg: #f5f7fb;
  --ar-bg-2: #eef3fb;
  --ar-card: rgba(255, 255, 255, .94);
  --ar-card-2: rgba(15, 23, 42, .045);
  --ar-border: rgba(15, 23, 42, .11);
  --ar-text: #0f172a;
  --ar-muted: #556174;
  --ar-primary: #0f766e;
  --ar-primary-rgb: 15, 118, 110;
  --ar-secondary: #6d28d9;
  --ar-secondary-rgb: 109, 40, 217;
  --ar-info: #0369a1;
  --ar-shadow: 0 1.15rem 3rem rgba(15, 23, 42, .12);
  --ar-shadow-soft: 0 .65rem 1.5rem rgba(15, 23, 42, .09);
  --bs-primary: #0f766e;
  --bs-primary-rgb: 15, 118, 110;
  --bs-link-color-rgb: 15, 118, 110;
  --bs-link-hover-color-rgb: 109, 40, 217;
  --bs-body-bg: var(--ar-bg);
  --bs-body-color: var(--ar-text);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 5% 0%, rgba(var(--ar-primary-rgb), .18), transparent 26rem),
    radial-gradient(circle at 90% 8%, rgba(var(--ar-secondary-rgb), .18), transparent 28rem),
    linear-gradient(180deg, var(--ar-bg) 0%, var(--ar-bg-2) 100%);
  color: var(--ar-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.01em;
}

a {
  color: var(--ar-primary);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

a:hover {
  color: var(--ar-secondary);
}

.navbar {
  --bs-navbar-padding-y: .8rem;
  backdrop-filter: blur(22px) saturate(150%);
  background: rgba(5, 8, 22, .76);
  border-bottom: 1px solid var(--ar-border);
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .14);
}

[data-bs-theme="light"] .navbar {
  background: rgba(255, 255, 255, .82);
}

.navbar-brand {
  font-weight: 850;
  letter-spacing: .015em;
}

.navbar-brand::before {
  content: "";
  display: inline-block;
  width: .75rem;
  height: .75rem;
  margin-right: .55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ar-primary), var(--ar-secondary));
  box-shadow: 0 0 1.2rem rgba(var(--ar-primary-rgb), .55);
}

.nav-link {
  border-radius: 999px;
  padding: .45rem .85rem !important;
  color: var(--ar-muted);
  font-weight: 650;
}

.nav-link:hover,
.nav-link.active {
  color: var(--ar-text) !important;
  background: rgba(var(--ar-primary-rgb), .12);
}

.navbar-toggler {
  border-color: var(--ar-border);
}

.hero,
.page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 8.5rem 0 4.8rem;
  border-bottom: 1px solid var(--ar-border);
}

.page-hero {
  padding: 7rem 0 3.8rem;
}

.hero::before,
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(135deg, rgba(var(--ar-primary-rgb), .16), transparent 32%),
    radial-gradient(circle at 80% 24%, rgba(var(--ar-secondary-rgb), .22), transparent 29rem),
    linear-gradient(135deg, rgba(255, 255, 255, .055), transparent 62%);
}

.hero::after,
.page-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -55% -10%;
  height: 70%;
  z-index: -1;
  background: radial-gradient(ellipse at center, rgba(var(--ar-primary-rgb), .14), transparent 62%);
}

/*.avatar {
  width: min(180px, 76vw);
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: var(--ar-shadow), inset 0 0 0 1px rgba(255, 255, 255, .09);
  transform: rotate(-1deg);
}
  */

.avatar {
  width: clamp(200px, 12vw, 150px);
  height: clamp(200px, 12vw, 150px);
  object-fit: cover;
  border-radius: 95%;
}



.card,
.dropdown-menu,
.modal-content {
  border-radius: var(--ar-radius);
}

.card-glass {
  background: linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .055));
  border: 1px solid var(--ar-border);
  border-radius: var(--ar-radius);
  box-shadow: var(--ar-shadow-soft);
  backdrop-filter: blur(20px) saturate(150%);
}

[data-bs-theme="light"] .card-glass {
  background: var(--ar-card);
}

.card-glass .card-body {
  position: relative;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ar-primary);
}

.section-kicker::before {
  content: "";
  width: 1.35rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ar-primary), var(--ar-secondary));
}

.text-muted-custom {
  color: var(--ar-muted) !important;
}

.btn {
  --bs-btn-border-radius: 999px;
  font-weight: 700;
  letter-spacing: -.01em;
  box-shadow: none !important;
}

.btn-primary {
  --bs-btn-color: #031014;
  --bs-btn-bg: var(--ar-primary);
  --bs-btn-border-color: var(--ar-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--ar-secondary);
  --bs-btn-hover-border-color: var(--ar-secondary);
}

.btn-outline-light,
.btn-outline-primary,
.btn-outline-secondary {
  --bs-btn-color: var(--ar-text);
  --bs-btn-border-color: var(--ar-border);
  --bs-btn-hover-color: #031014;
  --bs-btn-hover-bg: var(--ar-primary);
  --bs-btn-hover-border-color: var(--ar-primary);
  background: rgba(255, 255, 255, .035);
}

[data-bs-theme="light"] .btn-outline-light {
  color: var(--ar-text);
  border-color: var(--ar-border);
}

.btn-sm {
  --bs-btn-padding-y: .35rem;
  --bs-btn-padding-x: .75rem;
}

.form-control,
.form-select {
  border-radius: 1rem;
  border-color: var(--ar-border);
  background-color: rgba(255, 255, 255, .07);
  color: var(--ar-text);
}

[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select {
  background-color: #fff;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--ar-primary-rgb), .7);
  box-shadow: 0 0 0 .25rem rgba(var(--ar-primary-rgb), .14);
}

.badge {
  --bs-badge-padding-x: .72em;
  --bs-badge-padding-y: .42em;
  letter-spacing: .01em;
}

.text-bg-primary {
  color: #031014 !important;
  background: linear-gradient(135deg, var(--ar-primary), #93c5fd) !important;
}

.text-bg-secondary,
.text-bg-dark-subtle {
  color: var(--ar-text) !important;
  background: rgba(255, 255, 255, .12) !important;
}

.text-bg-warning {
  color: #221900 !important;
}

.text-bg-info {
  color: #031014 !important;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem .78rem;
  margin: .22rem;
  border: 1px solid var(--ar-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .055);
  font-size: .94rem;
  color: var(--ar-text);
}

.pub-card,
.talk-card,
.tool-card,
.card-glass {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pub-card:hover,
.talk-card:hover,
.tool-card:hover,
.card-glass:hover {
  transform: translateY(-3px);
  border-color: rgba(var(--ar-primary-rgb), .38);
  box-shadow: var(--ar-shadow) !important;
}

.pub-card h2,
.talk-card h3 {
  line-height: 1.32;
}

.filter-panel {
  position: sticky;
  top: 6rem;
  z-index: 4;
}

.year-heading {
  position: sticky;
  top: 4.9rem;
  z-index: 3;
  padding: .85rem 1rem;
  margin: 2rem 0 1rem;
  border: 1px solid var(--ar-border);
  border-radius: 1rem;
  background: rgba(5, 8, 22, .78);
  backdrop-filter: blur(18px);
}

[data-bs-theme="light"] .year-heading {
  background: rgba(255, 255, 255, .86);
}

.timeline {
  position: relative;
}

.timeline::before {
  content: "";
  position: absolute;
  left: 1.05rem;
  top: .4rem;
  bottom: .4rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(var(--ar-primary), var(--ar-secondary));
}

.timeline-item {
  position: relative;
  padding-left: 3.25rem;
  margin-bottom: 1.25rem;
}

.timeline-dot {
  position: absolute;
  left: .58rem;
  top: .35rem;
  width: 1.08rem;
  height: 1.08rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ar-primary), var(--ar-secondary));
  box-shadow: 0 0 0 .42rem rgba(var(--ar-primary-rgb), .12);
}

.footer {
  border-top: 1px solid var(--ar-border);
  color: var(--ar-muted);
  background: rgba(0, 0, 0, .08);
}

.hidden {
  display: none !important;
}

/* Bootstrap-flavoured utility additions */
.bg-body-tertiary {
  background-color: rgba(255, 255, 255, .07) !important;
}

[data-bs-theme="light"] .bg-body-tertiary {
  background-color: rgba(15, 23, 42, .045) !important;
}

.shadow-sm {
  box-shadow: var(--ar-shadow-soft) !important;
}

.display-4,
.display-5 {
  letter-spacing: -.045em;
}

.lead {
  line-height: 1.75;
}

@media (max-width: 991.98px) {

  .filter-panel,
  .year-heading {
    position: static;
  }

  .hero,
  .page-hero {
    padding-top: 5.8rem;
  }

  .avatar {
    border-radius: 1.45rem;
    transform: none;
  }

  .nav-link {
    border-radius: .85rem;
  }
}