*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{min-height:100vh;font-size:var(--font-size-body);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;overflow-x:clip}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}:root{--white:#fff;--sage-1:#fbfdfc;--sage-2:#f7f9f8;--sage-3:#eef1f0;--sage-4:#e6e9e8;--sage-5:#dfe2e0;--sage-6:#d7dad9;--sage-7:#cbcfcd;--sage-8:#b8bcba;--sage-9:#868e8b;--sage-10:#7c8481;--sage-11:#5f6563;--sage-12:#1a211e;--color-background:var(--sage-1);--color-surface:var(--white);--color-text:var(--sage-12);--color-text-muted:var(--sage-10);--color-text-strong:var(--sage-12);--color-link:var(--sage-11);--color-link-border:var(--sage-8);--color-border:var(--sage-6);--color-border-strong:var(--sage-7);--color-shadow:var(--sage-12);--color-highlight:#fdfd96;--paragraph-indent:4ch;--link-preview-width:17.5rem;--font-size-base:1rem;--font-size-sm:.95rem;--font-size-letter:1rem;--font-size-body:var(--font-size-base);--font-size-caption:calc(var(--font-size-base) * .95);--font-weight-regular:400;--font-weight-medium:500;--line-height-base:1.5;--line-height-letter:1.65;--line-height-tight:1.45;--line-height-snug:1.35;--letter-spacing-normal:0;--letter-spacing-wide:.01em;--font-family-body:"Cutive Mono", monospace;--font-family-display:"EB Garamond", serif;--font-optical-sizing:auto;--card-aspect-ratio:1.75;--card-width:min(32vw, 26rem);--content-width:calc(100ch - var(--content-padding-x) * 2);--content-padding-x:clamp(1.25rem, 4vw, 2.25rem);--content-padding-y:clamp(2rem, 4vw, 4rem);--letter-padding-top:clamp(3.5rem, 12vw, 6rem);--letter-padding-x:clamp(2rem, 7vw, 7rem);--letter-padding-bottom:clamp(2.5rem, 6vw, 4rem);--breakpoint-lg:991px;--layout-max-width:120rem;--page-padding:clamp(1.25rem, 4vw, 2.5rem);--sidebar-inset-inline:calc(max((100vw - var(--layout-max-width)) / 2, 0px) + var(--page-padding))}.cutive-mono-body{font-family:var(--font-family-body);font-weight:var(--font-weight-regular);font-style:normal}.eb-garamond{font-family:var(--font-family-display);font-optical-sizing:var(--font-optical-sizing);font-weight:var(--font-weight-regular);font-style:normal}a{color:var(--color-link);border-bottom:1px dotted var(--color-link-border);text-decoration:none;transition:color .15s,border-color .15s}a:hover{color:var(--color-link);border-bottom:1px solid var(--color-text)}.link-preview{overflow-wrap:anywhere;position:relative}.link-preview__tooltip{z-index:20;width:min(var(--link-preview-width), calc(100vw - 2rem));background-color:var(--white);max-width:calc(100vw - 2rem);box-shadow:0 2px 8px color-mix(in srgb, var(--color-shadow) 8%, transparent);color:var(--color-text);text-align:left;visibility:hidden;pointer-events:none;border-bottom:none;border-radius:0;flex-direction:column;align-items:flex-start;padding:.375rem;text-decoration:none;transition:visibility .15s,transform .15s;display:flex;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)translateY(.25rem)}.link-preview__image{aspect-ratio:1200/630;object-fit:cover;width:100%;height:auto;display:block}.link-preview__title{font-size:var(--font-size-caption);line-height:var(--line-height-snug);color:var(--color-text);margin-top:.375rem;font-style:normal;display:block}.link-preview__title:empty{display:none}@media (hover:hover){.link-preview:hover .link-preview__tooltip,.link-preview:focus-visible .link-preview__tooltip{visibility:visible;transform:translate(-50%)translateY(0)}}.page{z-index:1;width:100%;max-width:100%;min-height:100vh;padding:var(--page-padding);position:relative;overflow-x:clip}.layout{width:100%;min-width:0;max-width:var(--layout-max-width);grid-template-columns:minmax(0,1fr);gap:clamp(1.25rem,3vw,2rem);margin-inline:auto;display:grid}@media (width>=991px){.layout{grid-template-columns:var(--card-width) minmax(0, 1fr);align-items:start;gap:clamp(1.5rem,3vw,3rem)}}.sidebar{width:100%;min-width:0;max-width:100%;font-family:var(--font-family-display);font-optical-sizing:var(--font-optical-sizing);font-weight:var(--font-weight-regular);font-style:normal}@media (width>=991px){.sidebar{width:var(--card-width);align-self:start}.sidebar .card{z-index:2;top:var(--page-padding);left:var(--sidebar-inset-inline);width:var(--card-width);max-width:calc(100vw - 2 * var(--page-padding));position:fixed}}.card{width:100%;aspect-ratio:var(--card-aspect-ratio);background-color:var(--color-surface);box-shadow:0 1px 2px color-mix(in srgb, var(--color-shadow) 1%, transparent), 0 6px 18px color-mix(in srgb, var(--color-shadow) 2%, transparent), 0 20px 40px color-mix(in srgb, var(--color-shadow) 3%, transparent);line-height:var(--line-height-tight);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.5rem;padding:clamp(1rem,3.5vw,1.5rem) clamp(1rem,3.5vw,1.625rem);display:grid}.card__center{z-index:0;text-align:center;font-size:var(--font-size-sm);line-height:var(--line-height-snug);pointer-events:none;flex-direction:column;grid-area:1/1/-1/-1;justify-content:center;align-items:center;gap:.15em;padding-inline:.5rem;display:flex}.card__name{font-style:italic;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-wide);color:var(--color-text)}.card__role{color:var(--color-text-muted)}.card__corner{z-index:1;min-width:0;font-size:.75rem;line-height:var(--line-height-snug);color:var(--color-text-muted)}.card__corner--top-left{grid-area:1/1;place-self:start}.card__corner--top-right{text-align:right;grid-area:1/2;place-self:start end}.card__corner--bottom-left{grid-area:2/1;place-self:end start}.card__corner--bottom-right{text-align:right;color:var(--color-text-muted);grid-area:2/2;place-self:end}.card a.card__corner{overflow-wrap:anywhere}.main{width:100%;min-width:0;max-width:100%}.content{width:100%;min-width:0;max-width:min(var(--content-width), 100%);flex-direction:column;gap:clamp(1.25rem,3vw,2rem);display:flex}.paper{overflow-wrap:break-word;background-color:var(--color-surface);width:100%;min-width:0;box-shadow:0 1px 2px color-mix(in srgb, var(--color-shadow) 2%, transparent), 0 6px 18px color-mix(in srgb, var(--color-shadow) 2%, transparent), 0 20px 40px color-mix(in srgb, var(--color-shadow) 2%, transparent);padding:var(--content-padding-y) var(--content-padding-x)}.paper--letter{padding-top:var(--letter-padding-top);padding-bottom:var(--letter-padding-bottom);padding-inline:var(--letter-padding-x);font-size:var(--font-size-letter);line-height:var(--line-height-letter);color:var(--color-text)}.main .letter-body{min-height:4rem}.main .letter-body>p:first-child{font-family:var(--font-family-display);font-optical-sizing:var(--font-optical-sizing);font-weight:var(--font-weight-regular);font-style:normal;font-size:calc(var(--font-size-letter) * 1.05);color:var(--color-text-muted);margin-bottom:1.5rem}.main .letter-body p{overflow-wrap:break-word;margin-bottom:1.25rem}.main .letter-body p:last-child{margin-bottom:0}.main .indent-first-line{text-indent:var(--paragraph-indent)}.main .article-title{font-style:italic}.main ::selection{background-color:var(--color-highlight);color:var(--color-text-strong)}.main ::selection{background-color:var(--color-highlight);color:var(--color-text-strong)}.contact__layout{grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2.5rem);display:grid}@media (width>=991px){.contact__layout{grid-template-columns:3fr 7fr;align-items:start}}.contact__intro{font-family:var(--font-family-display);font-optical-sizing:var(--font-optical-sizing);line-height:var(--line-height-base);overflow-wrap:break-word;min-width:0}.contact__heading{font-weight:var(--font-weight-regular);color:var(--color-text);margin-bottom:.75rem}.contact__intro p+p{margin-top:.75rem}.contact__form{flex-direction:column;gap:1rem;min-width:0;display:flex}.contact__fields{flex-direction:column;gap:1rem;display:flex}.contact__status{font-family:var(--font-family-display);font-optical-sizing:var(--font-optical-sizing);line-height:var(--line-height-base);color:var(--color-text)}.contact__status--success{margin:0}.contact__status--error{color:var(--color-text-strong);margin:0}.contact__field{flex-direction:column;gap:.375rem;display:flex}.contact__label{font-size:var(--font-size-body);line-height:var(--line-height-snug);color:var(--color-text)}.contact__input{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;min-width:0;max-width:100%;color:var(--color-text);border-radius:0;padding:.625rem .75rem}.contact__input::placeholder{color:var(--color-text-muted)}.contact__input:focus{outline:2px solid var(--color-border-strong);outline-offset:0}.contact__textarea{resize:vertical;min-height:9rem}.contact__submit{background-color:var(--sage-11);color:var(--sage-1);font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-snug);cursor:pointer;border:none;border-radius:9999px;align-self:flex-start;margin-top:.25rem;padding:.625rem 1.5rem;transition:opacity .15s}.contact__submit:hover{opacity:.88}.contact__submit:disabled{opacity:.65;cursor:wait}.contact__submit:focus-visible{outline:2px solid var(--color-border-strong);outline-offset:2px}
