@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400-normal.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500-normal.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600-normal.woff2") format("woff2")}@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/newsreader-400-normal.woff2") format("woff2")}@font-face{font-family:"Newsreader";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/newsreader-500-normal.woff2") format("woff2")}@font-face{font-family:"Newsreader";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/newsreader-600-normal.woff2") format("woff2")}@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/newsreader-400-italic.woff2") format("woff2")}@font-face{font-family:"Newsreader";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/newsreader-500-italic.woff2") format("woff2")}:root{--bg: #f7f7f4;--bg-2: #efeee9;--surface: #fffffd;--ink: #16161d;--ink-soft: #34343f;--muted: #60606c;--line: #e1e0da;--accent: #3b3fc4;--accent-hover: #2c2f99;--accent-tint: #e8e8f8;--on-accent: #ffffff;--c2: #0b6e6e;--c3: #a3257a;--c3-tint: #f8e3ef;--badge: #a3470f;--badge-tint: #f9e6d6;--marker: #fbe2c4;--glow-1: #6c7bff;--glow-2: #3fd1c0;--glow-3: #ff7eb6;--duo: #e2e3fa}:root[data-theme="dark"]{--bg: #0c0c12;--bg-2: #111118;--surface: #15151e;--ink: #ededf3;--ink-soft: #cbcbd6;--muted: #9696a6;--line: #262630;--accent: #9aa2ff;--accent-hover: #bcc1ff;--accent-tint: #1c1d3a;--on-accent: #0c0c12;--c2: #5fd6cf;--c3: #ff8fcf;--c3-tint: #33182b;--badge: #ffb070;--badge-tint: #36260f;--marker: #4a3417;--glow-1: #3b3fc4;--glow-2: #0f8a83;--glow-3: #a3257a;--duo: #d4d6ff}:root{--serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure: 46rem;--radius: 14px;--shadow: 0 1px 2px rgba(20, 20, 40, .04), 0 8px 24px rgba(20, 20, 40, .06);--grain-opacity: .07;color-scheme:light}:root[data-theme="dark"]{--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);--grain-opacity: .05;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}body{position:relative;margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;transition:background-color .3s ease, color .3s ease}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}::selection{background:var(--marker);color:var(--ink)}main{position:relative;z-index:1;flex:1;width:100%;counter-reset:section}.container{width:100%;max-width:var(--measure);margin:0 auto;padding:0 1.25rem}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.2;color:var(--ink);letter-spacing:-0.015em}p{margin:0 0 1.1em}a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease, text-decoration-color .15s ease}a:hover{color:var(--accent-hover);text-decoration-color:currentColor;text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}strong{font-weight:600;color:var(--ink)}mark{color:inherit;background:linear-gradient(transparent 38%, var(--marker) 38%, var(--marker) 88%, transparent 88%);padding:0 .12em;margin:0 -.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.icon{width:1em;height:1em;flex-shrink:0;vertical-align:-0.125em}.skip-link{position:absolute;left:-999px;top:.5rem;background:var(--surface);padding:.5rem 1rem;border-radius:var(--radius);z-index:10}.skip-link:focus{left:.5rem}.glow{position:absolute;top:0;left:50%;width:1400px;max-width:100vw;height:760px;transform:translateX(-50%);z-index:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom, #000 35%, transparent);mask-image:linear-gradient(to bottom, #000 35%, transparent)}.glow span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 26s ease-in-out infinite alternate}.glow span:nth-child(1){width:520px;height:420px;left:4%;top:-120px;background:var(--glow-1)}.glow span:nth-child(2){width:460px;height:380px;right:2%;top:-60px;background:var(--glow-2);animation-delay:-9s;animation-duration:31s}.glow span:nth-child(3){width:420px;height:360px;left:38%;top:140px;background:var(--glow-3);animation-delay:-17s;animation-duration:23s}:root[data-theme="dark"] .glow span{opacity:.38}@keyframes drift{0%{transform:translate(0, 0) scale(1)}50%{transform:translate(40px, 30px) scale(1.08)}100%{transform:translate(-30px, 10px) scale(0.95)}}.network{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.6;-webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,0.7) calc(50% - 30rem), rgba(0,0,0,0.2) calc(50% - 20rem), rgba(0,0,0,0.2) calc(50% + 20rem), rgba(0,0,0,0.7) calc(50% + 30rem), #000 100%);mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,0.7) calc(50% - 30rem), rgba(0,0,0,0.2) calc(50% - 20rem), rgba(0,0,0,0.2) calc(50% + 20rem), rgba(0,0,0,0.7) calc(50% + 30rem), #000 100%)}:root[data-theme="dark"] .network{opacity:.7}.has-network .glow span{opacity:.28}:root[data-theme="dark"] .has-network .glow span{opacity:.22}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--bg) 70%, transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;flex-wrap:wrap}.wordmark{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:-0.01em}.wordmark::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:conic-gradient(from 210deg, var(--glow-1), var(--glow-2), var(--glow-3), var(--glow-1));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent)}.wordmark:hover{color:var(--accent);text-decoration:none}.site-nav{display:flex;align-items:center;gap:.2rem;font-size:.9375rem;flex-wrap:wrap}.site-nav a{color:var(--muted);text-decoration:none;padding:.35rem .7rem;border-radius:999px;transition:color .15s ease, background-color .15s ease}.site-nav a:hover{color:var(--ink);background:var(--accent-tint)}.site-nav a[aria-current="page"]{color:var(--accent);background:var(--accent-tint);font-weight:500}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;margin-left:.3rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;transition:color .15s ease, border-color .15s ease, transform .3s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-20deg)}.theme-toggle span{display:inline-flex}.theme-toggle .when-dark{display:none}:root[data-theme="dark"] .theme-toggle .when-dark{display:inline-flex}:root[data-theme="dark"] .theme-toggle .when-light{display:none}.hero{display:grid;grid-template-columns:12rem 1fr;gap:2.5rem;align-items:center;margin-top:4rem}.hero-photo-wrap{position:relative;width:12rem;height:12rem;border-radius:50%;padding:5px;isolation:isolate}.hero-photo-wrap::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg, var(--glow-1), var(--glow-2), var(--glow-3), var(--glow-1));animation:spin 18s linear infinite;z-index:-1}.hero-photo-duo{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--duo);border:4px solid var(--bg)}.hero-photo{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;transition:filter .5s ease, mix-blend-mode .5s ease}.hero-photo-wrap:hover .hero-photo{mix-blend-mode:normal;filter:grayscale(1) contrast(1.02)}@keyframes spin{to{transform:rotate(360deg)}}.hero-kicker{margin:0 0 .5rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c2)}.hero-name{font-size:clamp(2.3rem, calc(1.5rem + 3vw), 3.3rem);font-weight:500;margin:0 0 .75rem;line-height:1.02;letter-spacing:-0.025em}.hero-name em{font-style:italic;font-weight:400;background:linear-gradient(100deg, var(--accent) 5%, var(--c3) 55%, var(--c2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}.hero-role,.hero-advisors{margin:0 0 .2rem;color:var(--ink-soft);font-size:1rem;line-height:1.55}.hero-advisors{color:var(--muted)}.tagline{margin:2.75rem 0 0;font-family:var(--serif);font-size:clamp(1.45rem, calc(1.1rem + 1.3vw), 1.95rem);line-height:1.3;font-weight:400;color:var(--ink);letter-spacing:-0.01em}.tagline em{color:var(--accent)}.contact{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.contact-link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.9rem;font-weight:500;color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 75%, transparent);border:1px solid var(--line);border-radius:999px;text-decoration:none;backdrop-filter:blur(6px);transition:background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease}.contact-link .icon{color:var(--accent)}.contact-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}.section{margin-top:4.5rem;counter-increment:section}.section-title{display:flex;align-items:baseline;gap:.9rem;font-family:var(--serif);font-size:1.75rem;font-weight:500;color:var(--ink);margin:0 0 1.5rem}.section .section-title::before{content:"0" counter(section);font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--accent)}.section-title::after{content:"";flex:1;height:1px;align-self:center;background:linear-gradient(90deg, var(--line), transparent)}.about p{color:var(--ink-soft)}.callout{position:relative;margin-top:1.75rem;padding:1.1rem 1.3rem 1.1rem 3.4rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.callout::before{content:"✶";position:absolute;left:1.2rem;top:.95rem;font-size:1.3rem;color:var(--c2)}.callout p{margin:0}.more-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.9375rem;font-weight:500;text-decoration:none}.more-link .icon{transition:transform .15s ease}.more-link:hover{text-decoration:none}.more-link:hover .icon{transform:translateX(4px)}.news{list-style:none;padding:0;margin:0;position:relative}.news li{position:relative;display:grid;grid-template-columns:5.25rem 1fr;gap:1.25rem;padding:.6rem 0;color:var(--ink-soft);font-size:.98rem;line-height:1.6}.news li::before{content:"";position:absolute;left:5.25rem;margin-left:.55rem;top:1.05rem;width:7px;height:7px;border-radius:50%;background:var(--bg);border:2px solid var(--c2);transform:translateX(-50%);z-index:1}.news li::after{content:"";position:absolute;left:5.25rem;margin-left:.55rem;top:0;bottom:0;width:1px;background:var(--line)}.news li:first-child::before{background:var(--c2);box-shadow:0 0 0 4px color-mix(in srgb, var(--c2) 20%, transparent)}.news li>span{padding-left:.6rem}.news time{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c2);padding-top:.2rem;white-space:nowrap}.older-news{margin-top:.5rem}.older-news summary{cursor:pointer;color:var(--accent);font-size:.9375rem;font-weight:500;padding:.4rem 0;list-style:none}.older-news summary::-webkit-details-marker{display:none}.older-news summary::before{content:"+ "}.older-news[open] summary::before{content:"− "}.pubs{list-style:none;padding:0;margin:0 0 1rem}.pub{position:relative;padding:1.3rem 1.4rem;margin-bottom:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}.pub::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg, var(--glow-1), var(--glow-3), var(--glow-2));opacity:0;transition:opacity .2s ease}.pub:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.pub:hover::before{opacity:1}.pub-head{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.pill{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .6rem;border-radius:999px;line-height:1.6}.pill-venue{color:var(--c3);background:var(--c3-tint)}.pill-highlight{color:var(--badge);background:var(--badge-tint)}.pub-title{font-size:1.25rem;font-weight:500;margin:0 0 .4rem;line-height:1.3}.pub-title a{color:var(--ink);text-decoration:none}.pub-title a:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.pub-authors{margin:0 0 .15rem;font-size:.9rem;color:var(--ink-soft);line-height:1.55}.me{font-weight:600;color:var(--ink);background:linear-gradient(transparent 60%, var(--marker) 60%);padding:0 .1em}.pub-venue{margin:0;font-style:italic;color:var(--muted);font-family:var(--serif);font-size:1rem}.pub-note{font-style:normal;font-family:var(--sans);font-size:.8rem}.pub-summary{margin:.65rem 0 0;font-size:.92rem;color:var(--ink-soft);line-height:1.6}.pub-links{margin:.8rem 0 0;display:flex;gap:.4rem;flex-wrap:wrap}.chip{font-size:.78rem;font-weight:500;padding:.18rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--accent);text-decoration:none;background:var(--bg)}.chip:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent);text-decoration:none}.year-heading{display:flex;align-items:center;gap:1rem;font-size:2rem;font-style:italic;margin:3rem 0 1.1rem;color:var(--accent);font-weight:400}.year-heading::after{content:"";flex:1;height:1px;background:linear-gradient(90deg, var(--line), transparent)}.year-heading:first-child{margin-top:0}.small-note{font-size:.85rem;color:var(--muted)}.post-list{list-style:none;padding:0;margin:0 0 .5rem}.post-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.post-list-title{font-family:var(--serif);font-size:1.25rem;color:var(--ink);text-decoration:none}.post-list-title:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.post-list time{font-size:.85rem;color:var(--muted);white-space:nowrap}.writing-list{list-style:none;padding:0;margin:0}.writing-list li{padding:2rem 0;border-bottom:1px solid var(--line)}.writing-list li:first-child{padding-top:.5rem}.writing-list time{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c2)}.writing-list h2{font-size:1.8rem;margin:.3rem 0 .6rem}.writing-list h2 a{color:var(--ink);text-decoration:none}.writing-list h2 a:hover{color:var(--accent)}.writing-list p{color:var(--ink-soft);margin-bottom:.5rem}.page,.post{margin-top:4rem}.page-header{margin-bottom:2.5rem}.page-header h1{font-size:clamp(2.3rem, calc(1.6rem + 2.6vw), 3.2rem);margin:0 0 .6rem;line-height:1.08;letter-spacing:-0.025em}.page-subtitle,.post-meta{color:var(--muted);margin:0;font-size:1.05rem}.back-link{display:inline-block;font-size:.9rem;color:var(--muted);text-decoration:none;margin-bottom:1rem}.back-link:hover{color:var(--accent);text-decoration:none}.prose{color:var(--ink-soft)}.prose-long{font-family:var(--serif);font-size:1.2rem;line-height:1.72}.prose-long p{text-align:left;hyphens:auto}.prose h2{font-size:1.7rem;margin:2.75rem 0 .75rem}.prose h3{font-size:1.35rem;margin:2rem 0 .5rem}.prose-long h2,.prose-long h3{font-weight:600}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.3rem 0}.prose ul.pubs,.prose ul.timeline,.prose ul.post-list,.prose ul.news{padding-left:0}.prose li.pub{margin:0 0 1rem}.prose .pub-title{margin:0 0 .4rem;font-size:1.25rem}.prose blockquote{position:relative;margin:2rem 0;padding:1rem 1.25rem 1rem 1.5rem;border-left:3px solid var(--accent);background:linear-gradient(90deg, var(--accent-tint), transparent);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--mono);font-size:.85em;background:var(--accent-tint);padding:.1em .35em;border-radius:4px}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;overflow-x:auto;font-size:.85rem}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.5rem .75rem;text-align:left}figure{margin:2.25rem 0;text-align:center}figure img{border-radius:8px;display:block;margin:0 auto;box-shadow:var(--shadow)}figure.medium img{max-width:80%}figure.narrow img{max-width:70%}figcaption{margin-top:.75rem;font-family:var(--sans);font-size:.85rem;line-height:1.5;color:var(--muted);text-align:center}.figure-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:2rem 0}.figure-row figure{margin:0}.figure-row img{height:300px;width:100%;object-fit:contain;box-shadow:none}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted)}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin:0 0 3rem}.button{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border-radius:999px;font-weight:500;font-size:.95rem;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}.button-ghost{background:transparent;color:var(--accent)}.button-ghost:hover{background:var(--accent-tint);color:var(--accent)}.timeline{list-style:none;padding:0;margin:0 0 3rem}.timeline li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.97rem;line-height:1.6;color:var(--ink-soft)}.timeline li:last-child{border-bottom:0}.tl-date{font-size:.85rem;font-weight:600;color:var(--c2);padding-top:.1rem}.timeline strong{color:var(--ink)}.plain-list{padding-left:1.2rem;margin:0 0 3rem;color:var(--ink-soft)}.plain-list li{margin:.4rem 0}.plain-list li::marker{color:var(--c2)}.cv-embed{width:100%;height:80vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.site-footer{position:relative;z-index:1;margin-top:6rem;padding:3.5rem 0 1.5rem;background:var(--bg-2);border-top:1px solid var(--line);font-size:.9rem;color:var(--muted);overflow:hidden}.site-footer::before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--glow-3) 45%, transparent), transparent 65%);pointer-events:none}.footer-cta{position:relative;margin-bottom:2.5rem}.footer-kicker{margin:0 0 .35rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c2)}.footer-headline{margin:0 0 .6rem;font-family:var(--serif);font-size:clamp(1.8rem, calc(1.2rem + 2vw), 2.5rem);color:var(--ink);line-height:1.15;letter-spacing:-0.02em}.footer-headline em{color:var(--accent)}.footer-email{font-family:var(--serif);font-size:1.2rem;word-break:break-all}.footer-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid var(--line)}.footer-meta{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.footer-links{display:flex;gap:.3rem}.footer-links a{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:999px;color:var(--muted);font-size:1.05rem;transition:color .15s ease, background-color .15s ease, transform .15s ease}.footer-links a:hover{color:var(--accent);background:var(--surface);transform:translateY(-2px)}@media (max-width: 640px){body{font-size:1rem}.header-inner{padding-top:.5rem;padding-bottom:.5rem}.site-nav{gap:0;margin-left:-.7rem}.hero{grid-template-columns:1fr;gap:1.5rem;margin-top:2.25rem}.hero-photo-wrap{width:8.5rem;height:8.5rem}.tagline{margin-top:2rem}.timeline li{grid-template-columns:1fr;gap:.1rem}.news li{grid-template-columns:1fr;gap:.1rem;padding-left:1.1rem}.news li::before{left:0;margin-left:0;transform:none;top:1rem}.news li::after{left:3px;margin-left:0}.news li>span{padding-left:0}.post-list li{flex-direction:column;gap:.1rem}.figure-row{grid-template-columns:1fr}.prose-long{font-size:1.1rem}figure.medium img,figure.narrow img{max-width:100%}.cv-embed{display:none}.network{-webkit-mask-image:none;mask-image:none;opacity:.3}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}@media print{.site-header,.site-footer,.theme-toggle,.contact,.glow,.network{display:none}body{background:#fff;color:#000}body::after{display:none}}
