.navbar{position:fixed;top:0;left:0;right:0;z-index:50;background:hsl(222.2,84%,4.9% / .9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.navbar-scrolled{box-shadow:0 4px 24px #0006}.navbar-inner{max-width:960px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-size:1.25rem;font-weight:700;color:var(--primary);cursor:default;letter-spacing:-.01em;white-space:nowrap}.navbar-links{display:flex;gap:1.5rem;align-items:center;margin-left:6rem}.nav-link{position:relative;color:var(--muted-foreground);text-decoration:none;font-size:.875rem;line-height:1.25rem;transition:color .2s cubic-bezier(.4,0,.2,1)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-link:hover{color:var(--primary)}.nav-link:hover:after{width:100%}.nav-link-btn{background:none;border:none;cursor:pointer;padding:0;font-size:inherit;font-family:inherit}.navbar-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.navbar-hamburger span{display:block;width:22px;height:2px;background:var(--muted-foreground);border-radius:2px}.navbar-mobile-menu{display:flex;flex-direction:column;padding:.75rem 1.5rem 1rem;gap:.875rem;border-top:1px solid var(--border)}@media (max-width: 768px){.navbar-links{display:none}.navbar-hamburger{display:flex}}section{padding:5rem 0}.section-heading{display:flex;align-items:center;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--foreground);margin-bottom:1.5rem;letter-spacing:-.01em}.section-heading:before{content:"";flex-shrink:0;width:3rem;height:1px;background:var(--primary);margin-right:1rem}#about{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:8rem}.about-name{font-size:2.25rem;line-height:2.5rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.025em}@media (min-width: 768px){.about-name{font-size:3rem;line-height:1}}.about-title{font-size:1.5rem;line-height:2rem;font-weight:600;color:var(--primary);margin-bottom:1.5rem}@media (min-width: 768px){.about-title{font-size:1.875rem;line-height:2.25rem}}.about-desc{font-size:1.125rem;line-height:1.75rem;color:var(--muted-foreground);max-width:42rem;margin-bottom:2rem}@media (min-width: 768px){.about-desc{font-size:1.25rem;line-height:1.75rem}}.about-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.75rem;padding:0 2rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);color:var(--foreground);font-size:.875rem;font-weight:500;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.btn-outline:hover{background:var(--secondary);color:var(--foreground)}.btn-icon{width:1rem;height:1rem;flex-shrink:0}.experience-card{position:relative;padding-left:2rem;margin-bottom:3rem}.experience-card:before{content:"";position:absolute;left:0;top:.35rem;width:.75rem;height:.75rem;border-radius:9999px;border:2px solid var(--primary);background:var(--background)}.experience-card h3{font-size:1.25rem;line-height:1.75rem;font-weight:600;margin-bottom:.5rem;color:var(--foreground)}.experience-card .card-company{font-size:1rem;color:var(--primary);margin-bottom:.5rem}.experience-card ul{list-style:disc;list-style-position:inside;color:var(--muted-foreground);display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;line-height:1.6}.experience-card p{color:var(--muted-foreground);font-size:.9375rem;margin-bottom:.375rem}.experience-card .card-period{font-size:.875rem;color:var(--muted-foreground)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 640px){.skills-grid{grid-template-columns:1fr}}.skill-card{background:hsl(217.2,32.6%,17.5% / .2);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.skill-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--foreground)}.skill-card-header svg{width:1.25rem;height:1.25rem;flex-shrink:0}.skill-card-header h3{font-size:1.125rem;line-height:1.75rem;font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-block;padding:.25rem .75rem;background:var(--secondary);color:hsl(210,40%,98% / .8);border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:400;white-space:nowrap}.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 768px){.awards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.awards-grid{grid-template-columns:1fr}}.award-card{background:hsl(217.2,32.6%,17.5% / .2);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.award-card svg{width:2rem;height:2rem;color:var(--primary);margin-bottom:1rem}.award-card h3{font-size:1.125rem;line-height:1.75rem;font-weight:600;margin-bottom:.5rem;color:var(--foreground)}.award-card p{font-size:.9375rem;color:var(--muted-foreground)}.cards-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 580px){.cards-grid-2{grid-template-columns:1fr}}.leadership-list{list-style:disc;list-style-position:inside;color:var(--muted-foreground);display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;line-height:1.75}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;color:var(--foreground);text-decoration:none;transition:color .2s cubic-bezier(.4,0,.2,1)}.contact-link:hover{color:var(--primary)}.contact-link svg{width:1.25rem;height:1.25rem;flex-shrink:0}.site-footer{border-top:1px solid var(--border);padding:2rem 1.5rem;text-align:center;color:var(--muted-foreground);font-size:.875rem;line-height:1.25rem;max-width:960px;margin:0 auto}.projects-open-btn{background:var(--primary);color:#020817;border:none;border-radius:.375rem;padding:0 2rem;height:2.75rem;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1)}.projects-open-btn:hover{background:var(--primary-hover)}.website-content{width:100%;display:flex;flex-direction:column;gap:1.25rem;font-family:inherit}.website-arch-intro{font-size:.9375rem;color:var(--muted-foreground);line-height:1.6;text-align:left}.website-arch-intro a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.website-arch-title{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--foreground);text-align:left;margin-bottom:.25rem}.arch-tier{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:.5rem;overflow-x:auto;overflow-y:visible}.arch-tier-label{writing-mode:vertical-lr;transform:rotate(180deg);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);background:#151c29;padding:1rem .5rem;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border);min-width:2rem}.arch-tier-body{flex:1;display:flex;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;background:#0e131b;min-width:max-content}.arch-node{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#192d4d;border:1px solid var(--primary);border-radius:.5rem;padding:.875rem 1rem;min-width:110px;text-align:center}.arch-node-icon svg{width:2rem;height:2rem;color:var(--primary)}.arch-node-label{font-size:.875rem;font-weight:600;color:var(--foreground);line-height:1.2}.arch-node-sublabel{font-size:.7rem;color:var(--muted-foreground);line-height:1.2}.arch-node-tags{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin-top:.25rem}.arch-arrow{display:flex;align-items:center;gap:0;flex:1;min-width:24px;color:var(--primary)}.arch-arrow-line{flex:1;height:1px;background:var(--primary);opacity:.6}.arch-arrow-head{font-size:1.1rem;line-height:1;opacity:.9}.arch-arrow-left{margin-right:-2px}.arch-tag{display:inline-block;padding:.15rem .5rem;background:var(--secondary);color:#c9d9e8;border-radius:9999px;font-size:.68rem;white-space:nowrap;border:1px solid var(--border)}.arch-patterns{border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;background:#0e131b}.arch-patterns-title{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.75rem}.arch-patterns-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}.arch-pattern-card{display:flex;flex-direction:column;gap:.2rem;background:#192d4d;border:1px solid var(--border);border-radius:.375rem;padding:.625rem .75rem}.arch-pattern-icon{font-size:1rem;color:var(--primary)}.arch-pattern-label{font-size:.8rem;font-weight:600;color:var(--foreground)}.arch-pattern-desc{font-size:.72rem;color:var(--muted-foreground);line-height:1.4}.arch-meta-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.arch-meta-card{border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;background:#0e131b}.arch-meta-title{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--foreground);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.06em}.arch-meta-title svg{width:1rem;height:1rem;color:var(--primary);flex-shrink:0}.arch-meta-tags{display:flex;flex-wrap:wrap;gap:.375rem}@media (max-width: 680px){.arch-tier-body{flex-direction:column}.arch-arrow{transform:rotate(90deg);width:24px;flex:none}.arch-patterns-row,.arch-meta-row{grid-template-columns:1fr}}.projects-page{min-height:100vh;background:var(--background);color:var(--foreground);padding:2rem 1.5rem;box-sizing:border-box;max-width:960px;margin:0 auto;font-family:ui-sans-serif,system-ui,sans-serif}.projects-page-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}.projects-back-btn{background:var(--secondary);color:var(--foreground);border:1px solid var(--border);border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.projects-back-btn:hover{border-color:var(--primary);color:var(--primary)}.projects-page-title{font-size:1.5rem;font-weight:700;color:var(--foreground);letter-spacing:-.01em}.projects-layout{display:flex;gap:1.5rem;align-items:flex-start}.projects-sidebar{display:flex;flex-direction:column;gap:.5rem;min-width:200px;flex-shrink:0}.project-item-btn{background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border);border-radius:.375rem;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.project-item-btn:hover,.project-item-btn.active{background:var(--secondary);color:var(--primary);border-color:var(--primary)}.projects-content{flex:1;background:hsl(217.2,32.6%,17.5% / .2);border:1px solid var(--border);border-radius:.5rem;min-height:420px;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto}.project-image{max-width:100%;max-height:70vh;border-radius:.375rem;object-fit:contain}.projects-placeholder{color:var(--muted-foreground);font-size:.9375rem;text-align:center}@media (max-width: 600px){.projects-layout{flex-direction:column}.projects-sidebar{flex-direction:row;flex-wrap:wrap;min-width:unset}}.smart-city-project-view{width:100%;display:flex;flex-direction:column;gap:1.5rem}.smart-city-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%}.smart-city-gallery-img{width:100%;height:auto;border-radius:.375rem;border:1px solid var(--border);display:block}@media (max-width: 600px){.smart-city-gallery{grid-template-columns:1fr}}:root{--background: hsl(222.2, 84%, 4.9%);--foreground: hsl(210, 40%, 98%);--primary: hsl(217.2, 91.2%, 59.8%);--primary-hover: hsl(217.2, 91.2%, 72%);--secondary: hsl(217.2, 32.6%, 17.5%);--secondary-bg: hsl(217.2, 32.6%, 17.5% / .6);--muted-foreground: hsl(215, 20.2%, 65.1%);--border: hsl(217.2, 32.6%, 17.5%);--card-bg: hsl(217.2, 32.6%, 17.5% / .2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background:var(--background);color:var(--foreground);min-height:100vh;line-height:1.6;font-size:1rem}.App{max-width:960px;margin:0 auto;padding:0 1.5rem 4rem}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.animate-fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.animate-fade-left{opacity:0;transform:translate(-20px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.animate-fade{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1)}.animate-visible{opacity:1!important;transform:none!important}
