/* Vinhomes Saigon Park — Figma "NW - Landing Page SEO" (AYiaH2XHvW7afJJOBrK6Yt).
 * Define 1805:130 · hero 1566:1427 · tổng quan 1571:1664.
 * Self-contained package: font, images and every style are in this folder.
 * Artwork layers follow the 1440 px Figma frame in cqw (1cqw = 14.4 px at
 * 1440); type and spacing use the Figma px values. */

/* Blocksy styles bare elements site-wide (headings, p, ul, label, img, form
 * controls…); give those properties back to browser defaults inside the
 * landing so only the rules below apply. Same block as tools/landing-import.py. */
.vision-landing--vinhomes-saigon-park :is(*),.vision-landing--vinhomes-saigon-park :is(*)::before,.vision-landing--vinhomes-saigon-park :is(*)::after{box-sizing:revert;outline:revert}
.vision-landing--vinhomes-saigon-park :is(a){color:revert;text-decoration:revert;transition:revert}
.vision-landing--vinhomes-saigon-park :is(a,button):is(:hover,:focus,:focus-visible){color:revert;outline:revert;outline-offset:revert;transition:revert}
.vision-landing--vinhomes-saigon-park :is(b,strong,dt,th,caption,legend){font-weight:revert}
.vision-landing--vinhomes-saigon-park :is(h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dd,figure,figcaption,blockquote,address,cite,em,small,big,strike,sub,sup,label,fieldset,form,table,tr,td,th,caption,legend,ins,mark,hr,pre,code,kbd,samp){font:revert;margin:revert;margin-block-end:revert;padding:revert;padding-inline-start:revert;border:revert;color:revert;letter-spacing:revert;text-transform:revert;text-decoration:revert;background:revert;cursor:revert;line-height:revert;position:revert;vertical-align:revert;top:revert;bottom:revert}
.vision-landing--vinhomes-saigon-park :is(figure,audio,canvas,progress,video){display:revert}
.vision-landing--vinhomes-saigon-park :is(img,video,iframe,embed,object){max-width:revert;vertical-align:revert}
.vision-landing--vinhomes-saigon-park :is(img){height:revert}
.vision-landing--vinhomes-saigon-park :is(input,select,textarea,button){all:revert}
.vision-landing--vinhomes-saigon-park label:not(.wpcf7-form-control-wrap){display:revert;font-size:revert;font-weight:revert}
.vision-landing--vinhomes-saigon-park .wpcf7-submit{float:revert}

/* Figma frames: border-box sizing and no default margins — blocks are spaced
 * by the gaps below. */
.vision-landing--vinhomes-saigon-park :is(*),
.vision-landing--vinhomes-saigon-park :is(*)::before,
.vision-landing--vinhomes-saigon-park :is(*)::after {
	box-sizing: border-box;
}
.vision-landing--vinhomes-saigon-park :is(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure) {
	margin: 0;
}

