@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--white:#fff;--gray-50:#f5f5f5;--gray-200:#dcdcdc;--gray-400:#94a3b8;--slate-900:#0f172a;--slate-950:#0a0e14;--slate-850:#11161f;--slate-800:#1a2030;--slate-700:#2a3344;--orange-500:#f4a460;--orange-600:#e8924a;--orange-400:#f8b978;--blue-500:#4682b4;--blue-600:#3a6f9b;--blue-400:#5a9bd4;--bg-base:var(--gray-50);--bg-surface:var(--white);--bg-subtle:var(--gray-200);--text-primary:var(--slate-900);--text-secondary:#0f172ab3;--text-muted:var(--gray-400);--text-on-accent:var(--white);--white-70:#ffffffb3;--white-08:#ffffff14;--border:var(--gray-200);--border-hover:var(--slate-900);--accent:var(--orange-500);--accent-hover:var(--orange-600);--secondary:var(--blue-500);--secondary-hover:var(--blue-600);--focus-ring:var(--blue-500);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-regular:400;--font-medium:500;--font-bold:700;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--transition:.2s ease;--transition-slow:.4s ease}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:var(--slate-950);--bg-surface:var(--slate-850);--bg-subtle:var(--slate-800);--text-primary:var(--white);--text-secondary:var(--white-70);--text-muted:var(--gray-400);--text-on-accent:var(--slate-900);--border:var(--white-08);--border-hover:var(--white);--accent:var(--orange-500);--accent-hover:var(--orange-400);--secondary:var(--blue-400);--secondary-hover:var(--blue-500);--focus-ring:var(--blue-400);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,system-ui,sans-serif;font-size:var(--text-base);font-weight:var(--font-regular);color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}html{scroll-behavior:smooth;transition:background-color var(--transition), color var(--transition)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html,body{overflow-x:hidden}*,:before,:after{box-sizing:border-box}html,body{width:100%;margin:0;padding:0}.section-container{max-width:1200px;padding:0 var(--space-6);margin:0 auto}.section-title{text-align:center;font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:var(--space-12);line-height:1.1}.section-link{color:inherit;text-decoration:none;transition:all .2s}.section-link.active{color:var(--accent);border-left:3px solid var(--accent);padding-left:var(--space-2);font-weight:700}.theme-toggle{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-full);width:36px;height:36px;font-size:var(--text-base);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:var(--text-primary);background-color:var(--bg-base)}.navbar{width:100%;padding:var(--space-4) 0;background-color:var(--bg-surface);border-bottom:1px solid var(--border);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;top:0;left:0}.nav-container{width:100%;padding:0 var(--space-6);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.nav-container .nav-logo{justify-self:start}.nav-container .nav-links{justify-self:center}.nav-container .theme-toggle{justify-self:end}.nav-logo{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.02em;transition:color var(--transition);text-decoration:none}.nav-logo:hover{color:var(--accent)}.nav-links{gap:var(--space-8);margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:color var(--transition);text-decoration:none}.nav-links a:hover{color:var(--text-primary)}.nav-links a.active{color:var(--accent)}.hamburger{color:var(--text-primary);font-size:var(--text-2xl);cursor:pointer;padding:0 var(--space-2);background:0 0;border:none;display:none}@media (width<=768px){.hamburger{justify-self:start;display:block}.nav-logo{display:none}.nav-container{gap:var(--space-2);grid-template-columns:auto 1fr auto}.nav-links{background-color:var(--bg-surface);border-bottom:1px solid var(--border);width:100%;max-height:0;transition:max-height var(--transition);z-index:1001;flex-direction:column;gap:0;margin:0;padding:0;position:absolute;top:100%;left:0;right:0;overflow:hidden auto}.nav-links.open{max-height:calc(100vh - var(--nav-offset))}.nav-links li{border-top:1px solid var(--border);padding:1rem 1.5rem}.nav-links a{width:100%;display:block}}.hero{min-height:100vh;padding:var(--space-24) var(--space-6) var(--space-16);background-color:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero-content{justify-content:center;align-items:center;gap:var(--space-16);flex-wrap:wrap;width:100%;max-width:1100px;animation:.6s ease-out fadeInUp;display:flex}.hero-image{flex-shrink:0}.profile-pic{border-radius:var(--radius-full);object-fit:cover;object-position:top;border:4px solid var(--bg-surface);width:280px;height:280px;box-shadow:var(--shadow-lg)}.hero-text{text-align:left;max-width:540px}.hero-text h1{font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:var(--space-3);line-height:1.1}.hero-text .hero-location{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--font-medium);letter-spacing:.02em}.hero-text h2{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-6)}.hero-text p{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-8);line-height:1.6}.highlight{color:var(--accent)}.cta-button{padding:var(--space-3) var(--space-8);background-color:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition);text-decoration:none;display:inline-block}.cta-button:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-button-secondary{color:var(--accent);border:1px solid var(--accent);background-color:#0000}.cta-button-secondary:hover{background-color:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.hero-cta-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-socials{gap:var(--space-2);margin-top:var(--space-8);display:flex}.hero-socials a{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-muted);border:1px solid var(--border);transition:all var(--transition);justify-content:center;align-items:center;display:inline-flex}.hero-socials a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.hero-socials a svg{font-size:var(--text-lg)}.home-stats{padding:var(--space-20) var(--space-6);background-color:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-stats h2{text-align:center;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin:0 0 var(--space-10)}.home-stats-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto;display:grid}@media (width<=768px){.home-stats{padding:var(--space-12) var(--space-4)}.home-stats-grid{gap:var(--space-3);grid-template-columns:1fr}}.featured-project{padding:var(--space-24) var(--space-6);background-color:var(--bg-base);border-bottom:1px solid var(--border)}.featured-project-inner{gap:var(--space-12);grid-template-columns:1.1fr 1fr;align-items:center;max-width:1200px;margin:0 auto;display:grid}.featured-project-media{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);background-color:var(--bg-surface);overflow:hidden}.featured-project-media .project-video{aspect-ratio:16/9;border:0;width:100%;display:block}.featured-project-content{gap:var(--space-4);flex-direction:column;display:flex}.featured-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--accent);text-transform:uppercase;letter-spacing:.15em}.featured-project-content h2{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.02em;margin:0;line-height:1.1}.featured-role{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;margin:0}.featured-tagline{color:var(--text-secondary);font-size:var(--text-base);margin:0;line-height:1.6}.featured-stats{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.featured-project-content .cta-button{margin-top:var(--space-2);align-self:flex-start}@media (width<=900px){.featured-project{padding:var(--space-16) var(--space-4)}.featured-project-inner{gap:var(--space-8);grid-template-columns:1fr}.featured-project-content h2{font-size:var(--text-3xl)}.featured-stats{gap:var(--space-2)}}.experience{max-width:1800px;padding:var(--space-24) var(--space-6);gap:var(--space-12);flex-direction:column;margin:0 auto;display:flex}.experience-header{text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.experience-header h1{font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.03em;margin:0;line-height:1.1}.experience-subhead{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.live-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:#4ade80;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.12em;text-transform:uppercase;background:#22c55e1a;border:1px solid #22c55e59;display:inline-flex}.live-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 6px #22c55e00}}.experience-stats{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.section-eyebrow{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--accent);text-transform:uppercase;letter-spacing:.2em;display:block}.experience-grid{gap:var(--space-8);grid-template-columns:2fr 1fr;align-items:start;display:grid}.role-spotlight{padding:var(--space-8);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-6);flex-direction:column;display:flex;position:relative;overflow:hidden}.role-spotlight:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.role-spotlight h2{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.02em;margin:0;line-height:1.2}.role-spotlight h2 .at{color:var(--text-muted);font-weight:var(--font-medium)}.role-meta{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.role-section{gap:var(--space-4);flex-direction:column;display:flex}.role-section h3{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin:0}.contributions-numbered{counter-reset:contrib;gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contributions-numbered li{counter-increment:contrib;gap:var(--space-3);color:var(--text-secondary);grid-template-columns:40px 1fr;align-items:start;line-height:1.5;display:grid}.contributions-numbered li:before{content:counter(contrib, decimal-leading-zero);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--accent);letter-spacing:-.02em;line-height:1.1}.role-spotlight .cta-button{margin-top:var(--space-2);align-self:flex-start}.experience-sidebar{gap:var(--space-6);flex-direction:column;display:flex}.sidebar-card{padding:var(--space-5) var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);gap:var(--space-4);flex-direction:column;display:flex}.mini-arc{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mini-arc-event{gap:var(--space-3);padding-bottom:var(--space-4);grid-template-columns:16px 1fr;display:grid;position:relative}.mini-arc-event:last-child{padding-bottom:0}.mini-arc-event:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:18px;bottom:-2px;left:7px}.mini-arc-dot{background:var(--accent);border:2px solid var(--bg-surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);z-index:2;border-radius:50%;margin-top:4px;position:relative}.mini-arc-dot-pulsing{background:#22c55e;animation:2s ease-in-out infinite pulse-glow;box-shadow:0 0 0 1px #22c55e}.mini-arc-info{flex-direction:column;gap:2px;display:flex}.mini-arc-date{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.mini-arc-event-active .mini-arc-date{color:#4ade80}.mini-arc-label{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4}.sidebar-card.now-card{align-items:flex-start;gap:var(--space-4);flex-direction:row}.now-icon{font-size:var(--text-3xl);color:var(--accent);flex-shrink:0;line-height:1;animation:14s linear infinite spin-slow}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.now-content{gap:var(--space-1);flex-direction:column;display:flex}.now-label{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--accent);text-transform:uppercase;letter-spacing:.2em}.now-card p{font-size:var(--text-sm);color:var(--text-primary);margin:0;line-height:1.5}.role-tech{gap:var(--space-2);flex-wrap:wrap;display:flex}.experience-cta{justify-content:center;display:flex}.role-spotlight,.sidebar-card{transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition)}.role-spotlight:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.sidebar-card:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.experience>*{animation:.5s ease-out backwards fadeInUp}.experience>.experience-header{animation-delay:0s}.experience>.experience-stats{animation-delay:.1s}.experience>.experience-grid{animation-delay:.2s}.experience>.experience-cta{animation-delay:.3s}@media (width<=900px){.experience{gap:2rem;padding:5rem 1.5rem 3rem}.experience-header h1{font-size:var(--text-4xl)}.experience-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.experience-grid{grid-template-columns:1fr;gap:1.5rem}.role-spotlight{padding:1.5rem}.role-spotlight h2{font-size:var(--text-xl)}.sidebar-card{padding:1.25rem}.now-icon{font-size:var(--text-2xl)}}@media (width<=480px){.experience{gap:1.5rem;padding:5rem 1rem 2.5rem}.experience-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.role-spotlight{padding:1.25rem}.role-spotlight h2{font-size:var(--text-lg);line-height:1.3}.role-section h3{font-size:.65rem}.contributions-numbered li{grid-template-columns:32px 1fr;gap:.5rem}.contributions-numbered li:before{font-size:var(--text-lg)}.sidebar-card{padding:1rem 1.25rem}.now-card{gap:.75rem}}.scroll-indicator{bottom:var(--space-8);align-items:center;gap:var(--space-2);color:var(--text-muted);opacity:.6;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-indicator span{border-bottom:2px solid var(--text-muted);border-right:2px solid var(--text-muted);width:12px;height:12px;display:block;transform:rotate(45deg)}.scroll-indicator p{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin:0}.skills{padding:var(--space-24) var(--space-6);background-color:var(--bg-surface);border-top:1px solid var(--border)}.skills .section-container{gap:var(--space-12);flex-direction:column;display:flex}.skills-header{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.skills-header h2{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.03em;margin:0;line-height:1.1}.skills-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0;font-style:italic}.skills-stats{gap:var(--space-4);grid-template-columns:repeat(3,1fr);width:100%;max-width:900px;margin:0 auto;display:grid}.skills-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.skill-category{perspective:1000px;cursor:pointer;outline:none;position:relative}.skill-category:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-lg)}.flip-affordance{top:var(--space-4);right:var(--space-4);z-index:3;color:var(--text-muted);font-size:var(--text-base);opacity:.45;pointer-events:none;transition:opacity var(--transition), transform .5s ease, color var(--transition);position:absolute}.skill-category:hover .flip-affordance{opacity:1;color:var(--accent);transform:rotate(180deg)}.skill-category.flipped .flip-affordance{opacity:1;color:var(--accent);transform:rotate(360deg)}.skill-card-inner{height:100%;transform-style:preserve-3d;transition:transform .6s;display:grid}.skill-category.flipped .skill-card-inner{transform:rotateY(180deg)}.skill-card-face{background-color:var(--bg-base);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border);backface-visibility:hidden;transition:border-color var(--transition), box-shadow var(--transition);grid-area:1/1}.skill-category:hover .skill-card-face{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.skill-card-back{transform:rotateY(180deg)}.skill-category h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-6);align-items:center;gap:var(--space-3);display:flex}.skill-category-icon{color:var(--accent);font-size:var(--text-xl);flex-shrink:0}.skill-category ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.skill-category li{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--border);transition:all var(--transition);cursor:default;display:inline-flex}.skill-category li svg{font-size:var(--text-base)}.skill-category li:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-1px)}.skill-experience{gap:var(--space-2);flex-direction:column;display:flex}.skill-experience-row{padding:var(--space-2) var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:space-between;align-items:center;display:flex}.skill-experience-row .years{color:var(--accent);font-weight:var(--font-bold)}.skills .section-container>*{animation:.5s ease-out backwards fadeInUp}.skills .section-container>.skills-header{animation-delay:0s}.skills .section-container>.skills-stats{animation-delay:.1s}.skills .section-container>.skills-grid{animation-delay:.2s}.skills-grid .skill-category{animation:.5s ease-out backwards fadeInUp}.skills-grid .skill-category:first-child{animation-delay:.25s}.skills-grid .skill-category:nth-child(2){animation-delay:.35s}.skills-grid .skill-category:nth-child(3){animation-delay:.45s}.skills-grid .skill-category:nth-child(4){animation-delay:.55s}@media (width<=768px){.skills{padding:7rem 1rem 4rem}.skills .section-container{gap:2rem}.skills-header h2{font-size:var(--text-3xl)}.skills-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.skills-grid{grid-template-columns:1fr;gap:1rem}.skill-card-face{padding:1.25rem}.skill-category h3{margin-bottom:1rem;font-size:1rem}.skill-category li{padding:.375rem .625rem;font-size:.8125rem}.skill-experience{grid-template-columns:1fr 1fr;align-content:start;gap:.5rem;display:grid}.skill-experience>h3{grid-column:1/-1;margin:0 0 .25rem;font-size:.875rem}.skill-experience-row{padding:.375rem .625rem;font-size:.75rem}.flip-affordance{opacity:.85;color:var(--accent);top:.875rem;right:.875rem}}@media (hover:none){.skill-category:hover .skill-card-face{border-color:var(--border);box-shadow:none}.skill-category:hover .flip-affordance{transform:none}}.projects{padding:var(--space-24) var(--space-6);background-color:var(--bg-base);border-top:1px solid var(--border)}.projects-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));display:grid}.project-card{background-color:var(--bg-surface);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition);gap:var(--space-4);color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative}.project-card:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.project-card h3{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0}.project-image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);width:100%;display:block}.project-hero{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);overflow:hidden}.project-hero .project-image{aspect-ratio:auto;object-fit:cover;object-position:top;border-radius:0;max-height:380px}.project-hero .project-video{aspect-ratio:16/9;border:0;width:100%;display:block}.project-stats{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:repeat(3,1fr);display:grid}.stat-tile{padding:var(--space-5) var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;transition:all var(--transition)}.stat-tile:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--accent);letter-spacing:-.02em;line-height:1.1}.stat-label{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.nda-badge{padding:var(--space-1) var(--space-3);background-color:var(--bg-base);color:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);align-self:flex-start;display:inline-block}.project-role{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;margin:0}.project-description{color:var(--text-secondary);margin:0;line-height:1.6}.project-highlights{padding-left:var(--space-4);color:var(--text-secondary);margin:0;line-height:1.7}.project-highlights li{margin-bottom:var(--space-1)}.project-tech{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.tech-item{padding:var(--space-1) var(--space-3);background-color:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.project-links{padding-top:var(--space-3);gap:var(--space-3);flex-wrap:wrap;margin-top:auto;display:flex}.project-links a{color:var(--secondary);font-weight:var(--font-medium);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);text-decoration:none}.project-links a:hover{background-color:var(--secondary);color:var(--text-on-accent);border-color:var(--secondary)}.private-note{color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.project-detail{max-width:1400px;padding:var(--space-24) var(--space-6);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.project-detail>*{animation:.5s ease-out backwards fadeInUp}.project-detail>.back-link{animation-delay:0s}.project-detail>.project-hero{animation-delay:.1s}.project-detail>.project-header{animation-delay:.2s}.project-detail>.project-stats{animation-delay:.3s}.project-detail>.project-detail-grid{animation-delay:.4s}.back-link{align-self:flex-start;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition);text-decoration:none;display:inline-flex}.back-link svg{transition:transform var(--transition)}.back-link:hover{color:var(--accent);border-color:var(--accent)}.back-link:hover svg{transform:translate(-3px)}.project-detail-grid{gap:var(--space-12);grid-template-columns:2fr 1fr;align-items:start;display:grid}.project-main{gap:var(--space-10);flex-direction:column;display:flex}.project-main section{gap:var(--space-3);flex-direction:column;display:flex}.project-main h2{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.02em;padding-left:var(--space-4);margin:0;position:relative}.project-main h2:before{content:"";background-color:var(--accent);border-radius:var(--radius-full);width:4px;position:absolute;top:.25em;bottom:.25em;left:0}.project-main p{color:var(--text-secondary);margin:0;line-height:1.7}.project-main ul{padding-left:var(--space-6);color:var(--text-secondary);margin:0;line-height:1.7;list-style:none}.project-main ul li{margin-bottom:var(--space-2);position:relative}.project-main ul li:before{content:"▸";left:calc(-1 * var(--space-6));width:var(--space-5);color:var(--accent);font-weight:var(--font-bold);position:absolute}.project-sidebar{top:var(--space-20);align-self:start;gap:var(--space-6);padding:var(--space-6);background-color:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);flex-direction:column;display:flex;position:sticky;box-shadow:0 8px 24px -8px #00000040,0 0 0 1px #ffa5000d}.sidebar-block{gap:var(--space-3);flex-direction:column;display:flex}.sidebar-block h3{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0}.sidebar-block p{color:var(--text-primary);font-weight:var(--font-medium);margin:0}@media (width<=768px){.projects{padding:var(--space-16) var(--space-4)}.projects-grid{gap:var(--space-4);grid-template-columns:1fr}.project-card{padding:var(--space-6)}}.contact{padding:var(--space-24) var(--space-6);background-color:var(--bg-surface);border-top:1px solid var(--border)}.contact-links{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.contact-links a{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background-color:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition);text-decoration:none;display:inline-flex}.contact-links a:hover{border-color:var(--text-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.contact-form{background-color:var(--bg-base);max-width:560px;padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.contact-form label{gap:var(--space-2);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);flex-direction:column;display:flex}.contact-form input,.contact-form textarea{padding:var(--space-3) var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--transition), box-shadow var(--transition);font-family:inherit}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--focus-ring);outline:none;box-shadow:0 0 0 3px #4682b426}.contact-form textarea{resize:vertical;min-height:120px}.contact-form button{padding:var(--space-3) var(--space-8);background-color:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);border:none}.contact-form button:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.success-message{text-align:center;margin-top:var(--space-4);color:var(--accent);font-size:var(--text-base);font-weight:var(--font-medium)}.error-message{text-align:center;margin-top:var(--space-4);color:#ef4444;font-size:var(--text-base);font-weight:var(--font-medium)}.contact-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.6;cursor:not-allowed}.resume-page{min-height:100vh;padding:var(--space-24) var(--space-6) var(--space-12);background-color:var(--bg-base)}.resume-shell{gap:var(--space-6);flex-direction:column;max-width:1100px;margin:0 auto;display:flex}.resume-topbar{justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding:var(--space-6);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex}.resume-title-group{gap:var(--space-2);flex-direction:column;display:flex}.resume-eyebrow{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin:0}.resume-title-group h1{font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:-.03em;color:var(--text-primary);margin:0;line-height:1.05}.resume-subtitle{max-width:560px;font-size:var(--text-base);color:var(--text-secondary);margin:0;line-height:1.6}.download-btn{justify-content:center;align-items:center;gap:var(--space-2);min-width:190px;padding:var(--space-3) var(--space-6);background-color:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);border:none;display:inline-flex}.download-btn:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.download-btn:active{transform:translateY(0)}.download-btn:focus-visible,.pagination-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pdf-viewer-container{align-items:center;gap:var(--space-5);padding:var(--space-6);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.pdf-loading,.pdf-error{width:100%;padding:var(--space-8);text-align:center;font-size:var(--text-base);border-radius:var(--radius-md)}.pdf-loading{color:var(--text-secondary);background-color:var(--bg-base)}.pdf-error{color:#ef4444;background-color:#ef444414;border:1px solid #ef444433}.pdf-viewer-container .react-pdf__Document{justify-content:center;width:100%;display:flex}.pdf-viewer-container .react-pdf__Page{border-radius:var(--radius-md);max-width:100%;box-shadow:var(--shadow-lg);background:#fff;overflow:hidden}.pdf-viewer-container .react-pdf__Page canvas{max-width:100%;display:block;height:auto!important}.pdf-viewer-container .react-pdf__Page__textContent,.pdf-viewer-container .react-pdf__Page__annotations{border-radius:var(--radius-md)}.pdf-pagination{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;width:100%;display:flex}.page-info{text-align:center;min-width:140px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.pagination-btn{padding:var(--space-2) var(--space-4);background-color:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition)}.pagination-btn:hover:not(:disabled){background-color:var(--accent);color:var(--text-on-accent);border-color:var(--accent);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=900px){.resume-page{padding:5rem 1.5rem 3rem}.resume-topbar{align-items:flex-start}.resume-title-group h1{font-size:var(--text-4xl)}}@media (width<=640px){.resume-page{padding:5rem 1rem 2.5rem}.resume-shell{gap:var(--space-4)}.resume-topbar{padding:var(--space-5);gap:var(--space-4)}.resume-title-group h1{font-size:var(--text-3xl)}.resume-subtitle{font-size:var(--text-sm)}.download-btn{width:100%}.pdf-viewer-container{padding:var(--space-3)}.pdf-pagination{gap:var(--space-2)}.pagination-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.page-info{width:100%;min-width:auto}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}
