.about:where(.astro-d7mpl6vh){--paper:#14110d;--paper-2:#1c1814;--ink:#f5efe3;--ink-72:#f5efe3b8;--ink-55:#f5efe38c;--ink-32:#f5efe352;--ink-14:#f5efe324;--ember:#ff5a2b;color:var(--ink);background:var(--paper);max-width:58rem;min-height:100vh;margin:0 auto;padding:0 1rem 7rem;position:relative}.about:where(.astro-d7mpl6vh):before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(800px 500px at 90% -10%,#ff5a2b14,transparent 60%),radial-gradient(700px 500px at -10% 100%,#56362059,transparent 60%),var(--paper);position:fixed;inset:0}.grain:where(.astro-d7mpl6vh){pointer-events:none;z-index:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}.about:where(.astro-d7mpl6vh)>:where(.astro-d7mpl6vh){z-index:1;position:relative}.display:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 144,"SOFT" 0;letter-spacing:-.02em;font-family:Fraunces,ui-serif,Georgia,serif}.mono-small:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.16em;color:var(--ink-72);font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600}.mast:where(.astro-d7mpl6vh){animation:.7s cubic-bezier(.22,.61,.36,1) both rise;animation-delay:calc(var(--i)*60ms);padding:3rem 0 2rem}.mast-eyebrow:where(.astro-d7mpl6vh){flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sigil:where(.astro-d7mpl6vh){color:var(--ember);filter:drop-shadow(0 0 8px #ff5a2b80);width:1.375rem;height:1.75rem}.sigil:where(.astro-d7mpl6vh) .flame:where(.astro-d7mpl6vh){fill:currentColor;transform-origin:12px 20px;animation:2.4s ease-in-out infinite flicker}.tended:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.16em;color:var(--ink-55);margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.7rem}.mast-name:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 144,"SOFT" 0,"wght" 700;margin:1.25rem 0 .5rem;font-size:clamp(3rem,9vw,6.5rem);font-weight:700;line-height:.92}.mast-title:where(.astro-d7mpl6vh){color:var(--ink-72);font-variation-settings:"opsz" 60,"SOFT" 100;margin-bottom:2rem;font-family:Fraunces,serif;font-size:clamp(1.1rem,2vw,1.4rem);font-style:italic;line-height:1.2}.mast-title:where(.astro-d7mpl6vh):after{content:"—";color:var(--ember);margin-left:.5rem}.contact:where(.astro-d7mpl6vh){border-top:1px dashed var(--ink-32);grid-template-columns:1fr;gap:.5rem 1.5rem;margin:0;padding:1.25rem 0 0;font-family:IBM Plex Mono,monospace;font-size:.8rem;list-style:none;display:grid}@media (min-width:640px){.contact:where(.astro-d7mpl6vh){grid-template-columns:repeat(2,1fr)}}.contact:where(.astro-d7mpl6vh) li:where(.astro-d7mpl6vh){align-items:baseline;gap:.75rem;display:flex}.contact:where(.astro-d7mpl6vh) .k:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.18em;color:var(--ink-55);min-width:2.5rem;font-size:.62rem}.contact:where(.astro-d7mpl6vh) .v:where(.astro-d7mpl6vh){color:var(--ink);word-break:break-word}.contact:where(.astro-d7mpl6vh) .v:where(.astro-d7mpl6vh).ember{color:var(--ember)}.contact:where(.astro-d7mpl6vh) .link:where(.astro-d7mpl6vh){color:var(--ink);background-image:linear-gradient(var(--ember),var(--ember));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none;transition:background-size .32s cubic-bezier(.22,.61,.36,1)}.contact:where(.astro-d7mpl6vh) .link:where(.astro-d7mpl6vh):hover{color:var(--ink);background-size:100% 1px}.rule:where(.astro-d7mpl6vh){background-image:repeating-linear-gradient(90deg,var(--ink-55)0 6px,transparent 6px 14px);height:1px;margin:3rem 0}.rule-wavy:where(.astro-d7mpl6vh){opacity:.6;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 6' preserveAspectRatio='none'><path d='M0 3 Q 5 0 10 3 T 20 3' fill='none' stroke='%23FF5A2B' stroke-width='1'/></svg>");background-repeat:repeat-x;background-size:18px 6px;height:.75rem;margin:4rem 0}.block:where(.astro-d7mpl6vh){animation:.7s cubic-bezier(.22,.61,.36,1) both rise;animation-delay:calc(var(--i)*60ms);grid-template-columns:1fr;gap:1.25rem 2.5rem;display:grid}@media (min-width:768px){.block:where(.astro-d7mpl6vh){grid-template-columns:10rem 1fr}}.block-gutter:where(.astro-d7mpl6vh){flex-direction:column;gap:.35rem;padding-top:.4rem;display:flex}.marker:where(.astro-d7mpl6vh){color:var(--ember);letter-spacing:.02em;font-family:Fraunces,serif;font-size:1.1rem;font-style:italic;font-weight:700}.gutter-label:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.18em;color:var(--ink-55);font-family:IBM Plex Mono,monospace;font-size:.68rem}.block-main:where(.astro-d7mpl6vh){min-width:0}.summary:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 20,"SOFT" 100;color:var(--ink);max-width:56ch;margin:0 0 1.5rem;font-family:Fraunces,serif;font-size:1.25rem;line-height:1.5}.dropcap:where(.astro-d7mpl6vh){float:left;color:var(--ember);font-variation-settings:"opsz" 144,"SOFT" 0,"wght" 700;margin-right:.15rem;padding:.35rem .75rem 0 0;font-family:Fraunces,serif;font-size:5rem;font-style:italic;font-weight:700;line-height:.9}.summary-tag:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.16em;color:var(--ink-55);border-top:1px dashed var(--ink-14);margin:0;padding-top:1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.sr-only:where(.astro-d7mpl6vh){clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skills:where(.astro-d7mpl6vh){gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.skill-row:where(.astro-d7mpl6vh){border-bottom:1px solid var(--ink-14);grid-template-columns:1fr;gap:.5rem;padding-bottom:1.25rem;display:grid}.skill-row:where(.astro-d7mpl6vh):last-child{border-bottom:none}@media (min-width:640px){.skill-row:where(.astro-d7mpl6vh){grid-template-columns:8rem 1fr;gap:1.5rem}}.skill-label:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.18em;color:var(--ember);padding-top:.15rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600}.skill-items:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 60,"SOFT" 50;color:var(--ink);flex-wrap:wrap;gap:.35rem 0;margin:0;padding:0;font-family:Fraunces,serif;font-size:1.05rem;line-height:1.4;list-style:none;display:flex}.skill-items:where(.astro-d7mpl6vh) li:where(.astro-d7mpl6vh){align-items:baseline;display:inline-flex}.skill-sep:where(.astro-d7mpl6vh){color:var(--ink-32);margin:0 .5rem;font-style:italic}.roles:where(.astro-d7mpl6vh){gap:2.5rem;margin:0;padding:0;list-style:none;display:grid}.role:where(.astro-d7mpl6vh){animation:.7s cubic-bezier(.22,.61,.36,1) both rise;animation-delay:calc(var(--i)*60ms);grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.role:where(.astro-d7mpl6vh){grid-template-columns:10rem 1fr;gap:2rem}}.role-meta:where(.astro-d7mpl6vh){flex-direction:column;gap:.25rem;padding-top:.6rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}.role-dates:where(.astro-d7mpl6vh){color:var(--ember);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.role-loc:where(.astro-d7mpl6vh){color:var(--ink-55);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}.role-body:where(.astro-d7mpl6vh){min-width:0}.role-company:where(.astro-d7mpl6vh){color:var(--ink);font-variation-settings:"opsz" 144,"SOFT" 0,"wght" 700;margin:0;font-size:clamp(1.8rem,3.8vw,2.8rem);font-weight:700;line-height:1}.role-title:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.16em;color:var(--ink-55);margin:.4rem 0 .9rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.role-summary:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 20,"SOFT" 100;color:var(--ink-72);max-width:58ch;margin:0 0 1.5rem;font-family:Fraunces,serif;font-size:1.02rem;font-style:italic;line-height:1.55}.projects:where(.astro-d7mpl6vh){border-left:1px dashed var(--ink-32);gap:1.5rem;margin:0;padding:0 0 0 1.25rem;list-style:none;display:grid}.project:where(.astro-d7mpl6vh){grid-template-columns:auto 1fr;gap:.75rem 1rem;display:grid}.project-num:where(.astro-d7mpl6vh){color:var(--ember);font-variation-settings:"opsz" 120,"SOFT" 100;padding-top:.15rem;font-family:Fraunces,serif;font-size:1.5rem;font-style:italic;font-weight:700;line-height:1}.project-head:where(.astro-d7mpl6vh){flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.4rem;display:flex}.project-name:where(.astro-d7mpl6vh){color:var(--ink);font-variation-settings:"opsz" 120,"SOFT" 30;margin:0;font-size:1.2rem;font-weight:600;line-height:1.2}.project-kind:where(.astro-d7mpl6vh){text-transform:uppercase;letter-spacing:.18em;color:var(--ember);border:1px dashed;padding:.1rem .45rem;font-family:IBM Plex Mono,monospace;font-size:.64rem;transform:rotate(-1.5deg)}.project-blurb:where(.astro-d7mpl6vh){font-variation-settings:"opsz" 20,"SOFT" 100;color:var(--ink-72);max-width:58ch;margin:0;font-family:Fraunces,serif;font-size:.98rem;line-height:1.55}.prose-wrap:where(.astro-d7mpl6vh){max-width:58ch;margin-top:3rem}.prose-wrap:where(.astro-d7mpl6vh) p{color:var(--ink-72);margin:0 0 1rem;font-family:Fraunces,serif;font-size:1.02rem;line-height:1.6}.prose-wrap:where(.astro-d7mpl6vh) a{color:var(--ember);text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.prose-wrap:where(.astro-d7mpl6vh) img{display:none}.colophon:where(.astro-d7mpl6vh){border-top:1px dashed var(--ink-32);color:var(--ink-72);max-width:58ch;margin-top:5rem;padding-top:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.6}.colophon:where(.astro-d7mpl6vh) em:where(.astro-d7mpl6vh){color:var(--ember);font-family:Fraunces,serif;font-style:italic}.colophon:where(.astro-d7mpl6vh) a:where(.astro-d7mpl6vh){color:var(--ink);text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.colophon:where(.astro-d7mpl6vh) a:where(.astro-d7mpl6vh):hover{color:var(--ember)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes flicker{0%,to{opacity:1;transform:scaleY(1)scaleX(1)}40%{opacity:.9;transform:scaleY(1.06)scaleX(.97)}70%{opacity:.95;transform:scaleY(.96)scaleX(1.03)}}@media (prefers-reduced-motion:reduce){.about:where(.astro-d7mpl6vh) :where(.astro-d7mpl6vh),.about:where(.astro-d7mpl6vh) :where(.astro-d7mpl6vh):before,.about:where(.astro-d7mpl6vh) :where(.astro-d7mpl6vh):after{transition:none!important;animation:none!important}}