.card[data-astro-cid-y2vllrex],.card[data-astro-cid-y2vllrex]:hover{color:inherit;text-decoration:none}.card[data-astro-cid-y2vllrex]{background:var(--card-bg);border-radius:16px;transition:transform .25s,box-shadow .25s,background .25s;display:block;overflow:hidden}.card[data-astro-cid-y2vllrex]:hover,.card[data-astro-cid-y2vllrex]:focus-visible{background:var(--card-bg-hover);transform:translateY(-4px);box-shadow:0 12px 32px #00000052}.card[data-astro-cid-y2vllrex]:active{transition-duration:90ms;transform:translateY(-1px)scale(.995)}.card-thumb[data-astro-cid-y2vllrex]{aspect-ratio:16/10;border-radius:16px 16px 0 0;justify-content:center;align-items:center;display:flex;overflow:hidden}.card-thumb-stack[data-astro-cid-y2vllrex]{background:linear-gradient(180deg, rgba(var(--tint), .07), transparent);padding:20px}.stack-list[data-astro-cid-y2vllrex]{pointer-events:none;justify-content:center;gap:8px}.card-thumb[data-astro-cid-y2vllrex] img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card[data-astro-cid-y2vllrex]:hover .card-thumb[data-astro-cid-y2vllrex] img,.card[data-astro-cid-y2vllrex]:focus-visible .card-thumb[data-astro-cid-y2vllrex] img{transform:scale(1.05)}.card-body[data-astro-cid-y2vllrex]{padding:20px}.card-title[data-astro-cid-y2vllrex]{width:fit-content;max-width:100%;margin:0 0 6px;font-size:18px;font-weight:600;transition:color .25s}.card-summary[data-astro-cid-y2vllrex]{opacity:.6;margin:0;font-size:14px}.card[data-astro-cid-y2vllrex]:hover .card-title[data-astro-cid-y2vllrex],.card[data-astro-cid-y2vllrex]:focus-visible .card-title[data-astro-cid-y2vllrex]{color:var(--accent)}@media (prefers-reduced-motion:reduce){.card-thumb[data-astro-cid-y2vllrex] img{transition:none}.card[data-astro-cid-y2vllrex]:hover .card-thumb[data-astro-cid-y2vllrex] img,.card[data-astro-cid-y2vllrex]:focus-visible .card-thumb[data-astro-cid-y2vllrex] img{transform:none}}.photo-stack[data-astro-cid-5tenuue5]{--wipe:.75s;--wipe-ease:cubic-bezier(.65, 0, .35, 1);aspect-ratio:1;cursor:pointer;background:0 0;border:0;flex:none;width:340px;max-width:100%;margin:0;padding:0;position:relative}.stack-card[data-astro-cid-5tenuue5]{aspect-ratio:4/5;background:#302327;border-radius:14px;width:74%;transition:transform .4s,box-shadow .4s;display:block;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 18px 40px #00000073}.stack-card[data-astro-cid-5tenuue5][data-depth="0"]{z-index:3;transform:translate(-54%,-44%)rotate(-2.5deg)}.stack-card[data-astro-cid-5tenuue5][data-depth="1"]{z-index:2;filter:brightness(.78);transform:translate(-39%,-57%)rotate(4.5deg)scale(.93)}.stack-card[data-astro-cid-5tenuue5][data-depth="2"]{z-index:1;filter:brightness(.6);transform:translate(-60%,-52%)rotate(-7deg)scale(.88)}.card-photo[data-astro-cid-5tenuue5]{object-fit:cover;visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.card-photo[data-astro-cid-5tenuue5].is-active{z-index:1;visibility:visible}.card-photo[data-astro-cid-5tenuue5].is-leaving{z-index:2;visibility:visible;animation:wipe-out var(--wipe) var(--wipe-ease) forwards}.card-photo[data-astro-cid-5tenuue5].is-entering{animation:wipe-in var(--wipe) var(--wipe-ease)}@keyframes wipe-out{to{transform:translateY(-100%)}}@keyframes wipe-in{0%{transform:translateY(100%)}}.photo-stack[data-astro-cid-5tenuue5]:hover .stack-card[data-astro-cid-5tenuue5][data-depth="0"],.photo-stack[data-astro-cid-5tenuue5]:focus-visible .stack-card[data-astro-cid-5tenuue5][data-depth="0"]{transform:translate(-54%,-46%)rotate(-2.5deg)scale(1.02);box-shadow:0 24px 52px #00000080}.photo-stack[data-astro-cid-5tenuue5]:active .stack-card[data-astro-cid-5tenuue5][data-depth="0"]{transition-duration:90ms;transform:translate(-54%,-45%)rotate(-2.5deg)scale(.985)}.photo-stack[data-astro-cid-5tenuue5]:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:18px}@media (width<=640px){.photo-stack[data-astro-cid-5tenuue5]{width:300px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.stack-card[data-astro-cid-5tenuue5]{transition:none}.card-photo[data-astro-cid-5tenuue5]{animation:none!important}.card-photo[data-astro-cid-5tenuue5].is-leaving{visibility:hidden}.photo-stack[data-astro-cid-5tenuue5]:hover .stack-card[data-astro-cid-5tenuue5][data-depth="0"],.photo-stack[data-astro-cid-5tenuue5]:focus-visible .stack-card[data-astro-cid-5tenuue5][data-depth="0"],.photo-stack[data-astro-cid-5tenuue5]:active .stack-card[data-astro-cid-5tenuue5][data-depth="0"]{transform:translate(-54%,-44%)rotate(-2.5deg)}.photo-stack[data-astro-cid-5tenuue5]:active .stack-card[data-astro-cid-5tenuue5][data-depth="0"]{box-shadow:0 10px 24px #0000008c}}.hero[data-astro-cid-lcdefpme]{text-align:center;width:calc(100% - 40px);max-width:800px;margin:80px auto 0;padding:44px 32px 48px}.hero-title[data-astro-cid-lcdefpme]{margin:0 0 12px;font-size:clamp(36px,5vw + 16px,48px);font-weight:700;line-height:1.15}.hero-title[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--accent)}.hero-subtitle[data-astro-cid-lcdefpme]{opacity:.7;margin:0;font-size:18px}.about-layout[data-astro-cid-lcdefpme]{flex-wrap:wrap;align-items:flex-start;gap:40px;display:flex}.about-text[data-astro-cid-lcdefpme]{flex:320px;min-width:min(280px,100%);max-width:68ch}.about-text[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{opacity:.9;margin:0 0 18px;font-size:17px;line-height:1.75}.about-text[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]:last-of-type{margin-bottom:0}.work-list[data-astro-cid-lcdefpme]{gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.work-logo[data-astro-cid-lcdefpme]{display:none}@media (width>=1200px){.work-list[data-astro-cid-lcdefpme]{--rail:78px}.work-list[data-astro-cid-lcdefpme]:before,.work-list[data-astro-cid-lcdefpme]:after{content:"";background:linear-gradient(to bottom, transparent, var(--rule) 14%, var(--rule) 86%, transparent);width:1px;position:absolute;top:-28px;bottom:-28px}.work-list[data-astro-cid-lcdefpme]:before{right:calc(100% + var(--rail))}.work-list[data-astro-cid-lcdefpme]:after{left:calc(100% + var(--rail))}.work-logo[data-astro-cid-lcdefpme]{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;place-items:center;min-width:52px;height:52px;padding:0 9px;transition:border-color .25s,transform .25s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:50%}.work-item[data-astro-cid-lcdefpme][data-rail=left] .work-logo[data-astro-cid-lcdefpme]{right:calc(100% + var(--rail));transform:translate(50%,-50%)}.work-item[data-astro-cid-lcdefpme][data-rail=right] .work-logo[data-astro-cid-lcdefpme]{left:calc(100% + var(--rail));transform:translate(-50%,-50%)}.work-logo[data-astro-cid-lcdefpme] img[data-astro-cid-lcdefpme]{object-fit:contain;opacity:.82;width:auto;max-width:60px;height:auto;max-height:34px;transition:opacity .25s}.work-item[data-astro-cid-lcdefpme]:hover .work-logo[data-astro-cid-lcdefpme]{border-color:var(--rule-strong)}.work-item[data-astro-cid-lcdefpme][data-rail=left]:hover .work-logo[data-astro-cid-lcdefpme]{transform:translate(50%,-50%)scale(1.06)}.work-item[data-astro-cid-lcdefpme][data-rail=right]:hover .work-logo[data-astro-cid-lcdefpme]{transform:translate(-50%,-50%)scale(1.06)}.work-item[data-astro-cid-lcdefpme]:hover .work-logo[data-astro-cid-lcdefpme] img[data-astro-cid-lcdefpme]{opacity:1}}@media (width>=1200px) and (prefers-reduced-motion:reduce){.work-item[data-astro-cid-lcdefpme][data-rail=left]:hover .work-logo[data-astro-cid-lcdefpme]{transform:translate(50%,-50%)}.work-item[data-astro-cid-lcdefpme][data-rail=right]:hover .work-logo[data-astro-cid-lcdefpme]{transform:translate(-50%,-50%)}}@keyframes workArrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes drawRail{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes litBadge{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter] .work-item[data-astro-cid-lcdefpme]{opacity:0}.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter].is-in .work-item[data-astro-cid-lcdefpme]{animation:.72s cubic-bezier(.16,1,.3,1) both workArrive;animation-delay:calc(var(--i) * 80ms)}}@media (width>=1200px) and (prefers-reduced-motion:no-preference){.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter]:before,.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter]:after{transform-origin:top;transform:scaleY(0)}.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter].is-in:before,.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter].is-in:after{animation:.95s cubic-bezier(.16,1,.3,1) both drawRail}.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter] .work-logo[data-astro-cid-lcdefpme]{opacity:0}.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter].is-in .work-logo[data-astro-cid-lcdefpme]{animation:.5s both litBadge;animation-delay:var(--lit)}}@media print{.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter] .work-item[data-astro-cid-lcdefpme],.motion-ok .work-list[data-astro-cid-lcdefpme][data-enter] .work-logo[data-astro-cid-lcdefpme]{opacity:1!important;animation:none!important}}.work-item[data-astro-cid-lcdefpme]{background:var(--card-bg);border-radius:16px;grid-template-columns:160px 1fr;gap:8px 32px;padding:28px;transition:background .25s;display:grid;position:relative}.work-item[data-astro-cid-lcdefpme]:hover{background:var(--card-bg-hover)}.work-period[data-astro-cid-lcdefpme]{font-variant-numeric:tabular-nums;opacity:.6;margin:0;padding-top:3px;font-size:14px;font-weight:500}.work-role[data-astro-cid-lcdefpme]{margin:0 0 4px;font-size:18px;font-weight:600}.work-company[data-astro-cid-lcdefpme]{color:var(--text-muted);margin:0;font-size:15px}.work-company[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{color:var(--text);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.work-company[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover,.work-company[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}.work-body[data-astro-cid-lcdefpme]{opacity:.85;margin-top:14px;font-size:15px;line-height:1.7}.work-body[data-astro-cid-lcdefpme] p{margin:0}.project-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;display:grid}.contact[data-astro-cid-lcdefpme]{text-align:center;padding-bottom:80px}.contact[data-astro-cid-lcdefpme] .section-label[data-astro-cid-lcdefpme]{margin-bottom:20px}.contact-heading[data-astro-cid-lcdefpme]{margin:0 0 24px;font-size:28px;font-weight:600;line-height:1.4}.contact-actions[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.copy-email[data-astro-cid-lcdefpme]{cursor:pointer;place-items:center;font-family:inherit;display:inline-grid}.copy-email[data-astro-cid-lcdefpme][hidden]{display:none}.copy-label[data-astro-cid-lcdefpme]{opacity:0;grid-area:1/1;transition:opacity .18s}.copy-email[data-astro-cid-lcdefpme] .copy-label[data-astro-cid-lcdefpme][data-label=idle],.copy-email[data-astro-cid-lcdefpme].is-copied .copy-label[data-astro-cid-lcdefpme][data-label=done],.copy-email[data-astro-cid-lcdefpme].is-failed .copy-label[data-astro-cid-lcdefpme][data-label=fail]{opacity:1}.copy-email[data-astro-cid-lcdefpme].is-copied .copy-label[data-astro-cid-lcdefpme][data-label=idle],.copy-email[data-astro-cid-lcdefpme].is-failed .copy-label[data-astro-cid-lcdefpme][data-label=idle]{opacity:0}.copy-email[data-astro-cid-lcdefpme].is-copied,.copy-email[data-astro-cid-lcdefpme].is-copied:hover,.copy-email[data-astro-cid-lcdefpme].is-copied:focus-visible{color:var(--accent);border-color:rgba(var(--tint), .5);background:0 0}.copy-email[data-astro-cid-lcdefpme].is-failed,.copy-email[data-astro-cid-lcdefpme].is-failed:hover,.copy-email[data-astro-cid-lcdefpme].is-failed:focus-visible{color:var(--danger);border-color:rgba(var(--danger-tint), .5);background:0 0}.socials[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:32px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.socials[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{opacity:.7;text-underline-offset:3px;transition:opacity .2s}.socials[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{opacity:1}@media (width<=640px){.hero[data-astro-cid-lcdefpme]{margin-top:64px;padding:32px 20px 36px}.work-item[data-astro-cid-lcdefpme]{grid-template-columns:1fr;padding:22px}.contact-heading[data-astro-cid-lcdefpme]{font-size:24px}}
