.hero[data-astro-cid-bbe6dxrz]{background:var(--salmon);padding:var(--space-2xl) var(--space-md);text-align:center;position:relative;overflow:hidden;min-height:80vh;display:flex;align-items:center;justify-content:center}.hero-inner[data-astro-cid-bbe6dxrz]{position:relative;z-index:1}.hero-circle-wrap[data-astro-cid-bbe6dxrz]{position:relative;width:300px;height:300px;margin:0 auto var(--space-lg)}.hero-photo-wrap[data-astro-cid-bbe6dxrz]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;overflow:hidden;border:2px solid var(--black)}.hero-photo[data-astro-cid-bbe6dxrz]{width:100%;height:100%;object-fit:cover;object-position:center 25%;transform:scale(1.8) translate(5%,-5%)}.hero-circle[data-astro-cid-bbe6dxrz]{width:300px;height:300px;animation:spin 20s linear infinite;position:relative}.circle-text[data-astro-cid-bbe6dxrz]{width:100%;height:100%}.circle-text[data-astro-cid-bbe6dxrz] text[data-astro-cid-bbe6dxrz]{font-family:var(--font-body);font-size:10px;letter-spacing:.18em;text-transform:uppercase;fill:var(--black)}@keyframes spin{to{transform:rotate(360deg)}}.hero-name[data-astro-cid-bbe6dxrz]{font-family:var(--font-display);font-size:clamp(2rem,8vw,5.5rem);line-height:1.1;letter-spacing:var(--ls-wider);margin-bottom:var(--space-sm);max-width:100%;overflow-wrap:break-word;word-break:break-word}.hero-title[data-astro-cid-bbe6dxrz]{font-family:var(--font-heading);font-size:clamp(1.2rem,2.5vw,2rem);letter-spacing:var(--ls-wider);margin-bottom:var(--space-md)}.hero-location[data-astro-cid-bbe6dxrz]{font-family:var(--font-body);font-size:.85rem;letter-spacing:var(--ls-widest)}@media(max-width:768px){.hero[data-astro-cid-bbe6dxrz]{min-height:70vh;padding:var(--space-xl) var(--space-sm)}.hero-circle-wrap[data-astro-cid-bbe6dxrz],.hero-circle[data-astro-cid-bbe6dxrz]{width:220px;height:220px}.hero-photo-wrap[data-astro-cid-bbe6dxrz]{width:130px;height:130px}.hero-name[data-astro-cid-bbe6dxrz]{letter-spacing:.1em}.hero-title[data-astro-cid-bbe6dxrz]{letter-spacing:.2em;display:flex;flex-direction:column;gap:.15em}.title-dot[data-astro-cid-bbe6dxrz]{display:none}}.marquee[data-astro-cid-2ma43fja]{background:#b8908f;color:var(--black);overflow:hidden;white-space:nowrap;padding:.6rem 0}.marquee-track[data-astro-cid-2ma43fja]{display:inline-flex;animation:scroll-left 20s linear infinite}.marquee-item[data-astro-cid-2ma43fja]{display:inline-flex;align-items:center;gap:.5em;padding-right:2em}.marquee-label[data-astro-cid-2ma43fja]{font-family:var(--font-body);font-size:.75rem;letter-spacing:var(--ls-wider);text-transform:uppercase}.marquee-value[data-astro-cid-2ma43fja]{font-family:var(--font-script);font-style:italic;font-size:1rem;letter-spacing:.1em;text-transform:none}.marquee-dot[data-astro-cid-2ma43fja]{font-size:.6rem;opacity:.5}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.callout[data-astro-cid-niphwlvy]{background:var(--salmon);padding:var(--space-md) var(--space-md);text-align:center;border-top:2px solid var(--black);border-bottom:2px solid var(--black)}.callout-script[data-astro-cid-niphwlvy]{font-family:var(--font-script);font-style:italic;font-size:clamp(1.1rem,2.5vw,1.5rem);letter-spacing:.05em;text-transform:none}.callout-text[data-astro-cid-niphwlvy]{margin-bottom:var(--space-sm)}.callout-btn[data-astro-cid-niphwlvy]{font-family:var(--font-body);font-size:.85rem;letter-spacing:var(--ls-wider);text-transform:uppercase;background:var(--black);color:var(--salmon);border:none;padding:.75rem 2rem;cursor:pointer;transition:background .2s ease}.callout-btn[data-astro-cid-niphwlvy]:hover{background:var(--brown)}.about[data-astro-cid-v2cbyr3p]{background:var(--sage);color:var(--black)}.about-text[data-astro-cid-v2cbyr3p]{font-family:var(--font-body);font-size:clamp(.85rem,1.5vw,1rem);line-height:2;letter-spacing:var(--ls-wide);max-width:650px;margin:0 auto}.about-text-2[data-astro-cid-v2cbyr3p]{margin-top:var(--space-sm)}.experience[data-astro-cid-xpq65ryk]{background:var(--cream)}.job-list[data-astro-cid-xpq65ryk]{text-align:center}.job-item[data-astro-cid-xpq65ryk]{margin-bottom:var(--space-lg)}.job-item[data-astro-cid-xpq65ryk]:last-child{margin-bottom:0}.job-divider[data-astro-cid-xpq65ryk]{width:60px;height:2px;background:var(--black);margin:0 auto var(--space-md)}.job-item[data-astro-cid-xpq65ryk]:first-child .job-divider[data-astro-cid-xpq65ryk]{display:none}.job-period[data-astro-cid-xpq65ryk]{font-family:var(--font-body);font-size:.75rem;letter-spacing:var(--ls-widest);margin-bottom:var(--space-xs);opacity:.7}.job-company[data-astro-cid-xpq65ryk]{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:var(--ls-wider);margin-bottom:.25rem}.job-role[data-astro-cid-xpq65ryk]{font-family:var(--font-script);font-style:italic;font-size:1rem;letter-spacing:.1em;text-transform:none;margin-bottom:var(--space-sm)}.job-highlights[data-astro-cid-xpq65ryk]{max-width:600px;margin:0 auto;text-align:left}.job-highlight[data-astro-cid-xpq65ryk]{font-family:var(--font-body);font-size:.8rem;letter-spacing:.1em;line-height:1.8;margin-bottom:var(--space-xs);padding-left:1rem;position:relative;text-transform:none}.job-highlight[data-astro-cid-xpq65ryk]:before{content:"—";position:absolute;left:0}.projects[data-astro-cid-amng4zvp]{background:var(--ochre)}.project-list[data-astro-cid-amng4zvp]{text-align:center}.project-item[data-astro-cid-amng4zvp]{margin-bottom:var(--space-lg)}.project-item[data-astro-cid-amng4zvp]:last-child{margin-bottom:0}.project-divider[data-astro-cid-amng4zvp]{width:100%;height:2px;background:var(--black);margin:0 auto var(--space-md)}.project-item[data-astro-cid-amng4zvp]:first-child .project-divider[data-astro-cid-amng4zvp]{display:none}.project-name[data-astro-cid-amng4zvp]{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:var(--ls-wider);margin-bottom:var(--space-xs)}.project-desc[data-astro-cid-amng4zvp]{font-family:var(--font-body);font-size:.85rem;letter-spacing:var(--ls-wide);margin-bottom:var(--space-xs)}.project-stack[data-astro-cid-amng4zvp]{font-family:var(--font-script);font-style:italic;font-size:.95rem;letter-spacing:.1em;text-transform:none;margin-bottom:var(--space-sm)}.project-link[data-astro-cid-amng4zvp]{font-family:var(--font-body);font-size:.8rem;letter-spacing:var(--ls-wider);border-bottom:2px solid var(--black);padding-bottom:2px;transition:border-color .2s ease}.project-link[data-astro-cid-amng4zvp]:hover{border-color:transparent}.blog-teaser[data-astro-cid-yuiek7vl]{background:var(--cream)}.teaser-date[data-astro-cid-yuiek7vl]{font-family:var(--font-body);font-size:.75rem;letter-spacing:var(--ls-widest);opacity:.7;display:block;margin-bottom:var(--space-xs)}.teaser-title[data-astro-cid-yuiek7vl]{font-family:var(--font-heading);font-size:clamp(1.4rem,3.5vw,2.2rem);letter-spacing:var(--ls-wider);margin-bottom:var(--space-xs);text-transform:none}.teaser-title[data-astro-cid-yuiek7vl] a[data-astro-cid-yuiek7vl]{border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color .2s ease}.teaser-title[data-astro-cid-yuiek7vl] a[data-astro-cid-yuiek7vl]:hover{border-bottom-color:var(--black)}.teaser-desc[data-astro-cid-yuiek7vl]{font-family:var(--font-body);font-size:.85rem;letter-spacing:.1em;text-transform:none;max-width:600px;margin:0 auto var(--space-sm);line-height:1.8}.teaser-link[data-astro-cid-yuiek7vl]{font-family:var(--font-body);font-size:.8rem;letter-spacing:var(--ls-wider);border-bottom:2px solid var(--black);padding-bottom:2px;transition:border-color .2s ease}.teaser-link[data-astro-cid-yuiek7vl]:hover{border-color:transparent}.contact[data-astro-cid-xmivup5a]{background:var(--steel)}.contact-links[data-astro-cid-xmivup5a]{display:flex;justify-content:center;gap:var(--space-lg);flex-wrap:wrap}.contact-link[data-astro-cid-xmivup5a]{font-family:var(--font-body);font-size:1rem;letter-spacing:var(--ls-wider);border-bottom:2px solid var(--black);padding-bottom:4px;transition:border-color .2s ease}.contact-link[data-astro-cid-xmivup5a]:hover{border-color:transparent}@media(max-width:480px){.contact-links[data-astro-cid-xmivup5a]{flex-direction:column;align-items:center;gap:var(--space-md)}}
