.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}@view-transition{navigation:auto}::view-transition-old(root){animation:none;z-index:1}::view-transition-new(root){animation:page-wipe-up .9s cubic-bezier(.65,0,.35,1) both;z-index:2}@keyframes page-wipe-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}:root{--c-bg: #ffffff;--c-text: #0d0d0d;--c-text-muted: #737373;--c-border: #e5e5e5;--c-card-bg: #0a0a0a;--c-card-text: #ffffff;--c-card-text-muted: #a3a3a3;--c-input-bg: #f5f5f5;--c-button-bg: #0a0a0a;--font-sans: "Inter", "Inter Placeholder", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container-max: 1180px;--container-px: 40px;--radius-sm: 4px;--radius-md: 4px;--radius-lg: 4px}html{font-family:var(--font-sans);font-feature-settings:"cv11","ss01";background:var(--c-bg);color:var(--c-text)}body{font-size:16px;font-weight:400;letter-spacing:-.01em;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.muted{color:var(--c-text-muted)}.container{max-width:var(--container-max);margin:0 auto;padding-left:var(--container-px);padding-right:var(--container-px)}.divider{border-top:1px solid var(--c-border);margin:0}.nav{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--c-border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:32px}.nav__brand{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500;flex:1;min-width:0}.nav__name{color:var(--c-text)}.nav__role{color:var(--c-text-muted)}.nav__links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500}.nav__links a{color:var(--c-text);transition:opacity .15s ease}.nav__links a:hover{opacity:.6}.nav__links a[aria-current=page]{color:var(--c-text)}@media(max-width:640px){.nav__role{display:none}.nav__brand{gap:0}.nav__links{gap:16px}}.footer{border-top:1px solid var(--c-border);padding:32px 0;margin-top:96px}.footer__inner{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--c-text-muted)}.footer__socials{display:flex;gap:24px}.footer__socials a{color:var(--c-text-muted);transition:color .15s ease}.footer__socials a:hover{color:var(--c-text)}.hero{padding:96px 0 48px;display:flex;flex-direction:column;gap:40px}.hero__avatar{width:96px;height:96px;border-radius:999px;object-fit:cover;background:var(--c-input-bg)}.hero__title{font-size:clamp(32px,4.4vw,56px);line-height:1.12;letter-spacing:-.03em;font-weight:500;max-width:980px}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:24px 0 16px;border-bottom:1px solid var(--c-border);font-size:14px;color:var(--c-text-muted);margin-top:24px}.section-head a{color:var(--c-text-muted);transition:color .15s ease}.section-head a:hover{color:var(--c-text)}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}@media(max-width:768px){.projects{grid-template-columns:1fr}}.project-card{position:relative;display:block;background:var(--c-card-bg);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 11;isolation:isolate;transition:transform .4s ease}.project-card:hover{transform:translateY(-2px)}.project-card img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.project-card:hover img{transform:scale(1.02)}.contact-cta{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:56px 0;border-top:1px solid var(--c-border);margin-top:64px}.contact-cta__label{font-size:14px;color:var(--c-text-muted)}.contact-cta__body{max-width:720px;display:flex;flex-direction:column;gap:16px}.contact-cta__lead{font-size:clamp(20px,2.2vw,28px);font-weight:500;letter-spacing:-.02em;line-height:1.3}.contact-cta__body p{color:var(--c-text);font-size:16px}.contact-cta__cta{margin-top:16px;font-size:14px;color:var(--c-text-muted);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--c-border);align-self:flex-start;transition:color .15s ease,text-decoration-color .15s ease}.contact-cta__cta:hover{color:var(--c-text);text-decoration-color:var(--c-text)}@media(max-width:768px){.contact-cta{grid-template-columns:1fr;gap:16px}}.page-head{padding:96px 0 32px;border-bottom:1px solid var(--c-border)}.page-head--centered{text-align:center;padding:160px 0 32px}.page-head__title{font-size:clamp(48px,8vw,96px);line-height:1;letter-spacing:-.04em;font-weight:500}.two-col{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--c-border)}.two-col__label{font-size:14px;color:var(--c-text);font-weight:500}.two-col__body{max-width:720px}.two-col__body p{font-size:clamp(18px,1.6vw,22px);line-height:1.45;font-weight:500;letter-spacing:-.015em}.two-col__body p+p{margin-top:24px}@media(max-width:768px){.two-col{grid-template-columns:1fr;gap:12px;padding:24px 0}.two-col__body p{font-size:18px}}.career-row{display:grid;grid-template-columns:200px 1fr 1fr 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--c-border);font-size:16px}.career-row>:first-child{color:var(--c-text)}.career-row__role{font-weight:500}.career-row__years{color:var(--c-text-muted)}.career-row__company{color:var(--c-text)}@media(max-width:768px){.career-row{grid-template-columns:1fr 1fr;gap:8px 16px}.career-row>:first-child{grid-column:1 / -1;font-size:14px;color:var(--c-text-muted);margin-bottom:4px}}.contact-page{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:32px 0 96px;border-top:1px solid var(--c-border)}.contact-page__sidebar{font-size:16px}.contact-page__sidebar h3{font-weight:500;font-size:16px;margin-bottom:16px}.contact-page__sidebar a{color:var(--c-text-muted);display:block;padding:4px 0;transition:color .15s ease}.contact-page__sidebar a:hover{color:var(--c-text)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form__field{display:flex;flex-direction:column}.contact-form__field--full{grid-column:1 / -1}.contact-form input,.contact-form textarea{width:100%;background:var(--c-input-bg);border:1px solid transparent;border-radius:var(--radius-sm);padding:16px 20px;font-size:16px;color:var(--c-text);transition:border-color .15s ease,background-color .15s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--c-text);background:#fff}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--c-text-muted)}.contact-form textarea{min-height:280px;resize:vertical;font-family:var(--font-sans)}.contact-form__submit{grid-column:1 / -1;background:var(--c-button-bg);color:#fff;border-radius:var(--radius-sm);padding:18px 24px;font-size:16px;font-weight:500;transition:opacity .15s ease}.contact-form__submit:hover{opacity:.85}.contact-form__submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.contact-page,.contact-form{grid-template-columns:1fr}}.work-list{padding:24px 0}.work-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:24px 0;border-bottom:1px solid var(--c-border);transition:padding .2s ease}.work-row:hover{padding-left:8px}.work-row__title{font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.02em}.work-row__tags{font-size:14px;color:var(--c-text-muted)}@media(max-width:640px){.work-row{grid-template-columns:1fr;gap:8px}}.project-detail__head{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:96px 0 32px;align-items:end}.project-detail__back{font-size:14px;color:var(--c-text-muted);display:inline-block;align-self:end;padding-bottom:8px;transition:color .15s ease}.project-detail__back:hover{color:var(--c-text)}.project-detail__title{font-size:clamp(32px,4.5vw,56px);line-height:1.1;letter-spacing:-.025em;font-weight:500}@media(max-width:768px){.project-detail__head{grid-template-columns:1fr;gap:16px;padding-top:64px}}.project-detail__cover{margin-top:32px;border-radius:var(--radius-md);overflow:hidden;background:var(--c-card-bg);aspect-ratio:16 / 11}.project-detail__cover img{width:100%;height:100%;object-fit:cover;object-position:center}.project-body{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px;align-items:start}@media(max-width:768px){.project-body{grid-template-columns:1fr}}.project-content{display:flex;flex-direction:column;gap:32px}.project-section h2{font-size:18px;font-weight:500;margin-bottom:12px}.project-section p,.project-section li{font-size:15px;line-height:1.55;color:var(--c-text)}.project-section p+p{margin-top:12px}.project-section ul{display:flex;flex-direction:column;gap:12px}.project-section li{position:relative;padding-left:0}.project-meta{display:grid;grid-template-columns:120px 1fr;gap:8px 24px;padding:16px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);margin-top:24px;font-size:14px}.project-meta dt{color:var(--c-text-muted);padding:8px 0}.project-meta dd{color:var(--c-text);padding:8px 0}.project-gallery{display:flex;flex-direction:column;gap:16px}.project-gallery img{width:100%;height:auto;border-radius:var(--radius-md);background:var(--c-card-bg)}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--c-button-bg);color:#fff;border-radius:var(--radius-sm);padding:14px 24px;font-size:14px;font-weight:500;transition:opacity .15s ease}.btn:hover{opacity:.85}.next-project{margin-top:96px;padding-top:48px;border-top:1px solid var(--c-border);display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}.next-project__label{font-size:14px;color:var(--c-text-muted);margin-bottom:16px}.next-project__title{font-size:clamp(28px,3.2vw,40px);line-height:1.15;letter-spacing:-.025em;font-weight:500;transition:opacity .15s ease}.next-project a:hover .next-project__title{opacity:.6}.next-project__media{background:var(--c-card-bg);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 11}.next-project__media img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.next-project{grid-template-columns:1fr;gap:24px}}.form-success{padding:24px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);color:#166534;font-size:14px}
