/* ============ LANDING NEW — scoped to .lp-root ============ */
.lp-root,.lp-root *{box-sizing:border-box;margin:0}
.lp-root{--k:#10140e;--g:#b8f36b;--p:#f8f8f2;--m:#8b9186;--l:#2a3126;--d:'Space Grotesk',system-ui,sans-serif;--mo:'IBM Plex Mono',ui-monospace,monospace;display:none;background:var(--k);color:var(--p);font:400 17px/1.55 var(--d);letter-spacing:normal;overflow-x:hidden;overflow-x:clip;position:relative;isolation:isolate}
.lp-root.show{display:block}
.lp-root a{color:inherit;text-decoration:none}
.lp-root :focus-visible{outline:3px solid var(--g);outline-offset:3px}
.lp-root .fin :focus-visible{outline-color:var(--k)}
.lp-root .w{max-width:1200px;margin:auto;padding:0 24px}
.lp-root .btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:99px;border:1.5px solid var(--p);background:none;color:var(--p);font:700 16px var(--d);cursor:pointer;transition:transform .6s cubic-bezier(.34,1.8,.5,1),background .2s,color .2s}
.lp-root .btn.mg{transition:transform .12s linear}
.lp-root .btn:hover{background:var(--p);color:var(--k)}
.lp-root .bg{background:var(--g);color:var(--k);border-color:var(--g)}
.lp-root .bg:hover{background:#fff;border-color:#fff}
.lp-root .xl{padding:24px 52px;font-size:clamp(20px,2.4vw,28px);background:var(--k);color:var(--g);border-color:var(--k)}
.lp-root .xl:hover{background:var(--p);color:var(--k)}
.lp-root .fx{position:fixed;inset:0;z-index:-1;pointer-events:none}
.lp-root #gl{width:100%;height:100%;display:block}
.lp-root .fx::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(16,20,14,.1),rgba(16,20,14,.72))}
.lp-root #pb{position:fixed;z-index:60;top:0;left:0;right:0;height:3px;background:var(--g);transform:scaleX(0);transform-origin:0 50%}
.lp-root nav{position:fixed;z-index:50;top:14px;left:50%;transform:translateX(-50%);width:min(960px,calc(100% - 24px));display:flex;align-items:center;gap:20px;padding:8px 8px 8px 16px;background:rgba(16,20,14,.7);backdrop-filter:blur(14px);border:1px solid var(--l);border-radius:99px}
.lp-root .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.03em}
.lp-root .lm{display:grid;place-items:center;width:32px;height:32px;padding:0;background:var(--g);color:var(--k);border-radius:8px;transform:rotate(-4deg);font-family:inherit;font-size:18px;font-weight:700;line-height:1;border:0;cursor:pointer;transition:transform .1s}
.lp-root .lm.tapped{transform:rotate(-4deg) scale(.9)}
.lp-root .nl{display:flex;gap:22px;margin-left:auto;font-size:15px;color:#c9cfc3}
.lp-root .nl a:hover{color:#fff}
.lp-root .nr{display:flex;gap:6px}
.lp-root .nr .btn{padding:9px 18px;font-size:15px}
.lp-root .nr .gh{border-color:transparent}
.lp-root .hero{display:flex;align-items:center;min-height:100svh;padding:120px 0 72px;margin:0;background:none;color:inherit;border:0;border-radius:0;box-shadow:none;overflow:visible}
.lp-root .hero::after{content:none}
.lp-root .hg{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.lp-root h1{font-size:clamp(54px,9.2vw,150px);line-height:.88;letter-spacing:-.06em;font-weight:700}
.lp-root .wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.lp-root .wd i{display:inline-block;font-style:normal;animation:lpup .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*90ms + 100ms)}
.lp-root .gr{color:#a3a99c}
.lp-root .sub{max-width:460px;margin:32px 0 36px;font-size:19px;color:#d6dbd0}
.lp-root .cta{display:flex;flex-wrap:wrap;gap:12px}
.lp-root .fu{animation:lpfu .8s cubic-bezier(.2,.8,.2,1) .5s both}
@keyframes lpup{from{transform:translateY(110%)}}
@keyframes lpfu{from{opacity:0;transform:translateY(20px)}}
.lp-root .rwp{perspective:1000px}
.lp-root .rw{width:min(340px,100%);margin:auto;transform:rotate(-2.5deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));filter:drop-shadow(0 26px 34px rgba(0,0,0,.6))}
.lp-root .rc{position:relative;padding:22px 20px 26px;background:var(--p);color:var(--k);font:500 12.5px/1.45 var(--mo);animation:lpprint 3.6s steps(36) .5s both}
.lp-root .rc::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px;background:var(--p);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 0 0/16px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 0 0/16px 100%}
@keyframes lpprint{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 -14px 0)}}
.lp-root .rh{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--d)}
.lp-root .rh b{font-size:24px;letter-spacing:-.04em}
.lp-root .rh span{font:600 11px var(--mo)}
.lp-root .dm{margin-top:2px;font-size:10.5px;letter-spacing:.06em;color:#5f5f55}
.lp-root .rc hr{border:0;border-top:1.5px dashed #8a8d80;margin:10px 0}
.lp-root .l{display:flex;justify-content:space-between;gap:12px}
.lp-root .rc strong{display:block;font:700 30px/1.1 var(--d);letter-spacing:-.04em}
.lp-root .bar{height:8px;margin-top:4px;border:1.5px solid var(--k);border-radius:9px;overflow:hidden}
.lp-root .bar u{display:block;width:58%;height:100%;background:var(--k)}
.lp-root .bc{height:30px;margin-top:14px;background:repeating-linear-gradient(90deg,var(--k) 0 2px,transparent 2px 4px,var(--k) 4px 5px,transparent 5px 9px,var(--k) 9px 12px,transparent 12px 14px)}
.lp-root .mq{margin:0 -3vw;overflow:hidden;background:var(--g);color:var(--k);transform:rotate(-1.5deg);padding:14px 0;font:700 clamp(22px,3vw,40px)/1 var(--d);letter-spacing:-.02em}
.lp-root .mt{display:flex;gap:36px;width:max-content;will-change:transform}
.lp-root section{padding:120px 0}
.lp-root .sh{margin-bottom:12px;font:600 13px var(--mo);color:#a3a99c}
.lp-root h2{font-size:clamp(38px,6.4vw,92px);line-height:.95;letter-spacing:-.05em;font-weight:700}
.lp-root .fh{margin-bottom:56px}
.lp-root #lg{background:rgba(16,20,14,.6)}
.lp-root .row{position:relative;border-top:1px solid var(--l)}
.lp-root .row:last-child{border-bottom:1px solid var(--l)}
.lp-root .row::before{content:"";position:absolute;inset:0;background:var(--g);transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.lp-root .row:hover::before{transform:scaleY(1)}
.lp-root .row>button{position:relative;display:flex;align-items:center;gap:20px;width:100%;padding:26px 12px;background:none;border:0;color:var(--p);text-align:left;cursor:pointer;font-family:var(--d)}
.lp-root .no{font:500 13px var(--mo);color:#a3a99c}
.lp-root .row h3{font-size:clamp(22px,3.3vw,44px);line-height:1.05;letter-spacing:-.03em;font-weight:500;transition:color .2s}
.lp-root .ld{flex:1;min-width:20px;border-bottom:2px dotted #4a5544;transform:translateY(8px)}
.lp-root .tg{padding:3px 11px;border:1px solid #3a4336;border-radius:99px;font:500 11px var(--mo);color:#a3a99c;white-space:nowrap}
.lp-root .pl{font:400 30px/1 var(--mo);transition:transform .3s}
.lp-root .row.open .pl{transform:rotate(45deg)}
.lp-root .row.open h3{color:var(--g)}
.lp-root .dt{position:relative;display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1),visibility 0s .4s}
.lp-root .row.open .dt{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}
.lp-root .dt>div{overflow:hidden}
.lp-root .dt>div>div{max-width:680px;padding:0 12px 30px 62px}
.lp-root .dt p{color:#d6dbd0;font-size:18px}
.lp-root .ch{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lp-root .ch span{padding:3px 11px;border:1.5px solid currentColor;border-radius:99px;font:500 12px var(--mo)}
.lp-root .row:hover h3,.lp-root .row:hover .no,.lp-root .row:hover .tg,.lp-root .row:hover .dt p{color:var(--k)}
.lp-root .row:hover .tg{border-color:var(--k)}
.lp-root .lt{background:rgba(16,20,14,.55)}
.lp-root .sg{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.lp-root .s{padding-top:24px;border-top:2px dashed var(--p)}
.lp-root .s b{display:block;font:700 clamp(110px,14vw,200px)/.8 var(--d);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2px var(--g);margin-bottom:24px;will-change:transform}
.lp-root .s h3{font-size:30px;letter-spacing:-.03em;line-height:1.1;margin-bottom:8px}
.lp-root .s p{max-width:340px;color:#d6dbd0}
.lp-root .fin{padding:140px 0;background:var(--g);color:var(--k);text-align:center}
.lp-root .fin h2{max-width:1000px;margin:0 auto 52px}
.lp-root .fin p{margin-top:28px;font-size:18px}
.lp-root .fin p a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.lp-root footer{overflow:hidden;padding-top:56px;background:var(--k)}
.lp-root .fr{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;font:500 13px var(--mo);color:#a3a99c}
.lp-root .fr .logo{font-family:var(--d);color:var(--p)}
.lp-root .fr s{text-decoration:none;color:#ef4444}
.lp-root .sig{text-align:center;line-height:1.6}
.lp-root .cx{display:inline-block;opacity:0}
.lp-root .cx.on{opacity:1;animation:lpstrike .14s ease-out both}
@keyframes lpstrike{from{opacity:.4;transform:translateY(-.07em) scale(1.25)}to{opacity:1;transform:translateY(var(--jy,0)) scale(1)}}
.lp-root .tw{display:inline-block;white-space:nowrap}
.lp-root .cur{display:inline-block;width:0;position:relative}
.lp-root .cur::after{content:"";position:absolute;left:.04em;bottom:.04em;width:.4em;height:.8em;background:var(--g);animation:lpbl .9s steps(1) infinite}
.lp-root .fin .cur::after{background:var(--k)}
@keyframes lpbl{50%{opacity:0}}
.lp-root .sig b{display:block;font-weight:500;color:var(--p)}
.lp-root .dec,.lp-root .dec *{color:var(--g)!important}
.lp-root .fin .dec,.lp-root .fin .dec *{color:var(--k)!important}
.lp-root .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lp-root .wm{margin-top:40px;text-align:center;font:700 clamp(80px,19vw,300px)/.78 var(--d);letter-spacing:-.07em;color:transparent;-webkit-text-stroke:2px #353f31;white-space:nowrap;transform:translate3d(var(--x,0px),0,0)}
.lp-root.js .rv{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--dl,0ms),transform .9s cubic-bezier(.2,.8,.2,1) var(--dl,0ms)}
.lp-root.js .rv.in{opacity:1;transform:none}
@media(max-width:1000px){.lp-root .hg{grid-template-columns:1fr}.lp-root .rw{margin-top:24px}.lp-root .sg{grid-template-columns:1fr;gap:48px}.lp-root .s b{font-size:120px}}
@media(max-width:700px){.lp-root section{padding:72px 0}.lp-root .w{padding:0 16px}.lp-root .nl{display:none}.lp-root .nr{margin-left:auto}.lp-root .hero{padding-top:100px}.lp-root .ld,.lp-root .tg{display:none}.lp-root .row>button{gap:14px;padding:20px 8px}.lp-root .dt>div>div{padding-left:8px}.lp-root .fin{padding:88px 0}.lp-root .xl{padding:20px 32px}}
@media(max-width:420px){.lp-root .nr .gh{display:none}}
@media(prefers-reduced-motion:reduce){.lp-root *,.lp-root *::before,.lp-root *::after{animation:none!important;transition:none!important}.lp-root.js .rv{opacity:1;transform:none}.lp-root .wm{transform:none}}

/* ---- Lenis (aktif hanya saat class lenis ada di <html>) ---- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}

/* ---- Custom cursor (hanya desktop/pointer halus) ---- */
.lp-root.lp-has-cursor,.lp-root.lp-has-cursor *{cursor:none!important}
.lp-root .lp-cursor{--cc:var(--g);position:fixed;inset:0;z-index:70;pointer-events:none;transition:opacity .2s}
.lp-root .lp-cursor.out{opacity:0}
.lp-root .lp-cursor.on-light{--cc:var(--k)}
.lp-root .lp-cursor i{position:absolute;left:0;top:0;display:block;will-change:transform}
.lp-root .lp-cd::before{content:"";display:block;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--cc);transition:transform .2s,background .2s}
.lp-root .lp-cr::before{content:"";display:block;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1.5px solid var(--cc);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s}
.lp-root .lp-cursor.hot .lp-cd::before{transform:scale(0)}
.lp-root .lp-cursor.hot .lp-cr::before{transform:scale(1.7);background:color-mix(in srgb,var(--cc) 18%,transparent)}
.lp-root .lp-cursor.down .lp-cr::before{transform:scale(.7)}
.lp-root .lp-cursor.hot.down .lp-cr::before{transform:scale(1.4)}