/* Requested name typography and dark-gold finish. */
:root {
  --accent: #9c7c28;
  --copper: #9c7c28;
  --gold: #9c7c28;
  --gold-brand: #9c7c28;
  --gold-text: #9c7c28;
  --gold-on-dark: #9c7c28;
  --gold-on-light: #9c7c28;
  --gold-bright: #b79949;
  --gold-dim: rgba(156,124,40,.25);
  --border-gold: rgba(156,124,40,.3);
}
#intro-title, .brand-name {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -.015em;
}
/* Shift the warm photographic atmosphere toward antique gold. */
.hero-scene::before {
  background-color: #927526;
  background-blend-mode: color;
}
::selection { background: #9c7c28; color: #101114; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: #b79949; }

/* Research interests row: larger Avenir Next typography. */
.focus-strip {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-size: clamp(16px, 1.5vw, 21px);
  line-height: 1.45;
  gap: 18px 30px;
}
.focus-strip span {
  font-size: clamp(22px, calc(1.8vw + 2px), 28px);
  letter-spacing: .1em;
}
@media (max-width: 760px) {
  .focus-strip { font-size: 17px; gap: 14px 24px; }
  .focus-strip span { width: 100%; font-size: 22px; }
}

/* Keep the portrait centered inside the rotating spherical shell at every size. */
body.home .cosmos-visual { isolation: isolate; }
body.home .cosmos-visual canvas { position: absolute; inset: 0; }
body.home .cosmos-visual .sphere-back { z-index: 0; }
body.home .cosmos-visual .sphere-front { z-index: 2; }
body.home .cosmos-visual .portrait {
  position: absolute;
  left: var(--sphere-x, 58%);
  top: var(--sphere-y, 48%);
  width: var(--portrait-width, 260px);
  height: var(--portrait-height, 330px);
  transform: translate(-50%, -50%);
  margin: 0;
  z-index: 1;
  opacity: 1;
  pointer-events: none;
}
body.home .cosmos-visual .portrait::before { display: none; }
body.home .cosmos-visual .portrait img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  filter: grayscale(1) contrast(1.06);
  -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
}
body.home .cosmos-visual .portrait figcaption { display: none; }
/* Increase the three interest labels without changing the section label. */
.focus-strip b { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.4; }
@media (max-width: 760px) { .focus-strip b { font-size: 20px; } }

/* Requested Avenir Next typography for the homepage introduction and actions. */
.hero .statement,
.hero .intro,
.hero .button {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
}
.hero .button { font-size: 16px; }

