:root {
  --ink: #141719;
  --ink-light: #fbfaf6;
  --muted: #5f6469;
  --supermuted: #a2abb3;
  --soft: #efefeb;
  --tone: #d7dbde;
  --paper: #fbfaf6;
  --line: #d9d7cf;
  --slate: #4f80d6;
  --slate-dark: #184578;
  --accent: #c73200;
  --max: clamp(1160px, calc(110.4px + 82vw), 1680px);
  --page-gutter: clamp(32px, calc(-60px + 9.375vw), 120px);
  --anchor-offset: 96px;
  --header-pad-x: clamp(32px, 4vw, 72px);
  --header-gap: clamp(18px, 2.5vw, 38px);
  --nav-width: clamp(540px, calc(340px + 25vw), 820px);
  --nav-pad-x: clamp(12px, calc(-20px + 3.125vw), 24px);
  --font-body: clamp(1rem, calc(0.76rem + 0.3vw), 1.12rem);
  --font-muted: calc(var(--font-body) - 1px);
  --font-compact: var(--font-muted);
  --font-caption: clamp(0.9rem, calc(0.78rem + 0.15vw), 0.98rem);
  --font-nav: clamp(0.84rem, calc(0.68rem + 0.25vw), 0.96rem);
  --font-technical: clamp(0.78rem, calc(0.6rem + 0.3vw), 0.98rem);
  --font-tagline: clamp(0.88rem, calc(0.6688rem + 0.264vw), 0.9856rem);
  --font-accent: clamp(1.16rem, calc(1.01rem + 0.3vw), 1.42rem);
  --font-lead: clamp(1.12rem, calc(0.94rem + 0.55vw), 1.5rem);
  --font-page-headline: clamp(2.35rem, calc(0.85rem + 2.7vw), 3.55rem);
  --font-display-xl: clamp(3.4rem, calc(2.8rem + 1.5vw), 5rem);
  --font-display-lg: clamp(2.8rem, calc(2.4rem + 1vw), 3.8rem);
  --font-display-md: clamp(2.15rem, calc(1.83rem + 1vw), 3.65rem);
  --font-home-name: clamp(4.55rem, calc(3.6rem + 1.5vw), 5.7rem);
  --home-title-width-ratio: 1.035;
  --home-title-width-ratio-wide: 1.4;
  --home-title-width-ratio-start: 1280;
  --home-title-width-ratio-end: 1920;
  --home-tagline-title-ratio: 0.17;
  --measure-body: clamp(760px, calc(440px + 25vw), 860px);
  --measure-research: clamp(720px, calc(400px + 25vw), 820px);
  --research-intro-width: var(--measure-research);
  --cv-date-lane: 5.4rem;
  --cv-date-gap: 28px;
}

@media (min-width: 1281px) {
  :root {
    --font-page-headline: clamp(3rem, calc(2.2rem + 1vw), 3.55rem);
  }
}

@media (width >= 1281px) and (aspect-ratio > 3 / 2) {
  .hero-panel {
    row-gap: 8px;
  }

  .hero-statement {
    margin-top: 4px;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-padding-top: var(--anchor-offset);
}

:where([id]) {
  scroll-margin-top: var(--anchor-offset);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

body[data-regime-diagnostic="true"]::before {
  content: "I";
  position: fixed;
  top: 6px;
  right: 6px;
  z-index: 9999;
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 18px;
  padding: 0 5px;
  color: var(--ink-light);
  background: var(--slate);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: var(--slate);
  text-decoration: none;
}

a,
button,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

a:hover,
a.is-touch-pressed {
  color: var(--slate-dark);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3,
p,
figure {
  margin: 0;
}

h1,
h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0;
}

h1 {
  font-size: var(--font-display-xl);
}

h2 {
  font-size: var(--font-display-lg);
}

h3 {
  font-size: clamp(1.18rem, calc(0.89rem + 0.7vw), 1.45rem);
  font-weight: 750;
  line-height: 1.15;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(540px, var(--nav-width)) minmax(0, 1fr);
  align-items: center;
  gap: var(--header-gap);
  padding: 20px var(--header-pad-x);
  background: rgba(251, 250, 246, 0.93);
  border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.brand {
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: clamp(0.95rem, calc(0.79rem + 0.25vw), 1.18rem);
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
}

.brand:hover,
.brand.is-touch-pressed {
  text-decoration: none;
}

.logo-content {
  display: inline-flex;
  align-items: baseline;
}

.logo-part {
  display: inline-block;
}

.logo-initials {
  order: 1;
  color: var(--accent);
}

.logo-name {
  order: 2;
  color: var(--slate-dark);
}

.site-logo.is-touch-pressed .logo-initials {
  color: var(--slate-dark);
}

.site-logo.is-touch-pressed .logo-name {
  color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .site-logo:hover .logo-initials {
    color: var(--slate-dark);
  }

  .site-logo:hover .logo-name {
    color: var(--accent);
  }
}

.parallelogram-box {
  --para-skew: -8deg;
  --para-inclination: 0deg;
  --para-pad-x: 0.7em;
  --para-pad-y: 0.24em;
  --para-line-weight: 1px;
  --para-text: currentColor;
  --para-bg: transparent;
  --para-outline: currentColor;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--para-pad-y) var(--para-pad-x);
  color: var(--para-text);
}

.parallelogram-box::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--para-bg);
  border: var(--para-line-weight) solid var(--para-outline);
  transform: rotate(var(--para-inclination)) skewX(var(--para-skew));
  transform-origin: center;
  pointer-events: none;
}

.site-logo.parallelogram-box {
  --para-skew: 13deg;
  --para-inclination: 3deg;
  --para-pad-x: 0.72em;
  --para-pad-y: 0.18em;
  --para-line-weight: 2px;
  --para-text: var(--ink);
  --para-bg: var(--tone);
  --para-outline: var(--slate-dark);
  justify-self: start;
  touch-action: manipulation;
  -webkit-touch-callout: none;
}

.site-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  justify-self: center;
  width: 100%;
  color: var(--slate-dark);
  font-size: var(--font-nav);
  font-weight: 500;
  letter-spacing: 0.02em;
  border: 2px solid var(--slate-dark);
}

.site-nav a {
  display: grid;
  min-height: 38px;
  place-items: center;
  padding: 8px var(--nav-pad-x) 6px;
  color: var(--slate-dark);
  text-decoration: none;
  white-space: nowrap;
}

.site-nav a:hover,
.site-nav a.is-touch-pressed,
.site-nav a[aria-current="page"] {
  color: var(--slate);
  text-decoration: none;
}

.site-nav a[aria-current="page"] {
  color: var(--ink-light);
  background: var(--slate-dark);
}

.site-nav a + a {
  border-left: 2px solid var(--slate-dark);
}

.external-links {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  font-size: var(--font-nav);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.external-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--slate-dark);
  text-decoration: none;
}

.external-links svg {
  width: 1.05em;
  height: 1.05em;
  fill: currentColor;
  flex: 0 0 auto;
}

.external-links a:hover,
.external-links a.is-touch-pressed {
  color: var(--slate-dark);
  text-decoration: underline;
  text-decoration-color: var(--slate);
  text-underline-offset: 0.2em;
}

.nav-toggle {
  display: none;
}

.nav-toggle:hover,
.nav-toggle.is-touch-pressed {
  background: var(--tone);
}

.nav-menu-footer {
  display: none;
}

.tablet-menu-overlay {
  display: none;
}

.home-hero,
.section,
.page-main {
  width: min(var(--max), calc(100% - var(--page-gutter) - var(--page-gutter)));
  margin-inline: auto;
}

.home-hero {
  display: grid;
  align-items: center;
  min-height: calc(100vh - 72px);
  padding-block: clamp(34px, 5vw, 72px);
}

.home-highlights {
  display: grid;
  grid-template-columns: minmax(160px, 0.72fr) minmax(0, 3fr);
  align-items: center;
  gap: clamp(24px, 4vw, 46px);
  width: min(var(--max), calc(100% - var(--page-gutter) - var(--page-gutter)));
  margin: 0 auto clamp(54px, 7vw, 86px);
  padding-block: clamp(32px, 5vw, 58px);
  border-top: 1px solid var(--line);
}

.highlight-figure picture {
  display: block;
}

.highlight-figure img {
  width: 100%;
  height: auto;
  border: 1px solid var(--slate-dark);
}

.highlight-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 38px);
}

.highlight-columns article {
  display: grid;
  align-content: start;
  gap: 12px;
}

