.hero[data-astro-cid-bbe6dxrz]{min-height:100svh;display:flex;align-items:flex-end;padding-top:6rem;overflow:hidden}.hero-grid[data-astro-cid-bbe6dxrz]{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2rem;align-items:end}.hero-copy[data-astro-cid-bbe6dxrz]{padding-bottom:clamp(4rem,9vh,7rem)}.hero-copy[data-astro-cid-bbe6dxrz] .label[data-astro-cid-bbe6dxrz]{margin-bottom:1.5rem}.hero-title[data-astro-cid-bbe6dxrz]{font-size:clamp(3.4rem,8.4vw,7.6rem);line-height:.92;letter-spacing:-.03em;margin-bottom:2rem}.hero-tagline[data-astro-cid-bbe6dxrz]{max-width:44ch;font-size:1.1rem;color:var(--ink-soft);margin-bottom:2.25rem}.hero-actions[data-astro-cid-bbe6dxrz]{display:flex;gap:.75rem;flex-wrap:wrap}.hero-photo[data-astro-cid-bbe6dxrz]{position:relative;align-self:end}.hero-photo[data-astro-cid-bbe6dxrz] img[data-astro-cid-bbe6dxrz]{display:block;width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 50% 55% at 50% 45%,#000 58%,transparent 98%);mask-image:radial-gradient(ellipse 50% 55% at 50% 45%,#000 58%,transparent 98%);animation:rise-photo 1.2s var(--ease-out) .1s backwards}.bubble[data-astro-cid-bbe6dxrz]{position:absolute;top:14%;left:-4%;display:flex;flex-direction:column;gap:.1rem;padding:.85rem 1.1rem;background:var(--white);border-radius:18px 18px 18px 4px;box-shadow:0 10px 30px #0f21301f;font-size:.85rem;line-height:1.35;transform-origin:0 100%;animation:pop .6s var(--ease-out) .9s backwards}.bubble[data-astro-cid-bbe6dxrz] strong[data-astro-cid-bbe6dxrz]{font-family:var(--font-serif);font-weight:400;font-size:1.5rem;line-height:1.1}.bubble[data-astro-cid-bbe6dxrz] span[data-astro-cid-bbe6dxrz]{color:var(--ink-soft)}.hero-in[data-astro-cid-bbe6dxrz]{animation:rise .9s var(--ease-out) backwards}.hero-title[data-astro-cid-bbe6dxrz].hero-in{animation-delay:.08s}.hero-tagline[data-astro-cid-bbe6dxrz].hero-in{animation-delay:.18s}.hero-actions[data-astro-cid-bbe6dxrz].hero-in{animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(20px)}}@keyframes rise-photo{0%{opacity:0;transform:translateY(40px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@media (max-width: 860px){.hero[data-astro-cid-bbe6dxrz]{min-height:auto;padding-top:5rem}.hero-grid[data-astro-cid-bbe6dxrz]{grid-template-columns:1fr}.hero-photo[data-astro-cid-bbe6dxrz]{order:-1;width:min(300px,72vw);justify-self:center;margin-bottom:-1rem}.bubble[data-astro-cid-bbe6dxrz]{left:auto;right:-14%;top:8%;border-radius:18px 18px 4px;transform-origin:100% 100%}.hero-copy[data-astro-cid-bbe6dxrz]{padding-bottom:3rem}}@media (max-width: 480px){.bubble[data-astro-cid-bbe6dxrz]{right:-8%;padding:.65rem .85rem;font-size:.75rem;max-width:60%}.bubble[data-astro-cid-bbe6dxrz] strong[data-astro-cid-bbe6dxrz]{font-size:1.2rem}}@media (prefers-reduced-motion: reduce){.hero-in[data-astro-cid-bbe6dxrz],.hero-photo[data-astro-cid-bbe6dxrz] img[data-astro-cid-bbe6dxrz],.bubble[data-astro-cid-bbe6dxrz]{animation:none}}.projects[data-astro-cid-wkx7uqji]{list-style:none}.project[data-astro-cid-wkx7uqji]{display:grid;grid-template-columns:3rem minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem 2rem;align-items:start;padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid var(--line)}.project-num[data-astro-cid-wkx7uqji]{padding-top:.9rem}.project-title[data-astro-cid-wkx7uqji]{font-size:clamp(3rem,7vw,6rem);margin-bottom:.75rem}.project-title[data-astro-cid-wkx7uqji] a[data-astro-cid-wkx7uqji]{display:inline-block;transition:transform .35s var(--ease-out)}.project-title[data-astro-cid-wkx7uqji] a[data-astro-cid-wkx7uqji]:hover{transform:translate(10px);font-style:italic}.project-desc[data-astro-cid-wkx7uqji]{max-width:46ch;color:var(--ink-soft)}.project-side[data-astro-cid-wkx7uqji]{display:flex;flex-direction:column;gap:.5rem;padding-top:.9rem}.project-stack[data-astro-cid-wkx7uqji]{font-size:.9rem}.project-links[data-astro-cid-wkx7uqji]{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.75rem}@media (max-width: 860px){.project[data-astro-cid-wkx7uqji]{grid-template-columns:2rem minmax(0,1fr)}.project-side[data-astro-cid-wkx7uqji]{grid-column:2;padding-top:0}}.jobs[data-astro-cid-xpq65ryk]{list-style:none}.job[data-astro-cid-xpq65ryk]{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:.75rem 2rem;padding:2.25rem 0;border-bottom:1px solid var(--line)}.job-period[data-astro-cid-xpq65ryk]{padding-top:.4rem}.job-title[data-astro-cid-xpq65ryk]{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.05;margin-bottom:.75rem}.job-title[data-astro-cid-xpq65ryk] em[data-astro-cid-xpq65ryk]{color:var(--ink-soft)}.job-desc[data-astro-cid-xpq65ryk]{max-width:62ch;margin-bottom:.75rem}.quote[data-astro-cid-xpq65ryk]{margin-top:clamp(4rem,8vw,6rem);text-align:center}.quote[data-astro-cid-xpq65ryk] p[data-astro-cid-xpq65ryk]{font-family:var(--font-serif);font-style:italic;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.05;max-width:20ch;margin:0 auto 1rem}.quote[data-astro-cid-xpq65ryk] cite[data-astro-cid-xpq65ryk]{font-style:normal}@media (max-width: 640px){.job[data-astro-cid-xpq65ryk]{grid-template-columns:1fr}}.contact[data-astro-cid-xmivup5a]{border-top:1px solid var(--ink)}.contact[data-astro-cid-xmivup5a] .label[data-astro-cid-xmivup5a]:first-child{margin-bottom:1.25rem}.contact-title[data-astro-cid-xmivup5a]{font-size:clamp(3rem,8vw,7rem);max-width:14ch;margin-bottom:1.5rem}.contact-message[data-astro-cid-xmivup5a]{font-size:1.15rem;max-width:42ch;color:var(--ink-soft);margin-bottom:3rem}.contact-mail[data-astro-cid-xmivup5a]{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-bottom:4rem}.contact-email[data-astro-cid-xmivup5a]{font-family:var(--font-serif);font-size:clamp(1.9rem,5vw,3.4rem);line-height:1.1;border-bottom:1px solid var(--ink);overflow-wrap:anywhere;transition:color .2s,border-color .2s}.contact-email[data-astro-cid-xmivup5a]:hover{color:var(--white);border-color:var(--white)}.contact-links[data-astro-cid-xmivup5a]{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem}.contact-links[data-astro-cid-xmivup5a] li[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.2rem}.contact-links[data-astro-cid-xmivup5a] .link[data-astro-cid-xmivup5a]{font-size:1.1rem;align-self:flex-start}@media (max-width: 760px){.contact-links[data-astro-cid-xmivup5a]{grid-template-columns:repeat(2,1fr)}}
