@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap');

:root {
  --site-bg: #fbfaf7;
  --site-text: #253344;
  --site-muted: #667281;
  --site-soft: #5e6f82;
  --site-line: rgba(37,51,68,.14);
  --site-card: #ffffff;
  --site-heading: #17293d;
  --site-accent: #a94f4d;
  --site-accent-soft: #f3dfdd;
  --site-deep: #0b1b2a;
}

body.quarto-dark {
  --site-bg: #24354d;
  --site-text: #eef3f7;
  --site-muted: #c7d2dc;
  --site-soft: #a9bdca;
  --site-line: rgba(255,255,255,.15);
  --site-card: rgba(7,24,39,.24);
  --site-heading: #ffffff;
  --site-accent: #ffaaa6;
  --site-accent-soft: rgba(255,170,166,.12);
  --site-deep: #071827;
}

html { scroll-behavior: smooth; }

body {
  background: var(--site-bg);
  color: var(--site-text);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.02rem;
  line-height: 1.74;
  -webkit-font-smoothing: antialiased;
}

p, li { color: var(--site-text); }

a {
  color: var(--site-accent);
  text-underline-offset: .18em;
}

h1, h2, h3, h4, h5, h6,
.navbar, .quarto-title, .profile-kicker,
.profile-links, .meta, .eyebrow, .editorial-kicker {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1, h2, h3, h4 { color: var(--site-heading); }

h1 {
  font-weight: 650;
  letter-spacing: -.035em;
}

h2 {
  font-weight: 600;
  letter-spacing: -.02em;
  margin-top: 2.35rem;
}

h3 { font-weight: 600; }

.navbar {
  min-height: 60px;
  border-bottom: 1px solid var(--site-accent);
  box-shadow: none;
}

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

.navbar .nav-link {
  font-size: .83rem;
  font-weight: 600;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
  color: var(--site-accent) !important;
}

.quarto-color-scheme-toggle {
  margin-left: .35rem;
}

.quarto-title-block {
  margin: 2.5rem 0 1.8rem;
}

.quarto-title-block .title {
  color: var(--site-heading);
  font-size: clamp(2.15rem, 5vw, 3.35rem);
}

.quarto-title-block .description {
  color: var(--site-muted);
  max-width: 720px;
  font-size: 1.05rem;
}

#quarto-content {
  min-height: calc(100vh - 150px);
}

main.content {
  padding-bottom: 4rem;
}

.profile-hero {
  max-width: 800px;
  margin: 0 auto;
  padding: 3.5rem 1.25rem 2.8rem;
  text-align: center;
}

.profile-photo {
  width: 150px;
  height: 150px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  object-fit: cover;
  border: 5px solid var(--site-line);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}

.profile-kicker {
  margin-bottom: .65rem;
  color: var(--site-soft);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .02em;
}

.profile-name {
  margin: 0 0 .35rem;
  font-size: clamp(2.35rem, 6vw, 3.7rem);
  line-height: 1.03;
}

.profile-role {
  color: var(--site-muted);
  font-family: "Montserrat", sans-serif;
  font-size: 1.08rem;
  margin-bottom: 1rem;
}

.profile-lead {
  max-width: 700px;
  margin: 0 auto;
  color: var(--site-text);
  font-size: 1.08rem;
  line-height: 1.7;
}

.profile-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .6rem 1.05rem;
  margin-top: 1.25rem;
  font-size: .79rem;
}

.profile-links a {
  color: var(--site-soft);
  text-decoration: none;
}

.profile-links a:hover { color: var(--site-accent); }

.home-shell {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.25rem 3rem;
}

.home-section {
  padding: 2.45rem 0;
  border-top: 1px solid var(--site-line);
}

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

.section-heading h2 {
  margin: 0;
  font-size: 1.45rem;
}

.section-heading a {
  font-family: "Montserrat", sans-serif;
  font-size: .8rem;
  text-decoration: none;
}

.home-statement {
  max-width: 790px;
  margin: 0;
  color: var(--site-text);
  font-size: 1.1rem;
  line-height: 1.78;
}

.news-list {
  border-top: 1px solid var(--site-line);
}

.news-item {
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 1.15rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--site-line);
}

.news-date {
  color: var(--site-soft);
  font-family: "Montserrat", sans-serif;
  font-size: .8rem;
  font-weight: 600;
}

.news-item p {
  margin: 0;
  color: var(--site-text);
}

.featured-project {
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--site-line);
}

.featured-project:first-of-type {
  border-top: 1px solid var(--site-line);
}

.featured-project .meta {
  margin-bottom: .2rem;
  color: var(--site-soft);
  font-size: .8rem;
  letter-spacing: .01em;
}