/* Wider introduction, larger supporting text, and a clear vertical action list. */
body.home .hero > div:first-child { max-width: 640px; }
body.home .hero .statement { max-width: 600px; }
body.home .hero .intro { max-width: 600px; font-size: 15px; }
body.home .hero .eyebrow {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  letter-spacing: .12em;
}
body.home .hero .buttons { flex-direction: column; align-items: flex-start; gap: 12px; }
/* Shared persistent navigation. */
.header .brand { color: #9c7c28; font-size: 14px; }
.header .navlinks a, .header .menu {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  color: #9c7c28;
}
.header .navlinks a:hover, .header .navlinks a[aria-current=page] { color: #b79949; }
.header .navlinks a:hover::after, .header .navlinks a[aria-current=page]::after { background: #b79949; }
body.home #research .textlink { font-size: 18px; }
body.home #research .tag { font-size: 16px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .header { height: auto; }
  .header .nav { flex-wrap: wrap; padding-block: 15px; gap: 10px; }
  .header .navlinks { width: 100%; flex-wrap: wrap; gap: 12px 20px; }
  html { scroll-padding-top: 135px; }
  body.home .hero-scene .hero { padding-top: 165px; }
}
@media (max-width: 760px) {
  body.home .hero > div:first-child, body.home .hero .intro { max-width: 100%; }
  body.home .hero-scene .hero { min-height: 1060px; padding-bottom: 350px; }
  body.home .cosmos-visual { top: 760px; }
}

/* Larger research detail headings and descriptions. */
body.home #research .research-pair .mini { font-size: 16px; }
body.home #research .research-pair .mini strong { font-size: 18px; }
/* A very subtle red tint inside the existing academic resources outline. */
body.home .academic-banner { background: #1b1416; }
/* The full appointments list now lives in Academia. */
body.academic #experience .career { margin-top: 0; }

/* The Institute is a separate section before the applied AI ventures. */
body.home .institute-overview .project { border-top: 0; padding-top: 0; padding-bottom: 0; }
/* Keep the doctoral mentoring list full width after removing master's lists. */
body.academic #students .people-grid { grid-template-columns: minmax(0, 1fr); }
body.academic #students .people-grid > div { padding-left: 0; border-left: 0; }
/* Smaller teaching heading and course titles. */
body.academic #teaching .section-title h2 { font-size: 28px; }
body.academic #teaching summary { font-size: 20px; line-height: 1.35; }

/* Individual atmospheric palettes; retain the original photographic texture. */
body.home .hero-scene::before,
body.academic .hero-scene::before,
body.institute .hero-scene::before,
body.ventures .hero-scene::before {
  mix-blend-mode: normal;
  background-blend-mode: screen, normal, luminosity;
  filter: none;
}
body.home .hero-scene::before {
  background-color: #a68b2c;
  background-image:
    radial-gradient(ellipse at 72% 23%, rgba(210,181,83,.20), transparent 66%),
    linear-gradient(90deg, rgba(10,10,9,.40), rgba(10,10,9,.08) 65%),
    url('atmosphere-home.jpg');
}
body.academic .hero-scene::before {
  background-color: #30183f;
  background-image:
    radial-gradient(ellipse at 76% 28%, rgba(94,49,122,.17), transparent 65%),
    linear-gradient(90deg, rgba(12,7,18,.68), rgba(12,7,18,.32) 72%),
    url('atmosphere-academia.jpg');
}
body.institute .hero-scene::before {
  background-color: #661b3c;
  background-image:
    radial-gradient(ellipse at 73% 28%, rgba(120,31,68,.20), transparent 66%),
    linear-gradient(90deg, rgba(19,7,13,.66), rgba(19,7,13,.30) 72%),
    url('atmosphere-institute.jpg');
}
body.institute .page-hero h1 { color: #c8a34d; }
body.institute .hero-form--institute {
  opacity: .95;
  filter: drop-shadow(0 0 10px rgba(200,163,77,.14));
}
body.ventures .hero-scene::before {
  background-color: #69717a;
  background-image:
    linear-gradient(118deg, transparent 25%, rgba(209,217,225,.07) 43%, rgba(231,238,245,.24) 48%, rgba(113,125,138,.04) 55%, transparent 68%),
    linear-gradient(90deg, rgba(7,10,14,.72), rgba(9,13,18,.30) 72%),
    url('atmosphere-ventures.jpg');
}
body.ventures .hero-form--ventures {
  opacity: .90;
  filter: drop-shadow(0 0 12px rgba(205,218,233,.22));
}

/* Homepage: a muted, warmer, matte antique gold with no glossy highlight. */
body.home .hero-scene::before {
  background-color: #806035;
  background-image:
    linear-gradient(90deg, rgba(15,11,8,.52), rgba(15,11,8,.28) 70%),
    url('atmosphere-home.jpg');
  background-blend-mode: normal, luminosity;
  filter: saturate(.78) brightness(.78);
}
/* Center the research introduction in a single, balanced text column. */
body.home #research > .wrap > .section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  margin-bottom: 48px;
}
body.home #research > .wrap > .section-title > div { width: 100%; }
body.home #research > .wrap > .section-title .eyebrow {
  justify-content: center;
  margin-bottom: 16px;
}
body.home #research > .wrap > .section-title .eyebrow::after { display: none; }
body.home #research > .wrap > .section-title h2 {
  max-width: 100%;
  margin-inline: auto;
}
body.home #research > .wrap > .section-title > p {
  max-width: 680px;
  margin: 0 auto;
}

