.proof-section .proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}
.proof-section .proof-grid > article {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  min-width: 0;
  min-height: 0;
  padding: 20px;
  border-radius: 8px;
}
.proof-section .sample-label {
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 0;
  background: none;
  color: #526170;
  font-size: 12px;
}
.proof-section .home-certificate-slides { width: 100%; }
.proof-section .sample-certificate-preview { display: block; width: 100%; margin: 0; }
.proof-section .sample-certificate-preview[hidden] { display: none; }
.proof-section .sample-certificate-preview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1500 / 1061;
  object-fit: contain;
}
.home-page .proof-section .sample-certificate-note {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.5;
}
.proof-section .sample-score-head { margin: 12px 0 28px; }
.proof-section .sample-score-head strong { font-size: 44px; }
.proof-section .sample-score-bars { gap: 20px; }
.proof-section .sample-score-report > p { margin: 24px 0 0; }
.proof-section h3 { margin: 0 0 16px; font-size: 20px; line-height: 1.35; }
.proof-section .sample-feedback > div + div { border-top: 1px solid #e3e8ed; margin-top: 12px; padding-top: 12px; }
.proof-section .sample-feedback h4 { margin: 0 0 4px; font-size: 14px; color: #175c8c; }
.proof-section .sample-feedback p { margin: 0; }
.proof-section .proof-action { margin-top: 20px; text-align: center; }
.proof-section > .mobile-carousel-controls { display: none; }
@media (max-width: 700px) {
  .proof-section .proof-grid[data-carousel-track] {
    display: flex;
    position: relative;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0;
  }
  .proof-section .proof-grid > article[data-carousel-item] { flex: 0 0 100%; padding: 18px; scroll-snap-align: start; }
  .proof-section > .mobile-carousel-controls { display: flex; justify-content: center; margin-top: 12px; }
  .proof-section > .mobile-carousel-controls > button,
  .proof-section > .mobile-carousel-controls > output { display: none; }
  .proof-section .mobile-carousel-dots { display: flex; gap: 4px; }
  .proof-section .mobile-carousel-dots button { width: 28px; height: 28px; padding: 0; border: 0; background: transparent; border-radius: 0; }
  .proof-section .mobile-carousel-dots button::after { content: ''; display: block; width: 7px; height: 7px; margin: auto; border-radius: 50%; background: #c4cdd6; }
  .proof-section .mobile-carousel-dots button.is-active::after { background: #0b60a5; }
}
