.content-page main { max-width: 1120px; margin: 0 auto; padding: 92px max(4vw, 32px) 110px; }
.home-main { max-width: 1120px; margin: 0 auto; padding: 78px max(4vw, 32px) 110px; }
.home-hero { display: grid; grid-template-columns: 240px 1fr; gap: clamp(48px, 8vw, 100px); align-items: center; padding-bottom: 78px; border-bottom: 1px solid var(--line); }
.home-portrait img { display: block; width: 240px; height: 240px; border-radius: 50%; object-fit: cover; }
.home-intro h1 { margin: 0 0 24px; font: 400 clamp(52px, 7vw, 86px)/.92 var(--serif); letter-spacing: -.045em; }
.home-intro h1.home-thesis { max-width: 960px; margin-bottom: 24px; font: 400 clamp(27px, 3.1vw, 38px)/1.18 var(--serif); letter-spacing: -.018em; }
.home-lead { max-width: 980px; margin: 0; color: var(--muted); font: 18px/1.65 var(--sans); }
.home-context { max-width: 900px; margin: 20px 0 0; color: var(--muted); font: 14px/1.7 var(--sans); }
.home-context a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.home-approach { display: grid; grid-template-columns: minmax(260px, .75fr) 1.25fr; gap: clamp(45px, 8vw, 100px); padding: 78px 0; }
.home-approach h2, .home-contact h2 { margin: 0; font: 400 clamp(32px, 4vw, 46px)/1.02 var(--serif); letter-spacing: -.025em; }
.home-prose p { margin: 0 0 18px; color: var(--muted); font: 15px/1.75 var(--sans); }
.home-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 100px); margin-top: 80px; padding: 65px 0 10px; }
.home-contact > div > p:not(.eyebrow), .contact-details p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.home-contact .contact-details { display: block; margin-top: 0; padding-top: 0; border-top: 0; color: inherit; font-size: inherit; line-height: normal; }
.contact-details > a { display: inline-block; margin-bottom: 24px; color: inherit; font: 400 clamp(24px, 3vw, 36px)/1.1 var(--serif); text-decoration: none; }
.contact-details p a { display: inline-block; margin: 8px 24px 0 0; color: var(--ink); font: 500 14px var(--sans); letter-spacing: .01em; text-decoration: none; }
.contact-details p a:hover { text-decoration: underline; text-underline-offset: 4px; }
.page-hero { max-width: none; margin-bottom: 64px; padding-bottom: 46px; border-bottom: 1px solid var(--line); }
.page-hero h1 { margin: 0 0 24px; font: 400 clamp(36px, 5vw, 62px) / 1 var(--serif); letter-spacing: -.035em; }
.page-hero h1 span { color: var(--muted); font-size: .55em; letter-spacing: -.01em; }
.page-hero > p, .hero-narrative { max-width: none; margin: 0; color: var(--muted); font: 17px/1.65 var(--sans); }
.hero-narrative p { margin: 0 0 18px; }
.eyebrow { margin: 0 0 18px !important; color: var(--blue) !important; font: 500 12px/1 var(--mono) !important; letter-spacing: .08em; text-transform: uppercase; }
.page-block { margin-top: 65px; }
.page-block > h2 { margin: 0 0 28px; font: 400 clamp(26px, 3vw, 38px)/1.05 var(--serif); letter-spacing: -.02em; }
.page-block .section-intro { max-width: 800px; color: var(--muted); font: 15px/1.7 var(--sans); }
.content-page .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--paper); }
.content-page .project, .content-page .project-featured { min-height: 420px; }
.content-page .resource-list, .content-page .service-list { margin-top: 40px; }
.content-page .publication-wrap { grid-template-columns: 200px 1fr; column-gap: 36px; }
.content-page .publication-heading h2 { font-size: 42px; }
.content-page footer { max-width: none; }
.question-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.question-grid article { padding: 34px 38px 38px 0; border-bottom: 1px solid var(--line); }
.question-grid article:nth-child(odd) { border-right: 1px solid var(--line); }
.question-grid article:nth-child(even) { padding-left: 38px; }
.question-grid span, .network-list span { color: var(--blue); font: 12px var(--mono); }
.question-grid h2 { margin: 18px 0 14px; font: 400 28px/1.12 var(--serif); }
.question-grid p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.question-grid a, .network-list a, .compact-records a, .cv-note a { color: inherit; font: 500 12px var(--mono); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.path-links { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 22px; }
.path-links .path-label { flex-basis: 100%; color: var(--muted); font-size: 10px; line-height: 1.45; letter-spacing: .045em; text-transform: uppercase; }
.path-links a { color: var(--blue); }
.path-links a::after { content: " →"; }
.question-grid.current-directions { display: block; }
.current-directions article,
.current-directions article:nth-child(even),
.current-directions article:last-child { display: grid; grid-template-columns: minmax(280px,.88fr) minmax(390px,1.12fr); column-gap: clamp(42px,7vw,90px); padding: 38px 0 42px; border-right: 0; }
.current-directions article > span { grid-column: 1; }
.current-directions article > h2,
.current-directions article > p { grid-column: 1; }
.current-directions article > .path-links { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin-top: 0; }
.research-groundwork { display: grid; grid-template-columns: minmax(260px,.75fr) 1.25fr; gap: clamp(45px,8vw,100px); padding: 46px 0 50px; border-bottom: 1px solid var(--line); }
.research-groundwork h2 { margin: 8px 0 0; font: 400 28px/1.12 var(--serif); }
.research-groundwork p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.groundwork-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 20px; }
.groundwork-links a { color: var(--blue); font: 500 12px var(--mono); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.groundwork-links a::after { content: " →"; }
@media (min-width: 1100px) {
  .path-links { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 112px minmax(0,1fr); grid-auto-rows: minmax(34px,auto); gap: 8px 25px; align-items: center; margin-top: 26px; }
  .path-links .path-label { z-index: 1; grid-column: 2; grid-row: 1 / span 3; align-self: stretch; display: flex; align-items: center; justify-content: center; padding: 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); text-align: center; }
  .path-links:has(a:nth-of-type(7)) .path-label { grid-row-end: span 4; }
  .path-links a { position: relative; z-index: 1; line-height: 1.35; }
  .path-links a:nth-of-type(odd) { grid-column: 1; text-align: right; }
  .path-links a:nth-of-type(even) { grid-column: 3; text-align: left; }
  .path-links a:nth-of-type(1), .path-links a:nth-of-type(2) { grid-row: 1; }
  .path-links a:nth-of-type(3), .path-links a:nth-of-type(4) { grid-row: 2; }
  .path-links a:nth-of-type(5), .path-links a:nth-of-type(6) { grid-row: 3; }
  .path-links a:nth-of-type(7) { grid-row: 4; }
  .path-links a:nth-of-type(odd)::after, .path-links a:nth-of-type(even)::before { position: absolute; top: 50%; width: 18px; height: 1px; background: var(--line); content: ""; }
  .path-links a:nth-of-type(odd)::after { left: calc(100% + 4px); }
  .path-links a:nth-of-type(even)::before { right: calc(100% + 4px); }
}
[id="speak"], [id="leadhoc"], [id="logicon"], [id="unidive"], [id="diversita"], [id="incremental-semantics"], [id="abstraction"], [id="kiparla-title"] { scroll-margin-top: 30px; }
.project h3 { margin: 58px 0 12px; font: 400 clamp(30px, 4vw, 46px)/1 var(--serif); letter-spacing: -.025em; }
.compact-records { border-top: 1px solid var(--line); }
.compact-records article { display: grid; grid-template-columns: 130px 1fr; gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.compact-records time { color: var(--blue); font: 12px var(--mono); }
.compact-records h3 { margin: 0 0 7px; font: 400 23px/1.1 var(--serif); }
.compact-records p { margin: 0 0 8px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.network-list { border-top: 1px solid var(--line); }
.network-list article { display: grid; grid-template-columns: 220px 1fr 150px; gap: 30px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--line); }
.network-list h3 { margin: 8px 0 0; font: 400 26px/1.1 var(--serif); }
.network-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.cv-note { margin: 26px 0 0; color: var(--muted); font-size: 13px; }
.service-reframed article { min-height: 0; }
.service-reframed h2 { margin: 0 0 24px; font: 400 27px/1.12 var(--serif); }
.service-reframed ul { padding: 0 !important; list-style: none; }
.service-reframed li { padding: 14px 0; border-top: 1px solid var(--line); }
.page-hero + .service-list { border-top: 0; }
.service-reframed li a { color: inherit; text-decoration: none; }
.service-reframed li strong { display: block; color: var(--ink); font-weight: 500; }
.service-reframed li span { display: block; margin-top: 5px; color: var(--muted); font: 12px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
.resource-browser { border-top: 1px solid var(--line); }
.resource-tools { display: grid; grid-template-columns: 1fr 220px; gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.resource-tools label { display: grid; gap: 9px; color: var(--muted); font: 500 12px var(--mono); letter-spacing: .055em; text-transform: uppercase; }
.resource-tools input, .resource-tools select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: 14px var(--sans); }
.resource-count { margin: 24px 0 10px; color: var(--muted); font: 12px var(--mono); letter-spacing: .045em; text-transform: uppercase; }
.synced-resource-list { margin: 0; padding: 0; list-style: none; }
.synced-resource-list > li { display: grid; grid-template-columns: 120px 1fr; gap: 30px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.synced-resource-list .resource-year { padding-top: 5px; color: var(--blue); font: 13px var(--mono); }
.resource-entry h2 { margin: 0 0 12px; font: 400 clamp(27px, 3vw, 38px)/1.08 var(--serif); letter-spacing: -.02em; }
.resource-entry h2 a { color: inherit; text-decoration: none; }
.resource-entry > p { max-width: 780px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.resource-entry-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; margin-top: 22px; color: var(--muted); font: 500 12px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.resource-entry-meta a { color: var(--blue); text-decoration: none; }
.resource-entry-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.synced-resource-list .loading { display: block; color: var(--muted); font-size: 14px; }
.resource-feature, .editorial-feature { display: grid; grid-template-columns: minmax(220px,.62fr) 1.38fr; gap: clamp(32px,4vw,52px); margin: 20px 0 80px; padding: 54px 0; border-top: 2px solid var(--blue); border-bottom: 1px solid var(--line); }
.resource-feature { column-gap: 24px; }
.page-hero + .resource-feature,
.page-hero + .editorial-feature { margin-top: 0; padding-top: 0; border-top: 0; }
.resource-feature h2, .editorial-feature h2, .resource-archive > header h2, .editorial-archive > header h2, .cv-download h2 { margin: 0 0 12px; font: 400 clamp(32px,4vw,48px)/1 var(--serif); letter-spacing: -.025em; }
.feature-role { color: var(--blue); font: 500 13px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.feature-copy > p, .resource-archive > header > p, .editorial-archive > header > p { color: var(--muted); font: 15px/1.7 var(--sans); }
.feature-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; }
.feature-links a { color: var(--blue); font: 500 11px var(--sans); text-decoration: none; }
.editorial-feature .ltc-logo { width: min(100%, 390px); margin: 0 0 30px; }
.resource-archive > header, .editorial-archive > header { max-width: 780px; margin-bottom: 38px; }
.editorial-archive { margin-top: 80px; }
.project-tier { margin-top: 20px; }
.compact-project-grid .project { min-height: 360px; }
.network-links { display: grid; gap: 10px; }
.cv-download { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin: 20px 0 75px; padding: 38px 0; border-top: 2px solid var(--blue); border-bottom: 1px solid var(--line); }
.page-hero + .cv-download { margin-top: 0; padding-top: 0; border-top: 0; }
.cv-download-primary { margin-bottom: 0; border-bottom: 0; }
.cv-download-secondary { margin-top: 0; }
.cv-download p { margin: 0; color: var(--muted); font-size: 13px; }
.cv-download-button { padding: 16px 20px; background: var(--blue); color: white; font: 500 13px var(--sans); text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }
.cv-overview { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.cv-overview article { padding: 28px 28px 28px 0; border-bottom: 1px solid var(--line); }
.cv-overview article + article { padding-left: 28px; border-left: 1px solid var(--line); }
.cv-overview span { color: var(--blue); font: 12px var(--mono); text-transform: uppercase; }
.cv-overview h3 { margin: 18px 0 10px; font: 400 25px/1.1 var(--serif); }
.cv-overview p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.simple-list { border-top: 2px solid var(--blue); }
.simple-list article { display: grid; grid-template-columns: 150px 1fr; gap: 30px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.simple-list time, .simple-list .meta { color: var(--blue); font: 12px/1.5 var(--mono); text-transform: uppercase; }
.simple-list h2, .simple-list h3 { margin: 0 0 9px; font: 400 28px/1.1 var(--serif); }
.simple-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.simple-list a { color: inherit; text-decoration: none; }
.talk-browser { border-top: 1px solid var(--line); }
.page-hero + .talk-browser { border-top: 0; }
.talk-tools { display: grid; grid-template-columns: 1fr 220px; gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.talk-tools label { display: grid; gap: 9px; color: var(--muted); font: 500 12px var(--mono); letter-spacing: .055em; text-transform: uppercase; }
.talk-tools input, .talk-tools select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: 14px var(--sans); }
.talk-types { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0 8px; }
.talk-types button { padding: 9px 13px; border: 1px solid var(--line); background: var(--paper); color: var(--muted); font: 500 12px var(--mono); letter-spacing: .045em; text-transform: uppercase; cursor: pointer; }
.talk-types button.active, .talk-types button:hover { border-color: var(--blue); color: var(--blue); }
.talk-count { margin: 18px 0 8px; color: var(--muted); font: 12px var(--mono); letter-spacing: .045em; text-transform: uppercase; }
.talk-list { margin: 0; padding: 0; list-style: none; }
.talk-list > li { display: grid; grid-template-columns: 120px 1fr; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.talk-year { padding-top: 5px; color: var(--blue); font: 13px var(--mono); }
.talk-labels { display: flex; gap: 0; margin-bottom: 10px; }
.talk-labels span { color: var(--blue); font: 500 11px var(--mono); letter-spacing: .055em; text-transform: uppercase; }
.talk-labels span + span::before { content: ",\00a0"; }
.talk-entry h2 { margin: 0 0 10px; font: 400 clamp(23px, 2.6vw, 32px)/1.1 var(--serif); letter-spacing: -.015em; }
.talk-entry p { max-width: 860px; margin: 0; color: var(--muted); font: 13px/1.65 var(--sans); }
.talk-list .loading { display: block; color: var(--muted); font-size: 14px; }
.event-browser { margin-top: 76px; padding-top: 40px; border-top: 1px solid var(--line); }
.page-hero + .event-browser { margin-top: 0; padding-top: 0; border-top: 0; }
.event-theme-context { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 0 0 24px; border-bottom: 1px solid var(--line); color: var(--muted); font: 13px/1.5 var(--sans); }
.event-theme-context a { color: var(--blue); font: 500 11px var(--mono); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.archive-heading h2 { margin: 0 0 18px; font: 400 clamp(30px, 3.6vw, 44px)/1.05 var(--serif); letter-spacing: -.02em; }
.event-entry h3 { margin: 0 0 10px; font: 400 clamp(22px, 2.4vw, 30px)/1.15 var(--serif); letter-spacing: -.012em; }
.event-link { display: inline-block; margin-top: 13px; color: var(--blue); font: 500 12px var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.page-footer { display: flex; justify-content: space-between; padding: 20px max(4vw, 32px); background: var(--blue); color: white; font: 11px var(--mono); text-transform: uppercase; }
.page-footer a { color: inherit; text-decoration: none; }
@media (max-width: 800px) {
  .content-page main { padding: 65px 5vw 80px; }
  .home-main { padding: 55px 5vw 80px; }
  .home-hero, .home-approach, .home-contact { grid-template-columns: 1fr; gap: 32px; }
  .home-portrait img { width: 150px; height: 150px; }
  .page-hero { margin-bottom: 50px; }
  .content-page .projects-grid, .content-page .publication-wrap { grid-template-columns: 1fr; }
  .question-grid { grid-template-columns: 1fr; }
  .question-grid article, .question-grid article:nth-child(even) { padding: 28px 0; border-right: 0; }
  .current-directions article,
  .current-directions article:nth-child(even),
  .current-directions article:last-child { display: block; }
  .research-groundwork { grid-template-columns: 1fr; gap: 24px; padding: 34px 0 38px; }
  .path-links { display: flex; flex-wrap: wrap; gap: 9px 18px; }
  .path-links .path-label { flex-basis: 100%; display: block; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; }
  .path-links a:nth-of-type(n) { text-align: left; }
  .path-links a:nth-of-type(n)::before { display: none; }
  .path-links a:nth-of-type(n)::after { position: static; width: auto; height: auto; background: none; content: " →"; }
  .network-list article, .compact-records article { grid-template-columns: 1fr; gap: 10px; }
  .resource-tools, .synced-resource-list > li, .talk-tools, .talk-list > li { grid-template-columns: 1fr; gap: 14px; }
  .resource-feature, .editorial-feature { grid-template-columns: 1fr; gap: 28px; }
  .cv-download { align-items: flex-start; flex-direction: column; }
  .cv-overview { grid-template-columns: 1fr; }
  .cv-overview article, .cv-overview article + article { padding: 25px 0; border-left: 0; }
  .simple-list article { grid-template-columns: 1fr; gap: 10px; }
}
