@font-face {
  font-family: Hanken;
  src: url('/fonts/hanken-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --paper: oklch(98.5% .004 260);
  --ink: oklch(23% .025 260);
  --muted: oklch(47% .023 260);
  --blue: oklch(46% .19 267);
  --line: oklch(88% .012 260);
  --wash: oklch(95% .015 260);
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  font-family: Hanken, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
p, h1, h2, h3, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: 600; }
p { max-width: 72ch; }
a { color: var(--blue); text-decoration: none; text-underline-offset: 3px; }
a:hover { text-decoration: underline; }
button { font: inherit; cursor: pointer; }
a, button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
::selection { background: oklch(88% .05 267); }
.container { width: min(1060px, calc(100% - 80px)); margin-inline: auto; }
.small-label, .eyebrow { font-size: 12px; font-weight: 500; color: var(--muted); }
.skip-link { position: fixed; top: 8px; left: 8px; padding: 8px 16px; background: var(--ink); color: var(--paper); transform: translateY(-200%); z-index: 10; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px; border-bottom: 1px solid var(--line); }
.site-header .header-trace { display: none; position: absolute; inset-inline: 0; bottom: -6px; height: 11px; overflow: hidden; pointer-events: none; }
.site-header .header-comet { position: absolute; inset: 0; }
.site-header .header-comet::before { content: ''; position: absolute; right: 3.5px; top: 4.5px; width: clamp(36px, 8vw, 88px); height: 2px; background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--blue) 20%, transparent) 35%, var(--blue)); border-radius: 2px; transform-origin: right center; }
.site-header .header-comet::after { content: ''; position: absolute; right: 0; top: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 2px color-mix(in oklch, var(--blue) 12%, transparent); }
.wordmark { display:flex; align-items:center; gap:12px; color: var(--ink); font-size: 14px; font-weight: 600; }
.monogram { color:var(--blue); font-size:28px; letter-spacing:-2px; font-weight:700; line-height:1; }
.site-header nav { display: flex; gap: 24px; }
.site-header nav a { color: var(--muted); font-size: 14px; padding:10px 8px; min-height:44px; display:flex; align-items:center; border-radius:4px; }
.site-header nav a[aria-current] { color: var(--blue); background:var(--wash); }
.site-header .wordmark:hover { text-decoration: none; }
.site-header nav a { position: relative; }
.site-header nav a::after { content: ''; position: absolute; inset-inline: 8px; bottom: 6px; height: 1px; background: currentColor; opacity: 0; transform: scaleX(.3); transform-origin: left; }
.site-header nav a:is(:hover, :focus-visible) { color: var(--blue); text-decoration: none; }
.site-header nav a:is(:hover, :focus-visible)::after { opacity: 1; transform: scaleX(1); }
@media (prefers-reduced-motion: no-preference) {
  .site-header .header-trace { display: block; }
  .site-header .header-comet { animation: header-border-pass 4.8s linear -.6s infinite; }
  .site-header .header-comet::before { animation: header-trail-turn 4.8s steps(1, end) -.6s infinite; }
  .site-header .header-comet::after { animation: header-ball-impact 2.4s linear -.6s infinite; }
  .site-header .wordmark, .site-header nav a { animation: header-arrive 480ms cubic-bezier(.22, 1, .36, 1) backwards; }
  .site-header nav a:nth-child(1) { animation-delay: 50ms; }
  .site-header nav a:nth-child(2) { animation-delay: 100ms; }
  .site-header nav a:nth-child(3) { animation-delay: 150ms; }
  .site-header nav a:nth-child(4) { animation-delay: 200ms; }
  .site-header .monogram { transition: transform 240ms cubic-bezier(.22, 1, .36, 1); }
  .site-header .wordmark:is(:hover, :focus-visible) .monogram { transform: translateY(-2px) rotate(-4deg); }
  .site-header .wordmark:active .monogram { transform: scale(.96); transition-duration: 100ms; }
  .site-header nav a::after { transition: transform 220ms cubic-bezier(.22, 1, .36, 1), opacity 150ms linear; }
  .site-header nav a:focus-visible { animation: none; }
}
@keyframes header-arrive {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes header-border-pass {
  0%, 100% { transform: translate3d(calc(-100% + 7px), 0, 0); }
  50% { transform: translate3d(0, 0, 0); }
}
@keyframes header-trail-turn {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(-1); }
}
@keyframes header-ball-impact {
  0%, 100% { transform: scale(.72, 1.2); }
  4%, 96% { transform: scale(1.08, .94); }
  8%, 92% { transform: scale(1); }
}
.text-link { display: inline-flex; gap: 6px; align-items: center; width: fit-content; font-size: 13px; line-height: 1.6; }
.button { display: inline-flex; gap: 16px; align-items: center; justify-content: center; min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); background: transparent; font-size: 13px; }
.button:hover { background: var(--wash); }
.personal-intro { display:grid; grid-template-columns: .9fr 1.1fr; gap:64px; padding-block:52px 44px; }
.intro-identity h1 { display:grid; font-size:clamp(44px,5.2vw,66px); line-height:1.06; letter-spacing:-.05em; }
.intro-identity h1 > span { display:block; }
.name-stop { color:var(--blue); }
.intro-identity .eyebrow { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.intro-role { font-size:18px; line-height:1.5; margin-top:20px; }
.identity-links { display:flex; align-items:center; gap:24px; margin-top:24px; font-size:12px; color:var(--muted); }
.intro-writing { display:grid; align-content:center; gap:14px; padding-top:4px; }
.intro-writing > p { font-size:15px; line-height:1.8; color:var(--muted); }
.intro-writing > .intro-lead { color:var(--ink); font-size:20px; line-height:1.65; letter-spacing:-.015em; }
.citation-term { white-space: nowrap; }
.info-citation { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-inline-start: 2px; vertical-align: middle; position: relative; top: -.25em; border-radius: 50%; color: var(--muted); }
.info-citation:is(:hover, :focus-visible) { color: var(--blue); background: var(--wash); text-decoration: none; }
h1 { font-size: clamp(30px, 4vw, 42px); line-height: 1.2; letter-spacing: -.035em; }
.intro-detail { margin-top: 8px; color: var(--muted); font-size: 15px; }
.bio { display: grid; gap: 12px; max-width: 74ch; margin-top: 20px; }
.bio p { font-size: 17px; line-height: 1.7; }
.personal-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 4px; }
.personal-links .text-link { min-height:32px; }
.home-research, .background-section { padding-block: 32px; border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.section-heading .eyebrow { margin-bottom:6px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.section-heading h2 { font-size:28px; letter-spacing:-.03em; }
.featured-paper { display:grid; grid-template-columns:1fr 1fr; gap:48px; background:var(--wash); padding:28px 32px; margin-bottom:8px; border-radius:6px; }
.paper-kicker { color:var(--blue); font-size:11px; }
.featured-title h3 { font-size:32px; line-height:1.2; letter-spacing:-.03em; margin-top:10px; }
.featured-title h3 a { color:var(--ink); }
.featured-title > p { font-size:16px; line-height:1.55; margin-top:10px; }
.featured-description > p { color:var(--muted); font-size:14px; line-height:1.8; }
.featured-description > .preprint { display:block; margin-top:10px; color:var(--muted); }
h2 { font-size: 22px; line-height: 1.35; letter-spacing: -.02em; }
.selected-papers { display: grid; }
.selected-paper { display:grid; grid-template-columns:80px minmax(0,1fr) 24px; gap:20px; padding-block:22px; }
.selected-paper + .selected-paper { border-top:1px solid var(--line); }
.selected-date { color:var(--muted); font-size:11px; padding-top:3px; }
.selected-arrow { font-size:22px; align-self:start; }
.selected-paper h3 { max-width: 65ch; font-size: 18px; line-height: 1.45; font-weight: 500; }
.selected-paper h3 a { color:var(--ink); }
.selected-paper h3 a:hover { color:var(--blue); }
.selected-paper p { color: var(--muted); font-size: 14px; margin-top: 4px; line-height: 1.65; }
.selected-meta { display: flex; gap: 16px; align-items: center; margin-top: 4px; color: var(--muted); font-size: 11px; }
.selected-meta .text-link { font-size: 11px; }
.background-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.background-columns h3 { font-size: 14px; margin-bottom: 8px; }
.background-columns p { color: var(--muted); font-size: 14px; line-height: 1.75; }
.background-columns ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.background-columns li { display: grid; gap: 2px; font-size: 14px; line-height: 1.5; }
.background-columns li span + span { font-size: 12px; color: var(--muted); }
.background-columns .career-list { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.background-columns .career-list li { display:flex; justify-content:space-between; gap:16px; font-size:15px; }
.background-columns h3 { color:var(--muted); font-size:11px; letter-spacing:.05em; text-transform:uppercase; font-weight:500; margin-bottom:16px; }
.site-footer { display: flex; justify-content: space-between; gap: 16px; padding-block: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.page-intro { padding-block: 32px 24px; }
.page-intro-bottom { display: grid; gap: 12px; margin-top: 16px; }
.page-intro-bottom p { font-size: 16px; max-width: 72ch; }
.research-catalog { padding-top: 20px; padding-bottom: 28px; border-top: 1px solid var(--line); }
.catalog-bar { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.catalog-bar h2 { font-size: 15px; color: var(--ink); }
.catalog-bar > span { font-size: 12px; color: var(--muted); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px 8px; }
.filter-button { display: flex; gap: 8px; align-items: center; padding: 8px 12px; min-height: 40px; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--muted); font-size: 12px; }
.filter-button[aria-pressed=true] { color: var(--blue); border-color: var(--blue); background: var(--wash); }
.filter-button:hover { background: var(--wash); }
.filter-button > span { font-size: 10px; }
.paper-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; border-bottom: 1px solid var(--line); padding-block: 22px; }
.paper-index { color: var(--muted); font-size: 11px; padding-top: 1px; font-variant-numeric: tabular-nums; }
.paper-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 11px; }
.preprint { font-size: 10px; }
.paper-content h3 { font-size: 18px; line-height: 1.45; font-weight: 500; margin-top: 6px; max-width: 65ch; }
.paper-content > p { font-size: 14px; color: var(--muted); line-height: 1.75; margin-top: 8px; }
.paper-links { display: flex; gap: 20px; margin-top: 8px; }
.paper-links .text-link { font-size: 12px; }
.paper-arrow { display: none; }
.research-note { color: var(--muted); font-size: 12px; line-height: 1.75; margin-top: 20px; }
.resume-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-block: 32px 24px; border-bottom: 1px solid var(--line); }
.resume-intro .eyebrow { margin-bottom: 8px; }
.resume-role { margin-top: 8px; color: var(--muted); font-size: 17px; }
.resume-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; font-size: 12px; margin-top: 12px; color: var(--muted); }
.resume-contact .text-link { font-size: 12px; }
.resume-layout { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 32px; padding-block: 28px; }
.resume-sidebar nav { display: grid; gap: 12px; position: sticky; top: 24px; font-size: 12px; }
.resume-sidebar nav a { width: fit-content; }
.resume-section { padding-bottom: 24px; scroll-margin-top: 24px; }
.resume-section + .resume-section { border-top: 1px solid var(--line); padding-top: 24px; }
.profile-summary { font-size: 15px; margin-top: 12px; line-height: 1.75; }
.resume-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.resume-section-heading > .small-label { font-size: 10px; }
.experience-item, .education-item { margin-top: 20px; }
.experience-item + .experience-item, .education-item + .education-item { padding-top: 20px; border-top: 1px solid var(--line); }
.experience-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.company { font-size: 13px; font-weight: 600; }
.dates { font-size: 11px; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.experience-item h3, .education-item h3 { font-size: 17px; line-height: 1.4; margin-top: 4px; font-weight: 500; }
.experience-item > p:not(.technologies), .experience-item ul { font-size: 14px; color: var(--muted); line-height: 1.7; margin-top: 8px; }
.experience-item ul { margin-bottom: 0; padding-left: 20px; }
.experience-item li + li { margin-top: 4px; }
.technologies { color: var(--muted); font-size: 11px; line-height: 1.8; margin-top: 10px; }
.institution { font-size: 14px; margin-top: 4px; }
.education-detail { font-size: 12px; color: var(--muted); margin-top: 4px; }
.education-item .small-label { font-size: 10px; }
.resume-research > p { font-size: 14px; color: var(--muted); margin-top: 12px; }
.resume-research ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 16px; }
.resume-research li { display: grid; gap: 4px; font-size: 14px; line-height: 1.6; }
.resume-research li > span { font-size: 11px; color: var(--muted); }
.skills-list { display: grid; gap: 12px; margin-top: 16px; }
.skills-list > div { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 16px; font-size: 13px; line-height: 1.7; }
.skills-list dt { font-weight: 500; }
.skills-list dd { color: var(--muted); }
.posts-intro .eyebrow { margin-bottom: 8px; }
.posts-list { padding-bottom: 32px; }
.post-row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 44px; gap: 32px; padding-block: 24px; border-top: 1px solid var(--line); }
.post-row-meta { display: grid; align-content: start; gap: 6px; font-size: 12px; color: var(--muted); }
.post-row-meta > span:first-child { color: var(--blue); }
.post-row h2 { font-size: 25px; line-height: 1.3; max-width: 34ch; letter-spacing: -.025em; }
.post-row h2 a, .more-posts h3 a { color: var(--ink); }
.post-row h2 a:hover, .more-posts h3 a:hover { color: var(--blue); }
.post-row-content > p { font-size: 15px; line-height: 1.7; color: var(--muted); margin-top: 10px; max-width: 65ch; }
.post-row-link { display: flex; align-items: center; justify-content: center; align-self: start; width: 44px; min-height: 44px; font-size: 23px; }
.post-article { max-width: 760px; padding-block: 28px 36px; }
.post-back { min-height: 44px; margin-bottom: 20px; }
.post-header h1 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.15; margin-top: 12px; text-wrap: balance; }
.post-byline { display: flex; flex-wrap: wrap; gap: 4px 20px; color: var(--muted); font-size: 12px; margin-top: 20px; }
.post-byline > span:first-child { color: var(--ink); }
.post-origin { font-size: 12px; color: var(--muted); margin-top: 6px; }
.post-video { margin: 28px 0 0; }
.post-video video { display: block; width: 100%; height: auto; aspect-ratio: 1290 / 720; background: var(--ink); border-radius: 4px; }
.post-video figcaption { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 10px; }
.post-video figcaption a { white-space: nowrap; }
.video-description { margin-top: 12px; color: var(--muted); font-size: 13px; }
.video-description summary { cursor: pointer; min-height: 44px; padding-block: 10px; color: var(--blue); }
.video-description p { line-height: 1.7; margin-top: 10px; }
.post-prose { display: grid; gap: 20px; margin-top: 32px; font-size: 17px; line-height: 1.85; }
.post-prose a { overflow-wrap: anywhere; text-decoration: underline; text-decoration-color: color-mix(in oklch, var(--blue) 35%, transparent); }
.post-prose a:hover { text-decoration-color: var(--blue); }
.post-prose strong { font-weight: 600; }
.post-paper { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 32px; }
.post-paper h2 { font-size: 20px; line-height: 1.5; margin-top: 8px; }
.more-posts { border-top: 1px solid var(--line); padding-block: 28px 36px; }
.more-posts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.more-posts h3 { font-size: 20px; line-height: 1.4; margin-top: 8px; }
.more-posts-grid article > p:last-child { font-size: 14px; color: var(--muted); line-height: 1.7; margin-top: 10px; }
@media (max-width: 850px) {
  .personal-intro { gap:32px; grid-template-columns:.85fr 1.15fr; }
  .intro-identity h1 { font-size:48px; }
  .featured-paper { gap:32px; padding:24px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 40px); }
  .site-header { gap: 16px; padding-block: 12px; }
  .site-header nav { gap: 8px; }
  .site-header nav a { font-size: 13px; }
  .personal-intro { grid-template-columns:1fr; gap:20px; padding-block:28px; }
  .intro-identity h1 { font-size:52px; }
  .intro-role { font-size:16px; margin-top:16px; }
  .identity-links { margin-top:16px; }
  .intro-writing { padding-top:0; gap:12px; }
  .intro-writing > .intro-lead { font-size:18px; line-height:1.65; }
  .intro-writing > p { font-size:15px; line-height:1.75; }
  .featured-paper { grid-template-columns:1fr; gap:18px; padding:22px; }
  .featured-title h3 { font-size:28px; }
  .featured-title > p { font-size:16px; }
  .desktop-break { display:none; }
  .selected-paper { grid-template-columns:minmax(0,1fr) 24px; gap:8px 12px; padding-block:20px; }
  .selected-date { grid-column:1; }
  .selected-description { grid-column:1; }
  .selected-arrow { grid-column:2; grid-row:2; }
  .home-research,.background-section { padding-block:28px; }
  .bio p { font-size: 16px; }
  .intro-detail { font-size: 13px; }
  .background-columns { grid-template-columns: 1fr; gap: 20px; }
  .resume-layout { grid-template-columns: 1fr; gap: 20px; padding-top: 20px; }
  .resume-sidebar nav { position: static; display: flex; flex-wrap: wrap; gap: 12px 20px; }
  .resume-intro { align-items: start; flex-direction: column; gap: 16px; padding-top: 28px; }
  .paper-row { grid-template-columns: 1fr; gap: 0; }
  .paper-index { display: none; }
  .paper-content h3 { font-size: 17px; }
  .section-heading h2 { font-size: 25px; }
  .section-heading > .text-link { font-size: 12px; white-space: nowrap; }
  .post-row { grid-template-columns: minmax(0, 1fr) 44px; gap: 8px 12px; padding-block: 24px; }
  .post-row-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 16px; }
  .post-row-content { grid-column: 1; }
  .post-row-link { grid-column: 2; grid-row: 2; }
  .post-row h2 { font-size: 23px; }
  .post-article { padding-top: 20px; }
  .post-back { margin-bottom: 16px; }
  .post-header h1 { font-size: 32px; text-wrap: wrap; }
  .post-byline { gap: 4px 16px; margin-top: 16px; }
  .post-prose { font-size: 16px; line-height: 1.8; gap: 18px; margin-top: 24px; }
  .post-video { margin-top: 24px; }
  .more-posts-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 420px) {
  .site-header nav { gap: 4px; }
  .site-header nav a { padding-inline:6px; font-size:12px; min-width:44px; justify-content:center; }
  .intro-identity h1 { font-size:46px; }
  h1 { font-size: 30px; }
  .personal-links { gap: 12px 20px; }
  .selected-paper h3 { font-size: 17px; }
  .experience-top { flex-wrap: wrap; gap: 4px 12px; }
  .skills-list > div { grid-template-columns: 1fr; gap: 4px; }
  .site-footer { flex-wrap: wrap; font-size: 10px; }
}
@media print {
  @page { size: A4; margin: 15mm 17mm; }
  :root { background: oklch(100% 0 0); color: oklch(15% 0 0); --muted: oklch(35% 0 0); --line: oklch(80% 0 0); --blue: oklch(25% 0 0); }
  body { font-size: 10pt; line-height: 1.5; }
  .container { width: 100%; margin: 0; }
  .site-header, .site-footer, .resume-sidebar, .print-button, .skip-link { display: none !important; }
  .resume-intro { padding: 0 0 6mm; }
  .resume-intro h1 { font-size: 27pt; margin-top: 2mm; }
  .resume-intro .eyebrow { font-size: 8pt; }
  .resume-role { font-size: 12pt; margin-top: 2mm; }
  .resume-contact { font-size: 8pt; margin-top: 3mm; gap: 5mm; }
  .resume-contact .text-link { font-size: 8pt; }
  .resume-layout { display: block; padding: 6mm 0 0; }
  .resume-section { padding-bottom: 5mm; }
  .resume-section + .resume-section { padding-top: 5mm; }
  .resume-section h2 { font-size: 16pt; break-after: avoid; }
  .profile-summary { font-size: 10pt; margin-top: 3mm; line-height: 1.55; }
  .experience-item { margin-top: 5mm; break-inside: avoid; }
  .experience-item + .experience-item { padding-top: 4mm; }
  .experience-item h3, .education-item h3 { font-size: 12pt; margin-top: 1mm; }
  .experience-item > p:not(.technologies), .experience-item ul { font-size: 9pt; line-height: 1.55; margin-top: 2mm; }
  .experience-item ul { padding-left: 4mm; }
  .experience-item li + li { margin-top: 1mm; }
  .technologies { font-size: 7.5pt; margin-top: 2mm; }
  .company { font-size: 10pt; }
  .dates { font-size: 8pt; }
  .education-item { margin-top: 4mm; break-inside: avoid; }
  .education-item + .education-item { padding-top: 4mm; }
  .education-item .institution { font-size: 10pt; margin-top: 1mm; }
  .education-detail { font-size: 8pt; }
  .education-item .small-label { font-size: 7pt; }
  .resume-research { break-before: page; }
  .resume-research > p { font-size: 9pt; margin-top: 2mm; }
  .resume-research ul { gap: 3mm; margin-top: 3mm; }
  .resume-research li { font-size: 9pt; break-inside: avoid; }
  .resume-research li > span { font-size: 7pt; }
  .skills-list { gap: 3mm; margin-top: 3mm; }
  .skills-list > div { grid-template-columns: 35mm 1fr; gap: 4mm; font-size: 9pt; }
  .resume-section-heading .text-link { display: none; }
  .experience-top { flex-wrap: nowrap; }
  .resume-research a span, .resume-contact a span { display: none; }
  a { text-decoration: none; }
}
