/* base: gaya aktif sesuai tanggung jawab modul. */
:root { color-scheme: light;
  --paper: #fbf6ed;
  --ink: #211c1a;
  --muted: #70655d;
  --gold: #f6c43a;
  --purple: #524695;
  --lavender: #e9e3f2;
  --line: #dcd5ca;
  --header: 64px;
  --page-width: 1280px; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 24px); text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
body, main, section, article, div { min-width: 0; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
button, input { border-radius: 0; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
a, button, input, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--purple); outline-offset: 5px; }
::selection { background: var(--gold); color: var(--ink); }
[hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.wrap { width: min(var(--page-width), calc(100% - 112px)); margin-inline: auto; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

@media (max-width: 1100px) {
.wrap { width: calc(100% - 64px); }
}
@media (max-width: 760px) {
:root { --header: 60px; }
.wrap { width: calc(100% - 40px); }
html { scroll-padding-top: calc(var(--header) + env(safe-area-inset-top, 0px) + 18px); }
}
@media (max-width: 359px) {
.wrap { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
.wrap { width: 100%; }
}

a { color: inherit; text-decoration: none; }
