:root {
  --paper: #ede8dc;
  --ink: #0b2b2a;
  --panel: #d9d5c8;
  --bio: #e4dfd2;
  --on-dark: #eee7d8;
  --accent: #9d743e;
  --gold: #c8a26b;
  --accent-text: #826034;
  --muted: #5d6965;
  --rule: #0b2b2a2e;
  --gutter: 5vw;
  --display: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --mono: "Courier New", Courier, monospace;
}

.experience,
.bio,
.field-notes {
  --accent-text: #73552e;
  --muted: #535d5a;
}

.site-header,
.hero-aside,
.metrics,
.field-note-featured,
.decision-model,
.site-footer {
  --accent-text: var(--gold);
  --muted: #ffffff99;
  --rule: #ffffff2e;
}

*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, p, blockquote, ul, ol { margin: 0; padding: 0; }
h1, h2, h3 { font-weight: 400; }
ul, ol { list-style: none; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  background: radial-gradient(#00000003 .45px, #0000 .55px) 0 0 / 5px 5px, var(--paper);
}

a { color: inherit; text-decoration: none; }

a:focus-visible,
summary:focus-visible,
.institution-stream:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.institution-stream:focus-visible { outline-offset: -2px; }

.skip-link {
  position: absolute; left: -9999px; top: 12px; z-index: 10;
  padding: 12px 18px;
  background: var(--paper); color: var(--ink);
  font: 700 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.skip-link:focus { left: 12px; }

.site-header {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
  min-height: 86px; padding: 0 var(--gutter);
  background: var(--ink); color: var(--on-dark);
  border-bottom: 1px solid var(--rule);
}

.monogram {
  justify-self: start;
  display: flex; align-items: center; gap: 12px;
  font: 700 18px/1 var(--mono); letter-spacing: -.05em;
}
.monogram span {
  display: grid; place-items: center;
  width: 42px; height: 42px;
  border: 1px solid var(--gold); border-radius: 2px;
}
.monogram b { font: 700 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; }

.nav-toggle {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border: 1px solid #ffffff38;
  cursor: pointer; list-style: none;
  font: 700 10px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase;
}
.nav-toggle::-webkit-details-marker { display: none; }

.nav-bars { position: relative; display: block; width: 16px; height: 2px; background: currentColor; }
.nav-bars::before, .nav-bars::after {
  content: ""; position: absolute; left: 0; width: 100%; height: 2px;
  background: currentColor; transition: transform .2s, top .2s;
}
.nav-bars::before { top: -5px; }
.nav-bars::after { top: 5px; }
.nav-disclosure[open] .nav-bars { background: transparent; }
.nav-disclosure[open] .nav-bars::before { top: 0; transform: rotate(45deg); }
.nav-disclosure[open] .nav-bars::after { top: 0; transform: rotate(-45deg); }

.nav-disclosure > ul {
  position: absolute; top: 100%; left: 0; right: 0;
  display: grid;
  padding: 4px var(--gutter) 20px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}
.site-nav a {
  display: block; padding: 16px 0;
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font: 700 10px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
}
.site-nav a:hover { color: var(--on-dark); }

@supports selector(::details-content) {
  @media (min-width: 901px) {
    .nav-toggle { display: none; }
    .nav-disclosure::details-content { content-visibility: visible; block-size: auto; }
    .nav-disclosure > ul {
      position: static; display: flex; gap: 26px;
      padding: 0; background: none; border: 0;
    }
    .site-nav a { padding: 0; border: 0; }
  }
}

.header-contact {
  justify-self: end;
  padding-bottom: 4px; border-bottom: 1px solid;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  text-align: right;
}

.hero {
  display: grid; grid-template-columns: 1fr 28%;
  min-height: 760px; padding: 75px var(--gutter) 74px;
  border-bottom: 1px solid var(--rule);
}
.hero-index {
  grid-column: 1 / -1; align-self: start;
  display: flex; justify-content: space-between;
  color: var(--muted);
  font: 700 10px/1 var(--mono); letter-spacing: .1em;
}
.hero-main { align-self: end; padding-top: 80px; }

.hero-kicker,
.section-label,
.aside-label,
.disclosures h2 {
  color: var(--accent-text);
  font: 700 11px/1.2 var(--mono); letter-spacing: .16em;
}

.hero h1 {
  max-width: 1150px; margin: 20px 0 30px;
  font: 400 clamp(66px, 7.4vw, 126px)/.87 var(--display); letter-spacing: -.065em;
}
.hero-deck { max-width: 670px; color: var(--muted); font-size: 20px; line-height: 1.5; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 42px; }
.primary-action {
  padding: 16px 22px;
  background: var(--ink); color: var(--paper);
  font: 700 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase;
}
.primary-action:focus-visible { outline-color: var(--ink); }
.text-action { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.hero-aside {
  align-self: end;
  margin-left: 45px; padding: 28px;
  background: var(--ink); color: var(--on-dark);
  box-shadow: 14px 14px #9d743e2e;
}
.hero-aside > p { margin: 20px 0 34px; font: 400 18px/1.45 var(--display); }
.allocation-lines {
  display: grid; gap: 13px;
  color: var(--muted);
  font: 700 9px/1.4 var(--mono); letter-spacing: .09em;
}
.allocation-lines span { display: flex; align-items: center; gap: 10px; }
.allocation-lines i { width: 24px; height: 2px; background: var(--accent); }

.metrics {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--ink); color: var(--on-dark);
}
.metric {
  display: flex; flex-direction: column; justify-content: space-between; gap: 16px;
  min-height: 190px; padding: 34px 3vw;
  border-right: 1px solid var(--rule);
}
.metric:last-child { border-right: 0; }
.metric strong { color: var(--gold); font: 400 clamp(40px, 4vw, 67px)/1 var(--display); letter-spacing: -.04em; }
.metric span {
  max-width: 190px; color: var(--muted);
  font: 700 10px/1.45 var(--mono); letter-spacing: .08em; text-transform: uppercase;
}

.manifesto,
.inquiries {
  padding: 110px var(--gutter) 125px;
  border-bottom: 1px solid var(--rule);
}
.manifesto-copy { display: grid; grid-template-columns: 1.4fr .65fr; gap: 10vw; margin-top: 48px; }
.manifesto h2 { font: 400 clamp(48px, 6vw, 88px)/.99 var(--display); letter-spacing: -.05em; }
.manifesto h2 em,
.bio h2 em { color: var(--accent); }
.manifesto-text { padding-top: 12px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.manifesto-text p { margin: 0 0 26px; }

.platform-grid,
.philosophy-grid,
.field-note-grid,
.inquiry-grid {
  display: grid;
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}
.platform-card,
.philosophy-card,
.field-note,
.inquiry-card {
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.platform-grid { grid-template-columns: repeat(3, 1fr); margin-top: 82px; }
.platform-card { min-height: 255px; padding: 26px 28px 30px; background: #ffffff29; }
.platform-meta,
.inquiry-meta {
  display: flex; justify-content: space-between; gap: 16px;
  color: var(--accent-text);
  font: 700 9px/1 var(--mono); letter-spacing: .1em;
}
.platform-card h3 { margin: 72px 0 16px; font: 400 29px/1.08 var(--display); letter-spacing: -.025em; }
.platform-card p { max-width: 340px; color: var(--muted); font-size: 13px; line-height: 1.6; }

.experience {
  display: grid; grid-template-columns: 36% 1fr;
  padding: 115px var(--gutter) 130px;
  background: var(--panel);
}
.section-heading { padding-right: 6vw; }
.section-heading h2,
.education-heading h2 { margin-top: 25px; font: 400 clamp(42px, 4vw, 68px)/1 var(--display); letter-spacing: -.045em; }
.experience-list { border-top: 1px solid var(--rule); }
.experience-item {
  display: grid; grid-template-columns: 64px 1fr; gap: 16px;
  padding: 35px 0 38px;
  border-bottom: 1px solid var(--rule);
}
.experience-number { color: var(--accent-text); font: 700 11px/1 var(--mono); }
.experience-copy { display: grid; grid-template-columns: 1.3fr 1fr; gap: 10px 36px; }
.experience-eyebrow {
  grid-column: 1 / -1; margin-bottom: 2px;
  color: var(--muted);
  font: 700 10px/1 var(--mono); letter-spacing: .12em;
}
.experience-copy h3 { font: 400 30px/1.08 var(--display); letter-spacing: -.025em; }
.experience-copy > p:not(.experience-eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.65; }
.experience-tags {
  grid-column: 1 / -1; margin-top: 15px;
  color: var(--accent-text);
  font: 700 9px/1.5 var(--mono); letter-spacing: .08em;
}

.bio {
  padding: 115px var(--gutter) 125px;
  background: var(--bio);
  border-bottom: 1px solid var(--rule);
}
.scope-line {
  display: flex; justify-content: space-between; gap: 30px;
  margin-top: 42px; padding: 22px 0;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
}
.scope-line p { font: 400 18px/1.4 var(--display); }
.scope-line span {
  flex: none; align-self: center;
  color: var(--accent-text);
  font: 700 9px/1 var(--mono); letter-spacing: .11em;
}
.bio-grid { display: grid; grid-template-columns: 1.25fr .72fr; gap: 11vw; margin-top: 46px; }
.bio h2 { font: 400 clamp(45px, 5vw, 76px)/1.01 var(--display); letter-spacing: -.045em; }
.bio-copy { color: var(--muted); font-size: 16px; line-height: 1.75; }
.bio-copy p { margin: 0 0 25px; }

.philosophy-intro {
  margin: 78px 0 25px;
  color: var(--accent-text);
  font: 700 10px/1.5 var(--mono); letter-spacing: .11em; text-transform: uppercase;
}
.philosophy-grid { grid-template-columns: repeat(3, 1fr); }
.philosophy-card { min-height: 235px; padding: 26px 28px; }
.philosophy-card > span { color: var(--accent-text); font: 700 10px/1 var(--mono); }
.philosophy-card h3 { margin: 68px 0 16px; font: 400 29px/1.05 var(--display); letter-spacing: -.025em; }
.philosophy-card p { max-width: 320px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.philosophy-close {
  display: grid; grid-template-columns: .65fr 1.35fr; align-items: end; gap: 10vw;
  margin-top: 90px; padding-top: 34px;
  border-top: 1px solid var(--rule);
}
.philosophy-close > p { color: var(--muted); font-size: 15px; line-height: 1.7; }
.philosophy-close blockquote { font: 400 clamp(36px, 4vw, 62px)/1.04 var(--display); letter-spacing: -.035em; }

.field-notes {
  padding: 110px var(--gutter) 125px;
  background: var(--panel);
  border-bottom: 1px solid var(--rule);
}
.field-notes-heading,
.inquiries-heading { display: grid; grid-template-columns: 1.45fr .7fr; align-items: end; gap: 9vw; }
.field-notes-heading h2,
.inquiries-heading h2,
.decision-model-heading h2 { margin-top: 25px; font: 400 clamp(44px, 5vw, 76px)/1 var(--display); letter-spacing: -.045em; }
.field-notes-heading > p,
.inquiries-heading > p { margin-bottom: 5px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.field-note-grid { grid-template-columns: repeat(3, 1fr); margin-top: 70px; }
.field-note {
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 290px; padding: 27px 28px 32px;
}
.field-note > span { color: var(--accent-text); font: 700 10px/1 var(--mono); letter-spacing: .1em; }
.field-note > p { max-width: 380px; margin-top: 54px; font: 400 clamp(24px, 2.15vw, 34px)/1.08 var(--display); letter-spacing: -.025em; }
.field-note-featured { background: var(--ink); color: var(--paper); }

.decision-model {
  padding: 110px var(--gutter) 120px;
  background: var(--ink); color: var(--paper);
}
.decision-model-heading { display: grid; grid-template-columns: .55fr 1fr; align-items: end; gap: 8vw; }
.decision-model > blockquote {
  max-width: 1040px; margin: 90px 0 80px auto;
  font: 400 clamp(36px, 4.8vw, 73px)/1.02 var(--display); letter-spacing: -.045em;
}
.decision-flow {
  display: grid; grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid; border-left: 1px solid;
}
.decision-step {
  position: relative;
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 142px; padding: 20px 18px 23px;
  border-right: 1px solid; border-bottom: 1px solid;
}
.decision-step:not(:last-child)::after {
  content: "→";
  content: "→" / "";
  position: absolute; top: 50%; right: -10px; z-index: 1;
  display: grid; place-items: center;
  width: 20px; height: 20px;
  transform: translateY(-50%);
  background: var(--ink); color: var(--accent-text);
  font: 700 18px/1 var(--mono);
}
.decision-step span { color: var(--accent-text); font: 700 9px/1 var(--mono); }
.decision-step strong { font: 400 clamp(17px, 1.5vw, 22px)/1.1 var(--display); }
.decision-lenses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 52px; }
.decision-lenses article { padding-top: 18px; border-top: 2px solid var(--accent); }
.decision-lenses span { color: var(--accent-text); font: 700 9px/1 var(--mono); letter-spacing: .09em; }
.decision-lenses p { max-width: 340px; margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.65; }

.inquiry-grid { grid-template-columns: repeat(2, 1fr); margin-top: 70px; }
.inquiry-card { min-height: 255px; padding: 26px 28px 31px; }
.inquiry-card h3 { margin: 70px 0 15px; font: 400 clamp(27px, 2.6vw, 39px)/1.05 var(--display); letter-spacing: -.035em; }
.inquiry-card > p { max-width: 500px; color: var(--muted); font-size: 14px; line-height: 1.65; }

.education { padding: 110px 0 70px; border-bottom: 1px solid var(--rule); }
.education-heading {
  display: grid; grid-template-columns: 1.5fr .7fr; align-items: end; gap: 8vw;
  padding: 0 var(--gutter) 60px;
}
.education-heading > p { margin-bottom: 6px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.institution-stream {
  display: flex; gap: 14px;
  padding: 0 var(--gutter) 36px;
  overflow-x: auto;
}
.institution {
  flex: 0 0 240px;
  display: flex; align-items: center; gap: 16px;
  min-height: 106px; padding: 19px;
  border: 1px solid var(--rule); background: #ffffff47;
}
.institution-mark {
  flex: 0 0 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--ink); color: var(--on-dark);
  font: 700 12px/1 var(--sans);
}
.institution-name { font-size: 13px; font-weight: 700; line-height: 1.15; }
.education-footer {
  display: flex; justify-content: space-between; gap: 18px;
  padding: 24px var(--gutter) 0;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font: 700 10px/1.5 var(--mono); letter-spacing: .08em;
}

.credential-index { margin: 62px var(--gutter) 0; border-top: 1px solid var(--rule); }
.credential-group { border-bottom: 1px solid var(--rule); }
.credential-group[open] { background: #ffffff29; }
.credential-group summary {
  display: grid; grid-template-columns: 76px minmax(0, 1fr) 92px 36px; align-items: center;
  min-height: 112px; padding: 0 18px;
  cursor: pointer; list-style: none;
}
.credential-group summary::-webkit-details-marker { display: none; }
.credential-number { color: var(--accent-text); font: 700 11px/1 var(--mono); }
.credential-title { display: grid; gap: 8px; }
.credential-title strong { font: 400 25px/1.15 var(--display); letter-spacing: -.02em; }
.credential-title em {
  color: var(--muted);
  font: 700 9px/1 var(--mono); font-style: normal; letter-spacing: .1em; text-transform: uppercase;
}
.credential-count { color: var(--muted); font: 700 9px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.credential-toggle { justify-self: end; color: var(--accent-text); font: 400 27px/1 var(--mono); transition: transform .2s; }
.credential-group[open] .credential-toggle { transform: rotate(45deg); }
.credential-body {
  display: grid; grid-template-columns: minmax(230px, .72fr) 1.55fr; gap: 7vw;
  padding: 8px 54px 54px 94px;
}
.credential-connection { padding-top: 5px; }
.credential-connection > span,
.credential-item > div:last-child > span { color: var(--accent-text); font: 700 9px/1 var(--mono); letter-spacing: .11em; }
.credential-connection > p { margin-top: 18px; font: 400 19px/1.55 var(--display); }
.credential-items { border-top: 1px solid var(--rule); }
.credential-item {
  display: grid; grid-template-columns: minmax(210px, .9fr) 1.1fr; gap: 42px;
  padding: 25px 0 27px;
  border-bottom: 1px solid var(--rule);
}
.credential-item h3 { margin-bottom: 8px; font: 400 18px/1.25 var(--display); letter-spacing: -.015em; }
.credential-item p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.credential-item > div:last-child > p { margin-top: 9px; }

.site-footer {
  padding: 100px var(--gutter) 34px;
  background: var(--ink); color: var(--on-dark);
}
.footer-main { display: flex; justify-content: space-between; align-items: end; gap: 45px; margin: 45px 0 115px; }
.footer-main h2 { font: 400 clamp(48px, 6vw, 90px)/.95 var(--display); letter-spacing: -.05em; }
.footer-main > a {
  flex: none; padding: 18px 24px;
  border: 1px solid #ffffff59;
  font: 700 10px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
}

.disclosures {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px 8vw;
  padding: 48px 0 56px;
  border-top: 1px solid var(--rule);
}
.disclosures p { max-width: 620px; margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.disclosures a,
.footer-meta a { text-decoration: underline; text-underline-offset: 3px; }

.footer-meta {
  display: flex; justify-content: space-between; gap: 18px;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font: 700 9px/1.5 var(--mono); letter-spacing: .09em;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nav-bars::before, .nav-bars::after, .credential-toggle { transition: none; }
}

@media (max-width: 900px) {
  :root { --gutter: 24px; }

  .site-header { grid-template-columns: auto 1fr auto; padding-top: 20px; padding-bottom: 20px; }
  .site-nav { justify-self: end; }

  .hero { grid-template-columns: 1fr; min-height: auto; padding: 45px var(--gutter) 60px; }
  .hero-index { margin-bottom: 70px; }
  .hero-main { padding-top: 0; }
  .hero h1 { font-size: clamp(56px, 16vw, 88px); }
  .hero-aside {
    --accent-text: inherit; --muted: inherit; --rule: inherit;
    margin: 70px 0 0; padding: 28px 0 0;
    border-top: 1px solid var(--rule);
    background: none; color: inherit; box-shadow: none;
  }

  .metrics { grid-template-columns: 1fr 1fr; }
  .metric { min-height: 160px; padding-left: var(--gutter); padding-right: var(--gutter); }
  .metric:nth-child(2) { border-right: 0; }

  .manifesto,
  .experience,
  .bio,
  .field-notes,
  .decision-model,
  .inquiries { padding-top: 85px; padding-bottom: 85px; }
  .education { padding-top: 85px; }

  .manifesto-copy,
  .education-heading,
  .bio-grid { grid-template-columns: 1fr; gap: 45px; }
  .education-heading { padding-bottom: 55px; }

  .platform-grid { grid-template-columns: 1fr; margin-top: 60px; }
  .platform-card { min-height: 215px; }
  .platform-card h3 { margin-top: 50px; }

  .experience { grid-template-columns: 1fr; gap: 60px; }
  .experience-copy { grid-template-columns: 1fr; }

  .credential-index { margin-top: 50px; }
  .credential-body { grid-template-columns: 1fr; gap: 38px; padding: 0 18px 45px 82px; }
  .credential-item { grid-template-columns: 1fr; gap: 18px; }

  .philosophy-grid { grid-template-columns: 1fr; }
  .philosophy-card { min-height: 195px; }
  .philosophy-card h3 { margin-top: 45px; }
  .philosophy-close { grid-template-columns: 1fr; gap: 45px; margin-top: 70px; }

  .field-notes-heading,
  .inquiries-heading,
  .decision-model-heading { grid-template-columns: 1fr; gap: 42px; }
  .field-note-grid { grid-template-columns: 1fr 1fr; margin-top: 55px; }
  .field-note { min-height: 250px; }

  .decision-model > blockquote { margin: 70px 0 60px; }
  .decision-flow { grid-template-columns: repeat(3, 1fr); }
  .decision-step:nth-child(3)::after { display: none; }
  .decision-lenses { grid-template-columns: 1fr; gap: 28px; }

  .inquiry-grid { grid-template-columns: 1fr; margin-top: 55px; }

  .footer-main { flex-direction: column; align-items: start; }
  .disclosures { grid-template-columns: 1fr; }
  .footer-meta { flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .header-contact { font-size: 9px; }
  .monogram b { display: none; }
  .hero-index span:last-child { display: none; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .scope-line { flex-direction: column; align-items: flex-start; }
  .scope-line span { align-self: flex-start; }

  .metrics { grid-template-columns: 1fr; }
  .metric { min-height: 135px; border-right: 0; border-bottom: 1px solid var(--rule); }

  .manifesto-copy { gap: 35px; }
  .experience-item { grid-template-columns: 36px 1fr; }
  .education-footer { flex-direction: column; align-items: flex-start; }

  .credential-group summary { grid-template-columns: 34px 1fr 26px; min-height: 105px; padding: 0 10px; }
  .credential-title strong { font-size: 20px; }
  .credential-count { display: none; }
  .credential-body { padding: 0 10px 45px 44px; }

  .field-note-grid { grid-template-columns: 1fr; }
  .field-note { min-height: 220px; }

  .decision-flow { grid-template-columns: 1fr; }
  .decision-step { min-height: 105px; }
  .decision-step:not(:last-child)::after,
  .decision-step:nth-child(3)::after {
    content: "↓";
    content: "↓" / "";
    display: grid;
    top: auto; bottom: -10px; right: 50%;
    transform: translate(50%);
  }

  .footer-main { margin-bottom: 85px; }
}