.accent-heading {
  color: var(--accent);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.15;
  font-size: var(--font-accent);
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.highlight-columns p:not(.highlight-heading) {
  color: var(--muted);
  font-size: var(--font-compact);
  line-height: 1.6;
}

.hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr);
  grid-template-areas:
    "name portrait"
    "identity portrait"
    "body portrait"
    "actions portrait";
  align-items: center;
  transform: translateY(-18px);
  column-gap: clamp(34px, 6vw, 78px);
  row-gap: 12px;
  padding: clamp(12px, 2vw, 24px) 0;
}

.hero-name {
  grid-area: name;
  display: inline-block;
  justify-self: start;
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--hero-name-size, var(--font-home-name));
  line-height: 0.95;
  text-align: left;
  color: var(--ink);
  white-space: nowrap;
}

.hero-identity {
  grid-area: identity;
  display: inline-flex;
  width: var(--hero-title-width, max-content);
  max-width: 100%;
  justify-content: space-between;
  gap: var(--tagline-gap, 0.58em);
  text-align: left;
  white-space: nowrap;
}

.tagline-item,
.tagline-dot {
  flex: 0 0 auto;
}

.technical-heading {
  color: var(--slate-dark);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--font-technical);
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-align: left;
  text-transform: uppercase;
}

.hero-statement {
  grid-area: body;
  max-width: var(--measure-body);
  margin-top: 12px;
  color: var(--ink);
  font-size: var(--font-body);
  line-height: 1.66;
  text-align: left;
}

.hero-identity.technical-heading {
  font-size: var(--hero-tagline-size, var(--font-tagline));
}

.lead-sentence {
  color: var(--ink);
  font-weight: 750;
}

.portrait-frame {
  grid-area: portrait;
  justify-self: end;
  width: 100%;
}

.portrait-frame img {
  width: 100%;
  aspect-ratio: 4 / 5.35;
  object-fit: cover;
  object-position: 54% 46%;
  border: 1px solid var(--slate-dark);
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 30px;
}

.button-row.compact {
  grid-area: actions;
  margin-top: 22px;
}

.button {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  color: var(--slate-dark);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid var(--slate-dark);
}

.button:hover,
.button.is-touch-pressed {
  color: var(--slate-dark);
  text-decoration: underline;
}

.button.primary {
  color: var(--ink-light);
  background: var(--slate-dark);
}

.button.primary:hover,
.button.primary.is-touch-pressed {
  color: var(--ink-light);
  text-decoration: underline;
}

.text-link {
  display: inline-flex;
  width: fit-content;
  color: var(--slate-dark);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--slate);
  text-underline-offset: 0.22em;
}

.eyebrow {
  margin-bottom: 16px;
  color: var(--accent);
  font-size: var(--font-accent);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.lead {
  max-width: 780px;
  margin-top: 24px;
  color: var(--muted);
  font-size: var(--font-lead);
}

.section {
  padding-block: clamp(64px, 9vw, 112px);
  border-bottom: 1px solid var(--line);
}

.research-feature,
.about-hero,
.contact-layout,
.cv-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 6vw, 76px);
  align-items: start;
}

.research-feature h2,
.section-heading h2 {
  font-size: var(--font-display-md);
}

.story-layout p,
.research-feature p,
.timeline p,
.cv-item p,
.fact-list dd {
  color: var(--muted);
  font-size: var(--font-muted);
}

.contact-links a {
  color: var(--muted);
}

figcaption {
  max-width: 98%;
  margin: 12px auto 0;
  color: var(--muted);
  font-size: var(--font-caption);
  text-align: center;
}

.timeline,
.figure-grid,
.story-layout {
  display: grid;
  gap: 28px;
}

.figure-grid,
.story-layout {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.timeline article,
.story-layout article {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.about-story {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.about-story article {
  padding-top: 0;
  border-top: 0;
}

.story-layout h2:not(.accent-heading),
.cv-sections h2,
.contact-links h2 {
  margin-bottom: 10px;
}

.page-main {
  padding-block: clamp(48px, 7vw, 90px);
}

.page-hero {
  max-width: 900px;
  margin-bottom: clamp(48px, 7vw, 86px);
}

.research-page {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
}

.research-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  align-items: center;
  gap: clamp(36px, 7vw, 86px);
  min-height: calc(100vh - 176px);
  padding-bottom: clamp(42px, 6vw, 72px);
}

.page-headline {
  max-width: 760px;
  color: var(--ink);
  font-size: var(--font-page-headline);
}

.research-intro {
  transform: translateY(-10px);
}

.research-intro p:not(.eyebrow) {
  width: min(100%, var(--research-intro-width));
  max-width: var(--research-intro-width);
  margin-top: 24px;
  color: var(--ink);
  font-size: var(--font-body);
  line-height: 1.66;
}

.research-intro .page-headline {
  width: min(100%, var(--research-intro-width));
  max-width: var(--research-intro-width);
}

.research-intro-banner {
  width: min(100%, var(--research-intro-width));
  max-width: var(--research-intro-width);
  margin-top: 22px;
}

.research-intro-banner > a {
  display: block;
}

.research-intro-banner img {
  width: 100%;
  height: auto;
  border: 1px solid var(--slate-dark);
}

.research-threads {
  display: grid;
  gap: clamp(29px, 4vw, 43px);
  transform: translateY(-20px);
}

.research-threads article {
  display: grid;
  gap: 10px;
}

.research-threads p {
  color: var(--muted);
  font-size: var(--font-compact);
}

.page-hero h1 {
  max-width: 920px;
  font-size: var(--font-display-xl);
}

.research-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 44px);
  padding: clamp(28px, 5vw, 48px);
  background: var(--soft);
  border: 1px solid var(--line);
}

.featured-work-main {
  display: grid;
  grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 58px);
}

.featured-work-figure img {
  width: 100%;
  height: auto;
  border: 1px solid var(--slate-dark);
}

.featured-work-copy h2 {
  max-width: 760px;
  color: var(--ink);
  font-size: clamp(2.2rem, calc(1.6rem + 1vw), 2.75rem);
}

.featured-work-copy p:not(.eyebrow) {
  margin-top: 20px;
  color: var(--ink);
  font-size: var(--font-body);
  line-height: 1.66;
}

.featured-work-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 32px);
}

.featured-work-details article {
  padding-top: 18px;
  border-top: 1px solid rgba(20, 23, 25, 0.16);
}

.featured-work-details p {
  margin-top: 8px;
  color: var(--muted);
  font-size: var(--font-compact);
}

.research-teaser {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 25px clamp(20px, 4vw, 36px);
  background: rgb(from var(--slate) r g b / 0.14);
  border-left: 4px solid var(--slate-dark);
}

.research-teaser h2 {
  color: var(--ink);
  font-size: clamp(2rem, calc(1.65rem + 0.6vw), 2.45rem);
}

.essay-heading h2 {
  color: var(--ink);
  font-size: var(--font-page-headline);
}

.research-teaser p {
  color: var(--muted);
  font-size: var(--font-muted);
  line-height: 1.68;
}

.thoughts-page {
  max-width: var(--max);
}

.thoughts-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 72px);
  align-items: start;
}

.essay-sidebar {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: var(--anchor-offset);
  padding: clamp(20px, 3vw, 28px);
  background: var(--soft);
  border: 1px solid var(--line);
}

.thoughts-essay {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: clamp(28px, 4vw, 40px);
}

