html,body,#root{margin:0;padding:0;min-height:100vh;width:100%;background-color:#1a1a2e}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2c3e50;--accent-color: #3498db;--text-color: #333;--light-text: #fff;--overlay-bg: rgba(0, 0, 0, .6);--header-bg: rgba(0, 0, 0, .8)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color)}a{color:var(--accent-color);text-decoration:none;transition:color .2s ease}a:hover{color:#2980b9}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--header-bg);position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 2rem}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:70px}.logo{font-size:1.5rem;font-weight:700;color:var(--light-text);text-decoration:none}.logo span{font-weight:400}.logo:hover{color:var(--accent-color)}.nav{display:flex;gap:1.5rem;align-items:center}.nav a{color:var(--light-text);padding:.5rem;transition:color .2s ease}.nav a:hover,.nav a.active{color:var(--accent-color)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--header-bg);min-width:280px;padding:.5rem 0;border-radius:4px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a{display:block;padding:.75rem 1rem;white-space:nowrap}.dropdown-menu a:hover{background:#ffffff1a}.cv-link-wrapper{position:relative;padding-bottom:.5rem;margin-bottom:-.5rem}.cv-tooltip{position:absolute;top:100%;right:0;background:#3498db80;color:var(--light-text);padding:.75rem 1rem;border-radius:4px;font-size:.9rem;white-space:nowrap;z-index:1000}.cv-tooltip a{color:var(--light-text);text-decoration:underline;padding:0}.cv-tooltip a:hover{color:#cce5f5}.menu-toggle{display:none;background:none;border:none;color:var(--light-text);font-size:1.5rem;cursor:pointer}.main{flex:1;margin-top:70px}.page{min-height:calc(100vh - 70px);background-size:cover;background-position:center;background-attachment:fixed}.page-overlay{min-height:calc(100vh - 70px);background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:2rem}.page-content{max-width:800px;color:var(--light-text);background:#0006;padding:2rem 3rem;border-radius:8px}.page-content h1{font-size:2.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--accent-color);padding-bottom:.5rem}.page-content>h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:var(--accent-color)}.page-content p{margin-bottom:1rem;font-size:1.1rem}.page-content a{color:#5dade2}.page-content a:hover{color:#85c1e9}.about-section:after{content:"";display:table;clear:both}.headshot{float:left;width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid var(--accent-color);margin-right:2rem;margin-bottom:1rem;shape-outside:circle(50%)}.about-text h1{border-bottom:none;padding-bottom:0;margin-bottom:1rem}.projects-grid,.career-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem}.project-card,.career-link-card{background:#ffffff1a;padding:1.5rem;border-radius:8px;transition:all .2s ease;color:var(--light-text);display:block}.career-link-card{text-align:center}.project-card:hover,.career-link-card:hover{background:#fff3;transform:translateY(-4px);color:var(--light-text)}.project-card h2,.career-link-card h2{font-size:1.2rem;margin-bottom:.5rem;color:var(--accent-color)}.project-card p,.career-link-card p{font-size:.95rem;margin-bottom:0;opacity:.9}.link-card-wrapper{position:relative;padding-right:.5rem;margin-right:-.5rem;display:flex;flex-direction:column}.link-card-wrapper>a{flex:1}.link-card-preview{position:absolute;top:0;left:100%;background:#000c;color:var(--light-text);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;z-index:10;white-space:nowrap}.link-card-preview ul{margin:0;padding-left:1.25rem}.link-card-preview li{margin:.25rem 0}.link-card-preview a{color:var(--light-text);text-decoration:none}.link-card-preview a:hover{color:var(--accent-color);text-decoration:underline}.hover-card-wrapper{position:relative;display:inline}.hover-card-link{color:#5dade2;text-decoration:underline;text-decoration-style:dotted}.hover-card-link:hover{color:#85c1e9}.hover-card-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000f2;border:1px solid var(--accent-color);border-radius:8px;padding:1rem;width:280px;margin-bottom:8px;z-index:100;box-shadow:0 4px 12px #0000004d}.hover-card-popup h4{color:var(--accent-color);margin-bottom:.5rem;font-size:1rem}.hover-card-popup p{color:var(--light-text);font-size:.9rem;margin:0;line-height:1.4}.footer{background:var(--header-bg);color:var(--light-text);text-align:center;padding:1rem}.not-found{text-align:center}.not-found h1{font-size:6rem;margin-bottom:.5rem;opacity:.3}.not-found p{font-size:1.25rem;margin-bottom:2rem}.back-home{display:inline-block;padding:.75rem 1.5rem;background:var(--accent-color);color:var(--light-text);border-radius:4px}.back-home:hover{background:#2980b9;color:var(--light-text)}@media(max-width:768px){.menu-toggle{display:block}.nav{position:fixed;top:70px;left:0;right:0;background:var(--header-bg);flex-direction:column;padding:1rem;gap:0;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.nav-open{transform:translateY(0);opacity:1;visibility:visible}.nav a{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);width:100%;text-align:center}.dropdown{width:100%}.dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;min-width:auto;padding-left:1rem}.about-section{text-align:center}.headshot{float:none;display:block;margin:0 auto 1rem;width:150px;height:150px}.about-text{text-align:left}.page-content{padding:1.5rem}.page-content h1{font-size:1.8rem}}
