:root{--carolina-blue:#4b9cd3;--navy:#13294b;--secondary-gray:#f8f8f8;--tile-teal:#00a5ad;--sunburst-yellow:#ffd100;--sandstone:#f4e8dd;--azalea-pink:#ef426f;--davie-green:#c4d600;--longleaf-pine:#00594c;--dark-gray:#5a5a5a;--bg-dark:#0f1419;--bg-dark-elevated:#1a1f29;--text-dark-primary:#e8e8e8;--text-dark-secondary:#a8a8a8;--border-dark:#2a2f3a;--transition-duration:0.5s;--transition-smooth:cubic-bezier(0.4,0,0.2,1);--transition-spring:cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.icon-link{color:#4b9cd3;color:var(--carolina-blue);display:inline-block;padding:10px;transition:color .5s;transition:color var(--transition-duration)}.icon-link:hover{color:#f4e8dd;color:var(--sandstone)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100;src:url(/static/media/Inter-Thin.fff2a096db014f6239d4.woff2) format("woff2"),url(/static/media/Inter-Thin.29b9c616a95a912abf73.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:100;src:url(/static/media/Inter-ThinItalic.bf213704dce6b437ede4.woff2) format("woff2"),url(/static/media/Inter-ThinItalic.bae95eb2f889c797e435.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:200;src:url(/static/media/Inter-ExtraLight.72505e6a122c6acd5471.woff2) format("woff2"),url(/static/media/Inter-ExtraLight.c4248615291a9e8f1fb7.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:200;src:url(/static/media/Inter-ExtraLightItalic.5c7d7d6deb1d2ec8d48c.woff2) format("woff2"),url(/static/media/Inter-ExtraLightItalic.170dddfca278d3c2ad4a.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/Inter-Light.2d5198822ab091ce4305.woff2) format("woff2"),url(/static/media/Inter-Light.994e34451cc19ede31d3.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:300;src:url(/static/media/Inter-LightItalic.f86952265d7b0f02c921.woff2) format("woff2"),url(/static/media/Inter-LightItalic.ef9f65d91d2b0ba9b2e4.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/Inter-Regular.c8ba52b05a9ef10f4758.woff2) format("woff2"),url(/static/media/Inter-Regular.8c206db99195777c6769.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:400;src:url(/static/media/Inter-Italic.cb10ffd7684cd9836a05.woff2) format("woff2"),url(/static/media/Inter-Italic.890025e726861dba417f.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/Inter-Medium.293fd13dbca5a3e450ef.woff2) format("woff2"),url(/static/media/Inter-Medium.9053572c46aeb4b16caa.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:500;src:url(/static/media/Inter-MediumItalic.085cb93e613ba3d40d2b.woff2) format("woff2"),url(/static/media/Inter-MediumItalic.3d0107dd43d0101274d3.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/Inter-SemiBold.b5f0f109bc88052d4000.woff2) format("woff2"),url(/static/media/Inter-SemiBold.cca62d21c8c555c392e5.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:600;src:url(/static/media/Inter-SemiBoldItalic.d9467ee321a8f38aefff.woff2) format("woff2"),url(/static/media/Inter-SemiBoldItalic.463bdbfb28abad0fa6df.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/Inter-Bold.ec64ea577b0349e055ad.woff2) format("woff2"),url(/static/media/Inter-Bold.93c1301bd9f486c573b3.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:700;src:url(/static/media/Inter-BoldItalic.2d26c56a606662486796.woff2) format("woff2"),url(/static/media/Inter-BoldItalic.b376885042f6c961a541.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:800;src:url(/static/media/Inter-ExtraBold.cbe0ae49c52c920fd563.woff2) format("woff2"),url(/static/media/Inter-ExtraBold.d0fa3bb2b7c9063dc594.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:800;src:url(/static/media/Inter-ExtraBoldItalic.535a6cf662596b3bd6a6.woff2) format("woff2"),url(/static/media/Inter-ExtraBoldItalic.6ab17abedc4d3f140953.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:900;src:url(/static/media/Inter-Black.15ca31c0a2a68f76d2d1.woff2) format("woff2"),url(/static/media/Inter-Black.c6938660eec019fefd68.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:900;src:url(/static/media/Inter-BlackItalic.cb2a7335650c690077fe.woff2) format("woff2"),url(/static/media/Inter-BlackItalic.ca1e738e4f349f27514d.woff) format("woff")}@font-face{font-named-instance:"Regular";font-display:swap;font-family:Inter var;font-style:normal;font-weight:100 900;src:url(/static/media/Inter-roman.var.ba4caefcdf5b36b438db.woff2) format("woff2")}@font-face{font-named-instance:"Italic";font-display:swap;font-family:Inter var;font-style:italic;font-weight:100 900;src:url(/static/media/Inter-italic.var.30807be7abc48ba8c73c.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter var experimental;font-style:oblique 0deg 10deg;font-weight:100 900;src:url(/static/media/Inter.var.c2fe3cb2b7c746f7966a.woff2) format("woff2")}.navbar{align-items:center;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#ffffffb3;border-bottom:1px solid #0000000d;display:flex;height:80px;justify-content:flex-end;padding:0 1.25rem;position:-webkit-sticky;position:sticky;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}@media screen and (min-width:769px){.navbar.scrolled{background:#ffffffd9;box-shadow:0 4px 12px #0000000d;height:60px}}.nav-menu{align-items:center;display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-menu__item{position:relative}.nav-menu__item a{color:#13294b;font-weight:500;position:relative;text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1)}.nav-menu__item a:hover{color:#4b9cd3}.nav-menu__item a:after{background-color:#4b9cd3;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.nav-menu__item a:hover:after{width:100%}.menu-button{background:none;border:none;color:#13294b;cursor:pointer;display:none;padding:.5rem;transition:color .3s ease;z-index:102}.menu-button:hover{color:#4b9cd3}@media screen and (max-width:768px){.menu-button{display:block}.nav-menu{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa;flex-direction:column;height:calc(100vh - 80px);justify-content:center;position:fixed;right:0;top:80px;transform:translateX(100%);transition:transform .3s ease;width:100%}.nav-menu.open{transform:translateX(0)}.nav-menu__item{margin:1rem 0}.nav-menu__item a{font-size:1.25rem}.nav-menu__item a:after{display:none}}@media(prefers-color-scheme:dark){.navbar{background:#0f1419b3;border-bottom:1px solid #ffffff1a}.navbar.scrolled{background:#0f1419d9;box-shadow:0 4px 12px #0000004d}.nav-menu__item a{color:#fffffff2}.nav-menu__item a:hover{color:#4b9cd3}}@media screen and (prefers-color-scheme:dark)and (max-width:768px){.nav-menu{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#0f1419f2}}@media(prefers-color-scheme:dark){.menu-button{color:#fffffff2}.menu-button:hover{color:#4b9cd3}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}.App-header{align-items:center;background-color:var(--navy);color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#4b9cd3}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#222;font-family:-apple-system,Inter,system-ui;font-weight:300;line-height:1.5;overflow-x:hidden;scroll-behavior:smooth}@media(prefers-color-scheme:dark){body{background-color:var(--bg-dark);color:var(--text-dark-primary)}h1{color:var(--carolina-blue)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.App-paragraph{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:-apple-system,Inter,system-ui;font-size:calc(10px + 2vmin);line-height:1.5;margin:10px 0;padding:10px;text-align:center}.top-btn{background-color:#555;border:none;border-radius:10px;bottom:20px;color:#fff;cursor:pointer;font-size:18px;outline:none;padding:15px;position:fixed;right:20px;z-index:99}.top-btn:hover{background-color:#777}.credit{justify-content:flex-end}.credit,.home{display:flex;flex-direction:column}.home{min-height:100vh;width:100%}.home .home-header{padding:2rem 1rem}.home .home-header h1{color:var(--carolina-blue);margin:0}.home .image-container{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:0 1rem 2rem;width:100%}.home .image-wrapper{border-radius:0;display:block;height:0;overflow:visible;padding-bottom:min(66.67vh,66.67%);position:relative;text-decoration:none;transition:z-index 0s .3s;width:100%;z-index:1}.home .image-wrapper:hover{transition:z-index 0s 0s;z-index:10}.home .image-wrapper img{box-shadow:0 0 0 #0000;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .7s cubic-bezier(.4,0,.2,1),filter .3s ease,box-shadow .4s cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}.home .image-wrapper .overlay{align-items:center;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:linear-gradient(180deg,#0000000d,#000000bf);bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .4s cubic-bezier(.4,0,.2,1);transition:opacity .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transition:opacity .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .4s cubic-bezier(.4,0,.2,1)}.home .image-wrapper .overlay p{color:#fff;font-size:1.8rem;font-weight:500;margin:0;transform:translateY(10px);transition:transform .4s cubic-bezier(.4,0,.2,1)}.home .image-wrapper:hover img{box-shadow:0 25px 70px #00000080;filter:brightness(.9);transform:scale(1.06)}.home .image-wrapper:hover .overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1;transform:scale(1.06)}.home .image-wrapper:hover .overlay p{transform:translateY(0)}@media(max-width:768px){.home .image-wrapper{overflow:hidden}.home .image-wrapper:hover img{box-shadow:0 12px 40px #0006;transform:scale(1.03)}}.home .credit{margin-top:auto;padding:2rem 1rem}.home .credit p{color:var(--dark-gray);font-size:.875rem;margin:0}.home .credit .icon-link{align-items:center;color:var(--carolina-blue);display:inline-flex;padding:.5rem;transition:color .3s ease}.home .credit .icon-link:hover{color:var(--navy)}@media(prefers-color-scheme:dark){.home .credit .icon-link:hover,.home .credit p{color:var(--sandstone)}}.image-container{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(1,1fr);grid-template-columns:1fr;margin:0 auto;max-width:1400px;padding:.5rem;width:100%}@media(min-width:640px){.image-container{gap:.375rem;grid-template-columns:repeat(2,1fr);padding:1rem}}@media(min-width:1024px){.image-container{gap:.5rem;grid-template-columns:repeat(3,1fr)}}.image-wrapper{border-radius:0;cursor:pointer;height:0;overflow:visible;padding-bottom:75%;position:relative;transition:z-index 0s .3s;width:100%;z-index:1}.image-wrapper:hover{transition:z-index 0s 0s;z-index:10}.image-wrapper img{box-shadow:0 0 0 #0000;height:100%;left:0;object-fit:cover;opacity:1;position:absolute;top:0;transition:transform .5s var(--transition-smooth),filter .4s ease,box-shadow .5s var(--transition-smooth),opacity .3s ease;width:100%;will-change:transform}.image-wrapper .overlay{align-items:center;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:linear-gradient(180deg,#0000000d,#000000bf);bottom:0;color:#fff;display:flex;font-size:1.5em;font-weight:500;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;text-align:center;top:0;transition:opacity .3s var(--transition-smooth),transform .5s var(--transition-smooth),-webkit-backdrop-filter .3s var(--transition-smooth);transition:opacity .3s var(--transition-smooth),backdrop-filter .3s var(--transition-smooth),transform .5s var(--transition-smooth);transition:opacity .3s var(--transition-smooth),backdrop-filter .3s var(--transition-smooth),transform .5s var(--transition-smooth),-webkit-backdrop-filter .3s var(--transition-smooth)}.image-wrapper .overlay p{transform:translateY(10px);transition:transform .3s var(--transition-smooth)}.image-wrapper.hover-initial img{box-shadow:0 20px 60px #0006;filter:brightness(.95);opacity:1;transform:scale(1.08)}.image-wrapper.hover-initial .overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1;transform:scale(1.08)}.image-wrapper.hover-initial .overlay p{transform:translateY(0) scale(.926)}.image-wrapper.hover-sustained img{box-shadow:0 30px 90px #0009;filter:brightness(1);opacity:1;transform:scale(1.15)}.image-wrapper.hover-sustained .overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transform:scale(1.15)}.image-wrapper.hover-sustained .overlay p{transform:translateY(0) scale(.87)}.image-wrapper:hover:not(.hover-initial):not(.hover-sustained) img{box-shadow:0 20px 60px #0006;filter:brightness(.95);transform:scale(1.08)}.image-wrapper:hover:not(.hover-initial):not(.hover-sustained) .overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1;transform:scale(1.08)}.image-wrapper:hover:not(.hover-initial):not(.hover-sustained) .overlay p{transform:translateY(0) scale(.926)}.image-container:has(.hover-sustained) .image-wrapper:not(.hover-sustained) img{filter:brightness(.6);opacity:.5}@media(max-width:768px){.image-wrapper{overflow:hidden}.image-wrapper:hover img{box-shadow:0 8px 24px #0000004d;transform:scale(1.03)}.image-wrapper .overlay p{font-size:1.2em}}@media(prefers-reduced-motion:no-preference){.image-wrapper img{will-change:transform}}.photo-modal-overlay{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#000000eb;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:9999}.photo-modal-image{border-radius:2px;box-shadow:0 40px 120px #000c;cursor:pointer;height:auto;max-height:92vh;max-width:92vw;object-fit:contain;width:auto}@media(max-width:768px){.photo-modal-overlay{padding:1rem}.photo-modal-image{max-height:95vh;max-width:95vw}}@media(prefers-color-scheme:dark){.photo-modal-overlay{background:#000000f2}}.photo-modal{align-items:center;background-color:#000000f2;bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:1000}.photo-modal.visible{opacity:1;pointer-events:auto}.photo-modal img{max-height:90vh;max-width:90vw;object-fit:contain}.photo-modal__close{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.7;padding:.5rem;position:fixed;right:1rem;top:1rem;transition:opacity .3s ease}.photo-modal__close:hover{background-color:#ffffff1a;opacity:1}.image-container-mini{display:flex;flex-wrap:wrap;justify-content:left;max-width:calc(100% - 20px);padding:0 10px}.image-wrapper-mini{position:relative;width:25%}.image-wrapper-mini img{height:auto;width:100%}.image-wrapper-mini:hover .overlay{opacity:1}.featured-image{margin:0 auto 2rem;max-width:1400px;padding:.5rem;width:100%}@media(min-width:640px){.featured-image{padding:1rem}}.featured-image__wrapper{height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.featured-image__wrapper img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.featured-image--small{max-width:800px}.overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.overlay p{color:#fff;font-size:1.25rem;padding:1rem;text-align:center}.image-wrapper:hover .overlay{opacity:1}.image-wrapper-flexible{align-self:center;border-radius:0;cursor:pointer;max-width:100%;overflow:visible;position:relative;transition:z-index 0s .3s;width:100%;z-index:1}.image-wrapper-flexible:hover{transition:z-index 0s 0s;z-index:10}.image-wrapper-flexible img{box-shadow:0 0 0 #0000;display:block;height:auto;max-width:100%;object-fit:cover;opacity:1;transition:transform .5s var(--transition-smooth),filter .4s ease,box-shadow .5s var(--transition-smooth),opacity .3s ease;width:100%;will-change:transform}.image-wrapper-flexible.hover-initial img{box-shadow:0 20px 60px #0006;filter:brightness(.95);opacity:1;transform:scale(1.08)}.image-wrapper-flexible.hover-sustained img{box-shadow:0 30px 90px #0009;filter:brightness(1);opacity:1;transform:scale(1.15)}.image-container:has(.hover-sustained) .image-wrapper-flexible:not(.hover-sustained) img{filter:brightness(.6);opacity:.5}.bento-container{grid-gap:.5rem;display:grid;gap:.5rem;grid-auto-flow:dense;grid-template-columns:repeat(12,1fr);margin:0 auto;max-width:1400px;padding:0;width:100%}@media(min-width:640px){.bento-container{gap:.75rem;padding:1rem}}@media(min-width:1024px){.bento-container{gap:1rem}}.bento-container .image-wrapper-flexible{grid-column:span 12}.bento-container:has(.hover-sustained) .image-wrapper-flexible:not(.hover-sustained) img{filter:brightness(.6);opacity:.5}.left-align h2{font-weight:700}.left-align h2,.left-align h3{margin-left:20px;text-align:left}.left-align h3{font-weight:400}.left-align p{margin-left:20px;margin-right:20px;text-align:left}.left-align img{align-content:left}.centible-link{color:var(--navy);transition:color .3s ease}.centible-link:hover{color:#8068f3}@media(prefers-color-scheme:dark){.centible-link{color:#8068f3;transition:color .3s ease}.centible-link:hover{color:var(--sandstone)}}.apperture{color:var(--navy);transition:color .3s ease}.apperture:hover{color:var(--carolina-blue)}@media(prefers-color-scheme:dark){.apperture{color:var(--carolina-blue);transition:color .3s ease}.apperture:hover{color:var(--sandstone)}}.work{margin:0 auto;max-width:1400px;padding:3rem 2rem;position:relative}.work:before{background:radial-gradient(circle,var(--carolina-blue) 0,#0000 70%);height:400px;right:-100px;top:10%;width:400px}.work:after,.work:before{border-radius:50%;content:"";opacity:.03;pointer-events:none;position:absolute;z-index:0}.work:after{background:radial-gradient(circle,var(--tile-teal) 0,#0000 70%);bottom:20%;height:500px;left:-150px;width:500px}.work .work-header{animation:fadeInDown .6s ease-out;margin-bottom:4rem;position:relative;text-align:center;z-index:1}.work .work-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--carolina-blue) 0,var(--tile-teal) 100%);-webkit-background-clip:text;background-clip:text;color:var(--carolina-blue);font-size:3rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.work .work-header:after{animation:expandWidth .8s ease-out .3s backwards;background:linear-gradient(90deg,var(--carolina-blue),var(--tile-teal));border-radius:2px;content:"";display:block;height:4px;margin:1rem auto 0;width:60px}.work .experience-grid{display:flex;flex-direction:column;gap:2.5rem;position:relative;z-index:1}.work .experience-card{--mouse-x:0%;--mouse-y:0%;animation:fadeInUp .7s cubic-bezier(.34,1.56,.64,1) backwards;background:#fff;border-left:5px solid;border-radius:20px;box-shadow:0 4px 20px #00000014;overflow:visible;padding:2.5rem;position:relative;transition:transform .8s ease-out,box-shadow .8s ease-out}.work .experience-card:before{background:radial-gradient(1000px circle at calc(50% + var(--mouse-x)) calc(50% + var(--mouse-y)),#ffffff05 0,#0000 100%);border-radius:20px;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease-out}.work .experience-card:hover{box-shadow:0 10px 24px #0000001a;transform:translateY(-3px)}.work .experience-card:hover:before{opacity:1}.work .experience-card:hover .logo-container{box-shadow:0 4px 12px #00000014;transform:scale(1.02)}.work .experience-card:hover .header-text h2{transform:translateX(2px)}.work .experience-card:hover .card-content{transform:none}.work .experience-card:first-child{animation-delay:.1s}.work .experience-card:nth-child(2){animation-delay:.2s}.work .experience-card:nth-child(3){animation-delay:.3s}.work .experience-card:nth-child(4){animation-delay:.4s}.work .experience-card .card-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:2rem}.work .experience-card .card-header .logo-container{align-items:center;background:linear-gradient(135deg,#fafafa,#f0f0f0);border-radius:16px;box-shadow:0 2px 10px #0000000d;display:flex;flex-shrink:0;height:80px;justify-content:center;padding:1rem;transition:all .8s ease-out;width:80px}.work .experience-card .card-header .logo-container img{filter:contrast(1.1);height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.work .experience-card .card-header .header-text{text-align:left}.work .experience-card .card-header .header-text h2{color:var(--navy);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:0 0 .25rem;transition:transform .8s ease-out}.work .experience-card .card-header .header-text h3{font-size:1.2rem;font-style:normal;font-weight:600;line-height:1.3;margin:0 0 .25rem}.work .experience-card .card-header .header-text .period{color:var(--dark-gray);font-size:.875rem;font-weight:500;letter-spacing:.05em;margin:0;opacity:.75;text-transform:uppercase}.work .experience-card .card-content{transition:transform .8s ease-out}.work .experience-card .card-content p{color:#444;font-size:1.0625rem;line-height:1.8;margin:0 0 1.25rem}.work .experience-card .card-content p:last-child{margin-bottom:0}.work .experience-card.willowtree{border-left-color:#19b39f}.work .experience-card.willowtree .header-text h3{color:#19b39f}.work .experience-card.willowtree .logo-container{background:linear-gradient(135deg,#19b39f14,#19b39f05)}.work .experience-card.willowtree:before{background:radial-gradient(1000px circle at calc(50% + var(--mouse-x)) calc(50% + var(--mouse-y)),#19b39f0f 0,#19b39f05 40%,#0000 100%)}.work .experience-card.willowtree:hover .logo-container{background:linear-gradient(135deg,#19b39f26,#19b39f0d)}.work .experience-card.cisco{border-left-color:#049fd9}.work .experience-card.cisco .header-text h3{color:#049fd9}.work .experience-card.cisco .logo-container{background:linear-gradient(135deg,#049fd914,#049fd905)}.work .experience-card.cisco:before{background:radial-gradient(1000px circle at calc(50% + var(--mouse-x)) calc(50% + var(--mouse-y)),#049fd90f 0,#049fd905 40%,#0000 100%)}.work .experience-card.cisco:hover .logo-container{background:linear-gradient(135deg,#049fd926,#049fd90d)}.work .experience-card.netapp{border-left-color:#0067c5}.work .experience-card.netapp .header-text h3{color:#0067c5}.work .experience-card.netapp .logo-container{background:linear-gradient(135deg,#0067c514,#0067c505)}.work .experience-card.netapp:before{background:radial-gradient(1000px circle at calc(50% + var(--mouse-x)) calc(50% + var(--mouse-y)),#0067c50f 0,#0067c505 40%,#0000 100%)}.work .experience-card.netapp:hover .logo-container{background:linear-gradient(135deg,#0067c526,#0067c50d)}.work .experience-card.trc{border-left-color:#b0d254}.work .experience-card.trc .header-text h3{color:#b0d254}.work .experience-card.trc .logo-container{background:linear-gradient(135deg,#b0d25414,#b0d25405)}.work .experience-card.trc:before{background:radial-gradient(1000px circle at calc(50% + var(--mouse-x)) calc(50% + var(--mouse-y)),#b0d2540f 0,#b0d25405 40%,#0000 100%)}.work .experience-card.trc:hover .logo-container{background:linear-gradient(135deg,#b0d25426,#b0d2540d)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes expandWidth{0%{width:0}to{width:60px}}@media(prefers-color-scheme:dark){.work:after,.work:before{opacity:.06}.work .work-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--carolina-blue) 0,var(--tile-teal) 100%);-webkit-background-clip:text;background-clip:text}.work .experience-card{background:var(--bg-dark-elevated);box-shadow:0 4px 20px #00000080}.work .experience-card:hover{box-shadow:0 20px 40px #000000b3}.work .experience-card .logo-container{background:#ffffff0d!important}.work .experience-card .logo-container img{filter:contrast(1.1) brightness(1.1)}.work .experience-card .card-header .header-text h2{color:var(--text-dark-primary)}.work .experience-card .card-content p,.work .experience-card .card-header .header-text .period{color:var(--text-dark-secondary)}.work .experience-card.willowtree:hover{background:linear-gradient(135deg,#19b39f14 0,var(--bg-dark-elevated) 100%)}.work .experience-card.cisco:hover{background:linear-gradient(135deg,#049fd914 0,var(--bg-dark-elevated) 100%)}.work .experience-card.netapp:hover{background:linear-gradient(135deg,#0067c514 0,var(--bg-dark-elevated) 100%)}.work .experience-card.trc:hover{background:linear-gradient(135deg,#b0d25414 0,var(--bg-dark-elevated) 100%)}}@media(max-width:768px){.work{padding:2rem 1rem}.work:after,.work:before{opacity:.02}.work .work-header{margin-bottom:3rem}.work .work-header h1{font-size:2.25rem}.work .work-header:after{width:50px}.work .experience-grid{gap:2rem}.work .experience-card{padding:2rem 1.5rem}.work .experience-card:hover{transform:translateY(-4px) scale(1.005)}.work .experience-card .card-header{gap:1.5rem}.work .experience-card .card-header .logo-container{height:75px;width:75px}.work .experience-card .card-header .header-text h2{font-size:1.5rem}.work .experience-card .card-header .header-text h3{font-size:1.125rem}.work .experience-card .card-content p{font-size:1rem;line-height:1.75}}@media(max-width:480px){.work{padding:1.5rem .75rem}.work .work-header{margin-bottom:2.5rem}.work .work-header h1{font-size:1.875rem}.work .work-header:after{height:3px;width:40px}.work .experience-card{border-left-width:4px;border-radius:16px;padding:1.5rem 1.25rem}.work .experience-card .card-header{gap:1.25rem}.work .experience-card .card-header .logo-container{height:65px;padding:.75rem;width:65px}.work .experience-card .card-header .header-text h2{font-size:1.375rem}.work .experience-card .card-header .header-text h3{font-size:1.0625rem}.work .experience-card .card-header .header-text .period{font-size:.875rem}.work .experience-card .card-content p{font-size:.9375rem;line-height:1.7}}@media(prefers-reduced-motion:reduce){.work:after,.work:before{display:none}.work .experience-card,.work .work-header,.work .work-header:after{animation:none}.work .experience-card:hover{transform:none}.work .experience-card .card-content,.work .experience-card .header-text h2,.work .experience-card .logo-container{transition:none}@keyframes fadeInUp,
  @keyframes fadeInDown,
  @keyframes expandWidth{0%,to{opacity:1;transform:none;width:60px}}}.link{color:var(--navy);transition:color .3s ease}.link:hover{color:var(--carolina-blue)}@media(prefers-color-scheme:dark){.link{color:var(--carolina-blue);transition:color .3s ease}.link:hover{color:var(--sandstone)}}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 100px);margin:0 auto;max-width:800px;padding:20px}.chat-container .chat-header{align-items:center;border-bottom:2px solid #e5e5e5;border-bottom:2px solid var(--border-color,#e5e5e5);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.chat-container .chat-header h1{font-size:2rem;font-weight:600;margin:0}.chat-container .chat-header .clear-button{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.chat-container .chat-header .clear-button:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.chat-container .chat-header .clear-button:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.chat-container .error-message{background:#fdf2f2;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:14px;margin-bottom:20px;padding:12px 16px}.chat-container .error-message strong{font-weight:600}.chat-container .debug-info{background:#f0f0f0;background:var(--debug-bg,#f0f0f0);border:1px solid #ddd;border:1px solid var(--debug-border,#ddd);border-radius:5px;color:#333;color:var(--debug-text,#333);font-family:monospace;font-size:12px;margin:10px 0;padding:10px}.chat-container .messages-container{background:#fafafa;background:var(--messages-bg,#fafafa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:12px;flex:1 1;margin-bottom:20px;overflow-y:auto;padding:10px}.chat-container .messages-container::-webkit-scrollbar{width:6px}.chat-container .messages-container::-webkit-scrollbar-track{background:#f1f1f1;background:var(--scrollbar-track,#f1f1f1);border-radius:3px}.chat-container .messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;background:var(--scrollbar-thumb,#c1c1c1);border-radius:3px}.chat-container .messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8;background:var(--scrollbar-thumb-hover,#a8a8a8)}.chat-container .messages-container .welcome-message{color:#666;color:var(--text-muted,#666);margin-top:40px;text-align:center}.chat-container .messages-container .welcome-message h3{font-weight:500;margin-bottom:10px}.chat-container .messages-container .welcome-message p{font-size:16px;line-height:1.5}.chat-container .messages-container .message{animation:fadeIn .3s ease-in;display:flex;margin-bottom:16px}.chat-container .messages-container .message.user{justify-content:flex-end}.chat-container .messages-container .message.user .message-content{background:#3498db;border-radius:18px 18px 4px 18px;color:#fff;max-width:70%}.chat-container .messages-container .message.assistant{justify-content:flex-start}.chat-container .messages-container .message.assistant .message-content{background:#fff;background:var(--assistant-message-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:18px 18px 18px 4px;color:inherit;max-width:70%}.chat-container .messages-container .message.assistant.loading .message-content{background:#f8f9fa;background:var(--loading-bg,#f8f9fa)}.chat-container .messages-container .message .message-content{padding:12px 16px;position:relative}.chat-container .messages-container .message .message-content .message-text{word-wrap:break-word;font-size:15px;line-height:1.4;white-space:pre-wrap}.chat-container .messages-container .message .message-content .message-time{font-size:11px;margin-top:4px;opacity:.7;text-align:right}.chat-container .messages-container .typing-indicator{align-items:center;display:flex;gap:4px}.chat-container .messages-container .typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#3498db;border-radius:50%;height:8px;width:8px}.chat-container .messages-container .typing-indicator span:first-child{animation-delay:-.32s}.chat-container .messages-container .typing-indicator span:nth-child(2){animation-delay:-.16s}.chat-container .messages-container .typing-indicator span:nth-child(3){animation-delay:0s}.chat-container .input-container{align-items:flex-end;background:#fff;background:var(--input-bg,#fff);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:12px;display:flex;gap:12px;padding:16px;transition:border-color .2s ease}.chat-container .input-container:focus-within{border-color:#3498db}.chat-container .input-container textarea{background:#0000;border:none;color:inherit;flex:1 1;font-family:inherit;font-size:15px;line-height:1.4;outline:none;padding:8px 0}.chat-container .input-container textarea::placeholder{color:#95a5a6;color:var(--text-muted,#95a5a6)}.chat-container .input-container textarea:disabled{cursor:not-allowed;opacity:.6}.chat-container .input-container .send-button{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.chat-container .input-container .send-button:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.chat-container .input-container .send-button:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@media(prefers-color-scheme:dark){.chat-container{--border-color:#34495e;--messages-bg:#2c3e50;--assistant-message-bg:#34495e;--loading-bg:#34495e;--input-bg:#34495e;--text-muted:#bdc3c7;--scrollbar-track:#2c3e50;--scrollbar-thumb:#4a5f7a;--scrollbar-thumb-hover:#5a6f8a}.chat-container .error-message{background:#e74c3c;border-color:#c0392b;color:#fff}.chat-container .debug-info{--debug-bg:#2c3e50;--debug-text:#ecf0f1;--debug-border:#34495e}}@media(max-width:768px){.chat-container{height:calc(100vh - 80px);padding:15px}.chat-container .chat-header{align-items:stretch;flex-direction:column;gap:10px}.chat-container .chat-header h1{font-size:1.5rem;text-align:center}.chat-container .chat-header .clear-button{align-self:center;width:-webkit-fit-content;width:fit-content}.chat-container .messages-container .message.assistant .message-content,.chat-container .messages-container .message.user .message-content{max-width:85%}.chat-container .input-container{flex-direction:column;gap:10px}.chat-container .input-container .send-button{align-self:stretch}}.gh-button{-webkit-appearance:none;appearance:none;background-color:var(--carolina-blue);border:1px solid #1b1f2326;border-radius:6px;box-shadow:0 1px 0 #1b1f231a;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,system-ui,Inter,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;font-weight:600;line-height:20px;padding:6px 16px;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;vertical-align:middle;white-space:nowrap}.gh-button:focus:not(:focus-visible):not(.focus-visible){box-shadow:none;outline:none}.gh-button:hover{background-color:#3b93cf}.gh-button:focus{box-shadow:0 0 0 3px #2ea44f66;outline:none}.gh-button:disabled{background-color:#94d3a2;border-color:#1b1f231a;color:#fffc;cursor:default}.gh-button:active{background-color:#4b9cd3;box-shadow:inset 0 1px 0 #14462033}
/*# sourceMappingURL=main.10543d9b.css.map*/