
/* ============================================================
   MODERN PROFESSIONAL ENHANCEMENTS
   Designed for academic, university and job-facing portfolios.
   This file intentionally overrides selected existing styles.
============================================================ */

:root {
  --modern-ink: #151514;
  --modern-text: #403b36;
  --modern-cream: #f7f3ed;
  --modern-accent: #8f735c;
  --modern-accent-dark: #6f5542;
  --modern-accent-light: #cdb9a5;
  --modern-line: rgba(23, 23, 22, .12);
  --modern-shadow-sm: 0 12px 34px rgba(24, 21, 18, .07);
  --modern-shadow-lg: 0 28px 70px rgba(24, 21, 18, .12);
  --modern-ease: cubic-bezier(.2, .72, .2, 1);
}


/* Self-contained foundations for the new enhancements (works with the original 13 KB style.css too) */
.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 1000; background: transparent; pointer-events: none; }
.scroll-progress span { display: block; width: 0; height: 100%; background: var(--modern-accent); transition: width .08s linear; }
.hero { position: relative; }
.hero-orbit { position: absolute; border: 1px solid rgba(143,115,92,.18); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 560px; height: 560px; right: -160px; top: 95px; }
.orbit-two { width: 330px; height: 330px; right: 112px; top: 208px; }
.availability-pill { width: fit-content; max-width: 100%; display: inline-flex; align-items: center; gap: 9px; margin-bottom: 26px; padding: 8px 12px; background: rgba(255,255,255,.70); border: 1px solid rgba(23,23,22,.11); font-size: 10px; line-height: 1.4; letter-spacing: .04em; color: #514c46; box-shadow: 0 8px 25px rgba(23,23,22,.035); backdrop-filter: blur(8px); }
.availability-pill > span { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #55755c; box-shadow: 0 0 0 4px rgba(85,117,92,.10); }
.hero-scroll { position: absolute; left: 50%; bottom: 24px; z-index: 5; transform: translateX(-50%); display: flex; align-items: center; gap: 9px; color: var(--muted, #69645f); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll span { width: 32px; height: 1px; background: var(--modern-accent); }
.experience-shell { background: rgba(255,255,255,.40); border: 1px solid rgba(23,23,22,.10); box-shadow: 0 25px 80px rgba(23,23,22,.035); }
.experience-legend { display: grid; grid-template-columns: 80px 1fr 80px; gap: 14px; padding: 13px 22px; border-bottom: 1px solid var(--modern-line); color: #8b857d; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.experience-legend span:last-child { text-align: right; }
.role-chip { width: fit-content; color: var(--modern-accent-dark); background: rgba(143,115,92,.10); padding: 3px 7px; font-family: var(--sans, Arial, sans-serif); font-style: normal; font-size: 8px; line-height: 1.4; font-weight: 700; letter-spacing: .13em; }

/* Site-level polish */
body {
  background:
    radial-gradient(circle at 93% 5%, rgba(143,115,92,.045), transparent 24%),
    var(--paper, #fcfbf8);
}

::selection {
  background: var(--modern-accent);
  color: white;
}

.site-header {
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}

.site-header.scrolled {
  box-shadow: 0 12px 40px rgba(20,18,16,.065);
}

/* Stronger navigation affordance */
.nav-menu a {
  transition: color .22s ease, transform .22s ease;
}
.nav-menu a:hover {
  transform: translateY(-1px);
}
.nav-menu a.active,
.nav-menu a.active-page {
  color: var(--modern-accent-dark);
}

/* Hero depth */
.hero {
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 32%, rgba(143,115,92,.13), transparent 25%),
    linear-gradient(135deg, #f8f4ee 0%, #fcfbf8 56%, #f0e9df 100%);
}
.hero-glow {
  position: absolute;
  width: 460px;
  height: 460px;
  right: 11%;
  top: 21%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(205,185,165,.16), rgba(205,185,165,0) 68%);
  filter: blur(3px);
  pointer-events: none;
  z-index: 0;
}
.modern-orbit {
  pointer-events: none;
  opacity: .8;
}
.hero-copy h1 {
  text-wrap: balance;
}
.hero-copy h1 em {
  background: linear-gradient(100deg, var(--modern-accent-dark), #b59a83);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.availability-pill {
  animation: gentleFloat 5s ease-in-out infinite;
}
.availability-pill > span,
.availability-dot {
  animation: softPulse 2.6s ease-in-out infinite;
}
.hero-actions {
  align-items: center;
}
.hero-cv-link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 9px 2px;
  border-bottom: 1px solid rgba(23,23,22,.35);
  font-size: 11px;
  font-weight: 700;
  color: #4d4741;
  transition: color .22s ease, border-color .22s ease, transform .22s ease;
}
.hero-cv-link:hover {
  color: var(--modern-accent-dark);
  border-color: var(--modern-accent-dark);
  transform: translateY(-2px);
}
.modern-hero-scroll {
  transition: color .25s ease, transform .25s ease;
}
.modern-hero-scroll:hover {
  color: var(--modern-accent-dark);
  transform: translateX(-50%) translateY(-3px);
}

/* Animated metric treatment */
.metrics strong,
.research-count strong,
.archive-metrics strong,
.leadership-stats strong,
.home-pubs-stats strong {
  font-variant-numeric: tabular-nums;
}
[data-count-to] {
  display: inline-block;
  min-width: 1.2ch;
}

/* Premium card interactions */
.feature-card,
.project,
.research-card,
.home-pub-card,
.pub-card,
.profile-theme-grid article {
  will-change: transform;
}
.feature-card:hover,
.project:hover,
.profile-theme-grid article:hover {
  transform: translateY(-8px);
  box-shadow: var(--modern-shadow-lg);
}
.research-card::after,
.feature-card::before,
.project::before,
.profile-theme-grid article::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 2px;
  background: var(--modern-accent);
  transition: width .38s var(--modern-ease);
  z-index: 4;
}
.research-card:hover::after,
.feature-card:hover::before,
.project:hover::before,
.profile-theme-grid article:hover::after {
  width: 100%;
}

/* Experience: more timeline-like and refined */
.experience-shell {
  overflow: hidden;
  border-radius: 2px;
}
.experience-list {
  position: relative;
}
.experience-list::before {
  content: "";
  position: absolute;
  left: 49px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(143,115,92,.35) 8%, rgba(143,115,92,.35) 92%, transparent);
  pointer-events: none;
}
.exp-index {
  position: relative;
  z-index: 2;
}
.exp-index::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  left: 17px;
  top: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: var(--modern-accent);
  box-shadow: 0 0 0 5px rgba(143,115,92,.10);
}
.role-chip {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 2px;
}
.exp-card {
  transition: background .3s ease, box-shadow .3s ease;
}
.exp-card:hover {
  background: rgba(255,255,255,.72);
}
.exp-card.active {
  box-shadow: inset 3px 0 0 var(--modern-accent);
}

/* HOW I WORK */
.workflow-section {
  background:
    linear-gradient(180deg, #fcfbf8 0%, #f7f3ed 100%);
  overflow: hidden;
}
.workflow-intro {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: 90px;
  align-items: end;
  margin-bottom: 70px;
}
.workflow-intro > p {
  color: var(--muted, #69645f);
  margin: 0 0 7px;
}
.workflow-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  border-top: 1px solid var(--modern-line);
  border-bottom: 1px solid var(--modern-line);
}
.workflow-progress {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  overflow: hidden;
}
.workflow-progress span {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--modern-accent);
  transition: width 1.4s var(--modern-ease);
}
.workflow-track.is-visible .workflow-progress span {
  width: 100%;
}
.workflow-track article {
  position: relative;
  min-height: 220px;
  padding: 28px 18px 30px;
  border-right: 1px solid var(--modern-line);
  transition: background .3s ease, transform .3s ease;
}
.workflow-track article:last-child {
  border-right: 0;
}
.workflow-track article:hover {
  background: #fff;
  transform: translateY(-5px);
}
.workflow-track article b {
  display: block;
  color: var(--modern-accent);
  font-family: var(--serif, Georgia, serif);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 48px;
}
.workflow-track article h3 {
  margin: 0 0 10px;
  font-family: var(--serif, Georgia, serif);
  font-size: 20px;
}
.workflow-track article p {
  margin: 0;
  color: var(--muted, #69645f);
  font-size: 11px;
  line-height: 1.6;
}

/* Research section polish */
.research-card {
  transition: background .3s ease, transform .35s var(--modern-ease), box-shadow .35s ease;
}
.research-card:hover {
  transform: translateY(-6px);
  z-index: 3;
}
.home-pub-card {
  transition: transform .38s var(--modern-ease), border-color .3s ease, box-shadow .35s ease;
}
.home-pub-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 55px rgba(0,0,0,.18);
}
.home-pub-cover {
  overflow: hidden;
}
.home-pub-cover img {
  transition: transform .55s var(--modern-ease), filter .55s ease;
}
.home-pub-card:hover .home-pub-cover img {
  transform: scale(1.035);
  filter: saturate(.9) contrast(1.03);
}
.home-pub-read-badge {
  transition: transform .3s var(--modern-ease), background .3s ease;
}
.home-pub-card:hover .home-pub-read-badge {
  transform: translateY(-3px);
}

/* Featured Work carousel */
.featured-work-shell {
  margin: 0 0 34px;
  padding: 32px;
  background: var(--modern-ink);
  color: white;
  overflow: hidden;
  box-shadow: 0 26px 70px rgba(20,18,16,.10);
}
.featured-work-header {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.featured-work-header h3 {
  max-width: 760px;
  margin: 0;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(28px, 4vw, 46px);
}
.featured-work-header em {
  color: var(--modern-accent-light);
}
.carousel-controls {
  display: flex;
  gap: 8px;
}
.carousel-controls button {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.3);
  background: transparent;
  color: white;
  font-size: 17px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.carousel-controls button:hover {
  background: white;
  color: var(--modern-ink);
  transform: translateY(-2px);
}
.featured-work-viewport {
  overflow: hidden;
  touch-action: pan-y;
}
.featured-work-track {
  display: flex;
  transition: transform .65s var(--modern-ease);
}
.featured-slide {
  flex: 0 0 100%;
  min-width: 100%;
  display: grid;
  grid-template-columns: 70px 1.2fr .8fr;
  gap: 34px;
  align-items: center;
  min-height: 395px;
  padding: 38px 0 24px;
}
.slide-number {
  align-self: start;
  color: var(--modern-accent-light);
  font-family: var(--serif, Georgia, serif);
  font-size: 22px;
}
.slide-kicker {
  color: #a9a39c;
  font-size: 9px;
  letter-spacing: .18em;
  font-weight: 700;
}
.slide-copy h4 {
  max-width: 720px;
  margin: 18px 0 16px;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}
.slide-copy p {
  max-width: 650px;
  color: #bdb8b1;
  font-size: 14px;
}
.modern-text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.38);
  color: white;
  font-size: 11px;
  font-weight: 700;
}
.modern-text-link span {
  transition: transform .25s ease;
}
.modern-text-link:hover span {
  transform: translateX(5px);
}
.slide-visual {
  position: relative;
  min-height: 250px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 32px 32px;
  overflow: hidden;
}
.slide-visual::before {
  content: "";
  width: 160px;
  height: 160px;
  border: 1px solid rgba(205,185,165,.34);
  border-radius: 50%;
  position: absolute;
}
.slide-visual span,
.slide-visual b,
.slide-visual em {
  position: absolute;
  font-family: var(--serif, Georgia, serif);
  font-style: normal;
  font-weight: 500;
}
.slide-visual span {
  top: 24px;
  left: 24px;
  color: var(--modern-accent-light);
  font-size: 44px;
}
.slide-visual b {
  right: 20px;
  bottom: 30px;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.45);
  font-size: 46px;
}
.slide-visual em {
  left: 30px;
  bottom: 25px;
  color: rgba(255,255,255,.42);
  font-size: 14px;
  letter-spacing: .16em;
}
.carousel-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.carousel-dots {
  display: flex;
  gap: 8px;
}
.carousel-dot {
  width: 26px;
  height: 3px;
  border: 0;
  background: rgba(255,255,255,.22);
  padding: 0;
  transition: width .3s ease, background .3s ease;
}
.carousel-dot.active {
  width: 48px;
  background: var(--modern-accent-light);
}
.carousel-hint {
  color: #8f8b85;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Case-study cards */
.modern-case-grid .project {
  min-height: 330px;
}
.case-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 14px 0 0;
}
.case-meta span {
  padding: 5px 8px;
  border: 1px solid rgba(143,115,92,.22);
  color: var(--modern-accent-dark);
  background: rgba(143,115,92,.06);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
}
.project-feature .case-meta span {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
  color: var(--modern-accent-light);
}
.case-process {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 18px;
  color: #bcb8b1;
  font-size: 10px;
  letter-spacing: .03em;
}
.case-process b {
  color: var(--modern-accent-light);
}
.case-outcome {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--modern-line);
}
.case-outcome strong,
.case-outcome span {
  display: block;
}
.case-outcome strong {
  color: var(--modern-accent);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.case-outcome span {
  color: var(--muted, #69645f);
  font-size: 11px;
}

/* Opportunity section */
.opportunity-section {
  padding: 72px 0;
  background: var(--modern-cream);
}
.opportunity-card {
  position: relative;
  overflow: hidden;
  background: var(--modern-ink);
  color: white;
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px 60px;
  align-items: center;
}
.opportunity-card::after {
  content: "OPEN";
  position: absolute;
  right: -20px;
  bottom: -42px;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.07);
  font-family: var(--serif, Georgia, serif);
  font-size: 150px;
  line-height: 1;
  pointer-events: none;
}
.opportunity-heading {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.availability-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: 50%;
  background: #79a27f;
  box-shadow: 0 0 0 5px rgba(121,162,127,.11);
}
.opportunity-card h2 {
  max-width: 850px;
  margin-bottom: 0;
  font-size: clamp(34px,4.3vw,58px);
}
.opportunity-card em {
  color: var(--modern-accent-light);
}
.opportunity-roles {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.opportunity-roles span {
  border: 1px solid rgba(255,255,255,.16);
  padding: 7px 10px;
  color: #c8c4be;
  font-size: 10px;
}
.opportunity-button {
  position: relative;
  z-index: 2;
  background: white;
  color: var(--modern-ink);
  border-color: white;
  white-space: nowrap;
}
.opportunity-button:hover {
  background: var(--modern-accent-light);
  color: var(--modern-ink);
  border-color: var(--modern-accent-light);
}

/* Contact utilities */
.email-line {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.copy-email-btn {
  border: 1px solid var(--modern-line);
  background: #f8f6f2;
  padding: 6px 9px;
  color: #5b554e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.copy-email-btn:hover {
  background: var(--modern-ink);
  color: white;
  transform: translateY(-1px);
}

/* Micro animations */
.modern-arrow span {
  display: inline-block;
  transition: transform .25s ease;
}
.modern-arrow:hover span {
  transform: translateX(5px);
}
.button,
.text-link,
.home-pubs-browse,
.pub-read,
.pub-open {
  transition-timing-function: var(--modern-ease) !important;
}

/* Publication archive cards */
.pub-card {
  transition: transform .35s var(--modern-ease), box-shadow .35s ease, border-color .3s ease;
}
.pub-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--modern-shadow-lg);
}
.pub-cover {
  overflow: hidden;
}
.pub-cover img {
  transition: transform .55s var(--modern-ease), filter .55s ease;
}
.pub-card:hover .pub-cover img {
  transform: scale(1.035);
  filter: saturate(.92) contrast(1.03);
}
.profile-theme-grid article {
  position: relative;
  overflow: hidden;
  transition: transform .32s var(--modern-ease), box-shadow .32s ease;
}

/* Back to top */
.modern-back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 70;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(23,23,22,.15);
  background: rgba(252,251,248,.94);
  color: var(--modern-ink);
  display: grid;
  place-items: center;
  box-shadow: var(--modern-shadow-sm);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background .2s ease, color .2s ease;
  backdrop-filter: blur(10px);
}
.modern-back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.modern-back-to-top:hover {
  background: var(--modern-ink);
  color: white;
}

