/* Validation page content; all shared application-service chrome comes from process-design.css and site.css. */
.page-validation { --validation-width: min(72.92vw, 1400px); }
.validation-container { width: var(--validation-width); margin-inline: auto; }
.validation-content { padding: 76px 0 78px; }
.validation-eyebrow { margin: 0 0 10px; color: var(--green); text-align: center; font-size: 17px; font-weight: 500; }
.validation-content h2 { margin: 0; text-align: center; font-size: 30px; line-height: 1.4; }
.validation-summary { margin: 14px auto 58px; color: #333; text-align: center; font-size: 16px; line-height: 2.5; }

.certification-section { display: grid; grid-template-columns: 710px minmax(0, 1fr); gap: 68px; align-items: center; }
.certification-visual { width: 710px; height: 400px; margin: 0; overflow: hidden; background: #f5f5f5; }
.certification-visual img { width: 100%; height: 100%; object-fit: contain; }
.certification-copy h3, .verification-card h3 { margin: 0 0 22px; text-align: center; font-size: 26px; font-weight: 500; line-height: 1.2; }
.certification-copy p { margin: 0 0 8px; color: #333; font-size: 16px; line-height: 2.5; }

.verification-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 80px; }
.verification-card { min-height: 250px; padding: 40px 38px 32px; background: #fff; box-shadow: 0 0 25px rgba(55, 96, 54, .2); }
.verification-card p { margin: 0; color: #333; font-size: 16px; line-height: 1.9; }

.validation-promises { margin-top: 72px; }
.validation-promises > h3 { margin: 0 0 36px; text-align: center; font-size: 22px; font-weight: 700; }
.promise-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.promise-grid article { display: grid; place-items: center; min-height: 122px; padding: 22px 30px; border: 1px solid var(--green); background: #fff; text-align: center; }
.promise-grid p { margin: 0; color: #333; font-size: 16px; line-height: 1.8; }

@media (max-width: 1500px) {
  .page-validation { --validation-width: min(88vw, 1200px); }
  .certification-section { grid-template-columns: minmax(460px, 1fr) minmax(0, 1fr); gap: 42px; }
  .certification-visual { width: 100%; height: auto; aspect-ratio: 710 / 400; }
  .certification-copy p { font-size: 14px; line-height: 2.15; }
}

@media (max-width: 1000px) {
  .certification-section { grid-template-columns: 1fr; }
  .certification-visual { width: min(100%, 710px); margin-inline: auto; }
  .certification-copy { max-width: 760px; margin-inline: auto; }
  .verification-card { padding-inline: 28px; }
  .promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .page-validation { --validation-width: calc(100vw - 36px); }
  .validation-content { padding: 58px 0 66px; }
  .validation-content h2 { font-size: 25px; }
  .validation-summary { margin-bottom: 42px; font-size: 14px; line-height: 2; }
  .certification-section { gap: 32px; }
  .certification-copy h3, .verification-card h3 { font-size: 21px; }
  .certification-copy p { font-size: 14px; line-height: 2; }
  .verification-grid { grid-template-columns: 1fr; margin-top: 50px; }
  .verification-card { min-height: 0; padding: 30px 22px; }
  .verification-card p { font-size: 14px; line-height: 2; }
  .validation-promises { margin-top: 52px; }
  .promise-grid { grid-template-columns: 1fr; gap: 14px; }
  .promise-grid article { min-height: 100px; }
  .promise-grid p { font-size: 14px; }
}
