@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";.hero-section[data-v-01df73fd]{justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem;display:flex;position:relative;overflow:hidden}.glow-sphere[data-v-01df73fd]{pointer-events:none;filter:blur(100px);z-index:-1;opacity:.5;border-radius:50%;animation:10s ease-in-out infinite alternate float-01df73fd;position:fixed}.sphere-1[data-v-01df73fd]{background:#66fcf126;width:50vw;max-width:600px;height:50vw;max-height:600px;top:-10%;left:-10%}.sphere-2[data-v-01df73fd]{background:#8a2be226;width:40vw;max-width:500px;height:40vw;max-height:500px;animation-delay:-5s;bottom:0;right:-5%}@keyframes float-01df73fd{0%{transform:translate(0)}to{transform:translate(5%,5%)}}.hero-container[data-v-01df73fd]{z-index:10;width:100%;max-width:1200px;margin:0 auto;position:relative}.hero-content[data-v-01df73fd]{flex-direction:column;align-items:flex-start;gap:1.5rem;max-width:800px;display:flex}.hero-title[data-v-01df73fd]{font-size:clamp(2.5rem,5vw,4rem);line-height:1.2;font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-weight:700}.gradient-text[data-v-01df73fd]{background:linear-gradient(135deg, var(--primary-accent) 0%, #b366ff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-description[data-v-01df73fd]{color:var(--text-secondary);max-width:650px;font-size:1.25rem;line-height:1.7;font-family:var(--font-sans);margin:1.5rem 0 2rem}.hero-actions[data-v-01df73fd]{flex-wrap:wrap;gap:1.5rem;margin-top:1rem;display:flex}.action-button[data-v-01df73fd]{font-family:var(--font-sans);transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.icon-btn[data-v-01df73fd]{width:52px;height:52px;color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-btn[data-v-01df73fd]:hover{background:#ffffff1a;transform:translateY(-2px)}.github-btn[data-v-01df73fd]:hover,.email-btn[data-v-01df73fd]:hover{color:#fff}.linkedin-btn[data-v-01df73fd]:hover{color:#0a66c2}.btn-icon[data-v-01df73fd]{width:24px;height:24px}.secondary-btn[data-v-01df73fd]{color:var(--text-primary);background:0 0;border:1px solid #fff3}.secondary-btn[data-v-01df73fd]:hover{border-color:var(--text-primary);background:#ffffff0d}.arrow[data-v-01df73fd]{transition:transform var(--transition-fast);margin-left:.5rem;display:inline-block}@media (width<=768px){.hero-section[data-v-01df73fd]{padding:8rem 1.5rem 4rem}.glass-panel[data-v-01df73fd]{padding:1.25rem}}.container[data-v-8a8c30ef]{max-width:1200px;margin:0 auto;padding:0 2rem}.work-section[data-v-8a8c30ef]{z-index:10;padding:6rem 0 2rem;position:relative}.section-title[data-v-8a8c30ef]{font-size:clamp(2.5rem,5vw,4rem);font-family:var(--font-serif);color:var(--text-primary);text-align:left;border-bottom:1px solid var(--border-color);margin-bottom:4rem;padding-bottom:1rem;font-weight:400}.timeline[data-v-8a8c30ef]{max-width:800px;margin-left:.5rem}.timeline-item[data-v-8a8c30ef]{padding-bottom:4rem;padding-left:3rem;position:relative}.timeline-item[data-v-8a8c30ef]:last-child{padding-bottom:0}.timeline-item[data-v-8a8c30ef]:not(:last-child):after{content:"";z-index:1;background:#66fcf14d;width:1px;height:100%;position:absolute;top:.35rem;left:5px}.timeline-dot[data-v-8a8c30ef]{background:var(--primary-accent);z-index:2;border-radius:50%;width:11px;height:11px;position:absolute;top:.35rem;left:0;box-shadow:0 0 10px #66fcf180}.timeline-content[data-v-8a8c30ef]{flex-direction:column;gap:.5rem;display:flex}.work-header[data-v-8a8c30ef]{flex-direction:column;gap:.25rem;display:flex}@media (width>=640px){.work-header[data-v-8a8c30ef]{flex-direction:row;justify-content:space-between;align-items:baseline}}.work-role[data-v-8a8c30ef]{color:var(--text-primary);font-size:1.5rem;font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-weight:400}.work-period[data-v-8a8c30ef]{color:var(--text-tertiary);font-size:.875rem;font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase}.work-company[data-v-8a8c30ef]{color:var(--primary-accent);font-size:1rem;font-weight:500;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.work-description[data-v-8a8c30ef]{color:var(--text-secondary);margin:0;font-size:1.125rem;line-height:1.8}.tooltip-container[data-v-9471b936]{display:inline-flex;position:relative}.tooltip-box[data-v-9471b936]{background:var(--text-primary);color:var(--bg-color);font-size:.75rem;font-weight:500;font-family:var(--font-sans);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--transition-fast), transform var(--transition-fast);pointer-events:none;z-index:100;text-transform:capitalize;letter-spacing:.05em;border-radius:2px;padding:.4rem .75rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(4px)}.tooltip-box[data-v-9471b936]:after{content:"";border-style:solid;border-width:4px;border-color:var(--text-primary) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-box.is-visible[data-v-9471b936]{opacity:1;visibility:visible;transform:translate(-50%)translateY(-8px)}.tech-icon[data-v-dbdefe36],.tech-icon-colored[data-v-dbdefe36]{width:24px;height:24px;transition:transform var(--transition-fast)}.tech-icon[data-v-dbdefe36]{color:#ffffffd9;transition:color var(--transition-fast), transform var(--transition-fast)}.tech-icon[data-v-dbdefe36]:hover{color:var(--hover-color);transform:translateY(-2px)}.tech-icon-colored[data-v-dbdefe36]{filter:grayscale()opacity(.95);transition:filter var(--transition-fast), transform var(--transition-fast)}.tech-icon-colored[data-v-dbdefe36]:hover{filter:grayscale(0%)opacity();transform:translateY(-2px)}.project-editorial[data-v-65231bc7]{border-top:1px solid var(--border-color);flex-direction:column;gap:2rem;padding-top:2rem;padding-bottom:4rem;display:flex}.project-header[data-v-65231bc7]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-title[data-v-65231bc7]{font-size:clamp(2rem,4vw,3rem);font-family:var(--font-serif);color:var(--text-primary);max-width:100%;margin:0}.tech-icons[data-v-65231bc7]{align-items:center;gap:1rem;display:flex}.project-layout[data-v-65231bc7]{grid-template-columns:1fr;gap:4rem;display:grid}.project-media[data-v-65231bc7]{flex-direction:column;gap:1rem;display:flex}.main-image-container[data-v-65231bc7]{aspect-ratio:16/9;background:var(--border-color);width:100%;overflow:hidden}.main-image[data-v-65231bc7]{object-fit:contain;filter:grayscale(20%);width:100%;height:100%;transition:filter var(--transition-normal)}.main-image[data-v-65231bc7]:hover{filter:grayscale(0%)}.thumbnail-list[data-v-65231bc7]{gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.thumbnail-btn[data-v-65231bc7]{cursor:pointer;opacity:.5;width:90px;height:60px;transition:opacity var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:0}.thumbnail-btn[data-v-65231bc7]:hover,.thumbnail-btn.active[data-v-65231bc7]{opacity:1}.thumbnail[data-v-65231bc7]{object-fit:contain;filter:grayscale();width:100%;height:100%;transition:filter var(--transition-fast)}.thumbnail-btn.active .thumbnail[data-v-65231bc7]{filter:grayscale(0%)}.project-info[data-v-65231bc7]{flex-direction:column;gap:2rem;display:flex}.project-description[data-v-65231bc7]{color:var(--text-secondary);max-width:500px;font-size:1.125rem;line-height:1.8}.project-links[data-v-65231bc7]{flex-direction:column;gap:1rem;width:100%;max-width:300px;margin-top:auto;display:flex}.link-item[data-v-65231bc7]{border-bottom:1px solid var(--text-tertiary);color:var(--text-primary);font-weight:500;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;width:100%;padding-bottom:.5rem;font-size:.875rem;display:inline-flex}.link-item[data-v-65231bc7]:hover{border-bottom-color:var(--text-primary)}.arrow[data-v-65231bc7]{transition:transform var(--transition-fast)}.link-item:hover .arrow[data-v-65231bc7]{transform:translate(2px,-2px)}@media (width>=1024px){.project-layout[data-v-65231bc7]{grid-template-columns:3fr 2fr;align-items:stretch}.is-reversed .project-layout[data-v-65231bc7]{grid-template-columns:2fr 3fr}.is-reversed .project-media[data-v-65231bc7]{order:2}.is-reversed .project-info[data-v-65231bc7]{text-align:right;order:1;align-items:flex-end}.is-reversed .tech-icons[data-v-65231bc7]{justify-content:flex-end}}.side-nav[data-v-5a6a830f]{z-index:50;position:fixed;top:50%;right:2rem;transform:translateY(-50%)}@media (width<=768px){.side-nav[data-v-5a6a830f]{display:none}}.nav-track[data-v-5a6a830f]{flex-direction:column;align-items:center;gap:2rem;display:flex;position:relative}.nav-section[data-v-5a6a830f]{flex-direction:column;align-items:center;width:100%;display:flex}.nav-dot[data-v-5a6a830f]{z-index:2;cursor:pointer;width:32px;height:32px;transition:transform var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.nav-line[data-v-5a6a830f]{z-index:1;background:#fff3;width:1px;transition:bottom .6s cubic-bezier(.4,0,.2,1);position:absolute;top:16px;bottom:16px;left:50%;transform:translate(-50%)}.sub-menu-wrapper[data-v-5a6a830f]{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:2rem;max-height:0;margin-top:0;transition:max-height .6s cubic-bezier(.4,0,.2,1),opacity .4s,margin-top .6s cubic-bezier(.4,0,.2,1);display:flex}.sub-menu-wrapper.is-expanded[data-v-5a6a830f]{opacity:1;pointer-events:auto;max-height:1000px;margin-top:2rem}.dot-inner[data-v-5a6a830f]{width:12px;height:12px;transition:all var(--transition-fast);background:#ffffff4d;border-radius:50%}.nav-label[data-v-5a6a830f]{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);opacity:0;transition:all var(--transition-fast);pointer-events:none;white-space:nowrap;margin-right:1rem;font-size:.875rem;font-weight:500;position:absolute;right:100%;transform:translate(10px)}.nav-dot:hover .nav-label[data-v-5a6a830f],.nav-dot.active .nav-label[data-v-5a6a830f]{opacity:1;transform:translate(0)}.nav-dot:not(.active) .nav-label[data-v-5a6a830f]{color:var(--text-secondary)}.nav-dot:hover .dot-inner[data-v-5a6a830f]{background:#fffc;transform:scale(1.3)}.nav-dot.active .dot-inner[data-v-5a6a830f]{background:var(--primary-accent);box-shadow:0 0 10px var(--primary-accent);transform:scale(1.3)}.nav-dot.sub-dot[data-v-5a6a830f]{width:24px;height:24px}.nav-dot.sub-dot .dot-inner[data-v-5a6a830f]{background:#ffffff26;width:8px;height:8px}.nav-dot.sub-dot:hover .dot-inner[data-v-5a6a830f]{background:#ffffff80;transform:scale(1.2)}.nav-dot.sub-dot.active .dot-inner[data-v-5a6a830f]{background:var(--primary-accent);box-shadow:0 0 8px var(--primary-accent);transform:scale(1.2)}.nav-label.sub-label[data-v-5a6a830f]{color:var(--text-secondary);font-size:.75rem}.parent-active-label[data-v-5a6a830f]{color:var(--text-primary)}.footer[data-v-7c1e6185]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0f1966;border-top:1px solid #ffffff0d;margin-top:6rem;padding:4rem 0 2rem}.container[data-v-7c1e6185]{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content[data-v-7c1e6185]{flex-direction:column;justify-content:space-between;gap:3rem;margin-bottom:4rem;display:flex}@media (width>=768px){.footer-content[data-v-7c1e6185]{flex-direction:row;gap:2rem}}.footer-brand[data-v-7c1e6185]{font-family:var(--font-serif);color:var(--text-primary);background:linear-gradient(135deg, var(--primary-accent) 0%, #b366ff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2.5rem}.footer-tagline[data-v-7c1e6185]{color:var(--text-secondary);max-width:300px;margin:0;font-size:1.125rem}.footer-heading[data-v-7c1e6185]{font-family:var(--font-sans);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:1.125rem;font-weight:500}.social-links[data-v-7c1e6185]{gap:1.25rem;display:flex}.social-link[data-v-7c1e6185]{width:48px;height:48px;color:var(--text-secondary);transition:all var(--transition-fast);background:#ffffff08;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link[data-v-7c1e6185]:hover{background:var(--primary-accent);color:var(--bg-color);border-color:var(--primary-accent);box-shadow:0 10px 20px -10px var(--primary-accent);transform:translateY(-4px)}.icon[data-v-7c1e6185]{width:24px;height:24px}.footer-bottom[data-v-7c1e6185]{border-top:1px solid #ffffff0d;justify-content:center;padding-top:2rem;display:flex}.copyright[data-v-7c1e6185]{color:var(--text-tertiary);margin:0;font-size:.875rem}.portfolio-container[data-v-284b1359]{min-height:100vh}.container[data-v-284b1359]{max-width:1200px;margin:0 auto;padding:0 2rem}.projects-section[data-v-284b1359]{z-index:10;padding:6rem 0;position:relative}.section-title[data-v-284b1359]{font-size:clamp(2.5rem,5vw,4rem);font-family:var(--font-serif);color:var(--text-primary);text-align:left;border-bottom:1px solid var(--border-color);margin-bottom:6rem;padding-bottom:1rem;font-weight:400}.projects-grid[data-v-284b1359]{flex-direction:column;gap:8rem;display:flex}:root{--bg-color:#f7f7f5;--surface-color:#fff;--border-color:#e0e0e0;--primary-accent:#111;--secondary-accent:#555;--text-primary:#111;--text-secondary:#555;--text-tertiary:#888;--font-sans:"Inter", sans-serif;--font-serif:"Playfair Display", serif;--transition-fast:.2s cubic-bezier(.25, .46, .45, .94);--transition-normal:.4s cubic-bezier(.25, .46, .45, .94)}@media (prefers-color-scheme:dark){:root{--bg-color:#0a0a0a;--surface-color:#121212;--border-color:#2a2a2a;--primary-accent:#fff;--secondary-accent:#aaa;--text-primary:#fff;--text-secondary:#aaa;--text-tertiary:#666}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);font-weight:400;line-height:1.1}a{color:var(--text-primary);transition:opacity var(--transition-fast);text-decoration:none;position:relative}.btn{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-normal);border:1px solid var(--text-primary);border-radius:0;justify-content:center;align-items:center;padding:.75rem 2rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--text-primary);color:var(--bg-color)}.btn-primary:hover,.btn-outline{color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--text-primary);color:var(--bg-color)}
