:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#fff;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent: 59, 130, 246;--accent-solid: #1a73e8;--text-nav: 17, 24, 39}#root{margin:0 auto;text-align:center;width:100%}nav{background-color:#fff;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:0 4%;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #0000001a;color:#000;box-sizing:border-box}.nav-buttons{display:flex;gap:.25rem}.name-div{display:flex;align-items:center;font-weight:700;font-size:1.05rem}.name-div p{margin:0}nav button{color:#000;background-color:transparent;padding:.5rem 1rem;border-radius:.4em;border:1px solid transparent;font-size:.95rem;cursor:pointer;font-family:inherit;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .08s ease}nav button:hover{background-color:rgba(var(--accent),.1);border-color:rgba(var(--accent),.25)}nav button:active{transform:translateY(2px)}nav button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--accent),.35);border-color:rgba(var(--accent),.45)}.hamburger{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#000;padding:.3rem .5rem;line-height:1;border-radius:.3em;transition:background-color .15s ease}.hamburger:hover{background-color:rgba(var(--accent),.08)}.mobile-menu{position:fixed;top:56px;left:0;right:0;background:#fff;display:flex;flex-direction:column;padding:.5rem 1rem 1rem;box-shadow:0 6px 20px #0000001f;z-index:999;border-top:1px solid #eee}.mobile-menu button{color:#222;background:none;border:none;font-size:1rem;padding:.75rem 1rem;text-align:left;cursor:pointer;border-radius:.4em;font-family:inherit;transition:background-color .15s ease}.mobile-menu button:hover{background-color:rgba(var(--accent),.08)}body{margin:0;display:flex;min-width:320px;min-height:100vh;width:100%}h1{font-size:2.4rem;line-height:1.15;margin:0;text-align:center}a{cursor:pointer;padding:0}.about-me h1,.experience h1,.projects h1,.interests h1{position:relative;padding-bottom:.75rem;margin-bottom:1.25rem;color:#222}.about-me h1:after,.experience h1:after,.projects h1:after,.interests h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:56px;height:3px;background-color:var(--accent-solid);border-radius:2px}main{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;padding:8% 10%;background-color:#fff;color:#000;margin:0}main h1{font-size:3rem;text-align:left;margin-bottom:.5rem;color:#111}.hero-subtitle{font-size:1.1rem;color:#666;margin:.5rem 0 0;font-weight:500}.left{text-align:left;width:60%}.right{width:35%;display:flex;justify-content:center}#headshot{border-radius:50%;max-width:300px;width:100%;outline:3px solid var(--accent-solid);outline-offset:5px}.cta{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.cta a{padding:0;display:flex;align-items:center}.cta img,.resume-btn img{transition:transform .2s ease,opacity .2s ease}.cta img:hover,.resume-btn:hover img{transform:translateY(-3px);opacity:.75}.linkedin,.github{height:44px;cursor:pointer}.resume{height:44px;padding:0;margin:0}.mail{height:44px;width:auto;display:block;cursor:pointer}.resume-btn{text-decoration:none;color:#000;display:flex;align-items:center;background-color:transparent;border-radius:.4em;cursor:pointer}.about-me{display:flex;flex-direction:column;background-color:#eef4ff;color:#242526;text-align:left;padding:8% 10%}.about-me h2{color:#333;font-size:1.3rem;margin-top:1.75rem;margin-bottom:.5rem}.about-me>p{font-size:1.05rem;line-height:1.75;color:#444;margin:0}.technologies,.hobbies{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin-top:1rem}.items{border:1px solid #e0e7f0;border-radius:10px;background-color:#fff;box-shadow:0 2px 6px #0000000f;transition:transform .2s ease,box-shadow .2s ease;padding:.75rem 1rem;display:flex;flex-direction:row;align-items:center;gap:.75rem}.items:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001a}.items img{width:40px;flex-shrink:0}.items p{margin:0;font-size:.95rem;color:#333;font-weight:500}.experience{background-color:#fff;color:#242424;padding:8% 10%}.experience h2{color:#666;font-size:1.05rem;font-weight:500;text-align:left;margin-top:.4rem;margin-bottom:0}.exp-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.exp-card{background:#fff;border-radius:.8em;padding:1.5rem 2rem;color:#333;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--accent-solid);transition:transform .3s ease,box-shadow .3s ease}.exp-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.exp-title h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--accent-solid);text-align:left}.exp-company{display:block;font-weight:600;color:#555;font-size:.95rem;text-align:left}.exp-date{font-size:.85rem;color:#555;font-weight:600;background:#eef4ff;padding:.3rem .8rem;border-radius:1em;white-space:nowrap;align-self:flex-start}.exp-bullets,.carfax-bullets{list-style:disc;padding-left:1.5rem;margin:0 0 1rem}.exp-bullets li,.carfax-bullets li{color:#555;font-size:.95rem;margin-bottom:.4rem;text-align:left;line-height:1.65}.exp-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background-color:#3b82f61a;color:var(--accent-solid);border:1px solid rgba(59,130,246,.3);border-radius:.4em;padding:.2rem .7rem;font-size:.82rem;font-weight:500}.projects{padding:8% 10%;background-color:#eef4ff;text-align:center}.projects h2{color:#666;font-size:1.05rem;font-weight:500;text-align:left;margin-top:.4rem;margin-bottom:2rem}.proj-grid{display:flex;flex-direction:column;gap:1.5rem;justify-content:center;max-width:900px;margin:0 auto}.card{background:#fff;border-radius:.8em;box-shadow:0 2px 8px #00000014;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.card-content h3{font-size:1.5rem;color:var(--accent-solid);margin-bottom:.5rem}.card-content p{color:#555;font-size:.95rem;margin-bottom:.5rem;text-align:center;line-height:1.65}.card p{text-align:left}.card a{color:var(--accent-solid);text-decoration:none;font-weight:700}.card a:hover{cursor:pointer}.project-images{display:flex;align-items:center;justify-content:center;gap:1rem}.arrow{width:36px;height:auto;opacity:.4;cursor:pointer;transition:opacity .15s ease}.arrow:hover{opacity:.75}.project-photo-todo,.project-photo-ctrl{width:100%;border-radius:.5em;margin-top:1rem;margin-bottom:1rem}a.code-btn{align-self:center;text-decoration:none;color:#fff;padding:.6rem 1.75rem;background-color:var(--accent-solid);border-radius:.4em;font-size:.95rem;cursor:pointer;border:none;font-family:inherit;font-weight:500;margin-top:1rem;transition:background-color .2s ease,transform .08s ease,box-shadow .2s ease}.code-btn:hover{background-color:#1558b0;box-shadow:0 4px 14px #1a73e859}.code-btn:active{transform:translateY(2px)}.interests{display:flex;flex-direction:column;background-color:#fff;color:#242526;text-align:left;padding:8% 10%}.interests h2{color:#666;font-size:1.05rem;font-weight:500;text-align:left;margin-top:.4rem;margin-bottom:1.5rem}footer{background-color:#1a1a2e;color:#888;text-align:center;padding:2rem 1rem;font-size:.9rem}footer p{margin:0}textarea{resize:none;background-color:#fff;color:#000;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;border-radius:.25em;padding:1%}.contact{font-size:1rem;padding:8% 10%;text-align:left;background-color:#fff;color:#000}.contact textarea{width:60%;font-size:.95rem}.private-source{display:block;margin-top:1rem;font-size:.9rem;font-weight:700;color:#888;text-align:center}.last{display:flex;justify-content:space-evenly;width:50%;margin:2%}input{resize:none;background-color:#fff;color:#000;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;border-radius:.25em;padding:1%;width:60%;font-size:.95rem}@media (max-width: 768px){nav{display:flex;padding:0 5%}.nav-buttons{display:none}.hamburger{display:block}main{display:grid;grid-template-columns:1fr;grid-template-areas:"title" "photo" "desc" "cta";row-gap:.9rem;padding:14% 6% 10%;text-align:left}.left,.right{display:contents}main h1{grid-area:title;font-size:2.2rem;justify-self:center}#headshot{grid-area:photo;max-width:200px;width:60vw;border-radius:50%;justify-self:center}.hero-subtitle{grid-area:desc;text-align:center;font-size:.95rem}.cta{grid-area:cta;justify-self:center;justify-content:center;align-items:center;gap:.6rem;display:flex;flex-direction:row;flex-wrap:nowrap}.mail,.linkedin,.github,.resume{height:36px}.about-me,.interests,.experience,.projects{padding:12% 6%}.exp-title h3{font-size:1.05rem}.exp-date{font-size:.8rem}.exp-bullets li,.carfax-bullets li{font-size:.9rem}.technologies,.hobbies{grid-template-columns:repeat(2,1fr);gap:.5rem}.items{padding:.6rem .75rem;gap:.5rem}.items img{width:32px}.projects h2{padding-left:0}.proj-grid{gap:1rem;margin:0}.card{padding:1rem}.card-content h3{font-size:1.2rem}.project-images{gap:.5rem}.arrow{width:28px}.project-photo-todo,.project-photo-ctrl{border-radius:.4rem;margin-top:.5rem;margin-bottom:.5rem}.code-btn{width:100%;font-size:.95rem;padding:.75rem 1rem;text-align:center}input,textarea{width:100%;font-size:1rem}.contact{padding:10% 6%}}