/* Research heading: spaced Garamond with an ornamental italic ampersand. */
body.home #research > .wrap > .section-title .eyebrow {
  font-size: 21px;
  text-transform: uppercase;
}
body.home #research > .wrap > .section-title h2 {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  letter-spacing: .025em;
}
body.home #research .research-ampersand {
  display: inline-block;
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  font-style: italic;
  font-size: 1.16em;
  line-height: 1;
  letter-spacing: 0;
  margin-inline: .16em;
}

/* Requested homepage base color, retaining the matte atmospheric texture. */
body.home .hero-scene::before { background-color: rgb(166, 119, 30); }

/* Larger research heading, scaled for desktop and mobile. */
body.home #research > .wrap > .section-title h2 {
  font-size: clamp(38px, 4.2vw, 62px);
}
@media (max-width: 760px) {
  body.home #research > .wrap > .section-title h2 {
    font-size: clamp(34px, 8.4vw, 46px);
  }
}

/* Subtle full-width section tints, softly fading into the surrounding page. */
body.home #fundamental-ai.section {
  background-color: #101114;
  background-image: linear-gradient(to bottom, #101114 0%, #20131a 24%, #24141d 52%, #20131a 78%, #101114 100%);
  border: 0;
  box-shadow: none;
}
body.home #work.section {
  background-color: #101114;
  background-image: linear-gradient(to bottom, #101114 0%, #1a1d21 18%, #24282d 50%, #1a1d21 82%, #101114 100%);
  border: 0;
  box-shadow: none;
}

/* Research: a subtle dark-purple field fading into the surrounding page. */
body.home #research.section {
  background-color: #101114;
  background-image: linear-gradient(to bottom, #101114 0%, #191322 24%, #21162d 52%, #191322 78%, #101114 100%);
  border: 0;
  box-shadow: none;
}

/* Compact AI ventures overview, aligned with the Institute overview above. */
body.home #work .project { border-top: 0; padding-top: 0; padding-bottom: 0; }

/* Slightly quieter Institute mission statement. */
body.institute .institute-mission { font-size: clamp(18px, 1.8vw, 25px) !important; }
/* Align the research explanation with the heading beneath its eyebrow. */
@media (min-width: 761px) {
  body.institute #research .section-title { align-items: start; }
  body.institute #research .section-title > p { padding-top: 33px; }
}

