@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap";
:root{--ink:#101613;--dark:#0d1511;--paper:#f4f3ed;--acid:#c9ff36;--muted:#626a65;--line:#10161326}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);max-width:100%;color:var(--ink);margin:0;font-family:DM Sans,sans-serif;overflow-x:clip}main{width:100%;max-width:100vw;overflow:clip}a{color:inherit;text-decoration:none}.section{width:100%;max-width:100vw;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,7rem)}.nav-wrap{z-index:10;color:#fff;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(1.25rem,6vw,7rem);display:flex;position:absolute;inset:0 0 auto}.brand{align-items:center;gap:.7rem;font:600 1.05rem Manrope;display:flex}.brand span{background:var(--acid);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-size:.72rem;display:grid}.nav-wrap nav{align-items:center;gap:2rem;font-size:.82rem;display:flex}.nav-wrap nav>a{opacity:.72}.nav-wrap nav>a:hover{opacity:1}.nav-wrap .nav-cta{opacity:1;border:1px solid #ffffff4d;border-radius:99px;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.hero{background:var(--dark);color:#fff;flex-direction:column;justify-content:flex-end;min-height:100svh;padding:9rem clamp(1.25rem,6vw,7rem) 2rem;display:flex;position:relative;overflow:hidden}.hero-grid{opacity:.12;background-image:linear-gradient(#ffffff40 1px,#0000 1px),linear-gradient(90deg,#ffffff40 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.hero-glow{background:radial-gradient(circle,#c9ff3633,#0000 62%);width:65vw;height:65vw;position:absolute;top:-25vw;right:-20vw}.orbit{border:1px solid #ffffff21;border-radius:50%;place-items:center;width:34vw;height:34vw;display:grid;position:absolute;top:19%;right:4vw}.orbit:before,.orbit:after{content:"";border:1px solid #ffffff17;border-radius:50%;position:absolute}.orbit:before{inset:14%}.orbit:after{inset:29%}.orbit>div{background:var(--acid);width:86px;height:86px;color:var(--ink);z-index:2;border-radius:50%;place-items:center;display:grid}.orbit>div svg{width:38px;height:38px}.orbit span{background:var(--acid);border-radius:50%;width:12px;height:12px;position:absolute}.orbit span:first-child{top:3%;left:46%}.orbit span:nth-child(2){background:#9f8cff;bottom:16%;left:10%}.orbit span:nth-child(3){background:#ff8c6b;bottom:20%;right:11%}.hero-copy{z-index:2;max-width:1050px;margin:auto 0 6vh;position:relative}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:600}.eyebrow i{background:var(--acid);border-radius:50%;width:7px;height:7px;margin-right:.6rem;display:inline-block;box-shadow:0 0 0 5px #c9ff361a}h1{letter-spacing:-.075em;margin:1.5rem 0 2rem;font:500 clamp(3.4rem,8.2vw,8rem)/.93 Manrope}h1 em{color:var(--acid);font-style:normal}.hero-note{color:#ffffffa6;max-width:620px;margin-left:min(22vw,240px);font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.65}.hero-actions{align-items:center;gap:1.5rem;margin:2rem 0 0 min(22vw,240px);display:flex}.button{border-radius:99px;align-items:center;gap:.7rem;padding:.9rem 1.25rem;font-size:.82rem;display:flex}.button.lime{background:var(--acid);color:var(--ink)}.under-link{border-bottom:1px solid #ffffff4d;align-items:center;gap:.45rem;padding:.65rem 0;font-size:.82rem;display:flex}.hero-stats{z-index:2;border-top:1px solid #ffffff29;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.hero-stats span{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;padding:1.4rem 1rem 0 0;font-size:.72rem}.hero-stats b{color:#fff;letter-spacing:0;margin-bottom:.2rem;font:500 1.4rem Manrope;display:block}.section-label{color:var(--muted);margin:0}.intro{grid-template-columns:1fr 3fr;gap:3rem;display:grid}.intro h2,.section-head h2,.skills h2,.sap h2,.contact h2{letter-spacing:-.065em;margin:0 0 2rem;font:500 clamp(2.8rem,6vw,6rem)/1 Manrope}.intro>div>p{max-width:760px;color:var(--muted);margin:0 0 2rem;font-size:1.2rem;line-height:1.7}.socials{flex-wrap:wrap;gap:.7rem;display:flex}.socials a{border:1px solid var(--line);background:#fff;border-radius:99px;align-items:center;gap:.55rem;padding:.75rem 1rem;font-size:.78rem;transition:all .2s;display:flex}.socials a:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}.work{background:#eae9e2}.section-head{justify-content:space-between;align-items:end;margin-bottom:4rem;display:flex}.section-head .section-label{margin-bottom:1.5rem}.section-head h2{margin:0}.section-head>p{max-width:390px;color:var(--muted);line-height:1.6}.project-grid{grid-template-columns:1fr 1fr;gap:4rem 1.5rem;display:grid}.project-card{display:block}.project-art{border-radius:20px;place-items:center;height:min(34vw,480px);transition:transform .35s;display:grid;position:relative;overflow:hidden}.project-card:hover .project-art{transform:translateY(-7px)}.project-art>span{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border-radius:28px;place-items:center;width:120px;height:120px;font:700 1.8rem Manrope;display:grid;position:relative;box-shadow:0 30px 60px #0000001f}.lime{background:#cdf45f}.violet{background:#aaa0f9}.coral{background:#f69a7e}.blue{background:#83c9e9}.art-lines{border:1px solid #10161333;border-radius:50%;position:absolute;inset:12%;box-shadow:0 0 0 45px #ffffff21,0 0 0 90px #ffffff17}.art-arrow{position:absolute;top:1.5rem;right:1.5rem}.project-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;margin:1.3rem 0 .8rem;font-size:.67rem;display:flex}.project-card h3{letter-spacing:-.04em;margin:0 0 .7rem;font:500 clamp(1.6rem,2.5vw,2.4rem) Manrope}.project-card>p{color:var(--muted);max-width:580px;margin:0;line-height:1.6}.more-work{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:6rem;display:grid}.more-work article{grid-template-columns:auto auto 1fr;align-items:center;gap:1rem;padding:2rem 2rem 2rem 0;display:grid}.more-work article+article{border-left:1px solid var(--line);padding-left:2rem}.more-work svg{color:#749b14}.more-work b{font-family:Manrope}.more-work span{color:var(--muted);font-size:.83rem;line-height:1.5}.skills{grid-template-columns:1fr 1.2fr;gap:8vw;display:grid}.skills-copy>p:last-child{color:var(--muted);max-width:430px;line-height:1.6}.skills-copy .section-label{margin-bottom:1.5rem}.stack-list{border-top:1px solid var(--line)}.stack-list>div{border-bottom:1px solid var(--line);grid-template-columns:35px 120px 1fr auto;align-items:center;gap:1rem;padding:1.5rem 0;display:grid}.stack-list span{color:var(--muted);font-size:.66rem}.stack-list b{font:500 .9rem Manrope}.stack-list p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.stack-list svg{color:var(--muted)}.sap{color:#fff;background:#142119;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;display:grid}.sap-visual{background:radial-gradient(circle at 50% 40%,#c9ff3638,#0000 45%),linear-gradient(#ffffff0d 1px,#0000 1px) 0 0/45px 45px,linear-gradient(90deg,#ffffff0d 1px,#0000 1px) 0 0/45px 45px;border-radius:22px;place-items:center;min-height:520px;display:grid}.terminal{background:#0b110e;border:1px solid #ffffff1f;border-radius:14px;width:78%;overflow:hidden;box-shadow:0 35px 70px #00000059}.terminal>div{border-bottom:1px solid #ffffff1a;padding:1rem}.terminal i{background:#ff7a65;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.terminal i:nth-child(2){background:#ffca5c}.terminal i:nth-child(3){background:var(--acid)}.terminal code{color:#b8c1bb;padding:2rem;font-size:.78rem;line-height:1.8;display:block}.terminal code span{color:var(--acid)}.terminal code b{color:#fff}.sap h2{font-size:clamp(2.7rem,5vw,5.3rem)}.sap-copy>p:not(.eyebrow){color:#ffffff9e;line-height:1.65}.sap-projects{border-top:1px solid #ffffff24;margin-top:2rem}.sap-projects>div{border-bottom:1px solid #ffffff24;gap:1rem;padding:1.2rem 0;display:flex}.sap-projects svg{color:var(--acid);flex:none}.sap-projects b,.sap-projects small{display:block}.sap-projects b{margin-bottom:.35rem;font:500 .9rem Manrope}.sap-projects small{color:#ffffff8c;line-height:1.45}.journey{grid-template-columns:1fr 3fr;gap:3rem;display:grid}.timeline{border-top:1px solid var(--line)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:120px 50px 1fr;gap:1.2rem;padding:2.3rem 0;display:grid}.timeline article>span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem}.timeline article>svg{background:var(--acid);border-radius:50%;width:42px;height:42px;padding:12px}.timeline h3{letter-spacing:-.03em;margin:0 0 .5rem;font:500 1.5rem Manrope}.timeline p{color:var(--muted);margin:.2rem 0 .7rem;line-height:1.55}.timeline b{font-size:.76rem}.certs{gap:.5rem;margin-top:1rem;display:flex}.certs a{border:1px solid var(--line);border-radius:99px;padding:.5rem .8rem;font-size:.7rem}.certs a:hover{background:var(--ink);color:#fff}.contact{background:var(--dark);color:#fff;justify-content:space-between;align-items:center;display:flex}.contact h2{margin:1.5rem 0 0}.contact-circle{background:var(--acid);width:180px;height:180px;color:var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;transition:all .3s;display:flex}.contact-circle:hover{transform:rotate(8deg)scale(1.04)}.contact-circle span{font:600 1rem Manrope}.contact-circle svg:last-child{width:18px;margin:0 0 105px 105px;position:absolute}footer{background:var(--dark);color:#fff;border-top:1px solid #ffffff24;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,6vw,7rem);display:grid}footer p,footer small{color:#ffffff73;font-size:.72rem}footer>div{color:#ffffffa6;gap:1rem;font-size:.72rem;display:flex}@media (max-width:850px){.nav-wrap nav>a:not(.nav-cta){display:none}.orbit{width:70vw;height:70vw;top:17%;right:-33vw}.hero-note,.hero-actions{margin-left:0}.hero-stats{grid-template-columns:1fr 1fr}.intro,.skills,.sap,.journey{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start;gap:1rem}.project-grid{gap:3rem 1rem}.project-art{height:45vw}.more-work{grid-template-columns:1fr}.more-work article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.sap-visual{order:2;min-height:420px}footer{grid-template-columns:1fr 1fr}footer>div{justify-content:flex-end}}@media (max-width:560px){.nav-wrap{height:70px}.nav-wrap .brand{font-size:.9rem}.nav-cta{padding:.6rem .8rem!important}.hero{padding-bottom:1.3rem}h1{font-size:clamp(3rem,15vw,4.6rem)}.hero-stats span{font-size:.58rem}.intro,.journey{gap:2.5rem}.project-grid{grid-template-columns:1fr}.project-art{height:78vw}.stack-list>div{grid-template-columns:28px 95px 1fr}.stack-list svg{display:none}.sap-visual{min-height:320px}.terminal{width:90%}.timeline article{grid-template-columns:80px 38px 1fr;gap:.7rem}.timeline article>svg{width:34px;height:34px;padding:9px}.contact{flex-direction:column;align-items:flex-start;gap:3rem}.contact-circle{align-self:flex-end;width:140px;height:140px}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap;justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-art,.contact-circle{transition:none}}.services{padding-top:2rem}.service-grid{background:var(--line);border:1px solid var(--line);border-radius:22px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.service-grid article{background:var(--paper);flex-direction:column;min-height:310px;padding:2.2rem;transition:all .3s;display:flex;position:relative}.service-grid article:hover{background:var(--acid);z-index:2;transform:translateY(-3px)}.service-grid article>span{color:var(--muted);font-size:.65rem}.service-grid article>svg:not(:last-child){width:34px;height:34px;margin:auto 0 2rem}.service-grid article>svg:last-child{color:var(--muted);position:absolute;top:1.5rem;right:1.5rem}.service-grid h3{letter-spacing:-.04em;margin:0 0 .8rem;font:500 1.6rem Manrope}.service-grid p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.project-art{background:#d9dad4;transition:transform .35s,box-shadow .35s;display:block}.project-card:hover .project-art{transform:translateY(-7px);box-shadow:0 24px 45px #10161324}.project-art img{object-fit:cover;transition:transform .6s}.project-card:hover .project-art img{transform:scale(1.045)}.project-art .project-pill{z-index:2;color:#fff;width:auto;height:auto;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1511d1;border-radius:99px;padding:.55rem .85rem;font:500 .68rem DM Sans;position:absolute;bottom:1.2rem;left:1.2rem}.project-art .art-arrow{z-index:2;background:var(--acid);border-radius:50%;width:38px;height:38px;padding:10px;top:1.2rem;right:1.2rem}.tech-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:1/-1;margin-top:2rem;overflow:hidden}.tech-marquee>div{width:max-content;animation:34s linear infinite marquee;display:flex}.tech-marquee span{white-space:nowrap;padding:1.2rem 1rem;font:500 1rem Manrope}.tech-marquee i{color:#83a62a;margin-left:1.5rem;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.sap-visual{background:#0c2a1a;display:block;position:relative;overflow:hidden}.sap-visual img{object-fit:cover}.terminal{display:none}.sap-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 28%,#040c08bd 100%);position:absolute;inset:0}.code-window{z-index:3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#070d0af0;border:1px solid #ffffff2b;border-radius:14px;font-family:Consolas,Courier New,monospace;position:absolute;bottom:5%;left:5%;right:5%;overflow:hidden;box-shadow:0 28px 65px #0000007a}.code-bar{color:#8f9a94;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr auto 1fr;align-items:center;height:42px;padding:0 1rem;font-size:.61rem;display:grid}.code-bar>span{gap:5px;display:flex}.code-bar i{background:#ff7262;border-radius:50%;width:8px;height:8px;display:block}.code-bar i:nth-child(2){background:#ffc85b}.code-bar i:nth-child(3){background:#b8ed38}.code-bar b{color:#b7c0ba;font-weight:400}.code-bar small{text-align:right;color:#b8ed38;font-size:.56rem}.code-body{padding:.85rem 1rem .7rem}.code-line{white-space:nowrap;min-height:20px;font-size:clamp(.57rem,1vw,.72rem);line-height:1.65;display:flex;overflow:hidden}.code-line em{color:#47534c;-webkit-user-select:none;user-select:none;flex:none;width:28px;font-style:normal}.code-line code{color:#d9e1dc;clip-path:inset(0 100% 0 0);animation:.9s steps(24,end) forwards codeType;display:block}.code-line strong{color:#c9ff36;font-weight:500}.code-line mark{color:#c09cff;background:0 0}.code-line.line-one code{animation-delay:.4s}.code-line.line-two code{animation-delay:1.25s}.code-line.line-three code{animation-delay:1.35s}.code-line.line-four code{animation-delay:2.25s}.code-line.line-five code{animation-delay:3.2s}.code-line.line-six code{animation-delay:4s}.code-line.line-seven code{animation-delay:5s}.caret{vertical-align:-2px;background:var(--acid);width:6px;height:13px;margin-left:3px;animation:.7s step-end infinite blink;display:inline-block}.code-status{color:#b5c0b9;background:#c9ff360f;border-top:1px solid #ffffff17;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.59rem;display:flex}.code-status>span{background:var(--acid);color:#101613;border-radius:50%;place-items:center;width:16px;height:16px;font-weight:700;display:grid}.code-status b{color:var(--acid);margin-left:auto;font-weight:500}@keyframes codeType{to{clip-path:inset(0)}}@keyframes blink{50%{opacity:0}}.resume-card{background:var(--paper);border-radius:26px;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding:clamp(2rem,5vw,5rem);display:grid;overflow:hidden}.resume-card h2{letter-spacing:-.06em;margin:1.5rem 0;font:500 clamp(2.8rem,5vw,5.5rem)/1 Manrope}.resume-card>div:first-child>p:last-child{color:var(--muted);max-width:500px;line-height:1.6}.resume-card .eyebrow i{background:#82a51e}.resume-sheet{aspect-ratio:.72;background:#fff;flex-direction:column;width:min(360px,75vw);margin:auto;padding:2rem;display:flex;position:relative;transform:rotate(4deg);box-shadow:0 25px 60px #10161326}.resume-sheet>span{font:600 1.6rem Manrope}.resume-sheet>b{color:var(--muted);margin:.4rem 0 2rem;font-size:.7rem}.resume-sheet>div{background:#dfe2dc;border-radius:9px;height:7px;margin-bottom:.65rem}.resume-sheet>div:first-of-type{width:90%}.resume-sheet>div:nth-of-type(2){width:72%}.resume-sheet>div:nth-of-type(3){width:82%}.resume-sheet>small{color:var(--muted);margin-top:auto}.resume-download{background:var(--ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;gap:.7rem;width:145px;height:145px;display:flex;position:absolute;bottom:45px;right:-55px;transform:rotate(-4deg);box-shadow:0 18px 35px #10161338}.resume-download>span{font-size:.68rem}.resume-download b{color:var(--acid);font-size:.85rem}@media (max-width:850px){.service-grid{grid-template-columns:1fr 1fr}.resume-card{grid-template-columns:1fr}}@media (max-width:560px){.service-grid{grid-template-columns:1fr}.service-grid article{min-height:250px}.resume-download{width:120px;height:120px;right:-25px}.code-window{bottom:3%;left:3%;right:3%}.code-body{padding:.65rem}.code-line{min-height:16px;font-size:.49rem}.code-bar{height:34px}.code-status{padding:.5rem .65rem}.code-status b{display:none}}@media (prefers-reduced-motion:reduce){.tech-marquee>div{animation:none}.code-line code{clip-path:none;animation:none}.caret{animation:none}}.project-slider{max-width:1180px;margin:0 auto}.project-slide{background:var(--paper);border:1px solid var(--line);border-radius:24px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:430px;animation:.42s both slideIn;display:grid;overflow:hidden}.slide-image{background:#d9ddd6;min-height:430px;position:relative;overflow:hidden}.slide-image:after{content:"";background:linear-gradient(#0000 60%,#070e0a4d);position:absolute;inset:0}.slide-image img{object-fit:cover;transition:transform .7s}.project-slide:hover .slide-image img{transform:scale(1.035)}.slide-image>span{z-index:2;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.08em;background:#0d1511d1;border:1px solid #fff3;border-radius:99px;padding:.5rem .75rem;font-size:.62rem;position:absolute;bottom:1.2rem;left:1.2rem}.slide-copy{flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem);display:flex}.slide-type{text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:#76931d!important;margin:0 0 1.4rem!important;font-size:.67rem!important}.slide-copy h3{letter-spacing:-.055em;margin:0 0 1.2rem;font:500 clamp(2.1rem,4vw,4rem)/1.04 Manrope}.slide-copy>p:not(.slide-type){color:var(--muted);max-width:500px;margin:0 0 1.7rem;font-size:1rem;line-height:1.65}.tech-tags{flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;display:flex}.tech-tags span{border:1px solid var(--line);background:#fff;border-radius:99px;padding:.45rem .7rem;font-size:.66rem}.slide-copy>a{border-bottom:1px solid var(--ink);align-items:center;gap:.55rem;width:max-content;padding:.5rem 0;font-size:.78rem;font-weight:600;display:flex}.slider-nav{justify-content:space-between;align-items:center;margin-top:1.2rem;display:flex}.slider-nav>div{gap:.45rem;display:flex}.slider-nav>div button{cursor:pointer;background:#b5bbb7;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:all .25s}.slider-nav>div button.active{background:var(--ink);border-radius:99px;width:28px}.slider-nav>span{gap:.5rem;display:flex}.slider-nav>span button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;transition:all .25s;display:grid}.slider-nav>span button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}.slider-nav svg{width:17px}@keyframes slideIn{0%{opacity:.25;transform:translate(16px)}to{opacity:1;transform:none}}@media (max-width:760px){.project-slide{grid-template-columns:1fr;min-height:0}.slide-image{height:240px;min-height:0}.slide-copy{padding:1.6rem}.slide-copy h3{font-size:2rem}.slide-copy>p:not(.slide-type){margin-bottom:1.2rem;font-size:.9rem}.slide-type{margin-bottom:.8rem!important}.tech-tags{margin-bottom:1.2rem}.slider-nav{margin-top:1rem}.slider-nav>div{flex-wrap:wrap;max-width:65%}.slider-nav>span button{width:40px;height:40px}}@media (max-width:420px){.work.section{padding-left:1rem;padding-right:1rem}.slide-image{height:195px}.slide-copy{padding:1.25rem}.slide-copy h3{font-size:1.7rem}.tech-tags span{font-size:.59rem}.slider-nav>div{gap:.35rem}.slider-nav>div button{width:6px;height:6px}.slider-nav>div button.active{width:20px}}@media (prefers-reduced-motion:reduce){.project-slide{animation:none}.slide-image img{transition:none}}.project-slider{position:relative}.project-slide{grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);height:370px;min-height:370px;max-height:370px}.slide-image{background:#15231b;height:370px;min-height:370px;padding:18px}.slide-image img{object-position:center;object-fit:contain!important}.slide-image:after{background:linear-gradient(#0000 72%,#070e0a4d)}.slide-copy{padding:clamp(1.6rem,3vw,3rem)}.slide-copy h3{margin-bottom:.8rem;font-size:clamp(2rem,3.1vw,3.35rem)}.slide-copy>p:not(.slide-type){margin-bottom:1.1rem;font-size:.92rem;line-height:1.55}.slide-type{margin-bottom:.9rem!important}.tech-tags{margin-bottom:1.15rem}.swipe-hint{z-index:4;background:var(--acid);width:92px;height:92px;color:var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;animation:1.8s ease-in-out infinite swipeCue;display:flex;position:absolute;top:50%;right:-24px;transform:translateY(-50%);box-shadow:0 14px 34px #10161338}.swipe-hint span{text-transform:uppercase;letter-spacing:.08em;font-size:.52rem;font-weight:700}.swipe-hint svg{width:19px;height:19px}.swipe-hint svg:last-child{width:14px;height:14px}.slider-nav{padding-right:78px}@keyframes swipeCue{0%,to{transform:translate(-2px,-50%)}50%{transform:translate(8px,-50%)}}@media (max-width:900px){.project-slide{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);height:350px;min-height:350px;max-height:350px}.slide-image{height:350px;min-height:350px}.swipe-hint{width:78px;height:78px;right:-12px}.slider-nav{padding-right:64px}}@media (max-width:760px){.project-slide{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.slide-image{height:205px;min-height:205px;padding:10px}.slide-copy{min-height:300px;padding:1.35rem}.slide-copy h3{font-size:1.9rem}.swipe-hint{width:68px;height:68px;top:185px;right:-5px}.swipe-hint span{font-size:.44rem}.swipe-hint svg{width:16px;height:16px}.slider-nav{padding-right:52px}}@media (max-width:420px){.slide-image{height:175px;min-height:175px}.slide-copy{min-height:310px;padding:1.15rem}.slide-copy h3{font-size:1.65rem}.swipe-hint{width:61px;height:61px;top:158px}.swipe-hint span{font-size:.39rem}.slider-nav{padding-right:45px}}@media (prefers-reduced-motion:reduce){.swipe-hint{animation:none}}.intro{grid-template-columns:.55fr 1.65fr .9fr;align-items:center}.profile-portrait{isolation:isolate;min-width:0;margin:0;position:relative}.portrait-frame{aspect-ratio:.74;background:#183323;border-radius:160px 160px 24px 24px;animation:5s ease-in-out infinite portraitFloat;position:relative;overflow:hidden;box-shadow:0 26px 55px #1016132e}.portrait-frame:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff40;position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:center 22%;transition:transform .7s}.profile-portrait:hover .portrait-frame img{transform:scale(1.025)}.profile-portrait figcaption{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe8;border:1px solid #1016131f;border-radius:14px;align-items:center;gap:.7rem;padding:.8rem .9rem;display:flex;position:absolute;bottom:22px;left:-24px;right:-12px;box-shadow:0 14px 30px #10161324}.profile-portrait figcaption>i{background:#78a800;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 6px #78a8001f}.profile-portrait figcaption b,.profile-portrait figcaption small{display:block}.profile-portrait figcaption b{font:600 .73rem Manrope}.profile-portrait figcaption small{color:var(--muted);margin-top:.18rem;font-size:.6rem}.portrait-ring{z-index:-1;border:1px solid #10161324;border-radius:180px 180px 36px 36px;animation:12s linear infinite ringDrift;position:absolute;inset:-24px}.portrait-ring span{background:var(--acid);border:4px solid var(--paper);border-radius:50%;place-items:center;width:52px;height:52px;font-size:.56rem;font-weight:700;display:grid;position:absolute}.portrait-ring span:first-child{top:18%;right:-19px}.portrait-ring span:nth-child(2){background:#aea0ff;top:45%;left:-22px}.portrait-ring span:nth-child(3){background:#ff9b7d;bottom:21%;right:-21px}@keyframes portraitFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes ringDrift{50%{transform:rotate(1.5deg)scale(1.015)}}@media (max-width:1050px){.intro{grid-template-columns:.45fr 1.55fr .8fr;gap:2rem}.profile-portrait figcaption{left:-12px}}@media (max-width:850px){.intro{grid-template-columns:1fr}.profile-portrait{width:min(340px,78vw);margin:2rem auto 0}.profile-portrait figcaption{left:-12px;right:-12px}}@media (max-width:480px){.profile-portrait{width:min(280px,76vw)}.portrait-ring{inset:-17px}.portrait-ring span{width:43px;height:43px;font-size:.48rem}}@media (prefers-reduced-motion:reduce){.portrait-frame,.portrait-ring{animation:none}}.nav-wrap{transition:height .3s,background .3s,color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed}.nav-wrap.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d1511e6;border-bottom:1px solid #ffffff1a;height:68px}.nav-wrap nav>a{position:relative}.nav-wrap nav>a:not(.nav-cta):after{content:"";background:var(--acid);height:1px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}.nav-wrap nav>a:not(.nav-cta):hover:after{right:0}.mobile-menu{color:#fff;z-index:22;background:0 0;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:42px;height:42px;display:none}.mobile-menu svg{width:19px}.hero-copy{animation:.75s cubic-bezier(.2,.8,.2,1) both heroEnter}.hero-stats{animation:.75s cubic-bezier(.2,.8,.2,1) .16s both heroEnter}@keyframes heroEnter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}a:focus-visible,button:focus-visible{outline:3px solid var(--acid);outline-offset:4px}@media (max-width:850px){.mobile-menu{display:grid}.nav-wrap nav{z-index:20;opacity:0;visibility:hidden;background:#080f0bfa;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:7rem 1.5rem 2rem;transition:opacity .3s,transform .3s,visibility .3s;display:flex;position:fixed;inset:0;transform:translateY(-12px)}.nav-wrap nav.open{opacity:1;visibility:visible;transform:none}.nav-wrap nav>a,.nav-wrap nav>a:not(.nav-cta){opacity:1;letter-spacing:-.04em;border-bottom:1px solid #ffffff1f;padding:1rem 0;font:500 clamp(1.7rem,8vw,2.5rem) Manrope;display:flex!important}.nav-wrap nav>a:not(.nav-cta):after{display:none}.nav-wrap nav .nav-cta{border:1px solid #ffffff59;border-radius:99px;align-items:center;gap:.5rem;width:max-content;margin-top:1.5rem;font:500 .82rem DM Sans;padding:.8rem 1rem!important}.nav-wrap.menu-open{background:0 0;border-color:#0000}.nav-wrap .brand{z-index:22}}@media (prefers-reduced-motion:reduce){.hero-copy,.hero-stats{animation:none}.nav-wrap,.nav-wrap nav{transition:none}}@media (max-width:850px){.nav-wrap.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none;background:#08100b;border:0;width:100%;height:100dvh;max-height:100dvh;inset:0;overflow:hidden}.nav-wrap nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;justify-content:flex-start;width:100%;height:100%;max-height:100dvh;padding:6.5rem 1.5rem 2rem;position:absolute;inset:0;overflow:hidden auto}.nav-wrap nav:after{content:"";flex:none;min-height:1rem;display:block}.nav-wrap nav>a,.nav-wrap nav>a:not(.nav-cta){flex:none}.nav-wrap.menu-open .brand,.nav-wrap.menu-open .mobile-menu{position:fixed;top:14px}.nav-wrap.menu-open .brand{left:clamp(1.25rem,6vw,7rem)}.nav-wrap.menu-open .mobile-menu{right:clamp(1.25rem,6vw,7rem)}}@media (max-width:850px) and (max-height:520px){.nav-wrap nav{padding-top:5rem}.nav-wrap nav>a,.nav-wrap nav>a:not(.nav-cta){padding:.65rem 0;font-size:1.45rem}.nav-wrap nav .nav-cta{margin-top:1rem}}.resume-head{display:block}.resume-head>div:first-child{max-width:920px}.resume-actions{flex-direction:row;align-items:center;gap:.7rem;width:max-content;min-width:0;max-width:100%;margin-top:1.6rem;display:flex}.resume-actions a{justify-content:center;min-width:190px}.resume-viewer{margin-top:2.5rem}@media (max-width:700px){.resume-head{margin-bottom:0;display:block}.resume-actions{grid-template-columns:1fr 1fr;width:100%;margin-top:1.25rem;display:grid}.resume-actions a{white-space:nowrap;width:100%;min-width:0}.resume-viewer{margin-top:1.5rem}}@media (max-width:430px){.resume-actions{grid-template-columns:1fr}.resume-actions a{white-space:normal}}.ai-practice{background:#dfe8a8;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;display:grid}.ai-copy h2{letter-spacing:-.065em;margin:1.4rem 0 1.5rem;font:500 clamp(2.8rem,5.5vw,5.8rem)/1 Manrope}.ai-copy>p:not(.eyebrow){color:#505a4e;max-width:560px;line-height:1.65}.ai-copy .eyebrow i{background:#77981a}.ai-tags{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.ai-tags span{background:#ffffffa6;border:1px solid #10161326;border-radius:99px;padding:.55rem .8rem;font-size:.68rem}.ai-orbit{aspect-ratio:1;border:1px solid #10161326;border-radius:50%;place-items:center;max-width:520px;margin:auto;display:grid;position:relative;box-shadow:inset 0 0 0 70px #ffffff1f,inset 0 0 0 140px #ffffff1a}.ai-core{background:var(--ink);width:115px;height:115px;color:var(--acid);border-radius:30px;place-items:center;animation:3s ease-in-out infinite corePulse;display:grid}.ai-core svg{width:48px;height:48px}.ai-node{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:.5rem;padding:.7rem .8rem;display:flex;position:absolute;box-shadow:0 14px 28px #1016131a}.ai-node svg{width:18px}.ai-node b{font-size:.65rem}.node-one{top:7%;left:15%}.node-two{top:43%;right:-2%}.node-three{bottom:8%;left:12%}.ai-orbit>i{background:var(--ink);border-radius:50%;width:10px;height:10px;position:absolute}.ai-orbit>i:nth-last-child(3){top:22%;right:14%}.ai-orbit>i:nth-last-child(2){background:#9a82eb;bottom:24%;right:20%}.ai-orbit>i:last-child{background:#fa886a;top:49%;left:8%}@keyframes corePulse{50%{transform:scale(1.05);box-shadow:0 0 0 16px #10161312}}@media (max-width:850px){.ai-practice{grid-template-columns:1fr}.ai-orbit{width:min(480px,88vw)}}.admin-page{background:#edf0e8;min-height:100vh;padding:3rem clamp(1rem,4vw,4rem);font-family:DM Sans,sans-serif}.admin-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:2rem;display:flex}.admin-head p{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-size:.68rem}.admin-head h1{letter-spacing:-.06em;margin:.4rem 0;font:600 clamp(2.2rem,5vw,4.5rem)/1 Manrope}.admin-head span{color:var(--muted)}.admin-head>a,.admin-resume a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:.7rem 1rem;font-size:.75rem}.admin-warning{background:#fff4d8;border:1px solid #d9ae43;border-radius:14px;margin:1.5rem 0;padding:1rem 1.2rem}.admin-warning p{margin:.4rem 0 0}.admin-resume{color:#fff;background:#15231b;border-radius:18px;justify-content:space-between;align-items:center;margin:2rem 0;padding:1.5rem;display:flex}.admin-resume h2{margin:0 0 .8rem;font:500 1.3rem Manrope}.admin-resume a{background:0 0;border-color:#fff3}.admin-resume label{background:var(--acid);color:var(--ink);cursor:pointer;border-radius:99px;padding:.8rem 1rem;font-size:.75rem;font-weight:600}.admin-resume input,.file-label input{display:none}.disabled{opacity:.45;pointer-events:none}.admin-grid{grid-template-columns:minmax(300px,.7fr) minmax(420px,1.3fr);align-items:start;gap:1.5rem;display:grid}.project-form,.admin-projects{border:1px solid var(--line);background:#fff;border-radius:18px;padding:1.5rem}.project-form{position:sticky;top:85px}.project-form h2,.admin-projects h2{margin:0 0 1.3rem;font:600 1.3rem Manrope}.project-form label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.4rem;margin-bottom:1rem;font-size:.68rem;display:flex}.project-form input,.project-form textarea{border:1px solid var(--line);color:var(--ink);text-transform:none;letter-spacing:normal;resize:vertical;background:#f8f9f5;border-radius:9px;padding:.7rem}.file-label{cursor:pointer;border:1px dashed #90a078;border-radius:9px;align-items:center;padding:.8rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.project-form .check{text-transform:none;flex-direction:row;align-items:center}.check input{width:18px;height:18px}.form-actions{gap:.6rem;display:flex}.form-actions button,.admin-projects button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:99px;padding:.7rem 1rem}.form-actions button:disabled,.admin-projects button:disabled{opacity:.35;cursor:not-allowed}.form-actions .secondary,.admin-projects button{color:var(--ink);background:#e9ece5}.admin-message{color:#567213;font-size:.76rem}.admin-projects h2 span{color:var(--muted)}.admin-projects article{border-top:1px solid var(--line);grid-template-columns:95px 1fr auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.admin-projects img{object-fit:cover;background:#ddd;border-radius:9px;width:95px;height:68px}.admin-projects article span{text-transform:uppercase;color:#668419;font-size:.6rem}.admin-projects h3{margin:.25rem 0;font:600 1rem Manrope}.admin-projects p{color:var(--muted);margin:0;font-size:.72rem}.admin-projects article>div:last-child{gap:.4rem;display:flex}.admin-projects .danger{color:#a72c2c}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}.project-form{position:static}.admin-head{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width:560px){.admin-page{padding:1.2rem .8rem}.admin-resume{flex-direction:column;align-items:flex-start;gap:1rem}.admin-projects article{grid-template-columns:70px 1fr}.admin-projects img{width:70px;height:55px}.admin-projects article>div:last-child{grid-column:2}.form-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ai-core{animation:none}}@media (pointer:fine){.custom-cursor{z-index:9999;pointer-events:none;width:34px;height:34px;transform:translate(calc(var(--cursor-x,-100px) - 50%),calc(var(--cursor-y,-100px) - 50%));mix-blend-mode:difference;border:1px solid #c9ff36bf;border-radius:50%;transition:width .18s,height .18s,background .18s,border-color .18s;position:fixed;top:0;left:0}.custom-cursor i{background:var(--acid);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.custom-cursor.is-link{border-color:var(--acid);background:#c9ff362e;width:54px;height:54px}}@media (pointer:coarse){.custom-cursor{display:none}}.motion-ready .section{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.motion-ready .section.is-visible{opacity:1;transform:none}.service-grid article,.stack-list>div,.timeline article{transition:transform .3s,background .3s,box-shadow .3s}.stack-list>div:hover,.timeline article:hover{transform:translate(7px)}.contact{grid-template-columns:1fr minmax(360px,.75fr);align-items:start;gap:8vw;display:grid}.contact-note{color:#ffffff94;max-width:570px;line-height:1.65}.contact-form{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;gap:1rem;padding:clamp(1.3rem,3vw,2.3rem);display:flex}.contact-form label{color:#ffffff7a;text-transform:uppercase;letter-spacing:.1em;flex-direction:column;gap:.45rem;font-size:.62rem;display:flex}.contact-form input,.contact-form textarea{color:#fff;resize:vertical;text-transform:none;letter-spacing:normal;background:0 0;border:0;border-bottom:1px solid #ffffff38;outline:0;padding:.65rem 0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--acid)}.contact-form>button,.contact-sent button{background:var(--acid);width:max-content;color:var(--ink);cursor:pointer;border:0;border-radius:99px;align-items:center;gap:.6rem;padding:.8rem 1rem;font-weight:600;display:flex}.contact-form>button svg{width:17px}.contact-error{color:#ff9f8e;font-size:.72rem}.contact-error a{text-decoration:underline}.contact-sent{flex-direction:column;justify-content:center;align-items:flex-start;min-height:300px;display:flex}.contact-sent>svg{background:var(--acid);width:46px;height:46px;color:var(--ink);border-radius:50%;padding:12px}.contact-sent h3{margin:1rem 0 .3rem;font:500 1.8rem Manrope}.contact-sent p{color:#ffffff8c}.contact-sent button{margin-top:1rem}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:850px){.contact{grid-template-columns:1fr}.contact-form{width:100%}}@media (prefers-reduced-motion:reduce){.motion-ready .section{opacity:1;transition:none;transform:none}.custom-cursor{display:none}}.admin-messages{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:1.5rem;padding:1.5rem}.admin-messages h2{margin:0;font:600 1.3rem Manrope}.admin-messages h2 span,.admin-messages>p{color:var(--muted)}.admin-messages article{border-top:1px solid var(--line);grid-template-columns:220px 1fr auto;gap:1.5rem;margin-top:1rem;padding:1.2rem 0;display:grid}.admin-messages article>div:first-child{flex-direction:column;gap:.3rem;display:flex}.admin-messages a,.admin-messages small{color:var(--muted);font-size:.72rem}.admin-messages strong{font-size:.82rem}.admin-messages article p{white-space:pre-wrap;margin:.4rem 0 0;line-height:1.5}.admin-messages button{color:#a72c2c;cursor:pointer;border:0;border-radius:99px;height:max-content;padding:.55rem .8rem}@media (max-width:700px){.admin-messages article{grid-template-columns:1fr}.admin-messages button{width:max-content}}@media (max-width:560px){.hero .orbit{opacity:.92;width:120px;height:120px;top:88px;right:18px}.hero .orbit>div{width:50px;height:50px}.hero .orbit>div svg{width:24px;height:24px}.hero .orbit span{width:8px;height:8px}.hero-copy{z-index:3}.hero-copy .eyebrow{max-width:230px}}@media (max-width:380px){.hero .orbit{width:105px;height:105px;top:92px;right:14px}.hero .orbit>div{width:44px;height:44px}.hero .orbit>div svg{width:21px;height:21px}}.resume{background:#dfe8a8}.resume-head{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem;display:flex}.resume-head h2{letter-spacing:-.06em;margin:1.5rem 0;font:500 clamp(2.8rem,5vw,5.5rem)/1 Manrope}.resume-head>div:first-child>p:last-child{color:#4f594c;max-width:620px;line-height:1.6}.resume-head .eyebrow i{background:#6f8e18}.resume-actions{flex-direction:column;align-items:stretch;gap:.7rem;min-width:205px;display:flex}.resume-actions a{border:1px solid #10161340;border-radius:99px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:.76rem;font-weight:600;display:flex}.resume-actions a svg{width:17px}.resume-actions .resume-download-button{background:var(--ink);color:#fff;border-color:var(--ink)}.resume-viewer{border:10px solid var(--ink);background:#313b36;border-radius:22px;height:min(78vh,850px);min-height:600px;overflow:hidden;box-shadow:0 25px 60px #10161333}.resume-viewer iframe{background:#fff;border:0;width:100%;height:100%;display:block}.resume-mobile-fallback{display:none}@media (max-width:700px){.resume-head{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.resume-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.resume-actions a{justify-content:center}.resume-viewer{background:var(--ink);border-width:6px;height:auto;min-height:0}.resume-viewer iframe{display:none}.resume-mobile-fallback{background:#fff;flex-direction:column;align-items:flex-start;min-height:380px;padding:2rem;display:flex}.resume-mobile-fallback>span{font:600 2rem Manrope}.resume-mobile-fallback>b{color:var(--muted);margin:.4rem 0 3rem;font-size:.78rem}.resume-mobile-fallback>p{color:var(--muted);line-height:1.6}.resume-mobile-fallback>a{background:var(--ink);color:#fff;border-radius:99px;align-items:center;gap:.5rem;margin-top:auto;padding:.8rem 1rem;font-size:.75rem;display:flex}.resume-mobile-fallback svg{width:16px}}@media (max-width:430px){.resume-actions{grid-template-columns:1fr}.resume-actions a{min-height:44px}.resume-mobile-fallback{min-height:320px}}.intro>*,.skills>*,.sap>*,.journey>*,.contact>*,.project-slide>*,.resume-head>*{min-width:0}.skills,.sap,.project-slider,.stack-list,.tech-marquee,.resume-viewer{width:100%;min-width:0;max-width:100%}.tech-marquee{contain:inline-size}.stack-list p,.slide-copy p,.sap-copy p{overflow-wrap:anywhere}.nav-wrap{width:100%;max-width:100vw}.code-window{max-width:90%}footer{width:100%;max-width:100vw;overflow:hidden}@media (max-width:1100px){.skills{gap:4vw}.stack-list>div{grid-template-columns:30px 105px minmax(0,1fr) auto}.skills h2{font-size:clamp(2.7rem,5.5vw,5rem)}}@media (max-width:850px){.tech-marquee{grid-column:1}.skills{gap:3rem}.stack-list>div{grid-template-columns:30px 110px minmax(0,1fr) auto}}@media (max-width:560px){.stack-list>div{grid-template-columns:26px 88px minmax(0,1fr);gap:.55rem}.stack-list p{font-size:.75rem}.stack-list b{font-size:.8rem}.tech-marquee span{padding:1rem .7rem;font-size:.78rem}}.ai-flow{color:#fff;background:#0d1511;border-radius:22px;width:100%;max-width:680px;margin:auto;overflow:hidden;box-shadow:0 28px 60px #10161333}.flow-top{color:#ffffff8c;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:0 1rem;font-size:.62rem;display:grid}.flow-top>span{gap:5px;display:flex}.flow-top>span i{background:#ff8066;border-radius:50%;width:8px;height:8px}.flow-top>span i:nth-child(2){background:#ffc653}.flow-top>span i:nth-child(3){background:var(--acid)}.flow-top b{color:#ffffffc7;font-weight:500}.flow-top small{text-align:right;color:var(--acid);text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.flow-canvas{aspect-ratio:660/430;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:32px 32px;position:relative}.flow-canvas svg{width:100%;height:100%;position:absolute;inset:0}.flow-line{fill:none;stroke:#c9ff3666;stroke-width:2px;stroke-dasharray:7 8;animation:12s linear infinite flowDash}.flow-particle{fill:var(--acid);filter:drop-shadow(0 0 7px var(--acid))}.flow-particle.p2{fill:#aa92ff}.flow-particle.p3{fill:#ff8d70}.flow-node{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c2821f0;border:1px solid #ffffff29;border-radius:13px;align-items:center;gap:.65rem;width:150px;min-height:62px;padding:.65rem .75rem;transition:transform .25s,border-color .25s;display:flex;position:absolute;box-shadow:0 12px 25px #0000003b}.flow-node:hover{border-color:var(--acid);transform:translateY(-4px)}.flow-node>svg{width:20px;height:20px;color:var(--acid);flex:none}.flow-node span{flex-direction:column;gap:.18rem;display:flex}.flow-node small{color:#ffffff73;text-transform:uppercase;letter-spacing:.09em;font-size:.48rem}.flow-node b{white-space:nowrap;font:500 .67rem Manrope}.query-node{top:15.5%;left:6.5%}.agent-node{top:38%;left:34.8%}.vector-node{top:14%;right:3.5%}.context-node{top:44%;right:3.5%}.llm-node{bottom:13%;left:34.8%}.answer-node{bottom:8%;left:6.5%}.agent-node,.llm-node{border-color:#c9ff3659}.vector-node>svg{color:#aa92ff}.context-node>svg{color:#ff8d70}.flow-status{color:#ffffff7a;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:44px;padding:0 1rem;font-size:.58rem;display:flex}.flow-status span{align-items:center;gap:.5rem;display:flex}.flow-status i{background:var(--acid);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite statusPulse;box-shadow:0 0 0 5px #c9ff361a}.flow-status b{color:#ffffffbf;font-weight:500}@keyframes flowDash{to{stroke-dashoffset:-150px}}@keyframes statusPulse{50%{opacity:.35}}@media (max-width:1150px) and (min-width:851px){.ai-practice{gap:4vw}.flow-node{width:125px;padding:.55rem}.flow-node b{font-size:.58rem}.flow-node small{font-size:.43rem}.query-node,.answer-node{left:3%}.vector-node,.context-node{right:2%}}@media (max-width:600px){.ai-flow{max-width:420px}.flow-canvas{aspect-ratio:auto;background-size:28px 28px;flex-direction:column;gap:1.5rem;height:auto;padding:1.2rem;display:flex}.flow-canvas svg{display:none}.flow-node{width:100%;min-height:58px;transform:none;position:relative!important;inset:auto!important}.flow-node:not(:last-child):after{content:"↓";color:var(--acid);font-size:.8rem;animation:1.3s ease-in-out infinite mobileFlow;position:absolute;bottom:-1.25rem;left:50%}.flow-node:hover{transform:none}.flow-node b{font-size:.72rem}.flow-node small{font-size:.5rem}@keyframes mobileFlow{50%{transform:translateY(4px)}}}@media (prefers-reduced-motion:reduce){.flow-line,.flow-status i,.flow-node:not(:last-child):after{animation:none}.flow-particle{display:none}}.nav-wrap{color:#fff;-webkit-backdrop-filter:blur(16px);background:#0d1511f5;border-bottom:1px solid #ffffff1a;height:68px;box-shadow:0 4px 20px #10161314}.nav-wrap.scrolled{background:#0d1511f5;height:68px;box-shadow:0 10px 30px #1016132e}@media (max-width:850px){.nav-wrap.menu-open{box-shadow:none;background:#08100b}}html{--scroll-thumb:#8fb82a;--scroll-thumb-soft:#dff5a4;--scroll-glow:#8fb82a94;scrollbar-color:var(--scroll-thumb) #ebefe77a;scrollbar-width:thin}html[data-scroll-theme=acid]{--scroll-thumb:#c9ff36;--scroll-thumb-soft:#efffc4;--scroll-glow:#c9ff36c7}html[data-scroll-theme=glass-green]{--scroll-thumb:#8fb82a;--scroll-thumb-soft:#dcf39d;--scroll-glow:#8fb82a94}html[data-scroll-theme=violet]{--scroll-thumb:#8c76e8;--scroll-thumb-soft:#dcd5ff;--scroll-glow:#8c76e89e}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-track{background:#f4f7f16b;border-left:1px solid #ffffff8c;box-shadow:inset 1px 0 #1016130f}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb-soft),var(--scroll-thumb)) padding-box;min-height:64px;box-shadow:inset 0 0 0 1px #ffffff8c,0 0 15px var(--scroll-glow);border:3px solid #0000;border-radius:99px;transition:background .35s,box-shadow .35s,border-width .2s}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#fff,var(--scroll-thumb)) padding-box;box-shadow:inset 0 0 0 1px #ffffffb3,0 0 24px var(--scroll-glow);border-width:2px}::-webkit-scrollbar-corner{background:0 0}
