.ppp-property-page,
.ppp-modal,
.ppp-lightbox {
	--ppp-accent: var(--theme-color, #00bbff);
	--ppp-accent-dark: var(--btn-hcolor, #00abef);
	--ppp-dark: var(--dark-color, #00072d);
	--ppp-text: var(--text-color, #555);
	--ppp-light: var(--light-color, #f2fbff);
	--ppp-gold: #ffc400;
	--ppp-gold-dark: #e6a800;
	--ppp-shadow: var(--box-shadow, 0 10px 30px rgb(0 7 45 / 10%));
}

.ppp-property-page {
	color: var(--ppp-text);
	background: #fff;
}

.ppp-property-page *,
.ppp-modal *,
.ppp-lightbox * {
	box-sizing: border-box;
}

.ppp-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.ppp-narrow {
	max-width: 850px;
	text-align: center;
}

.ppp-section {
	padding: clamp(64px, 8vw, 110px) 0;
}

.ppp-section h2,
.ppp-modal h2 {
	margin: 0 0 24px;
	color: var(--ppp-dark);
	font-size: clamp(32px, 4.2vw, 54px);
	line-height: 1.1;
	letter-spacing: -0.025em;
}

.ppp-eyebrow {
	margin: 0 0 12px;
	color: var(--ppp-accent-dark);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ppp-rich-text {
	font-size: 17px;
	line-height: 1.8;
}

.ppp-rich-text > :last-child {
	margin-bottom: 0;
}

.ppp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 3px;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.ppp-button:hover {
	transform: translateY(-1px);
}

.ppp-button-primary {
	background: var(--ppp-accent);
	color: #fff;
}

.ppp-button-primary:hover,
.ppp-button-primary:focus {
	background: var(--ppp-accent-dark);
	color: #fff;
}

.ppp-button-outline {
	border-color: var(--ppp-dark);
	background: transparent;
	color: var(--ppp-dark);
}

.ppp-button-outline:hover,
.ppp-button-outline:focus {
	background: var(--ppp-dark);
	color: #fff;
}

.ppp-button-whatsapp {
	margin-top: 18px;
	background: #25d366;
	color: #fff;
}

.ppp-button-whatsapp:hover,
.ppp-button-whatsapp:focus {
	background: #1da851;
	color: #fff;
}

.ppp-hero {
	position: relative;
	display: grid;
	min-height: clamp(560px, 78vh, 840px);
	align-items: end;
	overflow: hidden;
	background: linear-gradient(135deg, var(--ppp-dark), #14244b);
	color: #fff;
}

.ppp-hero.has-background {
	background-image: var(--ppp-hero-image);
	background-position: center;
	background-size: cover;
}

.ppp-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(0 7 45 / 84%) 0%, rgb(0 7 45 / 48%) 52%, rgb(0 7 45 / 15%) 100%);
}

.ppp-hero-content {
	position: relative;
	z-index: 1;
	padding-bottom: clamp(70px, 10vw, 130px);
}

.ppp-hero h1 {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 8vw, 96px);
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-shadow: 0 2px 24px rgb(0 0 0 / 24%);
}

.ppp-hero p {
	max-width: 720px;
	margin: 22px 0 30px;
	color: rgb(255 255 255 / 92%);
	font-size: clamp(18px, 2vw, 25px);
	line-height: 1.45;
}

.ppp-story-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	gap: clamp(40px, 7vw, 90px);
	align-items: center;
}

.ppp-story-image {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: var(--ppp-shadow);
}

.ppp-story-image img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 7;
	object-fit: cover;
}

.ppp-workmanship {
	background: var(--ppp-light);
}

.ppp-workmanship .ppp-eyebrow,
.ppp-updates .ppp-eyebrow {
	color: var(--ppp-gold-dark);
}

.ppp-download-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 34px;
}

.ppp-floor-plans {
	background: #f7f8fa;
}

.ppp-floor-plans h2,
.ppp-site-plan h2,
.ppp-amenities h2 {
	text-align: center;
}

.ppp-floor-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 40px);
	margin-top: 42px;
}

.ppp-floor-plan-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ppp-floor-plan-header {
	margin-bottom: 18px;
}

