:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--color-page:#f5f5f5;--color-page-translucent:#f5f5f5e6;--color-surface:#fff;--color-text-strong:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft-bg:#eff6ff;--color-accent-soft-text:#1d4ed8;--color-accent-line:#dbeafe;--color-chip-bg:#f1f5f9;--color-chip-text:#334155;--color-success-bg:#ecfdf5;--color-success-text:#047857;--color-outline:#cbd5e1;--color-outline-hover:#94a3b8;--color-hover-tint:#00000005;--section-gap:160px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:#ebebebdb;--color-page:var(--vt-c-black);--color-page-translucent:#181818e6;--color-surface:var(--vt-c-black-soft);--color-text-strong:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-accent:#60a5fa;--color-accent-hover:#93c5fd;--color-accent-soft-bg:#60a5fa1f;--color-accent-soft-text:#93c5fd;--color-accent-line:#60a5fa40;--color-chip-bg:#ffffff14;--color-chip-text:#cbd5e1;--color-success-bg:#10b98126;--color-success-text:#6ee7b7;--color-outline:#cbd5e14d;--color-outline-hover:#cbd5e180;--color-hover-tint:#ffffff0d}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{color:var(--color-text);background-color:var(--color-page);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{width:100%;font-weight:400}a{color:var(--color-text);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent)}@media (width>=1024px){body{display:flex}}header[data-v-d7309c90]{background-color:var(--color-page-translucent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;position:fixed;top:0;left:0;right:0}.header-nav-container[data-v-d7309c90]{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:1.25rem 0;display:flex}.heading-name[data-v-d7309c90]{color:var(--color-heading);font-size:1.5rem;font-weight:700;text-decoration:none}.nav-links[data-v-d7309c90]{align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a[data-v-d7309c90]{color:var(--color-chip-text);font-weight:500;text-decoration:none;transition:color .2s}.nav-links a[data-v-d7309c90]:hover{color:var(--color-accent)}.menu-toggle[data-v-d7309c90]{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.menu-toggle span[data-v-d7309c90]{background:var(--color-heading);width:24px;height:2px;transition:all .3s}@media (width<=768px){.header-nav-container[data-v-d7309c90]{padding:1rem 1.25rem}.menu-toggle[data-v-d7309c90]{display:flex}.nav-links[data-v-d7309c90]{background:var(--color-page);border-bottom:1px solid var(--color-border);opacity:0;pointer-events:none;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:transform .3s,opacity .3s;position:absolute;top:100%;left:0;right:0;transform:translateY(-120%)}.nav-links.open[data-v-d7309c90]{opacity:1;pointer-events:auto;transform:translateY(0)}}.banner-container[data-v-7458bf03]{justify-content:center;align-items:center;gap:4rem;max-width:1400px;min-height:100vh;margin:0 auto;padding:2rem 8%;display:flex}.banner-image[data-v-7458bf03]{flex-shrink:0}.banner-image img[data-v-7458bf03]{object-fit:cover;width:320px;height:320px}.banner-text[data-v-7458bf03]{max-width:650px}.banner-text h1[data-v-7458bf03]{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.banner-text h2[data-v-7458bf03]{color:var(--color-accent);margin-bottom:1rem;font-size:clamp(1.25rem,3vw,2rem)}.banner-text p[data-v-7458bf03]{color:var(--color-text-muted);font-size:1.1rem;line-height:1.8}.banner-actions[data-v-7458bf03]{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.btn[data-v-7458bf03]{border-radius:.5rem;justify-content:center;align-items:center;min-width:140px;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn[data-v-7458bf03]:hover{transform:translateY(-2px)}.btn-primary[data-v-7458bf03]{color:#fff;background-color:#2563eb;border:2px solid #2563eb;box-shadow:0 4px 12px #2563eb33}.btn-primary[data-v-7458bf03]:hover{background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 16px #2563eb4d}.btn-secondary[data-v-7458bf03]{color:var(--color-accent);background-color:#2563eb0d;border:2px solid #2563eb}.btn-secondary[data-v-7458bf03]:hover{color:#fff;background-color:#2563eb}.btn-outline[data-v-7458bf03]{color:var(--color-text-secondary);border:2px solid var(--color-outline);background-color:#0000}.btn-outline[data-v-7458bf03]:hover{color:var(--color-text-strong);border-color:var(--color-outline-hover);background-color:var(--color-hover-tint)}@media (width<=1024px){.banner-container[data-v-7458bf03]{gap:3rem;padding:2rem 5%}.banner-image img[data-v-7458bf03]{width:260px;height:260px}}@media (width<=768px){.banner-container[data-v-7458bf03]{text-align:center;flex-direction:column;justify-content:center;gap:2rem;min-height:auto;padding:5rem 1.5rem}.banner-image img[data-v-7458bf03]{width:220px;height:220px}.banner-text[data-v-7458bf03]{max-width:100%}.banner-actions[data-v-7458bf03]{justify-content:center}}@media (width<=480px){.banner-container[data-v-7458bf03]{padding:4rem 1.25rem}.banner-image img[data-v-7458bf03]{width:180px;height:180px}.banner-text h1[data-v-7458bf03],.banner-text h2[data-v-7458bf03]{margin-bottom:.75rem}.banner-text p[data-v-7458bf03]{font-size:1rem}.banner-actions[data-v-7458bf03]{flex-direction:column;gap:.75rem;width:100%}.btn[data-v-7458bf03]{width:100%}}.experience[data-v-383f0af0]{padding:5rem 1.5rem}.container[data-v-383f0af0]{max-width:1200px;margin:auto}.section-header[data-v-383f0af0]{text-align:center;margin-bottom:3rem}.section-header h2[data-v-383f0af0]{margin-bottom:.5rem;font-size:2.2rem}.section-header p[data-v-383f0af0]{color:var(--color-text-muted)}.timeline[data-v-383f0af0]{flex-direction:column;gap:2rem;padding-left:2rem;display:flex;position:relative}.timeline[data-v-383f0af0]:before{content:"";background:var(--color-accent-line);width:2px;position:absolute;top:0;bottom:0;left:10px}.experience-card[data-v-383f0af0]{position:relative}.timeline-marker[data-v-383f0af0]{border:4px solid var(--color-surface);background:#2563eb;border-radius:50%;width:16px;height:16px;position:absolute;top:1.3rem;left:-2rem;box-shadow:0 0 0 2px #2563eb}.card[data-v-383f0af0]{background:var(--color-surface);border-radius:16px;padding:1.5rem;transition:all .25s;box-shadow:0 10px 30px #00000014}.card[data-v-383f0af0]:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001f}.card-header[data-v-383f0af0]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.card-header h3[data-v-383f0af0]{margin:0;font-size:1.3rem}.card-header h4[data-v-383f0af0]{color:var(--color-accent);margin-top:.25rem;font-weight:600}.duration[data-v-383f0af0]{background:var(--color-accent-soft-bg);color:var(--color-accent-soft-text);white-space:nowrap;border-radius:999px;padding:.45rem .8rem;font-size:.85rem}.location[data-v-383f0af0]{color:var(--color-text-muted);margin-bottom:1rem}.responsibilities[data-v-383f0af0]{margin-bottom:1.5rem;padding-left:1.2rem}.responsibilities li[data-v-383f0af0]{margin-bottom:.6rem;line-height:1.6}.skills[data-v-383f0af0]{flex-wrap:wrap;gap:.5rem;display:flex}.skill[data-v-383f0af0]{background:var(--color-chip-bg);color:var(--color-chip-text);border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:500}.company-link[data-v-383f0af0]{color:var(--color-accent);font-weight:600;text-decoration:none}.company-link[data-v-383f0af0]:hover{text-decoration:underline}.employment-type[data-v-383f0af0]{background:var(--color-success-bg);color:var(--color-success-text);vertical-align:middle;border-radius:999px;align-items:center;margin-left:.75rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}@media (width<=768px){.timeline[data-v-383f0af0]{padding-left:1.5rem}.timeline-marker[data-v-383f0af0]{left:-1.5rem}.card-header[data-v-383f0af0]{flex-direction:column;align-items:flex-start}.duration[data-v-383f0af0]{margin-top:.5rem}}.skills[data-v-d8088913]{background-color:var(--color-page);padding:5rem 1.5rem}.container[data-v-d8088913]{max-width:1200px;margin:auto}.section-header[data-v-d8088913]{text-align:center;margin-bottom:3rem}.section-header h2[data-v-d8088913]{margin-bottom:.5rem;font-size:2.2rem}.section-header p[data-v-d8088913]{color:var(--color-text-muted)}.skills-grid[data-v-d8088913]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.skill-card[data-v-d8088913]{background:var(--color-surface);border-radius:16px;padding:1.5rem;transition:all .25s;box-shadow:0 10px 30px #00000014}.skill-card[data-v-d8088913]:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000001f}.skill-card h3[data-v-d8088913]{color:var(--color-accent);margin-bottom:1rem}.skill-list[data-v-d8088913]{flex-wrap:wrap;gap:.6rem;display:flex}.skill[data-v-d8088913]{background:var(--color-accent-soft-bg);color:var(--color-accent-soft-text);border-radius:999px;padding:.45rem .8rem;font-size:.85rem;font-weight:500}@media (width<=768px){.skills[data-v-d8088913]{padding:4rem 1rem}}.contact[data-v-f65eed9c]{padding:5rem 1.5rem}.container[data-v-f65eed9c]{max-width:900px;margin:auto}.section-header[data-v-f65eed9c]{text-align:center;margin-bottom:3rem}.section-header h2[data-v-f65eed9c]{margin-bottom:.5rem;font-size:2.2rem}.section-header p[data-v-f65eed9c]{color:var(--color-text-muted);max-width:650px;margin:auto;line-height:1.7}.contact-card[data-v-f65eed9c]{gap:1.25rem;display:grid}.contact-item[data-v-f65eed9c]{background:var(--color-surface);border-radius:16px;align-items:center;gap:1.25rem;padding:1.5rem;transition:all .25s;display:flex;box-shadow:0 10px 30px #00000014}.contact-item[data-v-f65eed9c]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0000001f}.icon[data-v-f65eed9c]{background:var(--color-accent-soft-bg);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.6rem;display:flex}.content[data-v-f65eed9c]{flex:1}.content h3[data-v-f65eed9c]{margin:0;font-size:1rem}.content a[data-v-f65eed9c]{color:var(--color-accent);word-break:break-word;text-decoration:none}.content a[data-v-f65eed9c]:hover{text-decoration:underline}@media (width<=640px){.contact-item[data-v-f65eed9c]{align-items:flex-start}.icon[data-v-f65eed9c]{width:50px;height:50px;font-size:1.3rem}}.back-to-top[data-v-234882ba]{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);z-index:1000;background:#2563ebe6;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding:0;transition:transform .25s,background-color .25s,box-shadow .25s,border-color .25s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 30px #2563eb4d,0 4px 10px #0000001f}.back-to-top[data-v-234882ba]:hover{background:#1d4ed8;border-color:#ffffff59;transform:translateY(-5px);box-shadow:0 14px 35px #2563eb66,0 6px 14px #00000026}.back-to-top[data-v-234882ba]:active{transform:translateY(-1px)}.back-to-top-icon[data-v-234882ba]{justify-content:center;align-items:center;width:24px;height:24px;transition:transform .25s;display:flex}.back-to-top-icon svg[data-v-234882ba]{width:22px;height:22px}.back-to-top:hover .back-to-top-icon[data-v-234882ba]{transform:translateY(-2px)}.back-to-top[data-v-234882ba]:focus-visible{outline-offset:4px;outline:3px solid #93c5fd}.back-to-top-fade-enter-active[data-v-234882ba],.back-to-top-fade-leave-active[data-v-234882ba]{transition:opacity .3s,transform .3s}.back-to-top-fade-enter-from[data-v-234882ba],.back-to-top-fade-leave-to[data-v-234882ba]{opacity:0;transform:translateY(15px)scale(.85)}@media (width<=768px){.back-to-top[data-v-234882ba]{width:48px;height:48px;bottom:1.25rem;right:1.25rem}.back-to-top-icon svg[data-v-234882ba]{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.back-to-top[data-v-234882ba],.back-to-top-icon[data-v-234882ba],.back-to-top-fade-enter-active[data-v-234882ba],.back-to-top-fade-leave-active[data-v-234882ba]{transition:none}}.projects[data-v-0134eda3]{color:var(--color-text);padding:7rem 1.5rem}.container[data-v-0134eda3]{width:100%;max-width:1200px;margin:0 auto}.section-header[data-v-0134eda3]{text-align:center;max-width:760px;margin:0 auto 4rem}.section-header h2[data-v-0134eda3]{color:var(--color-heading);letter-spacing:-.03em;margin:.5rem 0 1rem;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.section-header p[data-v-0134eda3]{max-width:680px;color:var(--color-text-muted);margin:0 auto;font-size:1.05rem;line-height:1.8}.section-eyebrow[data-v-0134eda3]{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;background:#2563eb0d;border:1px solid #2563eb26;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.eyebrow-dot[data-v-0134eda3]{background:var(--color-accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #2563eb1a}.tabs[data-v-0134eda3]{border:1px solid var(--color-border);background:var(--color-background-soft);border-radius:999px;gap:.35rem;width:fit-content;margin:0 auto 3.5rem;padding:.35rem;scroll-margin-top:6rem;display:flex}.tab[data-v-0134eda3]{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.tab[data-v-0134eda3]:hover{color:var(--color-text-strong)}.tab.active[data-v-0134eda3]{color:#fff;background-color:#2563eb;box-shadow:0 4px 12px #2563eb33}.tab[data-v-0134eda3]:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.tab-count[data-v-0134eda3]{background:var(--color-accent-soft-bg);color:var(--color-accent-soft-text);border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.tab.active .tab-count[data-v-0134eda3]{color:#fff;background:#fff3}.filters[data-v-0134eda3]{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.filter-chip[data-v-0134eda3]{color:var(--color-accent);font:inherit;cursor:pointer;background:#2563eb0d;border:1px solid #2563eb26;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s}.filter-chip[data-v-0134eda3]:hover{background:#2563eb1a;border-color:#2563eb4d}.filter-chip.active[data-v-0134eda3]{color:#fff;background:#2563eb;border-color:#2563eb}.filter-chip[data-v-0134eda3]:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.group-header[data-v-0134eda3]{margin-bottom:2.5rem}.group-header h3[data-v-0134eda3]{color:var(--color-heading);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.group-header p[data-v-0134eda3]{color:var(--color-text-muted);line-height:1.7}.group-note[data-v-0134eda3]{background:#2563eb0a;border:1px solid #2563eb1f;border-radius:10px;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.tags[data-v-0134eda3]{flex-wrap:wrap;gap:.5rem;display:flex}.tag[data-v-0134eda3]{color:var(--color-accent);background:#2563eb0d;border:1px solid #2563eb26;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.case-studies[data-v-0134eda3]{flex-direction:column;gap:1.75rem;display:flex}.case-study[data-v-0134eda3]{background:var(--color-background);border:1px solid var(--color-border);border-radius:18px;grid-template-columns:280px 1fr;transition:transform .25s,box-shadow .25s,border-color .25s;display:grid;overflow:hidden;box-shadow:0 4px 16px #0000000a}.case-study[data-v-0134eda3]:hover{border-color:#2563eb4d;transform:translateY(-4px);box-shadow:0 16px 40px #00000014}.case-study-aside[data-v-0134eda3]{background:var(--color-background-soft);border-right:1px solid var(--color-border);border-left:4px solid #2563eb;flex-direction:column;gap:1.25rem;padding:2rem 1.75rem;display:flex}.case-study-number[data-v-0134eda3]{color:var(--color-accent);letter-spacing:-.03em;font-size:2.5rem;font-weight:700;line-height:1}.aside-block[data-v-0134eda3]{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.aside-label[data-v-0134eda3]{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.aside-value[data-v-0134eda3]{color:var(--color-heading);font-weight:600;line-height:1.4}.work-badge[data-v-0134eda3]{background:var(--color-success-bg);color:var(--color-success-text);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.case-study-body[data-v-0134eda3]{padding:2rem 2.25rem}.case-study-title[data-v-0134eda3]{color:var(--color-heading);margin-bottom:.6rem;font-size:1.45rem;font-weight:700;line-height:1.3}.case-study-summary[data-v-0134eda3]{color:var(--color-text);margin-bottom:1.75rem;font-size:1.02rem;line-height:1.7}.case-study-details[data-v-0134eda3]{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.case-study-section h5[data-v-0134eda3]{color:var(--color-heading);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem;font-size:.8rem;font-weight:700}.case-study-section p[data-v-0134eda3],.case-study-section li[data-v-0134eda3]{color:var(--color-text-muted);line-height:1.65}.case-study-section ul[data-v-0134eda3]{padding-left:1.2rem}.case-study-section li[data-v-0134eda3]{margin-bottom:.3rem}.projects-grid[data-v-0134eda3]{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.project-card[data-v-0134eda3]{background:var(--color-background);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 4px 16px #0000000a}.project-card[data-v-0134eda3]:hover{border-color:#2563eb4d;transform:translateY(-6px);box-shadow:0 16px 40px #00000014}.project-gallery[data-v-0134eda3]{background:var(--color-background-mute);grid-template-columns:repeat(2,1fr);gap:4px;display:grid;overflow:hidden}.project-image[data-v-0134eda3]{object-fit:cover;cursor:pointer;width:100%;height:150px;transition:transform .3s;display:block}.project-image[data-v-0134eda3]:hover{transform:scale(1.04)}.project-content[data-v-0134eda3]{flex-direction:column;flex:1;padding:1.6rem;display:flex}.project-meta[data-v-0134eda3]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.kind-badge[data-v-0134eda3]{border:1px solid var(--color-accent);color:var(--color-accent);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.25rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.project-origin[data-v-0134eda3]{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.project-title[data-v-0134eda3]{color:var(--color-heading);margin-bottom:.5rem;font-size:1.25rem;font-weight:700;line-height:1.3}.project-summary[data-v-0134eda3]{color:var(--color-text);margin-bottom:1rem;line-height:1.65}.highlights[data-v-0134eda3]{color:var(--color-text-muted);margin-bottom:1.25rem;padding-left:1.1rem;font-size:.92rem;line-height:1.6}.highlights li[data-v-0134eda3]{margin-bottom:.25rem}.project-content .tags[data-v-0134eda3]{margin-bottom:1.5rem}.links[data-v-0134eda3]{flex-wrap:wrap;gap:.75rem;margin-top:auto;display:flex}.project-link[data-v-0134eda3]{border:2px solid var(--color-outline);min-width:100px;color:var(--color-text-secondary);background:0 0;border-radius:.5rem;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.project-link[data-v-0134eda3]:hover{color:var(--color-text-strong);border-color:var(--color-outline-hover);background:var(--color-hover-tint);transform:translateY(-2px)}.primary-link[data-v-0134eda3]{color:#fff;background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #2563eb33}.primary-link[data-v-0134eda3]:hover{color:#fff;background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 16px #2563eb4d}.project-link span[data-v-0134eda3]{font-size:1rem}.lightbox[data-v-0134eda3]{z-index:999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:zoom-out;background:#181818e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-image[data-v-0134eda3]{border-radius:12px;max-width:90%;max-height:90%;box-shadow:0 25px 80px #0006}@media (width<=1024px){.projects-grid[data-v-0134eda3]{grid-template-columns:repeat(2,1fr)}.case-study[data-v-0134eda3]{grid-template-columns:1fr}.case-study-aside[data-v-0134eda3]{border-right:none;border-bottom:1px solid var(--color-border)}}@media (width<=768px){.case-study-details[data-v-0134eda3]{grid-template-columns:1fr;gap:1.5rem}}@media (width<=640px){.projects[data-v-0134eda3]{padding:5rem 1rem}.section-header[data-v-0134eda3]{margin-bottom:3rem}.section-header p[data-v-0134eda3]{font-size:.95rem}.tabs[data-v-0134eda3]{width:100%;margin-bottom:2.5rem}.tab[data-v-0134eda3]{flex:1;justify-content:center;padding:.6rem .75rem;font-size:.85rem}.projects-grid[data-v-0134eda3]{grid-template-columns:1fr;gap:1.5rem}.case-study-aside[data-v-0134eda3],.case-study-body[data-v-0134eda3],.project-content[data-v-0134eda3]{padding:1.35rem}.project-gallery[data-v-0134eda3]{grid-template-columns:1fr}.project-image[data-v-0134eda3]{height:200px}.project-link[data-v-0134eda3]{flex:1}}.error-container[data-v-02649972]{background-color:var(--color-page);justify-content:center;align-items:center;min-height:100vh;padding:2rem 8%;display:flex}.error-content[data-v-02649972]{text-align:center;max-width:600px;animation:.6s ease-in-out fadeIn-02649972}@keyframes fadeIn-02649972{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-icon[data-v-02649972]{width:100px;height:100px;color:var(--color-accent);opacity:.9;margin:0 auto 2rem}.error-icon svg[data-v-02649972]{width:100%;height:100%}.error-content h1[data-v-02649972]{color:var(--color-accent);margin-bottom:1rem;font-size:clamp(4rem,10vw,8rem);font-weight:700;line-height:1}.error-content h2[data-v-02649972]{color:var(--color-heading);margin-bottom:1rem;font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}.error-content p[data-v-02649972]{color:var(--color-text-muted);margin-bottom:2.5rem;font-size:1.1rem;line-height:1.8}.error-actions[data-v-02649972]{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.btn[data-v-02649972]{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;min-width:140px;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn[data-v-02649972]:hover{transform:translateY(-2px)}.btn-primary[data-v-02649972]{color:#fff;background-color:#2563eb;border:2px solid #2563eb;box-shadow:0 4px 12px #2563eb33}.btn-primary[data-v-02649972]:hover{background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 16px #2563eb4d}.btn-outline[data-v-02649972]{color:var(--color-text-secondary);border:2px solid var(--color-outline);background-color:#0000}.btn-outline[data-v-02649972]:hover{color:var(--color-text-strong);border-color:var(--color-outline-hover);background-color:var(--color-hover-tint)}@media (width<=768px){.error-container[data-v-02649972]{padding:3rem 1.5rem}.error-icon[data-v-02649972]{width:80px;height:80px;margin-bottom:1.5rem}.error-content p[data-v-02649972]{margin-bottom:2rem;font-size:1rem}}@media (width<=480px){.error-container[data-v-02649972]{padding:2rem 1.25rem}.error-icon[data-v-02649972]{width:60px;height:60px;margin-bottom:1.25rem}.error-content h2[data-v-02649972]{margin-bottom:.75rem}.error-content p[data-v-02649972]{margin-bottom:1.75rem;font-size:.95rem}.error-actions[data-v-02649972]{flex-direction:column;gap:.75rem;width:100%}.btn[data-v-02649972]{width:100%}}
