.certificate-gallery { margin-bottom: 50px; }
/* Shared footer logos stay visible while visitors scroll. */
.certificate-dock { position: fixed; bottom: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); left: 16px; z-index: 999; display: flex; align-items: center; gap: 10px; padding: 8px 12px; max-width: calc(100% - 32px); border: 1px solid #dce4d5; border-radius: 12px; background: #fff; box-shadow: 0 4px 20px rgba(32, 54, 24, .16); opacity: .65; transition: opacity .2s ease; }
.certificate-dock:hover, .certificate-dock:focus-within { opacity: 1; }
.certificate-badge { display: block; flex: 0 0 auto; border-radius: 6px; }
.certificate-logo { display: block; width: 76px; height: 68px; object-fit: contain; }
.certificate-badge:focus-visible { outline: 2px solid #365b26; outline-offset: 2px; }
#ftr-btm { padding-bottom: 110px; padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
.scroll-to-top { bottom: 115px; }
@media (max-width: 600px) {
    .certificate-dock { left: 10px; gap: 6px; padding: 6px 8px; max-width: calc(100% - 20px); bottom: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
    .certificate-logo { width: 58px; height: 54px; }
}
@media (prefers-reduced-motion: reduce) { .certificate-dock { transition: none; } }
.certificate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 25px; }
.certificate-card { display: flex; flex-direction: column; border: 1px solid #e2e7df; border-radius: 6px; overflow: hidden; background: #fff; }
.certificate-preview { display: block; padding: 18px; background: #f5f7f2; border-bottom: 1px solid #e2e7df; }
.certificate-preview img { display: block; width: 100%; height: 300px; object-fit: contain; }
.certificate-details { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.certificate-details h3 { font-size: 21px; line-height: 1.4; margin: 0 0 10px; }
.certificate-details p { margin-bottom: 20px; }
.certificate-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: auto; }
.certificate-actions > a:last-child { color: #365b26; text-decoration: underline; }
.certificate-card a:focus-visible { outline: 3px solid #365b26; outline-offset: -3px; }
@media (max-width: 600px) {
    .certificate-grid { grid-template-columns: 1fr; }
    .certificate-preview img { height: 280px; }
}
