@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--paper: #f5f5f0;--paper-deep: #ededdf;--ink: #19231f;--muted: #69716a;--line: #dce0d6;--green: #c8f169;--green-deep: #8fae45;--mono: "DM Mono", "SFMono-Regular", Consolas, monospace;--sans: "DM Sans", "Segoe UI", sans-serif;--display: "Manrope", "Segoe UI", sans-serif;--shell: min(1160px, calc(100% - 96px) )}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--green-deep);outline-offset:4px}.skip-link{position:absolute;z-index:20;top:12px;left:12px;padding:12px 16px;transform:translateY(-150%);background:var(--ink);color:#fff}.skip-link:focus{transform:translateY(0)}.section-shell,.header-inner{width:var(--shell);margin-inline:auto}.site-header{position:relative;z-index:5;border-bottom:1px solid rgb(25 35 31 / 8%)}.header-inner{display:flex;min-height:86px;align-items:center;justify-content:space-between}.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:16px;font-weight:800;letter-spacing:-.07em}.wordmark-mark{position:relative;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--green);font-size:17px;letter-spacing:-.08em;box-shadow:0 5px 18px #c3f76a33}.wordmark-mark:after{position:absolute;inset:-4px;border:1px solid rgb(195 247 106 / 48%);border-right-color:transparent;border-radius:14px;content:"";animation:nav-mark-orbit 8s linear infinite}.wordmark-muted{color:#858c83;font-weight:500}.primary-navigation{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgb(255 255 255 / 9%);border-radius:999px;background:#0f151dc7;box-shadow:0 9px 30px #00000024,inset 0 1px #ffffff08;color:#a3adbb;font-size:12px;font-weight:600}.primary-navigation>a:not(.nav-contact){position:relative;isolation:isolate;display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 13px;border-radius:999px;transition:color .18s ease,transform .18s ease,background .22s ease}.primary-navigation>a:not(.nav-contact):before{position:absolute;inset:3px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,#c3f76a29,#c3f76a0d);content:"";opacity:0;transform:scale(.82);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.75,.25,1)}.primary-navigation>a:not(.nav-contact):hover,.primary-navigation>a:not(.nav-contact).is-active{color:#eff7e2;transform:translateY(-1px)}.primary-navigation>a:not(.nav-contact):hover:before,.primary-navigation>a:not(.nav-contact).is-active:before{opacity:1;transform:scale(1)}.primary-navigation .nav-contact{position:relative;display:inline-flex;min-height:40px;align-items:center;gap:10px;margin-left:4px;padding:0 15px;overflow:hidden;border:1px solid rgb(195 247 106 / 30%);border-radius:999px;background:linear-gradient(110deg,#c3f76a21,#c3f76a0d);color:#eaf4d8;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.primary-navigation .nav-contact:before{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #c3f76a1f,0 0 12px #c3f76a8c;content:"";animation:nav-status-pulse 2.6s ease-in-out infinite}.primary-navigation .nav-contact:hover{transform:translateY(-1px);border-color:#c3f76ab3;background:#c3f76a24;box-shadow:0 6px 22px #c3f76a1a}.nav-contact span{color:var(--green)}.primary-navigation .nav-contact span{transition:transform .18s ease}.primary-navigation .nav-contact:hover span{transform:translate(2px,-2px)}.footer-links a:hover{color:var(--green)}.menu-toggle{display:none}.hero{position:relative;display:grid;min-height:648px;grid-template-columns:1.08fr .92fr;align-items:center;gap:42px;padding-top:48px;padding-bottom:88px}.hero-copy{position:relative;z-index:1;padding-bottom:16px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 27px;color:#667066;font-family:var(--mono);font-size:10px;letter-spacing:.075em;line-height:1.6;text-transform:uppercase}.status-dot,.project-status span{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#8aaa46;box-shadow:0 0 0 4px #8aaa4621}h1,h2,h3,p{margin-top:0}.hero h1,.section-heading h2,.about-copy h2,.contact-section h2{font-family:var(--display);font-weight:600;letter-spacing:-.065em}.hero h1{max-width:650px;margin-bottom:23px;font-size:clamp(48px,6vw,77px);line-height:1.04}.hero h1 span,.about-copy h2 span,.contact-section h2 span{color:#859d4d}.hero-intro{max-width:465px;margin-bottom:31px;color:#667068;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:20px;padding:0 19px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:700;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#2b3932}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.hero-meta{display:flex;align-items:center;gap:12px;margin-top:53px;color:#899087;font-family:var(--mono);font-size:9px;letter-spacing:.015em}.meta-divider{width:3px;height:3px;border-radius:50%;background:#a0a79b}.hero-art{position:relative;display:grid;min-height:435px;overflow:hidden;place-items:center;background:#e9ebdf;isolation:isolate}.art-grid{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgb(60 76 54 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(60 76 54 / 5%) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(135deg,transparent 3%,black 58%);mask-image:linear-gradient(135deg,transparent 3%,black 58%)}.hero-art:before{position:absolute;width:250px;height:250px;border-radius:50%;background:var(--green);content:"";filter:blur(.2px);opacity:.77}.profile-photo{position:relative;z-index:0;width:min(68%,300px);height:335px;border:5px solid rgb(245 245 240 / 75%);border-radius:48% 48% 4px 4px;object-fit:cover;object-position:center 31%;box-shadow:0 18px 48px #242d2329}.orbit{position:absolute;z-index:-1;border:1px solid rgb(48 66 47 / 22%);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:385px;height:190px}.orbit-two{width:475px;height:275px;transform:rotate(56deg)}.art-note{position:absolute;z-index:1;display:flex;align-items:center;background:#f5f5f0eb;box-shadow:0 8px 28px #242d2314}.note-top{top:50px;right:28px;gap:9px;padding:12px 14px;font-size:10px;font-weight:600}.note-dot{width:7px;height:7px;border-radius:50%;background:#8aaa46}.note-bottom{right:20px;bottom:22px;left:20px;justify-content:space-between;padding:17px 18px;font-family:var(--display);font-size:13px;font-weight:700;line-height:1.4}.note-index{color:#899087;font-family:var(--mono);font-size:9px;font-weight:400}.art-spark{position:absolute;color:#768e42}.spark-one{top:79px;left:45px;font-size:21px}.spark-two{right:46px;bottom:139px;font-size:23px}.hero-scroll{position:absolute;right:0;bottom:29px;display:flex;align-items:center;gap:10px;color:#929990;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.hero-scroll span{width:26px;height:1px;background:#aab0a7}.section-space{padding-top:105px;padding-bottom:116px}.work-section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:37px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{margin-bottom:0;font-size:clamp(38px,5vw,55px);line-height:1}.heading-period{color:#8da14d}.all-projects-link{margin-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{overflow:hidden;border:1px solid #e0e2d9;background:#f9f9f5;transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #242d2312}.resource-section{background:#eef0e8}.resource-inner{padding-top:76px;padding-bottom:83px}.resource-inner .section-heading{margin-bottom:27px}.resource-inner .section-heading .eyebrow{margin-bottom:14px}.resource-inner .section-heading h2{font-size:clamp(37px,4.5vw,49px)}.certification-section{padding-top:75px;padding-bottom:48px}.certification-section h2{margin:0 0 28px;font-family:var(--display);font-size:clamp(52px,7vw,118px);font-weight:600;letter-spacing:-.065em;line-height:.9}.certification-card{display:block;padding:28px 0 18px;border-top:1px solid #d2d7c9}.certificate-tag{display:block;margin-bottom:24px;color:#7a8578;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.certification-card h3{margin:0 0 18px;font-family:var(--display);font-size:clamp(31px,4vw,54px);font-weight:700;letter-spacing:-.06em;line-height:1.05}.certificate-description{display:inline-block;width:100%;margin-bottom:18px;border:3px solid #ff1d1d;background:#ffffff1f;padding:26px 26px 22px}.certificate-description p{margin:0;color:#1d2722;font-size:clamp(18px,2vw,34px);font-weight:500;line-height:1.38;letter-spacing:-.03em}.certificate-link{display:inline-flex;align-items:center;gap:8px;color:#1d2722;font-size:18px;font-weight:600;letter-spacing:-.02em;transition:opacity .15s ease}.certificate-link:hover{opacity:.75}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d9ded2;border-bottom:1px solid #d9ded2}.resource-card{display:flex;min-height:226px;flex-direction:column;align-items:flex-start;padding:21px 18px 19px;border-right:1px solid #d9ded2}.resource-card:first-child{padding-left:0}.resource-card:last-child{padding-right:0;border-right:0}.resource-number{margin-bottom:19px;color:#818a7a;font-family:var(--mono);font-size:8px;letter-spacing:.07em}.resource-card h3{margin-bottom:10px;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:-.035em;line-height:1.35}.resource-card h3 a{transition:color .15s ease}.resource-card h3 a:hover,.resource-link:hover{color:#718b3b}.resource-card h3 span{color:#879e50;font-size:12px;white-space:nowrap}.resource-card p{margin-bottom:18px;color:#747c71;font-size:11px;line-height:1.75}.resource-link{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:#536744;font-size:10px;font-weight:700;transition:color .15s ease}.project-visual{position:relative;display:flex;min-height:224px;align-items:center;justify-content:center;overflow:hidden}.visual-cfam{background:#dfe7d1}.visual-campus{background:#e8e7df}.visual-omni{background:#e3e9e6}.visual-proofly{background:#eee6d8}.visual-label{position:absolute;top:17px;left:19px;color:#758071;font-family:var(--mono);font-size:8px;letter-spacing:.08em}.visual-caption{position:absolute;right:17px;bottom:15px;color:#667066;font-family:var(--mono);font-size:8px;letter-spacing:.02em}.chat-preview{display:flex;width:61%;min-height:91px;align-items:center;gap:14px;padding:17px;background:#f6f7f1;box-shadow:0 13px 35px #242d231a;transform:rotate(-4deg)}.chat-avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:#c8f169;color:#344327;font-family:var(--display);font-size:14px;font-weight:800}.chat-lines,.inbox-lines{display:grid;flex:1;gap:7px}.chat-lines i,.inbox-lines i{display:block;height:6px;border-radius:6px;background:#d9dfd2}.chat-lines i:nth-child(2){width:77%}.chat-lines i:nth-child(3){width:53%}.chat-wave{color:#80964d;font-family:var(--mono);font-size:13px;letter-spacing:-.15em}.campus-window{display:flex;width:64%;height:120px;overflow:hidden;background:#fafaf7;box-shadow:0 14px 34px #242d2317;transform:rotate(3deg)}.window-sidebar{display:grid;width:24%;align-content:start;gap:13px;padding:16px 12px;background:#26352f}.window-sidebar i{width:70%;height:5px;border-radius:5px;background:#b9c7ab;opacity:.7}.window-sidebar i:first-child{width:83%;height:8px;margin-bottom:8px;background:#c8f169}.window-main{display:grid;flex:1;align-content:start;gap:10px;padding:19px 17px}.window-main>span{width:54%;height:7px;border-radius:5px;background:#cdd4c6}.window-main>span:first-child{width:37%;height:10px;background:#52624e}.window-main>div{display:flex;gap:7px;margin-top:4px}.window-main>div i{width:27%;height:35px;border:1px solid #e2e6dd;background:#eef1e9}.inbox-preview{display:flex;width:60%;min-height:116px;align-items:center;gap:13px;padding:18px;background:#f8faf7;box-shadow:0 12px 34px #242d2317;transform:rotate(-3deg)}.inbox-mark{display:grid;width:35px;height:35px;flex:0 0 35px;place-items:center;border-radius:11px;background:#c8f169;color:#30402c;font-family:var(--display);font-size:21px;font-weight:800}.inbox-lines i{height:5px;background:#d7dfd8}.inbox-lines i:nth-child(2){width:81%}.inbox-lines i:nth-child(3){width:92%}.inbox-lines i:nth-child(4){width:56%}.inbox-count{align-self:start;color:#74835d;font-family:var(--mono);font-size:9px}.proof-card{display:flex;width:59%;min-height:105px;align-items:center;gap:15px;padding:17px;background:#fbf8f1;box-shadow:0 12px 34px #3a2d1917;transform:rotate(3deg)}.proof-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:#d9edb5;color:#63793d;font-weight:700}.proof-card>div{display:grid;flex:1;gap:8px}.proof-card>div i{display:block;height:6px;border-radius:5px;background:#dedfd4}.proof-card>div i:last-child{width:65%}.proof-qr{color:#66735b;font-size:28px}.project-content{padding:21px 22px 17px}.project-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project-title-row h3{margin-bottom:9px;font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.04em}.project-year{color:#8b9288;font-family:var(--mono);font-size:8px;text-align:right}.project-content>p{max-width:450px;min-height:45px;margin-bottom:15px;color:#727a71;font-size:12px;line-height:1.75}.project-footer{display:flex;min-height:30px;align-items:center;justify-content:space-between;border-top:1px solid #e9eae3;padding-top:12px}.project-status{display:inline-flex;align-items:center;gap:8px;color:#76806f;font-family:var(--mono);font-size:8px}.project-status span{width:5px;height:5px;flex-basis:5px;box-shadow:none}.project-demo{color:#586a44;font-size:10px;font-weight:700}.icon-link{display:grid;width:27px;height:27px;place-items:center;border:1px solid #e2e5dd;border-radius:50%;color:#687565;font-size:12px;transition:background .15s ease,color .15s ease}.icon-link:hover{border-color:var(--ink);background:var(--ink);color:#fff}.about-section{background:#e9ebdf}.about-layout{display:grid;grid-template-columns:1fr .8fr;gap:100px;padding-top:103px;padding-bottom:105px}.about-copy .eyebrow{margin-bottom:20px}.about-copy h2{margin-bottom:24px;font-size:clamp(39px,5vw,58px);line-height:1.12}.about-copy>p:not(.eyebrow){max-width:495px;margin-bottom:22px;color:#667068;font-size:14px;line-height:1.9}.about-details{align-self:center;border-top:1px solid #d2d7c9}.detail-block{padding:22px 0;border-bottom:1px solid #d2d7c9}.detail-label{display:block;margin-bottom:13px;color:#858d80;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.detail-block p{margin-bottom:0;color:#39433a;font-size:13px;font-weight:600;line-height:1.8}.detail-block p span{padding-inline:3px;color:#879d53}.skill-list{display:flex;flex-wrap:wrap;gap:7px}.skill-list span{padding:8px 10px;border:1px solid #d3d8ca;color:#586453;font-family:var(--mono);font-size:9px}.location-block p{display:flex;align-items:center;gap:9px}.location-pin{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--green);color:#455537;font-size:11px}.contact-section{padding-top:93px;padding-bottom:91px}.contact-topline{display:flex;justify-content:space-between;margin-bottom:28px;color:#838b81;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.contact-section h2{margin-bottom:31px;font-size:clamp(58px,9vw,106px);line-height:.96}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-top:20px;border-top:1px solid var(--line)}.contact-bottom p{max-width:420px;margin-bottom:0;color:#717a71;font-size:13px;line-height:1.7}.button-light{flex:0 0 auto;background:var(--green);color:#293428}.button-light:hover{background:#bce75b}.site-footer{display:flex;min-height:83px;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}.footer-wordmark{font-size:13px}.footer-wordmark .wordmark-mark{width:25px;height:25px;font-size:14px}.footer-note{color:#8c9288;font-family:var(--mono);font-size:8px}.footer-links{display:flex;gap:18px;color:#69716a;font-size:10px;font-weight:600}@media(min-width:1400px){:root{--shell: min(1240px, calc(100% - 120px) )}}@media(max-width:900px){:root{--shell: min(100% - 56px, 760px)}.hero{min-height:570px;grid-template-columns:1.05fr .95fr;gap:24px}.hero-art{min-height:350px}.hero-art:before{width:190px;height:190px}.profile-photo{width:min(72%,270px);height:285px}.orbit-one{width:315px;height:155px}.orbit-two{width:375px;height:225px}.note-top{top:27px;right:14px}.note-bottom{right:13px;bottom:13px;left:13px}.hero-meta{flex-wrap:wrap;margin-top:36px}.about-layout{gap:48px}.certification-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card:nth-child(2){padding-right:0;border-right:0}.resource-card:nth-child(3){padding-left:0}.resource-card:nth-child(n+3){border-top:1px solid #d9ded2}}@media(max-width:640px){:root{--shell: calc(100% - 40px) }html{scroll-padding-top:75px}.hero{min-height:auto;grid-template-columns:1fr;gap:31px;padding-top:70px;padding-bottom:68px}.hero-copy{padding-bottom:0}.eyebrow{margin-bottom:21px;font-size:9px}.hero h1{margin-bottom:19px;font-size:clamp(43px,11vw,65px)}.hero-intro{max-width:480px;margin-bottom:23px;font-size:14px}.hero-actions{gap:19px}.hero-meta{gap:8px;margin-top:28px;font-size:8px}.hero-art{min-height:320px}.profile-photo{width:min(73%,260px);height:270px}.hero-scroll{display:none}.section-space{padding-top:75px;padding-bottom:77px}.section-heading{align-items:start;gap:17px;margin-bottom:25px}.section-heading h2{font-size:42px}.section-heading .eyebrow{margin-bottom:12px}.all-projects-link{flex:0 0 auto;margin-top:31px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:15px}.certification-card{padding:20px 18px 18px}.resource-inner{padding-top:65px;padding-bottom:67px}.resource-inner .section-heading h2{font-size:39px}.resource-grid{grid-template-columns:1fr}.resource-card,.resource-card:first-child,.resource-card:last-child,.resource-card:nth-child(3){min-height:0;padding:19px 0;border-right:0}.resource-card:first-child{border-top:0}.resource-card+.resource-card{border-top:1px solid #d9ded2}.resource-number{margin-bottom:12px}.resource-card p{margin-bottom:13px}.project-visual{min-height:210px}.project-content{padding:19px 17px 15px}.project-content>p{min-height:0}.about-layout{grid-template-columns:1fr;gap:35px;padding-top:74px;padding-bottom:77px}.about-copy h2{font-size:42px}.about-copy>p:not(.eyebrow){font-size:13px}.contact-section{padding-top:74px;padding-bottom:75px}.contact-topline{gap:16px;margin-bottom:26px;font-size:8px}.contact-topline span:last-child{text-align:right}.contact-section h2{margin-bottom:28px;font-size:clamp(55px,14vw,79px)}.contact-bottom{align-items:start;flex-direction:column;gap:20px}.contact-bottom p{font-size:12px}.site-footer{min-height:105px;flex-wrap:wrap;gap:6px 18px;padding-top:17px;padding-bottom:17px}.footer-note{order:3;width:100%;font-size:8px}.footer-links{gap:13px;font-size:9px}}@media(max-width:370px){:root{--shell: calc(100% - 32px) }.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-meta{align-items:flex-start;flex-direction:column}.meta-divider{display:none}.project-title-row{align-items:flex-start;flex-direction:column;gap:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{color-scheme:dark;--paper: #202020;--paper-deep: #262626;--ink: #edf2f8;--muted: #929cac;--line: #222b36;--green: #c3f76a;--green-deep: #91bd51;--mono: "DM Mono", "SFMono-Regular", Consolas, monospace;--sans: "DM Sans", "Segoe UI", sans-serif;--display: "Manrope", "Segoe UI", sans-serif;--shell: min(1160px, calc(100% - 96px) )}html{background:var(--paper);scroll-padding-top:88px}body{overflow-x:hidden;background-color:var(--paper);background-image:radial-gradient(circle at 8% 25%,rgb(255 255 255 / 19%) 0 1px,transparent 1.5px),radial-gradient(circle at 26% 68%,rgb(255 255 255 / 14%) 0 1px,transparent 1.5px),radial-gradient(circle at 77% 34%,rgb(255 255 255 / 17%) 0 1px,transparent 1.5px),radial-gradient(circle at 93% 84%,rgb(255 255 255 / 13%) 0 1px,transparent 1.5px);background-size:181px 167px,223px 211px,197px 193px,251px 229px;color:var(--ink)}body:before{display:none}a:focus-visible,button:focus-visible{outline-color:var(--green)}.skip-link{z-index:30;background:var(--green);color:#10150c}.site-header{position:sticky;top:0;border-bottom-color:transparent;background:#080b10b8;backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.header-inner{min-height:82px}.wordmark{letter-spacing:-.055em}.wordmark-mark{border-radius:9px;background:var(--green);color:#11170c}.wordmark-muted{color:#788494}.primary-navigation{color:#a3adbb}.nav-contact span,.text-link span,.project-demo span{color:var(--green)}.hero{min-height:670px;grid-template-columns:1.02fr .98fr;gap:70px;padding-top:44px;padding-bottom:85px}.eyebrow{color:#9ba7b5;font-size:10px;letter-spacing:.095em}.eyebrow:before{color:var(--green);content:"//";font-weight:500}.eyebrow .status-dot{order:-1}.status-dot,.project-status span{background:var(--green);box-shadow:0 0 0 4px #c3f76a1c}.hero h1{max-width:660px;margin-bottom:25px;font-size:clamp(52px,6vw,78px);font-weight:700;line-height:1.01;letter-spacing:-.075em}.hero h1 span,.about-copy h2 span,.contact-section h2 span{color:var(--green)}.hero-intro{color:#9ba6b4;font-size:15px;line-height:1.85}.button{min-height:50px;border-radius:6px;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.button-dark{background:var(--green);color:#10150c}.button-dark:hover{background:#d5ff91;box-shadow:0 8px 30px #c3f76a26}.text-link{color:#dce3ec;transition:color .18s ease}.text-link:hover{color:var(--green)}.hero-meta{color:#788494;font-size:9px}.meta-divider{background:#526070}.hero-art{min-height:470px;border:1px solid #28333f;background:radial-gradient(ellipse at 51% 58%,rgb(195 247 106 / 10%),transparent 49%),linear-gradient(145deg,#121b24,#0b1017 72%);box-shadow:0 32px 90px #0000003d}.hero-art:before{width:280px;height:280px;background:#9bcf4d;filter:blur(30px);opacity:.14}.art-grid{background-image:linear-gradient(rgb(180 204 225 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(180 204 225 / 6%) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 50% 48%,black 15%,transparent 79%);mask-image:radial-gradient(ellipse at 50% 48%,black 15%,transparent 79%)}.profile-photo{width:min(66%,310px);height:365px;border:1px solid rgb(230 239 247 / 32%);border-radius:45% 45% 8px 8px;box-shadow:0 22px 68px #0000007a;filter:saturate(.8) contrast(1.04)}.orbit{border-color:#c3f76a38;animation:orbit-drift 24s linear infinite}.orbit-two{animation-direction:reverse;animation-duration:32s}.art-note{border:1px solid rgb(211 225 238 / 12%);background:#0d131beb;color:#dce5ef;box-shadow:0 14px 38px #0000003d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.note-top{top:36px;right:24px;padding:11px 13px;font-family:var(--mono);font-size:9px}.note-dot{background:var(--green);box-shadow:0 0 12px #c3f76a73}.note-bottom{right:16px;bottom:16px;left:16px;border-radius:6px;font-size:12px}.note-index,.art-spark{color:var(--green)}.spark-one{animation:spark-pulse 3.2s ease-in-out infinite}.spark-two{animation:spark-pulse 3.2s ease-in-out 1.3s infinite}.hero-scroll{color:#788494}.hero-scroll span{background:var(--green)}.section-space{padding-top:104px;padding-bottom:108px}.work-section{border-top-color:var(--line)}.section-heading h2{letter-spacing:-.075em}.heading-period{color:var(--green)}.all-projects-link{margin-bottom:7px}.certification-section{padding-top:87px;padding-bottom:76px}.certification-section h2{margin-bottom:40px;font-size:clamp(46px,5.8vw,68px);line-height:1}.certification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.certification-card{min-height:270px;padding:26px;border:1px solid #222d38;border-radius:8px;background:linear-gradient(145deg,#111821f0,#0b1017f0);transition:transform .22s ease,border-color .22s ease,background .22s ease}.certification-card:hover{transform:translateY(-4px);border-color:#c3f76a59;background:linear-gradient(145deg,#151f29,#0d131b)}.certificate-badge{display:inline-flex;margin-bottom:29px;color:var(--green);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.certification-card h3{margin-bottom:12px;font-size:27px;letter-spacing:-.055em}.certification-card p{max-width:480px;margin-bottom:23px;color:#96a2b0;font-size:12px;line-height:1.8}.certificate-link{color:#e5edf5;font-size:11px;transition:color .18s ease,gap .18s ease}.certificate-link span{color:var(--green)}.certificate-link:hover{gap:12px;color:var(--green);opacity:1}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{--project-accent: #c3f76a;position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--project-accent) 18%,#222d38);border-radius:11px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--project-accent) 8%,transparent),transparent 62%),linear-gradient(155deg,#111820,#0b1016 72%);box-shadow:0 8px 25px #0000001f;transition:transform .28s cubic-bezier(.2,.75,.25,1),border-color .22s ease,box-shadow .22s ease}.project-card:nth-child(2){--project-accent: #69cfff}.project-card:nth-child(3){--project-accent: #a99bff}.project-card:nth-child(4){--project-accent: #f0b96b}.project-card:before{position:absolute;z-index:1;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--project-accent),transparent);content:"";opacity:.68;transition:opacity .22s ease,height .22s ease}.project-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--project-accent) 56%,#34404a);box-shadow:0 18px 42px color-mix(in srgb,var(--project-accent) 13%,transparent)}.project-card:hover:before{height:3px;opacity:1}.project-visual{min-height:145px;flex:0 0 145px;border-bottom:1px solid rgb(255 255 255 / 6%)}.visual-cfam{background:radial-gradient(ellipse at 50% 52%,rgb(139 202 109 / 17%),transparent 50%),#101b1c}.visual-campus{background:radial-gradient(ellipse at 50% 50%,rgb(93 152 211 / 15%),transparent 53%),#111923}.visual-omni{background:radial-gradient(ellipse at 50% 50%,rgb(124 131 236 / 16%),transparent 53%),#131621}.visual-proofly{background:radial-gradient(ellipse at 50% 50%,rgb(218 166 94 / 14%),transparent 53%),#1a1713}.visual-label,.visual-caption{color:#9aa7b4}.visual-label{top:13px;left:14px;font-size:8px;letter-spacing:.1em}.visual-caption{right:13px;bottom:11px;font-size:8px}.chat-preview,.inbox-preview,.proof-card{border:1px solid #34414a;border-radius:7px;background:#151e26;box-shadow:0 22px 50px #00000061;transition:transform .35s cubic-bezier(.2,.75,.25,1)}.project-card:hover .chat-preview{transform:rotate(-1deg) translateY(-4px)}.project-card:hover .campus-window{transform:rotate(0) translateY(-4px)}.project-card:hover .inbox-preview{transform:rotate(-1deg) translateY(-4px)}.project-card:hover .proof-card{transform:rotate(1deg) translateY(-4px)}.chat-avatar,.inbox-mark{background:var(--green);color:#11170c}.chat-lines i,.inbox-lines i{background:#35424c}.chat-wave,.inbox-count,.proof-qr{color:var(--green)}.campus-window{border:1px solid #34414a;border-radius:6px;background:#141c25;box-shadow:0 22px 50px #00000061;transition:transform .35s cubic-bezier(.2,.75,.25,1)}.window-sidebar{background:#0c1219}.window-sidebar i{background:#657681}.window-sidebar i:first-child{background:var(--green)}.window-main>span{background:#34424c}.window-main>span:first-child{background:#a9bbc3}.window-main>div i{border-color:#2c3943;background:#1b2730}.proof-icon{background:#c3f76a24;color:var(--green)}.proof-card>div i{background:#3a4449}.project-content{display:flex;flex:1;flex-direction:column;padding:16px 16px 13px}.project-title-row{align-items:flex-start;flex-direction:column;gap:4px}.project-title-row h3{margin:0;line-height:1.25}.project-title-row h3{color:#e8eef5;font-size:16px}.project-year{padding:4px 7px;border:1px solid color-mix(in srgb,var(--project-accent) 25%,transparent);border-radius:999px;background:color-mix(in srgb,var(--project-accent) 8%,transparent);color:#8794a3;font-size:7px;text-align:left}.project-content>p{color:#929eac;min-height:0;margin:10px 0 14px;font-size:12px;line-height:1.6}.project-stack{display:grid;gap:9px;margin:0 0 15px}.project-stack-group{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:8px}.project-stack-label{padding-top:4px;color:var(--project-accent);font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase}.project-stack-tags{display:flex;flex-wrap:wrap;gap:4px}.project-stack-tags span{padding:4px 6px;border:1px solid #2c3741;border-radius:4px;background:#ffffff05;color:#b5c0ca;font-family:var(--mono);font-size:8px;line-height:1.2}.project-stack-note{grid-column:2;margin-top:-4px;color:#84919d;font-size:8px;line-height:1.5}.project-footer{margin-top:auto;border-top-color:#222d38;padding-top:10px}.project-footer .project-demo,.project-footer .project-repository{display:inline-flex;align-items:center;gap:5px;font-size:9px}.project-footer .project-demo{color:#aab6c1}.project-footer .project-repository{color:#e3edda}.project-footer .project-demo span,.project-footer .project-repository span{color:var(--project-accent)}.project-status{color:#94a0ad;font-size:8px}.project-status span{box-shadow:0 0 0 3px #c3f76a1a}.project-demo{color:#c1d0d7;transition:color .16s ease}.project-demo:hover{color:var(--project-accent)}.icon-link{border-color:color-mix(in srgb,var(--project-accent) 30%,#33404c);color:#bac5cf;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.icon-link:hover{transform:translate(2px,-2px);border-color:var(--project-accent);background:var(--project-accent);color:#101419}.resource-section{border-block:1px solid #202a34;background:transparent}.resource-inner{padding-top:86px;padding-bottom:92px}.resource-grid{border-color:#27313b}.resource-card{border-right-color:#27313b}.resource-number,.detail-label{color:#82909e}.resource-card h3{color:#e5ecf3}.resource-card h3 a:hover,.resource-link:hover,.resource-card h3 span{color:var(--green)}.resource-card p{color:#929eac}.resource-link{color:#c0cfb4}.skills-section{position:relative;width:100%;margin-inline:0;padding:76px max(48px,calc((100vw - 1500px)/2)) 86px;overflow:hidden;background:transparent}.skills-section .section-heading{align-items:end;max-width:1500px;margin:0 auto 36px}.skills-section .section-heading h2{font-size:clamp(38px,4.4vw,53px)}.skills-note,.skill-group-index{color:#8593a2;font-family:var(--mono);font-size:8px;letter-spacing:.1em}.skills-note{padding-bottom:4px;color:#858585}.skills-grid{max-width:1500px;margin-inline:auto}.skill-group{display:grid;grid-template-columns:minmax(155px,.55fr) minmax(0,2fr);align-items:start;gap:20px;padding:25px 0;border-top:1px solid rgb(255 255 255 / 9%)}.skill-group h3{margin:0}.skill-group .skill-category{color:#e1e1e1;font-family:var(--sans);font-size:clamp(17px,1.6vw,21px);font-weight:500;letter-spacing:.005em;line-height:1.35}.skill-group .skill-list{display:flex;flex-wrap:wrap;align-items:center;gap:16px 25px}.skill-group .skill-list .skill-item{display:inline-flex;min-height:44px;min-width:0;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#dedede;font-family:var(--sans);font-size:clamp(15px,1.6vw,20px);font-weight:500;line-height:1.2;white-space:normal;transition:color .18s ease,transform .18s ease}.skill-group .skill-list .skill-item>img{display:block;width:32px;height:32px;flex:0 0 32px;object-fit:contain}.skill-group .skill-list .skill-item>.skill-logos{display:inline-flex;align-items:center;gap:3px}.skill-group .skill-list .skill-item>.skill-logos img{display:block;width:29px;height:29px;object-fit:contain}.skill-group .skill-list .skill-item>.assembly-icon,.skill-group .skill-list .skill-item>.database-icon,.skill-group .skill-list .skill-item>.network-icon,.skill-group .skill-list .skill-item>.terminal-icon{width:32px;height:32px;flex:0 0 32px;color:#a7c9ff}.skill-group .skill-list .skill-item>span{min-width:0;padding:0;border:0;background:transparent;color:inherit;font-family:inherit;font-size:inherit}.skill-group .skill-item:hover{transform:translateY(-2px);color:#fff}.about-section{border-bottom:1px solid #202a34;background:transparent}.about-layout{gap:92px;padding-top:100px;padding-bottom:102px}.about-copy h2{letter-spacing:-.075em}.about-copy>p:not(.eyebrow){color:#9aa6b3}.about-details{border-top-color:#29333e}.detail-block{border-bottom-color:#29333e}.detail-block p{color:#d6dee7}.detail-block p span{color:var(--green)}.skill-list span{border-color:#303c47;border-radius:4px;background:#ffffff05;color:#b8c4cf}.location-pin{border-radius:6px;background:#c3f76a21;color:var(--green)}.contact-section{padding-top:98px;padding-bottom:96px}.contact-topline{color:#8c99a7}.contact-section h2{font-size:clamp(62px,8.3vw,100px)}.contact-bottom{border-top-color:#29333e}.contact-bottom p{color:#9aa6b3}.button-light{background:var(--green);color:#11170c}.button-light:hover{background:#d5ff91;box-shadow:0 8px 30px #c3f76a26}.site-footer{border-top-color:#222b36}.footer-note{color:#7e8a99}.footer-links{color:#9ba7b5}.has-motion .reveal{opacity:0;translate:0 22px;transition:opacity .65s ease,translate .65s cubic-bezier(.2,.75,.25,1)}.has-motion .reveal.is-visible{opacity:1;translate:0 0}.has-motion .certification-card:nth-child(2),.has-motion .skill-group:nth-child(2n),.has-motion .resource-card:nth-child(2n){transition-delay:90ms}.cv-section{padding-top:90px;padding-bottom:100px}.cv-section-heading{align-items:flex-end;margin-bottom:36px}.cv-section-heading h2{margin-bottom:0;font-size:clamp(42px,5.8vw,64px)}.cv-download{display:inline-flex;min-height:48px;flex:0 0 auto;align-items:center;gap:9px;margin-bottom:2px;padding:0 17px;border-radius:8px;font-size:12px;font-weight:700;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.cv-download:hover{transform:translateY(-2px);box-shadow:0 8px 28px #c3f76a29}.cv-download svg{width:18px;height:18px}.cv-download>span{padding:3px 5px;border:1px solid rgb(17 23 12 / 20%);border-radius:4px;font-family:var(--mono);font-size:8px;letter-spacing:.04em}.cv-sheet{overflow:hidden;padding:clamp(22px,4.4vw,52px);border:1px solid #26313b;border-radius:16px;background:radial-gradient(ellipse at 100% 0%,rgb(195 247 106 / 5%),transparent 35%),linear-gradient(145deg,#111820,#0c1117 75%);box-shadow:0 24px 70px #0000003d,inset 0 1px #ffffff08}.cv-profile{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:21px;padding-bottom:28px;border-bottom:1px solid #29343e}.cv-profile>img{display:block;width:76px;height:76px;border:2px solid rgb(195 247 106 / 42%);border-radius:14px;object-fit:cover;object-position:center 38%}.cv-profile-copy{min-width:0}.cv-kicker,.cv-label,.cv-index,.cv-open-label{color:var(--green);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.cv-kicker{margin:0 0 5px}.cv-profile-copy h3{margin:0;color:#f2f5f7;font-family:var(--display);font-size:clamp(27px,3vw,38px);letter-spacing:-.065em;line-height:1.08}.cv-role{margin:6px 0 12px;color:#a8b4bf;font-size:12px}.cv-contact{display:flex;flex-wrap:wrap;gap:5px 16px;color:#84919e;font-size:10px}.cv-contact a{color:#b8c4ce;transition:color .16s ease}.cv-contact a:hover,.cv-project>a:hover,.cv-footer a:hover{color:var(--green)}.cv-open-label{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgb(195 247 106 / 16%);border-radius:999px;background:#c3f76a0d;white-space:nowrap}.cv-open-label i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #c3f76a8c}.cv-summary{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:22px 0 26px;border-bottom:1px solid #29343e}.cv-summary .cv-label{padding-top:3px}.cv-summary p{max-width:740px;margin:0;color:#a9b3bd;font-size:12px;line-height:1.8}.cv-content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);padding:28px 0;border-bottom:1px solid #29343e}.cv-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-block{min-width:0}.cv-block-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:17px}.cv-index{color:#82905b;font-size:9px}.cv-block-heading h4{margin:0;color:#eef2f4;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:-.035em}.cv-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cv-skill-card{min-height:96px;padding:13px 14px;border:1px solid #27323c;border-radius:9px;background:linear-gradient(140deg,#ffffff08,#ffffff03)}.cv-skill-card h5,.cv-project-heading h5,.cv-timeline-heading h5{margin:0;color:#e6ebef;font-size:11px;font-weight:700}.cv-project-heading h5{font-size:12px}.cv-skill-card p{margin:7px 0 0;color:#929eaa;font-size:10px;line-height:1.65}.cv-project-list{display:grid;gap:0}.cv-project{padding:0 0 14px}.cv-project+.cv-project{padding-top:13px;border-top:1px solid #26313a}.cv-project:last-child{padding-bottom:0}.cv-project-heading,.cv-timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cv-project-heading>span,.cv-timeline-heading>span{color:#85919d;font-family:var(--mono);font-size:8px;text-align:right}.cv-project>p,.cv-timeline-item>p:not(.cv-organization){margin:6px 0;color:#9aa6b1;font-size:10px;line-height:1.65}.cv-project>a{color:#d5e7b1;font-size:9px;transition:color .16s ease}.cv-project-stack{display:grid;gap:6px;margin:8px 0}.cv-project-stack>div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px}.cv-project-stack>div>span{padding-top:1px;color:var(--green);font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase}.cv-project-stack>div>p{margin:0;color:#a4b0ba;font-family:var(--mono);font-size:8px;line-height:1.5}.cv-project>a span,.cv-footer a span{color:var(--green)}.cv-timeline-item{position:relative;margin-left:4px;padding:0 0 19px 17px;border-left:1px solid #354139}.cv-timeline-item:last-child{padding-bottom:0;border-left-color:transparent}.cv-timeline-dot{position:absolute;top:3px;left:-4px;width:7px;height:7px;border:1px solid #0e151b;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px #c3f76a26}.cv-organization{margin:4px 0 0;color:#c1cbd3;font-size:10px;font-weight:600}.cv-certifications{display:flex;flex-direction:column}.cv-certification{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #27323c}.cv-cert-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgb(195 247 106 / 17%);border-radius:9px;background:#c3f76a0f;color:var(--green);font-family:var(--mono);font-size:9px}.cv-certification strong,.cv-certification small{display:block}.cv-certification strong{color:#e4eaf0;font-size:10px}.cv-certification small{margin-top:4px;color:#8e9aa6;font-size:9px;line-height:1.5}.cv-cert-arrow{color:var(--green);font-size:13px;transition:transform .16s ease}.cv-certification:hover .cv-cert-arrow{transform:translate(2px,-2px)}.cv-footer{display:flex;justify-content:space-between;gap:16px;padding-top:20px;color:#82909c;font-family:var(--mono);font-size:9px}.cv-footer a{color:#d8e0e7;transition:color .16s ease}@media(max-width:900px){.cv-open-label{grid-column:2;justify-self:start}.cv-contact{gap:5px 12px}.cv-content-grid{gap:24px}}@media(max-width:640px){.cv-section{padding-top:66px;padding-bottom:72px}.cv-section-heading{align-items:flex-start;gap:20px;margin-bottom:25px}.cv-section-heading h2{font-size:39px}.cv-download{min-height:42px;gap:6px;margin-top:2px;padding-inline:11px;font-size:10px}.cv-download svg{width:16px;height:16px}.cv-sheet{padding:21px 18px;border-radius:12px}.cv-profile{grid-template-columns:60px minmax(0,1fr);align-items:start;gap:13px;padding-bottom:20px}.cv-profile>img{width:60px;height:60px;border-radius:12px}.cv-profile-copy h3{font-size:27px}.cv-role{margin-bottom:9px;font-size:10px}.cv-contact{gap:5px 10px;font-size:9px}.cv-open-label{grid-column:1 / -1;margin-top:1px}.cv-summary{grid-template-columns:1fr;gap:8px;padding-block:18px}.cv-content-grid,.cv-bottom-grid{grid-template-columns:1fr;gap:25px;padding-block:22px}.cv-skill-grid{gap:8px}.cv-skill-card{min-height:0;padding:11px}.cv-project-heading{align-items:flex-start}.cv-project-heading>span{max-width:45%}.cv-footer{flex-wrap:wrap;font-size:8px}}@media(max-width:370px){.cv-section-heading h2{font-size:34px}.cv-download{gap:5px;padding-inline:8px}.cv-download>span{display:none}.cv-skill-grid{grid-template-columns:1fr}}.certification-card{--certificate-accent: #c3f76a;position:relative;display:flex;min-height:330px;flex-direction:column;isolation:isolate;overflow:hidden;padding:clamp(24px,3vw,38px);border-color:color-mix(in srgb,var(--certificate-accent) 18%,#222d38);border-radius:14px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--certificate-accent) 10%,transparent),transparent 52%),linear-gradient(145deg,#121a23,#0b1118 76%);box-shadow:0 16px 42px #00000029,inset 0 1px #ffffff08;transition:transform .28s cubic-bezier(.2,.75,.25,1),border-color .22s ease,box-shadow .22s ease,background .22s ease}.certificate-card-network{--certificate-accent: #69cfff}.certification-card:before,.certification-card:after{position:absolute;z-index:-1;pointer-events:none;content:""}.certification-card:before{inset:0;background:radial-gradient(ellipse at 88% 22%,color-mix(in srgb,var(--certificate-accent) 13%,transparent),transparent 38%);opacity:.58;transition:opacity .28s ease}.certification-card:after{top:0;right:18%;left:18%;height:1px;background:linear-gradient(90deg,transparent,var(--certificate-accent),transparent);background-size:200% 100%;opacity:.7;animation:certificate-edge-glow 7s ease-in-out infinite}.certificate-art{position:absolute;z-index:-1;top:8px;right:18px;display:grid;width:108px;height:86px;place-items:center;color:var(--certificate-accent);opacity:.42;pointer-events:none}.certificate-art svg{z-index:1;width:62px;height:62px;overflow:visible;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--certificate-accent) 25%,transparent));animation:certificate-mark-float 5s ease-in-out infinite}.certificate-card-network .certificate-art svg{animation-delay:-2.2s}.certificate-orbit{position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--certificate-accent) 21%,transparent);border-right-color:transparent;border-bottom-color:color-mix(in srgb,var(--certificate-accent) 8%,transparent);border-radius:50%;box-shadow:0 0 34px color-mix(in srgb,var(--certificate-accent) 7%,transparent),inset 0 0 22px color-mix(in srgb,var(--certificate-accent) 5%,transparent);animation:certificate-orbit 24s linear infinite}.certificate-art-label{position:absolute;right:0;bottom:0;color:color-mix(in srgb,var(--certificate-accent) 67%,#82909d);font-family:var(--mono);font-size:7px;letter-spacing:.14em}.certification-card>:not(.certificate-art){position:relative;z-index:1}.certificate-badge{align-items:center;gap:9px;width:fit-content;max-width:100%;min-height:27px;margin:-5px 0 27px -10px;padding:0 10px;border:1px solid color-mix(in srgb,var(--certificate-accent) 17%,#26313c);border-radius:999px;background:linear-gradient(100deg,#0a1016f5,#0a1016c7);color:color-mix(in srgb,var(--certificate-accent) 83%,white);font-size:9px;letter-spacing:.08em}.certificate-badge i{width:3px;height:3px;flex:0 0 3px;border-radius:50%;background:var(--certificate-accent);box-shadow:0 0 10px var(--certificate-accent)}.certification-card h3{max-width:70%;margin-bottom:12px;font-size:clamp(27px,3vw,36px)}.certification-card p{max-width:520px;flex:1 1 auto;margin-bottom:25px;color:#a1adba;font-size:13px;line-height:1.85}.certificate-link{display:inline-flex;width:fit-content;min-height:40px;align-items:center;gap:10px;padding:0 13px;border:1px solid color-mix(in srgb,var(--certificate-accent) 24%,#26313c);border-radius:8px;background:color-mix(in srgb,var(--certificate-accent) 5%,#101720);font-size:11px;font-weight:600;transition:gap .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.certificate-link span{color:var(--certificate-accent);transition:transform .18s ease}.certification-card.reveal{transition:opacity .65s ease,translate .65s cubic-bezier(.2,.75,.25,1),transform .28s cubic-bezier(.2,.75,.25,1),border-color .22s ease,box-shadow .22s ease,background .22s ease}@media(hover:hover)and (pointer:fine){.certification-card:hover,.certification-card:focus-within{transform:translateY(-7px) perspective(900px) rotateX(1deg);border-color:color-mix(in srgb,var(--certificate-accent) 54%,#34404a);background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--certificate-accent) 15%,transparent),transparent 55%),linear-gradient(145deg,#151f29,#0d131b 76%);box-shadow:0 24px 58px color-mix(in srgb,var(--certificate-accent) 11%,transparent),inset 0 1px #ffffff0d}.certification-card:hover:before,.certification-card:focus-within:before{opacity:1}.certification-card:hover .certificate-art,.certification-card:focus-within .certificate-art{opacity:.65}.certificate-link:hover{gap:14px;border-color:color-mix(in srgb,var(--certificate-accent) 58%,#26313c);background:color-mix(in srgb,var(--certificate-accent) 11%,#101720);box-shadow:0 5px 18px color-mix(in srgb,var(--certificate-accent) 10%,transparent);color:#fff}.certificate-link:hover span{transform:translate(2px,-2px)}}.certification-card:active{transform:scale(.99)}@keyframes certificate-edge-glow{0%,to{background-position:100% 0;opacity:.45}50%{background-position:0 0;opacity:.9}}@keyframes certificate-orbit{to{transform:rotate(360deg)}}@keyframes certificate-mark-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.has-motion .skill-group:nth-child(3){transition-delay:.15s}.project-card.reveal{transition:opacity .56s ease,translate .56s cubic-bezier(.2,.75,.25,1),transform .28s cubic-bezier(.2,.75,.25,1),border-color .22s ease,box-shadow .22s ease}.has-motion .skill-group.is-visible .skill-list span{animation:skill-chip-arrive .42s cubic-bezier(.2,.75,.25,1) both}.has-motion .skill-group.is-visible .skill-list span:nth-child(4n+1){animation-delay:40ms}.has-motion .skill-group.is-visible .skill-list span:nth-child(4n+2){animation-delay:80ms}.has-motion .skill-group.is-visible .skill-list span:nth-child(4n+3){animation-delay:.12s}.has-motion .skill-group.is-visible .skill-list span:nth-child(4n){animation-delay:.16s}.project-card:hover .project-visual:after{opacity:1;transform:translate(100%)}.project-visual:after{position:absolute;inset:0 auto 0 -70%;width:45%;background:linear-gradient(100deg,transparent,rgb(255 255 255 / 5%),transparent);content:"";opacity:0;pointer-events:none;transform:translate(0);transition:opacity .22s ease,transform .65s cubic-bezier(.2,.75,.25,1)}.hero-copy>*{animation:hero-arrive .7s cubic-bezier(.2,.75,.25,1) both}.hero-copy>:nth-child(2){animation-delay:90ms}.hero-copy>:nth-child(3){animation-delay:.17s}.hero-copy>:nth-child(4){animation-delay:.25s}.hero-copy>:nth-child(5){animation-delay:.33s}@keyframes hero-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-drift{0%{rotate:0deg}to{rotate:360deg}}@keyframes spark-pulse{0%,to{opacity:.58;transform:scale(.92) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(30deg)}}@keyframes skill-chip-arrive{0%{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1199px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){:root{--shell: min(100% - 56px, 760px)}.hero{gap:28px}.hero-art{min-height:365px}.profile-photo{height:290px}.note-top{top:20px;right:12px}.certification-grid{gap:13px}.certification-card{padding:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual{min-height:150px;flex-basis:150px}.skills-section{padding-inline:28px}.skill-group{grid-template-columns:minmax(130px,.6fr) minmax(0,2fr);gap:16px;padding:23px 0}.skill-group .skill-list{gap:14px 18px}.skill-group .skill-list .skill-item{gap:9px;font-size:15px}.skill-group .skill-list .skill-item>img{width:30px;height:30px;flex-basis:30px}.skill-group .skill-list .skill-item>.assembly-icon,.skill-group .skill-list .skill-item>.database-icon,.skill-group .skill-list .skill-item>.network-icon,.skill-group .skill-list .skill-item>.terminal-icon{width:30px;height:30px;flex-basis:30px}.skill-group .skill-list .skill-item>.skill-logos img{width:27px;height:27px}.resource-card{padding-inline:13px}.about-layout{gap:48px}}@media(max-width:640px){.hero{grid-template-columns:1fr;gap:26px;padding-top:55px;padding-bottom:58px}.hero h1{font-size:clamp(44px,12vw,65px)}.hero-intro{color:#a3aebb}.hero-art{min-height:320px}.hero-art:before{width:190px;height:190px}.profile-photo{width:min(73%,250px);height:265px}.orbit-one{width:300px;height:150px}.orbit-two{width:360px;height:220px}.note-top{top:16px;right:10px;padding:9px 10px;font-size:8px}.section-space{padding-top:72px;padding-bottom:74px}.certification-section{padding-top:67px;padding-bottom:60px}.certification-section h2{font-size:47px}.certification-grid{grid-template-columns:1fr}.certification-card{min-height:0;padding:22px 19px}.project-grid{grid-template-columns:1fr;gap:13px}.project-visual{min-height:160px;flex-basis:160px}.project-content{padding:15px 15px 12px}.project-content>p{min-height:0}.skills-section .section-heading{flex-direction:column;gap:10px}.skills-section .section-heading h2{font-size:39px}.skills-section{padding:62px 20px}.skills-section .section-heading{margin-bottom:25px}.skill-group{grid-template-columns:minmax(96px,.7fr) minmax(0,2fr);gap:10px;padding:20px 0}.skill-group .skill-category{font-size:15px}.skill-group .skill-list{gap:12px 14px}.skill-group .skill-list .skill-item{min-height:34px;gap:7px;font-size:14px}.skill-group .skill-list .skill-item>img{width:29px;height:29px;flex-basis:29px}.skill-group .skill-list .skill-item>.assembly-icon,.skill-group .skill-list .skill-item>.database-icon,.skill-group .skill-list .skill-item>.network-icon,.skill-group .skill-list .skill-item>.terminal-icon{width:29px;height:29px;flex-basis:29px}.skill-group .skill-list .skill-item>.skill-logos img{width:25px;height:25px}.skill-group .skill-list .skill-item>span{overflow-wrap:break-word}.skills-note{align-self:flex-start;padding:0}.certificate-badge{margin-bottom:22px}.resource-section{background:transparent}.resource-grid{grid-template-columns:1fr}.resource-card,.resource-card:first-child,.resource-card:last-child,.resource-card:nth-child(3){padding:19px 0;border-right:0}.resource-card+.resource-card{border-top:1px solid #27313b}.resource-card p{color:#9ba7b5}.about-layout{gap:34px;padding-top:71px;padding-bottom:74px}.contact-section{padding-top:70px;padding-bottom:73px}.contact-bottom p{color:#a0acb8}.site-footer{border-top-color:#222b36}.footer-note{color:#8793a1}}@media(max-width:370px){:root{--shell: calc(100% - 32px) }.hero h1{font-size:43px}.certification-section h2{font-size:42px}}@media(max-width:900px){html{scroll-padding-top:76px}.site-header{background:#080b10e0}.header-inner{min-height:70px}.menu-toggle{position:relative;display:grid;width:42px;height:42px;align-content:center;justify-items:center;gap:5px;border:1px solid #33404c;border-radius:14px;background:linear-gradient(145deg,#141c25,#0d131a);box-shadow:0 6px 20px #0003;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.menu-toggle:hover{transform:translateY(-1px);border-color:#c3f76a73}.menu-toggle span{width:16px;height:2px;border-radius:2px;background:#e8eef5;transition:transform .22s cubic-bezier(.2,.75,.25,1),width .18s ease}.menu-toggle span:last-child{width:11px;margin-left:5px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{width:16px;margin-left:0;transform:translateY(-3.5px) rotate(-45deg)}.primary-navigation{position:absolute;z-index:10;top:calc(100% + 8px);right:20px;display:grid;width:min(390px,calc(100vw - 40px));grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:10px;border:1px solid #2c3945;border-radius:20px;background:radial-gradient(ellipse at 100% 0%,rgb(195 247 106 / 8%),transparent 55%),#0c1219f7;box-shadow:0 24px 65px #00000085,inset 0 1px #ffffff0d;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.75,.25,1),visibility .18s;visibility:hidden}.primary-navigation.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible}.primary-navigation>a:not(.nav-contact){min-height:48px;justify-content:flex-start;padding-inline:14px;border:1px solid transparent;border-radius:13px;color:#d4dce5}.primary-navigation>a:not(.nav-contact):hover,.primary-navigation>a:not(.nav-contact).is-active{border-color:#c3f76a1f;color:#f0f7e4}.primary-navigation>a:not(.nav-contact):before{inset:0;background:linear-gradient(110deg,#c3f76a1f,#c3f76a0a)}.primary-navigation .nav-contact{min-height:46px;grid-column:1 / -1;justify-content:center;margin:4px 0 0}.primary-navigation.is-open>a{animation:nav-item-arrive .38s cubic-bezier(.2,.75,.25,1) both}.primary-navigation.is-open>a:nth-child(2){animation-delay:25ms}.primary-navigation.is-open>a:nth-child(3){animation-delay:50ms}.primary-navigation.is-open>a:nth-child(4){animation-delay:75ms}.primary-navigation.is-open>a:nth-child(5){animation-delay:.1s}.primary-navigation.is-open>a:nth-child(6){animation-delay:125ms}.primary-navigation.is-open>a:nth-child(7){animation-delay:.15s}}@keyframes nav-mark-orbit{to{transform:rotate(360deg)}}@keyframes nav-status-pulse{0%,to{box-shadow:0 0 0 3px #c3f76a1a,0 0 10px #c3f76a61}50%{box-shadow:0 0 0 5px #c3f76a0d,0 0 17px #c3f76aad}}@keyframes nav-item-arrive{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hero-copy>*,.orbit,.spark-one,.spark-two,.wordmark-mark:after,.primary-navigation .nav-contact:before,.primary-navigation.is-open>a,.has-motion .skill-group.is-visible .skill-list span{animation:none!important}}#fluid-cursor-root,.portfolio-fluid-cursor{position:fixed;inset:0;z-index:10;width:100vw;height:100vh;overflow:hidden;pointer-events:none}.portfolio-fluid-cursor{opacity:.72;mix-blend-mode:screen}.portfolio-fluid-cursor canvas{display:block;width:100%;height:100%;pointer-events:none}
