html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-horizontal],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}body:has(.editorial-profile){--profile-paper:#f3ecd9;--profile-paper-deep:#e9ddc6;--profile-ink:#2b2030;--profile-muted:#776b70;--profile-purple:#7b3fa1;--profile-purple-deep:#52266d;--profile-lavender:#cbb2d8;--profile-rule:rgba(82,38,109,0.28);margin:0;background-color:var(--profile-paper);background-image:radial-gradient(circle at 20% 10%,rgba(203,178,216,.2),transparent 32rem),repeating-linear-gradient(0deg,rgba(82,38,109,.025) 0 1px,transparent 1px 5px);color:var(--profile-ink);font-family:Georgia,Times New Roman,serif}.editorial-profile{width:min(960px,calc(100% - 48px));margin:0 auto;padding:42px 0 70px;font-size:17px;line-height:1.72}.editorial-profile,.editorial-profile *,.editorial-profile :after,.editorial-profile :before{box-sizing:border-box}.editorial-profile a{color:var(--profile-purple-deep);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.editorial-profile a:hover{color:var(--profile-purple)}.editorial-profile a:focus-visible{outline:3px solid var(--profile-purple);outline-offset:4px}.editorial-profile .profile-masthead{margin-bottom:52px;padding-bottom:19px;text-align:center;border-bottom:3px double var(--profile-purple-deep)}.editorial-profile .profile-wordmark{display:inline-block;color:var(--profile-ink)!important;font-size:clamp(2.8rem,9vw,6rem);font-style:italic;letter-spacing:-.06em;line-height:1;text-decoration:none!important}.editorial-profile .profile-wordmark span{color:var(--profile-purple)}.editorial-profile .profile-intro{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:36px;margin-bottom:58px}.editorial-profile .profile-intro__portrait{width:180px;height:180px;border:2px solid var(--profile-purple-deep);border-radius:50%;box-shadow:7px 7px 0 rgba(82,38,109,.18);object-fit:cover}.editorial-profile .profile-intro h1{max-width:720px;margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:400;letter-spacing:-.03em;line-height:1.1;text-transform:none}.editorial-profile .figure-note,.editorial-profile .profile-intro__kicker{color:var(--profile-muted);font-style:italic}.editorial-profile .descriptor-list,.editorial-profile .fields-list,.editorial-profile .profile-links{display:flex;flex-wrap:wrap;gap:0 1.35em;margin:14px 0 0;padding:0;list-style:none}.editorial-profile .fields-list li:not(:last-child):after,.editorial-profile .profile-links li:not(:last-child):after{content:"·";position:relative;left:.7em;color:var(--profile-purple)}.editorial-profile .profile-links a{text-decoration-style:dotted}.editorial-profile .profile-story{max-width:760px;margin:0 auto 58px}.editorial-profile .profile-story p{margin:0 0 1.2em}.editorial-profile .profile-story__lead:first-letter{float:left;margin:.08em .08em 0 0;color:var(--profile-purple);font-size:4.2em;line-height:.78}.editorial-profile .profile-quote{max-width:760px;margin:0 auto 62px;padding-left:22px;border-left:4px solid var(--profile-purple)}.editorial-profile .profile-quote blockquote{margin:0}.editorial-profile .profile-quote blockquote p{margin:0;font-size:1.35rem;font-style:italic}.editorial-profile .profile-quote cite{color:var(--profile-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-style:normal;letter-spacing:.04em}.editorial-profile .profile-section{margin:0 0 64px}.editorial-profile .profile-section--compact{margin-bottom:42px}.editorial-profile .figure-heading{display:flex;align-items:center;gap:18px;margin:0;color:var(--profile-purple-deep);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;font-weight:700;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.editorial-profile .figure-heading:after{content:"";height:1px;flex:1;background:var(--profile-rule)}.editorial-profile .figure-note{margin:4px 0 18px}.editorial-profile .profile-figure,.editorial-profile .work-figure{position:relative;border:1px solid var(--profile-rule);background:rgba(255,251,239,.32)}.editorial-profile .profile-figure{min-height:180px;padding:34px 18px 18px}.editorial-profile .figure-caption{position:absolute;top:-.9em;left:18px;margin:0;padding:0 8px;background:var(--profile-paper);color:var(--profile-purple-deep);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.editorial-profile .work-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.editorial-profile .work-figure{padding:30px 22px 22px}.editorial-profile .work-figure h3{margin:0;color:var(--profile-purple);font-size:1.65rem;font-weight:400;line-height:1.2}.editorial-profile .work-figure__title{margin:8px 0 0;font-size:1.1rem;font-style:italic}.editorial-profile .descriptor-list{gap:.4em 1.2em;margin-top:18px;color:var(--profile-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;text-transform:uppercase}.editorial-profile .descriptor-list li:before{content:"✦";margin-right:.45em;color:var(--profile-purple)}.editorial-profile .figure-link{display:inline-flex;align-items:center;gap:.25em;margin-top:18px;text-decoration-style:dotted}.editorial-profile .contact-ledger,.editorial-profile .fields-list{margin-top:12px;color:var(--profile-muted)}.editorial-profile .contact-ledger{display:flex;flex-wrap:wrap;gap:0 1.4em}.editorial-profile .contact-ledger__entry{display:inline-flex;align-items:center;gap:.45em}.editorial-profile .contact-ledger__entry:not(:last-child):after{content:"·";position:relative;left:.7em;color:var(--profile-purple)}.editorial-profile .contact-ledger__platform{color:var(--profile-purple-deep);font-size:.8em;text-transform:uppercase}.editorial-profile .profile-footer{padding-top:24px;border-top:3px double var(--profile-purple-deep);color:var(--profile-muted);text-align:center}.editorial-profile .profile-footer__ornament{margin:0 0 8px;color:var(--profile-purple);font-size:1.35rem;line-height:1}.editorial-profile .github-calendar{margin:0}.editorial-profile .github-calendar__header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:22px}.editorial-profile .github-calendar__header .eyebrow{display:none}.editorial-profile .github-calendar__header h3{margin:0;color:var(--profile-purple-deep);font-size:1.15rem;font-style:italic;font-weight:400;text-transform:none}.editorial-profile .github-calendar__link{display:inline-flex;align-items:center;gap:5px;color:var(--profile-purple-deep);font-size:.72rem;font-style:italic}.editorial-profile .github-calendar__viewport{width:100%;min-width:0;max-width:100%;contain:paint;overflow-x:auto;padding-bottom:10px}.editorial-profile .github-calendar__timeline{width:max-content}.editorial-profile .github-calendar__months{display:grid;gap:3px;margin-bottom:7px;color:var(--profile-muted);font-size:.65rem;font-style:italic;line-height:1}.editorial-profile .github-calendar__month{min-width:0;overflow:visible;white-space:nowrap}.editorial-profile .github-calendar__month-full-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.editorial-profile .github-calendar__viewport:focus-visible{outline:3px solid var(--profile-purple);outline-offset:4px}.editorial-profile .github-calendar__grid{display:flex;width:max-content;gap:3px}.editorial-profile .github-calendar__week{display:grid;grid-template-rows:repeat(7,11px);gap:3px}.editorial-profile .github-calendar__day{display:block;width:11px;height:11px;border:1px solid rgba(82,38,109,.24);border-radius:2px;background:#e7dcc8}.editorial-profile .github-calendar__day--first-quartile,.editorial-profile .github-calendar__legend-cell--first{background:#d6c0df}.editorial-profile .github-calendar__day--second-quartile,.editorial-profile .github-calendar__legend-cell--second{background:#b98acb}.editorial-profile .github-calendar__day--third-quartile,.editorial-profile .github-calendar__legend-cell--third{background:#9255ad}.editorial-profile .github-calendar__day--fourth-quartile,.editorial-profile .github-calendar__legend-cell--fourth{background:#5b2475}.editorial-profile .github-calendar__meta{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:14px;color:var(--profile-muted);font-size:.68rem;font-style:italic}.editorial-profile .github-calendar__meta p{max-width:560px;margin:0}.editorial-profile .github-calendar__legend{display:flex;flex-shrink:0;align-items:center;gap:4px}.editorial-profile .github-calendar__legend-cell{display:block;width:10px;height:10px;border:1px solid rgba(82,38,109,.24);border-radius:2px}.editorial-profile .github-calendar__legend-cell--none{background:#e7dcc8}@media (max-width:680px){.editorial-profile{width:min(100% - 32px,960px);padding-top:32px}.editorial-profile .profile-intro__portrait{width:132px;height:132px}.editorial-profile .profile-intro{grid-template-columns:132px 1fr;gap:24px}.editorial-profile .work-figures{grid-template-columns:1fr}}@media (max-width:560px){.editorial-profile .github-calendar__header,.editorial-profile .github-calendar__meta{display:grid;grid-template-columns:1fr auto}.editorial-profile .github-calendar__legend{justify-self:end}}@media (max-width:460px){.editorial-profile{width:min(100% - 24px,960px);padding-top:24px;font-size:16px}.editorial-profile .profile-masthead{margin-bottom:38px}.editorial-profile .profile-intro{display:flex;flex-direction:column;align-items:center;text-align:center}.editorial-profile .profile-intro__copy{width:100%}.editorial-profile .profile-links{justify-content:center}.editorial-profile .profile-story__lead:first-letter{font-size:3.5em}}