:root{--color-bg: #0a0a0f;--color-surface: #111118;--color-text: #c8c5c0;--color-text-muted: #807d78;--color-text-bright: #eae8e4;--color-accent: #5a7189;--color-accent-hover: #6d849c;--color-divider: #1e1e28;--font-serif: "Libre Baskerville", Georgia, serif;--font-sans: "Space Grotesk", system-ui, sans-serif;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.618rem;--text-xl: 2.618rem;--text-2xl: 4.236rem;--leading-tight: 1.2;--leading-normal: 1.618;--space-xs: .618rem;--space-sm: 1rem;--space-md: 1.618rem;--space-lg: 2.618rem;--space-xl: 4.236rem;--space-2xl: 6.854rem;--ease: cubic-bezier(.33, 1, .68, 1);--duration: .2s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:var(--color-text);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--color-text-bright)}.page{max-width:42rem;margin:0 auto;padding:var(--space-xl) var(--space-md)}section{padding:var(--space-xl) 0}section+section{border-top:1px solid var(--color-divider)}.hero{border-top:none}.hero h1{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:400;line-height:var(--leading-tight);color:var(--color-text-bright)}.record__label{font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.record__thesis{font-family:var(--font-serif);font-style:italic;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal);max-width:36rem;margin-bottom:var(--space-md)}.record{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.record__item{display:flex;gap:.6em;align-items:flex-start;font-size:var(--text-base);line-height:var(--leading-normal)}.record__em{font-family:var(--font-serif);color:var(--color-accent);flex-shrink:0;padding-top:.05em}.record__body{min-width:0;flex:1}.record__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6em;margin-bottom:.15em}.record__body b{font-family:var(--font-serif);font-weight:400;color:var(--color-text-bright)}.record__body a{color:inherit;text-decoration:underline;text-decoration-color:var(--color-divider);text-underline-offset:2px;transition:text-decoration-color var(--duration) var(--ease)}.record__body a:hover{color:inherit;text-decoration-color:var(--color-accent)}.record__blurb{display:block;color:var(--color-text-muted)}.record__category{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.record__links{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.3em;letter-spacing:.02em}.record__sep{color:var(--color-divider)}.testimonials{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}.testimonial blockquote{font-family:var(--font-serif);font-size:var(--text-base);font-style:italic;color:var(--color-text);line-height:var(--leading-normal);margin-bottom:var(--space-xs)}.testimonial cite{font-family:var(--font-sans);font-style:normal;font-size:var(--text-sm);color:var(--color-text-muted)}.links{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.links a{font-size:var(--text-sm);color:var(--color-text-muted);padding:.5rem 0;min-height:48px;display:inline-flex;align-items:center;transition:color var(--duration) var(--ease)}.links a:hover{color:var(--color-text-bright)}.links__separator{color:var(--color-divider);user-select:none}.site-footer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-size:var(--text-sm)}.lang-switcher{text-align:right;margin-bottom:var(--space-xs)}.lang-switcher a{font-size:var(--text-sm);font-weight:500;letter-spacing:.05em;color:var(--color-text-muted);transition:color var(--duration) var(--ease);padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center}.lang-switcher a:hover{color:var(--color-text-bright)}@media(max-width:640px){.page{padding:var(--space-lg) var(--space-md)}.hero h1{font-size:var(--text-lg)}}
