.topbar{width:100%;height:70px;background:hsla(0,0%,100%,.92);color:#132238;position:fixed;top:0;z-index:3;border-bottom:1px solid #d9e2ec;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color .22s ease,color .22s ease}.topbar .wrapper{width:min(1180px,100% - 32px);height:100%;margin:0 auto;justify-content:space-between}.topbar .left,.topbar .wrapper{display:flex;align-items:center}.topbar .left{min-width:0;grid-gap:22px;gap:22px}.topbar .logo{flex:0 0 auto;color:inherit;font-size:1.45rem;font-weight:900}.topbar .itemcontainer{display:flex;align-items:center}@media(max-width:1300px){.topbar .itemcontainer{display:none}}.topbar .itemcontainer a{display:inline-flex;align-items:center;grid-gap:6px;gap:6px}.topbar .itemcontainer .icon{width:18px;height:18px;margin-right:6px}.topbar .itemcontainer span{font-size:.92rem;font-weight:800;white-space:nowrap}.topbar .hamburger{width:32px;height:24px;padding:0;border:0;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;overflow:hidden;background:transparent}.topbar .hamburger span{height:3px;width:100%;border-radius:999px;background-color:#132238;-webkit-transform-origin:center;transform-origin:center;transition:opacity .22s ease,background-color .22s ease,-webkit-transform .22s ease;transition:transform .22s ease,opacity .22s ease,background-color .22s ease;transition:transform .22s ease,opacity .22s ease,background-color .22s ease,-webkit-transform .22s ease}.topbar.active{background-color:#132238;color:#fff}.topbar.active .hamburger span:first-child{background-color:#fff;-webkit-transform:translateY(10.5px) rotate(45deg);transform:translateY(10.5px) rotate(45deg)}.topbar.active .hamburger span:nth-child(2){opacity:0}.topbar.active .hamburger span:last-child{background-color:#fff;-webkit-transform:translateY(-10.5px) rotate(-45deg);transform:translateY(-10.5px) rotate(-45deg)}.menu{width:320px;max-width:100%;height:calc(100vh - 70px);position:fixed;top:70px;right:0;z-index:2;background:#132238;color:#fff;-webkit-transform:translateX(100%);transform:translateX(100%);transition:-webkit-transform .24s ease;transition:transform .24s ease;transition:transform .24s ease,-webkit-transform .24s ease}.menu.active{-webkit-transform:translateX(0);transform:translateX(0)}.menu ul{height:100%;margin:0;padding:42px 34px;display:flex;flex-direction:column;grid-gap:22px;gap:22px;list-style:none}.menu li{font-size:1.55rem;font-weight:800}.menu li a{color:#fff}.intro{min-height:calc(100vh - 70px);display:flex;align-items:center;padding:80px 0 70px}.intro .heroContent{width:min(1120px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);grid-gap:56px;gap:56px;align-items:center}@media(max-width:900px){.intro .heroContent{grid-template-columns:1fr;grid-gap:36px;gap:36px}}.intro .copy .eyebrow{margin:0 0 16px;color:#1f8a70;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.intro .copy h1{margin:0;color:#111827;font-size:clamp(2.65rem,7vw,6rem);line-height:1.04;overflow-wrap:anywhere}.intro .copy h3{min-height:0;margin:20px 0 0;color:#132238;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.25;overflow-wrap:anywhere}.intro .copy h3 span{color:#1f8a70}.intro .copy h3 .ityped-cursor{-webkit-animation:blink 1s infinite;animation:blink 1s infinite}.intro .copy .summary{max-width:680px;margin:24px 0 0;color:#64748b;font-size:1.15rem;line-height:1.75}.intro .actions{display:flex;flex-wrap:wrap;grid-gap:12px;gap:12px;margin-top:28px;padding:6px 0 8px;overflow:visible}.intro .actions a{min-height:46px;padding:13px 18px;border:1px solid #132238;border-radius:8px;color:#132238;font-weight:800;transition:background-color .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,background-color .18s ease;transition:transform .18s ease,background-color .18s ease,-webkit-transform .18s ease}.intro .actions a:first-child{color:#fff;background:#132238}.intro .actions a:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);background:#e7f4f0}.intro .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:34px}@media(max-width:720px){.intro .stats{grid-template-columns:1fr}}.intro .stats div{min-height:92px;padding:18px;border:1px solid #d9e2ec;border-radius:8px;background:hsla(0,0%,100%,.75)}.intro .stats span,.intro .stats strong{display:block}.intro .stats strong{color:#111827;font-size:1.1rem}.intro .stats span{margin-top:6px;color:#64748b;font-size:.92rem}.intro .portrait{justify-self:end;width:min(100%,330px);aspect-ratio:3/4;border:1px solid #d9e2ec;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(19,34,56,.16)}@media(max-width:900px){.intro .portrait{justify-self:start;width:min(100%,280px)}}.intro .portrait img{width:100%;height:100%;object-fit:cover;object-position:52% 0;-webkit-transform:scale(2.74);transform:scale(2.74);-webkit-transform-origin:52% 16%;transform-origin:52% 16%}@media(max-width:720px){.intro{padding-top:52px}.intro .heroContent{width:min(100% - 28px,1120px)}.intro .copy h1{font-size:clamp(2.45rem,14vw,3.9rem)}.intro .copy h3{font-size:1.35rem}.intro .copy .summary{font-size:1rem}}@-webkit-keyframes blink{50%{opacity:1}to{opacity:0}}@keyframes blink{50%{opacity:1}to{opacity:0}}.about{padding:82px 0;background:#fff}.about .certifications,.about .introduction,.about .skillsGrid{width:min(1120px,100% - 40px);margin:0 auto}.about .introduction{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}@media(max-width:900px){.about .introduction{grid-template-columns:1fr}}.about .about-content,.about .about-content1,.about .certifications,.about .skillCard{padding:26px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.about h2{margin:0 0 14px;color:#111827;font-size:1.3rem}.about p{margin:0;color:#64748b;font-size:1rem;line-height:1.75}.about .skillsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:22px}@media(max-width:900px){.about .skillsGrid{grid-template-columns:1fr}}.about .skillCard div{display:flex;flex-wrap:wrap;grid-gap:10px;gap:10px}.about .skillCard span{padding:8px 10px;border-radius:8px;color:#132238;background:#edf7f4;font-size:.88rem;font-weight:700}.about .certifications{margin-top:22px}.about .certifications div{display:flex;flex-wrap:wrap;grid-gap:10px;gap:10px}.about .certifications span{padding:8px 10px;border-radius:8px;color:#132238;background:#edf7f4;font-size:.88rem;font-weight:700}.testimonials{padding:82px 0;background:#f5f7fb}.testimonials h1{display:block;height:auto;min-height:0;width:min(1120px,100% - 40px);margin:0 auto 30px;padding-bottom:.08em;color:#111827;font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:1.22;overflow:visible!important}.testimonials .container{width:min(1120px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}@media(max-width:1210px){.testimonials .container{grid-template-columns:1fr}}.testimonials .card{min-height:100%;padding:24px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.testimonials .card.featured{border-color:rgba(31,138,112,.42);box-shadow:0 18px 38px rgba(19,34,56,.1)}.testimonials .card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.testimonials .card .top img.left,.testimonials .card .top img.right{width:22px;height:22px;object-fit:contain}.testimonials .card .top img.user{width:72px;height:72px;border-radius:50%;object-fit:cover}.testimonials .card .center{color:#64748b;line-height:1.68}.testimonials .card .bottom{margin-top:22px}.testimonials .card .bottom h3{margin:0 0 6px;color:#111827}.testimonials .card .bottom h4{margin:0;color:#64748b;font-size:.9rem;font-weight:600}.contact{padding:82px 0 96px;background:#132238;color:#fff}.contact .main{width:min(760px,100% - 40px);margin:0 auto;text-align:center}.contact .main>p{margin:0 0 10px;color:#7dd6bd;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.contact .main h2{display:block;height:auto;min-height:0;padding-bottom:.08em;margin:0;font-size:clamp(1.9rem,4vw,3.35rem);line-height:1.22;overflow:visible!important}.contact .contactLinks{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:12px;gap:12px;margin:26px 0 30px}.contact .contactLinks a{padding:10px 14px;border:1px solid hsla(0,0%,100%,.3);border-radius:8px;color:#fff;font-weight:800}.contact form{display:grid;grid-gap:12px;gap:12px}.contact form input,.contact form textarea{width:100%;border:1px solid hsla(0,0%,100%,.28);border-radius:8px;padding:14px 16px;color:#fff;background:hsla(0,0%,100%,.08);font:inherit}.contact form input::-webkit-input-placeholder,.contact form textarea::-webkit-input-placeholder{color:hsla(0,0%,100%,.62)}.contact form input::placeholder,.contact form textarea::placeholder{color:hsla(0,0%,100%,.62)}.contact form textarea{min-height:180px;resize:vertical}.contact form button{justify-self:center;min-width:180px;min-height:48px;border:0;border-radius:8px;color:#132238;background:#7dd6bd;font-weight:900;cursor:pointer}.contact form span{color:#7dd6bd}.portfolio{padding:82px 0;background:#fff}.portfolio ul{width:min(1120px,100% - 40px);margin:0 auto 24px;padding:0;list-style:none;display:flex;flex-wrap:wrap;grid-gap:10px;gap:10px}.portfolio .portfolioIntro{width:min(1120px,100% - 40px);max-width:820px;margin:0 auto 28px;color:#64748b;line-height:1.7}.portfolio .portfolioIntro a{color:#1f8a70;font-weight:800}.portfolio .container{width:min(1120px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}@media(max-width:900px){.portfolio .container{grid-template-columns:1fr}}.portfolio .container a{display:block;min-width:0}.portfolio .container .item{min-height:100%;border:1px solid #d9e2ec;border-radius:8px;overflow:hidden;background:#fff;transition:box-shadow .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,box-shadow .18s ease;transition:transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease}.portfolio .container .item:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);box-shadow:0 18px 36px rgba(19,34,56,.12)}.portfolio .container .item .projectVisual{width:100%;aspect-ratio:16/8;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(135deg,rgba(19,34,56,.95),rgba(31,138,112,.82)),radial-gradient(circle at 24% 28%,hsla(0,0%,100%,.22),transparent 32%)}.portfolio .container .item .projectVisual span{color:hsla(0,0%,100%,.86);font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portfolio .container .item .projectVisual.pipeline{background:linear-gradient(135deg,#132238,#315b7d),radial-gradient(circle at 80% 24%,hsla(0,0%,100%,.2),transparent 30%)}.portfolio .container .item .projectVisual.lambda{background:linear-gradient(135deg,#132238,#7a5c1f),radial-gradient(circle at 24% 25%,hsla(0,0%,100%,.18),transparent 30%)}.portfolio .container .item .projectVisual.data,.portfolio .container .item .projectVisual.reporting{background:linear-gradient(135deg,#132238,#1f8a70),radial-gradient(circle at 72% 30%,hsla(0,0%,100%,.2),transparent 30%)}.portfolio .container .item .projectVisual.bluezero,.portfolio .container .item .projectVisual.frontend{background:linear-gradient(135deg,#132238,#5661a6),radial-gradient(circle at 30% 24%,hsla(0,0%,100%,.18),transparent 30%)}.portfolio .container .item .projectVisual.algorithm,.portfolio .container .item .projectVisual.capstone{background:linear-gradient(135deg,#132238,#6d5678),radial-gradient(circle at 78% 28%,hsla(0,0%,100%,.18),transparent 30%)}.portfolio .container .item .projectContent{padding:22px}.portfolio .container .item span{color:#1f8a70;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portfolio .container .item h3{margin:10px 0;color:#111827;font-size:1.25rem}.portfolio .container .item p{margin:0;color:#64748b;line-height:1.65}.portfoliolist{padding:10px 14px;border:1px solid #d9e2ec;border-radius:8px;color:#132238;font-size:.92rem;font-weight:800;cursor:pointer;transition:background-color .18s ease,color .18s ease}.portfoliolist.active,.portfoliolist:hover{color:#fff;background:#132238}.work{padding:82px 0;background:#eef4f8}.work .timeline{width:min(1120px,100% - 40px);margin:0 auto;display:grid;grid-gap:18px;gap:18px}.work .timelineItem{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:20px;gap:20px;padding:28px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}@media(max-width:720px){.work .timelineItem{grid-template-columns:1fr}}.work .timelineItem>span{color:#1f8a70;font-size:1.8rem;font-weight:900}.work .timelineItem h2{margin:0;color:#111827;font-size:1.55rem}.work .timelineItem h3{margin:6px 0 12px;color:#64748b;font-size:1rem}.work .timelineItem p{max-width:760px;margin:0;color:#64748b;line-height:1.7}.work .tags{display:flex;flex-wrap:wrap;grid-gap:10px;gap:10px;margin-top:18px}.work .tags small{padding:7px 10px;border:1px solid #d9e2ec;border-radius:8px;color:#132238;font-weight:800}.app .sections{background:linear-gradient(180deg,#f5f7fb,#fff 38%,#eef4f8)}.app .sections>*{width:100%;min-height:auto;overflow:visible;scroll-margin-top:70px}*{box-sizing:border-box}body,html{margin:0;max-width:100%;overflow-x:hidden}body{color:#18212f;background:#f5f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{height:auto;max-height:none;overflow:visible!important}.app{min-height:100vh}.app a{color:inherit;text-decoration:none}.app .sections{width:100%;min-height:100vh;padding-top:70px;overflow-x:hidden}.app .sectionHeader{width:min(1120px,100% - 40px);margin:0 auto 36px}.app .sectionHeader p{margin:0 0 10px;color:#1f8a70;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app .sectionHeader h1{display:block;width:100%;height:auto;min-height:0;padding:0 0 .08em;margin:0;color:#111827;font-size:clamp(1.75rem,3.1vw,2.95rem);line-height:1.22;max-width:760px;white-space:normal;overflow-wrap:anywhere;overflow:visible!important}
/*# sourceMappingURL=main.f9fc398e.chunk.css.map */