.ppp-floor-plan-header h3 {
	margin: 0;
	color: var(--ppp-dark);
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.ppp-floor-plan-size {
	margin: 6px 0 0;
	color: var(--ppp-text);
	font-size: 14px;
	font-weight: 500;
	opacity: 0.75;
}

.ppp-plan-image,
.ppp-amenity-tile-image {
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: #fff;
	cursor: zoom-in;
}

.ppp-plan-image {
	height: 280px;
	padding: 20px;
	border: 1px solid #e5e8ef;
	border-radius: 4px;
	box-shadow: 0 4px 24px rgb(0 7 45 / 6%);
	transition: box-shadow 260ms ease, transform 260ms ease;
}

.ppp-plan-image:hover {
	box-shadow: 0 12px 36px rgb(0 7 45 / 12%);
	transform: translateY(-3px);
}

.ppp-plan-image img,
.ppp-amenity-tile-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 260ms ease;
}

.ppp-plan-image:hover img,
.ppp-amenity-tile-image:hover img {
	transform: scale(1.03);
}

.ppp-site-plan {
	background: #fff;
}

.ppp-site-plan-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 960px;
	min-height: clamp(360px, 50vw, 520px);
	margin: 42px auto 0;
	padding: clamp(20px, 4vw, 36px);
	border: 1px solid #e5e8ef;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 8px 40px rgb(0 7 45 / 8%);
	font: inherit;
	text-align: center;
	cursor: zoom-in;
	transition: box-shadow 260ms ease, transform 260ms ease;
}

.ppp-site-plan-image:hover {
	box-shadow: 0 16px 48px rgb(0 7 45 / 14%);
	transform: translateY(-2px);
}

.ppp-site-plan-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: clamp(300px, 45vw, 480px);
	object-fit: contain;
	object-position: center;
	transition: transform 260ms ease;
}

.ppp-site-plan-image:hover img {
	transform: scale(1.02);
}

.ppp-amenities {
	background: #fff;
}

.ppp-amenities-premium {
	background: var(--ppp-dark);
}

.ppp-amenities-premium .ppp-amenities-eyebrow {
	color: var(--ppp-gold);
}

.ppp-amenities h2 {
	text-align: center;
}

.ppp-amenities-premium h2 {
	position: relative;
	margin-bottom: 0;
	padding-bottom: 22px;
	color: #fff;
}

.ppp-amenities-premium h2::after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin: 18px auto 0;
	background: var(--ppp-gold);
}

.ppp-amenities-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 42px;
	overflow: hidden;
}

.ppp-amenities-premium .ppp-amenities-grid {
	margin-top: 48px;
	box-shadow: 0 24px 80px rgb(0 0 0 / 35%);
}

.ppp-amenities:not(.ppp-amenities-premium) .ppp-amenities-grid {
	gap: clamp(20px, 3vw, 28px);
	border-radius: 4px;
}

.ppp-amenities:not(.ppp-amenities-premium) .ppp-amenities-grid:has(.ppp-amenity-tile:only-child) {
	grid-template-columns: minmax(280px, 520px);
	justify-content: center;
}

.ppp-amenity-tile {
	min-height: clamp(300px, 34vw, 400px);
}

.ppp-amenity-tile-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(32px, 5vw, 52px);
	background: #fff;
	color: var(--ppp-dark);
	text-align: center;
}

.ppp-amenities-premium .ppp-amenity-tile-content {
	border-top: 4px solid var(--ppp-gold);
}

.ppp-amenity-eyebrow {
	margin: 0 0 12px;
	color: var(--ppp-gold-dark);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.ppp-amenity-tile-content h3 {
	margin: 0 0 14px;
	color: var(--ppp-dark);
	font-size: clamp(24px, 3.2vw, 34px);
	font-weight: 700;
	line-height: 1.15;
}

.ppp-amenity-tile-content p {
	margin: 0;
	max-width: 30ch;
	color: var(--ppp-text);
	font-size: 15px;
	line-height: 1.7;
}

.ppp-amenity-tile-image {
	position: relative;
	padding: 0;
	border: 0;
	overflow: hidden;
	font: inherit;
	cursor: zoom-in;
}

.ppp-amenity-tile-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgb(0 7 45 / 22%) 100%);
	opacity: 0;
	transition: opacity 280ms ease;
	pointer-events: none;
}

.ppp-amenity-tile-image:hover::after {
	opacity: 1;
}

.ppp-amenity-tile-image img {
	width: 100%;
	height: 100%;
	min-height: clamp(300px, 34vw, 400px);
	object-fit: cover;
	object-position: center;
	transition: transform 500ms ease;
}

.ppp-amenity-tile-image:hover img {
	transform: scale(1.06);
}

