:root{color:#172033;background:#f4f7fb;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;color:#172033;background:radial-gradient(circle at top right,#eff6ff,#f4f7fb 40%,#f4f7fb)}a{color:#1e40af;text-decoration:none}a:hover{text-decoration:underline}#root{min-height:100vh}.site-shell{display:flex;flex-direction:column;min-height:100vh}.container{width:min(960px,100% - 2rem);margin:0 auto}.site-header{background:linear-gradient(145deg,#0b1220,#0f1b33 60%,#1c2f53);color:#e2e8f0;padding:2.25rem 0 1.75rem;border-bottom:1px solid #1f365f}.site-title{margin:0;font-size:2.1rem;letter-spacing:.02em}.site-tagline{margin:.5rem 0 1rem;color:#d5deed;max-width:65ch}.header-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.95rem}.header-link{color:#bfdbfe;text-decoration:underline}.header-link:hover{color:#dbeafe}.main-nav{display:flex;gap:.75rem;flex-wrap:wrap}.nav-link{color:#d6deee;padding:.38rem .68rem;border-radius:.5rem;border:1px solid #2f4770}.nav-link:hover{background:#172843;border-color:#2f4770;text-decoration:none}.nav-link-active{background:#2e5fb8;color:#fff;border-color:#5e84cb}.site-main{flex:1;padding:2rem 0 2.35rem}.page h2{margin-top:0;margin-bottom:.65rem;color:#0f172a;font-size:1.95rem;line-height:1.2}.lead{color:#2f4058;margin-bottom:1.25rem;font-size:1.08rem}.kicker{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:#385b95;font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0 1.5rem}.card{background:#fff;border:1px solid #d7e2ef;border-radius:.95rem;padding:1.05rem;box-shadow:0 4px 14px #0f172a0a}.card h3{margin-top:0;color:#0f172a}.button{display:inline-block;border:1px solid #2f67c9;color:#1c4aa5;padding:.48rem .9rem;border-radius:.5rem;font-weight:600}.button:hover{text-decoration:none;background:#eaf1ff}.button-primary{background:#2b5fb7;color:#fff;border-color:#2b5fb7}.button-primary:hover{background:#254f98}.button-light{background:#e7f0ff1a;border-color:#a0bae8a6;color:#e3ecff}.button-light:hover{background:#e7f0ff33}.project-list{display:grid;gap:1rem}.project-card ul{padding-left:1.2rem}.project-card li{margin:.4rem 0}.resume-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.resume-content{margin-top:1rem}.resume-content h1,.resume-content h2,.resume-content h3{color:#0f172a}.resume-content h1{font-size:1.5rem}.resume-content h2{font-size:1.2rem;border-bottom:1px solid #e2e8f0;padding-bottom:.25rem}.resume-content ul{padding-left:1.2rem}.contact-list{list-style:none;margin:0;padding:0}.contact-list li{margin-bottom:.75rem}.about-intro{display:grid;grid-template-columns:160px 1fr;gap:1.1rem;align-items:center;margin-bottom:1rem}.about-intro h3{margin:.2rem 0 .55rem}.about-intro p:last-child{margin-bottom:0}.about-profile-photo{width:160px;height:160px;border-radius:999px;object-fit:cover;border:3px solid #d8e3f1}.about-personal{margin-top:.25rem}.about-personal p:last-child{margin-bottom:0}.about-site{margin-top:1rem}.site-footer{border-top:1px solid #d4ddea;color:#4b5f79;background:#fff;padding:1rem 0}@media (max-width: 640px){.site-title{font-size:1.8rem}.page h2{font-size:1.6rem}.about-intro{grid-template-columns:1fr}.about-profile-photo{width:128px;height:128px}}
