/* KIT bersama 12 web portofolio LimStudio — dasar kecil yang sama untuk semua situs.
   Sumber asli di portofolio-12/_kit/ (disalin ke <situs>/aset/kit/ oleh siapkan_kit.py). Gaya situs ada di aset/gaya.css. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; overflow-x: clip; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, video, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
button { font: inherit; color: inherit; }
a { color: inherit; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

/* lompat ke isi (untuk keyboard) */
.lewati { position: absolute; left: 1rem; top: -4rem; z-index: 1000; padding: .7rem 1rem; background: #000; color: #fff; text-decoration: none; border-radius: .5rem; }
.lewati:focus { top: 1rem; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* muncul saat masuk layar: situs boleh menimpa gaya awalnya lewat --muncul-y */
[data-muncul] { opacity: 0; transform: translate3d(0, var(--muncul-y, 28px), 0); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); transition-delay: var(--tunda, 0s); }
[data-muncul].masuk { opacity: 1; transform: none; }
html.tenang [data-muncul] { opacity: 1; transform: none; transition: none; }

/* tombol bahasa: [data-bahasa-ke] diberi .aktif + aria-pressed oleh kit.js */
.bahasa-pilih { display: inline-flex; gap: .15rem; }
.bahasa-pilih button { background: none; border: 0; padding: .35rem .45rem; cursor: pointer; opacity: .55; letter-spacing: .06em; font-size: .78rem; font-weight: 600; }
.bahasa-pilih button.aktif { opacity: 1; text-decoration: underline; text-underline-offset: .3em; }

/* kartu "Konsep oleh LimStudio" */
[data-konsep-kartu][hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
