/* Certificate scans retain their original proportions and legible captions. */
.wd-credentials {
	padding-block: var(--wd-section-space, 5rem);
	background: var(--wd-surface-soft, #faf9f6);
	color: var(--wd-ink, #293b42);
	scroll-margin-top: 7rem;
}
.wd-credentials *, .wd-certificate-viewer * { box-sizing: border-box; }
.wd-credentials__shell {
	width: min(var(--wd-shell, 1280px), calc(100% - 2 * var(--wd-page-gutter, 1.5rem)));
	margin-inline: auto;
}
.wd-credentials__heading { max-width: 46rem; margin-bottom: 2.5rem; }
.wd-credentials__eyebrow, .wd-credential__category {
	margin: 0 0 .75rem;
	color: var(--wd-gold-ink, #80590f);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.wd-credentials h2 { margin: 0 0 1rem; color: var(--wd-teal, #003e51); font-size: var(--wd-type-h2); line-height: 1.15; text-wrap: balance; }
.wd-credentials__heading > p:last-child { margin: 0; color: var(--wd-muted); line-height: 1.7; }
.wd-credentials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.75rem; }
.wd-credential { min-width: 0; }
.wd-credential__image-link { display: block; color: var(--wd-teal); text-decoration: none; border-radius: 8px; }
.wd-credential__image-frame {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 4 / 3;
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--wd-line, #d9d8d2);
	border-radius: 8px;
}
.wd-credential__image-frame img { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: contain; border-radius: 0; }
.wd-credential__view { display: flex; justify-content: space-between; align-items: center; min-height: 44px; gap: 1rem; font-size: .8125rem; font-weight: 600; }
.wd-credential__view > span { font-size: 1.15rem; }
.wd-credential__copy { padding-top: .75rem; border-top: 1px solid var(--wd-line); }
.wd-credential__category { margin-bottom: .5rem; font-size: .6875rem; }
.wd-credential h3 { margin: 0 0 .5rem; font-family: var(--wd-font-body, sans-serif); font-size: 1.1875rem; color: var(--wd-teal); line-height: 1.35; }
.wd-credential__issuer { margin: 0; color: var(--wd-muted); font-size: .9375rem; line-height: 1.6; }
.wd-credential__date { margin: .5rem 0 0; font-size: .8125rem; line-height: 1.6; color: var(--wd-muted); }
.wd-credentials--featured { background: var(--wd-surface, #f5f3ee); }
.wd-credentials__feature-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.wd-credentials__feature-image { min-width: 0; }
.wd-credentials__feature-image .wd-credential__image-frame { padding: clamp(.75rem, 2vw, 1.5rem); }
.wd-credentials__feature-copy { max-width: 34rem; }
.wd-credentials__feature-description { margin: 1.25rem 0 1.5rem; line-height: 1.75; }
.wd-credentials__feature-detail { padding-left: 1.25rem; border-left: 2px solid var(--wd-gold, #d4a039); }
.wd-credentials__feature-detail h3 { margin: 0 0 .5rem; font-family: var(--wd-font-body, sans-serif); font-size: 1.125rem; color: var(--wd-teal); }
.wd-credentials__feature-detail p { margin: .25rem 0 0; color: var(--wd-muted); font-size: .875rem; line-height: 1.6; }
.wd-credentials__all { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; margin-top: 1.5rem; color: var(--wd-teal); font-weight: 600; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.wd-credentials :is(a, button):focus-visible, .wd-certificate-viewer :is(a, button):focus-visible { outline: 3px solid var(--wd-teal-light, #0a5e72); outline-offset: 5px; }
html.wd-certificate-open { overflow: hidden; }
.wd-certificate-viewer {
	box-sizing: border-box; width: min(1120px, calc(100vw - 2rem)); max-width: none;
	max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem);
	margin: auto; padding: 0; border: 1px solid var(--wd-line, #d9d8d2); border-radius: 12px;
	background: var(--wd-surface-soft, #faf9f6); color: var(--wd-ink, #293b42);
	font-family: var(--wd-font-body, sans-serif);
}
.wd-certificate-viewer::backdrop { background: rgba(0, 25, 34, .78); }
.wd-certificate-viewer__bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; background: var(--wd-surface-soft, #faf9f6); border-bottom: 1px solid var(--wd-line); }
.wd-certificate-viewer__title { margin: 0; color: var(--wd-teal); font-family: var(--wd-font-body, sans-serif); font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
.wd-certificate-viewer__close { flex-shrink: 0; display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; padding: .5rem .875rem; border: 1px solid var(--wd-line); border-radius: 6px; background: #fff; color: var(--wd-teal); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.wd-certificate-viewer__body { margin: 0; padding: 1.5rem; }
.wd-certificate-viewer__image { display: block; width: 100%; height: auto; max-height: 65vh; max-height: 65dvh; object-fit: contain; background: #fff; }
.wd-certificate-viewer__caption { margin: 1rem 0 0; font-size: .875rem; line-height: 1.6; color: var(--wd-muted); }
.wd-certificate-viewer__original { display: inline-flex; align-items: center; min-height: 44px; margin-top: .25rem; color: var(--wd-teal); font-size: .875rem; font-weight: 600; text-underline-offset: .2em; }
@media (hover: hover) and (pointer: fine) {
	.wd-credential__image-link:hover .wd-credential__view, .wd-credentials__all:hover { color: var(--wd-gold-ink); }
	.wd-credential__image-link:hover .wd-credential__image-frame { border-color: var(--wd-gold-dark); }
	.wd-certificate-viewer__close:hover { background: var(--wd-surface); }
}
@media (prefers-reduced-motion: no-preference) {
	.wd-credential__image-link, .wd-credentials__all, .wd-certificate-viewer__close { transition: transform 140ms cubic-bezier(.23, 1, .32, 1); }
	.wd-credential__image-link:active:not(:focus-visible), .wd-credentials__all:active:not(:focus-visible), .wd-certificate-viewer__close:active:not(:focus-visible) { transform: scale(.98); }
}
@media (max-width: 1023px) { .wd-credentials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.wd-credentials__feature-grid { grid-template-columns: 1fr; gap: 1.5rem; }
	.wd-credentials__feature-copy { max-width: none; }
	.wd-certificate-viewer { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
	.wd-certificate-viewer__bar { padding: .75rem; gap: .75rem; }
	.wd-certificate-viewer__title { font-size: .9375rem; }
	.wd-certificate-viewer__body { padding: .75rem; }
}
@media (max-width: 639px) { .wd-credentials__grid { grid-template-columns: 1fr; gap: 2.25rem; } }