.featured-project h3 {
  margin: .12rem 0 .3rem;
  font-size: 1.05rem;
}

.featured-project h3 a {
  color: var(--site-heading);
  text-decoration: none;
}

.featured-project h3 a:hover { color: var(--site-accent); }

.featured-project p {
  max-width: 760px;
  margin: 0;
  color: var(--site-muted);
  font-size: .97rem;
}

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

.latest-card {
  min-height: 165px;
  padding: 1.15rem;
  background: var(--site-card);
  border: 1px solid var(--site-line);
  border-radius: 8px;
}

.latest-card .eyebrow {
  color: var(--site-soft);
  font-size: .8rem;
  letter-spacing: .01em;
}

.latest-card h3 {
  margin: .3rem 0 .5rem;
  font-size: 1.02rem;
}

.latest-card h3 a {
  color: var(--site-heading);
  text-decoration: none;
}

.latest-card p {
  color: var(--site-muted);
  font-size: .93rem;
  margin: 0;
}

.about-intro {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 1.75rem;
  align-items: start;
  margin: 1.25rem 0 2.25rem;
}

.about-intro img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--site-line);
}

.page-intro {
  max-width: 760px;
  color: var(--site-text);
  font-size: 1.07rem;
}

.editorial-list {
  margin-top: 1.6rem;
  border-top: 1px solid var(--site-line);
}

.editorial-item {
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 1.4rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--site-line);
}

.editorial-kicker {
  color: var(--site-soft);
  font-size: .8rem;
  letter-spacing: .01em;
}

.editorial-item h3 {
  margin: 0 0 .3rem;
}

.editorial-item h3 a {
  color: var(--site-heading);
  text-decoration: none;
}

.editorial-item p {
  margin: 0;
  color: var(--site-muted);
}

.quarto-listing .listing-item {
  padding-top: 1.05rem !important;
  padding-bottom: 1.05rem !important;
  border-bottom: 1px solid var(--site-line) !important;
}

.quarto-listing .listing-title,
.quarto-listing .listing-title a {
  color: var(--site-heading) !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.quarto-listing .listing-description,
.quarto-listing .listing-date,
.quarto-listing .listing-categories {
  color: var(--site-muted) !important;
}

.quarto-listing .category {
  border-color: var(--site-line) !important;
  color: var(--site-muted) !important;
}

blockquote {
  color: var(--site-text);
  border-left-color: #c96a67;
}

pre, .sourceCode, .callout {
  border-radius: 6px;
}

code { color: var(--site-accent); }

.toc-active .nav-link.active {
  color: var(--site-accent) !important;
}

.sidebar nav[role=doc-toc] ul > li > a {
  color: var(--site-muted);
}

.nav-footer {
  border: 0 !important;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-family: "Montserrat", sans-serif;
}

.nav-footer a { color: #ffaaa6; }

@media (max-width: 760px) {
  .profile-hero { padding-top: 2.75rem; }

  .profile-photo {
    width: 132px;
    height: 132px;
  }

  .latest-grid,
  .about-intro,
  .editorial-item,
  .news-item {
    grid-template-columns: 1fr;
  }

  .news-item { gap: .25rem; }

  .about-intro img {
    width: 132px;
    height: 132px;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
}


/* restrained academic navigation */
.navbar {
  backdrop-filter: blur(10px);
}

body:not(.quarto-dark) .navbar {
  background: rgba(251,250,247,.96) !important;
}

body:not(.quarto-dark) .navbar-brand,
body:not(.quarto-dark) .navbar .nav-link,
body:not(.quarto-dark) .navbar .navbar-nav .nav-link {
  color: #17293d !important;
}

body:not(.quarto-dark) .navbar .nav-link:hover,
body:not(.quarto-dark) .navbar .nav-link.active {
  color: #a94f4d !important;
}

body.quarto-dark .navbar {
  background: rgba(11,27,42,.97) !important;
}


/* Homepage writing feed */
#home-writing .listing-item {
  padding: 1.2rem 0 !important;
  border-bottom: 1px solid var(--site-line) !important;
}
#home-writing .listing-title,
#home-writing .listing-title a {
  font-family: "Montserrat", sans-serif;
  font-size: 1.08rem;
  color: var(--site-heading) !important;
  text-decoration: none;
}
#home-writing .listing-description {
  color: var(--site-muted) !important;
  max-width: 720px;
}
#home-writing .listing-date,
#home-writing .listing-categories {
  font-size: .82rem;
}