.ppp-amenities:not(.ppp-amenities-premium) .ppp-amenity-tile-image {
	height: clamp(240px, 30vw, 300px);
	padding: 20px;
	border: 1px solid #e5e8ef;
	border-radius: 4px;
	box-shadow: 0 4px 24px rgb(0 7 45 / 6%);
}

.ppp-amenities:not(.ppp-amenities-premium) .ppp-amenity-tile-image img {
	min-height: 0;
	object-fit: contain;
}

.ppp-testimonials {
	background: var(--ppp-dark);
	color: rgb(255 255 255 / 85%);
	text-align: center;
}

.ppp-testimonials .ppp-eyebrow {
	color: var(--ppp-gold);
}

.ppp-testimonials h2 {
	color: #fff;
}

.ppp-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 24px;
	margin-top: 44px;
	text-align: left;
}

.ppp-testimonial {
	margin: 0;
	padding: clamp(24px, 4vw, 34px);
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 4px;
	background: rgb(255 255 255 / 4%);
	transition: border-color 260ms ease, background 260ms ease, transform 260ms ease;
}

.ppp-testimonial:hover {
	border-color: rgb(255 196 0 / 30%);
	background: rgb(255 255 255 / 7%);
	transform: translateY(-2px);
}

.ppp-testimonial h3 {
	margin: 15px 0 10px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
}

.ppp-testimonial p {
	margin: 0;
	color: var(--ppp-gold);
	font-size: 16px;
	line-height: 1.75;
}

.ppp-testimonial cite {
	display: block;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 2px solid var(--ppp-gold);
	color: #fff;
	font-style: normal;
	font-weight: 700;
	font-size: 15px;
}

.ppp-stars {
	color: var(--ppp-gold);
	font-size: 18px;
	letter-spacing: 0.12em;
}

.ppp-updates {
	text-align: center;
}

.ppp-rera {
	display: inline-block;
	margin: 26px 0 0;
	padding: 10px 16px;
	border-radius: 3px;
	background: var(--ppp-light);
	color: var(--ppp-dark);
}

.ppp-contact {
	position: relative;
	overflow: hidden;
	background: var(--ppp-dark);
}

.ppp-contact::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: min(58%, 680px);
	height: 100%;
	background: linear-gradient(135deg, #f4f6f9 0%, #fff 55%);
	clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.ppp-contact-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(380px, 1.15fr);
	gap: clamp(36px, 6vw, 72px);
	align-items: center;
}

.ppp-contact-copy .ppp-eyebrow {
	color: var(--ppp-gold);
}

.ppp-contact-copy h2 {
	color: #fff;
}

.ppp-contact-location {
	margin: 0 0 24px;
	color: rgb(255 255 255 / 82%);
	font-size: 17px;
	line-height: 1.7;
}

.ppp-contact-highlights {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.ppp-contact-highlights li {
	position: relative;
	padding-left: 28px;
	color: rgb(255 255 255 / 88%);
	font-size: 15px;
	line-height: 1.6;
}

.ppp-contact-highlights li + li {
	margin-top: 12px;
}

.ppp-contact-highlights li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--ppp-gold);
	font-weight: 700;
}

.ppp-contact .ppp-button-whatsapp {
	margin-top: 8px;
	padding-inline: 28px;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgb(37 211 102 / 28%);
}

.ppp-contact-form-card {
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid #e8ebf0;
	border-top: 4px solid var(--ppp-gold);
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 24px 64px rgb(0 7 45 / 16%);
}

.ppp-form-card-header {
	margin-bottom: 26px;
	padding-bottom: 22px;
	border-bottom: 1px solid #eef0f4;
}

.ppp-form-card-header h3 {
	margin: 0 0 8px;
	color: var(--ppp-dark);
	font-size: clamp(22px, 3vw, 28px);
	line-height: 1.2;
}

.ppp-form-card-header p {
	margin: 0;
	color: var(--ppp-text);
	font-size: 15px;
	line-height: 1.6;
}

.ppp-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 22px;
}

.ppp-enquiry-form label,
.ppp-enquiry-form label span {
	display: block;
}

.ppp-enquiry-form label span {
	margin-bottom: 7px;
	color: var(--ppp-dark);
	font-size: 13px;
	font-weight: 700;
}

.ppp-enquiry-form label em {
	color: #c52828;
	font-style: normal;
}

.ppp-enquiry-form input,
.ppp-enquiry-form select.ppp-form-select {
	width: 100%;
	height: 50px;
	padding: 0 14px;
	border: 1px solid #d6dbe3;
	border-radius: 4px;
	background: #fff;
	color: #00072d;
	font: inherit;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.ppp-enquiry-form select.ppp-form-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	padding-right: 40px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2300072d' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px;
	cursor: pointer;
}

