
.pc-main { overflow-wrap: break-word; }
.pc-main [id] { scroll-margin-top: calc(var(--h-hdr) + var(--s-6)); }
.pc-main .crumb li { align-items: center; }
.pc-main .crumb a { display: inline-flex; align-items: center; min-height: 44px; }
.pc-main .pc-hero { padding-block: calc(var(--h-hdr) + var(--s-7)) var(--s-8); }
.pc-main ~ .mobile-bar { display: none !important; }
.pc-main .pc-hero-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s-9); align-items: center; margin-top: var(--s-6); }
.pc-main .pc-hero h1 { font-family: var(--f-feature); font-size: var(--t-display); line-height: 1.06; letter-spacing: -.045em; margin: var(--s-4) 0 var(--s-5); }
.pc-main .pc-hero h1 span { display: block; color: var(--accent-text); }
.pc-main .pc-hero .lede { max-width: 42ch; }
.pc-main .pc-hero-copy > p:not(.eyebrow) { max-width: 56ch; }
.pc-main .pc-links { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; margin-top: var(--s-6); }
.pc-main .pc-links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-underline-offset: .25em; }
.pc-main .pc-portrait { margin: 0; }
.pc-main .pc-portrait img { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: var(--radius-sm); }
.pc-main .pc-portrait figcaption { font-size: var(--t-small); color: var(--fg-muted); margin-top: var(--s-4); line-height: 1.5; }
.pc-main .pc-nav { border-block: 1px solid var(--border-strong); }
.pc-main .pc-nav ul { display: grid; grid-template-columns: .85fr 1fr .85fr 1fr 1.25fr; list-style: none; padding: 0; margin: 0; }
.pc-main .pc-nav li { margin: 0; min-width: 0; }
.pc-main .pc-nav a { display: flex; gap: var(--s-2); align-items: center; justify-content: center; min-height: 64px; padding: var(--s-3); color: var(--fg-muted); font-size: var(--t-fix); text-decoration: none; border-bottom: 3px solid transparent; transition: color var(--d-fast), background var(--d-fast); }
.pc-main .pc-nav a:hover { color: var(--fg); background: var(--bg-raised); }
.pc-main .pc-nav a[aria-current="page"] { color: var(--accent-text); border-bottom-color: var(--brand-mark); font-weight: 600; }
.pc-main .pc-nav .pc-nav-num { font-family: var(--f-mono); color: var(--fg-subtle); font-size: var(--t-nano); }
.pc-main .pc-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; margin-bottom: var(--s-7); }
.pc-main .pc-section-head h2 { margin-bottom: 0; }
.pc-main .pc-section-head > p { max-width: 52ch; margin-bottom: 0; }
.pc-main .pc-now { margin-block: var(--s-8); padding-block: var(--s-8); }
.pc-main .pc-now-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-8); }
.pc-main .pc-now-grid article + article { border-left: 1px solid var(--on-klein-line); padding-left: var(--s-8); }
.pc-main .pc-now h2 { font-size: var(--t-h2); margin-block: var(--s-3) var(--s-4); }
.pc-main .pc-now .pc-kicker { color: var(--on-klein-2); }
.pc-main .pc-now p { max-width: 48ch; }
.pc-main .pc-now .pc-links { margin-top: var(--s-4); }
.pc-main .pc-kicker { font-family: var(--f-mono); font-size: var(--t-small); line-height: 1.65; color: var(--fg-muted); margin: 0; }
.pc-main .pc-directory { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--border-strong); }
.pc-main .pc-directory li { margin: 0; }
.pc-main .pc-directory > li, .pc-main .pc-timeline > li, .pc-main .pc-credentials > li, .pc-main .pc-project-list > li { max-width: none; }
.pc-main .pc-directory a { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 2rem; align-items: start; gap: var(--s-5); padding-block: var(--s-6); border-bottom: 1px solid var(--border-strong); text-decoration: none; color: var(--fg); transition: background var(--d-fast); }
.pc-main .pc-directory a:hover { background: var(--bg-raised); }
.pc-main .pc-directory .pc-directory-num { color: var(--accent-text); font-family: var(--f-mono); font-size: var(--t-small); padding-top: var(--s-2); }
.pc-main .pc-directory strong { display: block; font-family: var(--f-feature); font-size: var(--t-h3); font-weight: 500; }
.pc-main .pc-directory .pc-directory-desc { display: block; max-width: 60ch; color: var(--fg-muted); margin-top: var(--s-2); font-size: var(--t-body); }
.pc-main .pc-arrow { font-size: 1.5rem; color: var(--accent-text); }
.pc-main .pc-timeline { list-style: none; margin: 0; padding: 0; }
.pc-main .pc-timeline > li { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: var(--s-7); padding-block: var(--s-6); margin: 0; border-top: 1px solid var(--border); }
.pc-main .pc-timeline h3 { margin: 0 0 var(--s-2); font-size: var(--t-h3); }
.pc-main .pc-timeline p { margin-bottom: var(--s-3); max-width: 64ch; }
.pc-main .pc-timeline a { min-height: 44px; display: inline-flex; align-items: center; }
.pc-main .pc-source { font-size: var(--t-small); color: var(--fg-muted); max-width: 74ch; }
.pc-main .pc-tail { border-top: 1px solid var(--border-strong); padding-block: var(--s-7); }
.pc-main .pc-tail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-7); align-items: start; }
.pc-main .pc-tail h2 { font-size: var(--t-h3); }
.pc-main .pc-subhead { padding-block: calc(var(--h-hdr) + var(--s-7)) var(--s-7); }
.pc-main .pc-subhead h1 { max-width: 22ch; font-family: var(--f-feature); font-size: var(--t-h1); margin-bottom: var(--s-5); }
.pc-main .pc-subhead .lede { max-width: 60ch; }
.pc-main .pc-subhead .eyebrow { margin-top: var(--s-6); }
.pc-main .pc-index { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); padding: 0; margin: 0 0 var(--s-7); list-style: none; }
.pc-main .pc-index a { display: inline-flex; align-items: center; min-height: 44px; }
.pc-main .pc-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.15fr); gap: var(--s-8); padding-block: var(--s-7); border-top: 1px solid var(--border-strong); }
.pc-main .pc-entry:first-of-type { padding-top: var(--s-6); }
.pc-main .pc-entry h2 { font-family: var(--f-feature); font-size: var(--t-h3); margin: var(--s-3) 0 var(--s-4); }
.pc-main .pc-entry h3 { font-family: var(--f-display); font-size: var(--t-sub); margin-bottom: var(--s-3); }
.pc-main .pc-entry-body { min-width: 0; }
.pc-main .pc-entry-body > p, .pc-main .pc-entry-body > ul { max-width: 66ch; }
.pc-main .pc-entry-body ul { padding-left: var(--s-5); }
.pc-main .pc-tags { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; padding: 0 !important; margin-block: var(--s-5) 0; }
.pc-main .pc-tags li { margin: 0; padding: var(--s-2) var(--s-3); font-size: var(--t-small); line-height: 1.25; color: var(--fg-muted); background: var(--bg-raised); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.pc-main .pc-status { display: inline-block; margin-top: var(--s-3); color: var(--accent-text); font-size: var(--t-small); font-weight: 600; }
.pc-main .pc-photo { margin: var(--s-6) 0; }
.pc-main .pc-photo img { display: block; width: 100%; height: auto; border-radius: var(--radius-sm); object-fit: cover; }
.pc-main .pc-photo figcaption { font-size: var(--t-small); color: var(--fg-muted); margin-top: var(--s-3); }
.pc-main .pc-photo-pair { display: grid; grid-template-columns: 1fr 1.7fr; gap: var(--s-6); align-items: center; }
.pc-main .pc-photo-pair .pc-photo { margin: 0; }
.pc-main .pc-photo-pair img { max-height: 22rem; object-position: center; }
.pc-main .pc-fold { border-block: 1px solid var(--border-strong); margin-top: var(--s-7); }
.pc-main .pc-fold > summary { padding: var(--s-5) 0; font-weight: 600; cursor: pointer; font-size: var(--t-sub); }
.pc-main .pc-fold .pc-timeline { padding-bottom: var(--s-5); }
.pc-main .pc-cert-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-6); margin-block: var(--s-7); }
.pc-main .pc-cert { display: flex; flex-direction: column; align-items: start; padding: var(--s-6); border: 1px solid var(--border-strong); border-top: 3px solid var(--brand-mark); border-radius: var(--radius-sm); background: var(--bg-raised); }
.pc-main .pc-cert h2 { font-size: var(--t-h3); margin: var(--s-4) 0; }
.pc-main .pc-cert p { max-width: 44ch; }
.pc-main .pc-cert .pc-links { margin-top: auto; padding-top: var(--s-4); }
.pc-main .pc-credentials { margin: var(--s-6) 0 0; padding: 0; list-style: none; }
.pc-main .pc-credentials li { display: grid; grid-template-columns: 10rem minmax(0, 1fr) auto; gap: var(--s-6); padding-block: var(--s-5); border-top: 1px solid var(--border); margin: 0; align-items: start; }
.pc-main .pc-credentials h3 { font-size: var(--t-sub); margin-bottom: var(--s-2); }
.pc-main .pc-credentials p { margin-bottom: 0; font-size: var(--t-small); color: var(--fg-muted); }
.pc-main .pc-credentials a { display: inline-flex; min-height: 44px; align-items: center; font-size: var(--t-fix); }
.pc-main .pc-document { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-5); align-items: center; padding: var(--s-5); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); margin-top: var(--s-4); text-decoration: none; }
.pc-main .pc-document:hover { background: var(--bg-raised); }
.pc-main .pc-document strong { color: var(--fg); display: block; font-weight: 600; }
.pc-main .pc-document small { display: block; color: var(--fg-muted); margin-top: var(--s-1); }
.pc-main .pc-document-type { font-family: var(--f-mono); font-size: var(--t-small); color: var(--accent-text); }
.pc-main .pc-project-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s-8); list-style: none; padding: 0; margin-top: var(--s-6); }
.pc-main .pc-project-list li { margin: 0; padding-block: var(--s-5); border-top: 1px solid var(--border-strong); }
.pc-main .pc-project-list h3 { font-size: var(--t-sub); margin-bottom: var(--s-2); }
.pc-main .pc-project-list p { color: var(--fg-muted); margin-bottom: var(--s-3); max-width: 48ch; }
.pc-main .pc-project-list a { min-height: 44px; display: inline-flex; align-items: center; }
.pc-main .pc-note { border-left: 3px solid var(--brand-mark); padding-left: var(--s-5); margin-top: var(--s-6); max-width: 65ch; }
@media (max-width: 63.99rem) {
  .pc-main .pc-hero-grid { gap: var(--s-7); grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .pc-main .pc-entry { gap: var(--s-6); grid-template-columns: 1fr 2fr; }
  .pc-main .pc-nav a { font-size: var(--t-small); gap: var(--s-1); }
  .pc-main .pc-nav-num { display: none; }
  .pc-main .pc-credentials li { grid-template-columns: 8rem minmax(0, 1fr) auto; gap: var(--s-4); }
}
@media (max-width: 47.99rem) {
  .pc-main .pc-hero { padding-block: calc(var(--h-hdr) + var(--s-5)) var(--s-7); }
  .pc-main .pc-hero-grid { grid-template-columns: 1fr; gap: var(--s-6); margin-top: var(--s-5); }
  .pc-main .pc-hero h1 { font-size: clamp(2.6rem, 1.6rem + 5vw, 4rem); }
  .pc-main .pc-portrait { width: min(100%, 21rem); }
  .pc-main .pc-portrait img { aspect-ratio: 1.25; object-position: center 38%; }
  .pc-main .pc-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-main .pc-nav li:last-child { grid-column: 1 / -1; }
  .pc-main .pc-nav a { justify-content: start; padding: var(--s-3) var(--s-4); min-height: 48px; font-size: var(--t-fix); }
  .pc-main .pc-nav .pc-nav-num { display: inline; margin-right: var(--s-2); }
  .pc-main .pc-section-head, .pc-main .pc-now-grid, .pc-main .pc-tail-grid, .pc-main .pc-entry, .pc-main .pc-cert-grid, .pc-main .pc-project-list { grid-template-columns: 1fr; gap: var(--s-5); }
  .pc-main .pc-now { margin-block: var(--s-7); padding-block: var(--s-7); }
  .pc-main .pc-now-grid article + article { border-left: 0; border-top: 1px solid var(--on-klein-line); padding-left: 0; padding-top: var(--s-6); }
  .pc-main .pc-directory a { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: var(--s-3); padding-block: var(--s-5); }
  .pc-main .pc-timeline > li { grid-template-columns: 1fr; gap: var(--s-3); }
  .pc-main .pc-entry { padding-block: var(--s-6); }
  .pc-main .pc-entry h2 { margin-block: var(--s-2); }
  .pc-main .pc-credentials li { grid-template-columns: 1fr; gap: var(--s-2); }
  .pc-main .pc-credentials a { justify-self: start; }
  .pc-main .pc-photo-pair { grid-template-columns: 1fr; gap: var(--s-5); }
  .pc-main .pc-photo-pair .pc-photo { width: min(100%, 20rem); }
  .pc-main .pc-subhead { padding-block: calc(var(--h-hdr) + var(--s-5)) var(--s-6); }
  .pc-main .pc-subhead h1 { font-size: clamp(2rem, 1.25rem + 3vw, 2.8rem); }
  .pc-main .pc-source { font-size: var(--t-small); }
  .pc-main .pc-document { gap: var(--s-3); padding: var(--s-4); }
}
@media (prefers-reduced-motion: reduce) {
  .pc-main *, .pc-main *::before, .pc-main *::after { transition: none !important; animation: none !important; }
}
@media print {
  .pc-main .pc-nav { display: none; }
  .pc-main .pc-entry, .pc-main .pc-timeline > li, .pc-main .pc-cert { break-inside: avoid; }
  .pc-main .pc-entry { grid-template-columns: 1fr 2fr; }
  .pc-main .pc-fold:not([open]) { display: none; }
}
