*{margin:0;padding:0;box-sizing:border-box}
:root{--background:#fafafa;--text:#111827;--text-secondary:#475569;--surface:#ffffff;--surface-secondary:#f8fafc;--border:#e2e8f0;--accent:#2563eb}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#fafafa;transition:background-color .4s,color .4s}
.navbar{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.1);position:fixed;top:0;width:100%;z-index:1000}
.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}
.nav-logo a{font-size:1.5rem;font-weight:700;text-decoration:none;color:#2563eb}
.nav-menu{display:flex;list-style:none;gap:2rem}
.nav-link{text-decoration:none;color:#64748b;font-weight:500;transition:color .3s;position:relative}
.nav-link.active,.nav-link:hover{color:#2563eb}
.nav-link.active::after{content:'';position:absolute;bottom:-25px;left:0;right:0;height:2px;background:#2563eb}
.hamburger{display:none;flex-direction:column;cursor:pointer}
.bar{width:25px;height:3px;background:#333;margin:3px 0;transition:.3s}
.main-content{margin-top:70px;min-height:calc(100vh - 70px)}
.hero{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:6rem 0;display:flex;align-items:center}
.hero-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 2fr;gap:2.5rem;align-items:center}
.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem}
.hero-subtitle{font-size:1.5rem;color:#e2e8f0;margin-bottom:1.5rem}
.hero-description{font-size:1.1rem;line-height:1.8;margin-bottom:2rem;color:#f1f5f9}
.hero-buttons{display:flex;gap:1rem}
.hero-image{display:flex;justify-content:center;align-items:center;max-width:250px;margin:0 auto}
.hero-text{padding-left:1rem}
.profile-placeholder{width:200px;height:200px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}
.profile-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.2);transition:transform .3s,box-shadow .3s}
.profile-photo:hover{transform:scale(1.05);box-shadow:0 12px 48px rgba(0,0,0,.3)}
.btn{padding:.75rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:.3s;display:inline-block;border:none;cursor:pointer}
.btn-primary{background:0 0;color:#fff;border:2px solid #fff}
.btn-primary:hover{background:#fff;color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}
.btn-secondary{background:0 0;color:#fff;border:2px solid #fff}
.btn-secondary:hover{background:#fff;color:#2563eb}
.section-container{max-width:1200px;margin:0 auto;padding:0 2rem}
.about-section{padding:6rem 0;background:#fff}
.section-title{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:#1e293b}
.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}
.about-text p{margin-bottom:1.5rem;font-size:1.1rem;color:#475569}
.skills-section h3{font-size:1.5rem;margin-bottom:1rem;color:#1e293b}
.skills-list{list-style:none}
.skills-list li{padding:.5rem 0;color:#64748b;border-bottom:1px solid #e2e8f0}
.skills-list li:last-child{border-bottom:none}
.skills-section .skills-list{margin-bottom:1rem}
.skills-section .skills-list:last-of-type{margin-bottom:0}
.page-header{background:linear-gradient(135deg,#4f46e5 0,#7c3aed 100%);color:#fff;padding:4rem 0;text-align:center}
.page-title{font-size:3rem;font-weight:700;margin-bottom:1rem}
.page-subtitle{font-size:1.2rem;color:#e2e8f0;margin-bottom:2rem}
.resume-actions{display:flex;justify-content:center;gap:1rem}
.resume-container{background:#fff;padding:4rem 0}
.pdf-viewer-section{margin-bottom:3rem;margin-top:2rem;background:#f8fafc;border-radius:12px;padding:2rem;border:1px solid #e2e8f0}
.pdf-section-title{color:#1e293b;font-size:1.8rem;margin-bottom:1rem;text-align:center}
.pdf-section-note{color:#64748b;text-align:center;margin-bottom:2rem;font-size:1rem}
.pdf-section-note a{color:#2563eb;text-decoration:underline;font-weight:600}
.pdf-container{position:relative;width:100%;max-width:900px;margin:0 auto;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.pdf-container iframe{border:none;border-radius:8px;display:block}
.pdf-container p{padding:2rem;text-align:center;color:#64748b;font-size:1.1rem}
.pdf-container a{color:#2563eb;text-decoration:underline;font-weight:600}
.html-resume-fallback{margin:3rem 0;padding:2rem;background:#f1f5f9;border-radius:8px;border-left:4px solid #2563eb}
.fallback-title{color:#1e293b;font-size:1.5rem;margin-bottom:1rem}
.fallback-note{color:#64748b;font-style:italic;margin-bottom:0}
.resume-content{max-width:800px;margin:0 auto}
.resume-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}
.resume-section:last-child{border-bottom:none}
.contact-info h2{font-size:2rem;margin-bottom:1rem;color:#1e293b}
.contact-details{display:flex;flex-wrap:wrap;gap:2rem;color:#64748b}
.section-heading{font-size:1.5rem;color:#2563eb;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}
.summary-text{font-size:1.1rem;line-height:1.8;color:#475569}
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.skill-category h4{color:#1e293b;margin-bottom:.5rem}
.skill-category ul{list-style:none}
.skill-category li{color:#64748b;padding:.25rem 0}
.experience-item{margin-bottom:2rem}
.job-header{display:grid;grid-template-columns:1fr auto;align-items:start;margin-bottom:1rem;gap:1rem}
.job-location-dates{display:flex;flex-direction:column;align-items:end;text-align:right}
.job-location{color:#64748b;font-size:.9rem}
.job-title{font-size:1.2rem;color:#1e293b;margin-bottom:.25rem}
.job-company{color:#2563eb;font-weight:600}
.job-dates{color:#64748b;font-size:.9rem}
.client-projects{margin-left:1rem;border-left:2px solid #e2e8f0;padding-left:1.5rem}
.client-project{margin-bottom:1.5rem}
.client-project:last-child{margin-bottom:0}
.client-project h5{color:#475569;font-size:1rem;font-weight:600;margin-bottom:.5rem;font-style:italic}
.job-responsibilities{list-style:none;padding-left:1rem}
.job-responsibilities li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:#475569}
.job-responsibilities li::before{content:'▸';position:absolute;left:0;color:#2563eb}
.education-header{display:flex;justify-content:space-between;align-items:start}
.education-header>div{flex:1}
.minor{color:#64748b;font-size:.95rem;margin:.25rem 0}
.college{color:#64748b;font-size:.9rem;margin:.25rem 0 0}
.cert-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}
.cert-item:last-child{border-bottom:none;margin-bottom:0}
.cert-item h4{color:#1e293b;margin-bottom:0;flex:1}
.cert-date{color:#64748b;font-weight:500}
.skill-category p{color:#475569;margin:0;line-height:1.6}
.project-details{list-style:none;padding-left:0}
.project-details li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:#475569;line-height:1.6}
.project-details li::before{content:'▸';position:absolute;left:0;color:#2563eb}
.education-item{margin-bottom:1.5rem}
.education-item h4{color:#1e293b;margin-bottom:.25rem}
.dates,.institution{color:#64748b;margin-right:2rem}
.certifications h4{color:#1e293b;margin-bottom:.5rem}
.project-item{margin-bottom:1.5rem}
.project-item h4{color:#2563eb;margin-bottom:.5rem}
.project-item p{color:#475569}
.homelab-container{background:#fff;padding:4rem 0}
.homelab-section{margin-bottom:4rem}
.homelab-intro{font-size:1.1rem;line-height:1.8;color:#475569;text-align:center;max-width:800px;margin:0 auto}
.network-diagram{background:#f8fafc;border-radius:12px;padding:2rem;margin:2rem 0}
.network-layer{margin-bottom:2rem;text-align:center}
.network-layer h3{margin-bottom:1rem;color:#1e293b}
.network-device,.network-devices{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:1rem;margin:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);text-align:center}
.network-devices{flex-wrap:wrap;gap:1rem}
.automation-grid,.hardware-grid,.outcomes-grid,.vm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}
.automation-item,.hardware-item,.outcome-item,.vm-category{background:#f8fafc;border-radius:12px;padding:2rem;border-left:4px solid #2563eb}
.automation-item h3,.hardware-item h3,.outcome-item h3,.vm-category h3{color:#1e293b;margin-bottom:1rem;font-size:1.2rem}
.specs p{margin-bottom:.5rem;color:#475569}
.vm-list{list-style:none}
.vm-list li{padding:.5rem 0;color:#475569;border-bottom:1px solid #e2e8f0}
.vm-list li:last-child{border-bottom:none}
.footer{background:#1e293b;color:#e2e8f0;padding:2rem 0;text-align:center}
.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}
.social-links{display:flex;gap:2rem}
.social-link{color:#64748b;text-decoration:none;transition:color .3s}
.social-link:hover{color:#2563eb}
@media (max-width:768px){
.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background-color:#fff;width:100%;text-align:center;transition:.3s;box-shadow:0 10px 27px rgba(0,0,0,.05);padding:2rem 0}
.nav-menu.active{left:0}
.hamburger{display:flex}
.hero-content{grid-template-columns:1fr;text-align:center;gap:2rem}
.hero-text{padding-left:0}
.hero-title{font-size:2.5rem}
.hero-buttons{justify-content:center}
.profile-photo{width:150px;height:150px}
.about-grid{grid-template-columns:1fr;gap:2rem}
.contact-details{flex-direction:column;gap:.5rem}
.job-header{grid-template-columns:1fr;gap:.5rem}
.job-location-dates{align-items:start;text-align:left}
.education-header{flex-direction:column;gap:.5rem}
.cert-item{flex-direction:column;align-items:start;gap:.25rem}
.client-projects{margin-left:0;border-left:none;padding-left:0}
.job-dates{justify-self:start}
.footer-content{flex-direction:column;gap:1rem}
.pdf-container iframe{height:600px}
.pdf-viewer-section{padding:1rem}
.automation-grid,.hardware-grid,.outcomes-grid,.vm-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
.section-container{padding:0 1rem}
.hero{padding:4rem 0}
.hero-title,.page-title{font-size:2rem}
.profile-photo{width:120px;height:120px}
.btn{padding:.5rem 1.5rem;font-size:.9rem}
.pdf-container iframe{height:500px}
.pdf-viewer-section{padding:.5rem;margin:1rem 0}
}
@media print{
.footer,.navbar,.resume-actions{display:none}
.main-content{margin-top:0}
.page-header{background:0 0;color:#333;padding:1rem 0}
.resume-container{padding:0}
body{font-size:12px}
.section-heading{color:#333}
}
body.dark-mode{background-color:#0d1117;color:#e6edf3;--background:#0d1117;--text:#e6edf3;--text-secondary:#c9d1d9;--surface:#161b22;--surface-secondary:#0f141b;--border:#21262d;--accent:#58a6ff;color-scheme:dark}
body.dark-mode .navbar{background:rgba(13,17,23,.95);backdrop-filter:blur(12px);border-bottom:1px solid #21262d;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}
body.dark-mode .nav-logo a{color:#58a6ff}
body.dark-mode .nav-link{color:#c9d1d9;position:relative}
body.dark-mode .nav-link.active,body.dark-mode .nav-link:hover{color:#58a6ff}
body.dark-mode .nav-link.active::after{background:#58a6ff}
body.dark-mode .hero{background:linear-gradient(135deg,#161b22 0,#21262d 50%,#30363d 100%);position:relative;overflow:hidden}
body.dark-mode .hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 20%,rgba(88,166,255,.1) 0,transparent 50%),radial-gradient(circle at 70% 80%,rgba(123,97,255,.1) 0,transparent 50%);pointer-events:none}
body.dark-mode .hero-content{position:relative;z-index:1}
body.dark-mode .hero-title{color:#f0f6fc;text-shadow:0 2px 4px rgba(0,0,0,.3)}
body.dark-mode .hero-subtitle{color:var(--accent);font-weight:500}
body.dark-mode .hero-description{color:#c9d1d9}
body.dark-mode .btn-primary{background:#238636;border-color:#238636;color:#fff}
body.dark-mode .btn-primary:hover{background:#2ea043;border-color:#2ea043;transform:translateY(-2px);box-shadow:0 4px 12px rgba(35,134,54,.4)}
body.dark-mode .btn-secondary{background:0 0;border:2px solid #58a6ff;color:#58a6ff}
body.dark-mode .btn-secondary:hover{background:#58a6ff;color:#0d1117;transform:translateY(-2px);box-shadow:0 4px 12px rgba(88,166,255,.4)}
body.dark-mode .about-section{background:linear-gradient(180deg,#0f141b 0,#0b1118 100%)}
body.dark-mode .section-title{color:#f0f6fc;font-weight:600}
body.dark-mode .about-text p{color:#c9d1d9;line-height:1.8}
body.dark-mode .skills-section{background:0 0;border:none;border-radius:0;padding:0;box-shadow:none}
body.dark-mode .skills-section h3{color:#f0f6fc;margin-bottom:1.5rem}
body.dark-mode .skills-list{list-style:none}
body.dark-mode .skills-list li{color:#c9d1d9;padding:.75rem 0 .75rem 1.5rem;border-bottom:1px solid #21262d;position:relative}
body.dark-mode .skills-list li:before{content:'▶';color:#58a6ff;position:absolute;left:0;font-size:.8rem}
body.dark-mode .skills-list li:last-child{border-bottom:none}
body.dark-mode .homelab-container,body.dark-mode .resume-container{background:linear-gradient(180deg,#0f141b 0,#0b1118 100%)}
body.dark-mode .contact-info,body.dark-mode .education-item,body.dark-mode .experience-item,body.dark-mode .hardware-item,body.dark-mode .homelab-section,body.dark-mode .project-item,body.dark-mode .resume-section,body.dark-mode .service-item{background:0 0;border:none;border-radius:0;box-shadow:none;transition:none}
body.dark-mode .experience-item:hover,body.dark-mode .hardware-item:hover,body.dark-mode .project-item:hover{transform:none;box-shadow:none}
body.dark-mode .job-title,body.dark-mode .section-heading,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4{color:#f0f6fc}
body.dark-mode .job-company{color:#58a6ff}
body.dark-mode .cert-date,body.dark-mode .job-dates{color:#7d8590}
body.dark-mode .network-diagram{background:#161b22;border:1px solid #21262d;border-radius:12px;padding:2rem}
body.dark-mode .network-device,body.dark-mode .network-devices{background:linear-gradient(145deg,#21262d,#30363d);border:2px solid #30363d;color:#f0f6fc;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:.3s}
body.dark-mode .network-device:hover{border-color:#58a6ff;transform:scale(1.02);box-shadow:0 4px 8px rgba(88,166,255,.2)}
body.dark-mode .footer{background:#161b22;border-top:1px solid #21262d;color:#c9d1d9}
body.dark-mode .social-link{color:#7d8590;transition:.3s;padding:.5rem 1rem;border-radius:6px}
body.dark-mode .about-text{background:0 0;border:none;border-radius:0;padding:0;box-shadow:none}
body.dark-mode .social-link:hover{color:#58a6ff;background:rgba(88,166,255,.1);transform:translateY(-1px)}
body.dark-mode .dark-mode-toggle:focus-visible,body.dark-mode .nav-link:focus-visible,body.dark-mode a:focus-visible,body.dark-mode button:focus-visible{outline:#58a6ff solid 2px;outline-offset:2px;border-radius:6px}
.dark-mode-toggle:focus-visible,.nav-link:focus-visible,a:focus-visible,button:focus-visible{outline:#2563eb solid 2px;outline-offset:2px;border-radius:6px}
.skip-link{position:absolute;left:-999px;top:0;background:#111827;color:#fff;padding:.5rem 1rem;border-radius:0 0 6px 6px;z-index:2000}
.skip-link:focus{left:.5rem}
.dark-mode-toggle{background:rgba(255,255,255,.1);border:1px solid #e5e7eb;color:#64748b;cursor:pointer;padding:10px;border-radius:8px;margin-right:1rem;transition:.3s;backdrop-filter:blur(8px)}
.dark-mode-toggle:hover{background:rgba(37,99,235,.1);border-color:#3b82f6;color:#3b82f6;transform:scale(1.05)}
.dark-mode-toggle .sun{display:none}
.dark-mode-toggle .moon{display:block}
body.dark-mode .dark-mode-toggle{background:rgba(88,166,255,.1);border-color:#30363d;color:#f59e0b}
body.dark-mode .dark-mode-toggle .sun{display:block}
body.dark-mode .dark-mode-toggle .moon{display:none}
body.dark-mode .dark-mode-toggle:hover{background:rgba(245,158,11,.2);border-color:#58a6ff;color:#fbbf24;transform:scale(1.05) rotate(15deg)}
@media (max-width:768px){
.dark-mode-toggle{margin-right:.5rem;padding:8px}
body.dark-mode .nav-menu{background:rgba(22,27,34,.95);backdrop-filter:blur(12px);border:1px solid #21262d;box-shadow:0 4px 6px rgba(0,0,0,.1)}
body.dark-mode .hamburger .bar{background-color:#c9d1d9}
body.dark-mode .skills-section{margin-top:2rem;padding:1.5rem}
}
body.dark-mode *{transition:background-color .3s,color .3s,border-color .3s}
body.dark-mode .page-header{background:linear-gradient(135deg,#21262d 0,#30363d 50%,#161b22 100%)}
body.dark-mode .page-title{color:#f0f6fc}
body.dark-mode .contact-details span,body.dark-mode .page-subtitle{color:#c9d1d9}
body.dark-mode .job-location{color:#7d8590}
body.dark-mode .job-responsibilities li{color:#c9d1d9}
body.dark-mode .job-responsibilities li::before{color:#58a6ff}
body.dark-mode .client-project h5{color:#f0f6fc;margin-bottom:.5rem}
body.dark-mode .college,body.dark-mode .minor{color:#7d8590}
body.dark-mode .institution{color:#58a6ff}
body.dark-mode .cert-item{border-bottom:1px solid #21262d}
body.dark-mode .cert-item h4{color:#f0f6fc}
body.dark-mode .skill-category h4{color:#f0f6fc;margin-bottom:.5rem}
body.dark-mode .project-details li,body.dark-mode .skill-category p{color:#c9d1d9}
body.dark-mode .project-details li::before{color:#58a6ff}
body.dark-mode .pdf-section-title{color:#f0f6fc}
body.dark-mode .pdf-section-note{color:#c9d1d9}
body.dark-mode .pdf-section-note a{color:#58a6ff}
body.dark-mode .pdf-container{border:1px solid #21262d;border-radius:8px;overflow:hidden;background:#161b22}
body.dark-mode .pdf-viewer-section{background:#161b22;border:1px solid #21262d}
body.dark-mode .network-layer h3{color:#f0f6fc;margin-bottom:1rem}
body.dark-mode .specs p{color:#c9d1d9;margin-bottom:.5rem}
body.dark-mode .specs strong{color:#f0f6fc}
body.dark-mode .vm-category h3{color:#f0f6fc;margin-bottom:1rem}
body.dark-mode .vm-list li{color:#c9d1d9;padding:.25rem 0;border-bottom:1px solid #21262d}
body.dark-mode .vm-list li:last-child{border-bottom:none}
body.dark-mode .automation-item h3{color:#f0f6fc;margin-bottom:1rem}
body.dark-mode .automation-item p{color:#c9d1d9;margin-bottom:1rem}
body.dark-mode .automation-item ul li{color:#c9d1d9}
body.dark-mode .outcome-item h3{color:#f0f6fc;margin-bottom:.5rem}
body.dark-mode .outcome-item p{color:#c9d1d9}
body.dark-mode .main-content a:not(.btn):not(.nav-link){color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(88,166,255,0.5)}
body.dark-mode .main-content a:not(.btn):not(.nav-link):hover{text-decoration-color:rgba(88,166,255,0.9)}
body.dark-mode .automation-grid,body.dark-mode .hardware-grid,body.dark-mode .outcomes-grid,body.dark-mode .vm-grid{gap:1.5rem}
body.dark-mode .automation-item,body.dark-mode .outcome-item,body.dark-mode .vm-category{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}
body.dark-mode .automation-item:hover,body.dark-mode .outcome-item:hover,body.dark-mode .vm-category:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2);border-color:#30363d}
body.dark-mode .client-projects{margin-top:1rem}
body.dark-mode .client-project{background:#0d1117;border:1px solid #21262d;border-radius:6px;padding:1rem;margin-bottom:1rem}
body.dark-mode .certifications{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:1.5rem}
body.dark-mode .skills-grid{gap:1.5rem}
body.dark-mode .skill-category{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:1.5rem}