.ppp-enquiry-form select.ppp-form-select option {
	color: #00072d;
	background: #fff;
}

.ppp-enquiry-form .select2-container {
	display: none !important;
}

.ppp-enquiry-form input:focus,
.ppp-enquiry-form select.ppp-form-select:focus {
	border-color: var(--ppp-gold);
	background-color: #fff;
	box-shadow: 0 0 0 3px rgb(255 196 0 / 18%);
	outline: 0;
}

.ppp-contact .ppp-enquiry-form .ppp-button-primary,
.ppp-modal .ppp-enquiry-form .ppp-button-primary {
	width: 100%;
	min-height: 54px;
	border: 0;
	background: linear-gradient(135deg, var(--ppp-gold) 0%, var(--ppp-gold-dark) 100%);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ppp-contact .ppp-enquiry-form .ppp-button-primary:hover,
.ppp-contact .ppp-enquiry-form .ppp-button-primary:focus,
.ppp-modal .ppp-enquiry-form .ppp-button-primary:hover,
.ppp-modal .ppp-enquiry-form .ppp-button-primary:focus {
	background: linear-gradient(135deg, #ffd633 0%, var(--ppp-gold) 100%);
	color: var(--ppp-dark);
}

.ppp-enquiry-form .ppp-button {
	min-width: 150px;
}

.ppp-form-message {
	min-height: 20px;
	margin: 14px 0 0;
	font-size: 14px;
}

.ppp-form-message.is-success {
	color: #16723c;
}

.ppp-form-message.is-error {
	color: #b42318;
}

.ppp-property-footer {
	padding: clamp(40px, 6vw, 56px) 0;
	background: #00051f;
	color: rgb(255 255 255 / 80%);
}

.ppp-contact-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: clamp(28px, 5vw, 48px);
}

.ppp-contact-bar-item {
	position: relative;
	display: flex;
	flex: 1 1 220px;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 320px;
	padding: 0 clamp(16px, 3vw, 32px);
	text-align: center;
}

.ppp-contact-bar-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 10%;
	right: 0;
	width: 1px;
	height: 80%;
	background: rgb(255 255 255 / 12%);
}

.ppp-contact-bar-item::before {
	display: block;
	width: 44px;
	height: 44px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: rgb(255 196 0 / 12%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px;
}

.ppp-bar-hours::before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffc400' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6v6l4 2m6-2a10 10 0 11-20 0 10 10 0 0120 0z'/%3E%3C/svg%3E");
}

.ppp-bar-phone::before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffc400' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z'/%3E%3C/svg%3E");
}

.ppp-bar-rera::before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffc400' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z'/%3E%3C/svg%3E");
}

.ppp-contact-bar strong {
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ppp-contact-bar span {
	color: rgb(255 255 255 / 78%);
	font-size: 15px;
	line-height: 1.6;
}

.ppp-contact-bar a {
	color: var(--ppp-gold);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: color 180ms ease;
}

.ppp-contact-bar a:hover,
.ppp-contact-bar a:focus {
	color: #ffd633;
}

.ppp-channel-partner {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 34px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.ppp-channel-partner strong {
	color: #fff;
}

.ppp-disclaimer {
	margin-top: 24px;
	font-size: 12px;
	line-height: 1.7;
}

.ppp-disclaimer p {
	display: inline;
	margin: 0;
}

.ppp-modal[hidden],
.ppp-lightbox[hidden] {
	display: none;
}

.ppp-modal,
.ppp-lightbox {
	position: fixed;
	z-index: 100000;
	inset: 0;
}

.ppp-modal {
	display: grid;
	place-items: center;
	padding: 20px;
}

.ppp-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgb(0 7 45 / 76%);
	backdrop-filter: blur(4px);
}

.ppp-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: calc(100vh - 40px);
	padding: 0;
	overflow: hidden auto;
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 32px 96px rgb(0 0 0 / 40%);
}

.ppp-modal-header {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--ppp-dark) 0%, #14244b 100%);
	color: #fff;
}

.ppp-modal-header.has-hero {
	background-image: var(--ppp-modal-hero);
	background-position: center;
	background-size: cover;
}

.ppp-modal-header-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(0 7 45 / 88%) 0%, rgb(0 7 45 / 94%) 100%);
}

