/* Screen-reader-only utility — konten terbaca screen reader, tak terlihat visual. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* =========================================================
   REVEAL ANIMATIONS (intersection observer)
   ========================================================= */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   BREADCRUMB (dipakai halaman proyek)
   ========================================================= */
.breadcrumb { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--ink-mid); padding: 100px var(--pad-x) 0; max-width: var(--maxw); margin: 0 auto; }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.breadcrumb a { color: var(--ink-mid); border-bottom: 1px solid transparent; }
.breadcrumb a:hover { color: var(--accent); border-bottom-color: currentColor; }
.breadcrumb li::after { content: "/"; margin-left: 8px; color: var(--ink-light); }
.breadcrumb li:last-child::after { content: ""; }
.breadcrumb li[aria-current="page"] { color: var(--ink); }

/* =========================================================
   PLACEHOLDER MARKERS — konten/aset yang masih dibutuhkan owner.
   Sengaja mencolok agar tidak terlewat sebelum go-live.
   ========================================================= */
.ph { display: flex; align-items: center; justify-content: center; text-align: center;
      border: 2px dashed var(--accent); border-radius: var(--radius-md);
      color: var(--accent-deep); background: #ff5a1f0d; font-family: var(--f-mono);
      font-size: 12px; letter-spacing: 0.05em; padding: 20px; min-height: 88px; }
.ph--cover { min-height: 280px; }
.ph--gallery { min-height: 160px; }
.marker { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
          color: var(--accent-deep); text-transform: uppercase; }
