:root{--bg-app:#090d14;--bg-surface:#111827;--bg-elevated:#1a2234;--bg-hero:#1a2234;--bg-nav:#0c1018;--bg-card:#161f2e;--bg-dropdown:#111827;--bg-dropdown-hover:#1e293b;--bg-input:#0f1623;--text-primary:#e8edf5;--text-secondary:#94a3b8;--text-nav:#e2e8f0;--text-on-elevated:#f1f5f9;--text-link:#67c8f7;--text-link-hover:#a5e8ff;--accent:#8b7cf7;--accent-hover:#a599f9;--accent-secondary:#38bdf8;--accent-tertiary:#4ade80;--accent-contrast:#090d14;--accent-muted:#8b7cf724;--accent-gradient:linear-gradient(120deg,#8b7cf7,#38bdf8 50%,#4ade80);--border:#2a3548;--border-accent:#38bdf880;--shadow:#00000080;--glow:0 0 24px #38bdf82e,0 8px 24px #00000059;--radius-card:14px;--radius-header:14px;--radius-input:6px;--content-max:1100px;--page-padding:clamp(1rem,4vw,2.5rem);--nav-height:64px}.pageShell{margin:0 auto;min-height:calc(100vh - var(--nav-height));padding:var(--page-padding);text-align:left;width:min(var(--content-max),92vw)}.pageHero{background-color:var(--bg-hero);border:1px solid var(--border);border-radius:var(--radius-header);color:var(--text-on-elevated);margin-bottom:2.5rem;overflow:hidden;padding:2.25rem 2rem;position:relative}.pageHero:after{background:var(--accent-gradient);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.pageHero h1,.pageHero h2{-webkit-text-fill-color:#0000;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:clamp(2rem,5vw,2.75rem);font-weight:600;letter-spacing:-.02em;margin:0}.pageHeroEyebrow{color:var(--accent-secondary);display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.pageHeroSub{color:var(--text-secondary);font-size:1.05rem;margin:.75rem 0 0;max-width:36ch}.pageCard{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 4px 16px var(--shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.pageCard:hover{border-color:var(--border-accent);box-shadow:var(--glow)}.sectionLabel{color:var(--accent-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-app);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;transition:background-color .25s ease,color .25s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:var(--bg-app);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;overflow:auto;text-align:center;transition:background-color .25s ease}p{color:var(--text-primary)}a{color:var(--text-link);transition:color .15s ease}a:hover{color:var(--text-link-hover)}.navContainer{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:var(--bg-nav);border-bottom:1px solid var(--border-accent);box-shadow:0 4px 24px #0000004d;color:var(--text-nav);font-family:inherit;justify-content:space-between;min-height:var(--nav-height);padding:0 1.5rem;position:-webkit-sticky;position:sticky;top:0;transition:background-color .25s ease,border-color .25s ease;z-index:100}.navContainer,.navRight{align-items:center;display:flex}.navRight{gap:.5rem}.navBrand{color:var(--accent-secondary);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;text-decoration:none}.navNav{align-self:center}.navUl{align-items:center;display:flex;flex-direction:row;gap:.25rem;list-style-type:none;margin:0;padding:0}.navLink{border-radius:6px;color:var(--text-nav);display:block;font-size:.9rem;font-weight:500;opacity:.8;padding:.5rem .85rem;text-decoration:none;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.navLink:hover{background-color:#ffffff0f;opacity:1}.navLink.active{background-color:var(--accent-muted);color:var(--accent-secondary);opacity:1}.dropdown{position:relative}.dropdownItems{background-color:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius-input);box-shadow:0 8px 24px var(--shadow);display:none;left:50%;list-style-type:none;margin:0;min-width:220px;padding:.35rem 0;position:absolute;text-align:left;top:calc(100% + 4px);transform:translateX(-50%);z-index:1}.dropdownItems a{color:var(--text-nav);display:block;font-size:.85rem;opacity:.85;padding:.55rem 1rem;text-decoration:none}.dropdownItems a:hover{background-color:var(--bg-dropdown-hover);opacity:1}.dropdown li{padding:0}.dropdown:hover .dropdownItems{display:block}.homePage{padding-bottom:3rem;padding-top:2rem}.homeIntro{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(220px,280px) 1fr}.homeImageWrap{overflow:hidden;padding:.75rem}.homeImg{aspect-ratio:3/4;border-radius:calc(var(--radius-card) - 4px);display:block;height:auto;object-fit:cover;width:100%}.homeContent{font-size:1.05rem;line-height:1.7;padding:1.75rem 2rem}.homeContent p{color:var(--text-primary);margin:0 0 1.25rem}.homeContent p:last-child{margin-bottom:0}@media (max-width:768px){.homeIntro{grid-template-columns:1fr}.homeImageWrap{margin:0 auto;max-width:280px}}.contactPage{padding-bottom:3rem;padding-top:2rem}.contactContainer{margin:0 auto;max-width:520px;padding:2rem}.form{display:flex;flex-direction:column;font-family:inherit;gap:.35rem}label{margin-top:.5rem;text-align:left}.form input,.form textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-input);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.7rem .85rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form input:focus,.form textarea:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px #8b7cf726;outline:none}.form textarea{min-height:120px;resize:vertical}.form button{background:var(--accent-gradient);border:none;border-radius:var(--radius-input);color:var(--accent-contrast);cursor:pointer;font-size:.95rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:opacity .2s ease,transform .15s ease}.form button:hover{opacity:.92;transform:translateY(-1px)}.contactSuccess{color:var(--accent-tertiary);font-size:.95rem;margin-top:1rem}.animation{animation:slide-up .6s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.resumePage{padding-bottom:3rem;padding-top:2rem}.iframeContainer{height:min(80vh,900px);margin:0 auto;max-width:700px;overflow:hidden;padding:.5rem}.iframe{border:none;border-radius:calc(var(--radius-card) - 4px);height:100%;width:100%}.resumeA{color:var(--text-on-elevated);text-decoration:none}.resumeA:hover{color:var(--accent-secondary)}.projectsPage{padding-bottom:3rem;padding-top:2rem}.projectGrid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.projectCard{overflow:hidden}.projectCard:hover{transform:translateY(-3px)}.projectCardLink{color:inherit;display:flex;flex-direction:column;height:100%;padding:1.5rem;text-decoration:none}.projectCardLink h3{color:var(--text-primary);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .6rem}.projectCardLink p{color:var(--text-secondary);flex-grow:1;font-size:.92rem;line-height:1.6;margin:0 0 1rem}.projectCardLink img{border:1px solid var(--border-accent);border-radius:calc(var(--radius-card) - 4px);height:200px;object-fit:cover;width:100%}.projectCardLink:hover h3{color:var(--accent-secondary)}.projectsFooter{padding:1.5rem 2rem;text-align:center}.projectsFooter p{color:var(--text-secondary);margin:0 0 1rem}.legalLinks{color:var(--text-secondary);font-size:.85em}.legalLinks a{color:var(--text-link);text-decoration:underline}.legalLinks a:hover{color:var(--text-link-hover)}.legalSeparator{color:var(--border-accent);margin:0 10px}@media (max-width:768px){.projectGrid{grid-template-columns:1fr}}.southwestPage{padding-bottom:3rem;padding-top:2rem}.Page-container{color:var(--text-primary);font-family:inherit;line-height:1.6;margin:0 auto;max-width:800px;padding:2rem;text-align:left}.Page-container>p{color:var(--text-secondary);margin-top:0}.Southwest-container{margin-top:1.5rem}label{color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:5px}.formUnit{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;min-width:200px;width:100%}.formUnit label{margin-right:8px;min-width:180px}.SwInput{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);flex-grow:1;font-size:.95rem;margin-bottom:10px;padding:.65rem .85rem;transition:border-color .15s ease,box-shadow .15s ease}.SwInput:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px #8b7cf726;outline:none}.SwRadio{accent-color:var(--accent);margin-left:10px;margin-right:5px}.swButton{align-self:flex-start;background:var(--accent-gradient);border:none;border-radius:var(--radius-input);color:var(--accent-contrast);cursor:pointer;font-size:.95rem;font-weight:600;margin-left:10px;padding:.7rem 1.4rem;transition:opacity .2s ease,transform .15s ease}.swButton:hover{opacity:.92;transform:translateY(-1px)}fieldset{border:1px solid var(--border);border-radius:var(--radius-input);margin-bottom:1.25rem;padding:1.25rem}legend{color:var(--accent-secondary);font-weight:600;padding:0 .5rem}
/*# sourceMappingURL=main.4b97c1d4.css.map*/