/* MIM Certificates — marquee (Home 07) + grid (Quality 02) */

/* Dark sections: italic accent + eyebrow dot use the sky colour (design). */
.mim-w-certificates.mim-bg--navy,
.mim-w-certificates.mim-bg--custom-dark { --mim-accent-current: var(--mim-sky); }
.mim-w-certificates .mim-eyebrow__dot { background: var(--mim-eyebrow-current); }

/* Header link: "Quality policy →" */
.mim-w-certificates .mim-head__aside .mim-btn--link { gap: 10px; padding-bottom: 4px; }

.mim-w-certificates .mim-certs {
	--mim-cert-bg: var(--mim-white);
	--mim-cert-size: clamp(140px, 13vw, 190px);
	--mim-cert-gap: clamp(48px, 6vw, 96px);
	--mim-cert-min: 130px;
	--mim-cert-max: 170px;
	--mim-cert-grid-gap: clamp(16px, 2vw, 32px);
}
/* :where() keeps this reset at low specificity so the track/grid padding below wins. */
.mim-w-certificates .mim-certs :where(ul) { margin: 0; padding: 0; list-style: none; }

/* Item ------------------------------------------------------------------- */
.mim-w-certificates .mim-certs__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.mim-w-certificates .mim-certs__inner {
	display: flex; flex-direction: column; align-items: center; gap: inherit; width: 100%;
	color: inherit; text-decoration: none;
}
.mim-w-certificates a.mim-certs__inner:hover { color: inherit; }
.mim-w-certificates .mim-certs__badge {
	position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden;
	background: var(--mim-cert-bg); box-sizing: border-box;
}
.mim-w-certificates .mim-certs__badge img {
	display: block; width: 100%; height: 100%; max-width: none; object-fit: contain;
	transition: filter .3s ease, opacity .3s ease;
}
.mim-w-certificates .mim-certs__placeholder {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	border: 1px dashed var(--mim-border); border-radius: inherit;
	font-family: var(--mim-font-mono); font-size: 12px; letter-spacing: .1em; color: var(--mim-grey);
}

/* Frame: white disc with shadow (Quality) */
.mim-w-certificates .mim-certs--frame-circle .mim-certs__badge {
	border-radius: 50%; padding: 10px;
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6);
}

/* Captions */
.mim-w-certificates .mim-certs__code {
	font-size: 22px; line-height: 1.1; font-weight: 800; font-stretch: 88%; color: var(--mim-fg);
}
.mim-w-certificates .mim-certs__desc {
	font-size: 14px; line-height: 1.5; color: var(--mim-fg-soft); max-width: 16em; text-wrap: pretty;
}
.mim-w-certificates.mim-bg--navy .mim-certs__desc,
.mim-w-certificates.mim-bg--custom-dark .mim-certs__desc { color: #c6cfdc; }

/* Greyscale option */
.mim-certs-grey-yes .mim-certs__badge img { filter: grayscale(1); opacity: .75; }
.mim-certs-grey-yes .mim-certs__item:hover .mim-certs__badge img { filter: none; opacity: 1; }

/* Marquee ---------------------------------------------------------------- */
.mim-w-certificates .mim-certs--marquee { margin-top: clamp(24px, 5vh, 56px); }
.mim-w-certificates .mim-certs__head + .mim-certs--marquee { margin-top: clamp(24px, 5vh, 56px); }
.mim-w-certificates .mim-certs--bleed { margin-left: calc(-1 * var(--mim-pad-x)); margin-right: calc(-1 * var(--mim-pad-x)); }
.mim-w-certificates .mim-certs__viewport { overflow: hidden; }
.mim-w-certificates .mim-certs__track {
	display: flex; gap: var(--mim-cert-gap); width: max-content; padding: 8px 0 24px;
	will-change: transform;
}
.mim-w-certificates .mim-certs--marquee .mim-certs__item { flex: none; width: var(--mim-cert-size); }
.mim-w-certificates .mim-certs--bleed .mim-certs__track { padding-left: var(--mim-pad-x); padding-right: var(--mim-pad-x); }
.mim-w-certificates .mim-certs--marquee.is-running .mim-certs__track { padding-left: 0; padding-right: 0; }

/* Static marquee (reduced motion / speed 0): swipeable row */
.mim-w-certificates .mim-certs--marquee.is-static .mim-certs__viewport {
	overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
}
.mim-w-certificates .mim-certs--marquee.is-static .mim-certs__viewport::-webkit-scrollbar { display: none; }
.mim-w-certificates .mim-certs--marquee.is-static .mim-certs__item { scroll-snap-align: start; }

/* Grid ------------------------------------------------------------------- */
.mim-w-certificates.mim-certs-section--grid .mim-certs__head { margin-bottom: clamp(40px, 7vh, 72px); }
.mim-w-certificates .mim-certs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--mim-cert-min)), 1fr));
	gap: var(--mim-cert-grid-gap);
}
.mim-w-certificates .mim-certs--grid .mim-certs__badge { width: min(100%, var(--mim-cert-max)); }
.mim-w-certificates .mim-certs--grid .mim-certs__item { transition: transform .3s ease; }
.mim-w-certificates .mim-certs--lift .mim-certs__item:hover,
.mim-w-certificates .mim-certs--lift .mim-certs__item:focus-within { transform: translateY(-6px); }

@media (prefers-reduced-motion: reduce) {
	.mim-w-certificates .mim-certs--lift .mim-certs__item:hover,
	.mim-w-certificates .mim-certs--lift .mim-certs__item:focus-within { transform: none; }
}
