@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--space-5xl:120px;--font-size-base:18px;--font-size-sm:14.4px;--font-size-lg:22.5px;--font-size-xl:28.13px;--font-size-2xl:35.16px;--font-size-3xl:43.95px;--font-body:"IBM Plex Sans", sans-serif;--font-serif:"IBM Plex Serif", serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-semibold:600;--line-height-tight:1.1;--line-height-normal:1.3;--line-height-loose:1.6;--text-measure:640px;--layout-padding-inline:var(--space-lg);--sidebar-width:240px;--color-background:#222;--color-text-primary:#fff;--color-text-secondary:#ffffffa6;--color-border:#ffffff26;--color-surface:#ffffff0d;--color-ghost-white:#ffffff14;--color-accent:#d7aa2e}@media (width<=768px){:root{--font-size-base:16px;--font-size-sm:13px;--font-size-lg:19px;--font-size-xl:22px;--font-size-2xl:27px;--font-size-3xl:32px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%}body{background:var(--color-background);min-height:100vh;color:var(--color-text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}body{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}h1,.h1{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}h2,.h2{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}h3,.h3{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}h4,.h4{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}h5,.h5,h6,.h6{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-loose{line-height:var(--line-height-loose)}.prose :is(p,li,blockquote){max-width:var(--text-measure)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.m-2xl{margin:var(--space-2xl)}.m-3xl{margin:var(--space-3xl)}.m-4xl{margin:var(--space-4xl)}.m-5xl{margin:var(--space-5xl)}.my-xs{margin-block:var(--space-xs)}.my-sm{margin-block:var(--space-sm)}.my-md{margin-block:var(--space-md)}.my-lg{margin-block:var(--space-lg)}.my-xl{margin-block:var(--space-xl)}.my-2xl{margin-block:var(--space-2xl)}.my-3xl{margin-block:var(--space-3xl)}.my-4xl{margin-block:var(--space-4xl)}.my-5xl{margin-block:var(--space-5xl)}.mx-xs{margin-inline:var(--space-xs)}.mx-sm{margin-inline:var(--space-sm)}.mx-md{margin-inline:var(--space-md)}.mx-lg{margin-inline:var(--space-lg)}.mx-xl{margin-inline:var(--space-xl)}.mx-2xl{margin-inline:var(--space-2xl)}.mx-3xl{margin-inline:var(--space-3xl)}.mx-4xl{margin-inline:var(--space-4xl)}.mx-5xl{margin-inline:var(--space-5xl)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mt-3xl{margin-top:var(--space-3xl)}.mt-4xl{margin-top:var(--space-4xl)}.mt-5xl{margin-top:var(--space-5xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.mb-4xl{margin-bottom:var(--space-4xl)}.mb-5xl{margin-bottom:var(--space-5xl)}.ml-xs{margin-left:var(--space-xs)}.ml-sm{margin-left:var(--space-sm)}.ml-md{margin-left:var(--space-md)}.ml-lg{margin-left:var(--space-lg)}.ml-xl{margin-left:var(--space-xl)}.ml-2xl{margin-left:var(--space-2xl)}.ml-3xl{margin-left:var(--space-3xl)}.ml-4xl{margin-left:var(--space-4xl)}.ml-5xl{margin-left:var(--space-5xl)}.mr-xs{margin-right:var(--space-xs)}.mr-sm{margin-right:var(--space-sm)}.mr-md{margin-right:var(--space-md)}.mr-lg{margin-right:var(--space-lg)}.mr-xl{margin-right:var(--space-xl)}.mr-2xl{margin-right:var(--space-2xl)}.mr-3xl{margin-right:var(--space-3xl)}.mr-4xl{margin-right:var(--space-4xl)}.mr-5xl{margin-right:var(--space-5xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.p-3xl{padding:var(--space-3xl)}.p-4xl{padding:var(--space-4xl)}.p-5xl{padding:var(--space-5xl)}.py-xs{padding-block:var(--space-xs)}.py-sm{padding-block:var(--space-sm)}.py-md{padding-block:var(--space-md)}.py-lg{padding-block:var(--space-lg)}.py-xl{padding-block:var(--space-xl)}.py-2xl{padding-block:var(--space-2xl)}.py-3xl{padding-block:var(--space-3xl)}.py-4xl{padding-block:var(--space-4xl)}.py-5xl{padding-block:var(--space-5xl)}.px-xs{padding-inline:var(--space-xs)}.px-sm{padding-inline:var(--space-sm)}.px-md{padding-inline:var(--space-md)}.px-lg{padding-inline:var(--space-lg)}.px-xl{padding-inline:var(--space-xl)}.px-2xl{padding-inline:var(--space-2xl)}.px-3xl{padding-inline:var(--space-3xl)}.px-4xl{padding-inline:var(--space-4xl)}.px-5xl{padding-inline:var(--space-5xl)}.pt-xs{padding-top:var(--space-xs)}.pt-sm{padding-top:var(--space-sm)}.pt-md{padding-top:var(--space-md)}.pt-lg{padding-top:var(--space-lg)}.pt-xl{padding-top:var(--space-xl)}.pt-2xl{padding-top:var(--space-2xl)}.pt-3xl{padding-top:var(--space-3xl)}.pt-4xl{padding-top:var(--space-4xl)}.pt-5xl{padding-top:var(--space-5xl)}.pb-xs{padding-bottom:var(--space-xs)}.pb-sm{padding-bottom:var(--space-sm)}.pb-md{padding-bottom:var(--space-md)}.pb-lg{padding-bottom:var(--space-lg)}.pb-xl{padding-bottom:var(--space-xl)}.pb-2xl{padding-bottom:var(--space-2xl)}.pb-3xl{padding-bottom:var(--space-3xl)}.pb-4xl{padding-bottom:var(--space-4xl)}.pb-5xl{padding-bottom:var(--space-5xl)}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.gap-3xl{gap:var(--space-3xl)}.gap-4xl{gap:var(--space-4xl)}.gap-5xl{gap:var(--space-5xl)}.site{flex-direction:row;min-height:100vh;display:flex}.site-sidebar{width:var(--sidebar-width);min-height:100vh;padding:var(--space-lg);flex-direction:column;flex-shrink:0;display:flex}.site-sidebar__top{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.site-sidebar__logo{flex-shrink:0;line-height:0;display:block}.site-sidebar__logo img{width:auto;height:32px}.site-sidebar__toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.site-sidebar__toggle-bar{background:0 0;border-top:1px solid;width:20px;height:0;margin-inline:auto;display:block}.site-sidebar__nav{margin-top:var(--space-2xl)}.site-sidebar__nav-list{gap:var(--space-sm);flex-direction:column;display:flex}.site-sidebar__nav-link{padding-block:var(--space-sm);padding-inline:var(--space-md);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);border-radius:6px;transition:background-color .2s ease-out,color .2s ease-out;display:block}.site-sidebar__nav-link:hover{background:var(--color-surface)}.site-sidebar__nav-link.is-active{background:var(--color-surface);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.site-sidebar__follow{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;display:none}.site-sidebar__follow-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.site-sidebar__social{align-items:center;gap:var(--space-xs);list-style:none;display:flex}.site-sidebar__social-link{width:32px;height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;transition:color .2s ease-out;display:flex}.site-sidebar__social-link:hover{color:var(--color-accent)}.site-sidebar__social-icon{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.site-sidebar__social-icon svg{width:100%;height:100%;display:block}@media (width>=768px){.site-sidebar{height:100vh;padding-top:var(--space-5xl);border-right:1px solid var(--color-border);align-self:flex-start;position:sticky;top:0}.site-sidebar__top{top:var(--space-lg);right:var(--space-lg);left:var(--space-lg);position:absolute}.site-sidebar__nav{margin-top:0}.site-sidebar__follow{margin-top:auto;display:flex}}@media (width<=767px){.site{flex-direction:column}.site-sidebar{z-index:100;width:100%;min-height:0;padding-block:var(--space-md);padding-inline:var(--layout-padding-inline);border-bottom:1px solid var(--color-border);position:relative}.site-sidebar__top{z-index:102;background:var(--color-background);position:relative}.site-sidebar__toggle{color:var(--color-text-primary);display:flex}.site-sidebar__toggle-bar{transform-origin:50%}.site-sidebar.is-open .site-sidebar__toggle-bar:first-child{transform:translateY(6px)rotate(45deg)}.site-sidebar.is-open .site-sidebar__toggle-bar:nth-child(2){opacity:0}.site-sidebar.is-open .site-sidebar__toggle-bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.site-sidebar__nav{margin-top:0;display:none}.site-sidebar.is-open .site-sidebar__nav{z-index:101;background:var(--color-background);padding:var(--layout-padding-inline);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.site-sidebar.is-open .site-sidebar__nav-list{align-items:center;gap:var(--space-md)}.site-sidebar.is-open .site-sidebar__follow{z-index:102;justify-content:center;gap:var(--space-lg);padding:var(--space-2xl) var(--layout-padding-inline);padding-bottom:max(var(--space-2xl), env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.site-sidebar.is-open .site-sidebar__social{gap:var(--space-md)}.site-sidebar.is-open .site-sidebar__social-link{flex-shrink:0}.site-content{min-height:0}}.site-content{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.site-main{padding-block:var(--space-5xl);flex-direction:column;flex:1;display:flex}@media (width<=767px){.site-main{padding-block:var(--space-3xl) var(--space-5xl)}}.site-footer{padding-block:var(--space-5xl);border-top:1px solid var(--color-border)}@media (width<=767px){.site-footer{padding-block:var(--space-2xl)}}.site-footer__content{align-items:flex-start;gap:var(--space-2xl);flex-direction:column;display:flex}.site-footer__text{gap:var(--space-lg);flex-direction:column;display:flex}.site-footer__headline{font-family:var(--font-serif);font-weight:var(--font-weight-light);line-height:var(--line-height-tight);color:var(--color-text-primary)}.site-footer__body{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.site-footer__meta{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-2xl);display:flex}.site-footer__copy,.site-footer__version{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.page-title{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary);padding-bottom:var(--space-xl)}.work-intro .page-title,.writing-intro .page-title,.experience-intro .page-title{padding-bottom:var(--space-lg)}.button-accent{border:1px solid var(--color-border);width:auto;height:48px;font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;padding-inline:16px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out;display:inline-flex}.button-accent:hover{border-color:var(--color-accent);color:var(--color-background);background:var(--color-accent)}.layout{--layout-max-width:960px;width:100%;max-width:var(--layout-max-width);padding-inline:var(--layout-padding-inline);margin-inline:auto}.experience{gap:var(--space-2xl);flex-direction:column;display:flex}.work-intro__content,.experience-intro__content{align-items:flex-start;gap:var(--space-xl);flex-direction:column;display:flex}.experience-intro__supporting{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.experience-jobs{padding-top:var(--space-2xl);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.experience-jobs .job-entry+.job-entry{margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}.experience-testimonials{gap:var(--space-lg);flex-direction:column;display:flex}.experience-section__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.experience-placeholder{background:var(--color-surface);min-height:240px}.experience-grid{gap:var(--space-lg);display:grid}.experience-grid--3{grid-template-columns:repeat(3,1fr)}@media (width<=767px){.experience-grid--3{grid-template-columns:1fr}}.long-form p{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-loose);color:var(--color-text-primary)}.long-form p+p{margin-top:var(--space-lg)}.image-placeholder{background:var(--color-surface);width:100%;min-height:240px}.image-placeholder--hero{min-height:480px}.case-study{flex-direction:column;display:flex}.case-study>*+*{margin-top:var(--space-4xl)}.case-study__header+*{margin-top:var(--space-2xl)}.case-study__header{gap:var(--space-lg);flex-direction:column;display:flex}.case-study__header .page-title{padding-bottom:0}.case-study__title{font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);line-height:var(--line-height-tight);color:var(--color-text-primary)}.case-study__description{font-family:var(--font-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.case-study__gallery{flex-direction:column;display:flex}.case-study__gallery--multiple{gap:var(--space-2xl)}.case-study__gallery-image{border-radius:8px;width:100%;height:auto;display:block}.case-study__gallery-item{position:relative}.case-study__gallery-expand{top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;color:var(--color-text-primary);background:var(--color-surface);opacity:0;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .2s ease-out,background-color .2s ease-out;display:flex;position:absolute}.case-study__gallery-expand:hover{background:var(--color-ghost-white)}.case-study__gallery-expand:focus-visible{opacity:1;outline:2px solid var(--color-accent);outline-offset:2px}.case-study__gallery-item:hover .case-study__gallery-expand{opacity:1}.case-study__gallery-expand-icon{justify-content:center;align-items:center;width:16px;height:16px;display:flex}.case-study__gallery-expand-icon svg{width:100%;height:100%;display:block}@media (width<=767px){.case-study__gallery-expand{display:none}}.gallery-lightbox{z-index:200;width:100vw;height:100dvh;padding:var(--space-lg);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gallery-lightbox[hidden]{display:none}.gallery-lightbox__image{object-fit:contain;max-width:100%;max-height:100%}.gallery-lightbox__close{top:max(var(--space-md), env(safe-area-inset-top,0px));right:var(--layout-padding-inline);z-index:201;width:40px;height:40px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;padding:0;display:flex;position:fixed}.gallery-lightbox__close-bar{background:0 0;border-top:1px solid;width:20px;height:0;margin-inline:auto;display:block}.gallery-lightbox__close-bar:first-child{transform:translateY(6px)rotate(45deg)}.gallery-lightbox__close-bar:nth-child(2){opacity:0}.gallery-lightbox__close-bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.case-study-meta{gap:var(--space-3xl);flex-wrap:wrap;align-items:start;display:flex}.case-study-meta__heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.case-study-meta__list{gap:var(--space-sm);margin-top:var(--space-lg);flex-direction:column;list-style:none;display:flex}.case-study-meta__role,.case-study-meta__value{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary)}.case-study-meta__value{margin-top:var(--space-lg)}.case-study-meta__item{gap:var(--space-xs);flex-direction:column;display:flex}.case-study-meta__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.case-study-meta__name{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary)}.case-study-meta__link:hover{color:var(--color-accent)}@media (width>=768px){.case-study-meta{flex-wrap:nowrap}.case-study-meta__column:not(.case-study-meta__column--press){flex:none}.case-study-meta__column--press{flex:1 1 0;min-width:0}.case-study-meta__column--press .case-study-meta__list,.case-study-meta__column--press .case-study-meta__item{min-width:0}.case-study-meta__column--press .case-study-meta__label,.case-study-meta__column--press .case-study-meta__name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}}.case-study-impact{padding:var(--space-2xl);background:var(--color-surface);border-radius:8px}.case-study-impact__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.case-study-impact__list{gap:var(--space-md);margin-top:var(--space-lg);flex-direction:column;padding-inline-start:var(--space-lg);list-style:outside;display:flex}.case-study-impact__list li{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary)}.case-study-section{gap:var(--space-2xl);flex-direction:column;display:flex}.case-study-section__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.case-study-grid{gap:var(--space-lg);display:grid}.case-study-grid--2{grid-template-columns:repeat(2,1fr)}@media (width<=767px){.case-study__header .page-title{font-size:var(--font-size-lg)}.case-study-meta{gap:var(--space-xl);flex-direction:column}.case-study-meta__value,.case-study-meta__list{margin-top:var(--space-md)}.case-study-grid--2{grid-template-columns:1fr}}.work{gap:var(--space-2xl);flex-direction:column;display:flex}.work-intro__supporting{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.work-grid{gap:var(--space-2xl);flex-direction:column;list-style:none;display:flex}.work-card{align-items:flex-start;gap:var(--space-xl);padding:var(--space-xl);border:1px solid var(--color-border);isolation:isolate;color:inherit;border-radius:8px;flex-direction:row;text-decoration:none;transition:border-color .2s ease-out;display:flex;position:relative;overflow:hidden}.work-card:hover{border-color:var(--color-text-secondary)}.work-card--no-image .work-card__content{flex:auto;width:100%}.work-card__bg{z-index:0;background-image:var(--work-card-bg);filter:blur(48px);opacity:0;pointer-events:none;background-position:50%;background-size:cover;transition:opacity .2s ease-out;position:absolute;inset:-20%}.work-card:hover .work-card__bg{opacity:.25}.work-card--devops-insights:hover .work-card__bg{opacity:.12}.work-card__content{z-index:1;text-align:left;flex:1 1 0;min-width:0;position:relative}.work-card__title{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-light);line-height:var(--line-height-normal);color:var(--color-text-primary)}.work-card__description{margin-top:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.work-card__image{z-index:1;background:var(--color-surface);object-fit:contain;border-radius:8px;flex:1 1 0;width:100%;min-width:0;height:auto;position:relative}.writing{gap:var(--space-2xl);flex-direction:column;display:flex}.writing-intro__supporting{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.writing-grid{gap:var(--space-2xl);flex-direction:column;list-style:none;display:flex}.writing-card{align-items:flex-start;gap:var(--space-xl);padding:var(--space-xl);border:1px solid var(--color-border);color:inherit;border-radius:8px;flex-direction:row;text-decoration:none;transition:border-color .2s ease-out;display:flex}.writing-card:hover{border-color:var(--color-text-secondary)}.writing-card__date{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary);flex-shrink:0}.writing-card__content{min-width:0}.writing-card__title{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary)}.writing-card__description{margin-top:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}@media (width<=767px){.writing-card{gap:var(--space-lg);flex-direction:column}.writing-card__content{flex-direction:column;min-width:0;display:flex}}.writing-post__header{gap:var(--space-md);flex-direction:column;display:flex}.writing-post__header .page-title{padding-bottom:0}.writing-post__date{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.writing-post__body{margin-top:var(--space-2xl)}.writing-post__body h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-top:var(--space-2xl)}.writing-post__body h2:first-child{margin-top:0}.writing-post__body h2+p{margin-top:var(--space-lg)}@media (width<=1024px){.work-card{flex-direction:column;align-items:stretch}.work-card__image{order:-1;width:100%}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
