*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#06060a;color:#f5f4f8;font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.ambient{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:-2}.ambient-a{width:480px;height:480px;background:rgba(130,65,255,.13);top:5%;right:-180px}.ambient-b{width:350px;height:350px;background:rgba(0,190,255,.07);bottom:10%;left:-170px}.mono{font-family:"DM Mono",monospace}header{height:78px;position:fixed;top:0;left:0;right:0;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:rgba(6,6,10,.68);border-bottom:1px solid #18181f;backdrop-filter:blur(20px);z-index:50}.brand{font:700 22px "Space Grotesk";text-decoration:none;color:#fff;letter-spacing:-1.5px}.brand span{color:#a86dff}nav{display:flex;gap:27px}nav a,.nav-cta{font-size:10px;letter-spacing:1px;text-decoration:none;color:#888;transition:.25s}nav a:hover,.nav-cta:hover{color:#fff}.nav-cta{border:1px solid #282831;border-radius:30px;padding:9px 13px;color:#ddd}.nav-cta b{color:#a86dff;margin-left:7px}.hamb{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:100vh;width:min(1220px,88%);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center;padding-top:80px}.availability{display:inline-flex;align-items:center;gap:8px;border:1px solid #25252d;background:#0c0c11;border-radius:30px;padding:6px 11px;color:#777;font:8px "DM Mono";letter-spacing:1px;margin-bottom:24px}.availability i{width:6px;height:6px;border-radius:50%;background:#72ffad;box-shadow:0 0 10px #72ffad}.kicker{font-size:9px;color:#686872;letter-spacing:2px;margin-bottom:14px}.hero h1{font:700 clamp(53px,7vw,91px)/.91 "Space Grotesk";letter-spacing:-5px}.hero h1 em,h2 em{font-style:normal;color:#a86dff}.hero h1>span{color:#62dcff}.lead{color:#8f8f9a;max-width:570px;font-size:15px;margin:27px 0}.lead strong{color:#eee}.actions{display:flex;gap:10px}.btn{padding:12px 18px;text-decoration:none;border-radius:7px;font-size:11px;font-weight:700}.btn-main{background:#a86dff;color:white;box-shadow:0 0 30px rgba(168,109,255,.16)}.btn-main span{margin-left:15px}.btn-ghost{border:1px solid #292930;color:#bbb}.hero-meta{display:flex;gap:38px;margin-top:43px}.hero-meta div{display:flex;flex-direction:column}.hero-meta b{font:600 23px "Space Grotesk"}.hero-meta small{font:8px "DM Mono";color:#555;letter-spacing:1px}.hero-art{height:590px;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid rgba(168,109,255,.16);border-radius:50%;transform:rotateX(65deg)}.ring-1{width:430px;height:430px}.ring-2{width:330px;height:330px;border-color:rgba(98,220,255,.13);transform:rotateY(70deg)}.ring-3{width:520px;height:180px;border-color:rgba(168,109,255,.09);transform:rotateX(70deg)}.core{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#be8fff,#3e196f 55%,#0b0910 70%);box-shadow:0 0 80px rgba(168,109,255,.28);display:grid;place-items:center;position:absolute;z-index:1}.core span{font:700 37px "Space Grotesk";letter-spacing:-3px}.core i{position:absolute;width:11px;height:11px;border-radius:50%;background:#6de7ff;right:20px;top:18px;box-shadow:0 0 15px #6de7ff}.terminal{position:absolute;z-index:3;width:400px;right:-5px;bottom:72px;border:1px solid #292832;background:rgba(10,10,15,.92);box-shadow:0 30px 70px #0008;border-radius:10px;transform:rotate(3deg)}.term-top{height:37px;border-bottom:1px solid #22222a;display:flex;align-items:center;gap:5px;padding:0 13px}.term-top>span{width:7px;height:7px;border-radius:50%;background:#444}.term-top label{font:9px "DM Mono";color:#555;margin-left:8px}.term-body{padding:17px 14px;font:10px/2 "DM Mono";color:#aaa}.term-body p b{color:#35353e;margin-right:15px;font-weight:400}.purple{color:#bc83ff}.green{color:#8ae4a4}.cyan{color:#68dfff}.term-foot{border-top:1px solid #22222a;padding:11px 14px;font:10px "DM Mono";color:#777}.term-foot span{color:#a86dff}.term-foot i{font-style:normal;color:#aaa}.term-foot b{color:#a86dff;animation:blink 1s infinite}.hud{position:absolute;font:7px "DM Mono";letter-spacing:1px;color:#555;line-height:1.8}.hud strong{color:#71e5ff;font-weight:500}.hud-a{top:22%;right:5%}.hud-b{bottom:25%;left:4%}.section{width:min(1220px,88%);margin:auto;padding:125px 0}.section-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;margin-bottom:75px;font:9px "DM Mono";color:#777;letter-spacing:1px}.section-head i{height:1px;background:#202028}.section-head small{font-size:8px;color:#444}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}.portrait{height:510px;border:1px solid #23232b;border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(168,109,255,.16),transparent 35%),#0a0a0f;position:relative;overflow:hidden;display:grid;place-items:center}.portrait-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(#000,transparent)}.portrait-initial{font:700 130px "Space Grotesk";letter-spacing:-12px;color:#191522;text-shadow:0 0 1px #a86dff}.portrait-tag{position:absolute;left:18px;bottom:18px;border-left:2px solid #a86dff;padding-left:10px;font:8px/1.8 "DM Mono";color:#666}.portrait-tag b{color:#ccc;font-weight:500}.corner{position:absolute;right:17px;top:14px;color:#a86dff;font-size:20px}.label{font-size:9px;color:#777;letter-spacing:2px;margin-bottom:12px}.about-text h2,.skills-intro h2,.work-title h2,.journey-grid h2,.contact h2{font:700 clamp(38px,5vw,62px)/.98 "Space Grotesk";letter-spacing:-3px;margin-bottom:26px}.about-text>p:not(.label){color:#85858f;font-size:14px;margin-bottom:17px}.about-text strong{color:#eee}.edu{margin-top:33px;border:1px solid #24242c;background:#0b0b10;border-radius:9px;padding:17px;display:flex;gap:14px;align-items:center}.edu>span{width:40px;height:40px;border:1px solid #4d376d;color:#a86dff;display:grid;place-items:center;border-radius:7px}.edu div{display:flex;flex-direction:column}.edu small{font:7px "DM Mono";color:#555;letter-spacing:1px}.edu b{font:12px "Space Grotesk"}.edu p{font-size:10px;color:#555}.edu em{margin-left:auto;font:7px "DM Mono";color:#71e5ff;font-style:normal}.skills-intro,.work-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.skills-intro h2,.work-title h2{margin:0}.skills-intro>p,.work-title>p{max-width:370px;color:#666;font-size:12px}.skill-list{border-top:1px solid #24242c}.skill{display:grid;grid-template-columns:45px 55px 1fr 45px 180px;align-items:center;gap:20px;padding:23px 5px;border-bottom:1px solid #202028;transition:.3s}.skill:hover{background:#0c0c12;padding-left:14px;padding-right:14px}.skill>span{font:9px "DM Mono";color:#444}.skill-symbol{color:#a86dff;font:18px monospace}.skill h3{font:600 16px "Space Grotesk"}.skill p{font-size:10px;color:#5f5f69}.skill>strong{font:10px "DM Mono";color:#777}.skill>i{height:2px;background:#25252d}.skill>i b{height:100%;display:block;background:#a86dff;box-shadow:0 0 8px #a86dff55}.work-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px}.work-card{border:1px solid #24242c;background:#0a0a0f;border-radius:10px;padding:15px;transition:.35s}.work-card:hover{transform:translateY(-7px);border-color:#4d3670}.work-card.large{grid-row:span 1}.work-number{font:9px "DM Mono";color:#4d4d58}.mock{height:260px;margin:13px 0 18px;border:1px solid #202028;border-radius:7px;overflow:hidden;position:relative;background:#0d0d13}.browser-head{height:26px;border-bottom:1px solid #22222b;display:flex;align-items:center;gap:5px;padding:0 8px}.browser-head i{width:5px;height:5px;border-radius:50%;background:#454550}.browser-head span{font:7px "DM Mono";color:#444;margin-left:7px}.browser-ui{padding:40px 30px}.ui-title{width:70%;height:7px;background:#a86dff;margin-bottom:10px;border-radius:4px}.ui-text{width:55%;height:4px;background:#30303a;margin:7px 0}.ui-text.short{width:35%}.ui-block{height:85px;border:1px solid #2e2839;margin-top:27px;background:linear-gradient(135deg,#a86dff12,transparent)}.network-mock{background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:25px 25px}.router,.pc{position:absolute;border:1px solid #57515f;background:#111119;padding:10px 12px;border-radius:6px;font:8px "DM Mono";z-index:2}.router{top:38%;left:38%;border-color:#a86dff}.pc1{bottom:20%;left:15%}.pc2{bottom:20%;right:15%}.wire{height:1px;background:#8e60ca;position:absolute;top:52%;left:43%;width:110px;transform-origin:left}.w1{transform:rotate(145deg)}.w2{transform:rotate(35deg)}.pulse{position:absolute;width:5px;height:5px;background:#6de7ff;border-radius:50%;top:51%;left:45%;box-shadow:0 0 12px #6de7ff;animation:pulse 2s infinite}.device-mock{display:grid;place-items:center}.phone{height:155px;width:78px;border:2px solid #554064;border-radius:14px;box-shadow:0 0 50px #a86dff18;position:relative}.phone:after{content:"";position:absolute;inset:7px;border:1px solid #2b2632;border-radius:9px}.phone span{position:absolute;width:20px;height:3px;background:#27232e;border-radius:4px;top:3px;left:27px;z-index:2}.tool{position:absolute;color:#a86dff;font-size:30px}.work-info small{font:8px "DM Mono";color:#64646e;letter-spacing:1px}.work-info h3{font:600 19px "Space Grotesk";margin:5px 0}.work-info p{font-size:10px;color:#62626c;min-height:44px}.work-info>div{display:flex;gap:5px;margin-top:12px}.work-info>div b{font:7px "DM Mono";font-weight:400;color:#888;border:1px solid #272730;padding:4px 6px;border-radius:3px}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.journey-lead{max-width:390px;color:#686872;font-size:13px}.timeline{border-left:1px solid #292930}.timeline>div{position:relative;padding:0 0 42px 28px}.timeline>div:before{content:"";position:absolute;width:7px;height:7px;background:#a86dff;border-radius:50%;left:-4px;top:4px;box-shadow:0 0 10px #a86dff}.timeline span{font:8px "DM Mono";color:#a86dff}.timeline h3{font:600 18px "Space Grotesk";margin:4px 0}.timeline p{font-size:11px;color:#666}.contact-inner{border:1px solid #282830;border-radius:15px;padding:75px 8%;background:radial-gradient(circle at 78% 20%,#a86dff1c,transparent 30%),#0a0a0f;text-align:center}.contact h2{margin-bottom:15px}.contact-inner>p:not(.label){font-size:12px;color:#666;margin-bottom:42px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;text-align:left;border:1px solid #282830;gap:1px;background:#282830}.contact-grid a{background:#0b0b10;padding:18px;text-decoration:none;display:grid;grid-template-columns:1fr auto;gap:3px}.contact-grid a:hover{background:#111117}.contact-grid small{font:7px "DM Mono";color:#555;letter-spacing:1px}.contact-grid b{font-size:11px;font-weight:500;color:#ddd}.contact-grid span{grid-column:2;grid-row:1/3;align-self:center;color:#a86dff}footer{width:88%;max-width:1220px;margin:auto;border-top:1px solid #202028;padding:28px 0 40px;display:flex;align-items:center;justify-content:space-between}footer p{font:8px "DM Mono";color:#494952}footer>a:last-child{font:8px "DM Mono";color:#666;text-decoration:none}#loader{position:fixed;inset:0;background:#06060a;z-index:200;display:grid;place-content:center;text-align:center;transition:opacity .7s,visibility .7s}.loader-mark{font:700 32px "Space Grotesk";letter-spacing:-2px}.loader-mark span{color:#a86dff}.loader-line{height:2px;width:180px;background:#1c1c23;margin:17px auto 10px}.loader-line i{display:block;height:100%;width:0;background:#a86dff;animation:load 1.4s forwards}.loader-line+small{font:7px "DM Mono";color:#444;letter-spacing:2px}.loaded #loader{opacity:0;visibility:hidden}.reveal{opacity:0;transform:translateY(28px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@keyframes load{to{width:100%}}@keyframes blink{50%{opacity:0}}@keyframes pulse{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.5)}}@media(max-width:900px){nav{display:none}.nav-cta{display:none}.hamb{display:block}.hero{grid-template-columns:1fr}.hero-art{height:470px}.terminal{right:3%;bottom:25px}.about-grid,.journey-grid{grid-template-columns:1fr;gap:55px}.portrait{height:400px}.skills-intro,.work-title{display:block}.skills-intro>p,.work-title>p{margin-top:18px}.skill{grid-template-columns:35px 45px 1fr 45px 120px}.work-grid{grid-template-columns:1fr 1fr}.work-card.large{grid-column:span 2}}@media(max-width:600px){header{height:65px}.hero{padding-top:100px}.hero h1{font-size:56px;letter-spacing:-3px}.hero-art{height:390px}.ring-1{width:290px;height:290px}.ring-2{width:230px;height:230px}.terminal{width:310px;bottom:15px;right:0}.term-body{font-size:8px}.core{width:110px;height:110px}.core span{font-size:28px}.hud{display:none}.section{padding:90px 0}.section-head{margin-bottom:45px}.about-grid{gap:35px}.portrait{height:330px}.portrait-initial{font-size:90px}.skill{grid-template-columns:25px 40px 1fr}.skill>strong,.skill>i{display:none}.skill h3{font-size:13px}.skill p{font-size:9px}.work-grid{grid-template-columns:1fr}.work-card.large{grid-column:auto}.mock{height:220px}.contact-inner{padding:50px 5%}.contact-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:14px;text-align:center}}
.profile-photo {
    position: relative;
    z-index: 1;
    width: 60%;
    height: 65%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    filter: saturate(.85) contrast(1.05);
    box-shadow:
        0 25px 70px rgba(0,0,0,.55),
        0 0 55px rgba(168,109,255,.12);
}

