@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/313510e2713fb214-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk Fallback;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_9c618b{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.__variable_9c618b{--font-hanken:"Hanken Grotesk","Hanken Grotesk Fallback"}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_46b3dd{font-family:Newsreader,Newsreader Fallback}.__variable_46b3dd{--font-newsreader:"Newsreader","Newsreader Fallback"}:root{--bg:#ffffff;--text:#34384c;--text-muted:#6e7394;--rule:#dfe0e7;--rule-soft:#f2f5f9;--accent:#0e63ff;--accent-tint:#cfe0ff;--chip-success:#e4f7d3;--chip-primary:#cfe0ff;--chip-secondary:#f0dcff;--chip-info:#fff6d3;--footer-bg:#0e63ff;--footer-text:#cfe0ff;--footer-strong:#ffffff;--footer-rule:rgba(207,224,255,0.4);--measure:42rem;--font-sans:var(--font-hanken),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-serif:var(--font-newsreader),Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body,html{background:var(--footer-bg)}body{margin:0;color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.main-surface{position:relative;z-index:1;min-height:100dvh;background:var(--bg);transform-origin:bottom center;overflow:hidden;padding-bottom:clamp(5rem,3rem + 10vw,11rem);will-change:transform}::selection{background:var(--accent-tint);color:var(--accent)}a{color:inherit;text-decoration:none}.serif{font-family:var(--font-serif);font-style:italic;font-weight:500}.accent{color:var(--accent)}.muted{color:var(--text-muted)}.section{max-width:var(--measure);padding-left:1.5rem;padding-right:1.5rem;padding-top:clamp(4.5rem,3rem + 5vw,7.5rem)}.section--tight{padding-top:clamp(3.5rem,2.5rem + 3vw,5rem)}@media (min-width:40rem){.section{padding-left:3rem;padding-right:3rem}}.grid-2{display:grid;grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem}@media (min-width:40rem){.grid-2{grid-template-columns:3fr 9fr;gap:1.5rem}}.section-label{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:1rem;color:var(--text-muted);margin:0}.hero{max-width:var(--measure);padding:clamp(5rem,3.5rem + 8vw,8rem) 1.5rem 0}@media (min-width:40rem){.hero{padding-left:3rem;padding-right:3rem}}.hero h1{font-family:var(--font-sans);font-weight:560;font-size:clamp(1.75rem,1.35rem + 1.9vw,2.2rem);line-height:1.32;letter-spacing:-.015em;margin:0 0 2rem;white-space:break-spaces;text-wrap:pretty}.hero h1 .serif{font-weight:600}.hero-body{display:flex;flex-direction:column;gap:1rem;max-width:34rem;text-wrap:pretty}.hero-body p{margin:0}.hero-body a{color:var(--accent)}.hero-body a:hover{text-decoration:underline;text-underline-offset:2px}.xp-list{gap:1.75rem}.xp-item,.xp-list{display:flex;flex-direction:column}.xp-item{gap:.35rem}.xp-title{font-weight:500}.xp-row{display:grid;grid-template-columns:minmax(0,auto) 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem}.xp-role{color:var(--text);min-width:0;overflow-wrap:break-word}.xp-line{border-top:1px solid var(--rule);min-width:1rem}.xp-today{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-muted);flex-shrink:0}.xp-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.chip{display:inline-block;border-radius:1.5rem;padding:.125rem .75rem;font-size:.875rem;line-height:1.45;color:var(--text);white-space:nowrap;flex-shrink:0}.chip--outlined{background:transparent;box-shadow:inset 0 0 0 1px var(--rule)}.chip--success{background:var(--chip-success)}.chip--primary{background:var(--chip-primary)}.chip--secondary{background:var(--chip-secondary)}.chip--info{background:var(--chip-info)}.work-list{gap:1.75rem}.work-item,.work-list{display:flex;flex-direction:column}.work-item{gap:.35rem}.work-head{display:flex;align-items:center;gap:.75rem}.work-name{font-weight:500}.work-line{flex:1 1 auto;border-top:1px solid var(--rule)}.work-desc,.writing-empty{color:var(--text-muted);max-width:34rem}.writing-empty a{color:var(--accent)}.writing-empty a:hover{text-decoration:underline;text-underline-offset:2px}.post-list{display:flex;flex-direction:column}.post-row{display:grid;grid-template-columns:3rem 1fr auto auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--rule-soft)}.post-year{color:var(--accent);font-size:.875rem}.post-date{color:var(--text-muted);font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.footer{position:relative;z-index:0;background:var(--footer-bg);color:var(--footer-text);padding:4rem 1.5rem}@media (min-width:40rem){.footer{padding-left:3rem;padding-right:3rem}}.footer ::selection{background:var(--accent-tint);color:var(--accent)}.footer-inner{max-width:36rem;display:flex;flex-direction:column;gap:4.5rem}.footer-row{display:flex;align-items:center;gap:.75rem;min-height:1.75rem}.footer-line{flex:1 1 auto;border-top:1px solid var(--footer-rule)}.footer-contact{display:inline-flex;align-items:center;gap:.45rem;color:var(--footer-strong)}.footer-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-icon{display:block;font-size:1rem}.footer-icon--x{font-size:.95rem}.footer-arrow{font-size:.8rem;transition:transform .25s cubic-bezier(.33,1,.68,1)}.footer-social{display:inline-flex;align-items:center;gap:.35rem;color:var(--footer-text)}.footer-social:hover{color:var(--footer-strong)}.footer-social:hover .footer-arrow{transform:translateY(-2px)}.footer-copy{display:inline-flex;align-items:center;padding:.15rem;margin:0;border:0;background:none;color:inherit;cursor:pointer;opacity:.8;transition:opacity .15s ease}.footer-copy:hover{opacity:1}.footer-copyright a:hover{text-decoration:underline;text-underline-offset:2px}@media (prefers-reduced-motion:reduce){.footer-arrow{transition:none}}.footer-quote{color:var(--footer-text)}.footer-quote .serif{color:var(--footer-strong)}.footer-copyright{border-top:1px solid var(--footer-rule);padding-top:.4rem;text-align:right;font-size:.75rem}.appbar{position:fixed;top:.75rem;left:.75rem;z-index:50;padding:.6rem .9rem;border-radius:.6rem;background:rgba(224,233,243,.72);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);transition:width .35s cubic-bezier(.16,1,.3,1);width:11rem}.appbar[data-open=true]{width:15rem}.appbar-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.appbar-monogram{font-family:var(--font-sans);font-weight:700;color:var(--accent);font-size:1.05rem}.appbar-toggle{background:none;border:0;padding:0;font:inherit;color:var(--text);cursor:pointer}.appbar-menu{overflow:hidden;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s cubic-bezier(.33,1,.68,1),opacity .3s ease}.appbar[data-open=true] .appbar-menu{grid-template-rows:1fr;opacity:1}.appbar-menu-inner{min-height:0}.appbar-menu ul{list-style:none;margin:.6rem 0 0;padding:.4rem;background:rgba(224,233,243,.7);border-radius:.4rem;display:flex;flex-direction:column;gap:.15rem}.appbar-menu li a{display:flex;align-items:center;gap:.55rem;padding:.35rem .6rem;border-radius:.35rem;font-size:.95rem;opacity:0;transform:translateY(8px);transition:opacity .5s cubic-bezier(.33,1,.68,1),transform .5s cubic-bezier(.33,1,.68,1),background .15s ease,color .15s ease}.appbar[data-open=true] .appbar-menu li a{opacity:1;transform:translateY(0)}.appbar[data-open=true] .appbar-menu li:first-child a{transition-delay:.04s}.appbar[data-open=true] .appbar-menu li:nth-child(2) a{transition-delay:.1s}.appbar[data-open=true] .appbar-menu li:nth-child(3) a{transition-delay:.16s}.appbar[data-open=true] .appbar-menu li:nth-child(4) a{transition-delay:.22s}.appbar[data-open=true] .appbar-menu li:nth-child(5) a{transition-delay:.28s}.appbar-menu li a:hover{background:var(--accent);color:#fff}.appbar-menu-icon{flex-shrink:0;font-size:.95rem;opacity:.75}.appbar-menu li a:hover .appbar-menu-icon{opacity:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.appbar,.appbar-menu,.appbar-menu li a{transition:none}.appbar[data-open=true] .appbar-menu li a{transition-delay:0s}}.page{max-width:var(--measure);padding:clamp(6rem,4rem + 10vw,9rem) 1.5rem 6rem}@media (min-width:40rem){.page{padding-left:3rem;padding-right:3rem}}.page h1{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:1.75rem;margin:0 0 2rem}.back-link{color:var(--accent)}.back-link:hover{text-decoration:underline;text-underline-offset:2px}