/* Site toast */
.modern-toast {
  position: fixed;
  left: 50%;
  bottom: 30px;
  z-index: 120;
  transform: translate(-50%, 18px);
  padding: 10px 15px;
  background: var(--modern-ink);
  color: white;
  box-shadow: var(--modern-shadow-lg);
  font-size: 11px;
  opacity: 0;
  visibility: hidden;
  transition: .25s ease;
}
.modern-toast.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/* Homepage publication quick preview */
.quick-preview {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.quick-preview.open {
  opacity: 1;
  visibility: visible;
}
.quick-preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12,12,11,.72);
  backdrop-filter: blur(7px);
}
.quick-preview-card {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
  max-height: min(720px, 90vh);
  overflow: auto;
  background: #fcfbf8;
  box-shadow: 0 35px 110px rgba(0,0,0,.27);
  padding: 36px;
  transform: translateY(18px) scale(.985);
  transition: transform .3s var(--modern-ease);
}
.quick-preview.open .quick-preview-card {
  transform: translateY(0) scale(1);
}
.quick-preview-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}
.quick-preview-label {
  color: var(--modern-accent);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.quick-preview-close {
  width: 38px;
  height: 38px;
  border: 1px solid var(--modern-line);
  background: transparent;
  font-size: 19px;
}
.quick-preview-card h3 {
  margin: 0 0 15px;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(30px,5vw,48px);
}
.quick-preview-card p {
  color: var(--muted, #69645f);
}
.quick-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

/* Page transition overlay */
.modern-page-transition {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  background: var(--modern-ink);
  transform: translateY(100%);
}
body.modern-page-leaving .modern-page-transition {
  animation: modernPageCover .34s var(--modern-ease) forwards;
}
body.modern-page-enter .modern-page-transition {
  animation: modernPageReveal .55s var(--modern-ease) both;
}

/* Slightly stronger reveal choreography, compatible with existing .show */
.reveal {
  transition:
    opacity .78s var(--modern-ease),
    transform .78s var(--modern-ease) !important;
}
.reveal.show {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile */
@media (max-width: 980px) {
  .workflow-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .workflow-track {
    grid-template-columns: repeat(2,1fr);
  }
  .workflow-track article {
    border-bottom: 1px solid var(--modern-line);
  }
  .featured-slide {
    grid-template-columns: 50px 1fr;
  }
  .slide-visual {
    grid-column: 1 / -1;
    min-height: 180px;
  }
  .opportunity-card {
    grid-template-columns: 1fr;
  }
  .opportunity-button {
    width: fit-content;
  }
}

@media (max-width: 700px) {
  .availability-pill {
    white-space: normal;
  }
  .hero-actions {
    align-items: stretch;
  }
  .hero-actions .button {
    width: 100%;
  }
  .hero-cv-link {
    width: fit-content;
  }
  .experience-legend {
    display: none;
  }
  .experience-list::before {
    left: 31px;
  }
  .exp-index::after {
    left: 8px;
  }
  .workflow-track {
    grid-template-columns: 1fr;
  }
  .workflow-track article {
    min-height: auto;
    padding: 22px 16px;
    border-right: 0;
  }
  .workflow-track article b {
    margin-bottom: 16px;
  }
  .featured-work-shell {
    padding: 22px 18px;
  }
  .featured-work-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .featured-slide {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 28px 0;
  }
  .slide-number {
    margin-bottom: -10px;
  }
  .slide-visual {
    grid-column: auto;
  }
  .carousel-hint {
    display: none;
  }
  .opportunity-section {
    padding: 42px 0;
  }
  .opportunity-card {
    padding: 30px 22px;
  }
  .opportunity-heading {
    display: block;
  }
  .availability-dot {
    display: block;
    margin-bottom: 14px;
  }
  .quick-preview-card {
    padding: 25px 20px;
  }
  .modern-back-to-top {
    right: 14px;
    bottom: 14px;
  }
}

/* Accessibility: respect users who reduce motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .availability-pill,
  .availability-pill > span,
  .availability-dot {
    animation: none !important;
  }
}

/* Animations */
@keyframes gentleFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes softPulse {
  0%,100% { opacity: .72; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.08); }
}
@keyframes modernPageCover {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes modernPageReveal {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}


/* ============================================================
   CONTENT REFRESH — 21 AUGUST 2026
============================================================ */
.about-grid-expanded{align-items:start}
.about-grid-expanded .about-copy{max-width:690px}
.about-grid-expanded .about-copy p:not(.lead){color:var(--muted);margin-bottom:20px}
.focus-list-five .focus-item{padding-block:24px}
.focus-list-five .focus-item h3{font-size:19px}

.teaching-keywords span:nth-child(5),
.teaching-keywords span:nth-child(6),
.teaching-keywords span:nth-child(7),
.teaching-keywords span:nth-child(8),
.teaching-keywords span:nth-child(9){
  background:rgba(143,115,92,.11);
  border-color:rgba(143,115,92,.24);
  color:var(--modern-accent-dark)
}

.current-study{
  background:linear-gradient(90deg,rgba(143,115,92,.10),rgba(143,115,92,.02));
  border-left:3px solid var(--modern-accent);
  padding-left:18px
}
.current-study>span{color:var(--modern-accent-dark);font-weight:700}
.credential-awards .award-list{margin:14px 0 0;padding-left:19px}
.credential-awards .award-list li{margin:8px 0}

.research-refresh-hero{
  background:radial-gradient(circle at 83% 22%,rgba(143,115,92,.16),transparent 28%),
             linear-gradient(135deg,#f7f3ed,#fcfbf8 58%,#efe6dc)
}
.research-core-section{padding:105px 0;border-bottom:1px solid var(--modern-line)}
.research-core-section:nth-of-type(even){background:#f7f3ed}
.research-core-grid{display:grid;grid-template-columns:170px 1fr;gap:60px}
.research-section-number{position:sticky;top:125px;align-self:start;padding-top:8px}
.research-section-number span{display:block;font-family:var(--serif,Georgia,serif);font-size:70px;line-height:1;color:rgba(143,115,92,.30)}
.research-section-number p{margin:12px 0 0;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--modern-accent-dark)}
.research-core-content>h2{max-width:960px}
.research-core-lead{max-width:870px;font-size:17px;color:var(--muted)}

.research-focus-narrative{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:42px 0 28px;background:var(--modern-line);border:1px solid var(--modern-line)}
.research-focus-narrative article{position:relative;background:#fff;padding:28px;min-height:280px;transition:transform .3s var(--modern-ease),background .3s ease}
.research-focus-narrative article:hover{transform:translateY(-5px);background:#fcfaf6;z-index:2}
.research-focus-narrative small{color:var(--modern-accent);font-size:9px;letter-spacing:.15em;font-weight:700}
.research-focus-narrative h3{font-family:var(--serif,Georgia,serif);margin:34px 0 13px;font-size:26px}
.research-focus-narrative p{color:var(--muted);font-size:13px}

.research-theme-pills{display:flex;flex-wrap:wrap;gap:8px}
.research-theme-pills span{padding:7px 10px;border:1px solid rgba(143,115,92,.2);background:rgba(143,115,92,.06);font-size:10px;color:var(--modern-accent-dark)}
.supervision-refresh-stats{margin:38px 0}
.supervision-refresh-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.supervision-refresh-grid>div{background:#fff;border:1px solid var(--modern-line);padding:26px}
.supervision-refresh-grid h3{font-family:var(--serif,Georgia,serif)}
.supervision-refresh-grid li{margin:8px 0;color:var(--muted)}

.scholarly-writing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:38px 0 24px}
.scholarly-writing-grid article{min-height:170px;padding:24px;background:var(--modern-ink);color:#fff}
.scholarly-writing-grid strong,.scholarly-writing-grid span{display:block}
.scholarly-writing-grid strong{font-family:var(--serif,Georgia,serif);font-size:40px;color:var(--modern-accent-light)}
.scholarly-writing-grid span{margin-top:22px;font-size:12px;color:#c9c4bd}

.books-mini-panel{padding:24px 26px;margin:0 0 45px;background:#f7f3ed;border-left:3px solid var(--modern-accent)}
.books-mini-panel ul{margin:12px 0 0;padding-left:18px;columns:2;column-gap:35px}
.books-mini-panel li{margin:7px 0;color:var(--muted)}

.scholarly-engagement-linkbox{margin-top:48px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;background:var(--modern-ink);color:#fff}
.scholarly-engagement-linkbox h3{font-family:var(--serif,Georgia,serif);font-size:30px;margin:0 0 8px}
.scholarly-engagement-linkbox p:not(.kicker){color:#bbb5ae;margin-bottom:0}
.scholarly-light-link{white-space:nowrap}

.scholar-hero{padding:165px 0 90px;background:radial-gradient(circle at 80% 30%,rgba(143,115,92,.16),transparent 28%),#f7f3ed}
.scholar-hero h1{max-width:980px}
.scholar-hero>.container>p:last-child{max-width:800px;color:var(--muted);font-size:17px}
.scholar-main{padding:95px 0 110px}
.scholar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--modern-line);border:1px solid var(--modern-line)}
.scholar-card{position:relative;min-height:480px;padding:32px;background:#fff;overflow:hidden;transition:transform .35s var(--modern-ease),box-shadow .35s ease}
.scholar-card:hover{transform:translateY(-8px);box-shadow:var(--modern-shadow-lg);z-index:2}
.scholar-card>span{font-family:var(--serif,Georgia,serif);color:var(--modern-accent);font-size:14px}
.scholar-card small{display:block;margin-top:62px;color:var(--modern-accent);font-size:9px;letter-spacing:.15em;font-weight:700}
.scholar-card h2{margin-top:18px;font-size:36px}
.scholar-card p{color:var(--muted)}
.scholar-card-line{position:absolute;left:32px;right:32px;bottom:32px;height:1px;background:var(--modern-line)}
.scholar-card-line::after{content:"";display:block;width:28%;height:1px;background:var(--modern-accent);transition:width .35s ease}
.scholar-card:hover .scholar-card-line::after{width:100%}
.scholar-back{padding:70px 0;background:#f7f3ed}
.scholar-back-card{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:38px;background:#fff;border:1px solid var(--modern-line)}
.scholar-back-card h2{max-width:780px;margin:0;font-size:40px}

@media(max-width:980px){
  .research-core-grid{grid-template-columns:1fr;gap:20px}
  .research-section-number{position:static;display:flex;align-items:baseline;gap:14px}
  .research-section-number span{font-size:48px}
  .research-focus-narrative,.scholarly-writing-grid,.scholar-grid{grid-template-columns:1fr}
  .supervision-refresh-grid{grid-template-columns:1fr}
  .scholarly-engagement-linkbox{grid-template-columns:1fr}
  .books-mini-panel ul{columns:1}
  .scholar-card{min-height:350px}
}
@media(max-width:700px){
  .research-core-section{padding:72px 0}
  .research-focus-narrative article{min-height:0}
  .scholar-hero{padding:135px 0 70px}
  .scholar-back-card{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   EDUCATION — TWO-COLUMN QUALIFICATION LAYOUT
   21 AUGUST 2026
============================================================ */
.education-qualification-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
  margin-top: 42px;
}

.qualification-column {
  position: relative;
  background: #fff;
  border: 1px solid var(--modern-line);
  min-width: 0;
  box-shadow: 0 16px 44px rgba(24,21,18,.05);
}

.qualification-column::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 100%;
  height: 3px;
  background: var(--modern-accent);
}

.qualification-column-professional::before {
  background: var(--modern-accent-light);
}

.qualification-column-header {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 18px;
  align-items: start;
  padding: 28px 28px 24px;
  border-bottom: 1px solid var(--modern-line);
  background:
    linear-gradient(135deg, rgba(143,115,92,.06), rgba(255,255,255,0) 70%);
}

.qualification-column-number {
  font-family: var(--serif, Georgia, serif);
  font-size: 32px;
  line-height: 1;
  color: rgba(143,115,92,.58);
}

.qualification-column-header .kicker {
  margin-bottom: 8px;
}

.qualification-column-header h3 {
  margin: 0;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.08;
}

.qualification-items {
  padding: 0 28px;
}

.qualification-item {
  position: relative;
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid var(--modern-line);
  transition:
    transform .3s var(--modern-ease),
    background .3s ease,
    padding .3s ease;
}

.qualification-item:last-child {
  border-bottom: 0;
}

.qualification-item:hover {
  transform: translateX(4px);
}

.qualification-year {
  align-self: start;
  padding-top: 3px;
  font-family: var(--serif, Georgia, serif);
  color: var(--modern-accent-dark);
  font-size: 14px;
  font-weight: 600;
}

.qualification-copy small {
  display: block;
  margin-bottom: 7px;
  color: var(--modern-accent);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
}

.qualification-copy h4 {
  margin: 0 0 8px;
  font-family: var(--serif, Georgia, serif);
  font-size: 23px;
  line-height: 1.12;
}

.qualification-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.current-qualification {
  margin-inline: -28px;
  padding-inline: 28px;
  background:
    linear-gradient(90deg, rgba(143,115,92,.10), rgba(143,115,92,.015));
  border-left: 3px solid var(--modern-accent);
}

.current-qualification .qualification-year {
  color: var(--modern-accent-dark);
  font-weight: 700;
}

.featured-qualification .qualification-copy h4 {
  color: var(--modern-accent-dark);
}

.professional-qualification .qualification-copy h4 {
  font-size: 21px;
}

.education-support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 28px;
}

.education-support-card {
  position: relative;
  padding: 30px;
  background: #f3eee7;
  border-top: 3px solid var(--modern-accent);
  min-height: 190px;
}

.education-support-card p:not(.kicker),
.education-support-card li {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.education-support-card .award-list {
  padding-left: 18px;
  margin: 16px 0 0;
}

.education-support-card .award-list li {
  margin: 8px 0;
}

@media (max-width: 900px) {
  .education-qualification-grid,
  .education-support-grid {
    grid-template-columns: 1fr;
  }

  .qualification-column-header h3 {
    font-size: 30px;
  }
}

@media (max-width: 560px) {
  .qualification-column-header {
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 22px 18px 20px;
  }

  .qualification-items {
    padding: 0 18px;
  }

  .qualification-item {
    grid-template-columns: 62px 1fr;
    gap: 14px;
    padding: 23px 0;
  }

  .current-qualification {
    margin-inline: -18px;
    padding-inline: 18px;
  }

  .qualification-copy h4,
  .professional-qualification .qualification-copy h4 {
    font-size: 20px;
  }

  .education-support-card {
    padding: 24px 20px;
  }
}


/* ============================================================
   EDUCATION HEADER CLEANUP + SCHOLARLY ENGAGEMENT
   21 AUGUST 2026
============================================================ */

/* Education: remove the former column-heading band completely */
.qualification-column-header,
.qualification-column-number {
  display: none !important;
}

.qualification-column {
  padding-top: 0;
}

.qualification-items {
  padding-top: 6px;
}

/* Give each column a subtle visual identity without text labels */
.qualification-column-academic {
  border-top: 3px solid var(--modern-accent);
}

.qualification-column-professional {
  border-top: 3px solid var(--modern-accent-light);
}

/* Scholarly Engagement on homepage */
.scholarly-home-section {
  background:
    radial-gradient(circle at 88% 18%, rgba(143,115,92,.09), transparent 25%),
    #fcfbf8;
  overflow: hidden;
}

.scholarly-home-head {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 52px;
}

.scholarly-home-head > p {
  margin: 0 0 7px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.scholarly-home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--modern-line);
  border: 1px solid var(--modern-line);
}

.scholarly-home-card {
  position: relative;
  min-height: 360px;
  padding: 30px;
  background: #fff;
  overflow: hidden;
  transition:
    transform .35s var(--modern-ease),
    box-shadow .35s ease,
    background .35s ease;
}

.scholarly-home-card:hover {
  transform: translateY(-7px);
  background: #fcfaf6;
  box-shadow: var(--modern-shadow-lg);
  z-index: 2;
}

.scholarly-home-number {
  display: block;
  margin-bottom: 48px;
  font-family: var(--serif, Georgia, serif);
  font-size: 15px;
  color: var(--modern-accent);
}

.scholarly-home-card small {
  display: block;
  margin-bottom: 14px;
  color: var(--modern-accent);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.6;
}

.scholarly-home-card h3 {
  margin: 0 0 15px;
  font-family: var(--serif, Georgia, serif);
  font-size: 28px;
  line-height: 1.1;
}

.scholarly-home-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.scholarly-home-line {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 28px;
  height: 1px;
  background: var(--modern-line);
}

.scholarly-home-line::after {
  content: "";
  display: block;
  width: 22%;
  height: 1px;
  background: var(--modern-accent);
  transition: width .35s ease;
}

.scholarly-home-card:hover .scholarly-home-line::after {
  width: 100%;
}

.scholarly-home-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 35px;
  margin-top: 28px;
  padding: 26px 28px;
  background: #f4efe8;
  border-left: 3px solid var(--modern-accent);
}

.scholarly-home-footer p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .scholarly-home-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .scholarly-home-grid {
    grid-template-columns: 1fr;
  }

  .scholarly-home-card {
    min-height: 300px;
  }

  .scholarly-home-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}
