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}:root{--primary-color:#f4f9f0;--secondary-color:#69b0a0;--text-color:#385170;--accent-color:#f2812fb0;--accent-color-solid:#f2812f;--background-color:#f4f9f0;--card-background:#fff;--border-radius:8px;--box-shadow:0 2px 4px #0000001a;--transition:all 0.3s cubic-bezier(.4,0,.2,1)}.dark-mode{--primary-color:#1e293b;--secondary-color:#69b0a0;--text-color:#e2e8f0;--accent-color:#f2812fb0;--accent-color-solid:#f2812f;--background-color:#38486b;--card-background:#1e293b;--box-shadow:0 2px 4px #0003}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#f4f9f0;color:var(--primary-color);cursor:pointer;display:flex;height:40px;justify-content:center;padding:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:40px}.theme-toggle:hover{background-color:#f2812fb0;background-color:var(--accent-color);transform:scale(1.1)}.theme-toggle svg{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.theme-toggle:hover svg{transform:rotate(15deg)}body{color:#385170;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.app{min-height:100vh;overflow-x:hidden}.container{margin:0 auto;max-width:1200px;padding:2rem}.navbar{background-color:#69b0a0;background-color:var(--secondary-color);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);left:0;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);z-index:1000}.nav-content{margin:0 auto;max-width:1200px;padding:1rem 2rem}.nav-links{align-items:center;display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar a{color:#f4f9f0;color:var(--primary-color);font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.navbar a:hover{color:#f2812f;color:var(--accent-color-solid)}.header{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin-bottom:2rem;padding:6rem 0 3rem;text-align:left}.header-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header-left{flex:1 1}.header-right{flex:1 1;text-align:right}.header h1{color:#69b0a0;color:var(--secondary-color);font-size:3rem;line-height:1.2;margin:0}.header h2{color:#385170;color:var(--text-color);font-size:1.5rem;font-weight:500;line-height:1.4;margin:0}.main-content{margin-top:2rem}.content-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.profile-section{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.profile-info{margin-bottom:2rem}.profile-info h3{color:#69b0a0;color:var(--secondary-color);margin:0 0 1rem}.profile-info p{color:#385170;color:var(--text-color);line-height:1.8;margin:0}.education-section{margin-top:2rem}.education-section h3{color:#69b0a0;color:var(--secondary-color);margin-bottom:1.5rem}.education-card{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin-bottom:1.5rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.education-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.education-header h4{color:#69b0a0;color:var(--secondary-color);margin:0}.date{color:#385170;color:var(--text-color);font-weight:500}.badge{background:#69b0a0;background:var(--secondary-color);border-radius:20px;color:#f4f9f0;color:var(--primary-color);display:inline-block;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem}.details p{margin:.5rem 0}.achievements-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:2rem}.achievements-list,.coursework-list{display:flex;flex-direction:column;gap:1rem}.achievement-item,.coursework-item{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);display:flex;gap:1rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.achievement-item:hover,.coursework-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.achievement-item svg,.coursework-item svg{color:#69b0a0;color:var(--secondary-color);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.achievement-item:hover svg,.coursework-item:hover svg{color:#f2812f;color:var(--accent-color-solid);transform:scale(1.1)}.achievement-item span,.coursework-item span{color:#385170;color:var(--text-color);font-size:.95rem;line-height:1.4}.sidebar{display:flex;flex-direction:column;gap:1.5rem;height:-webkit-fill-available;height:-webkit-fit-content;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:#69b0a0 #0000;scrollbar-color:var(--secondary-color) #0000;scrollbar-width:thin;top:100px}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background-color:#69b0a0;background-color:var(--secondary-color);border-radius:3px}.profile-image-card{background:#fff;background:var(--card-background);padding:1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.profile-image,.profile-image-card{border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow)}.profile-image{height:200px;object-fit:cover;width:325px}.contact-card,.social-card{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-card h3,.social-card h3{color:#69b0a0;color:var(--secondary-color);margin:0 0 1.5rem}.contact-details{gap:1rem}.contact-details,.contact-item{display:flex;flex-direction:column}.contact-item{gap:.25rem}.label{align-items:center;color:#69b0a0;color:var(--secondary-color);display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.label svg{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-item:hover .label svg{transform:scale(1.1)}.contact-item a,.value{color:#385170;color:var(--text-color);margin-left:1.625rem}.contact-item a{text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-item a:hover{color:#69b0a0;color:var(--secondary-color)}.social-links{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.social-link{align-items:center;border-radius:6px;color:#385170;color:var(--text-color);display:flex;gap:8px;padding:8px 12px;text-decoration:none;transition:background-color .2s}.social-link:hover{background-color:var(--hover-color)}.social-link svg{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.social-link:hover svg{transform:scale(1.1)}.skills-section{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin-top:2rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.skills-section h3{color:#69b0a0;color:var(--secondary-color);margin:0 0 1.5rem}.skills-section ul{grid-gap:1rem;display:grid;gap:1rem;list-style:none;margin:0;padding:0}.skills-section li{align-items:flex-start;background:#f4f9f0;background:var(--background-color);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:1rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.skills-section li:hover{box-shadow:0 2px 4px #0000001a;transform:translateX(5px)}.skills-section strong{color:#69b0a0;color:var(--secondary-color);font-size:.95rem;min-width:180px}@media (max-width:768px){.skills-section li{flex-direction:column;gap:.5rem}.skills-section strong{min-width:auto}}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}.desktop-sidebar{display:none!important}.open-menu-btn{align-items:center;background:#69b0a0;background:var(--secondary-color);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);cursor:pointer;display:flex;justify-content:center;padding:8px;position:fixed;right:18px;top:18px;z-index:3000}.achievements-section{gap:1.2rem;grid-template-columns:1fr}.achievement-item,.coursework-item{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:14px;display:flex;font-size:1.15rem;gap:1.2rem;margin-bottom:.5rem;padding:1.2rem 1rem}.achievement-item svg,.coursework-item svg{height:28px;width:28px}.contact-card,.contact-form-section,.education-card,.header,.mobile-sidebar-section,.project-card,.projects-section,.skills-section,.social-card,.work-section{background:#fff;background:var(--card-background);border-radius:16px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin:1.2rem 0;padding:1.2rem 1rem}.header{background:#fff;background:var(--card-background);border-radius:16px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin:1.2rem auto;max-width:600px;padding:1.5rem 1.2rem;text-align:center;width:100%}.header-content{align-items:center;flex-direction:column;gap:.7rem;padding:0}.header h1{color:#69b0a0;color:var(--secondary-color);font-size:2.1rem;font-weight:800;letter-spacing:.01em;margin:0 0 .5rem;text-align:center}.header h2{color:#385170;color:var(--text-color);font-size:1.1rem;font-weight:500;margin:0;opacity:.85;text-align:center}.header-accent-bar{display:none!important}.mobile-sidebar-section .social-links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;width:100%}.mobile-sidebar-section .social-link{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:12px;box-shadow:0 1px 4px #1e293b12;color:#69b0a0;color:var(--secondary-color);display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin:.5rem 0;padding:.9rem 1.1rem;transition:background .15s,color .15s;width:100%}.mobile-sidebar-section .social-link svg{color:#69b0a0;color:var(--secondary-color);height:26px;width:26px}.mobile-sidebar-section .social-link:hover{background:#69b0a0;background:var(--secondary-color);color:#f4f9f0;color:var(--primary-color)}.mobile-sidebar-section .social-link:hover svg{color:#f4f9f0;color:var(--primary-color)}}.mobile-sidebar-menu,.open-menu-btn{display:none}.mobile-sidebar-menu.open{bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:2999}.mobile-sidebar-overlay{background:#1e293b80;z-index:2999}.mobile-sidebar-content{animation:slideInSidebar .25s cubic-bezier(.4,0,.2,1);box-shadow:-2px 0 12px #00000026;display:flex;flex-direction:column;gap:1.5rem;height:100vh;max-width:350px;padding:2rem 1.2rem 1.2rem;top:0;width:85vw;z-index:3000}@keyframes slideInSidebar{0%{transform:translateX(100%)}to{transform:translateX(0)}}.close-menu-btn{background:none;border:none;color:#69b0a0;color:var(--secondary-color);cursor:pointer;font-size:2rem;position:absolute;right:18px;top:12px;z-index:3001}@media (max-width:768px){.container{margin-top:60px;padding:1rem}.header{margin-bottom:1rem;padding:1rem}.header h1{font-size:1.8rem;margin-bottom:.5rem}.header p{font-size:1rem;line-height:1.4}.card{margin-bottom:1rem;padding:1rem}.card h2{font-size:1.4rem;margin-bottom:.8rem}.card p{font-size:.95rem;line-height:1.5}.skills-section{padding:1rem}.skills-section h3{font-size:1.2rem;margin-bottom:1rem}.skills-section li{flex-direction:column;gap:.5rem;padding:.8rem}.skills-section strong{font-size:.9rem;min-width:auto}.skills-section span{font-size:.9rem}.nav-links{padding:.5rem}.nav-links a{font-size:.9rem;padding:.5rem .8rem}.dark-mode-toggle{font-size:.9rem;padding:.4rem}}@media (max-width:480px){.header h1{font-size:1.5rem}.header p{font-size:.9rem}.card h2{font-size:1.2rem}.card p{font-size:.85rem}.skills-section li{padding:.7rem}.skills-section span,.skills-section strong{font-size:.85rem}.nav-links{padding:.3rem}.nav-links a{font-size:.8rem;padding:.4rem .6rem}}@media (hover:none){.dark-mode-toggle,.nav-links a,.skills-section li{align-items:center;display:flex;min-height:44px}}hr{border:none;border-top:2px solid #69b0a0;border-top:2px solid var(--secondary-color);margin:30px 0;opacity:.3}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#f4f9f0;background-color:var(--background-color);color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#root,.app,body,html{max-width:100vw;overflow-x:hidden}html{scroll-behavior:smooth}.primary-color{background:#f4f9f0;background:var(--primary-color)}.secondary-color{background:#69b0a0;background:var(--secondary-color)}.text-color{background:#385170;background:var(--text-color)}.accent-color{background:#f2812fb0;background:var(--accent-color)}body{background-color:#f4f9f0;background-color:var(--background-color);z-index:-5}h1,h2,h3,h4,h5,h6{color:#69b0a0;color:var(--secondary-color);padding:10px}address,div,p{color:#385170;color:var(--text-color)}address{padding-top:20px}.badge-secondary{background-color:#69b0a0;background-color:var(--secondary-color);color:#f4f9f0;color:var(--primary-color)}.media-body{color:#385170;color:var(--text-color)}.skills{color:#f4f9f0;color:var(--primary-color);padding-right:5%}.skillsbg{background-color:#69b0a0;background-color:var(--secondary-color);border-radius:5%;border-width:0;height:-webkit-fit-content;height:fit-content;min-width:-webkit-fill-available}.over-picture,.skillsbg h2{color:#f4f9f0;color:var(--primary-color);padding:10px}.over-picture{background-color:#69b0a0;background-color:var(--secondary-color);border-radius:10px}.over-picture-list{background-color:#f2812f;background-color:var(--accent-color-solid);border-radius:5px;color:#f4f9f0;color:var(--primary-color);padding:10px}.sneak{padding-bottom:50px;z-index:-2}.background-div{background-color:#69b0a0;background-color:var(--secondary-color);position:absolute;z-index:-5}.charlotteHome{padding-top:2%}.btn-primary,.charlotteHome{color:#f4f9f0;color:var(--primary-color)}.btn-primary{background-color:#69b0a0;background-color:var(--secondary-color);border-radius:10%;border-width:0;height:-webkit-fit-content;height:fit-content;padding:2%;transition-duration:.4s;width:-webkit-fit-content;width:fit-content}.btn-primary:hover{background-color:#f2812fb0;background-color:var(--accent-color);color:#f4f9f0;color:var(--primary-color)}a{color:#f2812fb0;color:var(--accent-color)}a:hover{color:#69b0a0;color:var(--secondary-color)}.media{margin-top:20px}.media img{height:auto;max-width:35%}.charlotte{width:-webkit-fit-content;width:fit-content}.pfp{border-radius:10%;max-width:767px;padding:2%}@media (max-width:991px){.full-width-image,.pfp{display:none}.charlotteHome{color:#69b0a0;color:var(--secondary-color)}nav{display:none}div{z-index:1}}.full-width-image{left:-50vw;overflow:hidden;width:100%}.full-width-image img{display:block;height:auto;left:0;object-position:left;position:absolute;width:100vw}.parallax{transform:translateZ(-1px) scale(2)}.jumbotron{background-color:#69b0a0;background-color:var(--secondary-color);padding:20px}.jumbotron,footer{border-radius:10px;margin-top:20px}footer{padding:10px;text-align:center}.work-section{margin-top:2rem}.work-section h3{color:#69b0a0;color:var(--secondary-color);margin-bottom:1.5rem}.work-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.work-card{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.work-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.work-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.work-header h4{color:#69b0a0;color:var(--secondary-color);margin:0}.work-date{color:#385170;color:var(--text-color);font-size:.9rem;font-weight:500}.work-content{display:flex;flex-direction:column;gap:1rem}.work-company{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.company-name{font-weight:600}.company-location,.company-name{color:#385170;color:var(--text-color)}.company-location{font-size:.9rem}.work-details{list-style:none;margin:0;padding:0}.work-details li{color:#385170;color:var(--text-color);line-height:1.6;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.work-details li:last-child{margin-bottom:0}.work-details li:before{content:none}.work-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.projects-section{margin-top:2rem}.projects-section h3{color:#69b0a0;color:var(--secondary-color);margin-bottom:1.5rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.project-card{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.project-image{height:450px;overflow:hidden;position:relative}.project-image,.project-image iframe{background:#fff;background:var(--card-background);width:100%}.project-image iframe{border:none;height:100%}.project-image:before{background:linear-gradient(180deg,#0000 0,#0000001a);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.project-image img{height:110%;object-fit:cover;object-position:center;position:relative;top:-5%;transform-origin:center center;transition:transform .3s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.5rem}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.project-header h4{color:#69b0a0;color:var(--secondary-color);font-size:1.25rem;margin:0}.project-date{font-size:.9rem;font-weight:500}.project-date,.project-description{color:#385170;color:var(--text-color)}.project-description{flex:1 1;line-height:1.6;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-tag{background:#69b0a0;background:var(--secondary-color);border-radius:15px;color:#f4f9f0;color:var(--primary-color);font-size:.8rem;padding:.25rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.tech-tag:hover{background:#f2812f;background:var(--accent-color-solid);transform:translateY(-1px)}.project-links{display:flex;gap:1rem;margin-top:1rem}.project-link{align-items:center;background:#fff;background:var(--card-background);border:1px solid #69b0a0;border:1px solid var(--secondary-color);border-radius:8px;border-radius:var(--border-radius);color:#69b0a0;color:var(--secondary-color);display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-link:hover{background:#69b0a0;background:var(--secondary-color);color:#f4f9f0;color:var(--primary-color)}.project-link svg{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-link:hover svg{transform:translateX(2px)}@media (max-width:768px){.project-image{height:300px}.project-header{align-items:flex-start;gap:.5rem}.project-header,.project-links{flex-direction:column}.project-link{justify-content:center;width:100%}}.substack-button{margin-top:16px;text-align:center}.substack-link{background-color:#f4f9f0;background-color:var(--primary-color);border-radius:6px;color:#fff;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none;transition:background-color .2s}.substack-link:hover{background-color:var(--primary-color-dark)}.contact-form-section{background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);margin-top:2rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-form-section h3{color:#69b0a0;color:var(--secondary-color);margin-bottom:1.5rem}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#385170;color:var(--text-color);font-weight:500}.form-group input,.form-group textarea{background:#fff;background:var(--card-background);border:1px solid #69b0a0;border:1px solid var(--secondary-color);border-radius:8px;border-radius:var(--border-radius);color:#385170;color:var(--text-color);font-size:1rem;padding:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{border-color:#f2812f;border-color:var(--accent-color-solid);box-shadow:0 0 0 2px #f2812fb0;box-shadow:0 0 0 2px var(--accent-color);outline:none}.submit-button{align-self:flex-start;background:#69b0a0;background:var(--secondary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#f4f9f0;color:var(--primary-color);cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.submit-button:hover{background:#f2812f;background:var(--accent-color-solid);transform:translateY(-2px)}.contact-button{margin-top:1rem}.contact-link{align-items:center;background:#69b0a0;background:var(--secondary-color);border-radius:8px;border-radius:var(--border-radius);color:#f4f9f0;color:var(--primary-color);display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-link:hover{background:#f2812f;background:var(--accent-color-solid);transform:translateY(-2px)}.contact-link svg{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-link:hover svg{transform:scale(1.1)}.success-message{align-items:center;background:#fff;background:var(--card-background);border-radius:8px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.success-message svg{color:#69b0a0;color:var(--secondary-color);height:48px;width:48px}.success-message p{color:#385170;color:var(--text-color);font-size:1.1rem;margin:0}.error-message{background:#dc26261a;border-radius:8px;border-radius:var(--border-radius);color:#dc2626;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none!important}.mobile-only{display:none!important}.desktop-only{display:block!important}@media (max-width:1024px){.mobile-only{display:block!important}.desktop-only{display:none!important}.navbar{background:#69b0a0;background:var(--secondary-color);box-shadow:0 2px 8px #1e293b14;left:0;padding:.5rem 0;position:-webkit-sticky;position:sticky;right:0;top:0;width:100vw;z-index:4000}.nav-content{padding:0 1rem}.container{margin:0 auto;padding-left:.75rem;padding-right:.75rem}.content-grid{box-sizing:border-box;display:block;gap:0;max-width:100%;width:100%}.contact-form-section,.education-section,.profile-section,.projects-section,.skills-section,.work-section{background:#fff;background:var(--card-background);border-radius:18px;box-shadow:0 2px 8px #1e293b1a;box-sizing:border-box;margin:1.2rem 0;max-width:100%;padding:1.2rem 1rem;width:100%}.header{background:#fff;background:var(--card-background);border-radius:18px;box-shadow:0 2px 8px #1e293b1a;margin-bottom:.5rem;padding:1.2rem 1rem .8rem;width:100%}.header-content{align-items:flex-start;flex-direction:column;gap:.5rem;padding:0}.header h1{color:#69b0a0;color:var(--secondary-color);font-size:1.4rem;margin-bottom:.3rem}.header h2{color:#385170;color:var(--text-color);font-size:1.05rem}.achievements-list,.coursework-list,.skills-section ul,.work-details{gap:.5rem}.achievement-item,.coursework-item,.skills-section li,.work-details li{background:#f4f9f0;background:var(--background-color);border-radius:12px;font-size:1.05rem;margin-bottom:.5rem;padding:.7rem}.education-card,.project-card{background:#fff;background:var(--card-background);border-radius:14px;box-shadow:0 2px 8px #1e293b1a;margin-bottom:1rem;padding:.7rem}.project-image{border-radius:10px;height:160px;overflow:hidden}.project-image iframe,.project-image img{border-radius:10px;height:100%;object-fit:cover}.project-content{gap:.5rem;padding:.5rem 0}.project-header h4{font-size:1.1rem}.project-description{font-size:1.05rem;line-height:1.6}.project-links,.project-tech{gap:.3rem}.profile-image-card{background:#fff;background:var(--card-background);border-radius:14px;box-shadow:0 2px 8px #1e293b1a;padding:1rem 0 .5rem;text-align:center}.profile-image{border-radius:12px;box-shadow:0 2px 8px #1e293b1a;height:auto;margin:0 auto;max-width:160px;width:100%}.contact-card,.social-card{background:#fff;background:var(--card-background);border-radius:14px;box-shadow:0 2px 8px #1e293b1a;margin-bottom:1rem;padding:1rem .7rem}.contact-link,.social-link{align-items:center;border-radius:10px;box-sizing:border-box;display:flex;font-size:1.1rem;justify-content:center;margin-bottom:.5rem;max-width:100%;overflow:hidden;padding:1rem 1.2rem;text-align:center;width:100%}.contact-link svg,.social-link svg{height:20px;width:20px}.contact-button{margin-top:1rem;width:100%}.mobile-sidebar-content{align-items:center;gap:1.2rem;padding:1.2rem .7rem}.close-menu-btn{font-size:2.2rem;right:12px;top:8px}.mobile-only .contact-link,.mobile-only .social-link,.mobile-sidebar-section .contact-link,.mobile-sidebar-section .social-link,.project-link{align-items:center;border-radius:10px;box-sizing:border-box;display:flex;font-size:1.1rem;justify-content:center;margin-bottom:.5rem;max-width:100%;overflow:hidden;padding:1rem 1.2rem;text-align:center;width:100%}.mobile-sidebar-section .contact-card,.mobile-sidebar-section .social-card{background:#69b0a012;border-radius:18px;box-shadow:0 2px 8px #1e293b0f;margin-bottom:1.2rem;padding:1.2rem 1rem}.mobile-sidebar-section .contact-details{display:flex;flex-direction:column;gap:.7rem}.mobile-sidebar-section .contact-item{align-items:center;display:flex;font-size:1.08rem;gap:.7rem;padding:.2rem 0}.mobile-sidebar-section .label{align-items:center;color:#69b0a0;color:var(--secondary-color);display:flex;font-size:1.08rem;font-weight:600;gap:.4rem;min-width:90px}.mobile-sidebar-section .label svg{color:#69b0a0;color:var(--secondary-color);height:22px;width:22px}.mobile-sidebar-section .contact-item a,.mobile-sidebar-section .value{color:#385170;color:var(--text-color);font-size:1.08rem;font-weight:500;margin-left:0}.mobile-sidebar-section .contact-item a{text-decoration:underline;word-break:break-all}.mobile-sidebar-section .social-card h3{color:#69b0a0;color:var(--secondary-color);font-size:1.25rem;font-weight:700;letter-spacing:.01em;margin-bottom:1rem}.mobile-sidebar-section .social-links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;width:100%}.mobile-sidebar-section .social-link{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:12px;box-shadow:0 1px 4px #1e293b12;color:#69b0a0;color:var(--secondary-color);display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin:.5rem 0;padding:.9rem 1.1rem;transition:background .15s,color .15s;width:100%}.mobile-sidebar-section .social-link svg{color:#69b0a0;color:var(--secondary-color);height:26px;width:26px}.mobile-sidebar-section .social-link:hover{background:#69b0a0;background:var(--secondary-color);color:#f4f9f0;color:var(--primary-color)}.mobile-sidebar-section .social-link:hover svg{color:#f4f9f0;color:var(--primary-color)}.mobile-sidebar-section .social-card{border-top:1px solid #3851701a;margin-top:1.2rem;padding-top:1.2rem}}@media (max-width:600px){.header h1{font-size:1.1rem}.header h2{font-size:.95rem}.profile-image{max-width:100px}.project-image{height:90px}.contact-form-section,.education-section,.header,.profile-section,.projects-section,.skills-section,.work-section{border-radius:10px;padding:.7rem .3rem}}.hamburger-menu-btn{align-items:center;background:#69b0a0;background:var(--secondary-color);border:none;border-radius:8px;color:#f4f9f0;color:var(--primary-color);cursor:pointer;display:none;height:40px;justify-content:center;padding:8px;position:fixed;right:12px;top:12px;width:40px;z-index:4001}.hamburger-menu-btn svg{stroke:#f4f9f0;stroke:var(--primary-color);height:24px;width:24px}@media (max-width:1024px){.hamburger-menu-btn{display:flex}.nav-content{padding:0}.nav-links{background:#fff;background:var(--card-background);box-shadow:-2px 0 8px #0000001a;flex-direction:column;height:100vh;max-width:300px;padding:60px 20px 20px;position:fixed;right:-100%;top:0;transition:right .3s ease;width:80%;z-index:4000}.nav-links.open{right:0}.nav-links li{margin:10px 0}.nav-links a{display:block;font-size:1.1rem;padding:12px}.nav-links.open:before{background:#00000080;content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}}.mobile-nav{background:#fff;background:var(--card-background);border-top:1px solid #0000001a;bottom:0;box-shadow:0 -2px 10px #0000001a;display:none;left:0;padding:.5rem;position:fixed;right:0;z-index:1000}.mobile-nav-item{align-items:center;background:none;border:none;color:#385170;color:var(--text-color);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.75rem;gap:.25rem;justify-content:center;padding:.5rem;text-decoration:none}.mobile-nav-item svg{stroke:#385170;stroke:var(--text-color);height:24px;width:24px}.mobile-nav-item:focus,.mobile-nav-item:hover{color:#69b0a0;color:var(--secondary-color)}.mobile-nav-item:focus svg,.mobile-nav-item:hover svg{stroke:#69b0a0;stroke:var(--secondary-color)}.mobile-sidebar{bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:visibility 0s linear .3s,opacity .3s ease;visibility:hidden;z-index:2000}.mobile-sidebar.open{opacity:1;transition-delay:0s;visibility:visible}.mobile-sidebar-overlay{background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease}.mobile-sidebar.open .mobile-sidebar-overlay{opacity:1}.mobile-sidebar-content{background:#fff;background:var(--card-background);border-radius:20px 20px 0 0;bottom:0;left:0;max-height:90vh;overflow-y:auto;padding:1.5rem;position:fixed;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-sidebar.open .mobile-sidebar-content{transform:translateY(0)}.close-sidebar-btn{background:none;border:none;color:#385170;color:var(--text-color);cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem}.mobile-sidebar-header{margin-bottom:2rem;padding-top:1rem;text-align:center}.mobile-sidebar-header .profile-image{border-radius:50%;height:100px;margin-bottom:1rem;object-fit:cover;width:100px}.mobile-sidebar-header h3{color:#69b0a0;color:var(--secondary-color);margin:0}.mobile-sidebar-links{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.mobile-sidebar-links a{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:12px;color:#385170;color:var(--text-color);display:flex;gap:1rem;padding:1rem;text-decoration:none;transition:transform .2s ease}.mobile-sidebar-links a:hover{transform:translateX(5px)}.mobile-sidebar-links a svg{color:#69b0a0;color:var(--secondary-color)}.mobile-sidebar-social{display:flex;gap:1.5rem;justify-content:center;padding:1rem 0}.mobile-sidebar-social a{align-items:center;background:#f4f9f0;background:var(--background-color);border-radius:50%;color:#385170;color:var(--text-color);display:flex;justify-content:center;padding:.5rem;transition:transform .2s ease}.mobile-sidebar-social a:hover{transform:scale(1.1)}.mobile-sidebar-social a svg{height:24px;width:24px}@media (max-width:1024px){.mobile-nav{display:flex;justify-content:space-around}.container{padding-bottom:80px}.navbar{display:none}}@media (min-width:1025px){.desktop-sidebar{overflow:visible!important;position:static}.desktop-sidebar .contact-button{background:none;position:static;top:auto;width:100%;z-index:auto}.contact-form-section,.mobile-sidebar-section,.projects-section,.skills-section,.work-section{box-sizing:border-box;grid-column:1/-1;margin:2rem auto;max-width:1200px;width:100%}}.navbar-contact-cta{align-items:center;background:#f2812f;background:var(--accent-color-solid);border-radius:8px;box-shadow:0 2px 8px #1e293b1a;color:#fff;display:inline-flex;font-size:1rem;font-weight:600;height:40px;margin-left:2rem;opacity:0;padding:.5rem 1.5rem;text-decoration:none;transform:translateY(-10px);transition:background .2s,color .2s,box-shadow .2s,opacity .3s,transform .3s}.navbar-contact-cta.visible{opacity:1;transform:translateY(0)}.navbar-contact-cta:hover{background:#69b0a0;background:var(--secondary-color);color:#f4f9f0;color:var(--primary-color)}@media (max-width:1024px){.navbar-contact-cta{display:none!important}}.nav-content{align-items:center;display:flex;justify-content:space-between}.mobile-header-card{display:none}@media (max-width:1024px){.mobile-header-card{align-items:center;background:#fff;background:var(--card-background);border-radius:18px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--box-shadow);display:flex;flex-direction:column;justify-content:center;margin:1.2rem auto;max-width:600px;padding:2rem 1.2rem 1.2rem;text-align:center;width:100%}.mobile-header-avatar{border:3px solid #69b0a0;border:3px solid var(--secondary-color);border-radius:50%;box-shadow:0 2px 8px #1e293b1a;height:90px;margin-bottom:1.1rem;object-fit:cover;width:90px}.mobile-header-name{color:#69b0a0;color:var(--secondary-color);font-size:2rem;font-weight:800;letter-spacing:.01em;margin:0 0 .4rem}.mobile-header-title{color:#385170;color:var(--text-color);font-size:1.1rem;font-weight:500;margin:0;opacity:.85}.header.desktop-only{display:none!important}}.mobile-header-section{display:none}@media (max-width:1024px){.mobile-header-section{background:none;border-radius:0;box-shadow:none;box-sizing:border-box;flex-direction:column;margin:1.2rem auto .5rem;max-width:600px;padding:1.2rem 1rem .5rem;text-align:center;width:100%}.mobile-header-icon,.mobile-header-section{align-items:center;display:flex;justify-content:center}.mobile-header-icon{margin-bottom:.7rem}.mobile-header-icon svg{stroke:#69b0a0;stroke:var(--secondary-color);color:#69b0a0;color:var(--secondary-color);height:56px;width:56px}.mobile-header-name{color:#69b0a0;color:var(--secondary-color);font-size:2rem;font-weight:800;letter-spacing:.01em;margin:0 0 .3rem}.mobile-header-title{color:#385170;color:var(--text-color);font-size:1.1rem;font-weight:500;margin:0;opacity:.85}.header.desktop-only{display:none!important}}.fade-in-up{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) both;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.contact-card,.contact-form-section,.contact-link,.education-card,.form-group input,.form-group textarea,.header,.mobile-header-icon svg,.mobile-header-section,.mobile-sidebar-section,.project-card,.project-link,.skills-section,.social-card,.social-link,.submit-button,.theme-toggle,.work-card{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.about-me-centered{margin-left:auto;margin-right:auto;max-width:700px;padding-left:32px;padding-right:32px}.section-title{background:#f4f9f0;background:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 8px #1e293b1a;color:#fff;display:inline-block;font-size:1.25rem;font-weight:600;letter-spacing:.01em;margin-bottom:1.5rem;margin-top:2rem;padding:.5rem 1.5rem}.section-title:before{display:none}ol,ul{list-style:none;padding-left:0}li:before{content:none!important}
/*# sourceMappingURL=main.04c06c57.css.map*/