:root{--bg:#0e0f11;--bg2:#14161a;--gold:#d8b98a;--gold2:#ecd29b;--cream:#efe8da;--disp:"Bodoni Moda",Georgia,serif;--sans:"Manrope",system-ui,sans-serif}
body{background:var(--bg);color:var(--cream);font-family:var(--sans);font-weight:300}
.jnav{--n-fg:#efe8da;--n-bg:rgba(12,13,14,.84);--n-sheet:#0e0f11;--n-accent:#d8b98a;--n-font:var(--sans);--n-display:var(--disp)}
.jnav__links a{font-weight:500;font-size:12.5px}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
.h2{font-family:var(--disp);font-weight:400;font-size:clamp(34px,4.4vw,66px);line-height:1.05;letter-spacing:-.015em;color:var(--cream);margin-top:14px}
.h2 em{font-style:italic;color:var(--gold2)}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 30px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:700;border:1px solid var(--gold);transition:background-position .6s,background-color .4s,color .4s}
.btn--fill{background:linear-gradient(110deg,#c9a46a 0%,#ecd29b 50%,#c9a46a 100%) 0 0/220% 100%;color:#15110b;border-color:transparent}
.btn--fill:hover{background-position:100% 0}
.btn--line{color:var(--gold2)}
.btn--line:hover{background:rgba(216,185,138,.14)}
.btn--lg{padding:22px 38px;font-size:13px}

/* ---------- 1. beranda ---------- */
.hero{display:flex;align-items:center;overflow:hidden;background:var(--bg);padding:86px clamp(24px,6vw,110px) 64px}
.hero__tex{position:absolute;inset:-3%;background:url("../media/tex/graphite.jpg") center/cover;opacity:.9}
.hero__light{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle 480px at var(--lx,68%) var(--ly,40%),rgba(240,214,160,.26),rgba(240,214,160,.09) 46%,transparent 72%)}
.hero__txt{position:relative;z-index:3;max-width:min(760px,64vw)}
.hero__h{font-family:var(--disp);font-weight:400;font-size:clamp(44px,min(7vw,12.5svh),120px);line-height:.98;letter-spacing:-.022em;margin:20px 0 clamp(18px,3svh,28px)}
.ln{display:block;overflow:hidden;padding:.02em 0 .12em}
.ln>span{display:block;transform:translateY(112%);background:linear-gradient(100deg,#e6dcc9 34%,#fffaf0 50%,#e6dcc9 66%) 0 0/260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:lnIn 1.4s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.2s + .45s) forwards,shine 9s ease-in-out 3s infinite}
.ln:nth-child(3)>span{background-image:linear-gradient(100deg,#c49d62 34%,#fff0c4 50%,#c49d62 66%)}
.ln em{font-style:italic}
@keyframes lnIn{to{transform:none}}
@keyframes shine{0%,55%{background-position:100% 0}100%{background-position:0 0}}
.hero__p{max-width:480px;font-size:clamp(15px,1.25vw,18px);line-height:1.75;color:rgba(239,232,218,.82);margin-bottom:clamp(24px,4svh,38px)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__media{position:absolute;top:0;right:0;bottom:0;width:62%;overflow:hidden;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.4) 14%,#000 40%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.4) 14%,#000 40%)}
.hero__media[data-r]{transform:scale(1.035);transition:opacity 1.8s ease .3s,transform 2.8s cubic-bezier(.2,.8,.2,1) .3s}
.hero__media.in{transform:none}
.hero__media video{width:100%;height:100%;object-fit:cover;object-position:50% 42%;background:#17181b}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,.6),rgba(14,15,17,0) 18%),linear-gradient(0deg,rgba(14,15,17,.5),rgba(14,15,17,0) 20%)}

/* ---------- 2. koleksi ---------- */
.kol{display:flex;flex-direction:column;background:var(--bg);padding:clamp(86px,11svh,112px) 0 clamp(40px,6svh,64px)}
.kol__top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;padding:0 clamp(20px,4vw,64px);margin-bottom:clamp(24px,4svh,40px)}
.tabs{display:flex;flex-wrap:wrap;gap:6px clamp(14px,2.2vw,34px)}
.tab{position:relative;padding:12px 2px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,232,218,.58);font-weight:600;transition:color .3s}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.tab:hover{color:var(--gold2)}
.tab[aria-selected="true"]{color:var(--gold2)}
.tab[aria-selected="true"]::after,.tab:hover::after{transform:scaleX(1)}
.kol__panels{flex:1}
.jr{--h:clamp(190px,25vw,340px);display:flex;flex-wrap:wrap;gap:3px}
.jr[hidden]{display:none}
.jr li{flex:calc(var(--ar)*100) 1 calc(var(--ar)*var(--h));min-width:0;display:flex;flex-direction:column;background:#121316}
.jr::after{content:"";flex:10000 1 0}
.fig{display:block;width:100%;aspect-ratio:var(--ar);background:#1a1c20;overflow:hidden;cursor:zoom-in}
.fig img{width:100%;height:100%;object-fit:cover}
.cap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 12px;min-height:48px}
.cap__n{font-size:13px;line-height:1.3;color:var(--cream)}
.vtag{font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(216,185,138,.55);padding:2px 6px;margin-right:8px;white-space:nowrap}
.ask{display:inline-flex;align-items:center;gap:7px;color:var(--gold2);font-size:11px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;font-weight:700;white-space:nowrap}
.ask svg{width:15px;height:15px;flex:none}
.ask span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .45s cubic-bezier(.2,.8,.2,1)}
.ask:hover span,.ask:focus-visible span{background-size:100% 1px}
.jr.swap li{animation:tileIn .85s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.06s) both}
@keyframes tileIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ---------- 3. batu ---------- */
.batu{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;background:#071a14}
.batu__tex{position:absolute;inset:-4%;background:url("../media/tex/emerald.jpg") center/cover}
.batu__in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,6vw,100px);align-items:center;width:min(1400px,100%);padding:clamp(86px,12svh,120px) clamp(20px,5vw,90px)}
.batu__p{font-size:clamp(15px,1.2vw,17px);line-height:1.75;color:rgba(239,232,218,.84);max-width:520px;margin-top:18px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.chips li{border:1px solid rgba(216,185,138,.55);color:var(--gold2);padding:9px 16px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.batu__r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2.2vw,32px);align-items:start}
.clip{margin:0}
.clip--b{margin-top:clamp(28px,9svh,100px)}
.clip__v{aspect-ratio:3/4;background:#0a1f18;border:1px solid rgba(216,185,138,.5);padding:8px;clip-path:inset(0 0 100% 0);transition:clip-path 1.6s cubic-bezier(.7,0,.2,1) var(--d,0s)}
.clip.in .clip__v{clip-path:inset(0)}
.clip__v video{width:100%;height:100%;object-fit:cover;background:#0a1f18}
.clip figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:14px 2px 0}
.clip figcaption>span{font-family:var(--disp);font-style:italic;font-size:clamp(17px,1.5vw,21px)}

/* ---------- 4. proses ---------- */
.proses{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;background:#0b0d0e}
.proses__tex{position:absolute;inset:-3%;background:url("../media/tex/beams.jpg") center/cover}
.proses__tex::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,10,.86),rgba(8,10,10,.55) 55%,rgba(8,10,10,.82))}
.proses__in{position:relative;z-index:2;width:min(1360px,100%);padding:clamp(86px,12svh,120px) clamp(20px,5vw,90px)}
.proses__top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(36px,7svh,72px)}
.proof{margin:0;width:min(330px,32vw);flex:none}
.proof button{display:block;width:100%;padding:6px;border:1px solid rgba(216,185,138,.5);background:rgba(0,0,0,.35);cursor:zoom-in}
.proof img{width:100%;height:auto}
.proof figcaption{margin-top:10px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding-top:38px}
.flow::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--gold),rgba(216,185,138,.18));transform:scaleX(0);transform-origin:left;transition:transform 2s cubic-bezier(.2,.8,.2,1)}
.flow.in::before{transform:scaleX(1)}
.flow li{position:relative}
.flow li::before{content:"";position:absolute;top:-42px;left:0;width:9px;height:9px;background:var(--gold2);transform:rotate(45deg) scale(0);transition:transform .7s cubic-bezier(.2,.8,.2,1) calc(var(--d,0s) + .3s)}
.flow li.in::before{transform:rotate(45deg) scale(1)}
.flow__n{display:block;font-family:var(--disp);font-size:clamp(56px,6.4vw,100px);line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);margin-bottom:14px;transition:color 1.4s ease calc(var(--d,0s) + .5s)}
.flow li.in .flow__n{color:rgba(236,210,155,.9);-webkit-text-stroke-color:transparent}
.flow h3{font-family:var(--disp);font-weight:400;font-size:clamp(22px,2vw,28px);margin-bottom:10px;color:var(--cream)}
.flow p{font-size:15.5px;line-height:1.75;color:rgba(239,232,218,.8);max-width:380px}

