@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.09zddjkbdep5a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}.container{width:100%}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}.intro{color:#fff;z-index:50;opacity:1;background:radial-gradient(circle,#0f172a,#020617);flex-direction:column;justify-content:center;align-items:center;transition:all .6s;display:flex;position:fixed;inset:0;overflow:hidden;transform:scale(1)}.intro:active{transform:scale(.97)}.intro:before{content:"";opacity:.6;filter:blur(100px);background:radial-gradient(circle,#6366f14d,#0000);width:600px;height:600px;animation:6s infinite alternate moveGlow;position:absolute;top:20%;left:30%}.intro-leave{opacity:0;transform:scale(1.1)}.intro-icons{gap:20px;margin-bottom:20px;font-size:40px;display:flex}.navbar{z-index:9999;background:0 0;width:100%;padding:15px 0;position:fixed;top:0;left:0}.navbar-content{justify-content:space-between;align-items:center;display:flex}.nav-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border-radius:15px;gap:10px;padding:8px 15px;transition:all .3s;display:flex}.nav-menu.show{opacity:1;transform:translateY(0)}.nav-menu.hide{opacity:0;pointer-events:none;transform:translateY(-20px)}.nav-menu a{color:#fff;padding:5px 10px;text-decoration:none;transition:all .3s}.nav-menu a:hover{box-shadow:none;-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);-webkit-background-clip:text;transform:translateY(-5px)scale(1.05)}.logo-gradient{text-shadow:0 0 10px #6a5cff80;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#6a5cff,#9f7aea,#38bdf8,#fff) 0 0/200%;-webkit-background-clip:text;font-size:20px;font-weight:700;transition:all .3s;animation:3s linear infinite gradientMove}.logo-gradient.hide{opacity:0;pointer-events:none;transform:translateY(-20px)}.logo-gradient.show{opacity:1;transform:translateY(0)}.hero{min-height:calc(100vh - 80px);padding-top:80px}.hero-content{justify-content:space-between;align-items:center;gap:60px;display:flex}.hero-image{justify-self:end;width:370px}.hero-image img{object-fit:contain;border-radius:0;width:100%;height:auto;position:static;transform:none}.hero-text{max-width:550px}.hero-text h1{font-size:36px;line-height:1.2}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);-webkit-background-clip:text}.hero-text h2{margin-bottom:15px;font-size:28px}.hero-text p{color:#aaa;max-width:450px;margin:15px 0}.hero-text .hero-tag{color:#ddd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:all .3s;display:inline-flex}.hero-text .hero-tag:hover{color:#fff;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);transform:translateY(-2px);box-shadow:0 5px 15px #6a5cff66}.hero-desc{cursor:pointer;max-width:500px;margin:15px 0;font-size:16px;line-height:1.8;transition:all .3s;position:relative}.hero-desc:hover{color:#e5e7eb;transform:translateY(-2px)}.hero-desc:before{content:"";opacity:.7;background:linear-gradient(#6a5cff,#38bdf8);border-radius:10px;width:4px;height:80%;position:absolute;top:5px;left:-15px}.container{width:90%;margin:auto}.about{margin-top:50px;padding-top:90px}.about-content{justify-content:space-between;align-items:center;gap:50px;display:flex}.about-image{width:320px;height:320px;position:relative}.about-image:before{content:"";filter:blur(40px);z-index:0;background:radial-gradient(circle,#6366f166,#0000);position:absolute;inset:-20px}.about-image img{object-fit:cover;z-index:2;border-radius:50%;width:100%;height:100%;position:relative}.nama-gradient{text-shadow:0 0 10px #6a5cff80;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#6a5cff,#9f7aea,#38bdf8,#fff) 0 0/200%;-webkit-background-clip:text;font-size:48px;font-weight:700;line-height:1.2;transition:all .3s;animation:3s linear infinite gradientMove}.about-text{max-width:500px}.about-hov{color:#9f7aea;cursor:pointer;max-width:500px;margin:15px 0;font-size:24px;line-height:1.8;transition:all .3s;position:relative}.about-text h1{margin-top:-15px;margin-bottom:15px;font-size:40px}.about-text p{color:#aaa;margin:15px 0}.about-btn{flex-wrap:wrap;gap:15px;margin-top:25px;display:flex}body{color:#fff;background:radial-gradient(circle at top,#0f172a,#020617);margin:0;font-family:Arial,sans-serif}.btn{cursor:grabbing;color:#fff;border-radius:20px;justify-content:center;align-items:center;padding:10px 20px;display:inline-flex}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff0d;border-radius:15px;padding:20px}.highlight{color:#9f7aea;font-weight:600}html{scroll-behavior:smooth}section{scroll-margin-top:80px}.hero-btn{flex-wrap:wrap;gap:15px;margin-top:25px;display:flex}.btn-outline{color:#fff;background:#ffffff0d;border:1px solid #ffffff4d;text-decoration:none;transition:all .3s}.btn-outline:hover{color:#fff;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);transform:translateY(-5px)scale(1.05);box-shadow:0 10px 20px #6a5cff4d}.btn-portofolio{color:#fff;background:#ffffff0d;border:1px solid #ffffff4d;text-decoration:none;transition:all .3s}.btn-portofolio:hover{color:#fff;background:linear-gradient(90deg,#3b82f6,#9f7aea);transform:translateY(-2px)}.services-container{gap:20px;display:flex}.icon{opacity:0;color:#9f7aea;filter:drop-shadow(0 0 10px #9f7aea80);font-size:40px;animation:.8s forwards iconFadeUp,2.5s ease-in-out infinite alternate float;transform:translateY(30px)scale(.8)}.i1{animation-delay:.2s}.i2{animation-delay:.4s}.i3{animation-delay:.6s}@keyframes iconFadeUp{to{opacity:1;transform:translateY(0)scale(1)}}.intro-big{-webkit-text-fill-color:transparent;opacity:0;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);-webkit-background-clip:text;font-size:36px;font-weight:700;animation:.8s forwards textFade;transform:translateY(20px)}@keyframes textFade{to{opacity:1;transform:translateY(0)}}.intro-big:after{content:"|";margin-left:5px;animation:1s infinite blink}.intro:hover{cursor:pointer;filter:brightness(1.1)}.project-container{flex-direction:column;align-items:center;padding-top:100px;display:flex}.project-content{text-align:left;width:100%;max-width:800px}.project-header{flex-direction:column;align-items:flex-start;width:100%;max-width:800px;margin-bottom:40px;display:flex}.project-back{color:#fff;background:#ffffff0d;border:1px solid #ffffff4d;border-radius:25px;align-self:flex-start;margin-bottom:20px;padding:10px 22px;font-size:14px;text-decoration:none;transition:all .3s;display:inline-block}.project-back:hover{color:#000;background:#fff;transform:translate(-5px)}.project-title{text-shadow:0 0 10px #6a5cff80;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#6a5cff,#9f7aea,#38bdf8,#fff) 0 0/200%;-webkit-background-clip:text;margin-bottom:10px;font-size:32px;font-weight:700;transition:all .3s;animation:3s linear infinite gradientMove}.project-header p{color:#aaa;margin-bottom:30px}.project-desc{cursor:pointer;margin:15px 0;font-size:16px;line-height:1.8;transition:all .3s;position:relative}.project-desc:hover{color:#e5e7eb;transform:translateY(-2px)}.project-image{margin-bottom:30px}.project-image img{border:1px solid #ffffff1a;border-radius:15px;width:100%;max-width:800px;box-shadow:0 10px 30px #00000080}.project-content h2{margin-bottom:10px}.project-content p{margin-bottom:20px}.project-content ul{color:#ccc;margin-bottom:20px;padding-left:20px;list-style:outside}.project-content li{margin-bottom:8px}.project-btn{margin-top:20px}.water{background:radial-gradient(circle,#1e3a8a,#020617);width:100%;height:40%;position:absolute;bottom:0;overflow:hidden}.drop{background:#60a5fa;border-radius:50%;width:10px;height:20px;animation:1s ease-in forwards dropFall;position:absolute;top:-50px;left:50%;transform:translate(-50%)}@keyframes dropFall{to{top:60%}}.ripple{border:2px solid #60a5fa;border-radius:50%;width:20px;height:20px;animation:1.5s ease-out forwards rippleExpand;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}@keyframes rippleExpand{0%{opacity:.8;width:20px;height:20px}to{opacity:0;width:200px;height:200px}}.image-scroll-wrapper{width:100%;margin:40px 0;padding:20px 0;overflow:hidden}.image-scroll{gap:30px;width:max-content;animation:40s linear infinite scrollLeft;display:flex}.image-scroll:hover{animation-play-state:paused}.image-scroll img{object-fit:cover;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;width:570px;height:300px}.image-scroll-app{background:#0a0a0a;width:100%;margin:40px 0;padding:20px 0;position:relative;overflow:hidden}.image-scrollapp{gap:20px;width:max-content;animation:30s linear infinite scrollLeft;display:flex}.image-scrollapp img{object-fit:contain;border:1px solid #fff3;border-radius:16px;flex-shrink:0;width:auto;height:400px;box-shadow:0 4px 20px #00000080}.image-scrollapp:hover{animation-play-state:paused}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}.intro-text{z-index:2;text-align:center;margin-top:-50px;animation:1s forwards fadeUp;position:relative}.intro-text h2{color:#ccc;font-size:18px}.intro-text h1{font-size:36px;font-weight:700}@keyframes shine{0%{background-position:0%}to{background-position:200%}}.portfolio{margin-top:100px;padding-top:100px}.portfolio-tabs{justify-content:center;gap:20px;margin-bottom:40px;display:flex}.portfolio-tabs button{color:#fff;cursor:pointer;background:#ffffff0d;border:none;border-radius:10px;padding:10px 20px;transition:all .3s}.portfolio-tabs .active{background:linear-gradient(90deg,#38bdf8,#3b82f6,#9f7aea,#6a5cff)}.project-grid{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:15px;padding:20px;transition:all .3s}.project-card:hover{background:#ffffff14;transform:translateY(-5px)}.project-card img{border-radius:10px;width:100%;margin-bottom:15px}.project-card h3{text-shadow:0 0 10px #6a5cff80;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#6a5cff,#9f7aea,#38bdf8,#fff) 0 0/200%;-webkit-background-clip:text;margin-bottom:10px;font-size:24px;font-weight:700;transition:all .3s;animation:3s linear infinite gradientMove}.project-card p{color:#aaa;font-size:14px}.project-hov{cursor:pointer;max-width:500px;margin:15px 0;font-size:16px;line-height:1.8;transition:all .3s;position:relative}.project-hov:hover{color:#e5e7eb;transform:translateY(-2px)}.port-desc{color:#aaa;cursor:pointer;margin:15px 0;font-size:16px;line-height:1.8;transition:all .3s;position:relative}.port-desc:hover{color:#e5e7eb;transform:translateY(-2px)}.port-desc:before{content:"";opacity:.7;background:linear-gradient(#6a5cff,#38bdf8);border-radius:10px;width:4px;height:80%;position:absolute;top:5px;left:-15px}.hero-desc:active{cursor:grabbing;transform:scale(.98)}.hero-desc-tech{cursor:pointer;margin:15px 0;font-size:32px;line-height:1.8;transition:all .3s;position:relative}.hero-desc-tech:hover{box-shadow:none;-webkit-text-fill-color:transparent;color:#0000;background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);-webkit-background-clip:text;transform:translateY(-5px)scale(1.05)}.hero-desc-tech:active{cursor:grabbing;transform:scale(.98)}.hero-tech{gap:15px;margin-bottom:40px;display:flex}.hero-tech .stack-item{width:70px;height:70px;font-size:36px}.port-tech .stack-item{aspect-ratio:1;width:calc(16.6667% - 20px);font-size:80px}.port-tech{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:40px;display:flex}.feature-list{cursor:pointer;margin:20px 0 50px;padding:0;list-style:none}.feature-list li{color:#cbd5e1;margin-bottom:12px;padding-left:25px;line-height:1.6;transition:all .3s;position:relative}.feature-list li:before{content:"•";color:#38bdf8;font-size:18px;position:absolute;top:0;left:0}.feature-list li:hover{color:#fff;transform:translate(5px)}.stack-item{cursor:grabbing;color:#aaa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;justify-content:center;align-items:center;transition:all .3s;display:flex}.stack-item:hover{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#6a5cff,#9f7aea);-webkit-background-clip:text;transform:translateY(-5px)scale(1.05);box-shadow:0 10px 20px #6a5cff4d}.stack-item:hover svg{color:#fff;transition:all .3s}.stack-item.react:hover svg{color:#61dafb}.stack-item.next:hover svg{color:#fff}.stack-item.flutter:hover svg{color:#38bdf8}.stack-item.node:hover svg{color:#3c873a}.stack-item.flask:hover svg{color:#fff}.stack-item.tailwind:hover svg{color:#38bdf8}.stack-item.mysql:hover svg{color:#00758f}.stack-item.python:hover svg{color:#3776ab}.stack-item.html:hover svg{color:#e34c26}.stack-item.css:hover svg{color:#264de4}.stack-item.js:hover svg{color:#f7df1e}.stack-item.bootstrap:hover svg{color:#7952b3}.stack-item.laravel:hover svg{color:#ff2d20}.stack-item.ai:hover svg{color:#a855f7}.stack-item.postgresql:hover svg{color:#336791}.stack-item.supabase:hover svg{color:#3ecf8e}.stack-item.mongodb:hover svg{color:#47a248}.stack-item.git:hover svg{color:#f1502f}.stack-item.figma:hover svg{color:#f24e1e}.stack-item.fastapi:hover svg{color:#009688}.stack-item.cloudinary:hover svg{color:#3448c5}@keyframes gradientMove{0%{background-position:0%}to{background-position:200%}}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes moveGlow{0%{transform:translate(0)}to{transform:translate(100px,50px)}}@keyframes iconIn{to{opacity:1;transform:translateY(0)scale(1)}}.contact{text-align:center;margin-top:40px;padding-top:40px}.contact-title{margin-bottom:50px;font-size:40px}.contact-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.contact-card{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:30px;text-decoration:none;transition:all .3s;display:flex}.contact-card svg{font-size:40px}.contact-card:hover{transform:translateY(-10px)scale(1.03)}.contact-card.ig:hover{box-shadow:0 10px 30px #e1306c80}.contact-card.linkedin:hover{box-shadow:0 10px 30px #0077b580}.contact-card.wa:hover{box-shadow:0 10px 30px #25d36680}.intro-small{opacity:0;margin-bottom:10px;font-size:18px;animation:.8s .8s forwards fadeUp;transform:translateY(10px)}@keyframes stackFadeUp{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.footer{text-align:center;margin-top:50px;padding:60px 20px 40px;position:relative}.footer:before{content:"";filter:blur(80px);z-index:0;background:radial-gradient(circle,#6a5cff26,#0000);position:absolute;inset:0}.footer-content{z-index:2;position:relative}.footer-text{color:#ddd;margin-bottom:15px;font-size:15px}.footer-line{background:linear-gradient(90deg,#6a5cff,#9f7aea,#38bdf8);border-radius:10px;width:120px;height:2px;margin:0 auto 15px}.footer-sub{color:#888;letter-spacing:1px;font-size:13px}.footer-text:hover{color:#fff;transition:all .3s}.intro-click{opacity:.6;margin-top:20px;font-size:12px;animation:1.5s infinite blink}@keyframes blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}@media (max-width:768px){.container{width:92%}.navbar{padding:10px 0}.navbar-content{flex-direction:row}.hamburger{display:flex}.nav-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:right;opacity:0;z-index:999;background:#0a0a14d9;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:flex-end;gap:12px;width:15%;max-width:240px;padding:18px 16px;transition:all .35s;display:flex;position:fixed;top:70px;right:10px;transform:translate(120%);box-shadow:0 20px 50px #0009}.nav-menu.active{opacity:1;transform:translate(0)}.nav-menu a{padding:10px 0;font-size:18px}.nav-menu.show,.nav-menu.hide{opacity:1;pointer-events:auto;transform:none}.hero{padding-top:70px}.hero-content{text-align:center;flex-direction:column-reverse;gap:25px}.hero-text{max-width:100%}.hero-text h1{font-size:26px}.hero-text h2{font-size:18px}.hero-desc{margin:10px auto;font-size:14px}.hero-btn{justify-content:center;gap:10px}.btn{width:100%;max-width:180px}.hero-image{width:200px}.hero-image img{width:100%}.hero-tech{flex-wrap:wrap;justify-content:center}.hero-tech .stack-item{width:55px;height:55px;font-size:26px}.about-content{text-align:center;flex-direction:column;gap:25px}.about-image{width:180px;height:180px}.about-text{max-width:100%}.about-text h1{font-size:26px}.about-text p{font-size:14px}.about-btn{justify-content:center;gap:10px}.portfolio{margin-top:60px;padding-top:60px}.portfolio-tabs{flex-wrap:wrap;gap:10px}.portfolio-tabs button{padding:8px 14px;font-size:14px}.project-grid{grid-template-columns:1fr;gap:20px}.project-card{padding:15px}.project-card h3{font-size:20px}.project-card p{font-size:13px}.port-tech{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.port-tech .stack-item{aspect-ratio:1;width:100%;font-size:40px}.nama-gradient{font-size:36px}.about-hov{font-size:28px}.project-container{padding-top:80px}.project-title{font-size:32px}.project-desc{font-size:16px}.project-desc-tech{font-size:32px}.port-desc{font-size:16px}.project-image img{border-radius:10px}.image-scroll img{width:260px;height:160px}.image-scrollapp img{height:260px}.image-scroll:hover{animation-play-state:running!important}.contact-title{font-size:26px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-card{padding:20px}.contact-card svg{font-size:30px}.footer{padding:40px 15px}.footer-text{font-size:13px}.footer-sub{font-size:11px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
