.intro{padding:6rem 2rem 4rem;background-color:#12151a;display:flex;flex-direction:column;justify-content:center;max-width:860px;margin-inline:auto}.intro .eyebrow{font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.08em;color:#5eead4;text-transform:uppercase;margin-bottom:1.125rem;display:flex;align-items:center;gap:8px}.intro .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#5eead4;box-shadow:0 0 8px #5eead4}.intro h1{font-size:3rem;font-weight:700;letter-spacing:-.01em;color:#e7eaee;margin-bottom:1.75rem}@media only screen and (max-width: 767px){.intro h1{font-size:2.125rem}}.intro p{margin-top:1rem;font-size:1.0625rem;max-width:720px;color:#8b94a3;line-height:1.7}.intro p strong{color:#e7eaee;font-weight:600}@media only screen and (max-width: 767px){.intro p{font-size:.9375rem}}.intro .trace{margin-top:2.5rem;background:#1a1e25;border:1px solid #2b303a;border-radius:8px;padding:1.25rem 1.375rem 1.125rem;overflow-x:auto}.intro .trace .trace-label{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:#8b94a3;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.875rem}.intro .trace .trace-row{display:flex;align-items:center;min-width:600px}.intro .trace .node{font-family:JetBrains Mono,monospace;font-size:.75rem;background:#20242c;border:1px solid #2b303a;border-radius:6px;padding:.5625rem .75rem;white-space:nowrap;color:#e7eaee;position:relative;z-index:2}.intro .trace .node .k{display:block;color:#8b94a3;font-size:.625rem;margin-top:2px}.intro .trace .seg{flex:1;height:1px;background:#2b303a;position:relative;min-width:24px}.intro .trace .seg:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#f5a623;box-shadow:0 0 8px #f5a623;animation:travel 3.2s linear infinite}.intro .trace .seg:nth-child(2):after{animation-delay:0s}.intro .trace .seg:nth-child(4):after{animation-delay:.55s}.intro .trace .seg:nth-child(6):after{animation-delay:1.1s}@keyframes travel{0%{left:0}to{left:calc(100% - 7px)}}@media (prefers-reduced-motion: reduce){.intro .trace .seg:after,.intro .eyebrow:before{animation:none}}.experience{padding:5rem 2rem;max-width:860px;margin-inline:auto;display:flex;flex-direction:column;justify-content:center}.experience h2{font-size:1.75rem;margin-bottom:2.5rem;color:#e7eaee}@media only screen and (max-width: 767px){.experience h2{font-size:1.5rem;margin-bottom:1.75rem}}.experience .exp-entry{margin-bottom:1.75rem;background:#1a1e25;border:1px solid #2b303a;border-left:3px solid #5eead4;border-radius:8px;padding:1.375rem 1.5rem}@media only screen and (max-width: 767px){.experience .exp-entry{padding:1rem 1.125rem;margin-bottom:1.25rem}}.experience .exp-entry h3{font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:600;color:#e7eaee;margin-bottom:.25rem}@media only screen and (max-width: 767px){.experience .exp-entry h3{font-size:1rem}}.experience .exp-entry span{display:inline-block;font-family:JetBrains Mono,monospace;color:#f5a623;font-size:.75rem;margin-bottom:.75rem}@media only screen and (max-width: 767px){.experience .exp-entry span{font-size:.6875rem}}.experience .exp-entry p{margin-top:.5rem;color:#8b94a3;font-size:.9375rem;line-height:1.7}@media only screen and (max-width: 767px){.experience .exp-entry p{font-size:.875rem}}#projects{padding:5rem 2rem;background-color:#12151a;max-width:940px;margin-inline:auto;display:flex;flex-direction:column;justify-content:center}#projects h2{margin-bottom:2rem;font-size:1.75rem;color:#e7eaee}@media only screen and (max-width: 767px){#projects h2{font-size:1.5rem;margin-bottom:1.5rem}}#projects .project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}@media only screen and (max-width: 767px){#projects .project-grid{grid-template-columns:1fr;gap:1rem}}#projects .project-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#1a1e25;border:1px solid #2b303a;padding:1.375rem;border-radius:8px;transition:border-color .2s ease}#projects .project-card:hover{border-color:#5eead4}@media only screen and (max-width: 767px){#projects .project-card{padding:1rem}}#projects .project-card h3{font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:600;color:#e7eaee;margin-bottom:.625rem}@media only screen and (max-width: 767px){#projects .project-card h3{font-size:1rem}}#projects .project-card p{font-size:.90625rem;color:#8b94a3;margin-bottom:1.125rem;line-height:1.6}@media only screen and (max-width: 767px){#projects .project-card p{font-size:.875rem}}#projects .project-card .button-row{margin-top:auto;display:flex;gap:.75rem;flex-wrap:wrap}#projects .project-card .button-row a{font-family:JetBrains Mono,monospace;font-size:.75rem;text-align:center;padding:.5rem .875rem;border:1px solid #2b303a;color:#e7eaee;border-radius:6px;text-decoration:none;transition:border-color .2s ease,color .2s ease}#projects .project-card .button-row a:hover{border-color:#5eead4;color:#5eead4}@media only screen and (max-width: 767px){#projects .project-card .button-row a{padding:.5rem .75rem}}#projects .showcase-projects{margin-bottom:3.5rem}@media only screen and (max-width: 767px){#projects .showcase-projects{margin-bottom:2.25rem}}#projects .other-projects h2{font-size:1.25rem;color:#8b94a3}:root{--vc-clr-primary: #000;--vc-clr-secondary: #090f207f;--vc-clr-white: #ffffff}.carousel,.carousel *{box-sizing:border-box}.carousel{height:var(--vc-carousel-height);overscroll-behavior:none;position:relative;touch-action:pan-x pan-y pinch-zoom;z-index:1}.carousel.is-dragging{touch-action:none}.carousel__track{display:flex;gap:var(--vc-slide-gap);height:100%;list-style:none;margin:0;padding:0;position:relative;transition:transform ease-out;transition-duration:var(--vc-transition-duration);width:100%}.carousel__viewport{height:100%;overflow:hidden;width:100%}.carousel__sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.carousel.is-rtl{direction:rtl}.carousel.is-ttb .carousel__track{flex-direction:column}.carousel.is-btt .carousel__track{flex-direction:column-reverse}.carousel.is-vertical .carousel__slide--clone:first-child{margin-block-start:var(--vc-cloned-offset)}.carousel:not(.is-vertical) .carousel__slide--clone:first-child{margin-inline-start:var(--vc-cloned-offset)}.carousel.is-effect-fade .carousel__track{display:grid;grid-template-columns:100%;grid-template-rows:100%;transition:none}.carousel.is-effect-fade .carousel__slide{grid-area:1 / 1;height:100%;opacity:0;pointer-events:none;transition:opacity ease-in-out;transition-duration:var(--vc-transition-duration);width:100%}.carousel.is-effect-fade .carousel__slide--active{opacity:1;pointer-events:auto}:root{--vc-icn-width: 100%}.carousel__icon{fill:currentColor;height:var(--vc-icn-width);width:var(--vc-icn-width)}:root{--vc-nav-background: transparent;--vc-nav-border-radius: 0;--vc-nav-color: var(--vc-clr-primary);--vc-nav-color-hover: var(--vc-clr-secondary);--vc-nav-height: 30px;--vc-nav-width: 30px}.carousel__next,.carousel__prev{align-items:center;background:var(--vc-nav-background);border:0;border-radius:var(--vc-nav-border-radius);color:var(--vc-nav-color);cursor:pointer;display:flex;font-size:var(--vc-nav-height);height:var(--vc-nav-height);justify-content:center;padding:0;position:absolute;inset-block-start:50%;transform:translateY(-50%);width:var(--vc-nav-width)}.carousel__next--disabled,.carousel__prev--disabled{cursor:not-allowed;opacity:.5}.carousel__next{inset-inline-end:0}.carousel__prev{inset-inline-start:0}.carousel.is-vertical .carousel__next,.carousel.is-vertical .carousel__prev{inset-inline:auto 50%;inset-block-start:auto;transform:translate(50%)}.carousel.is-vertical.is-ttb .carousel__next{inset-block-end:0}.carousel.is-vertical.is-ttb .carousel__prev,.carousel.is-vertical.is-btt .carousel__next{inset-block-start:0}.carousel.is-vertical.is-btt .carousel__prev{inset-block-end:0}@media (hover: hover){.carousel__next:hover,.carousel__prev:hover{color:var(--vc-nav-color-hover)}}:root{--vc-pgn-active-color: var(--vc-clr-primary);--vc-pgn-background-color: var(--vc-clr-secondary);--vc-pgn-border-radius: 0;--vc-pgn-gap: 6px;--vc-pgn-height: 4px;--vc-png-bottom: 10px;--vc-png-left: auto;--vc-png-right: 10px;--vc-pgn-width: 16px}.carousel__pagination{bottom:var(--vc-png-bottom);display:flex;gap:var(--vc-pgn-gap);justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translate(-50%)}.carousel__pagination-button{background-color:var(--vc-pgn-background-color);border:0;border-radius:var(--vc-pgn-border-radius);cursor:pointer;display:block;height:var(--vc-pgn-height);margin:0;padding:0;width:var(--vc-pgn-width)}.carousel__pagination-button--active{background-color:var(--vc-pgn-active-color)}@media (hover: hover){.carousel__pagination-button:hover{background-color:var(--vc-pgn-active-color)}}.carousel.is-vertical .carousel__pagination{bottom:50%;flex-direction:column;left:var(--vc-png-left);right:var(--vc-png-right);transform:translateY(50%)}.carousel.is-vertical .carousel__pagination-button{height:var(--vc-pgn-width);width:var(--vc-pgn-height)}.carousel.is-btt .carousel__pagination{flex-direction:column-reverse}.carousel__slide{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin:0;transform:translateZ(0)}section.blogs.section{min-height:100svh;padding:5rem 2rem;color:#e7eaee;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;background-color:#12151a}@media only screen and (max-width: 767px){section.blogs.section{padding:3.5rem 1rem}}section.blogs.section h2{font-size:1.75rem;color:#e7eaee;margin-bottom:2rem}@media only screen and (max-width: 767px){section.blogs.section h2{font-size:1.5rem}}section.blogs.section .carousel-wrapper{flex-grow:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}section.blogs.section .carousel-wrapper .carousel{width:90%;max-width:1400px;position:relative}section.blogs.section .carousel-wrapper .carousel .carousel__slide{padding:.75rem}section.blogs.section .carousel-wrapper .carousel .carousel__slide--active .blog-card{transform:scale(1.03);border-color:#5eead4}section.blogs.section .carousel-wrapper .carousel .blog-card{width:100%;height:50svh;background:#1a1e25;border-radius:12px;box-shadow:0 4px 16px #00000059;border:1px solid #2b303a;overflow:hidden;display:flex;flex-direction:column;text-align:left;transition:transform .3s ease,border-color .3s ease}@media only screen and (max-width: 767px){section.blogs.section .carousel-wrapper .carousel .blog-card{height:55svh}}section.blogs.section .carousel-wrapper .carousel .blog-card a{color:inherit;text-decoration:none;height:100%;display:flex;flex-direction:column}section.blogs.section .carousel-wrapper .carousel .blog-card img{width:100%;height:55%;object-fit:cover;filter:saturate(.85)}section.blogs.section .carousel-wrapper .carousel .blog-card .content{padding:1rem;flex-grow:1;display:flex;flex-direction:column;justify-content:center}section.blogs.section .carousel-wrapper .carousel .blog-card .content h3{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:600;margin:0 0 .5rem;color:#e7eaee}section.blogs.section .carousel-wrapper .carousel .blog-card .content p{font-size:.875rem;color:#8b94a3;line-height:1.5}section.blogs.section .carousel-wrapper .carousel .carousel__prev,section.blogs.section .carousel-wrapper .carousel .carousel__next{box-sizing:content-box;background:#20242c;border:1px solid #2b303a;color:#e7eaee;width:2.75rem;height:2.75rem;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);z-index:10;cursor:pointer;transition:color .2s ease,border-color .2s ease}section.blogs.section .carousel-wrapper .carousel .carousel__prev:hover,section.blogs.section .carousel-wrapper .carousel .carousel__next:hover{color:#5eead4;border-color:#5eead4}@media only screen and (max-width: 767px){section.blogs.section .carousel-wrapper .carousel .carousel__prev,section.blogs.section .carousel-wrapper .carousel .carousel__next{width:2.375rem;height:2.375rem}}section.blogs.section .carousel-wrapper .carousel .carousel__prev{left:-3.5rem}@media only screen and (max-width: 767px){section.blogs.section .carousel-wrapper .carousel .carousel__prev{left:.25rem}}section.blogs.section .carousel-wrapper .carousel .carousel__next{right:-3.5rem}@media only screen and (max-width: 767px){section.blogs.section .carousel-wrapper .carousel .carousel__next{right:.25rem}}section.blogs.section .carousel-wrapper .carousel .carousel__pagination{position:absolute;bottom:-2.5rem;left:50%;transform:translate(-50%);display:flex;gap:.625rem}section.blogs.section .carousel-wrapper .carousel .carousel__pagination .carousel__pagination-button{padding:0;border:none;background:transparent}section.blogs.section .carousel-wrapper .carousel .carousel__pagination .carousel__pagination-button:after{content:"";display:block;width:1.375rem;height:.1875rem;background-color:#2b303a;border-radius:.125rem}section.blogs.section .carousel-wrapper .carousel .carousel__pagination .carousel__pagination-button--active:after{background-color:#5eead4}.contact{padding:5rem 2rem 4rem;max-width:640px;margin-inline:auto;display:flex;flex-direction:column;justify-content:center;text-align:left}.contact h2{font-size:1.75rem;margin-bottom:1.75rem;color:#e7eaee}@media only screen and (max-width: 767px){.contact h2{font-size:1.5rem}}.contact .contact-list{list-style:none;padding:0;margin:0 0 3rem}@media only screen and (max-width: 767px){.contact .contact-list{margin-bottom:2rem}}.contact .contact-list li{margin:.875rem 0;font-size:.9375rem;font-family:JetBrains Mono,monospace;color:#8b94a3;display:flex;gap:.625rem}.contact .contact-list li strong{color:#e7eaee;min-width:90px}.contact .contact-list li a{color:#8b94a3;transition:color .2s ease}.contact .contact-list li a:hover{color:#5eead4}@media only screen and (max-width: 767px){.contact .contact-list li{font-size:.875rem}}.contact .contact-form{display:flex;flex-direction:column;gap:1rem;max-width:500px}.contact .contact-form input,.contact .contact-form textarea{width:100%;padding:.75rem 1rem;background:#1a1e25;border:1px solid #2b303a;border-radius:8px;color:#e7eaee;font-family:Inter,sans-serif;font-size:.9375rem;resize:none}.contact .contact-form input::placeholder,.contact .contact-form textarea::placeholder{color:#8b94a3}.contact .contact-form input:focus,.contact .contact-form textarea:focus{outline:none;border-color:#5eead4}@media only screen and (max-width: 767px){.contact .contact-form input,.contact .contact-form textarea{font-size:.875rem;padding:.75rem}}.contact .contact-form button{background:#5eead4;color:#12151a;font-family:JetBrains Mono,monospace;font-weight:600;font-size:.8125rem;padding:.75rem 1.75rem;border:none;border-radius:8px;cursor:not-allowed;opacity:.5;align-self:flex-start}@media only screen and (max-width: 767px){.contact .contact-form button{padding:.75rem 1.25rem}}.navbar-wrapper{position:fixed;top:0;left:50%;transform:translate(-50%);width:max-content;z-index:1000}.navbar-wrapper .navbar{transform:translateY(0);background-color:#1a1e25d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #2b303a;border-top:none;border-radius:0 0 10px 10px;transition:transform .5s ease-in-out;display:flex}.navbar-wrapper .navbar .navbar-items{position:relative;padding:.875rem 1rem;color:#8b94a3;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .2s ease}@media only screen and (max-width: 767px){.navbar-wrapper .navbar .navbar-items{padding:.75rem;font-size:.75rem}}.navbar-wrapper .navbar .navbar-items:hover{color:#5eead4}.navbar-wrapper .navbar .navbar-items:after{content:"";position:absolute;left:50%;bottom:.6rem;width:60%;height:2px;background:#5eead4;transform:translate(-50%) scaleX(0);transform-origin:center;border-radius:4px;transition:transform .3s ease-in-out}.navbar-wrapper .navbar .navbar-items:hover:after{transform:translate(-50%) scaleX(1)}.navbar-wrapper.hidden .navbar{transform:translateY(-100%)}.navbar-wrapper:hover .navbar,.navbar-wrapper.visible .navbar{transform:translateY(0)}.portfolio{height:100svh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth}.section{min-height:100svh;scroll-snap-align:start;background-color:#12151a;border-bottom:1px solid #2b303a}:root{--background: #12151a;--foreground: #e7eaee}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}::selection{background:#5eead4;color:#12151a}:focus-visible{outline:2px solid #5eead4;outline-offset:3px}html{color-scheme:dark}h1,h2,h3{font-family:Space Grotesk,sans-serif}