.essay-index {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.essay-index a {
  display: grid;
  gap: 6px;
  color: var(--ink);
  text-decoration: none;
}

.essay-index a:hover span,
.essay-index a.is-touch-pressed span {
  color: var(--slate-dark);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.essay-index span {
  font-weight: 800;
  line-height: 1.25;
}

.essay-index time,
.essay-heading .eyebrow {
  color: var(--accent);
}

.essay-heading {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.essay-heading .eyebrow {
  padding-left: clamp(16px, 3vw, 36px);
  text-align: left;
}

.essay-body {
  display: grid;
  gap: 18px;
  max-width: 820px;
  margin-inline: auto;
}

.essay-body p {
  margin: 0;
  color: var(--muted);
  font-size: var(--font-body);
  line-height: 1.68;
}

.fact-list {
  display: grid;
  gap: 18px;
  margin: 30px 0 0;
}

.fact-list div {
  padding-top: 18px;
  border-top: 1px solid rgba(20, 23, 25, 0.16);
}

.fact-list dt {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fact-list dd {
  margin: 6px 0 0;
}

.section-heading {
  max-width: 760px;
  margin-bottom: 34px;
}

.section-heading.compact {
  margin-bottom: 24px;
}

.timeline span {
  display: block;
  margin-bottom: 14px;
  color: var(--accent);
  font-weight: 800;
}

.figure-placeholder {
  display: grid;
  place-items: center;
  min-height: 280px;
  padding: 28px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(34, 79, 130, 0.14), rgba(24, 69, 120, 0.08)),
    repeating-linear-gradient(90deg, rgba(20, 23, 25, 0.08), rgba(20, 23, 25, 0.08) 1px, transparent 1px, transparent 24px);
  border: 1px solid var(--line);
}

.figure-placeholder.tall {
  min-height: 480px;
}

.figure-placeholder span {
  display: block;
  color: var(--slate-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, calc(1.6rem + 0.6vw), 2.4rem);
}

.figure-placeholder small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.about-hero {
  align-items: start;
  grid-template-columns: minmax(0, var(--about-left-column, 0.9fr)) minmax(0, var(--about-right-column, 1.1fr));
  justify-content: center;
  margin-bottom: clamp(56px, 8vw, 96px);
}

.about-hero-side {
  display: grid;
  align-content: start;
  gap: var(--about-left-gap, clamp(26px, 4vw, 42px));
}

.about-hero img {
  width: 100%;
  object-fit: cover;
  object-position: 52% 44%;
  border: 1px solid var(--slate-dark);
}

.about-hero-text {
  display: grid;
  align-content: start;
}

.about-hero-copy {
  grid-area: auto;
  margin-top: 24px;
}

.about-briefs {
  display: grid;
  gap: var(--about-left-gap, clamp(22px, 3vw, 30px));
  padding-top: 0;
  border-top: 0;
  transform: none;
}

.about-briefs article {
  display: grid;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.about-briefs article:first-child {
  padding-top: 0;
  border-top: 0;
}

.about-briefs p {
  color: var(--muted);
  font-size: var(--font-muted);
  line-height: 1.6;
}

.about-travel-photo {
  width: 100%;
  border: 1px solid var(--slate-dark);
}

.emph-band {
  padding: 40px clamp(20px, 4vw, 36px);
  align-items: center;
  width: min(100%, var(--about-emph-width, 100%));
  margin-inline: auto;
  background: rgb(from var(--slate) r g b / 0.14);
  border-left: 4px solid var(--slate-dark);
}

.emph-band p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, calc(1.5rem + 0.8vw), 2.5rem);
  line-height: 1.18;
  font-style: italic;
}

.about-regime-three-title,
.about-regime-three-prompt,
.about-regime-three-profile,
.about-essay-emph {
  display: none;
}

.cv-layout {
  grid-template-columns: 300px minmax(0, 1fr);
}

.cv-page {
  display: grid;
  gap: clamp(34px, 5vw, 56px);
}

.cv-masthead {
  display: grid;
  gap: 10px;
  justify-items: center;
  padding-bottom: clamp(22px, 4vw, 34px);
  text-align: center;
  border-bottom: 1px solid var(--line);
}

.cv-masthead h1 {
  font-size: var(--font-page-headline);
}

.cv-masthead p {
  color: var(--slate-dark);
  font-size: var(--font-technical);
  font-weight: 750;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.cv-aside {
  position: sticky;
  top: 104px;
  padding: 24px;
  background: var(--soft);
  border: 1px solid var(--line);
}

.cv-aside p {
  margin: 12px 0 22px;
  color: var(--muted);
  font-size: var(--font-muted);
}

.cv-contact-list,
.cv-skill-list {
  display: grid;
  gap: 16px;
  margin: 0;
}

.cv-contact-list div {
  padding-top: 14px;
  border-top: 1px solid rgba(20, 23, 25, 0.16);
}

.cv-contact-list dt,
.cv-skill-list dt {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cv-contact-list dd,
.cv-skill-list dd {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: var(--font-muted);
}

.cv-download {
  width: 100%;
  justify-content: center;
  margin-top: 22px;
}

.cv-sections {
  display: grid;
  gap: clamp(34px, 5vw, 56px);
}

.cv-sections > section {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.cv-masthead + section {
  padding-top: 0;
  border-top: 0;
}

.cv-sections h2,
.story-layout h2:not(.accent-heading),
.contact-links h2,
.cv-aside h2 {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.95rem, calc(1.65rem + 0.6vw), 2.35rem);
  font-weight: 500;
}

.cv-section-heading {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.cv-item {
  margin-top: 12px;
}

.cv-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--cv-date-lane), max-content);
  align-items: baseline;
  column-gap: var(--cv-date-gap);
}

.cv-item-head .meta {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}

.cv-item-head h3 {
  min-width: 0;
}

.cv-item > p:not(.meta),
.publication-item h3,
.publication-item > .meta,
.cv-bullets {
  padding-right: calc(var(--cv-date-lane) + var(--cv-date-gap));
}

.cv-bullets {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding-left: 1.2rem;
  color: var(--muted);
  font-size: var(--font-muted);
}

.cv-bullets li::marker {
  color: var(--accent);
}

.cv-interest-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px clamp(22px, 4vw, 34px);
}

.publication-item {
  padding-top: 0;
  border-top: 0;
}

.meta {
  margin: 7px 0 10px;
  font-size: var(--font-caption);
}

.contact-page {
  display: flex;
  align-items: center;
  min-height: calc(100vh - 170px);
  padding-block: clamp(36px, 5vw, 68px);
}

.contact-layout {
  width: 100%;
  align-items: center;
  padding: clamp(28px, 5vw, 56px);
  background: var(--soft);
  border: 1px solid var(--line);
}

.contact-copy .lead {
  max-width: 640px;
  color: var(--ink);
  font-size: var(--font-body);
  line-height: 1.66;
}

.contact-links {
  display: grid;
  gap: 12px;
  padding: 4px 0 4px clamp(28px, 4vw, 46px);
  border-left: 1px solid var(--line);
}

.contact-links h2 {
  color: var(--slate-dark);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--font-accent);
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.contact-links a {
  width: fit-content;
  text-decoration-color: rgba(34, 79, 130, 0.38);
  text-underline-offset: 4px;
}

.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px clamp(20px, 4vw, 52px);
  color: var(--muted);
  font-size: var(--font-caption);
  border-top: 1px solid var(--line);
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 18px;
}

.footer-contact {
  display: flex;
  justify-content: flex-end;
}