@font-face {
	font-family: "SVN-Aptima";
	src: url("assets/fonts/SVN-AptimaBold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "SVN-Aptima";
	src: url("assets/fonts/SVN-Aptima.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Tokens — define 1805:130 ------------------------------------------------ */

.vision-landing--vinhomes-saigon-park {
	--vsp-primary: #117055;
	--vsp-secon: #550100;
	--vsp-bg-1: #fffbe3;
	--vsp-bg-2: #fdfefd;
	--vsp-body: #354b49;
	--vsp-button: #822d21;
	--vsp-gold: #b8893e;
	--vsp-gradient-cream: linear-gradient(180deg, #fdf8d5 0%, #f8c88a 100%);
	--vsp-accent: #f8c88a; /* orange-yellow end of the cream gradient (define 1552:1184) */
	--vsp-gradient-green: linear-gradient(180deg, #48765d 0%, #09302d 100%);
	--vsp-font-display: "SVN-Aptima", "Be Vietnam Pro", system-ui, sans-serif;
	--vsp-font-body: "Be Vietnam Pro", system-ui, sans-serif;
	--landing-bg: var(--vsp-bg-2);
	--landing-body: var(--vsp-body);
	--landing-font-body: var(--vsp-font-body);
	--landing-body-14: 400 14px/1.5 var(--vsp-font-body);
	letter-spacing: -0.28px;
}

/* VGP/header 1–3: SVN-Aptima Bold, letter-spacing 1% */
.vision-landing--vinhomes-saigon-park .vsp-h1 { font: 700 48px/1.3 var(--vsp-font-display); letter-spacing: 0.48px; }
.vision-landing--vinhomes-saigon-park .vsp-h2 { font: 700 36px/1.25 var(--vsp-font-display); letter-spacing: 0.36px; }
.vision-landing--vinhomes-saigon-park .vsp-h3 { font: 700 24px/1.5 var(--vsp-font-display); letter-spacing: 0.24px; }

/* Buttons — 1552:1164 gold, 1570:1449 dark red (Be Vietnam Pro SemiBold 16,
 * radius 6); the hero CTA 1696:1659 is VGP/button in SVN-Aptima, radius 8. */
.vision-landing--vinhomes-saigon-park .vsp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	border-radius: 6px;
	background: var(--vsp-gold);
	color: #fff;
	font: 600 16px/1.3 var(--vsp-font-body);
	letter-spacing: 0.16px;
	text-decoration: none;
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-button--secon { background: var(--vsp-secon); }
.vision-landing--vinhomes-saigon-park .vsp-button--hero {
	border-radius: 8px;
	background: var(--vsp-button);
	color: var(--vsp-bg-1);
	font: 700 16px/1.3 var(--vsp-font-display);
}
.vision-landing--vinhomes-saigon-park .vsp-button:hover,
.vision-landing--vinhomes-saigon-park .vsp-button:focus-visible { color: #fff; }
.vision-landing--vinhomes-saigon-park .vsp-button--hero:hover,
.vision-landing--vinhomes-saigon-park .vsp-button--hero:focus-visible { color: var(--vsp-bg-1); }

/* Hero 1566:1427 — 1440 × 747.64 ------------------------------------------
 * The artwork sits on a "stage" with Figma's 1440 × 751 bg frame (1774:1137,
 * at y −3); below 1440 px it keeps a minimum height and is cropped at the
 * sides instead of shrinking, so the text always has room. */

.vision-landing--vinhomes-saigon-park .vsp-hero {
	--vsp-hero-min: 0px;
	container-type: inline-size;
	position: relative;
	height: max(51.919cqw, var(--vsp-hero-min)); /* 747.64 */
	overflow: hidden;
	background: #09302d;
}
.vision-landing--vinhomes-saigon-park .vsp-hero__stage {
	container-type: inline-size;
	position: absolute;
	top: 0;
	left: 50%;
	width: max(100cqw, var(--vsp-hero-min) * 1.92605); /* 1440 / 747.64 */
	aspect-ratio: 1440 / 751;
	transform: translate(-50%, -0.3995%); /* y −3 of 751 */
}
/* image 215 (1774:1140): 1536 × 751.4 at (−47.9, −0.4), fill 100% × 136.28%,
 * under a 36 % black veil */
.vision-landing--vinhomes-saigon-park .vsp-hero__photo,
.vision-landing--vinhomes-saigon-park .vsp-hero__lit {
	position: absolute;
	top: -0.0278cqw;
	left: -3.3268cqw;
	width: 106.667cqw;
	overflow: hidden;
}
.vision-landing--vinhomes-saigon-park .vsp-hero__photo { height: 52.181cqw; }
.vision-landing--vinhomes-saigon-park .vsp-hero__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.36);
}
.vision-landing--vinhomes-saigon-park .vsp-hero__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 71.111cqw; /* 1024 = 136.28% of 751.4 */
	object-fit: cover;
}
/* 1774:1141 — the same photo, unveiled inside the project outline (Vector 48,
 * 1380.16 × 357.32 at (96.3, 238.98) of the 1536 × 1024 image box). */
.vision-landing--vinhomes-saigon-park .vsp-hero__lit {
	height: 71.111cqw;
	-webkit-mask: url("assets/hero-mask.svg") 6.688cqw 16.596cqw / 95.845cqw 24.814cqw no-repeat;
	mask: url("assets/hero-mask.svg") 6.688cqw 16.596cqw / 95.845cqw 24.814cqw no-repeat;
}
/* 1774:1144 — 1440.44 × 392.86, flipped: #09302d at the top fading out. */
.vision-landing--vinhomes-saigon-park .vsp-hero__shade {
	position: absolute;
	top: -0.0278cqw;
	left: -0.0087cqw;
	width: 100.03cqw;
	height: 27.282cqw;
	background: linear-gradient(0deg, rgba(106, 157, 129, 0) 0%, rgba(51, 108, 77, 0.81) 46.856%, #09302d 100%);
}
/* image 205 (1680:1426): emblem at 9 %, 450.15 × 270.14 at (495, 7.72) of the
 * hero (y 10.72 on the stage), fill 100% × 157.47% from y −19.3% */
.vision-landing--vinhomes-saigon-park .vsp-hero__emblem {
	position: absolute;
	top: 0.7444cqw;
	left: 34.375cqw;
	width: 31.26cqw;
	height: 18.76cqw;
	overflow: hidden;
	opacity: 0.09;
}
.vision-landing--vinhomes-saigon-park .vsp-hero__emblem img {
	position: absolute;
	top: -19.3%;
	left: 0;
	width: 100%;
	max-width: none;
	height: 157.47%;
}
/* 1566:1432 — text column 945 wide at y 155, gap 16 */
.vision-landing--vinhomes-saigon-park .vsp-hero__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: min(945px, 100% - 32px);
	margin: 0 auto;
	padding-top: 155px;
	color: var(--vsp-bg-1);
	text-align: center;
}
.vision-landing--vinhomes-saigon-park .vsp-hero__title {
	font: 700 48px/1.3 var(--vsp-font-display);
	letter-spacing: 0.48px;
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-hero__tagline {
	font: 700 24px/1.5 var(--vsp-font-display);
	letter-spacing: 0.24px;
	white-space: nowrap;
}

/* Tổng quan 1571:1664 — 1440 × 961, padding 50 / 80, top corners 24 -------- */

.vision-landing--vinhomes-saigon-park .vsp-overview {
	position: relative;
	overflow: hidden; /* the Figma frame clips the emblem's top 2.36 px */
	border-radius: 24px 24px 0 0;
	background: var(--vsp-bg-2);
}
.vision-landing--vinhomes-saigon-park .vsp-overview__inner {
	position: relative;
	width: min(1279px, 100% - 160px);
	margin: 0 auto;
	padding: 50px 0;
}
/* image 205 (1664:1410): emblem at 9 %, 450.15 × 270.14 at y −52.36, as the
 * background of the title block, centred. The block is stretched to that
 * frame (52.36 above the title, 270.14 tall) so the emblem is not clipped;
 * the 91 % layer of the section colour on top gives the 9 % opacity. */
.vision-landing--vinhomes-saigon-park .vsp-overview__head {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: min(872px, 100%);
	min-height: 270.141px;
	margin: -52.36px auto 0;
	padding-top: 52.36px;
	/* background:
		linear-gradient(rgba(253, 254, 253, 0.91), rgba(253, 254, 253, 0.91)) 0 0 / 100% 100% no-repeat,
		url("assets/overview-emblem.png") center center / auto 100% no-repeat; */
	text-align: center;
	background-image: url("assets/overview-emblem.png");
	background-position: center center;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.vision-landing--vinhomes-saigon-park .vsp-overview__title {
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-overview__intro {
	color: var(--vsp-body);
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
	white-space: pre-wrap;
}
/* 1571:1513 — at y 200, 661 high: facts 671 + photo 572.33 × 573, gap 37 */
.vision-landing--vinhomes-saigon-park .vsp-overview__row {
	display: flex;
	align-items: center;
	gap: 37px;
	min-height: 661px;
	margin-top: -18.14px; /* row at y 200; the title block now ends at 218.14 */
}
.vision-landing--vinhomes-saigon-park .vsp-overview__facts {
	display: flex;
	flex: 0 0 671px; /* 671 + 37 + 572.33 is 1.33 wider than the frame: the photo gives */
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	margin: 0;
	color: var(--vsp-body);
}
.vision-landing--vinhomes-saigon-park .vsp-overview__fact {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.vision-landing--vinhomes-saigon-park .vsp-overview__fact dt {
	flex: 0 0 189px;
	font: 600 16px/1.5 var(--vsp-font-body);
	letter-spacing: 0.08px;
}
.vision-landing--vinhomes-saigon-park .vsp-overview__fact dd {
	flex: 1 0 0;
	min-width: 1px;
	margin: 0;
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
}
/* 1571:1486 — Figma sets this one value 458.06 wide (the others fill 466). */
.vision-landing--vinhomes-saigon-park .vsp-overview__fact:nth-of-type(6) dd {
	max-width: 458.063px;
}
.vision-landing--vinhomes-saigon-park .vsp-overview__fact ul {
	margin: 0;
	padding: 0;
	list-style: disc;
}
.vision-landing--vinhomes-saigon-park .vsp-overview__fact li {
	margin: 0 0 0 24px;
}
/* Line 2019… — 661 × 1, #8F9E9D at 23 % */
.vision-landing--vinhomes-saigon-park .vsp-overview__line {
	display: block;
	width: 661px;
	max-width: 100%;
	height: 1px;
}
/* Rectangle 3463965 (1571:1455): 572.33 × 573, radius 8; fill 197.6% × 107.57%
 * centred horizontally, from the top */
.vision-landing--vinhomes-saigon-park .vsp-overview__photo {
	position: relative;
	flex: 0 1 572.328px;
	height: 573px;
	overflow: hidden;
	border-radius: 8px;
}
.vision-landing--vinhomes-saigon-park .vsp-overview__photo img {
	position: absolute;
	top: 0;
	left: -48.8%;
	width: 197.6%;
	max-width: none;
	height: 107.57%; /* crops the caption strip at the bottom of the render */
}

/* Vị trí và kết nối 1571:1593 — padding 50 / 80, width 1281; title, gap 24,
 * three 340 px rows 48 apart ----------------------------------------------- */

.vision-landing--vinhomes-saigon-park .vsp-location {
	background: var(--vsp-bg-2);
}
.vision-landing--vinhomes-saigon-park .vsp-location__inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: min(1281px, 100% - 160px);
	margin: 0 auto;
	padding: 50px 0;
}
.vision-landing--vinhomes-saigon-park .vsp-location__title {
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-location__rows {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__row {
	display: flex;
	align-items: center;
	gap: 16px;
}
/* Row 1 keeps Figma's fixed 632 photo; rows 2–3 split the width evenly. */
.vision-landing--vinhomes-saigon-park .vsp-location__media {
	position: relative;
	flex: 1 0 0;
	min-width: 1px;
	height: 340px;
	overflow: hidden;
	border-radius: 8px;
	background: #f7efdd;
}
.vision-landing--vinhomes-saigon-park .vsp-location__row:first-child .vsp-location__media {
	flex: 0 1 632px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__text {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 16px;
	min-width: 1px;
	color: var(--vsp-body);
}
.vision-landing--vinhomes-saigon-park .vsp-location__text--inset {
	padding-left: 32px;
}
/* Row 3: photo and text are two equal halves (the text's 32 px inset inside). */
.vision-landing--vinhomes-saigon-park .vsp-location__row:last-child > * {
	flex: 0 0 calc(50% - 8px);
}
/* 1571:1600 — the first label is centred in its 139 px box (131 px text). */
.vision-landing--vinhomes-saigon-park .vsp-location__list--links .vsp-location__item:first-child dt {
	padding-left: 4px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__text--cta {
	align-items: flex-start;
	gap: 32px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__block {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.vision-landing--vinhomes-saigon-park .vsp-location__subtitle {
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-location__copy,
.vision-landing--vinhomes-saigon-park .vsp-location__item dd {
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-location__item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__item dt {
	flex: 0 0 139px;
	font: 600 16px/1.5 var(--vsp-font-body);
	letter-spacing: 0.08px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__list--values dt {
	flex-basis: 200px;
}
.vision-landing--vinhomes-saigon-park .vsp-location__item dd {
	flex: 1 0 0;
	min-width: 1px;
	margin: 0;
}
/* 1571:1680 — #8A0100, radius 8, SVN-Aptima 16 */
.vision-landing--vinhomes-saigon-park .vsp-button--deep {
	border-radius: 8px;
	background: #8a0100;
	color: var(--vsp-bg-1);
	font: 700 16px/1.3 var(--vsp-font-display);
}
.vision-landing--vinhomes-saigon-park .vsp-button--deep:hover,
.vision-landing--vinhomes-saigon-park .vsp-button--deep:focus-visible {
	color: var(--vsp-bg-1);
}

/* 6 lý do 1593:909 — 1440 × 1017. Title + card from y 116; the street photo
 * (557.9 tall, 1440 wide) starts 8.56 under the card; a white → #CCE4E0 fade
 * from y 137.98 to the bottom; tree emblem at 5 % behind the title. -------- */

.vision-landing--vinhomes-saigon-park .vsp-why {
	position: relative;
	overflow: hidden;
	background: var(--vsp-bg-2);
}
/* image 207 (1801:129): 878.69 tall from y 137.98 */
.vision-landing--vinhomes-saigon-park .vsp-why__fade {
	position: absolute;
	top: 137.98px;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, #fff 3.861%, rgba(216, 232, 226, 0.81) 26.06%, #cce4e0 53.641%);
}
/* image 206 (1687:1428): 312.48 × 378.53 at (594.34, −11.59), mirrored */
.vision-landing--vinhomes-saigon-park .vsp-why__tree {
	position: absolute;
	top: -11.59px;
	left: calc(50% - 125.66px);
	width: 312.476px;
	max-width: none;
	height: 378.527px;
	object-fit: cover;
	opacity: 0.05;
	transform: scaleX(-1);
	pointer-events: none;
}
.vision-landing--vinhomes-saigon-park .vsp-why__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 62px;
	width: min(1196px, 100% - 32px);
	margin: 0 auto;
	padding-top: 116px;
}
/* 1741:1029 — 631.9 wide; line 2 starts 187.91 in and 44.33 lower */
.vision-landing--vinhomes-saigon-park .vsp-why__title {
	display: flex;
	flex-direction: column;
	width: min(631.906px, 100%);
	color: var(--vsp-primary);
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-why__title-2 {
	margin-top: -0.67px;
	padding-left: 187.91px;
}
/* 1741:998 — 1196 × 200, padding 32, gap 24; 146 px items, 50 px rules */
.vision-landing--vinhomes-saigon-park .vsp-why__card {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 24px;
	width: 100%;
	min-height: 200px;
	margin: 0;
	padding: 32px;
	border-radius: 16px;
	background: #fdfefd;
	filter: drop-shadow(0 20px 10px rgba(217, 216, 213, 0.15));
	list-style: none;
}
.vision-landing--vinhomes-saigon-park .vsp-why__item {
	display: flex;
	flex: 0 0 146px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-why__icon {
	display: block;
	width: 55.2052px;
	height: 48px;
}
.vision-landing--vinhomes-saigon-park .vsp-why__text {
	color: var(--vsp-body);
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
}
.vision-landing--vinhomes-saigon-park .vsp-why__sep {
	flex: 0 0 1px;
	height: 50px;
	margin: 0 -0.5px;
	background: rgba(53, 75, 73, 0.32);
}
/* image 200 (1591:756): fill 111.56 % × 160.04 % from (−5.78 %, −48.47 %) */
.vision-landing--vinhomes-saigon-park .vsp-why__street {
	position: relative;
	width: 100%;
	aspect-ratio: 1440 / 557.896;
	margin-top: -8.56px;
	overflow: hidden;
}
.vision-landing--vinhomes-saigon-park .vsp-why__street img {
	position: absolute;
	top: -48.47%;
	left: -5.78%;
	width: 111.56%;
	max-width: none;
	height: 160.04%;
}

/* Quy hoạch và mặt bằng 1593:1007 — padding 90 / 80 / 50; photo column 857
 * (434 photo + 10 + text), gap 47, side column 377.98 (title, 331 px pills) */

.vision-landing--vinhomes-saigon-park .vsp-zones {
	background: #fff;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__inner {
	display: flex;
	align-items: center;
	gap: 47px;
	width: min(1280px, 100% - 160px);
	margin: 0 auto;
	padding: 90px 0 50px;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__carousel {
	flex: 0 1 857px;
	min-width: 0;
	margin: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__carousel .swiper-wrapper {
	display: flex;
	align-items: flex-start;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__slide {
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	background: #fff;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__media {
	position: relative;
	width: 100%;
	aspect-ratio: 857 / 434;
	overflow: hidden;
	border-radius: 8px;
}
/* fill 100 % × 111.98 % from y −5.99 % = a centred cover crop */
.vision-landing--vinhomes-saigon-park .vsp-zones__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__text {
	color: var(--vsp-body);
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
	text-align: justify;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__side {
	display: flex;
	flex: 0 0 377.977px;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__title {
	display: flex;
	flex-direction: column;
	color: var(--vsp-primary);
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__title-2 {
	padding-left: 183.98px;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__tabs {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 331px;
	max-width: 100%;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__tab {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 12px 24px;
	border: 1px solid #8f9e9d;
	border-radius: 100px;
	background: transparent;
	color: #8f9e9d;
	font: 600 16px/1.5 var(--vsp-font-body);
	letter-spacing: 0.08px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.vision-landing--vinhomes-saigon-park .vsp-zones__tab:hover {
	border-color: var(--vsp-primary);
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-zones__tab.is-active {
	border-color: var(--vsp-primary);
	background: var(--vsp-primary);
	color: var(--vsp-bg-1);
}

/* Bộ sưu tập sản phẩm 1593:936 — padding 50 / 80; head, gap 56, five
 * 243.19 px cards (302.82 photo, radius 6.317) 16 apart ------------------- */

.vision-landing--vinhomes-saigon-park .vsp-products {
	background: var(--vsp-bg-2);
}
.vision-landing--vinhomes-saigon-park .vsp-products__inner {
	display: flex;
	flex-direction: column;
	gap: 56px;
	width: min(1280px, 100% - 160px);
	margin: 0 auto;
	padding: 50px 0;
}
.vision-landing--vinhomes-saigon-park .vsp-products__head {
	display: flex;
	align-items: center;
	gap: 16px;
}
.vision-landing--vinhomes-saigon-park .vsp-products__title {
	flex: 1 0 0;
	min-width: 1px;
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-products__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
.vision-landing--vinhomes-saigon-park .vsp-product {
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--vsp-body);
}
.vision-landing--vinhomes-saigon-park .vsp-product:first-child {
	gap: 8px; /* 1593:950 */
}
.vision-landing--vinhomes-saigon-park .vsp-product__media {
	position: relative;
	width: 100%;
	aspect-ratio: 243.189 / 302.822;
	overflow: hidden;
	border-radius: 6.317px;
}
.vision-landing--vinhomes-saigon-park .vsp-product__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.vision-landing--vinhomes-saigon-park .vsp-product__media--bottom img {
	object-position: 50% 100%;
}
.vision-landing--vinhomes-saigon-park .vsp-product__name {
	font: 700 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
}
.vision-landing--vinhomes-saigon-park .vsp-product__text {
	font: 400 16px/1.5 var(--vsp-font-body);
	letter-spacing: -0.32px;
}

/* Hệ tiện ích — nội khu 1735:879 / ngoại khu 1696:1550: padding 50, title +
 * tabs (gap 24), 40 to the cards. Card text: SVN-Aptima 16, #FFFBE3. ------ */

.vision-landing--vinhomes-saigon-park .vsp-amenities {
	position: relative;
	overflow: hidden;
	background: #fff;
}
/* image 206: 201.27 × 243.82 at (406.73, 10.04), mirrored, 5 % */
.vision-landing--vinhomes-saigon-park .vsp-amenities__tree {
	position: absolute;
	top: 10.04px;
	left: calc(50% - 313.27px);
	width: 201.273px;
	max-width: none;
	height: 243.819px;
	object-fit: cover;
	opacity: 0.05;
	transform: scaleX(-1);
	pointer-events: none;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: min(1280px, 100% - 160px);
	margin: 0 auto;
	padding: 51.86px 0 64px; /* frame 719 / 699 tall inside the 50 px padding */
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--vsp-primary);
	text-align: center;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__tabs {
	display: flex;
	align-items: center;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__tab {
	padding: 12px 16px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #8f9e9d;
	font: 600 16px/1.5 var(--vsp-font-body);
	letter-spacing: 0.08px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__tab:hover {
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__tab.is-active {
	border-radius: 100px;
	background: var(--vsp-primary);
	color: var(--vsp-bg-1);
	letter-spacing: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__panel[hidden] {
	display: none;
}
/* Nội khu: 851 column (244 card, 12, two 420/419 × 244 cards) + 411 × 500, gap 18 */
.vision-landing--vinhomes-saigon-park .vsp-amenities__panel--inner {
	display: flex;
	align-items: center;
	gap: 18px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__left {
	display: flex;
	flex: 0 1 851px;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-amenities__pair {
	display: flex;
	gap: 12px;
}
/* Ngoại khu: 3 × 2 cards (2048:1152), 12 apart */
.vision-landing--vinhomes-saigon-park .vsp-amenities__panel--outer {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.vision-landing--vinhomes-saigon-park .vsp-amenity {
	--vsp-shade: linear-gradient(201.79deg, rgba(106, 157, 129, 0) 42.547%, rgba(62, 120, 107, 0.624) 67.822%, rgba(8, 65, 61, 0.77) 86.802%);
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 16px;
	color: var(--vsp-bg-1);
	text-decoration: none;
	cursor: zoom-in;
	isolation: isolate;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--vsp-shade);
	pointer-events: none;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
/* Hover / focus: every card's text turns orange-yellow. Two classes beat the
 * reset's :is(a):is(:hover) rule, which would fall back to the browser's blue. */
.vision-landing--vinhomes-saigon-park .vsp-amenity.vsp-amenity:is(:hover, :focus, :focus-visible) {
	color: var(--vsp-accent);
}
.vision-landing--vinhomes-saigon-park .vsp-amenity__body {
	transition: color 0.3s ease;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity:hover .vsp-amenity__img,
.vision-landing--vinhomes-saigon-park .vsp-amenity:focus-visible .vsp-amenity__img {
	transform: scale(1.05);
}
.vision-landing--vinhomes-saigon-park .vsp-amenity:focus-visible {
	outline: 2px solid var(--vsp-primary);
	outline-offset: 3px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity__body {
	position: absolute;
	bottom: 16px;
	left: 20px;
	right: 20px;
	z-index: 2;
	display: block;
	font: 700 16px/1.5 var(--vsp-font-display);
	letter-spacing: 0.16px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity__title,
.vision-landing--vinhomes-saigon-park .vsp-amenity__list {
	display: block;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity__list span {
	display: list-item;
	margin-left: 24px;
	list-style: disc;
}
/* 1735:924 — fill 196.18 % high from y −66.44 % */
.vision-landing--vinhomes-saigon-park .vsp-amenity--wide {
	--vsp-shade: linear-gradient(202.7deg, rgba(106, 157, 129, 0) 43.523%, rgba(62, 120, 107, 0.695) 69.601%, rgba(8, 65, 61, 0.79) 89.183%);
	height: 244px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--wide .vsp-amenity__img {
	object-position: 50% 69%;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--wide .vsp-amenity__body {
	bottom: 18px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--half {
	flex: 1 0 0;
	min-width: 0;
	height: 244px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--half .vsp-amenity__body {
	bottom: 14px;
}
/* 1735:943 — a darker foot */
.vision-landing--vinhomes-saigon-park .vsp-amenity--half + .vsp-amenity--half {
	--vsp-shade: linear-gradient(201.79deg, rgba(106, 157, 129, 0) 42.547%, rgba(62, 120, 107, 0.624) 67.822%, rgba(5, 38, 35, 0.77) 86.802%);
}
/* 1735:901 — 411 × 500, fill 212.1 % wide from x −72.18 % */
.vision-landing--vinhomes-saigon-park .vsp-amenity--tall {
	--vsp-shade: linear-gradient(219.9deg, rgba(106, 157, 129, 0) 42.547%, rgba(62, 120, 107, 0.624) 67.822%, rgba(8, 65, 61, 0.77) 86.802%);
	flex: 0 0 411px;
	height: 500px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--tall .vsp-amenity__img {
	object-position: 64.4% 50%;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--tall .vsp-amenity__body {
	bottom: 15.5px;
	left: 18.27px;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--place {
	--vsp-shade: linear-gradient(187.65deg, rgba(106, 157, 129, 0) 48.353%, rgba(62, 120, 107, 0.624) 74.284%, rgba(8, 65, 61, 0.77) 93.756%);
	aspect-ratio: 2048 / 1152;
	color: #f6f1e6;
}
.vision-landing--vinhomes-saigon-park .vsp-amenity--place .vsp-amenity__body {
	bottom: 12.57px;
	white-space: nowrap;
}

/* Pháp lý và chính sách bán hàng 1661:1193 — padding 50 / 80, 1279 wide;
 * title + note (gap 12), 24, CTA, 24, render 977.75 × 538.74 + 32 + four
 * 240 px cards 32 apart ---------------------------------------------------- */

.vision-landing--vinhomes-saigon-park .vsp-policy {
	background: var(--vsp-bg-2);
}
.vision-landing--vinhomes-saigon-park .vsp-policy__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: min(1279px, 100% - 160px);
	min-height: 729px;
	margin: 0 auto;
	padding: 47.3px 0; /* Figma overflows its 729 px frame by 2.7 px each way: 829 tall */
	box-sizing: content-box;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__title {
	color: var(--vsp-primary);
}
/* body 16px: Montserrat 16 / 1.5, −1 % */
.vision-landing--vinhomes-saigon-park .vsp-policy__intro {
	color: var(--vsp-body);
	font: 400 16px/1.5 "Montserrat", var(--vsp-font-body);
	letter-spacing: -0.16px;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	width: 100%;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__media {
	position: relative;
	flex: 0 1 977.75px;
	min-width: 0;
	aspect-ratio: 977.75 / 538.744;
	overflow: hidden;
	border-radius: 16px;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__stats {
	display: flex;
	flex: 0 0 240px;
	flex-direction: column;
	gap: 32px;
	min-width: 0; /* "0.5%" (188 px) overruns the padding, as in Figma: keep 240 */
	margin: 0;
	padding: 0;
	list-style: none;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 16px 32px;
	border: 1px solid var(--vsp-body);
	border-radius: 16px;
	color: var(--vsp-body);
}
.vision-landing--vinhomes-saigon-park .vsp-policy__label,
.vision-landing--vinhomes-saigon-park .vsp-policy__unit {
	font: 400 16px/1.25 var(--vsp-font-body);
	letter-spacing: 0.16px;
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__unit {
	font-weight: 600;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__figure {
	display: flex;
	align-items: flex-end;
	gap: 4px;
}
.vision-landing--vinhomes-saigon-park .vsp-policy__value {
	color: var(--vsp-primary);
	font: 700 60px/0.94 var(--vsp-font-display); /* 56.4 px box for 1.3 line-height */
	letter-spacing: 0.6px;
	white-space: nowrap;
}

/* FAQ 1664:1230 — padding 50 / 80, 560 tall: kicker + script title over a
 * 12 % emblem on the left, 590 px accordion from x 690.16 ------------------ */

.vision-landing--vinhomes-saigon-park .vsp-faq {
	background: #fff;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	width: min(1280px, 100% - 160px);
	min-height: 560px;
	margin: 0 auto;
	padding: 50px 0;
	box-sizing: content-box;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__head {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 171.75px;
}
/* image 205 (1664:1412): 450.15 × 270.14 at (−76.91, 213.86), 12 % */
.vision-landing--vinhomes-saigon-park .vsp-faq__emblem {
	position: absolute;
	top: 213.86px;
	left: -76.91px;
	width: 450.149px;
	max-width: none;
	height: 270.141px;
	opacity: 1;
	pointer-events: none;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__title {
	position: relative;
	display: block;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__kicker {
	display: block;
	color: var(--vsp-primary);
	font: 700 24px/1.5 var(--vsp-font-display);
	letter-spacing: 0.24px;
	white-space: nowrap;
}
/* Italianno 106.765, #822D21: two lines 75.92 apart, the first starting
 * 47.55 further right ("Vinhomes" at x 182.55, "Saigon Park" at x 135). */
.vision-landing--vinhomes-saigon-park .vsp-faq__script {
	display: block;
	margin-top: 24.95px;
	padding-left: 135px;
	color: var(--vsp-button);
	font: 400 106.765px/75.92px "Italianno", cursive;
	white-space: nowrap;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__script-1,
.vision-landing--vinhomes-saigon-park .vsp-faq__script-2 {
	display: block;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__script-1 {
	padding-left: 47.55px;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__list {
	flex: 0 0 590px;
	min-width: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__item {
	border-bottom: 1px solid rgba(75, 104, 85, 0.28);
}
.vision-landing--vinhomes-saigon-park .vsp-faq__item:last-child {
	border-bottom: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__q {
	margin: 0;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__toggle {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 16px 0;
	border: 0;
	background: none;
	color: var(--vsp-body);
	font: 700 16px/normal var(--vsp-font-display);
	text-align: left;
	cursor: pointer;
}
/* Doubled class beats the theme reset's :focus { color: revert } (black after a click). */
.vision-landing--vinhomes-saigon-park .vsp-faq__toggle.vsp-faq__toggle:focus {
	color: var(--vsp-body);
}
.vision-landing--vinhomes-saigon-park .vsp-faq__toggle.vsp-faq__toggle:is(:hover, :focus-visible) {
	color: var(--vsp-primary);
}
.vision-landing--vinhomes-saigon-park .vsp-faq__toggle span {
	flex: 1 0 0;
	min-width: 1px;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	transition: transform 0.3s ease;
}
.vision-landing--vinhomes-saigon-park .vsp-faq__toggle[aria-expanded="true"] .vsp-faq__icon {
	transform: rotate(45deg);
}
/* Answers: SVN-Aptima Regular 16 / 1.5 (Figma 1664:1319) */
.vision-landing--vinhomes-saigon-park .vsp-faq__a {
	padding: 0 40px 16px 0;
	color: var(--vsp-body);
	font: 400 16px/1.5 var(--vsp-font-display);
}

/* Reveal on scroll (script.js adds .vsp-reveal-ready unless reduced motion;
 * without JS nothing is hidden). */
.vision-landing--vinhomes-saigon-park.vsp-reveal-ready .vsp-rv {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: var(--vsp-rv-delay, 0s);
}
.vision-landing--vinhomes-saigon-park.vsp-reveal-ready .vsp-rv--fade {
	transform: none;
}
.vision-landing--vinhomes-saigon-park.vsp-reveal-ready .vsp-rv--zoom {
	transform: scale(0.96);
}
.vision-landing--vinhomes-saigon-park.vsp-reveal-ready .vsp-rv.is-in {
	opacity: 1;
	transform: none;
}

/* Narrower screens — the Figma frames are desktop only; stack the blocks. */

@media (max-width: 1199px) {
	.vision-landing--vinhomes-saigon-park .vsp-hero { --vsp-hero-min: 560px; }
	.vision-landing--vinhomes-saigon-park .vsp-hero__tagline { white-space: normal; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__inner { width: calc(100% - 32px); padding: 48px 0; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__row { flex-direction: column; align-items: stretch; gap: 32px; min-height: 0; margin-top: 24px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__facts { flex: none; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__photo { flex: none; width: 100%; height: auto; aspect-ratio: 572.328 / 573; }

	.vision-landing--vinhomes-saigon-park .vsp-location__inner { width: calc(100% - 32px); padding: 48px 0; }
	.vision-landing--vinhomes-saigon-park .vsp-location__rows { gap: 40px; }
	.vision-landing--vinhomes-saigon-park .vsp-location__row { flex-direction: column; align-items: stretch; gap: 20px; }
	.vision-landing--vinhomes-saigon-park .vsp-location__media,
	.vision-landing--vinhomes-saigon-park .vsp-location__row:first-child .vsp-location__media { flex: none; width: 100%; height: auto; aspect-ratio: 632 / 340; }
	.vision-landing--vinhomes-saigon-park .vsp-location__row--flip .vsp-location__media { order: -1; }
	.vision-landing--vinhomes-saigon-park .vsp-location__text,
	.vision-landing--vinhomes-saigon-park .vsp-location__row:last-child > * { flex: none; }
	.vision-landing--vinhomes-saigon-park .vsp-location__text--inset { padding-left: 0; }

	.vision-landing--vinhomes-saigon-park .vsp-why__inner { gap: 32px; padding-top: 72px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__card { flex-wrap: wrap; gap: 24px 16px; padding: 24px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__item { flex: 1 1 calc(33.333% - 16px); min-width: 140px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__sep { display: none; }

	.vision-landing--vinhomes-saigon-park .vsp-zones__inner { flex-direction: column-reverse; align-items: stretch; gap: 24px; width: calc(100% - 32px); padding: 56px 0 48px; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__carousel { flex: none; width: 100%; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__side { flex: none; gap: 24px; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__tabs { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; width: 100%; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__tab { height: 40px; padding: 8px 16px; font-size: 14px; }

	.vision-landing--vinhomes-saigon-park .vsp-products__inner { gap: 32px; width: calc(100% - 32px); padding: 48px 0; }
	.vision-landing--vinhomes-saigon-park .vsp-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; }

	.vision-landing--vinhomes-saigon-park .vsp-amenities__inner { width: calc(100% - 32px); padding: 48px 0; gap: 32px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenities__panel--inner { flex-direction: column; align-items: stretch; gap: 12px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenities__left { flex: none; }
	.vision-landing--vinhomes-saigon-park .vsp-amenity--wide { height: auto; aspect-ratio: 851 / 244; min-height: 220px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenity--tall { flex: none; height: auto; aspect-ratio: 16 / 9; min-height: 260px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenities__panel--outer { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.vision-landing--vinhomes-saigon-park .vsp-policy__inner { width: calc(100% - 32px); min-height: 0; padding: 48px 0; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__row { flex-direction: column; align-items: stretch; gap: 24px; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__media { flex: none; width: 100%; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__stats { flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__stat { padding: 16px 20px; }

	.vision-landing--vinhomes-saigon-park .vsp-faq__inner { flex-direction: column; align-items: stretch; gap: 24px; width: calc(100% - 32px); min-height: 0; padding: 48px 0; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__head { flex: none; padding-top: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__emblem { top: 20px; left: 50%; transform: translateX(-50%); }
	.vision-landing--vinhomes-saigon-park .vsp-faq__title { text-align: center; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__script { padding-left: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__script-1 { padding-left: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__list { flex: none; }
}

@media (max-width: 767px) {
	.vision-landing--vinhomes-saigon-park .vsp-hero { --vsp-hero-min: 520px; }
	.vision-landing--vinhomes-saigon-park .vsp-hero__content { padding-top: 64px; }
	.vision-landing--vinhomes-saigon-park .vsp-hero__title { font-size: 32px; white-space: normal; }
	.vision-landing--vinhomes-saigon-park .vsp-hero__tagline { font-size: 18px; }
	/* Cropped narrower, the copy sits over the lit project area: keep it legible. */
	.vision-landing--vinhomes-saigon-park .vsp-hero__title,
	.vision-landing--vinhomes-saigon-park .vsp-hero__tagline { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55); }
	.vision-landing--vinhomes-saigon-park .vsp-h2 { font-size: 28px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__intro { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__fact { gap: 12px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__fact dt { flex-basis: 120px; font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__fact dd { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-location__item { gap: 12px; }
	.vision-landing--vinhomes-saigon-park .vsp-location__item dt,
	.vision-landing--vinhomes-saigon-park .vsp-location__list--values dt { flex-basis: 110px; font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-location__item dd,
	.vision-landing--vinhomes-saigon-park .vsp-location__copy { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__title { align-items: center; white-space: normal; text-align: center; }
	.vision-landing--vinhomes-saigon-park .vsp-why__title-2 { padding-left: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-why__item { flex-basis: calc(50% - 8px); }
	.vision-landing--vinhomes-saigon-park .vsp-why__text { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__street { aspect-ratio: auto; height: 280px; }
	.vision-landing--vinhomes-saigon-park .vsp-why__street img { top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__title { align-items: center; white-space: normal; text-align: center; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__title-2 { padding-left: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-zones__text { font-size: 15px; text-align: left; }
	.vision-landing--vinhomes-saigon-park .vsp-products__head { flex-direction: column; align-items: flex-start; }
	.vision-landing--vinhomes-saigon-park .vsp-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vision-landing--vinhomes-saigon-park .vsp-product__name,
	.vision-landing--vinhomes-saigon-park .vsp-product__text { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenities__pair { flex-direction: column; }
	.vision-landing--vinhomes-saigon-park .vsp-amenity--half { flex: none; height: 220px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenity--wide,
	.vision-landing--vinhomes-saigon-park .vsp-amenity--tall { aspect-ratio: auto; height: 240px; min-height: 0; }
	.vision-landing--vinhomes-saigon-park .vsp-amenity__body { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-amenities__panel--outer { grid-template-columns: 1fr; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__intro { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__stat { padding: 12px 14px; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__label,
	.vision-landing--vinhomes-saigon-park .vsp-policy__unit { font-size: 14px; white-space: normal; }
	.vision-landing--vinhomes-saigon-park .vsp-policy__value { font-size: 40px; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__kicker { font-size: 18px; white-space: normal; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__script { margin-top: 12px; font-size: 64px; line-height: 52px; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__emblem { width: 300px; height: 180px; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__toggle { font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-faq__a { padding-right: 0; font-size: 15px; }
	.vision-landing--vinhomes-saigon-park .vsp-overview__head { background-size: 100% 100%, 300px auto; }
}
