/* Certificate wall: document tiles on a slow belt; scans or typeset certificate faces. */
.sy-cr { --cr-ease: cubic-bezier(.2, .7, .2, 1); padding: clamp(64px, 8vw, 112px) 0; background: #fff; overflow: hidden; }
.sy-cr[id] { scroll-margin-top: 96px; } /* Certificates page sections: land below the sticky header. */
.sy-cr + .sy-cr { padding-top: 0; } /* Stacked sections (certificates page): one gap between groups, not two. */
.sy-cr__inner { max-width: 1290px; margin: 0 auto; padding: 0 clamp(16px, 6vw, 85px); box-sizing: content-box; }
.sy-cr__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px 56px; align-items: end; margin-bottom: clamp(44px, 5vw, 72px); }
.sy-cr__head .sy-kicker { margin: 0 0 12px; }
.sy-cr .sy-cr__title { margin: 0; font-size: clamp(30px, 3.2vw, 44px); font-weight: 600; letter-spacing: -.02em; line-height: 1.12; color: var(--sy-ink, #263653); }
.sy-cr__lead { display: grid; justify-items: start; gap: 16px; }
.sy-cr__intro { margin: 0; font-size: 16.5px; line-height: 1.65; color: var(--sy-muted, #59677a); }
.sy-cr__all { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--sy-navy, #283951); text-decoration: none; }
.sy-cr__all span { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px; transition: background-size .35s var(--cr-ease); }
.sy-cr__all:hover { color: var(--sy-navy, #283951); }
.sy-cr__all:hover span { background-size: 0 1px; background-position: 100% 100%; }
.sy-cr__all .sy-arrow { transition: transform .3s var(--cr-ease); }
.sy-cr__all:hover .sy-arrow { transform: translateX(4px); }
.sy-cr__all:focus-visible { outline: 2px solid var(--sy-navy, #283951); outline-offset: 3px; border-radius: 4px; }

/* Belt */
.sy-cr__rail { position: relative; padding: 10px 0 18px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.sy-cr__belt { display: flex; width: max-content; animation: sy-cr-belt var(--cr-dur, 50s) linear infinite; }
.sy-cr__rail:hover .sy-cr__belt, .sy-cr__rail:focus-within .sy-cr__belt, .sy-cr.is-paused .sy-cr__belt { animation-play-state: paused; }
@keyframes sy-cr-belt { to { transform: translateX(-50%); } }
.sy-cr__track { display: flex; gap: 22px; margin: 0; padding: 0 22px 0 0; list-style: none; }
.sy-cr__item { flex: none; width: 190px; margin: 0; }
.sy-cr__doc { display: grid; gap: 14px; color: var(--sy-ink, #263653); text-decoration: none; }
.sy-cr__paper { position: relative; display: block; aspect-ratio: 210 / 297; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px #e3e8ec, 0 2px 4px rgba(21, 33, 52, .04), 0 18px 30px -22px rgba(21, 33, 52, .45); transition: transform .45s var(--cr-ease), box-shadow .45s var(--cr-ease); }
.sy-cr__paper img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.sy-cr__paper.is-landscape { display: grid; place-items: center; padding: 10px; } /* Landscape documents (e.g. Higg FEM): whole page, centred. */
.sy-cr__paper.is-landscape img { height: auto; object-fit: contain; box-shadow: 0 0 0 1px #eef1f4; }
a.sy-cr__doc:hover .sy-cr__paper { transform: translateY(-6px); box-shadow: 0 0 0 1px #d5dce2, 0 4px 8px rgba(21, 33, 52, .05), 0 28px 40px -24px rgba(21, 33, 52, .5); }
a.sy-cr__doc:focus-visible { outline: none; }
a.sy-cr__doc:focus-visible .sy-cr__paper { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sy-navy, #283951); }
.sy-cr__cap { display: grid; gap: 2px; font-size: 13px; line-height: 1.45; color: var(--sy-muted, #59677a); }
.sy-cr__cap strong { font-size: 14.5px; font-weight: 600; color: var(--sy-ink, #263653); }
.sy-cr__valid { display: inline-flex; align-items: center; gap: 6px; }
.sy-cr__valid::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #2f8a57; }

/* Typeset certificate face (no scan yet) */
.sy-cr__face { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding: 22px 16px 16px; text-align: center; background:
	linear-gradient(#fff, #fff) padding-box,
	repeating-linear-gradient(45deg, #e6ebf0 0 6px, #f4f7f9 6px 12px) border-box; border: 6px solid transparent; border-radius: 6px; }
.sy-cr__face::before { content: ""; position: absolute; inset: 5px; border: 1px solid #e3e8ec; border-radius: 2px; pointer-events: none; }
.sy-cr__face-k { font-size: 9.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--sy-muted, #59677a); }
.sy-cr__face-n { margin-top: 18px; font-size: 22px; font-weight: 700; letter-spacing: -.01em; line-height: 1.1; color: var(--sy-navy, #283951); }
.sy-cr__face-l { margin-top: 8px; font-size: 11.5px; line-height: 1.4; color: var(--sy-ink, #263653); }
.sy-cr__face-s { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e9edf1; font-size: 10px; line-height: 1.45; color: var(--sy-muted, #59677a); }
.sy-cr__face-seal { display: grid; place-items: center; width: 40px; height: 40px; margin-top: auto; border-radius: 50%; background: #eef3f8; color: var(--sy-navy, #283951); box-shadow: 0 0 0 4px #fff, 0 0 0 5px #dfe6ed; }
.sy-cr__face-no { margin-top: 12px; font-size: 9.5px; letter-spacing: .04em; color: var(--sy-muted, #59677a); font-variant-numeric: tabular-nums; }

.sy-cr__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; }
.sy-cr__note:empty { display: none; }
.sy-cr__foot:has(.sy-cr__note:empty) { justify-content: flex-end; }
.sy-cr__note { margin: 0; max-width: 70ch; font-size: 13px; line-height: 1.6; color: var(--sy-muted, #59677a); }
.sy-cr__toggle { flex: none; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--sy-line, #d9e0e6); border-radius: 50%; background: #fff; color: var(--sy-ink, #263653); cursor: pointer; transition: border-color .2s, transform .2s var(--cr-ease); }
.sy-cr__toggle:hover { border-color: var(--sy-navy, #283951); }
.sy-cr__toggle:active { transform: scale(.94); }
.sy-cr__toggle:focus-visible { outline: 2px solid var(--sy-navy, #283951); outline-offset: 2px; }
.sy-cr__toggle .sy-ico + .sy-ico, .sy-cr.is-paused .sy-cr__toggle .sy-ico:first-child { display: none; }
.sy-cr.is-paused .sy-cr__toggle .sy-ico + .sy-ico { display: block; }

@media (max-width: 860px) {
	.sy-cr__head { grid-template-columns: 1fr; }
	.sy-cr__item { width: 150px; }
	.sy-cr__track { gap: 16px; padding-right: 16px; }
	.sy-cr__face { padding: 16px 10px 12px; border-width: 5px; }
	.sy-cr__face-n { margin-top: 12px; font-size: 18px; }
	.sy-cr__face-s { display: none; }
}
/* Less motion: a still row the visitor scrolls; no copy, no pause button. */
@media (prefers-reduced-motion: reduce) {
	.sy-cr__rail { overflow-x: auto; -webkit-mask-image: none; mask-image: none; padding-left: clamp(16px, 6vw, 85px); scroll-snap-type: x proximity; }
	.sy-cr__belt { animation: none; }
	.sy-cr__track--copy, .sy-cr__toggle { display: none; }
	.sy-cr__item { scroll-snap-align: start; }
	.sy-cr__paper { transition: none; }
}

/* Grid layout (certificates page): every document at once, larger tiles, opens the full document. */
.sy-cr__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: clamp(28px, 3vw, 40px) clamp(18px, 2.2vw, 28px); margin: 0; padding: 0; list-style: none; }
.sy-cr__grid .sy-cr__item { width: auto; }
.sy-cr__grid .sy-cr__face-n { font-size: 26px; }
.sy-cr__no { font-size: 12px; color: var(--sy-muted, #59677a); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sy-cr__open { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--sy-navy, #283951); }
.sy-cr__open .sy-arrow { transition: transform .3s var(--cr-ease); }
a.sy-cr__doc:hover .sy-cr__open .sy-arrow { transform: translateX(4px); }
@media (max-width: 600px) {
	.sy-cr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