.site-footer a {
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a.is-touch-pressed {
  text-decoration: underline;
}

/* Regime 1: desktop, laptop, and tablet landscape use the default styles above. */

/* Regime 2: big non-wide screens, and medium wide screens. */
@media (width >= 1024px) and (max-aspect-ratio: 3 / 2),
  (width >= 768px) and (width < 1024px) and (height >= 600px) and (orientation: landscape) {
  body[data-regime-diagnostic="true"]::before {
    content: "II";
  }

  .home-hero {
    min-height: auto;
    align-items: start;
    padding-block: clamp(28px, 4vw, 52px);
  }

  .research-overview {
    min-height: auto;
    align-items: start;
    padding-bottom: clamp(28px, 4vw, 52px);
  }

  .research-intro,
  .research-threads {
    transform: none;
  }

  .contact-layout {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .contact-links {
    padding: 24px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

/* Regimes 3-5: shared non-desktop foundation. */
@media (width >= 768px) and (width < 1024px) and (orientation: portrait),
  (width < 768px) and (orientation: portrait),
  (height < 600px) and (orientation: landscape),
  (width < 768px) and (orientation: landscape) {
  :root {
    --anchor-offset: 174px;
  }

  .site-header {
    grid-template-columns: 1fr;
  }

  .site-nav,
  .external-links {
    justify-self: stretch;
  }

  .external-links {
    justify-content: flex-start;
  }

  .research-feature,
  .research-overview,
  .featured-work-main,
  .featured-work-details,
  .thoughts-layout,
  .about-hero,
  .contact-layout,
  .cv-layout,
  .cv-interest-grid,
  .home-highlights,
  .highlight-columns,
  .timeline,
  .figure-grid,
  .story-layout {
    grid-template-columns: 1fr;
  }

  .contact-links {
    padding: 24px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .research-overview {
    min-height: auto;
    align-items: start;
  }

  .research-intro {
    transform: none;
  }

  .research-intro-banner {
    width: 100%;
    max-width: 720px;
  }

  .essay-sidebar {
    grid-column: 1;
    grid-row: auto;
    position: static;
  }

  .thoughts-essay {
    grid-column: 1;
    grid-row: auto;
  }

  .home-hero {
    min-height: auto;
    align-items: start;
  }

  .hero-panel {
    grid-template-columns: 1fr;
    grid-template-areas:
      "name"
      "identity"
      "body"
      "actions"
      "portrait";
    transform: none;
  }

  .portrait-frame {
    justify-self: start;
    max-width: 520px;
    margin-top: 24px;
  }

  .cv-aside {
    position: static;
  }
}

/* Regime 3: small/regular tablet portrait, plus very tall narrow portrait screens. */
@media (width >= 768px) and (width < 1024px) and (orientation: portrait),
  (width < 768px) and (height >= 1024px) and (orientation: portrait) {
  :root {
    --regime-three-interstitial-gap: clamp(24px, 3vw, 30px);
    --regime-three-break-gap: clamp(38px, 5vw, 50px);
  }

  body[data-regime-diagnostic="true"]::before {
    content: "III";
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px;
    padding: 18px clamp(24px, 5vw, 44px);
  }

  .nav-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-grid;
    place-items: center;
    align-self: center;
    justify-self: end;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--slate-dark);
    background: transparent;
    border: 2px solid var(--slate-dark);
    border-radius: 0;
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    grid-column: 1;
    grid-row: 1;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
  }

  .nav-toggle span:nth-child(1) {
    transform: translateY(-7px);
  }

  .nav-toggle span:nth-child(3) {
    transform: translateY(7px);
  }

  .site-header.nav-open .nav-toggle span:nth-child(1) {
    transform: rotate(45deg);
  }

  .site-header.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  .site-header.nav-open .nav-toggle span:nth-child(3) {
    transform: rotate(-45deg);
  }

  .site-logo.parallelogram-box {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .site-nav,
  .external-links,
  .nav-menu-footer {
    display: none;
  }

  .site-header.nav-open .site-nav {
    display: none;
  }

  .tablet-menu-overlay.nav-open {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 20;
    display: block;
    width: auto;
    background: rgba(251, 250, 246, 0.93);
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    will-change: backdrop-filter;
    box-shadow: 0 18px 36px rgba(20, 23, 25, 0.08);
  }

  .tablet-menu-pages {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tablet-menu-pages a {
    position: relative;
    display: grid;
    justify-content: start;
    align-items: center;
    min-height: 46px;
    padding: 13px 18px 11px 22px;
    color: var(--ink);
    background: transparent;
    text-decoration: none;
  }

  .tablet-menu-pages a + a {
    border-top: 1px solid var(--line);
  }

  .tablet-menu-pages a:hover,
  .tablet-menu-pages a.is-touch-pressed {
    color: var(--slate-dark);
    background: rgb(from var(--slate) r g b / 0.08);
  }

  .tablet-menu-pages a[aria-current="page"] {
    color: var(--slate-dark);
    background: transparent;
  }

  .tablet-menu-pages a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 12px;
    bottom: 12px;
    width: 4px;
    background: var(--slate-dark);
  }

  .site-header.nav-open .external-links {
    display: none;
  }

  .tablet-menu-overlay.nav-open .nav-menu-footer {
    display: grid;
    gap: 12px;
    padding: 20px clamp(24px, 5vw, 44px) 24px;
    color: var(--muted);
  }

  .nav-menu-footer p {
    margin: 0;
    font-size: var(--font-caption);
  }

  .nav-menu-footer .footer-links {
    justify-content: flex-start;
    gap: 8px 18px;
  }

  .nav-menu-footer a {
    color: var(--slate);
    text-decoration: none;
  }

  .nav-menu-footer a:hover,
  .nav-menu-footer a.is-touch-pressed {
    color: var(--slate-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .research-intro {
    display: contents;
  }

  .page-main:has(.about-hero) {
    display: grid;
    gap: var(--regime-three-break-gap);
  }

  .about-hero,
  .contact-layout,
  .cv-layout,
  .cv-page,
  .highlight-columns,
  .research-threads,
  .thoughts-layout,
  .thoughts-essay {
    gap: var(--regime-three-interstitial-gap);
  }

  .about-hero {
    display: contents;
    margin-bottom: var(--regime-three-break-gap);
  }

  .cv-layout,
  .cv-sections {
    display: contents;
  }

  .cv-masthead {
    order: 1;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .cv-aside {
    order: 2;
  }

  .cv-download {
    width: fit-content;
    max-width: 100%;
    justify-content: center;
  }

  .cv-sections > section {
    order: 3;
  }

  .about-regime-three-title {
    display: block;
    order: 1;
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .about-regime-three-prompt {
    display: block;
    order: 2;
    width: 100%;
  }

  .about-regime-three-prompt p {
    font-size: clamp(1.55rem, calc(1.1rem + 1.45vw), 2rem);
  }

  .about-regime-three-prompt .text-link {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--font-body);
    font-style: normal;
  }

  .about-regime-three-profile {
    order: 3;
    display: grid;
    gap: var(--regime-three-break-gap);
    width: 100%;
    padding: clamp(28px, 5vw, 48px);
    background: var(--soft);
    border: 1px solid var(--line);
  }

  .about-regime-three-profile img {
    width: 100%;
    border: 1px solid var(--slate-dark);
  }

  .about-regime-three-cards {
    display: grid;
    gap: var(--regime-three-interstitial-gap);
    padding-top: 0;
    border-top: 0;
  }

  .about-regime-three-cards article {
    display: grid;
    gap: 14px;
  }

  .about-regime-three-cards p {
    color: var(--muted);
    font-size: var(--font-muted);
    line-height: 1.6;
  }

  .about-hero-side,
  .about-briefs {
    display: contents;
  }

  .about-hero-text {
    order: 4;
    display: block;
    width: 100%;
    max-width: none;
  }

  .about-hero-text .page-headline {
    display: none;
  }

  .about-essay-emph {
    display: block;
    width: 100%;
    margin-bottom: var(--regime-three-break-gap);
  }

  .about-hero-copy {
    width: 100%;
    max-width: none;
    margin-top: 0;
  }

  .about-hero-text .page-headline + .about-hero-copy {
    margin-top: 0;
  }

  .about-hero-copy + .about-hero-copy {
    margin-top: 1.66em;
  }

  .about-hero-side > img,
  .about-briefs article {
    display: none;
  }

  .about-briefs article {
    border-top: 0;
  }

  .about-travel-figure {
    order: 5;
  }

  .emph-band {
    width: 100%;
  }

  .page-main:has(.about-hero) > .emph-band:not(.about-regime-three-prompt) {
    display: none;
  }

  .research-page {
    gap: var(--regime-three-break-gap);
  }

  .research-overview {
    gap: var(--regime-three-break-gap);
    justify-items: stretch;
    padding-bottom: 0;
  }

  .research-intro .page-headline {
    order: 1;
    width: 100%;
    max-width: none;
    text-align: center;
  }

  .research-intro > p:not(.eyebrow) {
    order: 2;
    width: 100%;
    max-width: none;
    margin-top: 0;
    text-align: left;
  }

  .research-threads {
    order: 3;
    width: 100%;
    max-width: none;
    transform: none;
  }

  .research-threads article {
    position: relative;
    width: 100%;
    max-width: none;
    padding-inline: 24px;
    text-align: left;
  }

  .research-threads article::before {
    content: "";
    position: absolute;
    left: 2px;
    top: calc(var(--font-accent) * 1.15 + 10px + var(--font-compact) * 0.8 - 4px);
    width: 8px;
    height: 8px;
    border: 1.5px solid var(--supermuted);
    transform: rotate(45deg);
  }

  .research-threads p {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .research-intro-banner {
    order: 4;
    width: 100%;
    max-width: none;
    margin-top: 0;
  }

  .research-teaser {
    justify-self: stretch;
    width: 100%;
  }

  .featured-work-details article:nth-child(n + 2) {
    padding-top: 0;
    border-top: 0;
  }

  .hero-panel {
    grid-template-areas:
      "name"
      "identity"
      "portrait"
      "body"
      "actions";
    align-items: start;
    row-gap: 16px;
  }

  .hero-name {
    justify-self: center;
    width: var(--regime-three-home-width, auto);
    max-width: 100%;
    text-align: center;
  }

  .hero-identity {
    justify-self: center;
    max-width: 100%;
    text-align: center;
  }

  .portrait-frame {
    justify-self: center;
    width: var(--regime-three-home-width, 100%);
    max-width: none;
    margin-top: 10px;
  }

  .hero-statement {
    justify-self: center;
    width: var(--regime-three-home-width, 100%);
    max-width: none;
    margin-top: 6px;
    text-align: left;
  }

  .button-row.compact {
    justify-self: center;
    justify-content: center;
    gap: 12px 16px;
    width: var(--regime-three-home-width, 100%);
    margin-top: 8px;
  }

  .home-highlights {
    gap: var(--regime-three-break-gap);
    width: var(--regime-three-home-width, min(var(--max), calc(100% - var(--page-gutter) - var(--page-gutter))));
    margin-top: 0;
    padding-top: 0;
    justify-items: stretch;
    border-top: 0;
  }

  .highlight-figure,
  .highlight-columns {
    width: 100%;
  }
}

/* Regime 4: mobile portrait starts from the Regime 3 layout; concrete overrides live after the shared mobile foundation. */
/* Regime 5: mobile landscape. */
@media (height < 600px) and (orientation: landscape),
  (width < 768px) and (orientation: landscape) {
  body[data-regime-diagnostic="true"]::before {
    content: "V";
  }
}

/* Regimes 4-5: shared mobile foundation. */
@media (width < 768px) and (height < 1024px) and (orientation: portrait),
  (height < 600px) and (orientation: landscape),
  (width < 768px) and (orientation: landscape) {
  :root {
    --anchor-offset: 18px;
  }

  .site-header {
    position: static;
    align-items: flex-start;
    gap: 12px;
  }

  .site-nav {
    justify-self: stretch;
    font-size: 0.78rem;
  }

  .site-nav a {
    min-height: 38px;
    padding: 8px 6px 6px;
  }

  .home-hero,
  .section,
  .page-main {
    width: min(100% - 28px, var(--max));
  }

  .essay-heading {
    max-width: none;
    text-align: left;
  }

  .hero-panel {
    padding: 8px 0;
  }

  .button {
    width: 100%;
    justify-content: center;
  }

  .cv-item-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .cv-item-head .meta {
    order: -1;
    text-align: left;
  }

  .cv-item > p:not(.meta),
  .publication-item h3,
  .publication-item > .meta,
  .cv-bullets {
    padding-right: 0;
  }

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

  .footer-links {
    justify-content: flex-start;
  }

  .footer-contact {
    justify-content: flex-start;
  }
}

/* Regime 4: mobile portrait. */
@media (width < 768px) and (height < 1024px) and (orientation: portrait) {
  body[data-regime-diagnostic="true"]::before {
    content: "IV";
  }

  :root {
    --regime-four-interstitial-gap: clamp(14px, 5vw, 28px);
    --regime-four-break-gap: clamp(20px, 7vw, 40px);
    --regime-four-panel-edge-gap: clamp(14px, 4vw, 24px);
    --regime-four-panel-inline-padding: clamp(16px, 5vw, 24px);
    --regime-four-band-inline-start-padding: clamp(14px, 4.5vw, 22px);
    --regime-four-band-inline-end-padding: clamp(16px, 5vw, 24px);
    --regime-four-non-heading-max: calc(var(--font-page-headline) - 1pt);
    --regime-four-accent-size: min(var(--font-accent), var(--regime-four-non-heading-max));
    --regime-four-body-size: min(calc(var(--font-body) - 1pt), var(--regime-four-non-heading-max));
    --regime-four-band-text-size: min(calc(var(--font-body) + 2pt), var(--regime-four-non-heading-max));
    --regime-four-muted-size: min(calc(var(--font-muted) - 1pt), var(--regime-four-non-heading-max));
    --regime-four-compact-size: min(calc(var(--font-compact) - 1pt), var(--regime-four-non-heading-max));
    --regime-four-caption-size: min(calc(var(--font-body) - 2pt), var(--regime-four-non-heading-max));
    --regime-four-technical-size: min(var(--font-technical), var(--regime-four-non-heading-max));
    --regime-four-cv-tagline-size: min(clamp(0.66rem, 2.35vw, 0.86rem), var(--regime-four-non-heading-max));
    --regime-four-lead-size: min(calc(var(--font-lead) - 1pt), var(--regime-four-non-heading-max));
    --regime-four-small-label-size: min(0.78rem, var(--regime-four-non-heading-max));
    --regime-four-h3-size: min(clamp(1.18rem, calc(0.89rem + 0.7vw), 1.45rem), var(--regime-four-non-heading-max));
    --regime-four-feature-heading-size: min(clamp(2.2rem, calc(1.6rem + 1vw), 2.75rem), var(--regime-four-non-heading-max));
    --regime-four-section-heading-size: min(clamp(1.95rem, calc(1.65rem + 0.6vw), 2.35rem), var(--regime-four-non-heading-max));
  }

  .section,
  .page-main {
    width: min(var(--max), calc(100% - (var(--regime-four-panel-edge-gap) * 2)));
  }

  .home-hero {
    width: min(var(--max), calc(100% - var(--page-gutter) - var(--page-gutter)));
  }

  .button {
    width: auto;
  }

  .site-header {
    position: sticky;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px;
    padding: 18px clamp(24px, 5vw, 44px);
  }

  .nav-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-grid;
    place-items: center;
    align-self: center;
    justify-self: end;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--slate-dark);
    background: transparent;
    border: 2px solid var(--slate-dark);
    border-radius: 0;
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    grid-column: 1;
    grid-row: 1;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
  }

  .nav-toggle span:nth-child(1) {
    transform: translateY(-7px);
  }

  .nav-toggle span:nth-child(3) {
    transform: translateY(7px);
  }

  .site-header.nav-open .nav-toggle span:nth-child(1) {
    transform: rotate(45deg);
  }

  .site-header.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  .site-header.nav-open .nav-toggle span:nth-child(3) {
    transform: rotate(-45deg);
  }

  .site-logo.parallelogram-box {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .site-nav,
  .external-links,
  .nav-menu-footer {
    display: none;
  }

  .site-header.nav-open .site-nav {
    display: none;
  }

  .tablet-menu-overlay.nav-open {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 20;
    display: block;
    width: auto;
    background: rgba(251, 250, 246, 0.93);
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    will-change: backdrop-filter;
    box-shadow: 0 18px 36px rgba(20, 23, 25, 0.08);
  }

  .tablet-menu-pages {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tablet-menu-pages a {
    position: relative;
    display: grid;
    justify-content: start;
    align-items: center;
    min-height: 46px;
    padding: 13px 18px 11px 22px;
    color: var(--ink);
    background: transparent;
    text-decoration: none;
  }

  .tablet-menu-pages a + a {
    border-top: 1px solid var(--line);
  }

  .tablet-menu-pages a:hover,
  .tablet-menu-pages a.is-touch-pressed {
    color: var(--slate-dark);
    background: rgb(from var(--slate) r g b / 0.08);
  }

  .tablet-menu-pages a[aria-current="page"] {
    color: var(--slate-dark);
    background: transparent;
  }

  .tablet-menu-pages a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 12px;
    bottom: 12px;
    width: 4px;
    background: var(--slate-dark);
  }

  .site-header.nav-open .external-links {
    display: none;
  }

  .tablet-menu-overlay.nav-open .nav-menu-footer {
    display: grid;
    gap: 12px;
    padding: 20px clamp(24px, 5vw, 44px) 24px;
    color: var(--muted);
  }

  .nav-menu-footer p {
    margin: 0;
    font-size: var(--font-caption);
  }

  .nav-menu-footer .footer-links {
    justify-content: flex-start;
    gap: 8px 18px;
  }

  .nav-menu-footer a {
    color: var(--slate);
    text-decoration: none;
  }

  .nav-menu-footer a:hover,
  .nav-menu-footer a.is-touch-pressed {
    color: var(--slate-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .research-intro {
    display: contents;
  }

  .page-main:has(.about-hero) {
    display: grid;
    gap: var(--regime-four-break-gap);
  }

  .about-hero,
  .contact-layout,
  .cv-layout,
  .cv-page,
  .highlight-columns,
  .research-threads,
  .thoughts-layout,
  .thoughts-essay {
    gap: var(--regime-four-interstitial-gap);
  }

  .about-hero {
    display: contents;
    margin-bottom: var(--regime-four-break-gap);
  }

  .cv-layout,
  .cv-sections {
    display: contents;
  }

  .cv-masthead {
    order: 1;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .cv-aside {
    order: 2;
  }

  .cv-download {
    width: fit-content;
    max-width: 100%;
    justify-content: center;
  }

  .cv-sections > section {
    order: 3;
  }

  .about-regime-three-title {
    display: block;
    order: 1;
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .about-regime-three-prompt {
    display: block;
    order: 2;
    width: 100%;
    margin-top: calc(var(--regime-four-interstitial-gap) - var(--regime-four-break-gap));
  }

  .about-regime-three-prompt p {
    font-size: clamp(1.55rem, calc(1.1rem + 1.45vw), 2rem);
  }

  .about-regime-three-prompt .text-link {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--font-body);
    font-style: normal;
  }

  .about-regime-three-profile {
    order: 3;
    display: grid;
    gap: var(--regime-four-break-gap);
    width: 100%;
    padding: clamp(28px, 5vw, 48px);
    background: var(--soft);
    border: 1px solid var(--line);
  }

  .about-regime-three-profile img {
    width: 100%;
    border: 1px solid var(--slate-dark);
  }

  .about-regime-three-cards {
    display: grid;
    gap: var(--regime-four-interstitial-gap);
    padding-top: 0;
    border-top: 0;
  }

  .about-regime-three-cards article {
    display: grid;
    gap: 14px;
  }

  .about-regime-three-cards p {
    color: var(--muted);
    font-size: var(--font-muted);
    line-height: 1.6;
  }

  .about-hero-side,
  .about-briefs {
    display: contents;
  }

  .about-hero-text {
    order: 4;
    display: block;
    width: 100%;
    max-width: none;
  }

  .about-hero-text .page-headline {
    display: none;
  }

  .about-essay-emph {
    display: block;
    width: 100%;
    margin-bottom: var(--regime-four-break-gap);
  }

  .about-hero-copy {
    width: 100%;
    max-width: none;
    margin-top: 0;
  }

  .about-hero-text .page-headline + .about-hero-copy {
    margin-top: 0;
  }

  .about-hero-copy + .about-hero-copy {
    margin-top: 1.66em;
  }

  .about-hero-side > img,
  .about-briefs article {
    display: none;
  }

  .about-briefs article {
    border-top: 0;
  }

  .about-travel-figure {
    order: 5;
  }

  .emph-band {
    width: 100%;
  }

  .page-main:has(.about-hero) > .emph-band:not(.about-regime-three-prompt) {
    display: none;
  }

  .research-page {
    gap: var(--regime-four-break-gap);
  }

  .research-overview {
    gap: var(--regime-four-break-gap);
    justify-items: stretch;
    padding-bottom: 0;
  }

  .research-intro .page-headline {
    order: 1;
    width: 100%;
    max-width: none;
    text-align: center;
  }

  .research-intro > p:not(.eyebrow) {
    order: 2;
    width: 100%;
    max-width: none;
    margin-top: calc(var(--regime-four-interstitial-gap) - var(--regime-four-break-gap));
    font-size: var(--regime-four-body-size);
    text-align: left;
  }

  .contact-copy .page-headline + .lead {
    margin-top: var(--regime-four-interstitial-gap);
  }

  .research-threads {
    order: 3;
    width: 100%;
    max-width: none;
    transform: none;
  }

  .research-threads article {
    position: relative;
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 24px;
    text-align: left;
  }

  .research-threads article::before {
    content: "";
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    width: 8px;
    height: 8px;
    border: 1.5px solid var(--supermuted);
    transform: rotate(45deg);
  }

  .research-threads article > .accent-heading {
    grid-column: 2;
    grid-row: 1;
  }

  .research-threads p {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    max-width: none;
    font-size: var(--regime-four-compact-size);
    text-align: left;
  }

  .research-intro-banner {
    order: 4;
    width: 100%;
    max-width: none;
    margin-top: 0;
  }

  .research-intro-banner img {
    aspect-ratio: 1.618 / 1;
    height: auto;
    object-fit: cover;
    object-position: center;
  }

  .research-teaser {
    justify-self: stretch;
    width: 100%;
  }

  .research-feature,
  .essay-sidebar,
  .contact-layout,
  .cv-aside,
  .about-regime-three-profile {
    width: 100%;
    padding-inline: var(--regime-four-panel-inline-padding);
  }

  .research-teaser,
  .emph-band {
    width: 100%;
    padding-inline: var(--regime-four-band-inline-end-padding);
    padding-left: var(--regime-four-band-inline-start-padding);
  }

  .featured-work-copy h2,
  .contact-copy .lead {
    max-width: none;
  }

  .page-main .eyebrow,
  .page-main .accent-heading,
  .timeline span,
  .home-highlights .accent-heading {
    font-size: var(--regime-four-accent-size);
  }

  .page-main .technical-heading {
    font-size: var(--regime-four-technical-size);
  }

  .cv-masthead p {
    font-size: var(--regime-four-cv-tagline-size);
    white-space: nowrap;
  }

  .page-main .lead {
    font-size: var(--regime-four-lead-size);
  }

  .page-main h3 {
    font-size: var(--regime-four-h3-size);
  }

  .research-page p,
  .thoughts-page p,
  .essay-body p,
  .about-hero-copy,
  .about-regime-three-cards p,
  .cv-item p,
  .cv-bullets,
  .cv-contact-list dd,
  .cv-skill-list dd,
  .story-layout p,
  .research-feature p,
  .timeline p,
  .fact-list dd,
  .home-highlights p:not(.highlight-heading) {
    font-size: var(--regime-four-muted-size);
  }

  .research-page .research-intro > p:not(.eyebrow),
  .research-page .featured-work-copy p:not(.eyebrow),
  .contact-page .lead,
  .about-regime-three-prompt .text-link,
  .contact-links a {
    font-size: var(--regime-four-body-size);
  }

  .research-page .research-threads p,
  .research-page .featured-work-details p,
  .highlight-columns p:not(.highlight-heading) {
    font-size: var(--regime-four-compact-size);
  }

  .research-page .featured-work-copy h2,
  .research-feature h2,
  .section-heading h2,
  .figure-placeholder span {
    font-size: var(--regime-four-feature-heading-size);
  }

  .research-page .research-teaser h2 {
    font-size: var(--regime-four-band-text-size);
  }

  .story-layout h2:not(.accent-heading),
  .cv-sections h2,
  .contact-links h2,
  .cv-aside h2 {
    font-size: var(--regime-four-section-heading-size);
  }

  .emph-band p {
    font-size: var(--regime-four-band-text-size);
  }

  .about-regime-three-prompt p {
    font-size: var(--regime-four-band-text-size);
  }

  .fact-list dt,
  .cv-contact-list dt,
  .cv-skill-list dt {
    font-size: var(--regime-four-small-label-size);
  }

  figcaption,
  .meta,
  .figure-placeholder small,
  .site-footer {
    font-size: var(--regime-four-caption-size);
  }

  figcaption {
    line-height: 1.6;
  }

  .featured-work-details article:nth-child(n + 2) {
    padding-top: 0;
    border-top: 0;
  }

  .hero-panel {
    padding: clamp(12px, 2vw, 24px) 0;
    grid-template-areas:
      "name"
      "identity"
      "portrait"
      "body"
      "actions";
    align-items: start;
    row-gap: 16px;
  }

  .hero-name {
    justify-self: center;
    width: var(--regime-four-home-width, auto);
    max-width: 100%;
    text-align: center;
  }

  .hero-identity {
    justify-self: center;
    max-width: 100%;
    text-align: center;
  }

  .portrait-frame {
    justify-self: center;
    width: var(--regime-four-home-width, 100%);
    max-width: none;
    margin-top: 10px;
  }

  .hero-statement {
    justify-self: center;
    width: var(--regime-four-home-width, 100%);
    max-width: none;
    margin-top: 6px;
    text-align: left;
  }

  .button-row.compact {
    justify-self: center;
    justify-content: center;
    gap: 12px 16px;
    width: var(--regime-four-home-width, 100%);
    margin-top: 8px;
  }

  .home-highlights {
    gap: var(--regime-four-break-gap);
    width: var(--regime-four-home-width, min(var(--max), calc(100% - var(--page-gutter) - var(--page-gutter))));
    margin-top: 0;
    padding-top: 0;
    justify-items: stretch;
    border-top: 0;
  }

  .highlight-figure,
  .highlight-columns {
    width: 100%;
  }
}

/* Regime 5: mobile landscape Home hero. */
@media (height < 600px) and (orientation: landscape),
  (width < 768px) and (orientation: landscape) {
  :root {
    --regime-five-page-margin: clamp(12px, 4vw, 22px);
    --regime-five-hero-pad-y: clamp(10px, 3.5svh, 20px);
    --regime-five-nav-height: 64px;
    --regime-five-text-width: 280px;
    --regime-five-body-size: clamp(9.6px, 2.8svh, 12.4px);
    --regime-five-muted-size: calc(var(--regime-five-body-size) - 1pt);
    --regime-five-stack-gap: 8px;
    --regime-five-paragraph-gap: 10px;
    --regime-five-column-gap: clamp(14px, 5vw, 34px);
    --regime-five-portrait-width: 34vw;
    --regime-five-portrait-height: auto;
    --regime-five-button-size: clamp(0.72rem, 1.8vw, 0.82rem);
    --regime-five-menu-font: clamp(0.68rem, 3svh, 0.86rem);
    --regime-five-menu-footer-font: clamp(0.58rem, 2.45svh, 0.72rem);
    --regime-five-menu-row: clamp(28px, 10.2svh, 40px);
    --regime-five-home-gap: clamp(14px, 4vw, 24px);
    --regime-five-cv-sidebar-width: minmax(190px, 0.38fr);
    --regime-five-section-gap: clamp(18px, 5svh, 30px);
    --regime-five-panel-padding: clamp(14px, 3vw, 24px);
    --regime-five-accent-size: min(var(--font-accent), calc(var(--regime-five-body-size) + 1pt));
    --regime-five-feature-heading-size: min(clamp(1.35rem, 5svh, 2rem), calc(var(--regime-five-body-size) + 7pt));
    --regime-five-profile-size: calc(var(--regime-five-body-size) - 1pt);
    --regime-five-profile-muted-size: calc(var(--regime-five-body-size) - 2pt);
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    grid-template-columns: minmax(0, 1fr) 40px;
    align-items: center;
    gap: 10px;
    min-height: var(--regime-five-nav-height);
    padding: 10px var(--regime-five-page-margin);
  }

  .site-logo.parallelogram-box {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .nav-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-grid;
    place-items: center;
    align-self: center;
    justify-self: end;
    width: 40px;
    height: 40px;
    padding: 0;
    color: var(--slate-dark);
    background: transparent;
    border: 2px solid var(--slate-dark);
    border-radius: 0;
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    grid-column: 1;
    grid-row: 1;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
  }

  .nav-toggle span:nth-child(1) {
    transform: translateY(-6px);
  }

  .nav-toggle span:nth-child(3) {
    transform: translateY(6px);
  }

  .site-header.nav-open .nav-toggle span:nth-child(1) {
    transform: rotate(45deg);
  }

  .site-header.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  .site-header.nav-open .nav-toggle span:nth-child(3) {
    transform: rotate(-45deg);
  }

  .site-nav,
  .external-links,
  .nav-menu-footer {
    display: none;
  }

  .site-header.nav-open .site-nav,
  .site-header.nav-open .external-links {
    display: none;
  }

  .tablet-menu-overlay.nav-open {
    position: fixed;
    top: var(--regime-five-nav-height);
    left: 0;
    right: 0;
    z-index: 20;
    display: block;
    width: auto;
    background: rgba(251, 250, 246, 0.93);
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    will-change: backdrop-filter;
    box-shadow: 0 18px 36px rgba(20, 23, 25, 0.08);
    max-height: calc(100svh - var(--regime-five-nav-height));
    overflow: hidden;
  }

  .tablet-menu-pages {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tablet-menu-pages a {
    position: relative;
    display: grid;
    justify-content: start;
    align-items: center;
    min-height: var(--regime-five-menu-row);
    padding: 6px 18px 5px 22px;
    color: var(--ink);
    font-size: var(--regime-five-menu-font);
    line-height: 1.1;
    background: transparent;
    text-decoration: none;
  }

  .tablet-menu-pages a + a {
    border-top: 1px solid var(--line);
  }

  .tablet-menu-pages a:hover,
  .tablet-menu-pages a.is-touch-pressed {
    color: var(--slate-dark);
    background: rgb(from var(--slate) r g b / 0.08);
  }

  .tablet-menu-pages a[aria-current="page"] {
    color: var(--slate-dark);
    background: transparent;
  }

  .tablet-menu-pages a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 4px;
    background: var(--slate-dark);
  }

  .tablet-menu-overlay.nav-open .nav-menu-footer {
    display: grid;
    gap: 5px;
    padding: 8px var(--regime-five-page-margin) 9px;
    color: var(--muted);
  }

  .nav-menu-footer p {
    margin: 0;
    font-size: var(--regime-five-menu-footer-font);
    line-height: 1.15;
  }

  .nav-menu-footer .footer-links {
    justify-content: flex-start;
    gap: 4px 12px;
  }

  .nav-menu-footer a {
    color: var(--slate);
    font-size: var(--regime-five-menu-footer-font);
    line-height: 1.15;
    text-decoration: none;
  }

  .nav-menu-footer a:hover,
  .nav-menu-footer a.is-touch-pressed {
    color: var(--slate-dark);
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .home-hero {
    display: grid;
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    min-height: calc(100svh - var(--regime-five-nav-height));
    padding-block: var(--regime-five-hero-pad-y);
    align-items: center;
  }

  .hero-panel {
    width: 100%;
    display: grid;
    grid-template-columns: var(--regime-five-text-width) var(--regime-five-portrait-width);
    grid-template-areas:
      "name portrait"
      "identity portrait"
      "body portrait"
      "actions portrait";
    align-items: start;
    justify-content: center;
    column-gap: var(--regime-five-column-gap);
    row-gap: var(--regime-five-stack-gap);
    padding: 0;
    transform: none;
  }

  .hero-name,
  .hero-identity,
  .hero-statement,
  .button-row.compact {
    width: var(--regime-five-text-width);
    max-width: none;
  }

  .hero-name {
    justify-self: start;
    text-align: left;
  }

  .hero-identity {
    justify-self: start;
    text-align: left;
  }

  .hero-statement {
    justify-self: start;
    margin-block: var(--regime-five-paragraph-gap);
    font-size: var(--regime-five-body-size);
    line-height: 1.34;
    text-align: left;
  }

  .research-page p,
  .thoughts-page p,
  .essay-body p,
  .about-hero-copy,
  .cv-item p,
  .contact-copy .lead,
  .research-intro p:not(.eyebrow),
  .featured-work-copy p:not(.eyebrow) {
    font-size: var(--regime-five-body-size);
  }

  .story-layout p,
  .research-feature p,
  .timeline p,
  .fact-list dd,
  .about-briefs p,
  .cv-aside p,
  .cv-contact-list dd,
  .cv-skill-list dd,
  .cv-bullets,
  .research-threads p,
  .featured-work-details p,
  .research-teaser p,
  .highlight-columns p:not(.highlight-heading),
  figcaption,
  .meta,
  .figure-placeholder small,
  .site-footer {
    font-size: var(--regime-five-muted-size);
  }

  .button-row.compact {
    justify-self: start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 0;
  }

  .button-row.compact .button {
    width: auto;
    min-height: 34px;
    padding: 7px 12px;
    font-size: var(--regime-five-button-size);
  }

  .portrait-frame {
    align-self: start;
    justify-self: end;
    width: var(--regime-five-portrait-width);
    max-width: none;
    height: var(--regime-five-portrait-height);
    margin-top: 0;
  }

  .portrait-frame img {
    width: var(--regime-five-portrait-width);
    height: var(--regime-five-portrait-height);
    aspect-ratio: auto;
    object-fit: cover;
  }

  .home-highlights {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--regime-five-home-gap);
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    margin: 0 auto clamp(18px, 6svh, 32px);
    padding-block: var(--regime-five-home-gap);
    border-top: 0;
  }

  .highlight-figure {
    width: 100%;
  }

  .highlight-figure img {
    width: 95%;
    margin-inline: auto;
  }

  .highlight-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 3vw, 20px);
    width: 100%;
  }

  .highlight-columns article {
    gap: 8px;
  }

  .home-highlights .accent-heading {
    font-size: min(var(--font-accent), calc(var(--regime-five-body-size) + 1pt));
    line-height: 1.1;
  }

  .highlight-columns p:not(.highlight-heading) {
    line-height: 1.42;
  }

  .page-main.research-page {
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    gap: var(--regime-five-section-gap);
    padding-block: var(--regime-five-section-gap);
  }

  .page-main .page-headline,
  .essay-heading h2,
  .cv-masthead h1 {
    font-size: var(--font-page-headline);
  }

  .research-overview {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(180px, 2fr);
    align-items: center;
    gap: clamp(18px, 4vw, 34px);
    min-height: auto;
    padding-bottom: var(--regime-five-section-gap);
  }

  .research-intro,
  .research-threads {
    transform: none;
  }

  .research-intro .page-headline {
    width: min(100%, var(--research-intro-width));
    max-width: var(--research-intro-width);
    text-align: left;
  }

  .research-intro p:not(.eyebrow) {
    width: min(100%, var(--research-intro-width));
    max-width: var(--research-intro-width);
    margin-top: clamp(8px, 2.6svh, 14px);
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .research-intro-banner {
    width: min(100%, var(--research-intro-width));
    max-width: var(--research-intro-width);
    margin-top: clamp(10px, 3svh, 16px);
  }

  .research-intro-banner img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .research-threads {
    display: grid;
    align-self: center;
    gap: clamp(12px, 3.2svh, 20px);
  }

  .research-threads article {
    display: grid;
    gap: 6px;
    padding-top: 0;
    border-top: 0;
  }

  .research-page .accent-heading {
    font-size: var(--regime-five-accent-size);
    line-height: 1.12;
  }

  .research-threads p {
    font-size: var(--regime-five-muted-size);
    line-height: 1.42;
  }

  .research-teaser {
    gap: 5px;
    padding: clamp(12px, 3svh, 18px) var(--regime-five-panel-padding);
  }

  .research-teaser h2 {
    font-size: min(clamp(1.2rem, 4.8svh, 1.8rem), calc(var(--regime-five-body-size) + 6pt));
    line-height: 1.16;
  }

  .research-feature {
    gap: var(--regime-five-section-gap);
    width: 100%;
    padding: var(--regime-five-panel-padding);
  }

  .featured-work-main {
    display: grid;
    grid-template-columns: minmax(180px, 0.82fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(16px, 4vw, 32px);
  }

  .featured-work-copy h2 {
    font-size: var(--regime-five-feature-heading-size);
    line-height: 1.12;
  }

  .featured-work-copy p:not(.eyebrow) {
    margin-top: clamp(8px, 2.4svh, 14px);
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .featured-work-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 3vw, 22px);
  }

  .featured-work-details article {
    padding-top: 12px;
  }

  .research-page .technical-heading {
    font-size: min(var(--font-technical), var(--regime-five-body-size));
    line-height: 1.22;
  }

  .featured-work-details p {
    margin-top: 6px;
    font-size: var(--regime-five-muted-size);
    line-height: 1.42;
  }

  .page-main:has(.about-hero) {
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    padding-block: var(--regime-five-section-gap);
  }

  .about-regime-three-title,
  .about-regime-three-prompt,
  .about-regime-three-profile,
  .about-essay-emph {
    display: none;
  }

  .about-hero {
    display: grid;
    grid-template-columns: minmax(0, var(--about-left-column, 0.9fr)) minmax(0, var(--about-right-column, 1.1fr));
    align-items: start;
    justify-content: center;
    gap: clamp(18px, 4vw, 34px);
    margin-bottom: var(--regime-five-section-gap);
  }

  .about-hero-side {
    display: grid;
    align-content: start;
    gap: var(--about-left-gap, var(--regime-five-section-gap));
  }

  .about-hero-side > img,
  .about-briefs article,
  .about-travel-figure {
    display: block;
  }

  .about-hero-side > img {
    width: 100%;
  }

  .about-briefs {
    display: grid;
    gap: var(--about-left-gap, var(--regime-five-section-gap));
    padding-top: 0;
    border-top: 0;
  }

  .about-briefs article {
    display: grid;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
  }

  .about-briefs article:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .about-briefs p {
    font-size: var(--regime-five-muted-size);
    line-height: 1.42;
  }

  .about-hero-text {
    display: grid;
    align-content: start;
    width: auto;
    max-width: none;
  }

  .about-hero-text .page-headline {
    display: block;
    font-size: var(--font-page-headline);
    line-height: 1.12;
  }

  .about-hero-copy {
    width: auto;
    max-width: none;
    margin-top: clamp(9px, 2.6svh, 16px);
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .about-hero-text .page-headline + .about-hero-copy {
    margin-top: clamp(10px, 3svh, 18px);
  }

  .about-hero-copy + .about-hero-copy {
    margin-top: 1.42em;
  }

  .about-travel-figure img {
    width: 100%;
  }

  .about-travel-figure figcaption {
    font-size: var(--regime-five-muted-size);
    line-height: 1.35;
  }

  .page-main:has(.about-hero) > .emph-band:not(.about-regime-three-prompt) {
    display: grid;
    width: min(100%, var(--about-emph-width, 100%));
    padding: clamp(16px, 4svh, 28px) var(--regime-five-panel-padding);
  }

  .page-main:has(.about-hero) > .emph-band:not(.about-regime-three-prompt) p {
    font-size: var(--regime-five-feature-heading-size);
    line-height: 1.16;
  }

  .page-main.thoughts-page {
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    padding-block: var(--regime-five-section-gap);
  }

  .thoughts-layout {
    display: grid;
    grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(18px, 4vw, 34px);
  }

  .essay-sidebar {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: calc(var(--regime-five-nav-height) + var(--regime-five-section-gap));
    padding: var(--regime-five-panel-padding);
  }

  .thoughts-essay {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    gap: var(--regime-five-section-gap);
  }

  .essay-heading {
    max-width: none;
    margin-inline: 0;
    text-align: left;
  }

  .essay-heading .eyebrow {
    padding-left: 0;
    font-size: var(--regime-five-muted-size);
    line-height: 1.2;
    text-align: left;
  }

  .essay-heading h2 {
    max-width: none;
    line-height: 1.12;
  }

  .essay-body {
    gap: clamp(10px, 2.8svh, 16px);
    max-width: none;
    margin-inline: 0;
  }

  .essay-body p {
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .essay-index {
    gap: 10px;
  }

  .essay-index a {
    gap: 4px;
  }

  .essay-index span {
    font-size: var(--regime-five-body-size);
    line-height: 1.18;
  }

  .essay-index time {
    font-size: var(--regime-five-muted-size);
    line-height: 1.15;
  }

  .page-main.cv-page {
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    gap: var(--regime-five-section-gap);
    padding-block: var(--regime-five-section-gap);
  }

  .cv-layout {
    display: grid;
    grid-template-columns: var(--regime-five-cv-sidebar-width) minmax(0, 1fr);
    align-items: start;
    gap: clamp(18px, 4vw, 34px);
  }

  .cv-aside {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: calc(var(--regime-five-nav-height) + var(--regime-five-section-gap));
    padding: clamp(10px, 2.5vw, 16px);
  }

  .cv-sections {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    gap: var(--regime-five-section-gap);
  }

  .cv-masthead {
    display: grid;
    gap: 6px;
    justify-items: center;
    padding-bottom: clamp(10px, 3svh, 18px);
    text-align: center;
    border-bottom: 1px solid var(--line);
  }

  .cv-masthead p {
    font-size: min(var(--font-technical), var(--regime-five-body-size));
    line-height: 1.25;
    white-space: nowrap;
  }

  .cv-sections > section {
    padding-top: clamp(12px, 3svh, 18px);
    border-top: 1px solid var(--line);
  }

  .cv-masthead + section {
    padding-top: 0;
    border-top: 0;
  }

  .cv-section-heading {
    gap: 4px;
    margin-bottom: 8px;
  }

  .cv-item {
    margin-top: 8px;
  }

  .cv-item-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(var(--cv-date-lane), max-content);
    align-items: baseline;
    column-gap: var(--cv-date-gap);
  }

  .cv-item-head .meta {
    order: 0;
    text-align: right;
    white-space: nowrap;
  }

  .cv-item > p:not(.meta),
  .publication-item h3,
  .publication-item > .meta,
  .cv-bullets {
    padding-right: calc(var(--cv-date-lane) + var(--cv-date-gap));
  }

  .cv-item p {
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .cv-aside p {
    font-size: var(--regime-five-profile-size);
    line-height: 1.32;
    margin: 8px 0 14px;
  }

  .cv-bullets {
    gap: 6px;
    margin-top: 8px;
    font-size: var(--regime-five-muted-size);
    line-height: 1.42;
  }

  .cv-aside h2 {
    font-size: min(var(--regime-five-feature-heading-size), calc(var(--regime-five-body-size) + 3pt));
    line-height: 1.1;
  }

  .cv-sections h2 {
    font-size: var(--regime-five-feature-heading-size);
    line-height: 1.12;
  }

  .cv-item h3,
  .publication-item h3 {
    font-size: min(clamp(1rem, 3.5svh, 1.25rem), calc(var(--regime-five-body-size) + 3pt));
    line-height: 1.2;
  }

  .cv-contact-list,
  .cv-skill-list {
    gap: 8px;
  }

  .cv-contact-list div {
    padding-top: 8px;
  }

  .cv-contact-list dt,
  .cv-skill-list dt {
    font-size: min(0.72rem, var(--regime-five-profile-size));
    line-height: 1.15;
  }

  .cv-contact-list dd,
  .cv-skill-list dd {
    font-size: var(--regime-five-profile-muted-size);
    line-height: 1.25;
  }

  .cv-item .meta,
  .publication-item > .meta {
    font-size: var(--regime-five-muted-size);
    line-height: 1.3;
  }

  .cv-download {
    width: 100%;
    justify-content: center;
    margin-top: 14px;
    font-size: var(--regime-five-button-size);
    white-space: nowrap;
  }

  .page-main.contact-page {
    display: flex;
    align-items: center;
    width: min(var(--max), calc(100% - (var(--regime-five-page-margin) * 2)));
    min-height: calc(100svh - var(--regime-five-nav-height));
    padding-block: var(--regime-five-section-gap);
  }

  .contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.62fr);
    align-items: center;
    gap: clamp(18px, 4vw, 34px);
    width: 100%;
    padding: var(--regime-five-panel-padding);
  }

  .contact-copy .lead {
    max-width: 640px;
    margin-top: clamp(10px, 3svh, 18px);
    font-size: var(--regime-five-body-size);
    line-height: 1.42;
  }

  .contact-links {
    display: grid;
    gap: clamp(6px, 2svh, 12px);
    padding: 4px 0 4px clamp(18px, 4vw, 34px);
    border-top: 0;
    border-left: 1px solid var(--line);
  }

  .contact-links h2 {
    font-size: var(--regime-five-accent-size);
    line-height: 1.12;
  }

  .contact-links a {
    font-size: var(--regime-five-body-size);
    line-height: 1.25;
  }
}
