@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-italic.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}:root{--serif: "EB Garamond", "Noto Serif Devanagari", "Noto Serif JP", "Noto Serif SC", "Noto Serif KR", Garamond, Georgia, serif;--display: "EB Garamond", "Noto Serif Devanagari", "Noto Serif JP", "Noto Serif SC", "Noto Serif KR", Garamond, Georgia, serif;--display-light: "EB Garamond", "Noto Serif Devanagari", "Noto Serif JP", "Noto Serif SC", "Noto Serif KR", Garamond, Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, "Cascadia Mono", monospace;--ground: #fbfaf6;--ink: #1c1712;--faint: #6f675b;--hairline: rgba(28, 23, 18, .18);--hairline-soft: rgba(28, 23, 18, .1);--accent: #7a3028;--body-weight: 480;--body-tracking: .002em;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100%;background:var(--ground);color:var(--ink);font-family:var(--serif);font-weight:var(--body-weight);letter-spacing:var(--body-tracking);font-size:1.0625rem;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--ground)}img{max-width:100%;display:block}a{color:inherit;text-decoration:underline;text-decoration-color:var(--hairline);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color .2s ease,color .2s ease}a:hover{color:var(--accent);text-decoration-color:currentColor}a:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:1px}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;background:var(--ground);padding:.4rem .8rem;border:1px solid var(--hairline)}.skip-link:focus{top:1rem}.frame{max-width:1340px;margin-inline:auto;padding-inline:clamp(1.25rem,4.5vw,3.5rem)}.layout{display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,6fr);gap:clamp(3rem,6vw,5.5rem);align-items:start;padding-block:3rem 0}.identity{position:sticky;top:6.1rem;display:flex;flex-direction:column;gap:1.1rem;height:calc(100vh - 6.1rem - 12px)}.greeting{font-family:var(--display);font-size:clamp(3.5rem,6vw,6.25rem);font-style:italic;font-weight:400;line-height:1;letter-spacing:-.025em;text-wrap:balance}.thesis{font-size:clamp(1.3rem,1.8vw,1.55rem);line-height:1.25;letter-spacing:-.02em;max-width:24ch;text-wrap:pretty}.thesis em{font-style:italic}.section{padding-block:clamp(2.75rem,5vh,4rem);scroll-margin-top:4.5rem}.section-label{display:flex;align-items:center;gap:1.25rem;font-family:var(--display);font-size:1.15rem;font-style:italic;font-weight:400;color:var(--faint);margin-bottom:2.25rem}.section-label:after{content:"";flex:1;height:1px;background:var(--hairline-soft)}.prose{max-width:56ch;font-size:1.2rem;line-height:1.3;letter-spacing:-.02em}.prose p+p{margin-top:1em}.entry{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1.75rem;max-width:46rem}.entry+.entry{margin-top:2.4rem}.entry-dates{font-family:var(--display-light);font-size:.88rem;font-style:italic;color:var(--ink);white-space:nowrap;padding-top:.42rem}.entry-title{font-family:var(--display);font-size:1.3rem;font-weight:700;line-height:1.2}.entry-title a{text-decoration:none}.entry-title a:hover{text-decoration:underline;text-decoration-color:currentColor}.entry-sub{font-family:var(--display-light);font-style:italic;color:var(--ink);font-size:1.125rem;margin-top:.15rem}.entry-sub a{text-decoration:none}.entry-sub a:hover{text-decoration:underline;text-decoration-color:currentColor}.entry-loc{font-family:var(--display-light);margin-top:.1rem;font-size:.95rem;font-style:italic;color:var(--faint)}.entry-body{margin-top:.7rem;max-width:58ch;font-size:1rem;line-height:1.35}.entry-body p+p{margin-top:.7em}.entry-link{display:inline-block;margin-top:.65rem;font-style:italic;font-size:.98rem}.entry-link:after{content:" ↗";font-style:normal;font-size:.85em;color:var(--faint)}.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.tag{display:inline-flex;align-items:center;gap:.42em;padding:.22rem .6rem;border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);border-radius:.625rem;font-family:var(--display);font-size:.95rem;font-weight:700;line-height:1.3}.tag .dot{width:.5em;height:.5em;border-radius:50%;background:var(--dot, var(--hairline));flex:none}.skill-group+.skill-group{margin-top:1.6rem}.skill-label{font-family:var(--display-light);font-size:1.05rem;font-style:italic;color:var(--ink)}.skill-group .tags{margin-top:.55rem}.pull-quote{margin:1.4rem 0 .4rem;padding-left:1.4rem;border-left:1.5px solid var(--accent);font-style:italic;font-size:1.12rem;line-height:1.5;max-width:50ch}.pull-quote footer{margin-top:.6rem;font-style:italic;font-size:.9rem;color:var(--faint)}#credentials{border-top:0;padding-top:0}.seal-row{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:1.35rem;padding:0;margin:0}.seal:hover,.seal:focus-visible{transform:translateY(-2px)}.seal:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}.seal-art{display:block;width:64px;height:64px}.seal-art-tile{border-radius:7px}.paper-only{display:none}.seal{display:block;line-height:0;text-decoration:none;transition:transform .35s ease}a.seal:hover,a.seal:focus-visible{transform:translateY(-2px)}a.seal:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}.seal-art{display:block;width:54px;height:54px}.seal-art-tile{border-radius:6px}@media(prefers-reduced-motion:reduce){.seal{transition:none}}.entry.acc+.entry.acc{margin-top:0}.acc{display:block;border-top:1px solid var(--hairline-soft)}.acc:first-of-type{border-top:0}.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:8.5rem minmax(0,1fr) auto;gap:1.75rem;align-items:baseline;padding-block:.85rem}.acc summary::-webkit-details-marker{display:none}.acc summary .entry-title{transition:color .2s ease}.acc summary:hover .entry-title{color:var(--accent)}.acc-mark{font-family:var(--mono);font-size:.85rem;color:var(--faint);align-self:center}.acc-mark:before{content:"+"}.acc[open] .acc-mark:before{content:"−";color:var(--accent)}.acc-body{padding:0 0 1.1rem 10.25rem}.acc[open] summary{padding-bottom:.35rem}.credentials{list-style:none;padding:0;margin-top:0;max-width:46rem}.credentials li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1.75rem;padding-block:.55rem;border-top:1px solid var(--hairline-soft);font-size:.98rem}.credentials .year{font-family:var(--display-light);font-style:italic;color:var(--ink);font-size:1rem;padding-top:.1rem}.credentials .issuer{display:block;color:var(--faint);font-family:var(--display-light);font-style:italic;margin-top:.1rem}.contact-list{list-style:none;padding:0;max-width:46rem}.contact-list li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1.75rem;padding-block:.55rem}.contact-list .label{font-size:.9rem;font-style:italic;color:var(--faint);padding-top:.25rem}.colophon{border-top:1px solid var(--hairline-soft);padding-block:2rem 2.5rem;font-size:.85rem;color:var(--faint);font-style:italic}.colophon a{color:inherit}@media(max-width:1180px){.entry,.acc summary{grid-template-columns:6.5rem minmax(0,1fr);gap:1.1rem}.acc summary{grid-template-columns:6.5rem minmax(0,1fr) auto}.entry-dates{white-space:normal}.acc-body{padding-left:7.6rem}}.agents-view{position:fixed;inset:0;z-index:30;overflow-y:auto;margin:0;background:var(--ground);color:var(--ink);font-family:var(--mono);font-size:.8rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:break-word;padding:7rem clamp(1.25rem,6vw,5rem) 4rem}body.agents-on{overflow:hidden}.copy-toast{display:inline-block;margin-left:.6em;font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.qr-print{display:none}@media(max-width:880px){.layout{grid-template-columns:1fr;gap:0}.identity{position:static;height:auto;padding-bottom:1.5rem;border-bottom:1px solid var(--hairline-soft)}.entry,.credentials li,.contact-list li{grid-template-columns:1fr;gap:.35rem}.seal-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(.6rem,3vw,1.25rem);max-width:30rem;margin-inline:auto}.seal-row .seal-art{width:100%;height:auto}.acc summary{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}.acc summary .entry-dates{grid-column:1 / -1;padding-top:0}.acc-body{padding-left:0}.entry+.entry{margin-top:2.25rem}.entry-dates{padding-top:0}}@page{margin:1.4cm}@media print{.masthead,.term,.portrait-well,.pull-quote,.entry-loc,.seal-row,#publications .entry-body,.skip-link{display:none!important}body{background:#fff;color:#000;font-size:9pt;line-height:1.28}.frame{max-width:none;padding:0}.layout{display:block;padding-block:0}.identity{position:static;height:auto;display:block}.greeting{font-size:20pt}.thesis{font-size:10.5pt;max-width:none}.prose{font-size:9.5pt;max-width:none}.section{padding-block:.5rem}.section-label{margin-bottom:.7rem;font-size:1rem}.entry{grid-template-columns:7rem minmax(0,1fr);gap:1rem;max-width:none;break-inside:avoid}.entry-dates{font-size:8pt;padding-top:.1rem}.entry+.entry{margin-top:.6rem}.entry-title{font-size:1.05rem}.entry-sub{font-size:.95rem;margin-top:.05rem}.entry-body{margin-top:.2rem;font-size:9pt;line-height:1.28;max-width:none}.entry-link{margin-top:.2rem;font-size:9pt}.entry-link:after{content:" — " attr(href);color:#444}.tags{margin-top:.3rem;gap:0 .7rem}.tag{border:0;padding:0;font-size:8.5pt;font-weight:400;font-style:italic}.tag .dot{display:none}.skill-group+.skill-group{margin-top:.5rem}.paper-only{display:revert}.acc-mark{display:none!important}.acc{display:block;border:0}.acc summary,.acc[open] summary{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding-block:0}.acc summary .entry-dates{grid-column:1;grid-row:1}.acc-body{padding:0 0 0 8rem}.entry.acc+.entry.acc{margin-top:.6rem}.credentials li,.contact-list li{padding-block:.15rem;font-size:9pt;break-inside:avoid}.credentials,.contact-list{columns:2;column-gap:2rem;max-width:none}#skills .skill-group{break-inside:avoid}#skills{columns:2;column-gap:2rem}a{color:#000;text-decoration:none}.colophon{padding-block:.8rem 0;border-top:1px solid #000}.qr-print{display:block;float:right;margin-top:-.5rem}}