/* Restore the supplied V5 homepage palette without changing its current layout. */
body.home {
  --accent: #e9e6e2;
  --copper: #ebe8e3;
  --gold: #dddcd9;
  --gold-brand: #8b5520;
  --gold-text: #8b5520;
  --gold-on-dark: #f5f3ef;
  --gold-on-light: #8b5520;
  --gold-bright: #8b5520;
  --gold-dim: rgba(139,85,32,.25);
  --border-gold: rgba(236,239,235,.18);
}
body.home .hero-scene { background-color: #0a0b0c; }
body.home .hero-scene::before {
  background-color: transparent;
  background-image: linear-gradient(90deg,rgba(8,8,10,.40),rgba(0,0,0,.05) 58%,transparent),url('atmosphere-home.jpg');
  background-blend-mode: normal;
  mix-blend-mode: normal;
  filter: saturate(1.02);
}
body.home #research.section,
body.home #fundamental-ai.section,
body.home #work.section {
  background-color: #101114;
  background-image: none;
}
body.home .academic-banner { background: transparent; }
body.home .header .brand { color: #fff; }
body.home .header .navlinks a { color: rgba(255,255,255,.65); }
body.home .header .menu { color: #f1f1ee; }
body.home .header .navlinks a:hover,
body.home .header .navlinks a[aria-current=page] { color: #fff; }
body.home .header .navlinks a:hover::after,
body.home .header .navlinks a[aria-current=page]::after { background: #e9e5dd; }
body.home::selection, body.home ::selection { background: #e7aa80; color: #141414; }
body.home a:focus-visible, body.home button:focus-visible, body.home summary:focus-visible { outline-color: #ffba8c; }

/* A small portrait beside the name, leaving the sphere open. */
body.home .hero-name {
  display: flex;
  align-items: center;
  gap: 24px;
}
body.home .hero .name-portrait {
  position: static;
  width: 96px;
  height: 116px;
  flex: 0 0 96px;
  margin: 0;
  opacity: 1;
  transform: none;
}
body.home .hero .name-portrait::before { display: none; }
body.home .hero .name-portrait img {
  width: 100%;
  height: 116px;
  max-height: none;
  object-fit: contain;
  object-position: center bottom;
  filter: grayscale(1) contrast(1.06);
  -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}
body.home .hero .name-portrait figcaption { display: none; }
@media (max-width: 760px) {
  body.home .hero-name { gap: 12px; }
  body.home .hero .name-portrait { width: 56px; height: 72px; flex-basis: 56px; }
  body.home .hero .name-portrait img { height: 72px; }
}

/* One shared typeface throughout all four pages. */
:root {
  --sans: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  --serif: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  --display: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
}
body,
body :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,b,button,summary,li,figcaption,label,input,textarea,select) {
  font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
}
body.home #research .research-ampersand { font-style: normal; }

/* Restore the ornamental ampersand only; the heading words remain Avenir Next. */
body.home #research .research-ampersand {
  font-family: 'EB Garamond', Garamond, Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

/* Give the research introduction enough room to read as one desktop line. */
body.home #research > .wrap > .section-title > p {
  max-width: none;
  width: 100%;
  text-wrap: nowrap;
}
@media (max-width: 1100px) {
  body.home #research > .wrap > .section-title > p { text-wrap: wrap; }
}
/* Requested Institute introduction sizes. */
body.institute .page-hero .eyebrow { font-size: 18px; }
body.institute .page-hero p.intro { font-size: 16px; }
/* The research directions now have a single heading column. */
body.institute #research .section-title { grid-template-columns: minmax(0, 1fr); }

/* Larger research introduction. */
body.home #research > .wrap > .section-title > p { font-size: 18px; }

/* White text throughout the persistent top bar on every page. */
body .header .brand,
body .header .brand-name,
body .header .menu,
body .header .navlinks a,
body .header .navlinks a:hover,
body .header .navlinks a[aria-current=page],
body.home .header .navlinks a,
body.home .header .navlinks a:hover,
body.home .header .navlinks a[aria-current=page] { color: #fff; }
body .header .navlinks a:hover::after,
body .header .navlinks a[aria-current=page]::after,
body.home .header .navlinks a:hover::after,
body.home .header .navlinks a[aria-current=page]::after { background: #fff; }

/* Institute website notice, centered beneath the hero links. */
body.institute .page-hero .website-coming-soon {
  font-size: 18px;
  width: 100%;
  max-width: none;
  text-align: center;
  margin-top: 28px;
}
/* Academic research text and topic sizes. */
body.academic #research .section-title > p { font-size: 16px; }
body.academic #research .research-item h3 { font-size: 18px; }
body.academic #research .research-item p { font-size: 16px; }

/* Compact, unnumbered selected publications. */
body.academic #publications .section-title { grid-template-columns: minmax(0, 1fr); }
body.academic #publications .section-title h2 { font-size: 30px; }
body.academic #publications .papers { list-style: none; padding-left: 0; }
body.academic #publications .papers li { padding: 16px 0; }
body.academic #publications .papers li::before { content: none; display: none; }
body.academic #publications .papers h3 { font-size: 18px; line-height: 1.4; letter-spacing: -.01em; margin: 0 0 6px; }
body.academic #publications .papers p { font-size: 12px; line-height: 1.65; }
body.academic #students .current-affiliation { display: block; font-size: 13px; color: rgba(242,244,242,.56); margin-top: 3px; }
body.academic #experience .career-row .mentor { margin-top: 6px; }

/* Separate the Oracle statement from its description and capabilities. */
body.ventures #gufo-oracle .oracle-statement { margin: 24px 0; font-size: 22px; line-height: 1.35; }