/* ---------- 5. tanya jawab ---------- */
.faq{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;background:#0e0f11}
.faq__tex{position:absolute;inset:-4%;background:url("../media/tex/graphite.jpg") center/cover;opacity:.75}
.faq__in{position:relative;z-index:2;width:min(1280px,100%);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,7vw,120px);align-items:center;padding:clamp(86px,12svh,120px) clamp(20px,5vw,90px)}
.faq__p{margin-top:20px;font-size:16px;line-height:1.7;color:rgba(239,232,218,.78);max-width:380px}
.acc details{border-top:1px solid rgba(216,185,138,.3)}
.acc details:last-child{border-bottom:1px solid rgba(216,185,138,.3)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--disp);font-size:clamp(18px,1.7vw,24px);color:var(--cream);transition:color .3s}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--gold2)}
.acc summary i{position:relative;flex:none;width:16px;height:16px}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:0;top:7.5px;width:16px;height:1px;background:var(--gold);transition:transform .45s}
.acc summary i::after{transform:rotate(90deg)}
.acc details[open] summary i::after{transform:rotate(0)}
.acc details[open]>div{animation:accIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes accIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.acc details p{padding:0 0 26px;max-width:580px;font-size:15.5px;line-height:1.75;color:rgba(239,232,218,.8)}

/* ---------- 6. kontak ---------- */
.kontak{display:flex;flex-direction:column;overflow:hidden;background:#07160f}
.kontak__tex{position:absolute;inset:0;background:url("../media/tex/emerald.jpg") center/cover;opacity:.6}
.kontak__tex::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,10,.8),transparent 70%)}
.kontak__in{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,6vw,100px);align-items:center;padding:clamp(90px,13svh,130px) clamp(20px,6vw,110px) 20px}
.h2--xl{font-size:clamp(44px,7.2vw,118px);line-height:.98;margin:18px 0 clamp(26px,5svh,44px)}
.kontak__r li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:18px 0;border-top:1px solid rgba(216,185,138,.32)}
.kontak__r li:last-child{border-bottom:1px solid rgba(216,185,138,.32)}
.kontak__r b{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;padding-top:3px}
.kontak__r span,.kontak__r a{font-size:16px;line-height:1.55;color:var(--cream)}
.kontak__r a{text-underline-offset:5px}
.kontak__foot{position:relative;z-index:2;text-align:center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;padding:22px 20px 26px;opacity:.6}

