:root { color-scheme: light; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; color: #1d1d1f; background: #fff; font-size: 17px; }
* { box-sizing: border-box; letter-spacing: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body { margin: 0; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: #b60000; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #b60000; outline-offset: 5px; }
.document { width: min(100% - 80px, 1180px); margin: auto; }
.document-header { padding: 52px 0 18px; border-bottom: 1px solid #d2d2d7; }
.brand { display: block; width: fit-content; max-width: 100%; margin: 0 auto; }
.brand img { display: block; width: 307px; max-width: 100%; height: auto; }
.languages { display: flex; gap: 8px; align-items: center; justify-content: flex-end; font-size: .76rem; margin-top: 18px; }
.languages a { text-decoration: none; padding: 4px; color: #6e6e73; }
.languages [aria-current] { font-weight: 700; color: #161616; }
.languages span { color: #aaa; }
.primary-navigation { position: sticky; top: 0; z-index: 20; padding: 14px 8px; border-bottom: 1px solid rgba(0, 0, 0, .14); background: rgba(255, 255, 255, .82); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); font-size: .76rem; line-height: 1.3; }
.primary-navigation-links { display: flex; justify-content: center; gap: 34px; }
.primary-navigation a { color: #1d1d1f; text-decoration: none; white-space: nowrap; }
.primary-navigation a:hover { color: #b60000; }
.primary-navigation a.is-active { font-weight: 600; }
.menu-toggle { display: none; }
.compact-brand { position: absolute; top: 50%; left: 16px; display: block; opacity: 0; pointer-events: none; transform: translateY(-50%); }
.primary-navigation.is-stuck .compact-brand { opacity: 1; pointer-events: auto; }
.compact-brand img { display: block; height: auto; }
.compact-brand-wordmark { width: 126px; }
.compact-brand-symbol { display: none !important; width: 25px; }
.introduction { padding: 92px 24px 88px; }
h1 { text-align: center; margin: 0; color: #111; }
.headline-statement { display: block; max-width: 920px; margin: auto; font-size: 1.47rem; line-height: 1.35; font-weight: 400; }
.headline-statement strong { font-weight: 400; }
.headline-support { max-width: 920px; margin: 28px auto 0; color: #1d1d1f; font-size: 2.6rem; font-weight: 700; line-height: 1.16; text-align: center; }
h2 { font-size: 1.35rem; line-height: 1.35; font-weight: 500; margin: 0; }
h3 { font-size: 1.05rem; line-height: 1.5; margin: 2.2rem 0 .8rem; font-weight: 600; }
p { margin: 0 0 1.2rem; }
.chapter { position: relative; border-top: 1px solid #d2d2d7; scroll-margin-top: 72px; }
.chapter > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 27px 16px; cursor: pointer; }
.chapter[open] { display: grid; grid-template-columns: minmax(210px, 28%) minmax(0, 1fr); }
.chapter[open]::before { content: ""; position: absolute; top: 38px; bottom: 52px; left: 28%; width: 1px; background: #d2d2d7; }
.chapter[open] > summary { grid-column: 1; align-items: flex-start; padding: 38px 30px 52px 16px; }
.chapter[open] > summary .indicator { position: absolute; top: 40px; right: 16px; }
.chapter[open] > .chapter-body { grid-column: 2; padding: 38px 16px 52px 48px; }
.chapter-heading { min-width: 0; }
.chapter[open] > summary .chapter-heading { position: sticky; top: 82px; align-self: flex-start; }
.chapter-subnav { display: flex; flex-direction: column; align-items: stretch; width: 100%; max-width: 250px; margin-top: 32px; counter-reset: section-link; font-size: 13px; line-height: 1.4; }
.chapter:not([open]) .chapter-subnav { display: none; }
.chapter-subnav-label { margin-bottom: 9px; color: #86868b; font-size: 10px; font-weight: 600; text-transform: uppercase; }
.chapter-subnav a { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 8px; padding: 9px 0; border-top: 1px solid #e5e5e7; color: #55555a; text-decoration: none; counter-increment: section-link; }
.chapter-subnav a:last-child { border-bottom: 1px solid #e5e5e7; }
.chapter-subnav a::before { content: counter(section-link, decimal-leading-zero); color: #a1a1a6; font-size: 10px; line-height: 1.82; }
.chapter-subnav a:hover { color: #b60000; }
.chapter-subnav a:hover::before { color: #b60000; }
summary::-webkit-details-marker { display: none; }
.indicator { flex: 0 0 24px; color: #bd0000; font-size: 1.3rem; text-align: center; line-height: 1; }
.indicator::before { content: '+'; }
[open] > summary .indicator::before { content: '\2212'; }
.chapter-body { max-width: 900px; padding: 3px 16px 48px; color: #424245; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.58; }
.chapter-body > :first-child { margin-top: 0; }
.chapter-body h3 { scroll-margin-top: 72px; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; }
#profile-rodrigo,
#profile-sources,
#profile-consultation-sources,
#profile-affiliations,
#profile-methodologies { scroll-margin-top: 96px; }
#profile-consultation-sources,
#profile-affiliations,
#profile-methodologies { margin-top: 2.6rem; padding-top: 2rem; border-top: 1px solid #e5e5e7; }
ul { margin: 0 0 1.5rem; padding-left: 1.6rem; }
li { padding-left: .15rem; margin: .38rem 0; }
.prose { max-width: 780px; }
.prose strong { font-weight: inherit; }

.home-publications__list {
  border-top: 1px solid #d2d2d7;
}

.home-publication {
  padding: 24px 0;
  border-bottom: 1px solid #d2d2d7;
}

.home-publication--book {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 24px;
}

.home-publication__cover {
  display: block;
  align-self: start;
  border: 1px solid #d2d2d7;
}

.home-publication__cover img {
  display: block;
  width: 100%;
  height: auto;
}

.home-publication__meta {
  margin-bottom: 8px;
  color: #86868b;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.home-publication h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
}

.home-publication h3 a,
.home-publication__link,
.home-publications__all {
  text-decoration: none;
}

.home-publication__content > p:not(.home-publication__meta) {
  max-width: 68ch;
  margin-bottom: 12px;
  color: #6e6e73;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .94rem;
  line-height: 1.55;
}

.home-publication__link,
.home-publications__all {
  color: #b60000;
  font-size: .76rem;
  font-weight: 600;
}

.home-publications__all {
  display: inline-block;
  margin-top: 24px;
}

.founder-profile-photo {
  float: left;
  width: min(230px, 35.5%);
  margin: 4px 32px 22px 0;
  padding: 7px;
  border: 1px solid #d2d2d7;
  background: #fff;
}

.founder-profile-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.institution-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 32px;
  margin: 18px 0 42px;
  padding: 0;
  list-style: none;
}

.institution-logos li {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.institution-logos img {
  display: block;
  width: auto;
  max-width: min(150px, 100%);
  height: 46px;
  object-fit: contain;
  object-position: left center;
}

.institution-logos--methodologies img {
  max-width: min(175px, 100%);
  height: 56px;
}

.institution-logos--methodologies img.institution-logo--methodology-large {
  max-width: min(215px, 100%);
  height: 68px;
}

.institution-logos img.institution-logo--london {
  max-width: min(195px, 100%);
  height: 78px;
}

.institution-logos img.institution-logo--mit {
  max-width: min(185px, 100%);
  height: 58px;
}

.institution-logo-pair {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  color: #a1a1a6;
}

.institution-logo-pair img {
  width: auto;
  max-width: calc((100% - 25px) / 2);
  height: 30px;
  object-fit: contain;
}

.institution-logos span {
  color: #424245;
  font-size: 12px;
  line-height: 1.4;
}

.institution-logos small {
  display: block;
  margin-top: 2px;
  color: #6e6e73;
  font-size: 11px;
}

.institution-logos li:not(.institution-item--contextual) > span {
  width: 100%;
}

.institution-logos li:not(.institution-item--contextual) small {
  width: 100%;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e7;
  color: #55555a;
  font-size: 13px;
  line-height: 1.55;
}

.institution-logos li.institution-item--contextual:has(.reference-context[open]) {
  grid-column: 1 / -1;
}

.reference-context {
  width: 100%;
  border-top: 1px solid #e5e5e7;
  color: #55555a;
  font-size: 13px;
  line-height: 1.55;
}

.reference-context > summary {
  display: block;
  padding-top: 10px;
  cursor: pointer;
  list-style: none;
}

.reference-context > summary::-webkit-details-marker {
  display: none;
}

.reference-context__preview {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.reference-context__toggle {
  display: block;
  width: fit-content;
  margin-top: 8px;
  color: #b60000;
  font-size: 12px;
  font-weight: 600;
}

.reference-context__less,
.reference-context__full,
.reference-context[open] .reference-context__preview,
.reference-context[open] .reference-context__more {
  display: none;
}

.reference-context[open] .reference-context__less,
.reference-context[open] .reference-context__full {
  display: block;
}

.reference-context__less {
  font-size: 18px;
  line-height: 1;
}

.reference-context__full {
  max-width: 72ch;
  margin: 12px 0 0;
  color: #424245;
  font-size: 14px;
  line-height: 1.65;
}

.reference-context > summary:hover .reference-context__toggle {
  color: #8f0000;
}

@media (max-width: 900px) {
  .institution-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

blockquote { max-width: 68ch; margin: 0 0 2rem; }
blockquote p { margin-bottom: .3rem; }
cite { font-style: normal; font-size: .9rem; color: #555; }
.section-epigraph { max-width: 250px; margin: 32px 0 0; padding: 1px 0 1px 14px; border-left: 2px solid #c00000; }
.section-epigraph p { margin: 0 0 9px; color: #424245; font-family: Georgia, "Times New Roman", serif; font-size: .88rem; line-height: 1.5; }
.section-epigraph cite { color: #424245; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: .78rem; font-weight: 600; }
.section-epigraph cite span { font-weight: 400; }
.chapter:not([open]) .section-epigraph { display: none; }
.contact { position: relative; display: grid; grid-template-columns: minmax(210px, 28%) minmax(0, 1fr); border-top: 1px solid #d2d2d7; padding: 0 0 64px; scroll-margin-top: 72px; }
.contact::before { content: ""; position: absolute; top: 38px; bottom: 64px; left: 28%; width: 1px; background: #d2d2d7; }
.contact > h2 { padding: 38px 30px 52px 16px; color: #000; }
.contact-body { min-width: 0; padding: 38px 16px 0 48px; color: #000; font-size: 16px; line-height: 1.58; }
.contact-body a:not(.linkedin-button) { color: #000; }
.contact-location { display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: #000; font-size: 1.05rem; font-weight: 600; }
.contact-location-mark { width: 8px; height: 8px; background: #c00000; }
.linkedin-button { display: inline-flex; align-items: center; gap: 12px; padding: 11px 16px; background: #1d1d1f; color: #fff; font-size: .82rem; font-weight: 600; text-decoration: none; }
.linkedin-button:hover { background: #b60000; color: #fff; }
.note { max-width: 720px; padding: 3px 0 3px 16px; border-left: 2px solid #c00000; color: #000; font-size: .9rem; font-weight: 500; line-height: 1.55; }
.correspondence { margin-top: 24px; }
.correspondence > summary { cursor: pointer; text-decoration: underline; text-underline-offset: .2em; width: fit-content; }
form { max-width: 620px; margin-top: 24px; }
label { display: block; margin: 16px 0 6px; }
input, textarea { display: block; width: 100%; border: 0; border-bottom: 1px solid #86868b; border-radius: 0; background: #fff; color: #1d1d1f; font: inherit; padding: 10px 0; }
textarea { resize: vertical; }
button { font: inherit; color: inherit; background: transparent; border: 0; border-bottom: 1px solid #555; padding: 6px 0; margin: 20px 0; cursor: pointer; }
footer { padding: 0 0 32px; font-size: .76rem; color: #6e6e73; scroll-margin-top: 72px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #d2d2d7; }
.footer-information { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-brand { display: inline-flex; align-items: center; gap: 9px; }
.footer-brand img { display: block; flex: 0 0 auto; width: 25px; height: 20px; }
.skip-link { position: absolute; left: 16px; top: -100px; background: white; padding: 12px; }
.skip-link:focus { top: 8px; }
p, li, h1, h2, h3, a { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  :root { font-size: 16px; }
  .document { width: calc(100% - 40px); }
  .document-header { padding-top: 32px; }
  .brand img { width: 245px; }
  .primary-navigation { margin-right: -20px; padding-right: 0; }
  .compact-brand { left: 0; }
  .compact-brand-wordmark { display: none !important; }
  .compact-brand-symbol { display: block !important; }
  .menu-toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 28px; margin: 0 8px 0 auto; padding: 0; border: 0; font-size: 22px; line-height: 1; }
  .primary-navigation-links { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: flex-start; gap: 0; padding: 10px 20px 18px 42px; border-bottom: 1px solid rgba(0, 0, 0, .14); background: rgba(255, 255, 255, .98); font-size: 14px; }
  .primary-navigation.is-open .primary-navigation-links { display: flex; }
  .primary-navigation-links a { width: 100%; padding: 10px 0; }
  .introduction { padding: 56px 0 52px; }
  .headline-statement { font-size: 1.3125rem; line-height: 1.35; }
  .headline-support { margin-top: 22px; font-size: 2rem; line-height: 1.2; }
  .desktop-break { display: none; }
  .chapter > summary { padding: 18px 0; }
  .chapter[open] { display: block; }
  .chapter[open]::before { display: none; }
  .chapter[open] > summary { border-right: 0; border-bottom: 1px solid #ececef; padding: 22px 0; }
  .chapter[open] > summary .indicator { position: static; }
  .chapter[open] > summary .chapter-heading { position: static; }
  .chapter-subnav { max-width: 34rem; margin-top: 24px; }
  .chapter[open] > .chapter-body { padding: 26px 0 34px; }
  .chapter-body { padding: 0 0 28px; }

  .home-publication--book {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 18px;
  }
  .founder-profile-photo { float: none; width: min(230px, 75.2%); margin: 4px 0 24px; }
  .institution-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .institution-logos img { max-width: 130px; height: 40px; }
  .institution-logos--methodologies img { max-width: 150px; height: 48px; }
  .institution-logos--methodologies img.institution-logo--methodology-large { max-width: 180px; height: 58px; }
  .institution-logos img.institution-logo--london { max-width: 168px; height: 68px; }
  .institution-logos img.institution-logo--mit { max-width: 165px; height: 52px; }
  .section-epigraph { max-width: 34rem; margin-top: 24px; padding-left: 14px; }
  .section-epigraph p { font-size: .94rem; }
  .contact { display: block; padding: 0 0 36px; }
  .contact::before { display: none; }
  .contact > h2 { border-right: 0; border-bottom: 1px solid #ececef; padding: 22px 0; }
  .contact-body { padding: 26px 0 0; }
  .footer-bottom { flex-wrap: wrap; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  .primary-navigation-links { gap: 22px; }
  .compact-brand-wordmark { display: none !important; }
  .compact-brand-symbol { display: block !important; }
}
@media print {
  .document { width: 100%; }
  .languages, .primary-navigation, .indicator, .correspondence, .skip-link, footer a { display: none; }
  .document-header { padding-top: 0; }
  .introduction { padding: 24px 0; }
  details::details-content { display: block; content-visibility: visible; }
  .chapter-body { display: block !important; }
  h2, h3 { break-after: avoid; }
}