/* Elvis editorial identity v2 */
:root {
  --site-bg: #fffaf4;
  --site-text: #243442;
  --site-muted: #68757d;
  --site-soft: #2f735c;
  --site-line: rgba(23,59,87,.16);
  --site-card: #fffdf9;
  --site-heading: #762844;
  --site-accent: #1d6287;
  --site-green: #2f735c;
  --site-burgundy: #762844;
  --site-pink: #e6a2b5;
  --site-pink-soft: #f8e5eb;
  --site-blue: #173b57;
  --site-deep: #10283d;
}

body.quarto-dark {
  --site-bg: #14283a;
  --site-text: #f6f0ea;
  --site-muted: #c6d2d0;
  --site-soft: #84c9af;
  --site-line: rgba(240,173,192,.18);
  --site-card: rgba(9,31,44,.42);
  --site-heading: #f0adc0;
  --site-accent: #84c9af;
  --site-green: #84c9af;
  --site-burgundy: #f0adc0;
  --site-pink: #f0adc0;
  --site-pink-soft: rgba(240,173,192,.11);
  --site-blue: #79acd0;
  --site-deep: #081923;
}

.navbar {
  position: relative;
  background: #173b57 !important;
  border-bottom: 0 !important;
  box-shadow: none;
}

body.quarto-dark .navbar {
  background: #0d2233 !important;
}

.navbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 4px;
  background: linear-gradient(
    90deg,
    #1d6287 0 28%,
    #2f735c 28% 54%,
    #762844 54% 78%,
    #e6a2b5 78% 100%
  );
}

body:not(.quarto-dark) .navbar-brand,
body:not(.quarto-dark) .navbar .nav-link,
body:not(.quarto-dark) .navbar .navbar-nav .nav-link,
body.quarto-dark .navbar-brand,
body.quarto-dark .navbar .nav-link,
body.quarto-dark .navbar .navbar-nav .nav-link {
  color: #fffaf4 !important;
}

body:not(.quarto-dark) .navbar .nav-link:hover,
body:not(.quarto-dark) .navbar .nav-link.active,
body.quarto-dark .navbar .nav-link:hover,
body.quarto-dark .navbar .nav-link.active {
  color: #f0b1c2 !important;
}

.profile-hero {
  position: relative;
  overflow: hidden;
}

.profile-hero::before,
.profile-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  z-index: -1;
  opacity: .13;
}

.profile-hero::before {
  width: 230px;
  height: 230px;
  background: #2f735c;
  left: -95px;
  top: 55px;
}

.profile-hero::after {
  width: 175px;
  height: 175px;
  background: #e6a2b5;
  right: -65px;
  bottom: 28px;
}

.profile-photo {
  border: 5px solid transparent !important;
  background:
    linear-gradient(var(--site-bg), var(--site-bg)) padding-box,
    conic-gradient(#1d6287, #2f735c, #762844, #e6a2b5, #1d6287) border-box;
  box-shadow: 0 12px 30px rgba(23,59,87,.16);
}

.profile-kicker,
.editorial-kicker,
.latest-card .eyebrow,
.featured-project .meta {
  color: var(--site-green) !important;
}

.profile-name,
.quarto-title-block .title,
h1 {
  color: var(--site-burgundy);
}

body.quarto-dark .profile-name,
body.quarto-dark .quarto-title-block .title,
body.quarto-dark h1 {
  color: var(--site-pink);
}

.section-heading h2,
h2 {
  color: var(--site-blue);
}

body.quarto-dark .section-heading h2,
body.quarto-dark h2 {
  color: var(--site-green);
}

.quarto-listing .listing-title a,
#home-writing .listing-title a {
  color: var(--site-blue) !important;
}

body.quarto-dark .quarto-listing .listing-title a,
body.quarto-dark #home-writing .listing-title a {
  color: var(--site-pink) !important;
}

.quarto-listing .category {
  background: var(--site-pink-soft) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--site-burgundy) !important;
  padding: .22rem .55rem !important;
}

body.quarto-dark .quarto-listing .category {
  color: var(--site-pink) !important;
}

a {
  color: var(--site-accent);
}

a:hover {
  color: var(--site-burgundy);
}

blockquote {
  border-left-color: var(--site-green) !important;
}

.nav-footer {
  background: var(--site-deep);
}

.nav-footer a {
  color: var(--site-pink);
}

@media (max-width: 760px) {
  .navbar::after { height: 3px; }
  .profile-hero::before { width: 150px; height: 150px; }
  .profile-hero::after { width: 120px; height: 120px; }
}


/* Image overflow safety */
main img,
figure img,
.quarto-figure img {
  max-width: 100%;
  height: auto;
}


/* Homepage metadata title */
body:has(.profile-hero) #title-block-header {
  display: none;
}
