/* ==========================================================================
   FUGA — Lưới tự do (trang Giới thiệu: "Our Values", "Our Vision")
   Lưới ô vuông: 8 cột (< 1000px) / 16 cột; hàng cao bằng một ô; phần tử kéo dài tới hàng cuối (cao theo nội dung).
   ========================================================================== */
.fg-dgrid {
	--dg-gutter: 20px; --dg-space: 32px; --dg-gap: 10px; --dg-cols: 8;
	--dg-cell: calc((100vw - var(--dg-gutter) * 2) / var(--dg-cols) - var(--dg-gap) * (var(--dg-cols) - 1) / var(--dg-cols));
	position: relative; overflow: hidden;
}
.fg-dgrid--dark { background: #000; color: #fff; }
.fg-dgrid--light { background: #fafbfd; color: #000; }
.fg-dgrid__bg { position: absolute; inset: 0; }
.fg-dgrid__bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fg-dgrid__inner { position: relative; margin-inline: var(--dg-gutter); padding-block: var(--dg-space); }
.fg-dgrid--no-top .fg-dgrid__inner { padding-top: 0; }
.fg-dgrid__grid {
	display: grid; gap: var(--dg-gap);
	grid-template-columns: repeat(var(--dg-cols), minmax(0, 1fr));
	grid-template-rows: repeat(var(--dg-rows-m), var(--dg-cell)) max-content;
}
.fg-dgrid__cell {
	position: relative; align-self: start; isolation: isolate;
	grid-area: var(--dg-area-m);
	left: var(--dg-dx-m); top: var(--dg-dy-m);
}
.fg-dgrid__img { display: block; width: 100%; height: auto; }
.fg-dgrid__text:first-child { margin-top: 0; }
.fg-dgrid__text { margin-top: 12px; font-size: 12px; line-height: 17px; letter-spacing: normal; }
/* Cỡ chữ tiêu đề theo % chiều ngang màn hình, làm tròn tới px nguyên */
.fg-dgrid__heading {
	font-size: max(12px, round(nearest, calc(var(--dg-size-m) * 1vw), 1px));
	line-height: 1; font-weight: 400; letter-spacing: .01em;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.fg-dgrid__heading strong { font-weight: 700; }
/* Tiếng Việt có dấu chồng: nới dòng để dấu không chạm dòng trên */
:lang(vi) .fg-dgrid__heading { line-height: 1.15; }

@media (min-width: 700px) {
	.fg-dgrid { --dg-gutter: 32px; }
	.fg-dgrid__text { font-size: 14px; line-height: 20px; }
}
@media (min-width: 1000px) {
	.fg-dgrid { --dg-space: 48px; --dg-gap: 16px; --dg-cols: 16; }
	.fg-dgrid__grid { grid-template-rows: repeat(var(--dg-rows), var(--dg-cell)) max-content; }
	.fg-dgrid__cell { grid-area: var(--dg-area); left: var(--dg-dx); top: var(--dg-dy); }
	.fg-dgrid__heading { font-size: max(12px, round(nearest, calc(var(--dg-size) * 1vw), 1px)); }
}
@media (min-width: 1399px) {
	.fg-dgrid { --dg-gutter: 96px; --dg-space: 56px; }
}
