.site-container.site-container--full{width:min(calc(100% - (var(--page-padding-mobile) * 2)),var(--home-max-width));max-width:var(--home-max-width);padding-inline:0}.home-directory-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}.home-directory-column,.home-directory-center{min-width:0}.home-directory-column{display:grid;gap:var(--space-lg);align-content:start}.home-side-section h2{display:flex;align-items:center;gap:var(--space-xs);border-block-end:var(--border);margin:0 0 var(--space-md);padding-block-end:var(--space-sm);font-family:var(--font-code);font-size:var(--font-size-metadata);font-style:normal;font-weight:var(--font-weight-normal)}.home-side-section__heading-badge-link,.home-side-section__heading-action{flex:0 0 auto;margin-inline-start:auto}.home-side-section__heading-badge-link{display:inline-flex;align-items:center;min-height:var(--badge-min-height)}.home-side-section__heading-badge{width:auto;height:var(--icon-size-lg)}.home-side-section__heading-action{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:var(--badge-min-height);color:var(--color-primary-muted);font-family:var(--font-body);font-size:var(--font-size-ui);font-weight:var(--font-weight-normal);line-height:var(--line-height-ui);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}.home-side-section__heading-action:hover{color:var(--color-primary-hover)}.home-side-section__heading-action-icon{width:auto;height:var(--icon-size-lg)}.home-side-feed-list{display:grid;gap:var(--space-md);margin:0;padding:0;list-style:none}.home-side-feed-list>li{margin:0}.home-side-feed-list article{display:grid;grid-template-columns:var(--thumb-size-sm) minmax(0,1fr);gap:var(--space-xs) var(--space-sm);align-items:start}.home-side-feed-list figure{grid-column:1;grid-row:1 / span 3;margin:0}.home-side-feed-list img{width:var(--thumb-size-sm);aspect-ratio:4 / 3;height:auto;object-fit:cover;box-shadow:var(--shadow)}.home-side-feed-list h3,.home-side-feed-list time,.home-side-feed-list p{grid-column:2}.home-side-feed-list h3,.home-side-feed-list p{margin:0}.home-side-feed-list h3{font-size:var(--font-size-body);font-style:normal;font-weight:var(--font-weight-normal);line-height:var(--line-height-body)}.home-side-feed-list h3 a{color:var(--color-primary-muted);font-size:inherit;font-style:normal;font-weight:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}.home-side-feed-list h3 a:hover{color:var(--color-primary-hover)}.home-side-feed-list p{color:var(--color-text-muted);font-size:var(--font-size-caption);font-style:italic;line-height:var(--line-height-ui)}.home-side-more{margin-block:var(--space-md) 0}.home-directory-more{justify-self:start;color:var(--color-primary-muted);font-family:var(--font-code);font-size:var(--font-size-metadata);text-decoration:none}.home-directory-more:hover{color:var(--color-primary-hover);text-decoration-line:underline}.web-banner{position:relative;display:flex;margin:0;background:transparent}.web-banner__link{display:flex;color:inherit;text-decoration:none}.web-banner img{image-rendering:auto}.web-banner__dismiss{position:absolute;inset-block-start:0;inset-inline-end:0;display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);border:0;border-radius:var(--radius);background:var(--color-error);color:var(--color-on-accent);padding:0;font-family:var(--font-code);font-size:var(--font-size-caption);line-height:1;opacity:0;pointer-events:none}.web-banner:hover .web-banner__dismiss,.web-banner:focus-within .web-banner__dismiss{opacity:1;pointer-events:auto}.web-banner--dismissed .web-banner__link,.web-banner--dismissed .web-banner__dismiss{display:none}.web-banner--dismissed:before{content:"";display:block;background:transparent;aspect-ratio:var(--web-banner-ratio)}.web-banner--micro{justify-content:center}.web-banner--micro .web-banner__link,.web-banner--micro.web-banner--dismissed:before{width:auto;max-width:100%;height:64px}.web-banner--micro img{width:auto;max-width:100%;height:64px}.web-banner--normal{justify-content:center}.web-banner--normal .web-banner__link,.web-banner--normal.web-banner--dismissed:before{width:min(468px,100%)}.web-banner--normal img{width:100%;max-width:100%;height:auto}.web-banner-pair{display:grid;gap:var(--space-2xs);align-items:center}.web-banner-pair--micro{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch}.web-banner-pair--micro .web-banner--micro{width:100%}.web-banner-pair--micro .web-banner--micro .web-banner__link,.web-banner-pair--micro .web-banner--micro.web-banner--dismissed:before,.web-banner-pair--micro .web-banner--micro img{width:100%;height:auto}.home-directory-column>.web-banner--normal{justify-content:stretch}.home-directory-column>.web-banner--normal .web-banner__link,.home-directory-column>.web-banner--normal.web-banner--dismissed:before,.home-directory-column>.web-banner--normal img{width:100%}.home-profile-window{overflow:visible;border:0;border-block-end:var(--border);background:transparent;margin-block-end:var(--space-xl)}.home-profile-window__bar{display:none}.home-profile-window__body{display:grid;gap:var(--space-lg);padding:0}.home-profile-window__copy{min-width:0;padding-block-start:0;padding-block-end:var(--space-xl)}.home-profile-window h1{margin-block-end:var(--space-md)}.home-profile-window__summary{max-width:42rem;margin:0;color:var(--color-text-muted);font-size:var(--font-size-lede);font-style:italic;line-height:var(--line-height-heading)}.home-profile-window__mobile-links{display:none}.home-profile-window__portrait{position:relative;align-self:start;width:min(200px,100%);margin:0;transform:rotate(4deg);transform-origin:center}.home-profile-window__portrait-button{display:block;width:100%;border:0;background:transparent;padding:0;cursor:zoom-in;transition:opacity var(--duration-slow) var(--ease-system)}.home-profile-window__portrait-button:hover{opacity:.92}.home-profile-window__portrait-button img{display:block;width:100%;height:auto;object-fit:contain;filter:var(--shadow-drop-lg)}.home-profile-window__click-indicator{position:absolute;inset-block-start:20%;inset-inline-end:calc(100% + var(--space-xs));width:68px;height:auto;transform:translateY(-50%);pointer-events:none}.home-link-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.home-link-list>li{display:flex;align-items:center;gap:var(--space-xs);margin:0}.home-link-list__badge{flex:0 0 auto;width:auto;height:var(--icon-size)}.home-note-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}.home-note-layout--right .post-it-note{justify-self:end}.home-note-layout--left .post-it-note{justify-self:start}.home-note-layout__content{min-width:0}.home-note-layout__content .section__header{max-width:none}.home-mobile-mini-feeds{display:none}.home-paper-note{--paper-note-tilt: .45deg;--paper-note-holes: 16.666%}.home-paper-note .section__header{margin-block-end:0}.home-paper-note .section__title{color:var(--color-paper-text)}.home-paper-note .cv-text-block{max-width:none}.home-about-link{max-width:var(--reading-max-width);margin:calc(-1 * var(--space-md)) 0 var(--space-2xl);color:var(--color-text);font-size:var(--font-size-body);font-style:normal;line-height:var(--line-height-body)}.home-contact-section{position:relative}.home-contact-cat{position:absolute;inset-block-end:calc(-1 * (var(--space-2xl) * 2));inset-inline-start:-17rem;z-index:0;width:54rem;max-width:none;height:auto;pointer-events:none;filter:var(--shadow-drop-lg)}.home-contact-cards{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:0;width:100%;font-style:normal;transform:translate(clamp(-4rem,calc(2.7rem - 5.6vw),0rem))}.home-contact-card{position:relative;display:block}.home-contact-card--message{z-index:1;aspect-ratio:1;width:min(100%,18rem);margin-inline-start:calc(-1 * (var(--space-3xl) + var(--space-xl)))}.home-contact-card--email{aspect-ratio:16 / 9;width:min(100%,26rem)}.home-contact-card__image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:contain;filter:var(--shadow-drop-lg)}.home-contact-card__body{position:absolute;z-index:1;display:grid;gap:var(--space-xs);justify-items:center;max-width:70%;color:var(--color-paper-text);text-align:center;line-height:var(--line-height-ui)}.home-contact-card__body a{color:var(--color-paper-link);overflow-wrap:anywhere}.home-contact-card__body a:hover{color:var(--color-paper-link-hover)}.home-contact-card--message .home-contact-card__body{top:42%;left:53%;width:58%;transform:translate(-50%,-50%)}.home-contact-card--email .home-contact-card__body{top:58%;left:46%;width:38%;transform:translate(-50%,-50%)}@media(max-width:759px){.site-container.site-container--full{margin-block-start:0}.home-directory-column{display:none}html:has(.home-contact-cat),body:has(.home-contact-cat),.site-shell:has(.home-contact-cat){max-width:100%;overflow-x:hidden}.home-directory-layout{overflow:visible}.home-note-layout{gap:var(--space-md)}.home-note-layout--left{grid-template-columns:minmax(7rem,8.5rem) minmax(0,1fr);gap:var(--space-md) var(--space-xl)}.home-note-layout--right{grid-template-columns:minmax(0,1fr) minmax(7rem,8.5rem)}.home-note-layout--right .cv-text-block{display:contents}.home-note-layout--right .cv-text-block p:first-child{grid-column:1;grid-row:1}.home-note-layout--right .cv-text-block p:nth-child(n+2){grid-column:1 / -1}.home-note-layout--right>.post-it-note{grid-column:2;grid-row:1;justify-self:end;width:min(100%,8.5rem)}.home-note-layout--left>.post-it-note{grid-column:1;grid-row:1;justify-self:start;width:min(100%,8.5rem)}.home-mobile-mini-feeds{grid-column:2;grid-row:1;display:grid;gap:var(--space-md);align-self:start;min-width:0;font-size:var(--font-size-body);line-height:var(--line-height-ui)}.home-mobile-mini-feeds header{display:flex;justify-content:space-between;gap:var(--space-sm);border-block-end:var(--border);margin-block-end:var(--space-xs);padding-block-end:var(--space-2xs)}.home-mobile-mini-feeds header a{display:inline-flex;align-items:center;gap:var(--space-xs);flex:0 0 auto;min-height:var(--badge-min-height)}.home-mobile-mini-feeds header img{width:auto;max-width:none;height:var(--icon-size-lg)}.home-mobile-mini-feeds .home-mobile-mini-feeds__rss img{height:var(--icon-size-sm)}.home-mobile-mini-feeds h3{margin:0;font-family:var(--font-code);font-size:var(--font-size-metadata);font-weight:var(--font-weight-normal)}.home-mobile-mini-feeds ul{display:grid;gap:var(--space-xs);margin:0;padding:0;list-style:none}.home-mobile-mini-feeds li,.home-mobile-mini-feeds a{min-width:0;overflow-wrap:anywhere}.home-note-layout--left .home-paper-note{grid-column:1 / -1;grid-row:2;margin-block-start:var(--space-md)}.home-contact-section{position:static}.home-contact-cat{inset-block-end:calc(-1 * var(--space-2xl));inset-inline-start:-95vw;width:210vw;max-width:none;transform:none}.home-contact-cards{flex-direction:column;align-items:flex-end;gap:0;max-width:100%;padding-inline-start:0;transform:translate(1rem)}.home-contact-card--message{width:min(100%,18rem);margin-inline-start:0;margin-block-start:calc(-1 * (var(--space-3xl) + var(--space-md)))}.home-contact-card--email{width:min(100%,26rem)}.home-paper-note{--paper-note-tilt: 1.15deg;--paper-note-holes: 12.5%}.home-profile-window{padding-block-end:var(--space-md)}.home-profile-window__body{grid-template-columns:minmax(0,1fr) minmax(132px,42vw);gap:var(--space-sm) var(--space-md);align-items:start}.home-profile-window__copy{display:contents}.home-profile-window h1{grid-column:1 / -1;margin-block-end:0}.home-profile-window__summary{grid-column:1;grid-row:2;max-width:28ch;font-size:var(--font-size-ui)}.home-profile-window__mobile-links{grid-column:1;grid-row:3;display:grid;gap:var(--space-xs);justify-items:start;margin-block-start:0}.home-profile-window__portrait{grid-column:2;grid-row:2 / span 2;align-self:end;width:100%;transform:rotate(-3deg)}.home-profile-window__click-indicator{inset-block-start:70%;width:58px;transform:translateY(-50%) rotate(-12deg)}}@media(min-width:760px)and (max-width:1039px){.home-directory-column{display:none}}@media(min-width:760px){.site-container.site-container--full{width:min(calc(100% - (var(--space-md) * 2)),var(--home-max-width));max-width:var(--home-max-width);padding-inline:0}.home-profile-window__body{grid-template-columns:minmax(0,1fr) 190px;align-items:start}.home-profile-window__portrait{justify-self:end;width:190px}.home-note-layout{grid-template-columns:minmax(8rem,12rem) minmax(0,var(--reading-max-width));justify-content:space-between}.home-note-layout--right{grid-template-columns:minmax(0,1fr) minmax(8rem,12rem)}.home-note-layout__content{justify-self:end;width:100%;text-align:left}}@media(min-width:1040px){.home-directory-layout{grid-template-columns:minmax(0,var(--content-max-width)) minmax(240px,320px);justify-content:center;gap:var(--space-2xl)}.home-profile-window__body{grid-template-columns:minmax(0,1fr) 220px}.home-profile-window__portrait{width:220px}}@media(min-width:1500px){.site-container.site-container--full{width:min(calc(100% - (var(--space-2xl) * 2)),var(--home-max-width))}.home-directory-layout{grid-template-columns:minmax(0,var(--content-max-width)) minmax(280px,360px)}}.post-it-note[data-astro-cid-kgqou5hw]{--post-it-note-padding: var(--space-lg);position:relative;display:block;align-self:start;box-sizing:border-box;aspect-ratio:1 / 1;width:min(100%,12rem);min-height:0;overflow:hidden;border:var(--border-width) solid color-mix(in srgb,var(--post-it-note-bg) 58%,var(--color-border));background:var(--post-it-note-bg);color:var(--post-it-note-fg, var(--color-on-accent));cursor:text;user-select:text;-webkit-user-select:text;-moz-user-select:text;-webkit-user-drag:none;transform:rotate(var(--post-it-note-tilt));transition:transform var(--duration-slow) var(--ease-system);box-shadow:var(--shadow-lg)}.post-it-note[data-astro-cid-kgqou5hw][data-zoomable]{cursor:zoom-in}.post-it-note[data-astro-cid-kgqou5hw] p[data-astro-cid-kgqou5hw]{position:absolute;inset:var(--post-it-note-padding);display:flex;align-items:center;justify-content:center;margin:0;font-family:var(--font-code);font-size:var(--font-size-metadata);font-style:normal;line-height:var(--line-height-ui);text-align:center;white-space:pre-line;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;-moz-user-select:text;-webkit-user-drag:none}.post-it-note[data-astro-cid-kgqou5hw] a{color:var(--color-paper-link);text-decoration-line:underline;text-decoration-thickness:var(--border-width);text-underline-offset:3px}.post-it-note[data-astro-cid-kgqou5hw] a:hover{color:var(--color-paper-link-hover)}.post-it-note--surface[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-surface);--post-it-note-fg: var(--color-text)}.post-it-note--surface-alt[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-surface-alt);--post-it-note-fg: var(--color-text)}.post-it-note--text[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-text);--post-it-note-fg: var(--color-on-accent)}.post-it-note--bright-white[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--terminal-bright-white);--post-it-note-fg: var(--color-on-accent)}.post-it-note--primary[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-primary);--post-it-note-fg: var(--color-on-accent)}.post-it-note--primary-muted[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-primary-muted);--post-it-note-fg: var(--color-on-accent)}.post-it-note--highlight[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-highlight);--post-it-note-fg: var(--color-on-accent)}.post-it-note--success[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-success);--post-it-note-fg: var(--color-on-accent)}.post-it-note--warning[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-warning);--post-it-note-fg: var(--color-on-accent)}.post-it-note--error[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-error);--post-it-note-fg: var(--color-on-accent)}.post-it-note--purple[data-astro-cid-kgqou5hw]{--post-it-note-bg: var(--color-accent-purple);--post-it-note-fg: var(--color-on-accent)}@media(max-width:759px){.post-it-note[data-astro-cid-kgqou5hw]{--post-it-note-padding: var(--space-sm);width:min(100%,10rem)}.post-it-note[data-astro-cid-kgqou5hw] p[data-astro-cid-kgqou5hw]{line-height:var(--line-height-tight)}}@media(prefers-reduced-motion:reduce){.post-it-note[data-astro-cid-kgqou5hw]{transition:none}}
