.Hero_hero__Q5FaL{padding-top:5.5rem}.Hero_title__JisBU{font-size:clamp(2.4rem,7.5vw,3.4rem);margin:1.25rem 0 1.5rem}.Hero_desc__2srxn{font-size:1.125rem;line-height:1.75;margin-bottom:1.75rem}.Hero_actions__FA3vF{display:flex;gap:1.75rem;font-weight:500}.Hero_actions__FA3vF a{position:relative;color:var(--accent);text-decoration:none}.Hero_actions__FA3vF a:after{content:"";position:absolute;left:0;right:0;bottom:-.15em;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.Hero_actions__FA3vF a:focus-visible:after,.Hero_actions__FA3vF a:hover:after{transform:scaleX(1)}@media (max-width:768px){.Hero_hero__Q5FaL{padding-top:3.5rem}}.SectionHeader_header__dqebb{margin-bottom:2.25rem;padding-top:2.5rem;border-top:1px solid var(--line)}.SectionHeader_title__4Cn9r{font-size:1.75rem}.SectionHeader_subtitle__Zc0v4{margin-top:.35rem;color:var(--muted)}.RichText_code__f07Cq{font-family:var(--font-mono);font-size:.8em;background:var(--code-bg);padding:.1em .35em;border-radius:2px}.RichText_mark__agU39{background:var(--mark);color:var(--ink);border-radius:2px;padding:.05em .2em}.Projects_grid__W14d_{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));grid-gap:1.25rem;gap:1.25rem}.Projects_card__ulDP6:only-child{grid-column:1/-1}.Projects_card__ulDP6{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:2px;padding:1.5rem;color:var(--ink);text-decoration:none;background:transparent;transition:border-color .2s ease,background .2s ease}.Projects_card__ulDP6:hover{border-color:var(--accent);background:rgba(78,90,46,.04);text-decoration:none}.Projects_cardTitle__KYJ3D{font-size:1.35rem;margin:.35rem 0 .6rem}.Projects_card__ulDP6:hover .Projects_cardTitle__KYJ3D{color:var(--accent)}.Projects_preview__aH2dO{font-size:1.125rem;color:var(--muted);margin-bottom:1rem}.Projects_tags__LchUD{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);margin-bottom:1.25rem}.Projects_cta__P_oIh{margin-top:auto;font-size:.9rem;font-weight:500;color:var(--accent)}@media (max-width:768px){.Projects_grid__W14d_{grid-template-columns:1fr}}.Writing_list__ctYhI{display:flex;flex-direction:column;gap:2.75rem}.Writing_title__DJuti{font-size:1.4rem;margin:.4rem 0 .6rem}.Writing_title__DJuti a{color:var(--ink);text-decoration:none}.Writing_title__DJuti a:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.Writing_intro__udi_g{font-size:1.125rem;color:var(--muted)}.Experience_list__W7uEv{display:flex;flex-direction:column}.Experience_company__S6ZTm+.Experience_company__S6ZTm{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}.Experience_companyHeader__lwG_m{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem}.Experience_logo__Hxj6e{border:1px solid var(--line);border-radius:2px;background:var(--paper);object-fit:contain;padding:3px}.Experience_companyName__5Ax2b{font-size:1.35rem}.Experience_role__Fvy5h{display:grid;grid-template-columns:12rem 1fr;grid-gap:1.5rem;gap:1.5rem}.Experience_role__Fvy5h+.Experience_role__Fvy5h{margin-top:1.75rem}.Experience_roleTitle__ZUJtX{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.3;letter-spacing:-.01em;margin-bottom:.5rem}.Experience_bullets__a_HvI{list-style:disc outside;display:flex;flex-direction:column;gap:.35rem;font-size:1.125rem;padding-left:1.2rem}.Experience_bullets__a_HvI li::marker{color:var(--muted);font-size:.85em}@media (max-width:768px){.Experience_role__Fvy5h{grid-template-columns:1fr;gap:.35rem}}.Skills_grid__tSDpw{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.25rem 3rem;gap:2.25rem 3rem}.Skills_icons__6D_zb{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.Skills_tile__IKae1{position:relative;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:2px;color:var(--muted);cursor:default;transition:border-color .2s ease,background .2s ease,color .2s ease}.Skills_tile__IKae1 svg{width:1.25rem;height:1.25rem}.Skills_tile__IKae1:focus-visible,.Skills_tile__IKae1:hover{border-color:var(--brand,var(--accent));background:color-mix(in srgb,var(--brand,var(--accent)) 10%,transparent);color:var(--brand,var(--accent));outline:none}.Skills_tooltip__3HUxD{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.03em;color:var(--paper);background:var(--ink);padding:.25rem .55rem;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.Skills_tile__IKae1:focus-visible .Skills_tooltip__3HUxD,.Skills_tile__IKae1:hover .Skills_tooltip__3HUxD{opacity:1}@media (max-width:768px){.Skills_grid__tSDpw{grid-template-columns:1fr}}.Footer_footer__o4_Ec{margin-top:5.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}@media (max-width:768px){.Footer_footer__o4_Ec{margin-top:4rem}}.MediaGallery_gallery__Qr9S2{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}.MediaGallery_media__Lh__p{display:block;width:100%;height:auto;background:var(--image-bg);border:1px solid var(--line);border-radius:2px}.MediaGallery_caption__gfPtR{margin-top:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}.ProjectPage_wrap__vuKam{padding-top:5rem}.ProjectPage_title__IM2yK{font-size:clamp(2rem,6vw,2.7rem);margin:.75rem 0 1rem}.ProjectPage_tags__tJmpq{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--muted);margin-bottom:.75rem}.ProjectPage_links__3J0yh{display:flex;gap:1.5rem;font-weight:500;margin-bottom:2.5rem}.ProjectPage_subhead__CJZYl{font-size:1.15rem;margin:2.25rem 0 .6rem}.ProjectPage_body__0FIBr{color:var(--ink)}.ProjectPage_footer__cxlSc{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media (max-width:768px){.ProjectPage_wrap__vuKam{padding-top:3rem}}