body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden;width:100%}body{background-color:lch(16.79% 15.2 231.03);color:#222;font-family:Poppins,sans-serif;margin:0;padding:0}.App{margin:auto;max-width:900px;padding:2rem}header{margin-bottom:3rem;text-align:center}.name{font-size:2.5rem;margin-bottom:.5rem}.tagline{color:#666;font-size:1.2rem}.navbar{margin-top:1rem}.navbar a{color:#07c;cursor:pointer;font-weight:700;margin:0 1rem;text-decoration:none}section{margin-bottom:4rem}h2{border-bottom:2px solid #ddd;margin-bottom:1.5rem;padding-bottom:.5rem;text-align:center}.project-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.project-card{background-color:#fff;border:1px solid #ddd;border-radius:6px;transition:box-shadow .3s}.project-card:hover{box-shadow:0 2px 10px #0000001a}.project-card a{color:#07c;display:inline-block;font-weight:700;margin-top:.5rem;text-decoration:none}.tags{color:#666;margin-top:.5rem}.tags,footer{font-size:.9rem}footer{color:#aaa}h2.left{text-align:left}footer{color:#f1f1f1;font-size:.85rem;margin-top:4rem;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.footer-note{color:#f1f1f1;font-size:.85rem;margin:0}.footer-links{display:flex;gap:.6rem}.hero{align-items:center;background-image:url(/static/media/background.c21becc0d8025f4da72a.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;position:relative;text-align:center;width:100%}.hero:before{background-color:#0003;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.hero h1{color:#fff;font-size:2.5rem;font-weight:700;letter-spacing:1px;margin-bottom:.5rem}.hero h2{font-size:1.5rem}.hero h2,.hero h3{color:#fff;font-weight:500;margin-bottom:.3rem;text-align:center}.hero h3{font-size:1.3rem}.hero p{color:#fff;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.hero-button{background-color:#024e6e;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-top:1.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .3s ease}.hero-button:hover{background-color:#005fa3}.about-wrapper{display:flex;justify-content:center;padding:4rem 1rem}.about{background-color:#001a33;border-radius:20px;box-shadow:0 0 30px #0006;color:#fff;max-width:1000px;padding:4rem 2rem;width:100%}.about h2{border-bottom:2px solid #2c3e50;color:#fff;display:block;font-size:2.2rem;margin-bottom:2rem;text-align:center}.summary{color:#b0c4de;font-size:1.1rem;margin-bottom:3rem;text-align:center}.about-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(220px,300px) 1fr}.headshot-panel{width:100%}.about-headshot{aspect-ratio:4/5;border-radius:8px;box-shadow:0 16px 40px #0000004d;display:block;object-fit:cover;object-position:center top;width:100%}.bio,.skills{background-color:#ffffff0d;border-radius:8px;flex:1 1;padding:2rem}.skills{grid-column:1/-1}.bio h3,.skills h3{color:#fff;font-size:1.6rem;margin-bottom:1rem}.bio p{color:#dbe9f4;line-height:1.6;margin-bottom:1.5rem}.contact-button{background-color:#013e69;border-radius:5px;color:#fff;display:inline-block;font-weight:700;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:background-color .3s ease}.contact-button-wrapper{display:flex;justify-content:right;margin-top:1.5rem}.contact-button:hover{background-color:#01538d}.skills{display:flex;flex-direction:column;gap:1.5rem}.project-card{background-color:#0081f1;border-radius:10px;flex-direction:column}.project-card:hover{transform:scale(1.02)}.project-card img{width:100%}.project-content{padding:1.5rem}.project-content h3{margin-bottom:.5rem}.project-content a{background-color:#ccbe00}@media (max-width:760px){.about{padding:3rem 1.25rem}.about-grid{grid-template-columns:1fr}.headshot-panel{justify-self:center;max-width:320px}.skills{grid-column:auto}}.projects{background-color:#001a33;border-radius:20px;box-shadow:0 0 30px #0006;color:#f1f1f1;margin:0 auto;max-width:1000px;padding:4rem 2rem}.projects h2{border-bottom:2px solid #2c3e50;color:#fff;display:block;font-size:2rem;margin-bottom:.5rem;text-align:center}.projects-intro{color:#b0c4de;font-size:1.1rem;margin-bottom:3rem;text-align:center}.project-card-grid{display:flex;flex-direction:column;gap:2.5rem}.project-card{align-items:center;background-color:#ffffff0d;border-radius:12px;display:flex;gap:1.5rem;overflow:hidden;padding:1.5rem;transition:transform .3s ease}.left-image{flex-direction:row}.right-image{flex-direction:row-reverse}.project-card img{height:auto;object-fit:cover}.project-card img,.project-visual{border-radius:8px;flex-shrink:0;width:180px}.project-visual{height:180px;overflow:hidden;position:relative}.invitro-visual{background:radial-gradient(circle at 28% 22%,#b6e8b1f2 0 11%,#0000 12%),radial-gradient(circle at 68% 26%,#5ca66fd9 0 9%,#0000 10%),linear-gradient(145deg,#d8f3dc,#74c69d 48%,#1b4332);border:1px solid #ffffff29;box-shadow:inset 0 0 36px #001a332e}.visual-label{font-size:.95rem;top:1rem}.visual-card,.visual-label{color:#073b2b;font-weight:700;left:1rem;position:absolute;right:1rem}.visual-card{background:#ffffffe0;border-radius:6px;box-shadow:0 8px 18px #001a3329;font-size:.8rem;padding:.35rem .5rem}.visual-card-observe{top:4rem}.visual-card-record{top:6.5rem}.visual-card-learn{top:9rem}.project-content{flex:1 1}.project-content h3{font-size:1.3rem;margin-bottom:.75rem;margin-top:0}.project-content p{line-height:1.6;margin-bottom:1rem}.project-tech{color:#b0c4de;font-size:.95rem}.project-button-wrapper{display:flex;justify-content:flex-end}.project-content a{background-color:#024e6e;border-radius:5px;color:#fff;font-weight:700;padding:.6rem 1.2rem;text-decoration:none}.project-content a:hover{background-color:#005fa3}@media (max-width:768px){.project-card{flex-direction:column!important;text-align:center}.project-card img,.project-visual{margin-bottom:1rem;width:100%}.project-visual{max-width:320px}.project-button-wrapper{justify-content:center}}.resume-section{background-color:#001a33;border-radius:20px;box-shadow:0 0 30px #0006;color:#f0f0f0;margin:4rem auto;max-width:1000px;padding:4rem 2rem}.section-title{border-bottom:2px solid #2c3e50;color:#fff;font-size:2.2rem;margin-bottom:2.5rem;padding-bottom:.5rem;text-align:center}.resume-card{background-color:#ffffff0d;border-radius:12px;box-shadow:0 4px 10px #0000004d;line-height:1.7;padding:2.5rem}.name{font-size:1.8rem;font-weight:700;margin-bottom:.2rem}.contact{color:#ccc;font-size:.95rem;font-style:italic}.contact,.section-block{margin-bottom:2rem}.section-block h3{border-bottom:1px solid #ffffff1a;color:#a5d8ff;font-size:1.2rem;margin-bottom:.6rem;padding-bottom:.3rem}.section-block p,.section-block ul li{color:#e0e0e0;font-size:1rem;margin-bottom:.7rem}.section-block ul{list-style-type:disc;padding-left:1.5rem}.skills-list{color:#e0e0e0;list-style:disc;padding-left:1.5rem}.skills-list li{margin-bottom:.6rem}.resume-download-wrapper{margin-top:2rem;text-align:center}.resume-download-button{background-color:#024e6e;border-radius:6px;color:#fff;display:inline-block;font-weight:700;padding:.7rem 1.4rem;text-decoration:none;transition:background-color .3s ease}.resume-download-button:hover{background-color:#005fa3}.floating-header{align-items:center;background:none;background-color:initial;display:flex;justify-content:space-between;left:0;padding:1rem 2rem;pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.header-left{color:#fff;font-size:1.1rem;font-weight:700;pointer-events:auto}.header-right{display:flex;gap:.6rem;pointer-events:auto}.footer-icon{background-color:#fff;border-radius:4px;display:inline-block;height:32px;opacity:.4;transition:opacity .3s ease;width:32px}.footer-icon:hover{opacity:.7}.footer-icon img{height:100%;object-fit:contain;width:100%}
/*# sourceMappingURL=main.3b8dc8f9.css.map*/