@media (max-width: 600px) {
    .profile-photo {
        width: 60%;
        height: 65%;
    }
}

.contact-button {
    background: #0b0b10;
    padding: 20px;
    text-decoration: none;
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    gap: 14px;
    transition: .3s ease;
}

.contact-button:hover {
    background: #111117;
    transform: translateY(-2px);
}

.contact-button .contact-icon {
    width: 38px;
    height: 38px;
    border: 1px solid #393040;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #a86dff;
    font-family: "DM Mono", monospace;
    font-size: 14px;
}

.contact-button div {
    display: flex;
    flex-direction: column;
}

.contact-button small {
    font: 7px "DM Mono";
    color: #555;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.contact-button b {
    font-size: 12px;
    font-weight: 500;
    color: #ddd;
}

.contact-button .arrow {
    color: #a86dff;
    font-size: 16px;
    transition: .3s;
}

.contact-button:hover .arrow {
    transform: translate(3px, -3px);
}

/* =========================================
   PREMIUM PHOTO SLIDER
========================================= */

.photo-slider {
    position: relative;
    width: min(100%, 560px);
    margin: 0 auto;
    padding: 0 58px;
    box-sizing: border-box;
}

/* Area foto */
.slides {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.12);
    background: #08080d;
}


/* Foto */
.slide {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    opacity: 0;
    transform: scale(1.03);

    transition:
        opacity .7s ease,
        transform .9s ease;
}

.slide.active {
    opacity: 1;
    transform: scale(1);
}

/* =========================================
   TOMBOL PANAH
========================================= */

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(10, 10, 16, .95);
    color: #fff;

    border: 1px solid rgba(168,85,247,.55);
    border-radius: 50%;

    font-size: 27px;
    line-height: 1;

    cursor: pointer;

    transition:
        .3s ease;

    z-index: 10;
}

/* Tombol kiri */
.slider-btn.prev {
    left: 6px;
}

/* Tombol kanan */
.slider-btn.next {
    right: 6px;
}

}

/* Hover */
.slider-btn:hover {
    color: #a855f7;
    border-color: #a855f7;

    box-shadow:
        0 0 18px rgba(168,85,247,.35);

    transform: translateY(-50%) scale(1.06);
    
}

/* =========================================
   DOT INDICATOR
========================================= */

.slider-dots {
    position: absolute;

    bottom: -28px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    gap: 8px;
}

.dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: 5px solid rgba(168,85,247,.6);
    border-radius: 50%;
    background: transparent;

    cursor: pointer;

    transition: .3s ease;
}

.dot.active {
    width: 28px;
    background: #a855f7;
    box-shadow: 0 0 10px rgba(168,85,247,.7);
}