/* ---------- layar lebih kecil ---------- */
@media (max-width:900px){
  .hero{flex-direction:column;justify-content:flex-end;padding:100px 22px 84px}
  .hero__media{width:100%;-webkit-mask-image:none;mask-image:none}
  .hero__media video{object-position:50% 38%}
  .hero__veil{background:linear-gradient(0deg,#0e0f11 0,rgba(14,15,17,.94) 32%,rgba(14,15,17,.55) 52%,rgba(14,15,17,0) 78%),linear-gradient(180deg,rgba(14,15,17,.6),rgba(14,15,17,0) 16%)}
  .hero__light{background:radial-gradient(circle 320px at var(--lx,68%) var(--ly,40%),rgba(240,214,160,.26),rgba(240,214,160,.09) 46%,transparent 72%)}
  .hero__txt{padding-top:0;max-width:none}
  .hero__h{font-size:clamp(42px,12.4vw,70px)}
  .kol__top{flex-direction:column;align-items:flex-start}
  .jr{--h:clamp(170px,48vw,240px)}
  .cap{flex-direction:column;align-items:flex-start;gap:6px;padding:9px 10px 12px}
  .batu__in,.faq__in,.kontak__in{grid-template-columns:minmax(0,1fr)}
  .batu__r{margin-top:6px}
  .proses__top{flex-direction:column;align-items:flex-start;gap:28px}
  .proof{width:min(300px,76%)}
  .flow{grid-template-columns:1fr;gap:34px;padding-top:0;padding-left:30px}
  .flow::before{top:0;bottom:0;left:0;right:auto;width:1px;height:auto;background:linear-gradient(var(--gold),rgba(216,185,138,.18));transform:scaleY(0);transform-origin:top}
  .flow.in::before{transform:scaleY(1)}
  .flow li::before{top:8px;left:-34px}
  .kontak__r li{grid-template-columns:1fr;gap:4px}
  .kontak__foot{padding-bottom:100px;line-height:1.8}
}
