@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Inter:wght@300;400;500;600&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--surface: #fbf9f8;--surface-dim: #c9cdcc;--surface-bright: #f7fafa;--surface-container-lowest: #ffffff;--surface-container-low: #f1f4f4;--surface-container: #ebeeee;--surface-container-high: #e5e9e8;--surface-container-highest: #e0e3e3;--on-surface: #181c1d;--on-surface-variant: #444748;--inverse-surface: #2d3131;--inverse-on-surface: #eef1f1;--outline: #7e7576;--outline-variant: #c4c7c7;--surface-tint: #5e5e5e;--primary: #000000;--on-primary: #ffffff;--primary-container: #1b1b1b;--on-primary-container: #848484;--inverse-primary: #c6c6c6;--secondary: #5f5e59;--on-secondary: #ffffff;--secondary-container: #e2dfd9;--on-secondary-container: #64635e;--tertiary: #000000;--on-tertiary: #ffffff;--tertiary-container: #001946;--on-tertiary-container: #5280e6;--error: #ba1a1a;--on-error: #ffffff;--background: #f7fafa;--on-background: #181c1d;--surface-variant: #e0e3e3;--accent-blue: #b1c5ff;--margin-desktop: 80px;--margin-mobile: 24px;--gutter: 32px;--section-gap: 160px;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Space Mono", monospace;--radius-sm: .25rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px}[data-theme=dark]{--surface: #121212;--surface-dim: #1a1a1a;--surface-bright: #2a2a2a;--surface-container-lowest: #0a0a0a;--surface-container-low: #171717;--surface-container: #1f1f1f;--surface-container-high: #292929;--surface-container-highest: #333333;--on-surface: #fbf9f8;--on-surface-variant: #a3a3a3;--inverse-surface: #eef1f1;--inverse-on-surface: #181c1d;--outline: #7e7576;--outline-variant: #3a3a3a;--surface-tint: #a3a3a3;--primary: #ffffff;--on-primary: #000000;--primary-container: #333333;--on-primary-container: #cccccc;--inverse-primary: #3a3a3a;--secondary: #a1a09a;--on-secondary: #000000;--secondary-container: #403f3a;--on-secondary-container: #d9d8d2;--tertiary: #ffffff;--on-tertiary: #000000;--tertiary-container: #a3c2ff;--on-tertiary-container: #001946;--error: #ffb4ab;--on-error: #690005;--background: #121212;--on-background: #fbf9f8;--surface-variant: #3a3a3a;--accent-blue: #003399}html{scroll-behavior:auto;background-color:var(--surface);scrollbar-width:auto;scrollbar-color:var(--on-surface-variant) transparent}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis]{height:auto}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}body{font-family:var(--font-body);background-color:var(--surface);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;transition:background-color .4s ease,color .4s ease}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--on-surface);color:var(--surface)}#root{width:100%;overflow-x:hidden}::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--on-surface-variant);border-radius:var(--radius-full);transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--on-surface)}.display-xl{font-family:var(--font-display);font-size:clamp(56px,12vw,120px);font-weight:700;line-height:.92;letter-spacing:-.04em}.display-lg{font-family:var(--font-display);font-size:clamp(40px,8vw,80px);font-weight:700;line-height:1.05;letter-spacing:-.03em}.headline-lg{font-family:var(--font-display);font-size:clamp(28px,5vw,48px);font-weight:600;line-height:1.08;letter-spacing:-.02em}.body-md{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:24px}.technical-sm{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:16px;letter-spacing:.05em;text-transform:uppercase}.technical-xs{width:50px;height:50px}.section-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant);display:flex;align-items:center;gap:.5rem}.divider{width:100%;height:1px;background:var(--outline-variant)}.brutalist-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:2rem;transition:background .2s ease,border-color .2s ease;cursor:default}.brutalist-card:hover{background:var(--tertiary-container);border-color:var(--tertiary-container)}.brutalist-card:hover *{color:var(--on-tertiary-container)!important}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary);color:var(--on-primary);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);border:none;cursor:pointer;transition:background .2s ease,transform .15s ease;white-space:nowrap}.btn-primary:hover{background:var(--tertiary-container);transform:translateY(-1px)}.btn-hire{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--tertiary-container);color:var(--accent-blue);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);border:none;cursor:pointer;transition:opacity .2s ease,transform .15s ease}.btn-hire:hover{opacity:.85;transform:translateY(-1px)}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;color:var(--on-surface);font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);border:1px solid var(--outline-variant);cursor:pointer;transition:border-color .2s ease,background .2s ease}.btn-ghost:hover{border-color:var(--on-surface);background:var(--surface-container-low)}.chip{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);white-space:nowrap;transition:all .25s ease}.chip:hover{border-color:var(--on-surface);color:var(--on-surface);background:var(--surface-container-high);transform:translateY(-1px)}.chip-featured{background:var(--tertiary-container);border-color:var(--tertiary-container);color:var(--accent-blue)}.glass-sphere{position:absolute;border-radius:50%;pointer-events:none;z-index:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:10000;background:var(--surface);color:var(--on-surface);padding:.75rem 1.5rem;border:1px solid var(--outline-variant);border-radius:0 0 var(--radius-md) var(--radius-md);font-family:var(--font-body);font-size:14px;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--on-surface);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--on-surface);outline-offset:2px;border-radius:var(--radius-sm)}.app{width:100%;background-color:var(--surface);color:var(--on-surface)}.page-container{width:100%;max-width:calc(100% - calc(var(--margin-desktop) * 2));margin:0 auto}@media (max-width: 768px){.page-container{max-width:calc(100% - calc(var(--margin-mobile) * 2))}}.header{position:fixed;top:0;left:0;width:100%;height:64px;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:0 var(--margin-desktop);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease,background-color .3s ease}.header.scrolled{background-color:var(--surface-container);background-color:color-mix(in srgb,var(--surface) 85%,transparent);border-bottom-color:var(--outline-variant)}.header-nav{display:flex;align-items:center;gap:2.5rem}.nav-link{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);position:relative;padding-bottom:2px;transition:color .2s ease}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--on-surface);transition:width .25s ease}.nav-link:hover{color:var(--on-surface)}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--on-surface)}.nav-link.active:after{width:100%}.header-right{display:flex;align-items:center;gap:1rem}@media (max-width: 768px){.header{padding:0 var(--margin-mobile);height:56px}.header-nav{display:none}}.hero{width:100%;min-height:100vh;padding:0 var(--margin-desktop);padding-top:64px;background:var(--surface);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:80px;position:relative;overflow:hidden}.hero-sphere-1{width:480px;height:480px;background:radial-gradient(circle at 40% 40%,#91919159,#b1c5ff0d);filter:blur(60px);top:-80px;right:-80px;animation:spherePulse 6s ease-in-out infinite}.hero-sphere-2{width:300px;height:300px;background:radial-gradient(circle at 60% 60%,rgba(145,145,145,.08),transparent);filter:blur(40px);bottom:10%;left:15%;animation:spherePulse 9s ease-in-out infinite reverse}@keyframes spherePulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}.hero-label{margin-bottom:1.5rem;position:relative;z-index:1}.hero-title-block{position:relative;z-index:1;-webkit-user-select:none;user-select:none}.hero-name{font-family:var(--font-display);font-size:clamp(56px,12vw,120px);font-weight:700;line-height:.92;letter-spacing:-.04em;color:var(--on-surface);display:block}.hero-name.muted{color:var(--on-surface-variant)}.hero-subtitle{font-family:var(--font-body);font-size:clamp(15px,1.8vw,20px);line-height:1.5;color:var(--on-surface-variant);max-width:440px;margin-top:1.25rem;position:relative;z-index:1}.hero-divider{margin:2.5rem 0;position:relative;z-index:1}.hero-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--gutter);align-items:end;position:relative;z-index:1}.hero-description{font-family:var(--font-body);font-size:16px;line-height:1.625;color:var(--on-surface-variant);max-width:440px}.hero-traits{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.hero-trait{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant)}.hero-trait-dot{width:32px;height:1px;background:var(--outline-variant);flex-shrink:0}.hero-cta{margin-top:1.25rem;width:fit-content}@media (max-width: 768px){.hero{padding:64px var(--margin-mobile) 60px}.hero-divider{margin:2rem 0}.hero-bottom{grid-template-columns:1fr;gap:1.5rem}.hero-sphere-1{width:260px;height:260px;right:-40px;top:-20px}}.section{width:100%;padding:var(--section-gap) var(--margin-desktop);position:relative}@media (max-width: 768px){.section{padding:80px var(--margin-mobile)}}.section-head{display:flex;align-items:center;gap:1rem;margin-bottom:3rem}.marquee-wrapper-full{width:100%;overflow:hidden;padding:.75rem 0}.arsenal-marquee-wrapper{margin-top:3rem;display:flex;flex-direction:column;gap:1.5rem;width:100vw;margin-left:calc(-50vw + 50%);overflow:hidden;position:relative}.arsenal-marquee-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(to right,var(--surface) 0%,transparent 5%,transparent 95%,var(--surface) 100%)}.marquee-track{display:flex;gap:4rem;width:max-content;align-items:center;will-change:transform}.tech-item-overlay{display:inline-flex;align-items:center;justify-content:center;position:relative;color:var(--on-surface-variant);text-decoration:none;flex-shrink:0;cursor:pointer;width:48px;height:48px;border-radius:12px}.tech-item-overlay-icon{font-size:clamp(28px,4vw,36px);display:inline-flex;align-items:center;justify-content:center;transition:opacity .3s ease}.tech-item-overlay-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface);border-radius:12px;opacity:0;transition:opacity .3s ease;text-align:center;white-space:nowrap;padding:0 4px;line-height:1.2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tech-item-overlay:hover .tech-item-overlay-icon{opacity:.12}.tech-item-overlay:hover .tech-item-overlay-text{opacity:1}@media (max-width: 768px){.marquee-track{gap:2rem}.tech-item-overlay{width:40px;height:40px}.tech-item-overlay-icon{font-size:22px}.tech-item-overlay-text{font-size:7px}}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gutter);margin-top:3rem}.project-card{border:1px solid var(--outline-variant);border-radius:var(--radius-xl);overflow:hidden;position:relative;aspect-ratio:16 / 10;transition:border-color .2s ease,transform .25s ease;display:block}.project-card:hover{border-color:var(--on-surface)}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.project-card:hover img{transform:scale(1.04)}.project-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;gap:.5rem}.project-card-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--on-surface-variant);letter-spacing:-.01em}.project-card-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant)}.project-card-desc{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--on-surface-variant);opacity:.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0}.project-info-container .btn-primary{margin-top:auto;width:fit-content;align-self:flex-end}.project-info-container .btn-primary:hover{transform:translateY(-3px)}.work-more{display:flex;justify-content:flex-end;margin-top:2rem}.work-more-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);transition:color .2s ease,gap .2s ease;border-bottom:1px solid var(--outline-variant);padding-bottom:3px}.work-more-link:hover{color:var(--on-surface);gap:.875rem}@media (max-width: 768px){.work-grid{grid-template-columns:1fr}}.exp-wrapper{position:relative;margin-top:3rem;padding:.5rem 0 .5rem 72px}.exp-rail{position:absolute;left:34px;top:0;bottom:0;width:3px;background:var(--tertiary-container);border-radius:2px;transform:scaleY(0);transform-origin:top center;opacity:0;z-index:0}.exp-rail-end{position:absolute;left:18px;bottom:-6px;width:34px;height:34px;border:2px solid var(--tertiary-container);border-radius:4px;background:var(--surface);z-index:2;scale:0;opacity:0}.exp-item{position:relative;z-index:1;padding:1.25rem 0}.exp-connector{position:absolute;left:-35px;top:2.5rem;width:34px;height:3px;background:var(--tertiary-container);border-radius:2px;transform:scaleX(0);transform-origin:right center;opacity:0}.exp-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.exp-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}[data-theme=dark] .exp-card:hover{box-shadow:0 8px 24px #0000004d}.exp-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.exp-icon{font-size:14px;color:var(--tertiary-container);flex-shrink:0;display:flex;align-items:center}.exp-company{font-family:var(--font-display);font-size:clamp(20px,3vw,28px);font-weight:600;letter-spacing:-.02em;color:var(--on-surface)}.exp-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.exp-date{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant)}.exp-role-desc{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--on-surface-variant)}.exp-role-desc ul{list-style:disc;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.35rem}.exp-role-desc li{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--on-surface-variant)}.exp-techs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--outline-variant)}@media (max-width: 768px){.exp-wrapper{padding-left:44px}.exp-rail{left:20px;width:3px}.exp-rail-end{left:4px;width:34px;height:34px}.exp-connector{left:-22px;width:21px;height:3px;transform-origin:right center}.exp-item{padding:1rem 0}.exp-card{padding:1.5rem}}.contact-box{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:5rem var(--margin-desktop);display:grid;grid-template-columns:1.4fr 1fr;gap:var(--gutter);align-items:start}.contact-box-right{display:flex;flex-direction:column;gap:1rem}.contact-headline{font-family:var(--font-display);font-size:clamp(36px,6vw,72px);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--on-surface);max-width:720px;margin-bottom:1rem}.contact-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.contact-email-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);border-bottom:1px solid var(--outline-variant);padding-bottom:2px;transition:color .2s ease}.contact-email-text:hover{color:var(--on-surface)}.contact-form-wrapper{width:100%}.contact-form{display:flex;flex-direction:column;gap:.75rem}.form-field{display:flex;flex-direction:column}.form-input,.form-textarea{width:100%;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:.75rem 1rem;font-family:var(--font-body);font-size:14px;color:var(--on-surface);transition:border-color .25s ease,box-shadow .25s ease}.form-input:focus-visible,.form-textarea:focus-visible{border-color:var(--on-surface);box-shadow:0 0 0 2px var(--on-surface)}.form-input::placeholder,.form-textarea::placeholder{color:var(--on-surface-variant);opacity:.75}.form-textarea{resize:vertical;min-height:100px}.form-feedback{font-family:var(--font-body);font-size:13px}.form-success{color:var(--tertiary)}.form-error{color:var(--error)}@media (max-width: 768px){.contact-box{grid-template-columns:1fr;padding:3rem var(--margin-mobile)}.form-input,.form-textarea{padding:.75rem 1rem;font-size:14px}}.footer{width:100%;padding:3rem var(--margin-desktop);border-top:1px solid var(--outline-variant);display:flex;align-items:center;justify-content:space-between}.footer-brand{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--on-surface)}.footer-links{display:flex;gap:2rem}.footer-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);transition:color .2s ease}.footer-link:hover{color:var(--on-surface)}.footer-copy{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--on-surface-variant);margin-top:1.5rem;padding:0 var(--margin-desktop) 2rem}@media (max-width: 768px){.footer{padding:2rem var(--margin-mobile);flex-direction:column;align-items:flex-start;gap:1.5rem}.footer-copy{padding:0 var(--margin-mobile) 2rem}}.theme-toggle{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:border-color .2s ease,transform .15s ease}.theme-toggle:hover{transform:scale(1.08);border-color:var(--on-surface)}.language-toggle{position:fixed;bottom:2rem;right:5rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:border-color .2s ease,transform .15s ease;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.05em}.language-toggle:hover{transform:scale(1.08);border-color:var(--on-surface)}body:has(.menu-overlay) .theme-toggle,body:has(.menu-overlay) .language-toggle{display:none}.projects-page{min-height:100vh;padding:120px var(--margin-desktop) 80px;background:var(--surface)}.projects-page h1{font-family:var(--font-display);font-size:clamp(36px,6vw,64px);font-weight:700;letter-spacing:-.03em;color:var(--on-surface);margin-bottom:3rem}.text-gradient{background:linear-gradient(135deg,var(--on-surface) 0%,var(--on-tertiary-container) 50%,var(--on-surface) 100%);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 4s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.icon-float{display:inline-flex;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);transition:color .2s ease}.back-link:hover{color:var(--on-surface)}.projects-grid{display:grid;gap:var(--gutter);grid-template-columns:repeat(2,1fr);margin-top:2rem}.project-image{width:100%;height:100%;object-fit:fill}.project-overlay{background:radial-gradient(circle at 50% 50%,transparent,var(--on-surface));height:100%;opacity:.1;width:100%;position:absolute;top:0}.project-info{font-size:24px;font-family:var(--font-display);position:absolute;top:1rem;left:1rem;opacity:0;transition:opacity .5s ease}.project-card:hover .project-info{opacity:1}.project-info .project-title{color:#fff;mix-blend-mode:difference}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:100%;max-width:calc(100vw - 3rem);max-height:calc(100vh - 3rem);background:var(--surface-container-lowest);border-radius:var(--radius-xl);border:1px solid var(--outline-variant);overflow:hidden;display:flex;flex-direction:column}.modal-close{position:absolute;top:1rem;right:1rem;z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;transition:background .2s ease,transform .15s ease}.modal-close:hover{background:#000000bf;transform:scale(1.05)}.modal-layout{display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;max-height:calc(100vh - 3rem)}.modal-media-section{position:relative;background:var(--surface-dim);display:flex;flex-direction:column}.modal-carousel{position:relative;aspect-ratio:16 / 11;overflow:hidden;flex-shrink:0}.modal-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;cursor:grab}.modal-slide:active{cursor:grabbing}.modal-media{width:100%;height:100%;object-fit:cover;display:block}.modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;transition:background .2s ease,transform .15s ease}.modal-nav-btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.05)}.modal-nav-prev{left:1rem}.modal-nav-next{right:1rem}.modal-dots{display:flex;justify-content:center;gap:.5rem;padding:.75rem;background:var(--surface-container)}.modal-dot{width:8px;height:8px;border-radius:50%;background:var(--on-surface-variant);opacity:.35;border:none;cursor:pointer;transition:opacity .2s ease,transform .15s ease;padding:0}.modal-dot:hover{opacity:.6}.modal-dot--active{opacity:1;background:var(--on-surface);transform:scale(1.3)}.modal-info-section{overflow-y:auto;border-left:1px solid var(--outline-variant)}.modal-info-content{padding:2rem;display:flex;flex-direction:column;gap:1.25rem;height:100%}.modal-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant)}.modal-title{font-family:var(--font-display);font-size:clamp(28px,4vw,42px);font-weight:700;letter-spacing:-.03em;color:var(--on-surface);line-height:1.05}.modal-description{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--on-surface-variant);white-space:pre-line}.modal-techs{display:flex;flex-wrap:wrap;gap:.5rem}.modal-actions{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem}@media (max-width: 900px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:95vh;max-height:calc(100vh + -0rem);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-layout{grid-template-columns:1fr;max-height:95vh;max-height:calc(100vh + -0rem);overflow-y:auto}.modal-carousel{aspect-ratio:16 / 12}.modal-info-section{border-left:none;border-top:1px solid var(--outline-variant)}.modal-info-content{padding:1.5rem;gap:1rem}.modal-close{top:.75rem;right:.75rem;width:36px;height:36px}}.about-page{min-height:100vh;padding:120px 0 80px;background:var(--surface);position:relative;overflow:hidden}.about-sphere-1{width:400px;height:400px;background:radial-gradient(circle at 40% 40%,#b1c5ff40,#b1c5ff08);filter:blur(50px);top:10%;right:-100px;animation:spherePulse 8s ease-in-out infinite}.about-sphere-2{width:320px;height:320px;background:radial-gradient(circle at 60% 60%,rgba(0,25,70,.05),transparent);filter:blur(40px);bottom:20%;left:-80px;animation:spherePulse 10s ease-in-out infinite reverse}.about-hero{padding-bottom:4rem}.about-hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem;margin-top:1rem}.about-hero-text{width:100%}.about-photo-wrapper{flex-shrink:0;order:-1}.about-photo{width:260px;height:260px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid var(--outline-variant);box-shadow:0 8px 32px #0000001f;transition:transform .3s ease,border-color .3s ease}.about-photo:hover{transform:scale(1.05);border-color:var(--on-surface);box-shadow:0 12px 40px #0000002e}@media (max-width: 768px){.about-photo{width:200px;height:200px}}.about-display-title{font-family:var(--font-display);font-size:clamp(48px,9vw,96px);font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--on-surface);margin-top:1rem;margin-bottom:1.5rem}.about-subtitle{font-family:var(--font-mono);font-size:clamp(14px,2.5vw,18px);line-height:1.5;color:var(--on-surface-variant);max-width:680px;margin:0 auto;text-align:center}.about-story-section,.about-details-section,.about-skills-section{padding-top:4rem;padding-bottom:4rem;position:relative;z-index:1}.about-grid-two{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gutter)}.about-section-title{font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:600;letter-spacing:-.02em;color:var(--on-surface);margin-bottom:2rem;display:flex;align-items:center;gap:.75rem}.about-text{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--on-surface-variant);margin-bottom:1.5rem}.about-personal-card{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:2.5rem;height:100%;display:flex;flex-direction:column;justify-content:center;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.about-personal-card:hover{transform:translateY(-3px);border-color:var(--on-surface);box-shadow:0 8px 24px #0000000f}.card-headline{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--on-surface);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.card-icon{color:var(--on-tertiary-container)}.card-text{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--on-surface-variant)}.about-card-brutalist{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:2.5rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.about-card-brutalist:hover{transform:translateY(-4px);border-color:var(--on-surface);box-shadow:0 12px 32px #00000014}.about-card-brutalist h3{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--on-surface)}.card-sub{font-family:var(--font-mono);font-size:11px;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em}.card-desc{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--on-surface-variant)}.differentiators-list{display:flex;flex-direction:column;gap:1.5rem}.diff-item{border-left:2px solid var(--outline-variant);padding-left:1.25rem;transition:border-color .2s ease,transform .3s ease,padding-left .3s ease}.diff-item:hover{border-color:var(--on-surface);transform:translate(4px);padding-left:1.5rem}.diff-item strong{display:block;font-family:var(--font-display);font-size:16px;color:var(--on-surface);margin-bottom:.25rem}.diff-item p{font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--on-surface-variant)}.skills-grid-four{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gutter)}.skill-category-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.skill-category-card:hover{transform:translateY(-3px);border-color:var(--on-surface);box-shadow:0 8px 24px #0000000f}.skill-cat-header{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--outline-variant);padding-bottom:.75rem}.skill-cat-icon{font-size:18px;color:var(--on-surface-variant)}.skill-cat-header h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--on-surface)}@media (max-width: 900px){.about-grid-two{grid-template-columns:1fr;gap:2rem}}.intro-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000;z-index:999999;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .8s ease-in-out;pointer-events:all}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-video{height:30vh;object-fit:cover}.header-logo{transition:filter .3s ease}[data-theme=dark] .header-logo{filter:invert(1)}[data-theme=dark] .menu-trigger-btn{border-color:var(--outline)}.menu-trigger-btn{display:flex;align-items:center;gap:.75rem;background:transparent;border:1px solid var(--outline-variant);border-radius:var(--radius-full);padding:.625rem 1.25rem;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--on-surface);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;z-index:1001;overflow:hidden}.menu-trigger-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--surface-container-high);z-index:-1;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.menu-trigger-btn:hover{border-color:var(--on-surface);transform:scale(1.04)}.menu-trigger-btn:hover:before{transform:translateY(0)}.menu-trigger-btn.active{border-color:var(--on-surface);background:var(--on-surface);color:var(--surface)}.menu-trigger-btn.active:before{background:var(--on-surface)}.menu-colon-icon{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:12px;height:12px;transition:transform .4s cubic-bezier(.16,1,.3,1)}.menu-colon-icon .dot{width:4px;height:4px;border-radius:50%;background-color:currentColor;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .3s ease}.menu-trigger-btn.active .menu-colon-icon{transform:rotate(90deg)}.menu-trigger-btn.active .dot-top{transform:translateY(1px) scale(1.1)}.menu-trigger-btn.active .dot-bottom{transform:translateY(-1px) scale(1.1)}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--surface);z-index:999;display:flex;justify-content:center;align-items:center;padding:120px var(--margin-desktop) 60px var(--margin-desktop);border-bottom:2px solid var(--primary)}.menu-content-wrapper{width:100%;max-width:600px;height:100%;display:flex;flex-direction:column;justify-content:space-between}.menu-nav-links{display:flex;flex-direction:column;gap:1.5rem;margin-top:auto;margin-bottom:auto}.menu-nav-item{display:flex;align-items:baseline;font-family:var(--font-display);font-size:clamp(36px,6vw,64px);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--on-surface);transition:transform .3s ease,padding-left .3s ease,color .2s ease;-webkit-user-select:none;user-select:none}.menu-nav-item:hover{padding-left:1rem;color:var(--on-surface-variant);transform:skew(-5deg)}.menu-num{font-family:var(--font-mono);font-size:14px;font-weight:400;color:var(--on-surface-variant);margin-right:1.5rem;letter-spacing:0}.menu-overlay-footer{display:flex;align-items:center;gap:1rem;width:100%;padding-top:2rem;border-top:1px solid var(--outline-variant)}.menu-cv-btn{flex:8;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--primary);color:var(--on-primary);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);border:1px solid var(--outline-variant);cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);text-align:center}.menu-cv-btn:hover{background:var(--tertiary-container);color:var(--on-tertiary-container);border-color:var(--tertiary-container);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.menu-theme-btn-wrapper{flex:2;gap:5px;display:flex;justify-content:center;align-items:center}.menu-theme-btn-wrapper .theme-toggle{display:flex!important;position:static!important;width:52px!important;height:52px!important;border-radius:var(--radius-xl)!important;border:1px solid var(--outline-variant)!important;background:var(--surface-container-low)!important;color:var(--on-surface)!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important}.menu-theme-btn-wrapper .theme-toggle:hover{transform:scale(1.05)!important;background:var(--on-surface)!important;color:var(--surface)!important;border-color:var(--on-surface)!important}.menu-theme-btn-wrapper .language-toggle{display:flex!important;position:static!important;width:52px!important;height:52px!important;border-radius:var(--radius-xl)!important;border:1px solid var(--outline-variant)!important;background:var(--surface-container-low)!important;color:var(--on-surface)!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important}.menu-theme-btn-wrapper .language-toggle:hover{transform:scale(1.05)!important;background:var(--on-surface)!important;color:var(--surface)!important;border-color:var(--on-surface)!important}@media (max-width: 768px){.menu-overlay{padding:100px var(--margin-mobile) 40px var(--margin-mobile)}.menu-nav-links{gap:1rem}.menu-nav-item{font-size:32px}}.btn-primary,.btn-hire,.menu-cv-btn{position:relative;overflow:hidden;transition:color .4s cubic-bezier(.76,0,.24,1),border-color .4s ease,transform .2s ease!important;z-index:1}.btn-primary:after,.btn-hire:after,.menu-cv-btn:after{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:var(--surface-tint);border-radius:50%;transform:translate(-50%,-50%) scale(0);z-index:-1;transition:transform .6s cubic-bezier(.76,0,.24,1)}.btn-primary:hover:after,.btn-hire:hover:after,.menu-cv-btn:hover:after{transform:translate(-50%,-50%) scale(1)}.btn-primary:hover,.btn-hire:hover{color:var(--surface)!important;border-color:var(--on-surface)!important}.horizontal-outer-container{overflow:hidden;position:relative;background-color:var(--surface);height:100vh;width:100%}.horizontal-inner-scroll{display:flex;flex-direction:row;height:100%;width:max-content;align-items:center;padding:0 var(--margin-desktop)}.horizontal-card{height:60%;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;margin-right:80px}.title-card{width:450px;justify-content:flex-start;padding-top:5vh}.scroll-hint{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);opacity:.5}.scroll-hint-arrow{animation:hintSlide 1.8s ease-in-out infinite}@keyframes hintSlide{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(6px);opacity:1}}.project-card-horizontal{width:720px}.project-link-wrapper{display:flex;flex-direction:column;width:100%;height:100%;border:1px solid var(--outline-variant);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-container-lowest);transition:border-color .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}.project-link-wrapper:hover{border-color:var(--on-surface);transform:translateY(-8px)}.project-img-container{flex:1;min-height:0;width:100%;overflow:hidden}.project-img-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-link-wrapper:hover .project-img-container img{transform:scale(1.05)}.project-info-container{flex-shrink:0;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-start;border-top:1px solid var(--outline-variant);background:var(--surface-container-lowest)}.more-projects-card{width:380px;border:1px dashed var(--outline-variant);border-radius:var(--radius-xl);padding:3rem;justify-content:center;align-items:center;text-align:center}@media (max-width: 768px){.horizontal-card{height:70%;margin-right:24px}.title-card{width:240px;padding-top:0;justify-content:center}.project-card-horizontal{width:280px}.project-img-container{flex:1;min-height:0}.more-projects-card{width:240px;padding:1.5rem}}.rich-footer{width:100%;padding:5rem var(--margin-desktop) 2rem;border-top:1px solid var(--outline-variant);background:var(--surface-container-lowest);display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gutter)}.footer-col{display:flex;flex-direction:column;gap:1.5rem}.footer-statement{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--on-surface-variant);max-width:360px}.availability-indicator{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:var(--on-surface)}.availability-dot{width:8px;height:8px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 12px #22c55e;animation:glowPulse 2s infinite alternate}@keyframes glowPulse{0%{transform:scale(.9);opacity:.6;box-shadow:0 0 4px #22c55e}to{transform:scale(1.15);opacity:1;box-shadow:0 0 12px #22c55e}}.footer-col-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant);border-bottom:1px solid var(--outline-variant);padding-bottom:.5rem;margin-bottom:.5rem}.footer-nav-list{display:flex;flex-direction:column;gap:.75rem}.footer-nav-link{font-family:var(--font-body);font-size:13.5px;color:var(--on-surface-variant);transition:color .2s ease,padding-left .2s ease}.footer-nav-link:hover{color:var(--on-surface);padding-left:4px}.footer-social .footer-nav-link{display:inline-flex;align-items:center;gap:.6rem}.footer-social .footer-nav-link svg{font-size:15px}.local-time-box{margin-top:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--on-surface-variant)}.local-time-clock{font-size:18px;font-weight:700;color:var(--on-surface);margin-top:.25rem}.rich-footer-copy{border-top:1px solid var(--outline-variant);padding:1.5rem var(--margin-desktop);background:var(--surface-container-lowest);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--on-surface-variant)}@media (max-width: 768px){.rich-footer{grid-template-columns:1fr;padding:4rem var(--margin-mobile) 2rem;gap:3rem}.rich-footer-copy{padding:1.5rem var(--margin-mobile);flex-direction:column;gap:1rem;text-align:center}}
