:root { --site-ink: #141414; --site-muted: #63636a; --site-line: #e6e6e9; --site-accent: #33465e; }
#top { scroll-margin-top: 64px; }
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--site-line); backdrop-filter: blur(12px); }
.site-header-inner { max-width: 62rem; padding: 0 1.5rem; margin: auto; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-wordmark { font: 14px 'JetBrains Mono', monospace; letter-spacing: -.02em; white-space: nowrap; }
.site-nav { display: flex; gap: 22px; color: var(--site-muted); font-size: 14px; }
.site-nav a:hover, .site-mobile-menu a:hover, .hero-links a:hover, .section-links a:hover, .writing-row a:hover, .research-layout a:hover, .work-link:hover { color: var(--site-accent); }
.site-header a:focus-visible, .site-mobile-menu summary:focus-visible, main a:focus-visible { outline: 2px solid var(--site-accent); outline-offset: 5px; }
.site-mobile-menu { display: none; position: relative; font-size: 14px; }
.site-mobile-menu summary { cursor: pointer; list-style: none; padding: 8px 0 8px 12px; }
.site-mobile-menu summary::-webkit-details-marker { display: none; }
.site-mobile-menu summary::after { content: '+'; margin-left: 9px; }
.site-mobile-menu[open] summary::after { content: '−'; }
.site-mobile-menu nav { position: absolute; right: 0; top: 43px; min-width: 190px; background: white; border: 1px solid var(--site-line); padding: 8px; box-shadow: 0 10px 30px #1414140a; }
.site-mobile-menu nav a { display: block; padding: 12px 14px; }
.layout-hero { padding: 72px 0 52px; }
.hero-layout { display: grid; grid-template-columns: minmax(0,1fr) 152px; align-items: center; gap: 48px; }
.hero-position { font: 12px 'JetBrains Mono', monospace; letter-spacing: .08em; color: var(--site-muted); margin-bottom: 22px; }
.hero-copy h1 { font-size: clamp(46px, 5.4vw, 68px); font-weight: 800; line-height: 1.05; letter-spacing: -.045em; }
.hero-intro { font-size: 24px; line-height: 1.5; margin-top: 22px; max-width: 640px; color: #141414e6; }
.hero-current { margin-top: 17px; font-size: 16px; line-height: 1.65; color: var(--site-muted); max-width: 600px; }
.hero-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin-top: 28px; font-size: 14px; }
.hero-links a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.hero-links svg { width: 16px; height: 16px; flex-shrink: 0; }
.hero-portrait { width: 152px; height: 152px; border-radius: 50%; object-fit: cover; border: 1px solid var(--site-line); }
.section-label { font: 12px 'JetBrains Mono', monospace; letter-spacing: .08em; font-weight: 400; color: var(--site-muted); margin-bottom: 32px; }
.layout-section { padding: 64px 0; border-top: 1px solid var(--site-line); scroll-margin-top: 84px; }
.layout-impact { padding: 42px 0 50px; }
.layout-impact .section-label { margin-bottom: 14px; }
.impact-context { color: var(--site-muted); font-size: 16px; line-height: 1.6; margin-bottom: 32px; }
.experience-roles > * + * { margin-top: 36px; }
.experience-divider { padding-top: 36px; border-top: 1px solid var(--site-line); }
.writing-row { padding: 26px 0; border-bottom: 1px solid var(--site-line); }
.writing-row:first-child { padding-top: 0; }
.writing-date { font: 11px 'JetBrains Mono', monospace; color: var(--site-muted); line-height: 1.6; margin-bottom: 10px; }
.writing-row h3 { font-size: 22px; line-height: 1.4; font-weight: 600; letter-spacing: -.025em; }
.writing-row h3 a { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; }
.writing-row h3 span { flex-shrink: 0; font-size: 18px; font-weight: 400; color: var(--site-muted); }
.section-links { display: flex; flex-wrap: wrap; gap: 16px 30px; margin-top: 28px; font-size: 14px; color: var(--site-accent); }
.work-layout { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 56px; }
.work-layout h3 { font-size: 26px; font-weight: 650; line-height: 1.25; letter-spacing: -.025em; }
.work-description { font-size: 17px; line-height: 1.7; margin-top: 16px; max-width: 650px; }
.work-note { font-size: 13px; line-height: 1.6; margin-top: 15px; color: var(--site-muted); }
.work-link { border: 1px solid var(--site-line); padding: 13px 17px; font-size: 14px; white-space: nowrap; }
.research-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2.3fr); gap: 48px; }
.research-statistics { display: grid; gap: 28px; align-content: start; font-size: 13px; line-height: 1.6; color: var(--site-muted); }
.research-number { font: 32px 'JetBrains Mono', monospace; color: var(--site-ink); letter-spacing: -.03em; margin-bottom: 8px; }
.research-prose { font-size: 16px; line-height: 1.8; color: #141414e6; }
.research-links { margin-top: 22px; font-size: 14px; color: var(--site-accent); }
.patent-links { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 15px; color: var(--site-accent); font-size: 12px; }
.layout-contact { padding-bottom: 80px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 767px) {
  .site-nav { display: none; }
  .site-mobile-menu { display: block; }
  .layout-hero { padding: 42px 0; }
  .hero-layout { grid-template-columns: 1fr; gap: 0; position: relative; }
  .hero-portrait { position: absolute; top: 0; right: 0; width: 64px; height: 64px; }
  .hero-position { margin-top: 10px; margin-bottom: 39px; font-size: 11px; }
  .hero-copy h1 { font-size: clamp(40px, 10.8vw, 60px); }
  .hero-intro { font-size: 21px; line-height: 1.5; margin-top: 20px; }
  .hero-current { font-size: 15px; margin-top: 17px; }
  .hero-links { margin-top: 25px; }
  .section-label { margin-bottom: 27px; }
  .layout-section { padding: 44px 0; }
  .research-layout { grid-template-columns: 1fr; gap: 32px; }
  .research-statistics { grid-template-columns: 1fr 1fr; gap: 24px; }
  .work-layout { grid-template-columns: 1fr; gap: 22px; }
  .work-link { justify-self: start; }
  .writing-row { padding: 23px 0; }
  .writing-row h3 { font-size: 20px; }
  .writing-row h3 a { gap: 18px; }
  .writing-date { font-size: 10px; }
  .layout-contact { padding-bottom: 60px; }
}