.ppp-modal-header-content {
	position: relative;
	z-index: 1;
	padding: clamp(36px, 6vw, 52px) clamp(28px, 5vw, 44px) clamp(28px, 4vw, 36px);
	text-align: center;
}

.ppp-modal-logo {
	display: block;
	width: auto;
	max-width: 200px;
	height: auto;
	max-height: 56px;
	margin: 0 auto 24px;
	object-fit: contain;
}

#ppp-enquiry-modal .ppp-modal-property-title {
	margin: 0 0 14px;
	padding: 0;
	color: #fff;
	font-size: clamp(34px, 6vw, 52px);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-shadow: 0 2px 20px rgb(0 0 0 / 28%);
}

#ppp-enquiry-modal .ppp-modal-subtitle {
	margin: 0;
	color: rgb(255 255 255 / 82%);
	font-size: 15px;
	line-height: 1.65;
}

.ppp-modal-body {
	padding: clamp(28px, 4vw, 40px) clamp(28px, 5vw, 44px) clamp(32px, 5vw, 44px);
	background: #fff;
}

.ppp-modal-close {
	top: 14px;
	right: 14px;
	color: #fff;
	background: rgb(255 255 255 / 12%);
}

.ppp-modal-close:hover,
.ppp-modal-close:focus {
	background: rgb(255 255 255 / 22%);
}

#ppp-enquiry-modal .ppp-enquiry-form label span {
	color: var(--ppp-dark);
}

#ppp-enquiry-modal .ppp-enquiry-form input,
#ppp-enquiry-modal .ppp-enquiry-form select.ppp-form-select,
.ppp-contact .ppp-enquiry-form input,
.ppp-contact .ppp-enquiry-form select.ppp-form-select {
	border: 1px solid #d6dbe3;
	background-color: #fff;
	color: #00072d;
	margin-bottom: 0;
}

#ppp-enquiry-modal .ppp-enquiry-form input:focus,
#ppp-enquiry-modal .ppp-enquiry-form select.ppp-form-select:focus,
.ppp-contact .ppp-enquiry-form input:focus,
.ppp-contact .ppp-enquiry-form select.ppp-form-select:focus {
	border-color: var(--ppp-gold);
	background-color: #fff;
	box-shadow: 0 0 0 3px rgb(255 196 0 / 18%);
}

.ppp-lightbox {
	display: grid;
	padding: 40px;
	place-items: center;
	background: rgb(0 0 0 / 90%);
	cursor: zoom-out;
}

.ppp-lightbox img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100vh - 80px);
	object-fit: contain;
	cursor: default;
}

.ppp-modal-close,
.ppp-lightbox-close {
	position: absolute;
	z-index: 2;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	transition: background 180ms ease;
}

.ppp-lightbox-close {
	top: 10px;
	right: 14px;
	color: #fff;
}

body.ppp-modal-open {
	overflow: hidden;
}

@media (max-width: 900px) {
	.ppp-amenities-premium .ppp-amenities-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ppp-story-grid,
	.ppp-contact-grid {
		grid-template-columns: 1fr;
	}

	.ppp-contact::before {
		width: 100%;
		height: 42%;
		clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
	}

	.ppp-floor-plan-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ppp-plan-image {
		height: 240px;
	}

	.ppp-story-image {
		max-width: 520px;
	}

	.ppp-testimonial-grid {
		grid-template-columns: 1fr;
	}

	.ppp-contact-grid {
		gap: 36px;
	}

	.ppp-contact-bar-item:not(:last-child)::after {
		display: none;
	}

	.ppp-contact-bar {
		flex-direction: column;
		align-items: center;
	}
}

@media (max-width: 640px) {
	.ppp-container {
		width: min(100% - 28px, 1180px);
	}

	.ppp-hero {
		min-height: 580px;
	}

	.ppp-hero-overlay {
		background: linear-gradient(0deg, rgb(0 7 45 / 90%) 0%, rgb(0 7 45 / 34%) 100%);
	}

	.ppp-floor-plan-grid,
	.ppp-form-grid {
		grid-template-columns: 1fr;
	}

	.ppp-plan-image {
		height: 260px;
		max-width: 420px;
		margin-inline: auto;
	}

	.ppp-amenities-grid {
		grid-template-columns: 1fr;
	}

	.ppp-amenity-tile {
		min-height: 260px;
	}

	.ppp-site-plan-image {
		min-height: 280px;
	}

	.ppp-download-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ppp-lightbox {
		padding: 48px 14px 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ppp-property-page *,
	.ppp-modal *,
	.ppp-lightbox * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
