@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Inter Variable", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ink:#111;--ink-2:#3a414d;--surface:#fff;--surface-muted:#f6f6f4;--g-yellow:#faecab;--g-peach:#f9dec9;--g-pink:#f5c3e9;--g-lavender:#dfcef4;--g-blue:#abc3f5;--g-sky:#c5d7fb;--radius:1.125rem;--radius-sm:.75rem;--shadow:0 1rem 2.5rem #2e215214, 0 .125rem .3rem #0000000a;--border:.08rem solid var(--ink);--focus:.2rem solid var(--ink);--container:72rem;--gutter:clamp(1rem, 4vw, 2.5rem);--step-0:1.125rem;--step-1:clamp(1.2rem, 1.08rem + .4vw, 1.4rem);--step-2:clamp(1.55rem, 1.25rem + 1.2vw, 2.15rem);--step-3:clamp(2.45rem, 1.55rem + 4vw, 4.8rem);--step-4:clamp(3.4rem, 2rem + 7vw, 7.2rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem}body{isolation:isolate;min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);text-rendering:optimizelegibility;margin:0;line-height:1.55;position:relative}body:before{z-index:-1;background:radial-gradient(58% 55% at 0% 0%, var(--g-yellow) 0%, transparent 72%), radial-gradient(58% 60% at 2% 100%, var(--g-pink) 0%, transparent 72%), radial-gradient(54% 78% at 100% 48%, var(--g-blue) 0%, transparent 72%), radial-gradient(48% 48% at 55% 52%, var(--g-lavender) 0%, transparent 76%), linear-gradient(135deg, var(--g-yellow), var(--g-peach) 28%, var(--g-pink) 48%, var(--g-lavender) 67%, var(--g-sky));content:"";pointer-events:none;position:fixed;inset:0}button,input,textarea,select{font:inherit}img,svg{max-width:100%;display:block}p,h1,h2,h3,figure{margin-top:0}p:last-child,ul:last-child{margin-bottom:0}h1,h2,h3{letter-spacing:-.035em;margin-bottom:.7em;font-weight:800;line-height:1.04}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:1.05rem}a{color:inherit;text-underline-offset:.18em;text-decoration-color:currentColor;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.15em}:focus-visible{outline:var(--focus);outline-offset:.2rem;border-radius:.2rem;box-shadow:0 0 0 .35rem #fff}::selection{background:var(--ink);color:var(--surface)}.skip-link{z-index:100;border:var(--border);background:var(--surface);border-radius:999px;padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:var(--border);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#ffffff6b;position:sticky;top:0}.site-nav,.footer-inner,.page-shell{width:min(100% - (2 * var(--gutter)), var(--container));margin-inline:auto}.site-nav{justify-content:space-between;align-items:center;gap:1rem;min-height:4.6rem;display:flex}.brand-link{width:3rem;height:3rem;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.logomark{fill:currentColor;width:2rem;height:2rem}.nav-links{align-items:center;gap:clamp(.75rem,2.5vw,1.8rem);margin:0;padding:0;list-style:none;display:flex}.nav-links a{place-items:center;min-height:2.75rem;font-size:clamp(.82rem,2.1vw,1rem);font-weight:550;text-decoration-thickness:.06rem;display:grid}.nav-links a[aria-current=page]{font-weight:800;text-decoration-thickness:.18rem}main:focus{outline:none}.page-shell{padding-block:clamp(3rem,7vw,6.5rem)}.page-shell--home{place-items:center;min-height:calc(100vh - 9.6rem);display:grid}.page-block{width:100%}.card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card--muted{background:var(--surface-muted)}.card--bordered{border:var(--border)}.button{border:var(--border);background:var(--ink);min-height:3rem;color:var(--surface);box-shadow:.2rem .2rem 0 var(--surface);border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.15rem;font-weight:750;text-decoration:none;display:inline-flex}.button--secondary{background:var(--surface);color:var(--ink);box-shadow:none}.eyebrow{color:var(--ink-2);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.9rem;font-size:clamp(.78rem,1vw,.9rem);font-weight:800}.hero{align-items:stretch;gap:clamp(1rem,3vw,2rem);width:100%;display:grid}.hero-copy{padding:clamp(.6rem,1.5vw,.9rem)}.hero-frame{border:.1rem dashed var(--ink);border-radius:calc(var(--radius) - .35rem);background:var(--surface);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100%;padding:clamp(2.25rem,6vw,5rem) clamp(1.45rem,5vw,4.5rem);display:flex;position:relative}.hero h1{white-space:pre-line;max-width:8ch;margin-bottom:.18em}.hero .role{color:var(--ink-2);font-size:var(--step-1);margin-bottom:1rem;font-weight:650}.values{border:var(--border);background:var(--surface);box-shadow:.2rem .2rem 0 var(--ink);flex-wrap:wrap;margin:0 0 1.35rem;padding:.7rem 1rem;font-size:clamp(.85rem,2vw,1rem);font-weight:650;list-style:none;display:flex}.values li:not(:last-child){border-right:.2rem double var(--ink);margin-right:.7rem;padding-right:.7rem}.hero-summary{max-width:37rem;margin-bottom:1.6rem;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.46}.hero-summary p:last-child{margin-bottom:0}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.portrait-card{border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.portrait-card img{object-fit:cover;width:100%;height:100%;min-height:27rem}.star-ornament{width:1.75rem;height:1.75rem;fill:var(--surface);stroke:var(--ink);stroke-width:1px;position:absolute;overflow:visible}.star-ornament--tl{top:-.9rem;left:-.9rem}.star-ornament--tr{top:-.9rem;right:-.9rem}.star-ornament--bl{bottom:-.9rem;left:-.9rem}.star-ornament--br{bottom:-.9rem;right:-.9rem}.section-label{font-size:var(--step-1);align-items:center;gap:.75rem;display:flex}.section-label:before{content:"";background:#969696;flex:none;width:.85rem;height:.85rem;display:block}.section-label--dot:before{border-radius:50%}.section-label--triangle:before{background:0 0;border-bottom:.8rem solid #969696;border-left:.45rem solid #0000;border-right:.45rem solid #0000;width:0;height:0}.about-intro{gap:2rem;display:grid}.about-intro>h1{font-size:var(--step-3)}.about-cards{gap:1.1rem;display:grid}.about-card{padding:clamp(1.35rem,3.5vw,2.4rem)}.about-card>p,.about-card .prose{font-size:clamp(1rem,1.3vw,1.2rem)}.prose p{margin-bottom:1.25em}.skills-section{padding-top:clamp(4rem,9vw,7rem)}.skills-section>h2{font-size:var(--step-3);margin-bottom:1.3em}.skills-grid,.gallery{margin:0;padding:0;list-style:none;display:grid}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.35rem}.skills-grid>.card{padding:1.55rem}.skills-grid h3{margin-bottom:.75rem}.skills-grid ul,.experience-card ul{padding-left:1.3rem}.skills-grid li::marker{font-size:.75em}.experience-card li::marker{font-size:.75em}.experience-page{padding-bottom:clamp(4rem,10vw,8rem)}.page-heading{grid-template-columns:minmax(0,1fr);max-width:62rem;margin-bottom:clamp(2.5rem,7vw,5rem);display:grid}.page-heading h1{max-width:12ch;margin-bottom:.25em}.page-heading-summary{max-width:36rem;color:var(--ink-2);font-size:var(--step-1)}.page-heading-summary p:last-child{margin-bottom:0}.experience-grid{gap:1.25rem;display:grid}.experience-card{flex-direction:column;min-width:0;padding:clamp(1.4rem,3vw,2rem);display:flex}.experience-card h2{margin-bottom:.35rem;font-size:1.25rem}.experience-card .dates{color:var(--ink-2);margin-bottom:1.25rem;font-size:.92rem}.experience-card ul{margin-top:0}.experience-card li+li{margin-top:.65rem}.portfolio-heading{margin-bottom:clamp(2.5rem,6vw,4.5rem)}.portfolio-heading h1{margin-bottom:0}.project>h2{font-size:var(--step-3);margin-bottom:1.1em}.gallery{grid-template-columns:1fr;gap:1.25rem;max-width:48rem}.gallery-card{border:.08rem solid #11111121;height:100%;margin:0;overflow:hidden}.gallery-image{background:#f4f4f4;border-bottom:.08rem solid #11111121;place-items:center;min-height:14rem;display:grid;overflow:hidden}.gallery-image img{object-fit:contain;width:100%;height:auto}.gallery-card figcaption{justify-content:space-between;align-items:flex-start;gap:1rem;min-height:6.25rem;padding:1rem 1.1rem;display:flex}.gallery-card figcaption strong,.gallery-note{display:block}.gallery-note{padding-left:1rem;font-size:.9rem;font-weight:650;position:relative}.gallery-note:before{content:"•";position:absolute;left:.2rem}.gallery-card time{color:var(--ink-2);font-size:.8rem}.project-about{max-width:62rem;margin-top:clamp(2.5rem,7vw,5rem);padding:clamp(1.4rem,4vw,2.5rem)}.project-about .section-label{margin-bottom:.8rem}.project-about .prose{font-size:clamp(1rem,1.25vw,1.15rem)}.content-section,.standalone-image,.cta-section{max-width:62rem;margin:clamp(3rem,8vw,6rem) auto 0}.content-section__inner,.cta-section{padding:clamp(1.5rem,4vw,3rem)}.content-section__inner>h2,.cta-section>h2{font-size:var(--step-3)}.content-section .prose,.cta-section .prose{font-size:clamp(1rem,1.25vw,1.15rem)}.prose h2,.prose h3{margin-top:1.5em}.prose ul,.prose ol{padding-left:1.4rem}.prose a{font-weight:650}.standalone-image{border:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.standalone-image img{width:100%;height:auto}.standalone-image figcaption{color:var(--ink-2);padding:.9rem 1.1rem;font-size:.9rem}.cta-section{text-align:center}.cta-section .prose{max-width:42rem;margin-inline:auto}.cta-section .hero-actions{justify-content:center;margin-top:1.5rem}.not-found-page{place-items:center;min-height:calc(100vh - 9.6rem);display:grid}.not-found-card{max-width:46rem;padding:clamp(2rem,6vw,5rem)}.not-found-card h1{font-size:var(--step-3)}.not-found-card .button{margin-top:1rem}.site-footer{background:#ffffff40;border-top:.08rem solid #1116}.footer-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:7.5rem;display:flex}.footer-inner p{margin:0;font-weight:800}.footer-inner a{align-items:center;gap:.35rem;min-height:2.75rem;font-weight:700;display:inline-flex}@media (width>=40rem){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=48rem){.hero{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.92fr)}.about-intro{grid-template-columns:14rem minmax(0,1fr);align-items:start}.about-intro>h1{position:sticky;top:7rem}}@media (width>=64rem){.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-heading{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);align-items:end;column-gap:3rem}.page-heading .eyebrow{grid-column:1/-1}.page-heading h1,.page-heading-summary{margin-bottom:0}}@media (width<=39.99rem){:root{--step-0:1rem}.site-nav{min-height:4rem}.brand-link{width:2.5rem;height:2.5rem}.logomark{width:1.7rem;height:1.7rem}.nav-links{gap:.65rem}.nav-links a{font-size:.73rem}.hero-frame{padding-inline:1.25rem}.values{justify-content:center;gap:.35rem;width:100%;padding-inline:.6rem}.values li:not(:last-child){margin-right:.35rem;padding-right:.35rem}.portrait-card img{aspect-ratio:4/4.5;min-height:0}.footer-inner{min-height:6rem}}@media (prefers-reduced-motion:no-preference){a,.button{transition:transform .16s,text-decoration-thickness .16s,background-color .16s}.button:hover{transform:translate(-.12rem,-.12rem)}}@media print{body:before{position:absolute}.site-header{background:0 0;position:static}}
