body { margin: 0; padding: 0 0 0 var(--folio-rail-width); background: var(--cr-page-bg); color: var(--global-text-color); font-family: var(--cr-font-sans); }
.folio-intro *, .folio-section *, .folio-index * { box-sizing: border-box; }
.folio-heading a, .folio-list a { text-decoration: none; }
.folio-role { font-family: var(--cr-font-mono); }
.home-document, .project-index-list:not(.foundation-index-list) { --folio-entry-title-size: clamp(18px, 1.35vw, 19px); }

#main, #main.home-shell, #main.folio-index { float: none; box-sizing: border-box; width: calc(100% - var(--folio-gutter) * 2); max-width: 1176px; margin: 0 auto; padding: 0; animation: none; }
#main.home-shell .home-document { display: block; margin: 0; }
.folio-intro { padding: clamp(26px,3.2vw,46px) 0 clamp(25px,2.7vw,38px); }
.folio-role { display: flex; align-items: center; gap: 11px; margin: 0 0 10px; color: var(--cr-ink-soft); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .15em; }
.folio-role::before { content: ""; display: block; width: 23px; height: 1px; background: var(--cr-accent); }
.folio-intro h1 { margin: 0 0 10px; font: 500 clamp(30px,2.7vw,40px)/1.14 var(--cr-font-serif); letter-spacing: -.035em; color: var(--global-text-color); }
.folio-intro h1 span { color: var(--cr-accent); }
.folio-lead { max-width: 65ch; margin: 0; font-size: clamp(15px,1.1vw,17px); line-height: 1.65; color: var(--cr-ink-soft); }
.folio-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 16px 0 0; font-size: 13px; }
.folio-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid #3159d7;
  border-radius: 4px;
  background: #3159d7;
  color: white;
  font-weight: 600;
  text-decoration: none;
}
.folio-actions > a:hover { border-color: #2549bf; background: #2549bf; color: white; }
.folio-actions > a:focus-visible { outline: 2px solid var(--cr-accent); outline-offset: 3px; }

.folio-section { padding: 28px 0 36px; border-top: 1px solid var(--cr-border); }
.folio-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 19px; }
.folio-heading h2, .visitor-reach__heading h2 { margin: 0; font: 600 25px/1.2 var(--cr-font-serif); letter-spacing: -.035em; }
.folio-heading > a { color: var(--cr-ink-soft); font-size: 12px; }
.folio-heading > a span { margin-left: 4px; color: var(--cr-accent); }
.folio-project-rows { margin: 0; padding: 0; list-style: none; }
.folio-project-row { display: grid; grid-template-columns: 104px minmax(0,1fr) auto; gap: 22px; align-items: center; padding: 16px 0; margin: 0; border-bottom: 1px solid var(--cr-border); }
.folio-project-row:last-child { border-bottom: 0; }
.folio-row-thumb, .folio-row-thumb img { display: block; width: 104px; height: 70px; }
.folio-row-thumb img { object-fit: cover; border: 1px solid var(--cr-border); border-radius: 3px; }
.folio-section h3 { margin: 0; font: 600 var(--folio-entry-title-size)/1.35 var(--cr-font-serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.folio-section h3 a { color: var(--global-text-color); text-decoration: none; }
.folio-section h3 a:is(:hover, :focus-visible) { color: var(--cr-accent-strong); text-decoration: underline; text-underline-offset: .16em; }
.folio-project-row h3 a span { color: var(--cr-accent); font: 13px/1 var(--cr-font-sans); }
.folio-project-lead, .folio-list small { display: block; margin: 3px 0 0; color: var(--cr-ink-soft); font: 400 clamp(14px, 1.08vw, 15px)/1.5 var(--cr-font-sans); }
.folio-row-meta { text-align: right; color: var(--cr-ink-soft); font-size: 13px; }
.folio-row-meta time, .folio-list time { display: block; color: var(--cr-ink-soft); font: 400 clamp(12px, .95vw, 13px)/1.5 var(--cr-font-mono); }
.folio-row-meta time { margin-top: 2px; }
.folio-audio { margin-top: 4px; max-width: 420px; font-size: 12px; color: var(--cr-accent-strong); }
.folio-audio summary, .folio-filter summary { cursor: pointer; }
.folio-audio audio { display: block; width: 100%; min-width: 0; margin-top: 7px; }
.folio-list { margin: 0; padding: 0; list-style: none; }
.folio-list li { display: flex; gap: 20px; align-items: baseline; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--cr-border); }
.folio-list li:last-child { border: 0; }
.folio-list time { flex-shrink: 0; }
.home-document .visitor-reach { margin: 5px 0 45px; }
.home-document .visitor-reach__eyebrow { display: none; }

#main.folio-index, body > #main:not(.home-shell):not(.folio-index) { padding-block: clamp(32px,4vw,70px); }
#main.folio-index .archive { float: none; width: 100%; margin: 0; padding: 0; }
.folio-index-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 25px; border-bottom: 1px solid var(--cr-border); margin: 0 0 22px; padding-bottom: 19px; }
.folio-index-head h1 { margin: 0; font: 500 clamp(36px,4.5vw,64px)/1.07 var(--cr-font-serif); letter-spacing: -.045em; }
.folio-index-head > p { margin: 0; color: var(--cr-ink-soft); font-size: 13px; }
.folio-index .index-list { margin: 0; }
.folio-index .project-index-list li, .folio-index .publication-index-list li { padding: 18px 0; }
.folio-index .list-thumb { border-radius: 4px; }
.folio-index .foundation-index-list { --note-cover-width: 108px; }
.folio-index .foundation-index-list > li { grid-template-columns: var(--note-cover-width) minmax(0,1fr); gap: clamp(16px,2vw,30px); }
.folio-index .folio-note-cover {
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .32em;
  width: var(--note-cover-width); aspect-ratio: 10 / 7; box-sizing: border-box; overflow: visible;
  border: 1px solid var(--cr-border-strong); border-radius: 4px; box-shadow: none;
  color: var(--cr-accent-strong); font-size: calc(var(--note-cover-width) / 6); text-decoration: none;
  background-color: var(--cr-surface);
  background-image: radial-gradient(color-mix(in srgb, var(--cr-accent) 22%, transparent) .65px, transparent .85px);
  background-size: 8px 8px; background-position: center;
}
.folio-index .folio-note-cover:hover, .folio-index .folio-note-cover:focus-visible { border-color: var(--cr-accent); background-color: var(--cr-accent-soft); }
.folio-index .folio-note-cover small { font: 600 max(8px,.51em)/1.1 var(--cr-font-mono); letter-spacing: .055em; color: var(--cr-ink-soft); }
.folio-index .folio-note-cover .folio-cover-art { position: relative; display: flex; align-items: center; justify-content: center; gap: .13em; width: 4.3em; height: 1.85em; color: var(--cr-accent-strong); }
.folio-cover-art b, .folio-cover-art i { font-style: normal; }
.folio-cover-art--tokens b, .folio-cover-art--dialogue b, .folio-cover-art--pair b {
  padding: .2em .3em; line-height: 1; border: 1px solid currentColor; border-radius: 3px; background: var(--cr-card-bg); font: 600 .72em/1.1 var(--cr-font-mono);
}
.folio-cover-art--tokens b:last-child, .folio-cover-art--dialogue b:last-child, .folio-cover-art--pair b:last-child { background: var(--cr-accent-soft); }
.folio-cover-art--dialogue b:first-child { align-self: start; margin: .2em .1em 0 0; border-radius: .45em .45em 0 .45em; }
.folio-cover-art--dialogue b:last-child { align-self: end; margin-bottom: .2em; border-radius: .45em .45em .45em 0; }
.folio-cover-art--formula b { font: italic 500 1.42em/1 var(--cr-font-serif); }
.folio-cover-art--formula sub { position: static; vertical-align: -.25em; font-size: .6em; }
.folio-cover-art--tree { background: linear-gradient(currentColor,currentColor) center 43% / 1px 22% no-repeat; }
.folio-cover-art--tree::before { content: ""; position: absolute; inset: 51% 26% 20%; border: 1px solid currentColor; border-bottom: 0; }
.folio-cover-art--tree b { position: absolute; width: .55em; height: .55em; border: 1px solid currentColor; border-radius: 50%; background: var(--cr-card-bg); }
.folio-cover-art--tree b:first-child { left: calc(50% - .275em); top: 8%; background: var(--cr-accent-soft); }
.folio-cover-art--tree b:nth-child(2) { left: calc(26% - .275em); bottom: 0; }
.folio-cover-art--tree b:last-child { right: calc(26% - .275em); bottom: 0; }
.folio-cover-art--frames b { position: absolute; width: 1.85em; height: 1.1em; border: 1px solid currentColor; border-radius: 2px; background: var(--cr-card-bg); }
.folio-cover-art--frames b:first-child { transform: translate(-.45em,-.25em); }
.folio-cover-art--frames b:last-child { transform: translate(.45em,.25em); background: var(--cr-accent-soft); }
.folio-cover-art--frames b:last-child::after { content: ""; position: absolute; inset: 22% 34%; background: currentColor; clip-path: polygon(12% 0,100% 50%,12% 100%); }
.folio-cover-art--patches b { width: 1.58em; aspect-ratio: 1; border: 1px solid currentColor; background: linear-gradient(to right, transparent calc(100% - 1px), currentColor 0) 0 0/33.33% 100%, linear-gradient(to top, transparent calc(100% - 1px), currentColor 0) 0 0/100% 33.33%, linear-gradient(var(--cr-accent-soft),var(--cr-accent-soft)) center/33.33% 33.33% no-repeat var(--cr-card-bg); }
.folio-cover-art--cache { flex-direction: column; }
.folio-cover-art--cache b { width: 2.7em; height: .42em; border: 1px solid currentColor; background: repeating-linear-gradient(to right, var(--cr-accent-soft) 0 calc(25% - 1px), currentColor 0 25%); }
.folio-cover-art--cache b:last-child { width: 1.35em; margin-right: 1.35em; background-size: 200% 100%; }
@media (max-width: 680px) {
  .folio-index .foundation-index-list { --note-cover-width: 76px; }
  .folio-index .foundation-index-list > li { gap: 12px; }
}
.folio-index .project-index-list__title, .folio-index .publication-index-list__title, .folio-index .blog-list__title { color: var(--global-text-color); font: 600 var(--folio-entry-title-size, 20px)/1.32 var(--cr-font-serif); text-decoration: none; }
.folio-index .project-index-list__links a, .folio-index .publication-index-list__links a, .folio-index .blog-list__tag { font-weight: 600; }
.folio-person { display: flex; align-items: center; gap: 17px; margin: 24px 0 15px; }
.folio-person img { display: block; border: 1px solid var(--cr-border); border-radius: 50%; }
.folio-person h2 { margin: 0; color: var(--global-text-color); font: 500 24px/1.25 var(--cr-font-serif); }
.folio-person p { margin: 3px 0 0; font-size: 14px; color: var(--cr-ink-soft); }
.folio-index .cv-actions { margin-top: 0; }
.folio-index .cv-actions a { border-radius: 4px; border-color: var(--cr-border-strong); font-size: 14px; }
.folio-index .cv-actions a:first-child { background: #3159d7; color: white; border-color: #3159d7; }
.folio-index .content-section .section-heading h2 { font: 500 28px/1.3 var(--cr-font-serif); }
.folio-index .cv-timeline__item { border: 0; border-top: 1px solid var(--cr-border); border-radius: 0; background: transparent; box-shadow: none; }
.folio-index .project-index-list__links a, .folio-index .publication-index-list__links a { color: var(--cr-accent-strong); }
.folio-index .sidebar { position: static; float: none; width: auto; margin: 0 0 18px; padding: 0; opacity: 1; }
.folio-index .sidebar::after { content:""; display:block; clear:both; }
.folio-index .cv-hero, .folio-index .content-section { clear: both; }
.folio-filter { margin-bottom: 16px; padding: 12px 16px; background: var(--cr-panel-bg); border: 1px solid var(--cr-border); border-radius: 4px; color: var(--cr-ink-soft); font-size: 14px; }
.folio-filter .blog-filter { position: static; max-height: 320px; margin: 14px 0 0; padding: 0; overflow-y: auto; border: 0; }
.folio-filter .blog-filter__tags { display: flex; flex-wrap: wrap; gap: 5px; }
body > #main > .page { float: none; width: 100%; max-width: 84ch; margin: 0 auto; padding: 0; }
body > #main:has(> .page) { display: grid; grid-template-columns: minmax(0,84ch); justify-content: center; }
body > #main:has(> .page)::before, body > #main:has(> .page)::after { content: none; }
body > #main > .page { grid-row: 1; grid-column: 1; min-width: 0; }
body > #main:has(> .page) > .sidebar { position: static; grid-row: 2; grid-column: 1; float: none; width: 100%; max-width: none; height: auto; min-height: 0; padding: 18px 0 0; margin: 22px 0 0; border-top: 1px solid var(--cr-border); opacity: 1; }
body > #main > .sidebar > [itemtype] { display: grid; grid-template-columns: 48px 1fr; gap: 4px 13px; align-items: center; }
body > #main > .sidebar .author__avatar { grid-row: 1 / 3; width: 48px; height: 48px; margin: 0; padding: 0; }
body > #main > .sidebar .author__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
body > #main > .sidebar .author__content, body > #main > .sidebar .author__urls-wrapper { grid-column: 2; display: block; margin: 0; padding: 0; }
body > #main > .sidebar .author__urls { position: static; display: flex !important; flex-wrap: wrap; gap: 12px; padding: 0; border: 0; box-shadow: none; background: transparent; }
body > #main > .page .page__title { font: 500 clamp(32px,3.5vw,56px)/1.16 var(--cr-font-serif); letter-spacing: -.035em; color: var(--global-text-color); }
body > #main > .page .page__content { color: var(--global-text-color); line-height: 1.78; }
body > #main > .page .page__content h2 { margin-top: 2em; padding-bottom: .35em; border-bottom: 1px solid var(--cr-border); color: var(--global-text-color); font: 600 clamp(24px,2.5vw,33px)/1.32 var(--cr-font-serif); }
body > #main > .page .page__content h3 { color: var(--global-text-color); font: 600 21px/1.4 var(--cr-font-serif); }
body > #main > .page .page__content blockquote { border-left: 2px solid var(--cr-accent); background: var(--cr-panel-bg); }
.page__related.folio-related { grid-column: 1; float: none; min-width: 0; margin: 28px 0 0; padding: 18px 0 0; border-top: 1px solid var(--cr-border); }
.folio-related h2 { margin: 0 0 5px; font: 600 20px/1.35 var(--cr-font-serif); color: var(--global-text-color); }
.folio-related ul { margin: 0; padding: 0; list-style: none; }
.folio-related li { margin: 0; padding: 11px 0; }
.folio-related li + li { border-top: 1px solid var(--cr-border); }
.folio-related h3 { margin: 0; font: 600 clamp(17px, 1.3vw, 18px)/1.4 var(--cr-font-serif); overflow-wrap: anywhere; }
.folio-related h3 a { color: var(--global-text-color); text-decoration: none; }
.folio-related h3 a:is(:hover, :focus-visible) { color: var(--cr-accent-strong); text-decoration: underline; text-underline-offset: .16em; }
.folio-related p { margin: 3px 0 0; color: var(--cr-ink-soft); font: 400 clamp(14px, 1.08vw, 15px)/1.55 var(--cr-font-sans); overflow-wrap: anywhere; }
.page__footer { position: static; float: none; clear: both; margin: 0; padding: 10px var(--folio-gutter); background: var(--cr-panel-bg); animation: none; }
.page__footer .site-footer__inner { width: 100%; max-width: 1176px; }
@media (max-width: 63.99rem) { body { padding-left: 0; } }
@media (max-width: 680px) {
  .folio-project-row { grid-template-columns: 68px minmax(0,1fr); gap: 3px 13px; padding: 13px 0; }
  .folio-row-thumb, .folio-row-thumb img { width: 68px; height: 53px; align-self: start; }
  .folio-list li { flex-direction: column; align-items: stretch; gap: 3px; }
  .folio-row-meta { grid-column: 2; display: flex; gap: 8px; align-items: baseline; text-align: left; font-size: 12px; }
  .folio-row-meta time { display: inline; }
  .folio-section { padding: 21px 0 25px; }
  .folio-heading { margin-bottom: 13px; }
  .folio-heading h2, .visitor-reach__heading h2 { font-size: 22px; }
}
@media print {
  body { padding-left: 0; }
  .folio-rail, .folio-bar, .folio-skip, .page__footer { display: none; }
  #main, #main.folio-index, #main.home-shell { width: 100%; }
}
