@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#efefef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--page:#1e1e1e;--dark:#111;--green:#087c22;--lime:#c4f500;--muted:#c8c8c8;background:#1e1e1e;font-family:Poppins,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:48px}body{overflow-wrap:anywhere;min-width:280px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button,h1,h2,h3,h4,p{margin:0}button{border:0}img{max-width:100%;display:block}svg{display:block}::selection{background:var(--lime);color:var(--dark)}:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.container{width:calc(100% - 64px);max-width:960px;margin-inline:auto}h2{letter-spacing:-.025em;font-size:clamp(23px,1.9vw,27px);font-weight:700;line-height:1.35}.skip-link{z-index:100;background:var(--lime);color:#111;border-radius:6px;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.hero-section{min-height:0}.site-header{z-index:5;justify-content:space-between;align-items:center;height:60px;display:flex;position:relative}.brand{letter-spacing:-.02em;min-width:0;max-width:45%;font-size:13px;font-weight:500}.main-navigation{align-items:center;gap:32px;display:flex}.main-navigation a{color:#d6d6d6;align-items:center;min-width:44px;min-height:44px;padding-block:8px;font-size:14px;transition:color .2s;display:inline-flex}.main-navigation a:hover{color:var(--lime)}.menu-toggle{display:none}.hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:44px;min-height:clamp(300px,25vw,360px);padding-block:28px;display:grid}.hero-copy{min-width:0}.greeting{color:#05a310;margin-bottom:6px;font-size:14px;font-weight:700}h1{letter-spacing:-.021em;font-size:clamp(26px,2.35vw,34px);font-weight:700;line-height:1.22}h1 span{display:block}.hero-line{margin-bottom:-.06em;padding-bottom:.06em;overflow:hidden}.hero-description{color:#919191;max-width:390px;margin-top:14px;font-size:14px;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}.hire-button{background:var(--green);color:#fff;white-space:nowrap;border-radius:100px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:5px 5px 5px 16px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.hire-button>span{color:#111;background:#f1f1f1;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.hire-button svg{width:65%;height:65%;transition:transform .2s}.hire-button:hover{background:#076a1d}.hire-button:hover svg{transform:translate(2px)}.social-links{gap:8px;display:flex}.social-links a{color:#d1d1d1;border:1px solid #a7a7a7;border-radius:50%;place-items:center;width:44px;height:44px;transition:color .2s,border-color .2s;display:grid}.social-links svg{width:27px;height:27px}.social-links a:hover{color:var(--lime);border-color:var(--lime)}.hero-art{aspect-ratio:1;justify-self:end;width:min(100%,clamp(220px,20.3vw,292px));margin-right:24px;position:relative;transform:translate(4%,2%)}.hero-art-entrance{position:absolute;inset:0}.hero-shape{border-radius:28px;position:absolute}.hero-shape-lime{background:linear-gradient(145deg,#6c8974,#456350 64%,#344c3e);width:59%;height:88%;top:1%;left:25%;transform:skew(-14deg);box-shadow:inset 0 1px #d4dfb52b}.hero-shape-green{background:linear-gradient(155deg,#294c49,#183530);width:52%;height:70%;top:20%;left:8%;transform:skew(13deg);box-shadow:inset 0 1px #a8d2b81c}.portrait{object-fit:contain;object-position:center bottom;filter:brightness(1.035)contrast(.98);width:104%;height:104%;position:absolute;bottom:-2%;left:-2%}.hero-portrait-fade{z-index:1;background:linear-gradient(180deg, transparent, var(--page) 88%, var(--page));pointer-events:none;position:absolute;inset:76% -20% -10%}.hero-orbit-trails{pointer-events:none;width:140%;max-width:none;height:140%;position:absolute;inset:-20%}.tech-badge{aspect-ratio:1;color:#fff;z-index:2;will-change:transform;width:15%;position:absolute;top:0;left:0}.tech-badge-inner{will-change:transform;border-radius:7px;place-items:center;width:100%;height:100%;display:grid;box-shadow:0 8px 18px -8px #000a}.tech-badge img{width:59%;height:59%}.tech-python .tech-badge-inner{background:#3776ab}.tech-pytorch .tech-badge-inner{background:#ee4c2c}.tech-fastapi .tech-badge-inner{background:#009688}.scroll-progress{z-index:40;background:var(--lime);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.skills-strip{background:var(--lime);color:#141414;align-items:center;width:100%;height:52px;display:flex;overflow:hidden}.skills-track{width:max-content;animation:36s linear infinite marquee;display:flex}.skills-group{flex-shrink:0;display:flex}.skills-group>span{white-space:nowrap;align-items:center;gap:34px;padding-right:22px;display:flex}.skills-group b{letter-spacing:-.025em;font-size:19px;font-weight:600;line-height:1}.skills-group svg{width:27px;height:27px}.about-section{background:var(--dark);padding-block:38px 44px}.about-description{max-width:72ch;color:var(--muted);white-space:pre-line;margin-top:12px;font-size:14px;line-height:1.65}.experience-heading{margin-top:26px;margin-bottom:20px;font-size:19px;font-weight:600}.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.experience{border-top:1px solid #ffffff1c;padding-top:18px;font-size:14px;line-height:1.7}.experience-date{color:#83c78c;margin-bottom:12px;font-size:12px;font-weight:500}.experience>div{min-width:0}.experience h4{font-size:17px;font-weight:600;line-height:1.45}.experience-company{color:#e2e2e2;margin-top:10px;font-size:14px;font-weight:500}.experience-location{color:#a8a8a8;margin-top:2px;font-size:12px}.experience-description{color:#bdbdbd;margin-top:14px}.projects-section{padding-block:46px 60px}.projects-description{color:#d4d4d4;max-width:60ch;margin-top:9px;font-size:14px;line-height:1.6}.project-tabs{margin-top:24px;margin-bottom:26px;flex-wrap:wrap;gap:8px 16px;margin-inline:-2px;padding:3px 2px 5px;display:flex;overflow:visible}.project-tabs button{white-space:nowrap;background:0 0;border-bottom:1px solid #0000;min-width:44px;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.5;transition:color .2s;position:relative}.project-tab-indicator{background:var(--green);border-radius:2px;height:2px;position:absolute;inset:auto 0 -1px}.project-tabs button:hover{color:var(--lime)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;display:grid;position:relative}.projects-section .project-grid{margin-top:28px}.project{min-width:0}.project-image-button{background:#617472;border-radius:12px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.project-image-button:after{content:"";background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%), #fff5, transparent 65%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project-image-button:hover:after{opacity:1}.project-image-button img{aspect-ratio:1.53;object-fit:cover;width:100%;height:auto;transition:transform .5s}.project-image-button:hover img{transform:scale(1.035)}.project-detail-icon{z-index:2;background:var(--green);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s,box-shadow .2s;display:grid;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 18px #0005}.project-detail-icon svg{width:23px;height:23px;transition:transform .25s;transform:rotate(-45deg)}.project-preview-link:hover .project-detail-icon{background:#076a1d;box-shadow:0 4px 22px #00a80c55}.project-preview-link:hover svg{transform:rotate(-45deg)translate(2px)}.project-preview-link:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.project h3{letter-spacing:-.025em;overflow-wrap:anywhere;margin-top:10px;font-size:17px;font-weight:600;line-height:1.4}.project>p{color:#d3d3d3;margin-top:4px;font-size:14px;line-height:1.6}@media (width>=600px){.project h3{min-height:2.8em}}.project-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px;display:flex}.button{background:var(--green);color:#fff;white-space:nowrap;border-radius:100px;align-items:center;gap:8px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:500;line-height:1.3;transition:background .2s;display:inline-flex}.button svg{flex-shrink:0;width:18px;height:18px}.button:hover{background:#076a1d}.empty-projects{grid-column:1/-1;padding-block:42px}.empty-projects p{color:var(--muted);margin:10px 0 24px}.projects-collection-action{text-align:center;margin-top:30px}.projects-page{min-height:65vh;padding-block:28px 50px}.projects-page .detail-heading{margin-top:28px}.certificate-thumbnail{display:none}.certification-copy{min-width:0}.cta-section{isolation:isolate;background:linear-gradient(180deg, var(--dark) 0%, #182218 46%, var(--page) 100%);position:relative;overflow:hidden}.cta-section:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 75%,#426b263d,#0000 62%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 28% 70%,#0000);mask-image:linear-gradient(#0000,#000 28% 70%,#0000)}.cta-content{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:24px;padding-block:52px 58px;display:grid;position:relative}.cta-copy{z-index:1;position:relative}.cta-content h2{letter-spacing:-.02em;text-wrap:balance;white-space:pre-line;max-width:650px;font-size:clamp(26px,2.25vw,32px);line-height:1.4}.cta-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(#b8d99d08 1px,#0000 1px),linear-gradient(90deg,#b8d99d08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 75%,#000,#0000 70%);mask-image:radial-gradient(at 75%,#000,#0000 70%)}.cta-art{aspect-ratio:860/580;width:100%;min-width:0;position:relative}.cta-orbit-scroll,.cta-orbit{width:100%;height:100%}.cta-orbit{position:relative}.cta-orbit svg{width:100%;height:100%;position:relative;overflow:visible}.cta-orbit-light{opacity:0;pointer-events:none;transition:opacity .55s;position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(#000 20%,#0000 68%);mask-image:radial-gradient(#000 20%,#0000 68%)}.cta-art[data-hovered=true] .cta-orbit-light{opacity:1}.cta-orbit-highlight{animation:16s linear infinite paused orbit-trace}.cta-section[data-active=true] .cta-orbit-highlight{animation-play-state:running}.cta-orbit-comets{opacity:0;transition:opacity .5s}.cta-art[data-hovered=true] .cta-orbit-comets{opacity:1}.cta-comet{animation:7s linear infinite paused orbit-trace}.cta-comet-1{animation-duration:10s;animation-delay:-4s}.cta-comet-2{animation-duration:5s;animation-delay:-2s}.cta-section[data-active=true] .cta-art[data-hovered=true] .cta-comet{animation-play-state:running}@keyframes orbit-trace{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1000px}}.hire-button-large{gap:14px;margin-top:24px;padding:5px 5px 5px 17px;font-size:17px}.hire-button-large>span{width:34px;height:34px}.contact-section{padding-block:32px 80px}.contact-section h2{font-size:23px;font-weight:600}.contact-section p{color:#d3d3d3;max-width:60ch;margin-top:10px;font-size:14px;line-height:1.75}.email-link{text-underline-offset:2px;overflow-wrap:anywhere;align-items:center;max-width:100%;min-height:44px;margin-top:10px;font-size:15px;font-weight:500;text-decoration:underline;transition:color .2s;display:inline-flex}.email-link:hover{color:var(--lime)}.contact-section .social-links{gap:22px;margin-top:16px}[data-exiting=true]{pointer-events:none}@keyframes menu-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1023px){.project-grid,.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:32px}.main-navigation{gap:24px}}@media (width<=760px){.menu-toggle{background:0 0;justify-content:center;align-items:center;width:44px;height:44px;margin-right:-10px;display:flex}.menu-toggle>span{width:23px;height:16px;display:block;position:relative}.menu-toggle i{background:#ddd;width:23px;height:1.5px;transition:transform .2s,top .2s;position:absolute;left:0}.menu-toggle i:first-child{top:4px}.menu-toggle i:last-child{top:12px}.menu-toggle .is-open i:first-child{top:8px;transform:rotate(45deg)}.menu-toggle .is-open i:last-child{top:8px;transform:rotate(-45deg)}.main-navigation{background:#282828;border:1px solid #444;border-radius:12px;padding:18px 22px;display:none;position:absolute;top:54px;left:0;right:0;box-shadow:0 15px 40px #0005}.main-navigation.is-open{flex-direction:column;align-items:flex-start;gap:22px;animation:.25s cubic-bezier(.22,1,.36,1) menu-enter;display:flex}.main-navigation a{padding-block:0;font-size:14px}}@media (width<=640px){.container{width:calc(100% - 48px)}.site-header{height:64px}.brand{font-size:14px}.main-navigation{top:58px}.hero{grid-template-columns:1fr;gap:28px;min-height:0;padding-block:28px 32px}.greeting{margin-bottom:8px;font-size:15px}h1{font-size:clamp(28px,7.4vw,34px)}.hero-description{max-width:340px;margin-top:14px}.hero-actions{gap:14px;margin-top:20px}.hire-button>span{width:27px;height:27px}.hero-art{justify-self:center;width:min(250px,80%);margin-inline:auto;transform:none}.skills-strip{height:52px}.skills-group>span{gap:28px}.skills-group b{font-size:18px}.skills-group svg{width:25px;height:25px}.about-section{padding-block:36px 38px}h2{font-size:25px}.experience-heading{margin-top:26px;margin-bottom:20px}.projects-section{padding-block:38px 44px}.project-tabs{gap:6px;margin-top:22px;margin-bottom:22px}.project-tabs button{font-size:13px}.cta-content{padding-block:44px 42px}.cta-content h2{max-width:100%;font-size:clamp(25px,5.5vw,30px)}.cta-content{grid-template-columns:1fr;gap:20px}.cta-art{justify-self:center;width:min(100%,420px)}.cta-grid{opacity:.6;background-size:32px 32px}.hire-button-large>span{width:34px;height:34px}.contact-section{padding-block:30px 60px}}@media (width<=599px){.project-grid,.experience-grid{grid-template-columns:1fr}.project-grid{row-gap:32px}}@media (width<=359px){.container{width:calc(100% - 36px)}.hero-actions{gap:16px}.social-links{gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.section-description{max-width:520px;color:var(--muted);margin-top:9px;font-size:14px;line-height:1.7}.certifications-section{background:var(--dark);padding-block:42px 46px}.certifications-section #certifications{text-align:center}.certifications-section .section-description{margin-inline:auto}@media (width>=600px){.certifications-section .certification-grid{grid-template-columns:repeat(2,minmax(0,304px));justify-content:center}}.certification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-top:28px;display:grid}.certification-grid>div,.certification-card{min-width:0}.certificate-preview{border-radius:10px;position:relative}.certificate-shine{border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%), #ffffff85, transparent 68%);transition:opacity .3s;position:absolute;inset:0}.certificate-preview:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0;box-shadow:0 18px 32px -18px #0009}.certification-card[data-hovered=true] .certificate-shine,.certification-card[data-hovered=true] .certificate-preview:after{opacity:1}.certification-card[data-hovered=true] h3{color:var(--lime)}.certification-card h3{transition:color .25s}.certificate-mark{transition:transform .45s cubic-bezier(.22,1,.36,1)}.certification-card[data-hovered=true] .certificate-mark{transform:rotate(12deg)scale(1.12)}.certificate-document{aspect-ratio:1.43;object-fit:contain;background:#eeeae1;border-radius:10px;width:100%}.certificate-placeholder{color:#26382e;isolation:isolate;flex-direction:column;align-items:flex-start;padding:24px 23px 16px;display:flex;position:relative;overflow:hidden}.certificate-placeholder:before{content:"";pointer-events:none;z-index:-1;border:1px solid #bdc5b7;position:absolute;inset:12px}.certificate-placeholder:after{content:"";z-index:-1;opacity:.5;background:#b9c8ad;border-radius:40px;width:130px;height:170px;position:absolute;top:-48px;right:-30px;transform:rotate(30deg)}.certificate-mark{color:#477343;width:30px;position:absolute;top:25px;right:25px}.certificate-mark svg{width:100%}.certificate-kicker{text-transform:uppercase;letter-spacing:.14em;padding-right:32px;font-size:6.5px}.certificate-placeholder>strong{max-width:85%;margin-top:13px;font-size:15px;font-weight:600;line-height:1.35}.certificate-awarded{color:#71806c;margin-top:auto;padding-top:12px;font-size:7px}.certificate-name{margin-top:2px;font-size:12px;font-weight:500}.certificate-bottom{border-top:1px solid #bdc5b7;justify-content:space-between;align-items:end;gap:10px;width:100%;margin-top:9px;padding-top:9px;font-size:7px;display:flex}.certificate-bottom>span{flex-shrink:0}.certification-meta{color:#a3a3a3;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:4px 12px;margin-top:13px;font-size:12px;display:flex}.certification-meta>span:last-child{flex-shrink:0}.certification-card h3{letter-spacing:-.02em;margin-top:6px;font-size:17px;font-weight:600;line-height:1.5}.certification-skills{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.6}.credential-id{color:#aaa;margin-top:10px;font-size:12px}.credential-link{min-height:44px;color:var(--lime);align-items:center;gap:8px;margin-top:14px;font-size:13px;display:inline-flex}.credential-link svg{width:16px}.certifications-action{text-align:center;margin-top:30px}.certifications-action .button{padding-inline:18px}.detail-page,.certifications-page{padding-top:28px;padding-bottom:50px}.back-link{color:#bcbcbc;align-items:center;gap:9px;min-height:44px;font-size:12px;transition:color .2s;display:inline-flex}.back-link svg{width:17px;transform:rotate(180deg)}.back-link:hover{color:var(--lime)}.detail-heading{margin-top:28px;margin-bottom:28px}.page-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--lime);margin-bottom:12px;font-size:10px;font-weight:500}.detail-heading h1{max-width:750px;font-size:clamp(28px,3.2vw,43px);line-height:1.2}.detail-intro{max-width:620px;color:var(--muted);margin-top:14px;font-size:14px;line-height:1.75}.detail-category{color:#ababab;margin-top:18px;font-size:12px}.detail-category span{color:#666;margin-inline:9px}.detail-role{color:#e3e3e3;max-width:680px;margin-top:18px;font-size:14px;line-height:1.7}.detail-role span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.result-kind{letter-spacing:.08em;text-transform:uppercase;color:#bcbcbc;margin-bottom:12px;font-size:10px;display:block}.evaluation-note{border-left:2px solid var(--lime);padding-left:22px}.evaluation-note ul{color:#aaa;margin-top:14px;padding-left:20px;font-size:14px;line-height:1.8}.evaluation-note li+li{margin-top:8px}.resource-links{margin-top:18px;padding:0;list-style:none}.resource-links a{width:fit-content;color:var(--lime);overflow-wrap:anywhere;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.resource-links svg{flex-shrink:0;width:18px;height:18px}.detail-website{margin-top:20px}.project-gallery{margin-top:32px}.gallery-stage{aspect-ratio:16/9;background:#172422;border-radius:14px;width:100%;position:relative;overflow:hidden}.gallery-stage>img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%}.gallery-arrows{z-index:2;gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.gallery-arrow{color:#f2f2ec;background:#101a16dd;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.gallery-arrow:hover{background:var(--green)}.gallery-arrow svg{width:20px}.gallery-arrow.previous svg{transform:rotate(180deg)}.gallery-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:13px;display:flex}.gallery-caption>p{color:#aaa;font-size:12px;line-height:1.6}.gallery-pagination{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;max-width:100%;display:flex}.gallery-dots{flex-wrap:wrap;gap:3px;max-width:100%;display:flex}.gallery-dots button{background:0 0;place-items:center;width:44px;height:44px;padding:0;display:grid}.gallery-dots span{background:#666;border-radius:50%;width:5px;height:5px;transition:background .2s,width .2s}.gallery-dots button[aria-pressed=true] span{background:var(--lime);border-radius:5px;width:18px}.gallery-count{color:#a4a4a4;font-variant-numeric:tabular-nums;font-size:12px}.project-gallery--portrait{max-width:620px;margin-inline:auto}.project-gallery--portrait .gallery-stage{aspect-ratio:auto;background:radial-gradient(at top,#153c60,#0b1727);height:clamp(460px,72svh,660px)}.project-gallery--portrait .gallery-stage>img{padding:18px 56px}.project-gallery--portrait .gallery-arrows{pointer-events:none;justify-content:space-between;inset:50% 10px auto;transform:translateY(-50%)}.project-gallery--portrait .gallery-arrow{pointer-events:auto}.project-gallery--portrait .gallery-caption>p{min-height:3.2em}.project-gallery--portrait .gallery-pagination{justify-content:space-between;gap:8px;width:100%}.project-gallery--portrait .gallery-dots{flex-wrap:nowrap;flex:1;gap:0}.project-gallery--portrait .gallery-dots button{flex:1;width:auto;min-width:0;max-width:44px}.project-gallery--portrait+.detail-website{width:fit-content;margin-inline:auto;display:flex}@media (width<=599px){.project-gallery--portrait .gallery-stage{height:auto}.project-gallery--portrait .gallery-stage>img{height:auto;padding:12px 12px 64px}.project-gallery--portrait .gallery-arrows{inset:auto 12px 10px;transform:none}}.case-study-layout{grid-template-columns:205px minmax(0,1fr);align-items:start;gap:64px;margin-top:52px;display:grid}.case-study-aside{position:sticky;top:30px}.case-study-facts{gap:20px;margin:0;display:grid}.case-study-facts dt{color:#aaa;margin-bottom:5px;font-size:12px}.case-study-facts dd{margin:0;font-size:14px}.case-study-aside h2{letter-spacing:-.01em;margin-top:30px;font-size:16px}.tech-stack{flex-wrap:wrap;gap:8px;margin:13px 0 0;padding:0;list-style:none;display:flex}.tech-stack li{color:#d9ded3;background:#292d27;border-radius:5px;padding:6px 10px;font-size:12px}.case-study-body{gap:40px;display:grid}.section-number{color:var(--lime);margin-bottom:9px;font-size:10px}.case-study-body h2{margin-bottom:15px;font-size:24px}.case-study-body section>p:not(.section-number),.contribution-list p{color:var(--muted);font-size:14px;line-height:1.85}.contribution-list{counter-reset:contribution;gap:22px;margin:0;padding:0;list-style:none;display:grid}.contribution-list li{counter-increment:contribution;padding-left:34px;position:relative}.contribution-list li:before{content:counter(contribution, decimal-leading-zero);color:#878787;font-size:11px;position:absolute;top:2px;left:0}.contribution-list h3{margin-bottom:5px;font-size:15px;font-weight:500;line-height:1.5}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px;display:grid}.achievement-grid strong{color:var(--lime);font-size:31px;font-weight:600;line-height:1.2}.achievement-grid h3{margin-top:9px;font-size:14px;font-weight:500;line-height:1.5}.achievement-grid p{color:#aaa;margin-top:6px;font-size:14px;line-height:1.75}.demo-note,.case-study-body section>p.demo-note{color:#939393;margin-top:23px;font-size:12px;line-height:1.7}.detail-end{margin-top:58px}.detail-end h2{font-size:23px}.more-work-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.all-projects-link{color:#bcbcbc;align-items:center;gap:8px;min-height:44px;font-size:13px;transition:color .2s;display:inline-flex}.all-projects-link svg{width:17px}.all-projects-link:hover{color:var(--lime)}.next-project{background:#252923;border-radius:14px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);display:grid;overflow:hidden}.next-project-image{background:#18322a;min-height:260px;overflow:hidden}.next-project-image img{object-fit:cover;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1)}.next-project-content{flex-direction:column;align-items:flex-start;padding:30px 34px;display:flex}.next-project-content .page-eyebrow{margin-bottom:16px;font-size:9px}.next-project-category{color:#aab0a5;font-size:10px}.next-project-category span{color:#687060;margin-inline:7px}.next-project-content h3{letter-spacing:-.025em;margin-top:9px;font-size:clamp(22px,2vw,28px);font-weight:600;line-height:1.3}.next-project-description{color:#bec5b8;max-width:330px;margin-top:10px;font-size:14px;line-height:1.75}.next-project-action{justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:24px;font-size:12px;font-weight:500;display:flex}.next-project-action>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;transition:background .25s;display:grid}.next-project-action svg{width:21px;transition:transform .3s}@media (hover:hover) and (pointer:fine){#site-shell[data-motion=full] .next-project:hover .next-project-image img{transform:scale(1.05)}#site-shell[data-motion=full] .next-project:hover .next-project-action svg{transform:rotate(-35deg)}.next-project:hover .next-project-action>span{background:#076a1d}}.certifications-page .detail-heading{margin-bottom:36px}.certifications-page{min-height:65vh}.certifications-page .certification-grid{row-gap:38px;margin-top:0}.not-found{min-height:60vh;padding-block:90px}.not-found>p:not(.page-eyebrow){color:var(--muted);margin-top:16px;font-size:14px}.not-found .button{margin-top:25px}@media (width<=1023px){.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.achievement-grid{gap:16px}}@media (width<=760px){.case-study-layout{grid-template-columns:1fr;gap:38px;margin-top:34px}.case-study-aside{position:static}.case-study-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.case-study-aside h2{margin-top:22px}.detail-heading{margin-top:20px}.detail-page,.certifications-page{padding-top:16px;padding-bottom:30px}}@media (width<=599px){.certifications-section{padding-block:36px 40px}.certification-grid{grid-template-columns:1fr;gap:30px}.projects-collection-action .button{min-height:44px;padding-inline:18px}.projects-page{padding-block:16px 30px}.projects-page .detail-heading{margin-top:20px}.certifications-section .certification-grid{gap:32px;margin-top:26px}.certifications-section .certification-card h3{font-size:18px}.certifications-section .certification-meta{font-size:12px;line-height:1.6}.certifications-section .credential-link{min-height:44px;margin-top:8px;font-size:13px}.certifications-section .certifications-action{margin-top:24px}.certifications-section .certifications-action .button{min-height:44px}.certificate-placeholder{padding:28px}.certificate-placeholder:before{inset:15px}.certificate-kicker{font-size:8px}.certificate-placeholder>strong{margin-top:18px;font-size:clamp(17px,4.5vw,24px)}.certificate-name{font-size:15px}.certificate-awarded,.certificate-bottom{font-size:8px}.certificate-mark{width:36px;top:28px;right:28px}.detail-heading h1{font-size:30px}.gallery-stage{border-radius:10px}.gallery-arrows{bottom:12px;right:12px}.gallery-caption{align-items:start;gap:12px}.gallery-pagination{gap:7px}.case-study-body{gap:32px}.case-study-body h2{font-size:23px}.achievement-grid{grid-template-columns:1fr;gap:24px}.achievement-grid strong{display:block}.detail-end{margin-top:40px}.more-work-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:18px}.next-project{grid-template-columns:1fr}.next-project-image{aspect-ratio:16/9;min-height:0}.next-project-content{padding:23px}.next-project-content h3{font-size:24px}.next-project-content .page-eyebrow{margin-bottom:12px}}@media (width<=359px){.certificate-placeholder{padding:23px}.certificate-mark{width:28px;top:23px;right:23px}.certificate-placeholder>strong{margin-top:13px;font-size:17px}.certificate-kicker{font-size:6.5px}.certificate-awarded{padding-top:8px}.certificate-bottom{margin-top:7px;padding-top:7px;font-size:7px}.case-study-facts{grid-template-columns:1fr 1fr}}.credential-link+.credential-link{margin-left:18px}img.certificate-document{height:auto}.credential-group+.credential-group{margin-top:42px}.certifications-page .credential-group .certification-grid{margin-top:24px}.main-navigation a[aria-current]{color:var(--lime);text-underline-offset:7px;text-decoration:underline}.project-tabs button[aria-selected=true]{color:var(--lime);background:#c4f50014;border-radius:7px}.project-preview-link{z-index:2;border-radius:inherit;position:absolute;inset:0}.project-preview-link:focus-visible{outline-offset:-3px}.collection-count{vertical-align:middle;color:#aaa;margin-left:8px;font-size:14px;font-weight:500;display:inline-block}@media (width<=760px){.main-navigation a{width:100%}.main-navigation.is-open{gap:4px}}.skills-strip:hover .skills-track,.skills-strip:focus-within .skills-track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(-8%)}to{transform:translate(-33%)}}
