@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:#10223d;--ink-1:#1d3557;--ink-2:#4b5f7d;--surface-0:#fff;--surface-1:#f3f8ff;--brand-0:#1f4f94;--brand-1:#2e6ac2;--brand-2:#d9e7fb;--stroke:#d6e3f7;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 8px 30px #0c2c5812;--shadow-md:0 16px 44px #0c2c581f}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#eef5ff 0,#eef5ff00 45%),radial-gradient(circle at 95% 0,#e4efff 0,#e4efff00 35%),linear-gradient(180deg,#f9fbff,#f4f8ff 40%,#eff4fc);color:#1d3557;color:var(--ink-1);font-family:Manrope,Segoe UI,sans-serif;font-family:var(--font-main);margin:0}code{font-family:Courier New,Courier,monospace}*{box-sizing:border-box}h1,h2,h3,h4{color:#10223d;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}.About,.Clients,.Contact,.Projects,.Services,.main-pages>.Home{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){.About,.Clients,.Contact,.Projects,.Services,.main-pages>.Home{min-height:auto;padding:3rem 0}}.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:#ffffffe0;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);font-family:var(--font-accent);font-size:.96rem;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.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(--brand-1);outline:none}.nav-cta{background:linear-gradient(120deg,var(--brand-0),var(--brand-1));border-radius:var(--radius-pill);color:#fff;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:linear-gradient(120deg,var(--brand-0),var(--brand-1));color:#fff;outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}@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:linear-gradient(120deg,var(--brand-0),var(--brand-1));box-shadow:var(--shadow-sm);color:#fff}.hero-cta:active,.hero-cta:focus-visible,.hero-cta:hover{background:linear-gradient(120deg,var(--brand-0),var(--brand-1));color:#fff;outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.hero-secondary-cta{background:var(--surface-0);border:1px solid var(--stroke);color:var(--ink-1)}.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}}.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-screenshot{border:1px solid #d7e5fb;border-radius:calc(var(--radius-lg) - 4px);height:220px;margin-bottom:1rem;object-fit:cover;object-position:top center;transition:transform .25s ease;width:100%}.client-card>a:focus-visible .client-screenshot,.client-card>a:hover .client-screenshot{transform:translateY(-2px)}.client-card h3{font-size:1.3rem;margin:.25rem 0 .75rem}.client-card p{color:var(--ink-2);line-height:1.55;margin:.6rem 0}.client-link{background:var(--surface-0);border:1px solid var(--stroke);border-radius:10px;color:var(--ink-1);display:inline-block;font-weight:700;margin-top:.4rem;padding:.56rem .92rem;text-decoration:none}.client-link:focus-visible,.client-link:hover{filter:brightness(1.06);outline:none}@media only screen and (max-width:900px){.client-grid{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 #d7e5fb;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}.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}}.skills-contain{margin-top:1.8rem}.skills-contain h3[id=skills]{scroll-margin-top:7.2rem}.skills-columns{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.skills-column{background:var(--surface-0);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem 1.1rem}.skills-column h4{color:var(--ink-0);font-size:1rem;margin:0}.skills-column ul{grid-gap:.45rem;color:var(--ink-2);display:grid;gap:.45rem;margin:.7rem 0 0;padding-left:1.1rem}.skills-column li{line-height:1.5}@media only screen and (max-width:900px){.skills-columns{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,#f7fbff,#ecf4ff);grid-column:1/-1}.project-media{border:1px solid #d7e5fb;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(--ink-0);border-color:#0000;color:#fff}.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}}.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:#fcfdff;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:#a9c3eb;outline:2px solid #bfd5f8}.contact-submit{background:linear-gradient(120deg,var(--brand-0),var(--brand-1));border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1rem}.contact-submit:active,.contact-submit:focus-visible,.contact-submit:hover{background:linear-gradient(120deg,var(--brand-0),var(--brand-1));color:#fff;outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.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 .socials{display:flex;gap:.55rem;list-style:none;margin:0;padding:0}.Footer .nav-link{color:var(--ink-2);text-decoration:none}
/*# sourceMappingURL=main.a41a2c16.css.map*/