.brand-logo-img{width:40px;height:40px;object-fit:contain;border-radius:10px}.download-band{background:#f3f7ff}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.download-grid.compact .download-card{min-height:260px}.download-card{background:#fff;border:1px solid #e2e8f2;border-radius:24px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 16px 45px #173b7a0c}.download-card h2,.download-card h3{margin:12px 0 8px;line-height:1.15}.download-card p{color:#68758d;flex:1}.download-card .btn{margin-top:22px}.download-platform{font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#2b60c1;background:#eef4ff;padding:6px 10px;border-radius:99px}.version{font-size:12px;color:#68758d}.download-card details{width:100%;margin-top:18px;border-top:1px solid #e7ebf2;padding-top:14px}.download-card summary{cursor:pointer;font-weight:700}.empty-state{grid-column:1/-1;padding:50px;border:1px dashed #ccd6e6;border-radius:24px;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{margin:0;background:#fff;border:1px solid #e5eaf2;border-radius:22px;overflow:hidden}.gallery-card img,.gallery-placeholder{width:100%;height:260px;object-fit:cover;display:block}.gallery-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#dce9ff,#f4d9a8);font-weight:900;color:#173b7a66}.gallery-card figcaption{display:flex;flex-direction:column;padding:20px}.gallery-card figcaption span{font-size:12px;color:#77849a;margin-top:4px}.gallery-card figcaption p{color:#68758d;margin-bottom:0}.post-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:42px 0}.post-gallery figure{margin:0}.post-gallery img{display:block;width:100%;border-radius:18px;max-height:440px;object-fit:cover}.post-gallery figcaption{font-size:13px;color:#77849a;margin-top:8px}.attachments{margin-top:45px;padding:24px;border-radius:18px;background:#f4f7fc}.download-link{display:block;margin-top:10px;padding:12px 14px;background:#fff;border:1px solid #e3e9f2;border-radius:12px;color:#1d4b9b;font-weight:750}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.cta-secondary{background:#ffffff14;border:1px solid #ffffff40;box-shadow:none}
.post-body{overflow-wrap:anywhere}.post-body img{max-width:100%;height:auto}.post-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.post-body th,.post-body td{border:1px solid #d9e0ea;padding:10px 12px;text-align:left;vertical-align:top}.post-body th{background:#f4f7fc}.post-body blockquote{margin:1.5rem 0;padding:12px 18px;border-left:4px solid #2b60c1;background:#f5f8fd}.post-body pre{overflow-x:auto;padding:16px;border-radius:12px;background:#101827;color:#f5f7fb}.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.post-body mjx-container[display="true"]{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}
.success-story{scroll-margin-top:100px}.success-achievement{display:block;margin-top:4px}.success-quote{font-size:14px;color:#68758d;line-height:1.65;margin:14px 0 8px}.testimonial-link{display:inline-flex;margin-top:2px;color:#1d4b9b;font-size:13px;font-weight:800}.testimonial-link:hover{color:#2f62c8}.testimonial-toggle{margin-top:18px;padding-top:16px;border-top:1px solid #e7ebf2}.testimonial-toggle summary{display:block;cursor:pointer;list-style:none}.testimonial-toggle summary::-webkit-details-marker{display:none}.testimonial-preview,.testimonial-full{display:block;margin:0;color:#58677f;font-size:14px;line-height:1.75;font-style:italic}.testimonial-action{display:inline-flex;margin-top:10px;color:#1d4b9b;font-size:13px;font-weight:800;font-style:normal}.read-less-label{display:none}.testimonial-toggle[open] .testimonial-preview{display:none}.testimonial-toggle[open] .read-more-label{display:none}.testimonial-toggle[open] .read-less-label{display:inline}.testimonial-toggle[open] .testimonial-full{animation:testimonialOpen .18s ease-out}.testimonial-full{margin:12px 0 0;padding:14px 16px;border-left:3px solid #3168cd;background:#f6f9ff;border-radius:0 12px 12px 0}.testimonial-short{margin-top:18px}.success-story:target{border-color:#9bbaf2;box-shadow:0 0 0 4px #edf4ff,0 18px 45px #173b7a12}@keyframes testimonialOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:900px){.download-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.download-grid,.gallery-grid,.post-gallery{grid-template-columns:1fr}.gallery-card img,.gallery-placeholder{height:230px}.post-body table{display:block;overflow-x:auto;white-space:nowrap}.testimonial-preview,.testimonial-full{font-size:14px}}

/* Sampul, avatar, dan gambar artikel kini <img> di dalam bingkainya, bukan
   background-image. Perbedaannya bukan selera: background-image tidak bisa ditunda
   pemuatannya sampai terlihat, tidak bisa dipilihkan ukuran oleh peramban, dan baru
   ditemukan setelah CSS selesai diunduh dan dihitung. Bingkainya tetap div yang sama
   supaya tinggi, sudut, dan placeholder-nya tidak berubah sedikit pun. */
.cover,.card-cover,.article-image,.avatar{position:relative;overflow:hidden}
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.avatar .cover-img{border-radius:inherit}
