@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap);:root{--font-main:"Manrope","Segoe UI",sans-serif;--font-accent:"Space Grotesk","Segoe UI",sans-serif;--ink-0:#f1f5f9;--ink-1:#e2e8f0;--ink-2:#cbd5e1;--page-bg:#0a0c10;--surface-0:#151922;--surface-1:#1e242e;--brand-0:#7dc4ff;--brand-1:#a7d7ff;--brand-2:#2c323d;--stroke:#3a404b;--button-text:#0a0c10;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 12px 26px #00000059;--shadow-md:0 22px 48px #00000073;--bg-1:radial-gradient(circle at 0% 0%,#cbd5e11f 0%,#cbd5e100 45%);--bg-2:radial-gradient(circle at 100% 0%,#cbd5e114 0%,#cbd5e100 40%);--bg-3:linear-gradient(180deg,#0a0c10,#090b10 60%,#06080b);color-scheme:dark}[data-theme=light]{--ink-0:#111827;--ink-1:#1f2937;--ink-2:#374151;--page-bg:#eef1f5;--surface-0:#fff;--surface-1:#f7f8fb;--brand-0:#60a5fa;--brand-1:#93c5fd;--brand-2:#e5e7eb;--stroke:#d4d8e1;--bg-1:radial-gradient(circle at 0% 0%,#94a3b833 0%,#94a3b800 50%);--bg-2:radial-gradient(circle at 100% 0%,#94a3b82e 0%,#94a3b800 45%);--bg-3:linear-gradient(180deg,#f8fafc,#eff2f6 55%,#e9edf3);color-scheme:light}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0c10;background-color:var(--page-bg);background-image:radial-gradient(circle at 0 0,#cbd5e11f 0,#cbd5e100 45%),radial-gradient(circle at 100% 0,#cbd5e114 0,#cbd5e100 40%),linear-gradient(180deg,#0a0c10,#090b10 60%,#06080b);background-image:var(--bg-1),var(--bg-2),var(--bg-3);color:#e2e8f0;color:var(--ink-1);font-family:Manrope,Segoe UI,sans-serif;font-family:var(--font-main);margin:0;transition:background-color .3s ease,color .3s ease}code{font-family:Courier New,Courier,monospace}*{box-sizing:border-box}h1,h2,h3,h4{color:#f1f5f9;color:var(--ink-0);margin:0}p{line-height:1.65}a{color:inherit}.App{color:var(--ink-1);width:100%}.main-pages{margin:0 auto;padding-top:1.5rem;width:min(1120px,90vw)}.main-pages section{scroll-margin-top:7.2rem}.main-pages>.About,.main-pages>.Clients,.main-pages>.Contact,.main-pages>.Home,.main-pages>.Projects,.main-pages>.Services{display:flex;flex-direction:column;justify-content:center;min-height:min(880px,100vh);padding:4.25rem 0;text-align:left}.title{color:var(--ink-0);font-family:var(--font-accent);font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.02em;margin-bottom:.9rem}.section-subtitle{color:var(--ink-2);font-size:1.06rem;margin:0}@media only screen and (max-width:600px){.main-pages>.About,.main-pages>.Clients,.main-pages>.Contact,.main-pages>.Home,.main-pages>.Projects,.main-pages>.Services{min-height:auto;padding:3rem 0}}.theme-toggle{background:var(--brand-0);border:1px solid #0000;border-radius:var(--radius-pill);bottom:1.75rem;box-shadow:var(--shadow-sm);color:var(--button-text);cursor:pointer;font-family:var(--font-main);font-weight:600;left:1.75rem;padding:.6rem 1rem;position:fixed;transition:transform .2s ease,background .2s ease;z-index:1200}.theme-toggle:focus-visible,.theme-toggle:hover{background:var(--brand-1);outline:none;transform:translateY(-2px)}.hidden{filter:blur(2px);opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .55s ease,filter .45s ease}.show{filter:blur(0);opacity:1;transform:translateY(0)}.show .section-subtitle,.show .title{animation:enter-up .55s ease-out forwards;opacity:0}.show .section-subtitle{animation-delay:.08s}@keyframes enter-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion){.hidden{filter:blur(0);transform:none;transition:opacity .2s ease}.show .section-subtitle,.show .title{animation:none;opacity:1}}.navbar{align-items:center;animation:nav-drop .5s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--surface-1);background:color-mix(in srgb,var(--surface-1) 96%,#0000);border:1px solid var(--stroke);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);display:flex;gap:1rem;justify-content:space-between;margin:1rem auto 0;padding:.65rem .9rem .65rem 1rem;position:sticky;top:.75rem;width:min(1160px,94vw);z-index:1000}.navbar-brand{color:var(--ink-0);display:flex;flex-direction:column;font-family:var(--font-accent);font-size:.96rem;font-weight:700;gap:.15rem;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.brand-name{font-size:.98rem}.brand-role{color:var(--ink-2);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:0}.hamburger span{background:var(--ink-0);border-radius:2px;height:2.5px;transition:all .3s ease;width:24px}.hamburger.active span:first-child{transform:rotate(45deg) translate(9px,9px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.nav-wrapper{align-items:center;display:flex;gap:1rem}.navbar-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;list-style:none;margin:0;padding:0}.nav-link{border-radius:8px;color:var(--ink-2);font-size:.95rem;font-weight:600;padding:.4rem .55rem;text-decoration:none;transition:all .2s ease}.nav-link:focus-visible,.nav-link:hover{background:var(--surface-1);color:var(--ink-0);outline:none}.nav-cta{background:var(--brand-0);border:1px solid #0000;border-radius:var(--radius-pill);color:var(--button-text);font-weight:700;padding:.65rem 1.1rem;text-decoration:none;transition:text-decoration-color .2s ease;white-space:nowrap}.nav-cta:active,.nav-cta:focus-visible,.nav-cta:hover{background:var(--brand-1);color:var(--button-text);outline:none;text-decoration:none}@media only screen and (max-width:1100px){.navbar{padding:.65rem .9rem}.navbar-links{gap:.5rem}.nav-link{font-size:.88rem;padding:.35rem .45rem}}@media only screen and (max-width:768px){.navbar{border-radius:var(--radius-lg);flex-wrap:wrap;padding:.9rem}.hamburger{display:flex}.nav-wrapper{flex-direction:column;gap:1rem;max-height:0;overflow:hidden;transition:max-height .3s ease;width:100%}.nav-wrapper.open{max-height:500px}.navbar-links{flex-direction:column;gap:0;justify-content:flex-start;width:100%}.nav-link{border-radius:8px;display:block;padding:.7rem .55rem}.nav-cta{padding:.65rem 1.1rem;text-align:center;width:100%}}.Home{display:block}.intro-content{max-width:760px}.eyebrow{align-items:center;color:var(--brand-1);display:inline-flex;font-size:.82rem;gap:.5rem;letter-spacing:.07em;margin:0 0 .8rem;text-transform:uppercase}.eyebrow,.name{font-family:var(--font-accent)}.name{color:var(--ink-0);font-size:clamp(2.1rem,6vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}.one-liner{color:var(--ink-1);font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:500;margin-top:1.25rem}.description{color:var(--ink-2);font-size:1.05rem;margin-top:.9rem}.hero-cta-group{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}.hero-cta,.hero-secondary-cta{border-radius:var(--radius-pill);font-weight:700;padding:.72rem 1.2rem;text-decoration:none}.hero-cta{background:var(--brand-0);border:1px solid #0000;box-shadow:var(--shadow-sm);color:var(--button-text)}.hero-cta:active,.hero-cta:focus-visible,.hero-cta:hover{background:var(--brand-1);color:var(--button-text);outline:none}.hero-secondary-cta{background:#0000;border:1px solid var(--stroke);color:var(--ink-2)}.Home.show .intro-content>*{animation:enter-up .55s ease-out forwards;opacity:0}.Home.show .intro-content>:first-child{animation-delay:.05s}.Home.show .intro-content>:nth-child(2){animation-delay:.12s}.Home.show .intro-content>:nth-child(3){animation-delay:.2s}.Home.show .intro-content>:nth-child(4){animation-delay:.28s}.Home.show .intro-content>:nth-child(5){animation-delay:.36s}.Home.show .intro-content>:nth-child(6){animation-delay:.44s}.hero-points{grid-gap:.5rem;color:var(--ink-2);display:grid;gap:.5rem;list-style:none;margin:1.5rem 0 0;padding:0}.hero-points li:before{color:var(--brand-1);content:"• "}.Services .section-subtitle{max-width:760px}.service-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.service-card{background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.service-card h3{color:var(--ink-0);font-size:1.4rem;margin:.25rem 0 .75rem}.service-card p{color:var(--ink-2);line-height:1.6;margin:0}.service-kicker{color:var(--brand-1);font-family:var(--font-accent);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}@media only screen and (max-width:900px){.service-grid{grid-template-columns:1fr}}.project-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.8rem}.project-details{grid-gap:1rem;background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:1rem;padding:1.4rem;width:100%}.Projects.show .project-details{animation:enter-up .55s ease-out forwards;opacity:0}.Projects.show .project-details:first-child{animation-delay:.12s}.Projects.show .project-details:nth-child(2){animation-delay:.2s}.Projects.show .project-details:nth-child(3){animation-delay:.28s}.project-featured{background:linear-gradient(145deg,color-mix(in srgb,var(--surface-0) 85%,var(--brand-2) 15%),var(--surface-0));grid-column:1/-1}.project-media{background:var(--surface-1);border:1px solid var(--stroke);border-radius:14px;height:220px;object-fit:cover;width:100%}.project-label{color:var(--brand-1);font-family:var(--font-accent);font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.project-name{color:var(--ink-0);font-size:1.8rem;font-weight:700;margin-bottom:.8rem;margin-top:.35rem}.project-description{color:var(--ink-2);margin:.4rem 0}.project-links{display:flex;gap:.7rem;margin-top:1rem}.project-link{background:var(--surface-0);border:1px solid var(--stroke);border-radius:10px;color:var(--ink-1);display:inline-block;font-weight:700;padding:.58rem .9rem;text-decoration:none}.project-link.primary{background:var(--brand-0);border-color:#0000;color:var(--button-text)}.project-link:focus-visible,.project-link:hover{filter:brightness(1.06);outline:none}@media only screen and (max-width:900px){.project-container{grid-template-columns:1fr}}.about-top{align-items:center;display:flex;font-size:1.07rem;gap:1.2rem;justify-content:space-between;margin-top:1rem}.about-bio{flex:1 1;min-width:0}.about-photo-panel{flex:0 0 auto;margin:0 0 .75rem}.about-photo{aspect-ratio:1/1;border:1px solid var(--stroke);border-radius:50%;box-shadow:var(--shadow-md);display:block;object-fit:cover;object-position:center 32%;width:clamp(150px,20vw,220px)}.About h3{color:var(--ink-0);font-weight:700}.about-me{color:var(--ink-2);line-height:1.7;margin:0}.about-me-secondary{margin-top:1rem}.capability-list{background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.1rem}.about-cta-group{margin-top:1.4rem}.about-cta{align-items:center;background:var(--brand-0);border:1px solid #0000;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--button-text);display:inline-flex;font-weight:600;gap:.4rem;padding:.65rem 1.2rem;text-decoration:none;transition:transform .2s ease,background .2s ease}.about-cta:focus-visible,.about-cta:hover{background:var(--brand-1);outline:none;transform:translateY(-2px)}.capability-list ul{grid-gap:.45rem;color:var(--ink-2);display:grid;gap:.45rem;margin:.7rem 0 0;padding-left:1.2rem}@media only screen and (max-width:900px){.about-top{display:flex;flex-direction:column}.about-photo-panel{width:auto}}@media only screen and (max-width:600px){.title{font-size:2rem}.About h3{font-size:1.2rem}.About p,.skills{font-size:1rem}.about-top{display:flex;flex-direction:column}.About{height:-moz-fit-content;height:fit-content}}.Clients .section-subtitle{max-width:780px}.client-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.client-card{background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.Clients.show .client-card{animation:enter-up .55s ease-out forwards;opacity:0}.Clients.show .client-card:first-child{animation-delay:.12s}.Clients.show .client-card:nth-child(2){animation-delay:.22s}.client-card h3{font-size:1.3rem;margin:.25rem 0 .75rem}.stack-list{grid-gap:.45rem;color:var(--ink-2);display:grid;gap:.45rem;margin:0;padding-left:1.2rem}@media only screen and (max-width:900px){.client-grid{grid-template-columns:1fr}}.Contact{align-items:center;text-align:center}.contact-subtitle{color:var(--ink-2);margin-top:0;max-width:680px}.contact-form{background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;margin-top:1.6rem;padding:1.4rem;text-align:left;width:min(720px,100%)}.contact-form label{color:var(--ink-1);font-size:.92rem;font-weight:700;margin-bottom:.35rem}.input-class{background:var(--surface-1);border:1px solid var(--stroke);border-radius:12px;color:var(--ink-1);font-family:var(--font-main);font-size:1rem;margin-bottom:.9rem;padding:.75rem .8rem}.input-class:focus-visible{border-color:var(--brand-1);outline:2px solid color-mix(in srgb,var(--brand-1) 60%,#0000)}.contact-submit{background:var(--brand-0);border:1px solid #0000;border-radius:var(--radius-pill);color:var(--button-text);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1rem}.contact-submit:active,.contact-submit:focus-visible,.contact-submit:hover{background:var(--brand-1);color:var(--button-text);outline:none}.contact-status{color:var(--ink-2);font-size:.95rem;margin-bottom:0;margin-top:.8rem}@media only screen and (max-width:600px){.contact-form{padding:1rem}}.Footer{align-items:center;display:flex;flex-direction:column;font-size:1.4rem;gap:.5rem;justify-content:center;padding:2rem 0 2.5rem}.footer-text{color:var(--ink-2);font-size:.95rem;margin:0}.footer-consulting{color:var(--ink-2);font-size:.9rem;margin:0}.footer-consulting a{border-bottom:1px solid #0000;color:var(--ink-1);text-decoration:none}.footer-consulting a:focus-visible,.footer-consulting a:hover{border-bottom-color:var(--ink-1);outline:none}.Footer .socials{display:flex;gap:.55rem;list-style:none;margin:0;padding:0}.Footer .nav-link{color:var(--ink-2);text-decoration:none}
/*# sourceMappingURL=main.d45676d4.css.map*/