/* base.css — reset, latar, fokus, utilitas kecil. Owner class: skip-link, num, sr-only, no-scroll, ic */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:var(--fs-md);line-height:1.5;color:var(--ink);background:var(--page-bg);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}
/* latar tetap tanpa background-attachment:fixed (iOS mengabaikannya) */
body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--app-bg);pointer-events:none}
[hidden]{display:none!important}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.015em;line-height:1.25}
:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
.skip-link{position:fixed;left:12px;top:-64px;z-index:100;background:var(--toast-bg);color:var(--on-brand);padding:10px 14px;border-radius:var(--r-sm);font-weight:700;transition:top var(--dur-fast) var(--ease-out)}
.skip-link:focus,.skip-link:focus-visible{top:12px;outline:2px solid var(--brand-2);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.no-scroll{overflow:hidden}
svg.ic{display:inline-block;vertical-align:middle;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
::selection{background:color-mix(in srgb,var(--brand-2) 22%,transparent)}
