/* ── peralatan ────────────────────────────────────────────── */
/* Chip filter, bukan tab: keadaan awal "Semua" menampilkan kedelapan unit,
   sehingga tidak ada perangkat yang tersembunyi di balik satu klik. */
.eqf{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(16px,1.8vw,22px); }
.eqf button{
  background:transparent; border:1px solid var(--line); cursor:pointer;
  font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--dim); padding:9px 14px; transition:background .15s,color .15s,border-color .15s;
}
.eqf button:hover{ color:var(--txt); background:var(--surface-2); border-color:var(--line-2); }
.eqf button[aria-pressed="true"]{ background:var(--orange); border-color:var(--orange); color:var(--ink); font-weight:700; }

/* Kartu berdiri sendiri, tidak menyatu lewat gap 1px seperti grid lain di
   halaman ini: jumlah kartu berubah saat disaring, jadi baris terakhir yang
   tidak penuh tidak boleh meninggalkan sel kosong berwarna garis. */
/* Tinggi kartu seragam: grid-auto-rows 1fr menyamakan seluruh baris, bukan
   hanya kartu dalam satu baris, sehingga garis atas blok spesifikasi berdiri
   pada ketinggian yang sama di kedelapan kartu — panjang paragraf boleh
   berbeda tanpa membuat tepi bawah bergerigi. Di satu kolom aturan ini
   dilepas: tidak ada tetangga untuk disejajarkan, dan menyamakan tinggi
   hanya menyisakan rongga kosong di kartu yang teksnya pendek. */
.eq{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,18px); grid-auto-rows:1fr; }
@media (max-width:1000px){ .eq{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .eq{ grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; } }
.eq-card{
  background:var(--surface); border:1px solid var(--line);
  padding:clamp(16px,1.8vw,22px); display:flex; flex-direction:column; gap:11px;
}
.eq-card[hidden]{ display:none!important; }
.eq-art{ margin:0 0 3px; background:var(--plate); border:1px solid var(--line); position:relative; }
.eq-art img{ width:100%; height:auto; display:block; }
.eq-art figcaption{
  position:absolute; left:10px; bottom:8px;
  font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--dim);
}
.eq-card .fn{ font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--orange-br); }
.eq-card h3{ font-size:18px; font-variation-settings:"wdth" 106,"wght" 700; }
.eq-card p{ font-size:13.5px; color:var(--txt-2); line-height:1.6; }
/* Kontrak tetap: setiap kartu punya dua baris ini, dengan label yang sama. */
.eq-card dl{ margin:auto 0 0; display:grid; grid-template-columns:auto minmax(0,1fr); gap:7px 14px; font-size:13px; padding-top:13px; border-top:1px solid var(--line); }
.eq-card dt{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); padding-top:2px; }
.eq-card dd{ margin:0; color:var(--txt); line-height:1.5; }
.eq-count{ margin-top:14px; font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); }
