:root{--font-display: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;--font-body: "Crimson Pro", "Crimson Text", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--color-bg: #f0ede8;--color-bg-elevated: #ffffff;--color-text: #0a0a0a;--color-text-muted: #5a5a5a;--color-text-subtle: #8a8a8a;--color-border: #0a0a0a;--color-border-light: rgba(10, 10, 10, .12);--color-accent: #ff3b00;--color-accent-hover: #e03400;--color-on-accent: #ffffff;--step-0: clamp(.8125rem, .78rem + .15vw, .9375rem);--step-1: clamp(1rem, .92rem + .35vw, 1.125rem);--step-2: clamp(1.25rem, 1.1rem + .65vw, 1.5rem);--step-3: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);--step-4: clamp(2.5rem, 1.8rem + 2.5vw, 4rem);--step-5: clamp(3.5rem, 2.2rem + 5vw, 7rem);--step-6: clamp(4.5rem, 2.5rem + 8vw, 11rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--content-max: 72rem;--content-medium: 56rem;--content-narrow: 42rem;--gutter: clamp(1.25rem, 4vw, 3rem);--radius: 0;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .2s;--duration-base: .45s;--duration-slow: .85s;--transition-fast: var(--duration-fast) var(--ease-out-expo);--transition-smooth: var(--duration-slow) var(--ease-out-expo);--color-bg-page: var(--color-bg);--color-bg-header: var(--color-bg-elevated);--color-bg-sidebar: var(--color-bg);--color-brand: var(--color-accent);--color-brand-hover: var(--color-accent-hover)}[data-theme=dark]{--color-bg: #0a0a0a;--color-bg-elevated: #141414;--color-text: #f0ede8;--color-text-muted: #b4b0a8;--color-text-subtle: #7a7670;--color-border: #f0ede8;--color-border-light: rgba(240, 237, 232, .14);--color-accent: #ff3b00;--color-accent-hover: #ff5522;--color-on-accent: #ffffff}html{visibility:hidden;scroll-behavior:smooth}html.theme-ready{visibility:visible}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:var(--step-1);font-weight:400;line-height:1.65;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.font-display{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;line-height:1.05}.font-mono{font-family:var(--font-mono);font-size:.8125em;letter-spacing:.04em;text-transform:uppercase}.label{font-family:var(--font-mono);font-size:var(--step-0);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-subtle)}.display-xl{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.02em;line-height:1.1}.display-lg{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.015em;line-height:1.15}.display-md{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.01em;line-height:1.2}.section-title{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-lg)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column}.site-wrapper>main{flex:1}.container{width:min(100% - var(--gutter) * 2,var(--content-max));margin-inline:auto}.container-narrow{width:min(100% - var(--gutter) * 2,var(--content-narrow));margin-inline:auto}.site-header{position:sticky;top:0;z-index:200;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-elevated);transition:background var(--transition-fast),border-color var(--transition-fast)}.site-header.is-overlay{position:fixed;width:100%;background:transparent;border-bottom-color:transparent}.site-header.is-overlay.is-scrolled{background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom-color:var(--color-border-light)}.site-nav{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--gutter);max-width:var(--content-max);margin-inline:auto;overflow-x:auto;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.nav-links{display:flex;align-items:center;gap:clamp(.5rem,2vw,1.5rem);flex:1}.nav-link{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;padding:var(--space-xs) 0;position:relative;transition:color var(--transition-fast)}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-fast)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-text)}.nav-link[aria-current=page]:after,.nav-link:hover:after{transform:scaleX(1)}.nav-index{color:var(--color-accent);margin-right:.35em}.nav-right{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto;flex-shrink:0}.toggle-btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);background:none;border:1px solid var(--color-border-light);padding:.4rem .65rem;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.toggle-btn:hover{color:var(--color-text);border-color:var(--color-border)}.progress-container{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent}.progress-bar{height:100%;width:0%;background:var(--color-accent);transition:width .08s linear}.page-container{width:min(100% - var(--gutter) * 2,var(--content-max));margin-inline:auto;padding:var(--space-3xl) 0 var(--space-4xl)}.page-container .content{min-width:0;max-width:var(--content-narrow);margin-inline:auto}.page-header{max-width:var(--content-narrow);margin-inline:auto;margin-bottom:var(--space-3xl);padding-bottom:var(--space-xl);border-bottom:2px solid var(--color-border)}.page-header--wide{width:70%;max-width:none;margin-inline:15%;padding-top:var(--space-3xl)}.page-header--wide+.page-container{padding-top:0}.page-header--wide .lead{max-width:none;text-align:justify;text-justify:inter-word}.page-header .label{display:block;margin-bottom:var(--space-md)}.page-header h1{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--space-lg)}.page-header .lead{font-size:var(--step-2);color:var(--color-text-muted);margin:0;line-height:1.5}.social-icons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md) 0}.social-icons a{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border-light);color:var(--color-text-muted);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.social-icons a:hover{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.content h1{font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.03em;line-height:1;margin:0 0 var(--space-lg)}.content h2{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.02em;margin:var(--space-3xl) 0 var(--space-md)}.content p,.content li{font-size:var(--step-1);line-height:1.75;color:var(--color-text)}.content a:not(.entry-card):not(.btn),.home-bio a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px;transition:color var(--transition-fast)}.content a:not(.entry-card):not(.btn):hover,.home-bio a:hover{color:var(--color-accent)}.content hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-2xl) 0}.content img{border:1px solid var(--color-border-light)}.hero{padding:calc(4.5rem + var(--space-2xl)) var(--gutter) var(--space-3xl);border-bottom:1px solid var(--color-border-light)}.hero-inner{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:var(--space-2xl);align-items:start;width:min(100%,var(--content-max));margin-inline:auto}.hero-portrait{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border-light)}.hero-text{min-width:0}.hero-role{font-family:var(--font-mono);font-size:var(--step-0);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-md)}.hero-name-row{display:flex;align-items:center;width:100%}.hero-name{font-family:var(--font-display);font-size:var(--step-4);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0;flex-shrink:0}.social-icons--hero{flex:0 0 auto;justify-content:flex-end;margin:0 0 0 auto;gap:var(--space-md);min-width:0}.social-icons--hero a{width:clamp(2.6rem,4.8vw,4rem);height:clamp(2.6rem,4.8vw,4rem);font-size:clamp(.9rem,1.6vw,1.3rem);flex-shrink:0}.hero-tagline{font-size:var(--step-2);color:var(--color-text-muted);max-width:42ch;margin:var(--space-lg) 0 0;line-height:1.5}.home-section{padding:var(--space-4xl) 0;border-bottom:1px solid var(--color-border-light)}.home-section--bio{padding-top:var(--space-3xl)}.home-section:last-of-type{border-bottom:none}.home-section .section-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-wrap:wrap}.home-section .section-head a{font-family:var(--font-mono);font-size:var(--step-0);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.home-bio{font-size:var(--step-2);line-height:1.6}.home-bio p{margin:0 0 var(--space-lg)}.entry-grid{display:grid;gap:0;border:1px solid var(--color-border)}.entry-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-lg) var(--space-xl);padding:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--color-border-light);text-decoration:none;color:inherit}.entry-card:last-child{border-bottom:none}.entry-card:hover h2{color:var(--color-accent)}.entry-card-index{font-family:var(--font-mono);font-size:var(--step-0);color:var(--color-accent);padding-top:.35em}.entry-card-body h2{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-sm);line-height:1.15;transition:color var(--transition-fast)}.entry-card-body p{margin:0;font-size:var(--step-0);font-weight:400;color:var(--color-text-muted);line-height:1.6}.entry-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-top:var(--space-md);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle)}.status-badge{display:inline-block;padding:.2em .5em;border:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.tag{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;padding:.25em .5em;border:1px solid var(--color-border-light);color:var(--color-text-subtle)}.entry-article .entry-header h1{font-size:var(--step-3);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--space-md)}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:2px solid var(--color-border)}.entry-body :global(h2){margin-top:var(--space-3xl)}.entry-body :global(.figure-row){display:flex;flex-wrap:wrap;gap:var(--space-md)}.btn-primary,.btn-secondary{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.65rem 1rem;border:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-primary:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-primary{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.contact-cta{display:inline-block;font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.03em;border-bottom:3px solid var(--color-accent);padding-bottom:var(--space-xs);transition:color var(--transition-fast)}.contact-cta:hover{color:var(--color-accent)}.home-section--contact .label{display:block;margin-bottom:var(--space-md)}.home-contact-note{margin:var(--space-lg) 0 0;color:var(--color-text-muted);max-width:42ch}.social-icons--prominent{margin-top:var(--space-xl);gap:var(--space-md)}.social-icons--prominent a{width:3rem;height:3rem;font-size:1.125rem}.table-container{margin:var(--space-2xl) 0;border:1px solid var(--color-border);overflow-x:auto}.role-table{width:100%;border-collapse:collapse;font-size:var(--step-0)}.role-table th,.role-table td{padding:var(--space-md) var(--space-lg);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border-light);line-height:1.6}.role-table thead th{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;background:var(--color-text);color:var(--color-bg)}.role-table tbody tr:last-child td{border-bottom:none}.role-table tbody tr:hover{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.role-table tbody td:first-child{font-family:var(--font-display);font-weight:700;color:var(--color-accent)}.comments-section{margin-top:var(--space-4xl);padding-top:var(--space-3xl);border-top:2px solid var(--color-border)}.comments-section h2{font-family:var(--font-display);font-size:var(--step-3);margin-top:0}.comment-form{display:grid;gap:var(--space-md);margin-bottom:var(--space-xl)}.comment-form input,.comment-form textarea{width:100%;padding:var(--space-md);border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0)}.comment-form textarea{min-height:120px;resize:vertical}.comment-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-md)}.comment-item{padding:var(--space-lg);border:1px solid var(--color-border-light)}.comment-meta{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-sm)}.comment-body{margin:0;white-space:pre-wrap}.comment-notice{padding:var(--space-md);border:1px solid var(--color-border-light);font-size:var(--step-0);color:var(--color-text-muted)}.comment-honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.comment-wait{margin:0;padding:var(--space-sm) 0 0;border:none}.site-footer{border-top:2px solid var(--color-border);padding:var(--space-4xl) var(--gutter) var(--space-2xl);background:var(--color-bg-elevated)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:var(--space-3xl);max-width:var(--content-max);margin-inline:auto;align-items:end}.footer-email{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.02em;display:block;margin-top:var(--space-sm);transition:color var(--transition-fast)}.footer-email:hover{color:var(--color-accent)}.footer-meta{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle)}.footer-cafe-link{margin-top:var(--space-xl);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle)}.footer-cafe-link a{color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-cafe-link a:hover{color:var(--color-accent)}.footer-cafe-sep{margin:0 .5em;opacity:.4}.footer-contact{margin-top:0}.footer-contact .social-icons{margin:var(--space-md) 0 var(--space-lg)}.footer-address{display:grid;gap:var(--space-md);margin-top:var(--space-lg)}.footer-address-block p{margin:var(--space-xs) 0 0;font-size:var(--step-0);color:var(--color-text-muted);line-height:1.55;max-width:42ch}.reveal-item{opacity:0;transform:translateY(28px);transition:opacity var(--transition-smooth),transform var(--transition-smooth);transition-delay:var(--reveal-delay, 0s)}.reveal-item.is-visible{opacity:1;transform:translateY(0)}.reveal-mask{clip-path:inset(100% 0 0 0);transform:translateY(.5em);transition:clip-path var(--transition-smooth),transform var(--transition-smooth);transition-delay:var(--reveal-delay, 0s)}.reveal-mask.is-visible{clip-path:inset(0 0 0 0);transform:translateY(0)}.reveal-stagger>.reveal-item,.reveal-stagger>.reveal-mask{opacity:0;transform:translateY(24px)}.reveal-stagger.is-visible>.reveal-item,.reveal-stagger.is-visible>.reveal-mask,.reveal-stagger>.reveal-item.is-visible,.reveal-stagger>.reveal-mask.is-visible{opacity:1;transform:translateY(0)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}.lang-fade-out{animation:langFadeOut .18s ease forwards;pointer-events:none}@keyframes langFadeOut{to{opacity:0}}@media(max-width:900px){.hero-inner{grid-template-columns:100px 1fr;gap:var(--space-lg)}.hero-name-row{flex-wrap:wrap;gap:var(--space-md)}.social-icons--hero{flex:0 0 auto;margin-left:auto;justify-content:flex-end;gap:var(--space-sm)}.social-icons--hero a{width:2.2rem;height:2.2rem;font-size:.9rem}.footer-grid{grid-template-columns:1fr}.entry-card{grid-template-columns:1fr;gap:var(--space-sm)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-item,.reveal-mask{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.lang-fade-out{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.lang-fade-out[data-astro-cid-bvxdwma5]{animation:langFadeOut .18s ease forwards;pointer-events:none}@keyframes langFadeOut{0%{opacity:1}to{opacity:0}}
