/* The recognition shares one visual language on screen and on paper. */
.certificate-wrapper { gap: 24px; max-width: 920px; margin-inline: auto; }
.certificate-personalize { width: 100%; max-width: 920px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 20px; }
.certificate-personalize label { display: block; font-size: .9rem; font-weight: 600; color: #252521; }
.certificate-personalize p { font-size: .78rem; color: #68675e; margin: 5px 0 0; }
.certificate-personalize #student-name-input { width: 100%; max-width: none; border: 1px solid #bdb9ae; border-radius: 2px; padding: 14px 16px; background: #fffefb; color: #252521; font: 400 1rem 'Segoe UI', Arial, sans-serif; text-align: left; }
.certificate-personalize #student-name-input:focus { border-color: #ba2925; outline: 2px solid #ba2925; outline-offset: 3px; box-shadow: none; }
.certificate-card { --cert-display: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Georgia, serif; font-family: 'Segoe UI', Arial, sans-serif; max-width: 920px; padding: 42px 54px 28px; border: 1px solid #d9d5cb; border-top: 3px solid #ba2925; border-radius: 0; outline: none; background: #fffefb; color: #252521; text-align: center; box-shadow: 0 12px 35px #25252108; }
.cert-brand-row { display: flex; align-items: center; justify-content: center; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid #dedbd2; }
.certificate-card .cert-crest { flex: 0 0 auto; width: 54px; height: 54px; margin: 0; }
.certificate-card .cert-inst-title { margin: 0; color: #252521; font: 600 1.3rem/1.2 var(--cert-display); text-transform: none; letter-spacing: -.025em; }
.cert-inst-title span { display: block; margin-top: 5px; color: #68675e; font: 400 .72rem/1.4 'Segoe UI', Arial, sans-serif; letter-spacing: .02em; }
.certificate-card .cert-sub-title { max-width: 52ch; margin: 7px 0 0; color: #68675e; font: 400 .67rem/1.5 'Segoe UI', Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.cert-heading-group { margin: 32px 0 26px; }
.cert-eyebrow { color: #68675e; font-size: .61rem; text-transform: uppercase; letter-spacing: .15em; margin: 0 0 12px; }
.cert-heading { color: #252521; font: 400 3.3rem/1.1 var(--cert-display); letter-spacing: -.045em; margin: 0 0 8px; }
.certificate-card .cert-honor-title { color: #ba2925; font: italic 400 1.4rem/1.35 var(--cert-display); letter-spacing: 0; text-transform: none; margin: 0; }
.certificate-card .cert-conferral { color: #68675e; font-size: .8rem; font-style: normal; margin: 0 0 10px; }
.certificate-card .cert-student-input-wrap { display: block; width: 100%; max-width: none; margin: 0 auto 24px; }
.certificate-card .diploma-student-name { color: #252521; font: 400 2.25rem/1.2 var(--cert-display); letter-spacing: -.03em; text-align: center; text-wrap: balance; border: 0; padding: 0; margin: 0 auto; max-width: 100%; overflow-wrap: anywhere; }
.certificate-card .cert-reason { max-width: 76ch; color: #53544c; font-size: .8rem; line-height: 1.75; margin: 0 auto; text-wrap: pretty; }
.certificate-card .cert-reason strong { color: #252521; font-weight: 600; }
.certificate-card .cert-signatures-row { display: grid; grid-template-columns: 1fr 1fr; margin-top: 32px; padding: 0; border: 0; gap: 38px; align-items: start; }
.certificate-card .cert-sig-block { width: auto; align-items: center; text-align: center; }
.certificate-card .cert-sig-line { width: 100%; height: 1px; background: #aaa69b; margin-bottom: 10px; }
.certificate-card .cert-sig-name { font-size: .76rem; font-weight: 600; color: #252521; }
.certificate-card .cert-sig-role { margin-top: 3px; font-size: .65rem; line-height: 1.5; color: #68675e; }
.certificate-card .cert-meta-row { justify-content: space-between; align-items: baseline; gap: 8px 20px; margin: 26px 0 0; padding-top: 16px; border-top: 1px solid #dedbd2; }
.certificate-card .cert-score-badge { padding: 0; border: 0; border-radius: 0; color: #53544c; background: transparent; font-size: .65rem; font-weight: 400; }
.certificate-card .cert-date { font-size: .65rem; font-weight: 400; font-style: normal; color: #68675e; }
.cert-actions { margin-top: 0; }
@media screen and (max-width: 700px) {
  .certificate-personalize { grid-template-columns: 1fr; gap: 12px; }
  .certificate-card { padding: 25px 22px 20px; }
  .cert-brand-row { gap: 12px; padding-bottom: 20px; }
  .certificate-card .cert-crest { width: 42px; height: 42px; }
  .certificate-card .cert-inst-title { font-size: 1.12rem; }
  .cert-heading { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  .cert-heading-group { margin: 26px 0; }
  .certificate-card .cert-honor-title { font-size: 1.18rem; }
  .certificate-card .diploma-student-name { font-size: 1.8rem; }
  .certificate-card .cert-signatures-row { grid-template-columns: 1fr; gap: 24px; }
  .cert-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .cert-actions .nav-btn span { display: inline; }
  .cert-actions button { justify-content: center; }
}
@media print {
  @page { size: letter portrait; margin: 15mm; }
  .certificate-personalize, .certificate-page > .page-header, .booklet-page:not(#page-28) { display: none !important; }
  #booklet-deck { border: 0 !important; overflow: visible !important; min-height: 0 !important; height: auto !important; }
  .booklet-deck::before, .booklet-deck::after { display: none !important; }
  #page-28 { position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; height: auto !important; min-height: 0 !important; }
  .certificate-card { border: 1px solid #d9d5cb !important; border-top: 3px solid #ba2925 !important; outline: none !important; padding: 10mm 12mm 8mm !important; background: white; box-shadow: none !important; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .cert-heading { font-size: 34pt; }
  .certificate-card .diploma-student-name { font-size: 25pt; }
  .certificate-card .cert-reason { font-size: 9pt; }
  .certificate-card .cert-signatures-row { margin-top: 10mm; }
}
