html:has(body.homepage-light){background:#fff}body.homepage-light{background:#fff;color:#1a1a2e}.homepage-main{min-height:calc(100vh - 120px)}.section-container{max-width:1100px;margin:0 auto;padding:0 2rem}.section-title{font-family:var(--font-sans);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#1a1a2e;margin-bottom:2.5rem;margin-top:0}body.homepage-light .section-title:after{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-up.visible{opacity:1;transform:translateY(0)}.hero{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(103,65,217,.06) 0%,transparent 65%),#fafafa;animation:fadeInUp .8s ease-out forwards}.hero-content{max-width:720px;padding:2rem;position:relative;z-index:1}.hero-name{font-family:var(--font-sans);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:#1a1a2e;margin:0 0 1rem;line-height:1.1;letter-spacing:-.02em}.hero-subtitle{font-family:var(--font-mono);font-size:clamp(.9rem,2vw,1.1rem);color:#6b7280;margin:0 0 1rem;letter-spacing:.02em}.hero-tagline{font-family:var(--font-sans);font-size:clamp(1rem,2vw,1.15rem);color:#4b5563;margin:0 0 2.5rem;line-height:1.6}.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.btn{display:inline-block;padding:.75rem 1.75rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.95rem;font-weight:600;text-decoration:none;transition:var(--transition-base);cursor:pointer}.btn:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-md)!important}.btn-primary{background:var(--primary-purple)!important;color:#fff!important;border:2px solid var(--primary-purple)}.btn-primary:hover{background:var(--primary-purple-hover)!important;border-color:var(--primary-purple-hover);color:#fff!important}.btn-secondary{background:transparent!important;color:var(--primary-purple)!important;border:2px solid var(--primary-purple)}.btn-secondary:hover{background:#6741d914!important;color:var(--primary-purple-dark)!important;border-color:var(--primary-purple-dark)}.hero-links{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.hero-links a{color:#6b7280!important;font-family:var(--font-sans);font-size:.9rem;background:none!important;box-shadow:none!important}.hero-links a:hover{color:var(--primary-purple)!important;background:none!important;transform:none!important;box-shadow:none!important}.hero-links-sep{color:#d1d5db;font-size:.85rem;display:inline}.skills-snapshot{padding:5rem 0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.skill-card{background:#f9f9fb;border:1px solid rgba(0,0,0,.07);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.skill-card:hover{border-color:#6741d959;box-shadow:0 2px 12px #6741d914}.skill-category{display:block;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--primary-purple);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.skill-items{font-family:var(--font-sans);font-size:.9rem;color:#4b5563;margin:0;line-height:1.5}.featured-projects{padding:5rem 0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.project-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.project-card:hover{transform:translateY(-2px);border-color:#6741d966;box-shadow:0 8px 24px #6741d91a}.project-header{display:flex;flex-direction:column;gap:.4rem}.project-category{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--primary-purple);text-transform:uppercase;letter-spacing:.08em}.project-title{font-family:var(--font-sans);font-size:1.05rem;font-weight:600;color:#1a1a2e;margin:0;line-height:1.35}.project-description{font-family:var(--font-sans);font-size:.9rem;color:#4b5563;margin:0;line-height:1.6;flex:1}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem}.tech-tag{font-family:var(--font-mono);font-size:.75rem;color:var(--primary-purple-light);background:#6741d91a;border:1px solid rgba(103,65,217,.3);border-radius:var(--radius-sm);padding:.2rem .5rem}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;border-top:1px solid rgba(0,0,0,.07);padding-top:.75rem}.project-link{font-family:var(--font-sans);font-size:.8rem;color:#6b7db3!important;padding:.1em 0!important;background:none!important;border-bottom:1px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.project-link:hover{color:var(--primary-purple-light)!important;border-bottom-color:var(--primary-purple-light);background:none!important;transform:none!important;box-shadow:none!important}.projects-footer{text-align:center;margin-top:1rem}.see-all-link{font-family:var(--font-sans);font-size:.95rem;color:var(--primary-purple)!important;padding:.5rem 1.25rem!important;border:1px solid rgba(103,65,217,.3);border-radius:var(--radius-md);background:none!important;transition:border-color var(--transition-base),background var(--transition-base),color var(--transition-base)}.see-all-link:hover{background:#6741d91a!important;border-color:#6741d999;color:var(--primary-purple-light)!important;transform:none!important}.personal-blurb{padding:5rem 0 6rem;text-align:center}.blurb-text{font-family:var(--font-sans);font-size:clamp(1rem,2vw,1.1rem);color:#4b5563;max-width:640px;margin:0 auto 2rem;line-height:1.7}.blurb-link{font-family:var(--font-sans);font-size:.95rem;color:var(--primary-purple)!important;background:none!important;padding:.2em .4em;transition:color var(--transition-base)}.blurb-link:hover{color:var(--primary-purple-light)!important;background:none!important;transform:translateY(-1px)!important;box-shadow:none!important}@media (max-width: 768px){.section-container{padding:0 1.25rem}.skills-snapshot,.featured-projects,.personal-blurb{padding:3rem 0}.projects-grid{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px;text-align:center}}@media (max-width: 480px){.hero-content{padding:1.5rem 1rem}.skills-grid{grid-template-columns:1fr}}
